
:root{--bg:#f7f8f4;--paper:#fff;--ink:#233b35;--muted:#78867f;--line:#e4e9e2;--green:#164e43;--green2:#2d7964;--lime:#ddecbb;--light:#eef4eb;--orange:#ce7946;--red:#b75b50;--shadow:0 12px 45px #1b493512;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{border:0}a{color:var(--green)}button:disabled{cursor:default;opacity:.45}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:31px;line-height:1.2;letter-spacing:-1px;font-weight:600;margin-bottom:10px}h2{font-size:17px;font-weight:600;letter-spacing:-.3px}h3{font-size:15px;margin-bottom:8px}p{line-height:1.6}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700;color:var(--muted)}.app{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);padding:33px 17px 20px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 13px 32px;color:var(--green)}.brand img{width:35px;height:35px}.brand strong{font-size:28px;letter-spacing:-1.2px;font-weight:650;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:1px;margin-top:6px;color:var(--muted)}.nav-label{margin:14px 15px 11px;font-size:9px;letter-spacing:1.5px;color:#9aa49d;font-weight:700}.nav-btn{width:100%;display:flex;align-items:center;gap:12px;background:none;text-align:left;color:#728178;border-radius:7px;padding:12px 14px;margin:2px 0;font-size:12px}.nav-btn svg{width:18px;height:18px}.nav-btn:hover{background:#f6f8f2;color:var(--green)}.nav-btn.active{background:var(--green);color:#fff;font-weight:550}.nav-btn .count{margin-left:auto;font-size:10px;background:#eff2eb;padding:2px 6px;border-radius:4px;color:#718271}.nav-btn.active .count{background:#ffffff26;color:#fff}.side-bottom{margin-top:auto}.help-card{margin:20px 3px 14px;padding:16px;background:#f4f6ee;border-radius:10px;font-size:11px;line-height:1.6}.help-card strong{display:block;margin:7px 0}.help-card button{background:none;color:var(--green);padding:0;margin-top:8px;font-size:11px;font-weight:600}.side-footer{font-size:9px;color:#98a399;padding:10px 14px}.main{grid-column:2;min-width:0}.topbar{height:80px;padding:0 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffb3}.crumb{font-size:11px;color:#829087;display:flex;align-items:center;gap:8px}.crumb b{font-weight:500;color:#4d6158}.top-actions{display:flex;align-items:center;gap:17px}.top-actions select{border:0;background:transparent;color:#536c5e;font-size:11px;max-width:105px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:8px;width:34px;height:34px;display:inline-grid;place-items:center;color:var(--green);position:relative}.icon-btn .dot{position:absolute;top:5px;right:7px;width:5px;height:5px;background:#d59460;border:1px solid white;border-radius:50%}.avatar{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0;background:#e7ede0;color:#617349}.avatar.lavender{background:#f0eaf2;color:#8c6c91}.avatar.peach{background:#faeee1;color:#b48b58}.avatar.blue{background:#e7eff2;color:#668a9b}.avatar.big{width:60px;height:60px;font-size:20px}.profile{display:flex;align-items:center;gap:9px}.profile b{display:block;font-size:11px;font-weight:600}.profile small{font-size:9px;color:var(--muted)}.content{padding:31px 34px 35px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 26px}.page-head p{font-size:12px;margin:8px 0 0;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:9px;padding-top:7px}.btn{border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--green);font-size:11px;font-weight:600;min-height:36px;white-space:nowrap}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--green)}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:var(--red)}.btn.full{width:100%}.btn.small{padding:7px 10px;min-height:30px;font-size:10px}.welcome{background:var(--green);color:#fff;border-radius:12px;display:grid;grid-template-columns:1fr 220px;min-height:158px;padding:25px 27px;position:relative;overflow:hidden;margin-bottom:22px}.welcome h2{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.6px;margin:8px 0}.welcome p{font-size:11px;color:#d8e6dc;margin:0 0 14px;max-width:520px}.welcome .eyebrow{color:#c7d9bf;letter-spacing:1.6px;font-size:8px}.welcome-art{position:absolute;right:15px;top:5px;width:205px;height:180px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 24px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 20px;position:relative;min-height:124px}.stat-label{font-size:11px;color:#718076;display:flex;align-items:center;gap:7px}.stat-num{font-size:29px;font-weight:550;letter-spacing:-1px;margin:13px 0 8px;line-height:1}.stat-note{font-size:9px;color:var(--muted)}.stat-note strong{color:var(--green2);font-weight:500;margin-right:4px}.stat-icon{position:absolute;right:17px;top:42px;background:#f1f5ed;width:35px;height:35px;border-radius:9px;display:grid;place-items:center;color:#5f8a6b}.stat-icon.orange{background:#fbf0e5;color:#c88c4b}.split{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:21px;margin-bottom:21px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:20px}.panel:last-child{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 21px 16px}.panel-head h2{margin:0;font-size:14px}.panel-head p{margin:6px 0 0;font-size:10px;color:var(--muted)}.text-btn{color:var(--green2);background:none;font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:5px;padding:0}.panel-body{padding:0 21px 20px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:18px}.field,select.field{border:1px solid var(--line);border-radius:7px;background:white;color:#526359;font-size:12px;padding:10px 12px;min-height:38px;max-width:100%}.search{position:relative;flex:1;min-width:170px}.search svg{position:absolute;left:12px;top:11px;color:#92a096}.search input{padding-left:36px;width:100%}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:8px;font-weight:600;color:#8d9a92;background:#f9faf7;letter-spacing:.8px;text-transform:uppercase;padding:12px 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:14px 17px;border-bottom:1px solid #eef1eb;font-size:10px;color:#64756c}tr:last-child td{border-bottom:0}tr.student-row{cursor:pointer}tr.student-row:hover{background:#fafcf7}.student-cell{display:flex;align-items:center;gap:9px}.student-cell b{color:#384f43;display:block;font-size:11px;font-weight:550}.student-cell small{display:block;font-size:9px;margin-top:5px;color:#9ca69f}.student-cell .avatar{height:30px;width:30px;font-size:9px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:4px 7px;font-size:9px;font-weight:500;white-space:nowrap}.badge::before{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.badge.high,.badge.review{color:#b3624c;background:#fbeee8}.badge.moderate{color:#aa873a;background:#fbf4df}.badge.low,.badge.active,.badge.completed{color:#478268;background:#edf5ec}.badge.planned{color:#71819b;background:#eef1f9}.bar-mini{height:4px;background:#edf0e7;border-radius:8px;width:60px;display:block;margin-top:5px}.bar-mini i{display:block;background:#5e9270;border-radius:8px;height:100%}.bar-mini.warn i{background:#d2a267}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;color:#97a197;font-size:9px}.task{padding:16px 0;border-bottom:1px solid #edf0e9;display:flex;gap:10px;align-items:flex-start}.task:last-child{border:0;padding-bottom:0}.task-symbol{width:29px;height:29px;display:grid;place-items:center;background:#f8efe4;color:#ba8d59;border-radius:7px;flex-shrink:0}.task b{font-size:11px;font-weight:550;display:block;margin-bottom:5px}.task p{font-size:10px;line-height:1.5;margin:0;color:var(--muted)}.task .text-btn{font-size:9px;margin-top:8px}.chart{height:172px;position:relative;margin:10px 0 0}.chart svg{width:100%;height:100%;overflow:visible}.chart-label{font-size:9px;fill:#9aa59b}.chart-legend{display:flex;gap:17px;font-size:9px;color:#839086}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:6px;height:6px;border-radius:50%;background:#52826a}.chart-legend .pale{background:#c9d8b3}.bottom-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:21px}.impact-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:19px 0}.impact-name{font-size:10px;color:#79887e;width:110px}.impact-bar{flex:1;background:#f1f4ec;border-radius:3px;height:9px;overflow:hidden}.impact-bar i{display:block;height:100%;background:#6b9479;border-radius:3px}.impact-row b{font-size:10px;min-width:28px;font-weight:500}.footer{display:flex;align-items:center;justify-content:space-between;color:#a0aa9e;font-size:9px;padding-top:23px;gap:12px}.connection{display:flex;align-items:center;gap:5px}.connection::before{content:'';width:5px;height:5px;border-radius:50%;background:#6c9d6f}.connection.offline::before{background:#d29c52}.prototype-pill{font-size:9px;border:1px solid var(--line);border-radius:4px;padding:4px 6px;color:#8a968d}.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;background:#f2f5ee;font-size:10px;color:#708268;margin:3px 3px 3px 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.resource{border:1px solid var(--line);background:white;border-radius:11px;padding:23px;display:flex;flex-direction:column}.resource-icon{width:43px;height:43px;border-radius:11px;background:#eff5e7;color:#759460;display:grid;place-items:center;margin-bottom:20px}.resource p{font-size:12px;color:var(--muted);margin:9px 0 14px;flex:1}.resource .eyebrow{font-size:8px;margin-bottom:8px}.resource-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:13px;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7f8e82}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kanban-col{background:#edf1e9;border-radius:10px;padding:13px;min-height:350px}.kanban-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;margin:4px 0 17px}.kanban-title span{background:#ffffffb3;padding:3px 6px;border-radius:4px;color:#8a998c;font-size:9px}.plan-card{background:white;border:1px solid #e2e8db;border-radius:8px;padding:15px;margin-bottom:12px;cursor:pointer;transition:transform .15s}.plan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.plan-card h3{font-size:12px;line-height:1.5;margin:12px 0 8px}.plan-card p{font-size:10px;color:var(--muted);margin:0 0 12px}.plan-card .student-cell{border-top:1px solid var(--line);padding-top:12px}.plan-card small{font-size:9px;color:#8c998d}.empty{padding:35px 20px;text-align:center;color:#95a18f;font-size:12px;line-height:1.6}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.tabs button{background:transparent;padding:12px 0;color:#8b998d;font-size:12px;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-bottom-color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-group{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#6e7f71}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group textarea{min-height:85px;resize:vertical}.form-group.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.form-note{font-size:10px;line-height:1.6;color:#91a08e;margin:14px 0 0}.check-row{display:flex;gap:13px;flex-wrap:wrap}.check-row label{display:flex;gap:5px;align-items:center;font-size:11px}.check-row input{accent-color:var(--green)}dialog{padding:0;border:1px solid var(--line);border-radius:14px;max-width:680px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 35px 120px #173d3433;color:var(--ink)}dialog::backdrop{background:#16392d65;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 27px 18px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:21px;margin:0 0 6px}.modal-head p{font-size:11px;color:var(--muted);margin:0;max-width:500px}.modal-body{padding:24px 27px}.modal-body .stats{grid-template-columns:repeat(3,1fr);margin:20px 0}.modal-body .stat{padding:14px;min-height:auto}.modal-body .stat-num{font-size:24px}.modal-body h3{margin-top:20px}.modal-body p{font-size:12px}.notice{padding:13px 15px;border:1px solid #e4e9db;background:#f5f8ee;color:#6f8065;font-size:11px;border-radius:8px;line-height:1.6;margin:15px 0}.notice.amber{background:#fcf6e9;border-color:#f1e6cb;color:#a1864e}.profile-hero{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-hero h2{margin:0 0 7px}.profile-hero p{margin:0;color:#8c9a8b;font-size:11px}.timeline{border-left:1px solid var(--line);padding-left:20px;margin:15px 0}.timeline p{position:relative;font-size:11px;margin-bottom:18px}.timeline p::before{content:'';position:absolute;left:-24px;top:6px;width:7px;height:7px;background:#afc398;border-radius:50%}.inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.score{width:85px;height:85px;border-radius:50%;display:grid;place-items:center;border:7px solid #e4ecdb;font-size:24px;color:var(--green)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;z-index:100;background:var(--green);color:white;border:1px solid #ffffff25;box-shadow:var(--shadow);border-radius:9px;padding:13px 22px;font-size:12px;transition:.2s;pointer-events:none;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}.attendance-option{display:flex;gap:4px}.attendance-option button{border:1px solid var(--line);background:white;border-radius:4px;width:27px;height:27px;font-size:10px;color:#9aa59a}.attendance-option button.selected.P{background:#e4f1df;border-color:#bbd2ab;color:#43724a}.attendance-option button.selected.A{background:#fbe5df;border-color:#e9bdb1;color:#b46954}.attendance-option button.selected.L{background:#fff2d8;border-color:#e9d4a9;color:#a28442}.message-layout{display:grid;grid-template-columns:250px 1fr;min-height:480px}.contact-list{border-right:1px solid var(--line)}.contact{padding:19px;display:flex;align-items:center;gap:11px;width:100%;background:none;text-align:left;border-bottom:1px solid var(--line)}.contact.active{background:#eff4e9}.contact b{font-size:11px}.contact small{display:block;font-size:9px;color:#8c9a8d;margin-top:4px}.conversation{display:flex;flex-direction:column;padding:22px}.bubbles{flex:1;min-height:250px;max-height:420px;overflow:auto;display:flex;flex-direction:column;gap:15px;padding-bottom:20px}.bubble{padding:13px 16px;border-radius:10px 10px 10px 0;background:#f1f4ec;max-width:80%;font-size:12px;line-height:1.6}.bubble.mine{align-self:flex-end;background:#e1edda;border-radius:10px 10px 0 10px}.bubble small{display:block;font-size:8px;color:#8a9b83;margin-top:6px}.message-form{display:flex;align-items:center;gap:8px}.message-form input{flex:1;min-width:0}.lesson{max-width:760px;margin:auto}.lesson-text{line-height:1.8;font-size:14px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.answers button{padding:18px;text-align:left;border:1px solid var(--line);border-radius:8px;color:var(--green);background:white}.answers button:hover{background:#eff5e8}.answers button.chosen{border-color:var(--green);background:#e6efdf}.stars{display:flex;gap:6px}.stars label{cursor:pointer}.stars input{accent-color:var(--green)}.mobile-menu{display:none}.mobile-nav{display:none}.wide-metric{font-size:36px;font-weight:500;letter-spacing:-1px}.steps{display:flex;gap:8px;margin-bottom:25px}.steps i{height:4px;background:#dce5d2;flex:1;border-radius:5px}.steps i.on{background:#477b5a}.onboard-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-option{border:1px solid var(--line);padding:18px;background:white;text-align:left;border-radius:8px;color:var(--green)}.role-option.active{background:#eef4e5;border-color:#8cab75}.role-option b{display:block;margin-top:10px}.role-option small{display:block;margin-top:6px;color:#87977e;font-size:10px;line-height:1.5}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.support-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric-def{padding:14px 0;border-bottom:1px solid var(--line)}.metric-def b{display:block;font-size:12px;margin-bottom:7px}.metric-def p{font-size:11px;color:var(--muted);margin:0}.risk-explanation{font-size:11px;line-height:1.8;padding-left:18px;color:#7b8c76}.notice a{font-weight:600}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.progress-track{height:7px;background:#e7eddd;border-radius:6px;overflow:hidden;margin:12px 0}.progress-track i{display:block;height:100%;background:#6a985b}.pill-tabs{display:flex;gap:5px}.pill-tabs button{background:#fff;color:#879580;font-size:10px;padding:7px 10px;border-radius:5px}.pill-tabs button.active{background:#eef4e5;color:var(--green)}.school-selector{border:0;background:transparent;color:#4c6653;font-size:11px;max-width:220px}.report-summary{display:flex;align-items:center;gap:20px;padding:20px;background:#eef4e7;border-radius:9px;margin-bottom:22px}.report-summary p{font-size:12px;color:#829175;margin:0}.state-label{font-size:10px;color:#94a08c}.integration{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}.integration p{margin:5px 0 0;font-size:11px;color:#8a9a80}.integration h3{margin:0;font-size:12px}.footer button{border:0;background:none;padding:0;color:#85977c;font-size:9px}
@media(min-width:1500px){.content{padding:35px 48px}.topbar{padding:0 48px}.split{grid-template-columns:minmax(0,1fr) 330px}.stat{padding:22px}.welcome{min-height:174px}.chart{height:205px}td{padding:18px}.nav-btn{font-size:13px}}
@media(max-width:1180px){.app{grid-template-columns:190px minmax(0,1fr)}.sidebar{width:190px;padding-left:12px;padding-right:12px}.content{padding:25px 23px}.topbar{padding:0 23px}.split{grid-template-columns:minmax(0,1fr) 265px;gap:15px}.stats{gap:10px}.stat{padding:16px}.stat-icon{right:12px;width:27px;height:27px}.profile div{display:none}.welcome-art{width:160px;right:0;top:20px}.welcome{grid-template-columns:1fr 150px}.cards{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:1fr 1fr}.crumb{max-width:200px}.stat-label{font-size:10px}.stat-note{font-size:8px}td,th{padding-left:12px;padding-right:12px}.split .avatar{display:none}}
@media(max-width:960px){.split{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr 1fr}.split .side-stack{display:grid;grid-template-columns:1fr 1fr;gap:15px}.split .panel{margin-bottom:0}.top-actions{gap:8px}.topbar{height:66px}.welcome{min-height:168px}.welcome h2{font-size:24px}.stats{grid-template-columns:repeat(2,1fr)}.stat-note{font-size:10px}.stat-label{font-size:11px}.stat-icon{right:20px;top:39px;width:35px;height:35px}.head-actions{flex-wrap:wrap;justify-content:flex-end}.page-head{gap:15px}.page-head h1{font-size:27px}.message-layout{grid-template-columns:190px 1fr}}
@media(max-width:720px){.app{display:block}.sidebar{display:none;box-shadow:var(--shadow)}.sidebar.open{display:flex;width:230px}.main{width:100%}.topbar{padding:0 18px;height:65px}.mobile-menu{display:inline-grid}.crumb{display:none}.top-actions{gap:10px}.top-actions .profile{display:none}.content{padding:24px 18px 90px}.page-head{margin-bottom:22px;display:block}.head-actions{justify-content:flex-start;margin-top:14px}.page-head h1{font-size:27px}.welcome{padding:24px 20px;grid-template-columns:1fr 65px;min-height:205px}.welcome h2{font-size:25px;max-width:250px;line-height:1.15}.welcome p{font-size:11px;max-width:240px}.welcome-art{right:-48px;top:38px;width:165px}.welcome .eyebrow{font-size:7px}.stats{gap:10px}.stat{padding:17px 15px;min-height:120px}.stat-icon{right:13px;top:44px;width:27px;height:27px}.stat-num{font-size:27px}.stat-note{font-size:8px}.stat-label{font-size:10px}.split .side-stack,.bottom-grid{grid-template-columns:1fr}.split{gap:17px}.panel-head{padding:18px 16px}.panel-body{padding:0 16px 18px}.panel-head h2{font-size:13px}.cards,.support-list{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.kanban-col{min-height:130px}.message-layout{display:block}.contact-list{display:flex;overflow:auto;border-right:0}.contact{min-width:170px;padding:13px;border-right:1px solid var(--line)}.contact .avatar{display:none}.conversation{padding:16px}.bubble{max-width:90%}.form-grid{gap:14px;grid-template-columns:1fr}.form-group.wide{grid-column:auto}.modal-head{padding:20px}.modal-body{padding:20px}.modal-body .stats{gap:7px}.modal-body .stat{padding:10px}.modal-body .stat-label{font-size:8px}.modal-body .stat-num{font-size:22px}.inline-grid{grid-template-columns:1fr}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:15;padding:8px 6px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{background:none;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:8px;color:#94a08b;padding:4px 8px}.mobile-nav button.active{color:var(--green)}.footer{font-size:8px}.footer .prototype-pill{display:none}.school-selector{max-width:140px;font-size:10px}.tabs{overflow:auto;gap:18px;white-space:nowrap}.answers{grid-template-columns:1fr}.report-summary{align-items:flex-start}.onboard-roles{grid-template-columns:1fr 1fr}.role-option{padding:14px}.role-option small{font-size:9px}}
.sidebar{overflow-y:auto;scrollbar-width:thin}.brand,.nav-label,.side-bottom{flex-shrink:0}.modal-body .stat-icon{display:none}.modal-body .stat-note{font-size:8px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.contact-list{max-height:540px;overflow:auto}@media(max-width:720px){.contact-list{max-height:none}}

/* Theme colors are applied without re-rendering, preserving form drafts and focus. */
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--bg:#101a17;--paper:#182620;--ink:#e2eae1;--muted:#a5b5a5;--line:#314239;--green:#b1d4b0;--green2:#9fcbaa;--lime:#c7dca5;--light:#24372a;--orange:#e0a26c;--red:#e4a090;--shadow:0 12px 45px #0004}
.theme-toggle{flex-shrink:0}.theme-toggle:hover{background:var(--light)}
.split>*,.bottom-grid>*{min-width:0}
:root[data-theme="dark"] .sidebar,:root[data-theme="dark"] .panel,:root[data-theme="dark"] .resource,:root[data-theme="dark"] .plan-card,:root[data-theme="dark"] .btn,:root[data-theme="dark"] .field,:root[data-theme="dark"] select.field,:root[data-theme="dark"] .answers button,:root[data-theme="dark"] .role-option,:root[data-theme="dark"] .mobile-nav,:root[data-theme="dark"] dialog,:root[data-theme="dark"] .attendance-option button{background:var(--paper);border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .topbar{background:#15221ddd}
:root[data-theme="dark"] .welcome{background:#1d4a3d;color:#f0f6e8}
:root[data-theme="dark"] .welcome p{color:#d1e4cf}
:root[data-theme="dark"] .btn.primary,:root[data-theme="dark"] .nav-btn.active{background:#b4d4a8;border-color:#b4d4a8;color:#152b1d}
:root[data-theme="dark"] .btn.lime{background:#d0e2b0;border-color:#d0e2b0;color:#183627}
:root[data-theme="dark"] .btn.ghost{background:transparent;border-color:transparent}
:root[data-theme="dark"] .btn.danger{color:#f0aa99}
:root[data-theme="dark"] .help-card,:root[data-theme="dark"] .chip,:root[data-theme="dark"] .resource-icon,:root[data-theme="dark"] .stat-icon,:root[data-theme="dark"] .contact.active,:root[data-theme="dark"] .report-summary,:root[data-theme="dark"] .notice,:root[data-theme="dark"] .answers button:hover,:root[data-theme="dark"] .answers button.chosen,:root[data-theme="dark"] .role-option.active{background:#25382a;color:#c1d6b6;border-color:#41563b}
:root[data-theme="dark"] .kanban-col{background:#1c2c23}
:root[data-theme="dark"] .kanban-title span,:root[data-theme="dark"] .nav-btn .count{background:#344535;color:#d0dfc9}
:root[data-theme="dark"] .nav-btn.active .count{background:#223f2822;color:#294b31}
:root[data-theme="dark"] .nav-btn{color:#b0c0b0}
:root[data-theme="dark"] .nav-btn:hover:not(.active){background:#24372a;color:#e0edd8}
:root[data-theme="dark"] th{background:#1d2d24;color:#b6c5b3}
:root[data-theme="dark"] td,:root[data-theme="dark"] .task,:root[data-theme="dark"] .plan-card,:root[data-theme="dark"] .contact{border-color:var(--line)}
:root[data-theme="dark"] td,:root[data-theme="dark"] .form-group,:root[data-theme="dark"] .top-actions select,:root[data-theme="dark"] .school-selector,:root[data-theme="dark"] .crumb b,:root[data-theme="dark"] .student-cell b{color:#cedccc}
:root[data-theme="dark"] tr.student-row:hover{background:#223529}
:root[data-theme="dark"] .avatar{background:#334a30;color:#d3e5bc}
:root[data-theme="dark"] .avatar.lavender{background:#473747;color:#dec8e0}
:root[data-theme="dark"] .avatar.peach{background:#4c3b29;color:#edcca0}
:root[data-theme="dark"] .avatar.blue{background:#2e4249;color:#bfdae6}
:root[data-theme="dark"] .badge.high,:root[data-theme="dark"] .badge.review{background:#4a2d27;color:#f1b09a}
:root[data-theme="dark"] .badge.moderate{background:#433c23;color:#e7d18e}
:root[data-theme="dark"] .badge.low,:root[data-theme="dark"] .badge.active,:root[data-theme="dark"] .badge.completed{background:#27432e;color:#afd6ad}
:root[data-theme="dark"] .badge.planned{background:#303b50;color:#c3d1ec}
:root[data-theme="dark"] .task-symbol{background:#423b2b!important;color:#e1c08c!important}
:root[data-theme="dark"] .stat-icon.orange,:root[data-theme="dark"] .notice.amber{background:#403727;color:#e7c38c;border-color:#5a4a2d}
:root[data-theme="dark"] .bar-mini,:root[data-theme="dark"] .impact-bar,:root[data-theme="dark"] .progress-track{background:#304031}
:root[data-theme="dark"] .bar-mini i{background:#a4c18a}
:root[data-theme="dark"] .bar-mini.warn i{background:#d1af75}
:root[data-theme="dark"] .chart polygon{fill:#263d2c}
:root[data-theme="dark"] .chart polyline{stroke:#b0d19a}
:root[data-theme="dark"] .chart circle{fill:var(--paper);stroke:#b0d19a}
:root[data-theme="dark"] .chart path:not([stroke-dasharray]){stroke:#34463a}
:root[data-theme="dark"] .chart path[stroke-dasharray]{stroke:#809373}
:root[data-theme="dark"] .chart-label{fill:#b0c0ac}
:root[data-theme="dark"] .chart-legend i{background:#b0d19a}
:root[data-theme="dark"] .chart-legend i.pale{background:#809373}
:root[data-theme="dark"] .bubble{background:#26382b;color:#d9e7d2}
:root[data-theme="dark"] .bubble.mine{background:#345137}
:root[data-theme="dark"] .bubble small{color:#b6c9ab}
:root[data-theme="dark"] .attendance-option button.selected.P{background:#294a30;border-color:#638957;color:#d0e7b9}
:root[data-theme="dark"] .attendance-option button.selected.A{background:#50332c;border-color:#9e6a57;color:#f5c2ac}
:root[data-theme="dark"] .attendance-option button.selected.L{background:#4b422c;border-color:#9b8956;color:#f0d9a3}
:root[data-theme="dark"] .pill-tabs button{background:var(--paper);color:#bdcbb6}
:root[data-theme="dark"] .pill-tabs button.active{background:#33492d;color:#d3e7c1}
:root[data-theme="dark"] #toast{background:#c3dcae;color:#193322;border-color:#d4eac1}
:root[data-theme="dark"] .eyebrow,:root[data-theme="dark"] .crumb,:root[data-theme="dark"] .stat-label,:root[data-theme="dark"] .chart-legend,:root[data-theme="dark"] .impact-name,:root[data-theme="dark"] .resource-footer,:root[data-theme="dark"] .form-note,:root[data-theme="dark"] .risk-explanation,:root[data-theme="dark"] .footer,:root[data-theme="dark"] .footer button,:root[data-theme="dark"] .prototype-pill,:root[data-theme="dark"] .state-label,:root[data-theme="dark"] .nav-label,:root[data-theme="dark"] .side-footer,:root[data-theme="dark"] .tabs button,:root[data-theme="dark"] .table-foot,:root[data-theme="dark"] .empty,:root[data-theme="dark"] .mobile-nav button,:root[data-theme="dark"] .contact small,:root[data-theme="dark"] .student-cell small,:root[data-theme="dark"] .plan-card small,:root[data-theme="dark"] .role-option small,:root[data-theme="dark"] .integration p,:root[data-theme="dark"] .report-summary p,:root[data-theme="dark"] .profile-hero p{color:var(--muted)}
:root[data-theme="dark"] .mobile-nav button.active,:root[data-theme="dark"] .tabs button.active{color:#d2e9bd}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#99aa98}
@media(max-width:420px){.top-actions{gap:7px}.top-actions #role-select{max-width:98px}.top-actions #language-select{max-width:88px}.topbar{gap:8px}}
.about-paper{max-width:940px;margin:0 auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.about-intro{padding:36px 42px 30px;background:var(--light);border-bottom:1px solid var(--line)}
.about-intro h2{font-family:Georgia,serif;font-size:30px;line-height:1.25;letter-spacing:-.6px;font-weight:400;max-width:650px;margin:14px 0 18px}
.about-intro p{max-width:780px;font-size:14px;line-height:1.8;color:var(--ink);margin-bottom:0}
.about-sections{padding:5px 42px 8px}.about-section{display:grid;grid-template-columns:40px 1fr;gap:17px;border-bottom:1px solid var(--line);padding:29px 0}.about-section:last-child{border-bottom:0}
.about-section-number{font-size:11px;color:var(--green2);padding-top:4px;letter-spacing:1px}.about-section h2{font-size:17px;margin-bottom:13px}.about-section p,.about-section li{font-size:13px;line-height:1.8;color:var(--muted)}.about-section p{margin-bottom:0}.about-section ul{padding-left:18px;margin:0}.about-section li{margin:0 0 10px;padding-left:4px}.about-section li:last-child{margin-bottom:0}.about-section strong{color:var(--ink);font-weight:600}
.about-ending{border-top:1px solid var(--line);padding:22px 42px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:17px;color:var(--green)}
.welcome-symbol{width:52px;height:52px;border-radius:15px;background:var(--light);color:var(--green2);display:grid;place-items:center;margin-bottom:18px}.welcome-summary>p{font-size:14px;line-height:1.75;margin-bottom:19px}.welcome-summary ul{padding-left:20px;margin:0 0 20px}.welcome-summary li{font-size:13px;line-height:1.7;margin:9px 0;color:var(--muted)}.welcome-summary strong{color:var(--ink)}.welcome-summary .welcome-places{font-size:12px;color:var(--muted);margin-bottom:16px}.welcome-demo{font-size:10px;line-height:1.6;color:var(--muted);padding:10px 12px;border:1px solid var(--line);border-radius:6px}
@media(max-width:720px){.about-intro{padding:26px 22px}.about-intro h2{font-size:25px}.about-intro p{font-size:13px}.about-sections{padding:0 22px}.about-section{grid-template-columns:24px 1fr;gap:10px;padding:23px 0}.about-section h2{font-size:16px}.about-ending{padding:20px 22px;flex-direction:column;align-items:flex-start}.welcome-summary>p{font-size:13px}.welcome-summary li{font-size:12px}.content:has(.about-paper) .head-actions .btn{white-space:normal}.modal-body:has(.welcome-summary) .form-actions{flex-wrap:wrap}.modal-body:has(.welcome-summary){padding-top:18px}.welcome-symbol{width:42px;height:42px;margin-bottom:14px}}
.feature-intro{padding:28px 30px;background:var(--light);border:1px solid var(--line);border-radius:12px;margin-bottom:24px;max-width:1100px}
.feature-intro h2{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.3;margin:12px 0}.feature-intro>p{font-size:14px;line-height:1.75;max-width:780px;margin-bottom:17px}
.feature-scope{font-size:11px;line-height:1.65;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.feature-groups{display:grid;gap:22px;max-width:1100px}.feature-group{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.feature-group-head{display:flex;align-items:center;gap:15px;padding:24px 28px}.feature-group-head .eyebrow{font-size:9px;letter-spacing:1.3px}.feature-group-head h2{font-size:19px;margin:7px 0 0}
.feature-group-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;background:var(--light);color:var(--green2);flex-shrink:0}
.feature-columns,.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:20px 28px}
.feature-columns{padding-top:12px;padding-bottom:12px;background:var(--light);font-size:9px;font-weight:600;letter-spacing:1.1px;color:var(--muted)}
.feature-list{list-style:none;margin:0;padding:0}.feature-row{border-top:1px solid var(--line)}.feature-row h3{font-size:14px;line-height:1.55;margin:0 0 7px;color:var(--ink)}.feature-row p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.feature-problem{border-left:1px solid var(--line);padding-left:25px}.feature-problem p{color:var(--ink)}.feature-mobile-label{display:none}
@media(max-width:720px){.feature-intro{padding:24px 20px}.feature-intro h2{font-size:25px}.feature-intro>p{font-size:13px}.feature-group-head{padding:22px 20px;gap:12px}.feature-group-head h2{font-size:17px}.feature-columns{display:none}.feature-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:22px 20px}.feature-problem{border-left:2px solid var(--line);padding-left:13px}.feature-mobile-label{display:block;font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--green2);margin-bottom:6px}}

/* Readable type, consistent controls, and a calmer working layout. */
:root{--muted:#63756c;--line:#dce5dd;--bg:#f4f7f2;--shadow:0 10px 32px #163e3010}
:root[data-theme="dark"]{--muted:#b4c6ba;--line:#344a3e}
.app{grid-template-columns:248px minmax(0,1fr)}.sidebar{width:248px;padding:25px 16px 18px}.brand{padding:3px 12px 22px}.brand small{font-size:9px}
.nav-btn{font-size:13px;line-height:1.45;padding:11px 13px;border-radius:10px;gap:10px;min-height:43px}.nav-btn.active{box-shadow:0 4px 12px #164e431a}.nav-label{font-size:10px;margin-top:18px;color:var(--muted)}
.help-card{margin-top:18px;padding:14px 15px;font-size:12px;background:var(--light)}.help-card button{font-size:12px}.side-footer{font-size:11px}.side-bottom{padding-top:8px}
.topbar{min-height:84px;height:auto;padding:15px 32px;background:var(--paper)}.crumb{font-size:12px}.top-actions{gap:10px}.top-actions select{font-size:13px;min-height:42px;max-width:170px;padding:8px 10px;border-radius:10px;cursor:pointer}
.top-actions #role-select{background:#e3edc9;border:1.5px solid #7a9853;color:#214b36;font-weight:700;max-width:none;min-width:172px;box-shadow:0 0 0 3px #dce9c83b;accent-color:#164e43}
.top-actions #language-select{border:1px solid var(--line);background:var(--bg)}.top-actions .profile b{font-size:12px}.profile small{font-size:10px}.icon-btn{width:42px;height:42px;border-radius:10px}
.content{max-width:1580px;padding:34px 32px 38px}.page-head{margin-bottom:28px;gap:24px;flex-wrap:wrap}.page-head>div:first-child{flex:1;min-width:240px}.page-head h1{font-size:32px;letter-spacing:-.8px;line-height:1.28}.page-head p{font-size:14px;line-height:1.65;max-width:670px}.head-actions{flex-wrap:wrap;max-width:100%;gap:8px}.eyebrow{font-size:10px}
.btn{font-size:13px;min-height:42px;padding:10px 16px;border-radius:10px;line-height:1.4;white-space:normal;text-decoration:none}.btn.small{font-size:12px;min-height:36px;padding:8px 12px}.btn.primary{box-shadow:0 3px 8px #164e4314}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #76a257;outline-offset:3px}.text-btn{font-size:12px;line-height:1.5;min-height:32px}.small{font-size:13px}
.welcome{padding:30px 32px;border-radius:18px;min-height:204px;grid-template-columns:minmax(0,1fr) 170px;background:linear-gradient(115deg,#164e43,#235f4b)}.welcome h2{font-size:32px;line-height:1.3;max-width:620px}.welcome p{font-size:14px;line-height:1.7;max-width:610px}.welcome .eyebrow{font-size:10px}.welcome-art{right:8px;top:16px}
.stats{gap:16px}.stat{padding:22px;border-radius:14px;min-height:144px;box-shadow:0 2px 10px #173c2804}.stat-label{font-size:12px;color:var(--muted);padding-right:0;line-height:1.5;max-width:90%}.stat-num{font-size:31px;margin:15px 0 10px;max-width:calc(100% - 35px);overflow-wrap:anywhere}.stat-note{font-size:11px;line-height:1.5;max-width:100%}.stat-icon{top:54px;right:18px;width:30px;height:30px}
.split{grid-template-columns:minmax(0,1fr) 310px;gap:22px}.panel,.resource,.feature-group{border-radius:14px;box-shadow:0 2px 12px #123b2a04;background:var(--paper)}.panel-head{padding:23px 24px 18px;align-items:flex-start}.panel-head h2{font-size:16px;line-height:1.45}.panel-head p{font-size:12px;line-height:1.65}.panel-body{padding:0 24px 24px}.panel-head .text-btn{flex-shrink:0}
th{font-size:10px;letter-spacing:.4px;color:var(--muted);padding:13px 16px}td{font-size:12px;padding:17px 16px;color:var(--ink)}.student-cell b{font-size:13px}.student-cell small{font-size:11px;color:var(--muted)}.student-cell .avatar{width:34px;height:34px;font-size:10px}.table-foot{font-size:11px;gap:16px;flex-wrap:wrap;color:var(--muted)}.badge{font-size:11px;padding:5px 8px;border-radius:6px}.chip{font-size:11px;line-height:1.5}.task b{font-size:13px;line-height:1.5}.task p{font-size:12px;line-height:1.65}.task .text-btn{font-size:12px}.task-symbol{margin-top:2px}.impact-name{font-size:12px;width:126px}.impact-row b{font-size:12px}.chart-legend{font-size:11px;flex-wrap:wrap}.chart-label{font-size:10px}.chart{height:195px}
.field,select.field{font-size:14px;min-height:44px;color:var(--ink);border-radius:9px}.search svg{top:14px}.filters{gap:10px;margin-bottom:22px}.form-group{font-size:13px;color:var(--ink);gap:9px}.form-note,.notice{font-size:12px;line-height:1.7;color:var(--muted)}.form-actions{flex-wrap:wrap}.check-row label{font-size:13px}.check-row input{width:18px;height:18px}.resource p{font-size:14px;line-height:1.7}.resource h3{font-size:17px;line-height:1.5}.resource .eyebrow{font-size:10px}.resource-footer{font-size:12px;gap:10px}.plan-card h3{font-size:15px}.plan-card p{font-size:13px;line-height:1.7}.kanban-title{font-size:14px}.plan-card{padding:20px;border-radius:12px}.plan-card small{font-size:11px}.integration{align-items:flex-start}.integration h3{font-size:14px}.integration p{font-size:12px;line-height:1.7}.integration>.btn{flex-shrink:0;max-width:130px}.metric-def b{font-size:14px}.metric-def p{font-size:13px}
dialog{border-radius:20px;max-width:730px;background:var(--paper);max-height:calc(100dvh - 32px)}.modal-head{padding:26px 28px 22px;gap:16px}.modal-head h2{font-size:23px;line-height:1.35}.modal-head p{font-size:13px;line-height:1.6}.modal-head .icon-btn{flex-shrink:0}.modal-body{padding:26px 28px}.modal-body p{font-size:14px;line-height:1.75}.modal-body .stat-label,.modal-body .stat-note{font-size:11px}.modal-body .stats{gap:10px}.modal-body .stat{padding:16px}.modal-body .stat-num{max-width:none}
.conversation{padding:25px}.contact b{font-size:13px;line-height:1.4}.contact small{font-size:11px}.bubble{font-size:14px;line-height:1.75}.bubble small{font-size:10px}.message-form{flex-wrap:wrap}.message-form input{min-width:140px}.profile-hero p,.report-summary p{font-size:13px}.role-option small{font-size:12px;line-height:1.65}.role-option b{font-size:14px}.footer{font-size:11px;flex-wrap:wrap;line-height:1.6}.footer button{font-size:12px;min-height:32px;color:var(--green)}
.about-intro,.feature-intro{background:linear-gradient(130deg,var(--light),var(--paper))}.about-intro h2,.feature-intro h2{font-size:32px;line-height:1.4}.about-section p,.about-section li,.feature-row p{font-size:14px;line-height:1.85}.about-section h2{font-size:19px}.feature-columns{font-size:11px}.feature-row h3{font-size:15px}.feature-intro>p{margin-bottom:0}
.welcome-language{display:flex;justify-content:flex-end;gap:6px;margin-bottom:14px}.welcome-path{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 16px;background:var(--light);border-radius:12px;margin:22px 0}.welcome-path span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.welcome-path i{color:var(--muted);font-style:normal}.welcome-summary .welcome-places{font-size:13px;line-height:1.8;margin-bottom:0}.welcome-summary .welcome-symbol{margin-top:-52px;pointer-events:none}
.menu-scrim,.sidebar-close{display:none}
.tour-overlay{position:fixed;inset:0;z-index:150;isolation:isolate}.tour-spotlight{position:fixed;border-radius:15px;border:2px solid #d4edaa;box-shadow:0 0 0 9999px #0b211acc;pointer-events:none;z-index:0}.tour-card{position:absolute;right:28px;bottom:30px;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 20px 90px #061c2866;z-index:1}.tour-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.tour-meta .text-btn{font-size:12px;letter-spacing:0}.tour-step-icon{width:44px;height:44px;background:var(--light);color:var(--green);display:grid;place-items:center;border-radius:12px;margin-bottom:15px}.tour-card h2{font-size:22px;line-height:1.4;letter-spacing:-.4px;margin-bottom:12px;outline:none}.tour-card p{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:20px}.tour-progress{display:flex;gap:5px;margin-bottom:20px}.tour-progress i{height:4px;flex:1;background:var(--line);border-radius:4px}.tour-progress i.done{background:var(--green2)}.tour-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.tour-actions>div{display:flex;gap:8px}.tour-actions .btn{min-width:78px}
html[lang="hi"]{font-family:"Noto Sans Devanagari","Kohinoor Devanagari","Nirmala UI",Mangal,system-ui,sans-serif}html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] .about-ending{font-family:inherit;letter-spacing:0;line-height:1.55}html[lang="hi"] .eyebrow,html[lang="hi"] th,html[lang="hi"] .nav-label,html[lang="hi"] .feature-columns{letter-spacing:0;text-transform:none}html[lang="hi"] .nav-btn{font-size:14px}html[lang="hi"] .page-head p,html[lang="hi"] .panel-head p,html[lang="hi"] p{line-height:1.9}html[lang="hi"] .brand strong{font-family:Inter,system-ui,sans-serif}
:root[data-theme="dark"] .top-actions #role-select{background:#365139;color:#edffd9;border-color:#a3c375;box-shadow:0 0 0 3px #a3c37514}:root[data-theme="dark"] .top-actions #language-select{background:var(--paper)}:root[data-theme="dark"] .welcome{background:linear-gradient(115deg,#1c4839,#285b45)}:root[data-theme="dark"] .nav-btn.active{background:#34513b}:root[data-theme="dark"] .tour-step-icon{color:#d6e8bf}
@media(max-width:1180px){.app{grid-template-columns:228px minmax(0,1fr)}.sidebar{width:228px}.content{padding:28px 24px}.topbar{padding:14px 24px}.split{grid-template-columns:1fr}.split .side-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bottom-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions .profile{display:none}.welcome h2{font-size:29px}.page-head h1{font-size:29px}}
@media(max-width:960px){.topbar{flex-wrap:wrap;gap:12px}.top-actions{margin-left:auto}.top-actions #role-select{min-width:155px}.bottom-grid{grid-template-columns:1fr}.page-head{display:block}.head-actions{justify-content:flex-start}.welcome{grid-template-columns:1fr 110px}.welcome-art{width:155px}.tour-card{right:20px;bottom:24px}}
@media(max-width:720px){.app{display:block}.content{padding:26px 16px 150px}.page-head h1{font-size:27px}.page-head p{font-size:14px}.page-head>div:first-child{min-width:0}.topbar{position:sticky;top:0;z-index:16;min-height:72px;padding:10px 12px}.top-actions{width:100%;gap:6px}.top-actions #role-select{min-width:0;font-size:13px!important;padding:8px 6px;min-height:44px;border-radius:9px}.top-actions #language-select{font-size:13px!important;padding:8px 6px;min-height:44px}.sidebar.open{width:min(300px,85vw);padding-top:28px;z-index:80}.sidebar-close{display:inline-grid;position:absolute;right:15px;top:16px}.sidebar .brand{padding-right:40px}.menu-open .menu-scrim{display:block;position:fixed;inset:0;background:#122e2466;backdrop-filter:blur(2px);z-index:79}.menu-open{overflow:hidden}.mobile-nav{padding:8px 7px;gap:3px;min-height:68px;box-shadow:0 -5px 22px #173c280a}.mobile-nav button{flex:1;min-width:0;padding:7px 3px;font-size:10px;line-height:1.4;border-radius:10px;color:var(--muted);gap:5px}.mobile-nav button.active{background:var(--light);font-weight:700;color:var(--green)}.mobile-nav button svg{width:19px;height:19px}.welcome{padding:27px 23px;grid-template-columns:1fr;min-height:260px}.welcome>div{position:relative;z-index:1}.welcome h2{font-size:29px;max-width:95%}.welcome p{font-size:13px;max-width:95%}.welcome-art{opacity:.12;right:-25px;top:50px;width:220px}.welcome .eyebrow{font-size:9px}.stats{gap:11px}.stat{padding:17px 15px;min-height:150px}.stat-label{font-size:12px;max-width:100%}.stat-num{font-size:29px;max-width:100%;margin:14px 0 10px}.stat-note{font-size:11px}.stat-icon{display:none}.split .side-stack,.bottom-grid{display:grid;grid-template-columns:1fr}.panel-head{padding:20px 18px 16px}.panel-body{padding:0 18px 20px}.panel-head h2{font-size:16px}.panel-head p{font-size:12px}.btn{font-size:13px}.panel-head .text-btn{font-size:11px}.cards,.kanban{grid-template-columns:1fr}.about-intro{padding:28px 23px}.about-intro h2,.feature-intro h2{font-size:27px}.about-intro p{font-size:14px}.about-section{grid-template-columns:1fr;gap:8px}.about-section-number{font-size:11px}.about-section p,.about-section li{font-size:14px}.about-section h2{font-size:18px}.feature-row p{font-size:14px}.feature-mobile-label{font-size:11px;letter-spacing:0}.form-actions .btn{flex:1}.modal-head{padding:22px;position:sticky;top:0;background:var(--paper);z-index:2}.modal-body{padding:22px}.modal-head h2{font-size:22px}.modal-head p{font-size:12px}.modal-body .stats{grid-template-columns:1fr}.welcome-path{padding:14px 10px;gap:5px}.welcome-path span{flex-direction:column;font-size:12px;text-align:center;gap:8px}.welcome-summary>p{font-size:14px}.welcome-summary .welcome-places{font-size:13px}.tour-card{left:12px;right:12px;bottom:12px;width:auto;padding:20px;max-height:56dvh;border-radius:17px}.tour-step-icon{display:none}.tour-meta{margin-bottom:7px}.tour-card h2{font-size:20px;margin-bottom:9px}.tour-card p{font-size:13px;margin-bottom:14px;line-height:1.7}.tour-progress{margin-bottom:15px}.tour-meta .text-btn{min-height:35px}.tour-actions .btn{min-height:44px}.integration>.btn{max-width:115px}.contact-list{margin:0 -1px}.contact{min-width:190px}.bubble{max-width:95%}.footer{font-size:11px}.report-summary{gap:12px}.report-summary h3{font-size:16px}html[lang="hi"] .mobile-nav button{font-size:11px}html[lang="hi"] .page-head h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* A separate preview area keeps the selected content above the tour copy. */
html.tour-active,body.tour-active{overflow:hidden!important;overscroll-behavior:none;height:100%;scroll-behavior:auto!important}
body.tour-active #app{position:fixed;inset:0 0 auto 0;width:100%;height:var(--tour-stage-height,45vh);overflow:hidden;contain:paint;overscroll-behavior:none;scroll-behavior:auto!important}
.tour-overlay{overscroll-behavior:none;touch-action:pan-y}
.tour-overlay .tour-card{left:50%;right:auto;bottom:var(--tour-bottom-space,18px);transform:translateX(-50%);width:min(960px,calc(100vw - 32px));max-height:min(52dvh,calc(100dvh - var(--tour-bottom-space,18px) - 128px));padding:20px 26px;overscroll-behavior:contain;touch-action:pan-y;scrollbar-gutter:stable}
.tour-overlay .tour-step-icon{display:none}.tour-overlay .tour-meta{margin-bottom:6px}.tour-overlay .tour-card h2{font-size:22px;margin-bottom:8px}.tour-overlay .tour-card p{margin-bottom:14px;max-width:850px}.tour-overlay .tour-progress{margin-bottom:14px}.tour-overlay .tour-spotlight{border-radius:12px}
@media(max-width:720px){.tour-overlay .tour-card{width:calc(100vw - 24px);padding:16px 19px;border-radius:17px}.tour-overlay .tour-card h2{font-size:20px}.tour-overlay .tour-card p{font-size:13px;line-height:1.75}.tour-overlay .tour-actions{gap:8px}.tour-overlay .tour-actions .btn{min-width:72px}}
@media(max-height:540px){.tour-overlay .tour-card{max-height:calc(100dvh - var(--tour-bottom-space,18px) - 130px);padding:14px 20px}.tour-overlay .tour-card h2{font-size:18px}.tour-overlay .tour-card p{font-size:12px}.tour-overlay .tour-meta{margin-bottom:0}}

body.tour-active .topbar{position:static}

/* Keep overlays anchored while their own contents remain scrollable. */
html.overlay-locked{overflow:hidden;overscroll-behavior:none}
body.overlay-locked{position:fixed;top:var(--overlay-scroll-top);left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
dialog,.sidebar{overscroll-behavior:contain}
dialog{overflow:auto;scrollbar-gutter:stable;scroll-padding-block:150px 24px}
.modal-head{position:sticky;top:0;z-index:2;background:var(--paper)}
.modal-head>div,.profile-hero>div{min-width:0;overflow-wrap:anywhere}
.modal-head .icon-btn{flex-shrink:0}
.table-wrap{overscroll-behavior-x:contain}
@media(max-height:540px){
  .modal-head{padding:12px 18px;gap:12px}
  .modal-head h2{font-size:18px;margin-bottom:4px}
  .modal-head p{font-size:12px;line-height:1.5}
  dialog{scroll-padding-top:100px}
}
/* A second row gives the role and language their full labels on small phones. */
@media(max-width:480px){
  .app .topbar{grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:8px}
  .app .top-actions{display:contents}
  .topbar .mobile-menu{grid-column:1;grid-row:1}
  .topbar #role-select{grid-column:2 / -1;grid-row:1;padding-inline:12px;font-size:15px!important}
  .topbar #language-select{grid-column:1 / 3;grid-row:2;padding-inline:12px}
  .topbar .theme-toggle{grid-column:3;grid-row:2}
  .topbar [data-action="alerts"]{grid-column:4;grid-row:2}
  .modal-body .form-actions{flex-direction:column;align-items:stretch}
  .modal-body .form-actions>.btn{width:100%;flex:none;min-height:44px}
}

/* Small transform-only responses keep surrounding content in place. */
:root{--ui-ease:cubic-bezier(.22,1,.36,1);--ui-hover-shadow:0 10px 24px #164e4318;--ui-card-shadow:0 14px 32px #164e431a}
:root[data-theme="dark"]{--ui-hover-shadow:0 10px 24px #00000038;--ui-card-shadow:0 16px 34px #00000045}
:is(.btn,.icon-btn,.text-btn,.nav-btn,.top-actions select,.pill-tabs button,.attendance-option button,.mobile-nav button){transition:transform 220ms var(--ui-ease),box-shadow 260ms var(--ui-ease),background-color 180ms ease,border-color 180ms ease,color 180ms ease;transform-origin:center}
:is(.stat,.resource,.plan-card,.role-option,.answers button,.help-card){transition:transform 280ms var(--ui-ease),box-shadow 280ms var(--ui-ease),border-color 200ms ease,background-color 200ms ease;transform-origin:center}
.contact,.feature-row,tbody tr{transition:background-color 180ms ease}
/* Replace the older unqualified hover movement, which could stick after a tap. */
.btn:hover,.plan-card:hover{transform:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .btn:not(:disabled):hover{transform:translateY(-1px) scale(1.03);box-shadow:var(--ui-hover-shadow)}
  .icon-btn:not(:disabled):hover{transform:translateY(-1px) scale(1.06);box-shadow:var(--ui-hover-shadow)}
  :is(.nav-btn,.pill-tabs button,.attendance-option button,.mobile-nav button):not(:disabled):hover{transform:scale(1.025)}
  .text-btn:not(:disabled):hover{transform:translateY(-1px) scale(1.025)}
  .top-actions select:hover{transform:scale(1.015);box-shadow:var(--ui-hover-shadow)}
  :is(.stat,.resource,.plan-card,.role-option,.answers button,.help-card):hover{transform:translateY(-3px) scale(1.015);box-shadow:var(--ui-card-shadow)}
}
@media(prefers-reduced-motion:no-preference){
  :is(.btn,.icon-btn,.nav-btn,.text-btn,.role-option,.answers button,.pill-tabs button,.attendance-option button,.mobile-nav button):not(:disabled):active{transform:scale(.985);transition-duration:90ms}
}
/* Keep the tour's measured targets stationary, including during pointer movement. */
body.tour-active #app :is(.btn,.icon-btn,.text-btn,.nav-btn,.top-actions select,.stat,.resource,.plan-card,.role-option,.answers button,.help-card,.pill-tabs button,.attendance-option button,.mobile-nav button){transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){
  :is(.btn,.icon-btn,.text-btn,.nav-btn,.top-actions select,.stat,.resource,.plan-card,.role-option,.answers button,.help-card,.pill-tabs button,.attendance-option button,.mobile-nav button){transform:none!important;transition:none!important}
}

/* Keep file previews useful even when the viewer does not run scripts. */
.file-preview{max-width:940px;margin:32px auto;padding:0 18px;color:var(--ink)}
.file-preview .brand{padding:0 0 22px}.file-preview .brand img{width:42px;height:42px}
.file-open{padding:28px;border-radius:14px;background:var(--light);border:1px solid var(--line);margin-bottom:24px}
.file-open h1{font-family:Georgia,serif;font-weight:400}.file-open p{font-size:15px;max-width:680px}
.file-open .btn{min-height:48px;font-size:15px;white-space:normal;text-decoration:none}
.file-address{display:block;overflow-wrap:anywhere;font-size:13px;margin-top:16px}
.file-preview .file-note{font-size:12px;color:var(--muted);margin:15px 0 0}
.file-preview .about-paper{margin-bottom:24px}
@media(max-width:720px){
  button,a,input,select,textarea{touch-action:manipulation}
  .btn,.btn.small,.icon-btn,.text-btn,.mobile-nav button,.footer button{min-height:44px}
  .icon-btn{min-width:44px}.attendance-option button{width:44px;height:44px;flex-shrink:0}
  input.field,select.field,textarea.field,.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px}
  .topbar{height:auto;min-height:68px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}
  .top-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px 44px;gap:5px;min-width:0}
  .top-actions #role-select,.top-actions #language-select{width:100%;max-width:none;min-width:0;min-height:44px;font-size:16px}
  .content{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  .head-actions,.form-actions{flex-wrap:wrap}.head-actions .btn,.form-actions .btn{white-space:normal}
  .modal-head .icon-btn{flex-shrink:0}.sidebar{padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}
  dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
  .file-preview{margin:24px auto}.file-open{padding:24px 20px}.file-open h1{font-size:28px}
}

