:root{--tap:44px;--fs-micro:12px}@keyframes sheet-full-in{0%{transform:translateY(28px);opacity:.4}}@media (max-width:639px){:root{--appbar:calc(60px + env(safe-area-inset-top))}.dialog-overlay{top:var(--appbar)}.dialog-content[data-mobile]{bottom:var(--kb,0);max-height:calc(var(--vvh, 100dvh) - var(--appbar));padding:8px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.dialog-content[data-mobile] .dialog-grip{position:relative;flex-shrink:0;width:40px;height:5px;margin:2px auto 10px}.dialog-content[data-mobile] .dialog-grip:before{content:"";position:absolute;inset:-12px -56px -8px}.dialog-content[data-mobile] .dialog-heading{align-items:center;padding:4px 0 14px;margin-bottom:14px}.dialog-content[data-mobile] .dialog-heading h2{font-size:18px;line-height:1.25}.dialog-content[data-mobile] .dialog-heading>.icon-button:last-child{margin-right:-8px}.dialog-content[data-mobile] .dialog-heading>.dialog-back{margin:0 2px 0 -10px}.dialog-content[data-mobile] .dialog-body{scroll-padding-bottom:96px;padding-right:0;scrollbar-gutter:auto}.dialog-content[data-mobile=sheet] .dialog-grip,.dialog-content[data-mobile=sheet] .dialog-heading{touch-action:none}.dialog-content[data-mobile=full]{top:var(--appbar);max-height:none;height:auto;border-radius:20px 20px 0 0;padding-top:12px;animation:sheet-full-in .26s cubic-bezier(.2,.7,.2,1)}.dialog-content[data-mobile=full] .dialog-grip{display:none}.dialog-content[data-mobile=full] .dialog-heading{padding-top:6px}}body[data-scroll-locked] .floating-calc-trigger{display:none}@media (prefers-reduced-motion:reduce){.dialog-content[data-mobile]{animation:none!important;transition:none!important}}@media (max-width:639px){[data-radix-popper-content-wrapper]:has(>.select-menu[data-count=many],>.calendar-popover,>.month-popover){position:fixed!important;inset:auto 0 0 0!important;transform:none!important;min-width:0!important;width:100%!important;z-index:130!important}body:has(.select-menu[data-count=many],.calendar-popover,.month-popover):after{content:"";position:fixed;inset:0;z-index:125;background:#11191c8c;animation:fade-in .18s ease}.calendar-popover,.month-popover,.select-menu[data-count=many]{width:100%;max-width:none;min-width:0;border-width:1px 0 0;border-radius:20px 20px 0 0;box-shadow:0 -10px 60px #0003;animation:sheet-in .25s cubic-bezier(.2,.7,.2,1);padding-bottom:max(16px,env(safe-area-inset-bottom))}.calendar-popover:before,.month-popover:before,.select-menu[data-count=many]:before{content:"";display:block;width:40px;height:5px;margin:2px auto 10px;border-radius:4px;background:var(--border)}.select-menu[data-count=many]{max-height:min(72dvh,560px);padding:8px 12px max(16px,env(safe-area-inset-bottom))}.select-menu[data-count=few]{max-height:min(46dvh,320px);box-shadow:0 12px 36px #11191c2e}.select-option{min-height:52px;padding:12px 14px;gap:14px;border-radius:12px;font-size:15px}.select-option-content{gap:12px}.calendar-popover{padding:8px 14px max(16px,env(safe-area-inset-bottom))}.calendar-popover .rdp-root{--rdp-day-width:calc((100vw - 28px) / 7);--rdp-day-height:46px;--rdp-day_button-width:44px;--rdp-day_button-height:44px;font-size:15px}.calendar-popover .rdp-months,.calendar-popover .rdp-root{width:100%;max-width:none}.calendar-popover .rdp-month_caption{font-size:15px}.calendar-popover .rdp-weekday{font-size:var(--fs-micro)}.calendar-popover .rdp-nav button{width:var(--tap);height:var(--tap)}.calendar-heading{margin-bottom:8px}.calendar-close{min-height:var(--tap);width:100%;justify-content:center}.month-popover{padding:8px 14px max(16px,env(safe-area-inset-bottom))}.month-year-step{width:var(--tap);height:var(--tap)}.month-cell{min-height:52px;font-size:15px}.month-today{min-height:var(--tap)}}@media (max-width:999px),(pointer:coarse){.cmdk-close,.delinquency-actions .icon-button,.expense-month-pager button,.gl-actions .icon-button,.mini-nav-btn,.mini-today-btn,.month-field-step,.payroll-reverse-btn,.pre-enrollment-pagination-nav .icon-button,.schedule-remove,.table-pagination-buttons .icon-button,.tf-review-arrow,td .icon-button{min-width:var(--tap);min-height:var(--tap)}.copy-btn{width:40px;height:40px;margin:-8px -8px -8px -2px}.student-chip .copy-btn{width:36px;height:36px;margin:-8px -8px -8px -6px}.search-field-clear,.toast-close{width:40px;height:40px}.toast-close{margin:-8px -8px -8px 0}.toast-action{min-height:var(--tap);padding:0 16px}.tag-chip-remove{min-width:32px;min-height:32px}.bench-remove{width:36px;height:36px;opacity:1}.kanban-card-open{min-width:var(--tap)}.detail-tabs-bar button,.filter-dot,.kanban-card-open,.seg-control button,.segmented button,.status-filter-options button,.uniform-payment-filters button{min-height:var(--tap)}.attendance-option.custom-checkbox-wrapper{min-height:var(--tap);padding:8px 16px}.custom-checkbox-box{width:22px;height:22px}.account-color-picker button{min-width:40px;min-height:40px}.sort-header,th button{min-height:var(--tap)}.metric-top,.payroll-person-values dt,th{font-size:var(--fs-micro)}}@media (hover:none){.class-card:hover,.class-summary-card:hover,.event-card-summary:hover,.floating-calc-trigger:hover,.kanban-card:hover,.profile-switch-option:hover,.student-summary:hover,.team-card:hover{transform:none}.bench-remove{opacity:1}}@media (hover:none) and (pointer:coarse){.button:active,.class-card:active,.icon-button:active,.mobile-record:active,.month-cell:active,.nav-link:active,.select-option:active,.text-button:active{filter:brightness(.96);transition:filter .05s}.button:active,.icon-button:active{transform:scale(.98)}}@media (max-width:999px){.mobile-nav{gap:4px!important;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;background:color-mix(in srgb,var(--surface) 95%,transparent)!important;box-shadow:0 -8px 28px #11191c0f}.mobile-nav a,.mobile-nav button{position:relative;flex:1 1 0%!important;min-width:0!important;min-height:56px!important;padding:4px 2px 3px!important;gap:3px!important;border-radius:14px;color:color-mix(in srgb,var(--ink) 62%,var(--surface));-webkit-tap-highlight-color:transparent}.mobile-nav .dock-icon{display:grid;place-items:center;width:56px;height:30px;border-radius:15px;transition:background .2s ease,transform .12s ease,color .2s ease}.mobile-nav .dock-icon svg{width:22px;height:22px}.mobile-nav .dock-label{display:block;width:100%;max-width:100%!important;text-align:center;font-size:11px!important;font-weight:600;line-height:1.15;letter-spacing:-.1px;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.mobile-nav .active{color:var(--ink)}.mobile-nav .active .dock-icon{color:var(--bronze);background:color-mix(in srgb,var(--bronze) 20%,transparent)}.mobile-nav .active svg{stroke-width:2.1}.mobile-nav a:active .dock-icon,.mobile-nav button:active .dock-icon{transform:scale(.92);background:color-mix(in srgb,var(--ink) 10%,transparent)}.mobile-nav a:focus-visible,.mobile-nav button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:-3px}.floating-calc-trigger{display:none}.floating-calc-bubble{right:max(14px,env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom));z-index:70}.workspace-main{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}}@media (pointer:coarse) and (max-width:999px){body:has(input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):focus,textarea:focus) .mobile-nav{display:none!important}}@media (max-width:640px){.workspace-main{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}.workspace-content{min-height:70dvh}.topbar{height:calc(60px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))!important;gap:2px!important}.mobile-brand{width:clamp(52px,17vw,76px)!important;min-width:44px!important;flex-shrink:1!important}.topbar-lead{flex:0 0 auto}.topbar-search-trigger{min-width:var(--tap)!important;width:var(--tap)!important;height:var(--tap)!important;border-radius:12px!important}.topbar-actions{gap:0!important}.topbar-actions>.icon-button{width:var(--tap)!important;min-width:var(--tap)!important;height:var(--tap)!important}.period-chip{height:40px;padding:0 10px;border-radius:12px}.profile-menu-trigger{min-width:var(--tap);min-height:var(--tap);justify-content:center;padding:4px}.profile-menu-trigger .profile-chevron{display:none}.profile-dropdown-card{position:fixed;top:calc(60px + env(safe-area-inset-top) + 4px);left:8px;right:8px;width:auto;max-width:none;max-height:calc(var(--vvh, 100dvh) - 60px - env(safe-area-inset-top) - 16px);overflow-y:auto;overscroll-behavior:contain}.notifications-dropdown-card{max-height:calc(var(--vvh, 100dvh) - 160px);overflow-y:auto;overscroll-behavior:contain}[data-radix-popper-content-wrapper]:has(>.display-menu){position:fixed!important;inset:auto 0 0 0!important;transform:none!important;min-width:0!important;width:100%!important;z-index:130!important}body:has(.display-menu):after{content:"";position:fixed;inset:0;z-index:125;background:#11191c8c;animation:fade-in .18s ease}.display-menu{width:100%;border-width:1px 0 0;border-radius:20px 20px 0 0;padding:8px 12px max(16px,env(safe-area-inset-bottom));box-shadow:0 -10px 60px #0003;animation:sheet-in .25s cubic-bezier(.2,.7,.2,1)}.display-menu:before{content:"";display:block;width:40px;height:5px;margin:2px auto 10px;border-radius:4px;background:var(--border)}.display-menu-item{min-height:56px;padding:12px;font-size:15px}}@media (max-width:360px){.topbar-actions>.icon-button{width:40px!important;min-width:40px!important}.mobile-nav .dock-icon{width:48px}.mobile-nav .dock-label{font-size:10.5px!important;letter-spacing:-.2px}}@media (prefers-reduced-motion:reduce){.mobile-nav .dock-icon{transition:none}}@media (max-width:999px),(pointer:coarse){.edc-link,.edc-pendency,.mini-day-cell{min-height:var(--tap)}.edc-link{display:inline-flex;align-items:center}}@media (max-width:640px){.mobile-brand{min-height:var(--tap)}.period-chip{height:var(--tap)}}@media (max-width:999px){.mobile-menu-links .nav-group-toggle,.mobile-menu-links a{min-height:52px;font-size:15px}.mobile-menu-links .nav-submenu .nav-link{min-height:48px;font-size:14px}.mobile-menu-links~.button{min-height:52px;margin-top:10px}}@media (max-width:639px){.cash-register-payment-frame{max-height:none!important;overflow:visible!important;padding-right:0!important}.cash-register-entry-list,.cash-register-search-results{max-height:none;overflow:visible}.cash-register-entry-list button{min-height:64px}.cash-register-ledger-accounts{max-height:none}.dialog-content[data-mobile] .cash-register-back{display:none}.cash-register-footer{flex-direction:column-reverse;align-items:stretch;gap:10px}.cash-register-footer .button{width:100%}}@media (max-width:999px){.account-card small,.amount-cell small,.expense-name small,.mobile-record small,.movement-row-context,.movement-row-meta,.record-bottom span{font-size:var(--fs-micro)}.notification-badge,.presentation-notice-text,.presentation-notice-text *{font-size:11px}.student-segment-tab,.student-segment-tabs button{min-height:var(--tap)}}.sheet-actions{display:grid;gap:10px;padding-bottom:4px}.sheet-actions .button{min-height:52px;justify-content:flex-start;gap:12px;font-size:15px}@media (max-width:999px){.pre-enrollment-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pre-enrollment-row-actions .button{min-height:var(--tap);justify-content:center;font-size:13px}.pre-enrollment-row-actions .pre-enrollment-more{grid-column:1/-1}.mobile-records .button.small{min-height:var(--tap)}}.mobile-sort{display:none}@media (max-width:999px){.mobile-sort{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mobile-sort>:first-child{flex:1;min-width:0}.mobile-sort .select-trigger{min-height:var(--tap)}}@media (max-width:639px){.dialog-body .fm-grid[style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.payroll-person-values{grid-template-columns:repeat(2,minmax(0,1fr))}.family-metrics{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.topbar .display-menu-trigger,.topbar-lead{display:none!important}.topbar{justify-content:space-between}.mobile-brand{width:clamp(92px,30vw,124px)!important;max-width:none!important}.mobile-brand .brand-logo{max-height:38px!important}.topbar-actions{margin-left:auto;gap:4px!important}}.more-display{display:grid;gap:2px;margin:8px 0 12px;padding-top:12px;border-top:1px solid var(--border)}.more-display-title{padding:0 4px 6px;color:var(--muted);font-size:12px;font-weight:700}@media (max-width:999px){.dialog-content[data-mobile] .back-link{display:none}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y;position:relative}.table-wrap table{border-collapse:separate;border-spacing:0}.table-wrap:not(:has(~.mobile-records)) tbody td:first-child,.table-wrap:not(:has(~.mobile-records)) thead th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border)}.table-wrap:not(:has(~.mobile-records)) thead th:first-child{z-index:2}.table-wrap th{font-size:var(--fs-micro);white-space:nowrap}}.period-chip-reset{display:none}@media (max-width:900px){.period-chip-reset{display:inline-grid;place-items:center;flex-shrink:0;width:var(--tap);height:var(--tap);border-radius:12px;color:var(--bronze);background:rgba(162,123,92,.12);border:1px solid rgba(162,123,92,.4);cursor:pointer}}@media (max-width:999px){.period-sheet{display:grid;gap:16px}.period-sheet h4{margin:0 0 8px;font-size:13px;color:var(--muted)}.period-sheet-reset{min-height:52px}}@media (max-width:999px),(pointer:coarse){*,:after,:before{scrollbar-width:none!important}::-webkit-scrollbar,::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{display:none!important;width:0!important;height:0!important}.dialog-body,.dialog-content{scrollbar-gutter:auto!important}}@media (max-width:639px){.class-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 8px;padding:14px}.class-list>li .class-list-person{flex:1 1 100%;align-items:center;gap:12px}.class-list>li.is-reserved .class-list-person{align-items:flex-start}.class-list-main strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.class-list-main small{font-size:12.5px;line-height:1.4}.class-list>li .avatar{width:40px;height:40px;flex-shrink:0}.class-list>li .class-list-actions{margin-left:auto;gap:4px}.class-list>li .class-list-actions .icon-button{width:var(--tap);height:var(--tap)}.class-list>li>.badge{flex:0 0 auto}.registration-missing{display:grid;gap:8px;width:100%;padding:10px 12px;border-radius:12px}.registration-missing-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.registration-missing-link{min-height:32px;display:inline-flex;align-items:center}.registration-missing-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.registration-missing-item{width:auto;max-width:100%;white-space:normal;writing-mode:horizontal-tb;word-break:normal;overflow-wrap:break-word;padding:4px 10px;border-radius:999px}.class-section-head{flex-direction:column;align-items:stretch;gap:12px}.class-section-head .button{width:100%;min-height:var(--tap)}.class-students-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.class-students-toolbar .button{min-height:var(--tap);width:100%}.dashboard-intro,.dashboard-middle{gap:12px}.dashboard-quick-actions.dashboard-cash-register{display:grid!important;grid-template-columns:minmax(0,1fr) 52px;gap:10px;width:100%}.dashboard-quick-actions.dashboard-cash-register>*{order:0!important;min-width:0!important;width:100%!important;min-height:52px;margin:0;justify-content:center}.dashboard-quick-actions.dashboard-cash-register>.cash-register-open-button{grid-column:1/-1}.dashboard-quick-actions.dashboard-cash-register>.settings-quick-button{grid-column:2;padding:0}.dashboard-quick-actions.dashboard-cash-register>.button:not(.cash-register-open-button):not(.settings-quick-button){grid-column:1}.student-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;padding:16px}.student-summary .summary-top{display:contents}.student-summary .summary-top>svg:last-child{display:none}.student-summary>div:last-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center;grid-column:1/-1;margin:0}.student-summary .summary-top .metric-icon{grid-row:1}.student-summary strong{font-size:38px;grid-row:span 2}.student-summary h3{font-size:14px;font-weight:600;margin:0}.student-summary p{font-size:12px;margin-top:2px}.student-summary-pills{grid-column:1/-1;margin-top:14px;gap:8px}.student-summary-pills>span{min-height:32px;padding:6px 12px;font-size:12px}.account-strip{padding:16px}.account-strip-pills{flex-direction:column;overflow:visible;gap:8px;margin-top:12px}.account-strip-pills>li{width:100%}.account-pill{display:flex;flex-wrap:wrap;align-items:center;width:100%;min-height:48px;padding:10px 14px;border-radius:14px;white-space:normal;row-gap:2px}.account-pill b{margin-left:auto}.account-pill small{flex-basis:100%;padding-left:17px;font-size:12px}.metric-grid.metric-strip .metric-card{padding:12px 10px}.metric-grid.metric-strip .metric-card>strong{font-size:17px}}.cash-matrix-pager{display:none}@keyframes matrix-col{0%{opacity:.15;transform:translateX(10px)}22%,78%{opacity:1;transform:none}to{opacity:.15;transform:translateX(-10px)}}@media (max-width:639px){.cash-matrix-toolbar>span{display:none}.cash-matrix-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface)}.cash-matrix-pager strong{font-size:15px;font-variant-numeric:tabular-nums}.cash-matrix-scroll{max-height:calc(var(--vvh, 100dvh) - 60px - env(safe-area-inset-top) - 150px);overflow:auto;overscroll-behavior:contain;scroll-snap-type:x mandatory;scroll-padding-left:128px;scroll-behavior:smooth}.cash-matrix-scroll table{min-width:0!important;width:max-content}.cash-matrix-scroll thead th{position:sticky;top:0;z-index:3;background:var(--surface-soft,#f1f3ef)}.cash-matrix-scroll thead th:first-child{left:0;z-index:5;width:128px;min-width:128px;max-width:128px}.cash-matrix-scroll tbody td:first-child,.cash-matrix-scroll tbody th:first-child{width:128px;min-width:128px;max-width:128px;white-space:normal;line-height:1.25;font-size:12px}.cash-matrix-scroll tbody td:not(:first-child),.cash-matrix-scroll thead th:not(:first-child){min-width:calc(100vw - 24px - 128px - 24px);scroll-snap-align:start;animation:matrix-col linear both;animation-timeline:view(inline);animation-range:cover 0 cover 100%}.cash-matrix-scroll thead th:not(:first-child){font-size:13px;padding-block:12px}.cash-matrix-scroll tbody td:not(:first-child){font-size:14px}.cash-matrix-scroll .cash-flow-section-divider th{position:sticky;left:0;width:auto;max-width:none;animation:none}}@media (prefers-reduced-motion:reduce){.cash-matrix-scroll{scroll-behavior:auto}.cash-matrix-scroll tbody td,.cash-matrix-scroll thead th{animation:none!important}}@media (max-width:639px){.dashboard-cash-register>.cash-register-open-button+.settings-quick-button{display:none!important}.daily-cash-date-nav{display:grid!important;grid-template-columns:var(--tap) minmax(0,1fr) var(--tap);gap:8px;align-items:center;width:100%}.daily-cash-date-nav>.icon-button{width:var(--tap);height:var(--tap)}.daily-cash-date-nav .date-field{min-width:0}.daily-cash-date-nav>.daily-cash-export,.daily-cash-date-nav>.daily-cash-today{min-height:48px;width:100%;justify-content:center}.daily-cash-date-nav>.daily-cash-today{grid-column:1/3}.daily-cash-date-nav>.daily-cash-export{grid-column:3/4;padding:0;font-size:0;gap:0}.daily-cash-date-nav>.daily-cash-today:only-of-type{grid-column:1/-1}.daily-cash-data-note{display:none}.daily-cash-period{display:grid;gap:8px}.daily-cash-period>.field-label{font-size:12px;font-weight:700;color:var(--muted)}.daily-cash-date-nav>.daily-cash-today{grid-column:1/3}.daily-cash-date-nav>.daily-cash-export{grid-column:3}.daily-cash-heading h2{font-size:17px;line-height:1.25}.daily-cash-heading p{font-size:12.5px}.charge-benefits{padding:14px;gap:12px}.charge-benefits>header{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 12px;align-items:start}.charge-benefits>header>.button{grid-column:1/-1;width:100%;min-height:48px;justify-content:center;margin-top:4px}.charge-benefits>header small{font-size:12.5px;line-height:1.4}.charge-benefit-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info info" "badge amount" "actions actions";gap:8px 12px;padding:14px}.charge-benefit-row>div{grid-area:info}.charge-benefit-row strong{white-space:normal;font-size:15px}.charge-benefit-row .badge{grid-area:badge;justify-self:start;align-self:center}.charge-benefit-amount{grid-area:amount;text-align:right;font-size:16px}.charge-benefit-amount small{font-size:12px}.charge-benefit-actions{grid-area:actions;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px;border-top:1px solid var(--border)}.charge-benefit-actions .icon-button{width:100%;height:var(--tap);border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.charge-benefits-total{font-size:13px;line-height:1.5}.detail-tabs:not(.variant-subpills)>.detail-tabs-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0 0 14px;padding:4px 0 6px;border-bottom:0;overflow:visible}.detail-tabs:not(.variant-subpills) .detail-tab{flex-direction:column;justify-content:center;gap:6px;min-width:0;min-height:72px;padding:10px 6px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;transition:background .2s,color .2s,border-color .2s,transform .12s}.detail-tabs:not(.variant-subpills) .detail-tab-label{overflow-wrap:anywhere}.detail-tabs:not(.variant-subpills) .detail-tab-icon{display:grid;place-items:center}.detail-tabs:not(.variant-subpills) .detail-tab-icon svg{width:24px;height:24px}.detail-tabs:not(.variant-subpills) .detail-tab.active{background:var(--brand);border-color:var(--brand);color:var(--surface);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.detail-tabs:not(.variant-subpills) .detail-tab.active .detail-tab-icon{color:var(--surface)}.detail-tabs:not(.variant-subpills) .detail-tab:active{transform:scale(.96)}.student-profile-top-bar{gap:12px}.student-breadcrumb{display:none}.student-back-btn{min-height:48px;justify-content:flex-start}.student-profile-top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-profile-top-actions .button{flex-direction:column;justify-content:center;gap:6px;min-height:72px;padding:10px 8px;border-radius:16px;font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;white-space:normal}.student-profile-top-actions .button svg:first-child{width:24px;height:24px}.student-profile-top-actions .button svg:last-child:not(:first-child){display:none}.student-profile-top-actions .button.primary{box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.student-hero{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"avatar name" "avatar status" "chips chips";gap:6px 14px;padding:16px;align-items:center}.student-hero-avatar{grid-area:avatar;width:64px;height:64px;font-size:20px;align-self:start}.student-hero-copy{display:contents}.student-hero-copy h1{grid-area:name;font-size:20px;line-height:1.25;margin:0;align-self:end;overflow-wrap:anywhere}.student-hero-status{grid-area:status;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;align-self:start;text-align:left}.student-hero-chips{grid-area:chips;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--border)}.student-hero-chips .student-chip{flex:0 1 auto;min-height:34px;padding:6px 12px;font-size:12.5px}.student-hero-chips .student-chip:first-child{flex:1 1 100%}.student-profile-top-actions .button.ghost{background:var(--surface);border:1px solid var(--border);color:var(--ink)}.detail-tabs.variant-subpills>.detail-tabs-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:100%;padding:0;background:transparent;border:0;border-radius:0;overflow:visible;margin-bottom:14px}.detail-tabs.variant-subpills .detail-tab{flex-direction:row;justify-content:center;gap:8px;min-width:0;min-height:52px;padding:8px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;line-height:1.2;text-align:center}.detail-tabs.variant-subpills .detail-tab-icon svg{width:20px;height:20px}.detail-tabs.variant-subpills .detail-tab.active{background:var(--brand);border-color:var(--brand);color:var(--surface);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 26%,transparent)}.detail-tabs.variant-subpills .detail-tab.active .detail-tab-icon{color:var(--surface)}.student-finance-heading{display:grid;gap:14px;margin-bottom:16px}.student-finance-heading h3{font-size:18px;line-height:1.25;margin:0}.student-finance-heading p{font-size:13px;line-height:1.45;margin:4px 0 0;color:var(--muted)}.student-finance-heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.student-finance-heading-actions .button{flex-direction:column;justify-content:center;gap:6px;width:100%;min-height:72px;padding:10px 8px;border-radius:16px;font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;white-space:normal}.student-finance-heading-actions .button svg{width:24px;height:24px}.student-finance-heading-actions .button.primary{box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.student-finance-heading-actions .button:only-child{grid-column:1/-1;flex-direction:row;min-height:52px}.student-finance-toolbar{display:grid;gap:12px;padding:12px;border-radius:16px}.student-finance-toolbar-row{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.student-year-tabs button{min-height:var(--tap);padding:0 16px}.student-finance-toolbar-end{display:contents}.student-sort-btn{flex:1 1 100%}.student-finance-count{order:2;font-size:13px;color:var(--muted)}.student-finance-state-pills{display:flex!important;flex-wrap:wrap!important;gap:8px;overflow:visible!important;max-width:100%}.student-finance-state-pills button{flex:0 0 auto;min-height:40px;padding:0 14px;border-radius:999px;font-size:13px}.student-select-all,.student-sort-btn{min-height:48px;width:100%;justify-content:center;border-radius:14px;font-size:12.5px;font-weight:600;padding:6px 10px;text-align:center}.student-sort-btn{order:1}.student-select-all{display:flex;align-items:center;justify-content:center;gap:10px}.student-select-all input{width:22px;height:22px;flex:none}.student-select-all small{margin-left:auto}.student-finance-item{padding:14px}.student-finance-item-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:start}.student-finance-item-heading>input[type=checkbox]{width:22px;height:22px;margin-top:2px}.student-finance-description strong{font-size:15px;line-height:1.3}.student-finance-description small{font-size:12.5px;line-height:1.45}.student-finance-badges{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.student-finance-item-body{display:grid;gap:12px}.student-finance-amounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.student-finance-amounts>div{min-width:0}.student-finance-amounts dd{font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.student-finance-item-actions{display:flex;align-items:stretch;gap:8px;width:100%}.student-finance-item-actions>.button{flex:1 1 0;min-height:48px;justify-content:center;font-size:14px;font-weight:600;border-radius:14px}.student-finance-item-actions>.icon-button{flex:0 0 48px;width:48px;height:48px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.student-finance-item-actions>.icon-button:only-child{flex:1 1 100%;width:100%}.account-pill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:10px;row-gap:2px;align-items:center}.account-pill>span{min-width:0;overflow-wrap:anywhere;font-size:14px}.account-pill b{margin-left:0;padding-left:0;border-left:0;text-align:right;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.account-pill small{grid-column:2/-1;padding-left:0;text-align:left;font-size:12px}.account-pill-add{display:flex;justify-content:center}.metric-grid.metric-strip{grid-template-columns:minmax(0,1fr)}.metric-grid.metric-strip .metric-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "detail value";align-items:center;column-gap:12px;row-gap:2px;padding:14px 16px}.metric-grid.metric-strip .metric-card+.metric-card{border-left:0;border-top:1px solid var(--border)}.metric-grid.metric-strip .metric-card .metric-top{grid-area:label;justify-content:flex-start;gap:10px;font-size:13px}.metric-grid.metric-strip .metric-card .metric-top>span:first-child{order:2}.metric-grid.metric-strip .metric-card .metric-top .metric-icon{order:1}.metric-grid.metric-strip .metric-card>strong{grid-area:value;font-size:20px;text-align:right;white-space:nowrap}.metric-grid.metric-strip .metric-card>small{grid-area:detail;padding-left:42px;font-size:12px}.select-static{min-height:48px;cursor:default;background:var(--surface-soft);color:var(--ink);font-weight:600}.select-static:hover{border-color:var(--border)}.select-required-proxy{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.select-segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr));gap:8px;width:100%}.select-segmented>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:8px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--muted);font-size:14px;font-weight:600;line-height:1.2;text-align:center;transition:background .18s,color .18s,border-color .18s,transform .12s}.select-segmented>button:active{transform:scale(.97)}.select-segmented>button.active{background:var(--brand);border-color:var(--brand);color:var(--surface);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 26%,transparent)}.select-segmented>button.active .select-option-icon{color:inherit}.select-segmented>button:disabled{opacity:.55}}@media (max-width:639px){.select-segmented>button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:2px}}@media (max-width:639px){.classes-year-filter{display:none}.class-list>li,.class-list>li.is-reserved{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px}.class-list>li .class-list-person,.class-list>li.is-reserved .class-list-person{flex:1 1 100%;min-width:0;align-items:flex-start}.class-list>li .class-list-main{flex:1 1 0;min-width:0}.class-list>li.is-reserved>.badge{flex:0 0 auto}.class-list-main .registration-missing{margin-top:10px;align-self:stretch}.class-list-main strong{display:block}}@media (max-width:639px){body:has(.export-menu-dropdown):after{content:"";position:fixed;inset:0;z-index:125;background:#11191c8c;animation:fade-in .18s ease}.export-menu-dropdown{position:fixed!important;inset:auto 0 0 0!important;top:auto!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;min-width:0!important;z-index:130;max-height:min(78dvh,620px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px 12px max(16px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:20px 20px 0 0;box-shadow:0 -10px 60px #0003;animation:sheet-in .25s cubic-bezier(.2,.7,.2,1)}.export-menu-dropdown:before{content:"";display:block;width:40px;height:5px;margin:2px auto 10px;border-radius:4px;background:var(--border)}.export-menu-dropdown a,.export-menu-dropdown button{min-height:52px;padding:12px 14px;gap:14px;font-size:15px;border-radius:12px;width:100%}.export-menu-dropdown a svg,.export-menu-dropdown button svg{width:20px;height:20px}.pre-enrollment-year-control.is-synced{display:none}.eo-revenue{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.eo-revenue-main{display:grid;gap:8px;min-width:0}.eo-revenue-main>span:first-child{font-size:13px;color:var(--muted)}.eo-revenue-main>strong{font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}.eo-revenue-main>small{font-size:12.5px;color:var(--muted)}.eo-revenue-main>.button{width:100%;min-height:48px;justify-content:center;margin-top:4px}.eo-revenue-side{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;border:0;border-top:1px solid var(--border)}.eo-revenue-side>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:0;padding:14px 0;border:0;border-bottom:1px solid var(--border)}.eo-revenue-side>div:last-child{border-bottom:0;padding-bottom:0}.eo-revenue-side dt{font-size:13px;color:var(--muted)}.eo-revenue-side dd{margin:0;font-size:18px;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}.eo-revenue-side .eo-diff-note{grid-column:1/-1;display:block;font-size:12.5px;line-height:1.5;text-align:left}.eo-revenue-side>div+div{border-left:0}.eo-revenue-side>div,.eo-revenue-side>div+div{padding-left:0;padding-right:0}.eo-revenue-side{border-left:0}.eo-revenue-side .eo-diff-note{grid-column:1/-1;display:grid;gap:6px;margin:6px 0 0;padding:10px 12px;border-radius:12px;background:var(--surface-soft)}.eo-revenue-side .eo-diff-item{display:flex;align-items:center;gap:10px;margin:0;white-space:normal;font-size:13px;line-height:1.4;color:var(--ink);font-variant-numeric:tabular-nums}.eo-revenue-side .eo-diff-item>i{margin:0;width:10px;height:10px}.eo-revenue-side>div{min-height:56px}}.topbar-back{display:none}@media (max-width:999px){.topbar-back{display:inline-grid;place-items:center;flex:0 0 auto;width:var(--tap);height:var(--tap);margin-left:-6px;border-radius:12px;color:var(--ink);background:transparent;border:0;cursor:pointer}.topbar-back:active{background:color-mix(in srgb,var(--ink) 10%,transparent)}.topbar-back:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:-3px}}@media (max-width:640px){.topbar-back+.mobile-brand{width:clamp(80px,24vw,104px)!important}}.pixsheet{display:grid;gap:14px}.pixsheet-amount{display:grid;gap:2px;text-align:center}.pixsheet-amount strong{font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.pixsheet-amount small{color:var(--muted);font-size:13px}.pixsheet-card{padding:18px 16px}.pixsheet-howto{display:flex;align-items:flex-start;gap:8px;margin:0;max-width:300px;color:var(--muted);font-size:13px;line-height:1.4;text-align:left}.pixsheet-howto svg{flex:none;margin-top:1px}.pixsheet-code input{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--muted);font-size:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis}.pixsheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pixsheet-actions .button{min-height:48px;justify-content:center;gap:8px}.pixsheet-actions .pixsheet-main{grid-column:1/-1;min-height:54px;font-size:16px}.pixsheet-actions .pixsheet-main:only-child{grid-column:1/-1}.pixsheet-foot{margin:0;color:var(--muted);font-size:12.5px;line-height:1.45;text-align:center}.family-finance-actions .button.small,.family-pay-pix{min-height:44px}.account-pix-preview{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.account-pix-qr{flex:none;padding:6px;border-radius:10px;background:#fff;line-height:0}@media (max-width:480px){.pixsheet-amount strong{font-size:28px}.pixpay-qr svg{width:min(216px,62vw);height:auto}}.family-enroll-student{display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--border)}.family-enroll-student-head{display:grid;gap:2px}.family-enroll-student-head strong{font-size:16px}.family-enroll-student-head span{color:var(--muted);font-size:13px}.family-enroll-plan{display:grid;gap:0;margin:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.family-enroll-plan>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px}.family-enroll-plan>div+div{border-top:1px solid var(--border)}.family-enroll-plan dt{color:var(--muted);font-size:13px}.family-enroll-plan dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}.family-enroll-plan dd small{color:var(--muted);font-weight:500}.family-enroll-more{border-radius:12px;background:var(--surface-soft);padding:0 14px}.family-enroll-more summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13.5px;font-weight:600}.family-enroll-more ul{margin:0 0 12px;padding-left:18px;display:grid;gap:4px;color:var(--muted);font-size:13px}.family-enroll-more .family-campaign-prices{margin-bottom:12px}.family-enroll-fee{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.family-enroll-fee.scheduled{border-color:color-mix(in srgb,var(--bronze) 45%,var(--border))}.family-enroll-fee.paid{border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.family-enroll-fee-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.family-enroll-fee-head span{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.family-enroll-fee p{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--muted);font-size:13.5px;line-height:1.45}.family-enroll-fee p svg{flex:none;margin-top:2px}.family-enroll-fee p b{color:var(--ink)}.family-enroll-fee-actions{display:grid;gap:10px}.family-enroll-fee-actions .button{min-height:48px;justify-content:center;gap:8px;text-decoration:none}@media (min-width:640px){.family-enroll-fee-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.family-student-avatar-btn{position:relative;padding:0;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .15s ease}.family-student-avatar-btn:active{transform:scale(.96)}.family-student-avatar-btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.family-student-avatar-badge{position:absolute;right:-6px;bottom:-6px;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--brand);color:#fff;border:2px solid var(--surface)}.family-photo-actions{display:grid;gap:10px}.family-photo-actions .button{min-height:50px;justify-content:center;gap:10px}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-ext-wght-normal.d1990364.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-wght-normal.2ffcac4f.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-greek-wght-normal.6b69666c.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-vietnamese-wght-normal.383b32a0.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-ext-wght-normal.f5cc7610.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-wght-normal.fedf4c92.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/cormorant-garamond-cyrillic-ext-500-normal.d97f4cfb.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-cyrillic-ext-500-normal.c541922a.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/cormorant-garamond-cyrillic-500-normal.abfcc86a.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-cyrillic-500-normal.4b8d5622.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/cormorant-garamond-vietnamese-500-normal.899649e4.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-vietnamese-500-normal.5c8761f2.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/cormorant-garamond-latin-ext-500-normal.3cab7b12.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-latin-ext-500-normal.53b11bdb.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/cormorant-garamond-latin-500-normal.37a9a8cd.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-latin-500-normal.5a368ae3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}