﻿@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--forest:#254e91;--forest-deep:#1f3d70;--sage:#eaf2ff;--cream:#f7f9fd;--paper:#fff;--ink:#253d64;--muted:#758199;--line:#e6ebf4;--peach:#fce5f0;--orange:#bf5684;--yellow:#fce5f0;--rose:#fbe6ef;--radius:20px;--shadow:0 6px 22px #254e9105;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e77daa;outline-offset:4px}button svg,a svg{flex-shrink:0}svg{vertical-align:middle}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4,.brand-name,.stat-value{font-family:Manrope,sans-serif}h1{font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.25;letter-spacing:-1.3px}h2{font-size:19px;letter-spacing:-.5px}h3{font-size:16px;letter-spacing:-.25px}p{line-height:1.65}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:800;color:var(--muted);margin-bottom:9px}.icon{width:20px;height:20px;flex-shrink:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:234px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 21px;z-index:20}.brand{display:flex;align-items:center;gap:10px;margin:0 0 39px 6px}.brand-mark{width:42px;height:44px;border-radius:16px 16px 16px 5px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-size:16px;font-weight:800}.brand-mark svg{width:26px;height:26px}.brand-name{font-size:16px;letter-spacing:1px;font-weight:800;line-height:1.2}.brand-name small,.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:500;color:var(--muted);margin-top:5px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:13px;min-height:47px;padding:12px 15px;border:0;background:transparent;color:#758199;font-size:13px;font-weight:600;border-radius:11px;text-align:left}.nav-item svg{width:19px;height:19px}.nav-item:hover{background:#f1f5ff;color:var(--forest)}.nav-item.active{background:var(--forest);color:#fff;box-shadow:0 5px 10px #254e9113}.sidebar-footer{margin-top:auto;padding-top:30px}.sidebar-footer p{font-size:11px}.sidebar-footer .button{width:100%;margin-top:12px}.sidebar-footer .portal-links{margin-bottom:20px}.role-switch{width:100%;border:1px solid var(--line);background:#fafbff;border-radius:10px;padding:10px;color:var(--ink);font-size:12px}.portal-links{display:flex;gap:5px;flex-wrap:wrap}.portal-links a{font-size:11px;padding:7px 9px;border-radius:6px;background:#f2f5fc;color:var(--muted)}.portal-links a.active{background:var(--sage);color:var(--forest);font-weight:700}.workspace{margin-left:234px;width:calc(100% - 234px);min-width:0}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#ffffffb0;gap:16px}.topbar>div{display:flex;align-items:center;gap:14px}.topbar>div:first-child{font-size:13px}.topbar .eyebrow{margin:0}.topbar .avatar{width:36px;height:36px;font-size:11px}.content{max-width:1350px;margin:0 auto;padding:31px 40px 45px}.demo-banner{font-size:10px;letter-spacing:.15px;color:#6c7991;background:#eff3fb;border:1px solid #e5eaf6;padding:8px 12px;border-radius:8px;margin:0 0 23px;display:flex;align-items:center;gap:8px}.demo-banner svg{width:14px;height:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 27px}.page-heading p{font-size:13px;color:var(--muted);margin-top:8px}.page-heading .eyebrow{margin-top:0}.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 17px;gap:10px}.section-title p{font-size:12px}.grid{display:grid;gap:20px}.main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px;align-items:start}.stack{display:flex;flex-direction:column;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 24px 17px}.card-body{padding:0 24px 24px}.card-body>.muted{font-size:12px}.card>p{font-size:13px}.card-head .muted{font-size:12px}.button{border:1px solid var(--line);background:#fff;color:var(--forest);min-height:41px;border-radius:10px;font-size:12px;font-weight:700;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:background .18s,transform .18s;line-height:1.3}.button svg{width:17px;height:17px}.button:hover{background:#edf2fc;transform:translateY(-1px)}.button.primary{background:var(--forest);border-color:var(--forest);color:#fff}.button.primary:hover{background:var(--forest-deep)}.button.secondary{background:var(--sage);border-color:var(--sage)}.button.ghost{background:transparent;border-color:transparent}.button.small{padding:7px 10px;min-height:33px;font-size:11px}.button.danger{color:#a2423b;background:#fff0ed;border-color:#f6d9d5}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.avatar{height:46px;width:46px;border-radius:50%;background:var(--peach);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#a55178;flex-shrink:0}.avatar.large{height:72px;width:72px;font-size:23px;background:#f6c5dc}.badge,.pill{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;font-weight:600;padding:5px 9px;border-radius:7px;white-space:nowrap;background:var(--sage);color:var(--forest)}.badge.warning,.pill.warning{background:#fce7f1;color:#aa5580}.badge.success,.pill.success{background:#e9f3ff;color:#3b6898}.badge.peach,.pill.peach{background:var(--peach);color:#a3547c}.badge.danger,.pill.danger{background:var(--rose);color:#a94b75}.badge.neutral,.pill.neutral{background:#f0f3f9;color:#74819a}.child-selector{display:flex;gap:10px}.child-selector button{padding:8px 15px 8px 8px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:40px;background:#fff;color:var(--muted);font-size:12px;font-weight:600}.child-selector button.active{border-color:var(--forest);color:var(--forest);background:#f0f5ff}.child-selector .avatar{width:31px;height:31px;font-size:10px}.hero-card{background:#eaf2ff;position:relative;padding:25px 27px;border-color:#dfe8fb;overflow:hidden}.hero-card:after{content:'';position:absolute;width:160px;height:160px;border:22px solid #dce8fc;border-radius:50%;right:-65px;top:-64px;pointer-events:none}.child-profile{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.child-profile h2{font-size:24px;margin:5px 0;letter-spacing:-.9px}.child-profile p{font-size:12px;color:#7786a2}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px;padding-top:21px;border-top:1px solid #d5e1f5}.status-item{font-size:12px}.status-item svg{width:17px;height:17px;margin-right:5px;color:#7d93b5}.status-item small,.status-item .muted{display:block;font-size:10px;margin-bottom:6px;color:#798cab}.status-item strong{font-weight:600}.timeline{padding:5px 24px 12px}.timeline-item{display:flex;gap:15px;padding-bottom:24px;position:relative}.timeline-item:not(:last-child):before{content:'';position:absolute;left:18px;top:40px;bottom:0;width:1px;background:var(--line)}.timeline-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--sage);color:var(--forest);z-index:1}.timeline-icon svg{width:18px;height:18px}.timeline-item:nth-child(2n) .timeline-icon{background:#fce6f0;color:#b65f88}.timeline-item:nth-child(3n) .timeline-icon{background:#eaf0fe;color:#6c8abc}.timeline-content{min-width:0;flex:1}.timeline-content h3{font-size:14px;margin:3px 0 5px}.timeline-content p{font-size:12px;color:#79879d}.timeline-content .actions{margin-top:12px}.timeline-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;font-size:10px;color:var(--muted)}.activity-art{margin-top:14px;border-radius:13px;overflow:hidden;background:#eef4ff}.activity-art svg{width:100%;height:174px;display:block}.pickup-card{background:var(--peach);border-color:#f6d6e6;position:relative}.pickup-card .card-head{padding-bottom:10px}.pickup-card h2{font-size:19px}.pickup-card p{font-size:12px;color:#a66686}.pickup-card .button.primary{width:100%;margin-top:18px;background:#b95683;border-color:#b95683}.pickup-card .actions{margin-top:12px}.pickup-card .card-body>svg{width:100%;height:85px;margin:10px 0}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.invoice-row:first-child{padding-top:0}.invoice-row:last-child{border-bottom:0;padding-bottom:0}.invoice-row strong{font-size:14px}.invoice-row p{font-size:11px;color:var(--muted);margin-top:4px}.news-card{padding:0}.news-card .card-body{padding-top:18px}.news-card p{font-size:12px;margin:9px 0 16px;color:var(--muted)}.news-card h3{font-size:17px;line-height:1.45}.news-art{background:#f9e3ef;padding:18px 23px;font-size:30px;height:110px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{padding:23px;background:white;border:1px solid var(--line);border-radius:17px}.stat-card:first-child{background:var(--forest);color:#fff;border-color:var(--forest)}.stat-card:first-child .stat-label,.stat-card:first-child .muted{color:#c5d5f1}.stat-label{font-size:11px;color:var(--muted);margin-bottom:16px;display:flex;justify-content:space-between}.stat-value{font-size:28px;letter-spacing:-1px;font-weight:800}.stat-card .muted{font-size:10px;margin-top:9px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:600;background:#fafbff}th,td{padding:16px 21px;border-bottom:1px solid var(--line);white-space:nowrap}td .avatar{width:32px;height:32px;font-size:10px;margin-right:8px}tr:last-child td{border-bottom:0}td .muted{font-size:10px;margin-top:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-grid>.muted{text-align:center;font-size:11px;padding:10px 0}.calendar-day{min-height:82px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:#fafbff;border:1px solid transparent;border-radius:10px;padding:11px;font-size:12px;color:var(--ink);text-align:left}.calendar-day:hover{background:var(--sage)}.calendar-day.today{border-color:#7293c7}.calendar-day.active,.calendar-day.selected{background:var(--forest);color:#fff}.calendar-day.outside{opacity:.35}.calendar-day .event-dot{font-size:8px;padding:3px 5px;background:var(--peach);color:#936543;border-radius:4px;max-width:100%;overflow:hidden}.event-dot:empty{width:5px;height:5px;padding:0;background:#db80aa;border-radius:100%}.chart-bars{height:220px;display:flex;gap:16px;align-items:flex-end;padding:15px 6px 25px;border-bottom:1px solid var(--line)}.chart-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative;gap:7px}.chart-bar>div,.chart-bar>span:first-child{width:100%;max-width:50px;border-radius:7px 7px 0 0;background:#dfe9fc;min-height:5px}.chart-bar:last-child>div,.chart-bar:last-child>span:first-child{background:var(--forest)}.chart-bar small{font-size:10px;color:var(--muted);position:absolute;bottom:-20px}.chart-bar strong{font-size:9px;font-weight:500;color:var(--muted)}.progress-track{height:7px;background:#edf2fc;border-radius:10px;overflow:hidden;margin:11px 0}.progress-fill{height:100%;background:#7e9dce;border-radius:10px}.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px;font-size:12px;font-weight:600}.form-field label{font-size:12px;font-weight:600}input,select,textarea{border:1px solid #e0e6f0;border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink);min-width:0;max-width:100%;outline-offset:2px}textarea{resize:vertical;min-height:90px}input::placeholder,textarea::placeholder{color:#9aa6bb}.form-field small{color:var(--muted);font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.empty-state{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px}.empty-state svg{margin-bottom:14px}.empty-state h3{color:var(--ink);margin-bottom:8px}.notification-list{display:flex;flex-direction:column;gap:0}.notification-item{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:12px}.notification-item p{font-size:12px}.notification-item small{font-size:10px;color:var(--muted)}.notification-item.unread{background:#f1f5ff;padding-left:12px;padding-right:12px;border-radius:9px}.chip-logo{font-size:20px;font-weight:800;letter-spacing:-1px;color:var(--ink)}.student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.student-card{padding:21px;display:flex;flex-direction:column;gap:15px}.student-card .student-head{display:flex;align-items:center;gap:11px}.student-card h3{margin:0 0 5px}.student-card p{font-size:12px;color:var(--muted)}.student-card .actions .button{flex:1}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-actions .button{font-size:11px;padding:9px 12px;background:#f2f5fc}.quick-actions .button.active{background:var(--forest);color:#fff}.check-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:15px 0}.check-row input{accent-color:var(--forest);width:17px;height:17px;margin-top:2px;flex-shrink:0}.mobile-nav{display:none}.toast,#toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,20px);max-width:min(520px,90vw);padding:13px 21px;background:var(--forest-deep);color:#fff;border-radius:12px;box-shadow:0 8px 30px #1f3d7033;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show,#toast.show,#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:22px;padding:0;width:min(520px,calc(100vw - 30px));max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #21396733}dialog::backdrop{background:#223a6866;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 25px 19px;border-bottom:1px solid var(--line);gap:10px}.modal-head h2{font-size:20px}.modal-body{padding:23px 25px}.modal-body>p{font-size:13px;margin-bottom:18px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 25px;border-top:1px solid var(--line);background:#fafbff}.receipt{text-align:center;padding:12px}.receipt .stat-value{margin:20px 0 10px}.receipt p{font-size:12px}.receipt .invoice-row{text-align:left}.skip-link{position:fixed;left:15px;top:-70px;padding:12px 20px;background:var(--forest);color:#fff;z-index:200;border-radius:9px}.skip-link:focus{top:15px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--forest)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1400px){.content{padding-top:37px}.main-grid{gap:28px}.topbar{padding-inline:48px}}
@media(max-width:1150px){.sidebar{width:205px;padding:28px 16px}.workspace{margin-left:205px;width:calc(100% - 205px)}.content{padding:25px}.topbar{padding:0 25px}.main-grid{grid-template-columns:minmax(0,1.4fr) minmax(255px,1fr);gap:18px}.stats-grid{gap:12px}.stat-card{padding:18px}.stat-value{font-size:23px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-head{padding:20px 19px 15px}.card-body{padding:0 19px 20px}.hero-card{padding:22px}.timeline{padding-inline:19px}}
@media(max-width:900px){.main-grid{grid-template-columns:1fr}.main-grid>aside,.main-grid>.stack:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:flex-start;flex-direction:column}.calendar-day{min-height:69px}.page-heading .child-selector{align-self:flex-start}}
@media(max-width:680px){.sidebar{position:static;width:auto;min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:16px 19px;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.sidebar .brand{margin:0}.brand-mark{width:34px;height:36px;border-radius:12px 12px 12px 4px;font-size:13px}.brand-name{font-size:13px}.brand-name small,.brand small{font-size:7px;letter-spacing:1.5px}.sidebar>nav,.sidebar>.eyebrow,.sidebar>.sidebar-label{display:none}.sidebar-footer{padding:0;margin:0}.sidebar-footer>p,.sidebar-footer>.button,.sidebar-footer>.eyebrow{display:none}.sidebar-footer .portal-links{margin:0;gap:2px}.portal-links a{font-size:9px;padding:6px}.role-switch{font-size:10px;padding:8px;max-width:125px}.app-shell{display:block}.workspace{margin:0;width:100%}.topbar{height:60px;padding:0 19px}.topbar>div{gap:8px}.topbar>div:first-child{font-size:11px}.topbar .muted{font-size:10px}.topbar .avatar{width:30px;height:30px;font-size:10px}.content{padding:20px 17px 95px}.demo-banner{font-size:9px;padding:8px 9px;margin-bottom:20px;line-height:1.5}.page-heading{margin-bottom:21px;gap:15px}.page-heading h1{font-size:28px}.page-heading p{font-size:12px;margin-top:6px}.eyebrow{font-size:9px}.child-selector{width:100%;gap:8px}.child-selector button{flex:1;padding-right:10px;text-align:left;font-size:11px}.main-grid{gap:18px}.main-grid>aside,.main-grid>.stack:last-child{display:flex;flex-direction:column}.stack{gap:18px}.card{border-radius:17px}.card-head{padding:19px 19px 15px}.card-body{padding:0 19px 20px}.hero-card{padding:21px}.hero-card:after{right:-80px;top:-68px}.child-profile{gap:13px}.child-profile h2{font-size:23px}.avatar.large{width:60px;height:60px;font-size:21px}.status-grid{gap:9px;margin-top:20px;padding-top:18px}.status-item{font-size:11px}.status-item svg{width:14px;height:14px;margin-right:2px}.status-item small{font-size:9px}.timeline{padding-inline:17px}.timeline-item{gap:12px}.timeline-content h3{font-size:13px}.activity-art svg{height:145px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:9px 9px max(9px,env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:30;justify-content:space-around;gap:3px}.mobile-nav .nav-item{flex-direction:column;gap:5px;padding:7px 10px;font-size:9px;min-height:48px;border-radius:10px;flex:1}.mobile-nav .nav-item.active{background:#eaf1ff;color:var(--forest);box-shadow:none}.mobile-nav .nav-item svg{width:19px;height:19px}.stats-grid{gap:11px;margin-bottom:18px}.stat-card{padding:18px 15px;border-radius:15px}.stat-value{font-size:23px}.stat-label{font-size:10px;line-height:1.5;margin-bottom:12px}.student-grid{grid-template-columns:1fr;gap:13px}.student-card{padding:19px}.calendar-grid{gap:3px}.calendar-day{padding:8px 5px;min-height:55px;border-radius:7px;font-size:11px}.calendar-day .event-dot{font-size:0;width:5px;height:5px;padding:0;border-radius:50%}.form-grid{grid-template-columns:1fr;gap:0}.toast,#toast{bottom:91px;width:max-content;max-width:calc(100vw - 32px)}.modal-head,.modal-body,.modal-foot{padding:20px}.modal-head h2{font-size:18px}th,td{padding:14px 16px}.section-title{margin-top:23px}.chart-bars{gap:11px}.invoice-row{gap:8px}.invoice-row .actions{gap:4px}.invoice-row .button{padding:7px 8px;font-size:10px}.quick-actions{gap:6px}.quick-actions .button{padding:9px 10px}.button{min-height:42px}}
.notification-button{position:relative;padding:8px;min-width:38px}.notification-button .badge{position:absolute;top:1px;right:0;font-size:8px;min-width:15px;height:15px;padding:2px 4px;border-radius:50%;background:#e27ba8;color:#fff}.topbar-name{font-size:12px;font-weight:600}.calendar-card{padding-top:17px}.event-list{display:flex;flex-direction:column;gap:10px}.event-card{border:1px solid var(--line);background:#f8faff;border-radius:12px;padding:15px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink)}.event-card>span:nth-child(2){flex:1}.event-card strong{font-size:12px;line-height:1.5}.event-card small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.event-time{font-size:10px;color:#bd648b;background:#fceaf2;border-radius:7px;padding:7px}.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.news-art{display:flex;align-items:center;justify-content:center;background:#fceaf2;height:140px}.news-art .icon{width:60px;height:60px;stroke-width:1;color:#cc78a0}.news-card:nth-child(2) .news-art{background:#eaf2ff}.news-card:nth-child(2) .news-art .icon{color:#6d91c9}.news-card h3{margin-top:13px}.filters{display:flex;gap:15px;margin-bottom:5px}.filters>.form-field{min-width:160px}.pickup-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.queue-card .student-head{display:flex;align-items:center;gap:13px}.queue-card .card-body>.button{margin-top:19px}.invoice-meta{display:flex;flex-direction:column;gap:6px;align-items:flex-end;margin-left:auto}.crm-list{display:flex;flex-direction:column}.crm-row{padding:17px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.crm-row strong{font-size:13px}.crm-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.crm-row select{font-size:11px;width:100%;padding:9px}.choice-group{border:0;padding:0;margin:0 0 21px}.choice-group legend{font-size:12px;font-weight:600;margin-bottom:11px}.segmented{display:flex;gap:10px}.segmented label{flex:1;position:relative}.segmented label input{position:absolute;width:1px;height:1px;opacity:0}.segmented label span{display:flex;justify-content:center;border:1px solid var(--line);background:#f6f9ff;border-radius:10px;padding:16px 10px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}.segmented input:checked+span{background:var(--forest);color:#fff;border-color:var(--forest)}.segmented input:focus-visible+span{outline:3px solid #ed82ac;outline-offset:3px}.verification-note,.checkout-note{padding:14px;background:#f0f5ff;border:1px solid #e1eafc;border-radius:11px;font-size:11px!important;color:#6d819f;line-height:1.65}.checkout-note{margin:19px 0 0;background:#fff3f8;border-color:#f9e2ef}.checkout-note strong{display:block;font-size:12px;color:#b35b82}.checkout-note p{margin-top:5px;font-size:11px}.brand-mark{position:relative}.brand-mark:after{content:'';width:10px;height:10px;position:absolute;right:-2px;top:-3px;background:#ed82ac;border:3px solid white;border-radius:50%}.timeline-content button[aria-pressed=true]{color:#c65b8d;background:#fff0f7}.pickup-card .card-body>small{display:block;margin-top:12px}.stat-label,.stat-value{display:block}.card-body .chip-logo{margin:6px 0 15px;display:inline-block}.card-body .stack{gap:15px}.notification-item strong{font-size:12px}.notification-item.unread{margin-bottom:6px}.notification-item .icon{color:#7494c5;width:17px;height:17px}.card-head .eyebrow{font-size:9px}.sidebar-footer .portal-links a.active{background:#fceaf2;color:#bc5d88}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pickup-queue{grid-template-columns:1fr}.main-grid>aside.card{display:block}}
@media(max-width:680px){.topbar-name{display:none}.news-grid{grid-template-columns:1fr}.news-art{height:125px}.filters{gap:10px}.filters>.form-field{min-width:0;flex:1}.filters select{width:100%;font-size:12px}.invoice-row{flex-wrap:wrap}.invoice-row>div:first-child{flex:1 1 60%}.invoice-row .actions{margin-left:auto}.student-grid{grid-template-columns:1fr}.hero-card h2{font-size:21px;line-height:1.35}.hero-card .child-profile .eyebrow{font-size:8px}.sidebar-footer .portal-links a{font-size:9px}.page-heading .actions{width:100%}.calendar-day{align-items:center}.crm-row{flex-direction:row;align-items:center;justify-content:space-between}.crm-row select{width:120px}.calendar-card{padding-inline:12px}.news-art .icon{width:48px;height:48px}}
.activity-photo{display:block;width:100%;max-height:350px;object-fit:cover;border-radius:13px}.photo-button{display:block;border:0;padding:0;width:100%;border-radius:13px;background:#eef4ff;overflow:hidden;cursor:zoom-in}.activity-picture,figure.activity-picture{margin:14px 0 0}.photo-caption,figcaption{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 0}.photo-preview{margin-top:12px;padding:0;border-radius:12px;overflow:hidden}.photo-preview img{display:block;width:100%;max-height:190px;object-fit:cover;border-radius:12px}.photo-preview .button{margin-top:8px}.photo-full{display:block;width:100%;height:auto;border-radius:12px}.modal-timeline{padding:4px 0}.photo-error{color:#ad4777;font-size:11px}.photo-status{font-size:11px;color:var(--muted);margin-top:8px}input[type=file]{font-size:11px;padding:12px;width:100%;background:#f6f9ff}input[type=file]::file-selector-button{border:0;padding:8px 12px;border-radius:7px;background:#e3ecfc;color:var(--forest);font-weight:600;margin-right:10px;cursor:pointer}
@media(max-width:680px){.activity-photo{max-height:240px}.photo-caption,figcaption{font-size:9px}}
.activity-photo-wrap{margin:15px 0 0}.activity-photo-button{display:block;width:100%;padding:0;border:0;background:#edf3fe;cursor:zoom-in;border-radius:13px;overflow:hidden}.full-photo{width:100%;height:auto;display:block;border-radius:12px}.photo-preview-card{margin:12px 0 0}.photo-preview-card img{width:100%;max-height:190px;object-fit:cover;border-radius:11px}.photo-preview-card .button{margin-top:10px}.photo-processing{font-size:11px;color:var(--muted);padding:12px 0}.photo-error{font-size:11px;color:#aa4875;line-height:1.5}.photo-preview:empty{display:none}
figure.full-photo{margin:0}figure.full-photo img{display:block;width:100%;height:auto;border-radius:12px}.photo-preview-card small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Responsive fit and touch ergonomics */
@media (min-width:681px) and (max-width:900px){
  .sidebar{width:176px;padding:22px 12px;overflow-y:auto;overscroll-behavior:contain}
  .workspace{margin-left:176px;width:calc(100% - 176px)}
  .sidebar nav{gap:5px}
  .sidebar .nav-item{gap:10px;padding:11px 12px}
  .sidebar-footer{padding-top:20px}
  .sidebar-footer .portal-links{margin-bottom:12px}
  .portal-links{gap:4px}
  .portal-links a{padding:7px;font-size:10px}
  .topbar{height:72px;padding-inline:18px}
  .topbar>div{gap:9px;min-width:0}
  .topbar>div:first-child{flex-wrap:wrap;row-gap:2px}
  .content{padding:22px 18px 38px}
  .page-heading{margin-bottom:22px}
  .main-grid,.stack{gap:16px}
  .main-grid>aside,.main-grid>.stack:last-child{gap:14px}
  .student-grid,.news-grid{gap:14px}
  .student-card{padding:17px}
  .quick-actions{gap:6px}
  .quick-actions .button{min-width:62px;padding-inline:6px}
  .card-head{padding:18px 17px 14px}
  .card-body{padding:0 17px 18px}
  .timeline{padding-inline:17px}
  .button,.button.small,.nav-item,.portal-links a,.child-selector button,.event-card,input,select{min-height:44px}
  .notification-button{min-width:44px}
  .calendar-day{min-height:64px;padding:8px}
  .invoice-row{flex-wrap:wrap}
  .invoice-row>div:first-child{flex:1 1 52%}
  .invoice-row .actions{margin-left:auto}
}

@media (max-width:900px){
  dialog[open]{display:flex;flex-direction:column;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;margin:auto}
  .modal-head,.modal-foot{flex:0 0 auto}
  .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .modal-head .button{min-width:44px;min-height:44px}
  .modal-foot .button{min-height:44px}
  .table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .activity-photo,.full-photo img{max-width:100%;height:auto}
}

@media (max-width:680px){
  html,body{max-width:100%;overflow-x:hidden}
  .sidebar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:8px}
  .topbar>div{min-width:0}
  .topbar>div:first-child{flex:1;overflow:hidden}
  .topbar .eyebrow,.topbar .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .notification-button{min-width:44px;min-height:44px}
  .content{width:100%;padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .page-heading,.page-heading>div{width:100%;min-width:0}
  .page-heading h1{overflow-wrap:anywhere}
  .page-heading .actions{display:flex;flex-wrap:wrap}
  .page-heading .actions>.button{flex:1 1 120px;min-height:44px}
  .demo-banner{align-items:flex-start}
  .child-selector{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 1px 5px}
  .child-selector::-webkit-scrollbar{display:none}
  .child-selector button{flex:1 0 132px;min-height:46px}
  .button,.button.small,.portal-links a,.event-card,input,select,input[type=file]::file-selector-button{min-height:44px}
  textarea{font-size:16px}
  input,select{font-size:16px}
  .quick-actions .button{min-height:60px}
  .status-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .status-grid .latest-status{grid-column:1/-1;border-top:1px solid #d5e1f5;padding-top:12px}
  .timeline-meta{align-items:flex-start;flex-wrap:wrap;row-gap:3px}
  .activity-photo{max-height:min(52vh,300px)}
  .filters{width:100%;flex-wrap:wrap}
  .filters>.form-field{flex:1 1 132px}
  .mobile-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .mobile-nav .nav-item{min-width:0;min-height:52px;padding-inline:5px}
  .toast,#toast{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));width:auto;max-width:none;transform:translateY(20px)}
  .toast.show,#toast.show,#toast.visible{transform:translateY(0)}
  dialog[open]{width:calc(100vw - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)));max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));border-radius:17px}
  .modal-head{padding-top:max(17px,env(safe-area-inset-top))}
  .modal-foot{padding-bottom:max(17px,env(safe-area-inset-bottom));flex-wrap:wrap}
  .modal-foot .button{flex:1 1 120px}
  .photo-preview-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
  .photo-preview-card img{max-height:32vh}
  .full-photo img{max-height:calc(100dvh - 190px);object-fit:contain}
}

@media (max-width:380px){
  .sidebar{flex-wrap:wrap;padding-top:11px;padding-bottom:10px}
  .sidebar-footer{width:100%}
  .sidebar-footer .portal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:5px}
  .sidebar-footer .portal-links a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding-inline:4px;text-align:center}
  .topbar{height:56px;padding-inline:12px}
  .topbar>div:first-child .muted{display:none}
  .topbar .avatar{display:none}
  .content{padding-top:16px;padding-left:12px;padding-right:12px}
  .page-heading h1{font-size:25px;letter-spacing:-.8px}
  .demo-banner{margin-bottom:17px}
  .card-head{padding:17px 15px 13px}
  .card-body{padding:0 15px 17px}
  .hero-card{padding:17px 15px}
  .child-profile{align-items:flex-start}
  .child-profile h2{font-size:19px}
  .avatar.large{width:52px;height:52px;flex-basis:52px}
  .timeline{padding-inline:12px}
  .timeline-item{gap:9px}
  .timeline-icon{width:34px;height:34px;flex-basis:34px}
  .timeline-item:not(:last-child):before{left:16px;top:36px}
  .stats-grid{gap:8px}
  .stat-card{padding:15px 12px}
  .stat-value{font-size:20px}
  .invoice-row{align-items:flex-start;flex-direction:column}
  .invoice-row>div,.invoice-meta,.invoice-row .actions{width:100%;margin-left:0;align-items:flex-start}
  .invoice-row .actions .button{width:100%;font-size:11px}
  .calendar-card{padding-inline:8px}
  .calendar-grid{gap:2px}
  .calendar-grid>.muted{font-size:9px;padding-block:7px}
  .calendar-day{min-height:48px;padding:6px 3px;font-size:10px}
  .event-card{padding:12px 10px;gap:8px}
  .event-time{padding:6px 5px}
  .crm-row{align-items:flex-start;flex-direction:column}
  .crm-row select{width:100%}
  .segmented{gap:6px}
  .segmented label span{padding:14px 5px;font-size:12px}
  .modal-head,.modal-body,.modal-foot{padding-left:15px;padding-right:15px}
  .modal-foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));width:100%}
  .modal-foot .button{width:100%}
}

@media (max-height:560px) and (orientation:landscape){
  .sidebar{overflow-y:auto}
  .topbar{height:54px}
  .content{padding-top:14px}
  .demo-banner{margin-bottom:14px}
  .mobile-nav{padding-top:5px;padding-bottom:max(5px,env(safe-area-inset-bottom))}
  .mobile-nav .nav-item{min-height:45px;padding-block:4px}
  dialog[open]{max-height:calc(100dvh - 12px)}
  .modal-head{padding-top:12px;padding-bottom:10px}
  .modal-body{padding-top:14px;padding-bottom:14px}
  .modal-foot{padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

/* The supplied logo keeps its original proportions at every breakpoint. */
.brand{flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 28px;min-width:0}
.brand-logo{display:block;width:100%;max-width:89px;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:9px}
.brand-portal{font-size:10px;line-height:1.4;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding-left:5px}
@media(max-width:900px) and (min-width:681px){.brand-logo{max-width:73px}.brand-portal{font-size:9px}}
@media(max-width:680px){.sidebar .brand{flex:0 0 104px;gap:4px}.brand-logo{width:66px;max-width:100%}.brand-portal{font-size:8px;letter-spacing:1px}.sidebar-footer{min-width:0}.sidebar-footer .portal-links{justify-content:flex-end}.sidebar-footer .portal-links a{display:inline-flex;align-items:center;justify-content:center}}
@media(max-width:380px){.sidebar .brand{flex-direction:row;align-items:center;flex-basis:100%;gap:12px}.brand-logo{width:57px}.brand-portal{font-size:9px}}
/* Parent welcome guide */
.guide-button{padding-inline:10px;min-width:44px;min-height:44px}.guide-button span{font-size:11px}
dialog.welcome-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
.welcome-content{text-align:center}.welcome-logo{display:block;width:89px;height:auto;margin:0 auto 17px}.welcome-content h3{font-size:28px;line-height:1.2;letter-spacing:-.8px;max-width:400px;margin:0 auto 14px;outline:none}.welcome-content>p:not(.eyebrow){font-size:14px;line-height:1.7;color:var(--muted);max-width:430px;margin:0 auto 15px}.welcome-scenes{display:flex;justify-content:center;gap:14px;padding:18px;margin:12px 0 16px;background:#f1f6ff;border-radius:18px}.welcome-scenes .status-motion{width:86px;height:80px;flex-basis:86px}.welcome-scenes .status-motion__art{width:86px;height:80px}.welcome-note{font-size:12px!important}.welcome-tips{text-align:left;font-size:13px;line-height:1.65;padding-left:22px;margin:0 auto 18px;max-width:410px}.welcome-tips li{padding:4px 0}.welcome-progress{display:flex;justify-content:center;gap:7px;margin:21px 0 14px}.welcome-progress span{height:5px;width:22px;border-radius:8px;background:#e0e8f8}.welcome-progress .active{background:#d969a2;width:35px}.welcome-demo{display:block;font-size:10px;line-height:1.6;color:var(--muted);max-width:400px;margin:auto}.welcome-essentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.welcome-essentials>div{display:flex;flex-direction:column;align-items:center;gap:10px;background:#f2f6ff;border-radius:12px;padding:16px 10px}.welcome-essentials>div:nth-child(2){background:#fff0f7}.welcome-essentials strong{font-size:12px}.welcome-essentials span{font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:680px){.guide-button span{display:none}.topbar{gap:8px}.topbar>div:first-child{min-width:0;flex-wrap:wrap;gap:3px}.welcome-content h3{font-size:24px}.welcome-logo{width:66px}.welcome-scenes{gap:8px;padding:12px}.welcome-scenes .status-motion{width:65px;height:62px;flex-basis:65px}.welcome-scenes .status-motion__art{width:65px;height:62px}.welcome-essentials{gap:6px}.welcome-essentials>div{padding:13px 7px}.welcome-dialog .modal-head h2{font-size:16px}.welcome-dialog .modal-foot .button{flex:1 1 auto}.welcome-dialog .modal-foot .button.primary{flex-basis:100%}}
@media(max-width:380px){.welcome-logo{width:57px}.welcome-content h3{font-size:22px}.welcome-essentials{grid-template-columns:1fr}.welcome-essentials>div{display:grid;grid-template-columns:24px 1fr;text-align:left;gap:6px 10px}.welcome-essentials span{grid-column:2}.welcome-dialog .modal-foot{display:flex}}
/* Keep the smaller brand mark centred over each portal's navigation. */
.sidebar .brand{align-items:center;text-align:center}.brand-portal{padding-left:0;text-align:center}
@media(max-width:380px){.sidebar .brand{justify-content:center}}
.welcome-dialog .modal-foot .button{width:auto}
