:root{font-family:Segoe UI,Inter,Arial,sans-serif;color:#263b31;background:#f6f7f2;font-synthesis:none;font-size:16px;line-height:1.55;--green: #285440;--dark: #183e30;--muted: #788277;--line: #e4e8de;--paper: #fff;--lime: #d8e5b9}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #a0bc69;outline-offset:3px}input,textarea,select{border:1px solid #dce2d6;border-radius:9px;background:#fff;color:#2b3e32;padding:11px 13px;width:100%;min-width:0;font-size:16px}input:focus,textarea:focus,select:focus{outline:3px solid #dfebcf;border-color:#799861}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}textarea{min-height:125px;resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.22;letter-spacing:-1.2px;font-weight:650;margin-bottom:8px}h2{font-size:20px;line-height:1.35;letter-spacing:-.4px;font-weight:650;margin-bottom:12px}h3{font-size:17px;line-height:1.45;font-weight:650;margin-bottom:8px}p{margin-bottom:16px}small{font-size:13px;color:#7c857c;line-height:1.5}b{font-weight:600}svg{flex-shrink:0}label{font-size:14px;font-weight:550;display:grid;gap:7px;min-width:0}.muted{color:var(--muted);font-size:15px}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#87917d;font-weight:700;margin-bottom:9px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid #dce3d5;border-radius:9px;background:#fff;padding:9px 14px;font-size:14px;font-weight:600;white-space:nowrap;transition:.18s}.btn:hover{background:#f2f5ec;border-color:#9aac91}.btn.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 4px #183e300d}.btn.primary:hover{background:#173e2c}.icon-button{position:relative;width:37px;height:37px;border:0;background:transparent;display:inline-grid;place-items:center;border-radius:8px}.icon-button:hover{background:#edf1e7}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:650;letter-spacing:.2px;line-height:1.6;white-space:nowrap;background:#edf3e6;color:#526c40}.badge.orange{background:#fbf0e0;color:#ae8340}.badge.purple{background:#edf6f1;color:#79a38a}.badge.neutral{background:#f2f3ed;color:#87907e}.badge.light{background:#ffffff15;border:1px solid #ffffff1e;color:#deebbf;font-size:10px;letter-spacing:1.3px;padding:5px 9px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b9d488}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;min-width:0;box-shadow:0 2px 3px #28392202}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:19px}.card-heading h2{margin:0 0 4px}.card-heading p{font-size:13px;color:#8a9284;margin:0}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #edf0e8;padding-top:17px;margin-top:17px;font-size:12px}.two-grid,.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;align-items:start}.two-grid{grid-template-columns:1fr 1fr}.dashboard-grid.lower{grid-template-columns:1.55fr 1fr;margin-top:22px}.mt{margin-top:22px}.batch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.empty{text-align:center;color:#8a9485;padding:44px 18px}.empty>svg{color:#a8b897;margin-bottom:12px}.empty h3{color:#52634a;font-weight:500}.empty p{font-size:14px;max-width:350px;margin:0 auto}.app-shell{min-height:100vh}.sidebar{width:252px;position:fixed;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column;padding:29px 20px 0;overflow-y:auto}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:39px;height:43px;border-radius:11px;display:grid;place-items:center;color:#edf2dd;background:#285440}.brand b{font-size:25px;letter-spacing:-1px;font-weight:650;line-height:1.1}.brand-period{color:#a0ad7c}.brand small{display:block;font-size:8px;letter-spacing:2.3px;color:#929b88;margin-top:6px;font-weight:650}.institute-switch{display:flex;gap:9px;align-items:center;border:1px solid var(--line);background:#fafbf7;border-radius:10px;padding:12px 10px;margin-top:30px}.institute-switch>div{flex:1;min-width:0}.institute-switch b{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.institute-switch small{font-size:10px;display:block}.institute-switch>svg{color:#9aa28d}.institute-avatar{width:28px;height:30px;background:#e9eddf;border-radius:7px;display:grid;place-items:center;font-size:10px;font-weight:650;color:#849374}.nav-label{font-size:9px;color:#a0a892;font-weight:600;letter-spacing:1.4px;margin:27px 12px 12px}nav{display:flex;flex-direction:column;gap:3px}nav button{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:42px;width:100%;color:#7b8678;font-size:13px;font-weight:500;border-radius:8px}nav button:hover{background:#f7f8f3;color:#3f5b39}nav button svg{stroke-width:1.6;color:#87937f}nav button.active{background:#eef2e6;color:#466239;font-weight:650}nav button.active svg{color:#607b4c}nav button.active .nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#7b9764}.nav-count{margin-left:auto;background:#f2eddc;color:#a3966d;border-radius:5px;padding:0 6px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:28px}.support-card{position:relative;border:1px solid #e5e9dd;background:linear-gradient(120deg,#f7f8f0,#f1f4e7);border-radius:10px;padding:14px}.support-leaf{display:block;color:#8da66d;margin-bottom:9px}.support-card b{font-size:12px}.support-card p{font-size:11px;color:#92997f;margin:5px 0 10px}.support-card a{display:flex;align-items:center;gap:5px;color:#718752;font-size:10px;font-weight:650}.profile{display:flex;align-items:center;gap:10px;padding:20px 0;margin-top:18px;border-top:1px solid #edf0e7}.profile>div{flex:1}.profile b{font-size:12px}.profile small{font-size:10px;display:block;text-transform:capitalize}.avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;display:inline-grid;place-items:center;background:#e8eddb;color:#76865a;font-size:11px;font-weight:650}.workspace{margin-left:252px}.topbar{height:78px;border-bottom:1px solid var(--line);background:#ffffffba;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.breadcrumb{display:flex;gap:13px;align-items:center;font-size:12px}.breadcrumb>span{color:#959d8c}.breadcrumb>svg{color:#b0b6a6}.breadcrumb b{font-weight:500}.top-actions{display:flex;align-items:center;gap:19px}.search{border:1px solid #e7eadf;border-radius:8px;display:flex;align-items:center;gap:8px;background:#fafbf7;padding:0 10px;width:242px;min-height:35px;color:#a5ad9a}.search input{border:0;background:transparent;padding:7px 0;font-size:11px;outline:none;width:100%}.search input:focus{outline:none}.search>span{border:1px solid #e8ecdf;border-radius:4px;padding:0 4px;font-size:10px;color:#adb59f}.top-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e9eddc;color:#829164;font-size:10px;font-weight:650}.top-actions .icon-button i{position:absolute;top:6px;right:9px;width:4px;height:4px;border:1px solid #fff;border-radius:50%;background:#ba9a64}.workspace main{max-width:1580px;margin:0 auto;padding:32px 38px 0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:25px}.page-title h1{font-size:30px;letter-spacing:-.95px}.page-title p{color:#8a9382;font-size:13px;margin:0}.page-title .btn{font-size:12px;padding:10px 15px;min-height:40px}.welcome-banner{background:#214d39;border:1px solid #234f3b;color:#fff;border-radius:14px;min-height:229px;display:flex;align-items:center;justify-content:space-between;padding:27px 31px;margin-bottom:23px;overflow:hidden;position:relative}.welcome-banner h2{font-size:29px;font-weight:500;letter-spacing:-.5px;line-height:1.25;margin:13px 0 10px;white-space:pre-line;color:#f5f5e7}.welcome-banner p{font-size:12px;color:#b5c8a8;margin:0 0 14px}.text-link{border:0;background:transparent;color:#d1e0ad;padding:0;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.text-link.dark{color:#72875c}.banner-art{position:relative;min-width:270px;height:200px;margin-right:27px}.orbit{position:absolute;border:1px solid #76956833;border-radius:50%;width:240px;height:240px;top:-25px;left:20px}.orbit.two{width:190px;height:190px;top:0;left:45px;border-style:dashed}.art-book{position:absolute;left:87px;top:35px;width:135px;height:132px;border-radius:23px;background:linear-gradient(145deg,#b2c790,#d1dcae);transform:rotate(-12deg);color:#3e6c41;display:grid;place-items:center;box-shadow:10px 13px #9db8841c}.art-spark{position:absolute;font-size:36px;color:#c9d9a2;top:5px;left:218px}.floating-pill{position:absolute;display:flex;gap:6px;align-items:center;background:#f3f5e8;color:#698154;bottom:8px;left:30px;padding:8px 13px;border-radius:7px;font-size:10px;box-shadow:0 4px 10px #112c1c20;transform:rotate(-5deg)}.tiny-leaf{position:absolute;right:-12px;bottom:18px;color:#9eb985;transform:rotate(25deg)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:19px 20px 18px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-top>span:first-child{font-size:11px;font-weight:500;color:#7b8673}.stat-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf2e3;color:#8b9c6d}.stat-icon.blue{background:#ebf1ed;color:#80a28e}.stat-icon.ochre{background:#f7f0e2;color:#b2a16d}.stat-icon.purple{background:#eef5f1;color:#90aa9b}.stat strong{display:block;font-size:29px;font-weight:600;letter-spacing:-.7px;line-height:1.2;margin:12px 0 8px}.stat small{font-size:10px;color:#9ba18e;display:block}.chart{width:100%;margin-top:18px}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#64845a;margin-right:6px}.card-bottom .muted{font-size:10px}.count{background:#f1f4e9;color:#8d9b76;border-radius:6px;min-width:25px;height:25px;display:grid;place-items:center;font-size:11px}.todo-list>button{display:flex;align-items:center;gap:12px;background:transparent;border:0;border-bottom:1px solid #edf0e8;width:100%;padding:15px 0;text-align:left}.todo-list>button:first-child{padding-top:5px}.todo-list>button:last-child{border-bottom:0}.todo-list>button>span:nth-child(2){flex:1}.todo-list b{font-size:12px;display:block;font-weight:550}.todo-list small{font-size:10px;display:block;margin-top:2px;color:#9ca28f}.todo-list>button>svg{color:#a8af9c}.todo-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#b19b75;background:#f9f1e6}.todo-icon.lavender{background:#edf6f1;color:#96ad9f}.todo-icon.pale{background:#edf1e6;color:#93a47b}.soft-note{border-radius:8px;background:#f7f8f1;color:#98a584;padding:13px;display:flex;gap:9px;align-items:center;font-size:10px;margin-top:18px}.soft-note small{display:block}.class-row{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid #eff1e9}.class-row:last-child{border-bottom:0}.class-row>div{flex:1;min-width:0}.class-row b{display:block;font-size:12px}.class-row small{display:block;font-size:10px;color:#9ca38f;margin-top:3px}.class-row .badge{font-size:9px}.subject-icon{width:40px;height:42px;border-radius:9px;display:inline-grid;place-items:center;background:#edf2e4;color:#8b9f6e;flex-shrink:0}.subject-1{background:#eff5f1;color:#88a092}.subject-2{background:#f6f0e5;color:#b2a07a}.notice-preview{background:#fdfdf9}.notice-preview .eyebrow{display:block;font-size:8px;letter-spacing:1px;margin:23px 0 12px}.notice-preview h3{font-size:15px}.notice-preview>p{color:#99a08d;font-size:11px;line-height:1.8;margin-bottom:22px}.notice-preview .card-heading>svg{color:#a7b28e}.workspace-footer{border-top:1px solid #e6eadf;margin-top:28px;padding:20px 0;display:flex;justify-content:space-between;font-size:9px;color:#a6ad9c}.workspace-footer span:first-child{display:flex;align-items:center;gap:7px}.demo-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 38px;font-size:10px;background:#f0f3e6;color:#8d9878;border-bottom:1px solid #e7eadc}.demo-strip>span{display:flex;align-items:center;gap:8px}.demo-strip>div{display:flex;align-items:center;gap:12px}.demo-strip select{font-size:10px;width:auto;padding:2px 5px;background:#f8faf2;border-color:#dfe5cf;min-height:24px;text-transform:capitalize}.demo-strip button{display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;color:#7f8d67;font-size:10px}.table-scroll{overflow-x:auto;margin:0 -5px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-weight:550;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#929c87;padding:15px 12px;border-bottom:1px solid #e7ecdf;background:#fafbf7;white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #eef0e8;vertical-align:middle}td small{display:block;margin-top:4px;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdf9}.person{display:flex;align-items:center;gap:11px;white-space:nowrap}.person b{font-size:14px;display:block}.person small{display:block;font-size:11px;color:#929c85;margin:2px 0 0}.color-1{background:#eaf4ee;color:#88a895}.color-2{background:#edf0e2;color:#909c71}.color-3{background:#f5ecdf;color:#b89d78}.color-4{background:#e8f0eb;color:#819c8c}.detail-list{display:grid;gap:13px;margin:24px 0;font-size:14px;color:#8d9882}.detail-list span{display:flex;gap:10px;align-items:center}.pipeline{display:flex;gap:15px;overflow-x:auto;align-items:flex-start;padding-bottom:20px}.pipeline-col{min-width:245px;width:245px;flex-shrink:0;background:#f0f2e9;border-radius:12px;padding:12px}.pipeline-col>h3{font-size:12px;display:flex;justify-content:space-between;padding:5px 5px 14px;margin:0}.pipeline-col h3 span{color:#9aa88b}.pipeline-col .card{padding:18px;margin-bottom:12px}.pipeline-col .card>h3{font-size:16px;margin-top:15px}.pipeline-col .card>p{font-size:13px;color:#8a957e}.pipeline-col .card>small{display:block}.pipeline-col select{font-size:12px;padding:7px;margin:10px 0}.pipeline-col .btn{font-size:12px;width:100%}.follow-up{display:flex;align-items:center;gap:6px;margin-top:14px}.filter-row{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.filter-row label{min-width:180px;flex:1}.filter-row>.btn{margin-bottom:1px}.attendance-buttons{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.attendance-buttons button{border:1px solid #e4e9dc;border-radius:6px;background:#f9faf6;padding:6px 8px;font-size:12px;color:#8b977d}.attendance-buttons .selected.present{background:#e8efdd;color:#5c7d42;border-color:#c9d9b2}.attendance-buttons .selected.late{background:#faf0d9;color:#af954c}.attendance-buttons .selected.absent{background:#f7e7e3;color:#bb847b}.qr-panel{display:grid;justify-items:center;padding-top:20px}.qr-image{max-width:260px;width:100%;height:auto;display:block;margin:14px auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.form-grid .full{grid-column:1/-1}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}dialog{padding:25px;border:1px solid var(--line);border-radius:15px;width:min(720px,calc(100% - 30px));max-height:90vh;overflow:auto;box-shadow:0 30px 100px #16331e40;color:inherit}dialog::backdrop{background:#15281d70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.modal-head h2{margin:0;font-size:22px}.id-card{padding:25px;max-width:400px;margin:auto;text-align:center;background:#f7f9f2;border:1px solid #d8e2cb;border-radius:12px}.id-card .brand{justify-content:center;font-size:14px}.id-portrait{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:#dce6cd;font-size:26px;margin:22px auto 14px}.id-card p{font-size:12px;color:#8f9a81}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.paper-question{border-bottom:1px solid #e9eddf;padding:20px 0}.paper-question p{font-size:12px;color:#8b987c}.mastery{margin:24px 0}.mastery>div:first-child{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}.progress-track{background:#f0f4e7;height:7px;border-radius:5px;overflow:hidden}.progress-track>span{height:100%;display:block;background:#92ab74;border-radius:5px}.progress-note{border-left:2px solid #bed0a4;padding:0 18px;margin-top:22px}.progress-note p{margin-top:8px;font-size:15px}.notice-full{margin-bottom:20px}.notice-full>p{font-size:15px;color:#7f8c74;line-height:1.8}details{border-bottom:1px solid var(--line);padding:18px 0;font-size:14px}summary{cursor:pointer;font-weight:550}details p{color:#859277;margin:12px 0 0}.capitalize{text-transform:capitalize}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:1000;max-width:calc(100% - 30px);display:flex;align-items:center;gap:10px;border:1px solid #dae4ce;background:#fff;color:#486338;box-shadow:0 8px 30px #244c2f20;border-radius:12px;padding:15px 23px;font-size:14px}.error{color:#a84d40;background:#fff0eb;padding:12px 15px;border:1px solid #f1d9cf;border-radius:8px;font-size:14px}.global-error{margin:20px 38px;display:flex;justify-content:space-between;align-items:center}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;gap:15px;color:#607c4c}.skip-link{position:fixed;top:-100px;z-index:1000;background:#fff;padding:10px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-menu{display:none}.auth-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#fafbf6}.auth-story{background:#1d4433;color:#e7eddb;min-height:100vh;padding:50px 56px 30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:570px;height:570px;border:1px solid #b8d29314;border-radius:50%;bottom:-310px;right:-240px;box-shadow:0 0 0 70px #b8d29306,0 0 0 140px #b8d29304}.auth-story .brand-mark{background:#c9d5a8;color:#2e5637}.auth-story .brand small{color:#a4b594}.auth-story .brand b{font-size:31px;font-weight:550}.auth-headline{margin:auto 0;padding:70px 0}.auth-headline h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,4.8vw,78px);line-height:1.04;letter-spacing:-2.5px;font-weight:400;color:#f5f4df;margin:28px 0}.auth-headline h1 em{color:#c1d39c;font-weight:400}.auth-headline>p{font-size:16px;color:#a9bc9c;line-height:1.9;max-width:420px}.auth-benefits{display:grid;grid-template-columns:1fr;gap:16px;color:#c3d1b5;font-size:13px;margin-top:35px}.auth-benefits span{display:flex;align-items:center;gap:10px}.auth-benefits svg{color:#a6bb81;background:#bcd09c10;border-radius:50%;padding:3px;width:23px;height:23px}.auth-footer{display:flex;align-items:center;gap:9px;font-size:11px;color:#90a580;position:relative;z-index:1}.auth-panel{display:flex;flex-direction:column;padding:37px 64px 20px;min-width:0}.independent-label{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#93a083;font-size:11px}.auth-form{max-width:450px;width:100%;margin:auto;padding:60px 0}.auth-form h2{font-size:31px;font-weight:550;letter-spacing:-.8px;line-height:1.25;margin:12px 0}.auth-form>.muted{font-size:14px}.auth-form .form-grid{grid-template-columns:1fr;gap:18px;margin-top:25px}.auth-form label{font-size:12px;color:#7e8f72}.auth-form input{background:#fff;border-color:#dce4d1;padding:12px 14px;font-size:15px}.auth-form .form-footer{border:0;padding:0;margin-top:22px}.auth-form .form-footer .btn{width:100%;justify-content:space-between;padding:13px 16px;font-size:13px}.auth-links{display:flex;justify-content:space-between;gap:8px;margin-top:15px}.auth-links button{border:0;background:none;padding:0;font-size:11px;color:#849571;text-align:left}.demo-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:35px;margin-bottom:18px;color:#a2ac91;font-size:9px;letter-spacing:1.5px}.demo-divider:before,.demo-divider:after{content:"";height:1px;flex:1;background:#e1e7d7}.demo-divider+p{font-size:12px;text-align:center}.demo-buttons{display:flex;gap:9px}.demo-buttons>button{flex:1;background:#fff;border:1px solid #dfe7d4;border-radius:10px;text-align:left;padding:14px 12px;display:grid;grid-template-columns:1fr 15px;align-items:center;gap:7px}.demo-buttons>button:hover{border-color:#95ad79;background:#f1f5e8}.demo-buttons>button>span{grid-column:1/-1;display:grid;place-items:center;background:#eff3e5;color:#7d9564;width:31px;height:31px;border-radius:8px;margin-bottom:3px}.demo-buttons b{font-size:12px;color:#758a63}.demo-buttons svg{width:18px;height:18px;color:#98a888}.auth-security{display:flex;align-items:center;justify-content:center;gap:6px;color:#a1ad93;font-size:10px;margin:27px 0 0}.copyright{text-align:center;color:#a7b09b;font-size:9px}.setup-notice{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid #dfe8ce;background:#f0f4e5;border-radius:8px;margin-top:23px;color:#82966a}.setup-notice b{font-size:11px;display:block;margin-bottom:5px}.setup-notice small{display:block;font-size:11px;color:#8e9d7b}.auth-single{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-single>.card{max-width:600px;width:100%}.owner-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 38px;background:#fff;border-bottom:1px solid var(--line)}.owner-shell main{max-width:1450px;margin:0 auto;padding:35px}.owner-shell .tabs{display:flex;gap:8px}.tabs button{background:#f5f7f0;border:1px solid var(--line);border-radius:7px;padding:7px 12px;text-transform:capitalize;font-size:12px}.tabs button.active{background:#e4edda;color:#567340}.owner-shell .card-heading>input{max-width:280px}.big-number{font-size:38px;display:block;margin:25px 0}.owner-shell>.card{margin-top:20px}#camera-reader{width:100%;max-width:450px;margin:15px auto}#camera-reader video{border-radius:12px}#camera-reader img{max-width:100%}.workspace main{font-size:16px}.workspace .page-title p{font-size:15px}.workspace .stat-top>span:first-child{font-size:13px}.workspace .stat small{font-size:12px}.workspace .card-heading p{font-size:13px}.workspace .todo-list b,.workspace .class-row b{font-size:14px}.workspace .todo-list small,.workspace .class-row small{font-size:12px}.workspace nav{font-size:14px}.sidebar nav button{font-size:14px}.sidebar .profile b{font-size:14px}.sidebar .profile small{font-size:12px}.workspace .welcome-banner p{font-size:14px}.workspace .notice-preview>p{font-size:14px}.workspace .text-link{font-size:13px}.workspace .soft-note{font-size:12px}.workspace .stat strong{font-size:31px}.workspace .class-row .badge{font-size:11px}@media(min-width:1600px){.workspace main{padding-top:40px}.welcome-banner{min-height:250px}.welcome-banner h2{font-size:35px}.banner-art{margin-right:70px}.stats-grid{gap:22px}.dashboard-grid{gap:26px}.card{padding:26px}}@media(max-width:1200px){.sidebar{width:230px;padding-left:15px;padding-right:15px}.workspace{margin-left:230px}.workspace main{padding:28px 25px 0}.topbar{padding:0 25px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1.3fr 1fr;gap:18px}.stats-grid{gap:12px}.stat{padding:17px 14px}.stat strong{font-size:26px!important}.page-title h1{font-size:27px}.banner-art{margin-right:0;min-width:230px}.welcome-banner{padding:25px}.batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-story{padding:40px 36px}.auth-panel{padding:35px}.auth-headline h1{font-size:60px}.search{width:200px}}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.lower,.two-grid{grid-template-columns:1fr}.banner-art{min-width:170px;transform:scale(.8);transform-origin:right center;margin-left:-50px}.top-actions .search{width:165px}.auth-headline h1{font-size:50px}.auth-story{padding:35px 28px}.auth-panel{padding:25px}.auth-benefits{font-size:12px}.page-title{align-items:flex-start}.page-title .actions{max-width:180px}.welcome-banner h2{font-size:27px}.welcome-banner p{max-width:300px}.demo-strip{padding-left:25px;padding-right:25px}}@media(max-width:760px){.sidebar{transform:translate(-100%);transition:transform .2s;width:255px}.sidebar.open{transform:translate(0)}.workspace{margin-left:0}.mobile-menu{display:inline-grid}.topbar{height:64px;padding:0 17px}.top-actions{gap:8px}.top-actions .search{display:none}.breadcrumb{gap:7px;font-size:11px}.workspace main{padding:24px 18px 0}.page-title{display:block;margin-bottom:20px}.page-title .actions{max-width:none;margin-top:17px}.page-title h1{font-size:28px}.page-title .eyebrow{font-size:9px;letter-spacing:1px}.page-title p{font-size:14px!important}.welcome-banner{padding:24px;min-height:235px}.welcome-banner h2{font-size:29px;position:relative;z-index:1}.welcome-banner p{font-size:13px!important;max-width:240px;position:relative;z-index:1}.banner-art{position:absolute;right:-36px;top:15px;opacity:.3;transform:scale(.8)}.welcome-banner .badge,.welcome-banner .text-link{position:relative;z-index:1}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{padding:16px 13px}.stat-top>span:first-child{font-size:12px!important}.stat strong{font-size:26px!important}.stat small{font-size:11px!important}.stat-icon{width:28px;height:28px}.card{padding:20px}.card-heading h2{font-size:18px}.card-heading .badge{font-size:9px}.card-bottom{flex-wrap:wrap}.batch-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.demo-strip{padding:6px 18px;font-size:9px}.demo-strip>span{max-width:210px;line-height:1.5}.demo-strip>div{gap:7px}.demo-strip button{font-size:9px}.workspace-footer{font-size:8px;gap:12px}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#152a1b70;border:0;z-index:25}.auth-page{display:block}.auth-story{min-height:0;padding:28px}.auth-headline{padding:40px 0 25px}.auth-headline h1{font-size:48px;margin:20px 0}.auth-headline>p{font-size:14px}.auth-headline h1 br:nth-child(2){display:none}.auth-benefits{display:grid;grid-template-columns:1fr 1fr;font-size:11px;gap:12px;margin-top:22px}.auth-footer{display:none}.auth-panel{padding:24px}.auth-form{padding:30px 0}.auth-form h2{font-size:27px}.independent-label{font-size:10px}.copyright{margin-top:20px}.auth-form .form-grid{gap:16px}.auth-form input{padding:14px}.auth-form label{font-size:14px}.auth-links button{font-size:12px}.demo-buttons b{font-size:13px}.owner-header{padding:20px;flex-wrap:wrap}.owner-shell main{padding:22px 17px}.owner-shell .card-heading,.owner-shell .tabs{flex-wrap:wrap}.filter-row{gap:14px}.filter-row label{min-width:140px}.class-row{gap:10px}.class-row .badge{font-size:10px!important}.global-error{margin:15px}.auth-single{padding:16px}}.student-photo{object-fit:cover}.exam-question{border:1px solid var(--line);border-radius:10px;margin:22px 0;padding:18px}.exam-question legend{font-size:17px;font-weight:600;padding:0 6px}.exam-question label{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:16px}.exam-question input{width:20px;height:20px;accent-color:var(--green)}.exam-builder .paper-question>label{margin-top:18px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}small,.muted,.card-heading p,.page-title p,.stat small,.stat-top>span:first-child,.person small,.class-row small,.todo-list small,.detail-list,.notice-preview>p,.notice-preview .eyebrow,.workspace-footer,.breadcrumb>span,.support-card p,.profile small,.institute-switch small,.auth-links button,.auth-security,.copyright{color:#68745f}.sidebar nav button{font-size:15px;color:#65735e}.sidebar nav button.active{color:#35542c}.workspace .page-title .btn{font-size:14px}.workspace .stat small,.workspace .todo-list small,.workspace .class-row small{font-size:13px}.workspace .page-title p{font-size:16px}.workspace .notice-preview>p{color:#68745f}.workspace .card-heading p,.workspace .class-row small,.workspace .todo-list small,.workspace .stat small{color:#68745f}.auth-panel .muted{color:#65725b}.auth-story .auth-headline>p{color:#c2d1b5}.auth-story .auth-footer{color:#b3c7a2}.demo-strip{font-size:12px;color:#657557}.demo-strip select,.demo-strip button{font-size:12px;color:#546547}.search input{font-size:13px}@media print{body{background:#fff}.sidebar,.topbar,.demo-strip,.workspace-footer,.page-title,.btn,.modal-head,.toast,.sidebar-backdrop{display:none!important}.workspace{margin:0}.workspace main{padding:0}body:has(dialog[open]) .app-shell>.workspace,body:has(dialog[open]) .app-shell>.sidebar{display:none!important}dialog[open]{display:block;position:static;max-width:100%;width:100%;max-height:none;border:0;box-shadow:none;overflow:visible;padding:0}dialog::backdrop{background:none}.printable{break-inside:avoid;border:0}.qr-image{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card{break-inside:avoid;box-shadow:none}.two-grid,.printable .card-heading h2{display:block}}.google-button{width:100%;min-height:54px;background:#fff;border:1px solid #ccd7c2;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:17px;font-weight:600;color:#35482d;margin-top:30px;padding:13px 18px;box-shadow:0 2px 4px #21331a08}.google-button:hover{background:#f1f5ea;border-color:#8ba26e}.google-button>svg{margin-left:auto}.google-g{color:#66f4a1;font-family:Arial,sans-serif;font-size:25px;font-weight:700;margin-right:auto}.google-note{font-size:13px;color:#68765f;line-height:1.8;margin-top:17px}.independent-label{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#718062;font-size:12px}.policy-page{max-width:850px;margin:auto;padding:40px 20px}.policy-page>.brand{margin-bottom:30px}.policy-page article{padding:35px}.policy-page article h2{margin-top:28px}.policy-page p{font-size:17px;color:#596a50;line-height:1.85}.policy-links{display:block;margin-top:10px;font-size:12px}:root{--green: #6fda9b;--dark: #284a36;--muted: #6f8377;--line: #e9f2ed;--lime: #eafff3;color:#2c4135;background:#f6fbf8;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:17px}.app-shell,.platform-console{--accent: #6fda9b;--accent-soft: #f1fff7;--green: var(--accent);--dark: #284a36;color:#31473a;background:#f6fbf8}.app-shell[data-theme=emerald]{--accent: #167c69;--accent-soft: #e6f6ef;--dark: #174d43}.app-shell[data-theme=ocean]{--accent: #40bb74;--accent-soft: #edfff4;--dark: #26623f}.app-shell .sidebar{width:270px;background:#fff;padding:30px 18px 0;border-right:1px solid #ebf3ee;box-shadow:4px 0 30px #274a3603}.app-shell .workspace{margin-left:270px}.app-shell .brand-mark,.platform-console .brand-mark{background:var(--accent);color:#fff;border-radius:12px;box-shadow:0 5px 12px #66e59b25}.app-shell .brand b,.platform-console .brand b{color:#2b4938;letter-spacing:-1px;font-size:28px}.app-shell .brand small,.platform-console .brand small{font-size:9px;letter-spacing:1.8px;color:#819389;margin-top:5px}.app-shell .brand-period{color:var(--accent)}.app-shell .institute-switch{background:#f8fcfa;border:1px solid #eef5f1;border-radius:14px;margin-top:28px;padding:12px 10px}.app-shell .institute-switch b{font-size:14px;line-height:1.45;color:#43564b;white-space:normal}.app-shell .institute-switch small{font-size:12px;color:#84968c}.app-shell .institute-avatar{background:var(--accent-soft);color:var(--accent)}.app-shell .nav-label{color:#91a097;font-size:10px;letter-spacing:1.8px;margin:24px 14px 10px}.app-shell .sidebar nav{gap:5px}.app-shell .sidebar nav button{min-height:45px;border-radius:11px;padding:11px 13px;font-size:14px;letter-spacing:.05px;color:#6f8578;transition:background .15s,color .15s}.app-shell .sidebar nav button svg{width:18px;height:18px}.app-shell .sidebar nav button:hover{background:#f6fcf9;color:var(--accent)}.app-shell .sidebar nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.app-shell .nav-dot{background:var(--accent)}.app-shell .nav-count{background:#fff;color:var(--accent);font-size:11px}.app-shell .support-card{background:linear-gradient(135deg,#f2fff8,#f7fffa);border:1px solid #eafff3;border-radius:16px}.app-shell .support-card b{font-size:14px;color:#527f65}.app-shell .support-card p{font-size:12px;color:#7d9587}.app-shell .profile{border-color:var(--line);padding-top:18px;padding-bottom:18px}.app-shell .profile b{font-size:14px;color:#475a4f}.app-shell .profile small{font-size:12px;color:#8b9c92}.app-shell .topbar{height:82px;background:#ffffffed;padding:0 36px;position:sticky;top:0;z-index:15;border-color:#ebf3ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell .breadcrumb{font-size:14px;color:#8ea095}.app-shell .breadcrumb b{color:#495f52}.app-shell .top-avatar{background:var(--accent-soft);color:var(--accent)}.app-shell .search{background:#f8fcfa;border:1px solid #eff5f1;border-radius:11px}.app-shell main#main{max-width:1680px;padding:32px 36px 20px;margin:auto}.page-title{gap:20px;align-items:center;margin-bottom:28px}.app-shell h1,.platform-console h1{font-size:32px;letter-spacing:-1.1px;color:#2c4135;font-weight:700}.app-shell h2,.platform-console h2{color:#33483c;font-size:20px;letter-spacing:-.45px;font-weight:650}.page-title p{font-size:15px;color:#7e9186;max-width:780px;margin-bottom:0;line-height:1.65}.eyebrow{font-size:10px;color:var(--accent, #6fda9b);font-weight:750;letter-spacing:1.8px;margin-bottom:10px}.app-shell .btn,.platform-console .btn{font-size:14px;border-color:#e7f1eb;padding:10px 15px;border-radius:10px;min-height:43px;white-space:normal}.app-shell .btn.primary,.platform-console .btn.primary{background:var(--accent, #6fda9b);border-color:var(--accent, #6fda9b);color:#fff;box-shadow:0 4px 10px #6fda9b1a}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #284a360c}.app-shell .welcome-banner{min-height:190px;margin-bottom:26px;background:linear-gradient(115deg,#3a684d,#569b73 66%,#6cb48a);border-radius:20px;padding:26px 30px;box-shadow:0 8px 25px #508c691a}.app-shell .welcome-banner h2{font-family:inherit;color:#fff;font-size:29px;line-height:1.25;letter-spacing:-1px;white-space:normal;margin:14px 0 10px;max-width:600px}.app-shell .welcome-banner p{color:#e1f5e9;font-size:14px;max-width:550px;margin-bottom:16px}.app-shell .welcome-banner .badge{font-size:9px;letter-spacing:1.5px;color:#eafff3;background:#ffffff18}.app-shell .welcome-banner .text-link{color:#fff;font-size:13px}.app-shell .banner-art{transform:scale(.75);margin-top:-30px;margin-bottom:-30px}.app-shell .art-book{background:#ffffff1a;color:#e9fff2;box-shadow:0 10px 30px #265c3d44}.app-shell .orbit{border-color:#cdffe233}.app-shell .floating-pill{color:#508265;background:#f2fff8}.stats-grid{gap:20px;margin-bottom:26px}.card{border:1px solid #e9f2ed;border-radius:17px;background:#fff;padding:24px;box-shadow:0 3px 14px #233f2f04}.stat{padding:21px 22px;position:relative;overflow:hidden}.stat strong{font-size:31px;letter-spacing:-1px;font-weight:720;color:#304639;margin-top:12px;display:block}.stat-top{font-size:14px;color:#7b8f83;gap:12px}.stat small{font-size:12px;color:#90a197;display:block;margin-top:7px}.stat-icon{width:41px;height:41px;border-radius:12px;background:#f1fff7;color:#7bdda4}.stat-icon.blue{background:#eefff5;color:#61df96}.stat-icon.ochre{background:#fff4df;color:#d6a142}.stat-icon.purple{background:#eefff5;color:#8bdcad}.dashboard-grid,.two-grid{gap:22px}.card-heading{align-items:flex-start;gap:20px;margin-bottom:20px}.card-heading p{color:#92a499;font-size:13px}.card-heading input{max-width:330px}.app-shell .badge,.platform-console .badge{font-size:11px;border-radius:7px;padding:5px 9px;font-weight:600;letter-spacing:.1px}.badge.green{background:#e9f7f0;color:#338564}.badge.blue{background:#f1fff7;color:#5fb281}.badge.ochre{background:#fff5e5;color:#b78434}.badge.purple{background:#eefcf4;color:#79bb94}.badge.neutral{background:#f3f8f5;color:#798c81}.app-shell table,.platform-console table{font-size:14px}th{background:#f9fdfb;color:#90a398;text-transform:uppercase;letter-spacing:.7px;font-size:10px;white-space:nowrap;padding:14px 16px;font-weight:700}td{padding:16px;border-bottom:1px solid #f1f7f4;color:#607669;vertical-align:middle}td b{color:#42584b;font-size:14px;font-weight:600}td small{display:block;color:#95a69c;font-size:12px;margin-top:3px}tbody tr:hover{background:#fbfffd}.avatar,.top-avatar{width:39px;height:39px;font-size:12px;background:#f1fff7;color:#6fb08a;font-weight:650;border-radius:12px}.avatar.color-1{background:#e4f4ef;color:#4a9c83}.avatar.color-2{background:#fff0df;color:#be9154}.avatar.color-3{background:#ecfcf3;color:#80cca0}.avatar.color-4{background:#f8e8ed;color:#bf8197}input,textarea,select{border:1px solid #e6f0ea;border-radius:10px;padding:11px 13px;font-size:16px;color:#476051;background:#fff}input:focus,textarea:focus,select:focus{outline:3px solid #effff6;border-color:#a7e8c2}label{font-size:14px;color:#72897c;font-weight:550}input[type=checkbox]{accent-color:var(--accent, #6fda9b)}.form-grid{gap:20px}.form-footer{margin-top:22px}.workspace-footer{color:#9bada2;font-size:12px;margin-top:35px;border-top:1px solid #eaf3ee;padding-top:20px}.insight-ribbon{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 26px;background:linear-gradient(110deg,#f1fff7,#f6fffa 65%,#eaf7f6);border:1px solid #e6fcef;border-radius:17px;padding:23px 26px}.insight-ribbon .eyebrow{font-size:9px;margin-bottom:7px}.insight-ribbon h2{margin-bottom:7px;font-size:21px}.insight-ribbon p{margin:0;color:#859b8e;font-size:13px}.workspace-announcement{display:flex;gap:12px;align-items:center;padding:16px 20px;background:#f1fff7;color:#639e7b;border-radius:12px;margin-bottom:25px;font-size:15px}.demo-strip{background:#fff8e7;color:#99814d;padding:12px 30px;font-size:12px;border-bottom:1px solid #f5e7c5;gap:18px;flex-wrap:wrap}.demo-owner-link{color:#8b6b26;font-weight:650}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 5px 0;color:#92a59a;font-size:12px}.table-pagination .btn{min-height:34px;font-size:12px;padding:6px 12px}.paginated-table{min-width:0}.table-wrap{overflow:auto}.mt{margin-top:24px}.analytics-tabs,.config-tabs{display:flex;flex-wrap:wrap;background:#fff;border:1px solid #ebf3ee;border-radius:13px;padding:6px;gap:8px;margin-bottom:26px;width:fit-content;max-width:100%;overflow:auto}.tabs button{padding:11px 18px;font-size:14px;border-radius:8px;color:#91a399;white-space:nowrap;text-transform:capitalize}.tabs button.active{background:var(--accent-soft, #f1fff7);color:var(--accent, #6fda9b);font-weight:650}.distribution-row{margin-top:21px}.distribution-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#85998d;margin-bottom:10px}.distribution-row b{color:#52675b}.meter{height:7px;border-radius:8px;background:#f1f7f4;overflow:hidden}.meter i{display:block;background:#96e8b8;height:100%;border-radius:8px;min-width:0}.meter.blue i{background:#86dfab}.meter.ochre i{background:#e5c17c}.meter.red i{background:#e79ba2}.meter.neutral i{background:#c7d5cd}.profile-picker{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:25px}.student-hero{padding:25px 28px;border-radius:17px;background:linear-gradient(110deg,#f1fff7,#f3fdf7);border:1px solid #e8f7ee;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.student-hero .person .avatar{width:57px;height:57px;font-size:18px;border-radius:16px}.student-hero .person b{font-size:23px;color:#426b53}.student-hero .person small{display:block;color:#8fa799;font-size:12px}.student-hero p{margin:14px 0 0;color:#81968a;font-size:14px}.subject-progress{margin:22px 0}.subject-progress>div:first-child{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}.subject-progress small{font-size:11px;color:#9eafa5}.subject-progress .meter{margin-bottom:6px}.soft-note{background:#f7fdfa;color:#869c8f;border:1px solid #edf7f1;font-size:14px;display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:12px;line-height:1.65;margin-top:22px}.observation{border-bottom:1px solid #f0f6f2;margin:18px 0;padding-bottom:13px}.observation small{font-size:11px;color:#a1afa7}.observation p{font-size:14px;color:#74857b;margin:9px 0 0}.account-totals{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.account-totals strong{font-size:27px;color:#508365;display:block;margin-top:9px}.account-totals small{font-size:12px}.configuration-editor h2{display:flex;gap:10px;align-items:center}.configuration-editor .card-heading p{max-width:600px;line-height:1.6}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.feature-control{border:1px solid #eef5f1;border-radius:13px;padding:21px;background:#fdfffe}.feature-control-title{display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.feature-control b{font-size:15px;color:#52695c}.feature-control p{font-size:12px;line-height:1.6;color:#96a69d;margin:6px 0 0}.feature-control label{font-size:11px}.feature-control input:not([type=checkbox]){font-size:14px;background:#fff}.toggle{flex-shrink:0;position:relative;display:inline-flex!important;width:42px;height:24px;align-self:flex-start}.toggle input{position:absolute;opacity:0;width:42px;height:24px!important;margin:0;z-index:2;cursor:pointer}.toggle span{position:absolute;top:0;right:0;bottom:0;left:0;background:#e2ede6;border-radius:20px;transition:.2s}.toggle span:after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #233f2f22;transition:.2s}.toggle input:checked+span{background:var(--accent, #6fda9b)}.toggle input:checked+span:after{transform:translate(18px)}.toggle input:focus-visible+span{outline:3px solid #caffe0;outline-offset:3px}.toggle input:disabled+span{opacity:.5}.saved-message{padding:15px 20px;border:1px solid #d6eee3;background:#effaf5;color:#4c9574;border-radius:12px;margin:18px 0;display:flex;gap:10px;align-items:center;font-size:14px}.platform-console{min-height:100vh}.control-sidebar{width:262px;position:fixed;top:0;bottom:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #eaf2ed;padding:32px 22px;overflow-y:auto;z-index:25}.control-owner{display:flex;gap:12px;align-items:center;margin:30px 0;background:#f8fcfa;border:1px solid #eef5f1;border-radius:13px;padding:15px;color:#76a68a}.control-owner b{display:block;font-size:13px;color:#566c5f}.control-owner small{display:block;font-size:10px;color:#94a59b;margin-top:3px}.control-sidebar nav{display:flex;flex-direction:column;gap:9px}.control-sidebar nav button{display:flex;align-items:center;gap:13px;border:0;border-radius:10px;background:transparent;color:#879b8f;text-align:left;font-size:14px;padding:13px}.control-sidebar nav button.active{background:#f1fff7;color:#72d099;font-weight:650}.control-sidebar-bottom{margin-top:auto;padding-top:35px}.control-sidebar-bottom p{font-size:17px;line-height:1.5;color:#a9bfb2}.control-sidebar-bottom a{font-size:14px;display:flex;gap:8px;align-items:center}.control-workspace{margin-left:262px}.control-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 36px;background:#ffffffed;border-bottom:1px solid #eaf3ee;position:sticky;top:0;z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13px;color:#92a69b;text-transform:capitalize}.control-topbar b{color:#5b7365}.control-workspace>main{padding:34px 36px;max-width:1680px;margin:auto}.control-workspace .page-title{margin-bottom:28px}.control-overview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:23px}.platform-feature-hero{background:linear-gradient(120deg,#3a6b4f,#62a17c);padding:32px;color:#ddf6e8}.platform-feature-hero h2{font-size:33px!important;color:#fff!important;margin:22px 0 15px;line-height:1.25}.platform-feature-hero p{font-size:14px;max-width:470px;line-height:1.7;color:#d1eddd}.platform-feature-hero .btn{background:#ffffff1f;border-color:#ffffff35;color:#fff}.platform-feature-hero .badge{background:#ffffff1a;color:#e7fff1;letter-spacing:1px;font-size:10px}.health-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #f1f6f3;font-size:14px;color:#899d91}.health-row small{display:block;font-size:10px;color:#a9b8af;margin-top:4px}.health-row b{font-size:24px;color:#628d74}.quick-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-action-grid button{display:flex;justify-content:space-between;align-items:center;border:1px solid #eff7f2;background:#fafefc;color:#86aa95;border-radius:12px;padding:20px 15px;font-size:13px;gap:15px}.change-context{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:30px;background:#fdfffe;margin-bottom:25px}.change-context p{font-size:12px;color:#9baca2;margin:20px 0 0}.scope-picker{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:25px;margin-bottom:25px}.scope-picker p{font-size:12px;color:#96a59c;margin:12px 0 0;line-height:1.7}.quota-summary{display:grid;gap:10px;margin-top:22px}.quota-summary>div{display:flex;justify-content:space-between;font-size:13px;gap:20px}.quota-summary small{text-transform:capitalize}.quota-summary b{color:#85a793}details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:500px;font-size:11px;max-height:250px;overflow:auto}summary{color:#82ba99;cursor:pointer;font-size:12px}@media(min-width:1600px){.app-shell main#main,.control-workspace>main{padding-left:50px;padding-right:50px}.app-shell .sidebar nav button{font-size:15px}.app-shell .page-title h1{font-size:35px}}@media(max-width:1200px){.app-shell .sidebar{width:235px}.app-shell .workspace{margin-left:235px}.app-shell main#main{padding:26px}.stats-grid{gap:14px}.stat{padding:18px}.stat strong{font-size:26px}.control-sidebar{width:230px}.control-workspace{margin-left:230px}.control-workspace>main{padding:26px}.control-overview-grid{grid-template-columns:1fr 1fr}.platform-feature-hero h2{font-size:28px!important}}@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .topbar{padding:0 24px}.feature-grid{grid-template-columns:1fr}.configuration-editor .card-heading{flex-wrap:wrap}.change-context,.scope-picker{grid-template-columns:1fr;gap:10px}.change-context p{margin-top:0}.control-workspace .page-title h1{font-size:28px}.control-topbar{padding:20px}.platform-feature-hero{padding:24px}.platform-feature-hero h2{font-size:24px!important}.control-overview-grid{grid-template-columns:1fr}.app-shell .banner-art{display:none}}@media(max-width:800px){.app-shell .sidebar{transform:translate(-100%);width:270px}.app-shell .sidebar.open{transform:translate(0)}.app-shell .workspace{margin-left:0}.app-shell main#main{padding:24px 18px}.app-shell .mobile-menu{display:inline-flex}.app-shell .search{display:none}.app-shell .topbar{height:68px;padding:0 18px}.app-shell h1{font-size:28px}.app-shell .welcome-banner{padding:25px;min-height:190px}.app-shell .welcome-banner h2{font-size:27px}.insight-ribbon{flex-direction:column;align-items:flex-start;padding:22px}.profile-picker{grid-template-columns:1fr}.student-hero{padding:22px;align-items:flex-start;flex-direction:column}.student-hero .person b{font-size:21px}.control-sidebar{position:static;width:100%;padding:20px;bottom:auto;border-bottom:1px solid #ebf3ee;gap:10px}.control-owner{display:none}.control-sidebar nav{flex-direction:row;overflow:auto;margin-top:16px;gap:5px}.control-sidebar nav button{white-space:nowrap;padding:10px;font-size:12px}.control-sidebar nav button svg{width:16px}.control-sidebar-bottom{display:none}.control-workspace{margin-left:0}.control-topbar{position:static;padding:16px 20px}.control-workspace>main{padding:24px 18px}.page-title{flex-wrap:wrap}.control-topbar>.actions .btn{font-size:0;padding:8px}.control-topbar>.actions .btn svg{width:17px}.analytics-tabs,.config-tabs{width:100%}.tabs button{font-size:12px;padding:10px 12px}.table-pagination{align-items:flex-start;flex-direction:column}.configuration-editor .table-wrap th{font-size:9px}.configuration-editor .table-wrap td{padding:13px 9px}.demo-strip{padding:12px 18px}.two-grid,.dashboard-grid,.stats-grid.three{grid-template-columns:1fr}.workspace-footer{flex-wrap:wrap;gap:12px}}@media(max-width:480px){.stats-grid{gap:10px}.stat{padding:16px 14px}.stat-top{font-size:12px}.stat-icon{width:32px;height:32px}.stat strong{font-size:24px}.stat small{font-size:10px}.card{padding:20px 17px}.card.stat{padding:16px 14px}.app-shell .page-title h1{font-size:26px}.page-title p{font-size:14px}.control-workspace .page-title h1{font-size:26px}.feature-control{padding:17px}.account-totals{grid-template-columns:1fr}.top-actions{gap:12px}}@media print{.table-pagination,.demo-strip,.control-sidebar,.control-topbar{display:none}.paginated-table tr{display:table-row}.app-shell .workspace,.control-workspace{margin-left:0}}.custom-fields{display:grid;gap:18px;margin-bottom:22px}.custom-field{display:grid;grid-template-columns:1fr 1.2fr 1fr .5fr auto;align-items:end;gap:15px;padding:20px;background:#f9fdfb;border:1px solid #eef6f1;border-radius:12px}.custom-field label{font-size:12px}.custom-field input,.custom-field select{font-size:14px}.custom-field input[type=checkbox]{margin:10px 0}.analytics-studio .health-row b{font-size:14px}@media(max-width:1100px){.custom-field{grid-template-columns:1fr 1fr}.custom-field .btn{width:fit-content}}@media(max-width:500px){.custom-field{grid-template-columns:1fr}}.app-shell .stat small,.platform-console .stat small{color:#73897c;font-size:12px}.app-shell .card-heading p,.platform-console .card-heading p{color:#778e80}.app-shell .sidebar nav button{color:#698374}.app-shell .sidebar nav button.active{color:var(--accent)}.app-shell table,.platform-console table,.app-shell td b,.platform-console td b{font-size:15px}.app-shell th,.platform-console th{color:#71897b;font-size:11px}.app-shell .page-title p,.platform-console .page-title p{color:#738b7d;font-size:16px}.subject-progress small,.observation small{color:#799183;font-size:12px}@media(max-width:480px){.stat small{font-size:12px!important}.stat-top{font-size:13px!important}}:root{--green: #285440;--dark: #183e30;--muted: #65796b;--line: #e1e8df;--lime: #d8e5b9;color:#263b31;background:#f6f7f2}.app-shell,.platform-console,.app-shell[data-theme=indigo]{--accent: #285440;--accent-soft: #edf3e7;--green: var(--accent);--dark: #183e30;color:#263b31;background:#f6f7f2}.app-shell[data-theme=emerald]{--accent: #23624b;--accent-soft: #e8f3e9;--dark: #183e30}.app-shell[data-theme=ocean]{--accent: #466c45;--accent-soft: #eef3e5;--dark: #304c30}.app-shell .brand b,.platform-console .brand b,.app-shell h1,.platform-console h1{color:#234632}.app-shell h2,.platform-console h2{color:#2e4a36}.app-shell .welcome-banner,.platform-feature-hero{background:linear-gradient(115deg,#183e30,#285440 65%,#52714a)}.app-shell .welcome-banner p,.platform-feature-hero p{color:#e1eacb}.app-shell .welcome-banner .badge,.platform-feature-hero .badge{color:#e4edcc;background:#ffffff18}.app-shell .welcome-banner h2,.platform-feature-hero h2{color:#fff!important}.app-shell .art-book{color:#e5edce;box-shadow:0 10px 30px #102a2544}.app-shell .floating-pill{background:#f1f5e5;color:#41653c}.insight-ribbon,.student-hero{background:linear-gradient(110deg,#edf2e3,#f5f7ef 65%,#e8f2e9);border-color:#dfe7d6}.control-sidebar nav button.active,.app-shell .sidebar nav button.active{background:#edf3e7;color:#285440}.control-owner,.app-shell .institute-switch{background:#f6f8f1;border-color:#e4e9dd}.app-shell .support-card{background:linear-gradient(135deg,#edf2e3,#f6f8ee);border-color:#e2e8d8}.app-shell .support-card b,.control-owner b,.student-hero .person b{color:#3d5b3a}input:focus,textarea:focus,select:focus{outline:3px solid #e1ecd3;border-color:#8fa87a}button:focus-visible,a:focus-visible{outline:3px solid #8da766;outline-offset:3px}.btn.primary{background:var(--accent, #285440);border-color:var(--accent, #285440)}.actions,.form-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.tabs{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tabs>button{margin:0;flex:0 0 auto;min-height:44px}.card-heading,.card-bottom{flex-wrap:wrap;row-gap:14px}.card-heading>div,.page-title>div,.institute-switch>div,.profile>div{min-width:0}.card-heading>input,.card-heading>label{flex:0 1 320px;max-width:100%}.form-grid{row-gap:22px;column-gap:20px}.form-footer{margin-top:24px}.settings-actions,.receipt .actions{display:flex;gap:12px;flex-wrap:wrap}.card form+.btn,.card>.btn+.btn{margin-inline-start:10px}.configuration-editor .tabs{padding:8px;gap:10px}.configuration-editor .feature-grid{gap:20px}.config-tabs{overflow:visible}.table-scroll{max-width:100%;overscroll-behavior-x:contain}.workspace,.control-workspace,.card,.two-grid>*,.dashboard-grid>*{min-width:0}.btn{line-height:1.4;text-align:center}.kanban-column .btn,.class-row .btn{flex-shrink:0}.card>form+p,.card>form+.soft-note{margin-top:20px}.modal-head{gap:18px}.modal-head h2{margin:0;min-width:0}.modal-head .icon-button{flex-shrink:0}.icon-button{min-width:40px;min-height:40px}.auth-options,.auth-options>div{gap:12px}.pwa-dock{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:45;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dce5d3;border-radius:14px;padding:5px;box-shadow:0 6px 28px #183e3020}.pwa-dock button{background:transparent;border:0;min-height:42px;color:#285440;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 12px;font-size:14px;font-weight:600;border-radius:9px}.pwa-dock button:hover{background:#edf3e7}.pwa-dock .pwa-dismiss{padding:8px;min-width:38px}.pwa-status{position:fixed;left:50%;transform:translate(-50%);bottom:max(20px,env(safe-area-inset-bottom));z-index:80;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:13px;background:#183e30;color:#f4f7e9;box-shadow:0 7px 24px #183e3030;font-size:14px}.pwa-status button{border:1px solid #ffffff44;background:#ffffff15;color:#fff;border-radius:8px;padding:8px 12px;min-height:40px}.pwa-help{max-width:540px}.pwa-help ol{padding-left:24px}.pwa-help li{padding:7px 0;line-height:1.65}.pwa-help .install-mark{width:64px;height:64px;border-radius:18px;margin-bottom:18px}.pwa-help p{color:#637461}.pwa-help .btn{min-height:46px}.pwa-help .soft-note{color:#596e52;background:#f1f5eb}body{padding-bottom:env(safe-area-inset-bottom)}@media(display-mode:standalone){.topbar,.control-topbar{padding-top:env(safe-area-inset-top);height:auto;min-height:76px}.workspace-footer{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:800px){.page-title .actions{width:100%;margin-top:5px}.card-heading{align-items:flex-start}.card-heading>input,.card-heading>label{flex-basis:100%;width:100%}.top-actions{gap:12px}.profile-picker,.change-context,.scope-picker{gap:20px}.scope-picker p{margin-bottom:0}.control-topbar{flex-wrap:wrap;gap:12px}.control-topbar .actions{gap:8px}.configuration-editor .card-heading>.btn{width:100%}.student-hero{gap:18px}.app-shell main#main,.control-workspace>main{padding-bottom:90px}.pwa-status{flex-wrap:wrap;justify-content:center;text-align:center;width:calc(100vw - 32px)}.pwa-dock{bottom:max(12px,env(safe-area-inset-bottom));right:12px}.pwa-help .form-footer>.btn{width:100%}.card>form+.btn,.card>.btn+.btn{margin:12px 0 0}.table-pagination .actions{gap:10px;flex-wrap:wrap}}@media(max-width:480px){.card .card-heading{gap:16px}.configuration-editor .tabs{gap:8px;padding:7px}.tabs button{white-space:normal;max-width:100%}.control-sidebar nav{gap:10px}.control-sidebar nav button{flex-shrink:0;min-height:44px}.control-sidebar .brand b{font-size:27px}.stats-grid{gap:14px}.feature-control-title{gap:16px}.form-grid{grid-template-columns:1fr}.auth-form{padding-bottom:90px}.pwa-dock button{font-size:13px}.modal-head h2{font-size:21px}}@media print{.pwa-dock,.pwa-status{display:none!important}}.attendance-buttons{gap:8px}.attendance-buttons button{min-height:44px;padding:10px 12px;font-size:13px}.filter-row{row-gap:18px}.filter-row label{min-width:min(180px,100%)}.demo-strip>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.demo-strip select{min-height:40px}.demo-strip button,.demo-strip a{min-height:40px;display:inline-flex;align-items:center;gap:8px}.profile .icon-button{margin-left:auto}.batch-card .actions{gap:10px}.tabs button{min-height:44px}@media(max-width:800px){.page-title .actions{max-width:none}.auth-panel{padding-bottom:90px}.auth-form{width:100%;min-width:0}.auth-form .form-footer{justify-content:stretch}.auth-form .form-footer>.btn{width:100%}.pwa-dock{max-width:calc(100vw - 24px)}.filter-row>.btn{width:100%}}.install-settings{padding:20px;margin-top:24px;border:1px solid #e1e8d8;background:#f7f9f1;border-radius:13px}.install-settings h3{margin-bottom:10px}.install-settings .btn{white-space:normal}.auth-panel .demo-buttons{display:flex;gap:12px;flex-wrap:wrap}.pwa-dock~dialog{z-index:90}
