:root{--ink:#15171a;--muted:#68727e;--line:#dfe4e9;--line-strong:#cbd3dc;--surface:#fff;--soft:#f5f7f9;--canvas:#edf1f4;--blue:#1769e0;--blue-dark:#0f54ba;--green:#137a4a;--green-soft:#e8f6ef;--amber:#915800;--amber-soft:#fff4dc;--red:#b42318;--red-soft:#fff0ee;--shadow:0 18px 50px rgba(20,28,38,.08)}
*{box-sizing:border-box}html{background:var(--canvas);color:var(--ink)}body{min-width:320px;margin:0;background:linear-gradient(180deg,#fff 0,#f8fafb 250px,var(--canvas) 580px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;letter-spacing:0}button,input,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.shell{min-height:100vh}.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(203,210,218,.78);background:rgba(255,255,255,.93);backdrop-filter:blur(18px)}
.brand{display:inline-flex;align-items:center;gap:10px}.brand img{border-radius:8px;box-shadow:0 5px 14px rgba(23,105,224,.18)}.brand span{display:grid;line-height:1.05}.brand strong{font-size:15px;font-weight:750}.brand small{margin-top:5px;color:var(--muted);font-size:11px}.top-actions{display:flex;align-items:center;gap:8px}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#39424e;font-size:13px;font-weight:650}.text-button:hover{background:var(--soft)}
.main{width:min(1180px,calc(100% - 48px));min-height:calc(100vh - 128px);margin:0 auto;padding:52px 0 64px}.loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48vh;color:var(--muted)}.spinner{width:22px;height:22px;border:2px solid #d5dce4;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:center;gap:72px;min-height:64vh}.auth-intro{max-width:640px}.eyebrow,.kicker{display:block;margin-bottom:8px;color:var(--blue);font-size:11px;font-weight:760}.auth-intro h1{max-width:640px;margin:0;font-size:clamp(38px,5.4vw,68px);line-height:1.05}.auth-intro>p{max-width:580px;margin:24px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.trust-points{display:grid;gap:12px;margin-top:32px}.trust-points span{display:flex;align-items:center;gap:11px;color:#424c57;font-size:14px}.trust-points b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#eaf2ff;color:var(--blue);font-size:12px}
.auth-card,.panel,.history-section,.heading-band,.keybar{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.auth-card{padding:28px;box-shadow:var(--shadow)}.tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:28px;padding:4px;border-radius:7px;background:var(--soft)}.tabs button{min-height:38px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-weight:650}.tabs button.selected{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(20,28,38,.08)}.auth-heading h2{margin:0;font-size:22px}.auth-heading p{margin:8px 0 22px;color:var(--muted);font-size:13px}
.stack,.form-grid,.proof-form{display:grid;gap:14px}.stack label,.form-grid label,.proof-form label,.keybar label{display:grid;gap:7px;min-width:0}.stack label>span,.form-grid label>span,.proof-form label>span,.keybar label>span,.channel legend{color:#4c5663;font-size:12px;font-weight:650}input,select{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:6px;outline:0;background:#fff;color:var(--ink)}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,224,.12)}.primary,.secondary,.success,.danger,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:7px;font-weight:680}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue-dark)}.primary:disabled{cursor:not-allowed;opacity:.55}.secondary{border-color:var(--line-strong);background:#fff;color:#38424d}.success{background:var(--green);color:#fff}.danger{border-color:#edb9b3;background:var(--red-soft);color:var(--red)}
.notice{display:flex;align-items:center;gap:9px;min-height:44px;margin:0 0 20px;padding:10px 13px;border:1px solid;border-radius:7px;font-size:13px;font-weight:600}.notice.success{border-color:#b7dec9;background:var(--green-soft);color:var(--green)}.notice.error{border-color:#f0c1bb;background:var(--red-soft);color:var(--red)}
.status-band{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding:26px 28px;border:1px solid var(--line);border-left:4px solid #d88a10;border-radius:8px;background:#fff;box-shadow:0 10px 35px rgba(20,28,38,.06)}.status-band.active{border-left-color:var(--green)}.status-symbol,.heading-symbol{display:grid;flex:0 0 52px;width:52px;height:52px;place-items:center;border-radius:50%;background:var(--amber-soft);color:var(--amber);font-weight:800}.active .status-symbol{background:var(--green-soft);color:var(--green)}.status-band h1,.heading-band h1{margin:0;font-size:clamp(22px,3vw,32px);line-height:1.18}.status-band p,.heading-band p{margin:8px 0 0;color:var(--muted);font-size:14px}
.dashboard,.admin-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.panel,.history-section{min-width:0;padding:22px}.member-panel{grid-column:span 7}.redeem-panel{grid-column:span 5}.proof-panel,.history-section{grid-column:1/-1}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-heading h2{margin:0;font-size:18px}.details{margin:0}.details>div{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;min-height:46px;border-top:1px solid #edf0f3}.details dt{color:var(--muted);font-size:13px}.details dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:14px;font-weight:620}.chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:26px;padding:2px 8px;border-radius:999px;background:#edf0f3;color:#525e6b;font-size:11px;font-weight:740;white-space:nowrap}.chip.active,.chip.approved{background:var(--green-soft);color:var(--green)}.chip.pending{background:var(--amber-soft);color:var(--amber)}.chip.rejected{background:var(--red-soft);color:var(--red)}.footnote{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.proof-form{grid-template-columns:repeat(2,minmax(0,1fr))}.channel{display:flex;flex-wrap:wrap;gap:8px;grid-column:1/-1;margin:0;padding:0;border:0}.channel legend{width:100%;margin-bottom:4px}.channel label{display:block}.channel input{position:absolute;width:1px;height:1px;opacity:0}.channel span{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:38px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:13px;font-weight:620}.channel input:checked+span{border-color:var(--blue);background:#eef5ff;color:var(--blue)}.wide{grid-column:1/-1}.file-help{color:var(--muted);font-size:11px}.proof-submit{justify-self:start}
.history-list{display:grid}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;padding:15px 0;border-top:1px solid #edf0f3}.history-row strong{font-size:14px}.history-row span.meta{display:block;margin-top:5px;color:var(--muted);font-size:12px}.history-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}.empty{display:grid;min-height:110px;place-items:center;color:var(--muted);font-size:13px}.heading-band{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;padding:26px 28px;border-left:4px solid var(--blue);box-shadow:0 10px 35px rgba(20,28,38,.06)}.heading-symbol{background:#eaf2ff;color:var(--blue)}
.keybar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:18px;padding:18px}.keybar label{max-width:560px}.admin-grid .code-panel{grid-column:span 4}.review-panel{grid-column:span 8}.form-grid{grid-template-columns:1fr 1fr}.form-grid button{grid-column:1/-1}.code-output{margin-top:16px}.code-output pre{max-height:260px;margin:10px 0 0;padding:14px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#f7f9fb;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.proof-list{display:grid;gap:14px}.proof-item{padding:16px;border:1px solid var(--line);border-radius:7px}.proof-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.proof-summary strong{display:block}.proof-summary span,.proof-summary time{color:var(--muted);font-size:12px}.proof-summary time{white-space:nowrap}.proof-details{margin:12px 0}.proof-details>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;padding:7px 0;border-top:1px solid #edf0f3;font-size:12px}.proof-details dt{color:var(--muted)}.proof-details dd{margin:0;overflow-wrap:anywhere}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-actions button{min-height:36px;padding:0 11px;font-size:12px}.icon-button{width:38px;padding:0;border-color:var(--line);background:#fff;font-size:20px}
.modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:40px;background:rgba(10,14,20,.82)}.modal[hidden]{display:none}.modal img{max-width:min(900px,100%);max-height:88vh;border-radius:8px;background:#fff}.modal button{position:absolute;top:20px;right:24px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px}.admin-message{margin-bottom:18px}
footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:14px max(24px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px}
footer a:hover{color:var(--blue)}
@media(max-width:820px){.main{width:min(100% - 28px,680px);padding:30px 0 46px}.auth-layout{grid-template-columns:1fr;gap:34px;min-height:auto}.auth-intro h1{font-size:42px}.auth-intro>p{font-size:15px}.member-panel,.redeem-panel,.admin-grid .code-panel,.review-panel{grid-column:1/-1}.proof-form{grid-template-columns:1fr}.wide,.channel{grid-column:auto}.status-band{align-items:flex-start;padding:20px}.status-symbol{width:44px;height:44px;flex-basis:44px}.keybar{grid-template-columns:1fr}.keybar label{max-width:none}}
@media(max-width:520px){.topbar{min-height:60px;padding:9px 14px}.brand img{width:32px;height:32px}.brand small{display:none}.top-actions{gap:0}.text-button{padding:0 9px}.main{width:calc(100% - 20px);padding-top:22px}.auth-intro{padding:14px 8px 0}.auth-intro h1{font-size:36px}.trust-points{margin-top:24px}.auth-card,.panel,.history-section{padding:18px}.status-band{gap:12px;padding:18px 15px}.status-band h1{font-size:22px}.details>div{grid-template-columns:90px minmax(0,1fr)}.proof-submit{width:100%}.history-row{grid-template-columns:1fr}.history-row .chip{justify-self:start}.heading-band{padding:20px 18px}.heading-symbol{display:none}.proof-summary{grid-template-columns:1fr}.proof-summary time{white-space:normal}.review-actions button{flex:1 1 calc(50% - 8px)}footer{align-items:flex-start;flex-direction:column;padding:16px 14px}}
