@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:all .18s}button:disabled{opacity:.5;cursor:default}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:3px;outline:3px solid #a8cbb7}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1,h2,.brand{font-family:Manrope,sans-serif}h2{letter-spacing:-.4px;font-size:18px}small{display:block}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #dfe5dc;border-radius:8px;width:100%;min-width:0;padding:11px 12px}label{letter-spacing:1px;color:var(--muted);font-size:10px;font-weight:700;display:block}label input,label select,label textarea{letter-spacing:0;margin-top:7px;font-size:14px;font-weight:500;display:block}button svg{flex-shrink:0}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:246px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1px;align-items:center;padding:0 10px;font-size:29px;font-weight:800;display:flex}.brand-icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:37px;height:39px;margin-right:9px;display:grid}.workspace{border:1px solid var(--line);border-radius:10px;align-items:center;gap:11px;margin:31px 0 34px;padding:18px 10px;display:flex}.workspace strong{text-overflow:ellipsis;max-width:140px;font-size:13px;display:block;overflow:hidden}.workspace small{color:var(--muted);margin-top:4px;font-size:11px}.school-icon{color:var(--green)}.nav-label{letter-spacing:1.5px;color:#8b938c;margin-bottom:12px;padding:0 12px;font-size:9px;font-weight:700}.nav{color:#758176;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:13px 12px;font-size:13px;display:flex}.nav:hover{background:#f5f7f2}.nav.active{color:var(--green);background:#edf4ec;font-weight:700}.nav-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-bottom{margin-top:auto}.side-tip{color:#7b8760;background:#f6f7ee;border-radius:10px;margin:35px 4px 23px;padding:17px}.side-tip strong{color:#596642;margin:10px 0 7px;font-size:11px;display:block}.side-tip p{font-size:11px;line-height:1.7}.account{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:16px;padding-top:21px;display:flex}.account>span{background:#eceee8;border-radius:50%;place-items:center;width:35px;height:35px;font-size:10px;font-weight:700;display:grid}.account strong{font-size:12px}.account small{color:var(--muted);margin-top:4px;font-size:10px}.main{width:calc(100% - 246px);margin-left:246px}.topbar{border-bottom:1px solid var(--line);background:#ffffff80;justify-content:space-between;align-items:center;height:76px;padding:0 40px;font-size:12px;display:flex}.topbar>span{align-items:center;gap:12px;display:flex}.breadcrumb{color:#8a928b}.secure{color:#788477;font-size:11px}.secure>span{background:#86a878;border-radius:50%;width:6px;height:6px}main{max-width:1230px;margin:auto;padding:39px 40px 20px}.heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px;display:flex}.eyebrow{color:#899580;letter-spacing:1.8px;margin-bottom:13px;font-size:9px;font-weight:700}h1{letter-spacing:-1.2px;font-size:31px;font-weight:800;line-height:1.2}.heading p{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.6}.date-badge{border:1px solid var(--line);white-space:nowrap;color:#677367;background:#fff;border-radius:9px;align-items:center;gap:9px;padding:12px 15px;font-size:11px;display:flex}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px;display:grid}.stats>div{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:13px;padding:20px 18px;display:flex}.stat-icon{border-radius:11px;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.stat-icon svg{width:21px}.neutral{color:#849172;background:#f0f2ec}.green{color:#55916c;background:#edf5ef}.rose{color:#c67c6c;background:#fbefea}.amber{color:#beaa64;background:#f8f4e7}.stats small{letter-spacing:1px;color:#939a91;font-size:9px;font-weight:700}.stats strong{margin-top:6px;font-size:25px;line-height:1;display:block}.stats em{color:#959a92;margin-left:8px;font-size:9px;font-style:normal;font-weight:400}.card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.card-header{justify-content:space-between;align-items:center;gap:12px;padding:23px 25px;display:flex}.card-header p{color:var(--muted);margin-top:6px;font-size:12px}.badge{color:#969274;white-space:nowrap;text-transform:capitalize;background:#f3f3eb;border:1px solid #e8eadd;border-radius:6px;padding:6px 10px;font-size:10px}.controls{border-block:1px solid var(--line);background:#fbfcf8;align-items:flex-end;gap:20px;padding:20px 25px;display:flex}.controls label{width:230px}.controls label+label{width:170px}.teacher{color:var(--muted);margin-left:auto;padding-bottom:10px;font-size:10px;line-height:1.5}.teacher strong{color:#61715f;margin-top:3px;font-size:12px;display:block}.empty{text-align:center;flex-direction:column;align-items:center;gap:13px;padding:49px 20px 46px;display:flex}.empty>svg{color:#90a284}.empty-icon{color:#5c7d51;background:#eef3e9;border:1px solid #e5eadb;border-radius:18px;place-items:center;width:64px;height:64px;margin-bottom:5px;display:grid}.empty h2{font-size:20px}.empty p{color:var(--muted);max-width:350px;font-size:12px;line-height:1.7}.primary{background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:12px 19px;font-size:12px;font-weight:600;display:inline-flex}.empty .primary{margin-top:5px}.steps{color:#a6ada0;align-items:center;gap:13px;margin-top:31px;font-size:10px;display:flex}.steps span{gap:7px;display:flex}.steps b{color:#88917e;font-weight:500}.footnote{color:#959f8e;justify-content:center;align-items:center;gap:7px;margin-top:19px;font-size:10px;display:flex}.list-toolbar{justify-content:space-between;align-items:center;padding:18px 25px;display:flex}.search{letter-spacing:0;align-items:center;width:250px;display:flex;position:relative}.search svg{color:#9da795;position:absolute;left:10px}.search input{background:#fbfcf9;margin:0;padding:10px 10px 10px 34px;font-size:12px}.subtle{color:#527553;background:#fcfdf9;border:1px solid #dde6d9;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:11px;display:inline-flex}.table-head{border-block:1px solid var(--line);color:#939d8c;letter-spacing:1px;background:#fafbf7;grid-template-columns:1fr 230px 1fr;padding:12px 25px;font-size:9px;font-weight:700;display:grid}.student-row{border-bottom:1px solid #eff1eb;grid-template-columns:1fr 230px 1fr;align-items:center;gap:0;padding:15px 25px;display:grid}.student-name{align-items:center;gap:12px;display:flex}.avatar{color:#7a8a61;background:#edf0e7;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:10px;font-weight:700;display:grid}.tone1{color:#b29073;background:#f5ebe3}.tone2{color:#7c96a3;background:#eaf0f3}.tone3{color:#a18cac;background:#f1eaf4}.student-name strong{font-size:12px}.student-name small{color:#a0a797;margin-top:4px;font-size:10px}.status-buttons{gap:6px;display:flex}.status-buttons button{color:#99a18f;background:#fff;border:1px solid #e6e9e0;border-radius:6px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.status-buttons .present{color:#3e7c4e;background:#eaf4ea;border-color:#c8dfc9}.status-buttons .absent{color:#b97863;background:#fcf0ea;border-color:#f0d6c9}.note{background:#fafbf8;border:0;padding:10px;font-size:11px}.savebar{background:#fcfdf9;justify-content:space-between;align-items:center;gap:15px;padding:20px 25px;display:flex}.savebar strong{font-size:12px}.savebar small{color:#909b84;margin-top:5px;font-size:10px}.no-results{text-align:center;color:var(--muted);padding:30px}footer{border-top:1px solid var(--line);color:#abb09f;justify-content:space-between;margin-top:48px;padding-top:17px;font-family:Manrope,sans-serif;font-size:12px;font-weight:700;display:flex}footer span{font-size:10px;font-weight:400}.alert{color:#a4654b;background:#fff0e9;border:1px solid #efd8cb;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:13px 17px;font-size:12px;display:flex}.toast{z-index:80;color:#fff;background:#275c43;border-radius:10px;align-items:center;gap:10px;padding:15px 20px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 30px #18382430}.section-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;display:flex}.class-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.class-icon{color:#7f9668;background:#f0f4e9;border-radius:12px;place-items:center;width:48px;height:48px;margin-bottom:20px;display:grid}.class-card p{color:var(--muted);margin-top:7px;font-size:12px}.class-count{color:#7a876d;align-items:center;gap:7px;margin:21px 0;font-size:12px;display:flex}.class-actions{gap:7px;display:flex}.class-actions button{border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:8px 10px;font-size:10px;display:flex}.class-attend{color:var(--green);border-top:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;margin-top:18px;padding-top:16px;font-size:12px;font-weight:600;display:flex}details{color:#7c8973;margin-top:17px;font-size:11px}summary{cursor:pointer}.roster{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.record-row{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:18px;width:100%;padding:20px 25px;display:flex}.record-row:hover{background:#fbfcf8}.record-date{color:#849477;background:#f1f4e9;border:1px solid #e6ebdd;border-radius:7px;flex-direction:column;align-items:center;gap:3px;width:43px;padding:7px;font-size:9px;display:flex}.record-date strong{font-size:18px}.record-row>div strong{font-size:13px}.record-row small{color:#94a086;margin-top:5px;font-size:11px}.record-counts{gap:18px;margin-left:auto;font-size:11px;display:flex}.record-counts b{color:#62885d;font-weight:500}.record-counts em{color:#be8e79;font-style:normal}.record-count{color:var(--muted);margin-left:auto;padding-bottom:12px;font-size:11px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#1c302b65;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #d9e1d4;border-radius:17px;width:100%;max-width:450px;max-height:90vh;padding:32px;position:relative;overflow:auto;box-shadow:0 20px 80px #14271920}.close{color:#8c9885;position:absolute;top:18px;right:18px}.modal h2{font-size:23px}.modal p{color:var(--muted);margin:10px 0 25px;font-size:12px;line-height:1.7}.modal label{margin-top:20px}.modal>.primary{width:100%;margin-top:24px}.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 0;display:flex}.detail-row small{color:var(--muted);margin-top:5px;font-size:11px}.detail-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.form-error{color:#af6450!important;margin-bottom:0!important}@media (min-width:1500px){main{padding-top:50px}.heading{margin-bottom:40px}.empty{padding-block:65px}}@media (max-width:1150px){.sidebar{width:210px;padding-inline:15px}.main{width:calc(100% - 210px);margin-left:210px}main{padding:30px 25px}.topbar{padding-inline:25px}.stats{gap:10px}.stats>div{gap:9px;padding:15px 12px}.stats em{margin:8px 0 0;font-size:9px;display:block}.heading h1{font-size:28px}.class-grid{grid-template-columns:repeat(2,1fr)}.student-row,.table-head{grid-template-columns:1fr 200px 1fr;padding-inline:20px}.date-badge{display:none}}@media (max-width:850px){.sidebar{width:180px}.main{width:calc(100% - 180px);margin-left:180px}.brand{padding:0;font-size:25px}.workspace{padding:14px 8px}.workspace strong{max-width:105px}.side-tip{display:none}.nav{gap:8px;padding-inline:10px;font-size:11px}.topbar .secure{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stats em{margin-left:7px;display:inline}.table-head{grid-template-columns:1fr 200px}.table-head span:last-child{display:none}.student-row{grid-template-columns:1fr 200px;gap:8px}.note{grid-column:1/-1;width:calc(100% - 48px);margin-left:48px;padding:7px 10px;font-size:10px}.controls{gap:12px;padding:16px 20px}.teacher{display:none}.class-grid{grid-template-columns:1fr}.card-header,.class-card{padding:20px}.steps{gap:7px}}@media (max-width:600px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;padding:16px 18px;display:block;position:relative}.brand{font-size:25px}.brand-icon{border-radius:9px;width:32px;height:33px}.workspace,.nav-label,.sidebar-bottom{display:none}.sidebar nav{gap:5px;margin-top:17px;display:flex}.nav{white-space:nowrap;justify-content:center;gap:5px;margin:0;padding:10px 6px;font-size:11px}.nav svg{width:15px}.nav-dot{display:none}.main{width:100%;margin:0}.topbar{height:45px;padding:0 20px;font-size:10px}main{padding:25px 16px 15px}.eyebrow{margin-bottom:10px;font-size:8px}.heading h1{font-size:27px}.heading p{margin-top:8px;font-size:12px}.heading{margin-bottom:23px}.stats{gap:9px;margin-bottom:18px}.stats>div{gap:10px;padding:14px 11px}.stat-icon{border-radius:9px;width:35px;height:35px}.stats small{font-size:8px}.stats strong{font-size:23px}.stats em{margin:7px 0 0;font-size:8px;display:block}.card-header{align-items:flex-start;padding:18px 15px}.card-header h2{font-size:16px}.card-header p{font-size:10px}.badge{padding:5px 7px;font-size:9px}.controls{gap:12px;padding:16px 15px}.controls label,.controls label+label{width:50%;min-width:0}.controls input,.controls select{padding:10px 8px;font-size:12px}.empty{padding:35px 15px}.empty h2{font-size:18px}.empty p{font-size:11px}.steps{gap:6px;font-size:8px}.steps span{gap:4px}.steps svg{width:10px}.list-toolbar{gap:8px;padding:15px}.search{width:50%}.search input{font-size:10px}.subtle{padding:9px 8px;font-size:10px}.table-head{grid-template-columns:1fr 168px;padding:10px 15px;font-size:8px}.student-row{grid-template-columns:1fr 168px;gap:8px;padding:13px 15px}.student-name{gap:8px}.avatar{width:30px;height:30px;font-size:9px}.student-name strong{font-size:11px}.student-name small{font-size:9px}.status-buttons{gap:5px}.status-buttons button{gap:3px;padding:8px 7px;font-size:9px}.status-buttons svg{width:13px}.note{width:calc(100% - 38px);margin-left:38px}.savebar{align-items:center;gap:10px;padding:16px 15px}.savebar small{max-width:150px;font-size:9px;line-height:1.5}.savebar .primary{gap:6px;padding:11px 12px;font-size:10px}.savebar strong{font-size:11px}.footnote{font-size:8px;line-height:1.6}.footnote svg{flex-shrink:0}.class-grid{grid-template-columns:1fr}.section-top{font-size:10px}.record-count{display:none}.record-row{gap:11px;padding:16px 15px}.record-counts{flex-direction:column;gap:4px;font-size:9px}.record-row>div strong{font-size:12px}.record-row small{font-size:9px}.record-row>svg{width:15px}.modal{max-height:85vh;padding:25px}.toast{font-size:12px;bottom:20px;left:20px;right:20px}footer{margin-top:33px}footer span{font-size:9px}}.register{max-width:940px;margin-inline:auto}.stats>div{padding:13px 14px}.card-header{padding:17px 20px}.controls{padding:14px 20px}.student-row{gap:8px;padding-block:9px}.student-name,.student-name>div{min-width:0}.student-name strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35}.student-name small{display:none}.avatar{width:32px;height:32px}.class-card{padding:18px}.class-card .class-icon{width:40px;height:40px;margin-bottom:12px}.class-count{margin:14px 0}.class-attend{margin-top:12px;padding-top:12px}.roster{padding:7px 0;font-size:14px}.detail-row strong{font-size:15px}@media (max-width:850px){.student-row{row-gap:4px;padding:8px 18px}}@media (max-width:600px){.stats>div{padding:10px 11px}.stats strong{font-size:21px}.stats em{margin-top:5px}.card-header{padding:14px 12px}.controls,.list-toolbar{padding:12px}.student-row{grid-template-columns:minmax(0,1fr) 160px;gap:4px 7px;padding:7px 12px}.table-head{grid-template-columns:minmax(0,1fr) 160px;padding-inline:12px}.student-name{gap:7px}.student-name strong{font-size:14px}.avatar{width:27px;height:27px;font-size:8px}.status-buttons button{padding:8px 6px}.class-card{padding:15px}.detail-row strong{font-size:14px}}.student-row,.table-head{grid-template-columns:minmax(0,1fr) 230px}.student-name{text-align:left;color:var(--ink);border-radius:5px;padding:0}.student-name:hover .name-label strong{color:var(--green);text-underline-offset:3px;text-decoration:underline}.name-label{min-width:0}@media (max-width:1150px){.student-row,.table-head{grid-template-columns:minmax(0,1fr) 200px}}@media (max-width:600px){.student-row,.table-head{grid-template-columns:minmax(0,1fr) 160px}.student-row{min-height:48px}}.report-actions{flex-wrap:wrap;gap:8px;display:flex}.report-filters{flex-wrap:wrap;align-items:flex-end;gap:14px}.report-filters label,.report-filters label+label{flex:1;width:auto;min-width:140px}.report-filters label:nth-child(2){flex:1.5}.report-output{padding:24px}.report-title h2{margin-top:9px;font-size:24px}.report-title p{color:var(--muted);margin-top:9px;font-size:12px}.report-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px;display:grid}.report-summary>div{border:1px solid var(--line);background:#f6f8f1;border-radius:9px;padding:15px}.report-summary small{letter-spacing:.6px;color:var(--muted);font-size:9px}.report-summary strong{margin-top:8px;font-size:25px;display:block}.report-explainer,.report-generated{color:var(--muted);margin:14px 0;font-size:10px;line-height:1.6}.report-table-wrap{overflow:auto}.report-table{border-collapse:collapse;text-align:left;width:100%;margin-top:22px;font-size:12px}.report-table th{color:var(--muted);background:#f7f9f2;padding:12px 10px;font-size:10px;font-weight:600}.report-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 10px;line-height:1.5}.report-table td:first-child{white-space:nowrap}.report-table td:last-child{overflow-wrap:anywhere;min-width:130px}.report-generated{text-align:right;margin-top:22px}@media (max-width:600px){.sidebar nav{flex-wrap:wrap}.sidebar .nav{flex:42%}.report-card .card-header{flex-direction:column;gap:14px}.report-actions{width:100%}.report-actions button{flex:1}.report-filters label,.report-filters label+label{flex:calc(50% - 14px);min-width:0}.report-output{padding:15px}.report-summary{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.report-summary>div{padding:11px}.report-summary small{font-size:8px}.report-summary strong{font-size:22px}.report-table{font-size:11px}.report-title h2{font-size:21px}}@media print{body{color:#172b20;background:#fff}.sidebar,.topbar,.heading,.alert,.toast,footer,.report-card>.card-header,.report-filters,.overlay{display:none!important}.shell,.main{width:100%;margin:0;display:block}main{max-width:none;padding:0}.report-card{border:0;border-radius:0}.report-output{padding:0}.report-summary{grid-template-columns:repeat(4,1fr)}.report-summary>div{break-inside:avoid;background:#fff;border:1px solid #bbb}.report-table-wrap{overflow:visible}.report-table{width:100%}.report-table th,.report-table td{padding:10px 8px}.report-table tr{break-inside:avoid}.report-table thead{display:table-header-group}.badge{color:#000;background:0 0;border:0;padding:0}.report-title{margin-bottom:20px}.report-generated{margin-top:25px}@page{size:A4;margin:16mm}}.records-subtitle{margin-top:28px}.report-output h3{font-size:15px}.report-table td:nth-child(3){min-width:100px}.report-link{justify-content:center;align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.report-actions .report-link{border-radius:8px;padding:9px 12px}.report-actions{align-items:center}.mobile-app-tools{z-index:25;align-items:center;gap:8px;display:flex;position:fixed;top:17px;right:14px}.mobile-app-tools>.subtle{border:1px solid var(--line);background:#fff;border-radius:8px}.mobile-app-tools:empty{display:none}.offline-status{background:#fff1d3;border-radius:8px;align-items:center;gap:5px;padding:10px;font-size:11px;display:flex}.install-icon{border-radius:16px;margin-bottom:16px}.install-steps{margin:20px 0}.install-steps h3{margin:16px 0 7px;font-size:14px}.install-steps p{font-size:13px;line-height:1.7}.modal>.primary{margin-top:14px;display:inline-flex}.install-steps~p{font-size:12px}.topbar>.secure{margin-right:130px}@media (max-width:600px){.mobile-app-tools{top:18px;right:16px}.mobile-app-tools .subtle{padding:8px;font-size:11px}.mobile-app-tools .offline-status{position:fixed;top:65px;left:12px;right:12px}.sidebar{padding-top:calc(16px + env(safe-area-inset-top))}.sidebar nav{border-top:1px solid var(--line);z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fff;flex-wrap:nowrap;margin:0;position:fixed;bottom:0;left:0;right:0}.sidebar nav .nav{flex-direction:column;flex:1;gap:5px;min-width:0;font-size:10px}.sidebar nav .nav svg{width:20px;height:20px}.main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topbar{display:none}.heading{margin-top:0}.savebar{bottom:calc(76px + env(safe-area-inset-bottom));z-index:10;background:#fff;border-radius:0 0 12px 12px;position:sticky}input,select,textarea,.controls input,.controls select{font-size:16px!important}.modal{max-height:calc(90dvh - env(safe-area-inset-top));overflow:auto}}@media print{.mobile-app-tools{display:none!important}}.dashboard-switcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 22px;display:grid}.dashboard-switch-card{background:#fff;border:1px solid #e2eae5;border-radius:14px;align-items:flex-start;gap:11px;min-width:0;padding:15px 13px;display:flex}.dashboard-switch-card>div{flex:1;min-width:0}.dashboard-switch-card>div>strong{color:var(--ink);font-size:14px;line-height:1.3;display:block}.dashboard-switch-card>div>small{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.5;display:block}.dashboard-switch-card>button{color:#147a67;cursor:pointer;background:#e7f5ef;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:8px 9px;font-size:11px;font-weight:700;display:inline-flex}.dashboard-switch-card>button:disabled{opacity:.6}.dashboard-access-on,.dashboard-access-empty{margin-top:8px;font-size:10px;font-weight:700;display:inline-flex}.dashboard-access-on{color:#25845b}.dashboard-access-empty{color:#8a7462}.empty-role-page{color:#20332b;background:#f3f6f5;min-height:100dvh;padding-bottom:85px}.empty-role-header{z-index:20;background:#fffffff5;border-bottom:1px solid #dce5e0;justify-content:space-between;align-items:center;min-height:76px;padding:12px clamp(18px,5vw,70px);display:flex;position:sticky;top:0}.empty-role-header-user{color:#63756c;align-items:center;gap:16px;font-size:13px;display:flex}.empty-role-header-user a{color:#147a67;font-weight:700;text-decoration:none}.empty-role-main{width:min(850px,100%);margin:0 auto;padding:42px 24px 48px}.empty-role-main .welcome-tag{margin:0 0 18px}.empty-role-main>h1{letter-spacing:-1.7px;margin:0;font-size:clamp(30px,5vw,48px)}.empty-role-main>p{color:#6d7d75;max-width:650px;font-size:17px;line-height:1.7}.empty-role-card{background:linear-gradient(125deg,#eef8f2,#f8f6ff 65%,#fff9ee);border:1px solid #d8e5dd;border-radius:20px;grid-template-columns:auto 1fr;align-items:start;gap:16px;margin:30px 0 16px;padding:23px;display:grid}.empty-role-icon{color:#25815c;background:#def2e8;border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.empty-role-card h2{margin:1px 0 7px;font-size:19px}.empty-role-card p{color:#74847c;margin:0;font-size:14px;line-height:1.6}.empty-role-card>a{color:#147a67;grid-column:2;font-size:13px;font-weight:700;text-decoration:none}.empty-role-switch{color:#273d34;background:#fff;border:1px solid #e1e8e4;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:15px 17px;font-weight:650;text-decoration:none;display:flex}.empty-role-signout{color:#6d7d75;margin-top:22px;font-size:13px;display:inline-flex}.empty-role-bottom-nav{display:none}@media (max-width:700px){.dashboard-switcher{grid-template-columns:1fr}.dashboard-switch-card{padding:13px}.dashboard-switch-card>div>small{font-size:10px}.empty-role-header{min-height:68px;padding:12px 17px}.empty-role-header-user{gap:9px;font-size:11px}.empty-role-header-user>span{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.empty-role-main{padding:32px 18px 30px}.empty-role-main>p{font-size:15px}.empty-role-card{gap:12px;padding:18px}.empty-role-card h2{font-size:17px}.empty-role-card p{font-size:13px}.empty-role-bottom-nav{z-index:30;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #e0e7e3;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.empty-role-bottom-nav a{color:#76847d;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:10px;text-decoration:none;display:flex}.empty-role-bottom-nav a.active{color:#168673;font-weight:700}}.overview-controls{margin-bottom:20px}.attendance-screen main{padding-top:20px}.attendance-screen .savebar{justify-content:space-between}.attendance-screen footer{display:none}@media (max-width:600px){.sidebar nav .nav{padding:9px 3px;font-size:9px}.attendance-screen main{padding-top:16px}.overview-controls .controls{flex-wrap:nowrap}.overview-controls .controls label{flex:1}}.attendance-screen{height:100vh;height:100dvh;min-height:0;overflow:hidden}.attendance-screen .main{flex-direction:column;height:100%;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.attendance-screen .topbar{flex-shrink:0}.attendance-screen main{flex-direction:column;flex:1;width:100%;min-height:0;margin:0 auto;display:flex;overflow:hidden}.attendance-screen .register{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.attendance-screen .register>.controls,.attendance-screen .register>.table-head,.attendance-screen .register>.savebar{flex-shrink:0}.attendance-screen .student-list{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:8px;scroll-padding-block:8px;overflow:hidden auto}.attendance-screen .savebar{z-index:auto;background:#fff;position:static;bottom:auto}.attendance-screen .register>.empty{min-height:0;overflow-y:auto}.attendance-screen .student-row{flex-shrink:0}.attendance-screen .name-label strong{white-space:normal;overflow-wrap:anywhere}@media (max-width:600px){.attendance-screen{padding-bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.attendance-screen .sidebar{flex-shrink:0;padding-bottom:12px}.attendance-screen .main{flex:1;height:auto;min-height:0;padding-bottom:0}.attendance-screen main{padding:8px 12px 10px}.attendance-screen .register>.controls{gap:10px;padding:12px}.attendance-screen .savebar{border-radius:0 0 12px 12px;padding:12px}.attendance-screen .student-row{padding-inline:12px}}.topbar{z-index:20;background:var(--bg);position:sticky;top:0}@media (max-width:600px){.sidebar{z-index:24;background:#fff;position:sticky;top:0}.mobile-app-tools{top:calc(18px + env(safe-area-inset-top))}.attendance-screen .sidebar{position:sticky;top:0}}.shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.main{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.topbar{background:#fff;flex-shrink:0;height:48px;position:relative;top:auto}.main>main{overscroll-behavior-y:contain;flex:1;width:100%;min-height:0;margin:0 auto;padding-top:20px;overflow-y:auto}.attendance-screen .topbar{position:relative;top:auto}.attendance-screen .main>main{overflow:hidden}@media (max-width:600px){.shell,.attendance-screen{padding-top:calc(48px + env(safe-area-inset-top));padding-bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.sidebar,.attendance-screen .sidebar{width:100%;height:calc(48px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 14px 7px;z-index:24;background:#fff;position:fixed;top:0;left:0;right:0}.sidebar .brand{width:max-content;padding:0;font-size:22px;line-height:32px}.sidebar .brand-icon{border-radius:8px;width:28px;height:30px;margin-right:7px}.sidebar .brand-icon svg{width:20px;height:20px}.mobile-app-tools{top:calc(8px + env(safe-area-inset-top));right:12px}.mobile-app-tools>.subtle{padding:7px 9px}.main,.attendance-screen .main{flex:1;width:100%;height:auto;min-height:0;margin:0;padding-bottom:0}.main>main{padding:12px 12px 14px}.attendance-screen .main>main{padding:8px 12px 10px}.mobile-app-tools .offline-status{top:calc(50px + env(safe-area-inset-top))}}@media print{.shell,.main,.main>main{height:auto;min-height:0;display:block;overflow:visible}.shell,.main>main{padding:0}.topbar,.sidebar{display:none!important}}@media (max-width:600px){.shell,.attendance-screen{padding-top:calc(40px + env(safe-area-inset-top))}.sidebar,.attendance-screen .sidebar{height:calc(40px + env(safe-area-inset-top));padding:calc(3px + env(safe-area-inset-top)) 12px 3px}.sidebar .brand{font-size:21px;line-height:32px}.sidebar .brand-icon{width:26px;height:28px}.mobile-app-tools{top:calc(4px + env(safe-area-inset-top))}.main>main,.attendance-screen .main>main{padding-top:4px}.heading{margin-bottom:14px}.heading .eyebrow{margin-bottom:5px}.heading p{margin-top:4px}.mobile-app-tools .offline-status{top:calc(42px + env(safe-area-inset-top))}}.report-selection{letter-spacing:0;color:var(--ink);overflow-wrap:anywhere;margin-top:7px;font-size:12px;font-weight:500;line-height:1.4;display:block}@media (max-width:600px){.shell,.attendance-screen{padding-top:calc(32px + env(safe-area-inset-top))}.sidebar,.attendance-screen .sidebar{height:calc(32px + env(safe-area-inset-top));padding:calc(3px + env(safe-area-inset-top)) 12px 3px}.sidebar .brand{font-size:20px;line-height:26px}.sidebar .brand-icon{border-radius:7px;width:24px;height:24px}.sidebar .brand-icon svg{width:18px;height:18px}.mobile-app-tools{top:env(safe-area-inset-top)}.mobile-app-tools>.subtle{padding:7px 8px;font-size:10px}.mobile-app-tools .offline-status{top:calc(34px + env(safe-area-inset-top))}.report-filters{background:#f7f9f5;gap:14px;padding:14px 12px}.report-filters label,.report-filters label+label{color:#344b3c;letter-spacing:.5px;font-size:12px}.report-filters label:first-child,.report-filters label:nth-child(2){flex:100%;width:100%;min-width:0}.report-filters select,.report-filters input{color:#25362d;background:#fff;border:1px solid #aebcac;min-height:48px;padding:12px;font-weight:600;font-size:16px!important}.report-student-filter select{border-color:#648772}.report-student-filter .report-selection{margin-top:8px;font-size:14px;font-weight:600;line-height:1.5}}html{overscroll-behavior:none;height:100%;overflow:hidden}body{overscroll-behavior:none;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.shell{overscroll-behavior:none}.main>main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media (max-width:600px){.sidebar,.attendance-screen .sidebar{position:fixed;top:0;bottom:auto}.sidebar nav{z-index:30;background:#fff;margin:0;position:fixed;inset:auto 0 0}}@media print{html,body{overscroll-behavior:auto;height:auto;position:static;overflow:visible}}.account-open{z-index:25;width:28px;height:28px;color:var(--green);background:#edf4ec;border-radius:7px;place-items:center;display:grid;position:fixed;top:38px;left:205px}.account{text-align:left;width:100%}.account strong{overflow-wrap:anywhere}.account-email{overflow-wrap:anywhere;line-height:1.7!important}.account-school{background:#f3f6ed;border-radius:9px;margin-top:16px;padding:14px}.account-signout{color:#8b3838;align-items:center;gap:8px;margin-top:18px;padding:10px 0;font-weight:600;display:flex}.welcome-page{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.welcome-nav{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 25px;display:flex}.welcome-login{border:1px solid var(--line);border-radius:8px;margin-right:130px;padding:10px 14px;font-weight:600}.welcome-main{text-align:center;overscroll-behavior:contain;width:100%;max-width:1000px;margin:0 auto;padding:45px 24px;overflow-y:auto}.welcome-tag{letter-spacing:1.5px;color:var(--green);margin-bottom:17px;font-size:11px;font-weight:700}.welcome-main h1{letter-spacing:-1.5px;font-size:44px;line-height:1.15}.welcome-main>p{color:#637163;max-width:550px;margin:18px auto;font-size:16px;line-height:1.7}.welcome-cta{min-height:48px;margin:8px auto 12px;display:inline-flex}.welcome-auth-note{color:#667266;font-size:12px;line-height:1.5;display:block}.welcome-features{text-align:left;grid-template-columns:repeat(4,1fr);gap:14px;margin:35px 0 24px;display:grid}.welcome-features article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px}.welcome-features svg{color:var(--green);margin-bottom:12px}.welcome-features h2{font-size:16px}.welcome-features p{color:#637163;margin-top:8px;font-size:13px;line-height:1.6}.welcome-steps h2{font-size:18px}.welcome-steps p{margin-top:10px;font-size:13px;line-height:1.7}@media (max-width:1150px){.account-open{left:174px}}@media (max-width:850px){.account-open{left:147px}}@media (max-width:600px){.account-open{left:auto;right:110px;top:calc(2px + env(safe-area-inset-top));width:28px;height:28px}.welcome-nav{padding:calc(8px + env(safe-area-inset-top)) 12px 8px}.welcome-nav .brand{padding:0;font-size:22px}.welcome-login{margin-right:100px;padding:8px;font-size:12px}.welcome-main{padding:24px 16px calc(25px + env(safe-area-inset-bottom))}.welcome-main h1{letter-spacing:-1px;font-size:31px}.welcome-main>p{margin:14px auto;font-size:14px}.welcome-features{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.welcome-features article{padding:13px}.welcome-features h2{font-size:14px}.welcome-features p{font-size:12px}.welcome-cta{font-size:14px}.welcome-tag{font-size:10px}}.nav-label-mobile,.mobile-account{display:none}.sidebar-bottom .account{justify-content:flex-end}@media (max-width:600px){.nav-label-desktop{display:none}.nav-label-mobile{display:inline}.sidebar nav .mobile-account{display:flex}.sidebar nav .nav{flex:1 1 0;width:0;min-width:0;padding-inline:2px;font-size:10px}.sidebar nav .nav span{white-space:nowrap}}.class-actions{flex-wrap:wrap}.access-help{margin:12px 0!important;font-size:12px!important;line-height:1.6!important}.access-invites{margin-top:20px}.access-invites h3{margin:0 0 4px;font-size:15px}.access-link{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.access-link small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px}.access-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.revoke-access{color:#a23b3b;margin-top:14px;padding:8px 0;font-size:12px}.class-card{grid-template-columns:minmax(0,1fr) 32px;align-content:start;gap:4px 10px;padding:12px 14px;display:grid}.class-card .class-icon{border-radius:8px;grid-area:1/2/3;align-self:center;width:30px;height:30px;margin:0}.class-card .class-icon svg{width:19px;height:19px}.class-card h2{overflow-wrap:anywhere;grid-area:1/1;font-size:17px;line-height:1.3}.class-card>p{overflow-wrap:anywhere;grid-area:2/1;margin:0;font-size:12px;line-height:1.4}.class-card .class-count{grid-column:1/-1;gap:5px;margin:3px 0;font-size:12px}.class-card .class-actions{grid-column:1/-1;grid-template-columns:1.25fr .85fr 1fr;gap:5px;margin:0;display:grid}.class-card .class-actions button{text-align:center;justify-content:center;min-height:38px;padding:6px 5px;font-size:11px;line-height:1.2}.shared-access-main{text-align:left;width:100%;max-width:760px}.shared-access-main>p{max-width:600px;margin:18px 0;line-height:1.7}.shared-access-main>p strong{overflow-wrap:anywhere}.shared-access-list{text-align:left;gap:12px;width:100%;max-width:620px;margin:28px 0;display:grid}.shared-access-tile{border:1px solid var(--line);color:var(--ink);text-align:left;background:#f2efe8;border-radius:14px;align-items:center;gap:13px;padding:16px;display:flex;box-shadow:5px 5px 11px #d7d1c655,-5px -5px 11px #fffdfa}.shared-access-tile>span:nth-child(2){flex:1;min-width:0}.shared-access-tile strong{overflow-wrap:anywhere;font-size:15px;line-height:1.45;display:block}.shared-access-tile small{color:var(--muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.5;display:block}.shared-access-icon{width:42px;height:42px;color:var(--green);background:#e3eee2;border-radius:12px;flex:none;place-items:center;display:grid}.shared-access-tile>svg:last-child{color:var(--green);flex:none}.shared-access-tile:hover{background:#eaf2e7;border-color:#b9cdb9}@media (max-width:600px){.shared-access-list{margin:22px 0}.shared-access-tile{gap:10px;padding:13px}.shared-access-tile strong{font-size:14px}.shared-access-icon{width:38px;height:38px}}.class-card details{grid-column:1/-1;margin:2px 0 0}.class-card details summary{cursor:pointer;padding:7px 0;font-size:12px;line-height:1.4}.class-card .roster{padding:5px 0}.class-card .class-attend{grid-column:1/-1;min-height:34px;margin:2px 0 0;padding:8px 0 0;font-size:12px}@media (max-width:600px){.class-card{gap:3px 8px;padding:10px 12px}.class-grid{gap:10px}.class-card .class-actions button{min-height:38px}.class-card h2{font-size:17px}}.student-row .status-buttons{justify-content:stretch;gap:6px;width:100%}.student-row .status-buttons button{flex:1;justify-content:center;gap:5px;min-width:0;min-height:42px;padding:10px 8px;font-size:13px;font-weight:600;line-height:1.2}.student-row .status-buttons svg{flex-shrink:0;width:16px;height:16px}@media (max-width:600px){.student-row .status-buttons{gap:5px}.student-row .status-buttons button{gap:4px;min-height:40px;padding:9px 5px;font-size:12px}.student-row .status-buttons svg{width:14px;height:14px}}.overview-stats>.overview-stat{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:13px;min-width:0;padding:13px 14px;display:flex;position:relative}.overview-stats>.overview-stat:hover{background:#f4f8ef;border-color:#aac2aa}.overview-card-arrow{color:var(--muted);flex-shrink:0;margin-left:auto}.overview-stats>.overview-stat section{min-width:0}.overview-names-modal{flex-direction:column;display:flex}.overview-name-count{color:var(--muted);margin:14px 0 8px;font-size:12px}.overview-names{overscroll-behavior:contain;min-height:0;max-height:55dvh;margin:0;padding:0;list-style:none;overflow-y:auto}.overview-names li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.overview-names li .stat-icon{border-radius:8px;width:30px;height:30px}.overview-names strong{overflow-wrap:anywhere;font-size:15px;display:block}.overview-names small{color:var(--muted);margin-top:4px;font-size:12px}.overview-no-names{padding:12px 0;line-height:1.6}@media (max-width:600px){.overview-stats>.overview-stat{gap:8px;padding:10px 11px}.overview-stats>.overview-stat .overview-card-arrow{width:12px}.overview-stats>.overview-stat em{font-size:9px;line-height:1.4}.overview-names-modal{padding:22px 18px}}.attendance-screen .register>.controls{align-items:flex-end;gap:10px;padding:5px 10px}.attendance-screen .register>.controls label{letter-spacing:.5px;font-size:10px;line-height:1.1}.attendance-screen .register>.controls label input,.attendance-screen .register>.controls label select{height:36px;min-height:36px;margin-top:2px;padding:5px 8px;line-height:1.2}.attendance-screen .register>.savebar{gap:8px;padding:4px 10px}.attendance-screen .register>.savebar .primary{gap:6px;min-height:40px;padding:7px 12px;font-size:12px;line-height:1.2}.attendance-screen .register>.savebar .primary svg{width:17px;height:17px}.attendance-screen .register>.table-head{padding-block:5px}@media (max-width:600px){.attendance-screen .main>main{padding:3px 10px 4px}.attendance-screen .register>.controls{gap:8px;padding:4px 8px}.attendance-screen .register>.controls label{flex:1;width:50%;min-width:0}.attendance-screen .register>.controls label input,.attendance-screen .register>.controls label select{font-size:16px!important}.attendance-screen .register>.savebar{padding:4px 8px}}.attendance-screen .register>.controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;column-gap:8px;display:grid}.attendance-screen .register>.controls>label{flex-direction:column;flex:none;justify-content:flex-start;gap:2px;width:100%;min-width:0;margin:0;display:flex}.attendance-screen .register>.controls>label>select,.attendance-screen .register>.controls>label>input{box-sizing:border-box;background-color:#fff;border:1px solid #dfe5dc;border-radius:8px;width:100%;min-width:0;max-width:100%;height:36px;min-height:36px;max-height:36px;margin:0;padding:5px 8px;font-size:16px;line-height:24px;display:block}.attendance-screen .register>.controls input[type=date]{-webkit-appearance:none;appearance:none;text-align:left}.attendance-screen .register>.controls input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}.attendance-screen .register>.controls input[type=date]::-webkit-datetime-edit{padding:0}.account-page{gap:14px;width:100%;max-width:760px;padding-bottom:12px;display:grid}.account-group-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;padding:3px 4px 0;font-size:11px;font-weight:800}.account-resource-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.account-resource-links a{min-height:46px;color:var(--ink);background:#f4faf6;border:1px solid #d8e6df;border-radius:13px;align-items:center;gap:10px;padding:11px 13px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.account-resource-links a svg{color:var(--green);flex:none}:is(.account-resource-links a:hover,.account-resource-links a:focus-visible){background:#e7f4eb;border-color:#a9d2bf;outline:none}.info-page{width:100%;max-width:880px;height:100dvh;min-height:0;padding:20px clamp(16px,4vw,36px) calc(40px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;gap:20px;margin:0 auto;display:flex;position:fixed;inset:0;overflow:hidden auto}.info-page-header{border-bottom:1px solid #dbe6e1;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 16px;display:flex}.info-page-header .brand{color:var(--ink);align-items:center;gap:8px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.info-page-header .brand-icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:23px;display:grid}.info-page-header .brand-dot{color:#53b89c;margin-left:-8px}.info-back-link{color:var(--green);white-space:nowrap;padding:8px 0;font-weight:700;text-decoration:none}.info-page-card{background:#f7f8f5;flex:none;padding:clamp(22px,5vw,44px)}.info-page-eyebrow{color:var(--muted);letter-spacing:.16em;font-size:11px;font-weight:800}.info-page-card h1{color:var(--ink);margin:12px 0 22px;font-size:clamp(30px,6vw,44px);line-height:1.1}.info-page-content{color:#53625d;font-size:16px;line-height:1.75}.info-page-content h2{color:var(--ink);margin:22px 0 6px;font-size:19px}.info-page-content p{margin:0 0 14px}.info-contact-action{color:#236c52;background:#e1f1e7;border-radius:12px;justify-content:center;align-items:center;min-height:44px;margin:4px 0 18px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.info-contact-note{border-top:1px solid #dce5e1;padding-top:12px;font-size:14px}.info-page-footer{color:var(--muted);border-top:1px solid #dbe6e1;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;font-size:13px;display:flex}.account-profile{align-items:center;gap:15px;padding:20px;display:flex}.account-profile>div:last-child{min-width:0}.account-profile h2{overflow-wrap:anywhere;font-size:20px}.account-profile-icon{width:52px;height:52px;color:var(--green);background:#edf4ec;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.account-profile-email{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 10px;font-size:14px;line-height:1.5}.account-settings-card{padding:20px}.account-section-title{color:var(--green);align-items:center;gap:9px;margin-bottom:16px;display:flex}.account-section-title h2{color:var(--ink);font-size:17px}.account-setting-help{color:var(--muted);margin:10px 0 14px;font-size:13px;line-height:1.6}.account-settings-card form{max-width:480px}.account-settings-card label{font-size:11px}.account-settings-card input{min-height:42px}.account-page-signout{border:1px solid #ebd4d0;border-radius:8px;margin-top:0;padding:11px 16px;display:inline-flex}@media (max-width:600px){.account-page{gap:10px}.account-group-label{padding:4px 3px 0;font-size:10px}.account-profile,.account-settings-card{padding:15px}.account-profile{gap:12px}.account-profile h2{font-size:18px}.account-profile-email{font-size:14px}.account-profile-icon{border-radius:11px;width:44px;height:44px}.account-section-title{margin-bottom:12px}.account-setting-help{font-size:13px}.account-settings-card .primary,.account-page-signout{justify-content:center;min-height:42px}.account-page-signout{width:100%}.account-resource-links{grid-template-columns:1fr 1fr;gap:7px}.account-resource-links a{min-height:44px;padding:9px;font-size:12px}.info-page{gap:14px;padding-top:12px}.info-page-header{padding-bottom:12px}.info-page-card{padding:22px 18px}.info-page-content{font-size:15px}.info-page-footer{font-size:12px}}:root{--bg:#f2efe8;--ink:#2a392f;--muted:#68776d;--line:#e4ded3}body{background:var(--bg);color:var(--ink)}.sidebar{background:#f2efe8;border-color:#0000;box-shadow:6px 0 18px #cfc9bd55}.brand-icon{box-shadow:inset 2px 2px 4px #fff5,inset -3px -3px 6px #143d2c66,4px 4px 9px #c9c3b8}.workspace,.card,.stats>div,.overview-stats>.overview-stat,.side-tip,.class-card,.account-profile,.account-settings-card,.overview-controls,.report-card{background:#f2efe8;border:1px solid #faf8f2;box-shadow:7px 7px 15px #d7d1c6,-7px -7px 15px #fffdfa}.workspace{border-radius:14px}.card,.class-card{border-radius:17px}.main>main{scrollbar-color:#cbc5b9 transparent}.nav{border:1px solid #0000;border-radius:12px}.nav.active{background:#e9f0e7;border-color:#edf3e9;box-shadow:inset 3px 3px 6px #d1d9cd,inset -3px -3px 6px #fff}.account{border-color:#e4ded3}.stat-icon,.class-icon,.account-profile-icon,.empty-icon{box-shadow:inset 3px 3px 6px #d9d5ca,inset -3px -3px 6px #fff}.status-buttons button,.subtle{color:#536357;background:#f2efe8;border-color:#e6e0d5;box-shadow:3px 3px 7px #d7d1c6,-3px -3px 7px #fffdfa}.status-buttons button:active,.subtle:active,.nav:active{transform:translateY(1px);box-shadow:inset 2px 2px 5px #d7d1c6,inset -2px -2px 5px #fffdfa}.status-buttons .present{color:#286744;background:#e5f0e4;border-color:#d5e4d2;box-shadow:inset 2px 2px 5px #d1decf,inset -2px -2px 5px #f8fff5}.status-buttons .absent{color:#9f5543;background:#f7e9e2;border-color:#ecd6cb;box-shadow:inset 2px 2px 5px #e4d0c7,inset -2px -2px 5px #fff6f0}.primary:hover{background:#245c45;box-shadow:inset 2px 2px 5px #1f513c,inset -2px -2px 5px #397a5e}.primary:active{transform:translateY(1px);box-shadow:inset 3px 3px 6px #1f513c,inset -3px -3px 6px #397a5e}input,select,textarea{background:#f7f5ef;border-color:#e1dbd0;box-shadow:inset 3px 3px 6px #ded8ce,inset -3px -3px 6px #fff}.attendance-screen .register>.controls>label>select,.attendance-screen .register>.controls>label>input{background:#f7f5ef;box-shadow:inset 2px 2px 4px #ded8ce,inset -2px -2px 4px #fff}.controls,.table-head,.savebar,.list-toolbar{background:#eeebe4;border-color:#e3ddd2}.student-row,.record-row,.roster{border-color:#e5dfd5}.report-table-wrap{border-radius:12px;box-shadow:inset 2px 2px 5px #ded8ce,inset -2px -2px 5px #fff}.report-table th{background:#e9eee5}.modal{background:#f2efe8;border-color:#faf8f2;border-radius:20px;box-shadow:12px 12px 28px #bfb9af,-12px -12px 28px #fffdfa}.overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#33443c75}.toast{box-shadow:6px 6px 14px #1b382c55,-3px -3px 8px #fff3}.welcome-nav{background:#f2efe8;border-color:#e4ded3;box-shadow:0 5px 12px #d7d1c655}.welcome-features article{background:#f2efe8;border-color:#faf8f2;border-radius:16px;box-shadow:6px 6px 13px #d7d1c6,-6px -6px 13px #fffdfa}.welcome-login{background:#f2efe8;box-shadow:3px 3px 7px #d7d1c6,-3px -3px 7px #fffdfa}.account-page-signout{background:#f4e9e4;box-shadow:3px 3px 7px #ded2ca,-3px -3px 7px #fffdfa}@media (max-width:600px){.sidebar,.attendance-screen .sidebar{background:#f2efe8;border:0;box-shadow:0 5px 13px #cfc9bd66}.sidebar nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));background:#f2efe8;border:1px solid #faf8f2;border-radius:20px;align-items:center;height:64px;padding:6px;box-shadow:7px 7px 15px #cfc9bd,-7px -7px 15px #fffdfa}.sidebar nav .nav{border-radius:14px;flex-direction:column;gap:2px;height:50px}.sidebar nav .nav.active{box-shadow:inset 3px 3px 6px #d1d9cd,inset -3px -3px 6px #fff}.sidebar nav .nav-label-mobile{font-size:9px}.attendance-screen{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.attendance-screen .savebar{background:#f2efe8}.class-card .class-actions button{background:#f2efe8;box-shadow:3px 3px 6px #d7d1c6,-3px -3px 6px #fffdfa}.report-card .card-header{background:#f2efe8}}.attendance-screen .register.card{background:#f2efe8;border-color:#faf8f2;box-shadow:8px 8px 18px #d4cec3,-8px -8px 18px #fffdfa}.attendance-screen .register>.controls{background:#eae7df;border-color:#ded8cd}.attendance-screen .register>.table-head{color:#69776a;background:#e9e6de;border-color:#ded8cd;font-size:10px}.attendance-screen .student-row{transition:background-color .16s}.attendance-screen .student-row:hover{background:#ebe8e0}.attendance-screen .avatar{flex-shrink:0;width:34px;height:34px;font-size:12px;box-shadow:3px 3px 6px #d4cec3,-3px -3px 6px #fffdfa}.attendance-screen .student-name strong{color:#2a392f;font-size:15px}.attendance-screen .status-buttons .present{color:#205a38;background:#dce9d8;border-color:#b4cdae;box-shadow:inset 2px 2px 5px #c6d6c1,inset -2px -2px 5px #f2fff0}.attendance-screen .status-buttons .absent{color:#8c4939;background:#f2dfd6;border-color:#dfb8a9;box-shadow:inset 2px 2px 5px #e2c9be,inset -2px -2px 5px #fff4ed}.attendance-screen .status-buttons button[aria-pressed=true]{font-weight:700}.attendance-screen .register>.savebar{background:#efede6;border-top:1px solid #ded8cd}.section-actions{align-items:center;gap:9px;display:flex}.student-workflows{border-top:1px solid #ded8cd;margin-top:18px;padding-top:16px}.workflow-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.workflow-heading h3{color:var(--ink);font:700 15px Manrope,sans-serif}.workflow-heading span{color:var(--muted);font-size:11px}.workflow-entry{background:#eeebe4;border:1px solid #faf8f2;border-radius:12px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin:6px 0;padding:8px 10px;display:grid;box-shadow:inset 2px 2px 5px #ded8ce,inset -2px -2px 5px #fff}.workflow-entry label{letter-spacing:.5px;color:#58685b;min-width:0;font-size:10px}.workflow-entry select,.workflow-entry input{letter-spacing:0;height:36px;min-height:36px;margin-top:4px;padding:6px 8px;font-size:13px;font-weight:500}.workflow-entry:nth-child(4n+2){background:#e3f0e0;border-color:#d0e3cd #d0e3cd #d0e3cd #77a974;border-left-style:solid;border-left-width:3px;box-shadow:inset 2px 2px 5px #d3e5d0,inset -2px -2px 5px #f7fff5}.workflow-entry:nth-child(4n+3){background:#e2eef5;border-color:#cfe0ea #cfe0ea #cfe0ea #6e9db4;border-left-style:solid;border-left-width:3px;box-shadow:inset 2px 2px 5px #d0e0e8,inset -2px -2px 5px #f7fcff}.workflow-entry:nth-child(4n+4){background:#eee7f5;border-color:#ddd2e9 #ddd2e9 #ddd2e9 #9b82b4;border-left-style:solid;border-left-width:3px;box-shadow:inset 2px 2px 5px #ddd4e8,inset -2px -2px 5px #fbf7ff}.workflow-entry:nth-child(4n+5){background:#f7e8dc;border-color:#ecd5c6 #ecd5c6 #ecd5c6 #c78963;border-left-style:solid;border-left-width:3px;box-shadow:inset 2px 2px 5px #ead7ca,inset -2px -2px 5px #fff8f2}.workflow-entry select.workflow-status{border-width:1px;font-weight:650}.workflow-entry .workflow-status-empty{color:#667266;background:#fffefa;border-color:#e2e1d6}.workflow-empty{background:#eeebe4;border-radius:10px;padding:12px;color:#68776d!important;margin:8px 0!important;font-size:12px!important;line-height:1.6!important}.workflow-report{border-top:1px solid #ded8cd;margin-top:28px;padding-top:22px}.workflow-report>h3{color:var(--ink);align-items:center;gap:9px;margin:0 0 13px;font:700 16px Manrope,sans-serif;display:flex}.workflow-report>h3 span{color:#526750;background:#e3e8dd;border-radius:99px;place-items:center;min-width:25px;height:25px;padding:0 7px;font:700 11px DM Sans,sans-serif;display:grid}.workflow-manager,.class-workflow-settings{max-width:560px}.class-workflow-list{gap:9px;margin:16px 0;display:grid}.class-workflow-list>label{cursor:pointer;background:#f5f8f4;border:1px solid #dce6de;border-radius:12px;align-items:flex-start;gap:11px;padding:12px;display:flex}.class-workflow-list input{accent-color:#286b52;width:19px;height:19px;min-height:19px;margin:1px 0 0}.class-workflow-list span{gap:4px;min-width:0;display:grid}.class-workflow-list strong{color:var(--ink);font:650 14px Manrope,sans-serif}.class-workflow-list small{color:var(--muted);font:12px/1.45 DM Sans,sans-serif}.workflow-add{background:#eeebe4;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:16px 0;padding:12px;display:grid;box-shadow:inset 2px 2px 5px #ded8ce,inset -2px -2px 5px #fff}.workflow-add label,.workflow-manager-row label{min-width:0}.workflow-add input,.workflow-manager-row input{height:42px;min-height:42px}.workflow-selector-field{grid-column:1/-1}.workflow-selector-field textarea{width:100%;min-height:78px;color:var(--ink);resize:vertical;background:#fffefa;border:1px solid #d9e1da;border-radius:10px;margin-top:5px;padding:9px 11px;font:500 13px/1.5 DM Sans,sans-serif;display:block}.workflow-manager-list{gap:12px;display:grid}.workflow-manager-row{background:#f2efe8;border:1px solid #faf8f2;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:10px 12px;display:grid;box-shadow:4px 4px 9px #d7d1c6,-4px -4px 9px #fffdfa}.workflow-manager-row>div{align-items:center;gap:7px;display:flex}.workflow-manager-row .subtle{min-height:40px}.workflow-summary-table{margin:0 0 20px}.workflow-summary-table h4{color:var(--ink);justify-content:space-between;gap:10px;margin:0 0 8px;font:700 14px Manrope,sans-serif;display:flex}.workflow-summary-table h4 span{color:var(--muted);font:500 12px DM Sans,sans-serif}.workflow-remove{color:#8c4939;background:#f2dfd6;border:1px solid #e2c8bd;border-radius:9px;place-items:center;width:40px;height:40px;display:grid;box-shadow:3px 3px 7px #d7c8c0,-3px -3px 7px #fffdfa}.workflow-remove:disabled{opacity:.5}.workflow-manager-overlay{overscroll-behavior:contain;padding:12px 14px calc(20px + env(safe-area-inset-bottom));align-items:flex-start;overflow-y:auto}.workflow-manager{width:min(760px,100%);max-width:760px;max-height:none;margin:0 auto;overflow:visible}@media (max-width:600px){.section-top{flex-wrap:wrap;align-items:flex-start;gap:9px}.section-actions{width:100%}.section-actions>button{flex:1;min-height:42px;padding-inline:7px;font-size:11px}.workflow-entry{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7px;padding:7px 8px}.workflow-entry label{letter-spacing:.25px;font-size:9px}.workflow-entry select,.workflow-entry input{height:34px;min-height:34px;padding:5px 6px;font-size:12px}.workflow-add{grid-template-columns:1fr}.workflow-add .primary{width:100%;min-height:42px}.workflow-manager-row{grid-template-columns:minmax(0,1fr) auto;padding:9px}.workflow-manager-row>div{gap:5px}.workflow-manager-row .subtle{padding:8px}.workflow-manager .modal p{margin-bottom:16px}}body{background:linear-gradient(135deg,#f2f7f2 0%,#f2f5fa 52%,#faf4ed 100%)}.sidebar{background:#edf5ef;border-color:#d8e5dc}.workspace{background:#e9eff8;border-color:#d8e1ee;box-shadow:inset 2px 2px 5px #d6dfeb,inset -2px -2px 5px #f7faff}.nav:hover{background:#e1edf4;box-shadow:inset 2px 2px 5px #d2e0e8,inset -2px -2px 5px #f8fcff}.nav.active{color:#265b3c;background:#dcecdf;border-color:#c7dfcb;box-shadow:inset 3px 3px 6px #cadbc9,inset -3px -3px 6px #f6fff4}.topbar{background:#edf4f0;border-color:#d8e4dc}.card,.class-card{background:#fbfcf8;border-color:#e1e9e2}.stats>div,.stats>.overview-stat{border-color:#e4e5ed}.stats>div:first-child{background:#e9e8f6;border-color:#d9d7ed;box-shadow:6px 6px 12px #d3d1df,-6px -6px 12px #fff}.stats>.overview-stat:nth-child(2){background:#e1f0e3;border-color:#cfe4d2;box-shadow:6px 6px 12px #cddfce,-6px -6px 12px #f7fff7}.stats>.overview-stat:nth-child(3){background:#f6e5e3;border-color:#ebd3d1;box-shadow:6px 6px 12px #e2d1d0,-6px -6px 12px #fff8f7}.stats>div:nth-child(4){background:#fbefd9;border-color:#efdfbf;box-shadow:6px 6px 12px #e6dac4,-6px -6px 12px #fff9ed}.stat-icon.neutral{color:#5b568c;background:#dcdaf0}.stat-icon.green{color:#327348;background:#d2e9d3}.stat-icon.rose{color:#a04e49;background:#f0d6d4}.stat-icon.amber{color:#8c682a;background:#f1dfb9}.class-card .class-icon{color:#4b8053;background:#dcebd9}.primary{color:#fff;background:linear-gradient(145deg,#328063,#24674d);box-shadow:4px 4px 9px #c5d6ca,-4px -4px 9px #fff}.subtle{color:#405e7b;background:#e8eef8;border-color:#d5e0ef;box-shadow:3px 3px 7px #d0d9e4,-3px -3px 7px #fff}.controls,.table-head,.list-toolbar{background:#e7f0ed;border-color:#d3e2dc}.savebar{background:#f7eedc;border-color:#eadfca}.report-card>.card-header{background:#e9eff8;border-color:#dce5ef}.report-table tbody tr:nth-child(odd){background:#fffdfa}.modal{background:#f5f3eb;border-color:#e6e8de}.welcome-features article:nth-child(4n+1){background:#e9f2e6}.welcome-features article:nth-child(4n+2){background:#e8eff7}.welcome-features article:nth-child(4n+3){background:#f3eaf5}.welcome-features article:nth-child(4n+4){background:#f8eee1}@media (max-width:600px){.sidebar,.attendance-screen .sidebar{background:#edf5ef;border-color:#d8e5dc}.sidebar nav{background:#e6eee9;border-color:#f7fbf8;box-shadow:7px 7px 15px #cad8ce,-7px -7px 15px #fff}.sidebar nav .nav.active{background:#dcecdf;box-shadow:inset 3px 3px 6px #cadbc9,inset -3px -3px 6px #f6fff4}.attendance-screen .savebar{background:#f7eedc}}.student-directory{padding:0;overflow:hidden}.directory-toolbar{background:#e8eff7;border-bottom:1px solid #d7e2ed;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.directory-toolbar h2{color:#2d4658;font-size:18px}.directory-toolbar p{color:#617586;max-width:600px;margin-top:6px;font-size:12px;line-height:1.55}.directory-search{letter-spacing:0;flex:0 270px;position:relative}.directory-search svg{color:#70889a;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.directory-search input{background:#f9fbff;border-color:#cfdce8;height:42px;margin:0;padding:9px 12px 9px 36px}.directory-tools{flex:none;align-items:center;gap:10px;display:flex}.directory-add-student{white-space:nowrap;min-height:42px}.directory-count{color:#536d59;background:#eef4ee;padding:12px 20px;font-size:11px;font-weight:700}.directory-list{gap:9px;padding:12px;display:grid}.directory-row{background:#f0f5e9;border:1px solid #e0e7e0;border-radius:13px;grid-template-columns:minmax(170px,1.3fr) minmax(150px,1fr) auto auto;align-items:center;gap:14px;padding:11px 13px;display:grid;box-shadow:4px 4px 9px #d7d1c655,-4px -4px 9px #fffdfa}.directory-row:nth-child(4n+2){background:#eaf2f8;border-color:#d5e3ef}.directory-row:nth-child(4n+3){background:#f3ecf7;border-color:#e5daee}.directory-row:nth-child(4n+4){background:#f9eee4;border-color:#eedfce}.directory-student{align-items:center;gap:10px;min-width:0;display:flex}.directory-student>div{min-width:0}.directory-student strong{overflow-wrap:anywhere;font-size:13px;display:block}.directory-student small{color:#758277;margin-top:4px;font-size:10px;line-height:1.4}.directory-move{letter-spacing:.7px;min-width:0;font-size:9px}.directory-move select{height:38px;min-height:38px;margin-top:4px;padding:6px 8px;font-size:12px}.directory-status{white-space:nowrap;border:1px solid #0000;border-radius:99px;justify-self:start;padding:6px 9px;font-size:10px;font-weight:700}.directory-status.graduated{color:#96563e;background:#f3dfd5;border-color:#e9cabe}.graduated-tag{color:#96563e;font-size:10px;font-style:normal}.directory-action{white-space:nowrap;border:1px solid;border-radius:9px;min-height:36px;padding:7px 10px;font-size:10px;font-weight:700}.directory-action.graduate{color:#96583f;background:#f5e5dc;border-color:#e9cec0}.directory-row .directory-action:hover{filter:saturate(1.15)brightness(.98)}@media (max-width:850px){.directory-row{grid-template-columns:minmax(130px,1fr) minmax(125px,1fr) auto;gap:9px}.directory-action{grid-area:1/3/span 2}.directory-status{grid-area:2/1}}@media (max-width:600px){.directory-toolbar{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.directory-tools{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}.directory-search{flex:initial;width:100%}.directory-add-student{justify-content:center;width:100%}.directory-count{padding:10px 15px}.directory-list{gap:8px;padding:10px}.directory-row{background:#f0f5e9;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:10px}.directory-student,.directory-move{grid-column:1/-1}.directory-status{grid-area:auto/1}.directory-action{grid-area:auto/2;justify-self:end}}.roster .graduated-tag{color:#96563e;font-size:10px;font-style:normal}.brand-row{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.brand-row .brand{flex:none}.brand-account{color:#285b3e;background:#e3f0e5;border:1px solid #c8dbce;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:3px 3px 7px #d3ded4,-3px -3px 7px #fff}.brand-account:hover{background:#d8eadc}@media (min-width:601px){.brand-row{margin-bottom:2px}}@media (max-width:600px){.brand-row{gap:6px;width:100%}.brand-account{height:32px;padding:0 10px}.brand-account svg{width:16px;height:16px}}.brand-row+.workspace{margin-top:40px}.brand-row{gap:5px}.brand-row .brand{letter-spacing:-.8px;padding:0;font-size:22px;line-height:30px}.brand-row .brand-icon{border-radius:8px;width:28px;height:30px;margin-right:7px}.brand-actions{flex:none;align-items:center;gap:4px;display:flex}.brand-install-slot{display:contents}.brand-account,.brand-install{color:#285b3e;background:#e3f0e5;border:1px solid #c8dbce;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:5px;width:32px;height:32px;padding:0;font-size:11px;font-weight:700;display:inline-flex;box-shadow:3px 3px 7px #d3ded4,-3px -3px 7px #fff}.brand-account span,.brand-install span{display:none}@media (max-width:600px){.brand-row{gap:6px}.brand-row .brand{font-size:21px}.brand-row .brand-icon{width:26px;height:28px;margin-right:6px}.brand-actions{gap:5px}.brand-account,.brand-install{border-radius:10px;width:auto;min-width:32px;height:32px;padding:0 8px;font-size:11px}.brand-account span,.brand-install span{display:inline}}.subscription-card{grid-template-columns:1fr 1fr;gap:16px;display:grid}.subscription-card .account-section-title{grid-column:1/-1;margin-bottom:0}.subscription-current,.subscription-upgrade{background:#eef5ef;border:1px solid #dce6de;border-radius:14px;padding:16px}.subscription-current>div:first-child,.subscription-upgrade>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.subscription-current strong,.subscription-upgrade strong{font-size:15px}.subscription-badge{color:#285b3e;letter-spacing:.6px;background:#dcecdf;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.subscription-current p,.subscription-upgrade p{color:#69796e;margin:10px 0;font-size:12px;line-height:1.5}.subscription-meter{background:#dce5dd;border-radius:999px;height:7px;overflow:hidden}.subscription-meter span{border-radius:inherit;background:#4f956c;height:100%;transition:width .2s;display:block}.subscription-upgrade{background:#edf0fa;border-color:#dce1f0}.subscription-price{color:#315c43;white-space:nowrap;font-weight:800}.subscription-price small{color:#69796e;font-size:11px;font-weight:500;display:inline}.subscription-upgrade .primary{min-height:38px;padding:9px 12px;font-size:12px}.subscription-modal .account-profile-icon{margin-bottom:14px}.subscription-modal .primary{margin-top:18px}@media (max-width:600px){.subscription-card{grid-template-columns:1fr;gap:11px}.subscription-card .account-section-title{grid-column:auto}.subscription-current,.subscription-upgrade{padding:14px}}.account-teacher-access-list{gap:8px;margin-top:14px;display:grid}.account-teacher-access-row{border:1px solid var(--line);background:#fbfcf8;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.account-teacher-access-row strong{font-size:13px}.account-teacher-access-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:11px}.account-teacher-access-row .subtle{flex:none}@media (max-width:600px){.account-teacher-access-row{gap:8px;padding:9px}.account-teacher-access-row .subtle{padding:8px;font-size:10px}.shell,.attendance-screen{padding-top:calc(48px + env(safe-area-inset-top))}.sidebar,.attendance-screen .sidebar{height:calc(44px + env(safe-area-inset-top));padding:calc(6px + env(safe-area-inset-top)) 12px 6px}.sidebar nav{bottom:env(safe-area-inset-bottom)}.shell,.attendance-screen{padding-bottom:calc(68px + env(safe-area-inset-bottom))}}.attendance-screen .register>.controls>.date-picker-field{letter-spacing:.5px;width:100%;min-width:0;color:var(--muted);flex-direction:column;justify-content:flex-start;gap:2px;margin:0;font-size:10px;font-weight:700;line-height:1.1;display:flex;position:relative}.date-picker-trigger{box-sizing:border-box;width:100%;height:36px;min-height:36px;max-height:36px;color:var(--ink);letter-spacing:0;text-align:left;background:#f7f5ef;border:1px solid #dfe5dc;border-radius:8px;align-items:center;gap:7px;margin:0;padding:5px 8px;font-size:14px;display:flex;box-shadow:inset 2px 2px 4px #ded8ce,inset -2px -2px 4px #fff}.date-picker-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.date-picker-trigger>svg{color:#778471}.date-picker-trigger:hover{border-color:#b7c8b6}.date-picker-popover{z-index:35;width:min(290px,100vw - 36px);color:var(--ink);letter-spacing:0;background:#f7f5ef;border:1px solid #e1dbd0;border-radius:14px;padding:12px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:7px 7px 18px #bfb9ae,-5px -5px 14px #fffdfa}.date-picker-month{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.date-picker-month strong{font-size:14px}.date-picker-month button{background:#f2efe8;border:1px solid #e5dfd5;border-radius:8px;place-items:center;width:32px;height:32px;display:grid;box-shadow:2px 2px 5px #d7d1c6,-2px -2px 5px #fffdfa}.date-picker-month button:disabled{opacity:.35;cursor:default}.date-picker-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.date-picker-grid>[role=columnheader]{color:#899185;place-items:center;height:28px;font-size:10px;font-weight:700;display:grid}.date-picker-day{border-radius:8px;place-items:center;min-width:0;height:32px;padding:0;font-size:12px;display:grid}.date-picker-day:disabled{color:#aeb2aa;opacity:.45;cursor:not-allowed;background:0 0}.date-picker-day.selected{color:#fff;background:#2b6b50;font-weight:700;box-shadow:2px 2px 5px #b7b2a8}.date-picker-day[aria-current=date]:not(.selected){outline-offset:-2px;outline:1px solid #8fa887}.date-picker-empty{height:32px}.date-picker-hint{color:#899185;margin:9px 2px 0;font-size:10px;line-height:1.4}@media (max-width:600px){.attendance-screen .register>.controls>.date-picker-field{font-size:10px}.date-picker-trigger{font-size:16px}.date-picker-popover{width:min(290px,100vw - 28px)}}.overview-controls>.controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;padding:16px 20px;display:grid}.overview-controls>.controls>label{flex-direction:column;gap:6px;width:100%;min-width:0;margin:0;line-height:1.2;display:flex}.overview-controls>.controls>label>select,.overview-controls>.controls>label>input{box-sizing:border-box;width:100%;height:42px;min-height:42px;max-height:42px;margin:0;padding:8px 11px;line-height:1.2}@media (max-width:600px){.overview-controls>.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.overview-controls>.controls>label{width:100%;min-width:0}.overview-controls>.controls>label>select,.overview-controls>.controls>label>input{height:42px;min-height:42px;max-height:42px;padding:7px 8px;font-size:16px!important}}.overview-controls>.overview-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;justify-content:stretch!important;align-items:start!important;gap:12px!important;padding:16px 20px!important;display:grid!important}.overview-controls>.overview-filter-row>.overview-filter-field{flex:none!important;grid-template-rows:auto 44px!important;align-content:start!important;gap:6px!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;display:grid!important}.overview-controls>.overview-filter-row>.overview-filter-field>select,.overview-controls>.overview-filter-row>.overview-filter-field>input{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;margin:0!important;padding:8px 10px!important;line-height:1.2!important;display:block!important}.overview-controls>.overview-filter-row>.overview-filter-field>input[type=date]{-webkit-appearance:none!important;appearance:none!important;text-align:left!important}@media (max-width:600px){.overview-controls>.overview-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;padding:12px!important}.overview-controls>.overview-filter-row>.overview-filter-field{grid-template-rows:auto 42px!important;font-size:10px!important}.overview-controls>.overview-filter-row>.overview-filter-field>select,.overview-controls>.overview-filter-row>.overview-filter-field>input{height:42px!important;min-height:42px!important;max-height:42px!important;padding:7px 8px!important;font-size:16px!important}}.overview-controls>.overview-filter-row>.overview-date-field{position:relative;grid-template-rows:auto 44px!important}.overview-controls>.overview-filter-row>.overview-date-field>span{letter-spacing:1px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.2}.overview-controls>.overview-filter-row>.overview-date-field>.overview-date-trigger{height:44px!important;min-height:44px!important;max-height:44px!important;font-size:14px!important}.overview-date-popover{top:calc(100% + 7px);right:0}@media (max-width:600px){.overview-controls>.overview-filter-row>.overview-date-field{grid-template-rows:auto 42px!important}.overview-controls>.overview-filter-row>.overview-date-field>.overview-date-trigger{height:42px!important;min-height:42px!important;max-height:42px!important;font-size:16px!important}}.overview-controls,.report-card{overflow:visible}.date-picker-field{min-width:0;color:var(--muted);letter-spacing:1px;flex-direction:column;justify-content:flex-start;gap:6px;font-size:10px;font-weight:700;line-height:1.2;display:flex;position:relative}.date-picker-label{letter-spacing:1px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.2;display:block}.overview-controls>.overview-filter-row>.date-picker-field.overview-filter-field{flex:none!important;grid-template-rows:auto 44px!important;align-content:start!important;gap:6px!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;display:grid!important}.overview-controls .overview-date-trigger{height:44px!important;min-height:44px!important;max-height:44px!important;font-size:14px!important}.report-filters>.date-picker-field{letter-spacing:.5px;color:#344b3c;flex:140px;min-width:140px;font-size:12px}.report-filters .date-picker-trigger{height:48px;min-height:48px;max-height:48px;box-shadow:none;background:#fff;border:1px solid #aebcac;padding:12px;font-size:16px;font-weight:600}@media (max-width:600px){.overview-controls>.overview-filter-row>.date-picker-field.overview-filter-field{grid-template-rows:auto 42px!important;font-size:10px!important}.overview-controls .overview-date-trigger{height:42px!important;min-height:42px!important;max-height:42px!important;font-size:16px!important}.report-filters>.date-picker-field{flex:calc(50% - 14px);min-width:0}.report-filters .date-picker-trigger{height:48px;min-height:48px;max-height:48px;padding:12px;font-size:16px!important}}.report-filters select,.report-filters input{box-sizing:border-box;height:40px;min-height:40px;padding:8px 10px;font-size:14px!important}.report-filters>.date-picker-field>.date-picker-trigger,.report-filters .date-picker-trigger{box-sizing:border-box;height:40px;min-height:40px;max-height:40px;padding:7px 9px;font-size:14px!important}@media (max-width:600px){.report-filters select,.report-filters input{height:40px;min-height:40px;padding:7px 8px;font-size:16px!important}.report-filters>.date-picker-field>.date-picker-trigger,.report-filters .date-picker-trigger{height:40px;min-height:40px;max-height:40px;padding:7px 8px;font-size:16px!important}}.report-filters>label,.report-filters>.date-picker-field{box-sizing:border-box;flex:180px;min-width:0;max-width:230px}.report-student-filter{max-width:250px!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{box-sizing:border-box;height:36px;min-height:36px;max-height:36px;padding:6px 8px;font-size:14px!important}@media (max-width:600px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:8px!important;padding:10px!important;display:grid!important}.report-filters>label,.report-filters>.date-picker-field,.report-filters label:first-child,.report-filters label:nth-child(2){flex:none!important;grid-column:auto!important;width:100%!important;min-width:0!important;max-width:none!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{width:100%!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:6px 7px!important;font-size:16px!important}.report-student-filter .report-selection{margin-top:5px;font-size:11px;line-height:1.3}}.report-filters{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap!important;align-items:flex-start!important;gap:10px!important;display:flex!important;overflow:auto hidden!important}.report-filters>label,.report-filters>.date-picker-field,.report-filters>label:first-child,.report-filters>label:nth-child(2){box-sizing:border-box;flex:1 0 0!important;width:auto!important;min-width:0!important;max-width:none!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{box-sizing:border-box;width:100%!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:6px 8px!important;font-size:14px!important}.report-filters .date-picker-popover{z-index:120;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}@media (max-width:600px){.report-filters{flex-wrap:nowrap!important;gap:8px!important;padding:10px!important;display:flex!important;overflow:auto hidden!important}.report-filters>label,.report-filters>.date-picker-field,.report-filters>label:first-child,.report-filters>label:nth-child(2){flex:0 0 138px!important;width:138px!important;min-width:138px!important;max-width:138px!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{width:100%!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:6px 7px!important;font-size:16px!important}.report-filters .report-student-filter{max-width:138px!important}.report-filters .report-selection{margin-top:5px;font-size:11px;line-height:1.3}}.report-filters{padding-left:6px!important;padding-right:6px!important}@media (max-width:600px){.report-filters{padding-left:4px!important;padding-right:4px!important}}.report-filters{box-sizing:border-box!important;grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;justify-content:stretch!important;align-items:start!important;gap:10px!important;width:100%!important;max-width:100%!important;padding:10px 6px!important;display:grid!important;overflow:visible!important}.report-filters>label,.report-filters>.date-picker-field,.report-filters>label:first-child,.report-filters>label:nth-child(2){box-sizing:border-box!important;flex-direction:column!important;flex:none!important;grid-column:auto!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;display:flex!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:6px 8px!important;font-size:14px!important}.report-filters .report-selection{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:600px){.report-filters{grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;gap:8px!important;padding:10px 4px!important;overflow:visible!important}.report-filters select,.report-filters input,.report-filters .date-picker-trigger{height:36px!important;min-height:36px!important;max-height:36px!important;font-size:16px!important}.report-filters .report-selection{margin-top:5px;font-size:11px;line-height:1.3}}.overview-controls .date-picker-trigger{box-sizing:border-box;width:100%;padding:8px 10px;height:44px!important;min-height:44px!important;max-height:44px!important;font-size:14px!important}@media (max-width:600px){.overview-controls .date-picker-trigger{padding:7px 8px;height:42px!important;min-height:42px!important;max-height:42px!important;font-size:16px!important}}.overview-controls .overview-filter-row>.date-picker-field.overview-filter-field{box-sizing:border-box!important;place-self:stretch stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;display:grid!important}.overview-controls .overview-filter-row>.overview-filter-field>select{box-sizing:border-box!important;justify-self:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;display:block!important}.overview-controls .overview-filter-row>.date-picker-field>.date-picker-trigger{box-sizing:border-box!important;justify-self:stretch!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important}.overview-controls .overview-filter-row>.date-picker-field.overview-filter-field{grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important}.overview-controls .overview-filter-row>.date-picker-field>.date-picker-trigger{justify-self:stretch!important}@media (min-width:601px) and (max-width:850px) and (orientation:portrait){.sidebar{width:198px}.main{width:calc(100% - 198px);margin-left:198px}.brand-row{gap:3px}.brand-row .brand{letter-spacing:-.8px;font-size:20px}.brand-row .brand-icon{width:25px;height:27px;margin-right:5px}.brand-actions{gap:3px}.brand-account,.brand-install{width:30px;min-width:30px;height:30px;padding:0}}.student-workflow-modal{padding:24px}.student-workflow-modal>p{margin:6px 0 10px;line-height:1.45}.student-workflow-modal .workflow-heading{margin-bottom:7px}.student-workflow-modal .workflow-entry{margin:4px 0;padding:6px 8px}.student-workflow-modal>.primary{margin-top:10px}@media (max-width:600px){.student-workflow-modal{padding:20px}.student-workflow-modal>p{margin-bottom:8px}.student-workflow-modal .student-workflows{margin-top:6px;padding-top:8px}.student-workflow-modal .workflow-entry{margin:3px 0;padding:5px 7px}.student-workflow-modal .workflow-entry select,.student-workflow-modal .workflow-entry input{height:32px;min-height:32px}}.student-workflow-modal>p{margin-bottom:4px}.student-workflow-modal .student-workflows{margin-top:3px;padding-top:3px}@media (max-width:600px){.student-workflow-modal>p{margin-bottom:3px}.student-workflow-modal .student-workflows{margin-top:2px;padding-top:2px}}.attendance-week{background:#fff;border:1px solid #dfe7e9;border-radius:18px;margin-bottom:14px;padding:20px;box-shadow:0 8px 22px #243a3510}.attendance-week-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.attendance-week-label{color:#7d8b97;letter-spacing:2px;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.attendance-week-head h2{color:#263746;letter-spacing:-.5px;font-size:22px}.attendance-week-nav{color:#596b78;align-items:center;gap:10px;font-weight:700;display:flex}.attendance-week-nav span{text-align:center;min-width:36px}.attendance-week-nav button{color:#354a58;background:#fff;border:1px solid #dfe7e9;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.attendance-week-nav button:disabled{opacity:.4}.attendance-class-select{max-width:360px;margin-bottom:12px}.attendance-class-select select{background:#f9fbfb;height:42px;min-height:42px;margin-top:5px}.attendance-days{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.attendance-day{color:#596c79;background:#fff;border:2px solid #e1e8ea;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:91px;padding:8px 4px;display:flex}.attendance-day>span{letter-spacing:1px;font-size:10px;font-weight:800}.attendance-day strong{color:#263746;font-size:25px;line-height:1.05}.attendance-day small{color:#8a98a3;font-size:10px;font-weight:700}.attendance-day.selected strong,.attendance-day.selected small{color:#167564}.attendance-day:disabled{opacity:.45}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.attendance-summary-card{color:#263746;background:#fff;border:1px solid #e1e8ea;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:110px;display:flex;box-shadow:0 5px 14px #243a3508}.attendance-summary-card[aria-pressed=true]{outline-offset:1px;outline:2px solid}.attendance-summary-icon{border-radius:13px;place-items:center;width:38px;height:38px;margin-bottom:2px;display:grid}.attendance-summary-card strong{font-size:27px;line-height:1}.attendance-summary-card>span:last-child{letter-spacing:.3px;color:#73818d;font-size:12px;font-weight:700}.attendance-summary-card.status-present{color:#27855f}.status-present .attendance-summary-icon{background:#e0f5ec}.attendance-summary-card.status-absent{color:#c7644e}.status-absent .attendance-summary-icon{background:#fff0eb}.attendance-summary-card.status-late{color:#ad812b}.status-late .attendance-summary-icon{background:#fff6df}.attendance-summary-card.status-excused{color:#5c75b6}.status-excused .attendance-summary-icon{background:#eaf0ff}.attendance-filter-note{color:#64747e;text-transform:capitalize;align-items:center;gap:8px;margin:-7px 0 12px;font-size:11px;display:flex}.attendance-filter-note button{color:#365665;background:#e8eff1;border-radius:6px;padding:4px 7px;font-weight:700}.attendance-screen .register.card{border-radius:16px;overflow:hidden}.attendance-register-heading{padding:18px 22px 12px}.attendance-register-heading h2{color:#263746;letter-spacing:-.5px;font-size:22px}.attendance-register-heading p{color:#82909a;margin-top:5px;font-size:13px}.attendance-bulk-actions{gap:8px;padding:0 22px 13px;display:flex}.attendance-bulk-actions button{border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 15px;font-size:12px;font-weight:700;display:inline-flex}.attendance-bulk-actions button:disabled{opacity:.45}.attendance-screen .register>.table-head{grid-template-columns:minmax(0,1fr) 212px;padding:10px 18px}.attendance-screen .register>.table-head span:last-child{text-align:center;display:block}.attendance-screen .register .student-row{grid-template-columns:minmax(0,1fr) 212px;align-items:center;gap:10px;padding:9px 18px}.attendance-status-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;display:grid!important}.attendance-screen .attendance-status-buttons button{color:#71808a;min-height:44px;box-shadow:none;background:#f5f7f8;border:1px solid #e4e9eb;border-radius:11px;padding:7px 3px;font-size:16px;font-weight:800}@media (max-width:850px){.attendance-week{padding:16px}.attendance-week-head h2{font-size:19px}.attendance-day{border-radius:12px;min-height:78px}.attendance-day strong{font-size:22px}.attendance-summary{gap:7px}.attendance-summary-card{border-radius:13px;min-height:94px}.attendance-summary-icon{border-radius:11px;width:32px;height:32px}.attendance-summary-card strong{font-size:24px}.attendance-screen .register>.table-head,.attendance-screen .register .student-row{grid-template-columns:minmax(0,1fr) 196px}}@media (max-width:600px){.attendance-week{border-radius:15px;margin-bottom:10px;padding:12px}.attendance-week-head{margin-bottom:10px}.attendance-week-label{letter-spacing:1.5px;margin-bottom:4px;font-size:9px}.attendance-week-head h2{font-size:17px}.attendance-week-nav{gap:5px;font-size:11px}.attendance-week-nav button{border-radius:10px;width:32px;height:32px}.attendance-class-select{max-width:none;margin-bottom:9px}.attendance-class-select select{height:40px;min-height:40px;padding:7px 10px;font-size:15px!important}.attendance-days{gap:5px}.attendance-day{border-width:1.5px;border-radius:10px;gap:2px;min-height:68px;padding:5px 1px}.attendance-day>span{letter-spacing:.5px;font-size:8px}.attendance-day strong{font-size:19px}.attendance-day small{font-size:9px}.attendance-summary{gap:6px;margin-bottom:12px}.attendance-summary-card{border-radius:11px;gap:3px;min-height:82px}.attendance-summary-icon{border-radius:9px;width:27px;height:27px;margin-bottom:1px}.attendance-summary-icon svg{width:16px;height:16px}.attendance-summary-card strong{font-size:21px}.attendance-summary-card>span:last-child{letter-spacing:0;font-size:10px}.attendance-register-heading{padding:14px 14px 10px}.attendance-register-heading h2{font-size:19px}.attendance-register-heading p{font-size:11px}.attendance-bulk-actions{gap:7px;padding:0 14px 10px}.attendance-bulk-actions button{border-radius:9px;min-height:38px;padding:8px 10px;font-size:10px}.attendance-screen .register>.table-head{grid-template-columns:minmax(0,1fr) 164px;padding:8px 12px;font-size:8px}.attendance-screen .register .student-row{grid-template-columns:minmax(0,1fr) 164px;gap:6px;min-height:58px;padding:7px 12px}.attendance-screen .student-name{gap:8px;min-width:0}.attendance-screen .student-name .name-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-screen .student-name strong{font-size:14px}.attendance-screen .avatar{width:32px;height:32px;font-size:12px}.attendance-status-buttons{gap:4px!important}.attendance-screen .attendance-status-buttons button{border-radius:9px;min-height:38px;padding:4px 1px;font-size:14px}.attendance-screen .savebar{padding:12px}.attendance-screen .savebar .primary{min-height:40px}}.attendance-week-head{grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:12px;display:grid}.attendance-week-title{min-width:0}.attendance-class-select{letter-spacing:0;align-self:center;width:100%;min-width:0;max-width:260px;margin:0}.attendance-class-select select{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;background:#f9fbfb;width:100%;height:38px;min-height:38px;margin:0;padding:6px 28px 6px 10px;line-height:1.1;font-size:13px!important}@media (max-width:850px){.attendance-week-head{grid-template-columns:minmax(120px,auto) minmax(80px,1fr) auto;gap:8px}}@media (max-width:600px){.attendance-week-head{grid-template-columns:minmax(0,1fr) minmax(78px,1fr) auto;gap:6px}.attendance-week-head h2{white-space:nowrap;font-size:clamp(14px,4vw,17px)}.attendance-class-select{max-width:none}.attendance-class-select select{height:36px;min-height:36px;padding:5px 22px 5px 7px;font-size:12px!important}.attendance-week-nav{gap:3px}.attendance-week-nav button{width:29px;height:30px}.attendance-week-nav span{min-width:28px;font-size:10px}}:root{--green:#167c70;--ink:#243548;--muted:#7a8793;--line:#dfe7eb;--bg:#f4f6f8}body{color:#243548;background:#f4f6f8}.sidebar,.attendance-screen .sidebar{background:#fff;border-color:#e0e7eb}.topbar{color:#34485a;background:#fff;border-color:#e0e7eb}.brand-icon{background:#167c70;box-shadow:0 4px 10px #167c7026}.brand-dot{color:#63b9a5}.workspace,.side-tip{box-shadow:none;color:#647382;background:#f6f8f9;border-color:#e0e7eb}.workspace .school-icon,.nav.active,.nav-dot{color:#167c70}.nav{color:#657482}.nav:hover{box-shadow:none;background:#f2f6f7}.nav.active{box-shadow:none;background:#e7f5f1;border:1px solid #bfe3da}main{color:#243548}.heading .eyebrow{color:#5c8790}.card,.class-card,.report-card,.workflow-report,.student-directory{background:#fff;border-color:#dfe7eb;box-shadow:0 5px 18px #243a3508}.card-header,.controls,.table-head,.list-toolbar,.directory-toolbar,.directory-count,.report-card>.card-header{background:#f5f8f9;border-color:#dfe7eb}.controls{color:#34485a}input,select,textarea,.search input,.directory-search input,.attendance-class-select select{color:#26394b;box-shadow:none;background:#fff;border-color:#d7e1e6}input:focus,select:focus,textarea:focus{border-color:#62b9a4;box-shadow:0 0 0 3px #d8f0ea}.primary{color:#fff;box-shadow:none;background:#167c70}.primary:hover{background:#116b61}.subtle,.directory-action{color:#40586a;box-shadow:none;background:#f1f5f7;border-color:#d9e3e8}.subtle:hover{background:#e9f1f3}.student-row,.record-row{background:#fff;border-color:#e5ebee}.student-row:hover,.record-row:hover{background:#f3f8f8}.avatar,.avatar.tone0,.avatar.tone1,.avatar.tone2,.avatar.tone3{color:#28786f;background:#e7f4f1}.class-card,.class-card:nth-child(4n+1),.class-card:nth-child(4n+2),.class-card:nth-child(4n+3),.class-card:nth-child(4n+4){background:#fff;border-color:#dfe7eb}.class-card .class-icon,.class-card:nth-child(4n+2) .class-icon,.class-card:nth-child(4n+3) .class-icon,.class-card:nth-child(4n+4) .class-icon{color:#167c70;background:#e6f4f0}.stats>div,.stats>.overview-stat{background:#fff!important;border-color:#dfe7eb!important;box-shadow:0 5px 16px #243a3509!important}.stat-icon.neutral,.stat-icon.green,.stat-icon.rose,.stat-icon.amber{color:#167c70;background:#e7f4f1}.report-summary>div:first-child,.report-summary>div:nth-child(2),.report-summary>div:nth-child(3),.report-summary>div:nth-child(4){background:#fff;border-color:#dfe7eb}.report-table th{color:#526879;background:#f1f5f7}.report-table tbody tr:nth-child(2n),.report-table tbody tr:nth-child(odd){background:#fff}.badge{color:#526879;background:#f1f5f7;border-color:#dfe7eb}.green-badge{color:#277653;background:#e3f4ed;border-color:#c6e7d8}.red-badge{color:#a65345;background:#fff0ec;border-color:#f0d3cb}.modal{background:#fff;border-color:#dfe7eb;box-shadow:0 18px 60px #152c3d25}.workflow-entry,.workflow-entry:nth-child(4n+2),.workflow-entry:nth-child(4n+3),.workflow-entry:nth-child(4n+4),.workflow-entry:nth-child(4n+5),.workflow-add,.workflow-manager-row,.workflow-empty{box-shadow:none;background:#fff;border-color:#dfe7eb}.workflow-entry{border-left:3px solid #70bdae}.workflow-entry .workflow-status-completed{color:#277653;background:#e3f4ed;border-color:#c6e7d8}.workflow-entry .workflow-status-in_progress{color:#416d84;background:#e7f2f7;border-color:#cfe1eb}.workflow-entry .workflow-status-needs_practice{color:#94603a;background:#fff1e7;border-color:#efd8c4}.directory-toolbar{background:#f5f8f9;border-color:#dfe7eb}.directory-toolbar h2{color:#243548}.directory-toolbar p,.directory-row small{color:#73818c}.directory-row,.directory-row:nth-child(4n+2),.directory-row:nth-child(4n+3),.directory-row:nth-child(4n+4){box-shadow:none;background:#fff;border-color:#dfe7eb}.directory-count{color:#526879;background:#f5f8f9}.directory-status.active{color:#277653;background:#e3f4ed;border-color:#c6e7d8}.subscription-current,.subscription-upgrade{background:#f6f9fa;border-color:#dfe7eb}.subscription-badge{color:#277653;background:#e3f4ed}.subscription-meter{background:#e4ecef}.subscription-meter span{background:#35a18e}.date-picker-trigger,.date-picker-popover{box-shadow:none;background:#fff;border-color:#dfe7eb}.date-picker-month button{box-shadow:none;background:#f4f7f8;border-color:#dfe7eb}.date-picker-day:hover:not(:disabled){background:#e7f5f1}.date-picker-day.selected{box-shadow:none;background:#167c70}.attendance-week{background:#fff;border-color:#dfe7eb;box-shadow:0 5px 18px #243a3508}.attendance-week-nav button,.attendance-day,.attendance-summary-card{box-shadow:none;background:#fff;border-color:#dfe7eb}.attendance-day{color:#647787}.attendance-day.selected{color:#167c70;background:#e7f5f1;border-color:#62b9a4;box-shadow:inset 0 0 0 1px #62b9a4}.attendance-summary-card{color:#243548}.attendance-bulk-actions .mark-remaining{color:#247a59;background:#e3f4ed}.attendance-bulk-actions .clear-attendance{color:#526879;background:#f0f4f6}.attendance-screen .attendance-status-buttons button{color:#71808a;box-shadow:none;background:#f3f6f8;border-color:#dfe7eb}.attendance-screen .attendance-status-buttons .present.selected{color:#237c58;background:#e3f4ed;border-color:#aadac1}.attendance-screen .attendance-status-buttons .absent.selected{color:#a74f3d;background:#fff0ec;border-color:#e8bdb1}.attendance-screen .attendance-status-buttons .late.selected{color:#9c7423;background:#fff5df;border-color:#e8d29a}.attendance-screen .attendance-status-buttons .excused.selected{color:#5269a3;background:#edf1ff;border-color:#c4d0f2}.savebar,.attendance-screen .savebar{background:#fff;border-color:#dfe7eb}.brand-account,.brand-install{color:#176e64;box-shadow:none;background:#e7f5f1;border-color:#c7e5dc}.brand-account:hover,.brand-install:hover{background:#dff0eb}.welcome-features article:nth-child(4n+1),.welcome-features article:nth-child(4n+2),.welcome-features article:nth-child(4n+3),.welcome-features article:nth-child(4n+4){background:#fff;border-color:#dfe7eb}@media (max-width:600px){.sidebar,.attendance-screen .sidebar{background:#fff;border-color:#dfe7eb}.sidebar nav{background:#fff;border-color:#e3eaed;box-shadow:0 3px 10px #243a350b}.sidebar nav .nav.active{box-shadow:none;background:#e7f5f1;border-color:#bfe3da}.attendance-screen .savebar{background:#fff}}.stats>div:first-child,.stats>.overview-stat:first-child{background:#eef0ff!important;border-color:#d9dcf4!important}.stats>div:nth-child(2),.stats>.overview-stat:nth-child(2){background:#e5f6ee!important;border-color:#cce9d9!important}.stats>div:nth-child(3),.stats>.overview-stat:nth-child(3){background:#fff0ed!important;border-color:#f1d8d2!important}.stats>div:nth-child(4),.stats>.overview-stat:nth-child(4){background:#fff6e2!important;border-color:#f0e2bc!important}.stats>div:first-child .stat-icon{color:#625da9;background:#dedfff}.stats>div:nth-child(2) .stat-icon{color:#25815e;background:#d4f0e2}.stats>div:nth-child(3) .stat-icon{color:#b85d4d;background:#ffdfd8}.stats>div:nth-child(4) .stat-icon{color:#9b7528;background:#ffedc4}.class-card:nth-child(4n+1){background:#f0f8ed;border-color:#d9ead2}.class-card:nth-child(4n+2){background:#edf6fb;border-color:#d5e6ef}.class-card:nth-child(4n+3){background:#f5effa;border-color:#e4d9ee}.class-card:nth-child(4n+4){background:#fff3e9;border-color:#f0dfce}.class-card:nth-child(4n+1) .class-icon{color:#4e8750;background:#dcefd8}.class-card:nth-child(4n+2) .class-icon{color:#427c9a;background:#dceef7}.class-card:nth-child(4n+3) .class-icon{color:#80609a;background:#ebdff4}.class-card:nth-child(4n+4) .class-icon{color:#a6693a;background:#f8e4d0}.avatar.tone0{color:#36754a;background:#dff2e4}.avatar.tone1{color:#a56c45;background:#ffeddf}.avatar.tone2{color:#477895;background:#e1eff9}.avatar.tone3{color:#805f98;background:#f0e5f5}.report-summary>div:first-child{background:#eef0ff;border-color:#d9dcf4}.report-summary>div:nth-child(2){background:#e5f6ee;border-color:#cce9d9}.report-summary>div:nth-child(3){background:#fff0ed;border-color:#f1d8d2}.report-summary>div:nth-child(4){background:#fff6e2;border-color:#f0e2bc}.report-table tbody tr:nth-child(2n){background:#f7fafb}.directory-row:nth-child(4n+1){background:#f0f8ed}.directory-row:nth-child(4n+2){background:#edf6fb}.directory-row:nth-child(4n+3){background:#f5effa}.directory-row:nth-child(4n+4){background:#fff3e9}.workflow-entry:nth-child(4n+1){background:#eef8f2;border-color:#d5e9dd #d5e9dd #d5e9dd #55a977}.workflow-entry:nth-child(4n+2){background:#eef6fb;border-color:#d6e6ef #d6e6ef #d6e6ef #5596b5}.workflow-entry:nth-child(4n+3){background:#f5effa;border-color:#e5d9ef #e5d9ef #e5d9ef #9872b5}.workflow-entry:nth-child(4n+4){background:#fff4eb;border-color:#f0dfd0 #f0dfd0 #f0dfd0 #cf8b59}.directory-status.graduated,.directory-action.graduate{color:#a25536;background:#fff0e8;border-color:#f0d4c2}.directory-action.reactivate{color:#277653;background:#e3f4ed;border-color:#c6e7d8}.attendance-summary-card.status-present{color:#27855f;background:#eef9f3;border-color:#cfe9da}.attendance-summary-card.status-absent{color:#c7644e;background:#fff3f0;border-color:#f0d7d1}.attendance-summary-card.status-late{color:#ad812b;background:#fff8e8;border-color:#f0e2bf}.attendance-summary-card.status-excused{color:#5c75b6;background:#f0f3ff;border-color:#d9e0f6}.attendance-day:nth-child(6n+1):not(.selected){background:#f4f8fd}.attendance-day:nth-child(6n+2):not(.selected){background:#f4faf6}.attendance-day:nth-child(6n+3):not(.selected){background:#faf6fd}.attendance-day:nth-child(6n+4):not(.selected){background:#fdf7f1}.attendance-day:nth-child(6n+5):not(.selected){background:#f5f9fb}.attendance-day:nth-child(6n+6):not(.selected){background:#f6faf4}.attendance-screen .attendance-panel{background:#fff;border-color:#dfe7eb;border-radius:18px;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 5px 18px #243a3508}.attendance-screen .attendance-panel-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex:1;min-height:0;padding:12px 12px 4px;overflow:hidden auto}.attendance-screen .attendance-panel-scroll>.attendance-week,.attendance-screen .attendance-panel-scroll>.attendance-summary{margin-bottom:12px}.attendance-screen .attendance-panel-scroll>.register{width:100%;max-width:none;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;display:block;overflow:visible}.attendance-screen .attendance-panel-scroll>.register>.empty{overflow:visible}.attendance-screen .attendance-panel-scroll .student-list{flex:none;min-height:0;padding-bottom:0;overflow:visible}.attendance-screen .attendance-panel>.savebar{z-index:2;background:#fff;border-top:1px solid #dfe7eb;flex:none;min-height:62px;padding:10px 14px;position:relative}@media (max-width:600px){.attendance-screen .attendance-panel{border-radius:17px}.attendance-screen .attendance-panel-scroll{padding:9px 8px 4px}.attendance-screen .attendance-panel>.savebar{min-height:58px;padding:8px 10px}}.attendance-week-head{grid-template-columns:max-content minmax(116px,1fr) auto;grid-template-areas:"title class nav"}.attendance-week-title{grid-area:title}.attendance-week-nav{grid-area:nav;align-self:center}.attendance-week-nav button{width:42px;height:42px}.attendance-class-select{grid-area:class;place-self:center start;max-width:200px}.attendance-class-select select{height:42px;min-height:42px;font-size:14px!important}@media (max-width:850px){.attendance-week-head{grid-template-columns:max-content minmax(96px,1fr) auto;grid-template-areas:"title class nav"}}@media (max-width:600px){.attendance-week-head{grid-template-columns:max-content minmax(70px,1fr) auto;grid-template-areas:"title class nav";gap:5px}.attendance-week-head h2{font-size:clamp(13px,3.8vw,16px)}.attendance-week-nav{gap:3px}.attendance-week-nav button{width:34px;height:38px}.attendance-week-nav span{min-width:30px;font-size:11px}.attendance-class-select{max-width:none}.attendance-class-select select{height:38px;min-height:38px;padding:6px 19px 6px 7px;font-size:15px!important}}@media (max-width:600px){.attendance-screen .attendance-status-buttons .left-early{font-size:12px}}.attendance-summary-card.status-left-early{color:#ad812b;background:#fff8e8;border-color:#f0e2bf}.status-left-early .attendance-summary-icon{background:#fff6df}.attendance-screen .attendance-status-buttons .left-early.selected{color:#9c7423;background:#fff5df;border-color:#e8d29a}.attendance-screen .attendance-panel>.savebar{justify-content:space-between;align-items:center;gap:8px;min-height:54px;padding:7px 10px;display:flex}.attendance-save-actions{align-items:center;gap:6px;min-width:0;display:flex}.attendance-save-actions button{color:#53645f;white-space:nowrap;background:#f4f7f6;border:1px solid #dfe7eb;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:6px 10px;font-size:12px;font-weight:650;display:inline-flex}.attendance-save-actions button.mark-remaining{color:#287957;background:#e4f4ed;border-color:#cfe9da}.attendance-save-actions button.clear-attendance{color:#68716d;background:#f5f3ef}.attendance-save-actions button:disabled{opacity:.48}.attendance-screen .attendance-panel>.savebar>.primary{white-space:nowrap;min-height:40px;padding:7px 12px;font-size:12px}.attendance-screen .attendance-panel-scroll>.attendance-summary{margin-bottom:8px}@media (max-width:600px){.attendance-screen .attendance-panel>.savebar{gap:6px;min-height:52px;padding:6px 8px}.attendance-save-actions{gap:4px}.attendance-save-actions button{min-height:36px;padding:5px 8px;font-size:11px}.attendance-screen .attendance-panel>.savebar>.primary{gap:5px;min-height:38px;padding:6px 9px;font-size:11px}.attendance-screen .attendance-panel>.savebar>.primary svg{width:16px;height:16px}}.directory-actions{flex-direction:column;align-items:stretch;gap:5px;display:flex}.directory-parent-access{color:#3e6874;white-space:nowrap;background:#edf6f8;border:1px solid #cddfe5;border-radius:9px;min-height:34px;padding:6px 9px;font-size:10px;font-weight:700}.directory-parent-access:hover{background:#e1f0f3}@media (max-width:850px){.directory-actions{grid-area:1/3/span 2}}@media (max-width:600px){.directory-actions{flex-direction:row;grid-area:3/2;justify-self:end;gap:5px}.directory-actions button{min-height:32px;padding:6px 8px;font-size:9px}}.parent-page{color:#25372f;background:linear-gradient(145deg,#f5faf7,#f4f6fb 60%,#fff8ef);min-height:100vh;padding:0 20px 24px}.parent-header{border-bottom:1px solid #dfe8e3;justify-content:space-between;align-items:center;max-width:880px;height:76px;margin:auto;display:flex}.parent-account{color:#66766d;align-items:center;gap:14px;font-size:12px;display:flex}.parent-account a{color:#28664c;background:#fff;border:1px solid #d7e5dc;border-radius:10px;padding:8px 12px;font-weight:700}.parent-main{max-width:760px;margin:38px auto 56px}.parent-eyebrow{color:#658573;letter-spacing:1.6px;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.parent-main h1{color:#25372f;margin-top:12px;font-size:34px}.parent-subtitle{color:#718078;margin-top:9px;font-size:14px}.parent-day-picker{background:#fff;border-color:#dfe8e3;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;margin-top:25px;padding:12px 15px;display:grid;box-shadow:0 8px 25px #203c2a0a}.parent-period-controls{background:#fff;border-color:#dfe8e3;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);align-items:end;gap:12px;margin-top:25px;padding:12px 15px;display:grid;box-shadow:0 8px 25px #203c2a0a}.parent-period-controls>label{color:#85948a;letter-spacing:1px;min-width:0;font-size:9px;font-weight:750;display:block}.parent-period-controls>label select,.parent-period-controls>label input{color:#31443a;background:#fbfdfb;border-color:#dfe8e3;height:38px;min-height:38px;margin-top:5px;padding:6px 9px;font-size:13px}.parent-period-controls .parent-day-picker{box-shadow:none;background:0 0;border:0;grid-column:2;margin:0;padding:0}.parent-period-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:22px;display:grid}.parent-period-summary>div{background:#fff;border:1px solid #dfe8e3;border-radius:13px;gap:4px;padding:13px;display:grid}.parent-period-summary>div:first-child{background:#f0f2fb;border-color:#dfe2f1}.parent-period-summary>div:nth-child(2){background:#eef8f1;border-color:#d7ebdd}.parent-period-summary>div:nth-child(3){background:#fff2ee;border-color:#f0dcd6}.parent-period-summary>div:nth-child(4){background:#fff8e8;border-color:#efe3c3}.parent-period-summary strong{color:#26382f;font:750 22px Manrope,sans-serif}.parent-period-summary span{color:#758279;font-size:10px}.parent-history-title{margin-top:25px}.parent-history-day{border-bottom:1px solid #dfe8e3;margin-top:18px;padding:0 0 18px}.parent-history-workflows{margin-top:10px}.parent-day-picker>button{color:#426b56;background:#f8fbf9;border:1px solid #dfe8e3;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.parent-day-picker>button:disabled{opacity:.4}.parent-day-picker label{width:100%;max-width:300px;margin:auto}.parent-day-picker label>span{letter-spacing:1px;color:#85948a;margin-bottom:5px;font-size:9px;display:block}.parent-day-picker label>div{color:#628270;align-items:center;gap:8px;display:flex}.parent-day-picker input{background:#fbfdfb;border-color:#dfe8e3;height:38px;margin:0;padding:6px 8px;font-size:13px!important}.parent-section{margin-top:24px}.parent-section-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.parent-section-title h2{font-size:19px}.parent-section-title>span{color:#85928a;font-size:11px}.parent-attendance-card{background:#eef8f1;border:1px solid #d9e9df;border-radius:15px;align-items:flex-start;gap:14px;padding:18px;display:flex}.parent-attendance-card.parent-absent{background:#fff2ee;border-color:#f0d8d1}.parent-attendance-card.parent-pending{background:#fff8e8;border-color:#efe3c3}.parent-status-icon{color:#347d56;background:#dff2e5;border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.parent-absent .parent-status-icon{color:#b85f4d;background:#fbe2dc}.parent-pending .parent-status-icon{color:#ad812b;background:#fff0d0}.parent-attendance-card small{letter-spacing:1px;color:#77877c;font-size:9px;font-weight:700}.parent-attendance-card strong{margin-top:4px;font-size:19px;display:block}.parent-attendance-card p{color:#66766d;margin-top:8px;font-size:13px;line-height:1.5}.parent-workflow-list{gap:9px;display:grid}.parent-workflow{background:#fff;border:1px solid #dfe8e3;border-radius:13px;align-items:flex-start;gap:12px;padding:14px;display:flex}.parent-workflow.tone1{background:#f1f7fb}.parent-workflow.tone2{background:#f6f1fa}.parent-workflow.tone3{background:#fff5ed}.parent-workflow-icon{color:#367b55;background:#e3f1e8;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.parent-workflow>div{min-width:0}.parent-workflow strong{font-size:13px}.parent-workflow small{color:#748278;margin-top:3px;font-size:11px}.parent-workflow small.progress-completed{color:#278254}.parent-workflow small.progress-in_progress{color:#a77b25}.parent-workflow small.progress-needs_practice{color:#bb6955}.parent-workflow p{color:#69776e;overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.55}.parent-empty{color:#77847c;padding:18px;font-size:12px;line-height:1.6}.parent-error{color:#aa5546;background:#fff2ee;border:1px solid #f0d8d1;border-radius:10px;margin-top:16px;padding:12px;font-size:12px}.parent-footer{color:#95a198;border-top:1px solid #dfe8e3;justify-content:space-between;max-width:760px;margin:auto;padding-top:15px;font-size:11px;display:flex}@media (max-width:600px){.parent-page{padding:0 14px 22px}.parent-header{height:64px}.parent-header .brand{padding:0;font-size:23px}.parent-header .brand-icon{width:32px;height:33px}.parent-account{gap:7px;font-size:10px}.parent-account a{padding:7px 8px}.parent-main{margin:26px auto 38px}.parent-main h1{font-size:29px}.parent-subtitle{font-size:12px;line-height:1.5}.parent-period-controls{grid-template-columns:1fr;gap:9px;margin-top:20px;padding:10px}.parent-period-controls .parent-day-picker{grid-column:1;grid-template-columns:34px minmax(0,1fr) 34px;gap:7px;margin-top:0;padding:0}.parent-period-controls .parent-day-picker>button{width:34px;height:36px}.parent-period-controls .parent-day-picker label{max-width:none}.parent-period-controls .parent-day-picker input{font-size:12px!important}.parent-period-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:16px}.parent-period-summary>div{padding:10px}.parent-period-summary strong{font-size:20px}.parent-period-summary span{font-size:9px}.parent-section{margin-top:20px}.parent-section-title h2{font-size:17px}.parent-section-title>span{font-size:10px}.parent-attendance-card{gap:11px;padding:14px}.parent-attendance-card strong{font-size:17px}.parent-workflow{padding:12px}.parent-footer{font-size:9px}}:is(html:has(.parent-page),body:has(.parent-page)){height:100%;overflow:hidden}.parent-page{height:100vh;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;height:100dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom));position:fixed;inset:0;overflow:hidden auto}.parent-main,.parent-footer{overflow:visible}.report-card{flex-shrink:0;position:relative;overflow:hidden}.report-card .report-output{min-width:0}.report-card .report-table-wrap{overscroll-behavior-x:contain;max-width:100%}.workflow-entry .workflow-status-rating_5{color:#23663b;background:#dff4e6;border-color:#abd4b7}.workflow-entry .workflow-status-rating_4{color:#447037;background:#e8f4e5;border-color:#c4dcb9}.workflow-entry .workflow-status-rating_3{color:#8b691e;background:#fff5d9;border-color:#ead699}.workflow-entry .workflow-status-rating_2{color:#9b6036;background:#ffeddf;border-color:#edc6a9}.workflow-entry .workflow-status-rating_1{color:#a34d48;background:#fbe6e5;border-color:#e8b9b6}.parent-workflow small.progress-rating_5,.parent-workflow small.progress-rating_4{color:#278254}.parent-workflow small.progress-rating_3{color:#9a7625}.parent-workflow small.progress-rating_2,.parent-workflow small.progress-rating_1{color:#b46250}@media (max-width:360px){.attendance-week-head{grid-template-columns:minmax(0,.85fr) minmax(70px,1fr) auto;gap:4px}.attendance-week-label{letter-spacing:1px;font-size:8px}.attendance-week-head h2{font-size:13px}.attendance-week-nav{gap:2px}.attendance-week-nav button{width:30px}.attendance-week-nav span{min-width:26px}.attendance-class-select select{font-size:14px!important}}.account-danger-zone{background:#fff9f7!important;border-color:#f0d9d4!important}.account-danger-zone .account-section-title{color:#b34d43}.account-delete-button{color:#fff;background:#c94e45;border:1px solid #b83d35;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:12px;font-weight:750;display:inline-flex;box-shadow:3px 3px 8px #dccbc5,-3px -3px 8px #fff}.account-delete-button:hover:not(:disabled){background:#ad382f}.account-delete-button:disabled{opacity:.48;cursor:not-allowed}.delete-account-modal{max-width:500px}.delete-account-icon{color:#b43e36;background:#fde8e4;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:14px;display:grid}.delete-account-modal h2{color:#9f302a;max-width:390px;font-size:21px;line-height:1.25}.delete-account-modal>p{color:#5f6965;margin:12px 0 19px;font-size:13px;line-height:1.6}.delete-account-modal label{letter-spacing:.8px;color:#7e6d69;font-size:10px;line-height:1.5;display:block}.delete-account-modal input{letter-spacing:0;background:#fff;border-color:#e7c9c2;min-height:44px;margin-top:7px;font-size:16px!important}.delete-account-reauth{align-items:center;gap:7px;display:flex;color:#347654!important;margin:12px 0!important;font-size:12px!important}.delete-account-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.delete-account-actions .account-delete-button{max-width:100%}@media (max-width:600px){.account-delete-button{min-height:42px}.delete-account-modal{padding:23px 19px}.delete-account-modal h2{font-size:19px}.delete-account-actions{flex-direction:column-reverse}.delete-account-actions button{width:100%;min-height:44px}}.directory-tools{flex-wrap:wrap}.directory-import-csv{white-space:nowrap;cursor:pointer;color:#376d78;background:#edf6f8;border-color:#cfe2e6;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 12px;display:inline-flex;position:relative;overflow:hidden}.directory-import-csv:hover{background:#e1f0f3}.directory-import-csv input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.directory-import-csv:focus-within{outline-offset:2px;outline:2px solid #5797ac}@media (max-width:600px){.directory-tools{grid-template-columns:1fr 1fr}.directory-search{grid-column:1/-1}.directory-import-csv,.directory-add-student{justify-content:center;width:100%;min-width:0}}.role-management{background:linear-gradient(135deg,#f0f7f3,#f3f4fb 65%,#fff8ee);border-color:#dbe8e1;gap:13px;padding:18px;display:grid}.role-management-header{align-items:center;gap:12px;display:flex}.role-management-icon{color:#277451;background:#dff1e7;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.role-management-header h2{font-size:17px}.role-management-header p{color:#74847b;margin-top:4px;font-size:12px;line-height:1.5}.role-school-picker{color:#7c8a81;letter-spacing:1px;gap:6px;max-width:520px;font-size:9px;font-weight:800;display:grid;position:relative}.role-school-picker select{-webkit-appearance:none;appearance:none;color:#2d4236;letter-spacing:0;background:#fff;border:1px solid #d4e2d9;border-radius:10px;width:100%;min-height:43px;padding:9px 36px 9px 12px;font-size:14px;font-weight:650}.role-school-picker>svg{color:#71847a;pointer-events:none;position:absolute;bottom:13px;right:12px}.role-list{gap:8px;display:grid}.role-card{background:#fff;border:1px solid #dfe7e1;border-radius:12px;align-items:center;gap:11px;min-width:0;padding:11px;display:flex}.role-card-active{background:#f2faf4;border-color:#9acdb0}.role-card-icon{color:#477a58;background:#eaf4ec;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid}.role-icon-teacher{color:#4e7592;background:#eaf2fa}.role-icon-parent{color:#82639d;background:#f3edfb}.role-card-info{flex:1;gap:4px;min-width:0;display:grid}.role-card-heading{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.role-card-heading strong{color:#314339;font-size:13px}.role-card-info small{color:#758279;overflow-wrap:anywhere;font-size:10px;line-height:1.4}.role-owner-tag,.role-current-tag{color:#34764e;background:#e5f4e8;border-radius:20px;align-items:center;gap:3px;padding:3px 6px;font-size:8px;font-weight:750;display:inline-flex}.role-current-tag{background:#d8f0e1}.role-switch-button{color:#2d7550;background:#f0f8f2;border:1px solid #cfe1d5;border-radius:9px;flex:none;min-height:34px;padding:7px 11px;font-size:10px;font-weight:750}.role-switch-button:disabled{opacity:.55}.role-empty{color:#728077;border:1px dashed #cfddd3;border-radius:11px;align-items:center;gap:8px;padding:13px;font-size:12px;display:flex}.role-error{color:#a2483e;background:#fff4f1;border:1px solid #efcfca;border-radius:9px;padding:10px 12px;font-size:11px;line-height:1.45}.role-add-button{color:#2f7551;background:#e7f5eb;border:1px solid #c8e2d2;border-radius:10px;justify-content:center;justify-self:start;align-items:center;gap:7px;min-height:39px;padding:8px 12px;font-size:11px;font-weight:750;display:inline-flex}.role-add-panel{background:#fbfdfb;border:1px solid #dce8df;border-radius:13px;gap:12px;padding:12px;display:grid}.role-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.role-choice-grid>button{color:#597466;text-align:left;background:#fff;border:1px solid #dfe6e2;border-radius:11px;align-content:start;justify-items:start;gap:6px;min-width:0;padding:11px;display:grid}.role-choice-grid>button.selected{background:#eff9f1;border-color:#8cc1a2}.role-choice-grid>button strong{color:#34483d;font-size:10px;line-height:1.35}.role-choice-grid>button small,.role-choice-detail>p,.role-choice-detail>small{color:#78857d;font-size:10px;line-height:1.5}.role-choice-detail{background:#f1f6f2;border-radius:10px;gap:9px;padding:11px;display:grid}.role-choice-detail label{color:#7e8b82;letter-spacing:.7px;gap:6px;font-size:9px;font-weight:750;display:grid}.role-choice-detail input{letter-spacing:0;width:100%;min-height:39px;margin:0;padding:8px 10px;font-size:12px!important}.role-action-primary,.role-action-secondary{color:#2b704c;background:#e1f2e6;border:1px solid #b8d8c3;border-radius:9px;justify-content:center;justify-self:start;align-items:center;gap:7px;min-height:36px;padding:8px 11px;font-size:10px;font-weight:750;display:inline-flex}.role-action-secondary{color:#587468;background:#fff;border-color:#d4e1db}.role-request-access{border-top:1px solid #dfe8e2;gap:8px;margin-top:4px;padding-top:10px;display:grid}.role-request-access>strong{color:#40574a;font-size:11px}.role-request-fields{grid-template-columns:1fr 1fr;gap:7px;display:grid}.role-request-access>small{color:#7b887f;font-size:9px;line-height:1.45}.role-hub{height:100dvh;min-height:0}.role-hub-actions{color:#748279;align-items:center;gap:12px;font-size:12px;display:flex}.role-hub-actions .welcome-login{margin-right:0}.role-hub-main{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;width:min(900px,100% - 32px);min-height:0;margin:0 auto;padding:46px 24px 60px;overflow-y:auto}.role-hub-main>h1{color:#293d32;margin:10px 0;font-size:34px}.role-hub-main>p{color:#718078;margin:0 0 24px;font-size:14px;line-height:1.6}.role-management-standalone{margin-top:12px}.parent-child-picker{color:#78877d;letter-spacing:1px;gap:5px;margin:20px 0 0;font-size:9px;font-weight:800;display:grid}.parent-child-picker select{color:#30463a;background:#fff;border:1px solid #d9e5de;border-radius:10px;width:100%;min-height:42px;padding:8px 10px;font-size:13px;font-weight:650}@media (max-width:700px){.role-choice-grid{grid-template-columns:1fr}.role-choice-grid>button{grid-template-columns:24px 1fr;align-items:start}.role-choice-grid>button>svg{grid-row:1/span 2}.role-choice-grid>button small{grid-column:2}.role-hub-main{padding:28px 16px calc(40px + env(safe-area-inset-bottom))}.role-hub-main>h1{font-size:28px}.role-hub-actions{gap:7px}.role-hub-actions>span{display:none}.role-hub-actions .welcome-login{white-space:nowrap;margin:0;padding:8px 9px;font-size:11px}}@media (max-width:420px){.role-management{gap:10px;padding:13px}.role-management-header h2{font-size:15px}.role-card{gap:8px;padding:9px}.role-card-icon{width:32px;height:32px}.role-card-heading strong{font-size:12px}.role-switch-button{min-height:32px;padding:6px 8px}.role-request-fields{grid-template-columns:1fr}}.auth-page{min-height:100vh}.auth-page .welcome-nav{max-width:920px}.auth-main{width:min(480px,100% - 32px);margin:42px auto 56px}.auth-main>h1{color:#293d32;margin:10px 0;font-size:32px;line-height:1.17}.auth-main>p{color:#718078;margin:0 0 20px;font-size:13px;line-height:1.55}.email-auth-card{background:linear-gradient(135deg,#f1f7f3,#f4f5fa 70%,#fff8ee);border-color:#dce8e0;gap:15px;padding:18px;display:grid}.email-auth-card form{gap:12px;display:grid}.email-auth-card label{color:#76867b;letter-spacing:.8px;gap:6px;font-size:9px;font-weight:800;display:grid}.email-auth-card label>input,.auth-input-wrap{background:#fff;border:1px solid #d5e2d9;border-radius:10px;width:100%;min-height:44px}.email-auth-card label>input{color:#30463a;letter-spacing:0;padding:10px 12px;font-size:14px!important}.auth-input-wrap{color:#7a9182;align-items:center;gap:8px;padding:0 11px;display:flex}.auth-input-wrap input{color:#30463a;letter-spacing:0;background:0 0;flex:1;min-width:0;height:42px;margin:0;padding:8px 0;box-shadow:none!important;border:0!important;outline:0!important;font-size:14px!important}.auth-show-password{color:#667b6d;background:#f1f6f2;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.auth-mode-tabs{background:#e7eee9;border-radius:11px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.auth-mode-tabs button{color:#718178;background:0 0;border:1px solid #0000;border-radius:8px;min-height:36px;font-size:11px;font-weight:750}.auth-mode-tabs button.active{color:#2d714d;background:#fff;border-color:#d4e5da;box-shadow:0 2px 7px #28483112}.auth-forgot,.auth-back-to-login{color:#357b58;background:0 0;border:0;justify-self:end;padding:3px 0;font-size:10px;font-weight:700;text-decoration:none}.auth-back-to-login{justify-self:start}.auth-submit{justify-content:center;gap:7px;width:100%;min-height:44px}.auth-form-hint,.auth-privacy-note{color:#7a877f;font-size:10px;line-height:1.55;display:block}.auth-success,.auth-error{border-radius:9px;padding:10px 11px;font-size:11px;line-height:1.45}.auth-success{color:#31734e;background:#eff8f1;border:1px solid #cce4d3}.auth-error{color:#a3473f;background:#fff3f0;border:1px solid #edceca}.auth-divider{color:#98a39b;letter-spacing:1px;align-items:center;gap:10px;margin:15px 0;font-size:9px;font-weight:800;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#dce5df;flex:1;height:1px}.auth-chatgpt-button{color:#40594a;background:#fff;border:1px solid #d7e2da;border-radius:10px;justify-content:center;align-items:center;min-height:43px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.auth-privacy-note{text-align:center;margin-top:12px}.verify-explainer{color:#6d7e73;font-size:12px;line-height:1.6}.auth-spinner{animation:1s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:600px){.auth-main{margin:27px auto 38px}.auth-main>h1{font-size:27px}.email-auth-card{padding:14px}.email-auth-card label>input,.auth-input-wrap{min-height:42px}.auth-input-wrap input{height:40px}}.invitation-main{max-width:620px}.invitation-summary{text-align:left;align-items:center;gap:14px;margin:20px auto;padding:18px;display:flex}.invitation-summary>div{min-width:0}.invitation-summary strong{font-size:18px}.invitation-summary p{color:#367551;margin:4px 0;font-weight:700}.invitation-summary small{color:#69776e;line-height:1.5}.invitation-accept-card{text-align:left;margin:18px auto}.invitation-status-message{color:#805817;background:#fff4e3;border-radius:10px;padding:12px}.invitation-request-link{margin:8px auto;display:inline-flex}.invite-assignment-picker{border:1px solid var(--line);text-align:left;border-radius:11px;gap:7px;margin:12px 0;padding:12px;display:grid}.invite-assignment-picker legend{color:#708078;letter-spacing:1px;padding:0 5px;font-size:10px;font-weight:800}.invite-assignment-picker label{background:#f7faf7;border-radius:8px;align-items:center;gap:9px;min-height:36px;padding:5px 7px;font-size:13px;display:flex}.invite-assignment-picker input{accent-color:#287a52}.invite-assignment-picker label small{color:#7a877f;margin-left:auto}.invitation-manager-list{gap:8px;display:grid}.invitation-manager-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:12px;display:flex}.invitation-manager-info{flex:1;gap:4px;min-width:0;display:grid}.invitation-manager-info>strong{overflow-wrap:anywhere}.invitation-manager-info>small{color:#758279;font-size:11px;line-height:1.4}.invitation-status{text-transform:capitalize;border-radius:999px;align-items:center;gap:4px;width:max-content;padding:3px 7px;font-size:10px;font-weight:750;display:inline-flex}.status-pending{color:#94651c;background:#fff4dc}.status-accepted{color:#347450;background:#e7f6ec}.status-expired,.status-revoked{color:#7d6464;background:#f2eded}.invitation-manager-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.invitation-manager-actions .subtle{align-items:center;gap:5px;padding:7px 9px;font-size:11px;display:inline-flex}.invitation-manager .auth-success{align-items:center;gap:6px;display:flex}.invitation-request-link{margin-top:7px}.brand-actions .notification-bell{border-radius:10px;width:32px;height:32px}.notification-center{z-index:32;align-items:center;display:inline-flex;position:relative}.notification-bell{color:#27654d;background:#edf6f0;border:1px solid #d9e8de;border-radius:12px;place-items:center;width:40px;height:40px;display:grid;position:relative}.notification-bell:hover{background:#dff0e5}.notification-count{color:#fff;background:#c95e53;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.notification-scrim{z-index:31;background:0 0;position:fixed;inset:0}.notification-popover{z-index:32;color:#25362d;background:#fff;border:1px solid #dfe7df;border-radius:17px;flex-direction:column;width:min(390px,100vw - 24px);max-height:min(70vh,560px);display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 55px #26372d2b}.notification-popover>header{background:#f8faf7;border-bottom:1px solid #e8ede8;justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;display:flex}.notification-popover>header strong{font:750 16px Manrope,sans-serif;display:block}.notification-popover>header small{color:#78847a;margin-top:3px;font-size:11px}.notification-popover>header button{color:#27654d;white-space:nowrap;background:#eaf3eb;border-radius:8px;align-items:center;gap:5px;padding:8px 9px;font-size:10px;font-weight:700;display:flex}.notification-list{overscroll-behavior:contain;overflow:auto}.notification-item{border-bottom:1px solid #edf0ec;align-items:flex-start;gap:11px;padding:13px 15px;text-decoration:none;display:flex;position:relative}.notification-item:hover{background:#f8faf7}.notification-item.unread{background:#f3f8f3}.notification-type{color:#34825e;background:#e3f3e8;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.notification-type.parent-workflow{color:#76589c;background:#eee9fa}.notification-type.school-activity{color:#5272a1;background:#e7effa}.notification-copy{flex:1;min-width:0}.notification-copy strong{margin:1px 0 4px;font-size:12px;display:block}.notification-copy>span{color:#56635b;font-size:11px;line-height:1.45;display:block}.notification-copy small{color:#89928a;margin-top:6px;font-size:10px}.notification-open-icon{color:#97a29a;margin-top:5px}.notification-empty{color:#879187;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 15px;display:flex}.notification-empty svg{color:#659578}.notification-empty strong{color:#31433a;font-size:13px}.notification-empty span{font-size:11px}.notification-popover>footer{color:#859087;background:#fbfcfa;border-top:1px solid #e8ede8;justify-content:center;align-items:center;min-height:41px;padding:9px;font-size:10px;display:flex}.notification-popover>footer button{color:#27654d;padding:5px;font-size:11px;font-weight:700}.topbar-actions{align-items:center;gap:14px;display:flex}.parent-account .notification-center{margin-right:3px}.invitation-manual-link{background:#fff8ea;border:1px solid #e2cda8;border-radius:10px;gap:7px;margin-top:12px;padding:11px;font-size:11px;display:grid}.invitation-manual-link input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:7px;font-size:11px}.invitation-manual-link button{justify-self:start}.notification-scrim{z-index:1001}.notification-popover{z-index:1002;width:min(390px,100vw - 24px);max-height:min(70vh,560px,100dvh - 24px);position:fixed;top:12px;left:12px;right:auto}.student-directory .directory-list{gap:7px;padding:10px}.student-directory .directory-row{border-radius:12px;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:7px 10px;min-height:58px;padding:8px 10px;position:relative}.student-directory .directory-student{grid-column:1;gap:10px;min-width:0}.student-directory .directory-student .avatar{width:36px;min-width:36px;height:36px;font-size:14px}.student-directory .directory-student strong{font-size:15px;line-height:1.2}.student-directory .directory-student small{margin-top:3px;font-size:11px;line-height:1.25;display:block}.student-directory .directory-status{vertical-align:middle;padding:2px 6px;font-size:9px}.student-menu-trigger{color:#4f675e;cursor:pointer;background:#fff;border:1px solid #d9e3df;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:2px 2px 5px #cbd5d055}.student-menu-trigger:hover,.student-menu-trigger[aria-expanded=true]{color:#246a4d;background:#e7f3eb;border-color:#b8d8c3}.student-options{border-top:1px solid #dfe7e4;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:9px 2px 2px;display:grid}.student-options button,.student-option-move{color:#385b48;text-align:center;cursor:pointer;background:#f8fbf8;border:1px solid #d5e2dc;border-radius:9px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:38px;padding:7px 9px;font-size:11px;font-weight:700;display:flex}.student-options .directory-parent-access{color:#3e6874;background:#edf6f8;border-color:#cddfe5;margin:0}.student-options .directory-action{min-height:38px;padding:7px 9px;font-size:11px}.student-option-move{text-align:left;color:#52636d;background:#f7f9fa;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;display:grid}.student-option-move select{color:#30443a;background:#fff;border:1px solid #d5e0e3;border-radius:7px;width:100%;min-width:0;height:30px;min-height:30px;margin:0;padding:4px 6px;font-size:11px}@media (max-width:600px){.student-directory .directory-row{grid-template-columns:minmax(0,1fr) 36px;min-height:56px;padding:8px 9px}.student-directory .directory-student{grid-area:1/1}.student-directory .directory-options{grid-template-columns:1fr}.student-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.student-options>:last-child{grid-column:1/-1}.student-menu-trigger{grid-area:1/2}}.class-grid .class-card.card{border-radius:13px;min-width:0;padding:12px 13px;display:block;overflow:visible}.class-card-top{grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:9px;min-width:0;display:grid}.class-grid .class-card .class-icon{border-radius:10px;grid-area:auto;width:36px;height:36px;margin:0}.class-card-heading{min-width:0}.class-card-heading h2{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.25}.class-card-heading p{color:#73818c;overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.3}.class-menu-trigger{color:#4f675e;cursor:pointer;background:#fff;border:1px solid #d9e3df;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:2px 2px 5px #cbd5d055}.class-menu-trigger:hover,.class-menu-trigger[aria-expanded=true]{color:#246a4d;background:#e7f3eb;border-color:#b8d8c3}.class-grid .class-card .class-count{color:#73818c;align-items:center;gap:5px;margin:7px 0 0 47px;font-size:11px;line-height:1.3;display:flex}.class-options{border-top:1px solid #dfe7e4;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;padding-top:10px;display:grid}.class-options>button{color:#385b48;text-align:center;background:#f8fbf8;border:1px solid #d5e2dc;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:7px 8px;font-size:11px;font-weight:700;display:flex}.class-options>button:hover{background:#eaf4ed;border-color:#bdd9c6}.class-options .class-attend{color:#2f714b;background:#e9f5ec;border:1px solid #d1e6d8;border-radius:9px;grid-column:1/-1;justify-content:space-between;width:100%;min-height:38px;margin:0;padding:8px 10px;font-weight:700}.class-student-list{background:#fff;border:1px solid #dfe7e4;border-radius:9px;grid-column:1/-1;margin:0;padding:0 9px}.class-student-list summary{color:#52685c;cursor:pointer;padding:10px 0;font-size:11px;font-weight:700}.class-student-list .roster{border-top:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:11px;display:flex}.class-student-list .roster button{color:#a95545;background:#fff5f2;border:1px solid #f0d4ce;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.class-student-list .workflow-empty{padding:8px 0;font-size:11px}@media (max-width:600px){.class-grid .class-card.card{padding:10px 11px}.class-card-top{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}.class-grid .class-card .class-icon,.class-menu-trigger{width:34px;height:34px}.class-card-heading h2{font-size:14px}.class-grid .class-card .class-count{margin:6px 0 0 42px;font-size:10px}.class-options{gap:6px;margin-top:8px;padding-top:8px}.class-options>button{min-height:36px;padding:6px;font-size:10px}}.student-workflow-modal .workflow-entry{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:7px}.student-workflow-modal .workflow-entry>label{letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:9px;display:block;overflow:hidden}.student-workflow-modal .workflow-entry select,.student-workflow-modal .workflow-entry input{letter-spacing:0;width:100%;min-width:0;height:33px;min-height:33px;margin-top:4px;padding:5px 6px;font-size:11px;display:block}.student-workflow-modal .workflow-entry input::placeholder{opacity:.75;font-size:10px}.parent-workflow-mistakes{color:#8a5144!important;margin-top:5px!important;font-size:12px!important;line-height:1.45!important}.parent-workflow-mistakes strong{font-weight:700}.parent-page{padding-bottom:calc(112px + env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top);background:linear-gradient(155deg,#f4f8f6 0%,#f3f6f9 58%,#f7f7f2 100%)}.parent-header{z-index:25;-webkit-backdrop-filter:blur(16px);background:#ffffffed;border-bottom:1px solid #e2e9e5;height:72px;padding:0 18px;position:sticky;top:0}.parent-header .brand{color:#203b35;white-space:nowrap;align-items:center;gap:9px;font-size:24px;font-weight:800;text-decoration:none;display:inline-flex}.parent-header .brand-icon{color:#fff;background:linear-gradient(145deg,#258674,#176c64);border-radius:13px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 5px 12px #176c6426}.parent-header .brand-dot{color:#49aa91;margin-left:-7px}.parent-account{color:#435750;gap:12px;font-size:12px}.parent-school-mark{color:#60756c;align-items:center;gap:6px;margin-right:4px;font-size:11px;font-weight:700;display:inline-flex}.parent-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:650;overflow:hidden}.parent-account .parent-signout{color:#426558;background:#f8faf8;border-color:#e0e8e3;border-radius:10px;padding:8px 11px;font-size:11px;text-decoration:none}.parent-main{margin:30px auto 44px}.parent-main h1{letter-spacing:-.8px;color:#213b35}.parent-eyebrow{letter-spacing:1.3px}.parent-bottom-nav{z-index:40;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);background:#fffffff2;border:1px solid #e1e9e4;border-radius:20px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;width:min(620px,100% - 24px);min-height:70px;padding:7px 10px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px 38px #233b3024}.parent-bottom-nav button,.parent-bottom-nav a{color:#74847b;min-width:0;min-height:54px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.parent-bottom-nav button span,.parent-bottom-nav a span{white-space:nowrap;font-size:10px;font-weight:650;line-height:1.1}.parent-bottom-nav button.active,.parent-bottom-nav a.active{color:#1a765c;background:#e9f4ee}:is(.parent-bottom-nav button:focus-visible,.parent-bottom-nav a:focus-visible){outline-offset:2px;outline:2px solid #258674}.parent-footer{margin-bottom:10px}.parent-account-page{max-width:620px;margin:0 auto;padding:0 0 20px}.parent-account-page h1{margin-top:12px}.parent-account-profile{background:#fff;border:1px solid #e0e9e3;border-radius:17px;align-items:center;gap:14px;margin-top:24px;padding:19px;display:flex;box-shadow:0 8px 24px #203c2a0a}.parent-account-avatar{color:#26735c;background:#e8f3ed;border-radius:15px;flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.parent-account-profile>div{gap:5px;min-width:0;display:grid}.parent-account-profile strong{color:#263d34;font-size:16px}.parent-account-profile span:not(.parent-account-avatar){color:#74847b;overflow-wrap:anywhere;font-size:13px}.parent-account-details{background:#fff;border:1px solid #e0e9e3;border-radius:17px;margin-top:16px;padding:19px}.parent-account-details h2{color:#2a4439;margin:0 0 12px;font-size:16px}.parent-account-details dl{margin:0}.parent-account-details dl>div{border-top:1px solid #edf1ee;justify-content:space-between;gap:14px;padding:12px 0;display:flex}.parent-account-details dt{color:#76857d;font-size:12px}.parent-account-details dd{color:#31483d;text-align:right;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:650}.parent-account-signout{color:#a34f43;background:#fff5f3;border:1px solid #efd6d1;border-radius:13px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:16px;padding:12px 16px;font-size:14px;font-weight:750;text-decoration:none;display:flex}.parent-account-signout:hover{background:#ffebe7}.parent-page{padding-top:calc(72px + env(safe-area-inset-top))}.parent-header{top:env(safe-area-inset-top);width:100%;max-width:none;margin:0;padding:0 max(18px,50vw - 440px);position:fixed;left:0;right:0;box-shadow:0 3px 14px #203c2a0a}.parent-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-error button{color:#93483d;background:#fff;border:1px solid #e3b8af;border-radius:9px;flex:none;padding:8px 12px;font-size:12px;font-weight:700}.parent-account-page .role-management-standalone{margin-top:16px}@media (max-width:600px){.parent-page{padding:calc(60px + env(safe-area-inset-top)) 14px calc(100px + env(safe-area-inset-bottom))}.parent-header{top:env(safe-area-inset-top);height:60px;padding:0 16px}.parent-header .brand{gap:7px;font-size:21px}.parent-header .brand-icon{border-radius:11px;width:34px;height:34px}.parent-account{gap:7px}.parent-school-mark,.parent-account-name{display:none}.parent-account .notification-bell{border-radius:11px;width:35px;height:35px}.parent-account .parent-signout{padding:7px 9px;font-size:10px}.parent-main{margin:22px auto 30px}.parent-bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom));border-radius:18px;width:calc(100% - 20px);min-height:64px;padding:5px 7px}.parent-bottom-nav button,.parent-bottom-nav a{border-radius:12px;min-height:50px}.parent-bottom-nav button span,.parent-bottom-nav a span{font-size:9px}.parent-footer{padding-bottom:8px}.parent-account-page{padding-bottom:12px}.parent-account-profile,.parent-account-details{border-radius:15px;padding:15px}.student-workflow-modal .workflow-entry{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px 6px}.student-workflow-modal .workflow-entry>label{letter-spacing:0;font-size:8px}.student-workflow-modal .workflow-entry select,.student-workflow-modal .workflow-entry input{height:31px;min-height:31px;padding:4px 5px;font-size:10px}.student-workflow-modal .workflow-entry input::placeholder{font-size:9px}}.school-calendar-fields{border:1px solid #d9e4dd;border-radius:14px;min-width:0;margin:8px 0 16px;padding:14px}.school-calendar-fields legend{color:var(--ink);padding:0 6px;font-weight:700}.school-calendar-fields .account-setting-help{margin:4px 0 12px}.school-weekday-options{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.school-weekday-options label{cursor:pointer;background:#eff8f2;border:1px solid #d5e5dc;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-weight:600;display:inline-flex;font-size:13px!important}.school-weekday-options input{accent-color:#16806e;width:16px;height:16px;margin:0}.school-closure-editor{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.school-closure-editor>label{flex:1;min-width:170px}.school-closure-editor input{width:100%;margin-top:5px;display:block}.school-closure-editor button{min-height:42px}.school-closure-list{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.school-closure-list>strong{width:100%;color:var(--muted);font-size:12px}.school-closure-list>span{color:#765522;background:#fff3e1;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:inline-flex}.school-closure-list button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:inline-grid}.school-day-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 22px;display:grid}.school-day-summary>div{background:#eef5f2;border:1px solid #d8e8df;border-radius:14px;flex-direction:column;gap:4px;padding:13px 15px;display:flex}.school-day-summary>div:nth-child(2){background:#e8f4ed}.school-day-summary>div:nth-child(3){background:#fff3e3}.school-day-summary strong{color:var(--ink);font-size:22px}.school-day-summary span{color:var(--muted);font-size:12px}.school-day-summary>p{color:var(--muted);grid-column:1/-1;margin:0 2px;font-size:12px}.parent-school-days{margin-bottom:10px}@media (max-width:600px){.school-calendar-fields{padding:11px}.school-weekday-options{gap:6px}.school-weekday-options label{padding:7px 9px}.school-day-summary{gap:7px;margin:12px 0 18px}.school-day-summary>div{padding:10px}.school-day-summary strong{font-size:19px}.school-day-summary span{font-size:11px}}.school-weekday-options input{background:0 0;border:0;border-radius:4px;min-height:16px;padding:0}.school-month-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.school-month-options label{cursor:pointer;background:#eff8f2;border:1px solid #d5e5dc;border-radius:12px;align-items:center;gap:8px;min-height:40px;padding:7px 10px;font-size:13px;font-weight:600;display:flex}.school-month-options input{accent-color:#16806e;width:16px;height:16px;min-height:16px;margin:0}@media (max-width:600px){.school-month-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.school-month-options label{padding:7px 8px;font-size:12px}}.school-day-summary.academic{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:600px){.school-day-summary.academic{grid-template-columns:repeat(2,minmax(0,1fr))}}.platform-admin-page{color:#23382d;background:#f4f8f5;min-height:100dvh}.platform-admin-main{width:min(1180px,100% - 32px);margin:0 auto;padding:34px 0 70px}.platform-admin-main>h1{color:#213a2c;letter-spacing:-1.2px;margin:8px 0;font:800 clamp(30px,5vw,42px) Manrope,sans-serif}.platform-admin-intro{color:#68796f;margin:0;font-size:14px;line-height:1.55}.platform-admin-content{margin-top:25px}.platform-admin-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.platform-admin-actions>span{color:#4d725b;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.platform-admin-actions button{align-items:center;gap:7px;display:inline-flex}.platform-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.platform-admin-stats article{background:#fff;border:1px solid #e0e9e2;border-radius:15px;grid-template-columns:28px 1fr;align-items:center;gap:3px 10px;padding:16px;display:grid;box-shadow:0 5px 16px #26422d08}.platform-admin-stats article svg{color:#39815c;grid-row:span 2;width:21px;height:21px}.platform-admin-stats article span{color:#77847a;font-size:11px}.platform-admin-stats article strong{color:#273e30;font-size:22px;line-height:1.1}.platform-admin-panel{background:#fff;border:1px solid #e0e9e2;border-radius:17px;overflow:hidden;box-shadow:0 8px 26px #26422d09}.platform-admin-panel-title{justify-content:space-between;align-items:center;gap:16px;padding:20px 21px 15px;display:flex}.platform-admin-panel-title h2{color:#263d30;margin:0;font-size:18px}.platform-admin-panel-title p{color:#78857b;margin:5px 0 0;font-size:12px}.platform-admin-panel-title>span{color:#4c765b;background:#edf5ef;border-radius:999px;flex:none;padding:6px 9px;font-size:10px;font-weight:700}.platform-admin-filters{justify-content:space-between;align-items:center;gap:12px;padding:0 21px 15px;display:flex}.platform-admin-search{color:#748178;background:#fbfdfb;border:1px solid #dce6de;border-radius:10px;align-items:center;gap:8px;width:min(420px,100%);min-height:41px;padding:0 11px;display:flex}.platform-admin-search input{color:#2a3c31;width:100%;min-width:0;font:inherit;outline:0;box-shadow:none!important;background:0 0!important;border:0!important;font-size:12px!important}.platform-admin-filter{color:#758279;align-items:center;gap:8px;font-size:11px;display:flex}.platform-admin-table-wrap{border-top:1px solid #edf1ed;width:100%;overflow:auto}.platform-admin-table{border-collapse:collapse;text-align:left;width:100%;min-width:850px}.platform-admin-table th{color:#758279;letter-spacing:.5px;text-transform:uppercase;background:#f8faf8;padding:11px 14px;font-size:9px;font-weight:800}.platform-admin-table td{color:#56645a;vertical-align:middle;border-top:1px solid #edf1ed;padding:13px 14px;font-size:11px}.platform-admin-table td:first-child,.platform-admin-table th:first-child{padding-left:21px}.platform-admin-table td strong,.platform-admin-table td small{text-overflow:ellipsis;white-space:nowrap;max-width:250px;display:block;overflow:hidden}.platform-admin-table td strong{color:#2d4034;font-size:11px}.platform-admin-table td small{color:#7f8c82;margin-top:4px;font-size:10px}.platform-account-verified{background:#fff3e8;border-radius:999px;width:max-content;padding:3px 6px;font-weight:700;color:#92623b!important;max-width:none!important;margin-top:6px!important;font-size:9px!important;display:inline-flex!important}.platform-account-verified.is-verified{background:#eaf5ed;color:#36744b!important}.platform-plan-pill{color:#647068;background:#eef1ef;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750;display:inline-flex}.platform-plan-pill.is-plus{color:#26764b;background:#e4f4e9}.platform-plan-pill.is-owner{color:#68529b;background:#f2edff}.platform-plan-detail{display:block;white-space:normal!important;max-width:none!important;margin-top:5px!important}.platform-muted{color:#8b958d;font-size:10px}.platform-empty{text-align:center;color:#7b897e!important;padding:28px!important}.platform-admin-footnote{color:#829087;margin:13px 21px 18px;font-size:10px;line-height:1.5}.platform-admin-loading{color:#6f7d73;justify-content:center;align-items:center;gap:9px;min-height:180px;font-size:13px;display:flex}.platform-spin{animation:.9s linear infinite platform-spin}@keyframes platform-spin{to{transform:rotate(360deg)}}.platform-admin-error{margin-top:14px}.platform-subscription-toggle{color:#738078;white-space:nowrap;background:#f7f9f7;border:1px solid #dce6de;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.platform-subscription-toggle.is-on{color:#2c7348;background:#eff9f1;border-color:#b8dcc2}.platform-toggle-track{background:#c7d0c9;border-radius:999px;align-items:center;width:32px;height:18px;padding:2px;transition:background .18s;display:flex}.platform-toggle-track>span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;box-shadow:0 1px 3px #172b201f}.platform-subscription-toggle.is-on .platform-toggle-track{background:#48a66b}.platform-subscription-toggle.is-on .platform-toggle-track>span{transform:translate(14px)}.platform-subscription-toggle:disabled{opacity:.48;cursor:default}.platform-admin-shortcut{justify-content:space-between;align-items:center;gap:14px;display:flex;background:#f5fbf6!important;border-color:#d7e7dc!important;padding:14px 16px!important}.platform-admin-shortcut>div{color:#34754d;align-items:center;gap:11px;display:flex}.platform-admin-shortcut>div>div{gap:4px;display:grid}.platform-admin-shortcut strong{color:#2d4835;font-size:12px}.platform-admin-shortcut small{color:#718176;font-size:10px}.platform-admin-shortcut>a{min-height:38px;padding:9px 12px;font-size:10px;text-decoration:none}.role-hub-actions{align-items:center;gap:12px;display:flex}html:has(.platform-admin-page){overscroll-behavior:auto;height:auto;overflow:hidden auto}body:has(.platform-admin-page){overscroll-behavior:auto;width:100%;height:auto;min-height:100dvh;position:static;inset:auto;overflow:visible}.platform-admin-page{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}@media (max-width:700px){.platform-admin-main{width:calc(100% - 22px);padding-top:25px}.platform-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.platform-admin-stats article{padding:12px}.platform-admin-panel-title{padding:16px 14px 12px}.platform-admin-filters{flex-direction:column;align-items:stretch;padding:0 14px 13px}.platform-admin-filter{justify-content:space-between}.platform-admin-filter select{flex:1}.platform-admin-panel-title p{font-size:11px}.platform-admin-panel-title>span{font-size:9px}.platform-admin-table{min-width:820px}.platform-admin-table td:first-child,.platform-admin-table th:first-child{padding-left:14px}.platform-admin-footnote{margin:12px 14px 15px}.platform-admin-shortcut{flex-direction:column;align-items:flex-start}.platform-admin-shortcut>a{justify-content:center;width:100%}.role-hub-actions{gap:7px}.role-hub-actions>span{display:none}}.dashboard-role-switcher{background:#f5f8f6;border:1px solid #dfe8e3;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 18px;padding:7px;display:grid}.dashboard-role-option{color:#66766e;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:46px;padding:9px 10px;font-size:13px;font-weight:650;display:flex}.dashboard-role-option:hover:not(:disabled){color:#167d6a;background:#fff}.dashboard-role-option.active{color:#147a67;background:#fff;border-color:#bfe1d2;box-shadow:0 2px 7px #20332b0d}.dashboard-role-option:disabled{cursor:default}.dashboard-role-option span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-role-option svg:last-child{color:#31875f;flex-shrink:0}@media (max-width:600px){.dashboard-role-switcher{gap:4px;margin:16px 0 14px;padding:5px}.dashboard-role-option{gap:5px;min-height:44px;padding:8px 4px;font-size:11px}.dashboard-role-option>svg:first-child{width:15px;height:15px}}
