:root{--its-primary-hover:#0e315e;--its-heading:#102d52;--its-accent:#f26f3d;--its-accent-hover:#dc5d30;--its-background:#faf9f7;--its-card:#ffffff;--its-text:#172b4d;--its-muted:#60708a;--its-border:#d7dee8;--its-soft:#f5f7fa;--its-error:#c9372c;--its-success:#227a52;--its-warning:#8a5b13;--its-radius-card:14px;--its-radius-control:8px;--its-shadow:0 8px 24px rgba(16,45,82,0.055);--ink:var(--its-text);--muted:var(--its-muted);--paper:var(--its-background);--surface:var(--its-card);--line:var(--its-border);--forest:var(--its-primary);--forest-dark:var(--its-primary-hover);--gold:var(--its-accent);--danger:var(--its-error);--navy:var(--its-heading);--border:var(--its-border);--accent:var(--its-accent);--accent-strong:var(--its-accent-hover);--font-portal:var(--font-inter);--font-sans:var(--font-inter);--font-heading:var(--font-inter);--font-serif:var(--font-inter)}body,button,html,input,select,textarea{font-family:var(--font-inter),Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}body{color:var(--its-text);background:var(--its-background);font-size:15px;font-weight:400;line-height:1.55}.brand-words,.brand-words small,.brand-words strong,body *,h1,h2,h3,h4,h5,h6{font-family:var(--font-inter),Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.brand-words,.brand-words small,.brand-words strong,h1,h2,h3,h4,h5,h6{color:var(--its-heading)}.secure-workspace-head h1,h1{font-size:clamp(1.75rem,2.4vw,2rem);font-weight:600;letter-spacing:-.025em;line-height:1.18}.section-head h2,h2{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;letter-spacing:-.018em;line-height:1.25}.card h3,.form-card h3,h3{font-size:clamp(1.0625rem,1.5vw,1.25rem);font-weight:600;line-height:1.3}button,input,label,li,p,select,td,textarea,th{font-size:inherit}a{text-underline-offset:.18em}a:hover{text-decoration-thickness:1px}:focus-visible{outline:3px solid rgba(18,59,112,.28)!important;outline-offset:2px!important}.brand-lockup{gap:.68rem}.brand-symbol{background:var(--its-accent)!important;box-shadow:none!important}.brand-words{gap:.08rem}.brand-words strong{font-size:1.02rem;font-weight:650;letter-spacing:.075em;line-height:1.05}.brand-words small,.brand-words strong{color:var(--its-primary)!important;text-transform:uppercase}.brand-words small{font-size:.67rem;font-weight:550;letter-spacing:.135em;line-height:1.1}.admin-portal,.guardian-portal,.secure-workspace,.teacher-portal{color:var(--its-text);background-color:var(--its-background)}.secure-workspace-head{min-height:0;margin-bottom:1.1rem;padding-bottom:0}.eyebrow,.secure-workspace-head .eyebrow{color:var(--its-accent-hover);font-size:.75rem;font-weight:650;letter-spacing:.11em}.lede,.secure-workspace-head .lede{max-width:66ch;font-size:1rem}.account-card,.card,.content-panel,.detail-panel,.empty-state,.form-card,.metric-card,.workspace-card{border:1px solid var(--its-border)!important;border-radius:var(--its-radius-card)!important;background:var(--its-card)!important;box-shadow:var(--its-shadow)!important}.account-card,.card,.form-card{padding:clamp(1rem,2vw,1.4rem)}.action,a.action,button.action{min-height:48px;padding:.72rem 1.15rem;border:1px solid var(--its-primary)!important;background:var(--its-primary)!important;background-image:none!important;color:#fff!important;box-shadow:none!important;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none}.action:hover:not(:disabled),a.action:hover,button.action:hover:not(:disabled){border-color:var(--its-primary-hover)!important;background:var(--its-primary-hover)!important;transform:none!important}.action.secondary,a.action.secondary,button.action.secondary{border-color:var(--its-border)!important;background:#fff!important;color:var(--its-primary)!important}.action.secondary:hover:not(:disabled),a.action.secondary:hover,button.action.secondary:hover:not(:disabled){border-color:#aebbd0!important;background:var(--its-soft)!important;color:var(--its-primary-hover)!important}.action.destructive,button.action.destructive{border-color:var(--its-error)!important;background:var(--its-error)!important;color:#fff!important}.action:disabled,button:disabled{cursor:not-allowed;opacity:.58}.auth-card a:not(.action),.auth-site-footer a,.text-link{color:var(--its-accent-hover);font-weight:550;text-decoration:none}.auth-card a:not(.action):hover,.auth-site-footer a:hover,.text-link:hover{text-decoration:underline}.field,.form-field{gap:.42rem}.field label,.form-field label,fieldset legend{color:var(--its-heading);font-size:.875rem;font-weight:550}.field input,.field select,.field textarea,.form-field input,.form-field select,.form-field textarea,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{max-width:100%;min-height:50px;border:1px solid var(--its-border)!important;border-radius:var(--its-radius-control)!important;background:#fff!important;color:var(--its-text)!important;box-shadow:none!important;font-size:1rem}textarea{min-height:7.5rem;padding-block:.8rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--its-primary)!important;outline:3px solid rgba(18,59,112,.14)!important;outline-offset:0!important}.field small,.form-help,.helper-text{color:var(--its-muted);font-size:.8125rem;line-height:1.45}.badge,.status,[class*=status-badge]{min-height:1.65rem;border:1px solid #cfdae5!important;border-radius:999px!important;background:var(--its-soft)!important;color:var(--its-heading)!important;font-size:.75rem;font-weight:600;line-height:1.2}.status.active,.status.paid,.status.ready,.status.success{border-color:#b9dccb!important;background:#edf8f2!important;color:var(--its-success)!important}.status.attention,.status.pending,.status.warning{border-color:#ead6b4!important;background:#fff8e9!important;color:var(--its-warning)!important}.status.danger,.status.error,.status.failed{border-color:#ecc4c0!important;background:#fff1f0!important;color:var(--its-error)!important}.data-table-wrap,.table-scroll{border:1px solid var(--its-border);border-radius:12px;background:#fff;box-shadow:none}table{border-collapse:collapse;color:var(--its-text);font-size:.9rem}th{background:var(--its-soft);color:var(--its-heading);font-size:.78rem;font-weight:600;letter-spacing:.025em;text-transform:none}td,th{border-color:var(--its-border)!important}tbody tr:hover{background:#fafbfd}.portal-nav-shell{border-color:var(--its-border)!important;background:rgba(255,255,255,.98)!important;box-shadow:6px 0 24px rgba(16,45,82,.045)!important}.portal-nav-group>p{color:#7a879b!important;font-size:.67rem!important;font-weight:600!important;letter-spacing:.115em!important}.portal-nav a{border-radius:8px!important;color:#4f6078!important;font-size:.875rem}.portal-nav a:hover{background:var(--its-soft)!important;color:var(--its-heading)!important}.portal-nav a.active,.portal-nav a[aria-current=page]{border-color:#d7e1ee!important;background:#eef3f8!important;color:var(--its-primary)!important;box-shadow:none!important}.portal-nav a.active:before,.portal-nav a[aria-current=page]:before{background:var(--its-accent)!important}.finance-subnav,.profile-tabs,.registration-stepper,.workspace-tabs{border-color:var(--its-border)!important}.finance-subnav a,.profile-tabs a,.registration-stepper a,.workspace-tabs a{min-height:44px;color:var(--its-muted)!important;font-size:.875rem;font-weight:550}.finance-subnav a.active,.finance-subnav a[aria-current=page],.profile-tabs a.active,.profile-tabs a[aria-current=page],.registration-stepper a.active,.workspace-tabs a.active,.workspace-tabs a[aria-current=page]{border-color:var(--its-accent)!important}.dialog,.modal,[role=dialog],dialog{border:1px solid var(--its-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 24px 70px rgba(16,45,82,.18)!important}.auth-error,.error-alert,[role=alert]{border-color:#ecc4c0!important;border-radius:10px!important;background:#fff3f2!important;color:#8f2922!important}.auth-success,.success-alert{border:1px solid #b9dccb!important;border-radius:10px!important;background:#edf8f2!important;color:#17623f!important}.auth-page-modern{position:relative;isolation:isolate;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto 1fr auto;min-height:100dvh;overflow:hidden;padding:1.25rem clamp(1rem,5vw,6.75rem) 1rem;background:var(--its-background)!important}.auth-page-modern:after,.auth-page-modern:before{position:absolute;z-index:-1;width:min(48vw,48rem);height:min(64vh,42rem);border-radius:48% 52% 62% 38%/55% 42% 58% 45%;content:"";filter:saturate(.88);opacity:.9;pointer-events:none}.auth-page-modern:before{top:14%;left:-18%;background:linear-gradient(145deg,rgba(18,59,112,.94),rgba(58,105,153,.74) 55%,transparent 56%),linear-gradient(28deg,transparent 42%,rgba(154,190,221,.52) 43% 61%,transparent 62%);transform:rotate(-10deg)}.auth-page-modern:after{right:-20%;bottom:5%;background:linear-gradient(325deg,rgba(242,111,61,.76),rgba(255,180,130,.48) 58%,transparent 59%),linear-gradient(150deg,transparent 38%,rgba(255,218,188,.58) 39% 64%,transparent 65%);transform:rotate(8deg)}.auth-site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-site-header .auth-brand{color:inherit;text-decoration:none}.auth-site-header .brand-symbol{width:3.25rem;height:3.25rem}.auth-site-header .brand-symbol svg{width:1.9rem;height:1.9rem}.auth-site-header .brand-words strong{font-size:1.2rem}.auth-site-header .brand-words small{font-size:.72rem}.auth-site-header>p{margin:0;color:var(--its-muted);font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.auth-stage{display:grid;place-items:center;padding:clamp(1.5rem,4vh,3.5rem) 0}.auth-page-modern .auth-card{width:min(100%,31.25rem);padding:clamp(1.5rem,3vw,2.35rem);border:1px solid var(--its-border);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(16,45,82,.095)}.auth-page-modern .auth-card h1{margin:.35rem 0 .2rem;color:var(--its-heading);font-size:clamp(1.8rem,4vw,2.15rem);font-weight:600}.auth-card-intro{margin:0 0 1.65rem;color:var(--its-muted);font-size:1rem}.auth-page-modern .auth-form{display:grid;gap:1.15rem}.auth-page-modern .label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.auth-page-modern .auth-google,.auth-page-modern .auth-submit{width:100%;justify-content:center}.auth-page-modern .auth-google{margin-top:0}.auth-password-control{position:relative;display:block}.auth-password-control input{width:100%;padding-right:3.2rem!important}.auth-password-control button{position:absolute;top:50%;right:.45rem;display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:0;border-radius:7px;background:transparent;color:var(--its-primary);transform:translateY(-50%)}.auth-password-control button:hover{background:var(--its-soft)}.auth-password-control svg{width:1.15rem;height:1.15rem}.auth-page-modern .auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem;margin:1.25rem 0;color:var(--its-muted);font-size:.875rem}.auth-page-modern .auth-divider:after,.auth-page-modern .auth-divider:before{height:1px;background:var(--its-border);content:""}.auth-page-modern .google-mark{color:#4285f4;font-size:1.15rem;font-weight:700}.auth-new-account{margin-top:1.8rem;text-align:center}.auth-first-login,.auth-new-account p,.auth-switch-mode{margin:0;color:var(--its-muted);font-size:.875rem;text-align:center}.auth-first-login{margin-top:1rem;line-height:1.5}.auth-switch-mode{margin-top:1.5rem}.auth-account-actions{display:grid;gap:.75rem;margin-top:1.4rem}.auth-unavailable{padding:1rem;border:1px solid var(--its-border);border-radius:10px;background:var(--its-soft)}.auth-unavailable p{margin-bottom:0;color:var(--its-muted)}.auth-site-footer{display:flex;justify-content:center;gap:1rem;color:var(--its-muted);font-size:.8125rem}@media (max-width:900px){.secure-workspace{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}.portal-mobile-menu,.portal-mobile-search{min-width:44px;min-height:44px;border:1px solid var(--its-border)!important;border-radius:8px!important;background:#fff!important;color:var(--its-primary)!important;box-shadow:0 4px 16px rgba(16,45,82,.07)!important}}@media (max-width:640px){.secure-workspace-head>:first-child{flex:0 1 auto}.auth-page-modern{min-height:100svh;padding:1rem;overflow-y:auto}.auth-page-modern:after,.auth-page-modern:before{width:20rem;height:20rem;opacity:.32}.auth-site-header>p{display:none}.auth-site-header .brand-symbol{width:2.75rem;height:2.75rem}.auth-site-header .brand-words strong{font-size:1rem}.auth-stage{place-items:start center;padding:1.25rem 0}.auth-page-modern .auth-card{width:100%;padding:1.25rem}.auth-page-modern .auth-account-actions,.auth-page-modern .form-grid.two-column{grid-template-columns:1fr}.secure-workspace-head h1{font-size:1.75rem!important}.account-card,.card,.form-card{padding:1rem}}:root{--its-primary:#123b70;--its-primary-hover:#0b2f5d;--its-heading:#102b4f;--its-accent:#e56b3e;--its-accent-hover:#c9522d;--its-background:#f7f6f3;--its-card:#fffefa;--its-text:#1b2d47;--its-muted:#647188;--its-border:#dce2e9;--its-soft:#f3f6f8;--its-radius-card:18px;--its-radius-control:11px;--its-shadow:0 1px 2px rgba(16,43,79,0.025),0 12px 36px rgba(16,43,79,0.055);--its-shadow-hover:0 2px 4px rgba(16,43,79,0.035),0 18px 44px rgba(16,43,79,0.08)}.admin-portal,.guardian-portal,.teacher-portal{position:relative;isolation:isolate;min-height:100dvh;background:radial-gradient(circle at 91% 5%,rgba(229,107,62,.055),transparent 24rem),radial-gradient(circle at 74% 100%,rgba(18,59,112,.045),transparent 30rem),var(--its-background)!important}.guardian-portal .secure-workspace-head,.secure-workspace-head{align-items:end;gap:1rem}.secure-workspace-head:after{position:absolute;right:0;bottom:-1px;width:clamp(3.5rem,8vw,7rem);height:1px;background:linear-gradient(90deg,transparent,rgba(229,107,62,.72));content:""}.guardian-portal .parent-dashboard-welcome h1,.guardian-portal .secure-workspace-head h1,.secure-workspace-head h1,.teacher-portal .teacher-class-hero h1,.teacher-portal .teacher-dashboard-hero h1,.teacher-portal .teacher-student-hero h1{max-width:22ch;font-size:clamp(2rem,3.15vw,2.75rem);font-weight:630;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}.eyebrow,.secure-workspace-head .eyebrow{margin-bottom:.34rem;color:var(--its-accent-hover)!important;font-size:.69rem;font-weight:760;letter-spacing:.145em;text-transform:uppercase}.lede,.secure-workspace-head .lede{margin-top:.42rem;color:var(--its-muted);font-size:clamp(.92rem,1.2vw,1rem);line-height:1.55}@media (hover:hover){.guardian-portal .parent-quick-links a:hover,.quick:hover,a.card,a.metric-card,a.workspace-card{border-color:#cdd7e2!important;box-shadow:var(--its-shadow-hover)!important;transform:translateY(-1px)}}.action,a.action,button.action{min-height:46px;padding:.68rem 1.1rem;border-radius:var(--its-radius-control)!important;box-shadow:0 5px 14px rgba(18,59,112,.12)!important;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.action.secondary,a.action.secondary,button.action.secondary{background:rgba(255,255,255,.78)!important;box-shadow:0 1px 2px rgba(16,43,79,.035)!important;backdrop-filter:blur(8px)}@media (hover:hover){.action:hover:not(:disabled),a.action:hover,button.action:hover:not(:disabled){box-shadow:0 8px 20px rgba(18,59,112,.17)!important;transform:translateY(-1px)!important}}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{border-color:#d6dee8!important;border-radius:var(--its-radius-control)!important;background:rgba(255,255,255,.92)!important;box-shadow:inset 0 1px 2px rgba(16,43,79,.025)!important;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,select:hover,textarea:hover{border-color:#bdc9d7!important;background:#fff!important}.portal-nav-brand{padding:.15rem .45rem .78rem}.portal-nav-brand .brand-symbol{width:2.15rem;height:2.15rem;box-shadow:0 5px 14px rgba(229,107,62,.17)!important}.portal-nav-group>p{margin-left:.68rem!important;color:#8c96a6!important;font-size:.6rem!important;font-weight:720!important;letter-spacing:.15em!important}.portal-nav a{transition:background-color .14s ease,color .14s ease}.portal-sidebar-profile{background:linear-gradient(180deg,transparent,rgba(247,246,243,.72))}.finance-subnav,.profile-tabs,.registration-stepper,.workspace-tabs{box-shadow:0 1px 2px rgba(16,43,79,.025)}.finance-subnav a,.profile-tabs a,.registration-stepper a,.workspace-tabs a{text-decoration:none}.data-table-wrap,.table-scroll{overflow-x:auto;border-radius:15px;background:rgba(255,255,255,.86);scrollbar-width:thin}th{padding-block:.78rem;background:#f4f6f8;color:#53627a;font-size:.7rem;font-weight:720;letter-spacing:.075em;text-transform:uppercase}td{padding-block:.82rem}.dialog,.modal,[role=dialog],dialog{border-radius:20px!important;box-shadow:0 30px 90px rgba(14,38,67,.24)!important}@media (max-width:900px){.admin-portal .secure-workspace,.guardian-portal .secure-workspace,.teacher-portal .secure-workspace{width:min(100% - 1.25rem,92rem);margin-inline:auto;padding-top:calc(4.3rem + env(safe-area-inset-top));padding-bottom:max(2.25rem,env(safe-area-inset-bottom))}.portal-nav-shell{width:min(19rem,calc(100vw - 3.25rem));max-width:none;padding-top:max(1rem,env(safe-area-inset-top));box-shadow:20px 0 70px rgba(14,38,67,.22)!important}.portal-mobile-menu,.portal-mobile-search{top:max(.7rem,env(safe-area-inset-top));min-width:46px;min-height:46px;border-color:rgba(16,43,79,.13)!important;border-radius:13px!important;background:rgba(255,255,255,.93)!important;box-shadow:0 8px 24px rgba(16,43,79,.09)!important;backdrop-filter:blur(18px)}.guardian-portal .secure-workspace-head,.secure-workspace-head{align-items:start}.finance-subnav,.profile-tabs,.registration-stepper,.workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow-x:visible}}@media (max-width:640px){body{font-size:14px}.admin-portal .secure-workspace,.guardian-portal .secure-workspace,.teacher-portal .secure-workspace{width:min(100% - .9rem,92rem);padding-top:calc(4.05rem + env(safe-area-inset-top))}.guardian-portal .parent-dashboard-welcome,.guardian-portal .secure-workspace-head,.secure-workspace-head{gap:.65rem;margin-bottom:.85rem;padding-bottom:.78rem}.guardian-portal .parent-dashboard-welcome h1,.guardian-portal .secure-workspace-head h1,.secure-workspace-head h1,.teacher-portal .teacher-class-hero h1,.teacher-portal .teacher-dashboard-hero h1,.teacher-portal .teacher-student-hero h1{max-width:none;font-size:clamp(1.72rem,8.8vw,2.12rem);line-height:1.08}.lede,.secure-workspace-head .lede{font-size:.91rem;line-height:1.45}.account-card,.card,.content-panel,.detail-panel,.empty-state,.form-card,.guardian-portal .finance-parent-hero,.guardian-portal .parent-children-panel,.guardian-portal .parent-quick-links,.guardian-portal .school-information-card,.metric-card,.teacher-portal .teacher-class-card,.teacher-portal .teacher-dashboard-panel,.workspace-card{border-radius:14px!important;box-shadow:0 1px 2px rgba(16,43,79,.025),0 8px 24px rgba(16,43,79,.045)!important}.account-card,.card,.form-card{padding:.88rem}.action,a.action,button.action{min-height:46px}.dialog-actions,.form-actions,.page-actions{width:100%}.form-actions>*,.page-actions>*{flex:1 1 auto}.dashboard-grid,.metric-grid,.operational-metrics,.summary-grid{gap:.58rem!important}.data-table-wrap,.table-scroll{margin-inline:-.15rem;border-radius:12px}td,th{padding:.68rem .62rem}.dialog,.modal,[role=dialog],dialog{width:min(calc(100vw - .8rem),42rem)!important;max-height:calc(100dvh - .8rem)!important;border-radius:16px!important}}.report-schedule-section{display:grid;gap:1rem}.report-schedule-section .section-head{align-items:flex-start;display:flex;justify-content:space-between}.report-schedule-section .section-head>svg{color:var(--its-primary);height:2rem;width:2rem}.report-schedule-form{align-items:end;display:grid;gap:.75rem;grid-template-columns:minmax(12rem,1.6fr) minmax(12rem,1.4fr) minmax(8rem,.7fr) minmax(8rem,.7fr) auto}.report-schedule-form label{display:grid;font-size:.82rem;font-weight:650;gap:.35rem}.report-schedule-form input,.report-schedule-form select{background:white;border:1px solid var(--its-line);border-radius:.65rem;min-height:2.7rem;padding:.55rem .7rem}.report-schedule-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.report-schedule-list li{align-items:center;border-top:1px solid var(--its-line);display:flex;justify-content:space-between;padding:.85rem 0}.report-schedule-list small,.report-schedule-list span{display:block}.report-schedule-list small{color:var(--its-muted);margin-top:.2rem}@media (max-width:900px){.report-schedule-form{grid-template-columns:1fr 1fr}.report-schedule-form .action{width:100%}}@media (max-width:600px){.report-schedule-form{grid-template-columns:1fr}}.portal-route-loading{min-height:55vh}.portal-support-trigger{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:48;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.65rem .9rem;border:1px solid #c8d8e8;border-radius:999px;background:#fff;color:var(--its-primary);box-shadow:0 12px 34px rgba(16,45,82,.16);font:inherit;font-weight:700;cursor:pointer}.portal-support-drawer svg,.portal-support-trigger svg{width:1.15rem}.portal-support-backdrop{position:fixed;inset:0;z-index:78;border:0;background:rgba(12,32,58,.24);cursor:default}.portal-support-drawer{position:fixed;top:0;right:0;bottom:0;z-index:79;display:flex;flex-direction:column;width:min(34rem,46vw);padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem max(1.25rem,env(safe-area-inset-bottom));overflow-y:auto;border-left:1px solid var(--its-border);background:#fffdf9;box-shadow:-24px 0 70px rgba(16,45,82,.2)}.portal-support-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--its-border)}.portal-support-drawer>header h2,.portal-support-drawer>header p{margin:0}.portal-support-drawer>header button{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border:1px solid var(--its-border);border-radius:50%;background:#fff;color:var(--its-primary);cursor:pointer}.portal-support-intro{margin:1rem 0;color:var(--its-muted)}.portal-support-drawer form{display:grid;gap:.65rem}.portal-support-drawer form>label{color:var(--its-primary);font-weight:700}.portal-support-question{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:start;padding:.7rem;border:1px solid var(--its-border);border-radius:.75rem;background:#fff}.portal-support-question svg{margin-top:.2rem;color:var(--its-muted)}.portal-support-question textarea{min-height:5.5rem;padding:0;resize:vertical;border:0;outline:0;background:transparent;box-shadow:none;font:inherit}.portal-support-drawer form .action{justify-content:center}.portal-support-answer{flex:1;margin-top:1rem}.portal-support-answer article{padding:1rem;border:1px solid #c9dceb;border-radius:.85rem;background:#f4f9fd}.portal-support-answer h3{margin:.25rem 0 .8rem;font-size:1.05rem;line-height:1.45}.portal-support-answer ol{display:grid;gap:.55rem;margin:0;padding-left:1.35rem}.portal-support-answer a,.portal-support-drawer>footer a{display:inline-flex;align-items:center;gap:.35rem;margin-top:.9rem;color:#165b9b;font-weight:750}.portal-support-drawer>footer{display:grid;gap:.35rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--its-border);color:var(--its-muted)}.portal-support-drawer>footer a{margin-top:0}@media (max-width:760px){.portal-support-trigger{right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom))}.portal-support-drawer{width:100%;padding-inline:1rem}}.portal-route-loading .secure-workspace-head{align-items:center}.portal-route-loading-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.6fr) minmax(15rem,.8fr)}.portal-route-loading-grid .card{display:grid;align-content:start;gap:.75rem;min-height:11rem}.portal-help-page{display:grid;align-content:start;gap:1.25rem}.portal-help-page>.secure-workspace-head{margin-bottom:0}.help-contact-card,.help-question-card,.help-safety-card{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem;border:1px solid var(--its-border);border-radius:.75rem;background:#fff}.help-contact-card h2,.help-question-card h2,.help-safety-card h2,.help-topic-card h3{margin:.1rem 0 .35rem}.help-contact-card p,.help-question-card p,.help-safety-card p,.help-topic-card p{margin-top:0;color:var(--its-muted)}.help-contact-card>svg,.help-intro-icon,.help-safety-card>svg{display:grid;flex:0 0 2.65rem;width:2.65rem;height:2.65rem;place-items:center;border-radius:.7rem;background:var(--its-soft);color:var(--its-primary)}.help-question-content{min-width:0;width:100%}.help-question-search{display:flex;align-items:center;gap:.65rem;width:min(100%,52rem);min-height:3.15rem;margin-top:.85rem;padding:0 .85rem;border:1px solid #b9c9dc;border-radius:.7rem;background:#fff;box-shadow:0 .45rem 1.35rem rgb(25 55 95/7%)}.help-question-search:focus-within{border-color:var(--its-primary);box-shadow:0 0 0 3px rgb(18 90 160/12%)}.help-question-search>svg{flex:0 0 auto;width:1.1rem;height:1.1rem;color:var(--its-muted)}.help-question-search input{width:100%;min-width:0;min-height:3rem;padding:0;border:0;outline:0;background:transparent;color:var(--its-heading);font:inherit}.help-question-search button{display:grid;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;padding:0;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--its-muted);cursor:pointer}.help-question-search button:focus-visible,.help-question-search button:hover{background:var(--its-soft);color:var(--its-heading)}.help-question-search button svg{width:1rem;height:1rem}.help-search-results{display:grid;gap:.65rem;width:min(100%,52rem);margin-top:.8rem}.help-search-count{margin:0!important;color:var(--its-heading)!important;font-size:.78rem;font-weight:700}.help-search-result-list{display:grid;gap:.55rem}.help-search-result{padding:.85rem .9rem;border:1px solid var(--its-border);border-radius:.65rem;background:#fbfcfe}.help-search-result small{color:var(--its-accent-hover);font-size:.7rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.help-search-result h3{margin:.2rem 0 .25rem;font-size:.96rem}.help-search-result>p{margin-bottom:.55rem;font-size:.84rem}.help-search-empty{margin:0!important;padding:.8rem;border-radius:.6rem;background:#f7f9fc;font-size:.84rem}.help-step-list{display:grid;gap:.5rem;margin:.55rem 0 .7rem;padding:0;counter-reset:help-step;list-style:none}.help-step-list li{display:grid;grid-template-columns:1.65rem minmax(0,1fr);align-items:start;gap:.55rem;color:var(--its-heading);font-size:.84rem;line-height:1.45;counter-increment:help-step}.help-step-list li:before{display:grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:999px;background:#eaf2fb;color:var(--its-primary);content:counter(help-step);font-size:.72rem;font-weight:800}.help-result-link{display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;color:var(--its-primary);font-size:.82rem;font-weight:750;text-decoration:none}.help-result-link:focus-visible,.help-result-link:hover{text-decoration:underline}.help-result-link svg{width:.9rem;height:.9rem}.help-contact-card>svg,.help-intro-icon svg,.help-safety-card>svg{width:1.25rem;height:1.25rem}.help-quick-links{display:grid;gap:.65rem;grid-template-columns:repeat(3,minmax(0,1fr))}.help-quick-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;min-height:4.5rem;padding:.8rem .9rem;border:1px solid var(--its-border);border-radius:.65rem;background:#fff;color:var(--its-heading);text-decoration:none}.help-quick-link:focus-visible,.help-quick-link:hover{border-color:#adc6df;background:#f8fbff}.help-quick-link span{display:grid;min-width:0;gap:.18rem}.help-quick-link small{color:var(--its-muted);font-size:.78rem;line-height:1.35}.help-quick-link>svg{flex:0 0 auto;width:1rem;height:1rem}.help-topic-section{display:grid;gap:.8rem}.help-topic-grid{display:grid;align-items:start;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.help-topic-card{min-width:0;padding:1rem;border:1px solid var(--its-border);border-radius:.75rem;background:#fff}.help-topic-heading{display:flex;align-items:flex-start;gap:.7rem;padding-bottom:.75rem}.help-topic-heading>svg{flex:0 0 auto;width:1.15rem;height:1.15rem;margin-top:.2rem;color:var(--its-accent-hover)}.help-topic-heading p{margin-bottom:0;font-size:.85rem}.help-faq-list{display:grid;border-top:1px solid var(--its-border)}.help-faq-list details{border-bottom:1px solid var(--its-border)}.help-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.65rem 0;color:var(--its-heading);font-size:.88rem;font-weight:650;cursor:pointer;list-style:none}.help-faq-list summary::-webkit-details-marker{display:none}.help-faq-list summary>svg{flex:0 0 auto;width:1rem;height:1rem;color:var(--its-muted);transition:transform .16s ease}.help-faq-list details[open] summary>svg{transform:rotate(45deg)}.help-faq-list details>p{margin:0;padding:0 1.75rem .85rem 0;font-size:.86rem;line-height:1.58}.help-faq-list details>.help-result-link,.help-faq-list details>.help-step-list{margin-right:1.75rem}.help-contact-grid{display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.help-contact-card .action{margin-top:.35rem}.help-safety-card{background:#fbfcfd}.finance-step-up-projection{display:grid;grid-template-columns:minmax(12rem,.75fr) minmax(28rem,1.65fr);gap:.7rem 1.25rem;margin-top:.75rem;padding:.9rem 1rem;border:1px solid #d8e2ef;border-radius:.8rem;background:linear-gradient(105deg,#fbfdff,#fffaf7)}.finance-step-up-projection-heading{display:flex;align-items:center;gap:.7rem}.finance-step-up-projection-heading .eyebrow,.finance-step-up-projection-heading h3{margin:0}.finance-step-up-projection-heading h3{font-size:1rem}.finance-step-up-projection-icon{display:grid;flex:0 0 auto;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;background:#fff0e7;color:#ad451f}.finance-step-up-projection-icon svg{width:1.2rem;height:1.2rem}.finance-step-up-projection-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.finance-step-up-projection-values>div{display:grid;align-content:center;gap:.12rem;min-width:0;padding:.15rem .9rem;border-left:1px solid #e1e7ef}.finance-step-up-projection-values dt{color:var(--its-muted);font-size:.72rem}.finance-step-up-projection-values dd{margin:0;color:var(--its-heading);font-size:.94rem;font-weight:700}.finance-step-up-projection-result dd{color:#0e7045}.finance-step-up-projection-result strong{white-space:nowrap}.finance-step-up-projection-note{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:1rem;padding-top:.65rem;border-top:1px solid #e6eaf0}.finance-step-up-projection-note p{display:flex;align-items:flex-start;gap:.45rem;margin:0;color:var(--its-muted);font-size:.76rem;line-height:1.4}.finance-step-up-projection-note p svg{flex:0 0 auto;width:.9rem;height:.9rem;margin-top:.08rem}.finance-step-up-projection-note a{flex:0 0 auto;color:var(--its-primary);font-size:.78rem;font-weight:700;text-decoration:none}.finance-step-up-projection-note a:focus-visible,.finance-step-up-projection-note a:hover{text-decoration:underline}@media (max-width:920px){.help-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-step-up-projection{grid-template-columns:1fr}.finance-step-up-projection-values>div:first-child{border-left:0}}@media (max-width:700px){.help-contact-grid,.help-topic-grid{grid-template-columns:1fr}}@media (max-width:520px){.portal-help-page{gap:.9rem}.help-contact-card,.help-question-card,.help-safety-card,.help-topic-card{padding:.85rem}.help-question-card{display:grid;gap:.65rem}.help-question-card .help-intro-icon{width:2.35rem;height:2.35rem}.help-question-search{min-height:3rem;margin-top:.7rem}.help-question-search input{min-height:2.9rem;font-size:1rem}.help-search-result{padding:.75rem}.help-faq-list details>.help-result-link,.help-faq-list details>.help-step-list{margin-right:0}.help-quick-links{grid-template-columns:1fr}.help-quick-link{min-height:4rem}.finance-step-up-projection{gap:.75rem;margin-top:.6rem;padding:.8rem}.finance-step-up-projection-values{grid-template-columns:1fr}.finance-step-up-projection-values>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem;padding:.5rem 0;border-top:1px solid #e1e7ef;border-left:0}.finance-step-up-projection-values dd{text-align:right}.finance-step-up-projection-note{display:grid;gap:.55rem}.finance-step-up-projection-note a{min-height:44px;display:inline-flex;align-items:center}}@media (max-width:800px){.portal-route-loading{min-height:42vh}.portal-route-loading-grid{grid-template-columns:1fr}.portal-route-loading-secondary{min-height:7rem!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portal-nav-shell{gap:.8rem;padding:1.1rem .75rem .8rem;border-right:1px solid #e2e8f0!important;background:rgba(255,255,255,.985)!important;box-shadow:3px 0 18px rgba(16,45,82,.035)!important}.portal-nav-brand{padding:0 .45rem .65rem}.portal-nav-brand .brand-symbol{width:2.2rem;height:2.2rem}.portal-nav{gap:.72rem}.portal-nav-group{gap:.08rem}.portal-nav-group>p{margin:0 0 .22rem .72rem!important;color:#8a96a8!important;font-size:.625rem!important;font-weight:650!important;letter-spacing:.12em!important}.portal-nav a{position:relative;gap:.72rem;min-height:44px;padding:.52rem .72rem!important;border:0!important;border-radius:.55rem!important;background:transparent!important;color:#36506f!important;font-size:.84rem!important;font-weight:550!important;box-shadow:none!important}.portal-nav a>svg:first-child{width:1.08rem!important;height:1.08rem!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#174d90!important}.portal-nav a:hover{background:#f5f8fc!important;color:#123b70!important}.portal-nav a[aria-current=page]{background:#edf5ff!important;color:#123b70!important;font-weight:650!important;box-shadow:none!important}.portal-nav a[aria-current=page]:before{position:absolute;inset:.35rem auto .35rem 0;width:3px;border-radius:0 999px 999px 0;background:#1f65bd;content:""}.portal-nav-chevron{display:none!important}.portal-nav-shell-guardian .portal-nav{gap:.9rem}.portal-nav-shell-guardian .portal-nav-group>p{position:absolute;width:1px;height:1px;margin:-1px!important;padding:0;overflow:hidden;border:0;clip:rect(0,0,0,0);white-space:nowrap}.portal-nav-shell-guardian .portal-nav-group+.portal-nav-group{padding-top:.85rem;border-top:1px solid #e2e8f0}.portal-sidebar-profile{margin-top:auto;padding:.72rem .15rem 0!important;border-top:1px solid #e2e8f0!important}.portal-sidebar-profile .profile-menu summary{min-height:44px;padding:.45rem .5rem!important;border-radius:.55rem!important;background:transparent!important}.portal-sidebar-profile .profile-menu summary:hover{background:#f5f8fc!important}.portal-sidebar-collapse{min-width:44px;min-height:44px;border-color:#dbe4ee!important;border-radius:.6rem!important;box-shadow:none!important}.admin-portal .operational-metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem}.admin-portal .operational-metrics .metric-card{min-height:5.5rem;padding:.85rem}.admin-portal .operational-metrics .metric-card strong{font-size:1.65rem}.admin-portal .workspace-actions .quick{min-height:3.5rem}.admin-portal .action,.admin-portal .finance-subnav a,.admin-portal .icon-action,.admin-portal .profile-tabs a,.admin-portal .workspace-tabs a,.admin-portal button{min-height:44px}@media (max-width:1400px){.admin-portal .class-roster-grid,.admin-portal .email-batch-review-grid,.admin-portal .email-campaign-detail-grid,.admin-portal .email-compose-overview,.admin-portal .email-composer,.admin-portal .secure-workflow-grid{grid-template-columns:minmax(0,1fr)}.admin-portal .class-roster-unassigned,.admin-portal .email-send-panel{grid-column:auto;grid-row:auto;position:static}.admin-portal .class-move-form,.admin-portal .class-roster-list>li{min-width:0}}@media (max-width:900px){.admin-portal .operational-metrics,.admin-portal .portal-readiness{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.admin-portal .operational-metrics .metric-card,.admin-portal .portal-readiness>article,.admin-portal .portal-readiness>div{min-height:0;padding:.75rem}}@media (max-width:900px){.portal-nav-shell{gap:.72rem;padding:max(.9rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom));box-shadow:16px 0 45px rgba(16,45,82,.16)!important}.portal-nav-brand{padding-right:3rem}.portal-nav a{min-height:46px;font-size:.9rem!important}.portal-mobile-menu,.portal-mobile-search{border-radius:.65rem!important;box-shadow:0 5px 18px rgba(16,45,82,.08)!important}}.teacher-portal .teacher-account-page,.teacher-portal .teacher-class-page,.teacher-portal .teacher-classes-page,.teacher-portal .teacher-dashboard,.teacher-portal .teacher-student-page{background:var(--its-background)}.teacher-portal .teacher-class-hero,.teacher-portal .teacher-dashboard-hero,.teacher-portal .teacher-student-hero{min-height:0;margin-bottom:1rem;padding:0 0 1rem;overflow:visible;border-bottom:1px solid var(--its-border);border-radius:0;background:transparent;box-shadow:none;color:var(--its-text)}.teacher-portal .teacher-class-hero:after,.teacher-portal .teacher-dashboard-hero:after,.teacher-portal .teacher-student-hero:after{display:none}.teacher-portal .teacher-class-hero h1,.teacher-portal .teacher-dashboard-hero h1,.teacher-portal .teacher-student-hero h1{color:var(--its-heading);font-size:clamp(1.9rem,3.2vw,2.65rem)}.teacher-portal .teacher-class-hero p,.teacher-portal .teacher-dashboard-hero p,.teacher-portal .teacher-student-hero p{color:var(--its-muted)}.teacher-portal .teacher-class-hero .eyebrow,.teacher-portal .teacher-dashboard-hero .eyebrow,.teacher-portal .teacher-student-hero .eyebrow{color:var(--its-accent-hover)}.teacher-portal .teacher-class-hero .action,.teacher-portal .teacher-dashboard-hero .action,.teacher-portal .teacher-student-hero .action{border:1px solid var(--its-border)!important;background:#fff!important;color:var(--its-primary)!important}.teacher-portal .action,.teacher-portal .icon-action,.teacher-portal .points-class-tabs a,.teacher-portal .teacher-card-actions a,.teacher-portal .teacher-section-heading a,.teacher-portal .teacher-section-heading-actions a,.teacher-portal .workspace-tabs a,.teacher-portal button{min-height:44px}.teacher-portal .teacher-card-actions a,.teacher-portal .teacher-section-heading a,.teacher-portal .teacher-section-heading-actions a{align-items:center;display:inline-flex}.teacher-portal .points-class-tabs a,.teacher-portal .workspace-tabs a{align-items:center;display:flex}.teacher-portal .student-academic-layout{display:grid;gap:1rem;grid-template-columns:minmax(10rem,13rem) minmax(0,1fr)}.teacher-portal .subject-rail{align-content:start;display:grid;gap:.18rem;min-width:0}.teacher-portal .subject-rail h2{margin:0 0 .5rem}.teacher-portal .subject-rail a{align-items:center;display:flex;min-height:44px;padding:.5rem .65rem;border-radius:.5rem;color:var(--its-muted);font-size:.86rem;font-weight:550;text-decoration:none}.teacher-portal .subject-rail a:focus-visible,.teacher-portal .subject-rail a:hover{background:var(--its-soft);color:var(--its-primary)}.teacher-portal .subject-rail a.active,.teacher-portal .subject-rail a[aria-current=page]{background:#edf5ff;color:var(--its-primary);font-weight:650}@media (max-width:900px){.teacher-portal .portal-nav-shell-teacher{bottom:0;height:100dvh;margin:0;overflow-y:auto;position:fixed;top:0}.teacher-portal .academic-field,.teacher-portal .academic-field>*,.teacher-portal .academic-observation-meta,.teacher-portal .academic-workflow-form,.teacher-portal .academic-workflow-form>*{max-width:100%;min-width:0;width:100%}.teacher-portal .student-academic-layout{grid-template-columns:1fr}.teacher-portal .subject-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-portal .subject-rail h2{grid-column:1/-1}.teacher-portal .subject-rail a{justify-content:center;text-align:center}}@media (max-width:640px){.teacher-portal .teacher-class-hero,.teacher-portal .teacher-dashboard-hero,.teacher-portal .teacher-student-hero{gap:.7rem;padding-bottom:.8rem}.teacher-portal .teacher-class-hero h1,.teacher-portal .teacher-dashboard-hero h1,.teacher-portal .teacher-student-hero h1{font-size:1.75rem}.teacher-portal .academic-submit-bar,.teacher-portal .academic-workflow-card,.teacher-portal .teacher-class-card,.teacher-portal .teacher-dashboard-panel{border-radius:.75rem;padding:.85rem}}.admin-portal .secure-workspace,.guardian-portal .secure-workspace,.teacher-portal .secure-workspace{width:min(calc(100% - 19rem),92rem);margin-left:17rem;padding-block:clamp(1.35rem,2.25vw,2.35rem) max(3rem,env(safe-area-inset-bottom))}.portal-nav-shell{width:15.75rem;padding:1.15rem .78rem max(.85rem,env(safe-area-inset-bottom));border-right-color:rgba(16,43,79,.105)!important;background:rgba(255,255,255,.94)!important;box-shadow:8px 0 36px rgba(16,43,79,.045)!important;backdrop-filter:blur(22px) saturate(1.08)}.portal-nav a{gap:.68rem;min-height:43px;padding:.48rem .68rem!important;border-radius:.72rem!important;color:#485d78!important;font-size:.82rem!important}.portal-nav a[aria-current=page]{background:linear-gradient(90deg,#edf4fc,#f3f7fb)!important;box-shadow:inset 0 0 0 1px rgba(36,93,168,.06)!important}.portal-nav a[aria-current=page]:before{inset-block:.5rem;width:2px;background:var(--its-accent)!important}.guardian-portal .secure-workspace-head,.secure-workspace-head{position:relative;min-height:0;margin-bottom:1.15rem;padding:0 0 1rem;border-bottom:1px solid color-mix(in srgb,var(--its-border) 82%,transparent);background:transparent!important}.account-card,.card,.content-panel,.detail-panel,.empty-state,.form-card,.guardian-portal .finance-parent-hero,.guardian-portal .parent-children-panel,.guardian-portal .parent-quick-links,.guardian-portal .school-information-card,.metric-card,.teacher-portal .teacher-class-card,.teacher-portal .teacher-dashboard-panel,.workspace-card{border-color:color-mix(in srgb,var(--its-border) 88%,white)!important;border-radius:var(--its-radius-card)!important;background:linear-gradient(148deg,#ffffff 0,var(--its-card) 100%)!important;box-shadow:var(--its-shadow)!important}.finance-subnav,.profile-tabs,.registration-stepper,.workspace-tabs{gap:.25rem;padding:.28rem;border:1px solid var(--its-border)!important;border-radius:13px;background:rgba(255,255,255,.72)}.finance-subnav a,.profile-tabs a,.registration-stepper a,.workspace-tabs a{align-items:center;justify-content:center;min-height:42px;padding:.55rem .78rem;border:0!important;border-radius:9px}.finance-subnav a.active,.finance-subnav a[aria-current=page],.profile-tabs a.active,.profile-tabs a[aria-current=page],.registration-stepper a.active,.workspace-tabs a.active,.workspace-tabs a[aria-current=page]{background:#fff;color:var(--its-heading)!important;box-shadow:0 2px 8px rgba(16,43,79,.07)}@media (max-width:900px){.admin-portal .secure-workspace,.guardian-portal .secure-workspace,.teacher-portal .secure-workspace{width:min(100% - 1.25rem,92rem);margin-inline:auto;padding-top:calc(4.3rem + env(safe-area-inset-top));padding-bottom:max(2.25rem,env(safe-area-inset-bottom))}.portal-nav-shell{width:min(19rem,calc(100vw - 3.25rem));max-width:none;padding-top:max(1rem,env(safe-area-inset-top));box-shadow:20px 0 70px rgba(14,38,67,.22)!important}.portal-mobile-menu,.portal-mobile-search{top:max(.7rem,env(safe-area-inset-top));min-width:46px;min-height:46px;border-radius:13px!important;background:rgba(255,255,255,.93)!important;box-shadow:0 8px 24px rgba(16,43,79,.09)!important;backdrop-filter:blur(18px)}}@media (max-width:640px){.admin-portal .secure-workspace,.guardian-portal .secure-workspace,.teacher-portal .secure-workspace{width:min(100% - .9rem,92rem);padding-top:calc(4.05rem + env(safe-area-inset-top))}.guardian-portal .parent-dashboard-welcome,.guardian-portal .secure-workspace-head,.secure-workspace-head{gap:.65rem;margin-bottom:.85rem;padding-bottom:.78rem}.guardian-portal .parent-dashboard-welcome h1,.guardian-portal .secure-workspace-head h1,.secure-workspace-head h1,.teacher-portal .teacher-class-hero h1,.teacher-portal .teacher-dashboard-hero h1,.teacher-portal .teacher-student-hero h1{max-width:none;font-size:clamp(1.72rem,8.8vw,2.12rem);line-height:1.08}.account-card,.card,.content-panel,.detail-panel,.empty-state,.form-card,.metric-card,.workspace-card{border-radius:14px!important;box-shadow:0 1px 2px rgba(16,43,79,.025),0 8px 24px rgba(16,43,79,.045)!important}}.appointment-page{--appointment-ink:#102846;--appointment-navy:#123f70;--appointment-gold:#a97b3f;--appointment-cream:#fbf8f3;--appointment-line:#ded8cf}.appointment-hero{position:relative;overflow:hidden;align-items:center;padding-bottom:.8rem}.appointment-hero h1{font-size:clamp(2.25rem,4vw,3.35rem)}.appointment-hero .lede{margin-top:.35rem}.appointment-hero:after{position:absolute;right:15%;bottom:-4rem;width:21rem;height:9rem;border:1px solid rgba(169,123,63,.2);border-radius:50%;content:"";pointer-events:none}.appointment-hero-mark{z-index:1;display:flex;align-items:center;gap:.75rem;min-width:15rem;padding:.85rem 1rem;border:1px solid var(--appointment-line);border-radius:.85rem;background:rgba(255,255,255,.8)}.appointment-hero-mark>svg,.appointment-icon{color:var(--appointment-gold)}.appointment-booking-intro>div,.appointment-hero-mark span{display:grid;gap:.15rem}.appointment-booking-intro p,.appointment-choice-grid small,.appointment-hero-mark small,.appointment-link-pending{color:var(--muted)}.appointment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;border:1px solid var(--appointment-line);border-radius:1rem;background:#fff}.appointment-metrics article{display:grid;grid-template-columns:auto 1fr;gap:.1rem .7rem;align-items:center;padding:1rem 1.2rem;border-right:1px solid var(--appointment-line)}.appointment-metrics article:last-child{border-right:0}.appointment-metrics svg{grid-row:1/3;color:var(--appointment-gold)}.appointment-metrics strong{font-size:1.45rem}.appointment-metrics span{color:var(--muted);font-size:.78rem}.appointment-admin-main,.appointment-availability-card,.appointment-booking-card,.appointment-history,.appointment-setup-panel,.appointment-upcoming{border:1px solid var(--appointment-line);border-radius:1rem;background:#fff;box-shadow:0 18px 45px rgba(20,40,66,.06)}.appointment-availability-card{margin-bottom:1rem;padding:1.25rem}.appointment-availability-card .section-head{align-items:start;margin-bottom:1rem}.appointment-availability-card .section-head p:not(.eyebrow){max-width:48rem;margin:.35rem 0 0;color:var(--muted)}.appointment-fixed-duration{flex:0 0 auto;padding:.55rem .8rem;border:1px solid #d8c6aa;border-radius:999px;background:#fffaf2;color:#76521e;font-size:.78rem;font-weight:800}.appointment-availability-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,.36fr);gap:1rem;align-items:start}.appointment-week-form{overflow:hidden;border:1px solid var(--appointment-line);border-radius:.85rem}.appointment-week-head,.appointment-week-row{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(8rem,.7fr) minmax(8rem,.7fr);gap:.75rem;align-items:center}.appointment-week-head{padding:.6rem .9rem;background:#f5f7f9;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.appointment-week-row{min-height:3.65rem;padding:.55rem .9rem;border-top:1px solid var(--appointment-line)}.appointment-week-row label{min-width:0}.appointment-week-row input[type=time]{width:100%;min-height:2.5rem}.appointment-weekday-toggle{display:flex;align-items:center;gap:.65rem;color:var(--appointment-ink);font-weight:800}.appointment-weekday-toggle input{width:1.15rem;height:1.15rem;accent-color:var(--appointment-navy)}.appointment-week-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .9rem;border-top:1px solid var(--appointment-line);background:var(--appointment-cream)}.appointment-week-actions p{max-width:35rem;margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.appointment-parent-preview{padding:1rem;border:1px solid var(--appointment-line);border-radius:.85rem;background:linear-gradient(145deg,#fffdf9,#f5f8fb)}.appointment-parent-preview h3{margin:.2rem 0 .8rem;color:var(--appointment-ink)}.appointment-preview-slots{display:grid;gap:.4rem}.appointment-preview-slots span{padding:.6rem .7rem;border:1px solid #d9e1e9;border-radius:.6rem;background:#fff;color:var(--appointment-ink);font-size:.82rem;font-weight:750}.appointment-preview-empty{display:grid;justify-items:center;min-height:9rem;padding:1rem;color:var(--muted);text-align:center}.appointment-preview-empty svg{color:var(--appointment-gold)}.appointment-preview-empty p{margin:.25rem 0 0;font-size:.8rem}.appointment-date-override{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--appointment-line)}.appointment-date-override summary{cursor:pointer;color:var(--appointment-ink);font-weight:800}.appointment-date-override>p{margin:.45rem 0 0;color:var(--muted);font-size:.82rem}.appointment-override-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.7rem;align-items:end;margin-top:.8rem}.appointment-override-form label{display:grid;gap:.3rem;color:var(--muted);font-size:.78rem;font-weight:750}.appointment-override-form label span{font-weight:500}.appointment-upcoming-admin{margin-top:1rem}.appointment-booking-card{overflow:hidden}.appointment-calendar-section,.appointment-details-grid>section{padding:1rem 1.25rem;border-bottom:1px solid var(--appointment-line)}.appointment-calendar-section h3,.appointment-details-grid h3{margin:.15rem 0 .2rem;color:var(--appointment-ink)}.appointment-section-note{margin:0 0 .85rem;color:var(--muted);font-size:.82rem}.appointment-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.appointment-month{padding:.8rem;border:1px solid var(--appointment-line);border-radius:.8rem;background:#fff}.appointment-month h4{margin:0 0 .65rem;color:var(--appointment-ink);font-size:.95rem}.appointment-calendar-grid,.appointment-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem}.appointment-calendar-weekdays span{padding-bottom:.3rem;color:var(--muted);font-size:.62rem;font-weight:800;text-align:center;text-transform:uppercase}.appointment-calendar-grid button,.appointment-calendar-grid>div{position:relative;display:grid;place-items:center;min-height:2.45rem;padding:.2rem;border:1px solid transparent;border-radius:.5rem;background:transparent;color:var(--appointment-ink)}.appointment-calendar-grid button:not(:disabled){border-color:#cad8e6;background:#f6f9fc;cursor:pointer;font-weight:800}.appointment-calendar-grid button:disabled{color:#a4acb5}.appointment-calendar-grid button.selected{border-color:var(--appointment-navy);background:var(--appointment-navy);color:white}.appointment-calendar-grid button i{width:.25rem;height:.25rem;border-radius:50%;background:var(--appointment-gold)}.appointment-time-picker{display:flex;align-items:center;gap:1rem;margin-top:.8rem;padding:.7rem .8rem;border-radius:.7rem;background:var(--appointment-cream)}.appointment-time-picker .appointment-time-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.appointment-details-grid{display:grid;grid-template-columns:1fr 1fr}.appointment-details-grid>section+section{border-left:1px solid var(--appointment-line)}.appointment-guardian-list{display:grid;gap:.45rem}.appointment-guardian-row{display:grid;grid-template-columns:minmax(9rem,1fr) auto auto;gap:.65rem;align-items:center;padding:.65rem;border:1px solid var(--appointment-line);border-radius:.65rem}.appointment-guardian-row>div{display:grid}.appointment-guardian-row small{color:var(--muted)}.appointment-guardian-row label{display:flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:750}.appointment-guardian-row label svg{width:.9rem;color:var(--appointment-gold)}.appointment-admin-months .appointment-calendar-grid>div{min-height:3.35rem;border-color:#e1e6eb}.appointment-admin-months .appointment-calendar-grid>div.has-openings{background:#eef7f3;border-color:#b9ddcc}.appointment-admin-months .appointment-calendar-grid>div.has-bookings{box-shadow:inset 0 -3px #a97b3f}.appointment-admin-months b,.appointment-admin-months small{font-size:.55rem;color:var(--muted)}.appointment-admin-months b{color:#76521e}.appointment-delivery-summary{display:grid;gap:.2rem;margin-top:.7rem;padding:.6rem;border-radius:.6rem;background:#f5f7f9;font-size:.75rem}.appointment-delivery-summary span{color:var(--muted)}.appointment-delivery-summary .delivery-delivered,.appointment-delivery-summary .delivery-sent{color:#176b4d}.appointment-delivery-summary .delivery-bounced,.appointment-delivery-summary .delivery-complaint,.appointment-delivery-summary .delivery-failed{color:#a12f2a}.appointment-booking-intro{display:flex;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(120deg,#fffdf9,#f5f8fb);border-bottom:1px solid var(--appointment-line)}.appointment-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid #dec9a8;border-radius:50%;background:#fffaf1}.appointment-icon svg{width:1.35rem}.appointment-booking-intro h2{margin:.15rem 0;color:var(--appointment-ink);font-family:Georgia,serif;font-size:1.55rem}.appointment-booking-intro p{margin:0}.appointment-booking-grid{display:grid;grid-template-columns:1fr}.appointment-booking-grid>section{position:relative;min-width:0;padding:1rem 1.25rem;border-bottom:1px solid var(--appointment-line)}.appointment-booking-grid>section h3{margin:.2rem 0 1rem;color:var(--appointment-ink);font-size:1.05rem}.appointment-step{color:var(--appointment-gold);font-size:.7rem;font-weight:800;letter-spacing:.16em}.appointment-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.appointment-choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-choice-grid button,.appointment-date-strip button,.appointment-time-grid button{border:1px solid var(--appointment-line);background:#fff;color:var(--appointment-ink);transition:.16s ease}.appointment-choice-grid button{display:grid;gap:.2rem;min-height:4.25rem;padding:.7rem;border-radius:.75rem;text-align:left}.appointment-team-card{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--appointment-navy);border-radius:.85rem;background:color-mix(in srgb,var(--appointment-navy) 6%,white);color:var(--appointment-ink);box-shadow:inset 0 0 0 1px var(--appointment-navy)}.appointment-team-card small{color:#627086;line-height:1.45}.appointment-booking-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--appointment-line);background:#fff}.appointment-booking-summary>div{display:grid;grid-template-columns:auto 1fr;gap:.1rem .8rem;align-items:center;padding:.75rem 1.25rem}.appointment-booking-summary>div+div{border-left:1px solid var(--appointment-line)}.appointment-booking-summary small{grid-row:1/3;color:var(--appointment-gold);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.appointment-booking-summary strong{color:var(--appointment-ink)}.appointment-booking-summary span{color:var(--muted);font-size:.8rem}.appointment-type-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.appointment-type-tabs button{min-height:2rem;padding:.35rem .65rem;border:1px solid var(--appointment-line);border-radius:999px;background:white;color:var(--appointment-ink);font-weight:700}.appointment-type-tabs button.selected{border-color:var(--appointment-navy);background:#f0f5fa}.appointment-choice-grid button:hover,.appointment-date-strip button:hover,.appointment-time-grid button:hover{border-color:#9cb3cb;transform:translateY(-1px)}.appointment-choice-grid button.selected,.appointment-date-strip button.selected,.appointment-time-grid button.selected{border-color:var(--appointment-navy);background:#f0f5fa;box-shadow:inset 0 0 0 1px var(--appointment-navy)}.appointment-date-section{grid-column:1/-1}.appointment-date-strip{display:flex;gap:.45rem;overflow-x:auto;padding:.1rem 0 .7rem}.appointment-date-strip button{flex:0 0 auto;padding:.65rem .8rem;border-radius:999px;font-weight:700}.appointment-time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.appointment-time-grid button{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .4rem;min-height:3.6rem;padding:.55rem .65rem;border-radius:.7rem;text-align:left;font-weight:700}.appointment-time-grid button>svg:first-child{grid-row:1/3;width:1rem}.appointment-time-grid button>svg:last-child{position:absolute;top:.35rem;right:.35rem;width:.85rem}.appointment-time-grid small{color:var(--muted);font-weight:500}.appointment-review{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--appointment-cream)}.appointment-review>div{display:flex;align-items:center;gap:.75rem}.appointment-review>div>svg{color:var(--appointment-gold)}.appointment-review span{display:grid;gap:.08rem}.appointment-review small{color:var(--muted)}.appointment-review .auth-submit{width:auto;min-width:12rem;margin:0}.appointment-upcoming{margin-bottom:1rem;padding:1.2rem}.appointment-list{display:grid;gap:.65rem}.appointment-ticket{display:grid;grid-template-columns:minmax(13rem,.7fr) 1fr auto;align-items:center;gap:1.25rem;padding:1rem;border:1px solid var(--appointment-line);border-radius:.8rem;background:#fffdf9}.appointment-ticket-date{display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem}.appointment-ticket-date svg{grid-row:1/3;color:var(--appointment-gold)}.appointment-ticket-date small{color:var(--muted)}.appointment-ticket h3{margin:0 0 .25rem}.appointment-ticket p{margin:0 0 .45rem;color:var(--muted)}.appointment-ticket-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:end}.appointment-ticket-actions .action{min-height:2.5rem;padding:.55rem .75rem}.appointment-link-pending{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem}.appointment-link-pending svg{width:1rem}.appointment-history{margin-top:1rem;padding:1rem 1.2rem}.appointment-history summary{cursor:pointer;font-weight:700}.appointment-history p{display:flex;justify-content:space-between;gap:1rem;margin:.75rem 0 0;padding-top:.75rem;border-top:1px solid var(--appointment-line)}.appointment-history span{color:var(--muted)}.appointment-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,.38fr);gap:1rem;align-items:start}.appointment-admin-main,.appointment-setup-panel{padding:1.2rem}.appointment-admin-row{display:grid;grid-template-columns:minmax(11rem,.55fr) minmax(12rem,.8fr) 1.3fr;gap:1rem;padding:1rem;border:1px solid var(--appointment-line);border-radius:.8rem}.appointment-admin-time{display:grid;align-content:start;gap:.2rem;color:var(--appointment-ink)}.appointment-admin-row p,.appointment-admin-row>div>small,.appointment-admin-time small{color:var(--muted)}.appointment-admin-row h3{margin:0}.appointment-admin-row p{margin:.25rem 0}.appointment-admin-row .appointment-parent-context{max-width:50rem;margin:.5rem 0;font-size:.9rem;line-height:1.55;white-space:pre-wrap}.appointment-admin-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.appointment-admin-actions .field:nth-child(3){grid-column:1/-1}.appointment-admin-actions .action{justify-self:end}.appointment-setup-panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.appointment-setup-panel details{padding:.8rem 0;border-top:1px solid var(--appointment-line)}.appointment-setup-panel summary{cursor:pointer;color:var(--appointment-ink);font-weight:750}.appointment-setup-panel form{margin-top:.8rem}.appointment-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.appointment-inline-fields label{display:grid;gap:.25rem;color:var(--muted);font-size:.78rem;font-weight:700}.appointment-rule-list{display:grid;gap:.35rem;margin-top:.75rem}.appointment-rule-list span{padding:.5rem .65rem;border-radius:.55rem;background:#f4f6f8;color:var(--muted);font-size:.76rem}.appointment-availability-warning,.appointment-setup-note{margin:.75rem 0 0;font-size:.78rem;line-height:1.45}.appointment-setup-note{color:var(--muted)}.appointment-availability-warning{padding:.65rem .75rem;border:1px solid #e7c78f;border-radius:.6rem;background:#fff9ed;color:#76521e}.appointment-empty{display:grid;place-items:center;min-height:6.5rem;padding:1rem;color:var(--muted);text-align:center}.appointment-empty svg{color:var(--appointment-gold)}.appointment-empty p{margin:.35rem 0 0}@media (max-width:1050px){.appointment-admin-layout{grid-template-columns:1fr}.appointment-setup-panel{position:static;max-height:none}.appointment-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-availability-layout{grid-template-columns:1fr}.appointment-override-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.appointment-hero-mark{width:100%;min-width:0}.appointment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-metrics article:nth-child(2){border-right:0}.appointment-metrics article:nth-child(-n+2){border-bottom:1px solid var(--appointment-line)}.appointment-booking-grid,.appointment-details-grid,.appointment-months{grid-template-columns:1fr}.appointment-details-grid>section+section{border-left:0}.appointment-time-picker{align-items:stretch;flex-direction:column}.appointment-guardian-row{grid-template-columns:1fr 1fr}.appointment-guardian-row>div{grid-column:1/-1}.appointment-calendar-grid button,.appointment-calendar-grid>div{min-height:2.2rem}.appointment-booking-summary{grid-template-columns:1fr}.appointment-booking-summary>div+div{border-top:1px solid var(--appointment-line);border-left:0}.appointment-booking-grid>section{grid-column:auto;border-right:0}.appointment-choice-grid,.appointment-choice-grid.compact{grid-template-columns:1fr}.appointment-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-review{align-items:stretch;flex-direction:column}.appointment-review .auth-submit{width:100%}.appointment-admin-row,.appointment-ticket{grid-template-columns:1fr}.appointment-ticket-actions{justify-content:start}.appointment-ticket-actions .action{flex:1 1 auto}.appointment-admin-actions{grid-template-columns:1fr}.appointment-admin-actions .field:nth-child(3){grid-column:auto}.appointment-history p{display:grid}.appointment-availability-card{padding:.9rem}.appointment-availability-card .section-head,.appointment-week-actions{align-items:stretch;flex-direction:column}.appointment-fixed-duration{align-self:start}.appointment-week-head{display:none}.appointment-week-row{grid-template-columns:1fr 1fr;gap:.5rem}.appointment-weekday-toggle{grid-column:1/-1}.appointment-week-actions .action{width:100%}.appointment-override-form{grid-template-columns:1fr}}