:root,:root[data-theme="dark"]{--bg:#f3f5fb;--card:#fff;--tx:#20243c;--mu:#626b81;--bd:#dce1ee;--pr:#303579;--prt:#fff;--bad:#bb1e32;--ok:#18754b;--wn:#925c0b;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#f3f5fb;--card:#fff;--tx:#20243c;--mu:#626b81;--bd:#dce1ee;--pr:#303579;--prt:#fff;--bad:#bb1e32;--ok:#18754b;--wn:#925c0b;color-scheme:light}}
body{font:15px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif;background:radial-gradient(ellipse at top left,#e8eafa,transparent 65%),var(--bg)}
.w{max-width:1240px;padding:24px;margin:auto}.brand-header{display:flex;align-items:center;gap:30px;padding:22px 28px;margin-bottom:22px;border:1px solid var(--bd);border-top:4px solid #bb1e32;background:#fff;border-radius:18px;box-shadow:0 8px 30px #30357908}.brand-header img{width:240px;height:auto;display:block}.brand-header h1{font-size:23px;line-height:1.4;margin:0;color:#303579}.brand-header p{margin:4px 0 0;color:var(--mu);font-size:13px}.brand-header .brand-title{border-left:1px solid var(--bd);padding-left:28px}
h2{font-size:18px;color:var(--tx);margin-bottom:14px}.c{padding:24px;border-radius:16px;margin-bottom:20px;box-shadow:0 5px 20px #30357906}.mu{font-size:14px}.tabs{gap:8px;padding:6px 0 12px;margin:14px 0;scrollbar-width:thin}.tabs button{border-radius:10px;background:#fff;padding:11px 16px;font-weight:600}.tabs button.on{background:var(--pr);box-shadow:0 4px 10px #30357922}button{min-height:44px;transition:background .15s,box-shadow .15s}button:hover{box-shadow:0 3px 10px #30357918}button.p{font-weight:650;padding:10px 20px}button.d{background:#fff3f5;border-color:#f1cbd2}input,select,textarea{padding:10px 12px;min-height:44px;border-radius:10px;background:#fff}input[type=checkbox]{min-height:0;accent-color:var(--pr)}label{font-size:14px;font-weight:600;margin-top:14px;color:#4b536b}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #858bcb;outline-offset:2px}.g{gap:6px 18px}.row{gap:12px}th{background:#eef0f9;color:#303579;font-weight:700}th,td{padding:12px 14px}tbody tr:hover{background:#f8f9fd}.sc{border:1px solid var(--bd);border-radius:12px}.bar{height:10px;background:#e6e9f3}.bar i{background:linear-gradient(90deg,#303579,#626ab4)}a{color:#303579}.auth-shell{background:radial-gradient(ellipse at top,#e3e6f6,transparent 65%),#f3f5fb!important}.auth-shell>.c{max-width:460px!important;margin:32px auto!important;padding:30px;border-top:4px solid #bb1e32}.auth-logo{display:block;width:270px;max-width:100%;height:auto;margin:0 auto 24px}.auth-shell h2{text-align:center;color:#303579;font-size:21px}.auth-shell #go{width:100%;margin-top:8px}.auth-shell .tabs button{flex:1;padding:10px 8px}.account-bar{max-width:1240px;margin:auto;padding:12px 24px!important;font-size:13px}.account-bar a{font-weight:600}
@media(max-width:640px){.w{padding:14px}.brand-header{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.brand-header img{width:210px}.brand-header .brand-title{padding:14px 0 0;border-left:0;border-top:1px solid var(--bd);width:100%}.brand-header h1{font-size:20px}.c{padding:18px}.auth-shell>.c{padding:24px 20px;margin:12px auto!important}.tabs button{padding:10px 12px}.g{grid-template-columns:1fr}.account-bar{overflow-wrap:anywhere}}
/* Dashboard refinement */
body{background:#f5f6fa}.w{max-width:1440px;padding:20px 32px 40px}.brand-header{padding:16px 22px;border-radius:14px;gap:24px;margin-bottom:16px;border-top-width:3px;box-shadow:none}.brand-header img{width:194px}.brand-header .brand-title{padding-left:24px}.brand-header h1{font-size:20px}.brand-header p{font-size:12px}.account-bar{max-width:1440px;padding:10px 32px!important}.dashboard>.mu{font-size:12px;color:#68718a;margin-bottom:12px}.main-nav{background:#fff;border:1px solid #e3e6f0;border-radius:12px;padding:6px;margin:0 0 26px;gap:5px}.main-nav button{display:flex;gap:9px;align-items:center;border:0;background:transparent;padding:10px 15px;font-size:13px;min-height:42px}.main-nav button.on{box-shadow:none;background:#303579}.main-nav svg{flex-shrink:0}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:750;color:#bb1e32}.page-intro h2{font-size:27px;letter-spacing:-.6px;margin:4px 0;color:#222747}.page-intro p{margin:0;color:#70788e;font-size:13px}.period-label{padding:7px 12px;background:#fff;border:1px solid #dfe3ef;border-radius:8px;color:#5c6580;font-size:12px;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:20px;background:#fff;border:1px solid #e0e4ef;border-radius:13px;border-top:3px solid #303579}.metric-top{display:flex;justify-content:space-between;gap:10px;color:#626c84;font-size:12px;font-weight:600}.metric-top svg{color:#838ab3}.metric strong{display:block;font-size:34px;font-weight:750;line-height:1.4;letter-spacing:-1px;color:#303579;margin-top:7px}.metric small{display:block;font-size:11px;color:#7d8598;margin-top:3px}.metric-1{border-top-color:#218060}.metric-1 strong{color:#218060}.metric-2{border-top-color:#bb1e32}.metric-2 strong{color:#bb1e32}.metric-3{background:#303579;border-color:#303579}.metric-3 strong{color:#fff}.metric-3 .metric-top,.metric-3 small,.metric-3 svg{color:#d9ddf5}.c{padding:22px;border-radius:13px;box-shadow:none;margin-bottom:18px}.c h2{font-size:17px}input,select,textarea{font-size:14px}.row input[type=month]{width:210px!important}.row select{max-width:300px}.class-form .g{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 22px}.class-form .g>div{min-width:0}.class-form .g>div:nth-child(1),.class-form .g>div:nth-child(2){grid-column:span 1}.class-form .g>div:last-child{grid-column:span 1}.class-form p{border-top:1px solid #edf0f6;padding-top:20px;margin-bottom:0}.class-form label{font-size:12px}.class-form select{width:100%;text-overflow:ellipsis}.empty-state{padding:36px 20px!important;text-align:center;white-space:normal!important;color:#626d85}.empty-state b{display:block;font-size:15px;color:#414b68;margin:12px 0 4px}.empty-state p{font-size:12px;margin:0;color:#778096}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:#eef0fa;color:#6c74a4}.empty-symbol svg{width:25px;height:25px}th{font-size:11px;letter-spacing:.1px;padding:13px 12px;background:#f0f2f9}td{font-size:13px}.sc table .ok,.sc table .no{display:inline-block;border-radius:20px;padding:3px 9px;font-size:11px}.sc table .ok{background:#e8f5ee}.sc table .no{background:#fff0f2}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}.calendar-month{border:1px solid #e2e6f0;border-radius:12px;padding:18px}.calendar-month h3{margin:0 0 18px;font-size:16px;color:#303579}.weekdays,.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{font-size:11px;text-align:center;color:#788199;margin-bottom:9px}.date-grid button{font-size:14px;min-width:0;min-height:42px;padding:5px;background:#f7f8fd;border:1px solid #e0e4f1;font-weight:600}.date-grid button:hover{background:#303579;color:#fff}.calendar-note{font-size:11px;color:#7a8398;margin:14px 0 0}.auth-shell>.c{box-shadow:0 18px 70px #30357912}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav button{font-size:12px;padding:10px}.class-form .g{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{overflow-x:auto}.main-nav svg{width:17px}.calendar-months{grid-template-columns:1fr}}
@media(max-width:640px){.w{padding:12px}.brand-header{flex-direction:row;gap:14px;padding:14px}.brand-header img{width:125px}.brand-header .brand-title{border-top:0;border-left:1px solid var(--bd);padding:0 0 0 14px;width:auto}.brand-header h1{font-size:15px}.brand-header p{font-size:10px}.account-bar{padding:8px 12px!important}.main-nav{margin-bottom:20px}.main-nav button{flex-shrink:0;min-height:42px}.page-intro{align-items:flex-start}.page-intro h2{font-size:23px}.period-label{font-size:10px;padding:5px 7px}.page-intro p{font-size:12px}.metric-grid{gap:10px}.metric{padding:14px}.metric strong{font-size:28px}.metric-top{font-size:11px}.metric-top svg{width:16px}.metric small{font-size:10px}.class-form .g{grid-template-columns:1fr}.c{padding:17px}.calendar-month{padding:12px}.weekdays,.date-grid{gap:4px}.date-grid button{min-height:38px}.row input[type=month],.row select{width:100%!important;max-width:none}.class-form p .mu{display:block;margin-top:12px}}
