/* Shared visual language with Fanxing's public homepage, scoped to the workbench. */
:root{--bg:#11293f;--paper:#18354b;--ink:#f0f5fa;--muted:#bfd0df;--line:#ffffff24;--accent:#b6dfff;--soft:#b6dfff1c;--nav:#112b40;--danger:#ffc3ba;color-scheme:dark}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Microsoft YaHei","PingFang SC",sans-serif;background:linear-gradient(145deg,#11293f,#194358 55%,#132337);background-attachment:fixed;font-size:14px;font-weight:500;line-height:1.6;color:var(--ink)}
[hidden]{display:none!important}
button,input,textarea,select{font-family:inherit;font-weight:500}
a,button,input,textarea,select{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.admin-layout{grid-template-columns:230px minmax(0,1fr)}
.sidebar{background:#112b40e8;padding:28px 16px 18px;border-color:var(--line);backdrop-filter:blur(14px)}
.admin-brand{font-size:16px;font-weight:650;gap:11px}.admin-brand>span{font-size:30px;color:var(--accent)}.admin-brand small{font:500 11px/1.6 system-ui,sans-serif;letter-spacing:.4px;color:var(--muted);margin-top:3px}
.nav-heading,.sidebar nav .nav-heading{font-size:11px;letter-spacing:0;color:var(--muted);margin:25px 12px 10px}
.sidebar nav{gap:6px}.sidebar nav>button{min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:11px;color:#d6e4f0;font-size:13px;line-height:1.5}.sidebar nav>button>span{font-size:17px;color:var(--accent)}.sidebar nav>button>small{font:11px/1.5 system-ui,sans-serif;color:#d7ebfa;background:#ffffff0d;border:1px solid #ffffff14;border-radius:5px;padding:1px 6px}
.sidebar nav>button[aria-current=page]{color:#f3f9ff;background:#b6dfff1a;border-color:#b6dfff35;font-weight:650}.sidebar nav>button:hover{background:#ffffff0e}
.sidebar-bottom>a{font-size:12px;color:var(--muted);padding:9px 12px;min-height:40px}.sidebar-bottom>a:hover{color:#fff}.admin-owner{gap:10px;padding-top:16px}.admin-owner strong{font-size:12px;font-weight:600}.admin-owner small{font-size:10px;color:var(--muted)}.admin-owner>span{color:var(--accent)}
.topbar{min-height:76px;height:auto;padding:16px 32px;background:#112b40d9;border-color:var(--line);backdrop-filter:blur(14px)}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb b{font-weight:600;color:#f0f5fa}.breadcrumb>span{color:#a6bcd0}.topbar-actions{gap:16px}#save-state{font-size:11px;color:#c2d5e2}#save-state i{background:#a5dfc3;flex:none}#save-state[data-dirty=true]{color:#ffdc9c}#save-state[data-dirty=true] i{background:#ffd18b}
.primary,.secondary,.quiet-button,.danger-button{min-height:42px;border-radius:10px;font-size:12px;line-height:1.5;padding:9px 14px;gap:10px;font-weight:600}
.primary{background:#b6dfff;color:#112b40;border-color:#b6dfff}.primary:hover:not(:disabled){background:#d3ecff;border-color:#d3ecff}.primary:disabled{opacity:.45}
.secondary,.quiet-button{background:#ffffff08;border-color:var(--line);color:#e3edf5}.secondary:hover,.quiet-button:hover{background:#ffffff14}.danger-button{background:#ffb6a418;border-color:#ffb6a42b;color:var(--danger)}
#main-content{padding:30px 32px 38px;max-width:1400px}.page-heading{gap:20px;margin-bottom:24px}.eyebrow{font:500 10px/1.6 system-ui,sans-serif;letter-spacing:1.2px;color:#bfd4e3;margin-bottom:8px}.page-heading h1{font-size:27px;font-weight:650;letter-spacing:0}.page-heading h1>span{font-size:24px;color:var(--accent)}#page-subtitle{font-size:13px;line-height:1.8;color:var(--muted);margin-top:8px}
.stats{gap:14px;margin-bottom:22px;grid-auto-rows:124px}.stat{padding:18px 20px;border-radius:14px;background:#ffffff07;border-color:var(--line)}.stat-label{font-size:12px;color:#d0dfeb}.stat-value{font-size:32px;font-weight:650;margin:9px 0 5px;line-height:1.1;color:#f5faff}.stat small{font-size:11px;color:var(--muted)}.stat-icon{top:18px;right:18px;color:var(--accent);font-size:18px}
.overview-columns{gap:18px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.overview-columns>div{min-width:0}
.panel,.list-panel,.site-preview{background:#ffffff07;border-color:var(--line);border-radius:14px}.panel-header{padding:18px 20px;border-color:var(--line)}.panel-header h2,.section-label{font-size:15px;font-weight:600}.panel-header small{font-size:10px;color:var(--muted)}.panel-body{padding:20px}
.quick-actions{gap:10px;grid-auto-rows:minmax(94px,auto)}.quick-action{height:100%;padding:16px 14px;gap:10px;border-radius:11px;border-color:var(--line);background:#ffffff06;min-width:0}.quick-action>span{font-size:22px;color:var(--accent);flex:none}.quick-action strong{font-size:13px;line-height:1.6;font-weight:600;margin-bottom:5px}.quick-action small{font-size:11px;line-height:1.7;color:var(--muted)}.quick-action:hover{background:#ffffff12}
.overview-note{padding:21px;border:1px solid var(--line);border-radius:14px;min-height:140px;background:#b6dfff09}.overview-note p{font-size:20px;line-height:1.7;font-weight:500;letter-spacing:0}.overview-note small{font-size:10px;color:#c1d5e2}.overview-note>span{color:#b6dfff65;font-size:44px}
.category-row{padding:12px 0;font-size:13px;color:#d4e2ed;border-color:#ffffff14}.category-row b{font:600 13px/1.6 system-ui,sans-serif;color:#d8eeff}.update-info{font-size:12px;color:var(--muted);margin-top:16px;padding-top:15px}.update-info strong{font-size:12px;color:#e1edf5;font-weight:500}
.site-preview{padding:20px}.site-preview strong{font-size:14px;font-weight:600}.site-preview p{font-size:12px;line-height:1.7;color:var(--muted)}.site-preview>a{color:var(--accent);min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;font-size:23px}
.admin-footer{padding:20px 32px;font-size:11px;color:var(--muted);line-height:1.7}
.content-toolbar{gap:12px;align-items:center}.toolbar-left{min-width:0;gap:10px}.search-field{background:#0b22388c;border-color:var(--line);border-radius:10px;padding:11px 13px;min-height:44px;color:var(--muted)}.search-field input{font-size:13px!important;color:#f0f5fa!important}.search-field:focus-within{border-color:var(--accent)}
.filter-select{font-size:13px;padding:10px;max-width:180px;min-height:44px;background:#0b2238;border-color:var(--line);color:#e9f2fa;border-radius:10px}
.list-head{font-size:11px;background:#ffffff04;color:var(--muted);padding:13px 20px}.site-row{padding:17px 20px;border-color:#ffffff14;min-height:98px;gap:16px}.row-site{gap:12px}.row-icon{width:36px;height:36px;border-radius:10px;background:#b6dfff16;color:#d4ebff;font:600 11px/1.5 system-ui,sans-serif}.row-info strong{font-size:14px;font-weight:600;line-height:1.6}.row-url{font:12px/1.6 system-ui,sans-serif;color:#b9cfdf;margin-top:4px}.row-note{font-size:11px;color:#f3d5a0;line-height:1.7}.category-chip{font-size:11px;background:#b6dfff13;border:1px solid #b6dfff20;color:#cbe7fc;padding:4px 7px;border-radius:6px}
.row-actions{gap:5px}.row-actions button,.row-actions button[data-action=edit]{min-width:32px;min-height:36px;padding:6px;font-size:12px;background:#ffffff06;border-color:var(--line);color:#d5e5ef;border-radius:7px}.row-actions button:hover{background:#ffffff16}.row-actions button[data-action=delete]{color:#ffc4bb}.row-actions button[data-action=edit]{color:#c2e3ff}
.list-footer{font-size:12px;color:var(--muted);padding:14px 20px}.empty{font-size:13px;color:var(--muted);line-height:1.9}
label{font-size:13px;color:#d5e4ef;font-weight:500;line-height:1.6;gap:8px}
input:not([type=file]),textarea,select{background:#0b2238;border:1px solid #c8dfef3b;color:#f0f5fa;font-size:14px;line-height:1.6;border-radius:9px;padding:10px 12px;min-height:44px;font-weight:500}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b6dfff18}input::placeholder,textarea::placeholder{color:#9fb5c8;opacity:1}select option{background:#17344b;color:#f0f5fa}textarea{min-height:96px}
.field-hint{font-size:12px;line-height:1.8;color:var(--muted)}.form-grid{gap:20px}.form-panel .panel-body{padding:24px}.form-lead{padding-bottom:20px;margin-bottom:22px}.form-lead h3{font-size:15px;font-weight:600}.form-lead p{font-size:12px;color:var(--muted);line-height:1.8}.background-preview{font-size:13px;border-color:var(--line);border-radius:11px;background-image:linear-gradient(#03201e44,#03201e66),url('/assets/aurora-fast.webp')}
.backup-options h2{font-size:18px;font-weight:600}.backup-options p{font-size:13px;color:var(--muted);line-height:1.8}.backup-icon{color:var(--accent)}.file-button{font-size:13px;min-height:44px;padding:10px 15px;position:relative;background:#b6dfff18;border:1px solid #b6dfff35;color:#e1f1ff;border-radius:10px;justify-content:center}.file-button input{inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.info-callout{background:#b6dfff0b;border-color:var(--line);font-size:13px;line-height:1.8;color:#cedfeb;border-radius:11px}
dialog{width:620px;max-width:calc(100% - 28px);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);margin:auto;border:1px solid #c4dfef40;border-radius:16px;background:#18354b;color:var(--ink);box-shadow:0 24px 80px #00101c80}
dialog:not([open]){display:none}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#001322b8;backdrop-filter:none}dialog>form{display:flex;flex-direction:column;max-height:inherit;min-height:0;margin:0}.dialog-header{padding:19px 22px;gap:12px;flex:none}.dialog-header h2{font-size:20px;font-weight:650}.dialog-header .eyebrow{font-size:10px}.close-dialog:not(.secondary){font-size:26px;color:#e1edf7;min-width:44px;min-height:44px;line-height:1;padding:0;display:grid;place-items:center;border-radius:9px}.close-dialog:not(.secondary):hover{background:#ffffff10}.dialog-body{padding:22px;overflow:auto;max-height:none;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.dialog-footer{padding:15px 22px;background:#142f44;border-color:var(--line);flex:none}.confirm-body{padding:25px}.confirm-body h2{font-size:20px;font-weight:650}.confirm-body p{font-size:14px;line-height:1.8;color:#d2e2ed}.confirm-symbol{background:#b6dfff18;color:#d3ecff}
#toast{background:#b6dfff;color:#122d42;font-size:13px;border:1px solid #cde9ff;border-radius:11px}#toast[data-error=true]{background:#64303a;color:#ffe1d8}#preview-banner{font-size:12px;color:#e9d5aa;background:#d0a25e12}
.login-page{background:linear-gradient(145deg,#11293f,#194358 55%,#132337);background-attachment:fixed;padding:36px 20px}.login-card{width:440px;background:#17364be8;border-color:var(--line);border-radius:20px;padding:32px;box-shadow:0 20px 65px #00132233}.login-card .admin-brand{margin-bottom:32px}.login-card h1{font-size:26px;font-weight:650;letter-spacing:0}.login-intro{font-size:14px;line-height:1.8;color:#d0e0eb;margin-bottom:25px}.login-card .eyebrow{font-size:11px}.login-card .primary{min-height:46px;font-size:14px}.login-back{font-size:13px;color:#c6dce9}.login-sign{font:500 11px/1.7 system-ui,sans-serif;color:#bad0df}.login-error{font-size:13px;line-height:1.8;background:#ffb6a416;color:#ffd4c8;border:1px solid #ffb6a42d;border-radius:9px}
@media(max-width:1100px){.admin-layout{grid-template-columns:204px minmax(0,1fr)}.sidebar{padding-left:13px;padding-right:13px}.topbar{padding:15px 24px}#main-content{padding:26px 24px 34px}.overview-columns{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.quick-actions{grid-template-columns:1fr}.stat{padding:16px}.stat-icon{right:15px}.row-actions{gap:4px}.site-row,.list-head{grid-template-columns:minmax(0,1fr) 90px 142px}}
@media(max-width:760px){
 .admin-layout{display:block}.sidebar{position:static;height:auto;width:100%;padding:17px 16px 0;backdrop-filter:none}.admin-brand{font-size:16px;padding:0 2px}.admin-brand small{font-size:11px}.sidebar>.nav-heading,.sidebar nav>.nav-heading,.sidebar-bottom{display:none}
 .sidebar nav{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:6px;padding:0 0 12px;margin:15px 0 0;scrollbar-width:thin;scrollbar-color:#bddff53d transparent}.sidebar nav>button{flex:none;min-height:44px;font-size:12px;padding:10px 11px;gap:7px;white-space:nowrap}.sidebar nav>button>span{font-size:16px;width:17px}.sidebar nav>button>small{font-size:10px}
 .topbar{height:auto;min-height:66px;position:sticky;top:0;z-index:4;padding:12px 16px;background:#112b40f0}.breadcrumb{display:none}.topbar-actions{width:100%;justify-content:space-between;gap:12px}#save-state{font-size:12px}.topbar .primary{min-height:44px;font-size:12px;padding:9px 13px}
 #main-content{padding:23px 16px 30px}.page-heading{gap:12px;align-items:flex-start;margin-bottom:20px}.page-heading h1{font-size:23px;line-height:1.5}.page-heading h1>span{font-size:22px;margin-left:7px}.eyebrow{font-size:9px}#page-subtitle{font-size:12px;line-height:1.8;max-width:260px}.page-heading .quiet-button{min-height:40px;font-size:11px;padding:8px 10px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:122px;gap:10px;margin-bottom:17px}.stat{padding:15px;border-radius:13px}.stat-label{font-size:12px}.stat-value{font-size:30px;margin-top:11px}.stat small{font-size:10px;line-height:1.6}.stat-icon{font-size:16px;top:15px;right:15px}
 .overview-columns{grid-template-columns:1fr;gap:16px}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:110px;gap:10px}.quick-action{padding:14px 11px;gap:8px}.quick-action>span{font-size:20px}.quick-action strong{font-size:12px;line-height:1.6}.quick-action small{font-size:11px;line-height:1.6}.panel-header{padding:16px}.panel-header h2{font-size:14px}.panel-header small{font-size:9px}.panel-body{padding:16px}.overview-note{padding:19px;min-height:132px}.overview-note p{font-size:20px}.overview-note small{font-size:9px}.category-row{font-size:13px}.site-preview{padding:18px}.site-preview p{font-size:12px}
 .toolbar-left{flex:1 1 100%;min-width:0;width:100%;gap:8px}.search-field{max-width:none;min-width:0;padding:10px}.filter-select{max-width:132px;width:auto;flex:none;font-size:12px;padding:10px 8px}.content-toolbar>.primary{min-height:44px;margin-left:auto}.list-head{display:none}
 .site-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px;min-height:120px}.row-site{align-items:flex-start;gap:10px}.row-icon{width:30px;height:30px;font-size:10px}.row-info strong{font-size:13px;line-height:1.6}.row-url{font-size:11px;margin-top:4px}.row-note{font-size:11px}.site-row>.category-chip{grid-column:1;grid-row:2;margin-left:40px;max-width:100%;font-size:10px;padding:3px 6px}.row-actions{grid-column:2;grid-row:1/3;max-width:74px;gap:6px;justify-content:center}.row-actions button,.row-actions button[data-action=edit]{min-width:32px;min-height:36px;padding:6px;font-size:11px}.list-footer{font-size:12px;padding:14px 16px}
 .form-panel .panel-body{padding:20px 16px}.form-grid{grid-template-columns:1fr;gap:18px}.form-grid .full,.field-hint.full{grid-column:auto}label{font-size:13px}input:not([type=file]),textarea,select{font-size:16px;line-height:1.6;min-height:46px}.field-hint{font-size:12px}.form-lead{gap:13px}.form-lead p{font-size:12px}.background-preview{height:150px;font-size:12px;text-align:center;padding:16px}
 .backup-options{grid-template-columns:1fr;gap:16px}.backup-options .panel-body{padding:21px}.backup-options p{font-size:13px}.info-callout{font-size:12px;padding:15px 16px}.admin-footer{padding:18px 16px;font-size:10px;flex-wrap:wrap;gap:6px}
 dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);max-width:calc(100% - 24px)}.dialog-header{padding:15px 17px}.dialog-header h2{font-size:19px}.dialog-body{padding:18px 17px;max-height:none}.dialog-footer{padding:13px 17px;gap:8px}.dialog-footer .primary,.dialog-footer .secondary{min-height:44px}.confirm-body{padding:23px}.login-card{padding:27px 24px}.login-card h1{font-size:24px}.login-card .admin-brand{margin-bottom:28px}.login-page{padding:30px 18px 60px}#preview-banner{font-size:11px;padding:9px 16px}
}
@media(max-width:350px){#main-content{padding:21px 12px 26px}.page-heading{flex-wrap:wrap}.page-heading .quiet-button{margin-left:auto}.stat small{font-size:10px}.stat-icon{display:none}.stat{padding:13px}.quick-action{gap:6px;padding:12px 9px}.quick-action strong{font-size:12px}.quick-action small{font-size:10px}.row-actions{max-width:68px;gap:4px}.site-row{padding:14px 12px;gap:8px}.row-info strong{font-size:12px}.row-url{font-size:10px}.filter-select{max-width:114px;font-size:11px}.login-card{padding:25px 21px}.login-card h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.search-field input{border:0;background:transparent;padding:0;min-height:0;box-shadow:none;width:100%;line-height:1.6}
@media(min-width:761px) and (max-width:950px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:122px}}
@media(max-width:760px){.search-field input{font-size:16px!important}}
@media(min-width:761px){.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bddff53d transparent}}
@media(max-width:760px){.sidebar-bottom{display:flex;gap:8px;margin:0;padding:6px 0 12px}.sidebar-bottom>a{display:inline-flex;align-items:center;min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;font-size:11px;color:#d6e6f1}.sidebar-bottom .admin-owner{display:none}}
