:root{color-scheme:dark;--bg:#101113;--panel:#191c20;--line:#343a40;--ink:#f1efec;--muted:#a0a6ad;--accent:#badadc;--gold:#e8c69e;--error:#ef9d94;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,.button{transition:background .15s,border-color .15s}input,select,textarea{width:100%;min-width:0;background:#12181d;border:1px solid #414a53;border-radius:5px;color:var(--ink);padding:11px 13px;font-size:14px;line-height:1.6}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#747e86}input:focus,select:focus,textarea:focus{border-color:#9fc8cd;outline:1px solid #9fc8cd}input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:var(--accent);flex-shrink:0}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#c4c8cd}label small{font-size:12px;color:var(--muted);line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:500;letter-spacing:2px;margin-bottom:12px}h2{font-size:21px;font-weight:500;margin-bottom:0}h3{font-size:16px;font-weight:500}p{line-height:1.8}button{border:0;background:none;color:inherit}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #4b5863;border-radius:5px;min-height:42px;padding:10px 18px;color:#dce7e9;background:#20282f;font-size:13px;line-height:1.5;white-space:nowrap;gap:6px}.button:hover{background:#2b3943;border-color:#9bbbc3}.button.primary{background:var(--accent);border-color:var(--accent);color:#182b30}.button.primary:hover{background:#d1e6e7}.button.danger{background:#302424;color:#f3b5ac;border-color:#755047}.button.small{min-height:34px;padding:6px 11px;font-size:12px}.button:disabled{opacity:.5}.muted{color:var(--muted);font-size:14px;line-height:1.9}.eyebrow{font-size:10px;letter-spacing:3px;color:#9bbabe;margin-bottom:12px}.form-error{font-size:13px;color:var(--error);line-height:1.8;min-height:0;margin:13px 0 0;overflow-wrap:anywhere}.form-error:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.admin-header{height:82px;border-bottom:1px solid var(--line);padding:0 max(28px,calc((100vw - 1520px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:20px}.brand b{font-size:30px;letter-spacing:-1px}.brand span{font-size:14px;color:#d6dcdf;border-left:1px solid #58616a;padding-left:20px}.header-actions{display:flex;gap:18px;align-items:center;font-size:12px;color:#b8c4ce}.text-button{padding:7px 0;color:#badadc}.header-actions a:hover{color:#d5e8e9}.auth-panel{max-width:455px;margin:88px auto;padding:36px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.auth-panel h1{font-size:26px;letter-spacing:1px}.auth-panel form{display:flex;flex-direction:column;gap:19px;margin-top:26px}.auth-panel .primary{margin-top:6px}.auth-return{display:block;text-align:center;font-size:12px;color:#94b3b8;margin-top:25px}.admin-app{display:grid;grid-template-columns:205px minmax(0,1fr);max-width:1520px;margin:auto;min-height:calc(100vh - 82px)}.sidebar{padding:35px 23px;border-right:1px solid var(--line);background:#131619}.sidebar nav{display:flex;flex-direction:column;gap:7px}.section-tab{font-size:14px;text-align:left;padding:13px 14px;border-radius:5px;display:flex;align-items:center;gap:12px;color:#a6b0b9}.section-tab>span{font-size:17px;min-width:20px;text-align:center}.section-tab:hover{color:#dce8e9;background:#1b252d}.section-tab.active{background:#283a40;color:#d5edef}.sidebar-note{font-size:11px;line-height:1.9;color:#7c909c;border-top:1px solid #2e3740;margin-top:27px;padding-top:20px}.workspace{padding:35px 32px 55px;min-width:0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading .muted{margin-bottom:0}.section-heading>.button{margin-top:23px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:25px}.stat{padding:19px 20px;background:#192127;border:1px solid #34434c;border-radius:6px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:#aebfc7}.stat strong{font:30px/1.2 Georgia,serif;color:#c1dddf;font-weight:400}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px}.toolbar .select-field{width:170px;flex-shrink:0}.toolbar .search-field{flex:1}.toolbar>label:not(.search-field){min-width:160px}.list-summary{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#94a4af;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}.resource-list{display:flex;flex-direction:column;gap:12px}.resource-row{display:grid;grid-template-columns:146px minmax(0,1fr) 240px 85px;gap:20px;align-items:center;border:1px solid #353e45;background:var(--panel);border-radius:7px;padding:16px}.resource-thumb{width:146px;aspect-ratio:1.72;background:#112025;border:1px solid #3f4d54;border-radius:5px;overflow:hidden;display:block}.resource-thumb img{width:100%;height:100%;object-fit:cover}.resource-info{min-width:0}.resource-info h3{font-size:16px;margin-bottom:7px;overflow-wrap:anywhere}.resource-info .resource-sub{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;color:#91a2ae;margin-bottom:7px}.resource-info p{font-size:12px;color:#8e9ba5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-downloads{display:flex;flex-direction:column;gap:6px;min-width:0}.download-pill{font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#a2b1b9;line-height:1.6}.download-pill b{font-weight:400;white-space:nowrap;color:#cce0dd}.download-pill.paid b{color:var(--gold)}.download-pill.disabled b{color:#89939c}.badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #476269;border-radius:4px;color:#badcdc;font-size:11px;padding:3px 8px;line-height:1.4;white-space:nowrap}.badge.warm{border-color:#7a6149;color:var(--gold)}.badge.muted-badge{color:#9aa7b0;border-color:#53616b}.resource-row.offline{opacity:.68}.resource-actions{display:flex;justify-content:flex-end}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;color:#a1b4bf;margin-top:22px}.empty-state{padding:45px 24px;border:1px dashed #3c4953;border-radius:6px;text-align:center;color:#99a9b3;line-height:1.9;font-size:14px}.notice{padding:17px 20px;border:1px solid #705b42;border-radius:6px;background:#2a241d;display:flex;flex-direction:column;gap:7px;margin-bottom:22px;font-size:13px;line-height:1.8;color:#b8a998}.notice strong{color:#e7c69e;font-weight:500}.record-list{display:flex;flex-direction:column;gap:13px}.record-card{border:1px solid #35424b;background:var(--panel);border-radius:7px;padding:20px}.record-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.record-card-heading h3{margin-bottom:6px}.record-card-heading .muted{font-size:12px;margin-bottom:0}.record-card .record-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}.record-meta dt{font-size:11px;color:#8a9eac;margin-bottom:6px}.record-meta dd{font-size:13px;color:#c7d7df;margin:0;overflow-wrap:anywhere}.record-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;border-top:1px solid #303c44;padding-top:15px}.record-note{font-size:12px;color:#a6b2ba;line-height:1.7;margin-top:15px;overflow-wrap:anywhere}.user-search{max-width:500px;margin-bottom:20px}.user-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.user-card h3{margin-bottom:7px}.user-card p{font-size:12px;color:#92a4af;margin-bottom:0}.user-card .user-caption{display:flex;align-items:center;gap:12px;margin-bottom:7px}.settings-form{max-width:920px}.settings-card{border:1px solid #35414b;background:var(--panel);padding:27px;border-radius:7px;margin-bottom:20px}.settings-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}.settings-card-heading h2{font-size:19px}.check-label{display:flex;flex-direction:row;align-items:center;gap:10px}.field-help{font-size:12px;color:#93a5b0;line-height:1.8;margin:12px 0 18px;overflow-wrap:anywhere}.qr-editor{display:flex;gap:26px;align-items:center;margin:23px 0}.qr-preview{width:154px;aspect-ratio:1;background:#f1f1ec;border-radius:6px;padding:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-align:center}.qr-preview span{color:#687b83;font-size:12px}.qr-preview img{width:100%;height:100%;object-fit:contain}.upload-button{position:relative;display:inline-flex;cursor:pointer}.settings-save{display:flex;align-items:center;gap:18px;padding-top:8px}.settings-save span{color:#93a5b0;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .wide{grid-column:1/-1}.editor-dialog,.compact-dialog{padding:0;width:min(780px,calc(100vw - 36px));max-height:calc(100dvh - 40px);border:1px solid #52636d;border-radius:9px;background:#191f25;color:var(--ink);box-shadow:0 24px 100px #0009}.compact-dialog{width:min(520px,calc(100vw - 36px))}dialog::backdrop{background:#060b10be;backdrop-filter:blur(3px)}dialog form{margin:0}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid #374650;background:#1c252b}.dialog-heading .eyebrow{margin-bottom:7px;font-size:9px}.dialog-heading h2{font-size:21px}.close-button{font-size:28px;line-height:1;padding:2px 8px;color:#9eb8c3}.dialog-body{padding:24px 26px}.dialog-body>.field-help:first-child{margin-top:0}.dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:17px 26px;border-top:1px solid #374650;background:#1c252b}.download-editor{margin-top:25px;border-top:1px solid #35434c;padding-top:24px}.download-editor h3{margin-bottom:4px}.variant-row{border:1px solid #3d515e;border-radius:6px;padding:18px;margin:14px 0}.variant-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.variant-heading h4{font-size:14px;font-weight:500;margin:0}.variant-heading span{font-size:11px;color:#94a6b1}.variant-row .form-grid{gap:14px}.variant-row label{font-size:12px}.variant-row .field-help{margin:10px 0 0}.order-summary{font-size:13px;line-height:1.9;padding:15px;border:1px solid #445565;background:#142027;border-radius:5px;margin-bottom:21px}.order-summary strong{font-size:23px;color:#e7c89f;font-weight:500;display:block;margin-bottom:9px}.order-summary p{margin-bottom:4px}.grant-search{display:flex;gap:10px;margin-bottom:17px}.grant-search input{flex:1;min-width:0}.grant-existing{border-top:1px solid #394853;margin-top:25px;padding-top:23px}.grant-existing h3{margin-bottom:14px}.grant-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #3e4e5a;border-radius:5px;padding:13px;margin-top:10px;font-size:12px;line-height:1.7}.grant-row strong{font-weight:500;display:block;color:#d0dfe4}.grant-row small{color:#8ea4b2}.grant-row.revoked{opacity:.55}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:1000;padding:14px 22px;background:#bfdcda;color:#12292d;border:1px solid #cce9e7;border-radius:6px;box-shadow:0 10px 40px #0007;max-width:min(560px,calc(100vw - 36px));font-size:13px;line-height:1.7;text-align:center}.toast.error{background:#422b28;color:#ffcec5;border-color:#9d635a}.noscript{padding:30px;text-align:center}
@media(max-width:1250px){.resource-row{grid-template-columns:120px minmax(0,1fr) 170px 75px;gap:15px}.resource-thumb{width:120px}.workspace{padding:30px 24px}.admin-app{grid-template-columns:190px minmax(0,1fr)}.stats{gap:10px}.stat{padding:16px 14px}.stat strong{font-size:26px}}
@media(max-width:980px){.resource-row{grid-template-columns:110px minmax(0,1fr) 75px}.resource-thumb{width:110px}.resource-downloads{grid-column:2/4;grid-row:2;flex-direction:row;flex-wrap:wrap;gap:7px 18px}.resource-actions{grid-column:3;grid-row:1}.download-pill{gap:8px}.stats{grid-template-columns:repeat(2,1fr)}.record-card .record-meta{grid-template-columns:1fr 1fr}.sidebar{padding-inline:14px}.admin-app{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:760px){.admin-header{height:72px;padding:0 20px}.brand{gap:13px}.brand span{padding-left:13px;font-size:13px}.brand b{font-size:28px}.header-actions{gap:13px;font-size:11px}.header-actions #session-user{display:none!important}.admin-app{display:block}.sidebar{padding:13px 18px;border-right:0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.sidebar>.eyebrow,.sidebar-note{display:none}.sidebar nav{flex-direction:row;gap:5px;justify-content:space-between}.section-tab{font-size:12px;padding:10px 9px;white-space:nowrap;gap:5px}.section-tab>span{display:none}.workspace{padding:27px 20px 40px}.section-heading{gap:14px;margin-bottom:20px}.section-heading h1{font-size:26px}.section-heading .muted{font-size:12px}.section-heading>.button{padding:8px 11px;min-height:37px;font-size:11px;margin-top:22px}.stats{gap:10px;margin-bottom:20px}.stat{padding:14px}.stat strong{font-size:28px}.toolbar{gap:8px;flex-wrap:wrap}.toolbar .select-field{width:100%;flex-basis:100%}.toolbar input,.toolbar select{font-size:13px;padding:10px 11px}.toolbar .button{padding:9px 13px}.list-summary{font-size:11px;line-height:1.8}.list-summary>span:last-child{display:none}.resource-row{grid-template-columns:90px minmax(0,1fr) 55px;padding:12px;gap:10px}.resource-thumb{width:90px;aspect-ratio:1.2}.resource-info h3{font-size:14px}.resource-info p{font-size:11px}.resource-info .resource-sub{font-size:10px;gap:6px}.resource-info .resource-sub .badge{font-size:10px;padding:2px 5px}.resource-actions .button{padding:7px 10px;font-size:11px}.resource-downloads{grid-column:1/-1;grid-row:2;padding-top:10px;border-top:1px solid #33424b}.resource-list{gap:12px}.pagination{justify-content:space-between;gap:8px;font-size:11px}.pagination .button{padding:8px 11px;font-size:11px}.record-card{padding:16px}.record-card-heading h3{font-size:15px}.record-card .record-meta{gap:16px}.record-meta dt{font-size:10px}.record-meta dd{font-size:12px}.record-card-actions .button{font-size:11px;padding:8px 11px;white-space:normal}.user-card{align-items:flex-start;gap:12px}.user-card .button{font-size:11px;padding:8px 10px}.user-card .user-caption{gap:8px}.user-card h3{font-size:15px}.user-card p{font-size:11px}.user-card .badge{font-size:10px}.notice{padding:15px;font-size:12px}.settings-card{padding:20px}.settings-card-heading h2{font-size:17px}.settings-card-heading .badge{font-size:10px}.form-grid{gap:17px}.qr-editor{gap:17px;align-items:flex-start}.qr-preview{width:120px}.qr-editor .upload-button{font-size:11px;padding:9px 10px;white-space:normal;text-align:center}.settings-save{align-items:flex-start;flex-direction:column;gap:12px}.dialog-heading{padding:18px 20px}.dialog-heading h2{font-size:19px}.dialog-body{padding:20px}.dialog-footer{padding:15px 20px}.variant-row{padding:15px}.variant-row .form-grid{grid-template-columns:1fr 1fr}.auth-panel{margin:50px auto;padding:29px;width:calc(100% - 40px);max-width:450px}.auth-panel h1{font-size:23px}}
@media(max-width:420px){.header-actions{gap:10px}.brand span{font-size:12px}.brand{gap:10px}.brand span{padding-left:10px}.sidebar{padding-inline:12px}.section-tab{padding:9px 8px;font-size:11px}.workspace{padding-inline:16px}.settings-card{padding:17px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.variant-row .form-grid .wide{grid-column:1/-1}.grant-search{gap:8px}.grant-search .button{padding:8px 10px;font-size:12px}.settings-card-heading{align-items:flex-start}.resource-row{grid-template-columns:77px minmax(0,1fr) 48px;gap:9px}.resource-thumb{width:77px}.resource-actions .button{padding:7px 8px}.stat{font-size:12px;padding:13px}.stat strong{font-size:25px}.auth-panel{padding:25px}.qr-editor{gap:13px}.qr-preview{width:108px}.record-card .record-meta{gap:13px}}
.stats{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:980px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child{grid-column:1/-1}}
.admin-header{height:64px}.admin-header .brand span{padding-left:0;border-left:0;color:#b8d6d8;font-size:14px}.admin-app{min-height:calc(100vh - 152px)}@media(max-width:760px){.admin-header{height:56px}.admin-header .brand span{font-size:13px}.auth-panel{margin-top:36px}}
