:root{--ink:#17231f;--muted:#718079;--line:#e6ece8;--canvas:#f5f8f6;--green:#147d64;--green-dark:#0f6954;--mint:#dff3eb;--blue:#3979c5;--orange:#df8a31;--purple:#7963c7;--shadow:0 12px 36px #1d372d12;--radius:16px;--sidebar:246px}[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.skip-link{z-index:100;color:var(--green);background:#fff;border-radius:8px;padding:12px 18px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);align-items:center;gap:10px;padding:0 10px 34px;font-family:Plus Jakarta Sans,sans-serif;font-size:23px;font-weight:800;text-decoration:none;display:flex}.brand>span:last-child span{color:var(--green)}.brand-mark{border:2px solid var(--green);border-radius:8px;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;width:29px;height:29px;padding:4px;display:grid}.brand-mark span{background:var(--green);border-radius:2px;display:block}.brand-mark span:first-child{height:8px}.brand-mark span:nth-child(2){height:17px}.brand-mark span:nth-child(3){height:12px}.main-nav{flex-direction:column;gap:5px;display:flex}.nav-label{letter-spacing:1.3px;color:#a5afa9;margin:12px 12px 7px;font-size:10px;font-weight:700}.nav-item{color:#66736d;border-radius:10px;align-items:center;gap:13px;min-height:45px;padding:0 13px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:var(--green);background:#f0f7f4}.nav-item.active{color:var(--green);background:#e8f5f0}.nav-item svg{width:19px}.nav-badge{color:#fff;text-align:center;background:#e8795d;border-radius:20px;min-width:22px;margin-left:auto;padding:2px 6px;font-size:11px}.help-card{text-align:center;background:linear-gradient(145deg,#e8f7f1,#f4fbf8);border-radius:14px;margin-top:auto;padding:19px 13px 15px}.help-icon{background:var(--green);color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;width:35px;height:35px;margin:-35px auto 10px;font-weight:700;display:grid}.help-card strong{font-size:13px}.help-card p{color:var(--muted);margin:5px 0 12px;font-size:11px;line-height:1.5}.help-card button{color:var(--green);cursor:pointer;background:0 0;border:0;font:700 11px inherit}.logout{color:#88938e;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;padding:19px 13px 0;font:600 13px inherit;display:flex}.page{margin-left:var(--sidebar)}.topbar{border-bottom:1px solid var(--line);z-index:15;background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 3.2%;display:flex;position:sticky;top:0}.topbar-school,.profile{align-items:center;gap:11px;display:flex}.school-avatar,.profile-avatar{width:39px;height:39px;color:var(--green);background:#dff2ea;border-radius:10px;place-items:center;font-family:Plus Jakarta Sans;font-weight:800;display:grid}.profile-avatar{color:#8a5135;background:#f4d7c7;border-radius:50%}.topbar strong{font-size:13px;display:block}.topbar small{color:#929c97;margin-top:3px;font-size:10px;display:block}.topbar-actions{align-items:center;gap:24px;display:flex}.icon-button,.mobile-menu{cursor:pointer;color:#65736d;background:0 0;border:0;place-items:center;width:42px;height:42px;display:grid;position:relative}.icon-button span{background:#ea6a51;border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.profile{border-left:1px solid var(--line);padding-left:23px}.profile>svg{color:#98a29d;width:16px;margin-left:8px}.mobile-menu{display:none}main{max-width:1640px;margin:auto;padding:34px 3.2% 50px}.welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1px;color:var(--green);margin:0 0 7px;font-size:10px;font-weight:700}.welcome-row h1{margin:0 0 8px;font:700 clamp(23px,2.2vw,30px)/1.2 Plus Jakarta Sans}.welcome-row p:last-child{color:var(--muted);margin:0}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 17px;font:700 13px DM Sans;transition:all .18s;display:inline-flex}.primary-button{background:var(--green);color:#fff;box-shadow:0 7px 18px #147d6433}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.primary-button:active{transform:scale(.98)}.primary-button svg{width:17px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:19px;display:grid}.stat-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 4px 15px #1e342b06}.stat-card{padding:19px 20px;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.045;background:currentColor;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-30px;right:-30px}.stat-top{justify-content:space-between;align-items:center;display:flex}.stat-icon{border-radius:10px;place-items:center;width:37px;height:37px;display:grid}.green .stat-icon{color:var(--green);background:#e5f5ef}.blue .stat-icon{color:var(--blue);background:#eaf2fb}.orange .stat-icon{color:var(--orange);background:#fff2e4}.purple .stat-icon{color:var(--purple);background:#f0edfb}.trend{color:#8c9892;background:#f4f6f5;border-radius:20px;padding:5px 8px;font-size:10px}.trend.up{color:var(--green);background:#e9f7f1}.trend.warning{color:#c67220;background:#fff3e7}.stat-card>p{color:#6f7d77;margin:15px 0 5px;font-size:12px}.stat-card>strong{letter-spacing:-.5px;font:700 clamp(20px,2vw,26px) Plus Jakarta Sans;display:block}.stat-card strong em{color:#7c8983;font:600 12px DM Sans}.stat-card>small{color:#9aa39f;margin-top:7px;font-size:10px;display:block}.overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:19px;margin-bottom:19px;display:grid}.panel{padding:22px}.panel-heading{justify-content:space-between;align-items:flex-start;display:flex}.panel h2{margin:0 0 5px;font:700 16px Plus Jakarta Sans}.panel-heading p{color:#929d98;margin:0;font-size:11px}.panel-heading select,.table-tools select{border:1px solid var(--line);color:#5c6a64;background:#fff;border-radius:8px;min-height:34px;padding:0 30px 0 11px;font:600 11px DM Sans}.chart-wrap{height:220px;margin-top:22px;display:flex}.chart-y{color:#9aa49f;flex-direction:column;justify-content:space-between;width:42px;padding:0 0 22px;font-size:9px;display:flex}.chart{border-bottom:1px solid var(--line);flex:1;justify-content:space-around;align-items:flex-end;padding:0 10px;display:flex;position:relative}.grid-lines{background:repeating-linear-gradient(to bottom, var(--line) 0, var(--line) 1px, transparent 1px, transparent 20%);opacity:.8;position:absolute;inset:0 0 22px}.bar-group{z-index:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:11%;max-width:42px;height:100%;display:flex}.bar{height:var(--height);background:#b7ded0;border-radius:6px 6px 2px 2px;width:100%;transition:height .5s;position:relative}.bar:hover{background:#8ccab4}.bar span{color:#718079;white-space:nowrap;font-size:8px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.bar-group small{color:#7d8984;height:14px;font-size:9px}.bar-group.current .bar{background:var(--green)}.chart-legend{color:#7a8781;justify-content:center;gap:23px;margin-top:13px;font-size:9px;display:flex}.chart-legend i{background:#b7ded0;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.chart-legend .target i{background:0 0;border-top:2px dashed #9ca8a2;border-radius:0;width:15px}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;font:700 10px DM Sans}.class-list{flex-direction:column;margin-top:14px;display:flex}.class-row{border-bottom:1px solid #edf0ee;grid-template-columns:39px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.class-row:last-child{border-bottom:0;padding-bottom:0}.class-badge{border-radius:11px;place-items:center;width:39px;height:39px;font-size:11px;font-weight:800;display:grid}.sun{color:#bb7c14;background:#fff0cc}.leaf{color:#34865c;background:#dff4e7}.sky{color:#397abb;background:#e1effb}.berry{color:#8955a3;background:#f2e6f7}.class-row>div{min-width:0}.class-row strong,.class-row span{display:block}.class-row strong{font-size:11px}.class-row div>span{color:#939d98;margin:4px 0 7px;font-size:9px}.class-row>b{color:#5f6d67;font-size:11px}.progress{background:#edf1ef;border-radius:4px;height:4px;overflow:hidden}.progress i{background:var(--green);border-radius:4px;height:100%;display:block}.transactions{padding:0;overflow:hidden}.transaction-heading{padding:21px 22px 16px}.text-button span{margin-left:4px;font-size:15px}.table-tools{border-top:1px solid var(--line);background:#fafcfb;gap:9px;padding:11px 22px;display:flex}.search{width:240px;position:relative}.search svg{color:#9ba59f;width:16px;position:absolute;top:9px;left:11px}.search input{border:1px solid var(--line);border-radius:8px;outline:none;width:100%;height:35px;padding:0 12px 0 36px;font:11px DM Sans}.search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #147d641a}.filter-button{border:1px solid var(--line);color:#66736d;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;height:35px;padding:0 12px;font:600 11px DM Sans;display:flex}.filter-button svg{width:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:820px}th{text-align:left;color:#89958f;text-transform:uppercase;letter-spacing:.45px;background:#f5f8f6;padding:11px 22px;font-size:9px}td{color:#5f6c66;border-bottom:1px solid #edf0ee;padding:13px 22px;font-size:11px}td strong{color:#26322d}.student-cell{align-items:center;gap:10px;display:flex}.student-avatar{width:31px;height:31px;color:var(--green);background:#e6f3ee;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.student-avatar.alt{color:#a15e3b;background:#f6e6dc}.student-avatar.blue{color:#497aa8;background:#e4eef8}.student-avatar.purple{color:#795a9e;background:#eee8f6}.status-pill{color:var(--green);background:#e6f6ef;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700}.status-pending{color:var(--red);background:#f4b3b3;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:700}.more-button{color:#8f9994;cursor:pointer;background:0 0;border:0;font-size:18px}.empty-state{text-align:center;color:var(--muted);padding:24px}dialog{width:min(520px,100% - 28px);color:var(--ink);border:0;border-radius:18px;padding:0;box-shadow:0 26px 80px #142a2240}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111f1a7a}dialog form{padding:25px}.dialog-heading,.dialog-heading>div{justify-content:space-between;align-items:center;display:flex}.dialog-heading>div{justify-content:flex-start;gap:12px}.dialog-heading h2{margin:0 0 3px;font:700 18px Plus Jakarta Sans}.dialog-heading p{color:var(--muted);margin:0;font-size:11px}.dialog-icon{width:43px;height:43px;color:var(--green);background:#e5f5ef;border-radius:12px;place-items:center;display:grid}.close-button{color:#69756f;cursor:pointer;background:#f2f5f3;border:0;border-radius:50%;width:32px;height:32px;font-size:22px}dialog label{flex-direction:column;gap:7px;margin-top:20px;font-size:11px;font-weight:700;display:flex}dialog input,dialog select{border:1px solid var(--line);border-radius:9px;outline:none;height:42px;padding:0 12px;font:12px DM Sans}dialog input:focus,dialog select:focus{border-color:var(--green);box-shadow:0 0 0 3px #147d641a}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:25px;padding-top:18px;display:flex}.secondary-button{color:#53605a;background:#f2f5f3}.toast{color:#fff;box-shadow:var(--shadow);z-index:50;opacity:0;background:#173d32;border-radius:12px;align-items:center;gap:10px;padding:13px 18px;transition:all .25s;display:flex;position:fixed;bottom:25px;right:25px;transform:translateY(100px)}.toast.show{opacity:1;transform:translateY(0)}.toast span{background:#39a883;border-radius:50%;place-items:center;width:21px;height:21px;display:grid}:focus-visible{outline-offset:2px;outline:3px solid #64b99d}@media (max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.class-list{grid-template-columns:1fr 1fr;column-gap:24px;display:grid}.profile div{display:none}}@media (max-width:760px){.sidebar{box-shadow:var(--shadow);transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.page{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 18px}.topbar-school{margin-left:4px;margin-right:auto}.topbar-actions{gap:5px}.profile{padding-left:10px}.profile>svg{display:none}main{padding:25px 16px 40px}.welcome-row{align-items:flex-start;gap:20px}.welcome-row .primary-button{flex:0 0 45px;width:45px;padding:0;font-size:0}.welcome-row .primary-button svg{width:19px}.stats-grid{gap:11px}.stat-card{padding:16px}.overview-grid{gap:14px}.class-list{display:flex}.table-tools{flex-wrap:wrap}.search{width:100%}.transaction-heading .text-button{display:none}}@media (max-width:480px){.topbar-school div{display:none}.stats-grid{grid-template-columns:1fr}.welcome-row h1{font-size:22px}.panel{padding:17px}.transactions{padding:0}.chart-wrap{height:190px}.form-grid{grid-template-columns:1fr;gap:0}.student-checkbox-list{grid-template-columns:1fr}.dialog-actions .primary-button{flex:1}.help-card{display:none}.sidebar{padding-bottom:35px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.student-data{margin-bottom:19px;padding:0;scroll-margin-top:95px;overflow:hidden}.student-heading{padding:21px 22px 16px}.compact-button{min-height:38px;padding:0 14px;font-size:11px}.student-count{color:var(--muted);align-self:center;margin-left:auto;font-size:10px;font-weight:700}.gender-pill{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.gender-pill:before{content:"";background:#62a1dd;border-radius:50%;width:6px;height:6px}.gender-pill.female:before{background:#df8eae}.guardian-cell strong{display:block}.guardian-cell small{color:#98a29d;margin-top:3px;font-size:9px;display:block}.student-action-wrap{justify-content:flex-end;display:flex;position:relative}.more-button{border:1px solid var(--line);color:#66736d;cursor:pointer;background:#fff;border-radius:9px;min-width:33px;height:32px;font:700 16px/1 DM Sans}.action-menu-details{position:relative}.action-menu-details summary{list-style:none}.action-menu-details summary::-webkit-details-marker{display:none}.action-menu-details summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.vertical-dots{flex-direction:column;justify-content:center;align-items:center;gap:3px;height:100%;display:inline-flex}.vertical-dots i{background:currentColor;border-radius:50%;width:3px;height:3px}.action-menu{border:1px solid var(--line);min-width:130px;box-shadow:var(--shadow);z-index:30;background:#fff;border-radius:10px;flex-direction:column;display:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.action-menu.open,.action-menu-details[open] .action-menu{display:flex}.action-menu-item{color:#1d2f29;text-align:left;cursor:pointer;appearance:none;background:#fff;border:0;border-bottom:1px solid #f0f4f2;width:100%;padding:10px 12px;font:600 13px/1.4 DM Sans;text-decoration:none;display:block}.action-menu-item:last-child{border-bottom:0}.action-menu-item:hover{background:#f6faf8}.action-menu-item.danger{color:#b0564a}.send-reminder-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.send-reminder-choice .primary-button,.send-reminder-choice .secondary-button{justify-content:center;width:100%}.pagination{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;padding:16px 4px 4px;display:flex}.page-button{border:1px solid var(--line);color:#4d5d57;cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 10px;font:700 11px/1 DM Sans;transition:all .18s;display:inline-flex}.page-button:hover:not(:disabled){color:var(--green);background:#f4faf7;border-color:#cfe4dc;transform:translateY(-1px)}.page-button.active{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #147d642e}.page-button:disabled{opacity:.45;cursor:not-allowed;background:#f7f9f8}.activity-card .student-action-wrap .action-menu{inset:auto 0 calc(100% + 6px) auto}.student-manage{padding:0;overflow:hidden}.student-manage .panel-heading{padding:22px 22px 18px}.student-form{padding:0 22px 24px}.student-form h3{margin:18px 0 12px;font:700 13px Plus Jakarta Sans}.field-group{flex-direction:column;gap:8px;display:flex}.field-group.full{grid-column:1/-1}.field-group label{color:#4c5d57;font-size:11px;font-weight:700}.field-group input,.field-group select,.field-group textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:11px 12px;font:500 13px DM Sans}.field-group textarea{resize:vertical;min-height:90px}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:#a7d6c6;outline:3px solid #147d641f}.guardian-box{border:1px solid var(--line);background:#fafdfb;border-radius:14px;margin-top:8px;padding:16px 18px}.student-form-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.secondary-button{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font:700 12px DM Sans;text-decoration:none;display:inline-flex}.student-detail-layout{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.detail-panel{padding:20px}.detail-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:18px;padding-bottom:18px;display:flex}.detail-avatar{width:52px;height:52px;color:var(--green);background:#e9f5ef;border-radius:16px;place-items:center;font-weight:800;display:grid}.detail-meta h2{margin:0 0 5px;font:700 22px Plus Jakarta Sans}.detail-meta p{color:var(--muted);margin:0;font-size:11px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;display:grid}.detail-item{flex-direction:column;gap:5px;display:flex}.detail-item span{letter-spacing:.7px;color:#7b8b85;text-transform:uppercase;font-size:9px;font-weight:700}.detail-item strong{font-size:13px}.status-badge{color:var(--green);background:#e6f7ee;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex}.status-badge:before{content:"";background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.status-badge.muted{color:#5e6d68;background:#f2f5f3}.status-badge.muted:before{background:#87938d}.status-badge.inactive{color:#b42318;background:#fde8e7}.status-badge.inactive:before{background:#d92d20}.side-note{flex-direction:column;gap:12px;display:flex}.info-card{border:1px solid var(--line);background:#fafdfb;border-radius:14px;padding:18px}.info-card h3{margin:0 0 10px;font:700 13px Plus Jakarta Sans}.info-list{flex-direction:column;gap:8px;display:flex}.info-list div{justify-content:space-between;gap:12px;font-size:12px;display:flex}.info-list div span{color:var(--muted)}.warning-box{background:#fff7ef;border:1px solid #f6d1b8;border-radius:14px;padding:16px}.warning-box h3{color:#a55e1d;margin:0 0 6px;font:700 13px Plus Jakarta Sans}.warning-box p{color:#8c683d;margin:0;font-size:12px;line-height:1.6}.profile-page{flex-direction:column;gap:18px;display:flex}.profile-hero{justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.profile-hero__info h1{margin:8px 0;font:800 30px/1.15 Plus Jakarta Sans}.profile-hero__info p{color:var(--muted);max-width:530px;margin:0}.profile-hero__badge{border:1px solid var(--line);background:#f7fbf9;border-radius:14px;align-items:center;gap:12px;padding:14px 17px;display:flex}.school-avatar.large{width:52px;height:52px;color:var(--green);background:#e7f6ef;border-radius:16px;place-items:center;font-weight:800;display:grid}.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-summary-card{padding:20px}.profile-summary-card ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.profile-summary-card li{color:#465952;border-bottom:1px solid #edf3ef;justify-content:space-between;gap:12px;padding-bottom:9px;font-size:12px;display:flex}.profile-summary-card li:last-child{border-bottom:0;padding-bottom:0}.profile-summary-card li span{color:var(--muted)}.profile-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.profile-section{padding:0;overflow:hidden}.profile-section .section-heading{padding:20px 22px 8px}.compact{align-items:center}.branch-list,.social-list{flex-direction:column;gap:12px;padding:0 22px 22px;display:flex}.branch-item,.social-item{border:1px solid var(--line);background:#fafdfb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;display:flex}.branch-item strong,.social-item strong{display:block}.branch-item small,.social-item small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.social-item{justify-content:flex-start}.social-icon{border-radius:10px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.social-icon.instagram{color:#8c3456;background:linear-gradient(135deg,#f8d3cf,#e8c8ff)}.social-icon.facebook{color:#3859a8;background:#e7f0ff}.social-icon.youtube{color:#c44252;background:#ffe3e6}.social-icon.tiktok{color:#1e7f5d;background:#edf7f0}.settings-page{padding:0;overflow:hidden}.settings-header{padding:22px 22px 8px}.settings-tabs{flex-wrap:wrap;gap:8px;padding:0 22px 18px;display:flex}.settings-tab{border:1px solid var(--line);color:#4f625d;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font:700 11px DM Sans}.settings-tab.active{color:var(--green);background:#eaf7f2;border-color:#cfe7dd}.settings-panel{padding:0 22px 22px;display:none}.settings-panel.active{display:block}.setting-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.setting-card__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.setting-card__header h3{margin:0;font:700 16px Plus Jakarta Sans}.setting-form{flex-direction:column;gap:14px;display:flex}.compact-form{gap:10px}.setting-list{margin-top:20px;overflow:auto}.setting-list table{border-collapse:collapse;background:#fff;width:100%}.setting-list th,.setting-list td{border-bottom:1px solid var(--line);text-align:left;padding:12px 10px;font-size:12px}.setting-list thead th{color:#5a6e69;background:#f8faf9;font-weight:700}.class-subsection{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.class-subsection h4{margin:0 0 10px;font:700 13px Plus Jakarta Sans}.report-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.report-setting-block{border:1px solid var(--line);background:#fafdfb;border-radius:14px;padding:16px}.report-setting-block h4{margin:0 0 12px;font:700 13px Plus Jakarta Sans}@media (max-width:760px){.profile-summary-grid,.profile-two-col,.report-layout-grid,.form-grid,.detail-grid,.student-detail-layout{grid-template-columns:1fr}.profile-hero{display:block}.profile-hero__badge{margin-top:12px}.settings-tabs{flex-wrap:nowrap;overflow:auto}.settings-panel,.settings-header,.settings-tabs{padding-left:16px;padding-right:16px}.student-form{padding:0 16px 18px}.student-manage .panel-heading{padding:18px 16px 14px}.detail-panel,.info-card,.warning-box{padding:16px}.student-form-actions{justify-content:stretch}.student-form-actions .primary-button,.student-form-actions .secondary-button{flex:1}}.parent-nav{display:none}.view-switch{min-height:36px;color:var(--green);cursor:pointer;background:#f1f8f5;border:1px solid #cfe4dc;border-radius:9px;align-items:center;gap:7px;padding:0 12px;font:700 10px DM Sans;display:flex}.view-switch svg{width:15px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:17px;display:flex}.section-heading h2{margin:0 0 5px;font:700 21px Plus Jakarta Sans}.section-heading p:last-child{color:var(--muted);margin:0;font-size:11px}.activity-section{padding:28px 0 19px;scroll-margin-top:70px}.activity-toolbar{align-items:center;gap:14px;margin-bottom:15px;padding:14px 18px;display:flex}.activity-toolbar select{border:1px solid var(--line);color:#65726c;background:#fff;border-radius:8px;min-height:38px;margin-left:auto;padding:0 30px 0 12px}.date-chip{align-items:center;gap:10px;display:flex}.date-chip>svg{color:var(--green)}.date-chip small,.date-chip strong{display:block}.date-chip small{color:var(--muted);font-size:9px}.date-chip strong{margin-top:2px;font-size:11px}.activity-total{color:var(--muted);font-size:10px}.activity-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.activity-card{padding:0;overflow:visible}.activity-card-actions{gap:10px;margin-top:16px;display:grid}.activity-section>.section-heading>.primary-button{text-decoration:none}.activity-card-actions>.outline-button{justify-content:center;align-items:center;min-height:36px;margin-top:0;text-decoration:none;display:flex}.activity-card-actions>.outline-button:hover{border-color:var(--green);background:var(--mint)}.activity-card-actions>.outline-button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.activity-cover,.parent-photo{place-items:center;height:145px;display:grid;position:relative;overflow:hidden}.activity-cover:before,.parent-photo:before{content:"";border:30px solid #ffffff40;border-radius:50%;width:180px;height:180px;position:absolute;top:-65px;right:-65px}.activity-cover{border-radius:16px;justify-content:center;align-items:center;width:100%;height:240px;display:flex;position:relative;overflow:hidden}.activity-cover-image{object-fit:contain;z-index:1;width:100%;height:100%;display:block;position:relative}.art-paint{background:linear-gradient(135deg,#ffd98d,#f2a69d)}.art-garden{background:linear-gradient(135deg,#bde6c4,#7fc5a4)}.art-music{background:linear-gradient(135deg,#d5c3f0,#a99adf)}.activity-cover>b,.photo-count{color:#fff;z-index:2;background:#1b2722b8;border-radius:20px;padding:5px 9px;font-size:9px;position:absolute;bottom:10px;right:10px}.activity-body{padding:17px}.activity-meta{color:#7e8a84;align-items:center;gap:7px;font-size:8px;display:flex}.activity-meta span:not(:last-child):after{content:"·";margin-left:7px}.activity-meta .published{color:var(--green);margin-left:auto}.activity-meta .draft{color:var(--orange);margin-left:auto}.activity-body h3,.parent-activity h3{margin:9px 0 6px;font:700 15px Plus Jakarta Sans}.activity-body>p{color:var(--muted);min-height:32px;font-size:10px;line-height:1.55}.tag-summary{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:12px;padding-top:12px;display:flex}.tag-summary strong{color:#69766f;font-size:9px}.mini-avatars{background:#dff2ea;border:2px solid #fff;border-radius:50%;align-items:center;width:68px;height:24px;padding-left:4px;font-size:7px;font-weight:700;display:flex}.mini-avatars i{background:#e5edf8;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;margin-left:-3px;font-style:normal;display:grid}.warning-tag{color:var(--orange)}.warning-tag>span{background:#fff0e1;border-radius:50%;place-items:center;width:21px;height:21px;font-weight:800;display:grid}.outline-button{border:1px solid var(--line);width:100%;min-height:35px;color:var(--green);cursor:pointer;background:#fff;border-radius:8px;margin-top:12px;font:700 10px DM Sans}.assessment-admin{margin:0 0 19px;scroll-margin-top:90px}.assessment-page-card+.assessment-admin{margin-top:24px}.assessment-summary{grid-template-columns:repeat(3,1fr);gap:30px;margin-top:20px;display:grid}.assessment-summary>div{border-right:1px solid var(--line);padding-right:25px}.assessment-summary>div:last-child{border:0}.assessment-summary span,.assessment-summary small{color:var(--muted);font-size:9px;display:block}.assessment-summary strong{margin:6px 0;font:700 18px Plus Jakarta Sans;display:block}.activity-dialog{width:min(680px,100% - 28px)}.activity-dialog textarea{border:1px solid var(--line);resize:vertical;border-radius:9px;padding:10px 12px;font:12px DM Sans}.upload-zone{cursor:pointer;min-height:105px;color:var(--green);background:#f5fbf8;border:1.5px dashed #aed4c5;border-radius:12px;justify-content:center;align-items:center}.upload-zone svg{width:24px}.upload-zone span{color:var(--muted);font-size:9px;font-weight:400}.upload-zone input{opacity:0;pointer-events:none;position:absolute}.upload-preview{flex-wrap:wrap;gap:8px;min-height:24px;margin-top:9px;display:flex}.upload-preview-item{flex-direction:column;gap:4px;width:78px;display:flex}.upload-preview-item small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;overflow:hidden}.upload-preview p{color:var(--muted);font-size:9px}.upload-preview img{object-fit:cover;border-radius:8px;width:64px;height:52px}.student-tags{border:1px solid var(--line);border-radius:11px;margin-top:18px;padding:13px}.student-tags legend{font-size:11px;font-weight:700}.student-tags>p{color:var(--muted);margin:0 0 10px;font-size:9px}.tag-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tag-options label{flex-direction:row;align-items:center;gap:7px;margin:0;font-weight:500;display:flex}.tag-options input{width:16px;height:16px;accent-color:var(--green)}.form-field.student-tags .tag-options input[type=checkbox]{width:16px;min-width:16px;height:16px;margin:0;padding:0}body.parent-view .admin-nav,body.parent-view .help-card,body.parent-view #adminView{display:none}body.parent-view .parent-nav{display:flex}body.parent-view .sidebar{background:#fff}#parentView{scroll-margin-top:80px}.parent-hero{background:linear-gradient(120deg,#f2faf7,#fff);justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.parent-hero h1{margin:0 0 7px;font:700 25px Plus Jakarta Sans}.parent-hero p:last-child{color:var(--muted);margin:0}.child-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:11px;min-width:330px;padding:13px 15px;display:flex}.child-avatar{width:43px;height:43px;color:var(--green);background:#e3f4ed;border-radius:50%;place-items:center;font-weight:800;display:grid}.child-card strong,.child-card small{display:block}.child-card small{color:var(--muted);margin-top:4px;font-size:9px}.active-dot{color:var(--green);margin-left:auto;font-size:9px}.parent-alert{border-radius:13px;align-items:center;gap:13px;margin-bottom:15px;padding:15px 18px;display:flex}.fee-alert{background:#fff5e8;border:1px solid #f5dab7}.alert-icon{color:#be6c15;background:#ffe5bf;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.parent-alert strong{font-size:12px}.parent-alert p{color:#8b7359;margin:4px 0 0;font-size:10px}.parent-alert a{color:#a55c12;margin-left:auto;font-size:10px;font-weight:700;text-decoration:none}.parent-overview{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px;display:grid}.parent-stat{align-items:center;gap:13px;padding:17px;display:flex}.parent-stat small,.parent-stat strong,.parent-stat p{margin:0;display:block}.parent-stat small{color:var(--muted);font-size:9px}.parent-stat strong{margin:4px 0;font:700 14px Plus Jakarta Sans}.parent-stat p{color:var(--muted);font-size:9px}.paid-text{color:var(--green)}.parent-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:18px;display:grid}.parent-feed .section-heading{align-items:center}.parent-activity{grid-template-columns:210px 1fr;margin-bottom:14px;padding:0;display:grid;overflow:hidden}.parent-photo{height:auto;min-height:205px}.privacy-label{color:#fff;z-index:2;background:#0f6954e0;border-radius:20px;padding:5px 8px;font-size:8px;position:absolute;bottom:10px;left:10px}.parent-activity-copy{padding:19px}.activity-date{color:var(--green);letter-spacing:.5px;font-size:8px;font-weight:700}.parent-activity-copy>p{color:var(--muted);font-size:10px;line-height:1.6}.teacher-note{border-left:3px solid var(--green);background:#f4f8f6;margin-top:14px;padding:9px 11px}.teacher-note strong{font-size:9px}.teacher-note p{color:#6c7973;margin:3px 0 0;font-size:9px;font-style:italic}.parent-side{flex-direction:column;gap:15px;display:flex}.assessment-card,.fee-card{scroll-margin-top:95px}.report-ready{color:var(--green);background:#e6f6ef;border-radius:20px;padding:5px 7px;font-size:8px}.skill-row{grid-template-columns:1fr auto;gap:7px;margin-top:16px;font-size:10px;display:grid}.skill-row b{color:var(--green)}.skill-row .progress{grid-column:1/-1}.assessment-key{color:var(--muted);margin-top:16px;font-size:8px;line-height:1.5}.next-bill{background:#f3f9f6;border-radius:11px;margin-top:15px;padding:13px}.next-bill small,.next-bill strong,.next-bill span{display:block}.next-bill small{color:var(--muted);font-size:9px}.next-bill strong{margin:5px 0;font:700 20px Plus Jakarta Sans}.next-bill span{color:#a26726;font-size:9px}.fine-info{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 0;display:flex}.fine-info>span{width:22px;height:22px;color:var(--orange);background:#fff0df;border-radius:50%;place-items:center;font-weight:800;display:grid}.fine-info p{color:var(--muted);font-size:9px}.fine-info strong{color:#7d5a32}.fee-history>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:10px;display:flex}.fee-history span small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.fee-history b{color:var(--green);font-size:9px}.pay-button{width:100%;margin-top:14px}@media (max-width:1050px){.activity-grid{grid-template-columns:1fr 1fr}.parent-layout{grid-template-columns:1fr}.parent-side{grid-template-columns:1fr 1fr;display:grid}.view-switch span{display:none}.view-switch{justify-content:center;width:40px;padding:0}}@media (max-width:760px){.activity-grid,.parent-overview{grid-template-columns:1fr}.activity-toolbar{flex-wrap:wrap}.activity-toolbar select{margin-left:0}.activity-total{width:100%}.assessment-summary{grid-template-columns:1fr;gap:14px}.assessment-summary>div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.parent-hero{display:block}.child-card{min-width:0;margin-top:18px}.parent-side{display:flex}.parent-activity{grid-template-columns:1fr}.parent-photo{min-height:165px}.section-heading{align-items:flex-start;gap:15px}.section-heading>.primary-button{flex:0 0 45px;padding:0;font-size:0}.view-switch{z-index:30;background:var(--green);color:#fff;border-color:var(--green);box-shadow:var(--shadow);position:fixed;bottom:15px;right:15px}}@media (max-width:480px){.activity-grid,.tag-options{grid-template-columns:1fr}.student-heading .primary-button{width:38px;padding:0;font-size:0}.parent-alert{align-items:flex-start}.parent-alert a{display:none}}.fee-history b.fine-paid{color:var(--orange);text-align:right;max-width:95px}.admin-focus-grid{grid-template-columns:minmax(0,1fr);gap:19px;margin-bottom:19px;display:grid}.week-chip,.todo-progress-label{color:#6e7b75;background:#f2f5f3;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:700}.worktime-summary{justify-content:space-between;align-items:flex-end;margin-top:15px;display:flex}.worktime-summary strong,.worktime-summary span{display:block}.worktime-summary strong{font:700 25px Plus Jakarta Sans}.worktime-summary div>span{color:var(--muted);margin-top:4px;font-size:9px}.worktime-change{color:var(--green);background:#e9f7f1;border-radius:20px;padding:5px 8px;font-size:9px}.worktime-chart{justify-content:space-around;align-items:flex-end;gap:12px;height:115px;margin:14px 0;display:flex}.workday{text-align:center;flex:1;grid-template-rows:1fr auto auto;gap:3px;height:100%;display:grid}.workday>span{border-bottom:1px solid var(--line);justify-content:center;align-items:flex-end;display:flex;position:relative}.workday i{background:#b8ded0;border-radius:5px 5px 1px 1px;width:22px;min-height:3px;display:block}.workday.today i{background:var(--green);box-shadow:0 4px 10px #147d642e}.workday.future i{background:#e7ece9}.workday b{color:#66736d;font-size:8px}.workday small{color:#98a29d;font-size:8px}.weekly-goal{color:var(--muted);grid-template-columns:1fr auto;gap:7px;font-size:9px;display:grid}.weekly-goal strong{color:#59665f}.weekly-goal .progress{grid-column:1/-1;height:6px}.todo-progress{height:5px;margin:15px 0 5px}.todo-list{flex-direction:column;display:flex}.todo-item{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:13px 0;display:grid;position:relative}.todo-item:last-child{border-bottom:0;padding-bottom:0}.todo-check{opacity:0;position:absolute}.todo-box{color:#0000;border:1.5px solid #cad5d0;border-radius:7px;place-items:center;width:25px;height:25px;transition:all .18s;display:grid}.todo-box svg{width:14px}.todo-check:checked+.todo-box{background:var(--green);border-color:var(--green);color:#fff}.todo-check:focus-visible+.todo-box{outline-offset:2px;outline:3px solid #64b99d}.todo-copy strong,.todo-copy small{display:block}.todo-copy strong{font-size:10px}.todo-copy small{color:var(--muted);margin-top:4px;font-size:8px}.todo-check:checked~.todo-copy{opacity:.55;text-decoration:line-through}.todo-item>a{color:var(--green);white-space:nowrap;border:1px solid #d5e8e1;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:700;text-decoration:none}.todo-item>a:hover{background:#edf8f4}.todo-item:has(.todo-check:checked)>a{visibility:hidden}@media (max-width:1050px){.admin-focus-grid{grid-template-columns:1fr}}@media (max-width:560px){.worktime-change{display:none}.todo-item{grid-template-columns:28px 1fr}.todo-item>a{grid-column:2;width:max-content}.todo-card,.worktime-card{padding:17px}}#adminView{flex-direction:column;display:flex}.welcome-row{order:0}.admin-focus-grid{order:1}.stats-grid{order:2}.overview-grid{order:3}.activity-section{order:4}.assessment-admin{order:5}.student-data{order:6}.transactions{order:7}.date-chip{cursor:pointer}.date-chip>span{display:block}.date-chip input{color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none;padding:1px 0 0;font:700 11px DM Sans;display:block}.date-chip input:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}.privacy-notice{color:var(--green);background:#edf8f4;border-radius:10px;align-items:center;gap:10px;margin-top:18px;padding:11px 13px;display:flex}.privacy-notice svg{flex:none}.privacy-notice p,.privacy-notice strong,.privacy-notice span{margin:0;display:block}.privacy-notice strong{font-size:10px}.privacy-notice span{color:#638176;margin-top:2px;font-size:9px}.existing-photo-heading{justify-content:space-between;align-items:center;margin-top:19px;display:flex}.existing-photo-heading strong,.existing-photo-heading small{display:block}.existing-photo-heading strong{font-size:11px}.existing-photo-heading small{color:var(--muted);margin-top:3px;font-size:9px}.mini-upload{min-height:34px;color:var(--green);cursor:pointer;border:1px solid #cfe4dc;border-radius:8px;align-items:center;padding:0 10px;flex-direction:row!important;gap:6px!important;margin:0!important;display:flex!important;position:relative!important}.mini-upload svg{width:14px}.mini-upload input{opacity:0;width:1px;height:1px;position:absolute}.managed-photo-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px;display:grid}.managed-photo-wrap{min-width:0;position:relative}.managed-photo{aspect-ratio:4/3;cursor:pointer;border:2px solid #0000;border-radius:9px;place-items:center;width:100%;min-width:0;height:auto;padding:0;font-size:28px;display:grid;position:relative;overflow:hidden}.managed-photo-remove{z-index:2;color:#fff;cursor:pointer;opacity:0;background:#14362cdb;border:1px solid #fffc;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:21px;line-height:1;transition:opacity .15s,transform .15s,background .15s;display:grid;position:absolute;top:6px;right:6px;transform:scale(.85)}.managed-photo-wrap:hover .managed-photo-remove,.managed-photo-wrap:focus-within .managed-photo-remove,.managed-photo-remove:focus-visible{opacity:1;transform:scale(1)}.save-toast{z-index:20;color:var(--green);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e0f6eee6;border:1px solid #147d644d;border-radius:12px;margin:0;padding:12px 18px;font-size:13px;font-weight:700;animation:.18s ease-out save-toast-in;position:fixed;top:86px;right:28px;box-shadow:0 12px 28px #163c2e24}@keyframes save-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.save-toast{text-align:center;top:72px;left:16px;right:16px}}.activity-cover-image{object-fit:cover;transform:scale(1.02)}.activity-cover-arrow{z-index:2;color:#fff;cursor:pointer;background:#14362cc7;border:0;border-radius:50%;width:30px;height:30px;font-size:25px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.activity-cover-arrow.previous{left:10px}.activity-cover-arrow.next{right:10px}.activity-cover-arrow:hover,.activity-cover-arrow:focus-visible{background:var(--green)}.activity-cover-position{z-index:2;color:#fff;background:#14362cc7;border-radius:999px;padding:4px 8px;font-size:11px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.managed-photo-remove:hover,.managed-photo-remove:focus-visible{background:#b42318}.managed-photo-remove:focus-visible{outline-offset:2px;outline:3px solid #f4b8b2}.managed-photo-wrap:nth-child(3n+1) .managed-photo{background:#ffd6a6}.managed-photo-wrap:nth-child(3n+2) .managed-photo{background:#bce3cf}.managed-photo-wrap:nth-child(3n) .managed-photo{background:#d9cdf0}.managed-photo.active{border-color:var(--green);box-shadow:0 0 0 2px #d8eee6}.managed-photo .photo-tag-count{color:#fff;background:#14362cc7;border-radius:10px;padding:3px 5px;font-size:7px;position:absolute;bottom:5px;right:5px}.managed-photo img{object-fit:cover;border-radius:7px;width:100%;height:100%;display:block}.select-all-students{border-bottom:1px solid var(--line);color:var(--green);align-items:center;padding-bottom:9px;flex-direction:row!important;margin:0 0 10px!important;display:flex!important}.select-all-students input{width:16px;height:16px;accent-color:var(--green)}.manage-student-tags .tag-options label{background:#f7f9f8;border-radius:7px;padding:7px}.manage-dialog{max-height:90vh;overflow:auto}@media (max-width:560px){.managed-photo-grid{grid-template-columns:repeat(2,1fr)}.activity-toolbar .date-chip{width:100%}}.activity-empty{text-align:center;padding:38px}.activity-empty>span{font-size:30px}.activity-empty h3{margin:9px 0 5px;font:700 14px Plus Jakarta Sans}.activity-empty p{color:var(--muted);margin:0 0 12px;font-size:10px}.stat-action{color:#b96517;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:8px 0 0;font:700 9px DM Sans;display:flex}.stat-action svg{width:13px}.reminder-dialog{width:min(650px,100% - 28px);max-height:92vh;overflow:auto}.whatsapp-icon{color:#218856;background:#e3f7ea;font:800 10px DM Sans}.automation-status{border:1px solid var(--line);background:#f4f8f6;border-radius:11px;align-items:center;gap:10px;margin-top:18px;padding:12px;display:flex}.automation-dot{background:#aab4af;border-radius:50%;width:9px;height:9px}.automation-status div{flex:1}.automation-status strong,.automation-status small{display:block}.automation-status strong{font-size:10px}.automation-status small{color:var(--muted);margin-top:3px;font-size:8px}.switch{width:42px;height:24px;position:relative;margin:0!important;display:block!important}.switch input{opacity:0;position:absolute}.switch span{cursor:pointer;background:#cad3cf;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000026}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline-offset:2px;outline:3px solid #64b99d}.automation-status:has(input:checked) .automation-dot{background:#31a674;box-shadow:0 0 0 4px #dff3eb}.reminder-dialog textarea{border:1px solid var(--line);resize:vertical;border-radius:9px;padding:11px 12px;font:10px/1.55 DM Sans}.recipient-heading{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.recipient-heading strong,.recipient-heading small{display:block}.recipient-heading strong{font-size:11px}.recipient-heading small{color:var(--muted);margin-top:3px;font-size:8px}.reminder-recipients{border:1px solid var(--line);border-radius:10px;margin-top:9px;overflow:hidden}.recipient-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 11px;display:grid}.recipient-row:last-child{border:0}.recipient-row .student-avatar{width:30px;height:30px}.recipient-row strong,.recipient-row small{display:block}.recipient-row strong{font-size:9px}.recipient-row small{color:var(--muted);margin-top:3px;font-size:8px}.whatsapp-link{color:#208653;border:1px solid #bfe1ce;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:700;text-decoration:none}.automation-note{color:#846b42;background:#fff8ea;border-radius:8px;margin:11px 0 0;padding:8px 10px;font-size:8px;line-height:1.5}.login-page{background:#fff;grid-template-columns:minmax(390px,1.05fr) minmax(440px,.95fr);min-height:100vh;display:grid}.login-showcase{color:#fff;background:linear-gradient(145deg,#0d6955 0%,#15866b 58%,#299678 100%);flex-direction:column;padding:42px clamp(38px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-showcase:before,.login-showcase:after{content:"";pointer-events:none;border:1px solid #ffffff1c;border-radius:50%;position:absolute}.login-showcase:before{width:560px;height:560px;top:-180px;right:-230px}.login-showcase:after{width:390px;height:390px;bottom:-140px;left:-210px}.login-brand,.mobile-login-brand{z-index:1;align-items:center;gap:10px;font:800 23px Plus Jakarta Sans;display:flex;position:relative}.login-brand .brand-mark{border-color:#fff}.login-brand .brand-mark span{background:#fff}.login-brand>span:last-child>span{color:#a6e8cf}.showcase-copy{z-index:1;max-width:560px;margin:auto 0;position:relative}.showcase-pill{letter-spacing:1px;background:#ffffff1a;border:1px solid #ffffff40;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:700;display:inline-block}.showcase-copy h1{letter-spacing:-1.8px;margin:20px 0 17px;font:800 clamp(34px,4.2vw,58px)/1.12 Plus Jakarta Sans}.showcase-copy>p{color:#ffffffc7;max-width:480px;font-size:14px;line-height:1.7}.showcase-preview{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #fff3;border-radius:18px;grid-template-columns:150px 1fr;width:min(460px,90%);margin-top:38px;padding:11px;display:grid;transform:rotate(-1.2deg);box-shadow:0 24px 60px #05352933}.preview-photo{background:linear-gradient(135deg,#ffd68c,#f2a093);border-radius:12px;place-items:center;min-height:145px;display:grid;position:relative;overflow:hidden}.preview-photo>span{font-size:48px}.preview-photo i{border:15px solid #fff3;border-radius:50%;width:110px;height:110px;position:absolute;top:-35px;right:-35px}.preview-photo i:last-child{inset:auto auto -65px -65px}.preview-note{color:#fff;padding:17px 13px}.preview-note>span,.preview-note>strong,.preview-note>small{display:block}.preview-note>span{letter-spacing:.5px;color:#bde9d8;font-size:8px}.preview-note>strong{margin:7px 0;font:700 13px Plus Jakarta Sans}.preview-note>small{color:#ffffffb8;font-size:9px;line-height:1.5}.preview-note>div{margin-top:15px;display:flex}.preview-note b{width:25px;height:25px;color:var(--green);background:#fff;border:2px solid #318f76;border-radius:50%;place-items:center;margin-right:-4px;font-size:7px;display:grid}.showcase-footer{z-index:1;color:#ffffff8c;margin:20px 0 0;font-size:9px;position:relative}.login-panel{background:#fbfcfb;place-items:center;padding:45px clamp(28px,6vw,85px);display:grid}.login-card{width:min(420px,100%)}.mobile-login-brand{color:var(--ink);margin-bottom:40px;display:none}.mobile-login-brand>span:last-child>span{color:var(--green)}.login-card>h2{letter-spacing:-.6px;margin:0 0 9px;font:800 clamp(25px,3vw,33px) Plus Jakarta Sans}.login-intro{color:var(--muted);margin:0 0 27px;font-size:12px}.login-card form>label{margin:15px 0 7px;font-size:10px;font-weight:700;display:block}.login-input{background:#fff;border:1px solid #dfe7e3;border-radius:10px;align-items:center;height:48px;transition:all .18s;display:flex}.login-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #147d641a}.login-input>svg{color:#8c9993;width:17px;margin-left:14px}.login-input input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 12px;font:12px DM Sans}.login-input>button{color:#8c9993;cursor:pointer;background:0 0;border:0;width:44px;height:44px}.login-input>button svg{width:17px}.login-options{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.login-options label{color:#6e7b75;align-items:center;gap:7px;font-size:9px;display:flex}.login-options input{accent-color:var(--green)}.login-options button,.login-help button{color:var(--green);cursor:pointer;background:0 0;border:0;font:700 9px DM Sans}.login-error{color:#bd4d35;min-height:17px;margin:9px 0 0;font-size:9px}.login-submit{width:100%;margin-top:2px}.login-submit svg{width:16px;margin-left:auto}.demo-divider{color:#9aa49f;align-items:center;gap:10px;margin:24px 0 13px;font-size:8px;display:flex}.demo-divider:before,.demo-divider:after{content:"";background:var(--line);flex:1;height:1px}.demo-accounts{grid-template-columns:1fr 1fr;gap:9px;display:grid}.demo-accounts>button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:34px 1fr 15px;align-items:center;gap:8px;min-width:0;padding:9px;transition:all .18s;display:grid}.demo-accounts>button:hover{border-color:#b7d9cc;transform:translateY(-1px);box-shadow:0 6px 16px #1d372d0f}.demo-accounts>button>svg{color:#95a19b;width:13px}.demo-icon{border-radius:9px;place-items:center;width:32px;height:32px;font-size:8px;font-weight:800;display:grid}.demo-icon.admin{color:var(--green);background:#e5f5ef}.demo-icon.parent{color:#995d3d;background:#f5e5da}.demo-accounts strong,.demo-accounts small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.demo-accounts strong{color:var(--ink);font-size:8px}.demo-accounts small{color:#929d97;margin-top:3px;font-size:7px}.login-help{text-align:center;color:#8b9691;margin-top:22px;font-size:8px}@media (max-width:850px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh;padding:35px 22px}.mobile-login-brand{display:flex}}@media (max-width:420px){.demo-accounts{grid-template-columns:1fr}.login-card>h2{font-size:27px}}.demo-icon.teacher{color:#4d68a7;background:#e8edfa}.login-help a{color:var(--green);font-weight:700;text-decoration:none}.login-help a:hover{text-decoration:underline}.dashboard-page{flex-direction:column;gap:18px;display:flex}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 24px #1d362d0a}.dashboard-stat-card__top{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.dashboard-stat-card>strong{color:var(--ink);margin-top:12px;font:800 28px/1 Plus Jakarta Sans;display:block}.dashboard-stat-card>small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.dashboard-stat-icon{background:var(--mint);width:32px;height:32px;color:var(--green);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.dashboard-content-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:18px;display:grid}.dashboard-users-card,.dashboard-role-card,.dashboard-quick-actions{overflow:hidden}.dashboard-user-cell{align-items:center;gap:10px;display:flex}.dashboard-user-avatar{width:34px;height:34px;color:var(--green);background:#e9f5ef;border-radius:10px;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.dashboard-user-cell strong{font-size:12px;display:block}.dashboard-user-cell small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.role-distribution{flex-direction:column;gap:18px;padding:4px 22px 22px;display:flex}.role-distribution-item{flex-direction:column;gap:8px;display:flex}.role-distribution-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.role-distribution-header strong{font-size:12px;display:block}.role-distribution-header small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.role-distribution-header>span{color:var(--green);font-size:11px;font-weight:800}.role-progress{background:#edf3ef;border-radius:999px;height:7px;overflow:hidden}.role-progress-bar{border-radius:inherit;background:var(--green);height:100%;transition:width .3s}.quick-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 22px 22px;display:grid}.quick-action-item{border:1px solid var(--line);color:var(--ink);background:#fafdfb;border-radius:12px;align-items:center;gap:11px;padding:14px;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;display:flex}.quick-action-item:hover{background:#f4faf7;border-color:#cfe4dc;transform:translateY(-1px)}.quick-action-icon{background:var(--mint);width:36px;height:36px;color:var(--green);border-radius:10px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.quick-action-item strong{font-size:12px;display:block}.quick-action-item small{color:var(--muted);margin-top:3px;font-size:9px;display:block}@media (max-width:1050px){.dashboard-stat-grid,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dashboard-stat-grid,.dashboard-content-grid,.quick-action-grid{grid-template-columns:1fr}.dashboard-stat-card>strong{font-size:24px}}.page-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:0 0 6px;font-size:12px;font-weight:700}.dashboard-date{color:var(--muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;display:flex}.dashboard-date strong{color:var(--ink);font-size:14px}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:16px;padding:20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1d372d14}.stat-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.stat-icon{background:var(--mint);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.stat-arrow{color:var(--muted);font-size:18px}.stat-value{color:var(--ink);margin-bottom:3px;font-size:28px;font-weight:750}.stat-label{color:var(--ink);font-size:14px;font-weight:600}.stat-change{color:var(--green);margin-top:7px;font-size:12px}.dashboard-grid{grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:20px;display:grid}.dashboard-grid-bottom{grid-template-columns:1fr 1fr}.panel-heading>a{color:var(--green);font-size:13px;font-weight:600;text-decoration:none}.panel-heading>a:hover{text-decoration:underline}.activity-list{flex-direction:column;display:flex}.activity-item{border-bottom:1px solid var(--line);gap:14px;padding:16px 0;display:flex}.activity-item:last-child{border-bottom:0;padding-bottom:0}.activity-item:first-child{padding-top:4px}.activity-dot{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.activity-content{min-width:0}.activity-title{color:var(--ink);margin-bottom:4px;font-size:14px;font-weight:650}.activity-description{color:var(--muted);margin-bottom:7px;font-size:13px}.activity-meta{color:var(--muted);gap:6px;font-size:11px;display:flex}.activity-meta span:first-child{color:var(--green);font-weight:600}.payment-summary{padding-top:8px}.payment-total{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.payment-total span{color:var(--muted);font-size:13px}.payment-total strong{color:var(--ink);font-size:25px}.payment-progress{background:var(--line);border-radius:999px;width:100%;height:8px;overflow:hidden}.payment-progress-bar{background:var(--green);border-radius:inherit;height:100%}.payment-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;display:grid}.payment-stats div{flex-direction:column;gap:4px;display:flex}.payment-stats strong{color:var(--ink);font-size:20px}.payment-stats span{color:var(--muted);font-size:11px}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-action{background:var(--canvas);border:1px solid var(--line);color:inherit;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:15px;text-decoration:none;transition:background .15s;display:flex}.quick-action:hover{background:var(--mint)}.quick-action div{flex-direction:column;gap:4px;display:flex}.quick-action strong{color:var(--ink);font-size:13px}.quick-action span{color:var(--muted);font-size:11px}.quick-action-arrow{color:var(--green)!important;font-size:17px!important}.snapshot-list{flex-direction:column;display:flex}.snapshot-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.snapshot-row:first-child{padding-top:4px}.snapshot-row:last-child{border-bottom:0;padding-bottom:0}.snapshot-row span{color:var(--muted);font-size:13px}.snapshot-row strong{color:var(--ink);font-size:15px}@media (max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:700px){.dashboard-stats,.quick-actions{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.dashboard-date{align-items:flex-start}}.dashboard-shell{background:var(--canvas);min-height:100vh;display:flex}.dashboard-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:240px;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.dashboard-main{flex:1;min-width:0;min-height:100vh;margin-left:240px}.dashboard-logo{align-items:center;gap:10px;padding:4px 8px 28px;display:flex}.dashboard-logo-mark{background:var(--green);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.dashboard-logo strong{color:var(--ink);font-size:15px;display:block}.dashboard-logo small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.dashboard-nav{flex-direction:column;gap:4px;display:flex}.dashboard-nav-item{min-height:40px;color:var(--muted);border-radius:9px;align-items:center;padding:0 12px;font-size:13px;font-weight:550;text-decoration:none;transition:background .15s,color .15s;display:flex}.dashboard-nav-item:hover{background:var(--canvas);color:var(--ink)}.dashboard-nav-item.active{background:var(--mint);color:var(--green-dark);font-weight:650}.dashboard-sidebar-bottom{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:auto;padding-top:20px;display:flex}.users-toolbar{align-items:center;gap:10px;margin-bottom:20px;display:flex}.search-box{border:1px solid var(--line);background:#fff;border-radius:9px;flex:1;align-items:center;gap:8px;min-width:220px;height:40px;padding:0 12px;display:flex}.search-box span{color:var(--muted);font-size:20px}.search-box input{width:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.users-toolbar select{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:9px;outline:none;padding:0 12px;font-size:13px}.primary-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;height:40px;padding:0 16px;font-size:13px;font-weight:650}.primary-button:hover{background:var(--green-dark)}.secondary-button{border:1px solid var(--line);height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:0 14px;font-size:13px}.users-state{text-align:center;min-height:280px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.users-state h3{color:var(--ink);margin:12px 0 4px;font-size:15px}.users-state p{margin:0 0 14px;font-size:13px}.empty-state-icon{background:var(--mint);border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.user-name{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--mint);width:32px;height:32px;color:var(--green-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.table-action{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:18px}.table-action:hover{background:var(--canvas);color:var(--ink)}.users-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:4px;padding-top:16px;font-size:12px;display:flex}.pagination{gap:4px;display:flex}.pagination button{border:1px solid var(--line);min-width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px}.pagination button:hover:not(:disabled){background:var(--canvas);color:var(--ink)}.pagination button.active{background:var(--green);border-color:var(--green);color:#fff}.pagination button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:800px){.users-toolbar{flex-direction:column;align-items:stretch}.search-box{width:auto}.users-footer{flex-direction:column;align-items:flex-start;gap:12px}}.modal-overlay{z-index:1000;background:#17231f73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:760px;max-height:calc(100dvh - 48px);padding:28px;overflow-y:auto;box-shadow:0 20px 60px #17231f33}.activity-delete-dialog{border:0;width:calc(100% - 32px);max-width:520px;margin:auto}.activity-delete-dialog::backdrop{background:#17231f73}.activity-delete-dialog>p{color:var(--muted);line-height:1.7}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.modal-header h2{margin:0 0 6px}.modal-header p{color:var(--muted);margin:0}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:0;font-size:28px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{flex-direction:column;gap:7px;display:flex}.form-field.checkbox-field{flex-direction:row;align-items:center;gap:8px}.form-field.checkbox-field input[type=checkbox]{width:auto;margin:0;padding:0}.form-field.checkbox-field label{cursor:pointer}.form-field.full{grid-column:1/-1}.student-checkbox-list{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;max-height:220px;padding:12px;display:grid;overflow-y:auto}.student-checkbox-item{cursor:pointer;align-items:center;gap:8px;min-width:0;font-weight:400;display:flex}.student-checkbox-item input[type=checkbox]{flex:none;width:auto;margin:0;padding:0}.student-checkbox-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.form-field label{font-size:14px;font-weight:600}.form-field input,.form-field select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:11px 12px}.form-field input:focus,.form-field select:focus{border-color:var(--green);outline:none}.form-error{white-space:pre-line;color:#b42318;background:#fff1f1;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:14px}.modal-actions{background:#fff;justify-content:flex-end;gap:10px;margin-top:28px;padding-top:14px;display:flex;position:sticky;bottom:0}.button-primary,.button-secondary{font:inherit;cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}.button-primary{background:var(--green);color:#fff;border:0}.danger-button{background:#b94a4a}.danger-button:hover{background:#9f3d3d}.button-secondary{border:1px solid var(--line);color:var(--ink);background:#fff}.button-primary:disabled,.button-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.modal{max-height:calc(100dvh - 24px);padding:20px}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:120px}}.action-cell{width:60px;position:relative}.table-action{cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;display:inline-flex}.table-action:hover{background:var(--canvas)}.action-menu{z-index:9999;border:1px solid var(--line);background:#fff;border-radius:10px;width:150px;padding:6px;position:absolute;top:38px;right:0;box-shadow:0 10px 30px #00000026}.action-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;width:100%;padding:10px 12px;font-size:14px;display:block}.action-menu button:hover{background:var(--canvas)}.action-menu button.danger{color:#c0392b}.action-menu button.danger:hover{background:#fff1ef}.activity-tag-icon{width:28px;height:28px;color:var(--green);background:#dff2ea;border-radius:50%;flex:0 0 28px;place-items:center;display:grid}.activity-tag-icon svg{width:15px;height:15px}.tag-summary strong{margin:0;line-height:1.4}.managed-photo:focus-visible{outline:3px solid var(--green);outline-offset:3px}.selected-activity-photo{border:1px solid var(--line);background:#f7f9f8;border-radius:12px;margin:18px 0;padding:12px}.selected-activity-photo img{object-fit:contain;width:100%;max-height:460px;display:block}.selected-activity-photo figcaption{color:var(--muted);margin-top:10px;font-size:12px}.managed-photo{overflow:hidden}.payment-detail-layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;padding:0 22px 20px}.payment-detail-layout>.payment-detail-panel{width:100%;min-width:0;max-width:100%}.payment-detail-panel .detail-item{min-width:0}.payment-detail-panel .detail-item strong{overflow-wrap:anywhere}.payment-proofs{border-top:1px solid var(--line);min-width:0;margin-top:24px;padding-top:18px}.payment-proofs h3{margin:0 0 12px;font:700 15px Plus Jakarta Sans}.payment-proof{border:1px solid var(--line);background:#fafcfb;border-radius:12px;gap:12px;min-width:0;padding:12px;display:grid}.payment-proof-preview{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:9px;place-items:center;width:100%;min-width:0;height:min(42vw,360px);min-height:160px;padding:8px;display:grid;position:relative;overflow:hidden}.payment-proof-preview img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.payment-proof-preview span{color:#fff;opacity:1;background:#17231fc2;border-radius:999px;padding:5px 8px;font-size:11px;transition:opacity .14s;position:absolute;bottom:10px;right:10px}.payment-proof-preview:hover span,.payment-proof-preview:focus-visible span{opacity:1}.payment-proof-meta{min-width:0}.payment-proof-meta strong{font-size:13px;display:block}.payment-proof-meta p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.payment-proof-lightbox{z-index:1000;color:#fff;background:#0c1612e0;grid-template-rows:auto minmax(0,1fr);padding:clamp(12px,3vw,32px);display:grid;position:fixed;inset:0}.payment-proof-lightbox__toolbar{justify-content:space-between;align-items:center;gap:16px;min-width:0;padding-bottom:14px;display:flex}.payment-proof-lightbox__toolbar>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.payment-proof-lightbox__controls{flex:none;align-items:center;gap:8px;display:flex}.payment-proof-lightbox__controls button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff47;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.payment-proof-lightbox__controls button:disabled{opacity:.45;cursor:default}.payment-proof-lightbox__controls button:focus-visible{outline-offset:2px;outline:3px solid #a7d6c6}.payment-proof-lightbox__controls svg{width:18px;height:18px}.payment-proof-lightbox__controls>span{text-align:center;min-width:42px;font-size:12px}.payment-proof-lightbox__viewport{place-items:center;min-width:0;min-height:0;display:grid;overflow:auto}.payment-proof-lightbox__viewport img{object-fit:contain;transform-origin:50%;max-width:100%;max-height:100%;transition:transform .12s;display:block}@media (max-width:560px){.payment-detail-layout{padding:0 14px 16px}.payment-proof-lightbox__toolbar{flex-direction:column;align-items:flex-start}.payment-proof-lightbox__controls{width:100%}.payment-proof-lightbox__controls button{width:36px;height:36px}}html body select:not([multiple]):not([size]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23717f79' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:2.5rem}.contact-modal-overlay{z-index:1100}.contact-modal{max-width:620px}.contact-modal .modal-header{gap:20px;margin-bottom:20px}.contact-modal .modal-header h2{font:700 22px Plus Jakarta Sans}.contact-modal .modal-header p{line-height:1.5}.contact-modal .modal-close{background:#f2f5f3;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.contact-modal .modal-close svg{width:18px;height:18px}.contact-recipient{border:1px solid var(--line);background:#f7faf8;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:18px;padding:13px 15px;display:grid}.contact-recipient>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.contact-recipient svg{width:17px;height:17px;color:var(--green)}.contact-recipient strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.contact-field{color:#40534b;gap:7px;margin-top:16px;font-size:12px;font-weight:700;display:grid}.contact-field input,.contact-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;padding:12px 13px;font:500 14px DM Sans}.contact-field textarea{resize:vertical;min-height:140px}.contact-field input:focus,.contact-field textarea:focus{border-color:#a7d6c6;outline:3px solid #147d641f}.contact-email-note{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.5}.contact-modal .modal-actions{margin-top:18px}.contact-modal .modal-actions .button-primary{justify-content:center;align-items:center;gap:8px;display:inline-flex}.contact-modal .modal-actions .button-primary svg{width:17px;height:17px}@media (max-width:560px){.contact-modal-overlay{align-items:flex-end;padding:12px}.contact-modal{border-radius:16px;max-height:calc(100dvh - 24px);padding:20px}.contact-modal .modal-header h2{font-size:19px}.contact-modal .modal-actions button{flex:150px}}.reset-page{background:#f5f8f6;place-items:center;min-height:100svh;padding:24px;display:grid}.reset-card{background:#fff;border:1px solid #e6ece8;border-radius:18px;width:min(460px,100%);padding:clamp(24px,5vw,42px);box-shadow:0 12px 36px #1d372d12}.reset-brand{color:#17231f;align-items:center;gap:9px;margin-bottom:38px;font:800 23px Plus Jakarta Sans,sans-serif;text-decoration:none;display:inline-flex}.reset-brand>span:last-child>span{color:#147d64}.reset-brand-mark{border:2px solid #147d64;border-radius:9px;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;width:32px;height:32px;padding:5px;display:grid}.reset-brand-mark span{background:#147d64;border-radius:2px}.reset-brand-mark span:first-child{height:8px}.reset-brand-mark span:nth-child(2){height:16px}.reset-brand-mark span:nth-child(3){height:11px}.reset-eyebrow{color:#147d64;letter-spacing:1.3px;margin:0 0 9px;font-size:11px;font-weight:800}.reset-card h1{color:#17231f;letter-spacing:-.7px;margin:0 0 10px;font:800 clamp(25px,5vw,31px)/1.2 Plus Jakarta Sans,sans-serif}.reset-copy{color:#718079;margin:0 0 25px;line-height:1.6}.reset-card form>label{color:#34443c;margin:18px 0 8px;font-size:12px;font-weight:800;display:block}.reset-input{background:#fff;border:1px solid #dbe5e0;border-radius:11px;align-items:center;height:50px;display:flex}.reset-input:focus-within{border-color:#147d64;box-shadow:0 0 0 4px #147d641a}.reset-input>svg{color:#8a9891;flex:none;width:18px;margin-left:14px}.reset-input input{color:#17231f;background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0 12px}.reset-input button{color:#85938c;cursor:pointer;background:0 0;border:0;place-items:center;width:46px;height:46px;display:grid}.reset-input button svg{width:18px}.reset-error{color:#bd5039;margin:12px 0;font-size:12px;line-height:1.5}.reset-submit{color:#fff;width:100%;min-height:49px;font:inherit;text-align:center;cursor:pointer;background:#147d64;border:0;border-radius:11px;justify-content:center;align-items:center;margin-top:20px;padding:0 18px;font-weight:800;text-decoration:none;display:inline-flex}.reset-submit:hover{background:#0f6954}.reset-submit:disabled{opacity:.65;cursor:wait}.reset-help{color:#718079;margin:22px 0 0;font-size:12px;line-height:1.5}.reset-help a{color:#147d64;text-underline-offset:3px;font-weight:700}
#adminView{flex-direction:column;display:flex}.welcome-row{order:0}.admin-focus-grid{order:1}.student-data,.stats-grid{order:2}.overview-grid{order:3}.activity-section{order:4}.date-chip{cursor:pointer}.date-chip>span{display:block}.date-chip input{color:var(--ink);cursor:pointer;background:0 0;border:0;outline:none;padding:1px 0 0;font:700 11px DM Sans;display:block}.date-chip input:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}.privacy-notice{color:var(--green);background:#edf8f4;border-radius:10px;align-items:center;gap:10px;margin-top:18px;padding:11px 13px;display:flex}.privacy-notice svg{flex:none}.privacy-notice p,.privacy-notice strong,.privacy-notice span{margin:0;display:block}.privacy-notice strong{font-size:10px}.privacy-notice span{color:#638176;margin-top:2px;font-size:9px}.existing-photo-heading{justify-content:space-between;align-items:center;margin-top:19px;display:flex}.existing-photo-heading strong,.existing-photo-heading small{display:block}.existing-photo-heading strong{font-size:11px}.existing-photo-heading small{color:var(--muted);margin-top:3px;font-size:9px}.mini-upload{min-height:34px;color:var(--green);cursor:pointer;border:1px solid #cfe4dc;border-radius:8px;align-items:center;padding:0 10px;flex-direction:row!important;gap:6px!important;margin:0!important;display:flex!important;position:relative!important}.mini-upload svg{width:14px}.mini-upload input{opacity:0;width:1px;height:1px;position:absolute}.managed-photo-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.managed-photo{cursor:pointer;border:2px solid #0000;border-radius:9px;place-items:center;height:82px;font-size:28px;display:grid;position:relative}.managed-photo:nth-child(3n+1){background:#ffd6a6}.managed-photo:nth-child(3n+2){background:#bce3cf}.managed-photo:nth-child(3n){background:#d9cdf0}.managed-photo.active{border-color:var(--green);box-shadow:0 0 0 2px #d8eee6}.managed-photo .photo-tag-count{color:#fff;background:#14362cc7;border-radius:10px;padding:3px 5px;font-size:7px;position:absolute;bottom:5px;right:5px}.managed-photo img{object-fit:cover;border-radius:7px;width:100%;height:100%}.select-all-students{border-bottom:1px solid var(--line);color:var(--green);align-items:center;padding-bottom:9px;flex-direction:row!important;margin:0 0 10px!important;display:flex!important}.select-all-students input{width:16px;height:16px;accent-color:var(--green)}.manage-student-tags .tag-options label{background:#f7f9f8;border-radius:7px;padding:7px}.manage-dialog{max-height:90vh;overflow:auto}.listing-section{padding:28px 0 19px;scroll-margin-top:70px}.listing-section>.student-data{margin-bottom:0}.listing-section>.section-heading{min-height:78px}@media (max-width:560px){.managed-photo-grid{grid-template-columns:repeat(3,1fr)}.activity-toolbar .date-chip{width:100%}}.activity-empty{text-align:center;padding:38px}.activity-empty>span{font-size:30px}.activity-empty h3{margin:9px 0 5px;font:700 14px Plus Jakarta Sans}.activity-empty p{color:var(--muted);margin:0 0 12px;font-size:10px}.stat-action{color:#b96517;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:8px 0 0;font:700 9px DM Sans;display:flex}.stat-action svg{width:13px}.reminder-dialog{width:min(650px,100% - 28px);max-height:92vh;overflow:auto}.whatsapp-icon{color:#218856;background:#e3f7ea;font:800 10px DM Sans}.automation-status{border:1px solid var(--line);background:#f4f8f6;border-radius:11px;align-items:center;gap:10px;margin-top:18px;padding:12px;display:flex}.automation-dot{background:#aab4af;border-radius:50%;width:9px;height:9px}.automation-status div{flex:1}.automation-status strong,.automation-status small{display:block}.automation-status strong{font-size:10px}.automation-status small{color:var(--muted);margin-top:3px;font-size:8px}.switch{width:42px;height:24px;position:relative;margin:0!important;display:block!important}.switch input{opacity:0;position:absolute}.switch span{cursor:pointer;background:#cad3cf;border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000026}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline-offset:2px;outline:3px solid #64b99d}.automation-status:has(input:checked) .automation-dot{background:#31a674;box-shadow:0 0 0 4px #dff3eb}.reminder-dialog textarea{border:1px solid var(--line);resize:vertical;border-radius:9px;padding:11px 12px;font:10px/1.55 DM Sans}.recipient-heading{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.recipient-heading strong,.recipient-heading small{display:block}.recipient-heading strong{font-size:11px}.recipient-heading small{color:var(--muted);margin-top:3px;font-size:8px}.reminder-recipients{border:1px solid var(--line);border-radius:10px;margin-top:9px;overflow:hidden}.recipient-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 11px;display:grid}.recipient-row:last-child{border:0}.recipient-row .student-avatar{width:30px;height:30px}.recipient-row strong,.recipient-row small{display:block}.recipient-row strong{font-size:9px}.recipient-row small{color:var(--muted);margin-top:3px;font-size:8px}.whatsapp-link{color:#208653;border:1px solid #bfe1ce;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:700;text-decoration:none}.automation-note{color:#846b42;background:#fff8ea;border-radius:8px;margin:11px 0 0;padding:8px 10px;font-size:8px;line-height:1.5}.login-page{background:#fff;grid-template-columns:minmax(390px,1.05fr) minmax(440px,.95fr);min-height:100vh;display:grid}.login-showcase{color:#fff;background:linear-gradient(145deg,#0d6955 0%,#15866b 58%,#299678 100%);flex-direction:column;padding:42px clamp(38px,6vw,88px);display:flex;position:relative;overflow:hidden}.login-showcase:before,.login-showcase:after{content:"";pointer-events:none;border:1px solid #ffffff1c;border-radius:50%;position:absolute}.login-showcase:before{width:560px;height:560px;top:-180px;right:-230px}.login-showcase:after{width:390px;height:390px;bottom:-140px;left:-210px}.login-brand,.mobile-login-brand{z-index:1;align-items:center;gap:10px;font:800 23px Plus Jakarta Sans;display:flex;position:relative}.login-brand .brand-mark{border-color:#fff}.login-brand .brand-mark span{background:#fff}.login-brand>span:last-child>span{color:#a6e8cf}.showcase-copy{z-index:1;max-width:560px;margin:auto 0;position:relative}.showcase-pill{letter-spacing:1px;background:#ffffff1a;border:1px solid #ffffff40;border-radius:20px;padding:7px 10px;font-size:9px;font-weight:700;display:inline-block}.showcase-copy h1{letter-spacing:-1.8px;margin:20px 0 17px;font:800 clamp(34px,4.2vw,58px)/1.12 Plus Jakarta Sans}.showcase-copy>p{color:#ffffffc7;max-width:480px;font-size:14px;line-height:1.7}.showcase-preview{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #fff3;border-radius:18px;grid-template-columns:150px 1fr;width:min(460px,90%);margin-top:38px;padding:11px;display:grid;transform:rotate(-1.2deg);box-shadow:0 24px 60px #05352933}.preview-photo{background:linear-gradient(135deg,#ffd68c,#f2a093);border-radius:12px;place-items:center;min-height:145px;display:grid;position:relative;overflow:hidden}.preview-photo>span{font-size:48px}.preview-photo i{border:15px solid #fff3;border-radius:50%;width:110px;height:110px;position:absolute;top:-35px;right:-35px}.preview-photo i:last-child{inset:auto auto -65px -65px}.preview-note{color:#fff;padding:17px 13px}.preview-note>span,.preview-note>strong,.preview-note>small{display:block}.preview-note>span{letter-spacing:.5px;color:#bde9d8;font-size:8px}.preview-note>strong{margin:7px 0;font:700 13px Plus Jakarta Sans}.preview-note>small{color:#ffffffb8;font-size:9px;line-height:1.5}.preview-note>div{margin-top:15px;display:flex}.preview-note b{width:25px;height:25px;color:var(--green);background:#fff;border:2px solid #318f76;border-radius:50%;place-items:center;margin-right:-4px;font-size:7px;display:grid}.showcase-footer{z-index:1;color:#ffffff8c;margin:20px 0 0;font-size:9px;position:relative}.login-panel{background:#fbfcfb;place-items:center;padding:45px clamp(28px,6vw,85px);display:grid}.login-card{width:min(420px,100%)}.mobile-login-brand{color:var(--ink);margin-bottom:40px;display:none}.mobile-login-brand>span:last-child>span{color:var(--green)}.login-card>h2{letter-spacing:-.6px;margin:0 0 9px;font:800 clamp(25px,3vw,33px) Plus Jakarta Sans}.login-intro{color:var(--muted);margin:0 0 27px;font-size:12px}.login-card form>label{margin:15px 0 7px;font-size:10px;font-weight:700;display:block}.login-input{background:#fff;border:1px solid #dfe7e3;border-radius:10px;align-items:center;height:48px;transition:all .18s;display:flex}.login-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #147d641a}.login-input>svg{color:#8c9993;width:17px;margin-left:14px}.login-input input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 12px;font:12px DM Sans}.login-input>button{color:#8c9993;cursor:pointer;background:0 0;border:0;width:44px;height:44px}.login-input>button svg{width:17px}.login-options{justify-content:space-between;align-items:center;margin-top:13px;display:flex}.login-options label{color:#6e7b75;align-items:center;gap:7px;font-size:9px;display:flex}.login-options input{accent-color:var(--green)}.login-options button,.login-help button{color:var(--green);cursor:pointer;background:0 0;border:0;font:700 9px DM Sans}.login-error{color:#bd4d35;min-height:17px;margin:9px 0 0;font-size:9px}.login-submit{width:100%;margin-top:2px}.login-submit svg{width:16px;margin-left:auto}.demo-divider{color:#9aa49f;align-items:center;gap:10px;margin:24px 0 13px;font-size:8px;display:flex}.demo-divider:before,.demo-divider:after{content:"";background:var(--line);flex:1;height:1px}.demo-accounts{grid-template-columns:1fr 1fr;gap:9px;display:grid}.demo-accounts>button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;grid-template-columns:34px 1fr 15px;align-items:center;gap:8px;min-width:0;padding:9px;transition:all .18s;display:grid}.demo-accounts>button:hover{border-color:#b7d9cc;transform:translateY(-1px);box-shadow:0 6px 16px #1d372d0f}.demo-accounts>button>svg{color:#95a19b;width:13px}.demo-icon{border-radius:9px;place-items:center;width:32px;height:32px;font-size:8px;font-weight:800;display:grid}.demo-icon.admin{color:var(--green);background:#e5f5ef}.demo-icon.parent{color:#995d3d;background:#f5e5da}.demo-accounts strong,.demo-accounts small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.demo-accounts strong{color:var(--ink);font-size:8px}.demo-accounts small{color:#929d97;margin-top:3px;font-size:7px}.login-help{text-align:center;color:#8b9691;margin-top:22px;font-size:8px}@media (max-width:850px){.login-page{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh;padding:35px 22px}.mobile-login-brand{display:flex}}@media (max-width:420px){.demo-accounts{grid-template-columns:1fr}.login-card>h2{font-size:27px}}.topbar-actions{position:relative}.profile[role=button]{cursor:pointer;border-radius:13px;padding-top:7px;padding-bottom:7px;padding-right:8px;transition:background .18s}.profile[role=button]:hover,.profile[role=button][aria-expanded=true]{background:#f4f8f6}.school-profile-menu,.school-notification-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:80;background:#fffffffa;border-radius:16px;width:300px;position:absolute;top:calc(100% + 13px);right:0;overflow:hidden;box-shadow:0 18px 48px #142a222b}.school-profile-menu__head{border-bottom:1px solid var(--line);background:linear-gradient(145deg,#f4fbf8,#fff);align-items:center;gap:11px;padding:16px;display:flex}.school-profile-menu__head .profile-avatar{flex:none}.school-profile-menu__head div{min-width:0}.school-profile-menu__head strong,.school-profile-menu__head small,.school-profile-menu__head span{display:block}.school-profile-menu__head strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.school-profile-menu__head small{color:var(--green);margin-top:2px;font-size:8px}.school-profile-menu__head div>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;overflow:hidden}.school-profile-menu>button{width:100%;min-height:57px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2ef;grid-template-columns:29px 1fr;align-items:center;gap:10px;padding:10px 15px;display:grid}.school-profile-menu>button:last-child{border-bottom:0}.school-profile-menu>button:hover{background:#f6faf8}.school-profile-menu>button>span:first-child{width:29px;height:29px;color:var(--green);background:#e9f6f1;border-radius:9px;place-items:center;font-weight:800;display:grid}.school-profile-menu>button strong,.school-profile-menu>button small{display:block}.school-profile-menu>button strong{font-size:10px}.school-profile-menu>button small{color:var(--muted);margin-top:3px;font-size:8px}.school-profile-menu>button.danger strong{color:#ad5148}.school-profile-menu>button.danger>span:first-child{color:#ad5148;background:#fff0ee}.school-notification-panel{width:min(380px,100vw - 32px);max-height:min(570px,100vh - 100px);right:72px;overflow:auto}.school-notification-panel>header{z-index:1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex;position:sticky;top:0}.school-notification-panel>header strong,.school-notification-panel>header span{display:block}.school-notification-panel>header strong{font:700 13px Plus Jakarta Sans}.school-notification-panel>header span{color:var(--muted);margin-top:3px;font-size:8px}.school-notification-panel>header button{color:var(--green);cursor:pointer;background:0 0;border:0;font:700 8px DM Sans}.school-notification-list{flex-direction:column;display:flex}.school-notification-item{color:var(--ink);background:#fff;border-bottom:1px solid #edf2ef;grid-template-columns:36px 1fr;gap:10px;padding:13px 16px;text-decoration:none;display:grid;position:relative}.school-notification-item:last-child{border-bottom:0}.school-notification-item:hover{background:#f7fbf9}.school-notification-item.unread{background:#f1faf6}.school-notification-item.unread:after{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:15px;right:13px}.school-notification-icon{width:36px;height:36px;color:var(--green);background:#e8f5f0;border-radius:11px;place-items:center;font:800 9px DM Sans;display:grid}.school-notification-icon.payment{color:#4478a8;background:#e9f0fa}.school-notification-icon.hours{color:#bf6a18;background:#fff0df;font-size:14px}.school-notification-item>span:last-child{min-width:0;padding-right:8px}.school-notification-item strong,.school-notification-item small,.school-notification-item time{display:block}.school-notification-item strong{font-size:10px}.school-notification-item small{color:#66766f;margin-top:4px;font-size:8px;line-height:1.5}.school-notification-item time{color:#9aa49f;margin-top:6px;font-size:7px}.school-notification-empty{text-align:center;color:var(--muted);padding:30px 16px;font-size:9px}.icon-button .notification-badge{color:#fff;background:#e96d55;border:2px solid #fff;border-radius:999px;place-items:center;width:auto;min-width:18px;height:18px;padding:0 5px;font:800 8px DM Sans;display:grid;top:2px;right:4px}.school-profile-dialog{width:min(480px,100% - 28px)}.school-profile-dialog__identity{border:1px solid var(--line);background:#f6faf8;border-radius:13px;align-items:center;gap:11px;margin-top:18px;padding:13px;display:flex}.school-profile-dialog__identity strong,.school-profile-dialog__identity small{display:block}.school-profile-dialog__identity strong{font-size:11px}.school-profile-dialog__identity small{color:var(--muted);margin-top:3px;font-size:8px}.school-profile-dialog .profile-avatar{flex:none}.worktime-change.down{color:#a75d17;background:#fff1e2}.worktime-chart{gap:8px}.workday i{width:min(22px,62%)}@media (max-width:760px){.school-profile-menu,.school-notification-panel{width:auto;max-height:calc(100vh - 84px);position:fixed;top:70px;left:12px;right:12px}.school-notification-panel{right:12px}.profile[role=button]{padding-left:8px}.school-profile-dialog form{padding:20px}.school-profile-menu__head div{display:block!important}}@media (max-width:480px){.worktime-chart{gap:4px}.workday b,.workday small{font-size:7px}.workday i{width:15px}}.demo-icon.teacher{color:#4d68a7;background:#e8edfa}.login-help a{color:var(--green);font-weight:700;text-decoration:none}.login-help a:hover{text-decoration:underline}.assessment-period-filter{flex-wrap:wrap;align-items:end;gap:10px;margin-left:auto;display:flex}.assessment-period-filter label{gap:5px;min-width:150px;display:grid}.assessment-period-filter span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:700}.assessment-period-filter input{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font:600 12px DM Sans}.assessment-report-group{border:1px solid var(--line);background:#f9fbfa;border-radius:12px;gap:14px;padding:14px;display:grid}.assessment-report-group-title{color:var(--green);margin-bottom:2px;font:700 12px Plus Jakarta Sans}.assessment-report-section{background:#fff;border:1px solid #edf3f1;border-radius:10px;gap:10px;padding:12px;display:grid}.assessment-report-section-title{color:#4d5d57;font:700 11px DM Sans}.assessment-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.assessment-score-grid label{color:var(--muted);gap:6px;font-size:10px;display:grid}.assessment-score-grid select{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font:600 12px DM Sans}.assessment-indicator-row{border:1px solid var(--line);color:#53605c;background:#f7faf9;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:10px;display:flex}.assessment-indicator-row strong{color:var(--green);font-size:10px}.assessment-indicator-breakdown{gap:12px;display:grid}.assessment-score-row{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:14px;display:grid}.assessment-student-meta{border-bottom:1px solid #edf3f1;align-items:center;gap:10px;padding-bottom:6px;display:flex}.assessment-student-meta strong{font-size:11px}.assessment-student-option .student-avatar{width:26px;height:26px;font-size:9px}.student-form .assessment-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.assessment-student-option{border:1px solid var(--line);background:#f9fbfa;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.assessment-student-option input{width:16px;height:16px;accent-color:var(--green);margin:0}.assessment-scoring-wrap{gap:12px;display:grid}.assessment-detail-layout .detail-panel{padding:0}.assessment-indicator-breakdown .assessment-report-group{background:#f4f8f6}.assessment-indicator-breakdown .assessment-report-section{background:#fff}.assessment-indicator-breakdown .assessment-report-section-title{color:var(--green)}.table-tools{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 12px 18px;display:flex}.search{flex:230px;align-items:center;min-width:180px;max-width:300px;display:flex;position:relative}.search input{width:100%}.table-tools select{min-width:140px}.detail-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:visible;box-shadow:0 10px 22px #147d640a}.detail-card .participant-heading{padding:16px 18px 10px}.detail-card .participant-list{padding:0 18px 18px}.score-table-wrap{padding:0 18px 18px;overflow:auto}.assessment-score-table{border-collapse:collapse;width:100%;min-width:900px}.assessment-score-table th,.assessment-score-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #edf3f1;padding:10px 12px;font-size:10px}.assessment-score-table thead th{color:#53605c;letter-spacing:.04em;text-transform:uppercase;background:#f7faf9;font:700 10px DM Sans}.assessment-score-table tbody tr:hover{background:#f9fbfa}.assessment-score-table tbody td strong{color:var(--ink)}.assessment-score-table td:first-child{white-space:normal;min-width:200px}.assessment-score-table td:last-child strong{color:var(--green)}.assessment-student-remark{gap:6px;margin-top:12px;display:grid}.assessment-student-remark label{color:#53605c;text-transform:uppercase;letter-spacing:.05em;font:700 10px DM Sans}.assessment-student-remark textarea{border:1px solid var(--line);width:100%;min-height:78px;color:var(--ink);resize:vertical;background:#fbfdfc;border-radius:10px;padding:10px 12px;font:500 11px DM Sans}.assessment-student-remark textarea:focus{border-color:#a7d6c6;outline:3px solid #147d641f}.student-detail-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:18px;display:grid}.student-detail-layout .detail-panel{min-width:0;overflow:visible}.student-detail-layout .side-note{min-width:0}.student-detail-layout .info-card,.student-detail-layout .warning-box{overflow:visible}.profile-button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.profile-copy{display:block}.profile-button>svg{color:#98a29d;width:16px;margin-left:8px}.school-profile-menu>button svg{width:15px;height:15px}.school-notification-icon svg{width:17px;height:17px}.school-profile-dialog-react{width:min(480px,100% - 28px);max-height:calc(100vh - 32px);overflow:auto}.school-profile-dialog-react form{padding:25px}.school-profile-dialog-react label{flex-direction:column;gap:7px;margin-top:20px;font-size:11px;font-weight:700;display:flex}.school-profile-dialog-react input{border:1px solid var(--line);border-radius:9px;outline:none;height:42px;padding:0 12px;font:12px DM Sans}.school-profile-dialog-react input:focus{border-color:var(--green);box-shadow:0 0 0 3px #147d641a}.school-profile-overlay{z-index:120}.sidebar-scrim{display:none}.dashboard-insight-grid{order:2}.assessment-admin{order:3}.dashboard-class-overview{order:4}.transactions{order:5}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-heading h1{margin:0 0 7px;font:700 clamp(23px,2.2vw,30px)/1.2 Plus Jakarta Sans}.page-heading p{color:var(--muted);margin:0}.page-heading .eyebrow{margin-bottom:7px}.prototype-dialog-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.prototype-dialog-fields .full{grid-column:1/-1}.prototype-dialog-fields textarea{border:1px solid var(--line);resize:vertical;border-radius:9px;min-height:90px;padding:11px 12px;font:12px DM Sans}.activity-page-grid{margin-top:18px}.prototype-toast{z-index:130;color:#fff;box-shadow:var(--shadow);background:#173d32;border-radius:11px;padding:12px 17px;font-size:11px;font-weight:700;position:fixed;bottom:24px;right:24px}.assessment-page-card{padding:0;overflow:hidden}.profile-page-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:19px;display:grid}.profile-page-grid .panel{height:100%}.profile-info-list{margin:14px 0 0;padding:0;list-style:none}.profile-info-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:13px 0;display:flex}.profile-info-list li:last-child{border-bottom:0}.profile-info-list span{color:var(--muted)}.profile-info-list strong{text-align:right}.profile-hero{align-items:center;gap:18px;margin-bottom:19px;display:flex}.profile-logo{width:74px;height:74px;color:var(--green);background:#dff2ea;border-radius:20px;place-items:center;font:800 27px Plus Jakarta Sans;display:grid}.profile-hero h1{margin:0 0 6px;font:800 25px Plus Jakarta Sans}.profile-hero p{color:var(--muted);margin:0}.prototype-loading{text-align:center;color:var(--muted);padding:30px}.dashboard-insight-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:19px;margin-bottom:19px;display:grid}.dashboard-insight{min-width:0;overflow:hidden}.insight-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 20px 15px;display:flex}.insight-header h2{color:var(--ink);margin:0;font:700 17px Plus Jakarta Sans}.insight-subtitle{color:var(--muted);text-transform:none;letter-spacing:0;margin:4px 0 0;font-size:10px;font-weight:500;line-height:1.4}.insight-link{min-height:36px;color:var(--green);white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font:700 10px DM Sans;text-decoration:none;transition:background .18s;display:inline-flex}.insight-link:hover{background:#edf8f4}.insight-link span{font-size:14px}.student-insight-body{grid-template-columns:minmax(145px,.72fr) minmax(250px,1.28fr);min-height:201px;display:grid}.student-total-spotlight{border-right:1px solid var(--line);background:linear-gradient(145deg,#eef9f5,#f9fdfb);align-items:center;gap:14px;padding:20px;display:flex}.insight-main-icon{width:46px;height:46px;color:var(--green);background:#dff2ea;border-radius:14px;flex:none;place-items:center;display:grid}.insight-main-icon svg{width:22px;height:22px}.student-total-spotlight>div{flex-direction:column;display:flex}.student-total-spotlight strong{color:var(--ink);font:800 34px/1 Plus Jakarta Sans}.student-total-spotlight span{color:#40524b;margin-top:5px;font-size:11px;font-weight:700}.student-total-spotlight small,.insight-row small,.activity-kpi-strip small,.activity-attention-row small,.latest-activity-row small{color:#8a9690;margin-top:3px;font-size:9px}.student-detail-list{padding:8px 18px}.insight-row{border-bottom:1px solid #edf1ef;justify-content:space-between;align-items:center;gap:14px;min-height:61px;display:flex}.insight-row:last-child{border-bottom:0}.insight-row>div:first-child{flex-direction:column;display:flex}.insight-row>div:first-child>span{color:#45574f;font-size:10px;font-weight:700}.insight-row>strong{white-space:nowrap;font:700 13px Plus Jakarta Sans}.gender-pills{align-items:center;gap:6px;display:flex}.gender-pills span{text-align:center;border-radius:999px;min-width:43px;padding:6px 8px;font-size:9px;font-weight:700}.gender-pills .female{color:#9e5874;background:#f9e8ef}.gender-pills .male{color:#447aa8;background:#e8f2fb}.gender-pills b{font-size:11px}.active-student-pill{color:var(--green);white-space:nowrap;background:#e8f6f0;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-flex}.active-student-pill i{background:var(--green);border-radius:50%;width:6px;height:6px}.active-student-pill b{font-size:11px}.activity-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr));padding:17px 20px 14px;display:grid}.activity-kpi-strip>div{border-left:1px solid var(--line);flex-direction:column;min-width:0;padding:2px 15px;display:flex}.activity-kpi-strip>div:first-child{border-left:0;padding-left:0}.activity-kpi-strip>div:last-child{padding-right:0}.activity-kpi-strip strong{font:800 25px/1 Plus Jakarta Sans}.activity-kpi-strip span{color:#45574f;margin-top:6px;font-size:10px;font-weight:700}.activity-attention-row{background:#fff8f1;border:1px solid #f3dac3;border-radius:11px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;margin:0 20px;padding:11px 12px;display:grid}.attention-icon{color:#c86b16;background:#ffead7;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.activity-attention-row>div{flex-direction:column;min-width:0;display:flex}.activity-attention-row strong{font-size:10px}.activity-attention-row a{color:#b65f14;font-size:9px;font-weight:700;text-decoration:none}.latest-activity-row{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:12px 20px;display:flex}.latest-activity-row>div{grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.latest-activity-row>div>span{color:#87938e;letter-spacing:.5px;text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:700}.latest-activity-row strong{font-size:10px}.latest-activity-row .status-pill{flex:none}.dashboard-insight-grid+.dashboard-class-overview{margin-top:0}@media (max-width:1200px){.dashboard-insight-grid{grid-template-columns:1fr}.student-insight-body{grid-template-columns:minmax(160px,.55fr) minmax(280px,1.45fr)}}@media (max-width:760px){.dashboard-insight-grid{gap:14px}.insight-header{min-height:70px;padding:16px}.student-insight-body{grid-template-columns:1fr}.student-total-spotlight{border-right:0;border-bottom:1px solid var(--line);padding:17px}.student-detail-list{padding:6px 16px}.activity-kpi-strip{padding:15px 16px 12px}.activity-kpi-strip>div{padding:2px 10px}.activity-attention-row{margin:0 16px}.latest-activity-row{padding:12px 16px}}@media (max-width:480px){.insight-header{align-items:flex-start}.insight-link{padding:0 4px}.activity-kpi-strip{grid-template-columns:1fr;gap:10px}.activity-kpi-strip>div{border-left:0;border-top:1px solid var(--line);grid-template-columns:48px 1fr;align-items:center;padding:10px 0 0;display:grid}.activity-kpi-strip>div:first-child{border-top:0;padding-top:0}.activity-kpi-strip strong{grid-row:1/3}.activity-kpi-strip span{margin-top:0}.activity-attention-row{grid-template-columns:30px 1fr}.activity-attention-row a{grid-column:2}.latest-activity-row>div{grid-template-columns:1fr}}.profile-edit-action{margin-left:auto}@media (max-width:760px){.sidebar-scrim{z-index:19;background:#0f231c6b;border:0;display:block;position:fixed;inset:0}.profile-copy{display:none}.profile-button{padding-left:8px}.page-heading{align-items:flex-start}.profile-page-grid,.prototype-dialog-fields{grid-template-columns:1fr}.prototype-dialog-fields .full{grid-column:auto}.school-profile-dialog-react form{padding:20px}}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}:is(.form-field,.field-group){gap:8px;min-width:0}:is(.form-field,.field-group)>label{color:#40544a;font-size:13px;font-weight:600;line-height:1.5}:is(.form-field,.field-group)>:is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d7e2dc;border-radius:10px;margin:0;padding:11px 13px;font:400 14px/1.5 DM Sans,sans-serif;transition:border-color .15s,box-shadow .15s}:is(.form-field,.field-group) textarea{resize:vertical;min-height:88px}:is(.form-field,.field-group) :is(input,textarea)::placeholder{color:#91a098}:is(.form-field,.field-group) :is(input,select,textarea):hover:not(:disabled):not(:focus){border-color:#adc6b9}:is(.form-field,.field-group) :is(input,select,textarea):focus-visible{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green);box-shadow:0 0 0 4px #147d640a}:is(.form-field,.field-group) :is(input,select,textarea):disabled,:is(.form-field,.field-group) input[readonly]{background:var(--canvas);color:#718079;border-color:var(--line)}:is(.form-field,.field-group) :is(input,select,textarea):disabled{cursor:not-allowed}:is(.form-field,.field-group)>:is(small,p){color:var(--muted);margin:0;font-size:12px;line-height:1.6}:is(.form-field,.field-group)>.form-error{color:#b42318}input:is([type=checkbox],[type=radio]){accent-color:var(--green)}.form-field.checkbox-field{border:1px solid var(--line);background:var(--canvas);border-radius:10px;align-self:end;min-height:46px;padding:12px 14px}.form-field.checkbox-field input[type=checkbox]{flex-shrink:0;width:17px;height:17px}.form-field.checkbox-field label{margin:0}.app-form-modal.modal{overscroll-behavior:contain;border:1px solid #e0e9e3;border-radius:20px;width:min(760px,100%);padding:0;box-shadow:0 24px 80px #163c2e29}.app-form-modal>.modal-header{border-bottom:1px solid var(--line);background:#f8fbf9;align-items:flex-start;gap:16px;margin:0;padding:24px 28px}.app-form-modal .modal-header h2{letter-spacing:-.4px;margin:0;font-size:21px;line-height:1.4}.app-form-modal .modal-header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.app-form-modal .modal-close{border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;padding:0;line-height:1;display:grid}.app-form-modal .modal-close:hover{background:var(--mint);color:var(--green-dark)}.app-form-modal>form{padding:24px 28px 0}.app-form-modal>.form-error{margin:18px 28px 0}.app-form-modal form>h3{color:var(--ink);align-items:center;gap:10px;margin:28px 0 18px;font-size:14px;display:flex}.app-form-modal form>h3:first-child{margin-top:0}.app-form-modal form>h3:before{content:"";background:var(--green);border-radius:4px;width:4px;height:16px}.app-form-modal .modal-actions{z-index:2;border-top:1px solid var(--line);background:#fff;margin:24px -28px 0;padding:18px 28px;box-shadow:0 -4px 14px #17231f04}.guardian-form-section{border:1px solid var(--line);background:#f8fbf9;border-radius:14px;min-width:0;margin:20px 0;padding:18px}.guardian-form-section legend{color:var(--green-dark);padding:0 7px;font-size:13px;font-weight:700}.guardian-form-section>button{margin-top:16px}.student-form{padding:4px 28px 24px}.student-form>h3{color:var(--green-dark);margin:22px 0 18px;font-size:14px}.student-form>.form-grid{border:1px solid var(--line);background:#fafcfb;border-radius:14px;padding:22px}.student-form-actions{border-top:1px solid var(--line);align-items:center;margin-top:24px;padding-top:20px}fieldset.form-grid{border:0;min-width:0;margin:0;padding:0}.student-checkbox-list{background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.student-checkbox-item{border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px;font-size:13px}.student-checkbox-item:has(input:checked){border-color:var(--green);background:var(--mint);color:var(--green-dark)}.student-checkbox-item span{white-space:normal;overflow-wrap:anywhere}.student-checkbox-item input[type=checkbox]{width:16px;height:16px}:is(.app-form-modal,.student-form) :is(.button-primary,.button-secondary,.primary-button,.secondary-button){border-radius:10px;justify-content:center;align-items:center;min-height:44px;font-size:13px;display:inline-flex}form button:focus-visible,form a:focus-visible,.modal-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}.form-error{overflow-wrap:anywhere;border:1px solid #f6d6d2;line-height:1.6}.reset-card{border-radius:22px;box-shadow:0 20px 60px #163c2e0d}.reset-input:focus-within{outline:2px solid var(--green);outline-offset:2px}.reset-submit{border-radius:10px;min-height:46px}.login-form input:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (max-width:640px){.form-grid,.student-checkbox-list{grid-template-columns:minmax(0,1fr)}:is(.form-field,.field-group).full{grid-column:1/-1}.app-form-modal>.modal-header{padding:20px}.app-form-modal .modal-header h2{font-size:19px}.app-form-modal>form{padding:20px 20px 0}.app-form-modal>.form-error{margin:16px 20px 0}.app-form-modal .modal-actions{margin:24px -20px 0;padding:16px 20px}.app-form-modal .modal-actions>*,.student-form-actions>*{text-align:center;flex:1}.student-form{padding:0 16px 20px}.student-form>.form-grid{padding:16px}:is(.form-field,.field-group)>:is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}@media (prefers-reduced-motion:reduce){:is(.form-field,.field-group) :is(input,select,textarea){transition:none}}
