:root{--red:#ce1729;--dark:#252c39;--muted:#89909e;--line:#eceef2;--bg:#f6f7fa}*{box-sizing:border-box}body{background:var(--bg);color:var(--dark);margin:0;font:14px/1.5 Segoe UI,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}.layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:232px;padding:30px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;padding:0 10px 25px;display:flex}.brand-name{letter-spacing:-.8px;font-size:18px;font-weight:850;line-height:1.05}.brand-sub{letter-spacing:1.8px;color:var(--muted);margin-top:7px;font-size:9px}.campaign-chip{border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin:3px 0 27px;padding:11px 12px;font-size:10px;display:flex}.campaign-chip strong{font-size:12px;display:block}.dot{background:#2c9c73;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.nav-label{letter-spacing:1.8px;color:#a0a6b3;margin:15px 0 8px;padding:0 13px;font-size:9px;font-weight:700}.nav-btn{color:#777f8e;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;margin:3px 0;padding:12px 14px;font-size:12px;font-weight:550;display:flex}.nav-btn.active{color:var(--red);background:#fff0f1;font-weight:700}.nav-btn.active:after{content:"";background:var(--red);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding-top:17px}.profile{align-items:center;gap:10px;padding:10px;display:flex}.avatar{width:34px;height:34px;color:var(--red);background:#fff0f1;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.profile strong{font-size:11px;display:block}.profile small{color:var(--muted);font-size:10px}.main{width:calc(100% - 232px);margin-left:232px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:15px;height:77px;padding:0 34px;display:flex}.breadcrumb{color:#949ba8;font-size:11px}.breadcrumb b{color:#4a5260;font-weight:500}.toolbar{align-items:center;gap:15px;display:flex}.top-sync{color:#738579;align-items:center;gap:7px;font-size:10px;display:flex}.icon-btn{border:1px solid var(--line);color:#7a8290;background:#fff;border-radius:7px;justify-content:center;align-items:center;padding:8px;display:inline-flex}.role-select{border:1px solid var(--line);background:#fafbfc;border-radius:7px;max-width:160px;padding:8px;font-size:11px}.content{max-width:1590px;margin:auto;padding:28px 34px 35px}.demo-strip{color:#9b7a36;background:#fffaf0;border:1px solid #f0dfbd;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px;padding:8px 13px;font-size:10px;display:flex}.demo-strip button{color:inherit;background:0 0;border:0;font-size:10px;text-decoration:underline}.heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.eyebrow{color:var(--red);letter-spacing:1.7px;margin:0 0 6px;font-size:10px;font-weight:700}.heading h1{letter-spacing:-1px;margin:0 0 5px;font-size:27px;font-weight:650}.sub{color:var(--muted);margin:0;font-size:11px}.actions{align-items:center;gap:9px;display:flex}.btn{color:#5d6573;background:#fff;border:1px solid #e2e5eb;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.btn.red{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 3px 6px #ce17291c}.btn.small{padding:6px 9px;font-size:10px}.btn.danger{color:var(--red)}.filters{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 15px;display:flex}.filters>span{color:#8b92a0;align-items:center;gap:7px;font-size:11px;display:flex}.filters select,.filters input{border:1px solid var(--line);color:#5b6371;background:#fff;border-radius:6px;min-width:170px;padding:7px 11px;font-size:11px}.filters .right{color:#9aa0aa;margin-left:auto;font-size:10px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:24px;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:132px;padding:17px 15px}.kpi-header{color:#87909d;justify-content:space-between;align-items:center;gap:4px;font-size:10px;display:flex}.kpi-icon{width:28px;height:28px;color:var(--red);background:#fff1f2;border-radius:7px;place-items:center;display:grid}.kpi-value{letter-spacing:-1px;margin-top:6px;font-size:29px;font-weight:650;line-height:1.5}.kpi-foot{color:#a0a7b3;font-size:9px}.kpi.primary{background:var(--red);border-color:var(--red);color:#fff}.kpi.primary .kpi-header,.kpi.primary .kpi-foot{color:#ffc9cf}.kpi.primary .kpi-icon{color:#fff;background:#ffffff21}.grid-charts,.grid-bottom{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:22px;margin-bottom:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:10px;padding:19px 21px 16px;display:flex}.panel-title{margin:0;font-size:13px;font-weight:650}.panel-sub{color:#9aa1ad;margin:3px 0 0;font-size:10px}.legend{color:#7d8593;align-items:center;gap:12px;font-size:9px;display:flex}.legend i{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.chart{padding:8px 17px 0}.chart svg{width:100%;height:213px;overflow:visible}.chart text{fill:#a0a6b1;font-family:inherit;font-size:10px}.chart-note{color:#a2a8b3;padding:9px 21px 15px;font-size:9px}.reward-body{padding:5px 23px 22px}.reward-row{align-items:center;gap:16px;margin:10px 0 22px;display:flex}.reward-symbol{width:47px;height:47px;color:var(--red);background:#fff0f1;border-radius:12px;place-items:center;display:grid}.reward-symbol.pale{color:#808899;background:#f1f2f6}.reward-detail{flex:1}.reward-detail h4{margin:0 0 3px;font-size:11px}.reward-detail p{color:#9da3af;margin:0;font-size:9px}.reward-number{letter-spacing:-.7px;font-size:22px;font-weight:650}.progress{background:#f2f3f6;border-radius:6px;height:5px;margin-top:10px;overflow:hidden}.progress>span{background:var(--red);border-radius:6px;height:100%;display:block}.reward-footer{border-top:1px solid var(--line);color:#8f97a3;justify-content:space-between;padding:13px 0 0;font-size:10px;display:flex}.reward-footer strong{color:#363d49}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#9aa1af;border-top:1px solid #f2f3f6;border-bottom:1px solid var(--line);background:#fcfcfd;padding:11px 18px;font-size:9px;font-weight:550}td{color:#737d8b;border-bottom:1px solid #f1f3f6;padding:13px 18px;font-size:11px}td strong{color:#414b5b;font-weight:550}.school-cell{align-items:center;gap:10px;display:flex}.school-mark{color:#9aa0ad;background:#f7f8fa;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.rank{color:#9ca3af;font-size:10px}.badge{color:#3f9275;background:#ecf7f1;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;display:inline-flex}.badge.gray{color:#89919e;background:#f0f2f5}.badge.red{color:var(--red);background:#fff0f1}.rankbar{align-items:center;gap:10px;display:flex}.rankbar .progress{width:65px;margin:0}.sachets{color:var(--red);font-weight:650}.panel-link{color:var(--red);background:0 0;border:0;align-items:center;gap:6px;font-size:10px;display:flex}.panel-foot{color:#a0a6b2;justify-content:space-between;padding:13px 20px;font-size:10px;display:flex}.follow-body{padding:0 21px 18px}.follow-item{border-bottom:1px solid var(--line);padding:13px 0}.follow-title{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:11px;display:flex}.follow-meta{color:#989fad;justify-content:space-between;align-items:center;font-size:9px;display:flex}.follow-icons{gap:4px;display:flex}.agent-bubble{color:#9ca3af;background:#f0f2f5;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:8px;display:grid}.agent-bubble.done{color:#368b6a;background:#e5f5ed}.page-footer{color:#a6acb7;justify-content:space-between;margin-top:25px;font-size:9px;display:flex}.empty{text-align:center;color:#9aa1af;padding:45px 24px;font-size:12px}.empty strong{color:#596273;margin:12px 0 5px;font-size:15px;display:block}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.school-card{padding:21px}.school-card h3{margin:12px 0 4px;font-size:15px}.school-card .numbers{gap:25px;margin:19px 0;display:flex}.numbers strong{font-size:21px;display:block}.numbers span{color:#959dab;font-size:10px}.school-card .btn{margin-top:15px}.search{flex:1;position:relative}.search input{width:100%;max-width:350px;padding-left:33px}.search svg{color:#a2a8b3;position:absolute;top:9px;left:10px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{color:#5c6574;font-size:11px;font-weight:600}.field input,.field select{background:#fff;border:1px solid #e0e4eb;border-radius:7px;width:100%;padding:10px 12px;font-size:12px}.field.full{grid-column:1/-1}.form-note{color:#9ba3b0;font-size:10px;line-height:1.7}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c243b65;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:510px;max-width:100%;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 25px 70px #11182730}.modal h2{letter-spacing:-.5px;margin:0;font-size:21px}.modal-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}.notice{color:#98712e;background:#fffaf0;border:1px solid #eed9a9;border-radius:8px;margin-bottom:18px;padding:13px 17px;font-size:11px;line-height:1.7}.notice.red{color:#b12b38;background:#fff3f4;border-color:#f3cbd0}.toast{color:#fff;z-index:100;background:#283b32;border-radius:9px;max-width:400px;padding:13px 18px;font-size:12px;position:fixed;bottom:25px;right:28px;box-shadow:0 5px 25px #0002}.toast.error{background:#a12635}.sync-list{padding:0 22px 22px}.sync-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:17px 0;display:flex}.sync-item strong{font-size:12px}.sync-item p{color:#9a7a53;margin:5px 0;font-size:11px}.login{border:1px solid var(--line);background:#fff;border-radius:15px;max-width:580px;margin:100px auto;padding:45px}.login h1{margin:24px 0 14px;font-size:30px}.login p{color:#87909f;line-height:1.9}.loading{text-align:center;color:#8c94a2;padding:100px}.spin{animation:1.5s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu,.mobile-shade{display:none}.checklist{border:1px solid var(--line);border-radius:8px;max-height:200px;padding:10px;overflow:auto}.checklist label{align-items:center;gap:9px;padding:5px;font-size:11px;display:flex}.checklist input{width:auto}.settings{max-width:650px;padding:25px}.help-list{color:#7d8796;padding-left:20px;font-size:12px;line-height:2}.queue-count{color:#c07d3d;background:#ffede1;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:9px}@media (width>=1550px){.kpi{min-height:148px}.kpi-value{font-size:35px}.chart svg{height:250px}.content{padding-top:33px}}@media (width<=1200px){.sidebar{width:205px}.main{width:calc(100% - 205px);margin-left:205px}.content{padding:24px}.topbar{padding:0 24px}.kpis{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.grid-charts,.grid-bottom{grid-template-columns:1fr}.top-sync{display:none}.heading h1{font-size:23px}.heading{align-items:flex-start}.actions{flex-wrap:wrap;justify-content:flex-end}.filters{flex-wrap:wrap}.filters .right{display:none}}@media (width<=700px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:none}.main{width:100%;margin:0}.topbar{height:65px;padding:0 17px}.mobile-menu{display:inline-flex}.mobile-shade{z-index:19;background:#0005;display:block;position:fixed;inset:0}.content{padding:20px 15px}.breadcrumb{display:none}.toolbar{gap:8px}.heading{flex-direction:column;gap:15px}.heading h1{font-size:25px}.actions{justify-content:flex-start}.kpis{grid-template-columns:repeat(2,1fr);gap:10px}.kpi{min-height:120px}.filters{gap:8px}.filters select{flex:1;min-width:0}.filters>span{display:none}.cards{grid-template-columns:1fr}.page-footer span:last-child{display:none}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.demo-strip{align-items:flex-start}.login{margin:35px 15px;padding:25px}.toast{left:15px;right:15px}}.school-context{color:#4d5868;align-items:center;gap:8px;padding:7px 0;font-size:12px;font-weight:600;display:inline-flex}.auto-sync{color:#35765b;background:#eef7f1;border-radius:6px;align-items:center;gap:6px;max-width:180px;padding:6px 10px;font-size:10px;display:inline-flex}.auto-sync:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;display:block}.live-form{gap:14px;display:grid}.live-form label{color:#596374;font-size:12px;font-weight:600}.live-form input,.live-form select{background:#fff;border:1px solid #dfe3eb;border-radius:7px;width:100%;margin-top:6px;padding:11px 12px;display:block}.live-form .btn{width:100%}.live-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.live-toolbar input,.live-toolbar select{background:#fff;border:1px solid #e2e6ec;border-radius:7px;padding:10px 12px}.live-toolbar input{min-width:240px}.live-note{color:#8993a1;font-size:11px;line-height:1.8}.live-tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.live-tabs button{color:#788292;background:#fff;border:1px solid #e1e6ed;border-radius:7px;padding:9px 12px;font-size:11px}.live-tabs button.active{color:#ce1729;background:#fff0f1;border-color:#f5c7ce}.live-device{overflow-wrap:anywhere;background:#fff;border:1px solid #e3e7ed;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:11px}.live-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.live-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.live-setup{max-width:600px;padding:22px}.live-status{color:#327252;background:#edf7f0;border-radius:7px;max-width:240px;padding:6px 10px;font-size:10px}.live-status.warn{color:#9b762f;background:#fff5e6}.login .brand{padding-left:0}.login h1{margin-top:12px}.modal .notice{margin-top:10px}.live-queue{color:#997333;margin-top:15px;font-size:11px}.live-title{color:#8a93a0;margin:0 0 10px;font-size:12px}.live-offline{color:#9d7934;background:#fff8eb;border:1px solid #ecd6b2;border-radius:7px;margin-bottom:18px;padding:10px 14px;font-size:11px}.live-empty{text-align:center;color:#8c95a2;padding:45px 20px}.live-pager{color:#8e97a5;justify-content:space-between;align-items:center;gap:10px;padding:15px 20px;font-size:11px;display:flex}@media (width<=800px){.live-metrics{grid-template-columns:repeat(2,1fr)}}.live-pwa{color:#596374;background:#fff;border:1px solid #e1e6ed;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:12px 14px;font-size:12px;display:flex}.login .live-pwa{flex-direction:column;align-items:flex-start}.live-secret{overflow-wrap:anywhere;background:#f6f7fa;margin:12px 0;padding:12px;display:block}.live-backup-codes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.live-backup-codes code{overflow-wrap:anywhere;background:#f6f7fa;padding:9px}.live-setup hr{border:0;border-top:1px solid #e1e6ed;margin:24px 0}
