:root{--ink: #18233a;--muted: #69758a;--soft: #f6f8fc;--line: #e6eaf1;--blue: #2369ed;--blue-soft: #eaf1ff;--green: #20a66a;--green-soft: #e7f7ef;--orange: #f0803c;--orange-soft: #fff0e7;--yellow: #e3ad25;--yellow-soft: #fff7d9;--purple: #8269d9;--purple-soft: #f0edff;--shadow: 0 18px 42px rgba(31, 50, 81, .08)}*{box-sizing:border-box}html{background:#f7f9fc;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;overflow-x:hidden;color:var(--ink);background:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}svg{display:block;flex:0 0 auto}button{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(35,105,237,.24)!important;outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent)!important;outline-offset:2px}.app-shell{min-height:100vh;min-height:100dvh}.app-shell.colorful{--blue: #1469dc;--blue-soft: #eaf3ff;--green: #4aa92c;--green-soft: #edf9e8;--yellow: #e9b517;--yellow-soft: #fff8d8;background:radial-gradient(circle at 28% 8%,rgba(20,105,220,.06),transparent 24%),radial-gradient(circle at 95% 34%,rgba(233,181,23,.08),transparent 22%),radial-gradient(circle at 62% 88%,rgba(74,169,44,.06),transparent 25%),#f7f9fc}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:248px;flex-direction:column;padding:26px 18px 20px;border-right:1px solid var(--line);background:#fff}.app-shell.colorful .sidebar:before{position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--blue) 0 36%,var(--green) 36% 67%,var(--yellow) 67% 100%);content:""}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.brand-mark,.mini-brand-mark{display:grid;flex:0 0 auto;place-items:center;overflow:hidden;color:#fff;background:#fff;box-shadow:0 8px 18px #2369ed38}.brand-logo-image{display:block;width:100%;height:100%;background:var(--brand-logo, url(/sapiensa-buho.png)) center / cover no-repeat}.brand-mark{width:39px;height:39px;border-radius:13px;font-size:21px;font-weight:800}.brand strong{display:block;font-size:19px;line-height:1.05;letter-spacing:-.6px}.brand-wordmark{color:var(--ink)}.brand-wordmark span:first-child{color:var(--blue)}.brand-wordmark span:last-child{color:var(--green)}.brand small,.profile-card small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.side-nav{display:grid;gap:5px}.nav-label{margin:0 12px 8px;color:#98a1b2;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.side-nav button,.settings-link{display:flex;align-items:center;width:100%;min-height:44px;gap:13px;padding:0 13px;border:0;border-radius:12px;color:#657086;background:transparent;font-size:14px;font-weight:600;text-align:left;cursor:pointer;transition:.16s ease}.side-nav .nav-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:12px;transition:.16s ease}.side-nav .nav-row:not(.has-action) .nav-main{grid-column:1 / -1}.side-nav .nav-row:hover,.settings-link:hover{color:var(--blue);background:var(--blue-soft)}.side-nav .nav-row.active{color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 var(--blue)}.side-nav .nav-main{color:inherit;background:transparent}.side-nav .nav-main:hover,.side-nav .nav-row.active .nav-main{color:inherit;background:transparent;box-shadow:none}.side-nav .nav-inline-add{position:relative;width:38px;min-height:36px;justify-content:center;gap:0;padding:0;border-radius:10px;color:var(--blue);background:#ffffffad}.side-nav .nav-inline-add:before{position:absolute;inset:8px auto 8px -3px;width:1px;background:#1469dc2e;content:""}.side-nav .nav-inline-add:hover{color:#fff;background:var(--blue)}.nav-badge{display:grid;min-width:20px;height:20px;margin-left:auto;place-items:center;border-radius:999px;color:#fff;background:var(--orange);font-size:10px}.sidebar-spacer{flex:1}.settings-link{margin-bottom:14px}.color-mode-link{color:var(--blue);background:linear-gradient(90deg,var(--blue-soft),var(--green-soft))}.profile-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 10px;border-top:1px solid var(--line)}.profile-card strong{display:block;font-size:12px}.sidebar-close,.sidebar-scrim,.mobile-brand,.bottom-nav{display:none}.main-content{min-height:100vh;min-height:100dvh;margin-left:248px}.topbar{position:sticky;top:0;z-index:20;display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:24px;padding:15px clamp(24px,4vw,54px);border-bottom:1px solid rgba(230,234,241,.9);background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar:after{position:absolute;inset:auto 0 -1px;height:2px;background:linear-gradient(90deg,var(--blue) 0 34%,var(--green) 34% 67%,var(--yellow) 67% 100%);content:"";opacity:.75}.page-heading p,.eyebrow{margin:0 0 4px;color:#8a94a7;font-size:10px;font-weight:760;letter-spacing:.095em;text-transform:uppercase}.page-heading h1{margin:0;font-size:21px;letter-spacing:-.45px}.top-actions,.date-controls{display:flex;align-items:center;gap:10px}.top-actions{position:relative}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:60;width:min(370px,calc(100vw - 30px));overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 22px 60px #1e335233}.notification-heading,.notification-list>button,.notification-billing-link{display:flex;align-items:center;gap:10px}.notification-heading{justify-content:space-between;padding:14px 15px;border-bottom:1px solid var(--line)}.notification-heading strong,.notification-heading small,.notification-list strong,.notification-list small,.notification-billing-link strong,.notification-billing-link small{display:block}.notification-heading strong{font-size:12px}.notification-heading small,.notification-list small,.notification-billing-link small{margin-top:3px;color:var(--muted);font-size:8px}.notification-heading button{display:grid;width:29px;height:29px;place-items:center;border:0;border-radius:8px;background:var(--soft);cursor:pointer}.notification-list{display:grid;max-height:300px;overflow-y:auto}.notification-list>button{width:100%;min-width:0;padding:11px 15px;border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;cursor:pointer}.notification-list>button:hover{background:var(--soft)}.notification-list>button>span:nth-child(2){min-width:0;flex:1}.notification-list strong,.notification-list small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.notification-list strong{font-size:9px}.notification-empty{padding:20px 15px;color:var(--muted);font-size:9px;text-align:center}.notification-billing-link{width:100%;padding:12px 15px;border:0;color:#236b35;text-align:left;background:var(--green-soft);cursor:pointer}.notification-billing-link>span{min-width:0;flex:1}.notification-billing-link strong{font-size:9px}.icon-button{display:grid;width:41px;height:41px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.icon-button:hover{color:var(--blue);background:var(--blue-soft)}.color-mode-button{color:var(--blue);background:linear-gradient(145deg,var(--blue-soft),var(--green-soft),var(--yellow-soft))}.notification{position:relative}.notification>span{position:absolute;top:8px;right:8px;width:7px;height:7px;border:2px solid white;border-radius:50%;background:var(--orange)}.primary-button,.secondary-button,.ghost-button,.filter-button,.status-button,.text-button,.message-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;font-weight:680;cursor:pointer}.primary-button{min-height:42px;padding:0 17px;border:1px solid var(--blue);color:#fff;background:var(--blue);box-shadow:0 9px 20px #2369ed33;font-size:13px}.primary-button:hover{background:#155be0}.primary-button:disabled{border-color:#bec6d2;background:#bec6d2;box-shadow:none;cursor:not-allowed}.secondary-button{min-height:42px;padding:0 17px;border:1px solid var(--line);background:#fff;font-size:13px}.content-wrap{width:min(1390px,100%);margin:0 auto;padding:34px clamp(24px,4vw,54px) 118px}.operational-status{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e40af;font-size:.9rem;font-weight:700}.operational-status.error{border-color:#fecaca;background:#fff1f2;color:#9f1239}.operational-status button{margin-left:auto;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.form-error{margin:0 24px 16px;padding:11px 13px;border:1px solid #fecaca;border-radius:12px;background:#fff1f2;color:#9f1239;font-size:.88rem;font-weight:700}.form-grid .form-error,.form-error.full{margin:0;grid-column:1 / -1}.app-shell.colorful .welcome-row{position:relative;overflow:hidden;padding:22px 24px;border:1px solid #dce8f6;border-radius:20px;background:radial-gradient(circle at 88% 24%,rgba(233,181,23,.26) 0 5%,transparent 5.5%),radial-gradient(circle at 82% 72%,rgba(74,169,44,.18) 0 7%,transparent 7.5%),linear-gradient(105deg,#f6faff,#f8fff5 62%,#fffbea)}.welcome-row,.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}.welcome-row h2,.section-intro h2{margin:0;font-size:clamp(24px,2.25vw,32px);line-height:1.15;letter-spacing:-1.1px}.welcome-row p:last-child,.section-intro p:last-child{margin:7px 0 0;color:var(--muted);font-size:13px}.week-chip{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:#fff;font-size:12px;font-weight:650}.today-roster{display:grid;grid-template-columns:minmax(175px,.8fr) repeat(3,minmax(0,1fr));align-items:stretch;gap:10px;margin:-8px 0 16px;padding:11px;border:1px solid #dfe7f1;border-radius:17px;background:#ffffffd6;box-shadow:0 9px 30px #1f325109}.today-roster-heading,.today-roster-item{display:flex;min-width:0;align-items:center;gap:10px}.today-roster-heading{padding:5px 8px}.today-roster-heading .summary-icon{width:36px;height:36px;color:var(--blue);background:var(--blue-soft)}.today-roster-heading strong,.today-roster-heading small,.today-roster-item strong,.today-roster-item small{display:block}.today-roster-heading strong,.today-roster-item strong{font-size:10px}.today-roster-heading small,.today-roster-item small{margin-top:3px;overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.today-roster-item{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}.today-roster-item>span:not(.today-roster-time){min-width:0;flex:1;overflow:hidden}.today-roster-item.orange{border-bottom:3px solid var(--orange)}.today-roster-item.yellow{border-bottom:3px solid var(--yellow)}.today-roster-item.green{border-bottom:3px solid var(--green)}.today-roster-time{color:var(--blue);font-size:10px;font-weight:760}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{display:flex;min-width:0;align-items:flex-start;gap:13px;padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 9px 30px #1f325109}.app-shell.colorful .metric-card{position:relative;overflow:hidden}.app-shell.colorful .metric-card:before{position:absolute;inset:0 0 auto;height:3px;content:""}.app-shell.colorful .stats-grid .metric-card:nth-child(1):before{background:var(--blue)}.app-shell.colorful .stats-grid .metric-card:nth-child(2):before{background:var(--orange)}.app-shell.colorful .stats-grid .metric-card:nth-child(3):before{background:var(--green)}.app-shell.colorful .stats-grid .metric-card:nth-child(4):before{background:var(--yellow)}.metric-icon,.action-icon,.course-icon,.rule-icon,.summary-icon{display:grid;flex:0 0 auto;place-items:center;border-radius:11px;line-height:0}.metric-icon>svg,.action-icon>svg,.course-icon>svg,.rule-icon>svg,.summary-icon>svg,.toast-icon>svg{margin:0}.metric-icon{width:41px;height:41px}.metric-icon.blue,.action-icon.blue,.course-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.green,.action-icon.green,.course-icon.green{color:var(--green);background:var(--green-soft)}.metric-icon.orange,.action-icon.orange,.course-icon.orange{color:var(--orange);background:var(--orange-soft)}.metric-icon.yellow,.action-icon.yellow,.course-icon.yellow{color:var(--yellow);background:var(--yellow-soft)}.course-icon.purple{color:var(--purple);background:var(--purple-soft)}.metric-card>div{min-width:0}.metric-card span:not(.metric-icon){display:block;overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.metric-card strong{display:block;margin:5px 0 3px;font-size:22px;letter-spacing:-.65px}.metric-card small{color:#8d97a9;font-size:10px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.quick-actions>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;cursor:pointer;transition:.16s ease}.quick-actions>button:hover{border-color:#cbd8f3;box-shadow:var(--shadow);transform:translateY(-1px)}.app-shell.colorful .quick-actions>button:nth-child(1){border-color:#d8e7ff;background:linear-gradient(135deg,#fff,var(--blue-soft))}.app-shell.colorful .quick-actions>button:nth-child(2){border-color:#d7efd0;background:linear-gradient(135deg,#fff,var(--green-soft))}.app-shell.colorful .quick-actions>button:nth-child(3){border-color:#f6dfd0;background:linear-gradient(135deg,#fff,var(--orange-soft))}.action-icon{width:38px;height:38px}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:12px}.quick-actions small{margin-top:3px;color:var(--muted);font-size:10px}.quick-actions svg:last-child{color:#a4adbc}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:16px;margin-top:16px}.panel,.table-card,.course-card,.collection-progress{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 30px #1f325109}.panel{padding:21px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.panel-header h3{margin:0;font-size:16px;letter-spacing:-.3px}.text-button{padding:5px 0;border:0;color:var(--blue);background:transparent;font-size:11px}.class-row{display:grid;grid-template-columns:43px 12px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:69px;border-top:1px solid #edf0f5}.class-time strong,.class-time span,.class-info strong,.class-info span,.payment-alert strong,.payment-alert span{display:block}.class-time strong{font-size:12px}.class-time span{margin-top:3px;color:#9aa3b2;font-size:9px}.billing-family-list{display:grid}.billing-family{border-top:1px solid var(--line)}.billing-family-summary{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:13px;min-height:76px}.billing-family-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.billing-family-financial{display:flex;align-items:center;justify-content:flex-end;gap:9px}.billing-family-financial .collection-amount{min-width:86px;text-align:right}.family-expand{display:grid;min-width:0;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.family-expand>svg{color:#99a4b6}.family-name{min-width:0}.family-name strong,.family-name small,.collection-amount strong,.collection-amount small{display:block}.family-name strong{font-size:11px}.family-name small{overflow:hidden;margin-top:4px;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.collection-amount small{margin-top:3px;color:var(--muted);font-size:8px}.billing-breakdown{margin:0 0 10px 31px;padding:4px 12px 5px 30px;border-left:2px solid #dbe5f6;border-radius:0 0 0 13px;background:#fafcff}.billing-child{position:relative;display:grid;min-height:57px;grid-template-columns:minmax(170px,1fr) auto minmax(150px,1fr) 90px;align-items:center;gap:12px;border-bottom:1px solid #e9edf4}.billing-child:last-child{border-bottom:0}.child-connector{position:absolute;left:-30px;width:18px;height:1px;background:#dbe5f6}.billing-child>span:nth-child(2) strong,.billing-child>span:nth-child(2) small{display:block}.billing-child>span:nth-child(2) strong{font-size:10px}.billing-child>span:nth-child(2) small{margin-top:3px;color:var(--muted);font-size:8px}.billing-child>strong{text-align:right;font-size:10px}.billing-context-payment,.billing-child-payment{justify-self:center;background:var(--green-soft)}.billing-child-payment:disabled{opacity:.35;cursor:not-allowed}.family-payment-history{margin:10px -2px 2px;padding:13px 14px 4px;border:1px solid #dde6f4;border-radius:13px;background:#fff}.payment-history-heading,.payment-history-heading>span{display:flex;align-items:center}.payment-history-heading{justify-content:space-between;gap:12px;padding-bottom:9px}.payment-history-heading>span{gap:7px;color:var(--blue)}.payment-history-heading strong{color:var(--ink);font-size:10px}.payment-history-heading small{color:var(--muted);font-size:8px}.payment-history-row{display:grid;min-height:54px;grid-template-columns:76px minmax(190px,1fr) 92px auto;align-items:center;gap:12px;border-top:1px solid #edf0f5}.payment-history-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.payment-history-row strong,.payment-history-row small{display:block}.payment-history-row strong{font-size:9px}.payment-history-row small{margin-top:3px;color:var(--muted);font-size:7.5px}.payment-history-status{width:max-content;padding:5px 7px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:7.5px;font-weight:750}.payment-history-status.corregido{color:#9a7404;background:var(--yellow-soft)}.payment-history-status.cancelado{color:#c95e26;background:var(--orange-soft)}.payment-history-amount{text-align:right}.payment-receipt-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid #cdddf7;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:720;cursor:pointer}.payment-receipt-button:hover,.payment-receipt-button:focus-visible{border-color:var(--blue);color:#fff;background:var(--blue)}.payment-cancel-button{display:inline-flex;width:32px;min-height:32px;align-items:center;justify-content:center;border:1px solid #f0d3c7;border-radius:9px;color:#b6552e;background:#fff8f4;cursor:pointer}.payment-cancel-button span{display:none}.payment-cancel-button:hover{color:#fff;background:#c85d31}.payment-cancellation-body{display:grid;gap:14px;padding:20px 25px}.payment-cancellation-body label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:8px;font-weight:720;text-transform:uppercase}.payment-cancellation-body textarea{width:100%;min-height:92px;resize:vertical;padding:11px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font:inherit;font-size:10px}.danger-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid #bf522b;border-radius:11px;color:#fff;background:#c85d31;font-size:12px;font-weight:700;cursor:pointer}.danger-button:disabled{opacity:.55;cursor:not-allowed}.child-state{width:max-content;padding:5px 8px;border-radius:999px;color:#9a7404;background:var(--yellow-soft);font-size:8px;font-weight:700}.child-state.late{color:#c95e26;background:var(--orange-soft)}.child-state.paid{color:var(--green);background:var(--green-soft)}.timeline-dot{display:block;width:9px;height:9px;border:2px solid white;border-radius:50%;box-shadow:0 0 0 2px currentColor}.timeline-dot.blue{color:var(--blue);background:var(--blue)}.timeline-dot.orange{color:var(--orange);background:var(--orange)}.timeline-dot.green{color:var(--green);background:var(--green)}.class-info strong{font-size:12px}.class-info span{margin-top:3px;color:var(--muted);font-size:10px}.status-button{min-height:34px;padding:0 11px;border:1px solid #d5e1fb;color:var(--blue);background:var(--blue-soft);font-size:10px}.status-button.saved{border-color:#cbe9d9;color:var(--green);background:var(--green-soft)}.teacher-tag,.soft-tag,.configurable-pill,.active-pill,.timezone{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;color:#748096;background:#f2f4f8;font-size:9px;font-weight:680}.payment-alerts{display:grid}.payment-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:69px;border-top:1px solid #edf0f5}.payment-alert-reminder{display:grid;width:31px;height:31px;place-items:center;border:1px solid #cfe7d7;border-radius:9px;color:#218740;background:var(--green-soft);cursor:pointer}.avatar{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:12px;font-size:10px;font-weight:760}.avatar-blue{color:var(--blue);background:var(--blue-soft)}.avatar-green{color:var(--green);background:var(--green-soft)}.avatar-orange{color:var(--orange);background:var(--orange-soft)}.avatar-yellow{color:#a77700;background:var(--yellow-soft)}.avatar-purple{color:var(--purple);background:var(--purple-soft)}.payment-alert>div:nth-child(2) strong{font-size:11px}.payment-alert>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:9px}.amount-block{text-align:right}.amount-block strong{font-size:11px}.amount-block span{margin-top:4px;color:var(--muted);font-size:8px}.amount-block span.overdue{color:var(--orange)}.whatsapp-reminder{display:flex;width:100%;min-height:42px;align-items:center;justify-content:center;gap:8px;margin-top:12px;border:1px solid #cbe9d9;border-radius:12px;color:#19895a;background:var(--green-soft);font-size:11px;font-weight:680;cursor:pointer}.rule-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-top:16px;padding:15px 17px;border:1px dashed #cad7ef;border-radius:15px;background:linear-gradient(90deg,#f2f6ff,#fbfcff)}.rule-icon,.summary-icon{width:36px;height:36px;color:var(--blue);background:#fff;box-shadow:0 6px 15px #2369ed1a}.rule-note strong{display:block;font-size:11px}.rule-note p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.configurable-pill{color:var(--blue);background:#fff}.page-section{animation:appear .22s ease both}@keyframes appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.search-field{display:flex;width:min(560px,100%);height:43px;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:#fff}.search-field svg{color:#9ba5b5}.search-field input{min-width:0;flex:1;border:0;outline:0;font-size:12px}.search-field>span{color:#9aa4b4;font-size:9px}.filter-button{min-height:41px;padding:0 13px;border:1px solid var(--line);color:var(--muted);background:#fff;font-size:11px}.table-card{overflow:hidden}.student-table{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(160px,1fr) minmax(160px,.9fr) 100px 30px;align-items:center;gap:18px;padding:0 19px}.student-table-head{min-height:46px;color:#8a94a7;background:#fafbfc;font-size:9px;font-weight:720;letter-spacing:.07em;text-transform:uppercase}.student-row{width:100%;min-height:79px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.student-row:hover{background:#fbfcff}.student-row>span>strong,.student-row>span>small,.student-person strong,.student-person small{display:block}.student-row strong{font-size:11px}.student-row small{margin-top:4px;color:var(--muted);font-size:9px}.student-person{display:flex;align-items:center;gap:11px}.session-cell{min-width:0}.mini-progress,.capacity-track,.big-progress{display:block;overflow:hidden;height:5px;border-radius:999px;background:#edf0f5}.mini-progress{width:90px;margin-top:6px}.mini-progress i,.capacity-track i,.big-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#6c9cff)}.balance{width:max-content;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:720}.balance.due{color:#c6672c;background:var(--orange-soft)}.balance.paid{color:var(--green);background:var(--green-soft)}.row-arrow{color:#9ba4b3}.family-directory{display:grid;gap:13px}.family-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 30px #1f325109}.family-card-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:70px;padding:12px 18px;background:linear-gradient(90deg,#f8fbff,#fbfcff)}.family-card-header>div strong,.family-card-header>div span{display:block}.family-card-header>div strong{font-size:12px}.family-card-header>div span{margin-top:4px;color:var(--muted);font-size:9px}.family-count,.family-balance{width:max-content;padding:6px 9px;border-radius:999px;font-size:9px}.family-count{color:var(--blue);background:var(--blue-soft);font-weight:700}.family-balance.due{color:#c6672c;background:var(--orange-soft)}.family-balance.paid{color:var(--green);background:var(--green-soft)}.family-student-row{position:relative;width:100%;min-height:78px;border-top:1px solid var(--line);background:#fff}.student-row-details{display:grid;width:100%;min-height:78px;grid-template-columns:minmax(190px,1fr) minmax(200px,1.25fr) minmax(180px,.9fr);align-items:center;gap:16px;padding:12px 128px 12px 30px;border:0;background:transparent;text-align:left;cursor:pointer}.family-student-row:hover,.student-row-details:focus-visible{background:#fcfdff}.student-row-details .session-cell strong,.student-row-details .session-cell small{display:block}.student-row-details .row-arrow{position:absolute;top:50%;right:16px;transform:translateY(-50%)}.account-statement-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 10px;border:1px solid #cdddf7;border-radius:10px;color:var(--blue);background:#ffffffe0;font-size:9px;font-weight:720;white-space:nowrap;cursor:pointer;transition:.16s ease}.account-statement-button:hover,.account-statement-button:focus-visible{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 8px 18px #1469dc2e}.family-header-actions,.student-row-actions{display:inline-flex;align-items:center;gap:6px}.context-payment-button{display:inline-grid;width:34px;min-width:34px;height:34px;place-items:center;padding:0;border:1px solid #cce9d8;border-radius:10px;color:var(--green);background:#ffffffe6;cursor:pointer;transition:.16s ease}.context-payment-button:hover,.context-payment-button:focus-visible{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 8px 18px #4aa92c2e}.family-header-actions{justify-self:end}.student-row-actions{position:absolute;top:50%;right:45px;transform:translateY(-50%)}.student-statement-button{position:static;width:34px;padding:0;transform:none}.course-chip-list{display:flex;flex-wrap:wrap;gap:5px}.course-chip-list i{padding:6px 8px;border-radius:8px;color:#536178;background:var(--soft);font-size:9px;font-style:normal;font-weight:660}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.course-management-steps{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:18px;padding:13px;border:1px solid #dce7fa;border-radius:16px;background:linear-gradient(105deg,#f5f9ff,#fbfff8 64%,#fffbee)}.course-management-steps>svg{color:#a9b3c3}.course-management-steps article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0}.course-management-steps article>span{display:grid;width:31px;height:31px;place-items:center;border-radius:10px;color:var(--blue);background:var(--blue-soft);font-size:10px;font-weight:800}.course-management-steps article:nth-of-type(2)>span{color:var(--green);background:var(--green-soft)}.course-management-steps article:nth-of-type(3)>span{color:#9a7410;background:var(--yellow-soft)}.course-management-steps strong,.course-management-steps small{display:block}.course-management-steps strong{font-size:10px}.course-management-steps small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}.course-card{padding:20px}.course-card-top{display:flex;align-items:center;gap:10px}.course-icon{width:42px;height:42px}.course-card-top .soft-tag{margin-left:auto}.course-model-tags{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.course-model-tags i{padding:5px 8px;border-radius:999px;color:var(--blue);background:var(--blue-soft);font-size:7.5px;font-style:normal;font-weight:750}.course-student-agreement{display:grid;gap:8px;margin:0 10px 12px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.course-student-agreement>span,.course-student-agreement label>span{color:var(--muted);font-size:8px;font-weight:700}.course-student-agreement label{display:grid;gap:5px}.course-student-agreement input{width:100%;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.course-student-agreement .day-picker button:disabled{opacity:.32;cursor:not-allowed}.more-button{display:grid;width:31px;height:31px;place-items:center;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.course-card h3{margin:18px 0 7px;font-size:17px;letter-spacing:-.4px}.course-card>p{display:flex;align-items:center;gap:7px;margin:0 0 18px;color:var(--muted);font-size:11px}.capacity-row{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted);font-size:10px}.capacity-row strong{color:var(--ink)}.course-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.course-actions button{display:flex;min-height:37px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:10px;font-weight:680;cursor:pointer}.course-actions button:last-child{border-color:#d4e0fb;color:var(--blue);background:var(--blue-soft)}.course-actions button:disabled{border-color:var(--line);color:#9aa4b4;background:var(--soft);cursor:not-allowed}.course-actions .course-open-button{border-color:var(--blue);color:#fff;background:var(--blue)}.additional-groups{margin:8px 0 -7px;color:var(--blue);font-size:8px;font-weight:700}.pricing-panel{margin-top:15px}.seasonal-section{margin-top:24px}.seasonal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.seasonal-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:82px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.seasonal-card>div strong,.seasonal-card>div span{display:block}.seasonal-card>div strong{font-size:11px}.seasonal-card>div span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.seasonal-card.yellow{border-top:3px solid var(--yellow)}.seasonal-card.blue{border-top:3px solid var(--blue)}.seasonal-card.green{border-top:3px solid var(--green)}.plan-list{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.plan-list span{display:grid;gap:5px;padding:13px;border-radius:11px;color:var(--muted);background:var(--soft);font-size:9px}.plan-list strong{color:var(--ink);font-size:12px}.date-controls button{display:grid;min-width:37px;height:38px;place-items:center;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px;font-weight:680;cursor:pointer}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:15px}.week-strip button{position:relative;display:grid;min-height:68px;place-items:center;gap:1px;padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.week-strip span{color:var(--muted);font-size:9px}.week-strip strong{font-size:15px}.week-strip i{width:4px;height:4px;border-radius:50%;background:var(--blue)}.week-strip button.active{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 8px 20px #2369ed33}.week-strip button.active span{color:#fff;background:transparent}.week-strip button.active i{background:#fff}.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:15px}.agenda-class{display:grid;grid-template-columns:47px 4px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:91px;border-top:1px solid var(--line)}.agenda-time strong,.agenda-time span,.agenda-info strong,.agenda-info span,.agenda-info small{display:block}.agenda-time strong{font-size:12px}.agenda-time span{margin-top:4px;color:var(--muted);font-size:9px}.agenda-bar{width:4px;height:48px;border-radius:99px}.agenda-bar.blue{background:var(--blue)}.agenda-bar.orange{background:var(--orange)}.agenda-bar.green{background:var(--green)}.agenda-info strong{font-size:12px}.agenda-info span{margin-top:4px;color:var(--muted);font-size:10px}.agenda-info small{display:flex;align-items:center;gap:5px;margin-top:8px;color:#98a2b3;font-size:9px}.ghost-button{min-height:34px;padding:0 12px;border:1px solid var(--line);background:#fff;font-size:10px}.attendance-rule-card{align-self:start}.attendance-rule-card>.rule-icon{margin-bottom:16px}.attendance-rule-card h3{margin:0 0 19px;font-size:16px;line-height:1.25}.attendance-rule-card>div{display:flex;align-items:flex-start;gap:10px;margin-bottom:15px}.attendance-rule-card p{margin:0}.attendance-rule-card strong,.attendance-rule-card small{display:block}.attendance-rule-card strong{font-size:10px}.attendance-rule-card small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.4}.dot{display:block;width:9px;height:9px;flex:0 0 auto;margin-top:2px;border-radius:50%}.dot.present{background:var(--green)}.dot.justified{background:var(--blue)}.dot.absent{background:var(--orange)}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collection-progress{margin:15px 0;padding:18px 20px}.collection-progress>div:first-child{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:10px}.collection-progress span strong,.collection-progress span small{display:block}.collection-progress span strong{font-size:11px}.collection-progress span small{margin-top:3px;color:var(--muted);font-size:9px}.big-progress{height:7px}.payment-table-card{padding:20px}.billing-results-count{color:var(--muted);font-size:9px;font-weight:700}.billing-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(145px,.45fr) minmax(190px,.6fr) auto;align-items:end;gap:10px;margin:14px 0 4px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#f8fafd}.billing-search{display:flex;min-width:0;min-height:40px;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:#8b97aa;background:#fff}.billing-search:focus-within,.billing-select:focus-within{border-color:#9fbef4;box-shadow:0 0 0 3px #1469dc14}.billing-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent;font-size:10px}.billing-select{display:grid;min-width:0;gap:5px}.billing-select>span{color:var(--muted);font-size:7px;font-weight:750;letter-spacing:.03em;text-transform:uppercase}.billing-select select{min-width:0;min-height:40px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:9px}.billing-clear-filters{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid #d6e3f7;border-radius:10px;color:var(--blue);background:#fff;font-size:9px;font-weight:700;cursor:pointer}.billing-empty-state{display:grid;min-height:180px;place-items:center;align-content:center;gap:7px;color:var(--muted);text-align:center}.billing-empty-state strong{color:var(--ink);font-size:11px}.billing-empty-state span{font-size:9px}.collection-row{display:grid;grid-template-columns:auto minmax(150px,1fr) 90px 100px auto;align-items:center;gap:13px;min-height:70px;border-top:1px solid var(--line)}.collection-row>div:nth-child(2) strong,.collection-row>div:nth-child(2) span,.collection-amount strong,.collection-amount span{display:block}.collection-row>div:nth-child(2) strong{font-size:11px}.collection-row>div:nth-child(2) span{margin-top:3px;color:var(--muted);font-size:9px}.payment-state{width:max-content;padding:6px 9px;border-radius:999px;color:#a27700;background:var(--yellow-soft);font-size:9px;font-weight:700}.payment-state.late{color:#c95e26;background:var(--orange-soft)}.collection-amount{text-align:right}.collection-amount strong{font-size:11px}.collection-amount span{margin-top:3px;color:var(--muted);font-size:8px}.message-button{min-height:34px;padding:0 10px;border:1px solid #cbe9d9;color:var(--green);background:var(--green-soft);font-size:9px}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;padding:24px;place-items:center;background:#141e3185;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .15s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:min(720px,100%);max-height:min(90vh,760px);max-height:min(90dvh,760px);overflow:auto;border:1px solid rgba(255,255,255,.4);border-radius:21px;background:#fff;box-shadow:0 30px 80px #0d1c3442;animation:modal-in .18s ease both}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.compact-modal{width:min(610px,100%)}.payment-modal{display:grid;max-height:min(92vh,720px);max-height:min(92dvh,720px);grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden}.payment-modal .form-grid{gap:12px 15px;overflow-y:auto;padding-top:16px;padding-bottom:15px}.payment-modal .payment-allocation-heading{min-height:43px}.payment-modal .payment-allocation-list>button{min-height:45px}.payment-modal .payment-impact{margin-bottom:14px;padding:11px 14px}.payment-modal .modal-footer{padding-top:14px;padding-bottom:17px;background:#fff}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px 18px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:20px;letter-spacing:-.55px}.modal-header>div>span{display:block;margin-top:5px;color:var(--muted);font-size:10px}.attendance-legend{display:flex;gap:18px;padding:13px 25px;background:#fafbfc}.attendance-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.attendance-legend .dot{margin:0}.attendance-list{padding:0 25px}.attendance-list article{display:grid;grid-template-columns:auto minmax(110px,1fr) auto;align-items:center;gap:11px;min-height:79px;border-bottom:1px solid var(--line)}.attendance-list .attendance-student-card{display:block;padding:13px 0}.attendance-student-main{display:grid;grid-template-columns:auto minmax(110px,1fr) auto;align-items:center;gap:11px}.attendance-name strong,.attendance-name small{display:block}.attendance-name em{display:block;margin-top:4px;color:var(--blue);font-size:8px;font-style:normal;font-weight:650}.attendance-personal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0 1px 53px}.attendance-personal-fields label{display:grid;gap:5px}.attendance-personal-fields label.full{grid-column:1 / -1}.attendance-personal-fields span{color:var(--muted);font-size:8px;font-weight:700}.attendance-personal-fields input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.attendance-name strong{font-size:11px}.attendance-name small{margin-top:4px;color:var(--muted);font-size:9px}.attendance-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.attendance-options button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:9px;font-weight:650;cursor:pointer}.attendance-options button.selected.asistio{border-color:#bfe3d0;color:var(--green);background:var(--green-soft)}.attendance-options button.selected.justificada{border-color:#ccdaf8;color:var(--blue);background:var(--blue-soft)}.attendance-options button.selected.injustificada{border-color:#f0d3c1;color:var(--orange);background:var(--orange-soft)}.mobile-status-label{display:none}.consumption-summary{display:flex;align-items:center;gap:11px;margin:18px 25px;padding:13px;border:1px solid #d5e0f7;border-radius:13px;background:#f5f8ff}.consumption-summary strong,.consumption-summary span{display:block}.consumption-summary>div{min-width:0}.consumption-summary strong,.consumption-summary div>span{overflow-wrap:anywhere}.consumption-summary strong{font-size:10px}.consumption-summary div>span{margin-top:3px;color:var(--muted);font-size:9px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 25px 22px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:22px 25px}.form-grid label{display:grid;gap:7px}.form-grid label.full{grid-column:1 / -1}.payment-allocation-picker{grid-column:1 / -1;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.payment-allocation-heading{display:flex;min-height:47px;align-items:center;justify-content:space-between;gap:12px;padding:8px 11px 8px 13px;border-bottom:1px solid var(--line)}.payment-allocation-heading strong,.payment-allocation-heading small{display:block}.payment-allocation-heading strong{color:#59657a;font-size:10px}.payment-allocation-heading small{margin-top:3px;color:var(--muted);font-size:8px}.payment-allocation-heading button{min-height:29px;padding:0 10px;border:1px solid #cfe2f9;border-radius:8px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:750;cursor:pointer}.payment-allocation-list{display:grid;padding:4px 10px}.payment-allocation-list>button{display:grid;min-height:49px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 3px;border:0;border-bottom:1px solid #edf0f5;color:inherit;background:transparent;text-align:left;cursor:pointer}.payment-allocation-list>button:last-child{border-bottom:0}.payment-allocation-list>button.selected{color:var(--green)}.payment-allocation-list>button:disabled{opacity:.48;cursor:not-allowed}.payment-allocation-list strong,.payment-allocation-list small{display:block}.payment-allocation-list strong{color:var(--ink);font-size:9px}.payment-allocation-list small{margin-top:3px;color:var(--muted);font-size:8px}.payment-allocation-list b{color:var(--ink);font-size:9px}.allocation-check{display:grid;width:21px;height:21px;place-items:center;border:1px solid #ced6e2;border-radius:7px;color:#fff;background:#fff}.selected .allocation-check{border-color:var(--green);background:var(--green)}.form-grid label>span{color:#59657a;font-size:10px;font-weight:680}.form-grid input,.form-grid select,.form-grid textarea{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;outline:0;color:var(--ink);background:#fff;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#97b8f7;box-shadow:0 0 0 3px var(--blue-soft)}.form-grid textarea{min-height:68px;height:auto;padding:10px 11px;resize:vertical}.money-input{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px}.money-input input{height:38px;border:0}.money-input b,.money-input em{color:var(--muted);font-size:10px;font-style:normal}.payment-impact{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 25px 20px;padding:14px;border-radius:12px;background:var(--green-soft)}.payment-impact span{display:grid;gap:3px;color:var(--muted);font-size:9px}.payment-impact strong{color:var(--green);font-size:13px}.stepper{display:flex;align-items:center;padding:17px 25px 0}.stepper span{display:flex;align-items:center;gap:7px;color:#9aa4b5;font-size:9px;font-weight:680}.stepper span.active{color:var(--blue)}.stepper i{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#f0f2f6;font-size:9px;font-style:normal}.stepper span.active i{color:#fff;background:var(--blue)}.stepper b{height:1px;flex:1;margin:0 8px;background:var(--line)}.enrollment-step{min-height:236px;align-content:start}.selection-note{display:flex;align-items:center;gap:11px;min-height:58px;padding:12px 13px;border:1px solid #dce6f8;border-radius:12px;color:var(--blue);background:#f7faff}.selection-note strong,.selection-note small{display:block}.selection-note strong{font-size:10px}.selection-note small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.day-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.day-picker button{min-height:38px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:9px;font-weight:700;cursor:pointer}.day-picker button.selected{border-color:#bcd0f5;color:var(--blue);background:var(--blue-soft)}.enrollment-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:12px 14px;border-radius:12px;background:linear-gradient(90deg,var(--blue-soft),var(--green-soft))}.enrollment-summary span:last-child{text-align:right}.enrollment-summary strong,.enrollment-summary small{display:block}.enrollment-summary strong{font-size:11px}.enrollment-summary small{margin-top:4px;color:var(--muted);font-size:9px}.intro-actions{display:flex;align-items:center;gap:9px}.weekly-visibility{position:relative;overflow:hidden;margin-bottom:18px;padding:20px;border:1px solid #dbe6f4;border-radius:20px;background:radial-gradient(circle at 95% 6%,rgba(233,181,23,.22) 0 6%,transparent 6.5%),linear-gradient(115deg,#f4f9ff,#f8fff5 54%,#fffbee)}.weekly-visibility:after{position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--blue) 0 34%,var(--green) 34% 67%,var(--yellow) 67%);content:""}.weekly-visibility-heading,.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.weekly-visibility-heading{margin-bottom:14px}.weekly-visibility-heading h3{margin:0;font-size:19px;letter-spacing:-.45px}.weekly-visibility-heading>div>span{display:block;margin-top:5px;color:var(--muted);font-size:10px}.live-schedule-pill{display:inline-flex;width:max-content;align-items:center;gap:7px;padding:8px 10px;border:1px solid #cde7c5;border-radius:999px;color:var(--green);background:#ffffffd1;font-size:9px;font-weight:720}.weekly-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-group-card{min-width:0;padding:14px;border:1px solid rgba(255,255,255,.86);border-radius:15px;background:#ffffffe0;box-shadow:0 8px 22px #1f32510d}.weekly-group-card.orange{border-bottom:3px solid var(--orange)}.weekly-group-card.green{border-bottom:3px solid var(--green)}.weekly-group-card.yellow{border-bottom:3px solid var(--yellow)}.weekly-group-top{display:flex;align-items:center;gap:10px}.weekly-group-top>span:last-child,.weekly-group-top strong,.weekly-group-top small{display:block}.weekly-group-top strong{font-size:11px}.weekly-group-top small{margin-top:3px;color:var(--muted);font-size:9px}.weekly-group-card .course-icon{width:36px;height:36px;border-radius:10px}.weekly-group-card>p{display:flex;align-items:center;gap:6px;margin:10px 0;color:#5d687c;font-size:9px;font-weight:680}.student-name-chips{display:flex;flex-wrap:wrap;gap:5px}.student-name-chips i{padding:5px 7px;border-radius:999px;color:#556176;background:#f2f5f8;font-size:8px;font-style:normal;font-weight:650}.directory-heading{margin:0 2px 9px}.directory-heading>span,.directory-heading strong,.directory-heading small{display:block}.directory-heading strong{font-size:11px}.directory-heading small{margin-top:2px;color:var(--muted);font-size:8px}.directory-heading .text-button{font-size:9px}.chevron-up{transform:rotate(180deg)}.family-card-header{grid-template-columns:minmax(0,1fr) auto auto auto}.family-header-actions .family-statement-button{width:auto}.family-card:nth-child(3n+1) .family-card-header{background:linear-gradient(90deg,#f3f8ff,#fbfdff)}.family-card:nth-child(3n+2) .family-card-header{background:linear-gradient(90deg,#f5fbf2,#fbfdfb)}.family-card:nth-child(3n+3) .family-card-header{background:linear-gradient(90deg,#fff9eb,#fffdfa)}.family-collapse-button{display:grid;min-width:0;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.family-collapse-button>svg{color:#8b96a9}.family-collapse-button>span:last-child,.family-collapse-button strong,.family-collapse-button small{display:block;min-width:0}.family-collapse-button strong{font-size:12px}.family-collapse-button small{margin-top:4px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.family-card.collapsed .family-card-header{border-radius:18px}.family-student-row .mini-progress{width:min(150px,100%)}.inline-create-button{display:flex;min-height:40px;align-items:center;justify-content:center;gap:7px;margin-top:-7px;border:1px dashed #a9c2f1;border-radius:10px;color:var(--blue);background:var(--blue-soft);font-size:10px;font-weight:700;cursor:pointer}.subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}.subsection-heading strong,.subsection-heading small{display:block}.subsection-heading strong{font-size:11px}.subsection-heading small{margin-top:3px;color:var(--muted);font-size:9px}.subsection-heading button{border:0;color:var(--blue);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.registration-modal{width:min(760px,100%);max-height:min(92vh,820px)}.colorful-modal-header{position:relative;background:linear-gradient(112deg,#f4f9ff,#f8fff4 64%,#fff9df)}.colorful-modal-header:after{position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--blue),var(--green),var(--yellow));content:""}.registration-stepper{display:flex;align-items:center;padding:17px 25px 0}.registration-stepper span{display:flex;align-items:center;gap:7px;color:#98a2b3;font-size:9px;font-weight:700}.registration-stepper span.active{color:var(--blue)}.registration-stepper i{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#edf0f4;font-size:9px;font-style:normal}.registration-stepper span.active i{color:#fff;background:var(--blue)}.registration-stepper b{height:1px;flex:1;margin:0 9px;background:var(--line)}.registration-step{padding:22px 25px}.family-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.family-mode button{display:flex;min-height:43px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:11px;color:var(--muted);background:#fff;font-size:10px;font-weight:680;cursor:pointer}.family-mode button.selected{border-color:#acc6f4;color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px #1469dc0f}.form-divider{position:relative;height:20px;margin-top:2px;border-bottom:1px solid var(--line)}.form-divider span{position:absolute;bottom:-7px;left:0;padding-right:9px;color:#758096;background:#fff;font-size:9px;font-weight:720;letter-spacing:.04em;text-transform:uppercase}.course-registration-step{display:grid;gap:15px}.key-question{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #d5e3f8;border-radius:13px;color:var(--blue);background:#f7faff}.key-question strong,.key-question small{display:block}.key-question strong{font-size:11px}.key-question small{margin-top:3px;color:var(--muted);font-size:9px}.course-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.course-choice-card{overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff}.course-choice-card.selected.blue{border-color:#a9c6f6;background:var(--blue-soft)}.course-choice-card.selected.green{border-color:#bfe4b4;background:var(--green-soft)}.course-choice-card.selected.orange{border-color:#f1c6aa;background:var(--orange-soft)}.course-choice-card.selected.yellow{border-color:#eed47e;background:var(--yellow-soft)}.course-choice{display:flex;min-width:0;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;color:inherit;background:#fff;text-align:left;cursor:pointer}.course-choice-card>.course-choice{width:100%;border:0;border-radius:0;background:transparent}.course-choice:disabled{opacity:.58;cursor:not-allowed}.course-choice.selected.blue{border-color:#a9c6f6;background:var(--blue-soft)}.course-choice.selected.green{border-color:#bfe4b4;background:var(--green-soft)}.course-choice.selected.orange{border-color:#f1c6aa;background:var(--orange-soft)}.course-choice.selected.yellow{border-color:#eed47e;background:var(--yellow-soft)}.course-choice>span:last-child,.course-choice strong,.course-choice small,.course-choice em{display:block;min-width:0}.course-choice strong{font-size:10px}.course-choice small{margin-top:3px;color:var(--muted);font-size:9px}.course-choice em{margin-top:4px;color:#7c8799;font-size:8px;font-style:normal;font-weight:650}.course-choice .course-icon{width:36px;height:36px}.course-group-picker{display:grid;gap:6px;padding:0 12px 12px}.course-group-picker>span{color:var(--muted);font-size:8px;font-weight:720;text-transform:uppercase}.course-group-picker select{width:100%;min-height:39px;padding:0 9px;border:1px solid rgba(35,105,237,.2);border-radius:9px;color:var(--ink);background:#ffffffeb;font-size:9px}.capacity-warning{display:block;color:#b0522a;font-size:8px;line-height:1.35}.selected-course-summary.warning{color:#a9532a;background:var(--orange-soft)}.schedule-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-details-grid label{display:grid;gap:7px}.schedule-details-grid label>span{color:#59657a;font-size:10px;font-weight:680}.schedule-details-grid input{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;outline:0;font-size:11px}.selected-course-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:11px;color:var(--green);background:var(--green-soft)}.selected-course-summary strong{font-size:10px}.selected-course-summary span{color:#65746b;font-size:8px;text-align:right}.confirmation-step{display:grid;gap:13px}.confirmation-hero,.confirmation-question,.confirmation-schedules article,.payment-later{display:flex;align-items:center;gap:11px}.confirmation-hero{padding:5px 2px 10px}.confirmation-hero h3{margin:0;font-size:16px}.confirmation-hero small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.confirmation-question{padding:12px 13px;border:1px solid #cbe6c4;border-radius:12px;color:var(--green);background:var(--green-soft)}.confirmation-question strong,.confirmation-question small{display:block}.confirmation-question strong{font-size:10px}.confirmation-question small{margin-top:3px;color:#66776b;font-size:9px}.confirmation-schedules{display:grid;gap:7px}.confirmation-schedules article{min-height:57px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff}.confirmation-schedules article>span:nth-child(2){min-width:0;flex:1}.confirmation-schedules strong,.confirmation-schedules small{display:block}.confirmation-schedules strong{font-size:10px}.confirmation-schedules small{margin-top:3px;color:var(--muted);font-size:9px}.confirmation-schedules .course-icon{width:35px;height:35px}.payment-later{padding:11px 12px;border-radius:11px;background:#f7f9fc}.payment-later input{accent-color:var(--blue)}.payment-later strong,.payment-later small{display:block}.payment-later strong{font-size:10px}.payment-later small{margin-top:3px;color:var(--muted);font-size:9px}.drawer-backdrop{display:flex;justify-content:flex-end;padding:0}.student-drawer{width:min(420px,100%);height:100%;overflow:auto;background:#fff;box-shadow:-20px 0 60px #0d1c342e;animation:drawer-in .2s ease both}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.drawer-header{display:flex;justify-content:flex-end;padding:18px 20px 0}.student-hero{padding:5px 27px 22px;text-align:center}.avatar.large{width:68px;height:68px;margin:0 auto 13px;border-radius:21px;font-size:18px}.student-hero h2{margin:0;font-size:21px}.student-hero p{margin:5px 0 11px;color:var(--muted);font-size:11px}.active-pill{color:var(--green);background:var(--green-soft)}.drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 25px 21px}.drawer-actions button{display:flex;min-height:41px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:10px;font-weight:680;cursor:pointer}.drawer-actions button:first-child{border-color:#cbe9d9;color:var(--green);background:var(--green-soft)}.drawer-section{margin:0 25px;padding:20px 0;border-top:1px solid var(--line)}.drawer-section h3{margin:8px 0 10px;font-size:15px}.drawer-course-list{display:grid;gap:8px;margin-top:10px}.drawer-course-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px}.drawer-course-list strong,.drawer-course-list small{display:block}.drawer-course-list em{display:block;margin-top:4px;color:var(--muted);font-size:7.5px;font-style:normal}.enrollment-model-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #d5e0f7;border-radius:12px;background:#f5f8ff}.enrollment-model-summary strong,.enrollment-model-summary small{display:block}.enrollment-model-summary strong{font-size:10px}.enrollment-model-summary small,.enrollment-model-summary em,.price-adjustment{color:var(--muted);font-size:8px;font-style:normal}.price-adjustment{color:var(--green);font-weight:700}.drawer-course-list strong{font-size:10px}.drawer-course-list small{margin-top:3px;color:var(--muted);font-size:8px}.session-eyebrow{margin-top:20px}.detail-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;font-size:10px}.detail-line span{color:var(--muted)}.session-balance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0 10px}.session-balance>div{padding:10px;border-radius:10px;background:var(--soft);text-align:center}.session-balance strong,.session-balance span{display:block}.session-balance strong{font-size:15px}.session-balance span{margin-top:2px;color:var(--muted);font-size:8px}.text-orange{color:var(--orange)}.text-green{color:var(--green)}.course-hierarchy-note,.balance-separation-note{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid #dce7fa;border-radius:15px;background:linear-gradient(100deg,#f5f9ff,#fbfdff)}.course-hierarchy-note>div,.balance-separation-note>div{min-width:0;flex:1}.course-hierarchy-note strong,.course-hierarchy-note small,.balance-separation-note strong,.balance-separation-note small{display:block}.course-hierarchy-note strong,.balance-separation-note strong{font-size:11px}.course-hierarchy-note small,.balance-separation-note small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.45}.course-hierarchy-note>span:last-child{color:var(--blue);font-size:9px;font-weight:720;white-space:nowrap}.balance-separation-note{border-color:#d9ede3;background:linear-gradient(100deg,#f2fbf6,#fbfefc)}.group-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 11px;border-radius:11px;background:var(--soft)}.group-preview>span:first-child strong,.group-preview>span:first-child small{display:block}.group-preview>span:first-child strong{font-size:10px}.group-preview>span:first-child small{margin-top:3px;color:var(--muted);font-size:8px}.group-preview.empty{border:1px dashed #d6dce6;background:#fbfcfe}.agenda-command-bar{display:grid;grid-template-columns:120px 120px minmax(180px,1fr) minmax(170px,.8fr);align-items:end;gap:10px;margin-bottom:12px;padding:13px 15px;border:1px solid var(--line);border-radius:15px;background:#fff}.agenda-command-bar>span{display:flex;min-height:42px;flex-direction:column;justify-content:center;padding-right:12px;border-right:1px solid var(--line)}.agenda-command-bar>span strong{font-size:17px}.agenda-command-bar>span small{margin-top:2px;color:var(--muted);font-size:8px}.agenda-command-bar label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}.agenda-command-bar select{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:10px}.agenda-class.operational{align-items:start;min-height:132px;padding:16px 0}.agenda-class.operational .agenda-bar{height:70px}.agenda-bar.yellow{background:var(--yellow)}.agenda-name-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.agenda-name-list i{padding:5px 7px;border-radius:8px;color:#506079;background:var(--soft);font-size:8px;font-style:normal;font-weight:680}.schedule-conflict{display:flex;align-items:flex-start;gap:6px;margin-top:9px;padding:7px 8px;border-radius:8px;color:#a84b23;background:var(--orange-soft)}.schedule-conflict span{margin:0;color:inherit;font-size:8px;line-height:1.4}.agenda-side-stack{display:grid;align-self:start;gap:15px}.recent-change-card{padding:17px}.recent-change-card .panel-header{margin-bottom:12px}.recent-change-card>strong{display:block;font-size:10px}.recent-change-card>p{margin:5px 0;color:var(--blue);font-size:9px;font-weight:700}.recent-change-card>small{display:block;margin-bottom:12px;color:var(--muted);font-size:8px}.empty-agenda{display:grid;min-height:180px;place-items:center;align-content:center;gap:7px;color:#99a4b5;text-align:center}.empty-agenda strong{color:var(--ink);font-size:11px}.empty-agenda span{color:var(--muted);font-size:9px}.correction-reason{display:grid;gap:6px;margin:0 22px 16px}.correction-reason>span{color:var(--muted);font-size:9px;font-weight:680}.correction-reason input{min-height:39px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:10px}.modal-inline-error{display:flex;align-items:center;gap:7px;margin:0 22px 14px;padding:9px 11px;border:1px solid #f4c9c9;border-radius:10px;color:#a13b3b;background:#fff5f5;font-size:10px}.balance-form-heading{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:11px;background:var(--blue-soft)}.balance-form-heading.financial{background:var(--green-soft)}.balance-form-heading strong,.balance-form-heading small{display:block}.balance-form-heading strong{font-size:10px}.balance-form-heading small{margin-top:2px;color:var(--muted);font-size:8px}.edit-enrollment-student{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin:15px 22px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.edit-enrollment-student strong,.edit-enrollment-student small{display:block}.edit-enrollment-student strong{font-size:11px}.edit-enrollment-student small{margin-top:3px;color:var(--muted);font-size:8px}.active-pill.paused{color:#9c7100;background:var(--yellow-soft)}.enrollment-edit-form{padding-bottom:12px}.enrollment-edit-form input[readonly]{color:#59677d;background:var(--soft);cursor:default}.status-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.status-choice button{min-height:36px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:9px;font-weight:680;cursor:pointer}.status-choice button.selected{border-color:#b8cdf5;color:var(--blue);background:var(--blue-soft)}.dual-balance-preview{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 22px 14px}.dual-balance-preview article{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px}.dual-balance-preview small,.dual-balance-preview strong,.dual-balance-preview em{display:block}.dual-balance-preview small{color:var(--muted);font-size:8px}.dual-balance-preview strong{margin-top:3px;font-size:10px}.dual-balance-preview em{margin-top:4px;color:#8792a4;font-size:7px;font-style:normal;line-height:1.4}.enrollment-reason{margin-bottom:10px}.history-protection{display:flex;align-items:center;gap:9px;margin:0 22px 14px;padding:9px 10px;border-radius:10px;color:#5e6d84;background:var(--soft)}.history-protection strong,.history-protection small{display:block}.history-protection strong{font-size:9px}.history-protection small{margin-top:2px;font-size:8px}.course-admin-modal{width:min(900px,100%)}.course-admin-hierarchy{display:flex;align-items:center;gap:9px;margin:15px 22px 0;padding:10px 12px;border-radius:11px;background:var(--soft)}.course-admin-hierarchy>span{min-width:0}.course-admin-hierarchy small,.course-admin-hierarchy strong{display:block}.course-admin-hierarchy small{color:#8c97a9;font-size:7px;letter-spacing:.08em}.course-admin-hierarchy strong{margin-top:3px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.group-switcher{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:14px 22px 0;padding-bottom:14px;border-bottom:1px solid var(--line)}.group-switcher>div{min-width:0;flex:1}.group-switch-list{display:flex;gap:8px;margin-top:7px;overflow-x:auto;scrollbar-width:none}.group-switch-list::-webkit-scrollbar{display:none}.group-switch-list button{display:grid;min-width:158px;gap:3px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;text-align:left;cursor:pointer}.group-switch-list button.selected{border-color:#a9c7f7;color:var(--blue);background:var(--blue-soft);box-shadow:inset 0 0 0 1px #1469dc14}.group-switch-list span{font-size:9px;font-weight:750}.group-switch-list small{color:var(--muted);font-size:7px;white-space:nowrap}.group-new-button{display:inline-flex;min-height:37px;flex:0 0 auto;align-items:center;gap:6px;padding:0 12px;border:1px solid #cadcf9;border-radius:10px;color:var(--blue);background:var(--blue-soft);font-size:9px;font-weight:720;cursor:pointer}.course-admin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:17px;padding:18px 22px}.course-admin-form,.group-roster-panel{min-width:0}.course-admin-form .form-grid{padding:14px 0 0}.subsection-heading button{display:inline-flex;align-items:center;gap:5px}.schedule-live-preview,.course-concept-note{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #d5e3fa;border-radius:11px;color:var(--blue);background:#f5f9ff}.schedule-live-preview strong,.schedule-live-preview small,.course-concept-note strong,.course-concept-note small{display:block}.schedule-live-preview strong,.course-concept-note strong{font-size:9px}.schedule-live-preview small,.course-concept-note small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.group-roster-panel{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.group-roster-panel .capacity-track{margin:12px 0}.group-roster-list{display:grid;gap:6px}.group-roster-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#fff}.group-roster-list strong,.group-roster-list small{display:block}.group-roster-list strong{font-size:9px}.group-roster-list small{margin-top:3px;color:var(--muted);font-size:7px}.group-roster-list button{display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--blue);background:#fff;cursor:pointer}.course-save-note{margin-right:auto;color:var(--muted);font-size:8px}.new-course-modal{width:min(720px,100%)}.new-course-step{min-height:295px;align-content:start}.new-course-confirmation{display:grid;gap:14px;min-height:295px;padding:22px 25px}.new-course-summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.new-course-summary-card h3{margin:2px 0 4px;font-size:16px}.new-course-summary-card small{color:var(--muted);font-size:9px}.new-course-link{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:14px;border-radius:13px;background:var(--soft)}.new-course-link>svg{color:#a8b2c3}.new-course-link>span{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:7px;align-items:center;min-width:0}.new-course-link i{display:grid;grid-row:1 / 3;width:25px;height:25px;place-items:center;border-radius:8px;color:var(--blue);background:#fff;font-size:8px;font-style:normal;font-weight:800}.new-course-link strong,.new-course-link small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-course-link strong{font-size:9px}.new-course-link small{margin-top:2px;color:var(--muted);font-size:7px}.history-modal{width:min(720px,100%)}.history-list{display:grid;gap:0;padding:8px 22px 18px}.history-list article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.history-area{width:max-content;height:max-content;padding:6px 8px;border-radius:999px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:720}.history-list strong,.history-list small{display:block}.history-list strong{font-size:10px}.history-list small{margin-top:6px;color:var(--muted);font-size:8px}.history-list p{margin:7px 0 0;color:#5e697c;font-size:9px}.history-diff{display:flex;align-items:center;gap:7px;margin-top:8px}.history-diff i{color:#a75a39;text-decoration:line-through}.history-diff b{color:var(--green)}.history-diff i,.history-diff b{padding:4px 6px;border-radius:6px;background:var(--soft);font-size:8px;font-style:normal}.history-footer-note{display:inline-flex;align-items:center;gap:6px;margin-right:auto;color:var(--muted);font-size:8px}.drawer-actions{grid-template-columns:1fr 1fr 1fr}.drawer-actions button:first-child{border-color:#ccdcf8;color:var(--blue);background:var(--blue-soft)}.drawer-balance-grid{display:grid}.drawer-section.academic,.drawer-section.financial{border-top:3px solid var(--blue)}.drawer-section.financial{border-top-color:var(--green)}.drawer-section>small:last-child{display:block;margin-top:10px;color:var(--muted);font-size:8px}.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}.page-heading{display:flex;align-items:center}.page-heading p{margin:0;font-size:11px}.settings-link.active{color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 var(--blue)}.floating-action-dock{position:fixed;right:28px;bottom:24px;z-index:26;display:flex;align-items:center;gap:9px;padding:0;border:0;background:transparent}.floating-action-dock>button{display:flex;min-height:45px;align-items:center;gap:8px;padding:4px 12px 4px 5px;border:1px solid transparent;border-radius:14px;color:#fff;font-size:10px;font-weight:720;cursor:pointer;transition:.16s ease;box-shadow:0 12px 26px #1f32512b}.floating-action-dock>button:nth-child(1){border-color:#0f5fcf;background:var(--blue)}.floating-action-dock>button:nth-child(2){border-color:#378e21;background:var(--green)}.floating-action-dock>button:nth-child(3){border-color:#db6d2d;background:var(--orange)}.floating-action-dock>button:hover{transform:translateY(-1px);filter:brightness(.96)}.floating-action-dock .action-icon{width:36px;height:36px;color:#fff;background:#ffffff2e}.floating-action-dock~.toast{bottom:98px}.mobile-today-panel{display:none}.info-toggle{min-width:42px}.info-toggle.active{border-color:#bfd3f8;color:var(--blue);background:var(--blue-soft)}.help-reveal{animation:help-reveal .18s ease both}@keyframes help-reveal{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.context-help{display:flex;align-items:flex-start;gap:11px;margin:-8px 0 16px;padding:13px 15px;border:1px solid #d8e5f8;border-radius:14px;color:var(--blue);background:linear-gradient(105deg,#f4f8ff,#fbfdff)}.context-help strong,.context-help small{display:block}.context-help strong{font-size:10px}.context-help small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.agenda-intro{align-items:center;margin-bottom:16px}.agenda-intro-actions{flex-wrap:wrap;justify-content:flex-end}.agenda-new-session-button{white-space:nowrap}.agenda-view-toggle{display:flex;align-items:center;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff}.agenda-view-toggle button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-size:9px;font-weight:700;cursor:pointer}.agenda-view-toggle button.active{color:var(--blue);background:var(--blue-soft)}.agenda-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:15px}.agenda-date-row .week-strip{margin-bottom:0}.agenda-week-navigation{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 12px}.agenda-week-label{display:flex;min-width:0;align-items:center;gap:9px;color:var(--blue)}.agenda-week-label>span{min-width:0}.agenda-week-label strong,.agenda-week-label small{display:block}.agenda-week-label strong{overflow:hidden;color:var(--ink);font-size:11px;white-space:nowrap;text-overflow:ellipsis}.agenda-week-label small{margin-top:2px;color:var(--muted);font-size:8px}.agenda-week-navigation .date-controls{gap:6px}.agenda-week-navigation .date-controls button{height:36px;min-width:36px}.agenda-week-navigation .agenda-today-button{min-width:52px}.week-strip i{display:block;flex:0 0 auto}.calendar-scroll{max-height:min(72vh,720px);max-height:min(72dvh,720px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 30px #1f325109}.calendar-week{min-width:980px}.calendar-week.view-day,.calendar-week.view-three{min-width:0}.calendar-week-header,.calendar-week-body{display:grid;grid-template-columns:58px repeat(7,minmax(128px,1fr))}.calendar-week-header{position:sticky;top:0;z-index:5;min-height:50px;border-bottom:1px solid var(--line);background:#fffffff7}.calendar-corner{display:grid;place-items:center;color:#9aa4b4;font-size:7px}.calendar-week-header button{display:grid;place-items:center;align-content:center;gap:3px;border:0;border-left:1px solid var(--line);background:transparent;cursor:pointer}.calendar-week-header button span{color:var(--muted);font-size:8px;text-transform:uppercase}.calendar-week-header button strong{font-size:13px}.calendar-week-header button.active strong{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;color:#fff;background:var(--blue)}.calendar-week-body{min-height:0}.calendar-time-column,.calendar-day-column{position:relative;min-height:0}.calendar-time-column span{position:absolute;right:8px;color:#9aa4b4;font-size:7px;transform:translateY(-4px)}.calendar-day-column{border-left:1px solid var(--line);background:#fff;cursor:crosshair;transition:background-color .12s ease}.calendar-day-column:hover{background-color:#1469dc05}.calendar-slot-preview{position:absolute;right:3px;left:3px;z-index:2;border:2px solid var(--blue);border-radius:6px;background:#2369ed14;pointer-events:none}.calendar-slot-preview i{position:absolute;top:3px;left:5px;color:var(--blue);font-size:7px;font-style:normal;font-weight:760}.calendar-day-column.is-today{background-color:#1469dc06}.calendar-day-column.is-selected{box-shadow:inset 0 0 0 1px #1469dc1f}.calendar-grid-line{position:absolute;right:0;left:0;z-index:0;height:1px;background:#e4e9f1b8}.calendar-grid-line.hour{background:#d5dce7f0}.calendar-now-line{position:absolute;right:0;left:0;z-index:4;height:2px;background:#e25252;pointer-events:none}.calendar-now-line:before{position:absolute;top:-3px;left:-4px;width:8px;height:8px;border-radius:50%;background:#e25252;content:""}.calendar-now-line span{position:absolute;top:-10px;left:5px;max-width:calc(100% - 9px);overflow:hidden;padding:2px 5px;border-radius:5px;color:#fff;background:#e25252;font-size:6px;font-weight:760;white-space:nowrap;text-overflow:ellipsis}.calendar-now-line.before-range,.calendar-now-line.after-range{height:1px;background:repeating-linear-gradient(90deg,#e25252 0 5px,transparent 5px 9px)}.calendar-event{position:absolute;right:auto;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px;overflow:hidden;padding:6px 18px 6px 6px;border:1px solid transparent;border-radius:9px;color:#26446f;background:#eaf3ff;cursor:grab;box-shadow:0 5px 12px #1f325114;touch-action:pan-y}.calendar-touch-ghost{position:fixed;z-index:130;display:flex;align-items:center;gap:6px;transform:translate(-50%,-130%);padding:9px 11px;border:1px solid #9fbef4;border-radius:10px;color:var(--blue);background:#fffffff5;box-shadow:0 12px 30px #1f325138;font-size:8px;font-weight:750;pointer-events:none}.calendar-event:active{cursor:grabbing}.calendar-event.orange{color:#8a4b27;background:#fff0e7}.calendar-event.green{color:#2f6d3c;background:#edf9e8}.calendar-event.yellow{color:#745b16;background:#fff8d8}.calendar-event.selected{border-color:currentColor;box-shadow:0 0 0 2px #1469dc1f,0 7px 18px #1f32511f}.calendar-event.has-conflict{border-color:var(--orange)}.calendar-event>svg:first-child{margin-top:1px;opacity:.55}.calendar-conflict-icon{position:absolute;top:6px;right:5px;color:#dc6230}.calendar-event-compact{display:none!important}.calendar-event strong,.calendar-event small{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.calendar-event strong{font-size:8px;line-height:1.25;white-space:normal;-webkit-line-clamp:2}.calendar-event small{margin-top:3px;font-size:7px;line-height:1.25;opacity:.8;-webkit-line-clamp:1}.agenda-interaction-hint{display:flex;width:max-content;max-width:100%;align-items:center;gap:6px;margin:-3px 0 10px auto;color:var(--muted);font-size:8px}.agenda-hint-mobile{display:none}.calendar-quick-editor{display:grid;grid-template-columns:minmax(230px,1.2fr) 120px 120px minmax(140px,.8fr) minmax(140px,.8fr);align-items:end;gap:11px;margin-top:12px;padding:14px;border:1px solid #d8e5f8;border-radius:16px;background:linear-gradient(105deg,#f7faff,#fff)}.calendar-quick-editor.conflict{border-color:#f2c6ae;background:linear-gradient(105deg,#fff9f5,#fff)}.calendar-selection{display:flex;align-items:center;gap:10px;min-width:0}.calendar-selection>span:last-child{min-width:0}.calendar-selection strong,.calendar-selection small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-selection strong{font-size:11px}.calendar-selection small{margin-top:3px;color:var(--muted);font-size:8px}.calendar-quick-editor label>span,.quick-adjust>span{display:block;margin-bottom:5px;color:var(--muted);font-size:8px;font-weight:700;text-transform:uppercase}.calendar-quick-editor select,.calendar-quick-editor input{width:100%;min-height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:9px}.quick-adjust>div{display:grid;grid-template-columns:1fr 1fr}.quick-adjust button{min-height:38px;border:1px solid var(--line);color:var(--blue);background:#fff;font-size:8px;font-weight:700;cursor:pointer}.quick-adjust button:first-child{border-radius:9px 0 0 9px}.quick-adjust button:last-child{margin-left:-1px;border-radius:0 9px 9px 0}.calendar-conflict-alert{display:flex;grid-column:1 / -1;align-items:flex-start;gap:8px;padding:9px 10px;border-radius:10px;color:#aa4f26;background:var(--orange-soft)}.calendar-conflict-alert strong,.calendar-conflict-alert small{display:block}.calendar-conflict-alert strong{font-size:9px}.calendar-conflict-alert small{margin-top:2px;font-size:8px}.calendar-session-modal{display:grid;width:min(780px,100%);max-height:min(92vh,760px);max-height:min(92dvh,760px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.calendar-session-modal .modal-header{align-items:center}.calendar-session-modal .modal-header .eyebrow{margin-bottom:4px}.calendar-session-body{display:grid;gap:15px;overflow-y:auto;padding:20px 25px}.calendar-session-course-row,.calendar-session-schedule-grid{display:grid;gap:13px}.calendar-session-course-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.calendar-session-schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-session-course-row label,.calendar-session-schedule-grid label{display:grid;min-width:0;gap:6px}.calendar-session-course-row label>span,.calendar-session-schedule-grid label>span{color:var(--muted);font-size:8px;font-weight:720;letter-spacing:.02em;text-transform:uppercase}.calendar-session-course-row select,.calendar-session-schedule-grid select,.calendar-session-schedule-grid input{width:100%;min-width:0;min-height:42px;padding:0 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;font-size:10px;color-scheme:light}.calendar-session-schedule-grid input[type=date],.calendar-session-schedule-grid input[type=time]{font:inherit;font-variant-numeric:tabular-nums}.calendar-session-schedule-grid input::-webkit-calendar-picker-indicator{opacity:.72;cursor:pointer}.dashboard-empty-copy{display:block;padding:16px 4px;color:var(--muted);font-size:9px}.calendar-session-course-row select:focus,.calendar-session-schedule-grid select:focus,.calendar-session-schedule-grid input:focus{border-color:#9fbef4;outline:3px solid rgba(20,105,220,.09)}.calendar-session-course-row select:disabled{color:#9aa4b4;background:#f7f9fc}.calendar-session-students{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.calendar-session-students>div:first-child{display:flex;min-height:49px;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:#fff}.calendar-session-students strong,.calendar-session-students small{display:block}.calendar-session-students strong{font-size:10px}.calendar-session-students small{margin-top:3px;color:var(--muted);font-size:8px}.calendar-session-students>p{margin:0;padding:17px 12px;color:var(--muted);font-size:9px;text-align:center}.calendar-session-student-actions{display:flex;align-items:center;gap:8px}.calendar-enroll-student{display:inline-flex;min-height:31px;align-items:center;gap:6px;padding:0 10px;border:1px solid #bfd2f6;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:740;cursor:pointer}.calendar-register-student{display:inline-flex;min-height:31px;align-items:center;gap:6px;padding:0 10px;border:1px solid #cfe7d7;border-radius:9px;color:#218740;background:var(--green-soft);font-size:8px;font-weight:740;cursor:pointer}.calendar-enroll-student:disabled{opacity:.45;cursor:not-allowed}.calendar-quick-enrollment{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;gap:9px;padding:10px 12px;border-bottom:1px solid var(--line);background:#f4f8ff}.calendar-quick-enrollment label{display:grid;gap:5px}.calendar-quick-enrollment label>span{color:var(--muted);font-size:7px;font-weight:740;text-transform:uppercase}.calendar-quick-enrollment select{width:100%;min-width:0;min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fff;font-size:9px}.calendar-quick-enrollment .primary-button{min-height:36px}.calendar-quick-enrollment>small{grid-column:1 / -1;color:var(--muted);font-size:8px}.calendar-scale-control{display:flex;height:36px;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.calendar-scale-control span{color:var(--muted);font-size:7px;font-weight:740;text-transform:uppercase}.calendar-scale-control select{border:0;outline:0;color:var(--ink);background:transparent;font-size:9px;font-weight:700}.calendar-month{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 30px #1f325109}.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-weekdays{min-height:37px;align-items:center;border-bottom:1px solid var(--line);background:#fafbfc}.calendar-month-weekdays span{color:var(--muted);font-size:8px;font-weight:760;text-align:center;text-transform:uppercase}.calendar-month-grid button{position:relative;display:grid;min-width:0;min-height:104px;align-content:start;gap:6px;padding:8px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.calendar-month-grid button.outside{background:#fafbfc;opacity:.5}.calendar-month-grid button.today strong{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:#fff;background:var(--blue)}.calendar-month-grid button>strong{font-size:10px}.calendar-month-grid button>span{display:grid;gap:3px;min-width:0}.calendar-month-grid button i{overflow:hidden;padding:3px 5px;border-radius:5px;color:var(--blue);background:var(--blue-soft);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.calendar-month-grid button i.green{color:var(--green);background:var(--green-soft)}.calendar-month-grid button i.orange{color:var(--orange);background:var(--orange-soft)}.calendar-month-grid button i.yellow{color:#9a7100;background:var(--yellow-soft)}.calendar-month-grid button>small{color:var(--muted);font-size:7px}.attendance-session-picker{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:5px 12px;padding:12px 25px;border-bottom:1px solid var(--line);background:#fff}.attendance-session-picker>span{color:var(--ink);font-size:9px;font-weight:740}.attendance-session-picker select{min-width:0;min-height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;font-size:9px}.attendance-session-picker small{grid-column:2;color:var(--muted);font-size:7px}.whatsapp-share-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #bfe7cf;border-radius:12px;color:#168b50;background:#e9f8ef;font-size:10px;font-weight:760;cursor:pointer}.calendar-student-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px}.calendar-student-picker button{display:flex;min-width:0;min-height:38px;align-items:center;gap:8px;overflow:hidden;padding:0 9px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:9px;font-weight:650;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-student-picker button.selected{border-color:#b9cef4;color:var(--blue);background:var(--blue-soft)}.calendar-student-check{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;border:1px solid #cfd6e2;border-radius:6px;color:#fff;background:#fff}.calendar-student-picker button.selected .calendar-student-check{border-color:var(--blue);background:var(--blue)}.calendar-session-conflict{grid-column:auto}.calendar-session-footer{align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:16px;background:#fff}.calendar-session-footer>div{display:flex;gap:8px}.calendar-session-preview{display:flex;min-width:0;align-items:center;gap:9px;color:var(--blue)}.calendar-session-preview>span{min-width:0}.calendar-session-preview strong,.calendar-session-preview small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-session-preview strong{color:var(--ink);font-size:10px}.calendar-session-preview small{margin-top:3px;color:var(--muted);font-size:8px}.calendar-session-footer .primary-button:disabled{color:#9aa4b4;background:#e8ebf0;box-shadow:none;cursor:not-allowed}.receipt-modal{width:min(780px,100%)}.receipt-preview{position:relative;width:min(650px,calc(100% - 44px));margin:18px auto;padding:22px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 35px #1f325114}.receipt-brand-line{position:absolute;inset:0 0 auto;display:grid;grid-template-columns:42% 32% 26%;height:4px}.receipt-brand-line i:nth-child(1){background:var(--blue)}.receipt-brand-line i:nth-child(2){background:var(--green)}.receipt-brand-line i:nth-child(3){background:var(--yellow)}.receipt-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--line)}.receipt-preview>header>span:last-child{text-align:right}.receipt-brand{display:flex;align-items:center;gap:9px}.receipt-logo{display:block;width:25px;height:32px;flex:0 0 auto;overflow:hidden;border-radius:8px;background:#fff}.receipt-logo .brand-logo-image{background-size:contain;background-repeat:no-repeat}.receipt-preview header strong,.receipt-preview header small{display:block}.receipt-preview header .brand-wordmark{font-size:18px}.receipt-preview header small{margin-top:3px;color:var(--muted);font-size:7px}.receipt-preview header>span:last-child strong{margin-top:4px;font-size:9px}.receipt-title{display:flex;align-items:center;gap:9px;padding:16px 0 12px}.receipt-title>svg{color:var(--blue)}.receipt-title strong,.receipt-title small{display:block}.receipt-title strong{font-size:13px}.receipt-title small{margin-top:3px;color:var(--muted);font-size:8px}.receipt-summary-grid,.receipt-session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.receipt-summary-grid>span{padding:9px 10px;border-radius:9px;background:var(--soft)}.receipt-summary-grid small,.receipt-summary-grid strong,.receipt-detail-list small,.receipt-detail-list strong{display:block}.receipt-summary-grid small,.receipt-detail-list small{color:var(--muted);font-size:7px;text-transform:uppercase}.receipt-summary-grid strong{margin-top:4px;overflow-wrap:anywhere;font-size:clamp(7px,1.25vw,9px);line-height:1.25}.receipt-detail-list{display:grid;gap:0;margin-top:12px}.receipt-detail-list>span{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #edf0f4}.receipt-detail-list strong{font-size:8px}.receipt-session-grid{margin-top:12px;padding:10px;border-radius:10px;background:linear-gradient(100deg,var(--blue-soft),#fff,var(--green-soft));text-align:center}.receipt-session-grid strong,.receipt-session-grid small{display:block}.receipt-session-grid strong{font-size:15px}.receipt-session-grid small{margin-top:2px;color:var(--muted);font-size:7px}.receipt-preview>footer{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px}.receipt-preview footer>span i{display:block;width:150px;margin-bottom:6px;border-top:1px solid #aab2bf}.receipt-preview footer strong,.receipt-preview footer small{display:block}.receipt-preview footer strong{font-size:8px}.receipt-preview footer small{margin-top:2px;color:var(--muted);font-size:7px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.settings-card-heading{display:flex;align-items:flex-start;gap:11px}.settings-card-heading h3{margin:0;font-size:15px}.settings-card-heading small{display:block;margin-top:4px;color:var(--muted);font-size:8px;line-height:1.45}.settings-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0}.settings-stat-row span{padding:9px;border-radius:10px;background:var(--soft);text-align:center}.settings-stat-row strong,.settings-stat-row small{display:block}.settings-stat-row strong{font-size:15px}.settings-stat-row small{margin-top:2px;color:var(--muted);font-size:7px}.settings-courses-card>.secondary-button{width:100%}.settings-rules-card{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:12px}.settings-rules-card .settings-card-heading{grid-column:1 / -1}.settings-rules-card label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:8px;font-weight:700}.settings-rules-card select{width:100%;min-height:40px;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:9px}.plans-config-panel{padding:20px}.plans-config-head,.plans-config-list article{display:grid;grid-template-columns:minmax(125px,.9fr) minmax(160px,1.15fr) minmax(100px,.72fr) 70px 96px minmax(115px,.82fr) 86px;align-items:center;gap:8px}.plans-config-head{padding:0 7px 7px;color:var(--muted);font-size:7px;font-weight:720;text-transform:uppercase}.plans-config-list{display:grid}.plans-config-list article{padding:8px 0;border-top:1px solid var(--line)}.plan-field{display:block;min-width:0}.plan-field-label{display:none}.plans-config-list input,.plans-config-list select{width:100%;min-width:0;min-height:37px;padding:0 8px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:#fff;font-size:8px}.config-money-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff}.config-money-input span{padding-left:8px;color:var(--muted);font-size:8px}.config-money-input input{border:0}.plan-status-toggle{display:flex;min-height:37px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;font-size:8px;font-weight:700;cursor:pointer}.plan-status-toggle span{width:7px;height:7px;border-radius:50%;background:#aab2bf}.plan-status-toggle.active{border-color:#cfe9da;color:var(--green);background:var(--green-soft)}.plan-status-toggle.active span{background:var(--green)}.settings-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.settings-footnote strong,.settings-footnote small{display:block}.settings-footnote strong{font-size:9px}.settings-footnote small{margin-top:2px;color:var(--muted);font-size:8px}.communication-settings-panel{display:grid;gap:13px;margin-bottom:15px}.communication-settings-panel>label{display:grid;gap:6px}.communication-settings-panel>label>span,.brand-config-grid label>span,.member-invite-form label>span{color:var(--muted);font-size:8px;font-weight:720}.communication-settings-panel textarea{width:100%;min-height:138px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font:inherit;font-size:9px;line-height:1.55}.template-token-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.template-token-list>span{color:var(--muted);font-size:8px}.template-token-list button{padding:5px 8px;border:1px solid #bfd2f6;border-radius:7px;color:var(--blue);background:var(--blue-soft);font-size:8px;cursor:pointer}.message-preview{padding:12px;border-radius:11px;background:#f3faf1}.message-preview strong{font-size:9px}.message-preview p{margin:6px 0 0;color:#476052;font-size:8px;line-height:1.55;white-space:pre-wrap}.master-settings-section{margin-bottom:15px;padding:17px;border:1px solid #d8e5f8;border-radius:18px;background:linear-gradient(135deg,#f7faff,#fff)}.master-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}.master-settings-heading h3{margin:0;font-size:17px}.master-settings-heading small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.master-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;color:var(--blue);background:var(--blue-soft);font-size:8px;font-weight:750;white-space:nowrap}.master-settings-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:13px}.brand-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.brand-config-grid label,.member-invite-form label{display:grid;min-width:0;gap:6px}.brand-config-grid .full{grid-column:1 / -1}.brand-config-grid input,.member-invite-form input,.member-invite-form select{width:100%;min-width:0;min-height:39px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:8px}.brand-config-grid input[type=color]{padding:4px}.team-member-list{display:grid;margin-top:12px}.team-member-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;border-top:1px solid var(--line)}.team-member-list strong,.team-member-list small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.team-member-list strong{font-size:9px}.team-member-list small{margin-top:2px;color:var(--muted);font-size:7px}.team-member-list i{padding:4px 7px;border-radius:7px;color:var(--muted);background:var(--soft);font-size:7px;font-style:normal}.team-member-list i.active{color:var(--green);background:var(--green-soft)}.member-invite-form{display:grid;grid-template-columns:1fr 1fr 105px auto;align-items:end;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.member-invite-form .secondary-button{min-height:39px;padding-inline:10px;font-size:8px}.invite-result{grid-column:1 / -1;color:var(--muted);font-size:8px}.receipt-summary-grid>span{min-width:0}.receipt-summary-grid strong{overflow-wrap:anywhere}.modal-header>div>span,.notification-heading small,.notification-list small,.notification-billing-link small,.settings-card-heading small,.master-settings-heading small,.team-member-list small,.settings-footnote small{font-size:10px;line-height:1.4}.notification-list strong,.notification-billing-link strong,.team-member-list strong,.settings-footnote strong{font-size:11px}.form-grid input,.form-grid select,.schedule-details-grid input{font-size:13px}.calendar-event strong{font-size:9px}.calendar-event small{font-size:8px}.calendar-quick-editor label>span,.quick-adjust>span,.calendar-session-course-row label>span,.calendar-session-schedule-grid label>span{font-size:9px}.calendar-quick-editor select,.calendar-quick-editor input,.calendar-session-course-row select,.calendar-session-schedule-grid select,.calendar-session-schedule-grid input{font-size:12px}.settings-rules-card label>span,.communication-settings-panel>label>span,.brand-config-grid label>span,.member-invite-form label>span,.plan-field-label{font-size:10px}.settings-rules-card select,.communication-settings-panel textarea,.brand-config-grid input,.member-invite-form input,.member-invite-form select,.plans-config-list input,.plans-config-list select,.plan-status-toggle{font-size:11px}.account-statement-button{min-height:38px}.context-payment-button{width:38px;min-width:38px;height:38px}.student-statement-button{width:38px}.course-actions button{min-height:40px}.calendar-register-student,.calendar-enroll-student{min-height:36px;font-size:9px}.toast{position:fixed;right:28px;bottom:28px;z-index:100;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 40px));padding:13px 16px;border:1px solid #cde8da;border-radius:13px;color:#266345;background:#fff;box-shadow:0 16px 45px #0d1c342b;font-size:11px;font-weight:650;animation:toast-in .2s ease both}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.toast-icon{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;color:#fff;background:var(--green)}@media(max-width:1120px){.stats-grid{grid-template-columns:repeat(2,1fr)}.today-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.today-roster-heading{grid-column:1 / -1}.quick-actions{grid-template-columns:1fr}.quick-actions>button{min-height:62px}.student-table{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) minmax(140px,.85fr) 90px 24px;gap:12px}.student-row-details{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(150px,.8fr);gap:11px}.billing-family-summary{grid-template-columns:minmax(240px,1fr) auto;gap:9px}.agenda-command-bar{grid-template-columns:100px 100px minmax(160px,1fr) minmax(150px,.8fr)}.agenda-intro{align-items:flex-start;flex-direction:column;gap:12px}.agenda-intro-actions{width:100%;justify-content:flex-start}.calendar-quick-editor{grid-template-columns:minmax(220px,1fr) 110px 110px}.quick-adjust{grid-row:2}.plans-config-head,.plans-config-list article{grid-template-columns:minmax(120px,.9fr) minmax(145px,1.1fr) minmax(95px,.72fr) 62px 86px minmax(105px,.8fr) 76px}}@media(max-width:900px){.sidebar{width:280px;transform:translate(-105%);transition:transform .19s ease}.sidebar.is-open{transform:none}.sidebar-close{display:grid;position:absolute;top:23px;right:16px}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;border:0;background:#151f3273}.main-content{margin-left:0}.mobile-brand{display:flex;align-items:center;gap:8px}.mobile-brand .icon-button{margin-right:2px}.mini-brand-mark{width:28px;height:28px;border-radius:9px;font-size:13px;font-weight:800}.mobile-brand strong{font-size:15px}.page-heading{display:none}.dashboard-grid,.agenda-layout{grid-template-columns:1fr}.attendance-rule-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.attendance-rule-card>.rule-icon{grid-row:1 / 3}.attendance-rule-card h3{margin:0;align-self:center}.attendance-rule-card>div{grid-column:1 / -1}.attendance-rule-card>.soft-tag{width:max-content}.student-table{grid-template-columns:minmax(190px,1.2fr) minmax(150px,1fr) 100px 24px}.student-table>span:nth-child(3),.student-row>span:nth-child(3){display:none}.student-row-details{grid-template-columns:minmax(170px,1fr) minmax(190px,1fr)}.student-row-details .session-cell{display:none}.weekly-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-group-card:last-child{grid-column:1 / -1}.agenda-command-bar{grid-template-columns:1fr 1fr}.agenda-command-bar>label{grid-row:2}.course-admin-layout{grid-template-columns:1fr}.group-roster-panel{min-height:0}.agenda-intro-actions{justify-content:flex-start}.settings-grid{grid-template-columns:1fr}.plans-config-panel{overflow:auto}.plans-config-head,.plans-config-list{min-width:970px}}@media(max-width:680px){input,select,textarea{font-size:16px!important}.topbar{min-height:67px;padding:10px 16px}.topbar .icon-button{width:44px;height:44px}.notification-popover{position:fixed;top:58px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 74px)}.notification-heading button{width:38px;height:38px}.notification-list{max-height:min(48dvh,360px)}.notification-list>button,.notification-billing-link{min-height:54px}.top-actions .primary-button{display:none}.content-wrap{padding:23px 15px 158px}.app-shell.colorful .welcome-row{padding:17px}.welcome-row,.section-intro{align-items:flex-start;margin-bottom:20px}.welcome-row h2,.section-intro h2{font-size:24px}.week-chip,.desktop-today-roster,.desktop-schedule-panel{display:none}.mobile-today-panel{display:block;margin:-7px 0 12px;padding:12px}.today-view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border-radius:11px;background:var(--soft)}.today-view-toggle button{display:flex;min-height:38px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:9px;font-weight:720}.today-view-toggle button.active{color:var(--blue);background:#fff;box-shadow:0 4px 10px #1f325114}.today-view-toggle button span{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;color:var(--blue);background:var(--blue-soft);font-size:7px}.mobile-roster-list,.mobile-class-list{display:grid;margin-top:8px}.mobile-roster-list article{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:8px;padding:10px 4px;border-top:1px solid var(--line)}.mobile-roster-list article:first-child,.mobile-class-list article:first-child{border-top:0}.mobile-roster-list strong,.mobile-roster-list small,.mobile-class-list strong,.mobile-class-list small{display:block}.mobile-roster-list strong{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.mobile-roster-list small{margin-top:3px;color:var(--muted);font-size:8px}.mobile-class-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 4px;border-top:1px solid var(--line)}.mobile-class-list strong{font-size:9px}.mobile-class-list small{margin-top:2px;color:var(--muted);font-size:7px}.mobile-class-list button{min-height:30px;padding:0 8px;border:1px solid #cfe0fa;border-radius:8px;color:var(--blue);background:var(--blue-soft);font-size:7px;font-weight:700}.today-roster{grid-template-columns:1fr;margin-top:-7px;padding:10px}.today-roster-heading{grid-column:auto}.today-roster-item{min-height:57px}.section-intro>.primary-button{display:grid;width:41px;min-width:41px;padding:0;font-size:0}.section-intro{flex-direction:column;gap:14px}.intro-actions{width:100%}.intro-actions .primary-button,.intro-actions .secondary-button{min-width:0;flex:1;padding:0 10px;font-size:10px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{gap:9px;padding:13px;border-radius:14px}.metric-icon{width:34px;height:34px;border-radius:9px}.metric-card strong{font-size:18px}.metric-card span:not(.metric-icon){font-size:9px}.metric-card small{font-size:8px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible}.quick-actions>button{display:flex;min-height:91px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px}.quick-actions>button>span:nth-child(2){min-height:34px}.quick-actions>button>svg{display:none}.quick-actions strong{font-size:10px;line-height:1.2}.quick-actions small{display:none}.action-icon{width:33px;height:33px;border-radius:10px}.floating-action-dock{inset:auto 10px calc(66px + env(safe-area-inset-bottom)) 10px;justify-content:space-between;gap:7px;padding:0}.floating-action-dock>button{min-width:0;flex:1;justify-content:center;padding:3px 7px 3px 3px;font-size:8px}.floating-action-dock .action-icon{width:32px;height:32px}.floating-action-dock~.toast{bottom:calc(136px + env(safe-area-inset-bottom))}.panel{padding:17px 14px;border-radius:16px}.panel-header{gap:10px}.class-row{grid-template-columns:39px 10px minmax(0,1fr);min-height:76px}.class-row>:last-child{grid-column:3;width:max-content;margin-top:-4px}.teacher-tag{display:none}.payment-alert{min-height:62px;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px}.payment-alert .amount-block{grid-column:3;grid-row:1}.payment-alert-reminder{grid-column:4;grid-row:1;width:40px;height:40px;justify-self:end}.rule-note{grid-template-columns:auto 1fr}.rule-note .configurable-pill{display:none}.rule-note p{font-size:9px}.bottom-nav{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 6px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;box-shadow:0 -8px 24px #1f325114;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{display:grid;min-width:0;min-height:48px;place-items:center;gap:3px;padding:4px 1px;border:0;border-radius:9px;color:#7a869a;background:transparent;font-size:10px;font-weight:650;cursor:pointer}.bottom-nav button.active{color:var(--blue)}.bottom-nav svg{stroke-width:2.2}.toolbar{align-items:stretch}.filter-button{width:43px;min-width:43px;padding:0;font-size:0}.search-field>span{display:none}.student-table-head{display:none}.student-table{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 14px}.student-row{min-height:92px}.student-row>span:nth-child(2){grid-column:1;margin-left:47px;margin-top:-24px}.student-row>span:nth-child(3){display:none}.student-row>span:nth-child(4){grid-column:2;grid-row:1}.student-row>span:nth-child(5){grid-column:2;grid-row:2;justify-self:end}.weekly-visibility{padding:17px 14px;border-radius:17px}.weekly-visibility-heading{align-items:flex-start}.weekly-visibility-heading h3{font-size:17px}.live-schedule-pill{display:none}.weekly-group-grid{grid-template-columns:1fr}.weekly-group-card:last-child{grid-column:auto}.weekly-group-card{padding:12px}.directory-heading{margin-bottom:8px}.family-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 13px}.family-count{display:none}.family-balance{grid-column:2;grid-row:2;justify-self:end}.family-header-actions{grid-column:2;grid-row:1;gap:5px}.family-header-actions .family-statement-button{width:44px;min-width:44px;height:44px;padding:0}.family-statement-button span{display:none}.family-collapse-button{gap:7px}.family-collapse-button .avatar{width:34px;height:34px;border-radius:10px}.family-collapse-button small{max-width:min(48vw,190px)}.family-student-row{min-height:0}.student-row-details{grid-template-columns:minmax(0,1fr);align-content:start;gap:9px;min-height:0;padding:14px 108px 15px 14px}.student-row-details .student-person{grid-column:1;min-width:0}.student-row-details .student-person>span:last-child{min-width:0}.student-row-details .student-person strong{display:-webkit-box;overflow:hidden;line-height:1.3;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-row-details .course-chip-list{grid-column:1;margin:0 0 0 46px}.student-row-details .session-cell{display:block;grid-column:1;margin:0 0 0 46px}.student-row-details .session-cell strong{font-size:9px}.student-row-details .session-cell small{font-size:8px}.student-row-details .mini-progress{width:100%;max-width:150px}.student-row-actions{top:14px;right:13px;transform:none}.student-row-actions .context-payment-button,.student-row-actions .student-statement-button{width:44px;min-width:44px;height:44px}.student-row-details .row-arrow{display:none}.course-grid{grid-template-columns:1fr}.course-management-steps{grid-template-columns:1fr;align-items:stretch;gap:8px}.course-management-steps>svg{display:none}.course-hierarchy-note,.balance-separation-note{align-items:flex-start;padding:12px}.course-hierarchy-note>span:last-child{display:none}.seasonal-grid{grid-template-columns:1fr}.seasonal-card{min-height:76px}.pricing-panel .panel-header{align-items:flex-start}.plan-list{grid-template-columns:repeat(2,1fr)}.plan-list span:last-child{grid-column:1 / -1}.week-strip{gap:4px}.week-strip button{min-height:61px;padding:5px 2px;border-radius:10px}.agenda-class{grid-template-columns:42px 4px minmax(0,1fr);padding:9px 0}.agenda-class.operational{min-height:148px;padding:14px 0}.agenda-class>button{grid-column:3;width:max-content}.agenda-command-bar{gap:8px;padding:11px}.agenda-command-bar>span{min-height:36px}.agenda-command-bar>label{grid-row:auto}.agenda-command-bar select{min-height:36px}.agenda-side-stack{grid-template-columns:1fr}.agenda-intro{gap:10px;margin-bottom:11px}.agenda-intro>div:first-child>p:last-child{display:none}.agenda-intro .eyebrow{margin-bottom:2px;font-size:8px}.agenda-intro h2{font-size:22px}.agenda-intro-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 40px 40px;gap:7px}.agenda-view-toggle{width:100%;min-width:0}.agenda-view-toggle button{min-width:0;flex:1;justify-content:center;padding:0 4px;font-size:8px}.agenda-intro-actions>.info-toggle,.agenda-history-button{width:40px;min-width:40px;padding:0}.agenda-history-button span{display:none}.agenda-intro-actions:has(.agenda-new-session-button){grid-template-columns:minmax(0,1fr) 40px 40px 40px}.intro-actions .agenda-new-session-button{width:40px;min-width:40px;flex:0 0 40px;padding:0}.agenda-new-session-button span{display:none}.agenda-date-row{grid-template-columns:1fr}.agenda-week-navigation{gap:8px;margin-top:-2px}.agenda-week-label{gap:7px}.agenda-week-label>svg{width:15px;height:15px}.agenda-week-label strong{max-width:190px;font-size:9px}.agenda-week-label small{font-size:7px}.agenda-week-navigation{flex-wrap:wrap}.agenda-week-navigation .date-controls{width:100%;justify-content:flex-end;gap:4px}.agenda-week-navigation .date-controls button{width:44px;height:44px;min-width:44px;padding:0}.agenda-week-navigation .agenda-today-button{width:auto;min-width:44px;padding:0 8px;font-size:9px}.calendar-scale-control{height:44px}.agenda-interaction-hint{width:100%;margin:0 0 9px;padding:8px 10px;border-radius:9px;background:var(--soft);font-size:9px;line-height:1.35}.agenda-hint-desktop{display:none}.agenda-hint-mobile{display:inline}.calendar-scroll{margin-inline:-15px;border-right:0;border-left:0;border-radius:0}.calendar-scroll{max-height:min(68vh,680px);max-height:min(68dvh,680px)}.calendar-scroll.scale-three,.calendar-scroll.scale-day{overflow-x:hidden}.calendar-week.view-three,.calendar-week.view-day{min-width:0}.calendar-week.view-week{min-width:1030px}.calendar-week.view-three .calendar-week-header,.calendar-week.view-three .calendar-week-body{grid-template-columns:48px repeat(3,minmax(0,1fr))!important}.calendar-week.view-day .calendar-week-header,.calendar-week.view-day .calendar-week-body{grid-template-columns:48px minmax(0,1fr)!important}.calendar-time-column span{right:5px}.calendar-scale-control{margin-right:auto}.calendar-scale-control span{display:none}.calendar-month{margin-inline:-15px;border-right:0;border-left:0;border-radius:0}.calendar-month-grid button{min-height:67px;padding:5px}.calendar-month-grid button i{padding:3px 4px;font-size:8px}.calendar-month-grid button i:nth-child(n+2){display:none}.calendar-month-grid button.today strong{width:22px;height:22px}.calendar-month-weekdays span{font-size:7px}.calendar-session-student-actions .soft-tag{display:none}.calendar-session-students>div:first-child{align-items:flex-start;flex-direction:column}.calendar-session-student-actions{width:100%;flex-wrap:wrap}.calendar-register-student,.calendar-enroll-student{min-width:0;min-height:44px;flex:1;justify-content:center;padding-inline:7px;font-size:9px}.calendar-register-student{border-color:var(--green);color:#fff;background:var(--green);box-shadow:0 7px 15px #4aa92c2e}.calendar-quick-enrollment{grid-template-columns:1fr}.calendar-quick-enrollment .primary-button{width:100%}.attendance-session-picker{grid-template-columns:1fr;padding:11px 16px}.attendance-session-picker small{grid-column:1}.calendar-event.is-overlap{grid-template-columns:minmax(0,1fr);gap:0;padding:5px 3px}.calendar-event.is-overlap>svg:first-child,.calendar-event.is-overlap small,.calendar-event.is-overlap .calendar-event-full,.calendar-event.is-overlap .calendar-conflict-icon{display:none}.calendar-event.is-overlap .calendar-event-compact{display:block!important;overflow:hidden;color:currentColor;font-size:8px;line-height:1.1;overflow-wrap:anywhere}.calendar-event.is-overlap .calendar-event-compact span{display:block;margin-bottom:3px;font-size:7px;opacity:.78;white-space:nowrap}.calendar-event.is-overlap.has-conflict:after{position:absolute;top:3px;right:3px;width:5px;height:5px;border:1px solid #fff;border-radius:50%;background:#dc6230;content:""}.calendar-event.is-crowded .calendar-event-compact{font-size:7px}.calendar-quick-editor{grid-template-columns:1fr 1fr;align-items:end;padding:12px}.calendar-selection{grid-column:1 / -1}.quick-adjust{grid-row:auto}.calendar-conflict-alert{grid-column:1 / -1}.timezone{display:none}.payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.payment-summary .metric-card{display:grid;min-height:68px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:10px 8px}.payment-summary .metric-icon{width:28px;height:28px;border-radius:8px}.payment-summary .metric-icon svg{width:16px;height:16px}.payment-summary .metric-card span:not(.metric-icon){font-size:7px}.payment-summary .metric-card strong{margin:3px 0 0;font-size:14px;letter-spacing:-.3px}.payment-summary .metric-card small{display:none}.collection-row{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:11px 0}.collection-row .payment-state{grid-column:2;width:max-content;margin-top:-7px}.message-button{width:40px;min-width:40px;min-height:40px;padding:0}.message-button span{display:none}.payment-table-card{padding:16px 13px}.billing-results-count{display:none}.billing-toolbar{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.billing-search{grid-column:1 / -1}.billing-clear-filters{grid-column:1 / -1;min-height:36px}.billing-family-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:68px;padding:8px 0}.billing-family-actions,.billing-family-financial{gap:6px}.billing-family-financial .collection-amount{min-width:62px}.billing-family-financial .payment-state{padding:4px 6px;font-size:7px}.billing-family-actions .context-payment-button{width:40px;min-width:40px;height:40px}.family-name small{max-width:min(34vw,145px)}.billing-breakdown{margin-left:22px;padding-left:22px}.billing-child{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding:8px 0}.billing-child .child-state{grid-column:1;grid-row:2}.billing-child>.billing-child-payment{grid-column:2;grid-row:1 / span 2}.billing-child>strong{grid-column:3;grid-row:1}.child-connector{left:-22px;width:14px}.family-payment-history{margin:10px -10px 2px;padding:12px 10px 4px}.payment-history-row{min-height:68px;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:8px 0}.payment-history-date{grid-column:1;grid-row:1}.payment-history-concept{grid-column:1;grid-row:2}.payment-history-amount{grid-column:2;grid-row:1}.payment-history-actions{grid-column:2;grid-row:2;gap:5px}.payment-history-status{padding:4px 6px;font-size:7px}.payment-receipt-button{width:34px;min-height:34px;padding:0}.payment-receipt-button span{display:none}.payment-cancel-button{width:34px;min-height:34px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;max-height:92dvh;border-radius:22px 22px 0 0}.modal-header{padding:19px 17px 15px}.calendar-session-modal{max-height:94vh;max-height:94dvh}.calendar-session-body{gap:12px;padding:14px 17px}.calendar-session-course-row{grid-template-columns:1fr;gap:10px}.calendar-session-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-session-course-row select,.calendar-session-schedule-grid select,.calendar-session-schedule-grid input{min-height:40px}.calendar-student-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-session-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.calendar-session-footer>div{flex:0 0 auto}.calendar-session-footer .secondary-button,.calendar-session-footer .primary-button{min-height:44px;padding:0 11px;font-size:10px}.attendance-legend{gap:10px;padding:11px 17px}.attendance-list{padding:0 17px}.attendance-list article{grid-template-columns:auto 1fr;padding:12px 0}.attendance-student-main{grid-template-columns:auto 1fr}.attendance-options{grid-column:1 / -1;width:100%}.attendance-options button{min-height:44px}.attendance-personal-fields{grid-template-columns:1fr;margin-left:0}.attendance-personal-fields label.full{grid-column:auto}.desktop-status-label{display:none}.mobile-status-label{display:inline}.consumption-summary{margin:15px 17px}.modal-footer{position:sticky;bottom:0;padding:14px 17px max(16px,env(safe-area-inset-bottom));background:#fff}.form-grid{grid-template-columns:1fr;gap:12px;padding:18px 17px}.form-grid label.full{grid-column:auto}.form-grid input,.form-grid select,.schedule-details-grid input,.calendar-session-course-row select,.calendar-session-schedule-grid select,.calendar-session-schedule-grid input,.calendar-quick-enrollment select,.attendance-session-picker select,.billing-toolbar input,.billing-toolbar select,.communication-settings-panel textarea,.brand-config-grid input,.member-invite-form input,.member-invite-form select,.plans-config-list input,.plans-config-list select{font-size:16px}.payment-modal{max-height:94vh;grid-template-rows:auto minmax(0,1fr) auto auto}.payment-modal .modal-header{padding:17px 17px 13px}.payment-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px 17px 12px}.payment-modal .form-grid label.full{grid-column:1 / -1}.payment-modal .form-grid input,.payment-modal .form-grid select,.payment-modal .money-input{height:44px}.payment-modal .payment-allocation-heading{min-height:41px}.payment-modal .payment-allocation-list>button{min-height:43px}.payment-modal .payment-impact{margin:0 17px 10px;padding:10px 12px}.payment-modal .modal-footer{position:static;padding-top:12px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.payment-impact{margin:0 17px 15px;gap:14px}.stepper{padding:15px 17px 0}.stepper span{font-size:8px}.enrollment-step{min-height:0}.day-picker{grid-template-columns:repeat(3,1fr)}.registration-stepper{padding:15px 17px 0}.registration-stepper span{font-size:8px}.registration-stepper span:nth-of-type(2){line-height:1.2}.registration-step{padding:18px 17px}.family-mode,.course-choice-grid,.schedule-details-grid{grid-template-columns:1fr}.selected-course-summary{align-items:flex-start;flex-direction:column}.selected-course-summary span{text-align:left}.correction-reason,.edit-enrollment-student{margin-right:17px;margin-left:17px}.status-choice{grid-template-columns:1fr 1fr}.dual-balance-preview{grid-template-columns:1fr;margin-right:17px;margin-left:17px}.history-protection{margin-right:17px;margin-left:17px}.course-admin-hierarchy{flex-wrap:wrap;margin-right:17px;margin-left:17px}.group-switcher{align-items:stretch;flex-direction:column;margin-right:17px;margin-left:17px}.group-new-button{justify-content:center}.group-switch-list button{min-width:148px}.course-admin-layout{padding:17px}.course-save-note{display:none}.new-course-confirmation{min-height:0;padding:18px 17px}.new-course-link{grid-template-columns:1fr}.new-course-link>svg{display:none}.history-list{padding-right:17px;padding-left:17px}.history-list article{grid-template-columns:1fr;gap:8px}.history-footer-note{display:none}.drawer-actions{grid-template-columns:1fr 1fr}.drawer-actions button:first-child{grid-column:1 / -1}.receipt-preview{width:calc(100% - 34px);margin:14px auto;padding:17px 14px}.receipt-preview>header>span:last-child{display:none}.receipt-summary-grid{grid-template-columns:1fr}.receipt-detail-list>span{grid-template-columns:95px minmax(0,1fr)}.receipt-preview>footer{align-items:flex-start;flex-direction:column}.settings-grid{gap:12px}.settings-rules-card{grid-template-columns:1fr}.settings-rules-card .settings-card-heading{grid-column:auto}.master-settings-section{padding:13px}.master-settings-heading{align-items:stretch;flex-direction:column}.master-badge{width:max-content}.master-settings-grid,.member-invite-form{grid-template-columns:1fr}.invite-result{grid-column:auto}.plans-config-panel{margin-inline:-2px;overflow:visible;padding:16px 12px}.plans-config-panel .panel-header{align-items:center}.plans-config-head{display:none}.plans-config-list{min-width:0;gap:10px}.plans-config-list article{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.plan-field{display:grid;gap:5px}.plan-field:nth-child(1),.plan-field:nth-child(2),.plan-field:nth-child(6){grid-column:1 / -1}.plan-field-label{display:block;color:var(--muted);font-size:9px;font-weight:720}.plans-config-list input,.plans-config-list select,.plan-status-toggle{min-height:44px}.toast{right:15px;bottom:82px}}@media(max-width:380px){.mobile-brand strong{display:none}.stats-grid{grid-template-columns:1fr 1fr}.metric-card{display:block}.metric-icon{margin-bottom:8px}.payment-summary .metric-card{display:grid;grid-template-columns:auto minmax(0,1fr)}.payment-summary .metric-icon{margin-bottom:0}.quick-actions strong{font-size:9px}.class-info span{max-width:150px}.billing-family-actions{gap:4px}.billing-family-actions .context-payment-button,.billing-family-actions .message-button{width:36px;min-width:36px;height:36px;min-height:36px}.billing-family-financial{display:grid;gap:2px;justify-items:end}.billing-family-financial .collection-amount{min-width:58px}.billing-family-financial .payment-state{justify-self:end}.billing-family-summary .family-name small{display:none}.payment-history-actions{gap:3px}.payment-history-status{max-width:58px;overflow:hidden;text-overflow:ellipsis}.plans-config-list article{grid-template-columns:1fr}.plan-field:nth-child(n){grid-column:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#f7f9fc}.authenticated-app .profile-card{display:none}.authenticated-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 10px;border-top:1px solid var(--line)}.authenticated-profile-card strong,.authenticated-profile-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.authenticated-profile-card strong{font-size:12px}.authenticated-profile-card small{margin-top:4px;color:var(--muted);font-size:11px}.profile-signout{display:grid;width:32px;height:32px;padding:0;place-items:center;color:var(--muted);background:transparent;border:0;border-radius:10px;cursor:pointer}.profile-signout:hover{color:var(--red);background:var(--red-soft)}.profile-signout:focus-visible{outline:3px solid rgb(37 99 235 / 22%);outline-offset:2px}.auth-story{position:relative;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,5vw,72px);color:#fff;background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.19),transparent 25%),radial-gradient(circle at 18% 86%,rgba(233,181,23,.28),transparent 22%),linear-gradient(145deg,#155fc3,#1469dc 49%,#3155bd)}.auth-story:before,.auth-story:after{position:absolute;border-radius:999px;content:""}.auth-story:before{top:18%;right:-72px;width:210px;height:210px;border:46px solid rgba(74,169,44,.35)}.auth-story:after{right:18%;bottom:-105px;width:230px;height:230px;border:54px solid rgba(233,181,23,.28)}.auth-brand,.auth-feature-grid,.auth-story-copy{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:13px}.auth-logo,.auth-loading-logo{display:grid;place-items:center;width:50px;height:58px;border-radius:16px;background:#fffffff5;box-shadow:0 16px 34px #08215233}.auth-logo .brand-logo-image,.auth-loading-logo .brand-logo-image{width:39px;height:47px}.auth-brand .brand-wordmark{display:block;color:#fff;font-size:26px}.auth-brand .brand-wordmark span{color:#ffe783}.auth-brand small{display:block;margin-top:2px;color:#ffffffc2;font-size:12px}.auth-story-copy{max-width:660px;margin:clamp(56px,9vh,112px) 0}.auth-story-copy .eyebrow{color:#d8e8ff}.auth-story-copy h1{max-width:620px;margin:13px 0 20px;font-size:clamp(40px,5vw,68px);line-height:1.02;letter-spacing:-.045em}.auth-story-copy>p:last-child{max-width:520px;margin:0;color:#ffffffc7;font-size:17px;line-height:1.6}.auth-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.auth-feature-grid article{display:flex;align-items:center;gap:10px;min-width:0;padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#ffffff1c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-feature-grid strong,.auth-feature-grid small{display:block}.auth-feature-grid strong{font-size:13px}.auth-feature-grid small{margin-top:2px;overflow:hidden;color:#ffffffab;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.auth-access{display:grid;place-items:center;min-height:100vh;padding:36px;background:radial-gradient(circle at 16% 18%,rgba(20,105,220,.08),transparent 25%),radial-gradient(circle at 88% 82%,rgba(74,169,44,.08),transparent 23%),#f7f9fc}.auth-card{width:min(100%,430px);padding:clamp(29px,4vw,44px);border:1px solid #e6eaf1;border-radius:26px;background:#fffffff5;box-shadow:0 28px 70px #1f32511f}.auth-card-heading{margin-bottom:27px}.auth-shield{display:grid;place-items:center;width:45px;height:45px;margin-bottom:21px;border-radius:14px;color:var(--blue);background:var(--blue-soft)}.auth-card-heading h2{margin:6px 0 9px;font-size:30px;letter-spacing:-.035em}.auth-card-heading>p:last-child,.auth-support{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.auth-forgot-button,.auth-back-button{width:max-content;padding:0;border:0;color:var(--blue);background:transparent;font-size:12px;font-weight:750;cursor:pointer}.auth-forgot-button{margin-top:-7px;justify-self:end}.auth-back-button{display:inline-flex;align-items:center;gap:5px;justify-self:center}.auth-reset-success{display:grid;justify-items:center;gap:12px;padding:18px;border:1px solid #c7e8d5;border-radius:15px;color:var(--green);background:var(--green-soft);text-align:center}.auth-reset-success>span strong,.auth-reset-success>span small{display:block}.auth-reset-success>span small{margin-top:5px;color:var(--muted);line-height:1.45}.auth-reset-success button{border:0;color:var(--blue);background:transparent;font-weight:760;cursor:pointer}.auth-error{margin-bottom:19px;padding:12px 14px;border:1px solid #f3c7c7;border-radius:12px;color:#a73636;background:#fff4f4;font-size:12px;line-height:1.45}.auth-card form{display:grid;gap:18px}.auth-card label{display:grid;gap:8px;color:var(--ink);font-size:12px;font-weight:750}.auth-card input{width:100%;height:48px;padding:0 14px;border:1px solid #dfe5ee;border-radius:12px;outline:none;color:var(--ink);background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1469dc1a}.auth-card input::placeholder{color:#a0a9b7}.auth-password-field{position:relative;display:block}.auth-password-field input{padding-right:49px}.auth-password-field button{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:34px;height:34px;transform:translateY(-50%);border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer}.auth-submit{display:flex;align-items:center;justify-content:center;gap:9px;min-height:49px;margin-top:3px;border:0;border-radius:13px;color:#fff;background:linear-gradient(110deg,#1469dc,#3155bd);box-shadow:0 14px 28px #1469dc38;cursor:pointer;font-weight:800}.auth-submit:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.auth-support{margin-top:23px;text-align:center}.auth-loading{min-height:100vh;background:#f7f9fc}@media(max-width:900px){.auth-page{grid-template-columns:1fr}.auth-story{min-height:auto;padding:27px 24px 34px}.auth-story-copy{margin:53px 0 39px}.auth-story-copy h1{font-size:clamp(38px,10vw,54px)}.auth-access{min-height:auto;padding:30px 18px 44px}}@media(max-width:560px){.auth-page{min-height:100dvh;grid-template-rows:auto minmax(0,1fr)}.auth-story{min-height:112px;padding:16px 18px 14px;justify-content:flex-start}.auth-story:before{width:100px;height:100px;border-width:22px}.auth-story:after{display:none}.auth-logo{width:39px;height:45px;border-radius:12px}.auth-logo .brand-logo-image{width:31px;height:38px}.auth-brand .brand-wordmark{font-size:20px}.auth-brand small{font-size:10px}.auth-story-copy,.auth-feature-grid{display:none}.auth-access{min-height:0;align-items:start;padding:14px 14px 18px}.auth-card{padding:19px 18px;border-radius:19px}.auth-card-heading{margin-bottom:16px}.auth-shield{width:37px;height:37px;margin-bottom:11px;border-radius:11px}.auth-card-heading h2{margin-block:4px 6px;font-size:24px}.auth-card-heading>p:last-child,.auth-support{font-size:11px}.auth-card form{gap:13px}.auth-card input{height:44px}.auth-submit{min-height:45px}.auth-support{margin-top:15px}.auth-recovery-story{min-height:96px}}
