:root{
  --bg:#07090d!important;
  --bg2:#0c1116!important;
  --bg3:#151c23!important;
  --card:#10151b!important;
  --surface:#10151b!important;
  --surface-hover:#172029!important;
  --surface-active:#1c2731!important;
  --border:#222d38!important;
  --border2:#33414f!important;
  --border-bright:#465968!important;
  --text:#f2f5f7!important;
  --text-sub:#b5c0ca!important;
  --text-muted:#758392!important;
  --accent:#51e3a4!important;
  --blue:#42c7f5!important;
  --cyan:#42c7f5!important;
  --green:#51e3a4!important;
  --yellow:#ffbd4a!important;
  --orange:#ff985c!important;
  --red:#ff6b73!important;
  --purple:#b6a2ff!important;
  --pink:#ff8fc5!important;
  --r:8px!important;
  --r-sm:6px!important;
  --r-lg:10px!important;
}

*{letter-spacing:0!important;}
html{background:#07090d!important;}
body{
  background-color:#07090d!important;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px)!important;
  background-size:32px 32px!important;
  color:var(--text)!important;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif!important;
  line-height:1.5!important;
}
body::before{content:'';position:fixed;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#51e3a4 0 34%,#42c7f5 34% 68%,#ffbd4a 68%);z-index:20000;}

.preview-nav{
  position:sticky;top:0;z-index:10000;min-height:52px;padding:0 22px;display:flex;align-items:center;gap:22px;
  background:rgba(7,9,13,.96);border-bottom:1px solid #222d38;backdrop-filter:blur(18px);
}
.preview-brand{display:flex;align-items:center;gap:9px;flex:0 0 auto;white-space:nowrap;}
.preview-brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;border:1px solid rgba(81,227,164,.55);background:#0d1b17;color:#80efbd;font-size:10px;font-weight:800;}
.preview-brand b{font-size:12px;color:#eef4f1;}
.preview-brand em{font-style:normal;font-size:9px;color:#51e3a4;border:1px solid rgba(81,227,164,.28);border-radius:4px;padding:2px 5px;}
.preview-links{display:flex;align-items:center;gap:3px;min-width:0;overflow-x:auto;scrollbar-width:none;}
.preview-links::-webkit-scrollbar{display:none;}
.preview-links a{display:inline-flex;align-items:center;height:34px;padding:0 11px;border:1px solid transparent;border-radius:5px;color:#7f8d9a;text-decoration:none;font-size:11px;white-space:nowrap;}
.preview-links a:hover{color:#fff;background:#111820;border-color:#28343e;}
.preview-note{margin-left:auto;color:#ffce72;font-size:10px;white-space:nowrap;}
body.preview-main .nav-main,
body.preview-roster .nav-roster,
body.preview-penalty .nav-penalty,
body.preview-gt .nav-gt,
body.preview-open .nav-open,
body.preview-complaint .nav-complaint,
body.preview-org .nav-org,
body.preview-teacher .nav-teacher{color:#d9faeb;background:#10241e;border-color:#316e57;font-weight:700;}

body>.header,.header{
  top:52px!important;background:rgba(12,17,22,.96)!important;border-bottom:1px solid var(--border)!important;
  box-shadow:none!important;backdrop-filter:blur(16px)!important;
}
.header-title,.logo{font-weight:750!important;color:var(--text)!important;}
body.preview-main .header-left .logo{width:34px!important;height:34px!important;border-radius:7px!important;background:#10231d!important;box-shadow:inset 0 0 0 1px rgba(81,227,164,.4)!important;}
.header-pill,.pill{border-radius:5px!important;background:#0e211b!important;color:#92efc3!important;border-color:#2a654f!important;}

.main,.dashboard,.wrap{max-width:1560px!important;margin-left:auto!important;margin-right:auto!important;}
body.preview-roster,body.preview-complaint{padding:0!important;}
body.preview-roster>.header,body.preview-complaint>.header{padding:13px 24px!important;}
body.preview-roster>.dashboard,body.preview-complaint>.dashboard{padding:20px 24px 60px!important;}

.upload-panel,.upload-card,.filter-bar,.filterbar,.mfbar,.toolbar{
  background:#0c1116!important;border-color:#27333e!important;border-radius:6px!important;box-shadow:none!important;
}
.upload-panel{border-bottom:1px solid var(--border)!important;}
.upload-slot{border-radius:6px!important;background:#0b1015!important;border-color:#2b3742!important;}
.upload-slot:hover{background:#0e1d18!important;border-color:#51e3a4!important;transform:none!important;}
.upload-card{border-radius:8px!important;border-width:1px!important;padding:30px 38px!important;}
.upload-icon,.empty-orb{filter:saturate(.75);}
.empty-orb{border-radius:8px!important;}

.btn,.hbtn,.det-btn,.sup-btn,.seg,.tab,.lang-toggle,.login-btn,button{
  border-radius:6px!important;box-shadow:none!important;transition:background .15s,border-color .15s,color .15s,transform .15s!important;
}
.btn:hover,.hbtn:hover,.det-btn:hover,.sup-btn:hover,.seg:hover,.tab:hover{transform:translateY(-1px);}
.btn-primary,.login-btn,.hbtn.primary{background:#42c7f5!important;border-color:#42c7f5!important;color:#041319!important;font-weight:750!important;}
.btn-ghost,.btn:not(.btn-primary),.hbtn:not(.primary),.det-btn,.sup-btn{background:#151c23!important;border:1px solid #34424f!important;color:#c1cad2!important;}
.btn-rule{background:#241d0c!important;color:#ffd274!important;border-color:#6d5421!important;}
.btn-lang{background:#171528!important;color:#c8bcff!important;border-color:#474064!important;}
.seg.on,.tab.active{background:#123027!important;color:#c7f7df!important;border-color:#3b8065!important;}

input,select,textarea,.search-box,.exempt-input{
  border-radius:6px!important;background:#0a0f14!important;border:1px solid #30404d!important;color:#edf2f5!important;box-shadow:none!important;
}
input:focus,select:focus,textarea:focus,.search-box:focus{border-color:#42c7f5!important;outline:none!important;box-shadow:0 0 0 3px rgba(66,199,245,.1)!important;}

.kpi-grid,.kpi-row,.summary-row,.kpis{gap:8px!important;}
.kpi-card,.sum-card,.kpi{
  background:#10161c!important;border:1px solid #26323c!important;border-radius:7px!important;box-shadow:none!important;
}
.kpi-card:hover,.sum-card:hover,.kpi:hover{border-color:#41525f!important;transform:none!important;}
.kpi-card::before,.kpi-card::after{display:none!important;}
.kpi-value,.sum-card .val,.kpi .val,.kpi .v{font-variant-numeric:tabular-nums;font-weight:780!important;}

.chart-card,.table-shell,.table-wrap,.tcard,.card,.ai-card,.roster-lists{
  background:#10151b!important;border-color:#24303a!important;border-radius:7px!important;box-shadow:none!important;
}
.chart-card:hover{border-color:#3b4a56!important;}
.chart-card{overflow:hidden;}
.sec-label,.table-heading,.table-title,.chart-head,.ctitle{color:#e8edf0!important;font-weight:720!important;text-transform:none!important;}
.sec-label{font-size:12px!important;border-left:2px solid #51e3a4;padding-left:8px!important;}

table{border-collapse:collapse!important;}
thead th,th{background:#161e26!important;color:#9aa8b5!important;border-color:#34414d!important;font-size:10.5px!important;font-weight:650!important;}
td{border-color:#202a33!important;color:#dde4e9!important;}
tbody tr:nth-child(even){background:rgba(255,255,255,.014)!important;}
tbody tr:hover{background:rgba(66,199,245,.06)!important;}
.badge{border-radius:4px!important;}
.b-green{background:#112d24!important;color:#87ebba!important;}
.b-red{background:#30171a!important;color:#ff9298!important;}
.b-yellow{background:#30260f!important;color:#ffd16d!important;}
.b-gray{background:#1b2229!important;color:#9ba7b2!important;}

.modal,.modal-panel,.login-card,[role="dialog"]{
  background:#0f151b!important;border-color:#3a4854!important;border-radius:8px!important;box-shadow:0 28px 80px rgba(0,0,0,.6)!important;
}
.overlay,.modal-backdrop{background:rgba(0,3,7,.86)!important;backdrop-filter:blur(5px)!important;}

body.preview-main .upload-panel{padding:15px 26px!important;}
body.preview-main .main{padding:22px 26px 70px!important;}
body.preview-main #aiOverview>div{border-radius:7px!important;background:#0f1819!important;border-color:#27473a!important;}
body.preview-main .org-mini-card{border-radius:6px!important;background:#0c1217!important;}
body.preview-main .table-shell{overflow-x:auto!important;overflow-y:hidden!important;}
body.preview-main:not(.teacher-mode) .header-right>a{display:none!important;}

body.preview-penalty .summary-row .sum-card,
body.preview-gt .summary-row .sum-card{border-top:2px solid #33414d!important;}
body.preview-penalty .summary-row .sum-card:nth-child(2),
body.preview-gt .summary-row .sum-card:nth-child(2){border-top-color:#ff6b73!important;}
body.preview-penalty .summary-row .sum-card:nth-child(3),
body.preview-gt .summary-row .sum-card:nth-child(3){border-top-color:#ffbd4a!important;}

body.preview-roster .chart-card{height:310px!important;}
body.preview-roster .kpi-row .kpi{border-top:2px solid #33414d!important;}
body.preview-complaint .kpi-row .kpi{border-top:2px solid #ff985c!important;}

body.preview-open .wrap{max-width:1420px!important;padding:22px 26px 70px!important;}
body.preview-open .head{padding:0 0 15px!important;border-bottom:1px solid var(--border)!important;}
body.preview-open .card{border-radius:7px!important;}
body.preview-open #aiCard{background:#0f1819!important;border-color:#2a4a3c!important;}
body.preview-open #availabilityCard{border-color:#294959!important;}
body.preview-open .kpi{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;}

body.preview-org #loginView{min-height:calc(100vh - 52px)!important;}
body.preview-org .login-card{width:min(420px,94%)!important;padding:30px!important;border-top:2px solid #51e3a4!important;}
body.preview-org .login-card::before{content:'GAOTU · ORG ACCESS';display:block;color:#51e3a4;font-size:9px;font-weight:800;margin-bottom:14px;}
body.preview-org .wrap{max-width:1280px!important;}

@media(prefers-reduced-motion:no-preference){
  .dashboard,.main,#dataView{animation:previewEnter .35s ease both;}
  @keyframes previewEnter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}

@media(max-width:900px){
  .preview-nav{padding:0 12px;gap:10px;}
  .preview-brand b,.preview-brand em,.preview-note{display:none;}
  .preview-links a{padding:0 9px;}
  body>.header,.header{top:52px!important;}
  .main,.dashboard{padding-left:12px!important;padding-right:12px!important;}
  .summary-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:540px){
  .preview-nav{min-height:48px;}
  .preview-brand-mark{width:28px;height:28px;}
  .preview-links a{height:31px;font-size:10px;padding:0 8px;}
  body>.header,.header{top:48px!important;padding-left:12px!important;padding-right:12px!important;}
  body.preview-main>.header{
    height:auto!important;min-height:58px!important;padding-top:8px!important;padding-bottom:8px!important;
    flex-direction:column!important;align-items:stretch!important;gap:8px!important;
  }
  body.preview-main .header-left{width:100%!important;min-width:0!important;}
  body.preview-main .header-title{white-space:nowrap!important;}
  body.preview-main .header-right{
    width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;
    flex-wrap:nowrap!important;padding-bottom:2px!important;scrollbar-width:none!important;
  }
  body.preview-main .header-right::-webkit-scrollbar{display:none!important;}
  body.preview-main .header-right>*{flex:0 0 auto!important;}
  .kpi-grid,.kpi-row,.summary-row,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .charts{grid-template-columns:1fr!important;}
  .upload-card{padding:24px 18px!important;}
}
