.app-shell{--app-font-size-adjustment:0px;color:#141824;background:#f3f5f8;grid-template-columns:280px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell[data-font-size=small]{--app-font-size-adjustment:-1px}.app-shell[data-font-size=large]{--app-font-size-adjustment:2px}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.auth-shell{background:linear-gradient(135deg,#4f46e514,#0000 34%),#f3f5f8;place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{box-sizing:border-box;background:#fff;border:1px solid #e2e7ef;border-radius:8px;gap:18px;width:100%;max-width:440px;padding:28px;display:grid;box-shadow:0 22px 52px #1f293714}.auth-product{color:#4f46e5;font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:700}.auth-card h1{color:#10131c;font-size:calc(28px + var(--app-font-size-adjustment,0px));margin:7px 0 0;line-height:1.16}.auth-card p{color:#697386;margin:8px 0 0;line-height:1.6}.auth-form,.auth-hint{gap:12px;display:grid}.auth-form label,.record-form label{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:600;display:grid}.auth-form input,.record-form input,.record-form select,.record-form textarea{box-sizing:border-box;color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:38px;padding:9px 10px}.auth-form input:focus,.record-form input:focus,.record-form select:focus,.record-form textarea:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.auth-mode-tabs{background:#f8fafc;border:1px solid #e2e7ef;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-mode-tab,.auth-link-button{color:#4b5563;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;font-weight:700;display:inline-flex}.auth-mode-tab:hover,.auth-link-button:hover{color:#3730a3;background:#eef2ff}.auth-mode-tab:focus-visible,.auth-link-button:focus-visible,.auth-form .primary-button:focus-visible{outline:0;box-shadow:0 0 0 3px #4f46e52e}.auth-mode-tab.active{color:#312e81;background:#fff;border-color:#dfe4ec;box-shadow:0 1px 2px #1218260f}.auth-title-row{color:#344052;font-size:calc(14px + var(--app-font-size-adjustment,0px));align-items:center;gap:8px;font-weight:800;display:flex}.auth-password-rules{background:#f8fafc;border:1px solid #e2e7ef;border-radius:7px;gap:7px;margin:0;padding:10px;list-style:none;display:grid}.auth-password-rule{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));align-items:center;gap:7px;line-height:1.35;display:flex}.auth-password-rule.passed{color:#047857}.auth-hint code{overflow-wrap:anywhere;color:#344052;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#f8fafc;border:1px solid #e2e7ef;border-radius:7px;padding:10px;display:block}.auth-loading{color:#697386}.auth-message{color:#166534;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#f0fdf4;border:1px solid #bbf7d0;border-radius:7px;margin:0;padding:9px 10px;line-height:1.5}.auth-form .primary-button{cursor:pointer;width:100%;min-height:38px}.auth-form .primary-button:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.auth-form .primary-button:disabled,.auth-mode-tab:disabled,.auth-link-button:disabled{cursor:not-allowed;opacity:.72}.auth-secondary-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.auth-link-button{min-height:32px;font-size:calc(13px + var(--app-font-size-adjustment,0px));padding:0 10px}.form-error{color:#dc2626;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:0}.mobile-topbar,.mobile-nav-backdrop{display:none}.sidebar{background:#eef1f5;border-right:1px solid #dde2ea;flex-direction:column;gap:18px;min-width:0;min-height:100vh;padding:18px 14px;display:flex;overflow:hidden}.brand-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.brand{flex:auto;align-items:center;gap:10px;min-width:0;padding:4px 4px 0;display:flex}.brand strong,.profile-card strong{color:#10131c;font-size:calc(18px + var(--app-font-size-adjustment,0px));line-height:1.1;display:block}.brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand span,.profile-card span{color:#6c7381;font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.5;display:block}.brand-mark{box-sizing:border-box;background:#fff;border-radius:9px;place-items:center;width:34px;height:34px;padding:4px;transition:opacity .14s,transform .14s;display:grid;box-shadow:0 10px 20px #1318232e}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.sidebar-toggle{flex:none;transition:opacity .14s,transform .14s}.nav-list{gap:3px;padding:4px;display:grid}.nav-item{color:#3f4655;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;padding:9px 11px;display:flex;position:relative}.nav-item:hover{background:#ffffffbd}.nav-item.active{color:#111827;background:#dde3ed;box-shadow:inset 0 0 0 1px #818c9e1f}.nav-item svg{flex:none}.dot{border-radius:999px;flex:none;width:7px;height:7px;display:inline-block}.paid-dot{background:#16a34a}.partial-dot{background:#d97706}.unpaid-dot{background:#dc2626}.overpaid-dot{background:#4f46e5}.pending-dot{background:#64748b}.multiple-history-dot{background:#0891b2}.profile-card{border-top:1px solid #dce1e9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 6px;display:grid}.brand-copy,.profile-copy,.nav-item span{min-width:0}.brand-copy{flex:auto;overflow:hidden}.profile-copy{overflow:hidden}.profile-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-actions{align-items:center;gap:5px;display:flex}.app-shell.sidebar-collapsed .sidebar{gap:16px;padding-inline:10px}.app-shell.sidebar-collapsed .brand-row{justify-content:center;gap:0;width:42px;height:42px;margin-inline:auto;display:flex}.app-shell.sidebar-collapsed .brand,.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .profile-copy{display:none}.app-shell.sidebar-collapsed .sidebar-toggle{opacity:1;width:42px;min-height:42px;transform:none}.app-shell.sidebar-collapsed .nav-list{padding:4px 0}.app-shell.sidebar-collapsed .nav-item{justify-content:center;gap:0;min-height:40px;padding:9px 0}.app-shell.sidebar-collapsed .nav-item span{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell.sidebar-collapsed .profile-card{grid-template-columns:1fr;justify-items:center;gap:8px;padding:12px 0 6px}.app-shell.sidebar-collapsed .profile-actions{flex-direction:column}.avatar,.student-avatar{color:#fff;background:#58627a;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.main{background:#fbfcfe;flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #e4e8ef;justify-content:flex-end;align-items:center;min-height:64px;padding:0 20px;display:flex}.top-actions,.toolbar,.toolbar-actions,.tabs,.sheet-actions,.panel-actions{align-items:center;gap:8px;display:flex}.ghost-button,.secondary-button,.primary-button,.icon-button,.month-field,.tab{color:#293040;background:#fff;border:1px solid #dfe4ec;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:34px;display:inline-flex;box-shadow:0 1px 2px #1218260a}.ghost-button,.secondary-button,.primary-button,.month-field,.tab{padding:0 11px}a.secondary-button{text-decoration:none}.month-field input{color:#293040;background:0 0;border:0;outline:0;width:122px}.ghost-button{color:#5d6678;box-shadow:none;background:0 0}.primary-button{color:#fff;background:#4f46e5;border-color:#4f46e5}.secondary-button:hover,.ghost-button:hover,.icon-button:hover,.tab:hover{background:#f7f8fb}.icon-button{color:#5f6878;width:34px;padding:0}.toolbar{background:#fff;border-bottom:1px solid #e7ebf1;justify-content:space-between;min-height:58px;padding:10px 20px}.dashboard-toolbar{align-items:center}.dashboard-month-actions{justify-content:flex-end;margin-left:auto}.toolbar-title{gap:1px;display:grid}.toolbar-title strong{color:#222938}.toolbar-title span{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.tabs{background:#f8fafc;border:1px solid #e2e7ef;border-radius:9px;padding:3px}.tab{color:#697386;min-height:32px;box-shadow:none;white-space:nowrap;background:0 0;border-color:#0000}.tab.active{color:#4f46e5;background:#fff;border-color:#e4e8ef;box-shadow:0 1px 4px #12182614}.compact-tabs{max-width:100%;overflow-x:auto}.search-field{color:#778195;background:#fff;border:1px solid #dfe4ec;border-radius:7px;align-items:center;gap:8px;width:min(320px,36vw);min-height:34px;padding:0 11px;display:flex}.search-field input{color:#1f2633;background:0 0;border:0;outline:0;width:100%}.sheet-actions .search-field{flex:260px;max-width:360px}.filter-group{background:#f8fafc;border:1px solid #dfe4ec;border-radius:7px;align-items:center;gap:6px;min-height:34px;padding:3px;display:inline-flex}.filter-label{color:#596274;font-size:calc(13px + var(--app-font-size-adjustment,0px));white-space:nowrap;align-items:center;gap:5px;padding:0 6px;font-weight:700;display:inline-flex}.filter-group .select{border-color:#e4e8ef;min-width:120px;height:28px;box-shadow:0 1px 2px #1218260a}.filter-group .class-filter-select{min-width:132px;max-width:190px}.content-grid{grid-template-columns:minmax(0,1fr) 340px;gap:18px;min-height:0;padding:18px 20px;display:grid;overflow:hidden}.content-grid.people-layout,.content-grid.dashboard-detail-closed{grid-template-columns:minmax(0,1fr)}.work-area{flex-direction:column;gap:14px;min-width:0;display:flex}.metric-strip{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.metric-card{background:#fff;border:1px solid #e2e7ef;border-radius:8px;align-items:center;gap:10px;min-height:72px;padding:13px;display:flex}.metric-card span,.panel-head>div>span,.payment-box span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.4;display:block}.metric-card strong{color:#151a25;font-size:calc(20px + var(--app-font-size-adjustment,0px));margin-top:2px;line-height:1.15;display:block}.metric-card small{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-top:3px;line-height:1.35;display:block}.metric-icon{border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.metric-icon.indigo{color:#4f46e5;background:#eef2ff}.metric-icon.green{color:#16a34a;background:#ecfdf3}.metric-icon.amber{color:#d97706;background:#fffbeb}.metric-icon.rose{color:#e11d48;background:#fff1f2}.notice{color:#166534;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.notice.error{color:#991b1b;background:#fff1f2;border-color:#fecaca}.notice button{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.notice button:hover{background:#0f172a12}.notice button:focus-visible{outline-offset:1px;outline:2px solid}.notice .notice-leading-dismiss{margin-left:0}.sheet-card,.detail-panel{background:#fff;border:1px solid #e2e7ef;border-radius:8px;box-shadow:0 16px 36px #1f29370a}.sheet-card{min-width:0;overflow:hidden}.sheet-head{border-bottom:1px solid #e8ecf2;justify-content:space-between;align-items:flex-start;gap:14px;padding:15px 16px;display:flex}.sheet-head p{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:7px 0 0}.billing-issue-legend{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;display:flex}.billing-issue-legend-item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.group-label{border-radius:7px;align-items:center;gap:8px;min-height:30px;padding:0 10px;font-weight:600;display:inline-flex}.group-label span{border-radius:50%;width:8px;height:8px}.group-label small{color:#4b5563;background:#fff;border-radius:6px;min-width:22px;padding:2px 6px}.group-label.amber{color:#9a5b00;background:#fff7e6}.group-label.amber span{background:#f59e0b}.group-label.indigo{color:#4f46e5;background:#eef2ff}.group-label.indigo span{background:#4f46e5}.group-label.green{color:#15803d;background:#ecfdf3}.group-label.green span{background:#16a34a}.group-label.rose{color:#be123c;background:#fff1f2}.group-label.rose span{background:#e11d48}.billing-marker-legend{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:7px;line-height:1.4;display:flex}.billing-marker-legend>span{align-items:center;gap:5px;display:inline-flex}.billing-marker-legend>span:first-child{color:#4b5563;font-weight:700}.select{color:#293040;background:#fff;border:1px solid #dfe4ec;border-radius:7px;height:34px;padding:0 10px}.table-wrap{max-height:calc(100vh - 300px);overflow:auto}body.is-resizing-table-column,body.is-resizing-table-column *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.billing-table{border-collapse:separate;border-spacing:0;font-size:calc(14px + var(--app-font-size-adjustment,0px));table-layout:fixed}.billing-table th,.billing-table td{white-space:nowrap;text-overflow:ellipsis;background:#fff;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;height:44px;padding:0 12px;overflow:hidden}.billing-table th{z-index:3;color:#596274;text-align:left;background:#f8fafc;font-weight:600;position:sticky;top:0;overflow:visible}.billing-table th.resizing{background:#eef2ff}.billing-column-label{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.billing-column-resizer{z-index:6;cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:0;width:8px;height:100%;padding:0;position:absolute;top:0;right:-4px}.billing-column-resizer:after{content:"";background:0 0;border-radius:999px;width:2px;position:absolute;top:7px;bottom:7px;left:3px}.billing-column-resizer:hover:after,.billing-column-resizer:focus-visible:after,.billing-table th.resizing .billing-column-resizer:after{background:#8b84f8}.billing-column-resizer:focus-visible{outline-offset:-3px;outline:2px solid #8b84f8}.billing-table tbody tr:hover td,.billing-table tbody tr.selected td{background:#f6f8ff}.sticky-col{z-index:2;position:sticky}th.sticky-col{z-index:4}.sticky-col.sm{min-width:62px;left:0}.sticky-col.name{min-width:118px;left:62px;box-shadow:1px 0 #e9edf3}.billing-table .sticky-col.name{left:0}.student-name{color:#111827;background:0 0;border:0;font-weight:600}.student-name-stack{align-items:center;gap:6px;display:inline-flex}.previous-status-dot{width:9px;height:9px;box-shadow:0 0 0 3px #0891b21f}.previous-status-dot.unpaid-dot{box-shadow:0 0 0 3px #dc26261a}.previous-status-dot.partial-dot{box-shadow:0 0 0 3px #d977061f}.previous-status-dot.overpaid-dot{box-shadow:0 0 0 3px #4f46e51c}.previous-status-dot.pending-dot{box-shadow:0 0 0 3px #64748b1f}.chips{gap:5px;min-width:0;display:flex;overflow:hidden}.chips span{color:#4b5563;min-width:0;max-width:100%;font-size:calc(12px + var(--app-font-size-adjustment,0px));text-align:center;text-overflow:ellipsis;background:#f8fafc;border:1px solid #e1e6ee;border-radius:999px;justify-content:center;align-items:center;padding:3px 7px;display:inline-flex;overflow:hidden}.money{text-align:right;font-variant-numeric:tabular-nums}.paid-amount-cell{min-width:0}.paid-amount-control{justify-content:flex-end;width:100%;display:inline-flex}.paid-amount-control input{box-sizing:border-box;color:#111827;text-align:right;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #dfe4ec;border-radius:6px;outline:0;width:100%;min-width:0;height:32px;padding:0 8px}.paid-amount-control input:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.paid-amount-control input:disabled{cursor:wait;opacity:.65}.strong{color:#111827;font-weight:700}.status{min-height:26px;font-size:calc(13px + var(--app-font-size-adjustment,0px));text-align:center;white-space:nowrap;border-radius:7px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 9px;font-weight:600;line-height:1;display:inline-flex}.status.paid,.status.active{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.status.partial{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.status.unpaid{color:#dc2626;background:#fff1f2;border:1px solid #fecaca}.status.overpaid{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe}.status.pending{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.student-course-warning{min-height:22px;font-size:calc(12px + var(--app-font-size-adjustment,0px));padding:4px 8px}.status.archived{color:#5f6878;background:#f8fafc;border:1px solid #dfe4ec}.status-control select{color:#111827;min-width:64px;font:inherit;text-align:center;text-align-last:center;cursor:pointer;background:0 0;border:0;outline:0;font-weight:700}.status-control select option{color:#111827;background:#fff}.status-control select:disabled{cursor:wait;opacity:.65}.date-cell{min-width:0}.payment-date-control{align-items:center;width:100%;display:inline-flex}.payment-date-control input{box-sizing:border-box;color:#1f2633;width:100%;min-width:0;height:32px;font-size:calc(14px + var(--app-font-size-adjustment,0px));cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:6px;padding:0 7px}.payment-date-control input:focus{border-color:#8b84f8;outline:0;box-shadow:0 0 0 3px #4f46e51f}.payment-date-control input:disabled{cursor:wait;opacity:.65}.payment-date-empty{color:#697386}.note-cell{text-overflow:ellipsis;min-width:0;max-width:none;overflow:hidden}.bill-note-control{align-items:center;width:100%;display:inline-flex}.bill-note-control input{box-sizing:border-box;color:#111827;width:100%;height:32px;font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;outline:0;padding:0 8px}.bill-note-control input:hover{background:#fff;border-color:#dfe4ec}.bill-note-control input:focus{background:#fff;border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.bill-note-control input:disabled{cursor:wait;opacity:.65}.empty-state{text-align:center;color:#697386;align-content:center;justify-items:center;gap:6px;min-height:180px;padding:28px;display:grid}.empty-state strong{color:#222938;font-size:calc(16px + var(--app-font-size-adjustment,0px))}.empty-state p{max-width:360px;line-height:1.6;font-size:calc(14px + var(--app-font-size-adjustment,0px));margin:0}.empty-table-cell{text-align:center;background:#fff!important;height:240px!important}.detail-panel{min-width:0;height:fit-content;max-height:calc(100vh - 154px);padding:16px;overflow:auto}.empty-detail{place-items:center;min-height:300px;display:grid}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-head>div{min-width:0}.panel-head>.status{flex:none}.panel-head-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.panel-head-status{justify-content:flex-end;align-items:center;gap:6px;display:flex}.panel-close-button{width:28px;min-height:28px}.panel-head h2{font-size:calc(24px + var(--app-font-size-adjustment,0px));margin:2px 0 0;line-height:1.15}.student-summary{background:#f8fafc;border:1px solid #e5e9f0;border-radius:8px;align-items:center;gap:11px;margin-top:16px;padding:12px;display:flex}.student-summary p,.student-list span{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:2px 0 0}.panel-block{margin-top:16px}.bill-detail-field{color:#222938;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:7px;font-weight:700;display:grid}.bill-detail-field .bill-note-control input{background:#fff;border-color:#dfe4ec;height:38px;font-weight:400}.block-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.block-title>span{color:#222938;font-weight:700}.line-items{border:1px solid #e8ecf2;border-radius:8px;display:grid;overflow:hidden}.line-items>div,.payment-box>div{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:flex}.line-items>div:last-child,.payment-box>div:last-child{border-bottom:0}.line-items span{color:#5f6878}.billing-section-total{border-top:1px solid #e8ecf2;justify-content:space-between;align-items:center;gap:10px;min-height:40px;margin-top:8px;padding:0 12px;display:flex}.billing-section-total span{color:#5f6878}.billing-section-total strong{color:#111827;font-size:calc(16px + var(--app-font-size-adjustment,0px))}.leave-deduction-list{border:1px solid #e8ecf2;border-radius:8px;display:grid;overflow:hidden}.leave-deduction-item{border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:10px 12px;display:grid}.leave-deduction-item:last-child{border-bottom:0}.leave-deduction-copy{gap:3px;min-width:0;display:grid}.leave-deduction-copy>strong{color:#222938;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.leave-deduction-copy>span,.leave-deduction-copy>small{color:#697386;overflow-wrap:anywhere}.leave-deduction-copy>span{font-size:calc(12px + var(--app-font-size-adjustment,0px))}.leave-deduction-copy>small{font-size:calc(13px + var(--app-font-size-adjustment,0px))}.leave-deduction-item>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.leave-no-deduction{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.leave-deduction-error{color:#991b1b;min-height:84px;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#fff7f7;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.line-items>.bill-line-item-with-details{min-height:0;padding:0;display:block}.bill-line-item-main{justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:0 12px;display:flex}.bill-meal-details{background:#f8fafc;border-top:1px solid #edf0f4}.bill-meal-details summary{color:#4f46e5;font-size:calc(12px + var(--app-font-size-adjustment,0px));cursor:pointer;padding:8px 12px;font-weight:700}.bill-meal-details>div{padding:0 12px 8px;display:grid}.bill-meal-details>div>div{font-size:calc(12px + var(--app-font-size-adjustment,0px));border-top:1px solid #e8ecf2;grid-template-columns:42px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:5px 0;display:grid}.bill-meal-details time{color:#697386}.bill-meal-details strong{white-space:nowrap}.payment-box{border:1px solid #e8ecf2;border-radius:8px;margin-top:16px;display:grid;overflow:hidden}.billing-history-list{gap:8px;display:grid}.billing-history-row{background:#f8fafc;border:1px solid #e8ecf2;border-radius:8px;gap:6px;padding:10px 12px;display:grid}.billing-history-row>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.billing-history-row strong{color:#222938}.billing-history-row span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.5}.payment-box strong{font-size:calc(16px + var(--app-font-size-adjustment,0px))}.balance.due strong{color:#dc2626}.balance.ok strong{color:#4f46e5}.quick-form{gap:10px;margin-top:16px;display:grid}.quick-form label{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:600;display:grid}.quick-form input,.quick-form select,.quick-form textarea{box-sizing:border-box;color:#151a25;resize:vertical;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;padding:9px 10px}.adjustment-list>div{align-items:center;min-height:28px;padding:4px 10px}.adjustment-list span{overflow-wrap:anywhere;min-width:0}.adjustment-actions{justify-content:flex-end;align-items:center;gap:7px;min-width:max-content;display:inline-flex}.amount-negative{color:#dc2626}.amount-positive{color:#15803d}.compact-icon-button{width:28px;min-height:28px}.adjustment-editor{background:#f8fafc;border:1px solid #e8ecf2;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.adjustment-row{grid-template-columns:112px minmax(0,1fr);align-items:end;gap:8px;display:grid}.adjustment-row label{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:600;display:grid}.adjustment-row input{box-sizing:border-box;color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:36px;padding:8px 9px}.panel-actions{justify-content:flex-end;margin-top:14px}.class-management-layout{grid-template-columns:minmax(0,1fr) 380px;gap:18px;min-width:0;display:grid}.student-management-layout{grid-template-columns:minmax(0,1fr) clamp(440px,30vw,520px);gap:18px;min-width:0;display:grid}.class-list-card{min-width:0}.class-view-switcher{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.class-tab-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.class-tab-actions .search-field{width:min(320px,42vw)}.student-list-card{min-width:0}.class-table-wrap,.student-table-wrap{max-height:calc(100vh - 390px)}.class-records-table{min-width:860px}.student-records-table{min-width:760px}.class-records-table tr{cursor:pointer}.class-lesson-count-cell{white-space:nowrap}.class-lesson-count-cell strong{color:#111827;font-size:calc(15px + var(--app-font-size-adjustment,0px));font-variant-numeric:tabular-nums}.class-lesson-count-cell span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-left:4px;font-weight:700}.student-records-table tr{cursor:pointer}.student-records-table tr:focus-visible{outline-offset:-2px;outline:2px solid #8b84f8}.student-records-table .name-cell{flex-wrap:wrap;row-gap:6px}.class-detail-panel{max-height:calc(100vh - 218px)}.class-calendar-card{margin-bottom:18px;overflow:visible}.class-calendar-controls{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.class-month-field{min-width:178px}.class-calendar-filter{background:#f8fafc;border:1px solid #e5eaf1;border-radius:8px;gap:10px;margin:0 0 14px;padding:12px 14px;display:grid}.class-calendar-filter-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.class-calendar-filter-main{flex:360px;align-items:center;gap:12px;min-width:0;display:flex}.class-calendar-filter-title{color:#4b5563;flex-wrap:wrap;flex:none;align-items:center;gap:7px;min-width:0;display:flex}.class-calendar-filter-title span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:800}.class-calendar-filter-menu{flex:0 min(360px,46vw);width:min(360px,46vw);position:relative}.class-calendar-filter-menu summary{list-style:none}.class-calendar-filter-menu summary::-webkit-details-marker{display:none}.class-calendar-filter-trigger{color:#293040;cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 11px;display:flex;box-shadow:0 1px 2px #1218260a}.class-calendar-filter-trigger span{min-width:0;font-size:calc(13px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.class-calendar-filter-trigger svg{color:#697386;flex:none;transition:transform .16s}.class-calendar-filter-menu[open] .class-calendar-filter-trigger{background:#eef2ff;border-color:#b9c4ff}.class-calendar-filter-menu[open] .class-calendar-filter-trigger svg{transform:rotate(180deg)}.class-calendar-filter-popover{z-index:30;background:#fff;border:1px solid #dfe4ec;border-radius:8px;gap:8px;width:min(360px,80vw);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 36px #12182629}.class-calendar-filter-actions{justify-content:flex-end;display:flex}.class-calendar-filter-options{gap:6px;max-height:260px;padding-right:2px;display:grid;overflow:auto}.class-calendar-class-option{color:#293040;cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:32px;padding:5px 8px;display:grid}.class-calendar-class-option.checked{background:#eef2ff;border-color:#b9c4ff}.class-calendar-class-option input{flex:none;width:14px;height:14px;margin:0}.class-calendar-class-option span,.class-calendar-class-option small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.class-calendar-class-option span{font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:800}.class-calendar-class-option small{color:#697386;font-size:calc(11px + var(--app-font-size-adjustment,0px))}.class-calendar-filter-empty{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin:0}.class-calendar-workspace{grid-template-columns:minmax(0,1fr) clamp(340px,30vw,440px);align-items:start;gap:16px;min-width:0;display:grid}.class-calendar-board{min-width:0}.class-calendar-weekdays,.class-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.class-calendar-weekdays{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));gap:0;padding:0 14px 8px;font-weight:700}.class-calendar-weekdays span{text-align:center;min-width:0}.class-calendar-grid{border-top:1px solid #edf0f4;border-left:1px solid #edf0f4}.class-calendar-day{background:#fff;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;min-width:0;min-height:118px}.class-calendar-day.selected{background:#f8fbff}.class-calendar-day.empty{background:#f8fafc}.class-calendar-day-button{width:100%;height:100%;min-height:118px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-content:start;gap:2px;padding:0;display:grid}.class-calendar-day-button:hover{background:#f8fbff}.class-calendar-day-button:disabled{cursor:progress}.class-calendar-day.selected .class-calendar-day-button{box-shadow:inset 0 0 0 2px #4f46e5}.class-calendar-day-button:focus-visible{outline-offset:-2px;outline:2px solid #4f46e5}.class-calendar-date{align-items:baseline;padding:9px 10px 3px;display:flex}.class-calendar-date strong{color:#111827;font-size:calc(17px + var(--app-font-size-adjustment,0px))}.class-calendar-summary{gap:6px;padding:0 10px 10px;display:grid}.class-calendar-counts{flex-wrap:wrap;align-items:center;gap:4px;min-height:22px;display:flex}.class-calendar-count{color:#1d4ed8;min-width:0;font-size:calc(11px + var(--app-font-size-adjustment,0px));background:#dbeafe;border-radius:999px;align-items:center;padding:2px 7px;font-weight:800;line-height:1.25;display:inline-flex}.class-calendar-count.cancelled{color:#9f1239;background:#ffe4e6}.class-calendar-count.muted{color:#7c8798;background:#f1f5f9}.class-calendar-hints{gap:4px;min-width:0;display:grid}.class-calendar-hint,.class-calendar-more,.class-calendar-loading{color:#475569;min-width:0;font-size:calc(12px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.class-calendar-hint.cancelled{color:#9ca3af;text-decoration:line-through}.class-calendar-more,.class-calendar-loading{color:#7c8798;font-weight:700}.class-calendar-detail{background:#f8fafc;border:1px solid #e5eaf1;border-radius:8px;gap:12px;max-height:calc(100vh - 230px);padding:14px;display:grid;position:sticky;top:16px;overflow:auto}.class-calendar-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.class-calendar-detail-head span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.class-calendar-detail-head h3{color:#111827;font-size:calc(18px + var(--app-font-size-adjustment,0px));margin:3px 0 0}.class-calendar-detail-summary{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.class-calendar-detail-actions{justify-items:end;gap:8px;display:grid}.class-calendar-day-holiday{justify-self:end}.class-calendar-detail-list{gap:8px;display:grid}.class-calendar-detail-row{background:#fff;border:1px solid #e0e7ef;border-radius:7px;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"time main""status action";align-items:start;gap:9px 12px;min-width:0;padding:10px;display:grid}.class-calendar-detail-row.cancelled{opacity:.8;background:#f7f7f8}.class-calendar-detail-time{color:#111827;font-size:calc(16px + var(--app-font-size-adjustment,0px));grid-area:time;gap:2px;font-weight:800;display:grid}.class-calendar-detail-time span{color:#7c8798;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.class-calendar-detail-main{grid-area:main;gap:5px;min-width:0;display:grid}.class-calendar-detail-main strong{color:#111827;min-width:0;font-size:calc(14px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-calendar-detail-meta{color:#5d6678;font-size:calc(12px + var(--app-font-size-adjustment,0px));flex-wrap:wrap;gap:6px 12px;display:flex}.class-calendar-detail-meta span{align-items:center;gap:4px;min-width:0;display:inline-flex}.class-calendar-status-badge{color:#166534;font-size:calc(12px + var(--app-font-size-adjustment,0px));text-align:center;background:#dcfce7;border-radius:999px;grid-area:status;justify-content:center;justify-self:start;align-items:center;padding:3px 8px;font-weight:800;display:inline-flex}.class-calendar-status-badge.cancelled{color:#9f1239;background:#ffe4e6}.class-calendar-detail-empty{color:#697386;text-align:center;background:#fff;border:1px dashed #d9e1eb;border-radius:7px;padding:18px}.class-calendar-detail-row .compact-button{grid-area:action;justify-content:center;justify-self:end;min-height:30px;padding:5px 8px}.student-detail-panel{max-height:calc(100vh - 218px)}.student-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.student-title-row h2{margin:0}.student-contact-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-top:10px;display:grid}.student-contact-lines p{color:#4b5563;min-width:0;font-size:calc(14px + var(--app-font-size-adjustment,0px));gap:4px;margin:0;line-height:1.5;display:flex}.student-contact-lines strong{color:#111827;overflow-wrap:anywhere;min-width:0}.student-class-list{border:1px solid #e8ecf2;border-radius:8px;display:grid;overflow:hidden}.student-class-row{background:#fff;border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.student-class-row:last-child{border-bottom:0}.student-class-row strong,.student-class-row span{display:block}.student-class-row strong{color:#111827}.student-class-row span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-top:3px}.student-class-meta{justify-items:end;gap:5px;display:grid}.student-class-meta strong{font-variant-numeric:tabular-nums}.student-detail-empty{color:#8a94a6;min-height:84px;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#f8fafc;border:1px solid #e8ecf2;border-radius:8px;place-items:center;display:grid}.billing-issues-empty{min-height:44px}.student-billing-title{margin-bottom:8px}.student-billing-title-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.student-billing-month{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:600;display:grid}.student-billing-month input{box-sizing:border-box;color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:36px;padding:8px 10px}.student-billing-block>.student-detail-empty{text-align:left;place-items:start;min-height:auto;margin-top:10px;padding:12px}.student-billing-summary{margin-top:12px}.student-billing-adjustment-head{margin-top:14px;scroll-margin-top:12px}.student-detail-items div{align-items:flex-start;min-height:0;padding:10px 12px}.student-detail-value{text-align:right;overflow-wrap:anywhere;max-width:62%}.student-add-class{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px;display:grid}.student-add-class .select{min-width:0}.student-detail-message{color:#166534;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:10px 0 0}.class-detail-grid{gap:12px;margin-top:16px;display:grid}.detail-block{background:#fff;border:1px solid #e8ecf2;border-radius:8px;gap:9px;padding:12px;display:grid}.detail-block>span{color:#222938;font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:700}.chips.wrap{flex-wrap:wrap}.schedule-list{gap:8px;display:grid}.schedule-list div{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));align-items:center;gap:7px;display:flex}.class-note-box{background:#f8fafc;border:1px solid #e8ecf2;border-radius:8px;gap:6px;margin-top:16px;padding:11px 12px;display:grid}.class-note-box p{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));white-space:pre-line;margin:0;line-height:1.5}.student-picker{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;display:grid}.student-picker .select{min-width:0}.roster-list{border:1px solid #e8ecf2;border-radius:8px;display:grid;overflow:hidden}.roster-list>.empty-state{border:0}.roster-row{background:#fff;border-bottom:1px solid #edf0f4;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.roster-row:last-child{border-bottom:0}.roster-row strong,.roster-row span{display:block}.roster-row strong{color:#111827}.roster-row span{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-top:2px}.roster-title-actions{align-items:center;gap:8px;display:flex}.roster-meal-fee{font-weight:700;color:#4f46e5!important}.meal-fee-management{min-height:0;position:relative}.meal-fee-sheet-head .sheet-actions{align-self:center}.meal-fee-form{flex-direction:column;gap:16px;min-height:calc(100vh - 88px);padding:18px;display:flex}.meal-fee-form label{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:600;display:grid}.meal-fee-form input:not([type=checkbox]),.meal-fee-form select{box-sizing:border-box;color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-width:0;min-height:38px;padding:9px 10px}.meal-fee-form input:focus,.meal-fee-form select:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.meal-fee-page-form{min-height:0;padding-bottom:0}.meal-fee-context-grid{gap:12px;display:grid}.meal-fee-page-context{grid-template-columns:repeat(2,minmax(180px,1fr)) minmax(230px,.85fr)}.meal-fee-page-context.daily{grid-template-columns:minmax(180px,320px)}.meal-fee-locked-notice{color:#92400e;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:#fffbeb;border-bottom:1px solid #fde68a;align-items:center;gap:8px;padding:10px 16px;line-height:1.45;display:flex}.meal-fee-locked-notice button{color:inherit;background:0 0;border:0;flex:none;place-items:center;margin-left:auto;padding:3px;display:grid}.meal-fee-tabs{align-self:flex-start}.meal-fee-tab-panel{min-width:0}.meal-fee-page-error{margin:-6px 0 0}.meal-fee-load-error{background:#fef2f2;border:1px solid #fecaca;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.meal-fee-load-error .secondary-button{flex:none}.meal-fee-daily-workspace{min-width:0}.meal-fee-day-editor{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e7ef;border-radius:8px;gap:13px;width:100%;min-width:0;display:grid}.meal-fee-day-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:13px 13px 0;display:flex}.meal-fee-day-editor-head>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.meal-fee-day-editor-head span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.meal-fee-save-status{border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:3px 8px;display:inline-flex}.meal-fee-save-status.saving{color:#4338ca;background:#eef2ff}.meal-fee-save-status.saved{color:#047857;background:#ecfdf5}.meal-fee-save-status.error{color:#b91c1c;background:#fef2f2}.meal-fee-save-spinner{animation:.8s linear infinite meal-fee-spin}@keyframes meal-fee-spin{to{transform:rotate(360deg)}}.meal-fee-day-editor-controls{flex-wrap:wrap;flex:auto;align-items:flex-end;gap:10px;min-width:0;display:flex}.meal-fee-day-date-field{flex:0 190px;width:min(190px,100%)}.meal-fee-day-class-field{flex:0 260px;width:min(260px,100%)}.meal-fee-day-batch{background:#fff;border:1px solid #e0e7ef;border-radius:8px;gap:11px;margin:0 13px;padding:12px;display:grid}.meal-fee-day-batch-fields{grid-template-columns:minmax(220px,360px) 120px auto;justify-content:start;align-items:end;gap:9px;display:grid}.meal-fee-add-day{min-width:92px}.meal-fee-student-picker{border:1px solid #e5eaf1;border-radius:7px;min-width:0;margin:0;padding:9px}.meal-fee-student-picker legend{color:#4b5563;font-size:calc(12px + var(--app-font-size-adjustment,0px));padding:0 4px;font-weight:800}.meal-fee-picker-actions{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.meal-fee-picker-actions>span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.meal-fee-picker-actions>div{gap:4px;display:flex}.meal-fee-picker-actions button{color:#4f46e5;min-height:28px;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:0 0;border:0;padding:0 7px;font-weight:700}.meal-fee-student-options{grid-template-columns:1fr;gap:5px;max-height:min(360px,52vh);display:grid;overflow:auto}.meal-fee-student-option{background:#fff;border:1px solid #e5eaf1;border-radius:6px;min-width:0;min-height:36px;overflow:hidden}.meal-fee-student-option:has(.meal-fee-student-checkbox input:checked){background:#eef2ff;border-color:#b9c4ff}.meal-fee-student-option-summary{grid-template-columns:1fr;min-width:0;display:grid}.meal-fee-student-option-summary:has(.meal-fee-meal-tags){grid-template-columns:minmax(180px,30%) minmax(0,1fr)}.meal-fee-student-identity{align-items:center;gap:6px;min-width:0;padding:9px 10px;display:flex}.meal-fee-student-checkbox{cursor:pointer;flex:0 auto;align-items:center;min-width:0;color:#293040!important;gap:6px!important;display:inline-flex!important}.meal-fee-student-checkbox:has(input:disabled){cursor:default}.meal-fee-student-checkbox input{flex:none;width:15px;height:15px;margin:0}.meal-fee-student-checkbox span{min-width:0;font-size:calc(12px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.meal-fee-meal-tags{border-left:1px solid #d8dee8;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding:7px 10px 7px 14px;display:flex}.meal-fee-meal-tag{color:#4338ca;max-width:100%;min-height:26px;font-size:calc(11px + var(--app-font-size-adjustment,0px));overflow-wrap:anywhere;text-align:left;white-space:normal;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;gap:3px;padding:2px 3px 2px 7px;font-weight:700;line-height:1.35;display:inline-flex}.meal-fee-meal-tag>span{overflow-wrap:anywhere;min-width:0}.meal-fee-meal-tag button{color:#b91c1c;background:0 0;border:0;border-radius:999px;flex:0 0 20px;place-items:center;width:20px;min-height:20px;padding:0;display:grid}.meal-fee-meal-tag button:hover:not(:disabled){background:#fee2e2}.meal-fee-picker-empty,.meal-fee-editor-empty{color:#8a94a6;font-size:calc(13px + var(--app-font-size-adjustment,0px));text-align:center;background:#fff;border:1px dashed #d7dde7;border-radius:7px;padding:15px}.meal-fee-monthly-panel{flex-direction:column;gap:12px;min-height:360px;display:flex}.meal-fee-batch-toolbar{background:#f8fafc;border:1px solid #e2e7ef;border-radius:8px;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;display:flex}.meal-fee-batch-toolbar label{min-width:170px}.meal-fee-batch-toolbar .secondary-button{margin-left:auto}.meal-fee-table-wrap{border:1px solid #e2e7ef;border-radius:8px;max-height:calc(100vh - 450px);overflow:auto}.meal-fee-table{border-collapse:separate;border-spacing:0;background:#fff;width:100%;min-width:700px}.meal-fee-table th,.meal-fee-table td{text-align:left;border-bottom:1px solid #edf0f4;padding:10px 12px}.meal-fee-table th{z-index:1;color:#596274;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#f8fafc;font-weight:700;position:sticky;top:0}.meal-fee-table th:first-child,.meal-fee-table td:first-child{text-align:center;width:46px}.meal-fee-table th:nth-child(2){width:25%}.meal-fee-table th:nth-child(3){width:250px}.meal-fee-table th:nth-child(4){width:280px}.meal-fee-table tbody tr:last-child td{border-bottom:0}.meal-fee-table td>strong{color:#111827}.meal-fee-table .select,.meal-fee-table input:not([type=checkbox]){width:100%;min-width:0}.meal-fee-itemized-summary{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.meal-fee-itemized-summary strong,.meal-fee-resolved-amount{color:#4f46e5;font-size:calc(13px + var(--app-font-size-adjustment,0px));white-space:nowrap;font-weight:800}.meal-fee-empty{color:#8a94a6;text-align:center;background:#f8fafc;border:1px dashed #d7dde7;border-radius:8px;place-items:center;min-height:160px;padding:24px;display:grid}.meal-fee-page-actions{z-index:2;background:#fff;border-top:1px solid #e8ecf2;justify-content:space-between;align-items:center;gap:14px;margin:auto -18px 0;padding:14px 18px;display:flex;position:sticky;bottom:0;box-shadow:0 -10px 24px #1f29370a}.meal-fee-page-actions>span{color:#596274;font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:700}.meal-fee-page-actions>div{align-items:center;gap:8px;display:flex}.meal-fee-detail-layer{z-index:80;position:fixed;inset:0}.meal-fee-detail-backdrop{width:100%;height:100%;box-shadow:none;background:#0f172a6b;border:0;border-radius:0;padding:0;position:absolute;inset:0}.meal-fee-detail-sheet{box-sizing:border-box;color:#293040;background:#fff;flex-direction:column;width:min(440px,100vw - 48px);height:100dvh;padding:18px;display:flex;position:absolute;top:0;right:0;box-shadow:-18px 0 44px #0f172a2e}.meal-fee-detail-head{border-bottom:1px solid #e8ecf2;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.meal-fee-detail-head span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.meal-fee-detail-head h2{color:#111827;font-size:calc(20px + var(--app-font-size-adjustment,0px));margin:3px 0 0}.meal-fee-detail-list{gap:7px;min-height:0;margin:14px 0;display:grid;overflow:auto}.meal-fee-detail-row{color:#293040;text-align:left;width:100%;min-height:46px;box-shadow:none;background:#fff;border:1px solid #e2e7ef;border-radius:7px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.meal-fee-detail-row:hover{background:#f8faff;border-color:#b9c4ff}.meal-fee-detail-row span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.meal-fee-detail-row strong{color:#111827;min-width:0;font-size:calc(13px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meal-fee-detail-total{border-top:1px solid #e8ecf2;justify-content:space-between;align-items:baseline;gap:12px;margin-top:auto;padding:13px 0;display:flex}.meal-fee-detail-total span,.meal-fee-detail-sheet>p{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.meal-fee-detail-total strong{color:#4f46e5;font-size:calc(20px + var(--app-font-size-adjustment,0px))}.meal-fee-detail-sheet>p{margin:0;line-height:1.5}.meal-fee-detail-empty{color:#8a94a6;text-align:center;background:#f8fafc;border:1px dashed #d7dde7;border-radius:8px;margin:14px 0;padding:24px 12px}.compact-button{min-height:30px;font-size:calc(13px + var(--app-font-size-adjustment,0px));padding:0 9px}.inline-notice{color:#166534;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:#f0fdf4;border-bottom:1px solid #e8ecf2;align-items:center;gap:8px;padding:10px 16px;display:flex}.inline-notice.error{color:#991b1b;background:#fef2f2}.inline-notice button{color:inherit;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.setup-reminder{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px 16px;display:grid}.setup-reminder>svg{margin-top:1px}.setup-reminder-copy{min-width:0}.setup-reminder-copy>strong{color:#78350f;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin-bottom:3px;display:block}.setup-reminder-copy p,.setup-reminder-list{font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:0;line-height:1.55}.setup-reminder-list{gap:2px;padding-left:18px;display:grid}.class-form-hint{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin:8px 0 0}.records-table-wrap{max-height:calc(100vh - 334px);overflow:auto}.records-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.records-table th,.records-table td{vertical-align:middle;background:#fff;border-bottom:1px solid #edf0f4;min-height:48px;padding:10px 12px}.records-table th{z-index:2;color:#596274;text-align:left;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#f8fafc;font-weight:700;position:sticky;top:0}.records-table tbody tr:hover td{background:#f8fafc}.records-table tbody tr.selected td{background:#f6f8ff}.records-table td small{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-top:2px;display:block}.attendance-management{min-width:0}.attendance-sheet-head{align-items:center}.attendance-sheet-actions{flex-wrap:wrap}.attendance-sheet-actions .search-field{width:min(300px,28vw)}.attendance-table-wrap{max-height:calc(100vh - 292px)}.attendance-records-table{min-width:920px}.attendance-records-table th:first-child{width:180px}.attendance-records-table th:nth-child(2){width:120px}.attendance-records-table th:nth-child(3){width:150px}.attendance-records-table th:nth-child(4){width:220px}.attendance-records-table th:nth-child(5){width:170px}.attendance-records-table th:last-child{width:128px}.attendance-records-table td{white-space:nowrap}.attendance-records-table td:nth-child(4){white-space:normal}.attendance-records-table td>strong{color:#111827}.attendance-reason{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.attendance-loading{color:#697386;justify-content:center;align-items:center;gap:8px;display:inline-flex}.attendance-spinner{animation:.8s linear infinite attendance-spin}@keyframes attendance-spin{to{transform:rotate(360deg)}}.attendance-void-button{color:#991b1b;background:#fff;border-color:#fecaca}.attendance-record-modal{width:min(640px,100%)}.attendance-character-count{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));justify-self:end;font-weight:500}.attendance-student-field{gap:6px;display:grid}.attendance-student-field>label,.attendance-lesson-picker legend{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:600}.attendance-student-search{position:relative}.attendance-student-search>svg{z-index:1;color:#8a94a6;pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.record-form .attendance-student-search input{padding-left:35px}.attendance-student-results{background:#fff;border:1px solid #dfe4ec;border-radius:7px;max-height:232px;display:grid;overflow-y:auto;box-shadow:0 10px 24px #11182714}.attendance-student-results button{color:#111827;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f4;gap:3px;padding:10px 12px;display:grid}.attendance-student-results button:last-child{border-bottom:0}.attendance-student-results button:hover,.attendance-student-results button:focus-visible{background:#f6f8ff;outline:0}.attendance-student-results small,.attendance-selected-student small{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.45}.attendance-selected-student{background:#f6f8ff;border:1px solid #c7d2fe;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:9px 11px;display:flex}.attendance-selected-student>div{gap:3px;min-width:0;display:grid}.attendance-selected-student strong,.attendance-selected-student small{overflow-wrap:anywhere}.attendance-picker-empty,.attendance-picker-loading{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#f8fafc;border:1px dashed #dfe4ec;border-radius:7px;margin:0;padding:10px 11px;line-height:1.5}.attendance-picker-loading{align-items:center;gap:7px;display:flex}.attendance-lesson-error{justify-content:space-between;align-items:center;gap:8px;display:flex}.attendance-lesson-error .form-error{flex:auto;margin:0}.attendance-lesson-picker{border:1px solid #dfe4ec;border-radius:8px;gap:10px;min-width:0;margin:0;padding:10px;display:grid}.attendance-lesson-picker legend{padding:0 4px}.attendance-lesson-picker-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-lesson-picker-actions>span{color:#374151;font-size:calc(13px + var(--app-font-size-adjustment,0px));font-weight:700}.attendance-lesson-picker-actions>div{gap:6px;display:flex}.attendance-lesson-options{gap:7px;max-height:286px;display:grid;overflow-y:auto}.record-form .attendance-lesson-option{color:#374151;cursor:pointer;background:#fff;border:1px solid #dfe4ec;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 11px;display:grid}.record-form .attendance-lesson-option.available:hover{background:#f6f8ff;border-color:#a5b4fc}.record-form .attendance-lesson-option.available:has(input:checked){background:#f6f8ff;border-color:#a5b4fc}.record-form .attendance-lesson-option.leave_registered,.record-form .attendance-lesson-option.cancelled{color:#697386;cursor:not-allowed;background:#f8fafc}.record-form .attendance-lesson-option input{accent-color:#4f46e5;width:17px;height:17px;min-height:17px;box-shadow:none;margin:0;padding:0}.attendance-lesson-summary{gap:3px;min-width:0;display:grid}.attendance-lesson-summary strong,.attendance-lesson-summary small{overflow-wrap:anywhere}.attendance-lesson-summary small{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:500}.attendance-lesson-status{font-size:calc(12px + var(--app-font-size-adjustment,0px));white-space:nowrap;border-radius:999px;padding:3px 7px;font-weight:700}.attendance-lesson-status.leave_registered{color:#92400e;background:#fef3c7}.attendance-lesson-status.cancelled{color:#596274;background:#e8ecf2}@media (max-width:620px){.attendance-selected-student{flex-direction:column;align-items:stretch}.attendance-selected-student .secondary-button{width:100%}.attendance-lesson-picker-actions{flex-direction:column;align-items:flex-start}.attendance-lesson-picker-actions>div{width:100%}.attendance-lesson-error{flex-direction:column;align-items:stretch}.attendance-lesson-picker-actions .secondary-button{flex:1 1 0}.record-form .attendance-lesson-option{grid-template-columns:auto minmax(0,1fr)}.attendance-lesson-status{grid-column:2;justify-self:start}}.name-cell,.row-actions{align-items:center;gap:9px;display:flex}.name-cell strong{color:#111827}.teacher-avatar{color:#15803d;background:#ecfdf3}.student-list{display:grid}.student-list>.empty-state,.sheet-card>.empty-state{border-bottom:0}.student-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0f4;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 16px;display:grid}.student-row:hover{background:#f8fafc}.student-row strong{color:#111827}.modal-backdrop{z-index:20;background:#11182747;justify-content:flex-end;display:flex;position:fixed;inset:0}.record-modal{background:#fff;width:min(560px,100%);min-height:100vh;overflow:auto;box-shadow:-18px 0 44px #11182729}.record-modal.class-modal{width:min(760px,100%)}.modal-head{border-bottom:1px solid #e8ecf2;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px;display:flex}.modal-head h2{color:#111827;font-size:calc(22px + var(--app-font-size-adjustment,0px));margin:8px 0 0}.modal-icon{color:#4f46e5;background:#eef2ff;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid}.record-form{gap:14px;padding:18px;display:grid}.record-form textarea{resize:vertical}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.settings-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1118276b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-dialog{background:#fff;border:1px solid #e1e6ee;border-radius:10px;grid-template-columns:220px minmax(0,1fr);width:min(920px,100%);height:min(720px,100dvh - 40px);max-height:calc(100dvh - 40px);display:grid;overflow:hidden;box-shadow:0 26px 72px #1118273d}.settings-sidebar{background:#f8fafc;border-right:1px solid #e4e9f0;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.settings-sidebar-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:18px 14px 14px;display:grid}.settings-sidebar-head h2,.settings-sidebar-head p{margin:0}.settings-sidebar-head h2{color:#111827;font-size:calc(18px + var(--app-font-size-adjustment,0px))}.settings-sidebar-head p{color:#667085;font-size:calc(11px + var(--app-font-size-adjustment,0px));margin-top:2px;line-height:1.4}.settings-icon{color:#4f46e5;background:#eef2ff;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.settings-sidebar-head .icon-button{width:34px;height:34px}.settings-nav{align-content:start;gap:4px;min-height:0;padding:4px 10px 16px;display:grid;overflow-y:auto}.settings-nav-item{color:#4b5565;text-align:left;width:100%;min-height:42px;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:9px;padding:9px 11px;font-weight:750;display:flex}.settings-nav-item svg{flex:none}.settings-nav-item:hover:not(:disabled){color:#3730a3;background:#eef2ff}.settings-nav-item:focus-visible{outline:0;box-shadow:0 0 0 3px #4f46e529}.settings-nav-item.active{color:#312e81;background:#e9edff;border-color:#d9def7}.settings-nav-item:disabled,.settings-sidebar-head .icon-button:disabled{cursor:not-allowed;opacity:.68}.settings-content{background:#fff;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.settings-content-head{border-bottom:1px solid #e8ecf2;padding:22px 24px 18px}.settings-content-head h3,.settings-content-head p{margin:0}.settings-content-head h3{color:#111827;font-size:calc(20px + var(--app-font-size-adjustment,0px))}.settings-content-head p{color:#667085;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin-top:5px;line-height:1.5}.settings-content-body{min-width:0;min-height:0;padding:24px;overflow-y:auto}.settings-panel{min-width:0;max-width:680px}.appearance-font-size-fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.appearance-font-size-fieldset legend{color:#344054;font-size:calc(13px + var(--app-font-size-adjustment,0px));padding:0;font-weight:800}.appearance-font-size-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.appearance-font-size-option{color:#293040;text-align:left;background:#fff;border:1px solid #dfe4ec;border-radius:8px;grid-template-rows:44px auto;gap:10px;min-width:0;min-height:142px;padding:14px;display:grid;position:relative;box-shadow:0 1px 2px #1218260a}.appearance-font-size-option:hover{background:#f8faff;border-color:#a5b4fc}.appearance-font-size-option:focus-visible{border-color:#818cf8;outline:0;box-shadow:0 0 0 3px #4f46e529}.appearance-font-size-option.selected{background:#eef2ff;border-color:#818cf8;box-shadow:inset 0 0 0 1px #4f46e52e}.appearance-font-size-preview{color:#3730a3;align-items:baseline;font-weight:800;line-height:1;display:flex}.appearance-font-size-preview.small{font-size:calc(17px + var(--app-font-size-adjustment,0px))}.appearance-font-size-preview.standard{font-size:calc(21px + var(--app-font-size-adjustment,0px))}.appearance-font-size-preview.large{font-size:calc(25px + var(--app-font-size-adjustment,0px))}.appearance-font-size-copy{align-content:start;gap:4px;min-width:0;display:grid}.appearance-font-size-copy strong{color:#111827;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.appearance-font-size-copy>span{color:#667085;font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.45}.appearance-font-size-check{color:#fff;background:0 0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:12px;right:12px}.appearance-font-size-option.selected .appearance-font-size-check{background:#4f46e5}.settings-status{margin-top:16px}.settings-status p{color:#475467;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#f8fafc;border-radius:7px;margin:0;padding:10px 12px;line-height:1.5}.settings-status .settings-warning{color:#92400e;background:#fffbeb}.settings-password-form{gap:14px;padding:0;display:grid}.settings-password-form label{color:#4b5563;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:650;display:grid}.settings-password-form input{box-sizing:border-box;color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:40px;padding:9px 10px}.settings-password-form input:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.settings-password-form input:disabled{color:#667085;cursor:not-allowed;background:#f8fafc}.settings-section-heading{align-items:flex-start;gap:10px;display:flex}.settings-section-heading>span{color:#4f46e5;background:#eef2ff;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.settings-section-heading h3,.settings-section-heading p,.settings-password-result h3,.settings-password-result p{margin:0}.settings-section-heading h3,.settings-password-result h3{color:#202636;font-size:calc(16px + var(--app-font-size-adjustment,0px))}.settings-section-heading p,.settings-password-result p{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin-top:4px;line-height:1.5}.settings-account-email{background:#f8fafc;border:1px solid #e2e7ef;border-radius:7px;gap:4px;padding:10px 12px;display:grid}.settings-account-email span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:650}.settings-account-email strong{overflow-wrap:anywhere;color:#293040;font-size:calc(13px + var(--app-font-size-adjustment,0px))}.settings-password-actions{justify-content:flex-end;display:flex}.settings-password-actions .primary-button,.settings-password-result .primary-button{min-height:38px}.settings-password-actions .primary-button:disabled,.settings-password-result .primary-button:disabled{cursor:not-allowed;opacity:.7}.settings-password-result{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin:0;padding:16px;display:grid}.settings-password-result>span{background:#dcfce7;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.settings-password-result.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.settings-password-result.warning>span{background:#fef3c7}.settings-password-result .primary-button{grid-column:1/-1;justify-self:end}@media (max-width:720px){.settings-backdrop{place-items:end center;padding:12px}.settings-dialog{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:min(720px,100dvh - 24px);max-height:calc(100dvh - 24px)}.settings-sidebar{border-bottom:1px solid #e4e9f0;border-right:0;overflow:visible}.settings-sidebar-head{padding:12px 14px 8px}.settings-sidebar-head p{display:none}.settings-nav{scrollbar-width:thin;gap:6px;padding:0 12px 12px;display:flex;overflow:auto hidden}.settings-nav-item{flex:none;justify-content:center;width:auto;min-width:124px;min-height:38px;padding:7px 12px}.settings-content-head{padding:16px 16px 14px}.settings-content-head h3{font-size:calc(18px + var(--app-font-size-adjustment,0px))}.settings-content-body{padding:16px}.appearance-font-size-options{grid-template-columns:1fr;gap:8px}.appearance-font-size-option{grid-template-rows:auto;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;min-height:76px;padding:12px}.appearance-font-size-check{position:static}.settings-password-actions,.settings-password-actions .primary-button,.settings-password-result .primary-button{width:100%}.settings-password-result{padding:14px}}.billing-label-preview-table,.billing-label-pdf-page{--app-font-size-adjustment:0px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.teacher-contact-cell{gap:2px;display:grid}.people-import-backdrop{z-index:40}.record-modal.people-import-modal{flex-direction:column;width:min(1040px,100%);max-height:100vh;display:flex;overflow:hidden}.people-import-head>div{align-items:flex-start;gap:12px;display:flex}.people-import-head h2{margin:0}.people-import-head p{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:5px 0 0}.people-import-body{flex:auto;min-height:0;padding:18px;overflow:auto}.people-import-file-row{background:#fafbfc;border:1px solid #dfe4ec;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.people-import-file-row>div{gap:4px;min-width:0;display:grid}.people-import-file-row strong{color:#222938;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-import-file-row span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.people-import-placeholder{color:#697386;text-align:center;background:#fcfdff;border:1px dashed #cbd2dc;border-radius:8px;place-items:center;gap:7px;min-height:230px;margin-top:16px;display:grid}.people-import-placeholder strong{color:#293040}.people-import-placeholder p{font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:0}.people-import-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.people-import-summary-item{background:#fff;border:1px solid #e2e7ef;border-radius:7px;gap:5px;padding:11px 12px;display:grid}.people-import-summary-item span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.people-import-summary-item strong{color:#222938;font-size:calc(20px + var(--app-font-size-adjustment,0px))}.people-import-summary-item.success{background:#f0fdf4;border-color:#bbf7d0}.people-import-summary-item.error{background:#fef2f2;border-color:#fecaca}.people-import-summary-item.warning{background:#fffbeb;border-color:#fde68a}.people-import-issues{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.people-import-issues li{color:#7c2d12;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#fffbeb;border-radius:6px;align-items:flex-start;gap:6px;padding:8px 10px;display:flex}.people-import-issues li.error{color:#991b1b;background:#fef2f2}.people-import-issues li svg{flex:none;margin-top:1px}.people-import-issues.compact{gap:4px;margin:0}.people-import-issues.compact li{background:0 0;padding:0}.people-import-table-wrap{border:1px solid #e2e7ef;border-radius:8px;max-height:min(54vh,520px);margin-top:14px;overflow:auto}.records-table.people-import-table{min-width:960px}.people-import-table th:first-child,.people-import-table td:first-child{color:#697386;text-align:center;width:72px}.people-import-table th:last-child,.people-import-table td:last-child{width:240px}.people-import-table td{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.people-import-table .people-import-result-cell{white-space:normal;overflow:visible}.people-import-table tr.import-row-error td{background:snow}.import-result-ok{color:#15803d;font-size:calc(13px + var(--app-font-size-adjustment,0px));align-items:center;gap:5px;font-weight:700;display:inline-flex}.people-import-pagination{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.people-import-pagination>div{gap:6px;display:flex}.modal-actions.people-import-actions{background:#fff;border-top:1px solid #e8ecf2;flex:none;padding:14px 18px}.quick-import-management{gap:14px;min-width:0;display:grid}.quick-import-hero{justify-content:space-between;align-items:center;gap:24px;padding:20px;display:flex;overflow:visible}.quick-import-hero-copy{align-items:flex-start;gap:13px;min-width:0;display:flex}.quick-import-hero-icon{color:#4338ca;background:#eef2ff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.quick-import-hero h1,.quick-import-preview h2,.quick-import-issue-panel h2,.quick-import-success h2{color:#202636;margin:0}.quick-import-hero h1{font-size:calc(22px + var(--app-font-size-adjustment,0px))}.quick-import-hero p,.quick-import-preview-head p,.quick-import-issue-head p,.quick-import-success p{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:5px 0 0;line-height:1.55}.quick-import-success-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.quick-import-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quick-import-steps>div{background:#fff;border:1px solid #e2e7ef;border-radius:8px;align-items:center;gap:11px;min-width:0;padding:13px 14px;display:flex}.quick-import-steps>div>span{color:#fff;width:28px;height:28px;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#4f46e5;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.quick-import-steps>div>div{gap:2px;min-width:0;display:grid}.quick-import-steps strong{color:#2d3444;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.quick-import-steps small{color:#667085;font-size:calc(12px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-import-step-download{flex:none;min-height:34px;margin-left:auto;padding:0 10px}.quick-import-dropzone,.quick-import-loading{color:#697386;text-align:center;background:#fff;border:1px dashed #bfc7d4;border-radius:8px;place-items:center;gap:9px;min-height:320px;padding:28px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.quick-import-dropzone.dragging{background:#f7f7ff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.quick-import-dropzone>svg,.quick-import-loading>svg{color:#4f46e5}.quick-import-dropzone strong,.quick-import-loading strong{color:#293040;font-size:calc(17px + var(--app-font-size-adjustment,0px))}.quick-import-dropzone p,.quick-import-loading p{max-width:600px;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:0 0 4px;line-height:1.55}.quick-import-file-bar{justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;overflow:visible}.quick-import-file-bar>div{color:#4338ca;align-items:center;gap:10px;min-width:0;display:flex}.quick-import-file-bar span{gap:2px;min-width:0;display:grid}.quick-import-file-bar strong{color:#2b3242;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-import-file-bar small{color:#667085;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.quick-import-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.quick-import-summary-card{background:#fff;border:1px solid #e2e7ef;border-radius:8px;gap:6px;min-width:0;padding:12px 14px;display:grid}.quick-import-summary-card>span{color:#5f6878;font-size:calc(12px + var(--app-font-size-adjustment,0px));align-items:center;gap:7px;font-weight:700;display:flex}.quick-import-summary-card strong{color:#222938;font-size:calc(23px + var(--app-font-size-adjustment,0px))}.quick-import-summary-card.success{background:#f0fdf4;border-color:#bbf7d0}.quick-import-summary-card.error{background:#fef2f2;border-color:#fecaca}.quick-import-summary-card.warning{background:#fffbeb;border-color:#fde68a}.quick-import-issue-panel{min-width:0;max-height:calc(100vh - 150px);position:sticky;top:14px;overflow:hidden}.quick-import-issue-head,.quick-import-preview-head{border-bottom:1px solid #e8ecf2;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 15px;display:flex}.quick-import-issue-head h2,.quick-import-preview-head h2{font-size:calc(16px + var(--app-font-size-adjustment,0px))}.quick-import-issue-head>span{color:#4f46e5;min-width:28px;height:28px;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#eef2ff;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 8px;font-weight:800;display:inline-flex}.quick-import-issue-list{gap:8px;max-height:calc(100vh - 252px);padding:10px;display:grid;overflow:auto}.quick-import-issue{color:#6b3b0f;text-align:left;background:#fffbeb;border:1px solid #fde68a;border-radius:7px;gap:5px;width:100%;padding:10px;display:grid}.quick-import-issue:hover{background:#fff8dc;border-color:#fbbf24}.quick-import-issue.error{color:#991b1b;background:#fff7f7;border-color:#fecaca}.quick-import-issue.error:hover{background:#fef2f2;border-color:#fca5a5}.quick-import-issue.static{cursor:default;opacity:1}.quick-import-issue-title{align-items:center;gap:6px;display:flex}.quick-import-issue-title svg{flex:none}.quick-import-issue>span:not(.quick-import-issue-title),.quick-import-issue small,.quick-import-issue em{font-size:calc(12px + var(--app-font-size-adjustment,0px));line-height:1.45}.quick-import-issue small{overflow-wrap:anywhere;opacity:.8}.quick-import-issue em{opacity:.9;border-top:1px solid;padding-top:5px;font-style:normal;font-weight:650}.quick-import-no-issues{color:#15803d;text-align:center;place-items:center;gap:6px;min-height:210px;padding:20px;display:grid}.quick-import-no-issues p{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin:0}.quick-import-preview{min-width:0}.quick-import-preview-head{flex-wrap:wrap;align-items:center}.quick-import-filters{background:#f8fafc;border:1px solid #dfe4ec;border-radius:7px;max-width:100%;padding:2px;display:flex;overflow-x:auto}.quick-import-filters button{color:#657084;white-space:nowrap;min-height:32px;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:0 0;border:0;border-radius:5px;padding:0 10px;font-weight:700}.quick-import-filters button.active{color:#3730a3;background:#fff;box-shadow:0 1px 4px #1f29371f}.quick-import-table-wrap{max-height:min(65vh,680px);overflow:auto}.records-table.quick-import-table{min-width:1080px}.quick-import-table td{max-width:260px}.quick-import-table td:nth-child(2){color:#697386;text-align:center;width:82px}.quick-import-table td:nth-child(4),.quick-import-table td:nth-child(5),.quick-import-table td:nth-child(6){overflow-wrap:anywhere}.quick-import-table tr.quick-import-row-error td{background:snow}.quick-import-table tr.quick-import-row-warning td{background:#fffdf5}.quick-import-kind,.quick-import-row-ok,.quick-import-row-status{width:fit-content;font-size:calc(12px + var(--app-font-size-adjustment,0px));border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-weight:750;display:inline-flex}.quick-import-kind.student{color:#4338ca;background:#eef2ff}.quick-import-kind.teacher{color:#047857;background:#ecfdf5}.quick-import-row-ok{color:#15803d;background:#f0fdf4}.quick-import-row-status.error{color:#b91c1c;background:#fef2f2}.quick-import-row-status.warning{color:#a16207;background:#fffbeb}.quick-import-result-cell>div{gap:5px;display:grid}.quick-import-result-cell small{color:#697386;white-space:normal;line-height:1.4}.quick-import-empty-row{color:#8a94a6;text-align:center;height:180px}.quick-import-pagination{color:#697386;font-size:calc(13px + var(--app-font-size-adjustment,0px));border-top:1px solid #e8ecf2;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.quick-import-pagination>div{gap:6px;display:flex}.quick-import-action-bar{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #dfe4ec;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #1f293714}.quick-import-action-bar>div{gap:3px;display:grid}.quick-import-action-bar strong{color:#293040;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.quick-import-action-bar span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.quick-import-submit-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:9px;padding:11px 13px;display:flex}.quick-import-submit-error span{font-size:calc(13px + var(--app-font-size-adjustment,0px));flex:auto}.quick-import-success{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:24px;display:grid;overflow:visible}.quick-import-success>span{color:#15803d;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.form-section{border:0;border-bottom:1px solid #edf0f4;gap:12px;margin:0;padding:0 0 14px;display:grid}.form-section legend{color:#222938;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin-bottom:10px;font-weight:700}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.checkbox-card{background:#fff;border:1px solid #dfe4ec;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:46px;padding:9px 10px;gap:9px!important;display:grid!important}.checkbox-card input{width:16px;height:16px}.checkbox-card strong,.checkbox-card small{display:block}.checkbox-card strong{color:#111827;font-size:calc(14px + var(--app-font-size-adjustment,0px))}.checkbox-card small,.empty-inline{color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.schedule-editor{gap:9px;display:grid}.schedule-row{grid-template-columns:92px 1fr 1fr minmax(110px,1.2fr) auto;align-items:center;gap:8px;display:grid}.schedule-row select,.schedule-row input,.schedule-row .time-picker-trigger{color:#151a25;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:38px;padding:8px 9px}.time-picker{width:100%;min-width:0;position:relative}.time-24-input{font-size:calc(16px + var(--app-font-size-adjustment,0px));font-variant-numeric:tabular-nums;font-weight:650}.time-picker-trigger{text-align:left;cursor:pointer;justify-content:flex-start;align-items:center;font-family:inherit;line-height:1.2;display:flex}.time-picker-trigger:focus-visible{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.time-picker-popover{z-index:30;background:#fff;border:1px solid #d8e0ec;border-radius:8px;grid-template-columns:repeat(2,minmax(70px,1fr));gap:8px;width:min(220px,100vw - 48px);padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 34px #0f172a2e}.time-picker-column{gap:5px;min-width:0;display:grid}.time-picker-column-title{color:#64748b;font-size:calc(11px + var(--app-font-size-adjustment,0px));font-weight:850}.time-picker-options{overscroll-behavior:contain;scrollbar-width:thin;gap:3px;max-height:174px;padding:2px;display:grid;overflow-y:auto}.time-picker-option{color:#334155;min-height:30px;font:inherit;font-size:calc(14px + var(--app-font-size-adjustment,0px));font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:0 8px;font-weight:750}.time-picker-option:hover,.time-picker-option:focus-visible{background:#f8fafc;border-color:#cbd5e1;outline:none}.time-picker-option.active{color:#111827;background:#e5e7eb;border-color:#111827}.add-row-button{justify-self:start}.billing-label-workspace{gap:14px;min-width:0;display:grid}.billing-label-workspace-tabs{justify-self:start;width:min(420px,100%);padding:4px}.billing-label-workspace-tabs .tab{min-height:42px;font-size:calc(14px + var(--app-font-size-adjustment,0px));flex:1 1 0;padding:0 24px;font-weight:850}.billing-label-workspace-panel{min-width:0}.billing-label-edit-layout,.billing-label-output-layout{align-items:start;gap:14px;display:grid}.billing-label-edit-layout{grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr)}.billing-label-output-layout{grid-template-columns:minmax(520px,1fr) minmax(300px,360px)}.billing-label-editor,.billing-label-preview-card,.billing-label-output-panel{min-width:0}.billing-label-editor{overflow:visible}.billing-label-editor-head{flex-wrap:wrap;align-items:center}.billing-label-editor-head>:first-child{flex:180px;min-width:0}.billing-label-template-actions{flex-wrap:wrap;flex:260px;justify-content:flex-end;align-items:end;gap:8px;min-width:min(100%,270px);max-width:100%;display:flex}.billing-label-template-actions>.billing-label-template-menu{flex:130px}.billing-label-template-actions>.billing-label-save-menu{flex:none}.billing-label-save-menu{min-width:0;position:relative}.billing-label-save-menu>.secondary-button{box-sizing:border-box;white-space:nowrap;min-width:112px;max-width:150px}.billing-label-save-popover{z-index:13;background:#fff;border:1px solid #dfe4ec;border-radius:8px;gap:8px;width:min(230px,72vw);padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #1f293729}.billing-label-save-popover-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.billing-label-save-popover-head strong{color:#344052;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.billing-label-save-popover input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:32px;padding:6px 8px}.billing-label-save-popover input:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.billing-label-save-popover-actions{justify-content:flex-end;gap:6px;display:flex}.billing-label-mini-button{min-height:28px;font-size:calc(12px + var(--app-font-size-adjustment,0px));padding:0 10px}.billing-label-template-menu{min-width:0;position:relative}.billing-label-template-menu>.secondary-button{box-sizing:border-box;max-width:none}.billing-label-template-trigger{white-space:nowrap;justify-content:space-between;width:100%;min-width:0}.billing-label-template-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.billing-label-template-popover{z-index:12;background:#fff;border:1px solid #dfe4ec;border-radius:8px;gap:4px;width:min(270px,72vw);max-height:260px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 18px 40px #1f293729}.billing-label-template-empty{color:#64748b;font-size:calc(13px + var(--app-font-size-adjustment,0px));padding:10px;font-weight:700}.billing-label-template-row{border-radius:7px;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:6px;padding:4px;display:grid}.billing-label-template-row.active{background:#f6f8ff}.billing-label-template-name{color:#1f2937;min-width:0;min-height:30px;font-size:calc(13px + var(--app-font-size-adjustment,0px));text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 8px;font-weight:800;overflow:hidden}.billing-label-template-name:hover{color:#4f46e5}.billing-label-form{gap:14px;padding:14px 16px 16px;display:grid}.billing-label-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.billing-label-number,.billing-label-cell-source,.billing-label-output-controls label:not(.search-field){color:#4b5563;font-size:calc(12px + var(--app-font-size-adjustment,0px));gap:6px;font-weight:700;display:grid}.billing-label-number input,.billing-label-field-row input,.billing-label-output-controls label:not(.search-field) input{box-sizing:border-box;color:#111827;background:#fff;border:1px solid #dfe4ec;border-radius:7px;outline:0;width:100%;min-height:34px;padding:7px 9px}.billing-label-number input:focus,.billing-label-field-row input:focus,.billing-label-output-controls label:not(.search-field) input:focus{border-color:#8b84f8;box-shadow:0 0 0 3px #4f46e51f}.billing-label-field-list{gap:8px;max-height:calc(100vh - 430px);padding-right:2px;display:grid;overflow:auto}.billing-label-field-row{background:#f8fafc;border:1px solid #e7ebf2;border-radius:8px;grid-template-columns:minmax(130px,1.15fr) auto 68px;align-items:end;gap:7px;padding:9px;display:grid}.billing-label-cell-source{min-width:0}.billing-label-source-picker{color:#344052;font-size:calc(12px + var(--app-font-size-adjustment,0px));gap:5px;font-weight:800;display:grid;position:relative}.billing-label-source-trigger{color:#1f2937;width:100%;min-width:0;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;display:flex}.billing-label-source-trigger span{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.billing-label-source-trigger:hover,.billing-label-source-trigger:focus-visible{border-color:#8b84f8;outline:none;box-shadow:0 0 0 3px #4f46e51f}.billing-label-source-popover{z-index:90;box-sizing:border-box;color:#344052;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#fff;border:1px solid #dbe2ef;border-radius:8px;gap:10px;padding:12px;font-weight:800;display:grid;position:fixed;overflow:auto;box-shadow:0 18px 42px #0f172a2e}.billing-label-source-group{gap:7px;display:grid}.billing-label-source-group-title{color:#64748b;font-size:calc(11px + var(--app-font-size-adjustment,0px));font-weight:900}.billing-label-source-options{flex-wrap:wrap;gap:6px;display:flex}.billing-label-source-option{color:#334155;min-height:30px;font-size:calc(12px + var(--app-font-size-adjustment,0px));cursor:pointer;background:#f8fafc;border:1px solid #d6deea;border-radius:7px;padding:0 9px;font-weight:800}.billing-label-source-option:hover,.billing-label-source-option:focus-visible,.billing-label-source-option.active{color:#1d4ed8;background:#eff6ff;border-color:#2563eb;outline:none}.billing-label-class-source-list{gap:8px;display:grid}.billing-label-class-source-group{background:#fbfdff;border:1px solid #edf2f7;border-radius:8px;gap:6px;padding:8px;display:grid}.billing-label-class-source-title{color:#1f2937;justify-content:space-between;align-items:center;gap:10px;display:flex}.billing-label-class-source-title strong,.billing-label-class-source-title span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.billing-label-class-source-title span{color:#64748b;font-size:calc(11px + var(--app-font-size-adjustment,0px))}.billing-label-source-empty{color:#64748b;font-size:calc(12px + var(--app-font-size-adjustment,0px));border:1px dashed #cbd5e1;border-radius:8px;padding:9px}.billing-label-field-toggle{color:#344052;min-width:0;font-size:calc(13px + var(--app-font-size-adjustment,0px));align-items:center;gap:7px;font-weight:800;display:flex}.billing-label-field-toggle span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.billing-label-field-controls{align-items:end;gap:4px;display:flex}.billing-label-cell-add{justify-self:start}.billing-label-number.compact{font-size:calc(11px + var(--app-font-size-adjustment,0px));gap:3px}.billing-label-preview-head{align-items:center}.billing-label-preview-stage{background-color:#fbfcfe;background-image:linear-gradient(#eef2f7 1px,#0000 1px),linear-gradient(90deg,#eef2f7 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:calc(100vh - 250px);padding:18px;display:grid;overflow:auto}.billing-label-preview-stage.pdf-preview,.billing-label-preview-stage.bag-preview{align-content:start;place-items:start center}.billing-label-output-preview-card .billing-label-preview-stage{min-height:calc(100vh - 210px)}.billing-label-bag-comparison{align-self:start;gap:16px;width:min(100%,1200px);min-width:0;display:grid}.billing-label-preview-section{background:#fff;border:1px solid #dce3ed;border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 10px 26px #1f29370f}.billing-label-preview-section-head{background:#fff;border-bottom:1px solid #e7ebf2;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:9px 12px;display:flex}.billing-label-preview-section-head>div{align-items:baseline;gap:8px;min-width:0;display:flex}.billing-label-preview-section-head strong{color:#1f2937;font-size:calc(13px + var(--app-font-size-adjustment,0px))}.billing-label-preview-section-head span{color:#64748b;font-size:calc(11px + var(--app-font-size-adjustment,0px));white-space:nowrap;font-weight:700}.billing-label-preview-section-tag{background:#f8fafc;border:1px solid #dfe4ec;border-radius:999px;flex:none;padding:4px 7px}.billing-label-bag-canvas{background-color:#fbfcfe;background-image:linear-gradient(#eef2f7 1px,#0000 1px),linear-gradient(90deg,#eef2f7 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;min-height:320px;padding:16px;display:grid}.billing-label-bag-preview{background:linear-gradient(#eef6ff 0 22%,#fff 22% 100%);border:1px solid #cbd5e1;border-radius:8px;width:min(100%,230px);position:relative;box-shadow:0 18px 42px #1f293714}.billing-label-detail-preview{border-color:#bfdbfe}.billing-label-detail-scroll{background-color:#f8fbff;background-image:linear-gradient(#eef2f7 1px,#0000 1px),linear-gradient(90deg,#eef2f7 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;outline:0;width:100%;padding:16px;overflow-x:auto}.billing-label-detail-scroll:focus-visible{box-shadow:inset 0 0 0 3px #4f46e529}.billing-label-detail-table{background:#fff;align-items:stretch;width:max(760px,100%);max-width:1200px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 10px 24px #1f29371a}.billing-label-detail-cell{padding:0 8px}.billing-label-bag-head{color:#475569;font-size:calc(12px + var(--app-font-size-adjustment,0px));padding:12px 14px;font-weight:800}.billing-label-preview{background:#fffffff2;border:0;border-radius:0;display:flex;position:absolute;top:30%;left:50%;overflow:hidden;transform:translate(-50%)}.billing-label-preview-table{border:1px solid #334155;border-radius:0;flex-wrap:nowrap;align-items:stretch;padding:0}.billing-label-preview-cell{color:#111827;white-space:nowrap;border-right:1px solid #334155;align-items:center;min-width:0;padding:0 4px;line-height:1;display:flex;position:relative;overflow:hidden}.billing-label-preview-table>.billing-label-preview-cell:last-child{border-right:0}.fee-effective-dialog-backdrop{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11182775;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.fee-effective-dialog{background:#fff;border:1px solid #e3e7ee;border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:16px;width:min(520px,100%);padding:24px;display:grid;box-shadow:0 24px 64px #11182738}.fee-effective-dialog-icon{color:#4f46e5;background:#eef2ff;border-radius:9px;place-items:center;width:44px;height:44px;display:grid}.fee-effective-dialog-copy h2{color:#111827;font-size:calc(19px + var(--app-font-size-adjustment,0px));margin:1px 0 7px}.fee-effective-dialog-copy p{color:#667085;font-size:calc(14px + var(--app-font-size-adjustment,0px));margin:0;line-height:1.6}.fee-effective-dialog-options{grid-column:1/-1;gap:9px;margin-top:4px;display:grid}.fee-effective-dialog-options button{justify-content:center;min-height:42px}.billing-label-preview-text{white-space:nowrap;width:100%;min-width:0;line-height:1;display:block}.billing-label-preview-measure{visibility:hidden;pointer-events:none;white-space:nowrap;width:max-content;max-width:none;font-weight:400;line-height:1;display:block;position:fixed;top:-10000px;left:-10000px}.billing-label-preview-field{color:#111827;min-width:0;padding:2px 3px;line-height:1.2}.billing-label-preview-field span,.billing-label-preview-field strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.billing-label-preview-field span{color:#64748b;font-size:.78em;font-weight:700}.billing-label-preview-field strong{font-weight:800}.billing-label-pdf-preview{justify-items:center;gap:10px;width:100%;min-width:0;display:grid}.billing-label-pdf-meta{color:#475569;min-height:28px;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#fff;border:1px solid #dfe4ec;border-radius:999px;align-items:center;padding:0 10px;font-weight:800;display:inline-flex;box-shadow:0 6px 16px #1f29370f}.billing-label-pdf-page{aspect-ratio:210/297;background:#fff;border:1px solid #cbd5e1;width:min(100%,390px);position:relative;overflow:hidden;box-shadow:0 18px 42px #1f29371f}.billing-label-output-preview-card .billing-label-pdf-page{width:min(100%,520px)}.billing-label-pdf-table-sheet{background:#fff;border-top:1px solid #334155;border-left:1px solid #334155;position:absolute;overflow:hidden}.billing-label-pdf-row{border-bottom:1px solid #334155;width:100%;display:flex}.billing-label-pdf-cell{padding:0 2px}.billing-label-output-panel{max-height:calc(100vh - 154px)}.billing-label-output-controls{gap:12px;margin-top:14px;display:grid}.billing-label-output-template-control{gap:6px;display:grid}.billing-label-output-control-label{color:#4b5563;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:800}.billing-label-output-template-menu,.billing-label-output-template-menu>.secondary-button{width:100%;max-width:none}.billing-label-output-template-menu>.secondary-button{justify-content:space-between}.billing-label-output-template-menu>.secondary-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.billing-label-output-template-menu .billing-label-template-popover{box-sizing:border-box;width:100%;left:0;right:0}.billing-label-month-field{width:auto;min-height:0;box-shadow:none;box-sizing:border-box;background:0 0;border:0;border-radius:0;justify-content:flex-start;justify-self:start;padding:0}.billing-label-month-field input{width:140px}.billing-label-filter-stack{gap:8px;display:grid}.billing-label-filter-stack .search-field{box-sizing:border-box;width:100%}.billing-label-count-box{grid-template-columns:1fr}.billing-label-export-button{width:100%;margin-top:16px}@media (max-width:1180px){.content-grid{grid-template-columns:minmax(0,1fr);overflow:auto}.billing-label-edit-layout,.billing-label-output-layout{grid-template-columns:minmax(0,1fr)}.billing-label-editor-head{align-items:stretch}.billing-label-template-actions{justify-content:flex-start}.billing-label-field-list,.billing-label-preview-stage,.billing-label-output-panel,.detail-panel{max-height:none}.class-management-layout,.student-management-layout{grid-template-columns:minmax(0,1fr)}.class-detail-panel,.student-detail-panel,.class-table-wrap,.student-table-wrap{max-height:none}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-topbar{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #dde2ea;align-items:center;gap:11px;min-height:56px;padding:8px 14px;display:flex;position:sticky;top:0;box-shadow:0 6px 18px #1f29370f}.billing-label-preview-head{flex-direction:column;align-items:stretch}.billing-label-workspace-tabs{width:100%}.mobile-nav-toggle{flex:none}.mobile-topbar-title{min-width:0;display:grid}.mobile-topbar-title strong{color:#10131c;font-size:calc(14px + var(--app-font-size-adjustment,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-topbar-title span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.mobile-nav-backdrop{z-index:50;width:100%;height:100%;box-shadow:none;background:#0f172a75;border:0;border-radius:0;padding:0;display:block;position:fixed;inset:0}.sidebar.mobile-open{z-index:60;box-sizing:border-box;width:min(320px,100vw - 48px);min-height:100dvh;max-height:100dvh;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:18px 0 42px #0f172a33}.topbar,.toolbar,.sheet-head{flex-direction:column;align-items:stretch;height:auto}.toolbar-actions,.top-actions,.sheet-actions{flex-wrap:wrap}.billing-label-template-actions{flex-wrap:wrap;flex:none;width:100%;min-width:0}.billing-label-editor-head>:first-child{flex:none}.billing-label-template-actions>.secondary-button,.billing-label-template-actions>.billing-label-template-menu{flex:150px}.billing-label-template-actions>.billing-label-save-menu{flex:none}.billing-label-save-menu>.secondary-button,.billing-label-template-menu>.secondary-button{width:100%;max-width:none}.billing-label-save-popover{width:min(280px,100%);left:0;right:auto}.billing-label-template-popover{width:min(300px,100%);left:0;right:auto}.billing-label-editor-head .billing-label-template-popover{width:min(300px,100vw - 58px)}.billing-label-class-source-title{flex-direction:column;align-items:flex-start;gap:3px}.billing-label-field-row{grid-template-columns:minmax(0,1fr) auto}.billing-label-field-row>.billing-label-cell-source,.billing-label-field-row>input,.billing-label-field-row>.billing-label-number{grid-column:1/-1}.billing-label-preview-stage{min-height:360px}.class-view-switcher{flex-direction:column;align-items:stretch}.class-tabs{width:100%;overflow-x:auto}.class-tabs .tab{flex:1 1 0}.class-tab-actions{flex-wrap:wrap;justify-content:stretch;width:100%}.class-tab-actions .search-field,.class-tab-actions .primary-button{flex:180px;width:auto}.class-calendar-controls{flex-wrap:nowrap;width:100%;margin-left:0}.class-calendar-controls .icon-button{flex:0 0 34px}.class-month-field{flex:auto;min-width:0}.class-month-field input{width:100%;min-width:0}.class-calendar-filter-head{flex-direction:column;align-items:stretch}.class-calendar-filter-main{flex-wrap:wrap;align-items:stretch;width:100%}.class-calendar-filter-head .secondary-button,.class-calendar-filter-menu{width:100%}.class-calendar-filter-popover{width:100%;margin-top:6px;position:static;box-shadow:0 10px 24px #1218261a}.class-calendar-filter-options{grid-template-columns:1fr;max-height:188px;display:grid}.class-calendar-class-option{width:100%}.class-calendar-workspace{grid-template-columns:1fr;gap:12px}.top-actions .primary-button,.top-actions .secondary-button,.top-actions .month-field{flex:180px}.dashboard-month-actions{width:100%;margin-left:0}.dashboard-month-actions .month-field,.dashboard-month-actions .month-field input{width:100%}.filter-group{flex-wrap:wrap;width:100%}.filter-group .select{flex:140px;min-width:0}.tabs{max-width:100%;overflow-x:auto}.search-field{width:100%}.content-grid{padding:12px}.metric-strip,.form-grid,.checkbox-grid{grid-template-columns:1fr}.class-calendar-weekdays{font-size:calc(11px + var(--app-font-size-adjustment,0px));padding:0 4px 6px;display:grid}.class-calendar-day,.class-calendar-day-button{min-height:58px}.class-calendar-date{padding:6px 5px 2px}.class-calendar-date strong{font-size:calc(14px + var(--app-font-size-adjustment,0px))}.class-calendar-summary{padding:0 5px 6px}.class-calendar-counts{gap:2px;min-height:17px}.class-calendar-count{font-size:calc(10px + var(--app-font-size-adjustment,0px));padding:1px 4px}.class-calendar-hints{display:none}.class-calendar-detail{max-height:none;padding:10px;position:static;overflow:visible}.class-calendar-detail-head{flex-direction:column;align-items:flex-start}.class-calendar-detail-actions{justify-items:stretch;width:100%}.class-calendar-detail-summary{justify-content:flex-start}.class-calendar-day-holiday{width:100%}.class-calendar-detail-row{grid-template-columns:1fr;grid-template-areas:"time""main""status""action";align-items:start}.class-calendar-detail-time{align-items:baseline;gap:8px;display:flex}.class-calendar-status-badge{justify-self:start}.class-calendar-detail-row .compact-button{justify-self:stretch;width:100%}.student-contact-lines,.student-picker,.student-add-class,.student-class-row,.roster-row,.schedule-row,.adjustment-row{grid-template-columns:1fr}.student-class-meta{justify-items:start}.adjustment-actions{justify-content:space-between;width:100%}.roster-row .row-actions{flex-wrap:wrap}.roster-title-actions{justify-content:space-between;width:100%}.meal-fee-form{gap:14px;padding:14px}.meal-fee-sheet-head .sheet-actions{width:100%}.meal-fee-context-grid,.meal-fee-page-context.daily{grid-template-columns:1fr}.meal-fee-tabs{align-self:stretch}.meal-fee-tabs .tab{flex:1 1 0}.meal-fee-day-editor-head{align-items:flex-start}.meal-fee-day-date-field{flex:165px;max-width:190px}.meal-fee-day-class-field{flex:220px;max-width:260px}.meal-fee-day-batch-fields{grid-template-columns:1fr}.meal-fee-add-day{width:100%}.meal-fee-student-options{grid-template-columns:1fr;max-height:min(420px,58vh)}.meal-fee-student-option-summary:has(.meal-fee-meal-tags){grid-template-columns:1fr}.meal-fee-meal-tags{border-top:1px solid #d8dee8;border-left:0;padding:8px 10px 9px}.meal-fee-batch-toolbar{flex-direction:column;align-items:stretch}.meal-fee-batch-toolbar label{width:100%;min-width:0}.meal-fee-batch-toolbar .secondary-button{width:100%;margin-left:0}.meal-fee-table-wrap{border:0;max-height:none;overflow:visible}.meal-fee-table,.meal-fee-table tbody,.meal-fee-table tr,.meal-fee-table td{width:100%;display:block}.meal-fee-table{background:0 0;min-width:0}.meal-fee-table thead{display:none}.meal-fee-table tbody{gap:10px;display:grid}.meal-fee-table tr{background:#fff;border:1px solid #e2e7ef;border-radius:8px;padding:10px 12px}.meal-fee-table td,.meal-fee-table td:first-child{text-align:left;border:0;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;min-height:38px;padding:6px 0;display:grid}.meal-fee-table td:before{content:attr(data-label);color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.meal-fee-itemized-summary{flex-direction:column;align-items:stretch}.meal-fee-itemized-summary .secondary-button{width:100%}.meal-fee-page-actions{flex-direction:column;align-items:stretch;margin:auto -14px 0;padding:12px 14px;bottom:0}.meal-fee-page-actions>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meal-fee-page-actions .secondary-button,.meal-fee-page-actions .primary-button{flex:1 1 0}.meal-fee-detail-sheet{width:100%;padding:14px}.meal-fee-detail-row{grid-template-columns:70px minmax(0,1fr) auto}.records-table-wrap{max-height:none}.attendance-sheet-actions{grid-template-columns:1fr;width:100%;display:grid}.attendance-sheet-actions .month-field,.attendance-sheet-actions .search-field,.attendance-sheet-actions .primary-button{box-sizing:border-box;width:100%}.attendance-sheet-actions .month-field input{width:100%}.attendance-records-table,.attendance-records-table tbody,.attendance-records-table tr,.attendance-records-table td{width:100%;display:block}.attendance-records-table{background:0 0;min-width:0}.attendance-records-table thead{display:none}.attendance-records-table tbody{background:#f8fafc;gap:10px;padding:12px;display:grid}.attendance-record-row{background:#fff;border:1px solid #e2e7ef;border-radius:8px;overflow:hidden}.attendance-record-row td{box-sizing:border-box;white-space:normal;border-bottom:1px solid #edf0f4;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;display:grid}.attendance-record-row td:last-child{border-bottom:0;grid-template-columns:1fr;justify-items:end}.attendance-record-row td:before{content:attr(data-label);color:#8a94a6;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.attendance-record-row .attendance-void-button{width:fit-content}.attendance-records-table .empty-table-cell{box-sizing:border-box;width:100%;min-height:240px;display:block}.billing-label-form-grid{grid-template-columns:1fr}.billing-label-preview-stage{padding:12px}.sheet-actions .search-field{width:100%;max-width:none}.sheet-actions>.secondary-button,.sheet-actions>.primary-button{flex:160px}.quick-import-hero,.quick-import-file-bar,.quick-import-action-bar{flex-direction:column;align-items:stretch}.quick-import-success-actions{grid-template-columns:1fr;width:100%;display:grid}.quick-import-success-actions .secondary-button,.quick-import-success-actions .primary-button,.quick-import-file-bar .secondary-button,.quick-import-action-bar .primary-button{width:100%}.quick-import-steps{grid-template-columns:1fr}.quick-import-steps small{white-space:normal}.quick-import-dropzone,.quick-import-loading{min-height:260px;padding:22px 16px}.quick-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-import-summary-card:last-child{grid-column:1/-1}.quick-import-issue-panel{max-height:none;position:static}.quick-import-issue-list{max-height:420px}.quick-import-preview-head{flex-direction:column;align-items:stretch}.quick-import-filters{width:100%}.quick-import-table-wrap{max-height:58vh}.quick-import-action-bar{border-bottom:0;border-left:0;border-right:0;border-radius:0;margin:0 -12px -12px}.quick-import-success{text-align:center;grid-template-columns:1fr;justify-items:center}.quick-import-submit-error,.people-import-file-row{flex-direction:column;align-items:stretch}.people-import-file-row .secondary-button{width:100%}.people-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.people-import-body,.people-import-head{padding:14px}.people-import-head h2{font-size:calc(19px + var(--app-font-size-adjustment,0px))}.people-import-table-wrap{max-height:52vh}.modal-actions.people-import-actions{padding:12px 14px}.people-import-actions .secondary-button,.people-import-actions .primary-button{flex:1 1 0}.record-modal{width:100%}}.landing-page{color:#111827;background:#fbfcfe;min-height:100vh;overflow-x:hidden}.landing-page,.landing-page *{box-sizing:border-box}.landing-page a{color:inherit;text-decoration:none}.landing-header{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #e6eaf1;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 clamp(42px,4.5vw,92px);display:flex;position:sticky;top:0}.landing-logo{flex:none;justify-content:center;align-items:center;display:inline-flex}.landing-logo img{width:142px;height:auto;display:block}.landing-nav{color:#4b5563;font-size:calc(14px + var(--app-font-size-adjustment,0px));justify-content:center;align-items:center;gap:34px;font-weight:700;display:flex}.landing-page .landing-login-button,.landing-page .landing-primary-cta{color:#fff;min-height:44px;font-size:calc(15px + var(--app-font-size-adjustment,0px));background:#4f46e5;border:1px solid #4f46e5;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-weight:800;line-height:1;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 12px 24px #4f46e52e}.landing-page .landing-secondary-cta,.landing-hero-copy .landing-hero-note-mobile{display:none}.landing-page .landing-login-button:hover,.landing-page .landing-primary-cta:hover{color:#fff;background:#4338ca;border-color:#4338ca;transform:translateY(-1px);box-shadow:0 14px 28px #4f46e53d}.landing-contact-chip{color:#fff;min-height:52px;font-size:calc(17px + var(--app-font-size-adjustment,0px));background:#4f46e5;border:1px solid #4f46e5;border-radius:7px;justify-content:center;align-items:center;padding:0 24px;font-weight:850;line-height:1;display:inline-flex;box-shadow:0 14px 28px #4f46e533}.landing-contact-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.landing-final-cta .landing-contact-chip{color:#fff;margin-top:0;display:inline-flex}.landing-hero{background:linear-gradient(90deg,#fffffffa 0%,#ffffffdb 34%,#fbfcfe7a 62%,#f8fafc 100%),#fbfcfe;border-bottom:1px solid #e4e8ef;grid-template-columns:minmax(420px,560px) minmax(720px,1080px);justify-content:center;align-items:center;column-gap:clamp(44px,5vw,92px);min-height:650px;padding:46px clamp(42px,4vw,82px) 66px;display:grid;position:relative;overflow:hidden}.landing-hero-copy{z-index:2;background:0 0;place-self:center end;width:100%;max-width:560px;margin-left:0;padding:34px 0 38px;position:relative}.landing-hero-copy h1{color:#111827;font-size:calc(56px + var(--app-font-size-adjustment,0px));margin:0;font-weight:850;line-height:1.12}.landing-hero-copy p{color:#344052;max-width:520px;font-size:calc(26px + var(--app-font-size-adjustment,0px));overflow-wrap:anywhere;margin:22px 0 0;font-weight:500;line-height:1.48}.landing-hero-copy span,.landing-final-cta span{color:#697386;font-size:calc(15px + var(--app-font-size-adjustment,0px));margin-top:20px;font-weight:600;line-height:1.6;display:block}.landing-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.landing-hero .landing-primary-cta{min-height:58px;font-size:calc(20px + var(--app-font-size-adjustment,0px));padding:0 30px}.landing-product-scene{background:#fff;border:1px solid #dfe5ee;border-radius:8px;grid-template-columns:230px minmax(640px,1fr);justify-self:start;width:100%;min-height:540px;display:grid;position:relative;inset:auto;overflow:hidden;box-shadow:0 28px 72px #1f29371f}.landing-preview-sidebar{background:#f8fafc;border-right:1px solid #e5e9f0;align-content:start;gap:12px;padding:24px 18px;display:grid}.landing-preview-sidebar strong{color:#111827;font-size:calc(18px + var(--app-font-size-adjustment,0px))}.landing-preview-sidebar>span{color:#697386;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-bottom:14px;font-weight:700}.landing-preview-nav{color:#4b5563;min-height:38px;font-size:calc(13px + var(--app-font-size-adjustment,0px));border-radius:7px;align-items:center;gap:10px;padding:0 11px;font-weight:700;display:flex}.landing-preview-nav span{background:#cbd5e1;border-radius:99px;width:8px;height:8px}.landing-preview-main{background:#fbfcfe;min-width:0;padding:26px}.landing-preview-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.landing-preview-toolbar span,.landing-preview-metric span,.landing-payment-row span,.landing-money-lines span{color:#64748b;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:700}.landing-preview-toolbar strong{color:#111827;font-size:calc(26px + var(--app-font-size-adjustment,0px));margin-top:4px;display:block}.landing-preview-action{color:#334155;min-height:38px;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#fff;border:1px solid #dde4ee;border-radius:7px;justify-content:center;align-items:center;padding:0 14px;font-weight:800;display:inline-flex}.landing-preview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.landing-preview-metric,.landing-preview-table,.landing-preview-sidecard,.landing-feature-card,.landing-roadmap-card{background:#fff;border:1px solid #e2e7ef;border-radius:8px;box-shadow:0 16px 38px #1f29370f}.landing-preview-metric{gap:9px;min-height:112px;padding:18px;display:grid}.landing-preview-metric strong{color:#111827;font-size:calc(28px + var(--app-font-size-adjustment,0px));line-height:1}.landing-preview-metric small{color:#16a34a;font-size:calc(12px + var(--app-font-size-adjustment,0px));font-weight:800}.landing-preview-content{grid-template-columns:minmax(0,1.7fr) minmax(230px,.8fr);gap:14px;display:grid}.landing-preview-table{min-width:0;padding:18px}.landing-preview-title{color:#111827;font-size:calc(17px + var(--app-font-size-adjustment,0px));margin-bottom:12px;font-weight:850}.landing-payment-row{border-top:1px solid #eef2f7;grid-template-columns:92px minmax(70px,.7fr) minmax(130px,1.2fr) 96px 86px;align-items:center;gap:10px;min-height:42px;display:grid}.landing-payment-row strong{color:#3647e6;font-size:calc(13px + var(--app-font-size-adjustment,0px))}.landing-payment-row em{color:#15803d;font-size:calc(12px + var(--app-font-size-adjustment,0px));background:#dcfce7;border-radius:6px;justify-self:start;padding:4px 7px;font-style:normal;font-weight:800}.landing-payment-row em.partial{color:#b45309;background:#fef3c7}.landing-payment-row em.due{color:#dc2626;background:#fee2e2}.landing-preview-sidecard{place-items:center;gap:18px;padding:22px 18px;display:grid}.landing-donut{background:radial-gradient(circle at center, #fff 0 44%, transparent 45%), conic-gradient(#22c55e 0 75%, #f97316 75% 81%, #ef4444 81% 100%);border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.landing-donut strong{color:#111827;font-size:calc(24px + var(--app-font-size-adjustment,0px));margin-top:26px;line-height:1}.landing-donut span{color:#64748b;font-size:calc(12px + var(--app-font-size-adjustment,0px));margin-top:-28px;font-weight:800}.landing-money-lines{gap:9px;width:100%;display:grid}.landing-progress-section,.landing-section,.landing-final-cta,.landing-footer{width:min(1330px,100% - 56px);margin:0 auto}.landing-progress-section{padding:62px 0 60px}.landing-section-head{gap:12px;max-width:640px;margin-bottom:32px;display:grid}.landing-section-head.centered{text-align:center;justify-items:center;max-width:none}.landing-section-head h2{color:#111827;font-size:calc(30px + var(--app-font-size-adjustment,0px));margin:0;font-weight:850;line-height:1.25}.landing-section-head p{color:#64748b;font-size:calc(16px + var(--app-font-size-adjustment,0px));margin:0;font-weight:600;line-height:1.7}.landing-progress-track{background:#e5e7eb;border:1px solid #dfe4ec;border-radius:999px;height:30px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a14}.landing-progress-fill{box-sizing:border-box;border-radius:inherit;color:#fff;background:#4f46e5;justify-content:flex-end;align-items:center;width:50%;height:100%;padding-right:16px;display:flex;box-shadow:0 8px 18px #4f46e53d}.landing-progress-fill strong{font-size:calc(14px + var(--app-font-size-adjustment,0px))}.landing-progress-scale{color:#8a94a6;height:18px;font-size:calc(13px + var(--app-font-size-adjustment,0px));margin-top:14px;font-weight:700;position:relative}.landing-progress-scale span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.landing-progress-scale span:first-child{left:0;transform:none}.landing-progress-scale span:nth-child(2){left:25%}.landing-progress-scale span:nth-child(3){left:50%}.landing-progress-scale span:nth-child(4){left:75%}.landing-progress-scale span:last-child{right:0;transform:none}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;display:grid}.landing-feature-card{gap:14px;min-height:330px;padding:24px;display:grid}.landing-feature-icon{color:#4f46e5;background:#eef2ff;border-radius:8px;place-items:center;width:46px;height:46px;display:grid}.landing-feature-card h3,.landing-intro-item h3,.landing-roadmap-card h3{color:#111827;font-size:calc(20px + var(--app-font-size-adjustment,0px));margin:0;font-weight:850;line-height:1.25}.landing-feature-card p,.landing-intro-item p,.landing-roadmap-card p{color:#64748b;font-size:calc(14px + var(--app-font-size-adjustment,0px));margin:0;font-weight:600;line-height:1.68}.landing-mini-panel{background:#f8fafc;border:1px solid #e7ebf2;border-radius:7px;align-self:end;gap:8px;min-height:106px;padding:13px;display:grid}.landing-mini-panel span{color:#344052;min-height:24px;font-size:calc(12px + var(--app-font-size-adjustment,0px));align-items:center;font-weight:800;display:flex}.landing-mini-panel span:before{content:"";background:#4f46e5;border-radius:50%;flex:none;width:6px;height:6px;margin-right:8px}.landing-intro-band{background:#f8fafc;border:1px solid #e2e7ef;border-radius:8px;grid-template-columns:minmax(280px,.65fr) minmax(0,1fr);align-items:start;gap:44px;padding:48px;display:grid}.landing-intro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-intro-item{background:#fff;border:1px solid #e2e7ef;border-radius:8px;gap:12px;padding:20px;display:grid}.landing-intro-item svg,.landing-roadmap-content svg{box-sizing:content-box;color:#4f46e5;background:#eef2ff;border-radius:8px;place-items:center;padding:10px;display:grid}.landing-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.landing-roadmap-card{grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:22px;padding:28px;display:grid}.landing-roadmap-content{align-items:flex-start;gap:18px;display:flex}.landing-roadmap-content div{gap:12px;display:grid}.landing-roadmap-preview{color:#4b5563;min-height:130px;font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#f8fafc;border:1px solid #e7ebf2;border-radius:7px;place-items:center;gap:8px;font-weight:800;display:grid}.landing-final-cta{background:linear-gradient(90deg,#eef2ffeb,#fffffffa),#fff;border:1px solid #e2e7ef;border-radius:8px;justify-content:space-between;align-items:center;gap:28px;margin-top:36px;padding:38px 46px;display:flex}.landing-final-cta h2{color:#111827;font-size:calc(26px + var(--app-font-size-adjustment,0px));margin:0;line-height:1.35}.landing-final-cta p{color:#64748b;font-size:calc(15px + var(--app-font-size-adjustment,0px));margin:12px 0 0;font-weight:600;line-height:1.7}.landing-final-cta>div:last-child{justify-items:center;display:grid}.landing-footer{color:#64748b;font-size:calc(13px + var(--app-font-size-adjustment,0px));justify-content:space-between;align-items:center;gap:20px;padding:28px 0 34px;font-weight:700;display:flex}.landing-footer nav{flex-wrap:wrap;gap:26px;display:flex}.landing-footer a:hover{color:#111827}@media (max-width:1240px){.landing-hero{grid-template-columns:minmax(340px,430px) minmax(560px,920px);column-gap:34px}.landing-product-scene{grid-template-columns:190px minmax(0,1fr)}.landing-feature-grid,.landing-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-preview-content{grid-template-columns:1fr}}@media (max-width:980px){.landing-header{flex-wrap:wrap;justify-content:center;padding:14px 22px}.landing-logo{flex:100%;justify-content:center}.landing-nav{order:3;gap:20px;width:100%}.landing-hero{min-height:0;padding:34px 22px 48px;display:block}.landing-hero-copy{background:0 0;width:min(100%,100vw - 44px);max-width:100%;margin-left:0;padding:0 0 26px}.landing-hero-copy h1{font-size:calc(42px + var(--app-font-size-adjustment,0px))}.landing-hero-copy p{max-width:100%;font-size:calc(21px + var(--app-font-size-adjustment,0px))}.landing-hero-copy span{max-width:100%}.landing-product-scene{grid-template-columns:1fr;width:100%;min-width:0;max-width:100%;min-height:auto;position:relative;inset:auto}.landing-preview-sidebar{display:none}.landing-progress-section,.landing-section,.landing-final-cta,.landing-footer{width:min(100% - 32px,1330px)}.landing-feature-grid,.landing-intro-grid,.landing-roadmap-grid{grid-template-columns:1fr}.landing-intro-band,.landing-roadmap-card,.landing-final-cta{grid-template-columns:1fr;padding:28px}.landing-final-cta{flex-direction:column;align-items:flex-start}.landing-final-cta>div:last-child{justify-items:start}.landing-contact-links{justify-content:flex-start}}@media (max-width:620px){.landing-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 16px;display:grid}.landing-logo{flex:0 auto;justify-content:flex-start;min-width:0}.landing-logo img{width:112px}.landing-nav,.landing-page .landing-login-button{display:none}.landing-hero{background:#fbfcfe;border-bottom:1px solid #e6eaf1;padding:24px 16px 34px}.landing-hero-copy{width:100%;padding:0 0 18px}.landing-hero-copy h1{font-size:calc(34px + var(--app-font-size-adjustment,0px));letter-spacing:0}.landing-hero-copy p{font-size:calc(18px + var(--app-font-size-adjustment,0px));margin-top:12px;line-height:1.5}.landing-hero-copy span{font-size:calc(13px + var(--app-font-size-adjustment,0px));background:#fff;border:1px solid #e2e7ef;border-radius:8px;margin-top:12px;padding:10px 12px;line-height:1.55}.landing-hero-copy .landing-hero-note-desktop{display:none}.landing-hero-copy .landing-hero-note-mobile{display:block}.landing-hero-actions{grid-template-columns:1fr;gap:9px;margin-top:18px;display:grid}.landing-hero .landing-primary-cta,.landing-primary-cta,.landing-page .landing-secondary-cta{width:100%;max-width:100%;min-height:48px;font-size:calc(16px + var(--app-font-size-adjustment,0px));padding:0 18px}.landing-hero .landing-primary-cta{display:none}.landing-page .landing-secondary-cta{color:#fff;background:#4f46e5;border:1px solid #4f46e5;border-radius:7px;justify-content:center;align-items:center;gap:9px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 12px 24px #4f46e529}.landing-product-scene{display:none}.landing-preview-main{padding:14px}.landing-preview-toolbar{flex-direction:row;align-items:center;margin-bottom:12px}.landing-preview-toolbar strong{font-size:calc(19px + var(--app-font-size-adjustment,0px))}.landing-preview-action{min-height:32px;font-size:calc(12px + var(--app-font-size-adjustment,0px));padding:0 10px}.landing-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.landing-preview-metric{min-height:74px;box-shadow:none;gap:6px;padding:11px}.landing-preview-metric strong{overflow-wrap:anywhere;font-size:clamp(15px,4.4vw,18px);line-height:1.12}.landing-preview-metric span,.landing-preview-metric small{font-size:calc(11px + var(--app-font-size-adjustment,0px))}.landing-preview-content{grid-template-columns:1fr;gap:0}.landing-preview-table{box-shadow:none;padding:14px}.landing-preview-title{font-size:calc(15px + var(--app-font-size-adjustment,0px));margin-bottom:6px}.landing-payment-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;min-height:0;padding:10px 0}.landing-payment-row>span:first-child{display:none}.landing-payment-row>strong{min-width:0;font-size:calc(13px + var(--app-font-size-adjustment,0px));grid-area:1/1}.landing-payment-row>span:nth-of-type(2){text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;min-width:0;overflow:hidden}.landing-payment-row>span:nth-of-type(3){color:#111827;font-size:calc(12px + var(--app-font-size-adjustment,0px));grid-area:1/2;align-self:center}.landing-payment-row em{font-size:calc(11px + var(--app-font-size-adjustment,0px));grid-area:2/2;justify-self:start;padding:4px 6px}.landing-preview-sidecard{display:none}.landing-progress-section{padding:34px 0 30px}.landing-section{padding:36px 0}.landing-progress-section,.landing-section,.landing-final-cta,.landing-footer{width:min(100% - 32px,1330px)}.landing-section-head h2{font-size:calc(24px + var(--app-font-size-adjustment,0px))}.landing-section-head{gap:8px;margin-bottom:18px}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-feature-card{min-height:0;box-shadow:none;gap:9px;padding:14px}.landing-feature-icon{width:36px;height:36px}.landing-feature-card h3,.landing-intro-item h3,.landing-roadmap-card h3{font-size:calc(16px + var(--app-font-size-adjustment,0px))}.landing-feature-card p,.landing-intro-item p,.landing-roadmap-card p{font-size:calc(13px + var(--app-font-size-adjustment,0px));line-height:1.55}.landing-mini-panel{display:none}.landing-progress-track{height:24px}.landing-progress-scale{font-size:calc(11px + var(--app-font-size-adjustment,0px));margin-top:10px}.landing-intro-band,.landing-roadmap-card,.landing-final-cta{padding:18px}.landing-intro-band{gap:18px}.landing-intro-item{padding:16px}.landing-roadmap-content{flex-direction:column;gap:12px}.landing-roadmap-preview{min-height:84px}.landing-final-cta{gap:18px;margin-top:18px}.landing-final-cta h2{font-size:calc(21px + var(--app-font-size-adjustment,0px))}.landing-contact-chip{width:100%;min-height:46px;font-size:calc(15px + var(--app-font-size-adjustment,0px));padding:0 16px}.landing-contact-links{width:100%}.landing-footer{flex-direction:column;align-items:flex-start;padding:22px 0 30px}.landing-footer nav{gap:14px}}.landing-page{color:#111827;background:#f8fafc}.landing-page a:focus-visible,.landing-page button:focus-visible{outline-offset:3px;outline:3px solid #0e749042}.landing-header{background:#fffffff5;border-bottom-color:#e2e8f0;min-height:66px;padding:0 clamp(24px,4vw,72px)}.landing-logo img{width:136px}.landing-nav{color:#475569;font-size:calc(13px + var(--app-font-size-adjustment,0px));gap:26px;font-weight:750}.landing-nav a{transition:color .16s}.landing-nav a:hover{color:#0f172a}.landing-header-actions{align-items:center;gap:8px;display:flex}.landing-page .landing-login-button,.landing-page .landing-secondary-cta{color:#334155;min-height:42px;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:#fff;border:1px solid #cbd5e1;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;line-height:1;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.landing-page .landing-header-contact,.landing-page .landing-primary-cta,.landing-page .landing-contact-chip{color:#fff;min-height:42px;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:#4f46e5;border:1px solid #4f46e5;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-weight:850;line-height:1;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 12px 24px #4f46e52e}.landing-page .landing-login-button:hover,.landing-page .landing-secondary-cta:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.landing-page .landing-header-contact:hover,.landing-page .landing-primary-cta:hover,.landing-page .landing-contact-chip:hover{color:#fff;background:#4338ca;border-color:#4338ca;transform:translateY(-1px);box-shadow:0 14px 28px #4f46e53d}.landing-hero{background:#f8fafc;border-bottom-color:#e2e8f0;grid-template-columns:minmax(340px,500px) minmax(0,900px);align-items:center;column-gap:clamp(32px,4.5vw,70px);min-height:auto;padding:58px clamp(24px,4vw,72px) 72px}.landing-hero-copy{justify-self:end;max-width:500px;padding:0}.landing-eyebrow,.landing-section-kicker{color:#3730a3;width:fit-content;min-height:28px;font-size:calc(12px + var(--app-font-size-adjustment,0px));letter-spacing:0;background:#eef2ff;border:1px solid #c7d2fe;border-radius:7px;align-items:center;margin:0;padding:0 10px;font-weight:850;line-height:1;display:inline-flex}.landing-hero-copy h1{color:#0f172a;font-size:calc(52px + var(--app-font-size-adjustment,0px));letter-spacing:0;margin-top:16px;font-weight:860;line-height:1.08}.landing-hero-copy p{color:#334155;max-width:500px;font-size:calc(21px + var(--app-font-size-adjustment,0px));margin-top:18px;font-weight:550;line-height:1.58}.landing-hero-actions{gap:10px;margin-top:26px}.landing-hero .landing-primary-cta,.landing-hero .landing-secondary-cta{min-height:50px;font-size:calc(16px + var(--app-font-size-adjustment,0px));padding:0 22px}.landing-hero-points{gap:8px;margin-top:22px;display:grid}.landing-hero-points span{color:#475569;font-size:calc(14px + var(--app-font-size-adjustment,0px));background:0 0;border:0;margin:0;padding:0 0 0 18px;font-weight:700;line-height:1.45;position:relative}.landing-hero-points span:before{content:"";background:#4f46e5;border-radius:50%;width:6px;height:6px;position:absolute;top:.62em;left:2px}.landing-product-scene{border-color:#dbe3ee;grid-template-columns:196px minmax(0,1fr);min-height:480px;box-shadow:0 24px 54px #0f172a1f}.landing-preview-sidebar{background:#f1f5f9;gap:10px;padding:20px 14px}.landing-preview-sidebar strong{font-size:calc(16px + var(--app-font-size-adjustment,0px))}.landing-preview-nav{min-height:36px;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.landing-preview-nav.active{color:#3730a3;background:#eef2ff}.landing-preview-nav.active span{background:#4f46e5}.landing-preview-main{background:#fbfdff;padding:22px}.landing-preview-toolbar{margin-bottom:18px}.landing-preview-toolbar strong{font-size:calc(23px + var(--app-font-size-adjustment,0px))}.landing-preview-action{color:#334155;border-color:#cbd5e1;min-height:34px}.landing-preview-metrics{gap:10px;margin-bottom:14px}.landing-preview-metric,.landing-preview-table,.landing-preview-sidecard,.landing-feature-card,.landing-roadmap-card{border-color:#e2e8f0;box-shadow:0 12px 28px #0f172a0e}.landing-preview-metric{min-height:98px;padding:14px}.landing-preview-metric strong{font-size:calc(24px + var(--app-font-size-adjustment,0px))}.landing-preview-metric small{color:#4f46e5}.landing-preview-content{grid-template-columns:minmax(0,1.8fr) minmax(190px,.65fr);gap:10px}.landing-preview-table{padding:16px}.landing-payment-row{grid-template-columns:54px minmax(58px,.7fr) minmax(132px,1.4fr) 96px 82px;gap:8px;min-height:40px}.landing-payment-row strong{color:#4f46e5}.landing-preview-sidecard{gap:14px;padding:18px 14px}.landing-donut{width:116px;height:116px}.landing-donut strong{font-size:calc(22px + var(--app-font-size-adjustment,0px));margin-top:22px}.landing-donut span{margin-top:-24px}.landing-progress-section,.landing-section,.landing-final-cta,.landing-footer{width:min(1180px,100% - 48px)}.landing-section{padding:60px 0}.landing-section-head{gap:10px;max-width:680px;margin-bottom:28px}.landing-section-head.centered{max-width:760px;margin-inline:auto}.landing-section-head h2{color:#0f172a;font-size:calc(30px + var(--app-font-size-adjustment,0px));letter-spacing:0}.landing-section-head h2 span{color:#4f46e5}.landing-section-head p{color:#475569;font-size:calc(15px + var(--app-font-size-adjustment,0px));font-weight:600}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.landing-feature-card{gap:13px;min-height:0;padding:18px}.landing-feature-icon{color:#4f46e5;background:#eef2ff;width:42px;height:42px}.landing-feature-card:nth-child(2) .landing-feature-icon,.landing-intro-item:nth-child(2) svg{color:#4f46e5;background:#eef2ff}.landing-feature-card:nth-child(3) .landing-feature-icon,.landing-intro-item:nth-child(3) svg{color:#7c3aed;background:#f3e8ff}.landing-feature-card:nth-child(4) .landing-feature-icon{color:#b45309;background:#fef3c7}.landing-feature-card:nth-child(5) .landing-feature-icon{color:#7c3aed;background:#f3e8ff}.landing-feature-card h3,.landing-intro-item h3,.landing-roadmap-card h3{color:#0f172a;font-size:calc(18px + var(--app-font-size-adjustment,0px))}.landing-feature-card p,.landing-intro-item p,.landing-roadmap-card p{color:#475569;font-size:calc(13px + var(--app-font-size-adjustment,0px));line-height:1.62}.landing-mini-panel{background:#f8fafc;border-color:#e2e8f0;min-height:96px;padding:11px}.landing-mini-panel span{color:#334155;font-size:calc(12px + var(--app-font-size-adjustment,0px))}.landing-mini-panel span:before{background:#4f46e5}.landing-progress-section{gap:18px;padding:56px 0;display:grid}.landing-progress-section .landing-section-head{margin-bottom:0}.landing-progress-track{background:#e2e8f0;border-color:#cbd5e1;height:28px}.landing-progress-fill{background:#4f46e5;box-shadow:0 8px 18px #4f46e52e}.landing-progress-scale{margin-top:-4px}.landing-intro-band{background:#eef4f7;border:1px solid #e2e8f0;border-left:0;border-right:0;border-radius:0;grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);width:100%;max-width:none;padding:58px max(24px,50vw - 590px)}.landing-intro-band .landing-section-head{margin-bottom:0}.landing-intro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.landing-intro-item{border-color:#dbe3ee;gap:11px;padding:18px}.landing-intro-item svg,.landing-roadmap-content svg{color:#4f46e5;background:#eef2ff}.landing-roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.landing-roadmap-card{grid-template-columns:1fr;gap:16px;padding:18px}.landing-roadmap-content{gap:13px}.landing-roadmap-content div{gap:8px}.landing-roadmap-preview{color:#475569;background:#f8fafc;grid-template-columns:auto 1fr;justify-content:start;place-items:center start;min-height:42px;padding:0 12px}.landing-roadmap-preview svg{color:#4f46e5}.landing-final-cta{background:#fff;border-color:#cbd5e1;gap:30px;margin-top:26px;padding:32px}.landing-final-cta h2{color:#0f172a;font-size:calc(25px + var(--app-font-size-adjustment,0px));margin-top:12px}.landing-final-cta p{color:#475569}.landing-final-cta>div:last-child{justify-items:end}.landing-final-cta span:not(.landing-section-kicker){color:#64748b;text-align:right}.landing-contact-links{gap:9px}.landing-contact-chip{min-height:48px;font-size:calc(15px + var(--app-font-size-adjustment,0px));padding:0 20px}.landing-footer{color:#64748b;padding:28px 0 34px}.landing-footer nav{gap:20px}@media (max-width:1240px){.landing-hero{grid-template-columns:minmax(310px,420px) minmax(0,1fr);column-gap:26px}.landing-product-scene{grid-template-columns:168px minmax(0,1fr)}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.landing-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 20px;display:grid}.landing-logo{justify-content:flex-start}.landing-nav{order:3;grid-column:1/-1;justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.landing-hero{grid-template-columns:1fr;gap:30px;padding:38px 20px 50px;display:grid}.landing-hero-copy{justify-self:stretch;max-width:720px}.landing-hero-copy h1{font-size:calc(42px + var(--app-font-size-adjustment,0px))}.landing-product-scene{grid-template-columns:1fr}.landing-preview-sidebar{display:none}.landing-feature-grid,.landing-intro-grid,.landing-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-intro-band{grid-template-columns:1fr;gap:24px;padding:44px 20px}.landing-final-cta{flex-direction:column;align-items:flex-start}.landing-final-cta>div:last-child,.landing-final-cta span:not(.landing-section-kicker){text-align:left;justify-items:start}}@media (max-width:620px){.landing-header{grid-template-columns:minmax(0,1fr);min-height:58px;padding:10px 16px}.landing-logo img{width:116px}.landing-header-actions{display:none}.landing-nav{font-size:calc(12px + var(--app-font-size-adjustment,0px));gap:16px;display:flex}.landing-hero{gap:20px;padding:26px 16px 36px}.landing-eyebrow,.landing-section-kicker{min-height:26px;font-size:calc(11px + var(--app-font-size-adjustment,0px))}.landing-hero-copy h1{font-size:calc(34px + var(--app-font-size-adjustment,0px));margin-top:14px}.landing-hero-copy p{font-size:calc(17px + var(--app-font-size-adjustment,0px));margin-top:12px}.landing-hero-actions{grid-template-columns:1fr;gap:9px;margin-top:18px;display:grid}.landing-hero .landing-primary-cta,.landing-hero .landing-secondary-cta{width:100%;min-height:48px;font-size:calc(15px + var(--app-font-size-adjustment,0px));padding:0 16px;display:inline-flex}.landing-hero-points{gap:7px;margin-top:16px}.landing-hero-points span{font-size:calc(13px + var(--app-font-size-adjustment,0px));padding-left:16px}.landing-product-scene{width:100%;min-height:0;display:grid;box-shadow:0 14px 30px #0f172a1a}.landing-preview-main{padding:13px}.landing-preview-toolbar{align-items:flex-start;margin-bottom:12px}.landing-preview-toolbar strong{font-size:calc(19px + var(--app-font-size-adjustment,0px))}.landing-preview-action{min-height:30px;font-size:calc(11px + var(--app-font-size-adjustment,0px));padding:0 9px}.landing-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.landing-preview-metric{min-height:72px;padding:10px}.landing-preview-metric strong{overflow-wrap:anywhere;font-size:clamp(15px,4.4vw,18px)}.landing-preview-content{grid-template-columns:1fr}.landing-preview-table{padding:12px}.landing-payment-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:9px 0}.landing-payment-row>span:first-child{display:none}.landing-payment-row>strong{grid-area:1/1;min-width:0}.landing-payment-row>span:nth-of-type(2){text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;min-width:0;overflow:hidden}.landing-payment-row>span:nth-of-type(3){color:#0f172a;font-size:calc(12px + var(--app-font-size-adjustment,0px));grid-area:1/2}.landing-payment-row em{font-size:calc(11px + var(--app-font-size-adjustment,0px));grid-area:2/2;justify-self:start}.landing-preview-sidecard{display:none}.landing-progress-section,.landing-section,.landing-final-cta,.landing-footer{width:min(100% - 32px,1180px)}.landing-section{padding:38px 0}.landing-section-head{margin-bottom:18px}.landing-section-head h2{font-size:calc(24px + var(--app-font-size-adjustment,0px))}.landing-section-head p{font-size:calc(14px + var(--app-font-size-adjustment,0px))}.landing-feature-grid,.landing-intro-grid,.landing-roadmap-grid{grid-template-columns:1fr;gap:10px}.landing-feature-card,.landing-intro-item,.landing-roadmap-card{box-shadow:none;padding:15px}.landing-feature-card h3,.landing-intro-item h3,.landing-roadmap-card h3{font-size:calc(16px + var(--app-font-size-adjustment,0px))}.landing-mini-panel{min-height:0;display:grid}.landing-progress-section{padding:36px 0}.landing-progress-track{height:24px}.landing-progress-scale{font-size:calc(11px + var(--app-font-size-adjustment,0px))}.landing-intro-band{width:100%;padding:38px 16px}.landing-roadmap-content{flex-direction:row;gap:12px}.landing-roadmap-preview{min-height:38px}.landing-final-cta{gap:18px;margin-top:16px;padding:20px}.landing-final-cta h2{font-size:calc(21px + var(--app-font-size-adjustment,0px))}.landing-contact-links,.landing-contact-chip{width:100%}.landing-contact-chip{min-height:46px;padding:0 16px}.landing-footer{flex-direction:column;align-items:flex-start;padding:22px 0 30px}.landing-footer nav{gap:13px}}.landing-preview-content{grid-template-columns:minmax(0,1fr) 160px}.landing-payment-row{grid-template-columns:44px minmax(48px,.7fr) minmax(84px,1fr) 76px 64px;gap:6px}.landing-payment-row span,.landing-payment-row strong,.landing-payment-row em{min-width:0}.landing-payment-row span:nth-of-type(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.landing-payment-row span:nth-of-type(3){text-align:right}.landing-payment-row em{font-size:calc(11px + var(--app-font-size-adjustment,0px));justify-self:end;padding:4px 6px}@media (max-width:980px){.landing-preview-content{display:none}.landing-hero{gap:24px}.landing-preview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-product-scene{min-height:0}.landing-preview-metric{min-height:82px;padding:12px}.landing-preview-metric strong{font-size:calc(20px + var(--app-font-size-adjustment,0px))}}@media (max-width:620px){.landing-preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-preview-metric strong{font-size:clamp(15px,4.4vw,18px)}.leave-deduction-item{grid-template-columns:minmax(0,1fr);gap:8px}.leave-deduction-item>strong{justify-self:start}.leave-deduction-error{flex-direction:column;align-items:flex-start}}
