:root{color:#1d2939;background:#f4f7fb;font-family:Inter,Microsoft YaHei,system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eaf2f8;background:#102a43;flex-direction:column;gap:1.6rem;padding:1.5rem 1rem;display:flex}.brand{align-items:center;gap:.7rem;font-size:1.05rem;font-weight:750;display:flex}.brand-mark{color:#102a43;background:#72d0ff;border-radius:.6rem;place-items:center;width:2rem;height:2rem;font-size:.75rem;display:grid}.workspace-label{color:#9fb3c8;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem}nav{gap:.25rem;display:grid}.nav-item{text-align:left;color:#cbd9e7;background:0 0;border:0;border-radius:.55rem;padding:.72rem .82rem}.nav-item:hover,.nav-item.active{color:#fff;background:#243f5c}.sidebar-foot{color:#bcccdc;margin-top:auto;font-size:.8rem;line-height:1.5}.sidebar-foot span{color:#829ab1}.main-content{width:100%;max-width:1500px;margin:0 auto;padding:1.8rem clamp(1.25rem,4vw,3.5rem) 3rem}.topbar,.section-head,.panel-head,.operator,.form-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.topbar{margin-bottom:2rem}.eyebrow{color:#627d98;letter-spacing:.12em;margin:0 0 .25rem;font-size:.76rem}.topbar h1,h2,h3,p{margin-top:0}.topbar h1{margin-bottom:0;font-size:clamp(1.7rem,3vw,2.25rem)}.operator{color:#486581;font-size:.9rem}.operator-dot{background:#2cb67d;border-radius:50%;width:.55rem;height:.55rem}.quiet-action{color:#486581;background:0 0;border:0}.page{display:none}.page.active{display:block}.notice{color:#075985;background:#e0f2fe;border:1px solid #bae6fd;border-radius:.7rem;margin-bottom:1.25rem;padding:.9rem 1rem;line-height:1.5}.metric-grid,.panel-grid,.preset-grid{gap:1rem;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.metric,.panel,.preset-card{background:#fff;border:1px solid #d9e2ec;border-radius:.8rem;box-shadow:0 5px 18px #102a430a}.metric{padding:1.2rem}.metric p,.metric span,.muted,.section-head p{color:#627d98}.metric p{margin-bottom:.8rem;font-size:.88rem}.metric strong{margin-bottom:.35rem;font-size:1.7rem;display:block}.metric span{font-size:.8rem}.panel{padding:1.25rem}.panel h3{margin-bottom:.55rem}.clean-list{margin-bottom:0;padding-left:1.1rem;line-height:1.9}.key-value{margin:0}.key-value div{border-bottom:1px solid #edf2f7;justify-content:space-between;padding:.5rem 0;display:flex}.key-value div:last-child{border:0}.key-value dt{color:#486581}.key-value dd{margin:0;font-weight:600}.section-head{align-items:end;margin-bottom:1.2rem}.section-head h2{margin-bottom:.35rem;font-size:1.5rem}.section-head p{margin-bottom:0;line-height:1.5}.primary-action,.secondary-action{border-radius:.55rem;padding:.62rem .9rem;font-weight:650}.primary-action{color:#fff;background:#2966c8;border:1px solid #2966c8}.secondary-action{color:#243b53;background:#fff;border:1px solid #bcccdc}.toolbar,.filter-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.toolbar label{color:#486581;align-items:center;gap:.5rem;display:flex}.toolbar input,.form-panel input,.form-panel textarea{color:#243b53;background:#fff;border:1px solid #bcccdc;border-radius:.5rem;width:100%;padding:.65rem .72rem}.toolbar input{width:min(320px,70vw)}.table-wrap{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;border-bottom:1px solid #e6edf4;padding:.95rem 1.1rem}th{color:#486581;background:#f8fafc;font-size:.8rem}.empty-cell{text-align:center;color:#829ab1;padding:2.5rem}.filter{color:#486581;background:#fff;border:1px solid #d9e2ec;border-radius:999px;padding:.45rem .75rem}.filter.active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.preset-card{padding:1.1rem}.preset-card span{color:#2966c8;font-size:.78rem;font-weight:700}.preset-card h3{margin:.55rem 0}.preset-card p{color:#627d98;min-height:3.2rem;font-size:.88rem;line-height:1.5}.preset-card button{color:#2966c8;background:0 0;border:0;padding:0;font-weight:650}.status-chip{border-radius:999px;padding:.3rem .55rem;font-size:.75rem;font-weight:700}.status-chip.neutral{color:#475569;background:#e2e8f0}.status-chip.warning{color:#9a3412;background:#ffedd5}.form-panel{gap:1rem;max-width:900px;display:grid}.form-panel label{color:#334e68;gap:.45rem;font-weight:650;display:grid}.form-panel textarea{resize:vertical;line-height:1.5}.setting-list{padding:0;overflow:hidden}.setting-list button{color:#243b53;text-align:left;background:#fff;border:0;border-bottom:1px solid #e6edf4;justify-content:space-between;width:100%;padding:1.05rem 1.15rem;display:flex}.setting-list button:last-child{border:0}.setting-list small{color:#829ab1}.toast{color:#fff;opacity:0;pointer-events:none;background:#102a43;border-radius:.6rem;max-width:min(380px,100vw - 2.5rem);padding:.8rem 1rem;transition:all .18s;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(12px);box-shadow:0 12px 30px #102a4340}.toast.visible{opacity:1;transform:translateY(0)}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{gap:.7rem;padding:.9rem 1rem}.sidebar nav{display:flex;overflow-x:auto}.nav-item{white-space:nowrap}.sidebar-foot{display:none}.topbar{align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-grid{grid-template-columns:1fr}}@media (width<=520px){.main-content{padding:1.15rem 1rem 2rem}.topbar,.section-head{flex-direction:column;align-items:flex-start}.operator{justify-content:flex-end;width:100%}.metric-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.form-actions button{width:100%}}.login-shell{background:#edf4fa;place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:#fff;border:1px solid #d9e2ec;border-radius:1rem;gap:1rem;width:min(420px,100%);padding:2rem;display:grid;box-shadow:0 18px 50px #102a431f}.login-card .brand{color:#102a43}.login-card h1{margin:.4rem 0 0}.login-card label{color:#334e68;gap:.45rem;font-weight:650;display:grid}.login-card input{border:1px solid #bcccdc;border-radius:.55rem;padding:.72rem}.login-card button:disabled{opacity:.65;cursor:wait}.form-error{color:#b42318;background:#fef3f2;border-radius:.5rem;margin:0;padding:.65rem}
