:root{
  color-scheme:dark;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  color:#f3f8f4;
  background:#0b1215;
  --green:#c9f08a;
  --lime:#c9f08a;
  --muted:#a9bdbe;
  --line:#31454b;
  --card:#142126;
  --red:#f3a499;
  --amber:#f4c281;
  --text:#f3f8f4;
  --subtle:#8ea6a8;
  --surface:#142126;
  --surface-raised:#1b2c31;
  --surface-deep:#101b20;
}
body{background:#0b1215;color:var(--text)}
a,.link{color:var(--green)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}
h1{font-size:30px;font-weight:790;letter-spacing:-.055em;line-height:1.22}
h2{font-weight:730;letter-spacing:-.025em}
h3{font-weight:720}
.muted,.subtitle,.small.muted{color:var(--muted)}
.shell{background:#0b1215}
.sidebar{background:#101b20;border-color:#2b3d42;padding:27px 14px;width:210px}
.brand{gap:10px}
.brandmark{width:35px;height:35px;border-radius:9px;background:var(--green);color:#142519;font-size:17px;font-weight:860;box-shadow:0 0 0 4px #c9f08a12}
.brandname{font-size:21px;font-weight:850;letter-spacing:-.065em}
.brand small{font-size:9px;letter-spacing:1.35px;color:#8da8a8;margin-top:1px}
.workspace{background:#1b2a2e;border:1px solid #34464a;border-radius:9px;padding:11px;margin:35px 0 27px;font-size:12px;color:#e1ece4}
.workspace>span:first-child{background:#2a4237;border-radius:8px;color:var(--green);padding:8px}
.workspace .muted{font-size:10px}
.nav{gap:3px}
.nav button{min-height:43px;padding:10px 12px;color:#b3c3c1;border-radius:8px;font-size:12px;font-weight:680;gap:11px}
.nav button svg{height:17px;width:17px}
.nav button:hover{background:#203137;color:#fff}
.nav button.selected{background:var(--green);color:#142519;font-weight:830}
.nav .dot{background:#31503a;width:5px;height:5px}
.sidebar-foot{padding-top:24px}
.sidebar-note{background:#18272b;border-color:#30454a;color:#a7beb8;border-radius:9px;font-size:11px;line-height:1.75}
.profile{border-color:#30454a}
.profile .avatar,.avatar{background:#29433d;color:#dcf4c4;border-radius:9px}
.profile .small{font-size:11px}
.main{margin-left:210px;width:calc(100% - 210px);max-width:none;padding:26px 32px 65px}
.topbar{padding-bottom:20px;border-color:#2c3e42;color:#a8bbba;font-size:11px}
.topbar .right{gap:13px}
.statusdot{background:var(--green);box-shadow:0 0 0 3px #c9f08a18}
.refresh-btn{border:1px solid #3a5055;border-radius:8px;color:#cfe0d7;padding:5px 8px;min-height:36px;font-size:10px}
.refresh-btn:hover{border-color:var(--green);background:#233832;color:var(--green)}
.refresh-btn svg{height:15px;width:15px}
.pagehead{margin:27px 0 22px;align-items:end}
.eyebrow{font-size:10px;color:#a4b9b6;letter-spacing:1.65px;font-weight:800}
.subtitle{font-size:12px;margin-top:7px;line-height:1.65}
.actions{gap:8px}
.btn{border-radius:8px;min-height:40px;padding:9px 13px;font-size:12px;font-weight:760;transition:background .18s,border-color .18s,color .18s}
.btn svg{height:16px;width:16px}
.btn.primary{background:var(--green);color:#172b1c}
.btn.primary:hover{background:#d8f5a4}
.btn.secondary{background:#1b2d32;border:1px solid #41575b;color:#e2eee7}
.btn.secondary:hover{background:#263c40;border-color:#718d81}
.btn.ghost{background:#253532;color:#c6e9a5}
.btn.ghost:hover{background:#31483c}
.btn.danger{background:#402b2b;color:#ffb8a9}
.btn.tiny{min-height:31px;font-size:11px;padding:6px 9px}
.btn:disabled{opacity:.5}
.iconbtn{color:#b2c6c2;border-radius:8px;min-height:36px;min-width:36px}
.iconbtn:hover{background:#29413e;color:#fff}
.month-input{background:#18282d;border:1px solid #42585e;border-radius:8px;color:#eaf4ee;min-height:40px;font-size:12px}
.stats{gap:11px;margin-bottom:13px}
.stat{background:var(--surface);border:1px solid #30454b;border-radius:11px;min-height:135px;padding:17px 18px;display:flex;flex-direction:column;justify-content:space-between}
.stat.featured{background:linear-gradient(125deg,#d6f4a6,#b9e77b);border-color:#d6f4a6;color:#14291b}
.stat-label{color:#a9bebb;font-size:11px;font-weight:730}
.stat-label svg{height:17px;width:17px;opacity:.8}
.featured .stat-label{color:#325138}
.stat-value{font-size:29px;font-weight:840;letter-spacing:-.055em;margin:8px 0 0;line-height:1.12;overflow-wrap:anywhere}
.stat.featured .stat-value{font-size:34px}
.stat-value small{font-size:13px;font-weight:730}
.stat-note{color:#9eb5b5;font-size:10px;line-height:1.5;margin-top:8px}
.featured .stat-note{color:#456b46}
.grid2{grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:13px}
.card{background:var(--surface);border:1px solid #30454b;border-radius:11px}
.card-head{padding:17px 18px;gap:10px}
.card-head h2{font-size:14px;font-weight:760}
.card-body{padding:0 18px 18px}
.badge{background:#293a3e;color:#c7d5d0;border-radius:5px;padding:5px 7px;font-size:10px;font-weight:730}
.badge.green{background:#2d4a3c;color:#d2f5b0}
.badge.amber{background:#4b392c;color:#ffd49d}
.badge.red{background:#4b3030;color:#ffc5b7}
.room{background:#1c2c31;border:1px solid #3c5358;border-radius:9px;padding:15px;gap:10px;margin-bottom:9px;min-height:100px}
.room:last-child{margin-bottom:0}
.room:has(.badge.green){background:linear-gradient(145deg,#1c382b,#1d3032);border-color:#668965}
.room-icon{width:35px;height:35px;border-radius:8px;background:#2b453a;color:var(--green)}
.room-icon svg{width:18px;height:18px}
.room h3{font-size:12px;font-weight:780}
.room p{color:#afc2bd;font-size:10px;margin-top:5px}
.room .tail{min-width:105px}
.room .tail p{color:#a7bdba}
.page-overview .grid2>.card:first-child .card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.page-overview .grid2>.card:first-child .room{margin-bottom:0}
.mini-steps{gap:8px;padding:0}
.step{width:100%;border:1px solid #3b5156;border-radius:8px;background:#1d2e33;color:#eff6ee;padding:12px;display:flex;align-items:center;gap:10px;text-align:left;line-height:1.5}
.step:hover{background:#294037;border-color:#6f9270}
.step i{width:31px;height:31px;border-radius:7px;background:#3b4033;color:var(--amber);font-size:12px}
.step i svg{height:16px;width:16px}
.step:nth-child(2) i,.step:nth-child(3) i{background:#2b4439;color:var(--green)}
.step div{flex:1;min-width:0}
.step strong{font-size:11px;font-weight:740}
.step p{font-size:10px;color:#9fb6b4;line-height:1.5;margin-top:2px}
.step>svg{width:15px;height:15px;color:#8fa8a7}
.notice{background:#1c322b;border:1px solid #3c6546;border-radius:8px;color:#c9e8c9;font-size:11px}
.notice.warn{background:#392f26;border-color:#70533a;color:#f3d0a7}
.notice.error{background:#3e2a2a;border-color:#724341;color:#f9c0b7}
.tablewrap{scrollbar-color:#4c6869 #16252a}
table{font-size:11px;color:#deebe4}
th{background:#1b2b30;color:#9fb5b7;border-color:#34484c;padding:12px 16px;font-weight:680}
td{border-color:#304449;padding:14px 16px}
tbody tr:hover{background:#21343a}
.person .avatar{background:#2d4844;color:#e0f4df}
.person small,.table-footer{color:#9eb3b4}
.table-footer{border-color:#304449;font-size:10px}
.empty{color:#a4b9b9}
.empty .empty-icon{background:#2a4139;color:var(--green)}
.empty h3{color:#e0f0e4}
.toolbar select,.field input,.field select,.field textarea,select{background:#111f24;border:1px solid #465d62;color:#f0f7ef;border-radius:8px}
.toolbar select{font-size:11px}
.label,.field,.field small{color:#a6bcba}
.field{font-size:11px;font-weight:680}
.field small{font-size:10px;font-weight:500}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #c9f08a1f}
.field input[readonly]{background:#1b2a2e;color:#b7c8bd}
.field input[type=checkbox],.remember-login input{accent-color:var(--green)}
.field input::placeholder,.field textarea::placeholder{color:#8da5a6}
.form-footer{border-color:#34484c}
.form-error{background:#432d2b;color:#ffd2c7}
.divider{border-color:#40545a;color:#d6f0c9}
.copybox{background:#1b2d31;color:#eaf3e7;border-color:#455c61}
.green-text{color:var(--green)}
.red-text{color:var(--red)}
.link{font-weight:730}
.link:hover{text-decoration:underline}
dialog{overflow-y:auto;background:#142126;color:var(--text);border:1px solid #50646a;border-radius:16px;box-shadow:0 32px 100px #0009}
dialog::backdrop{background:#020b0cd1;backdrop-filter:blur(4px)}
.dialog-head{border-bottom:1px solid #32484c}
.dialog-head h2{font-weight:780}
.dialog-sub{color:#aabfbc}
.audit-row{border-color:#34484c}
.audit-row small{color:#9eb4b4}
.settings-list .setting{border-color:#34484c}
.settings-list .setting p{color:#a8bdba}
.account-card .avatar{background:#315043;color:var(--green)}
.record-item{border-color:#34484c}
.record-item .values small{color:#9db4b5}
.pill-options label{border-color:#455b5f;background:#1c2b30}
.live-banner{background:linear-gradient(135deg,#d4f3a1,#b6e678);color:#17291c;border-radius:15px;padding:25px}
.live-banner:after{border-color:#1932200a}
.live-banner .badge{background:#25493219;color:#25482d;font-weight:850}
.live-banner h2{font-size:23px;font-weight:830;letter-spacing:-.05em;margin:18px 0 8px}
.live-banner p{color:#436346;font-size:11px}
.live-banner .live-detail{gap:13px;margin-top:22px}
.live-banner .live-detail div{color:#31533d;border-color:#557d543d;font-size:11px;font-weight:700}
.live-banner .live-detail strong{color:#14291b;font-size:22px;font-weight:840;letter-spacing:-.04em}
.live-banner .btn{background:#1c3b2a;color:#e7f8dc;font-weight:790}
.live-banner .btn:hover{background:#2b5737}
.live-banner .btn[data-act="finish"]{background:#172c1d;color:#f0f8e6}
.live-banner .actions{margin-top:18px}
.live-timer{font-size:clamp(38px,5vw,56px);font-weight:880;letter-spacing:-.075em;font-variant-numeric:tabular-nums;line-height:1.1;margin:10px 0 4px}
.section-gap{margin-top:14px}
.login-page{background:#0b1215}
.login-story{background:radial-gradient(circle at 80% 85%,#254637,#101e21 48%,#0c171a);border-right:1px solid #355045}
.login-story .brandmark{background:var(--green);color:#172d1a}
.login-story .brand small{color:#a8c5b4}
.login-story h1{font-size:clamp(35px,3.6vw,58px);font-weight:810;line-height:1.35;letter-spacing:-.055em}
.login-story>p{color:#aec6b5}
.login-art span{background:var(--green);opacity:.7}
.login-story footer{color:#a6c1b2}
.login-content{background:#0b1215}
.login-box h2{font-size:29px;font-weight:820;letter-spacing:-.05em}
.login-box .btn{min-height:48px}
.login-foot{color:#a4b6b4}
.remember-login{color:#d6e9d7}
.initial{color:#a9bdbe}
#toast{background:#213b30;color:#eff9e9;border:1px solid #719875;box-shadow:0 12px 36px #0009}
@media(min-width:1500px){.main{padding-left:46px;padding-right:46px}.stat-value{font-size:32px}}
@media(max-width:1100px){.sidebar{width:190px}.main{margin-left:190px;width:calc(100% - 190px);padding:23px}.stats{gap:8px}.stat{padding:14px}.stat-value{font-size:25px}.grid2{grid-template-columns:1fr}.login-story{padding:45px}}
@media(max-width:760px){
  body{background:#0b1215}
  .sidebar{display:none}
  .main{margin:0;width:100%;padding:18px 16px calc(102px + env(safe-area-inset-bottom))}
  .topbar{padding-bottom:14px}
  .mobile-brand{font-weight:830;font-size:19px;letter-spacing:-.05em}
  .mobile-brand .brandmark{height:27px;width:27px;font-size:13px;border-radius:7px}
  .topbar .right{gap:6px;color:#b2c9c0}
  .refresh-btn{font-size:0;min-width:35px;padding:6px}
  .refresh-btn span{display:none}
  .pagehead{margin:25px 0 18px}
  .pagehead h1{font-size:26px}
  .subtitle{font-size:11px}
  .eyebrow{font-size:9px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
  .stat{min-height:113px;padding:13px;border-radius:9px}
  .stat.featured{grid-column:1/-1;min-height:126px}
  .stat.featured .stat-value{font-size:32px}
  .stat-value{font-size:23px;margin:11px 0 0}
  .stat-label{font-size:10px}
  .stat-note{font-size:9px}
  .grid2{grid-template-columns:1fr;gap:10px;margin-bottom:10px}
  .page-overview .grid2>.card:first-child .card-body{grid-template-columns:1fr}
  .card-head{padding:15px}
  .card-body{padding:0 15px 15px}
  .card-head h2{font-size:13px}
  .room{padding:12px}
  .room-icon{height:31px;width:31px}
  .room .tail{min-width:88px}
  .mobile-nav{background:#121f23f5;border-color:#31464a;backdrop-filter:blur(16px);padding:6px 5px calc(7px + env(safe-area-inset-bottom))}
  .mobile-nav button{flex:1;min-width:0;padding:7px 2px;min-height:49px;color:#9bb2b1;font-size:9px;font-weight:720;gap:3px;border-radius:8px}
  .mobile-nav button.selected{background:#294339;color:var(--green)}
  .mobile-nav svg{height:18px;width:18px}
  .record-item .values{gap:8px}
  .record-item .values small{font-size:9px}
  .form-grid{gap:12px}
  .field input,.field select,.field textarea{font-size:16px;min-height:46px}
  .field small{font-size:10px}
  .btn{min-height:44px}
  .pagehead .actions{justify-content:flex-start}
  .login-story{padding:31px 25px 35px;min-height:275px}
  .login-story h1{font-size:29px;margin-top:34px}
  .login-story>p{font-size:12px}
  .login-content{padding:34px 25px 60px}
  .login-box h2{font-size:25px}
  .login-foot{font-size:11px}
  .live-banner{padding:20px}
  .live-banner h2{font-size:21px}
  .live-banner .btn[data-act="finish"]{width:100%;min-height:50px;margin:0 0 3px}
  .live-banner .actions{display:flex;gap:7px}
  .live-banner .actions .btn:not([data-act="finish"]){flex:1;font-size:10px;padding:8px}
  .live-timer{font-size:45px}
  .dialog-head{padding:19px 18px 16px}
  .dialog-body{padding:15px 18px 22px}
  #toast{bottom:90px}
}
@media(max-width:390px){.stats .stat:last-child:nth-child(4){grid-column:1/-1}.pagehead .actions .btn{white-space:normal}.live-timer{font-size:40px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
