.join{max-width:420px;margin:0 auto;padding:24px}.join h1{font-size:20px}.join input{width:100%;padding:12px;font-size:16px;margin:12px 0;box-sizing:border-box}.join button{width:100%;padding:14px;font-size:16px}.join .error{color:#c0392b;margin-top:12px}.orders{max-width:640px;margin:0 auto;padding:12px}.orders .tabs{display:flex;gap:8px;margin-bottom:8px}.orders .tabs button{flex:1;padding:10px;font-size:14px}.orders .tabs button[aria-pressed=true]{font-weight:700;border-bottom:2px solid #111}.orders input.search{width:100%;padding:10px;font-size:16px;box-sizing:border-box;margin-bottom:8px}.orders .row{padding:14px 8px;border-bottom:1px solid #eee;cursor:pointer}.orders .row .num{font-weight:600}.orders .row .meta{color:#666;font-size:13px}.orders .empty,.orders .loading{text-align:center;color:#888;padding:40px 0}.detail{max-width:640px;margin:0 auto;padding:12px}.detail .top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.detail .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.detail .grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.detail .uploader{display:block;margin:16px 0;padding:16px;text-align:center;border:2px dashed #bbb;border-radius:10px;font-size:16px}.detail .uploader input{display:none}.detail .status{text-align:center;color:#888}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #eee}.app-header .who{font-size:14px;color:#444}.app-header button{font-size:13px}
