:root{--ink:#152b32;--muted:#63767b;--paper:#f3f7f6;--card:#fff;--line:#dce8e5;--brand:#087f78;--brand-dark:#075e59;--accent:#ffd166;--danger:#b42318;--shadow:0 18px 55px rgba(20,59,61,.09);--soft-shadow:0 8px 24px rgba(20,59,61,.07);--radius:20px}
[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button,.button-link{border:0;border-radius:11px;background:var(--brand);color:#fff;font-weight:700;padding:11px 17px;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}button:hover,.button-link:hover{transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--brand) 25%,transparent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 75%,#0000);outline-offset:2px}.secondary{background:#e1efed;color:var(--brand-dark)}.text-danger{background:#fff0ee;color:var(--danger)}.wide{width:100%}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--brand)}h1,h2,h3{font-family:Manrope,sans-serif;margin:0}p{line-height:1.6}.empty{color:var(--muted);font-size:.88rem}.hint{color:var(--muted);font-size:.82rem}.actions-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:linear-gradient(145deg,#e4f5f2 0%,#f7fbfa 55%,#eef8f6 100%)}.auth-story{padding:8vh 8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-story:before,.auth-story:after{content:"";position:absolute;border-radius:50%;border:1px solid #8fd3cc}.auth-story:before{width:520px;height:520px;right:-190px;bottom:-240px;box-shadow:inset 0 0 0 55px #d3efeb,inset 0 0 0 110px #e7f7f4}.auth-story:after{width:180px;height:180px;right:7vw;top:9vh;background:linear-gradient(135deg,var(--accent),#ffe9ac);border:0;filter:blur(.2px);opacity:.8}.platform-mark,.mini-mark,.brand-mark{display:grid;place-items:center;font:800 1.25rem Manrope;border-radius:14px;background:var(--brand);color:#fff}.platform-mark{width:50px;height:50px;margin-bottom:48px}.auth-story h1{font-size:clamp(3.4rem,6.4vw,6.8rem);line-height:.96;letter-spacing:-.065em;max-width:820px;margin:20px 0 28px}.auth-story h1 em{font-style:normal;color:var(--brand)}.auth-story>p{font-size:1.12rem;color:var(--muted);max-width:590px}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.trust-row span{padding:9px 13px;border-radius:999px;background:#fff9;border:1px solid #c9e4e0;font-size:.76rem;font-weight:700}.auth-panel{align-self:center;justify-self:center;width:min(470px,88%);position:relative;z-index:2}.auth-tabs{display:flex;padding:5px;background:#dfeeece6;border-radius:14px;margin-bottom:12px}.auth-tab{flex:1;background:transparent;color:var(--muted);box-shadow:none}.auth-tab:hover{transform:none;box-shadow:none}.auth-tab.active{background:#fff;color:var(--brand);box-shadow:var(--soft-shadow)}.auth-card{padding:36px;background:#fff;border:1px solid #e0ece9;border-radius:26px;box-shadow:var(--shadow)}.auth-heading{display:flex;gap:14px;align-items:center;margin-bottom:26px}.auth-heading .mini-mark{width:46px;height:46px}.auth-heading h2{font-size:1.6rem}.auth-heading p{margin:3px 0 0;color:var(--muted);font-size:.86rem}.auth-card label,.panel label,.filter-bar label,.modal-fields label,.payroll-row label{display:block;font-size:.75rem;font-weight:700;color:#354b51}.auth-card label{margin:15px 0}.auth-card input,.auth-card select,.panel input,.panel select,.panel textarea,.filter-bar input,.filter-bar select,.modal-fields input,.modal-fields select,.modal-fields textarea,.payroll-row input,.payroll-row select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px;color:var(--ink);margin-top:6px}.auth-card small{display:block;text-align:center;margin-top:18px;color:var(--muted)}.form-error,.form-message[data-tone=error]{color:var(--danger)}.form-message[data-tone=success]{color:#087a4a}

.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:24px 17px;background:linear-gradient(180deg,#0c3136,#10272c);color:#fff;display:flex;flex-direction:column;z-index:20}.school-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 26px}.brand-mark{width:45px;height:45px;background:var(--accent);color:#183338}.school-brand strong{display:block;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-brand small{display:block;color:#8ba9ad;font-size:.72rem;margin-top:3px}.sidebar nav{display:grid;gap:5px;overflow:auto}.nav,.signout{display:flex;align-items:center;gap:11px;background:transparent;color:#93afb2;text-align:left;box-shadow:none}.nav:hover,.nav.active{transform:none;box-shadow:none;background:#1a464b;color:#fff}.signout{margin-top:auto}.signout:hover{box-shadow:none;color:#fff}.workspace{width:100%;max-width:1600px;padding:30px 4vw 80px;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.topbar h1{font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.045em}.top-school{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 13px}.top-school img{width:38px;height:38px;object-fit:contain;border-radius:8px}.top-school strong,.top-school small{display:block}.top-school small{color:var(--muted);font-size:.7rem}.menu-button{display:none;padding:9px 11px;background:#fff;color:var(--ink);border:1px solid var(--line)}

.welcome-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 12%,#fff),#fff);border:1px solid color-mix(in srgb,var(--brand) 22%,#fff);border-radius:var(--radius);padding:20px 24px;margin-bottom:15px;min-height:0}.welcome-card h2{font-size:1.55rem;margin-top:5px}.welcome-card p{margin:5px 0 0;color:var(--muted)}.year-chip{display:inline-flex;padding:9px 13px;background:var(--accent);border-radius:999px;font-weight:800;font-size:.78rem}.dashboard-session{font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.dashboard-session select{display:block;margin-top:5px;padding:9px 32px 9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.metric-grid.compact{grid-template-columns:repeat(4,1fr);margin:18px 0}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;box-shadow:var(--soft-shadow)}.metric>span{display:block;color:var(--muted);font-size:.75rem;font-weight:700}.metric strong{display:block;font:800 1.75rem Manrope;margin-top:7px;letter-spacing:-.04em}.metric small{display:block;color:var(--muted);font-size:.7rem;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.panel,.table-panel,.list-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.panel{padding:24px}.panel-heading,.section-head,.list-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.panel-heading{margin-bottom:18px}.panel h2,.section-head h2{font-size:1.3rem;margin-top:4px}.action-panel{background:linear-gradient(145deg,#103d41,#102b30);color:#fff}.action-panel .eyebrow{color:#81d6ce}.action-panel p{color:#b8cdcf}.security-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.security-list span{padding:8px 10px;border:1px solid #ffffff24;border-radius:9px;font-size:.75rem}.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.module-grid span{display:flex;gap:12px;align-items:center;padding:14px;background:var(--paper);border-radius:11px;font-weight:700;font-size:.86rem}.module-grid b{color:var(--brand);font-size:.7rem}.section-head{align-items:center;margin-bottom:18px}.section-head p{margin:4px 0 0;color:var(--muted)}.stack,.card-grid{display:grid;gap:12px}.card-grid{grid-template-columns:repeat(3,1fr)}.list-card{padding:18px}.list-card-head h3{font-size:1.05rem;margin:9px 0 3px}.list-card-head p{margin:0;color:var(--muted);font-size:.83rem}.list-card-head>small{color:var(--muted)}.inline-form{display:flex;gap:9px;align-items:flex-end;margin-top:16px}.inline-form label{font-size:.7rem;font-weight:700}.inline-form input,.inline-form select,.inline-form textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;margin-top:5px}.inline-form textarea{min-height:65px}.inline-form .grow{flex:1}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.66rem;font-weight:800;text-transform:capitalize;background:#ecf2f1;color:#52676c}.status.active,.status.present,.status.resolved,.status.admitted{background:#ddf7ea;color:#087247}.status.waiting,.status.open,.status.new,.status.contacted{background:#fff2ca;color:#7b5a00}.status.discontinued,.status.absent,.status.rejected{background:#fee7e4;color:#9c241a}.status.in-progress,.status.visit-scheduled,.status.late{background:#e4efff;color:#285b9f}.status.excused{background:#eee9ff;color:#6940a5}.table-panel{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:.82rem}th{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px}.table-actions{display:flex;justify-content:flex-end;gap:6px}.table-actions button{padding:7px 9px;font-size:.7rem}.class-card h3{margin-top:8px}.class-card p{color:var(--muted)}.class-card small{color:var(--muted)}

.filter-bar{display:flex;align-items:flex-end;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:15px}.filter-bar label{min-width:190px}.fee-line,.payment-line,.ledger-line,.money-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.fee-line:last-child,.payment-line:last-child,.ledger-line:last-child,.money-row:last-child{border-bottom:0}.fee-line small,.fee-line b,.payment-line small,.payment-line b,.ledger-line small,.ledger-line span,.money-row small{display:block}.fee-line small,.payment-line small,.ledger-line small,.money-row small{color:var(--muted);font-size:.75rem;margin-top:3px}.fee-line>div:last-child,.payment-line>div:last-child,.ledger-line>div:last-child,.money-row>div{text-align:right}.payment-line a{font-size:.72rem;color:var(--brand);font-weight:700}.ledger-line b{display:block;color:var(--danger);margin-top:3px}.attendance-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 17px}.attendance-card strong,.attendance-card small{display:block}.attendance-card small{color:var(--muted)}.attendance-card select{min-width:160px;border:1px solid var(--line);border-radius:9px;padding:9px}.save-wide{width:100%;margin-top:5px}.notice-card h3{margin:14px 0 5px}.notice-card p{color:var(--muted)}blockquote{margin:16px 0;padding:13px 16px;border-left:3px solid var(--accent);background:#faf8f1;border-radius:0 10px 10px 0;color:#4f5d60}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel>label{margin:13px 0}.panel textarea,.modal-fields textarea{min-height:95px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-field input{padding:8px;background:var(--paper)}.switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.switch{display:flex!important;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--paper);border-radius:10px;margin:0!important;text-transform:capitalize}.switch input{width:auto;margin:0}.empty-state{padding:55px 25px;text-align:center;background:#fff;border:1px dashed #cbdad7;border-radius:var(--radius)}.empty-state p{color:var(--muted)}

.analytics-block{margin-top:16px}.analytics-tabs{display:flex;gap:7px;margin-bottom:10px}.analytics-tab{background:#e2eeec;color:var(--muted)}.analytics-tab.active{background:var(--brand);color:#fff}.mini-totals{display:flex;gap:8px;flex-wrap:wrap}.mini-totals span{padding:7px 10px;background:var(--paper);border-radius:999px;font-size:.72rem;font-weight:700}.bar-list{display:grid;gap:13px}.bar-row{display:grid;grid-template-columns:minmax(140px,1fr) 3fr 35px;gap:14px;align-items:center}.bar-row strong,.bar-row small{display:block}.bar-row small{color:var(--muted);font-size:.7rem}.bar-track{height:9px;border-radius:999px;background:#e6efed;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 55%,var(--accent)))}.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.analytics-columns h3{font-size:.9rem;margin:12px 0}.payroll-row{display:grid;grid-template-columns:minmax(140px,1.3fr) repeat(4,minmax(100px,1fr)) auto;gap:9px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.payroll-row strong,.payroll-row small{display:block}.payroll-row small{color:var(--muted)}
.finance-overview{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center}.donut{--pct:0;width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) calc(var(--pct)*1%),#e5eeec 0);position:relative}.donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}.donut span{position:relative;z-index:1;text-align:center;color:var(--muted);font-size:.7rem}.donut b{display:block;color:var(--ink);font:800 1.5rem Manrope}

.import-grid{grid-template-columns:repeat(2,1fr)}.import-card h3{margin:8px 0}.import-card p{color:var(--muted);font-size:.85rem}.column-chips{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.column-chips span{padding:5px 8px;background:var(--paper);border-radius:7px;font:600 .66rem monospace;cursor:help}.template-links{display:flex;gap:12px;margin-bottom:13px}.template-links a{color:var(--brand);font-size:.78rem;font-weight:800}.upload-drop{display:flex!important;justify-content:space-between;align-items:center;padding:12px 14px;border:1px dashed #a9c8c4;border-radius:11px;background:#f7fbfa;color:var(--brand)!important;cursor:pointer}.upload-drop input{width:160px;margin:0;padding:0;border:0;background:transparent}.import-workspace{margin-top:16px}.import-errors{padding:10px 14px;background:#fff0ee;border:1px solid #f5cbc5;border-radius:11px;max-height:220px;overflow:auto}.import-errors p{display:flex;gap:10px;margin:6px 0;color:#8e2b22;font-size:.78rem}.preview-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.preview-table table{min-width:900px}.import-success{text-align:center;padding:20px}.import-success>p{color:var(--muted)}.setup-code-table{margin-top:24px;text-align:left}.setup-code-table table{min-width:0}.role-callout{padding:12px 14px;background:#e9f5f3;border-radius:11px;color:var(--brand-dark)}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.guide-card{position:relative;padding-left:72px}.guide-number{position:absolute;left:20px;top:22px;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--accent);font-weight:800}.guide-card h3{margin:3px 0 8px}.guide-card p{color:var(--muted);font-size:.84rem}.guide-card ul{padding-left:18px;margin:12px 0 0}.guide-card li{margin:7px 0;font-size:.8rem}.onboarding-guide{margin-top:14px}.onboarding-guide ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;padding-left:22px}.onboarding-guide li{padding:5px 0;color:#3d5156}

.parent-hero{display:flex;justify-content:space-between;align-items:flex-end;padding:26px 28px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 18%,#fff),#fff);border:1px solid color-mix(in srgb,var(--brand) 25%,#fff);border-radius:var(--radius);margin-bottom:14px}.parent-hero h2{font-size:2rem;margin-top:6px}.parent-hero p{margin:5px 0 0;color:var(--muted)}.parent-hero label{font-size:.72rem;font-weight:700}.parent-hero select{display:block;padding:10px;border:1px solid var(--line);border-radius:10px;margin-top:5px}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.span-two{grid-column:span 2}.disabled-pay{background:#e8eeed;color:#758385;cursor:not-allowed}.disabled-pay:hover{transform:none;box-shadow:none}.subheading{font-size:.88rem;margin:25px 0 6px}.details{margin:20px 0 0}.details div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.details dt{color:var(--muted)}.details dd{font-weight:700;margin:0}.download-list{display:grid;gap:9px;margin-top:18px}.download-list a{display:flex;justify-content:space-between;padding:13px;background:var(--paper);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:700}.download-list a span{color:var(--brand);font-size:.75rem}.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.attendance-summary span{padding:13px;text-align:center;background:var(--paper);border-radius:10px;font-size:.7rem;color:var(--muted)}.attendance-summary b{display:block;font-size:1.2rem;color:var(--ink)}.mini-history{display:grid;gap:6px}.mini-history>span{display:flex;justify-content:space-between;font-size:.78rem}.mini-history b{text-transform:capitalize}.notice-mini>div{padding:12px 0;border-bottom:1px solid var(--line)}.notice-mini strong,.notice-mini small{display:block}.notice-mini small{color:var(--muted)}.notice-mini p{margin:5px 0;color:var(--muted);font-size:.82rem}.query-history{display:grid;gap:10px}.query-card{padding:14px;background:var(--paper);border-radius:12px}.query-card>div{display:flex;gap:9px;align-items:center}.query-card small{margin-left:auto;color:var(--muted)}.query-card p{font-size:.85rem}.query-card blockquote b{display:block;margin-bottom:5px}

dialog{border:0;border-radius:22px;padding:0;width:min(590px,92%);box-shadow:0 30px 100px #0005}dialog::backdrop{background:#102e338c;backdrop-filter:blur(5px)}dialog form{padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin-top:4px}.icon-button{background:var(--paper);color:var(--ink);font-size:1.3rem;padding:7px 11px}.modal-fields{display:grid;gap:11px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.setup-result{display:grid;gap:8px;text-align:center}.setup-result span{color:var(--muted);font-size:.72rem}.setup-result strong{font:800 1.45rem Manrope;padding:12px;background:var(--paper);border-radius:10px;letter-spacing:.05em}.setup-result p{color:var(--muted)}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#103238;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);max-width:360px}.toast[data-tone=error]{background:#8c251c}

@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.payroll-row{grid-template-columns:1fr 1fr 1fr}.payroll-row>div{grid-column:span 2}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;transition:left .2s ease;box-shadow:20px 0 50px #0003}.sidebar.open{left:0}.menu-button{display:block}.topbar{gap:12px}.topbar>div:nth-child(2){margin-right:auto}.workspace{padding:22px 20px 70px}.dashboard-grid,.settings-layout{grid-template-columns:1fr}.parent-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.metric-grid{grid-template-columns:repeat(2,1fr)}.fees-grid{grid-template-columns:1fr}.analytics-columns{grid-template-columns:1fr}.top-school div{display:none}.guide-grid,.import-grid{grid-template-columns:1fr}.onboarding-guide ol{grid-template-columns:1fr}}
@media(max-width:620px){.workspace{padding:18px 13px 60px}.topbar h1{font-size:1.7rem}.top-school{padding:6px}.welcome-card,.parent-hero{align-items:flex-start;gap:15px;padding:20px;flex-direction:column}.metric-grid,.metric-grid.compact,.parent-metrics{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric strong{font-size:1.35rem}.section-head{align-items:flex-start;flex-direction:column}.card-grid{grid-template-columns:1fr}.inline-form,.filter-bar{display:grid;grid-template-columns:1fr 1fr}.inline-form .grow,.inline-form button,.filter-bar button{grid-column:span 2}.filter-bar label{min-width:0}.form-grid,.switch-grid,.module-grid{grid-template-columns:1fr}.panel{padding:19px}.bar-row{grid-template-columns:1fr 2fr 28px}.payroll-row{grid-template-columns:1fr 1fr}.payroll-row>div{grid-column:span 2}.finance-overview{grid-template-columns:1fr}.donut{margin:auto}.parent-hero label{width:100%}.parent-hero select{width:100%}.attendance-card{align-items:flex-start;gap:10px}.attendance-card select{min-width:130px}.auth-card{padding:26px}.auth-tabs{font-size:.78rem}.toast{left:13px;right:13px;bottom:13px}.top-school{display:none}.upload-drop{display:grid!important;gap:8px}.upload-drop input{width:100%}.guide-card{padding-left:60px}}

.required-mark{color:var(--danger);font-weight:800}.field-error{display:block;margin-top:5px;font-size:.7rem;color:var(--danger)}.modal-fields [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 2px #c9372c18}.admission-prefill{padding:12px 14px;border:1px solid #b9ded8;border-radius:11px;background:#edf9f7;color:#285851}.student-photo-field{display:grid!important;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.student-photo-field input,.student-photo-field small{grid-column:1}.student-photo-preview{grid-column:2;grid-row:1/span 3;width:76px;height:92px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.service-card{min-height:150px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;box-shadow:var(--soft-shadow)}.service-card:hover{transform:translateY(-2px);border-color:#a8d3cc}.service-card .feature-icon{width:46px;height:46px}.service-card b,.service-card small{display:block}.service-card b{font:700 1rem Manrope;margin:4px 0 6px}.service-card small{color:var(--muted);line-height:1.45}.service-card>.i{width:17px;height:17px;margin-top:14px;color:var(--brand)}.document-photo{display:flex;align-items:center;gap:8px}.document-photo img{width:38px;height:46px;object-fit:cover;border-radius:7px;border:1px solid var(--line)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.service-grid{grid-template-columns:1fr}.service-card{min-height:112px}}
.admission-identity{display:flex;align-items:center;gap:12px}.admission-identity>img,.admission-avatar{width:52px;height:62px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}.admission-avatar{display:grid;place-items:center;background:#e8f5f2;color:var(--brand);font:800 1.25rem Manrope}.admission-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.admission-details>div{padding:10px;background:var(--paper);border-radius:9px}.admission-details span,.admission-details strong{display:block}.admission-details span{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.admission-details strong{font-size:.78rem;margin-top:3px}@media(max-width:760px){.admission-details{grid-template-columns:1fr 1fr}}@media(max-width:480px){.admission-details{grid-template-columns:1fr}}
.school-settings-card{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.settings-section{padding:4px 0 22px;border-bottom:1px solid var(--line)}.settings-section:last-child{grid-column:1/-1;border-bottom:0;padding-bottom:0}.settings-section .panel-heading{margin-top:10px}@media(max-width:760px){.school-settings-card{grid-template-columns:1fr}.settings-section:last-child{grid-column:auto}}

.contact-group{border:1px solid var(--line);border-radius:12px;padding:14px;margin:14px 0}.contact-group legend{padding:0 7px;font-weight:750;color:var(--ink)}.phone-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;margin-bottom:10px}.phone-row label{margin:0}.phone-row button{margin-bottom:1px}
@media(max-width:620px){.phone-row{grid-template-columns:1fr}.phone-row button{justify-self:start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.password-field{position:relative;display:block}.password-field input{padding-right:44px}.password-toggle,.password-toggle:hover{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;padding:0;background:transparent;color:var(--muted,#5b6f74);box-shadow:none;border-radius:8px}.password-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.filter-row th{padding:0 16px 12px;text-transform:none;letter-spacing:0}.filter-row input{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.8rem;color:var(--ink,#17313a);background:#fff}.no-match td{text-align:center;color:var(--muted)}
[data-table] tbody tr[data-id]{cursor:pointer}[data-table] tbody tr[data-id]:hover,[data-table] tbody tr[data-id]:focus-visible{background:var(--paper);outline:none}dialog.drawer{margin:0 0 0 auto;width:50vw;max-width:50vw;height:100dvh;max-height:100dvh;border-radius:22px 0 0 22px;padding:28px;overflow:auto;animation:drawer-in .25s ease-out}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:none}}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.drawer-head h2{margin-top:4px}.drawer-head p{display:flex;gap:10px;align-items:center;margin:6px 0 0;color:var(--muted)}.drawer-section{border-top:1px solid var(--line);padding:18px 0}.drawer-section h3{font-size:.95rem;margin:0 0 12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}.detail-grid span{display:block;color:var(--muted);font-size:.7rem;font-weight:700}.detail-grid strong{display:block;font-size:.9rem;margin-top:3px;overflow-wrap:anywhere}.detail-grid small{display:block;color:var(--muted);font-size:.72rem;margin-top:4px;font-weight:500}.drawer .metric-grid.compact{margin:0 0 14px}.drawer .metric strong{font-size:1.15rem}.drawer-table{overflow:auto}.drawer-table table{min-width:480px}.drawer .muted{color:var(--muted)}
@media(max-width:760px){dialog.drawer{width:100vw;max-width:100vw;border-radius:0;padding:20px}.detail-grid,.drawer .metric-grid.compact{grid-template-columns:1fr 1fr}.drawer-table{overflow:visible}.drawer-table table,.drawer-table tbody{display:block;min-width:0;width:100%}.drawer-table thead{display:none}.drawer-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.drawer-table td{display:block;padding:0;border:0;text-align:left!important;white-space:normal}.drawer-table td:first-child{grid-column:1/-1}.drawer-table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:.66rem;font-weight:700;text-transform:uppercase}.drawer-table td:first-child::before{display:none}.drawer-table td:last-child button{width:100%;margin-top:8px}}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;color:var(--muted);font-size:.8rem}.pager-buttons{display:flex;gap:6px;flex-wrap:wrap}.pager-buttons button{padding:7px 11px;font-size:.75rem;min-width:36px}
.fee-students{margin-bottom:15px}.status.paid{background:#ddf7ea;color:#087247}.status.pending{background:#fff2ca;color:#7b5a00}.status.overdue{background:#fee7e4;color:#9c241a}.drawer-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.drawer-section-head h3{margin:0}.drawer-section-head button{padding:8px 12px;font-size:.78rem}
.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
button:has(>.i),.button-link:has(>.i){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.nav:has(>.i),.signout{justify-content:flex-start}.nav .i,.signout .i{opacity:.8}.nav.active .i,.nav:hover .i{opacity:1;color:var(--accent)}
.icon-button:has(>.i){padding:9px}.icon-button .i,.menu-button .i{width:20px;height:20px}
.pager-buttons .i{width:15px;height:15px}
h2:has(>.title-icon){display:flex;align-items:center;gap:12px}
.title-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e3f4f1;color:var(--brand);flex:none}.title-icon .i{width:21px;height:21px}
.metric{position:relative}.metric:has(>.metric-icon){padding-right:62px}
.metric-icon{position:absolute;top:15px;right:15px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e3f4f1;color:var(--brand)}
.metric-icon.ok{background:#ddf7ea;color:#087247}.metric-icon.warn{background:#fff2ca;color:#7b5a00}.metric-icon.danger{background:#fee7e4;color:#9c241a}
.drawer .metric-icon{width:30px;height:30px;top:12px;right:12px}.drawer .metric-icon .i{width:16px;height:16px}
.status{align-items:center;gap:6px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.filter-row input{padding-left:30px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2363767b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 10px 50%}
.empty{display:flex;align-items:center;gap:10px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--paper)}
.empty:before{content:"";width:20px;height:20px;flex:none;background:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center/contain no-repeat}
button:focus-visible,.button-link:focus-visible,[data-table] tbody tr[data-id]:focus-visible{outline:3px solid #7fd1c9;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:901px){.menu-button{display:none!important}}
.segmented{display:inline-flex;gap:4px;padding:4px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:14px}
.segmented .seg{background:transparent;color:var(--muted);box-shadow:none;padding:9px 16px}
.segmented .seg:hover{transform:none;background:var(--paper);color:var(--ink)}
.segmented .seg.active{background:var(--brand);color:#fff}
.fee-kind{display:flex;width:100%}.fee-kind .seg{flex:1;padding:9px 10px}
.seg .count{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,.08);font-size:.7rem}
.seg.active .count{background:rgba(255,255,255,.22)}
.users-table tbody tr[data-id]{cursor:default}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions button{padding:7px 11px;font-size:.75rem}

.drawer .metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.drawer .metric{min-width:0}.drawer .metric strong{overflow-wrap:anywhere}
#metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.analytics-block{margin-top:15px}
.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.class-tile{display:grid;gap:9px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.class-tile:hover{border-color:color-mix(in srgb,var(--brand) 35%,#fff);box-shadow:var(--soft-shadow)}
.class-tile-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.class-tile-head small,.class-tile>small{color:var(--muted);font-size:.7rem}
.class-tile-count{display:flex;align-items:baseline;gap:6px}
.class-tile-count b{font:800 1.6rem Manrope;letter-spacing:-.03em}
.class-tile-count span{color:var(--muted);font-size:.78rem}
.bar-track.warn i{background:#d99a00}.bar-track.danger i{background:var(--danger)}
.money-bars{display:grid;gap:14px}
.money-bar-head{display:flex;justify-content:space-between;gap:10px;font-size:.84rem}
.money-bar-head small{color:var(--muted)}
.split-bar{height:9px;margin:7px 0 4px;border-radius:999px;background:#fbe3a6;overflow:hidden}
.split-bar i{display:block;height:100%;border-radius:inherit;background:var(--brand)}
.money-bar-row>small{font-size:.72rem;color:#087247}.money-bar-row>small.pending-note{color:#7b5a00}
.analytics-columns h3{display:flex;align-items:center;gap:8px}.analytics-columns h3 .i{color:var(--brand);width:16px;height:16px}
.legend{display:flex;gap:16px;margin:4px 0 6px;font-size:.72rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;background:var(--brand)}.legend i.due{background:#fbe3a6}

.metric{min-width:0}.metric strong{font-size:clamp(1.15rem,1.6vw,1.6rem);overflow-wrap:anywhere}
.finance-overview{grid-template-columns:170px minmax(0,1fr)}.finance-overview>*{min-width:0}
.finance-overview .metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}
@media(max-width:700px){.finance-overview{grid-template-columns:1fr}}
.dash-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:14px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:15px}
.dash-filters-title{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:.8rem;color:var(--brand);margin-right:4px;align-self:center}
.dash-filters label{display:grid;gap:5px;font-size:.72rem;font-weight:700;color:#354b51;min-width:170px}
.dash-filters select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--ink)}
.col-chart{display:flex;align-items:stretch;gap:10px;height:230px;overflow-x:auto;padding:6px 2px 2px}
.col{flex:1 0 52px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:52px}
.col-value{font:800 .85rem Manrope}.col-value small{color:var(--muted);font-weight:600;font-size:.7rem}
.col-track{flex:1;width:100%;max-width:44px;display:flex;flex-direction:column;justify-content:flex-end;background:#e6efed;border-radius:10px 10px 4px 4px;overflow:hidden}
.col-track i{display:block;width:100%;background:var(--brand);transition:height .3s ease}
.col-track.warn i{background:#d99a00}.col-track.danger i{background:var(--danger)}
.col-track.stacked{background:#f1f5f4}.col-track.stacked i.due{background:#fbe3a6}
.col>small{font-size:.68rem;color:var(--muted);text-align:center;white-space:nowrap}
.legend i.seat{background:#e6efed}
.compare-panel{margin-top:15px}.table-scroll{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;font-size:.84rem;min-width:640px}
.compare-table th,.compare-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.compare-table th:first-child,.compare-table td:first-child{text-align:left}
.sort-head{background:none;box-shadow:none;color:var(--muted);padding:0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.sort-head:hover{transform:none;box-shadow:none;color:var(--ink)}.sort-head.active{color:var(--brand)}
.compare-table td.text-danger{color:var(--danger);font-weight:700}
@media(max-width:620px){.dash-filters label{min-width:0;flex:1 1 140px}.col-chart{height:200px}}
@media(prefers-reduced-motion:reduce){.col-track i{transition:none}}
.analytics-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-columns>*{min-width:0}
@media(max-width:900px){.analytics-columns{grid-template-columns:minmax(0,1fr)}}
.class-card .edit-class{margin-top:10px;justify-self:start}.drawer-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}
.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line,#dfe9e8);background:#e9f6f4}.bulk-bar[hidden]{display:none}.select-cell{width:44px}.check{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;cursor:pointer}.check input{width:18px;height:18px;accent-color:#0f766e}.struck{text-decoration:line-through;opacity:.6}.fee-line .row-actions{margin-top:8px}.payment-line .cancel-payment{margin-left:8px}
.fee-chip-list{display:grid;gap:6px}.fee-chip{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fee-chip b{font-size:.78rem}.fee-chip small{display:inline;margin:0;padding:2px 6px;border-radius:999px;background:var(--paper)}.fee-editor-section{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px}.fee-editor-section+.fee-editor-section{margin-top:14px}.fee-editor-section h3{margin:0}.section-head.compact{margin:0}.class-custom-list{display:grid;gap:8px}.class-custom-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;background:var(--paper);border-radius:11px}.class-custom-list small{display:block;color:var(--muted);margin-top:3px}
.pane-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.pane-tabs button{background:#fff;color:#21484b;border:1px solid #d5e6e4;box-shadow:none}.pane-tabs button.active{background:#0f766e;color:#fff;border-color:#0f766e}.pane-tabs .count{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 6px;margin-left:6px;border-radius:99px;background:#0001;font-size:.78rem}.table-actions small{display:block}.table-panel td .button-link{display:inline-flex}
.workspace-tabs{margin:0 0 18px}.workspace-tabs[hidden]{display:none}.offer-list{margin-bottom:14px}.offer-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin:0 0 14px;border:1px solid #b9ddd8;border-radius:16px;background:#effaf8}.offer-banner>div:first-child{display:grid;gap:4px}.offer-banner small{color:#527075}.check-row{display:flex!important;align-items:center;gap:10px}.check-row input{width:18px;height:18px;accent-color:#0f766e}.payment-settings{margin-top:18px}.ledger-line .pay-line{margin-top:8px}.status+.status{margin-left:5px}@media(max-width:620px){.offer-banner{align-items:stretch;flex-direction:column}.offer-banner .row-actions{align-items:stretch}.offer-banner .row-actions button{width:100%}.workspace-tabs{overflow:auto;flex-wrap:nowrap}.workspace-tabs button{white-space:nowrap}}
.metric strong{white-space:nowrap;overflow-wrap:normal;word-break:normal;line-height:1.12}.metric strong.metric-value-medium{font-size:clamp(1.05rem,1.35vw,1.4rem)}.metric strong.metric-value-long{font-size:clamp(.92rem,1.15vw,1.22rem);letter-spacing:-.055em}@media(max-width:620px){.metric strong.metric-value-medium{font-size:1.18rem}.metric strong.metric-value-long{font-size:1rem}}
.choice-list{display:grid;gap:8px;margin:0 0 12px;padding:0;border:0}.choice-list legend{font-weight:700;margin-bottom:6px}.choice{display:flex!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #dfe9e8;border-radius:14px;cursor:pointer}.choice:has(input:checked){border-color:#0f766e;background:#effaf8}.choice:has(input:disabled){opacity:.5;cursor:not-allowed}.choice input{width:18px;height:18px;margin-top:2px;accent-color:#0f766e}.choice span{display:grid;gap:2px}.choice small{color:#527075}.choice .count{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#e2f1ef;font-size:.8rem}
input[type=color]{width:100%;height:48px;padding:5px;cursor:pointer;background:#fff}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:9px}input[type=color]::-moz-color-swatch{border:0;border-radius:9px}
.color-field{display:flex;align-items:center;gap:10px;margin-top:6px}.color-field input[type=color]{flex:1;margin:0}.color-field code{min-width:78px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font:700 .8rem ui-monospace,monospace;text-align:center}.theme-preview{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px dashed var(--line);border-radius:12px}.preview-button{padding:10px 16px;border-radius:10px;background:var(--preview-primary,var(--brand));color:#fff;font-weight:800;font-size:.8rem}.preview-chip{padding:7px 12px;border-radius:999px;background:var(--preview-accent,var(--accent));font-weight:800;font-size:.75rem}
.support-button{position:fixed;right:20px;bottom:20px;z-index:25;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;background:#173f43;color:#fff;box-shadow:0 10px 30px #173f4340}.support-button:hover{background:#0f766e}.support-button[hidden]{display:none}#supportDialog{width:min(560px,calc(100% - 28px))}#supportDialog textarea{resize:vertical;min-height:130px}@media(max-width:620px){.support-button{right:14px;bottom:14px;padding:11px 14px}.support-button .i{width:18px;height:18px}}
.db-status{position:fixed;left:260px;right:0;bottom:0;z-index:24;display:flex;align-items:center;gap:10px;padding:11px 4vw;background:#e9f7ef;color:#14532d;border-top:1px solid #bfe5cd;font-size:.86rem;box-shadow:0 -8px 24px #0000000f}.db-status::before{content:'';flex:none;width:9px;height:9px;border-radius:50%;background:#1f9d55}.db-status[data-tone=error]{background:#fdecea;color:#8c251c;border-color:#f3c4bd}.db-status[data-tone=error]::before{background:#c0392b}.db-status strong{flex:none;font-weight:800}.db-status span{min-width:0;overflow-wrap:anywhere}.db-status time{flex:none;margin-left:auto;font-size:.75rem;opacity:.75}.has-db-status .support-button{bottom:64px}body:has(#reportProblem:not([hidden])) .toast{bottom:76px}body.has-db-status:has(#reportProblem:not([hidden])) .toast{bottom:120px}.has-db-status .toast{bottom:68px}.has-db-status .workspace{padding-bottom:130px}
@media(max-width:900px){.db-status{left:0;padding:10px 20px}.sidebar{z-index:30}}
@media(max-width:620px){.db-status{padding:9px 13px;font-size:.8rem;gap:8px}.has-db-status .support-button{bottom:calc(var(--db-status-h,52px) + 8px)}body:has(#reportProblem:not([hidden])) .toast{bottom:66px}body.has-db-status:has(#reportProblem:not([hidden])) .toast{bottom:calc(var(--db-status-h,52px) + 58px)}.has-db-status .toast{bottom:calc(var(--db-status-h,52px) + 10px)}}

.split-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; font-size: .85rem; }
.split-table th, .split-table td { padding: 6px 4px; text-align: left; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.split-table col:nth-child(1) { width: 13%; } .split-table col:nth-child(2) { width: 18%; } .split-table col:nth-child(3) { width: 43%; } .split-table col:nth-child(4) { width: 26%; }
.split-table th { letter-spacing: 0; overflow-wrap: normal; }
.split-table input[type="date"] { padding: 6px 3px; font-size: .78rem; }
.split-table input { width: 100%; min-width: 0; padding: 6px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.split-table td:last-child, .split-table th:last-child { text-align: right; }
.split-table .bad { color: #b42318; }
.split-table input[type="number"] { appearance: textfield; -moz-appearance: textfield; text-align: center; }
.split-table input[type="number"]::-webkit-inner-spin-button, .split-table input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.split-table td:last-child { white-space: nowrap; overflow-wrap: normal; font-size: .78rem; }

.filter-row select{width:100%;min-width:8.5rem;padding:8px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.8rem;color:var(--ink,#17313a);background:#fff}
@media(max-width:620px){
.topbar{position:sticky;top:0;z-index:20;margin:-18px -13px 18px;padding:12px 13px;background:color-mix(in srgb,var(--paper,#f5f8f7) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.menu-button{min-width:44px;min-height:44px}
button,.button-link{min-height:44px}
input,select,textarea{min-height:44px;font-size:16px}
.section-head>div:last-child,.section-head .row-actions{width:100%}
.section-head .row-actions>button,.section-head .row-actions>.button-link{flex:1 1 140px;justify-content:center}
.table-panel{overflow:visible;background:transparent;border:0;box-shadow:none}
.table-panel table,.table-panel thead,.table-panel tbody{display:block;min-width:0;width:100%}
.workspace{min-width:0;overflow:visible;overflow-x:clip}
.table-panel thead tr:not(.filter-row){display:none}
.table-panel thead tr:not(.filter-row):has(th.select-cell){display:flex;justify-content:flex-end;padding:0 0 8px}
.table-panel thead tr:not(.filter-row) th:not(.select-cell){display:none}
.table-panel thead th.select-cell{display:block;width:auto;padding:0;border:0}
.table-panel .select-cell .check{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:0 16px;border-radius:999px;background:var(--brand);color:#fff;box-shadow:0 4px 12px #087f7833;cursor:pointer}
.table-panel .select-cell .check input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.table-panel .select-cell .check::after{content:'Select';font-size:.82rem;font-weight:700;letter-spacing:0;text-transform:none}
.table-panel thead .select-cell .check::after{content:'Select all'}
.table-panel .select-cell .check:has(input:checked){background:#e1efed;color:var(--brand-dark);box-shadow:inset 0 0 0 2px var(--brand)}
.table-panel .select-cell .check:has(input:checked)::after{content:'\2713  Selected'}
.table-panel thead .select-cell .check:has(input:checked)::after{content:'\2713  All selected'}
.table-panel .select-cell .check:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.table-panel .text-danger{background:#fff;color:var(--danger);border:1px solid #f3c5bf;box-shadow:none}
.table-panel .filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 12px}
.table-panel .filter-row th{display:block;padding:0}
.table-panel .filter-row th:empty,.table-panel .filter-row th.select-cell{display:none}
.table-panel .filter-row th:first-child:not(.select-cell),.table-panel .filter-row th.select-cell+th{grid-column:1/-1}
.table-panel tbody tr:not(.no-match){position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;margin:0 0 10px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 14px #0f2f3310}
.table-panel tbody tr:not(.no-match)[hidden]{display:none}
.table-panel tbody tr:not(.no-match):active{background:var(--paper)}
.table-panel td{display:block;min-width:0;padding:0;border:0;white-space:normal;font-size:.88rem;overflow-wrap:anywhere}
.table-panel td::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.table-panel td[data-label=""]::before{display:none}
.table-panel td:first-child:not(.select-cell),.table-panel td.select-cell+td{grid-column:1/-1;padding-right:120px;font-size:.98rem}
.table-panel td:first-child:not(.select-cell)::before,.table-panel td.select-cell+td::before{display:none}
.table-panel td.select-cell{position:static;grid-column:1/-1;order:99;width:auto;padding-top:10px;border-top:1px solid var(--line)}
.table-panel td.select-cell+td{padding-right:0}
.table-panel tr:has(>td.select-cell):has(>td.table-actions:not(:empty)) td.select-cell+td{grid-column:1}
.table-panel tr:has(>td.select-cell) td.table-actions:not(:empty){grid-column:2;grid-row:1;flex-direction:column;align-items:flex-end;justify-self:end;align-self:start;padding-top:0;border-top:0}
.table-panel tr:has(>td.select-cell) td.table-actions>*{flex:0 0 auto;min-height:40px;padding:0 12px;font-size:.8rem}
.table-panel td.table-actions,.table-panel td:last-child:has(button,.button-link){grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:stretch;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.table-panel td.table-actions:empty,.table-panel td:last-child:not(:has(*)):empty{display:none}
.table-panel td.table-actions::before,.table-panel td:last-child:has(button,.button-link)::before{display:none}
.table-panel td.table-actions>*,.table-panel td:last-child:has(button,.button-link)>*{flex:1 1 130px;justify-content:center}
.table-panel .no-match{display:block}.table-panel .no-match[hidden]{display:none}.table-panel .no-match td{display:block;padding:24px 12px;background:#fff;border:1px dashed var(--line);border-radius:16px}
.table-panel .bulk-bar{position:sticky;top:86px;z-index:5;margin:0 0 10px;border:1px solid #b9ddd8;border-radius:14px}
.pager{justify-content:center;text-align:center;padding:6px 0 14px}.pager>span{width:100%}
.pager-buttons{justify-content:center}.pager-buttons button{min-width:44px;min-height:44px;padding:8px 12px;font-size:.85rem}
dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
.modal-actions{position:sticky;bottom:0;padding:12px 0 4px;background:#fff}.modal-actions>button{flex:1}
}
.chosen-students{display:grid;gap:8px;margin:0 0 12px}.chosen-students[hidden]{display:none}.chosen-list{display:grid;gap:4px;max-height:220px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:12px}.chosen-list .check-row small{color:var(--muted)}
.check-row[hidden]{display:none!important}

.maintenance-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:13px 16px;border:1px solid #e4be62;border-radius:13px;background:#fff8df;color:#654b0b}.maintenance-banner strong{flex:none}.maintenance-banner span{overflow-wrap:anywhere}.maintenance-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#e4f5f2,#f7fbfa)}.maintenance-shell[hidden]{display:none}.maintenance-card{width:min(560px,100%);padding:clamp(28px,6vw,52px);text-align:center;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.maintenance-card img{width:76px;height:76px;object-fit:contain;margin:0 auto 18px}.maintenance-card h1{margin:10px 0 12px;font-size:clamp(2rem,6vw,3rem)}.maintenance-card>p{color:var(--muted);font-size:1.05rem}.maintenance-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.maintenance-card dl div{padding:13px;background:var(--paper);border-radius:12px}.maintenance-card dt{font-size:.7rem;color:var(--muted);text-transform:uppercase}.maintenance-card dd{margin:5px 0 0;font-weight:800}
@media(max-width:620px){.maintenance-banner{display:grid;gap:4px}.maintenance-card dl{grid-template-columns:1fr}}

.parent-student{display:grid;gap:10px}.parent-facts{display:grid;grid-template-columns:repeat(4,auto);gap:6px 28px;margin:4px 0 0}.parent-facts div{display:grid;gap:2px}.parent-facts dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.parent-facts dd{margin:0;font-weight:700}.quarter-list{display:grid;gap:12px}.quarter-card{border:1px solid var(--line);border-radius:14px;padding:4px 16px 8px;background:#fff}.quarter-card.settled{background:var(--paper)}.quarter-card>header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.quarter-card h3{margin:0;font-size:1rem}.quarter-card header small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.quarter-pay{display:flex;align-items:center;gap:12px}.quarter-pay b{color:var(--danger)}.paid-text{color:var(--brand);font-weight:700;margin-top:3px}
@media(max-width:620px){.parent-facts{grid-template-columns:1fr 1fr;gap:10px 16px}.quarter-card{padding:2px 13px 6px}.quarter-card>header{flex-direction:column;align-items:stretch}.quarter-pay{justify-content:space-between}.quarter-pay button{flex:1;justify-content:center}}

.quarter-card.payment-locked{background:#f4f6f6;color:#657274}.quarter-card.payment-locked button[disabled]{background:#dfe4e4;color:#667273;cursor:not-allowed;box-shadow:none}.window-table input[type=date]{min-width:135px}
@media(max-width:620px){
.window-table,.window-table thead,.window-table tbody,.window-table tfoot{display:block;width:100%}
.window-table thead{display:none}
.window-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 8px;padding:12px 0;border-bottom:1px solid var(--line)}
.window-table tbody td{display:block;min-width:0;padding:0;border:0;text-align:left!important}
.window-table tbody td:first-child{grid-column:1/-1;font-weight:800}
.window-table tbody td:not(:first-child)::before{display:block;margin-bottom:4px;color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase}
.window-table tbody td:nth-child(2)::before{content:'Opens'}
.window-table tbody td:nth-child(3)::before{content:'Deadline'}
.window-table tbody tr:has(td:nth-child(5)) td:nth-child(2)::before{content:'Percentage'}
.window-table tbody tr:has(td:nth-child(5)) td:nth-child(3)::before{content:'Opens'}
.window-table tbody tr:has(td:nth-child(5)) td:nth-child(4)::before{content:'Deadline'}
.window-table tbody tr:has(td:nth-child(5)) td:nth-child(5)::before{content:'Amount'}
.window-table input[type=date]{min-width:0;width:100%}
.window-table tfoot tr{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding-top:12px}
.window-table tfoot th{display:block;padding:0;border:0;text-align:left!important}
.window-table tfoot th:nth-child(3),.window-table tfoot th:nth-child(4){display:none}
}

.auth-shell{grid-template-columns:1.15fr .85fr}.auth-story{padding:6vh 6vw;justify-content:center;gap:0}.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px;position:relative;z-index:1}.auth-brand .platform-mark{margin:0;flex:none}.auth-brand img{width:56px;height:56px;object-fit:contain;border-radius:14px;background:#fff;padding:4px;box-shadow:var(--soft-shadow)}.auth-brand strong{display:block;font:800 1.15rem Manrope;color:var(--ink)}.auth-brand small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.auth-story h1{font-size:clamp(2.8rem,5vw,5.2rem);margin:0 0 18px;position:relative;z-index:1}.auth-lead{font-size:1.05rem;color:var(--muted);max-width:560px;margin:0 0 28px;position:relative;z-index:1}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:820px;position:relative;z-index:1}.feature-grid article{padding:16px;background:#ffffffd9;border:1px solid #d6e9e5;border-radius:16px;backdrop-filter:blur(6px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-grid article:hover{transform:translateY(-3px);box-shadow:var(--soft-shadow);border-color:color-mix(in srgb,var(--brand) 35%,#fff)}.feature-grid h3{font-size:.95rem;margin:10px 0 4px}.feature-grid p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.feature-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--brand) 12%,#fff);color:var(--brand)}
.role-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:820px;margin-top:14px;position:relative;z-index:1}.role-strip div{padding:12px 14px;border-left:3px solid var(--brand);background:#ffffff99;border-radius:0 12px 12px 0}.role-strip b{display:block;font-size:.85rem}.role-strip span{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.auth-mobile-brand{display:none}.feature-marquee{overflow:hidden;margin-bottom:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.feature-marquee:hover .marquee-track{animation-play-state:paused}.marquee-set{display:flex;gap:8px;padding-right:8px}.marquee-set span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d6e9e5;font-size:.76rem;font-weight:700;color:#29464b}.marquee-set .i{width:14px;height:14px;color:var(--brand)}@keyframes marquee{to{transform:translateX(-50%)}}
.auth-heading .mini-mark .i{width:22px;height:22px}
@media(max-width:1200px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.auth-panel{width:min(470px,92%);padding:28px 0;justify-content:flex-start}.auth-mobile-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.auth-mobile-brand img{width:44px;height:44px;object-fit:contain;border-radius:11px;background:#fff;padding:3px}.auth-mobile-brand strong{font:800 1.2rem Manrope;text-align:center}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto}.marquee-set[aria-hidden]{display:none}.marquee-set{flex-wrap:wrap}.feature-marquee{-webkit-mask-image:none;mask-image:none}}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}.quick-action{display:flex!important;align-items:center;justify-content:flex-start!important;gap:12px;padding:16px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px}.quick-action:hover{border-color:color-mix(in srgb,var(--brand) 40%,#fff)}.quick-action .feature-icon{flex:none}.quick-action b{display:block;font-size:.9rem}.quick-action small{display:block;color:var(--muted);font-weight:500;font-size:.74rem;margin-top:2px}
@media(max-width:900px){.quick-actions{grid-template-columns:1fr 1fr}}@media(max-width:420px){.quick-actions{grid-template-columns:1fr}}
.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.auth-panel,.feature-marquee{min-width:0;max-width:100%}
@media(max-width:900px){.auth-shell{grid-template-columns:minmax(0,1fr)}}
.sidebar{height:100dvh}.sidebar nav{min-height:0;flex:1 1 auto;align-content:start}.signout{flex:none;margin-top:12px}
.sidebar-backdrop{display:none}@media(max-width:900px){.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:29;background:#0c31368c;backdrop-filter:blur(2px)}.sidebar-backdrop[hidden]{display:none}}
.top-account{display:flex;align-items:center;gap:10px;margin-left:12px;padding:6px 6px 6px 8px;background:#fff;border:1px solid var(--line);border-radius:14px}.top-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#183338;font-weight:800;flex:none}.top-account-text strong,.top-account-text small{display:block;line-height:1.2}.top-account-text strong{font-size:.84rem;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-account-text small{color:var(--muted);font-size:.7rem}.top-signout{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;background:#fff1ec;color:#9c241a;font-size:.8rem}.top-signout:hover{background:#ffe2d9;box-shadow:none}.top-signout .i{width:17px;height:17px}
.topbar{gap:12px}.topbar>div:nth-child(2){margin-right:auto}
@media(max-width:900px){.top-account-text{display:none}.top-account{margin-left:0;padding:4px}}
@media(max-width:620px){.top-signout span{display:none}.top-signout{padding:8px}.top-avatar{display:none}}
.year-chip{align-items:center;gap:7px}.year-chip .i{width:16px;height:16px}
.block-title{margin:22px 0 4px}.block-title h2{font-size:1.15rem;margin:4px 0 0}
.quick-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.quick-action{min-height:76px}.quick-action .feature-icon{width:44px;height:44px;border-radius:14px}
.tone-mint .feature-icon{background:#dcf7ec;color:#0b7a55}.tone-sky .feature-icon{background:#dcecff;color:#1d5fc2}.tone-sun .feature-icon{background:#fff1c7;color:#8a5a00}.tone-lilac .feature-icon{background:#ece4ff;color:#5b3cc4}.tone-coral .feature-icon{background:#ffe3dc;color:#b23b22}
.quick-action:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}
@media(max-width:1180px){.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.quick-actions{grid-template-columns:1fr 1fr}}@media(max-width:420px){.quick-actions{grid-template-columns:1fr 1fr}.quick-action{flex-direction:column;align-items:flex-start!important;gap:8px;padding:13px}}
.setup-panel{border:2px dashed #f6c76b;background:linear-gradient(135deg,#fffaf0,#fff)}.setup-panel .panel-heading{align-items:flex-start;gap:16px}.setup-panel h2{margin:4px 0}.setup-panel .muted{margin:0;font-size:.85rem}
.setup-progress{min-width:170px}.setup-progress span{font-size:.8rem;color:var(--muted)}.setup-progress b{font-size:1.2rem;color:var(--ink)}.setup-progress .split-bar{background:#f3e7cf}.setup-progress .split-bar i{background:linear-gradient(90deg,#f59e0b,#22c55e)}
.setup-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.setup-step{display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 13px;background:#fff;border:1px solid var(--line);border-radius:14px}.setup-step.done{background:#f5fcf8;border-color:#cdeedc}.setup-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff1c7;color:#8a5a00;font-weight:800;font-size:.85rem}.setup-step.done .setup-num{background:#22c55e;color:#fff}.setup-num .i{width:16px;height:16px}.setup-step-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e3f4f1;color:var(--brand)}.setup-step-text b,.setup-step-text small{display:block}.setup-step-text small{color:var(--muted);font-size:.78rem;margin-top:2px}.setup-go{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;font-size:.8rem}.setup-go .i{width:15px;height:15px}.setup-owner{color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.setup-complete{display:flex;align-items:center;gap:14px;border-style:solid;border-color:#cdeedc;background:#f5fcf8}.setup-complete>div{flex:1}.setup-complete b,.setup-complete small{display:block}.setup-complete small{color:var(--muted)}
.setup-hero-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#fff1c7;color:#8a5a00;flex:none}.setup-hero-icon .i{width:26px;height:26px}.setup-complete .setup-hero-icon{background:#dcf7ec;color:#0b7a55}
.setup-dialog{width:min(680px,94%)}.setup-dialog-body{padding:26px}.setup-dialog-head{display:flex;gap:14px;align-items:flex-start}.setup-dialog-head h2{margin:4px 0}.setup-dialog-head p{margin:0;color:var(--muted)}.setup-dialog .modal-actions{margin-top:18px}
@media(max-width:620px){.setup-step{grid-template-columns:28px minmax(0,1fr) auto;gap:10px}.setup-step-icon{display:none}.setup-step .setup-go,.setup-step .setup-owner{grid-column:2/-1;justify-self:start}.setup-panel .panel-heading{flex-direction:column}.setup-progress{width:100%}.setup-complete{flex-wrap:wrap}.setup-dialog-body{padding:20px}}
#setupChecklist{margin:0 0 15px}.metric-grid.six-up{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:1180px){.metric-grid.six-up{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.metric-grid.six-up{grid-template-columns:1fr 1fr}}
.class-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.class-card-head h3{margin:2px 0 0}.class-card>.muted{margin:4px 0 8px}
.section-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.section-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line,#e5e7eb);border-radius:10px;flex-wrap:wrap}.section-list li>span:first-child{display:grid}.section-list small{color:var(--muted,#64748b)}.section-list .row-actions button{padding:6px 10px;min-height:34px}
.class-card .section-list .edit-class{margin-top:0}.class-card .add-section{justify-self:start}
.promote-list{display:grid;gap:8px;max-height:52vh;overflow:auto}.promote-row{border:1px solid var(--line,#e5e7eb);border-radius:10px;padding:10px}.promote-head{display:grid;grid-template-columns:1fr auto minmax(150px,1.2fr);align-items:center;gap:8px}.promote-head>span:first-child{display:grid}.promote-head small,.promote-review small{color:var(--muted,#64748b)}.promote-row details{margin-top:6px}.promote-row summary{cursor:pointer;font-size:.88rem}.promote-review ul{padding-left:18px;display:grid;gap:4px}
@media(max-width:620px){.promote-head{grid-template-columns:1fr}.promote-arrow{display:none}}

.parent-hero{justify-content:flex-start;align-items:center;gap:18px;position:relative;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 16%,#fff),color-mix(in srgb,var(--accent) 22%,#fff))}.parent-hero:after{content:"";position:absolute;right:-50px;top:-60px;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--accent) 45%,transparent);opacity:.55}.parent-avatar{flex:0 0 auto;width:64px;height:76px;border-radius:16px;object-fit:cover;display:grid;place-items:center;background:var(--brand);color:#fff;font:800 1.6rem Manrope;border:3px solid #fff;box-shadow:var(--soft-shadow)}.parent-student,.parent-avatar{position:relative;z-index:1}.parent-services{margin-top:4px}.parent-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.parent-toolbar label{font-size:.72rem;font-weight:700}.parent-toolbar select{display:block;padding:10px;border:1px solid var(--line);border-radius:10px;margin-top:5px}.parent-uploads{margin-top:16px;padding:18px}
.service-card{position:relative;overflow:hidden;border-top-width:4px}.service-card.tone-mint{border-top-color:#3cc28f;background:linear-gradient(180deg,#f3fcf8,#fff 60%)}.service-card.tone-sky{border-top-color:#4c8fe8;background:linear-gradient(180deg,#f2f7ff,#fff 60%)}.service-card.tone-sun{border-top-color:#f2b631;background:linear-gradient(180deg,#fffaeb,#fff 60%)}.service-card.tone-lilac{border-top-color:#8b6cf0;background:linear-gradient(180deg,#f7f3ff,#fff 60%)}.service-card.tone-coral{border-top-color:#f07a5c;background:linear-gradient(180deg,#fff5f2,#fff 60%)}.service-card .feature-icon{border-radius:14px}
.nav.active{box-shadow:inset 4px 0 0 var(--accent)}.section-head .title-icon{background:color-mix(in srgb,var(--accent) 35%,#fff);color:var(--brand-dark)}
@media(max-width:620px){.parent-hero{flex-direction:row!important;align-items:center!important}.parent-hero h2{font-size:1.45rem}.parent-toolbar{justify-content:stretch}.parent-toolbar label,.parent-toolbar select{width:100%}}
dialog.side-editor{margin:0 0 0 auto;width:min(620px,50vw);max-width:none;height:100dvh;max-height:100dvh;border-radius:22px 0 0 22px;animation:drawer-in .25s ease-out}dialog.side-editor form{min-height:100%;display:flex;flex-direction:column}dialog.side-editor .modal-fields{flex:1}dialog.side-editor .modal-actions{position:sticky;bottom:-25px;margin:22px -25px -25px;padding:14px 25px;background:#fffffff2;border-top:1px solid var(--line)}
.drawer-profile{display:flex;align-items:center;gap:18px;margin:14px 0 4px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand) 7%,#fff),#fff)}.drawer-profile strong{display:block;font:800 1.15rem Manrope}.drawer-profile p{margin:3px 0 10px;color:var(--muted);font-size:.86rem}.drawer-profile button{padding:8px 13px;font-size:.8rem}.passport-photo{flex:none;width:105px;height:135px;border-radius:10px;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px var(--line),var(--soft-shadow);background:#eef5f4}.passport-empty{display:grid;place-content:center;text-align:center;color:var(--brand);font:800 2rem Manrope}.passport-empty small{font:700 .66rem "DM Sans";color:var(--muted)}
.person-cell{display:flex;align-items:center;gap:10px;min-width:180px}.person-cell>img,.person-cell>span{flex:none;width:34px;height:42px;border-radius:7px;object-fit:cover;border:1px solid var(--line);display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,#fff);color:var(--brand);font-weight:800}
@media(max-width:760px){dialog.side-editor{width:100vw;border-radius:0}.drawer-profile{align-items:flex-start;gap:14px;padding:13px}.passport-photo{width:84px;height:108px}}
@media(prefers-reduced-motion:reduce){dialog.drawer,dialog.side-editor{animation:none}}
.auth-story{justify-content:flex-start;padding-top:5vh;padding-bottom:5vh}.auth-story>.eyebrow{position:relative;z-index:1;margin-bottom:10px}.auth-story h1{font-size:clamp(2.5rem,4.4vw,4.4rem);max-width:760px}.auth-story .trust-row{position:relative;z-index:1;margin:0 0 22px}.trust-row span{display:inline-flex;align-items:center;gap:6px}.trust-row .i{width:15px;height:15px;color:var(--brand)}
.feature-marquee{position:relative;z-index:1;max-width:100%;margin:0 0 8px;padding:6px 0 10px}.feature-marquee:focus-within .marquee-track,.feature-marquee.paused .marquee-track{animation-play-state:paused}.marquee-track{animation-duration:55s}.marquee-set{gap:14px;padding-right:14px}
.snap{width:250px;flex:none;padding:14px;border:1px solid #d6e9e5;border-radius:16px;background:#fff;box-shadow:var(--soft-shadow);display:grid;gap:10px;border-top:3px solid var(--brand)}.snap.tone-mint{border-top-color:#3cc28f}.snap.tone-sky{border-top-color:#4c8fe8}.snap.tone-sun{border-top-color:#f2b631}.snap.tone-lilac{border-top-color:#8b6cf0}.snap.tone-coral{border-top-color:#f07a5c}.snap-head{display:flex;align-items:center;gap:10px}.snap-head b{font:800 .92rem Manrope}.snap .feature-icon{width:34px;height:34px;border-radius:10px}.snap .feature-icon .i{width:17px;height:17px}.snap p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45;white-space:normal}
.snap-visual{height:74px;padding:10px;border-radius:12px;background:var(--paper);display:grid;align-content:center;gap:7px}.snap-bars{display:grid;gap:6px}.snap-bars i{display:block;height:9px;width:var(--w);border-radius:9px;background:#3cc28f}.snap-bars i:nth-child(2){background:#f2b631}.snap-bars i:nth-child(3){background:#f07a5c}.snap-legend{display:flex;gap:10px;font-size:.64rem;font-weight:700;color:var(--muted)}
.snap-profile{display:flex;gap:10px;align-items:center}.snap-passport{width:42px;height:54px;border-radius:6px;background:#fff;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);display:grid;place-items:end center;overflow:hidden}.snap-passport svg{width:38px;height:46px;fill:#c9bdf5}.snap-profile div{display:grid;gap:6px;flex:1}.snap-profile b,.snap-profile i{display:block;height:8px;border-radius:8px;background:#d9d1fb}.snap-profile b{width:80%;height:10px;background:#8b6cf0}.snap-profile i:last-child{width:55%}
.snap-pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.snap-pipeline span{padding:9px 4px;border-radius:9px;background:#fff;border:1px solid var(--line);text-align:center;font-size:.66rem;font-weight:800;color:var(--muted)}.snap-pipeline .on{background:var(--brand);border-color:var(--brand);color:#fff}
.snap-list{display:grid;gap:5px}.snap-list span{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700}.snap-list .i{width:14px;height:14px;color:#0b7a55}
.snap-route{position:relative;display:flex;justify-content:space-between;align-items:center;padding:0 6px}.snap-route:before{content:"";position:absolute;left:12px;right:12px;height:4px;border-radius:4px;background:#f6b9a9}.snap-route i{position:relative;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #f07a5c}
.snap-columns{height:54px;display:flex;align-items:flex-end;gap:8px}.snap-columns i{flex:1;height:var(--h);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#4c8fe8,#9cc2f5)}
.marquee-toggle{position:absolute;right:4px;top:-34px;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--brand-dark);border:1px solid var(--line)}.marquee-toggle .i{width:14px;height:14px}
.story-title{position:relative;z-index:1;font-size:1rem;margin:16px 0 10px}.auth-story .feature-grid article{padding:14px}
.demo-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:0!important}.demo-card{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;background:#fff;color:var(--ink);border:1px solid #d6e9e5;border-radius:14px;box-shadow:none}.demo-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,#fff);box-shadow:var(--soft-shadow)}.demo-card b,.demo-card small{display:block}.demo-card b{font-size:.86rem}.demo-card small{color:var(--muted);font-weight:500;font-size:.72rem;margin-top:2px}.demo-play{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff}.demo-play .i{width:15px;height:15px;margin-left:2px;fill:currentColor}.demo-time{margin-left:auto;flex:none;font-size:.64rem;font-weight:800;color:var(--brand-dark);background:#e1efed;padding:4px 7px;border-radius:999px}
.demo-dialog{width:min(980px,94vw);padding:20px}.demo-dialog .modal-head{margin-bottom:12px}.demo-dialog video{display:block;width:100%;aspect-ratio:16/9;border-radius:14px;background:#0c3136}
@media(max-width:1200px){.demo-strip{grid-template-columns:1fr!important}}
@media(max-width:900px){.auth-story{display:flex;order:2;padding:8px 18px 34px}.auth-panel{order:1;min-height:auto;padding-bottom:10px}.auth-story .auth-brand{display:none}.auth-story h1{font-size:2.1rem}.auth-story:before,.auth-story:after{display:none}.feature-grid{grid-template-columns:1fr}.snap{width:220px}.demo-dialog{padding:12px;margin:auto}}
@media(prefers-reduced-motion:reduce){.marquee-toggle{display:none}}
.auth-story:after{display:none}.auth-panel{align-self:start;position:sticky;top:6vh}.demo-play .i{width:16px;height:16px;margin-left:3px;fill:#fff;stroke:#fff}
@media(max-width:900px){.auth-panel{position:static}}
.demo-play .i{display:none}.demo-play:after{content:"";border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.drawer .detail-grid a{color:var(--brand-dark);font-weight:700;text-decoration:none}.drawer .detail-grid a:hover{text-decoration:underline}
.demo-play:after{width:0;height:0;place-self:center}
@media(min-width:901px){
.auth-shell{height:100vh;min-height:680px;overflow:hidden}.auth-story{height:100vh;min-height:680px;padding:3.2vh 3.6vw;justify-content:center;overflow:hidden}.auth-panel{position:static;align-self:center}
.auth-brand{margin-bottom:2vh}.auth-story h1{font-size:clamp(2.1rem,3.3vw,3.3rem);margin:0 0 1vh}.auth-lead{margin:0 0 1.6vh;font-size:.98rem}.auth-story .trust-row{margin:0 0 1.4vh}
.feature-marquee{margin:0}.snap{width:310px;padding:16px;gap:12px}.snap-head b{font-size:1rem}.snap .feature-icon{width:38px;height:38px}.snap-visual{height:min(13vh,104px)}.snap p{font-size:.8rem}
.story-title{margin:1.4vh 0 .9vh;font-size:.92rem}
.auth-story .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:none}.auth-story .feature-grid article{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:12px}.auth-story .feature-grid h3{margin:0;font-size:.8rem}.auth-story .feature-grid .feature-icon{width:28px;height:28px;border-radius:8px;flex:none}.auth-story .feature-grid .feature-icon .i{width:15px;height:15px}
.demo-strip{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;max-width:none}.demo-card{padding:9px 10px;gap:9px}.demo-card small{display:none!important}.demo-card b{font-size:.8rem}.demo-play{width:32px;height:32px}.demo-time{display:none}
}
@media(min-width:901px) and (max-height:760px){.auth-lead{display:none}.snap-visual{height:72px}.snap p{display:none}}
.auth-shell{overflow-x:hidden}
.demo-card .demo-time{display:none!important}.demo-play:after{content:"\25B6";border:0;width:auto;height:auto;margin-left:3px;color:#fff;font-size:13px;line-height:1}
@media(max-width:900px){.demo-card .demo-time{display:inline-block!important}}
.auth-story>*{flex-shrink:0}
@media(min-width:901px) and (max-height:820px){.auth-lead{display:none}.snap-visual{height:70px}.snap p{display:none}.auth-brand{margin-bottom:1.2vh}}
@media(max-width:900px){.auth-story .feature-grid{grid-template-columns:1fr 1fr;gap:8px}.auth-story .feature-grid article{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px}.auth-story .feature-grid h3{margin:0;font-size:.78rem}.auth-story .feature-grid .feature-icon{width:28px;height:28px;flex:none}}
.demo-card .demo-play{display:flex!important;align-items:center;justify-content:center}.demo-play:after{margin:0 0 0 3px;place-self:auto}
@media(min-width:901px){.auth-shell{height:auto;min-height:100vh;overflow:visible;overflow-x:hidden}}
@media(min-width:901px){.demo-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.auth-brand img,.auth-mobile-brand img{background:#101827!important;padding:3px!important}.auth-brand small,.auth-mobile-brand small{display:block;color:var(--muted);font-size:.72rem;margin-top:1px}.auth-mobile-brand>div{text-align:left}
dialog.side-editor{overflow:hidden}dialog.side-editor form{height:100%;min-height:0}dialog.side-editor .modal-head{flex:none}dialog.side-editor .modal-fields{min-height:0;overflow-y:auto;margin-right:-12px;padding-right:12px}dialog.side-editor .modal-actions{position:static;flex:none;margin:16px -25px -25px}
.marquee-shell{position:relative;z-index:2;min-width:0;max-width:100%;padding-right:44px}.marquee-shell .marquee-toggle{top:50%;right:0;transform:translateY(-50%);z-index:3;width:34px;height:34px;box-shadow:var(--soft-shadow)}.marquee-shell .marquee-toggle:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.login-school{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:9px 12px;border:1px solid #d6e9e5;border-radius:14px;background:#fff}.login-school[hidden]{display:none}.login-school img{width:36px;height:36px;object-fit:contain;border-radius:9px;flex:none}.login-school small,.login-school strong{display:block}.login-school small{font-size:.68rem;color:var(--muted)}.login-school strong{font:800 .95rem Manrope;color:var(--ink);overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.marquee-shell{padding-right:0}.marquee-shell .marquee-toggle{display:none}}
.auth-brand strong.brand-word{font-size:1.44rem;line-height:1.1}.auth-mobile-brand strong.brand-word{font-size:1.5rem;line-height:1.1}.brand-word .brand-accent{position:relative;display:inline-block}.brand-word svg{position:absolute;left:0;bottom:-11px;width:100%;height:12px;overflow:visible}.brand-word svg path{fill:none;stroke:#d4a017;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.auth-brand .brand-word+small,.auth-mobile-brand .brand-word+small{margin-top:10px}

/* SchoolAssembly login scene */
.auth-shell{position:relative;background:linear-gradient(180deg,#dbe9fb 0%,#ecf2fd 40%,#f6f8fe 100%)}
.auth-story:before,.auth-story:after{display:none}
.auth-story,.auth-panel{position:relative;z-index:1}
.scene{position:absolute;z-index:0;pointer-events:none;user-select:none}
.scene-branch{top:0;left:0;width:clamp(170px,21vw,320px)}
.scene-school{left:0;bottom:0;height:clamp(300px,58vh,560px)}
.scene-bell{top:0;right:0;width:clamp(120px,12vw,210px)}
.scene-globe{right:0;bottom:0;height:clamp(180px,34vh,330px)}
.auth-story{align-items:center;text-align:center;padding-left:clamp(120px,12vw,240px);padding-right:24px}
.auth-story>*{width:min(100%,640px)}
.sa-hero{display:flex;flex-direction:column;align-items:center}
.product-of{display:flex;align-items:center;gap:7px;margin:0 0 8px;font:600 .92rem "DM Sans",sans-serif;color:#2a3260}
.product-of:before,.product-of:after{content:"";width:46px;height:2px;border-radius:2px;background:#c3c9ef}
.product-of img{width:22px;height:22px;border-radius:6px}
.product-of b{font-weight:800;color:#1d2a8a}
.sa-lockup{display:flex;align-items:center;gap:16px}
.sa-logo{height:104px;width:auto}
.sa-word{display:block;text-align:left;font:800 3.05rem/.92 "Baloo 2",Manrope,sans-serif;color:#232c55;letter-spacing:-.01em}
.sa-word .brand-accent{display:block;position:relative;background:linear-gradient(90deg,#8d68f6,#4c33d6);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:6px}
.sa-word svg.sa-swoosh{position:absolute;left:8%;bottom:-6px;width:84%;height:13px}
.sa-word svg.sa-swoosh path{fill:#f6b400;stroke:none}
.sa-pill{display:inline-block;margin:14px 0 8px;padding:6px 24px;border-radius:999px;background:#e5e2fa;color:#232c55;font:600 1rem "DM Sans",sans-serif;box-shadow:inset 0 0 0 1px #d8d3f6}
.sa-tagline{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;font:800 1.32rem Manrope,sans-serif;color:#1d2550;line-height:1.3}
.sa-tagline .spark{width:22px;height:22px;fill:none;stroke:#f6b400;stroke-width:2.6;stroke-linecap:round}
.sa-tagline .spark:last-child{transform:scaleX(-1)}
.module-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0 14px}
.module-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 6px;border-radius:16px;border:1.5px solid #fff;box-shadow:0 8px 22px #4a5bb01a;font:700 .76rem/1.15 "DM Sans",sans-serif;color:#1d2550}
.module-tile .i{width:28px;height:28px;stroke-width:2.2}
.tone-blue.module-tile{background:#e8f1ff}.tone-blue.module-tile .i{color:#2f74e8}
.tone-pink.module-tile{background:#fdecf2}.tone-pink.module-tile .i{color:#e0446a}
.tone-green.module-tile{background:#e5f7f0}.tone-green.module-tile .i{color:#16a074}
.tone-gold.module-tile{background:#fff4dc}.tone-gold.module-tile .i{color:#e09a00}
.tone-purple.module-tile{background:#efeaff}.tone-purple.module-tile .i{color:#7650e6}
.tone-sky.module-tile{background:#e9f2ff}.tone-sky.module-tile .i{color:#2d6ee0}
.auth-story .story-title{text-align:left}
.auth-card{background:#ffffffee;backdrop-filter:blur(6px)}
@media(min-width:901px){.auth-shell{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.auth-panel{justify-self:start;width:min(440px,calc(100% - clamp(110px,11vw,200px)))}}
@media(max-width:900px){.scene-school,.scene-globe{display:none}.scene-branch{width:140px;opacity:.9}.scene-bell{width:96px}.auth-story{padding:8px 18px 34px}.auth-story .sa-hero{display:none}.module-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.auth-mobile-brand{flex-direction:column;gap:6px;margin:8px 0 18px;position:relative;z-index:1}.auth-mobile-brand .sa-logo{height:64px}.auth-mobile-brand .sa-lockup{gap:10px}.auth-mobile-brand strong.sa-word{font-size:2rem;line-height:.92}.auth-mobile-brand .sa-word svg.sa-swoosh{height:9px;bottom:-4px}.auth-mobile-brand .sa-tagline{font-size:1rem;margin-top:6px}.auth-mobile-brand .product-of{font-size:.82rem;margin:0}.auth-mobile-brand .product-of img{width:20px;height:20px;padding:0;background:none}}
.auth-mobile-brand img.sa-logo{width:auto;height:64px;background:none;padding:0;border-radius:0;box-shadow:none;object-fit:contain}
.auth-mobile-brand .product-of img{width:20px;height:20px;padding:0;border-radius:6px}
@media(min-width:901px){.auth-panel{width:min(460px,calc(100% - clamp(80px,8vw,170px)))}.auth-panel .auth-card{padding:26px 30px}.auth-panel .auth-heading{margin-bottom:14px}.auth-panel .auth-heading h2{font-size:1.38rem}.auth-panel .auth-card label{margin:11px 0}.auth-tabs .auth-tab{white-space:nowrap;font-size:.86rem}}
.auth-mobile-brand img.sa-logo{background:none!important;padding:0!important}
.module-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
.snap-panel{position:relative;z-index:1;margin:0 0 12px;padding:10px 12px 12px;border-radius:22px;background:linear-gradient(135deg,#ffffffe0,#efeaffe0);border:1.5px solid #fff;box-shadow:0 16px 36px #4c33d624,inset 0 0 0 1px #e0d9ff}
.snap-panel-head{display:flex;align-items:center;gap:10px;margin:0 4px 8px;text-align:left}
.snap-badge{font:800 .6rem "DM Sans",sans-serif;letter-spacing:.14em;color:#fff;background:linear-gradient(90deg,#8d68f6,#4c33d6);padding:4px 9px;border-radius:999px}
.snap-panel-head h2{font:800 1rem Manrope,sans-serif;color:#1d2550}
.demo-card.demo-hero{width:min(100%,640px);padding:13px 18px;gap:14px;background:linear-gradient(90deg,#4c33d6,#8d68f6);color:#fff;border:0;border-radius:18px;box-shadow:0 14px 30px #4c33d64d}
.demo-card.demo-hero:hover{box-shadow:0 18px 36px #4c33d666}
.demo-hero b{font-size:1.1rem;color:#fff}.demo-hero small{color:#ece7ff!important;font-size:.78rem!important}
.demo-hero .demo-play{width:46px;height:46px;background:#f6b400;animation:demoPulse 2.2s infinite}
.demo-hero .demo-time{background:#ffffff2e;color:#fff;font-size:.72rem;padding:5px 10px}
@keyframes demoPulse{0%{box-shadow:0 0 0 0 #f6b40099}70%{box-shadow:0 0 0 14px #f6b40000}100%{box-shadow:0 0 0 0 #f6b40000}}
.demo-chapters{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.demo-chapters button{padding:8px 14px;border-radius:999px;background:#efeaff;color:#3b2bb0;font-size:.82rem}
.demo-chapters button.active{background:#4c33d6;color:#fff}
@media(max-width:900px){.module-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.module-tile{min-height:72px;font-size:.62rem;padding:8px 3px}.module-tile .i{width:22px;height:22px}}
.demo-card.demo-hero small{display:block!important}.demo-card.demo-hero .demo-time{display:inline-block!important}
.cta-row{display:flex;gap:10px;width:min(100%,640px);margin-top:12px}
.cta-row .demo-card.demo-hero{flex:1;width:auto;margin:0}
.pricing-cta{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:18px;background:#fff;color:#232c55;border:1.5px solid #f6b400;box-shadow:0 10px 24px #f6b40033;text-align:left}
.pricing-cta .i{width:30px;height:30px;padding:6px;border-radius:50%;background:#fff3cc;color:#b47d00}
.pricing-cta b{display:block;font-size:.98rem}.pricing-cta small{display:block;font-size:.72rem;color:#5a628c;font-weight:600}
.pricing-cta:hover{background:#fffaf0}
.pricing-dialog{width:min(860px,94vw);padding:22px;margin:auto;border:0;border-radius:24px}
.price-banner{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:18px;background:linear-gradient(90deg,#4c33d6,#8d68f6);color:#fff}
.price-coin{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:#f6b400;color:#232c55;font:800 1.05rem Manrope,sans-serif}
.price-banner b{display:block;font-size:1.05rem}.price-banner small{color:#ece7ff}
.price-period{display:flex;gap:4px;width:max-content;margin:14px auto;padding:4px;border-radius:999px;background:#efeaff}
.price-period button{padding:7px 18px;border-radius:999px;background:none;color:#3b2bb0;font-size:.85rem}
.price-period button.active{background:#232c55;color:#fff}
.price-size{padding:14px 16px;border:1px solid #e0d9ff;border-radius:18px;background:#fbfaff}
.price-size-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.price-size-head b{display:block}.price-size-head small{color:#5a628c}
.price-size output{font-size:.9rem;color:#5a628c}.price-size output strong{font:800 1.9rem Manrope,sans-serif;color:#232c55}
#priceSlider{--fill:13%;width:100%;margin:12px 0 6px;height:8px;appearance:none;-webkit-appearance:none;border-radius:999px;background:linear-gradient(90deg,#4c33d6 var(--fill),#e0d9ff var(--fill));padding:0;border:0;box-shadow:none}
#priceSlider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid #f6b400;box-shadow:0 2px 8px #232c5540;cursor:pointer}
#priceSlider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid #f6b400;cursor:pointer}
.price-scale{display:flex;justify-content:space-between;font-size:.74rem;color:#5a628c}
#priceSizeLabel{padding:2px 10px;border-radius:999px;background:#efeaff;color:#3b2bb0;font-weight:700}
.price-plan{display:grid;grid-template-columns:240px 1fr;gap:16px;margin-top:14px;padding:16px;border-radius:20px;background:#1d2550;color:#fff}
.price-total{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px;border-radius:16px;background:#ffffff14}
.price-total .eyebrow{color:#f6b400}.price-total strong{font:800 2.3rem Manrope,sans-serif;line-height:1.1}
.price-total small{color:#c9cdea}.price-rate{margin-top:6px;width:max-content;padding:4px 10px;border-radius:999px;background:#f6b400;color:#1d2550;font-size:.74rem;font-weight:800}
.price-features{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:0;padding:0;list-style:none;font-size:.84rem}
.price-features li{display:flex;align-items:center;gap:8px}.price-features .i{flex:none;width:16px;height:16px;color:#7ee0b5}
.price-foot{margin:12px 0 0;text-align:center;font-size:.82rem;color:#5a628c}.price-foot a{color:#4c33d6;font-weight:700}
@media(max-width:700px){.cta-row{flex-direction:column}.pricing-cta{justify-content:center}.pricing-dialog{padding:14px}.price-plan{grid-template-columns:1fr}.price-features{grid-template-columns:1fr}.price-banner b{font-size:.95rem}}
#priceSlider{height:8px!important;min-height:0!important;padding:0!important;font-size:inherit}
.auth-mobile-brand .sa-pill{margin:8px 0 4px;padding:4px 16px;font-size:.82rem}
