:root{--bg:#f5f7fa;--bg-muted:#eef2f6;--surface:#ffffff;--surface-soft:#f8fafc;--line:#d9e0e8;--line-strong:#c7d0da;--text:#15202b;--text-soft:#516173;--text-faint:#708396;--accent:#1f5eff;--accent-soft:#edf3ff;--success:#0b6b4b;--success-soft:#ebf8f2;--warning:#a76000;--warning-soft:#fff5e8;--danger:#c53b2d;--danger-soft:#fff0ee;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--shadow-sm:0 1px 2px rgba(16,24,40,0.04);--shadow-md:0 8px 24px rgba(16,24,40,0.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(245,247,250,.96)),var(--bg);color:var(--text);font-family:Aptos,Segoe UI,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:256px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:20px 16px;border-right:1px solid var(--line);background:#f7f9fc;display:flex;flex-direction:column}.brand{display:block;margin-bottom:20px}.brand-row{display:flex;align-items:center;gap:10px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#111827;color:#fff;font-size:.95rem;font-weight:700}.brand-title{font-size:1.1rem;font-weight:700;line-height:1}.muted{color:var(--text-soft)}.nav-list{display:grid;grid-gap:4px;gap:4px}.nav-link{padding:10px 12px;border-radius:10px;color:var(--text-soft);border:1px solid transparent;font-weight:500}.nav-link.active,.nav-link:hover{color:var(--text);background:#fff;border-color:var(--line)}.main{padding:24px;display:grid;grid-gap:16px;gap:16px;align-content:start}.main>*{min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.page-title{margin:0;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.05;letter-spacing:-.03em}.page-subtitle{margin:8px 0 0;max-width:760px;color:var(--text-soft);line-height:1.45}.card,.hero,.kanban-column,.metric,.schedule-column,.table-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:12px;gap:12px}.metric{padding:16px;display:grid;grid-gap:8px;gap:8px}.metric.default{background:var(--surface)}.metric.accent{background:linear-gradient(180deg,#ffffff,#f4f8ff)}.metric.danger{background:linear-gradient(180deg,#ffffff,#fff5f3)}.metric-value{font-size:2rem;line-height:1;font-weight:700;letter-spacing:-.03em}.panel{padding:18px;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title{margin:0;font-size:1rem;font-weight:700}.pill,.status-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-soft);font-size:.84rem;white-space:nowrap}.pill.accent,.status-chip.accent{background:var(--accent-soft);color:var(--accent);border-color:#d8e5ff}.pill.warning,.status-chip.warning{background:var(--warning-soft);color:var(--warning);border-color:#f2dfc1}.pill.danger,.status-chip.danger{background:var(--danger-soft);color:var(--danger);border-color:#f2ccc8}.pill.success,.status-chip.success{background:var(--success-soft);color:var(--success);border-color:#cdebdc}.status-chip.neutral{background:#edf1f5;color:var(--text-soft);border-color:var(--line)}.list{display:grid;grid-gap:10px;gap:10px}.list-item{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--line)}.list-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item-title{font-size:.98rem;font-weight:700;line-height:1.3}.profile-card-link{color:inherit}.profile-card-link:hover{background:#fff;border-color:var(--line-strong)}.kpi-strip{display:flex;flex-wrap:wrap;gap:8px}.action-button,.ghost-button,.primary-button{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;white-space:nowrap}.primary-button{background:var(--accent);color:#fff}.ghost-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55}.ghost-button{background:var(--surface);color:var(--text);border-color:var(--line)}.split-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);grid-gap:16px;gap:16px;align-items:start}.split-layout>*{min-width:0}.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;align-items:start}.group-card{display:grid;grid-gap:14px;gap:14px}.group-meta{display:grid;grid-gap:12px;gap:12px}.group-schedule{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.group-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.group-stat{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.group-stat-label{color:var(--text-soft);font-size:.84rem}.group-stat-value{margin-top:4px;font-weight:700;font-size:1rem}.enrollment-table{table-layout:auto}.enrollment-table td:first-child,.enrollment-table th:first-child{width:28%}.enrollment-table td:nth-child(2),.enrollment-table th:nth-child(2){width:14%}.enrollment-table td:nth-child(3),.enrollment-table th:nth-child(3){width:28%}.enrollment-table td:nth-child(4),.enrollment-table th:nth-child(4){width:16%}.enrollment-table td:nth-child(5),.enrollment-table th:nth-child(5){width:10%}.enrollment-table td:nth-child(6),.enrollment-table th:nth-child(6){width:28%}.enrollment-actions{display:grid;grid-gap:8px;gap:8px}.enrollment-actions-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.enrollment-actions-row .ghost-button,.enrollment-actions-row .primary-button{min-height:32px;padding:0 10px}.enrollment-date-input,.enrollment-select{min-height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--text)}.enrollment-actions-row:last-child{grid-template-columns:minmax(0,1fr) minmax(124px,1fr) auto}.enrollment-log-table{table-layout:auto}.enrollment-log-table td:first-child,.enrollment-log-table td:nth-child(2),.enrollment-log-table th:first-child,.enrollment-log-table th:nth-child(2){width:18%}.enrollment-log-table td:nth-child(3),.enrollment-log-table th:nth-child(3){width:12%}.enrollment-log-table td:nth-child(4),.enrollment-log-table th:nth-child(4){width:25%}.enrollment-log-table td:nth-child(5),.enrollment-log-table th:nth-child(5){width:12%}.enrollment-log-table td:nth-child(6),.enrollment-log-table th:nth-child(6){width:15%}.table-wrapper{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:12px}.data-table{width:100%;border-collapse:collapse;min-width:0;background:var(--surface);table-layout:fixed}.data-table td,.data-table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f7f9fc;color:var(--text-soft);font-size:.82rem;font-weight:600;letter-spacing:.01em}.data-table tbody tr:hover{background:#fafcff}.data-table td:first-child,.data-table th:first-child{width:16%}.data-table td:nth-child(2),.data-table th:nth-child(2){width:33%}.data-table td:nth-child(3),.data-table th:nth-child(3){width:12%}.data-table td:nth-child(4),.data-table th:nth-child(4){width:16%}.data-table td:nth-child(5),.data-table th:nth-child(5){width:23%}.cell-main{font-weight:600}.cell-main,.cell-sub{line-height:1.35;overflow-wrap:anywhere}.cell-sub{margin-top:4px;color:var(--text-soft);font-size:.88rem}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.calendar-week-switch{display:inline-flex;align-items:center;gap:8px}.calendar-topbar{display:inline-flex;align-items:center;gap:12px}.calendar-offday-menu{position:relative}.calendar-offday-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-weight:600;list-style:none;cursor:pointer}.calendar-offday-toggle::-webkit-details-marker{display:none}.calendar-offday-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:#f2f5fb;border:1px solid #dce5f2;color:#5f6f85;font-size:.74rem;font-weight:700;line-height:1;padding:0 6px}.calendar-offday-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(760px,90vw);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(14,22,38,.12);padding:12px;display:grid;grid-gap:10px;gap:10px}.calendar-week-title{font-size:1.95rem;font-weight:700;line-height:1;letter-spacing:-.02em}.calendar-grid-card{padding:0;overflow:hidden}.calendar-management{padding:14px 16px 10px;border-bottom:1px solid var(--line);background:#fbfcff;display:grid;grid-gap:10px;gap:10px}.calendar-offday-form{display:grid;grid-template-columns:170px 170px minmax(220px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.calendar-offday-form button{height:44px}.calendar-offday-list{display:flex;flex-wrap:wrap;gap:8px}.calendar-offday-item{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid #f0d4c9;border-radius:8px;background:#fff6f3;font-size:.86rem;color:#8f4339}.calendar-offday-item .ghost-button{min-height:30px;padding:0 9px;font-size:.82rem}.week-nav-button{min-width:36px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;line-height:1}.crm-toolbar{justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.crm-tabs,.crm-toolbar{display:flex;align-items:center}.crm-tabs{gap:8px;flex-wrap:wrap}.crm-tab{min-height:34px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--text-soft);cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.crm-tab.active{color:var(--accent);border-color:#d8e5ff;background:#f4f8ff}.crm-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:999px;background:#e9eef7;color:#5f6f85;font-size:.74rem;font-weight:700;padding:0 5px}.crm-tab.active .crm-tab-count{background:#dce9ff;color:#2d5bd1}.field-hint{margin-top:6px;color:#6d7b90;font-size:.8rem;line-height:1.3}.crm-meta{color:var(--text-soft);font-size:.9rem}.inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.inline-form-students{grid-template-columns:repeat(6,minmax(0,1fr))}.inline-form-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-form .primary-button{width:100%}.settings-grid{grid-template-columns:1fr;align-items:start}.settings-grid,.settings-users{display:grid;grid-gap:16px;gap:16px}.settings-user-form{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(180px,.8fr);padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.settings-sections-field{grid-column:1/-1}.settings-sections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px 12px;gap:8px 12px;margin-top:2px}.settings-section-option{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.9rem;color:var(--text);cursor:pointer}.settings-section-input{position:absolute;opacity:0;pointer-events:none}.settings-section-box{width:16px;height:16px;border-radius:4px;border:1px solid #b9c7d8;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}.settings-section-box:after{content:"";width:8px;height:5px;border-left:2px solid transparent;border-bottom:2px solid transparent;transform:rotate(-45deg) translate(1px,-1px)}.settings-section-input:checked+.settings-section-box{border-color:#3563e9;background:#3563e9}.settings-section-input:checked+.settings-section-box:after{border-left-color:#fff;border-bottom-color:#fff}.settings-section-input:focus-visible+.settings-section-box{outline:2px solid #95b0ff;outline-offset:1px}.settings-user-sections{margin-top:3px}.users-table{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.users-table-head,.users-table-row{display:grid;grid-template-columns:minmax(220px,280px) minmax(520px,1fr) 130px;grid-gap:12px;gap:12px;align-items:start;padding:12px 14px}.users-table-head{background:var(--surface-soft);color:var(--text-soft);font-size:.84rem;font-weight:700}.users-table-row+.users-table-row{border-top:1px solid var(--line)}.settings-user-inline-edit{display:grid;grid-gap:10px;gap:10px}.settings-sections-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.settings-section-option.compact{min-height:32px;font-size:.85rem;gap:8px;padding:0 8px}.settings-user-inline-actions{display:flex;align-items:center;gap:10px}.settings-user-inline-actions input{width:min(360px,100%)}.settings-user-inline-actions button{height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer}.crm-table-wrapper{border:1px solid var(--line);border-radius:10px;background:#fff}.crm-students-table{table-layout:auto}.crm-students-table td,.crm-students-table th{padding:11px 12px;border-bottom:1px solid #e8edf5}.crm-students-table thead th{position:static;background:#f5f7fb;white-space:nowrap;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:#5f6f85}.crm-students-table td{min-height:64px;vertical-align:middle}.crm-students-table .cell-main{font-size:.92rem;line-height:1.3}.crm-students-table .cell-sub{margin-top:3px;font-size:.8rem;line-height:1.25;color:#68788f}.crm-students-table td:nth-child(2) .cell-main{font-weight:500;color:#253447;letter-spacing:0}.crm-students-table td:first-child,.crm-students-table th:first-child{width:20%}.crm-students-table td:nth-child(2),.crm-students-table th:nth-child(2){width:24%}.crm-students-table td:nth-child(3),.crm-students-table th:nth-child(3){width:15%}.crm-students-table td:nth-child(4),.crm-students-table th:nth-child(4){width:13%}.crm-students-table td:nth-child(5),.crm-students-table td:nth-child(6),.crm-students-table th:nth-child(5),.crm-students-table th:nth-child(6){width:14%}.student-row-clickable:hover{background:#f7faff}.student-row-link{display:block;color:inherit;text-decoration:none}.students-mobile-list{display:none}.student-mobile-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:inherit;text-decoration:none}.student-mobile-card.danger{border-color:#f2ccc8;background:#fffaf8}.student-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-mobile-title{min-width:0;display:grid;grid-gap:3px;gap:3px}.student-mobile-name{font-size:1rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.student-mobile-sub{color:var(--text-soft);font-size:.86rem;line-height:1.25;overflow-wrap:anywhere}.student-mobile-balance{display:grid;grid-gap:3px;gap:3px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.student-mobile-card.danger .student-mobile-balance{border-color:#f2ccc8;background:var(--danger-soft)}.student-mobile-balance span,.student-mobile-meta span{color:var(--text-faint);font-size:.76rem;font-weight:800}.student-mobile-balance strong,.student-mobile-meta strong{font-size:.94rem;line-height:1.3;overflow-wrap:anywhere}.student-mobile-balance em,.student-mobile-meta em{color:var(--text-soft);font-size:.84rem;font-style:normal;line-height:1.3;overflow-wrap:anywhere}.student-mobile-slots{display:flex;flex-wrap:wrap;gap:6px}.student-mobile-slot{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border:1px solid #d8e5ff;border-radius:8px;background:var(--accent-soft);color:#2457d6;font-size:.8rem;font-weight:700}.student-mobile-slot.muted{border-color:var(--line);background:var(--surface-soft);color:var(--text-soft)}.student-mobile-meta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px}.student-mobile-meta{display:grid;grid-gap:3px;gap:3px;padding-top:8px;border-top:1px solid var(--line)}.student-mobile-empty{padding:14px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text-soft);font-size:.9rem;line-height:1.35}.student-schedule-editor{border:1px solid var(--line);border-radius:10px;background:#fbfcff;padding:12px;display:grid;grid-gap:12px;gap:12px}.student-schedule-header h3{margin:0;font-size:.98rem}.student-schedule-meta{margin-top:2px;color:var(--text-soft);font-size:.84rem}.student-schedule-weekdays{display:flex;flex-wrap:wrap;gap:8px}.student-weekday-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.86rem;font-weight:600;cursor:pointer}.student-weekday-chip input{margin:0}.student-schedule-rows{display:grid;grid-gap:8px;gap:8px}.student-schedule-row{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;display:grid;grid-template-columns:160px 1fr;grid-gap:10px;gap:10px;align-items:center}.student-schedule-day{font-weight:600;color:#32465e;font-size:.9rem}.student-schedule-slots{display:flex;flex-wrap:wrap;gap:6px}.student-slot-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:.84rem;background:#fff}.student-slot-chip.active{border-color:#b8cdf8;background:#f4f8ff}.student-slot-chip input{margin:0}.student-profile-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.student-profile-balance,.student-profile-stat{min-height:116px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;align-content:start;grid-gap:8px;gap:8px}.student-profile-balance.success{border-color:#cdebdc;background:linear-gradient(180deg,#ffffff,#f4fbf7)}.student-profile-balance.danger{border-color:#f2ccc8;background:linear-gradient(180deg,#ffffff,#fff6f4)}.student-profile-stat.secondary{background:#fafbfd;color:#3f4f65}.student-profile-label{color:var(--text-soft);font-size:.78rem;font-weight:700;text-transform:uppercase}.student-profile-value{font-size:1.75rem;line-height:1;font-weight:800}.student-profile-value.small{font-size:1rem;line-height:1.3;font-weight:700}.student-profile-note{color:var(--text-soft);font-size:.84rem;line-height:1.35}.student-profile-slots{display:flex;flex-wrap:wrap;gap:6px}.student-profile-slot-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid #d8e1ef;background:#f7f9fd;color:#2d3e55;font-size:.82rem;font-weight:700}.student-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.student-profile-grid.single{grid-template-columns:minmax(0,1fr)}.student-profile-grid.wide-left{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)}.compact-list,.student-info-list{display:grid;grid-gap:10px;gap:10px}.compact-row,.student-info-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.compact-row:first-child,.student-info-list>div:first-child{padding-top:0}.compact-row:last-child,.student-info-list>div:last-child{padding-bottom:0;border-bottom:0}.compact-row span,.student-info-list span{color:var(--text-soft);font-size:.88rem;line-height:1.35}.compact-row strong,.student-info-list strong{color:var(--text);font-size:.92rem;line-height:1.35;text-align:right}.compact-row small{display:block;margin-top:3px;color:var(--text-faint);font-size:.78rem}.empty-panel-text{color:var(--text-soft);font-size:.9rem}.student-profile-edit-toggle{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.student-profile-edit-toggle summary{list-style:none;width:-moz-fit-content;width:fit-content;cursor:pointer}.student-profile-edit-toggle summary::-webkit-details-marker{display:none}.student-profile-edit-toggle .inline-form{margin-top:14px}.student-profile-table-wrapper{border-radius:10px}.student-profile-table{table-layout:auto}.student-profile-table td,.student-profile-table th{padding:10px 12px}.student-profile-table td:first-child,.student-profile-table th:first-child{width:36%}.student-profile-table td:nth-child(2),.student-profile-table th:nth-child(2){width:20%}.student-profile-table td:nth-child(3),.student-profile-table th:nth-child(3){width:44%}.finance-timeline{display:grid;grid-gap:8px;gap:8px}.finance-disclosure{padding:0}.finance-disclosure summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:64px;padding:18px 20px;cursor:pointer;list-style:none}.finance-disclosure summary::-webkit-details-marker{display:none}.finance-disclosure summary strong{display:block;color:var(--ink);font-size:18px;line-height:1.2}.finance-disclosure summary small{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35}.finance-disclosure summary:before{content:"›";justify-self:center;align-self:center;color:var(--muted);font-size:24px;line-height:1;transform:rotate(0deg);transition:transform .16s ease;grid-column:1;grid-row:1}.finance-disclosure summary>span:first-child{grid-column:2}.finance-disclosure summary>span:last-child{grid-column:3}.finance-disclosure[open] summary{border-bottom:1px solid var(--line)}.finance-disclosure[open] summary:before{transform:rotate(90deg)}.finance-disclosure .empty-panel-text,.finance-disclosure .finance-timeline{padding:14px 20px 18px}.finance-timeline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:start;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.finance-timeline-row strong{text-align:right;white-space:nowrap}.finance-timeline-row.success{border-color:#cdebdc;background:#f7fcf9}.finance-timeline-row.danger{border-color:#f2ccc8;background:#fff7f5}.finance-timeline-row.accent{border-color:#c7d8fa;background:#f7faff}@media (max-width:900px){.student-profile-grid,.student-profile-grid.wide-left,.student-profile-summary,.student-schedule-row{grid-template-columns:1fr}}.finance-shell{display:grid;grid-gap:16px;gap:16px;width:100%;max-width:1380px;margin:0 auto}.finance-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.finance-overview-item{min-height:84px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;align-content:center;grid-gap:6px;gap:6px}.finance-overview-item span{color:var(--text-soft);font-size:.78rem;font-weight:700}.finance-overview-item strong{font-size:1.25rem;line-height:1}.finance-overview-item.danger{background:var(--danger-soft);border-color:#f2ccc8}.finance-overview-item.warning{background:var(--warning-soft);border-color:#f2dfc1}.finance-actions-grid,.finance-tariff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.finance-tariff-card{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;grid-gap:6px;gap:6px}.finance-tariff-card span{color:var(--text-soft);font-size:.8rem;font-weight:700}.finance-tariff-card strong{color:var(--text);font-size:1.05rem}.finance-tariffs-manager{display:grid;grid-gap:14px;gap:14px}.finance-tariff-section{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.finance-tariff-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.finance-tariff-section-header h3{margin:0 0 4px;font-size:1rem}.finance-tariff-section-header p{margin:0;color:var(--text-soft);font-size:.88rem;line-height:1.35}.finance-tariff-edit-card,.finance-tariff-list{display:grid;grid-gap:8px;gap:8px}.finance-tariff-edit-card{padding:10px;border:1px solid #dce3ee;border-radius:8px;background:#fff}.finance-tariff-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-tariff-card-top strong{font-size:.95rem}.finance-tariff-create-form,.finance-tariff-edit-grid{display:grid;grid-gap:8px;gap:8px;align-items:end}.finance-tariff-create-form.lesson,.finance-tariff-edit-grid.lesson{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(110px,.8fr) minmax(120px,.9fr) auto}.finance-tariff-create-form.subscription,.finance-tariff-edit-grid.subscription{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) minmax(90px,.7fr) minmax(110px,.85fr) minmax(120px,.9fr) auto}.finance-tariff-create{border:1px dashed #cbd6e5;border-radius:8px;background:#fff}.finance-tariff-create summary{cursor:pointer;padding:10px 12px;color:var(--accent);font-weight:700;font-size:.95rem}.finance-tariff-create-form{padding:0 12px 12px}.finance-tariff-submit-cell{align-self:end}.finance-tariff-submit-cell .ghost-button{min-height:36px;min-width:110px}.finance-tariff-section .field label{font-size:.82rem;font-weight:700;margin-bottom:4px}.finance-tariff-section .field input,.finance-tariff-section .field select{min-height:38px;padding:8px 10px}.finance-tariff-section-header h3{font-size:.95rem}.finance-tariff-section-header p{font-size:.82rem}.finance-section-title{margin:6px 0 -4px;font-size:1.02rem}.finance-notice{padding:10px 12px;border-radius:10px;border:1px solid var(--line);font-weight:600}.finance-notice.success{background:var(--success-soft);border-color:#cdebdc;color:var(--success)}.finance-notice.error{background:var(--danger-soft);border-color:#f2ccc8;color:var(--danger)}.payment-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.simple-payment-form{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-comment{grid-column:span 4}.payment-allocations{grid-column:span 4;display:grid;grid-gap:8px;gap:8px}.payment-allocation-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.payment-submit{grid-column:span 4;width:-moz-fit-content;width:fit-content}.simple-payment-form .payment-submit{grid-column:span 2}.payment-intake-shell{max-width:1120px}.payment-intake-form{display:grid;grid-gap:12px;gap:12px}.payment-step{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.payment-step-index{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--text);color:#fff;font-weight:700}.payment-step-body{display:grid;grid-gap:12px;gap:12px;min-width:0}.payment-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-step-head h3{margin:0;font-size:1rem}.payment-student-strip{display:flex;flex-wrap:wrap;gap:8px}.payment-student-strip span,.payment-total{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--text-soft);font-size:.84rem;font-weight:700}.payment-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.payment-discount-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-kind-card{min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.payment-kind-card.selected{border-color:#b9cbff;background:var(--accent-soft)}.payment-kind-card:has(input:disabled){cursor:not-allowed;opacity:.58}.payment-kind-card input{width:18px;height:18px}.payment-kind-card span{display:grid;grid-gap:3px;gap:3px;min-width:0}.payment-kind-card small{color:var(--text-soft);font-weight:600;line-height:1.25}.payment-discount-grid,.payment-final-grid,.payment-tariff-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1.3fr) minmax(120px,.55fr);grid-gap:10px;gap:10px;align-items:end}.payment-debt-preview{display:grid;grid-gap:10px;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.payment-debt-preview.active{border-color:#f1d198;background:#fff8ed}.payment-debt-preview>div{display:grid;grid-gap:3px;gap:3px}.payment-debt-preview strong{font-size:.94rem}.payment-debt-preview small{color:var(--text-soft);font-size:.84rem;font-weight:600}.payment-debt-preview ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.payment-debt-preview li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--text-soft);font-size:.86rem;font-weight:700}.payment-debt-preview li span{min-width:0}.payment-debt-preview-warning{color:var(--danger)!important}.payment-discount-alert{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text-soft);font-size:.88rem;font-weight:600}.payment-discount-alert.error{background:var(--danger-soft);border-color:#f2ccc8;color:var(--danger)}.payment-comment-field{grid-column:span 1}.payment-intake-date-note{align-self:stretch}.payment-intake-date-note span{min-height:42px;display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text-soft);font-size:.84rem;font-weight:600;line-height:1.3}.payment-intake-submit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.payment-intake-summary{display:grid;grid-gap:2px;gap:2px}.payment-intake-summary span{color:var(--text-soft);font-size:.78rem;font-weight:700}.payment-intake-summary strong{font-size:1.35rem}.payment-intake-summary small{color:var(--text-soft);font-size:.82rem;font-weight:600}.payment-intake-submit{min-width:160px}.payment-history-list{display:grid;grid-gap:10px;gap:10px;width:100%;max-width:1120px}.payment-history-card{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.payment-history-head{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px}.payment-history-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(130px,1fr));grid-gap:10px;gap:10px;align-items:end;margin-bottom:14px}.payment-history-filter-search{grid-column:span 2}.payment-history-filter-actions{display:flex;align-items:center;gap:8px}.payment-history-filter-actions .ghost-button,.payment-history-filter-actions .primary-button{width:100%;justify-content:center}.payment-history-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:10px;gap:10px;margin-bottom:4px}.payment-history-metrics span{display:grid;grid-gap:2px;gap:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);padding:10px 12px;color:var(--text-soft);font-size:.78rem;font-weight:700}.payment-history-metrics strong{color:var(--text);font-size:1.05rem;line-height:1.15}.payment-history-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.payment-history-table{width:100%;min-width:980px;border-collapse:collapse;font-size:.87rem}.payment-history-table td,.payment-history-table th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.payment-history-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-soft);color:var(--text-soft);font-size:.75rem;font-weight:800;text-transform:uppercase}.payment-history-table th a{color:inherit;text-decoration:none}.payment-history-table th a:hover{color:var(--text)}.payment-history-table tbody tr:last-child td{border-bottom:0}.payment-history-table tbody tr:hover td{background:rgba(34,90,89,.035)}.payment-history-table td span,.payment-history-table td strong{display:block}.payment-history-table td strong{color:var(--text);line-height:1.25}.payment-history-table td span{margin-top:3px;color:var(--text-soft);font-size:.78rem;line-height:1.35}.payment-history-date,.payment-history-money{white-space:nowrap}.payment-history-comment{max-width:220px;color:var(--text-soft);line-height:1.35}.payment-history-row-actions{display:flex;align-items:flex-start;gap:8px;min-width:210px}.payment-history-edit{display:grid;grid-gap:8px;gap:8px}.payment-history-edit summary{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fff;font-size:.85rem;font-weight:700;cursor:pointer;list-style:none}.payment-history-edit summary::-webkit-details-marker{display:none}.payment-history-edit[open] summary{border-color:rgba(34,90,89,.32);background:rgba(34,90,89,.08)}.payment-history-edit-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));grid-gap:10px;gap:10px;width:min(520px,calc(100vw - 36px));padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(24,39,38,.12)}.payment-history-edit-wide{grid-column:1/-1}.payment-history-edit-form .primary-button{grid-column:1/-1;justify-content:center}.payment-history-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.payment-history-pagination span{color:var(--text-soft);font-size:.84rem;font-weight:700}.ghost-button.is-disabled{pointer-events:none;opacity:.45}.payment-history-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.payment-history-form{display:grid;grid-gap:12px;gap:12px}.payment-history-meta{display:inline-flex;align-items:center;gap:10px;min-width:0}.payment-history-kpis{display:grid;justify-items:end;grid-gap:2px;gap:2px}.payment-history-kpis strong{font-size:1.02rem;line-height:1.15}.payment-history-kpis span{color:var(--muted);font-size:.82rem;font-weight:600}.payment-history-kpis small{color:var(--success);font-size:.78rem;font-weight:700}.payment-history-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.payment-history-summary{display:grid;grid-gap:0;gap:0;min-width:0}.payment-history-summary strong{font-size:.95rem;line-height:1.2}.payment-history-summary span{color:var(--muted);font-weight:500;font-size:.8rem}.payment-history-grid{display:grid;grid-template-columns:150px minmax(220px,340px) 140px 150px;grid-gap:10px;gap:10px;align-items:end}.payment-history-grid .field{min-width:0}.payment-history-grid .field>input,.payment-history-grid .field>select{width:100%;min-width:0}.payment-history-student{max-width:340px}.payment-history-tariff{grid-column:1/-1}.payment-history-tariff-field{max-width:640px}.payment-history-delete-form{flex-shrink:0}.payment-history-allocation{color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:7px 10px;line-height:1.3;font-size:.88rem}.payment-history-allocation small{display:block;margin-top:4px;color:var(--text-soft);font-weight:600}.payment-history-edit-note{color:var(--text-soft);font-size:.84rem;font-weight:700;text-align:right}.payment-history-disabled-edit{display:grid;grid-gap:4px;gap:4px}.payment-history-disabled-edit .ghost-button{justify-content:center;opacity:.55}.danger-button{color:var(--danger);border-color:rgba(197,76,57,.28)}.finance-advanced{grid-column:span 4;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:10px 12px;display:grid;grid-gap:10px;gap:10px}.finance-advanced summary{cursor:pointer;font-weight:600}.finance-debt-payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:10px;gap:10px}.quick-payment-card{min-height:110px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.quick-payment-card-side{display:grid;justify-items:end;grid-gap:10px;gap:10px}.subscription-preview-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end;margin-bottom:14px}.preview-button{min-height:40px;width:-moz-fit-content;width:fit-content}.subscription-preview-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;padding:12px;display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.subscription-preview-kpis{display:flex;flex-wrap:wrap;gap:8px}.preview-table td:first-child,.preview-table th:first-child{width:48%}.preview-table td:nth-child(2),.preview-table th:nth-child(2){width:30%}.preview-table td:nth-child(3),.preview-table th:nth-child(3){width:22%}.dense-card{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.dense-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.charge-table{table-layout:auto}.charge-table td:first-child,.charge-table th:first-child{width:16%}.charge-table td:nth-child(2),.charge-table th:nth-child(2){width:24%}.charge-table td:nth-child(3),.charge-table th:nth-child(3){width:12%}.charge-table td:nth-child(4),.charge-table th:nth-child(4){width:18%}.charge-table td:nth-child(5),.charge-table th:nth-child(5){width:10%}.charge-table td:nth-child(6),.charge-table th:nth-child(6){width:20%}.charge-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.charge-actions .ghost-button,.charge-actions .primary-button{min-height:34px;padding:0 10px}.charge-history-table{table-layout:auto}.charge-history-table td:first-child,.charge-history-table th:first-child{width:16%}.charge-history-table td:nth-child(2),.charge-history-table th:nth-child(2){width:18%}.charge-history-table td:nth-child(3),.charge-history-table th:nth-child(3){width:11%}.charge-history-table td:nth-child(4),.charge-history-table th:nth-child(4){width:9%}.charge-history-table td:nth-child(5),.charge-history-table td:nth-child(6),.charge-history-table th:nth-child(5),.charge-history-table th:nth-child(6){width:14%}.charge-history-table td:nth-child(7),.charge-history-table th:nth-child(7){width:18%}.login-shell,.public-shell{min-height:100vh;padding:24px;display:grid;place-items:center}.public-landing{width:min(760px,100%);display:grid;grid-gap:48px;gap:48px}.public-hero{display:grid;grid-gap:18px;gap:18px}.public-hero h1{max-width:720px;margin:0;color:var(--text);font-size:clamp(3rem,8vw,6.4rem);line-height:.92;letter-spacing:-.075em}.public-hero p{max-width:560px;margin:0;color:var(--text-soft);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.45}.eyebrow{margin:0;color:var(--text-faint);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.public-actions{display:flex;gap:10px}.login-card{width:min(960px,100%);display:grid;grid-template-columns:1fr 420px;overflow:hidden}.login-card.compact{width:min(420px,100%);grid-template-columns:1fr;gap:28px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.login-hero{padding:36px;background:#eef3fb;border-right:1px solid var(--line);display:grid;align-content:space-between;grid-gap:24px;gap:24px}.login-title{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.04em}.login-panel{padding:24px}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.92rem;font-weight:600}.field input,.field select{width:100%;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:#fff}.field select{color:var(--text)}.field-stack{display:grid;grid-gap:14px;gap:14px}.profile-form{align-items:end}.profile-page{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr)}.profile-identity{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.profile-avatar{width:56px;height:56px;flex:0 0 56px;display:grid;place-items:center;border-radius:14px;background:#111827;color:#fff;font-size:1.05rem;font-weight:800}.profile-identity-body{min-width:0;display:grid;grid-gap:8px;gap:8px}.profile-name{font-size:1.18rem;font-weight:800;line-height:1.2}.profile-meta-row,.profile-permissions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.profile-permissions{margin-top:2px}.error-text{color:var(--danger);font-size:.9rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);grid-gap:12px;gap:12px}.dashboard-grid.single{grid-template-columns:1fr}.dashboard-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.dashboard-action-card{min-height:126px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);display:grid;align-content:start;grid-gap:8px;gap:8px;color:var(--text)}.dashboard-action-card:hover{border-color:#b9c7db;transform:translateY(-1px)}.dashboard-action-card span{color:var(--text-soft);font-size:.78rem;font-weight:700}.dashboard-action-card strong{font-size:1.08rem}.dashboard-action-card small{color:var(--text-faint);line-height:1.35}.dashboard-today-list{display:grid;grid-gap:10px;gap:10px}.dashboard-today-row{display:grid;grid-template-columns:112px minmax(0,1fr) minmax(220px,auto) 120px;align-items:center;grid-gap:14px;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.dashboard-today-row.attention{border-color:#efcbc6;background:linear-gradient(90deg,#fff8f6,#fff)}.dashboard-lesson-time{display:grid;grid-gap:2px;gap:2px}.dashboard-lesson-time strong{font-size:1.15rem;line-height:1}.dashboard-lesson-time span{color:var(--text-soft);font-size:.86rem;font-weight:700}.dashboard-lesson-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.dashboard-lesson-main .section-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-lesson-status{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dashboard-today-row>.ghost-button,.dashboard-today-row>.primary-button{justify-self:end;min-width:104px}.kanban-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;padding-bottom:4px}.kanban-column{padding:14px 14px 12px;min-height:220px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.lead-card-compact{gap:10px;padding:12px}.lead-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.lead-card-compact .cell-main,.lead-phone{line-height:1.2}.lead-phone{font-size:1rem;font-weight:600}.lead-card-meta{display:flex;flex-wrap:wrap;gap:6px}.lead-card-meta .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-create-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end}.lead-create-collapsible{display:grid;grid-gap:12px;gap:12px}.lead-create-collapsible>summary{list-style:none;width:-moz-fit-content;width:fit-content}.lead-create-collapsible>summary::-webkit-details-marker{display:none}.field-full,.lead-create-comment{grid-column:1/-1}.lead-create-actions{justify-self:start}.lead-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.lead-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.weekday-grid{display:flex;flex-wrap:wrap;gap:8px}.weekday-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);padding:6px 10px;font-weight:600}.weekday-pill input{margin:0}.lead-submit-row{display:flex;justify-content:flex-start}.lead-status-flow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.lead-transition-list{display:grid;grid-gap:10px;gap:10px}.lead-inline-action{display:inline-flex}.lead-transition-form{display:grid;grid-gap:8px;gap:8px;max-width:360px}.lead-trial-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.lead-trial-form,.lead-trials-list{display:grid;grid-gap:10px;gap:10px}.lead-trial-actions{display:flex;gap:8px;flex-wrap:wrap}.success-button{color:var(--success);border-color:rgba(11,107,75,.28)}.lead-convert-form{display:grid;grid-gap:10px;gap:10px;align-content:start}.lead-statistics-shell{display:grid;grid-gap:16px;gap:16px;width:100%;max-width:1380px;margin:0 auto}.lead-stat-overview-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.lead-stat-card{min-height:94px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:grid;align-content:center;grid-gap:6px;gap:6px}.lead-stat-card.accent{background:var(--accent-soft);border-color:#cbdcff}.lead-stat-card.success{background:var(--success-soft);border-color:#c7ead9}.lead-stat-card.warning{background:var(--warning-soft);border-color:#f2dfc1}.lead-stat-card.danger{background:var(--danger-soft);border-color:#f2ccc8}.lead-stat-card small,.lead-stat-card span{color:var(--text-soft);font-size:.78rem;font-weight:700}.lead-stat-card strong{font-size:1.35rem;line-height:1}.lead-stat-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:14px;gap:14px;align-items:start}.lead-stat-list{display:grid;grid-gap:10px;gap:10px}.lead-stat-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(64px,auto) minmax(92px,.75fr);grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.lead-stat-row.compact{grid-template-columns:minmax(0,1fr) minmax(64px,auto) minmax(92px,.75fr)}.lead-stat-row-main{min-width:0;display:grid;grid-gap:3px;gap:3px}.lead-stat-row-main strong{line-height:1.25;overflow-wrap:anywhere}.lead-stat-progress{height:8px;overflow:hidden;border-radius:999px;background:#e7edf5}.lead-stat-progress span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.lead-stat-progress.danger span{background:var(--danger)}.lead-stat-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.lead-stat-mini-grid>div{min-height:82px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);display:grid;align-content:center;grid-gap:5px;gap:5px}.lead-stat-mini-grid span{color:var(--text-soft);font-size:.78rem;font-weight:700}.lead-stat-mini-grid strong{font-size:1.2rem;line-height:1}.lead-source-table{display:grid;grid-gap:8px;gap:8px}.lead-source-row{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(130px,.7fr));grid-gap:12px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.lead-source-row strong{overflow-wrap:anywhere}.lead-source-head{color:var(--text-soft);font-size:.78rem;font-weight:700;background:transparent;border-color:transparent;padding-top:0;padding-bottom:0}.schedule-board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));grid-gap:12px;gap:12px;overflow-x:auto}.schedule-column{padding:14px}.schedule-day{margin-bottom:12px}.schedule-day-title{font-weight:700}.schedule-day-subtitle{margin-top:2px;color:var(--text-soft);font-size:.88rem}.schedule-event{display:block;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.schedule-link{transition:border-color .12s ease,background .12s ease,transform .12s ease}.schedule-link:hover{border-color:var(--line-strong);transform:translateY(-1px)}.schedule-event+.schedule-event{margin-top:8px}.schedule-empty{padding:12px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-soft)}.attendance-summary{display:grid;grid-gap:10px;gap:10px}.lesson-attendance-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);grid-gap:16px;gap:16px;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.lesson-attendance-title{display:grid;grid-gap:6px;gap:6px;align-content:center}.lesson-attendance-title h2{margin:0;font-size:1.7rem;line-height:1.05}.lesson-attendance-meta{color:var(--text-soft);font-size:.92rem}.lesson-attendance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.lesson-attendance-metrics>div{min-height:74px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);display:grid;align-content:center;grid-gap:5px;gap:5px}.lesson-attendance-metrics span{color:var(--text-soft);font-size:.78rem;font-weight:700}.lesson-attendance-metrics strong{font-size:1.2rem;line-height:1}.lesson-attendance-metrics .danger{background:var(--danger-soft);border-color:#f2ccc8}.attendance-table{table-layout:auto}.attendance-table td:first-child,.attendance-table th:first-child{width:25%}.attendance-table td:nth-child(2),.attendance-table th:nth-child(2){width:18%}.attendance-table td:nth-child(3),.attendance-table th:nth-child(3){width:16%}.attendance-table td:nth-child(4),.attendance-table th:nth-child(4){width:28%}.attendance-table td:nth-child(5),.attendance-table th:nth-child(5){width:13%}.attendance-row-missing{background:#fff7f5}.attendance-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start}.attendance-status-stack{display:grid;grid-gap:8px;gap:8px}.attendance-status-stack select{min-width:0}.attendance-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(96px,1fr));grid-gap:8px;gap:8px}.attendance-quick-button{width:100%;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;font-size:.82rem;font-weight:700;line-height:1.15;white-space:nowrap}.attendance-quick-button.active,.attendance-quick-button:hover{border-color:#b8cdf8;background:var(--accent-soft);color:var(--accent)}.attendance-mobile-list{display:none}.attendance-mobile-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.attendance-mobile-card.missing{border-color:#f2ccc8;background:#fffaf8}.attendance-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.attendance-mobile-student{min-width:0;display:grid;grid-gap:3px;gap:3px}.attendance-mobile-name{font-size:1rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.attendance-mobile-sub{color:var(--text-soft);font-size:.86rem;line-height:1.25}.attendance-mobile-details{display:grid;grid-gap:8px;gap:8px}.attendance-mobile-detail{display:grid;grid-gap:3px;gap:3px;padding-top:8px;border-top:1px solid var(--line)}.attendance-mobile-detail span{color:var(--text-faint);font-size:.76rem;font-weight:800}.attendance-mobile-detail strong{font-size:.92rem;line-height:1.3;overflow-wrap:anywhere}.attendance-mobile-detail em{color:var(--text-soft);font-size:.84rem;font-style:normal;line-height:1.3;overflow-wrap:anywhere}.attendance-mobile-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.attendance-mobile-actions .attendance-quick-button{min-height:46px;font-size:.9rem;white-space:normal}.danger-text{color:var(--danger)}.control-hint{max-width:180px;margin-top:8px;line-height:1.25}.schedule-event.warning{border-color:#f2dfc1;background:#fffaf2}.schedule-event.accent{border-color:#d8e5ff;background:#f7faff}.schedule-event.needs-attendance{border-color:#f2ccc8;background:#fff7f5}.schedule-attendance-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.schedule-attendance-text,.schedule-time{color:var(--text-soft);font-size:.84rem}.schedule-time{margin-bottom:6px}.calendar-add-dialog{position:relative}.calendar-add-dialog>summary{list-style:none;border-radius:8px}.calendar-add-dialog>summary::-webkit-details-marker{display:none}.calendar-dialog-overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(11,17,26,.42)}.calendar-add-dialog[open] .calendar-dialog-overlay{display:flex}.calendar-dialog-card{width:min(1020px,100%);padding:20px;border-radius:12px;box-shadow:0 18px 40px rgba(9,14,24,.2)}.calendar-dialog-header h3{margin:0;font-size:1.08rem;letter-spacing:-.01em}.calendar-dialog-grid{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.calendar-dialog-section{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfe;display:grid;grid-gap:12px;gap:12px}.calendar-students-select{min-height:136px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text)}.calendar-week-grid{display:grid;grid-template-columns:88px repeat(5,minmax(0,1fr));grid-gap:0;gap:0;border:0;border-radius:0;overflow:auto}.calendar-grid-header{position:-webkit-sticky;position:sticky;top:0;z-index:3;padding:9px 10px;border-bottom:1px solid var(--line);background:#f4f7fb}.calendar-grid-time-header{left:0;z-index:5;color:var(--text-soft);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.calendar-grid-day{font-weight:700;line-height:1.1;font-size:.88rem}.calendar-grid-date{margin-top:2px;font-size:.78rem;color:var(--text-soft)}.calendar-grid-row{display:contents}.calendar-time-cell{position:-webkit-sticky;position:sticky;left:0;z-index:2;padding:9px 10px;background:#f7f9fc;font-size:.79rem;color:var(--text-soft);font-weight:600}.calendar-slot-cell,.calendar-time-cell{min-height:112px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.calendar-slot-cell{padding:6px;background:#fcfdff}.calendar-week-grid>:nth-child(6n){border-right:0}.calendar-slot-empty{height:100%}.calendar-slot-event{display:grid;align-content:start;grid-gap:5px;gap:5px;min-height:100px;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.calendar-slot-event:hover{border-color:#bcc9d8;background:#f8fbff;box-shadow:0 2px 10px rgba(14,22,38,.07)}.calendar-slot-event.warning{border-color:#efd8b6;background:#fff9ef}.calendar-slot-event.accent{border-color:#c7d8fa;background:#f6f9ff}.calendar-slot-event.needs-attendance{border-color:#efc5c1;background:#fff6f4}.calendar-slot-title{font-weight:700;font-size:.89rem;letter-spacing:-.01em}.calendar-slot-subtitle{color:var(--text-soft);font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}.calendar-slot-progress{font-size:.78rem;font-weight:600;color:#1d314b;padding-top:2px}.calendar-slot-students{display:grid;grid-gap:3px;gap:3px;max-height:84px;overflow-y:auto;padding-right:2px}.calendar-student-row{display:flex;align-items:center;gap:0;font-size:.76rem;line-height:1.25;min-width:0}.calendar-student-row span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-student-row.marked{color:#1d6546}.calendar-student-row.missing{color:#9a3e34}.section-note{color:var(--text-faint);font-size:.9rem;line-height:1.4}.section-link{display:inline-flex;align-items:center;margin-top:8px;color:var(--accent-700);font-size:.9rem;font-weight:600}.section-link:hover{text-decoration:underline}.list-item-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.list-item-actions .ghost-button{min-height:32px;padding:0 10px}.mobile-nav{display:none}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:16px 16px 92px}.dashboard-action-grid,.dashboard-grid,.dashboard-today-row,.login-card,.split-layout{grid-template-columns:1fr}.dashboard-today-row{align-items:start}.dashboard-lesson-status{justify-content:flex-start}.dashboard-today-row>.ghost-button,.dashboard-today-row>.primary-button{justify-self:stretch}.settings-grid{grid-template-columns:1fr}.settings-grid>.panel:first-child{grid-row:auto}.settings-user-form,.users-table-head,.users-table-row{grid-template-columns:1fr}.settings-sections-grid,.settings-sections-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-user-inline-actions{flex-direction:column;align-items:stretch}.settings-user-inline-actions input{width:100%}.finance-tariff-create-form.lesson,.finance-tariff-create-form.subscription,.finance-tariff-edit-grid.lesson,.finance-tariff-edit-grid.subscription{grid-template-columns:1fr}.lead-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-stat-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-stat-grid{grid-template-columns:1fr}.lead-source-row{grid-template-columns:minmax(200px,1.2fr) repeat(3,minmax(120px,.7fr))}.kanban-board,.lead-form-grid,.lead-trial-form{grid-template-columns:repeat(2,minmax(0,1fr))}.groups-grid,.lead-page-grid{grid-template-columns:1fr}.crm-toolbar{align-items:flex-start;flex-direction:column}.students-page .topbar{align-items:stretch;flex-direction:column}.students-page-actions{display:grid;grid-template-columns:1fr;justify-content:stretch;width:100%}.students-page-actions .primary-button{width:100%;min-height:44px;white-space:normal}.students-page .panel{padding:14px}.students-page .crm-toolbar{gap:10px;margin-bottom:12px}.students-page .crm-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.students-page .crm-tab{justify-content:center;min-width:0;min-height:42px;padding:0 8px;text-align:center}.students-desktop-table{display:none}.students-mobile-list{display:grid;grid-gap:10px;gap:10px}.attendance-form,.inline-form,.inline-form-compact,.inline-form-students,.lead-create-form,.lead-form-grid,.lead-source-row,.lead-stat-mini-grid,.lead-stat-overview-grid,.lead-stat-row,.lead-stat-row.compact,.lead-trial-form{grid-template-columns:1fr}.lead-stat-card{min-height:78px}.finance-actions-grid,.finance-overview-grid,.finance-tariff-grid,.kanban-board,.lesson-attendance-head,.lesson-attendance-metrics,.quick-payment-card{grid-template-columns:1fr}.quick-payment-card-side{justify-items:stretch}.attendance-quick-actions{grid-template-columns:1fr}.lesson-attendance-page .topbar{align-items:stretch;flex-direction:column}.lesson-attendance-actions{display:grid;grid-template-columns:1fr;justify-content:stretch;width:100%}.lesson-attendance-actions .ghost-button,.lesson-attendance-actions .primary-button{width:100%;min-height:44px;white-space:normal}.lesson-attendance-head{padding:14px}.lesson-attendance-title h2{font-size:1.45rem}.lesson-attendance-page .lesson-attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-attendance-metrics>div{min-height:68px;padding:10px}.lesson-attendance-page .panel{padding:14px}.attendance-desktop-table{display:none}.attendance-mobile-list{display:grid;grid-gap:10px;gap:10px}.payment-form,.payment-step{grid-template-columns:1fr}.payment-step-index{width:30px;height:30px}.payment-intake-submit-row,.payment-step-head{align-items:flex-start;flex-direction:column}.payment-discount-grid,.payment-final-grid,.payment-kind-grid,.payment-tariff-grid{grid-template-columns:1fr}.payment-intake-submit{width:100%}.payment-history-card,.payment-history-filters,.payment-history-grid,.payment-history-metrics{grid-template-columns:1fr}.payment-history-filter-search{grid-column:span 1}.payment-history-filter-actions,.payment-history-pagination{align-items:stretch;flex-direction:column}.payment-history-table{min-width:900px}.payment-history-row-actions{flex-direction:column;min-width:160px}.payment-history-edit-form{width:min(420px,calc(100vw - 52px));grid-template-columns:1fr}.payment-history-actions,.payment-history-summary,.payment-history-top{align-items:flex-start;flex-direction:column}.payment-history-top{display:flex;padding-bottom:8px}.payment-history-meta{width:100%}.payment-history-kpis{justify-items:start}.payment-history-allocation{width:100%}.subscription-preview-form{grid-template-columns:1fr}.finance-advanced,.payment-allocations,.payment-comment,.payment-submit,.simple-payment-form .payment-submit{grid-column:span 1}.calendar-dialog-grid,.payment-allocation-row{grid-template-columns:1fr}.calendar-topbar{width:100%;justify-content:space-between;flex-wrap:wrap}.calendar-week-title{font-size:1.3rem}.calendar-week-grid{grid-template-columns:72px repeat(5,minmax(220px,1fr));max-height:unset}.calendar-management{padding:12px}.calendar-offday-form{grid-template-columns:1fr}.calendar-offday-form button{width:100%}.calendar-offday-popover{left:auto;right:0;width:min(96vw,560px)}.card-grid{grid-template-columns:1fr}.card-grid>*{grid-column:span 1!important}.mobile-nav{position:fixed;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)}.mobile-nav a{display:grid;place-items:center;padding:10px 6px;border-radius:10px;color:var(--text-soft);font-size:.8rem;text-align:center}.mobile-nav a.active{background:#f2f6ff;color:var(--accent)}}