:root{--color-background:#F8F4EF;--color-surface:#FFFDFC;--color-surface-soft:#FBF7F3;--color-primary:#6E2335;--color-primary-hover:#581A2A;--color-secondary:#D9A6A0;--color-primary-soft:#F3E7E8;--color-text:#181515;--color-text-secondary:#6D6763;--color-text-muted:#A49B94;--color-border:#E8DED7;--color-border-strong:#D9CBC2;--color-danger:#9B3B48;--color-success:#596F5B;--color-warning:#9A713E;--font-display:Cambria,"Times New Roman",serif;--font-ui:"Segoe UI Variable Text","Segoe UI","Noto Sans",Roboto,Arial,sans-serif;--radius-control:12px;--radius-card:22px;--shadow-card:0 10px 30px rgba(62,37,38,.045);--shadow-float:0 20px 55px rgba(62,37,38,.12);--space-page:clamp(24px,4vw,64px);--space-section:clamp(20px,2.4vw,32px);--shadow-soft:0 8px 24px rgba(62,37,38,.04);--background:var(--color-background);--surface:var(--color-surface);--ink:var(--color-text);--muted:var(--color-text-secondary);--line:var(--color-border);--accent:var(--color-primary);--accent-soft:var(--color-primary-soft);--shadow:var(--shadow-card)}*{box-sizing:border-box}body,html{background:var(--background)}body{margin:0;color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.45;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.button,button{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:var(--surface);padding:.75rem 1rem;font:inherit;font-weight:650;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.button,.secondary-button,button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.secondary-button{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-soft);color:var(--ink);padding:.72rem 1rem;font-weight:650}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:#fafbf8;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:32px;aspect-ratio:1;border-radius:10px;color:white;background:var(--accent)}.primary-nav{display:grid;grid-gap:5px;gap:5px;margin-top:38px}.primary-nav a{padding:11px 12px;border-radius:10px;color:#4b554c}.primary-nav a:hover{background:var(--accent-soft);color:var(--ink)}.sidebar-note{margin-top:auto;color:var(--muted);font-size:.78rem;line-height:1.5}.workspace{min-width:0}main{width:min(1380px,100%);margin:0 auto;padding:44px clamp(24px,4vw,64px) 72px}.mobile-header,.mobile-menu-backdrop{display:none}.page-stack{display:grid;grid-gap:28px;gap:28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 8px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:750}h1,h2,p{margin-top:0}h1{margin-bottom:9px;font-size:clamp(2.15rem,4vw,3.45rem);font-weight:500;letter-spacing:-.035em}h1,h2{font-family:var(--font-display)}h2{margin-bottom:6px;letter-spacing:-.02em}.lede{max-width:700px;margin-bottom:0;color:var(--muted);line-height:1.6}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.empty-state,.panel,.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.summary-card{min-height:150px;padding:22px;display:flex;flex-direction:column}.summary-card small,.summary-card span{color:var(--muted)}.summary-card strong{margin:auto 0 5px;font-size:1.9rem;letter-spacing:-.04em}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);grid-gap:16px;gap:16px}.panel{padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel-heading a{color:var(--accent);font-weight:650}.skeleton-list{display:grid;grid-gap:10px;gap:10px;margin-top:24px}.skeleton-list span{display:block;height:66px;border-radius:14px;background:linear-gradient(90deg,#f1f3ef,#f7f8f5)}.attention-list{margin:24px 0 0;padding-left:20px;color:#4c554d;line-height:2.3}.empty-state{min-height:330px;padding:clamp(26px,5vw,54px);display:grid;align-content:center;justify-items:flex-start}.empty-state p{max-width:580px;color:var(--muted);line-height:1.6}.empty-badge{margin-bottom:18px;padding:6px 10px;border-radius:999px;color:var(--accent);background:var(--accent-soft);font-size:.75rem;font-weight:700}.profile-tabs{display:flex;gap:6px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.profile-tabs a{flex:0 0 auto;padding:9px 13px;border-radius:9px;color:var(--muted);font-size:.88rem;font-weight:650}.profile-tabs a:hover{color:var(--ink);background:var(--accent-soft)}.heading-actions,.wrap-actions{display:flex;gap:10px;align-items:center}.wrap-actions{flex-wrap:wrap;justify-content:flex-end}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.entity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.entity-card{--entity-color:var(--accent);min-width:0;display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-gap:15px;gap:15px;align-items:center;padding:18px;border:1px solid var(--line);border-left:4px solid var(--entity-color);border-radius:18px;background:var(--surface);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.entity-card:hover{border-color:var(--entity-color)}.entity-visual,.profile-visual{display:grid;place-items:center;overflow:hidden;border-radius:15px;background:color-mix(in srgb,var(--entity-color) 18%,white);color:var(--entity-color);font-weight:800}.entity-visual{width:56px;aspect-ratio:1}.entity-visual img,.profile-visual img{width:100%;height:100%;object-fit:cover}.entity-copy{min-width:0}.entity-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.entity-title h3{margin:0;font-size:1rem}.entity-copy p{margin:5px 0 9px;color:var(--muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pill{display:inline-flex;padding:4px 7px;border-radius:999px;color:#596259;background:#f0f2ee;font-size:.68rem;font-weight:700}.status-active{color:#35604b;background:#e4eee8}.status-paused{color:#7b642c;background:#f4ecd6}.status-completed{color:#666;background:#ececec}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag-list span{padding:4px 7px;border-radius:999px;color:#5b655d;background:#f0f2ee;font-size:.69rem}.card-arrow{color:var(--entity-color);font-size:1.25rem}.profile-hero{--entity-color:var(--accent);display:grid;grid-template-columns:92px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:center;padding:26px;border:1px solid var(--line);border-top:5px solid var(--entity-color);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.profile-visual{width:92px;aspect-ratio:1;font-size:2rem}.profile-hero h1{font-size:clamp(2rem,4vw,3rem)}.profile-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.profile-meta a,.profile-meta span{padding:6px 9px;border-radius:9px;background:#f1f3ef;color:#586159;font-size:.78rem}.profile-overview-grid,.schedule-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.profile-overview-grid .panel{min-height:180px}.panel>a,.profile-overview-grid .panel a{color:var(--accent);font-weight:650}.muted,.section-help{color:var(--muted);line-height:1.55}.compact-list{display:grid;margin-top:18px}.compact-list a{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line)}.compact-list small{color:var(--muted);text-align:right}.compact-list .status-chip{display:inline-flex;margin-left:8px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--sage) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--sage) 12%,transparent);color:var(--olive);font-size:13px;font-style:normal;font-weight:500;vertical-align:middle}.trial-credit-preview{grid-column:1/-1;display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--sage) 8%,transparent);font-size:14px}.trial-credit-preview label{display:flex;align-items:center;gap:9px}.trial-credit-preview input{width:18px;height:18px;accent-color:var(--accent)}.trial-credit-preview span{color:var(--muted)}.editor-form{display:grid;grid-gap:18px;gap:18px}.form-section{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);grid-gap:34px;gap:34px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:17px;gap:17px}.field{display:grid;align-content:start;grid-gap:7px;gap:7px;min-width:0;margin:0;padding:0;border:0}.field-wide{grid-column:1/-1}.field legend,.field span{color:#475047;font-size:.78rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #ccd3ca;border-radius:10px;color:var(--ink);background:white;font:inherit}.field input[type=color]{width:76px;padding:5px}.field textarea{resize:vertical}.field small{color:var(--muted);line-height:1.45}.form-actions{display:flex;justify-content:flex-end;gap:10px}.member-editor{display:grid;grid-gap:10px;gap:10px}.member-row{display:grid;grid-template-columns:minmax(150px,1.2fr) repeat(3,minmax(130px,1fr));grid-gap:12px;gap:12px;align-items:flex-end;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbf8}.member-toggle{display:flex;align-items:center;gap:9px;min-height:44px}.member-toggle input{width:18px;height:18px}.member-billing-note{align-self:center;color:var(--muted);font-size:.75rem;line-height:1.4}.weekday-picker{display:flex;gap:7px;flex-wrap:wrap}.weekday-picker label input{position:absolute;opacity:0;pointer-events:none}.weekday-picker label span{display:grid;place-items:center;width:44px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fafbf8;cursor:pointer}.weekday-picker label input:checked+span{color:white;border-color:var(--accent);background:var(--accent)}.schedule-editor-form{width:min(920px,100%)}.schedule-editor-form .form-section{grid-template-columns:minmax(150px,.55fr) minmax(0,1.8fr);padding:22px}.schedule-slot-editor{display:grid;grid-gap:7px;gap:7px}.schedule-slot-row{display:grid;grid-template-columns:80px minmax(125px,1fr) minmax(100px,.7fr);grid-gap:10px;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fafbf8}.day-toggle{display:flex;gap:8px;align-items:center}.day-toggle input{width:17px;height:17px}.compact-control{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:7px;gap:7px;align-items:center}.compact-control span{color:var(--muted);font-size:.7rem}.compact-control input{min-width:0;height:36px;padding:6px 8px;border:1px solid #ccd3ca;border-radius:8px;background:white;font:inherit}.recurring-summary{display:grid;grid-gap:12px;gap:12px}.recurring-summary p{margin:0;color:var(--muted);font-size:.82rem}.recurring-lines{display:grid;grid-gap:7px;gap:7px}.recurring-lines>div{display:flex;justify-content:space-between;gap:18px;padding-bottom:7px;border-bottom:1px solid var(--line)}.recurring-lines span{color:#4f5951;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compact-schedule-panel{width:min(760px,100%);display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr);grid-gap:28px;gap:28px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.schedule-guidance{display:grid;align-content:start;justify-items:start;grid-gap:12px;gap:12px;padding-left:24px;border-left:1px solid var(--line)}.schedule-guidance p{margin:0;color:var(--muted);line-height:1.55}.profile-overview-compact{grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr)}.lesson-list{display:grid;margin-top:18px}.lesson-row{--entity-color:var(--accent);display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 4px 15px 14px;border-top:1px solid var(--line);border-left:3px solid var(--entity-color)}.lesson-row>div{display:grid;grid-gap:4px;gap:4px}.lesson-row span{color:var(--muted);font-size:.8rem}.lesson-actions{justify-items:flex-end}.lesson-actions a{color:var(--accent);font-size:.84rem;font-weight:700}.lesson-rescheduled{opacity:.65}.profile-identity{min-width:0}.profile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.profile-actions .button,.profile-actions .secondary-button{min-height:36px;padding:7px 11px;border-radius:9px;font-size:.72rem}.lessons-workspace{min-width:0;display:grid;grid-gap:14px;gap:14px}.lessons-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);grid-gap:12px;gap:12px;align-items:end;position:-webkit-sticky;position:sticky;top:0;z-index:8;padding:10px 0 14px;background:linear-gradient(var(--background) 80%,transparent)}.entity-switcher{display:grid;grid-gap:5px;gap:5px}.entity-switcher span{color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.entity-switcher select,.lesson-search input,.lesson-search select{min-width:0;height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface);font:inherit}.lesson-search{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,.6fr) auto;grid-gap:7px;gap:7px}.lesson-search button{padding:8px 12px}.tag-filter{position:relative;min-width:120px}.tag-filter summary{height:42px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:.8rem;list-style:none}.tag-filter summary::-webkit-details-marker{display:none}.tag-filter summary:after{content:"⌄";margin-left:8px}.tag-filter>div{position:absolute;z-index:20;top:47px;right:0;width:220px;max-height:260px;overflow:auto;display:grid;grid-gap:3px;gap:3px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.tag-filter label{display:flex;gap:8px;align-items:center;padding:7px;border-radius:8px;font-size:.76rem}.tag-filter label:hover{background:#f1f3ef}.selected-entity-strip{--entity-color:var(--accent);display:flex;gap:9px;align-items:center;min-height:42px;padding:9px 13px;border:1px solid var(--line);border-left:4px solid var(--entity-color);border-radius:12px;background:var(--surface)}.selected-entity-strip small,.selected-entity-strip span{color:var(--muted);font-size:.76rem}.selected-entity-strip small{margin-left:auto}.month-board{display:flex;gap:12px;min-width:0;padding:2px 2px 18px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.kanban-board-toolbar{display:flex;justify-content:flex-end}.add-planning-month{padding:8px 12px;font-size:.76rem}.add-planning-month-form{display:flex;gap:7px;align-items:center}.add-planning-month-form input{height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font:inherit}.add-planning-month-form button{padding:7px 10px;font-size:.74rem}.month-column{flex:0 0 clamp(270px,24vw,330px);min-height:590px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#eef1ec;scroll-snap-align:start}.month-column>header{display:flex;gap:7px;justify-content:space-between;align-items:center;padding:3px 3px 12px}.month-column>header h2{margin:0;font-size:1.02rem;text-transform:capitalize}.month-column>header span{color:var(--muted);font-size:.78rem}.mobile-month-arrow{display:none}.remove-planning-month{width:26px;height:26px;padding:0;color:var(--muted);background:transparent;font-size:1rem}.remove-planning-month:disabled{opacity:.35;cursor:not-allowed}.month-cards{display:grid;grid-gap:9px;gap:9px}.add-month-lesson{width:100%;margin-bottom:9px;padding:8px;border:1px dashed #bcc6bc;color:var(--accent);background:rgba(255,255,255,.55);font-size:.75rem}.manual-lesson-form{display:grid;grid-gap:7px;gap:7px;margin-bottom:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.manual-lesson-form>div input,.manual-lesson-form>input{min-width:0;width:100%;height:35px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.76rem}.manual-lesson-form>div{display:grid;grid-template-columns:1fr 90px;grid-gap:6px;gap:6px}.manual-lesson-form footer{display:flex;justify-content:flex-end;gap:6px}.manual-lesson-form footer button{padding:6px 8px;font-size:.7rem}.lesson-card{--lesson-color:var(--accent);position:relative;grid-template-columns:28px minmax(0,1fr);padding:13px;border:1px solid #d9ded6;border-left:4px solid var(--lesson-color);border-radius:13px;background:var(--surface);box-shadow:0 5px 14px rgba(40,50,42,.04)}.lesson-card,.lesson-card>a{display:grid;grid-gap:8px;gap:8px}.lesson-card>a{grid-column:2;min-width:0;height:100%;color:inherit}.lesson-drag-handle{grid-column:1;align-self:stretch;width:28px;min-height:38px;padding:0;border:0;border-radius:7px;color:var(--muted);font-size:18px;line-height:1;cursor:-webkit-grab;cursor:grab;touch-action:none}.lesson-drag-handle:hover{background:color-mix(in srgb,var(--lesson-color) 12%,var(--surface));color:var(--lesson-color)}.lesson-card.is-dragging .lesson-drag-handle,.lesson-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.lesson-card.is-dragging{opacity:.4}.month-column.is-drop-target{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-2px}.month-board.is-saving{opacity:.75;pointer-events:none}.lesson-card-overlay{display:block;width:300px;pointer-events:none;cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 18px 42px rgba(28,38,30,.22);transform:rotate(1.5deg)}.lesson-card:hover{border-color:var(--lesson-color);box-shadow:0 8px 22px color-mix(in srgb,var(--lesson-color) 14%,transparent)}.lesson-card-cancelled,.lesson-card-rescheduled{opacity:.64}.lesson-card footer,.lesson-card-time{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.7rem}.lesson-card h3{margin:0;font-size:.92rem;line-height:1.3}.lesson-card-tags{display:flex;flex-wrap:wrap;gap:4px}.lesson-card-tags span{padding:3px 6px;border-radius:999px;background:#f0f2ee;color:#586159;font-size:.63rem}.lesson-card footer{margin-top:auto;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--lesson-color) 16%,var(--line))}.kanban-move-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(28,34,29,.35)}.kanban-move-dialog{width:min(390px,100%);padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 20px 60px rgba(20,30,22,.22)}.kanban-move-dialog h2{margin:0 0 8px}.kanban-move-dialog p{margin:0 0 16px;color:var(--muted);font-size:.86rem}.kanban-move-dialog label{display:grid;grid-gap:6px;gap:6px}.kanban-move-dialog input{height:40px;padding:8px;border:1px solid var(--line);border-radius:9px;font:inherit}.kanban-move-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.manual-lesson-form>small{color:var(--muted);font-size:.66rem;line-height:1.35}.homework-warning,.panel-warning{color:#8a5f28;background:#fff1d9;border-radius:8px;font-size:.7rem;font-weight:700}.homework-warning{padding:5px 7px}.panel-warning{padding:9px 11px}.empty-month{padding:24px 10px;text-align:center;color:var(--muted);font-size:.8rem}.entity-calendar-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.attendance-workspace{gap:20px}.attendance-heading{align-items:center}.attendance-controls{display:grid;grid-template-columns:auto minmax(360px,1fr) minmax(220px,320px);grid-gap:12px;gap:12px;align-items:center}.attendance-month-control{display:flex;align-items:center;gap:7px}.attendance-month-control>a{display:grid;place-items:center;width:42px;font-size:1.35rem}.attendance-month-control label,.attendance-month-control>a{height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.attendance-month-control label{min-width:180px;display:flex;align-items:center;padding:0 12px}.attendance-month-control input,.attendance-month-control label span{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.attendance-month-control strong{text-transform:capitalize;font-size:.88rem}.attendance-filters{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.attendance-filters a{min-height:42px;display:grid;place-items:center;padding:8px;border-right:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:650}.attendance-filters a:last-child{border-right:0}.attendance-filters a.active{color:var(--accent);background:var(--accent-soft)}.attendance-search{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px}.attendance-search input{min-width:0;height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font:inherit}.attendance-search button{padding:8px 11px}.attendance-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.attendance-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.attendance-table td,.attendance-table th{height:76px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.attendance-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;height:62px;background:#fafbf8;color:#4d574e;font-size:.72rem;white-space:nowrap}.attendance-table th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:2;min-width:190px;text-align:left;background:var(--surface)}.attendance-table thead th:first-child{z-index:4;background:#fafbf8}.attendance-table td:last-child,.attendance-table th:last-child{position:-webkit-sticky;position:sticky;right:0;z-index:2;min-width:80px;border-right:0;background:#fafbf8}.attendance-table tbody tr:last-child>*{border-bottom:0}.attendance-table tbody th span,.attendance-table tbody th strong{display:block}.attendance-table tbody th strong{font-size:.84rem}.attendance-table tbody th span{margin-top:4px;color:var(--muted);font-size:.68rem;font-weight:500}.attendance-ratio,.attendance-value{min-width:40px;height:40px;padding:0;border-radius:9px;background:transparent;font-size:1.12rem}.attendance-ratio{font-size:.9rem}.attendance-ratio:hover,.attendance-value:hover{background:#f0f3ee}.attendance-ratio.complete,.status-present{color:#258653}.status-absent{color:#cf4545}.status-cancelled{color:#d27b19}.status-rescheduled{color:#8a62cf}.status-planned{color:#a98acb}.attendance-ratio.partial{color:#d66b20}.attendance-empty{color:#c6ccc5}.attendance-total{font-weight:750;font-size:1rem}.attendance-mobile-list{display:none}.attendance-dialog-backdrop{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:18px;background:rgba(26,34,28,.35)}.attendance-dialog{width:min(410px,100%);max-height:min(620px,90dvh);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 20px 55px rgba(27,36,29,.22)}.attendance-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.attendance-dialog>header div{display:grid;grid-gap:3px;gap:3px}.attendance-dialog>header span{color:var(--muted);font-size:.72rem}.attendance-dialog>header button{width:34px;height:34px;padding:0;background:#f0f3ee;color:var(--ink);font-size:1.2rem}.attendance-dialog>div{display:grid}.attendance-dialog>div.is-saving{opacity:.65}.attendance-dialog label{display:grid;grid-template-columns:minmax(0,1fr) 155px;grid-gap:10px;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line);font-size:.82rem}.attendance-dialog label:last-child{border-bottom:0}.attendance-dialog select{min-width:0;height:38px;padding:7px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit;font-size:.75rem}.attendance-empty-state p{margin:0;color:var(--muted)}.calendar-lesson{--lesson-color:var(--accent);display:grid;grid-template-columns:105px 1fr;grid-gap:13px;gap:13px;padding:14px;border:1px solid var(--line);border-left:4px solid var(--lesson-color);border-radius:13px;background:var(--surface)}.calendar-lesson div,.calendar-lesson time{display:grid;grid-gap:4px;gap:4px}.calendar-lesson time{color:var(--muted);font-size:.72rem}.calendar-lesson time strong{color:var(--ink);font-size:1rem}.calendar-lesson h3{margin:0;font-size:.9rem}.calendar-lesson span{color:var(--muted);font-size:.72rem}.lesson-detail-panel{--entity-color:var(--accent);position:fixed;z-index:30;top:0;right:0;bottom:0;width:min(470px,42vw);display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-left:1px solid var(--line);background:var(--surface);box-shadow:-18px 0 48px rgba(31,39,33,.13)}.lesson-panel-header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:18px 20px;border-top:5px solid var(--entity-color);border-bottom:1px solid var(--line)}.lesson-panel-header>div{display:grid;grid-gap:4px;gap:4px}.lesson-panel-header span{color:var(--muted);font-size:.75rem}.lesson-panel-header>a{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f1f3ef;font-size:1.25rem}.lesson-panel-scroll{overflow-y:auto;padding:19px 20px 28px;display:grid;grid-gap:19px;gap:19px}.lesson-inline-field{display:grid;grid-gap:7px;gap:7px}.lesson-inline-field>span{display:flex;justify-content:space-between;color:#465047;font-size:.78rem;font-weight:750}.lesson-inline-field small{color:var(--muted);font-weight:500}.lesson-inline-field input,.lesson-inline-field textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid transparent;border-bottom:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fafbf8;font:inherit}.lesson-inline-field:first-child input{font-size:1.2rem;font-weight:750}.lesson-inline-field textarea{resize:vertical;line-height:1.5}.lesson-inline-field input:focus,.lesson-inline-field textarea:focus{outline:2px solid color-mix(in srgb,var(--entity-color) 24%,transparent);border-color:var(--entity-color);background:white}.lesson-date-field input{width:min(190px,100%);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mobile-lesson-move,.mobile-lesson-move-form{display:none}.mobile-lesson-move-form{gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafbf8}.mobile-lesson-move-form>div{display:grid;grid-template-columns:1fr 1.25fr;grid-gap:7px;gap:7px}.mobile-lesson-move-form input{min-width:0;height:40px;padding:7px;border:1px solid var(--line);border-radius:8px;font:inherit}.mobile-lesson-move-form footer{display:flex;justify-content:flex-end;gap:7px}.mobile-lesson-move-form button{padding:7px 9px}.lesson-color-control{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.lesson-color-control input{width:38px;height:28px;padding:2px;border:1px solid var(--line);border-radius:8px;background:white}.lesson-panel-section{display:grid;grid-gap:9px;gap:9px}.lesson-section-heading{display:flex;justify-content:space-between;align-items:center}.lesson-section-heading h3{margin:0;font-size:.8rem}.lesson-section-heading span{color:var(--muted);font-size:.7rem}.stage-editor{display:grid;grid-gap:6px;gap:6px}.stage-editor.is-saving{opacity:.75}.stage-edit-row{display:grid;grid-template-columns:28px 20px minmax(0,1fr) 30px;grid-gap:7px;gap:7px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fafbf8}.stage-edit-row:has(input[type=checkbox]:checked){background:color-mix(in srgb,var(--entity-color) 8%,white)}.stage-drag-handle{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;color:#8e998f;font-size:16px;line-height:1;cursor:-webkit-grab;cursor:grab}.stage-drag-handle:hover{background:color-mix(in srgb,var(--entity-color) 10%,transparent);color:var(--entity-color)}.stage-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.stage-name{min-width:0;border:0;background:transparent;font:inherit;font-size:.82rem}.stage-name:focus{outline:0;border-bottom:1px solid var(--entity-color)}.icon-button{width:28px;height:28px;padding:0;color:var(--muted);background:transparent;font-size:1.1rem}.icon-button:hover{color:#9a3f3f;background:#f7e8e8}.inline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px}.inline-add input{min-width:0;height:38px;padding:7px 9px;border:1px dashed #c7cec5;border-radius:9px;background:white;font:inherit}.inline-add button{padding:7px 10px;font-size:.76rem}.inline-add.compact{grid-template-columns:minmax(0,180px) 36px}.inline-add.compact button{padding:0}.editable-tags{display:flex;gap:5px;flex-wrap:wrap}.editable-tags>span{display:inline-flex;gap:4px;align-items:center;padding:5px 7px;border-radius:999px;background:var(--accent-soft);color:#405649;font-size:.7rem}.editable-tags button{width:16px;height:16px;color:#66756a;background:transparent;font-size:.9rem}.reuse-hint{margin:0;color:var(--muted);font-size:.7rem}.reuse-list{display:grid}.reuse-list article{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.reuse-list article>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.reuse-list strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reuse-list span{color:var(--muted);font-size:.65rem}.reuse-list button{padding:6px 8px;font-size:.68rem;white-space:nowrap}.lesson-panel-footer{padding:13px 20px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fafbf8}.lesson-panel-footer button,.lesson-panel-footer form{width:100%}.has-lesson-panel .entity-calendar-view,.has-lesson-panel .lessons-toolbar,.has-lesson-panel .month-board,.has-lesson-panel .selected-entity-strip{margin-right:min(470px,42vw)}@media (max-width:900px){.app-shell{display:block}.sidebar{display:none}.mobile-header{height:58px;padding:10px 16px;border-bottom:1px solid var(--line);background:rgba(250,251,248,.97);display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-header .brand-mark{width:32px}.mobile-menu-button{width:42px;height:42px;padding:9px;display:grid;align-content:center;grid-gap:4px;gap:4px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.mobile-menu-button span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink)}main{padding:28px 18px 44px}.mobile-menu-backdrop{position:fixed;z-index:80;inset:0;display:flex;justify-content:flex-end;background:rgba(27,34,29,.38)}.mobile-menu-sheet{width:min(330px,88vw);height:100%;padding:calc(16px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:-18px 0 50px rgba(25,34,27,.2)}.mobile-menu-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 14px;border-bottom:1px solid var(--line)}.mobile-menu-sheet>header strong{font-size:1rem}.mobile-menu-sheet>header button{width:40px;height:40px;padding:0;background:#f0f3ee;color:var(--ink);font-size:1.35rem}.mobile-menu-sheet nav{display:grid;grid-gap:5px;gap:5px;padding-top:12px}.mobile-menu-sheet nav a{min-height:48px;display:flex;align-items:center;padding:11px 13px;border-radius:11px;color:#4b554c;font-weight:650}.mobile-menu-sheet nav a.active{color:var(--accent);background:var(--accent-soft)}.summary-grid{grid-template-columns:1fr 1fr}.summary-card:last-child{grid-column:1/-1}.content-grid{grid-template-columns:1fr}}@media (max-width:1100px){.member-row{grid-template-columns:1fr 1fr}.entity-grid,.form-section,.schedule-editor-form .form-section{grid-template-columns:1fr}.profile-overview-grid{grid-template-columns:1fr 1fr}.schedule-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.page-heading{align-items:flex-start;flex-direction:column}.heading-actions,.wrap-actions{width:100%;justify-content:stretch}.wrap-actions>*{flex:1 1}.profile-overview-grid,.schedule-summary,.summary-grid{grid-template-columns:1fr}.summary-card:last-child{grid-column:auto}.summary-card{min-height:126px}h1{font-size:2.2rem}.panel{padding:19px}.entity-card{grid-template-columns:46px minmax(0,1fr) auto;padding:14px}.entity-visual{width:46px}.profile-hero{grid-template-columns:64px 1fr;padding:19px;gap:15px}.profile-visual{width:64px}.profile-hero>.secondary-button{grid-column:1/-1}.form-section{padding:19px;gap:20px}.form-grid,.member-row{grid-template-columns:1fr}.form-actions>*{flex:1 1}.lesson-row{align-items:flex-start;flex-direction:column}.lesson-actions{justify-items:flex-start}.compact-list a{align-items:flex-start;flex-direction:column}.compact-list small{text-align:left}}@media (max-width:700px){.schedule-slot-row{grid-template-columns:72px 1fr}.schedule-slot-row .compact-control:last-child{grid-column:2}.compact-schedule-panel{grid-template-columns:1fr}.schedule-guidance{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}}@media (max-width:1050px){.lessons-toolbar{grid-template-columns:minmax(200px,.7fr) minmax(320px,1.3fr)}}@media (max-width:760px){.lessons-workspace{min-width:0;overflow-x:hidden}.lessons-toolbar{position:static;grid-template-columns:minmax(0,1fr)}.view-toggle{justify-self:start}.lesson-search{grid-template-columns:minmax(0,1fr) 120px auto;min-width:0}.lesson-search>*{min-width:0}.selected-entity-strip small{display:none}.kanban-board-toolbar{justify-content:stretch}.add-planning-month{width:100%;min-height:42px}.add-planning-month-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;width:100%}.month-board{display:block;width:100%;padding-bottom:8px;overflow-x:hidden;scroll-snap-type:none;touch-action:pan-y}.month-column{display:none;width:100%;min-height:520px}.month-column.is-mobile-selected{display:block}.month-column>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto 38px auto}.month-column>header h2{text-align:center}.mobile-month-arrow{display:grid;place-items:center;width:38px;height:38px;padding:0;background:var(--surface);color:var(--accent);font-size:1.5rem}.mobile-month-arrow:disabled{opacity:.3}.remove-planning-month{width:32px;height:32px}.lesson-detail-panel{top:64px;width:100%;height:calc(100dvh - 64px);border-left:0;border-radius:18px 18px 0 0}.mobile-lesson-move{display:block;width:100%}.mobile-lesson-move-form{display:grid}.has-lesson-panel .entity-calendar-view,.has-lesson-panel .lessons-toolbar,.has-lesson-panel .month-board,.has-lesson-panel .selected-entity-strip{margin-right:0}.entity-calendar-view{grid-template-columns:1fr}}@media (max-width:520px){.lesson-search{grid-template-columns:1fr auto}.lesson-search select{grid-column:1/-1;grid-row:2}.calendar-lesson{grid-template-columns:90px 1fr}.lesson-panel-scroll{padding:16px}.lesson-panel-footer,.lesson-panel-header{padding-left:16px;padding-right:16px}}@media (max-width:760px){.attendance-workspace{min-width:0;gap:16px}.attendance-controls{grid-template-columns:1fr;gap:9px}.attendance-month-control{justify-content:space-between}.attendance-month-control label{flex:1 1;justify-content:center;min-width:0}.attendance-filters{overflow-x:auto;grid-template-columns:repeat(4,minmax(92px,1fr))}.attendance-filters a{white-space:nowrap}.attendance-search{grid-template-columns:minmax(0,1fr) auto}.attendance-table-wrap{display:none}.attendance-mobile-list{display:grid;grid-gap:10px;gap:10px}.attendance-mobile-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.attendance-mobile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px}.attendance-mobile-card>header div{display:grid;grid-gap:3px;gap:3px;min-width:0}.attendance-mobile-card>header strong{font-size:.88rem}.attendance-mobile-card>header span{color:var(--muted);font-size:.68rem}.attendance-mobile-card>header b{font-size:1rem}.attendance-mobile-card>div{display:grid;grid-gap:6px;gap:6px}.attendance-mobile-entry{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:4px 5px 4px 10px;border-radius:10px;background:#f7f8f5}.attendance-mobile-entry time{color:var(--muted);font-size:.72rem;text-transform:capitalize}.attendance-dialog-backdrop{place-items:end center;padding:0}.attendance-dialog{width:100%;max-height:82dvh;border-radius:18px 18px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}}.payments-workspace{gap:18px}.payment-heading{align-items:center}.payment-controls{display:grid;grid-template-columns:auto minmax(390px,1fr) minmax(220px,300px);grid-gap:10px;gap:10px}.payment-month{display:flex;align-items:center;gap:6px}.payment-month>a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:1.3rem}.payment-month label{position:relative;min-width:155px;height:40px;display:grid;place-items:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-transform:capitalize;font-size:.78rem}.payment-month input{position:absolute;width:1px;height:1px;opacity:0}.payment-kind-filter,.payment-status-filter{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.payment-kind-filter a,.payment-status-filter a{min-height:40px;display:grid;place-items:center;flex:1 1;padding:7px 10px;border-right:1px solid var(--line);color:var(--muted);font-size:.72rem;white-space:nowrap}.payment-kind-filter a:last-child,.payment-status-filter a:last-child{border-right:0}.payment-kind-filter a.active,.payment-status-filter a.active{color:var(--accent);background:var(--accent-soft)}.payment-search{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px}.payment-search input{min-width:0;height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit}.payment-search button{padding:7px 10px}.payment-status-filter{grid-column:2/4;justify-self:start}.payment-status-filter a{flex:none}.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.finance-summary article{min-height:88px;display:grid;align-content:center;grid-gap:7px;gap:7px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.finance-summary span{color:var(--muted);font-size:.7rem}.finance-summary strong{font-size:1.25rem}.finance-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.finance-row,.finance-table-head{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(145px,1fr) minmax(125px,.8fr) minmax(115px,.8fr) minmax(100px,.65fr) minmax(95px,.65fr) minmax(105px,.8fr);grid-gap:12px;gap:12px;align-items:center}.finance-table-head{padding:11px 14px;background:#fafbf8;color:var(--muted);font-size:.65rem}.finance-parent{--entity-color:var(--accent);border-top:1px solid var(--line)}.finance-parent:first-of-type{border-top:0}.finance-parent-summary{width:100%;display:grid;grid-template-columns:25px minmax(190px,1fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(95px,.6fr);grid-gap:10px;gap:10px;align-items:center;padding:13px 14px;border:0;border-left:4px solid var(--entity-color);border-radius:0;background:#fafbf8;color:var(--ink);text-align:left}.finance-parent-summary:hover{background:#f5f7f3}.finance-parent-summary small{color:var(--muted);font-weight:500}.finance-parent-summary b{text-align:right;font-size:.8rem}.finance-chevron{font-size:1.1rem}.finance-participants{display:grid}.finance-row{min-height:82px;padding:11px 14px;border-top:1px solid var(--line)}.finance-row:first-child{border-top:0}.finance-row>div{min-width:0;display:grid;grid-gap:4px;gap:4px}.finance-row strong{font-size:.76rem}.finance-row a,.finance-row small{color:var(--muted);font-size:.64rem;line-height:1.35}.finance-person{grid-template-columns:9px minmax(0,1fr);align-items:center}.finance-dot{width:7px;height:38px;border-radius:5px;background:var(--entity-color)}.payment-status{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;font-style:normal;font-size:.64rem;font-weight:750}.status-expected{color:#a35f1b;background:#fff0dc}.status-partially_paid{color:#7252b7;background:#efeaff}.status-paid{color:#277b4a;background:#e7f5eb}.status-overpaid{color:#376bbb;background:#e8f0ff}.positive{color:#376bbb}.negative{color:#aa4a3e}.finance-actions{align-content:center}.small-button{width:max-content;padding:7px 9px;border-radius:8px;background:var(--accent-soft);color:var(--accent)!important;font-weight:700}.payment-history-link{text-decoration:underline;text-underline-offset:2px}.finance-empty{padding:35px;text-align:center;color:var(--muted)}.payment-sheet-backdrop{position:fixed;z-index:75;inset:0;display:flex;justify-content:flex-end;background:rgba(28,35,29,.35)}.payment-sheet{width:min(440px,100%);height:100%;overflow:auto;background:var(--surface);box-shadow:-18px 0 50px rgba(25,34,27,.18)}.payment-sheet>header{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.payment-sheet>header div{display:grid;grid-gap:3px;gap:3px}.payment-sheet h2{margin:0;font-size:1.25rem}.payment-sheet header small,.payment-sheet header span{color:var(--muted);font-size:.7rem}.payment-sheet header>a{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f0f3ee;font-size:1.25rem}.payment-sheet form{display:grid;grid-gap:15px;gap:15px;padding:18px 20px calc(22px + env(safe-area-inset-bottom))}.payment-sheet label{display:grid;grid-gap:6px;gap:6px}.payment-sheet label>span{font-size:.72rem;font-weight:750}.payment-sheet label>small{color:var(--muted);font-size:.66rem;line-height:1.4}.payment-sheet input,.payment-sheet textarea{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;font:inherit}.payment-sheet textarea{resize:vertical}.payment-sheet label>strong{padding:9px 10px;border-radius:9px;background:#f7f8f5;font-size:.8rem}.payment-sheet footer{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.reset-calculation{width:max-content;padding:0;background:transparent;color:var(--accent);font-size:.66rem;text-align:left}@media(max-width:1120px){.payment-controls{grid-template-columns:1fr 1fr}.payment-kind-filter{min-width:0}.payment-search{grid-column:1/2}.payment-status-filter{grid-column:2/3}.finance-list{overflow-x:auto}.finance-row,.finance-table-head{min-width:980px}}@media(max-width:760px){.payments-workspace{gap:14px}.payment-heading .button{width:100%;text-align:center}.payment-controls{grid-template-columns:1fr}.payment-month{justify-content:space-between}.payment-month label{flex:1 1}.payment-kind-filter{overflow-x:auto}.payment-kind-filter a{min-width:92px}.payment-search,.payment-status-filter{grid-column:auto}.payment-status-filter{width:100%;overflow-x:auto}.payment-status-filter a{min-width:102px}.finance-summary{grid-template-columns:1fr 1fr}.finance-summary article{min-height:78px}.finance-list{overflow:visible;border:0;background:transparent;box-shadow:none}.finance-table-head{display:none}.finance-parent{margin-bottom:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.finance-parent-summary{grid-template-columns:24px minmax(0,1fr) auto;padding:13px}.finance-parent-summary small{grid-column:2}.finance-parent-summary b{display:none}.finance-parent-summary em{grid-column:3;grid-row:1/3}.finance-row{min-width:0;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:14px}.finance-row>div:nth-child(3),.finance-row>div:nth-child(4),.finance-row>div:nth-child(5),.finance-row>div:nth-child(6){padding:8px;border-radius:9px;background:#f7f8f5}.finance-actions,.finance-person{grid-column:1/-1}.finance-actions{display:flex!important;flex-wrap:wrap;align-items:center}.payment-sheet-backdrop{align-items:flex-end}.payment-sheet{height:min(88dvh,760px)}.payment-sheet,.payment-sheet>header{border-radius:18px 18px 0 0}}.learning-context-list{display:grid;grid-gap:12px;gap:12px}.learning-context-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);grid-gap:16px;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fafbf8}.learning-context-toggle{display:flex;align-items:center;gap:10px;min-width:0}.learning-context-toggle input{width:20px;height:20px;accent-color:var(--accent)}.learning-context-toggle>span{display:grid;grid-gap:3px;gap:3px}.learning-context-toggle strong{font-size:.84rem}.context-group header small,.learning-context-toggle small{color:var(--muted);font-size:.68rem}.context-billing{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.context-billing .field span{font-size:.68rem}.context-billing .field input,.context-billing .field select{min-height:38px;padding:7px 9px;font-size:.75rem}.context-group{display:grid;grid-gap:8px;gap:8px;padding-top:5px}.context-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.context-group>header div{display:grid;grid-gap:2px;gap:2px}.context-empty,.context-group>header>a{font-size:.72rem}.context-empty{margin:0;padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.context-effective-date{margin-top:18px}.ended-contexts{padding:10px 12px;border-radius:10px;background:#f4f6f2;color:var(--muted);font-size:.72rem}.ended-contexts summary{cursor:pointer;font-weight:700}.ended-contexts p{margin:7px 0 0}.profile-billing-list,.profile-contexts{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.profile-contexts>a,.profile-contexts>span{padding:9px 10px;border-radius:9px;background:#f5f7f3;font-size:.78rem}.profile-billing-list>div{display:grid;grid-gap:2px;gap:2px;padding:8px 0;border-bottom:1px solid var(--line)}.profile-billing-list>div:last-child{border-bottom:0}.profile-billing-list strong{font-size:1rem}.profile-billing-list span{color:var(--muted);font-size:.68rem}@media(max-width:760px){.learning-context-card{grid-template-columns:1fr}.context-billing{grid-template-columns:1fr 1fr}}@media(max-width:480px){.context-billing{grid-template-columns:1fr}.context-group>header{align-items:flex-start;flex-direction:column}}.global-calendar{gap:14px}.calendar-heading,.calendar-toolbar{align-items:center}.calendar-toolbar{display:flex;justify-content:space-between;gap:14px}.calendar-navigation{gap:7px}.calendar-navigation>a{min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.calendar-navigation>a:first-child,.calendar-navigation>a:nth-child(3){font-size:1.25rem}.calendar-navigation strong{margin-left:8px;text-transform:capitalize;font-size:.88rem}.calendar-filters,.calendar-view-toggle{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.calendar-filters a,.calendar-view-toggle a{min-height:40px;display:grid;place-items:center;padding:7px 15px;border-right:1px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:650}.calendar-filters a:last-child,.calendar-view-toggle a:last-child{border-right:0}.calendar-filters a.active,.calendar-view-toggle a.active{color:var(--accent);background:var(--accent-soft)}.calendar-filters{width:max-content}.calendar-week-desktop{--calendar-height:780px;display:grid;grid-template-columns:58px repeat(7,minmax(100px,1fr));grid-template-rows:58px var(--calendar-height);overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.calendar-week-desktop>header{display:contents}.calendar-week-desktop>header>div,.calendar-week-desktop>header>span{position:-webkit-sticky;position:sticky;top:0;z-index:4;padding:10px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafbf8;text-align:center}.calendar-week-desktop>header>div{display:grid;grid-gap:3px;gap:3px}.calendar-week-desktop>header strong{font-size:.76rem;text-transform:capitalize}.calendar-week-desktop>header span{color:var(--muted);font-size:.66rem}.calendar-week-desktop .today{background:color-mix(in srgb,var(--accent) 7%,#fafbf8)}.calendar-time-axis{position:relative;grid-column:1;grid-row:2;border-right:1px solid var(--line)}.calendar-time-axis span{position:absolute;right:7px;transform:translateY(-7px);color:var(--muted);font-size:.62rem}.calendar-day-column{position:relative;grid-row:2;border-right:1px solid var(--line);background:#fff}.calendar-day-column:last-child{border-right:0}.calendar-day-column.today{background:color-mix(in srgb,var(--accent) 3%,white)}.calendar-day-column>i{position:absolute;left:0;right:0;border-top:1px solid #edf0eb}.calendar-event{position:absolute;z-index:2;display:grid;align-content:start;grid-gap:3px;gap:3px;min-height:38px;overflow:hidden;padding:7px 8px;border-left:1px solid var(--event-color);border:1px solid var(--event-color);border-left-width:4px;border-radius:8px;background:color-mix(in srgb,var(--event-color) 10%,white);color:var(--ink)}.calendar-event span{font-size:.61rem}.calendar-event strong{font-size:.72rem;line-height:1.25}.calendar-event small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.calendar-event-completed{background:color-mix(in srgb,var(--event-color) 18%,white)}.calendar-event-completed strong:after{content:" ✓"}.calendar-event-cancelled,.calendar-event-rescheduled{opacity:.58;background:#f2f3f1}.calendar-event-cancelled strong{text-decoration:line-through}.calendar-event-rescheduled strong:after{content:" ↗"}.calendar-event.has-conflict{box-shadow:inset 0 0 0 1px #d17a32}.calendar-mobile-day{display:none}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.month-weekday{padding:10px;background:#fafbf8;color:var(--muted);font-size:.68rem;text-align:center}.calendar-month-day,.month-weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-month-day{min-height:126px;padding:8px}.calendar-month-day.today{background:color-mix(in srgb,var(--accent) 6%,white)}.calendar-month-day>time{display:grid;place-items:center;width:25px;height:25px;margin-bottom:5px;border-radius:50%;font-size:.7rem}.calendar-month-day.today>time{background:var(--accent);color:white}.calendar-month-day>div{display:grid;grid-gap:4px;gap:4px}.month-event{display:flex;gap:5px;min-width:0;padding:5px 6px;border-left:3px solid var(--event-color);border-radius:6px;background:color-mix(in srgb,var(--event-color) 9%,white);font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-event span{color:var(--muted)}.calendar-month-day small{color:var(--muted);font-size:.63rem}.calendar-sheet-backdrop{position:fixed;z-index:75;inset:0;display:flex;justify-content:flex-end;background:rgba(28,35,29,.34)}.calendar-sheet{--event-color:var(--accent);width:min(440px,100%);height:100%;overflow:auto;border-top:5px solid var(--event-color);background:var(--surface);box-shadow:-18px 0 50px rgba(25,34,27,.18)}.calendar-sheet>header{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.calendar-sheet>header div{display:grid;grid-gap:3px;gap:3px}.calendar-sheet h2{margin:0;font-size:1.2rem}.calendar-sheet header small,.calendar-sheet header span{color:var(--muted);font-size:.7rem}.calendar-sheet header>a{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f0f3ee;font-size:1.25rem}.calendar-sheet-content{display:grid;grid-gap:16px;gap:16px;padding:18px 19px calc(22px + env(safe-area-inset-bottom))}.calendar-sheet-content form,.calendar-sheet-content form>label,.calendar-sheet-content>label{display:grid;grid-gap:7px;gap:7px}.calendar-sheet-content label>span{font-size:.68rem;font-weight:700}.calendar-sheet-content label>strong{font-size:.9rem}.calendar-sheet-content form{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbf8}.calendar-sheet-content h3{margin:0;font-size:.78rem}.calendar-inline-fields{display:grid;grid-template-columns:1.35fr 1fr .7fr;grid-gap:7px;gap:7px}.calendar-sheet input,.calendar-sheet select{width:100%;min-width:0;height:40px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit;font-size:.76rem}.calendar-reschedule{border-color:#ddd5f0!important}.calendar-relation,.calendar-series-link{padding:10px;border-radius:9px;background:var(--accent-soft);font-size:.72rem}.calendar-relation{margin:0;color:var(--muted)}.danger-button{background:#f8e7e5;color:#a43f36}.calendar-new-series{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px}.calendar-new-series summary{cursor:pointer;font-size:.76rem;font-weight:700}.calendar-new-series a{display:block;padding:7px 3px;border-top:1px solid var(--line);font-size:.72rem}@media(max-width:900px){.calendar-week-desktop{display:none}.calendar-mobile-day{display:grid;grid-gap:10px;gap:10px}.calendar-mobile-day>header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center}.calendar-mobile-day>header>a{height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:1.3rem}.calendar-mobile-day>header>div{display:grid;grid-gap:2px;gap:2px;text-align:center;text-transform:capitalize}.calendar-mobile-day>header span{color:var(--muted);font-size:.66rem}.calendar-mobile-day>div{display:grid;grid-gap:8px;gap:8px}.calendar-mobile-day .calendar-event{position:static;min-height:72px;padding:11px 12px}.calendar-mobile-day .calendar-event span{font-size:.7rem}.calendar-mobile-day .calendar-event strong{font-size:.86rem}.calendar-mobile-day .calendar-event small{font-size:.68rem}.calendar-empty-day{padding:35px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}.calendar-month-grid{grid-template-columns:repeat(7,minmax(72px,1fr))}.calendar-month-day{min-height:94px;padding:5px}.month-event{padding:4px;font-size:.56rem}.month-event span{display:none}}@media(max-width:620px){.calendar-heading,.calendar-toolbar{align-items:stretch}.calendar-toolbar{flex-direction:column}.calendar-navigation{display:grid;grid-template-columns:42px 1fr 42px}.calendar-navigation .calendar-today{grid-column:2}.calendar-navigation>a:nth-child(3){grid-column:3;grid-row:1}.calendar-navigation strong{grid-column:1/-1;grid-row:2;margin:0;text-align:center}.calendar-view-toggle a{flex:1 1}.calendar-filters{width:100%;overflow-x:auto}.calendar-filters a{min-width:90px;flex:1 1}.calendar-month-grid{grid-template-columns:repeat(7,minmax(48px,1fr))}.month-weekday{padding:7px 2px}.calendar-month-day{min-height:78px;padding:3px}.calendar-month-day>time{width:21px;height:21px}.month-event{width:100%;height:7px;padding:0;border:0;border-radius:4px;background:var(--event-color);color:transparent}.calendar-month-day small{font-size:.56rem}.calendar-sheet-backdrop{align-items:flex-end}.calendar-sheet{height:min(90dvh,780px);border-radius:18px 18px 0 0}.calendar-sheet>header{border-radius:15px 15px 0 0}.calendar-inline-fields{grid-template-columns:1fr 1fr}.calendar-inline-fields label:last-child{grid-column:1/-1}}.calendar-week-desktop .calendar-event{container-type:inline-size;min-width:0;gap:4px;padding:8px 9px;text-align:left}.calendar-week-desktop .calendar-event-time{display:flex;gap:0;color:#576158;font-size:.61rem;white-space:nowrap}.calendar-week-desktop .calendar-event-time i{font-style:normal}.calendar-week-desktop .calendar-event strong{min-width:0;overflow:hidden;font-size:.74rem;font-weight:750;line-height:1.28}.calendar-week-desktop .calendar-event small{min-width:0;line-height:1.25}@container(max-width:92px){.calendar-week-desktop .calendar-event{gap:3px;padding:7px 6px}.calendar-week-desktop .calendar-event-time{font-size:.57rem}.calendar-week-desktop .calendar-event-time i{display:none}.calendar-week-desktop .calendar-event strong{display:block;font-size:.68rem;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}.calendar-week-desktop .calendar-event small{font-size:.57rem}}.learning-profile-page{display:grid;grid-gap:18px;gap:18px}.learning-heading{align-items:center}.learning-toolbar{position:-webkit-sticky;position:sticky;top:14px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);grid-gap:12px;gap:12px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.learning-filters{display:flex;gap:5px;overflow-x:auto}.learning-filters button{min-height:38px;padding:7px 11px;border-radius:9px;background:#f4f6f2;color:var(--muted);font-size:.7rem;white-space:nowrap}.learning-filters button.active{background:var(--accent-soft);color:var(--accent)}.learning-search{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:8px;gap:8px}.learning-search span{font-size:.68rem;font-weight:700}.learning-search input{min-width:0;height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:.76rem}.learning-timeline{position:relative;display:grid;grid-gap:11px;gap:11px;padding-left:22px}.learning-timeline:before{content:"";position:absolute;top:10px;bottom:10px;left:6px;width:2px;background:var(--line)}.learning-card{position:relative;display:grid;grid-gap:9px;gap:9px;padding:15px 17px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.learning-card:before{content:"";position:absolute;left:-24px;top:20px;width:10px;height:10px;border:3px solid white;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--line)}.learning-note{margin:0;padding:9px 10px;border-radius:9px;background:#f6f7f4;color:#535c54;font-size:.73rem;line-height:1.5;white-space:pre-wrap}.learning-card>header{display:flex;justify-content:space-between;gap:12px}.learning-card>header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.learning-card>header span{padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.63rem;font-weight:750}.learning-card time,.learning-card>header>a{color:var(--muted);font-size:.65rem}.learning-card h2{margin:0;font-size:1rem}.learning-content{max-width:850px;font-size:.78rem;line-height:1.55;white-space:pre-wrap}.learning-content.collapsed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:7}.learning-expand{width:max-content;padding:0;background:transparent;color:var(--accent);font-size:.68rem}.learning-score{display:flex;align-items:baseline;gap:9px}.learning-score strong{font-size:1.05rem}.learning-score span{color:var(--accent);font-weight:750}.learning-card>footer{display:flex;gap:8px;flex-wrap:wrap;padding-top:3px}.learning-card>footer>*{padding:5px 7px;border-radius:7px;background:#f4f6f2;color:var(--muted);font-size:.64rem}.learning-empty{padding:40px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.learning-sheet-backdrop{position:fixed;z-index:75;inset:0;display:flex;justify-content:flex-end;background:rgba(28,35,29,.35)}.learning-sheet{width:min(480px,100%);height:100%;overflow:auto;background:var(--surface);box-shadow:-18px 0 50px rgba(25,34,27,.18)}.learning-sheet>header{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.learning-sheet h2{margin:2px 0 0;font-size:1.15rem}.learning-sheet header small{color:var(--muted);font-size:.65rem}.learning-sheet>header>a{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#f0f3ee;font-size:1.2rem}.learning-type-picker{display:flex;gap:5px;overflow-x:auto;padding:12px 19px 0}.learning-type-picker a{padding:7px 9px;border-radius:8px;background:#f4f6f2;color:var(--muted);font-size:.65rem;white-space:nowrap}.learning-type-picker a.active{background:var(--accent-soft);color:var(--accent)}.learning-entry-form{display:grid;grid-gap:13px;gap:13px;padding:16px 19px}.learning-entry-form fieldset label,.learning-entry-form>label{display:grid;grid-gap:6px;gap:6px}.learning-entry-form label>span,.learning-entry-form legend{font-size:.68rem;font-weight:700}.learning-entry-form input,.learning-entry-form select,.learning-entry-form textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:white;font:inherit;font-size:.76rem}.learning-entry-form textarea{resize:vertical;line-height:1.45}.learning-entry-form fieldset{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px}.learning-score-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.learning-score-fields label{display:grid;grid-gap:6px;gap:6px}.learning-entry-form>footer{display:flex;justify-content:flex-end;gap:8px}.learning-existing-attachments{display:grid;grid-gap:5px;gap:5px;font-size:.68rem}.learning-delete{padding:0 19px 22px}.learning-overview-title{display:flex;justify-content:space-between;gap:10px}.learning-overview-title>a{font-size:.68rem}.learning-overview>div:last-child{display:grid;grid-gap:4px;gap:4px;margin-top:9px}.learning-overview>div:last-child>a{display:grid;grid-gap:2px;gap:2px;padding:7px 0;border-top:1px solid var(--line)}.learning-overview small{color:var(--muted);font-size:.62rem}.learning-overview strong{font-size:.74rem}@media(max-width:760px){.learning-heading .heading-actions{display:grid;grid-template-columns:1fr 1fr}.learning-toolbar{position:static}.learning-search,.learning-toolbar{grid-template-columns:1fr}.learning-search span{display:none}.learning-sheet-backdrop{align-items:flex-end}.learning-sheet{height:min(90dvh,800px)}.learning-sheet,.learning-sheet>header{border-radius:18px 18px 0 0}.profile-tabs{max-width:100%;scrollbar-width:none}.learning-card{padding:14px}.learning-timeline{padding-left:17px}.learning-card:before{left:-19px}}.learning-toolbar{grid-template-columns:minmax(0,1fr) minmax(190px,280px) auto}.learning-filters a{min-height:38px;display:grid;place-items:center;padding:7px 11px;border-radius:9px;background:#f4f6f2;color:var(--muted);font-size:.7rem;white-space:nowrap}.learning-filters a.active{background:var(--accent-soft);color:var(--accent)}.learning-scoped-add{align-self:center;white-space:nowrap}.learning-add-menu{position:relative;align-self:center}.learning-add-menu summary{padding:10px 13px;border-radius:9px;background:var(--accent);color:white;font-size:.72rem;font-weight:700;cursor:pointer;list-style:none}.learning-add-menu>div{position:absolute;right:0;top:44px;z-index:10;min-width:210px;display:grid;padding:6px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:var(--shadow)}.learning-add-menu a{padding:9px;border-radius:7px;font-size:.72rem}.learning-add-menu a:hover{background:var(--accent-soft)}.learning-date{max-width:180px}.learning-lesson-link{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px}.learning-lesson-link summary{cursor:pointer;font-size:.7rem;font-weight:700}.learning-file-picker{display:grid;grid-gap:8px;gap:8px}.learning-file-picker>label{width:max-content;cursor:pointer}.learning-file-picker>label input{position:absolute;width:1px;height:1px;opacity:0}.learning-file-picker>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;background:#f4f6f2;font-size:.7rem}.learning-file-picker>div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-file-picker>div button{padding:5px 7px;background:transparent;color:#a43f36;font-size:.66rem}.student-finance,.student-history{display:grid;grid-gap:17px;gap:17px}.history-list{display:grid;grid-gap:8px;gap:8px}.history-row{display:grid;grid-template-columns:120px minmax(180px,1fr) minmax(180px,.8fr);grid-gap:14px;gap:14px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:var(--surface)}.history-row time{font-size:.7rem;font-weight:700}.history-row>div{min-width:0;display:grid;grid-gap:4px;gap:4px}.history-row strong{font-size:.8rem}.history-row small,.history-row span{color:var(--muted);font-size:.66rem;line-height:1.4}.history-row>div:last-child{justify-items:end;text-align:right}.lesson-history-status{padding:4px 7px;border-radius:999px;background:#f0f3ee}.student-finance-contexts{display:grid;grid-gap:10px;gap:10px}.student-finance-contexts>article{display:grid;grid-gap:12px;gap:12px;padding:15px;border:1px solid var(--line);border-left:4px solid var(--entity-color);border-radius:13px;background:var(--surface)}.student-finance-contexts article>header{display:flex;justify-content:space-between;gap:12px}.student-finance-contexts h2{margin:2px 0 0;font-size:.95rem}.student-finance-contexts footer,.student-finance-contexts header small,.student-finance-contexts p{color:var(--muted);font-size:.67rem}.student-finance-numbers{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.student-finance-numbers span{display:grid;grid-gap:3px;gap:3px;padding:9px;border-radius:9px;background:#f6f7f4;font-size:.65rem}.student-finance-numbers strong{font-size:.8rem}.student-finance-contexts footer{display:flex;gap:8px;flex-wrap:wrap}.student-finance-contexts footer a,.student-finance-contexts footer span{padding:6px 8px;border-radius:7px;background:#f4f6f2}@media(max-width:760px){.learning-toolbar{grid-template-columns:1fr}.learning-add-menu,.learning-scoped-add{width:100%}.learning-add-menu summary,.learning-scoped-add{text-align:center}.learning-add-menu>div{left:0;right:0}.learning-file-picker>label{min-height:44px;display:grid;place-items:center}.history-row{grid-template-columns:1fr auto;gap:8px}.history-row time{grid-column:1/-1}.history-row>div:last-child{justify-items:end}.student-finance .page-heading{align-items:stretch}.student-finance-numbers{grid-template-columns:1fr}.profile-actions{grid-template-columns:1fr 1fr}}.learning-add-menu summary,.learning-scoped-add{min-height:42px;padding:.75rem 1rem;border-radius:12px;font-size:.72rem;font-weight:650}.learning-add-menu summary{display:flex;align-items:center;justify-content:center}.learning-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto auto}.learning-report-open{min-height:42px;padding:.7rem .9rem;border-radius:12px;font-size:.72rem;white-space:nowrap}.learning-report-sheet{width:min(590px,100%)}.learning-report-sheet>header>button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:9px;background:#f0f3ee;color:var(--ink);font-size:1.2rem}.learning-report-content{display:grid;grid-gap:15px;gap:15px;padding:17px 19px calc(22px + env(safe-area-inset-bottom))}.learning-report-content h3{margin:0;font-size:.75rem}.report-period,.report-preview,.report-sections{display:grid;grid-gap:10px;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafbf8}.report-period>div:first-of-type{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:5px;gap:5px}.report-period>div:first-of-type button{min-height:38px;padding:7px;border-radius:8px;background:#eef1ec;color:var(--muted);font-size:.66rem}.report-period>div:first-of-type button.active{background:var(--accent-soft);color:var(--accent)}.report-period>p{margin:0;color:var(--muted);font-size:.66rem;text-transform:capitalize}.report-custom-dates{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.report-custom-dates label{display:grid;grid-gap:5px;gap:5px}.report-custom-dates span,.report-preview label>span{font-size:.65rem;font-weight:700}.report-custom-dates input{min-width:0;width:100%;height:40px;padding:7px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.72rem}.report-sections{grid-template-columns:1fr 1fr}.report-sections h3{grid-column:1/-1}.report-sections label{min-height:42px;display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:white;font-size:.7rem}.report-sections label.disabled{opacity:.45}.report-sections input{width:18px;height:18px;accent-color:var(--accent)}.report-empty{margin:0;padding:13px;border-radius:10px;background:#f4f6f2;color:var(--muted);font-size:.72rem;text-align:center}.report-preview>header{display:flex;justify-content:space-between}.report-preview>header div{display:grid;grid-gap:3px;gap:3px}.report-preview>header span{color:var(--muted);font-size:.65rem;text-transform:capitalize}.report-preview label{display:grid;grid-gap:6px;gap:6px}.report-preview textarea{width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:9px;background:white;font:inherit;font-size:.75rem;line-height:1.55;resize:vertical}.report-preview footer{display:flex;justify-content:flex-end;gap:8px}@media(max-width:900px){.learning-toolbar{grid-template-columns:1fr auto}.learning-report-open,.learning-search{grid-column:1/-1}}@media(max-width:760px){.learning-toolbar{grid-template-columns:1fr}.learning-report-open{width:100%}.learning-report-sheet{height:min(94dvh,850px)}.report-period>div:first-of-type,.report-sections{grid-template-columns:1fr}.report-sections h3{grid-column:auto}.report-preview textarea{min-height:280px}.report-preview footer{display:grid;grid-template-columns:1fr 1fr}.report-preview footer button{min-height:44px}}.attendance-heading .eyebrow{display:none}.lesson-inline-field>label{display:grid;grid-gap:7px;gap:7px}.lesson-inline-field>label>span{display:flex;justify-content:space-between;color:#465047;font-size:.78rem;font-weight:750}.share-actions{display:grid;grid-gap:5px;gap:5px}.share-actions>div{display:flex;gap:7px;flex-wrap:wrap}.share-actions button{min-height:38px;padding:7px 10px;border-radius:9px;font-size:.68rem}.share-actions small{color:var(--muted);font-size:.62rem;line-height:1.35}.report-preview footer>.share-actions{width:100%}.report-preview footer>.share-actions>div{justify-content:flex-end}@media(max-width:520px){.share-actions>div{display:grid;grid-template-columns:1fr 1fr}.share-actions button{min-height:44px}}.button:hover,button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button:active,button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible,.secondary-button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-secondary) 55%,transparent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}.secondary-button:hover{border-color:var(--color-secondary);background:var(--color-primary-soft);color:var(--color-primary)}.app-shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{padding:28px 20px 20px;border-color:var(--color-border);background:var(--color-surface-soft)}.brand{color:var(--color-text);letter-spacing:-.015em}.brand,.brand-mark{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.brand-mark{width:36px;border-radius:12px}.primary-nav{gap:7px;margin-top:42px}.primary-nav a{min-height:44px;display:flex;align-items:center;padding:10px 13px;border-radius:12px;font-size:.88rem;font-weight:600;transition:background-color .16s ease,color .16s ease}.primary-nav a:hover{background:var(--color-primary-soft)}.primary-nav a.active{background:var(--color-primary);color:var(--color-surface)}.sidebar-account{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-card)}.account-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;overflow:hidden;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.account-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-account>div{min-width:0;display:grid;grid-gap:1px;gap:1px}.sidebar-account strong{font-family:var(--font-display);font-size:.92rem;font-weight:600}.sidebar-account small{color:var(--color-text-muted);font-size:.66rem}main{padding:52px var(--space-page) 80px}.page-stack{gap:32px}.page-heading{gap:28px}.page-heading>div>h1,.page-heading>h1{margin-bottom:0}.eyebrow{font-size:.68rem;letter-spacing:.12em}.lede{color:var(--color-text-secondary)}.calendar-month-grid,.calendar-week-desktop,.compact-schedule-panel,.empty-state,.entity-card,.finance-list,.form-section,.learning-card,.panel,.profile-hero,.summary-card{border-color:var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.summary-card{padding:25px}.summary-card strong{font-family:var(--font-display);font-size:2.15rem;font-weight:500;color:var(--color-primary)}.panel{padding:26px}.empty-state{padding:clamp(30px,5vw,58px)}.lesson-actions a,.panel-heading a,.panel>a,.profile-overview-grid .panel a{color:var(--color-primary);font-weight:650}.skeleton-list span{background:var(--color-surface-soft)}.profile-tabs{gap:5px;padding:5px;border-color:var(--color-border);border-radius:15px;background:var(--color-surface)}.profile-tabs a{min-height:39px;padding:9px 14px;border-radius:10px;color:var(--color-text-secondary)}.learning-filters a:hover,.profile-tabs a:hover{background:var(--color-primary-soft);color:var(--color-primary)}.entity-card{padding:20px;border-left-width:3px;border-radius:20px;box-shadow:var(--shadow-card)}.entity-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(62,37,38,.07)}.entity-title h3,.profile-hero h1{font-family:var(--font-display);font-weight:500}.entity-title h3{font-size:1.08rem}.entity-copy p{color:var(--color-text-secondary)}.profile-meta a,.profile-meta span,.status-pill,.tag-list span{background:var(--color-surface-soft);color:var(--color-text-secondary)}.status-active{background:#EDF2EB;color:var(--color-success)}.status-paused{background:#F7EFE3;color:var(--color-warning)}.status-completed{background:#F0ECE9;color:var(--color-text-secondary)}.profile-hero{padding:28px;border-top:3px solid var(--entity-color)}.form-section{padding:28px}.calendar-sheet-content form,.member-row,.report-period,.report-preview,.report-sections,.schedule-slot-row{border-color:var(--color-border);background:var(--color-surface-soft)}.calendar-sheet input,.calendar-sheet select,.compact-control input,.entity-switcher select,.field input,.field select,.field textarea,.learning-entry-form input,.learning-entry-form select,.learning-entry-form textarea,.learning-search input,.lesson-search input,.lesson-search select,.payment-sheet input,.payment-sheet textarea,.report-custom-dates input,.report-preview textarea{border-color:var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text)}.field input:hover,.field select:hover,.field textarea:hover,input:hover,select:hover,textarea:hover{border-color:var(--color-secondary)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.weekday-picker label span{border-color:var(--color-border);background:var(--color-surface-soft)}.weekday-picker label input:checked+span{border-color:var(--color-primary);background:var(--color-primary)}.learning-toolbar,.lessons-toolbar{background:var(--color-background);-webkit-backdrop-filter:none;backdrop-filter:none}.manual-lesson-form,.selected-entity-strip,.tag-filter summary,.tag-filter>div{border-color:var(--color-border);background:var(--color-surface)}.tag-filter label:hover{background:var(--color-primary-soft)}.month-column{border-radius:20px;background:#F1EAE5}.lesson-card{border-left-color:var(--lesson-color);border-radius:16px;box-shadow:0 6px 18px rgba(62,37,38,.04)}.lesson-card-overlay{box-shadow:var(--shadow-float)}.add-month-lesson{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-primary)}.calendar-sheet,.learning-sheet,.lesson-detail-panel,.payment-sheet{background:var(--color-surface);box-shadow:var(--shadow-float)}.calendar-sheet>header,.learning-sheet>header,.lesson-panel-header,.payment-sheet>header{background:var(--color-surface)}.lesson-inline-field input,.lesson-inline-field textarea,.lesson-panel-section,.reuse-list article,.stage-edit-row{border-color:var(--color-border);background:var(--color-surface-soft)}.attendance-dialog,.attendance-table-wrap,.finance-parent,.history-row,.student-finance-contexts>article{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.attendance-table thead,.finance-parent-summary,.finance-table-head{background:var(--color-surface-soft)}.lesson-history-status,.payment-status{border-radius:999px}.status-expected{background:#F7EFE3}.status-partially_paid{background:#F3E8E6;color:#86595A}.status-paid{background:#EDF2EB}.status-overpaid{background:#EEEAF2;color:#695A78}.calendar-filters,.calendar-navigation>a,.calendar-view-toggle{border-color:var(--color-border);background:var(--color-surface)}.calendar-filters a.active,.calendar-view-toggle a.active{background:var(--color-primary-soft);color:var(--color-primary)}.calendar-day-column,.calendar-sheet input,.calendar-sheet select{background:var(--color-surface)}.learning-toolbar{border-color:var(--color-border);box-shadow:var(--shadow-card)}.learning-card>footer>*,.learning-file-picker>div,.learning-filters a,.learning-filters button,.learning-type-picker a{background:var(--color-surface-soft);color:var(--color-text-secondary)}.learning-filters a.active,.learning-filters button.active,.learning-type-picker a.active{background:var(--color-primary-soft);color:var(--color-primary)}.learning-card:before{border-color:var(--color-surface);background:var(--color-primary)}.learning-note,.report-empty{background:var(--color-surface-soft);color:var(--color-text-secondary)}.attendance-dialog-backdrop,.calendar-sheet-backdrop,.learning-sheet-backdrop,.mobile-menu-backdrop,.payment-sheet-backdrop{background:rgba(24,21,21,.32)}.mobile-header{border-color:var(--color-border)}.mobile-header,.mobile-menu-sheet{background:var(--color-surface)}.mobile-menu-sheet nav a{color:var(--color-text-secondary)}.mobile-menu-sheet nav a.active{background:var(--color-primary);color:var(--color-surface)}.mobile-account{margin-top:18px}@media(max-width:900px){main{padding:30px 18px 52px}.mobile-header{box-shadow:0 4px 20px rgba(62,37,38,.04)}.sidebar-account{box-shadow:none}}.students-list-page{position:relative;gap:20px}.students-list-heading{position:relative;min-height:92px;align-items:center}.students-toolbar{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-card)}.students-filters{display:flex;align-items:center;gap:3px;padding:3px;border-radius:12px;background:var(--color-surface-soft)}.students-filters a{min-height:34px;display:grid;place-items:center;padding:7px 11px;border-radius:9px;color:var(--color-text-secondary);font-size:.72rem;font-weight:650;white-space:nowrap}.students-filters a:hover{color:var(--color-primary)}.students-filters a.active{background:var(--color-primary);color:var(--color-surface)}.students-search{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px;gap:6px}.students-search input{min-width:0;height:38px;padding:7px 11px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.76rem}.students-create-actions .button,.students-create-actions .secondary-button,.students-search button{min-height:38px;padding:7px 10px;border-radius:10px;font-size:.7rem;white-space:nowrap}.students-create-actions{display:flex;gap:6px;align-items:center}.students-list-meta{min-height:25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--color-text-muted);font-size:.68rem}.students-list-meta a{color:var(--color-primary);font-weight:650}.students-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.student-list-card{--entity-color:var(--color-primary);min-width:0;min-height:88px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-template-rows:auto auto;grid-column-gap:13px;column-gap:13px;align-content:center;align-items:center;padding:13px 15px;border:1px solid var(--color-border);border-left:3px solid color-mix(in srgb,var(--entity-color) 24%,var(--color-border-strong));border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-card);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-list-card:hover{border-color:var(--color-border-strong);border-left-color:color-mix(in srgb,var(--entity-color) 30%,var(--color-border-strong));box-shadow:0 12px 28px rgba(62,37,38,.055);transform:translateY(-1px)}.student-list-avatar{grid-row:1/-1;width:50px;height:50px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--entity-color) 8%,var(--color-border));border-radius:14px;background:color-mix(in srgb,var(--entity-color) 7%,var(--color-surface-soft));color:color-mix(in srgb,var(--entity-color) 28%,var(--color-text-secondary));font-family:var(--font-display);font-size:1.15rem;font-weight:600}.student-list-avatar img{width:100%;height:100%;object-fit:cover}.student-list-copy{min-width:0;align-self:end;display:grid;grid-gap:2px;gap:2px}.student-list-copy strong{color:var(--color-text);font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.2}.student-list-copy small,.student-list-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-list-copy small{color:var(--color-text-secondary);font-size:.67rem;line-height:1.35}.student-list-status{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:.65rem;white-space:nowrap}.student-list-status i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--color-text-muted)}.student-list-status.status-active{background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface));color:var(--color-success)}.student-list-status.status-active i{background:var(--color-success)}.student-list-status.status-paused{background:color-mix(in srgb,var(--color-warning) 9%,var(--color-surface));color:var(--color-warning)}.student-list-status.status-paused i{background:var(--color-warning)}.student-list-status.status-completed{background:var(--color-surface-soft);color:var(--color-text-muted)}.student-list-open{align-self:start;justify-self:end;color:var(--color-primary);font-size:.67rem;font-weight:650;white-space:nowrap}.students-list-empty{padding:36px;border:1px dashed var(--color-border-strong);border-radius:18px;background:var(--color-surface);color:var(--color-text-secondary);text-align:center}@media(max-width:1180px){.students-toolbar{grid-template-columns:1fr 1fr}.students-create-actions{grid-column:1/-1;justify-content:flex-end}.students-list-grid{grid-template-columns:1fr}}@media(max-width:760px){.students-list-page{gap:16px}.students-list-heading{min-height:70px}.students-toolbar{grid-template-columns:1fr;padding:9px}.students-filters{overflow-x:auto}.students-filters a{flex:1 1;min-width:max-content}.students-search{grid-template-columns:minmax(0,1fr) auto}.students-create-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.students-create-actions .button{grid-column:1/-1;grid-row:1}.student-list-card{min-height:88px;grid-template-columns:48px minmax(0,1fr) auto;padding:12px}.student-list-avatar{width:46px;height:46px}.student-list-status{max-width:120px;overflow:hidden;text-overflow:ellipsis}.students-list-meta{margin-bottom:6px}}@media(max-width:430px){.student-list-card{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto auto}.student-list-avatar{grid-row:1/3}.student-list-status{grid-column:2;grid-row:3;justify-self:start;margin-top:6px}.student-list-open{grid-column:2;grid-row:3;align-self:end}.students-search button{padding-inline:9px}}html{color-scheme:light;scrollbar-color:var(--color-border-strong) var(--color-background)}body{overflow-x:hidden;background:var(--color-background);font-feature-settings:"kern";font-kerning:normal;font-synthesis:none}::selection{background:var(--color-secondary);color:var(--color-text)}.page-stack,.workspace,main{min-width:0}.page-stack{gap:var(--space-section)}.profile-hero h1,.student-list-copy strong,.summary-card strong,h1,h2{font-feature-settings:"liga","clig";font-variant-ligatures:common-ligatures;text-rendering:optimizeLegibility}h1{max-width:18ch;font-weight:400;letter-spacing:-.028em}h1,h2{color:var(--color-text)}h2{font-weight:500;line-height:1.12}.page-heading{min-height:58px;align-items:center}.page-heading h1{margin:0}.page-heading .lede{margin-top:10px}.eyebrow{margin-bottom:7px;color:var(--color-primary);font-family:var(--font-ui);font-weight:700;letter-spacing:.11em}.lede,.muted,.section-help{color:var(--color-text-secondary)}.button,.secondary-button,button{border-radius:var(--radius-control);font-family:var(--font-ui);font-weight:650;box-shadow:none}.button,button{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.secondary-button{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.small-button{background:var(--color-primary-soft);color:var(--color-primary)!important}.heading-actions{gap:8px}.heading-actions .button,.heading-actions .secondary-button{min-height:40px;padding:8px 13px}input,select,textarea{font-family:var(--font-ui);accent-color:var(--color-primary)}.attendance-search input,.calendar-sheet input,.calendar-sheet select,.compact-control input,.entity-switcher select,.field input,.field select,.field textarea,.learning-entry-form input,.learning-entry-form select,.learning-entry-form textarea,.learning-search input,.lesson-search input,.lesson-search select,.payment-search input{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-secondary)}.compact-control>span,.field>span,.learning-entry-form label>span,.lesson-inline-field label>span{color:var(--color-text-secondary);font-family:var(--font-ui);font-weight:700}.attendance-mobile-card,.attendance-table-wrap,.calendar-month-grid,.calendar-week-desktop,.compact-schedule-panel,.empty-state,.entity-card,.finance-list,.finance-parent,.form-section,.learning-card,.learning-toolbar,.panel,.profile-hero,.students-toolbar,.summary-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft)}.compact-schedule-panel,.empty-state,.form-section,.panel,.profile-hero,.summary-card{border-radius:var(--radius-card)}.summary-card{min-height:142px}.summary-card span{color:var(--color-text-secondary);font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.summary-card small{color:var(--color-text-muted)}.panel{padding:clamp(20px,2vw,27px)}.panel-heading{gap:18px}.panel-heading a{flex:0 0 auto;font-size:.76rem}.empty-state{min-height:260px;border-style:dashed;box-shadow:none}.empty-badge{background:var(--color-primary-soft);color:var(--color-primary)}.attendance-filters,.calendar-filters,.calendar-view-toggle,.learning-filters,.payment-kind-filter,.payment-status-filter,.profile-tabs,.students-filters{border-color:var(--color-border);background:var(--color-surface-soft);box-shadow:none}.attendance-filters a,.calendar-filters a,.calendar-view-toggle a,.learning-filters a,.payment-kind-filter a,.payment-status-filter a,.profile-tabs a,.students-filters a{color:var(--color-text-secondary);font-family:var(--font-ui);font-weight:650}.attendance-filters a:hover,.calendar-filters a:hover,.calendar-view-toggle a:hover,.learning-filters a:hover,.payment-kind-filter a:hover,.payment-status-filter a:hover,.profile-tabs a:hover,.students-filters a:hover{background:var(--color-primary-soft);color:var(--color-primary)}.attendance-filters a.active,.calendar-filters a.active,.calendar-view-toggle a.active,.learning-filters a.active,.payment-kind-filter a.active,.payment-status-filter a.active,.students-filters a.active{background:var(--color-primary);color:var(--color-surface)}.lesson-history-status,.payment-status,.profile-meta a,.profile-meta span,.status-pill,.tag-list span{border:1px solid transparent;font-family:var(--font-ui);font-weight:650}.status-active,.status-paid,.status-present{background:color-mix(in srgb,var(--color-success) 9%,var(--color-surface));color:var(--color-success)}.status-expected,.status-paused{background:color-mix(in srgb,var(--color-warning) 10%,var(--color-surface));color:var(--color-warning)}.status-completed{background:var(--color-surface-soft);color:var(--color-text-muted)}.profile-hero{border-top:3px solid color-mix(in srgb,var(--entity-color) 30%,var(--color-border-strong));box-shadow:var(--shadow-card)}.profile-visual{background:color-mix(in srgb,var(--entity-color) 7%,var(--color-surface-soft));color:color-mix(in srgb,var(--entity-color) 30%,var(--color-text-secondary))}.profile-overview-grid{gap:12px}.profile-overview-grid .panel{min-height:168px}.profile-contexts>a,.profile-contexts>span{background:var(--color-surface-soft);color:var(--color-text-secondary)}.profile-actions{margin-top:12px}.profile-actions .button,.profile-actions .secondary-button{min-height:38px}.form-section{border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.calendar-sheet-content form,.learning-context-card,.member-row,.report-period,.report-preview,.report-sections,.schedule-slot-row{border-color:var(--color-border);background:var(--color-surface-soft)}.form-actions{padding-top:4px}.form-actions .button,.form-actions .secondary-button,.form-actions button{min-height:42px}.month-column{background:color-mix(in srgb,var(--color-background) 72%,var(--color-surface));box-shadow:none}.lesson-card,.month-column,.month-column>header{border-color:var(--color-border)}.lesson-card{border-left-color:color-mix(in srgb,var(--lesson-color) 36%,var(--color-border-strong));background:var(--color-surface);box-shadow:0 5px 16px rgba(62,37,38,.035)}.lesson-card:hover{box-shadow:0 9px 22px rgba(62,37,38,.07)}.lesson-panel-section,.manual-lesson-form,.reuse-list article,.selected-entity-strip,.stage-edit-row{border-color:var(--color-border);background:var(--color-surface)}.lesson-detail-panel{border-color:var(--color-border)}.attendance-controls,.calendar-toolbar,.payment-controls{gap:10px}.attendance-table td,.attendance-table th,.finance-parent-summary,.finance-row{border-color:var(--color-border)}.attendance-table th:last-child,.attendance-table thead th,.attendance-table thead th:first-child,.finance-parent-summary,.finance-table-head{background:var(--color-surface-soft);color:var(--color-text-secondary)}.attendance-mobile-entry,.finance-row>div:nth-child(n+3),.learning-note,.report-empty{background:var(--color-surface-soft)}.finance-summary article{border-color:var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft)}.finance-summary strong{font-family:var(--font-display);font-weight:500;color:var(--color-primary)}.finance-parent-summary{border-left-color:color-mix(in srgb,var(--entity-color) 28%,var(--color-border-strong))}.finance-dot{background:color-mix(in srgb,var(--entity-color) 32%,var(--color-border-strong))}.calendar-week-desktop>header>div,.calendar-week-desktop>header>span,.month-weekday{background:var(--color-surface-soft)}.calendar-day-column{background:var(--color-surface)}.calendar-day-column>i{border-color:var(--color-border)}.calendar-event{border-color:color-mix(in srgb,var(--event-color) 34%,var(--color-border));border-left-color:color-mix(in srgb,var(--event-color) 52%,var(--color-border-strong));background:color-mix(in srgb,var(--event-color) 6%,var(--color-surface));box-shadow:none}.calendar-event-completed{background:color-mix(in srgb,var(--event-color) 10%,var(--color-surface))}.calendar-month-day{border-color:var(--color-border)}.learning-toolbar{border-radius:var(--radius-panel)}.learning-card{border-left-color:var(--color-primary);box-shadow:var(--shadow-soft)}.learning-add-menu summary,.learning-report-open,.learning-scoped-add{min-height:42px;border-radius:var(--radius-control);font-size:.72rem}.learning-card>footer>*,.learning-filters a,.learning-type-picker a{background:var(--color-surface-soft)}.attendance-dialog,.calendar-sheet,.learning-sheet,.lesson-detail-panel,.payment-sheet{background:var(--color-surface);box-shadow:var(--shadow-float)}.calendar-sheet>header,.learning-sheet>header,.lesson-panel-header,.payment-sheet>header{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 96%,transparent)}.lesson-panel-footer{border-color:var(--color-border);background:var(--color-surface-soft)}@media(min-width:431px){.student-list-status{grid-column:3;grid-row:1;align-self:end}.student-list-open{grid-column:3;grid-row:2;align-self:start}}@media(max-width:900px){.page-stack{gap:20px}.page-heading{min-height:0}.form-section,.panel,.summary-card{box-shadow:none}.calendar-toolbar{align-items:stretch}}@media(max-width:560px){h1{font-size:2.1rem}.heading-actions .button,.heading-actions .secondary-button{min-height:42px}.profile-overview-grid .panel{min-height:0}}.empty-state h1,.empty-state h2,.empty-state p{overflow-wrap:anywhere}.finance-row>div,.history-row>div,.learning-overview-title,.panel-heading>div,.profile-identity{min-width:0}.finance-row strong,.history-row strong,.learning-card h2,.panel-heading h2{overflow-wrap:anywhere}@media(max-width:760px){.empty-state{padding-right:clamp(24px,5vw,54px)}}@media(max-width:430px){main{padding-inline:14px}.page-heading{gap:14px}.panel-heading{align-items:flex-start}.profile-hero{padding:17px}.profile-actions{width:100%}.profile-actions .button,.profile-actions .secondary-button{flex:1 1 140px}.student-list-copy small,.student-list-copy strong{max-width:100%}}@media(max-width:390px){.students-search{grid-template-columns:1fr}.students-search button{width:100%}.students-create-actions{grid-template-columns:1fr}.students-create-actions .button{grid-column:auto}.students-filters a{padding-inline:9px}.report-preview footer{grid-template-columns:1fr}.calendar-navigation strong{font-size:.78rem}}.settings-page{width:min(920px,100%)}.settings-form{display:grid;grid-gap:12px;gap:12px}.settings-section{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr);grid-gap:28px;gap:28px;align-items:start;padding:22px 24px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-soft)}.settings-section h2{margin:3px 0 0;font-size:1.12rem}.settings-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.settings-section .field input{min-height:42px;padding:9px 11px}.settings-section .field small{color:var(--color-text-muted);font-size:.66rem;line-height:1.4}.settings-section input[readonly]{background:var(--color-surface-soft);color:var(--color-text-secondary)}.settings-profile-fields{display:grid;grid-template-columns:84px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.settings-avatar-preview{display:grid;place-items:center;width:84px;height:84px;overflow:hidden;border:1px solid var(--color-border);border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-family:var(--font-display);font-size:30px}.settings-avatar-preview img{width:100%;height:100%;object-fit:cover}.settings-avatar-controls{display:grid;grid-gap:14px;gap:14px}.settings-data-section .secondary-button{min-height:40px;justify-content:flex-start}.settings-backup-control{display:grid;justify-items:start;grid-gap:8px;gap:8px}.settings-backup-control p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-meta);line-height:1.45}.settings-backup-control .settings-backup-error{color:var(--color-danger)}.settings-restore-control{display:grid;justify-items:start;grid-gap:10px;gap:10px;margin-top:12px}.settings-restore-file{position:relative;overflow:hidden;cursor:pointer}.settings-restore-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.settings-restore-preview{display:grid;grid-gap:14px;gap:14px;width:min(100%,620px);padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:rgba(255,253,249,.58)}.settings-restore-preview>strong{font-weight:600}.settings-restore-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 18px;gap:8px 18px;margin:0}.settings-restore-preview dl div{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.settings-restore-preview dt{color:var(--color-text-muted)}.settings-restore-preview dd{margin:0;font-weight:600}.settings-restore-confirm{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;font-size:14px;line-height:1.45}.settings-restore-confirm input{width:20px;height:20px;min-height:20px;margin:1px 0 0}.settings-restore-preview .danger-button{justify-self:start}@media(max-width:560px){.settings-restore-preview dl{grid-template-columns:1fr}.settings-restore-preview .danger-button{width:100%}}@media(max-width:760px){.attendance-filters,.calendar-filters,.calendar-view-toggle,.learning-filters,.learning-type-picker,.payment-kind-filter,.payment-status-filter,.profile-tabs,.students-filters{display:flex;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-padding-inline:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.attendance-filters::-webkit-scrollbar,.calendar-filters::-webkit-scrollbar,.calendar-view-toggle::-webkit-scrollbar,.learning-filters::-webkit-scrollbar,.learning-type-picker::-webkit-scrollbar,.payment-kind-filter::-webkit-scrollbar,.payment-status-filter::-webkit-scrollbar,.profile-tabs::-webkit-scrollbar,.students-filters::-webkit-scrollbar{display:none}.attendance-filters>a,.calendar-filters>a,.calendar-view-toggle>a,.demo-attendance-workspace .attendance-filters>button,.demo-calendar-workspace .calendar-filters>button,.demo-calendar-workspace .calendar-view-toggle>button,.demo-students-toolbar .students-filters>button,.learning-filters>a,.learning-filters>button,.learning-type-picker>a,.payment-kind-filter>a,.payment-status-filter>a,.profile-tabs>a,.students-filters>a{flex:0 0 auto;min-width:max-content;white-space:nowrap}.attendance-filters{grid-template-columns:none}.calendar-filters a,.payment-kind-filter a,.payment-status-filter a{min-width:max-content}.mobile-header{height:calc(58px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}main{padding-right:max(18px,env(safe-area-inset-right));padding-bottom:calc(44px + env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left))}.lesson-detail-panel{top:calc(64px + env(safe-area-inset-top));height:calc(100dvh - 64px - env(safe-area-inset-top))}.attendance-dialog-backdrop,.calendar-sheet-backdrop,.learning-sheet-backdrop,.mobile-menu-backdrop,.payment-sheet-backdrop{height:100dvh}.learning-sheet{padding-bottom:env(safe-area-inset-bottom)}.login-page{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}}@media(max-width:900px){.workspace{position:relative;isolation:isolate;overflow-x:clip}.workspace:after,.workspace:before{content:"";position:fixed;z-index:2;pointer-events:none;background-repeat:no-repeat;background-size:contain;filter:saturate(.88) contrast(.96)}.workspace:before{top:calc(74px + env(safe-area-inset-top));right:-42px;width:198px;height:264px;background-image:url(/assets/decor-branch-peach.png);background-position:100% 0;opacity:.48;transform:rotate(-7deg)}.workspace:after{left:-48px;bottom:calc(10px + env(safe-area-inset-bottom));width:182px;height:243px;background-image:url(/assets/decor-branch-sage.png);background-position:0 100%;opacity:.43;transform:rotate(8deg)}.workspace>.mobile-header{z-index:40}.workspace>main{position:relative;z-index:1}}@media(max-width:430px){.workspace:before{right:-50px;width:184px;height:245px;opacity:.46}.workspace:after{left:-54px;width:168px;height:224px;opacity:.4}}@media(max-height:620px) and (max-width:900px){.workspace:after{left:-62px;width:148px;height:197px;opacity:.34}}.settings-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:12px 0;background:linear-gradient(transparent,var(--color-background) 28%)}.settings-actions button{min-height:42px}.settings-feedback{margin:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:.75rem}.settings-feedback-success{background:color-mix(in srgb,var(--color-success) 8%,var(--color-surface));color:var(--color-success)}.settings-feedback-error{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));color:var(--color-danger)}@media(max-width:760px){.settings-section{gap:15px;padding:18px}.settings-fields,.settings-section{grid-template-columns:1fr}.settings-actions button{width:100%}.settings-profile-fields{grid-template-columns:68px minmax(0,1fr)}.settings-avatar-preview{width:68px;height:68px;font-size:25px}}.demo-slice{display:grid;grid-gap:14px;gap:14px}.demo-notice{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:.72rem}.demo-notice strong{padding:3px 7px;border-radius:999px;background:var(--color-primary);color:var(--color-surface);text-transform:uppercase;letter-spacing:.06em}.demo-navigation{display:flex;gap:5px;overflow-x:auto;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface)}.demo-navigation a{min-height:36px;display:grid;place-items:center;padding:7px 12px;border-radius:9px;color:var(--color-text-secondary);font-size:.72rem;font-weight:650;white-space:nowrap}.demo-navigation a:hover{background:var(--color-primary-soft);color:var(--color-primary)}.demo-readonly-toolbar{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-soft)}.demo-readonly-toolbar>input{min-width:180px;flex:1 1}.demo-readonly-toolbar button:disabled{margin-left:auto;cursor:not-allowed;opacity:.45}.demo-readonly-toolbar .calendar-view-toggle,.demo-readonly-toolbar .students-filters{display:flex;gap:4px}.demo-readonly-toolbar .calendar-view-toggle span,.demo-readonly-toolbar .students-filters span{padding:7px 10px;border-radius:9px;color:var(--color-text-secondary);font-size:.7rem}.demo-readonly-toolbar .calendar-view-toggle .active,.demo-readonly-toolbar .students-filters .active{background:var(--color-primary);color:var(--color-surface)}.demo-attendance-workspace .attendance-month-control>button,.demo-calendar-workspace .calendar-navigation>button{min-width:40px;height:40px;display:grid;place-items:center;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}.demo-attendance-workspace .attendance-month-control>button,.demo-calendar-workspace .calendar-navigation>button:first-child,.demo-calendar-workspace .calendar-navigation>button:nth-child(3){font-size:1.25rem}.demo-attendance-workspace .attendance-filters button,.demo-calendar-workspace .calendar-filters button,.demo-calendar-workspace .calendar-view-toggle button{min-height:40px;display:grid;place-items:center;padding:7px 15px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--muted);font-size:.75rem;font-weight:650}.demo-attendance-workspace .attendance-filters button:last-child,.demo-calendar-workspace .calendar-filters button:last-child,.demo-calendar-workspace .calendar-view-toggle button:last-child{border-right:0}.demo-attendance-workspace .attendance-filters button.active,.demo-calendar-workspace .calendar-filters button.active,.demo-calendar-workspace .calendar-view-toggle button.active{background:var(--color-primary);color:var(--color-surface)}.demo-calendar-workspace .calendar-event,.demo-calendar-workspace .month-event{text-align:left}.demo-calendar-workspace .calendar-sheet header>button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:9px;background:var(--color-surface-soft);color:var(--ink);font-size:1.25rem}.demo-calendar-workspace .calendar-mobile-day header>button{height:42px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:1.3rem}.demo-readonly-note{display:block;padding:0 2px;color:var(--muted);font-size:.68rem}.demo-attendance-workspace .attendance-search button:disabled{opacity:.5}.demo-attendance-workspace .attendance-dialog>.demo-readonly-note{padding:10px 2px 0}.calendar-month-day.is-outside{opacity:.48}.demo-static-card{cursor:default}.demo-static-card:hover{transform:none}.demo-month-board{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x proximity}.demo-month-board .month-column{min-height:470px}.demo-lesson-stack{display:grid;grid-gap:9px;gap:9px}.demo-lesson-card{cursor:default}.demo-grip{grid-column:1;display:grid;place-items:center;color:var(--color-text-muted);font-size:17px}.demo-lesson-copy{grid-column:2;min-width:0;display:grid;grid-gap:8px;gap:8px}.demo-lesson-copy>small{overflow:hidden;color:var(--color-text-secondary);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.demo-compact-list{display:grid;margin-top:12px}.demo-compact-list>div{display:grid;grid-template-columns:70px 8px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--color-border)}.demo-compact-list small,.demo-compact-list time{color:var(--color-text-muted);font-size:.68rem}.demo-compact-list i{width:8px;height:8px;border-radius:50%}.demo-compact-list span{min-width:0;display:grid;grid-gap:2px;gap:2px}.demo-calendar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.demo-calendar-list .calendar-lesson,.demo-calendar-list .calendar-lesson div{min-width:0}.demo-status{width:max-content;padding:3px 7px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:.62rem}.demo-finance-list{overflow:hidden}.demo-payment-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto auto;grid-gap:16px;gap:16px;align-items:center;padding:15px 18px;border-top:1px solid var(--color-border)}.demo-payment-row:first-child{border-top:0}.demo-payment-row>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.demo-payment-row small{overflow:hidden;color:var(--color-text-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}@media(max-width:760px){.demo-readonly-toolbar{align-items:stretch;flex-direction:column}.demo-readonly-toolbar button:disabled{width:100%;margin-left:0}.demo-calendar-list{grid-template-columns:1fr}.demo-payment-row{grid-template-columns:1fr auto}.demo-payment-row>div:nth-child(2){grid-column:1/-1;grid-row:2}.demo-payment-row>.payment-status{grid-column:2;grid-row:1}.demo-navigation a{flex:1 1}.demo-notice{align-items:flex-start;flex-direction:column}}.static-demo-main{width:min(1440px,100%);margin:0 auto;padding:clamp(18px,3vw,44px)}.static-demo-brand{display:flex;align-items:center;min-height:50px}.static-demo-brand a{display:flex;align-items:center;gap:10px;color:var(--color-text);font-family:var(--font-ui);font-weight:700}.static-demo-brand .brand-mark{width:38px;height:38px}.static-demo-main .demo-slice{gap:12px}@media(max-width:560px){.static-demo-main{padding:14px}}.demo-app-shell .primary-nav a{gap:10px}.demo-app-shell .primary-nav i{width:21px;color:inherit;font-style:normal;text-align:center}.demo-app-shell main{width:min(1380px,100%)}.demo-students-toolbar{display:grid;grid-template-columns:auto minmax(190px,1fr) auto}.demo-students-toolbar .students-filters button{min-height:34px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--color-text-secondary);font-size:.7rem}.demo-students-toolbar .students-filters button.active{background:var(--color-primary);color:var(--color-surface)}.demo-students-toolbar input{height:40px;padding:8px 11px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface)}.demo-result-count{color:var(--color-text-muted);font-size:.68rem}.demo-empty-compact{min-height:180px}.demo-back-link{width:max-content;color:var(--color-primary);font-size:.72rem;font-weight:650}.demo-profile-page{gap:16px}.demo-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.demo-profile-grid .panel{min-height:220px}.demo-profile-grid h2{font-size:1.05rem}.demo-finance-facts,.demo-progress-notes{display:grid;grid-gap:9px;gap:9px;margin-top:13px}.demo-finance-facts span,.demo-progress-notes p{display:grid;grid-gap:3px;gap:3px;margin:0;padding-top:8px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.7rem;line-height:1.45}.demo-finance-facts strong,.demo-progress-notes strong{color:var(--color-text);font-size:.72rem}.demo-history-list{margin-top:12px}.demo-attendance-list{overflow:hidden}.demo-attendance-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:14px 18px;border-top:1px solid var(--color-border)}.demo-attendance-row:first-child{border-top:0}.demo-attendance-row>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.demo-attendance-row small{overflow:hidden;color:var(--color-text-muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.demo-attendance-row time{font-size:.72rem;font-weight:650}.demo-attendance-status{padding:5px 8px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:.66rem;white-space:nowrap}.demo-attendance-status.status-present{background:color-mix(in srgb,var(--color-success) 9%,var(--color-surface));color:var(--color-success)}.demo-attendance-status.status-absent{background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));color:var(--color-danger)}.demo-attendance-status.status-planned{color:var(--color-text-muted)}.demo-settings-section input[readonly]{cursor:default}.demo-settings-note{padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-primary-soft);color:var(--color-primary);font-size:.72rem}@media(max-width:1050px){.demo-profile-grid{grid-template-columns:1fr 1fr}.demo-profile-grid .panel:last-child{grid-column:1/-1}}@media(max-width:760px){.demo-students-toolbar{display:flex}.demo-students-toolbar .students-filters{width:100%;overflow-x:auto}.demo-students-toolbar .students-filters button{flex:1 1;white-space:nowrap}.demo-profile-grid{grid-template-columns:1fr}.demo-profile-grid .panel:last-child{grid-column:auto}.demo-profile-grid .panel{min-height:0}.demo-attendance-row{grid-template-columns:1fr auto}.demo-attendance-row>div:nth-child(2){grid-column:1/-1;grid-row:2}.demo-attendance-status{grid-column:2;grid-row:1}.demo-profile-page .profile-hero{grid-template-columns:64px minmax(0,1fr);gap:14px}.demo-profile-page .profile-visual{width:64px;font-size:1.5rem}}:root{--color-background:#F4EFE5;--color-surface:#FFFDF9;--color-surface-soft:#F7F1E8;--color-primary:#68705A;--color-primary-hover:#565F4A;--color-primary-soft:#E8EBDD;--color-secondary:#CDA58D;--color-text:#25231F;--color-text-secondary:#6F6A61;--color-text-muted:#9D958A;--color-border:rgba(126,112,93,.16);--color-border-strong:rgba(126,112,93,.25);--color-success:#66775E;--color-warning:#9A743B;--color-danger:#A45F50;--color-sage:#E4E9DC;--color-peach:#F3E2D6;--color-sand:#EEE4D5;--surface-primary:rgba(255,253,249,.9);--surface-glass:rgba(255,255,255,.64);--surface-glass-strong:rgba(255,255,255,.72);--glass-border:rgba(255,255,255,.58);--glass-sidebar-bg:rgba(255,255,255,.46);--glass-card-bg:rgba(255,255,255,.53);--glass-control-bg:rgba(255,255,255,.54);--glass-border-highlight:rgba(255,255,255,.62);--glass-blur-strong:28px;--glass-blur-medium:24px;--glass-blur-control:22px;--surface-content-bg:rgba(255,253,249,.8);--surface-content-warm:rgba(255,249,242,.78);--shadow-glass:0 20px 58px rgba(91,70,47,.095),inset 1px 1px 0 rgba(255,255,255,.78);--shadow-card-glass:0 15px 36px rgba(95,73,49,.07),inset 1px 1px 0 rgba(255,255,255,.74);--shadow-content:0 18px 46px rgba(92,70,47,.09),inset 0 1px 0 rgba(255,255,255,.72);--radius-control:13px;--radius-panel:18px;--radius-card:23px;--shadow-card:0 14px 38px rgba(92,72,48,.065);--shadow-soft:0 9px 28px rgba(92,72,48,.05);--shadow-float:0 22px 58px rgba(83,65,44,.13)}html{background:var(--color-background)}body{background-color:var(--color-background);background-image:none}.sidebar{border-right-color:var(--glass-border);background:var(--surface-glass);box-shadow:10px 0 35px rgba(101,82,59,.035);-webkit-backdrop-filter:blur(20px) saturate(108%);backdrop-filter:blur(20px) saturate(108%)}.brand-mark{background:var(--color-primary);box-shadow:0 7px 18px rgba(84,96,72,.16)}.primary-nav a{color:var(--color-text-secondary)}.primary-nav a:hover{background:rgba(232,235,221,.76);color:var(--color-primary)}.primary-nav a.active{background:rgba(224,230,213,.86);color:var(--color-primary-hover);box-shadow:inset 0 0 0 1px rgba(104,112,90,.08)}.sidebar-account{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-account,.summary-grid .summary-card{border-color:var(--glass-border);background:var(--surface-glass-strong)}.summary-grid .summary-card{box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px) saturate(106%);backdrop-filter:blur(18px) saturate(106%)}.summary-grid .summary-card:first-child{background:color-mix(in srgb,var(--color-sage) 54%,rgba(255,255,255,.72))}.summary-grid .summary-card:nth-child(2){background:color-mix(in srgb,var(--color-peach) 48%,rgba(255,255,255,.74))}.summary-grid .summary-card:nth-child(3){background:color-mix(in srgb,var(--color-sand) 56%,rgba(255,255,255,.76))}.summary-card strong{color:var(--color-primary-hover)}.summary-grid+.content-grid>.panel{border-color:rgba(126,112,93,.14);background:var(--surface-primary);box-shadow:var(--shadow-card)}.summary-grid+.content-grid>.panel:last-child{background:color-mix(in srgb,var(--color-peach) 22%,var(--surface-primary))}.dashboard-lesson-list li{border-color:var(--color-border)}.attention-list{color:var(--color-text-secondary)}.attention-list li::marker{color:var(--color-warning)}.panel-heading a{color:var(--color-primary);text-underline-offset:3px}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.students-toolbar{border-color:var(--glass-border-highlight);background:var(--glass-control-bg);box-shadow:0 9px 24px rgba(91,70,47,.055),inset 1px 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(var(--glass-blur-control)) saturate(106%);backdrop-filter:blur(var(--glass-blur-control)) saturate(106%)}.button:focus-visible,.secondary-button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline-color:color-mix(in srgb,var(--color-primary) 42%,transparent)}.status-partially_paid{background:color-mix(in srgb,var(--color-peach) 56%,var(--color-surface));color:#815F51}.positive,.status-overpaid{background:color-mix(in srgb,var(--color-sage) 68%,var(--color-surface));color:var(--color-primary)}.mobile-header{border-bottom-color:var(--glass-border);background:var(--surface-glass-strong);-webkit-backdrop-filter:blur(18px) saturate(108%);backdrop-filter:blur(18px) saturate(108%)}.mobile-menu-sheet{background:rgba(255,253,249,.96)}.mobile-menu-sheet nav a.active{background:var(--color-primary-soft);color:var(--color-primary-hover)}@media(max-width:900px){.summary-grid .summary-card,.summary-grid+.content-grid>.panel{box-shadow:none}}@media(prefers-reduced-transparency:reduce){.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.mobile-header,.payment-controls,.profile-tabs,.sidebar,.students-toolbar,.summary-grid .summary-card{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.dashboard-lesson-list{display:grid;margin:14px 0 0;padding:0;list-style:none}.dashboard-lesson-list li{display:grid;grid-template-columns:74px 8px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--color-border)}.dashboard-lesson-list time{color:var(--color-text-secondary);font-size:.72rem;line-height:1.45}.dashboard-lesson-list i{width:8px;height:8px;border-radius:50%}.dashboard-lesson-list div{min-width:0;display:grid;grid-gap:3px;gap:3px}.dashboard-lesson-list small,.dashboard-lesson-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-empty,.dashboard-lesson-list small{color:var(--color-text-muted)}.dashboard-empty{display:grid;grid-gap:8px;gap:8px;place-content:center;min-height:170px;text-align:center}.dashboard-empty p{margin:0}.dashboard-empty a{color:var(--color-primary);font-weight:650}body{position:relative;isolation:isolate}body:before{content:"";position:fixed;z-index:-1;inset:0;width:100vw;height:100vh;pointer-events:none;background-image:url(/assets/tutorflow-background.png);background-size:cover;background-position:50%;background-repeat:no-repeat}body:has(.demo-app-shell):before{background-image:url(/teacher-dashboard/assets/tutorflow-background.png)}.app-shell{grid-template-columns:282px minmax(0,1fr)}.sidebar{top:14px;height:calc(100vh - 28px);margin:0 0 14px 14px;padding:25px 17px 17px;border:1px solid var(--glass-border-highlight);border-radius:24px;background:var(--glass-sidebar-bg);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(var(--glass-blur-strong)) saturate(110%);backdrop-filter:blur(var(--glass-blur-strong)) saturate(110%)}.primary-nav{gap:6px;margin-top:35px}.primary-nav a{gap:10px;padding:8px 9px;border:1px solid transparent;border-radius:14px}.primary-nav a.active{border-color:rgba(255,255,255,.66);background:linear-gradient(135deg,rgba(241,219,203,.82),rgba(232,235,221,.76));box-shadow:0 7px 18px rgba(101,79,54,.07),inset 0 1px 0 rgba(255,255,255,.72)}.nav-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:11px;color:var(--color-text-secondary);background:rgba(255,255,255,.3)}.primary-nav a.active .nav-icon{color:var(--color-primary-hover);background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.62)}.sidebar-account{margin-top:auto;border-color:rgba(255,255,255,.68);background:rgba(255,255,255,.52);box-shadow:0 9px 24px rgba(89,68,45,.07),inset 0 1px 0 rgba(255,255,255,.78)}.summary-grid{gap:14px}.summary-grid .summary-card{min-height:136px;display:grid;grid-template-columns:56px minmax(0,1fr);grid-gap:17px;gap:17px;align-items:center;padding:21px;border:1px solid var(--glass-border-highlight);box-shadow:var(--shadow-card-glass);-webkit-backdrop-filter:blur(var(--glass-blur-medium)) saturate(108%);backdrop-filter:blur(var(--glass-blur-medium)) saturate(108%)}.summary-grid .summary-card,.summary-grid .summary-card:first-child,.summary-grid .summary-card:nth-child(2),.summary-grid .summary-card:nth-child(3){background:var(--glass-card-bg)}.kpi-icon{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.66);border-radius:18px;color:var(--color-primary-hover);background:rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.summary-grid .summary-card:first-child .kpi-icon{color:#97604A;background:rgba(248,224,208,.56)}.summary-grid .summary-card:nth-child(2) .kpi-icon{color:#5E704D;background:rgba(226,233,215,.62)}.summary-grid .summary-card:nth-child(3) .kpi-icon{color:#8B673D;background:rgba(243,226,199,.6)}.kpi-copy{min-width:0;display:flex;align-self:stretch;flex-direction:column;justify-content:center}.kpi-copy strong{margin:7px 0 3px;line-height:1}.kpi-copy small{line-height:1.35}.summary-grid+.content-grid{gap:16px;align-items:stretch}.summary-grid+.content-grid>.panel{border:1px solid var(--glass-border-highlight);box-shadow:var(--shadow-content)}.dashboard-lessons-panel{background:var(--surface-content-bg)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-attention-panel{background:var(--surface-content-warm)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-attention-panel .panel-heading,.dashboard-lessons-panel .panel-heading{align-items:center}.dashboard-lesson-list{gap:7px;margin-top:17px}.dashboard-lesson-list li{grid-template-columns:72px 8px minmax(0,1fr);padding:10px 12px;border:1px solid rgba(126,112,93,.12);border-radius:13px;background:rgba(250,246,239,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.58)}.dashboard-lesson-list li:first-child{border-top:1px solid rgba(126,112,93,.12)}.attention-title{display:flex;align-items:center;gap:10px}.attention-title h2{margin:0}.dashboard-empty-icon,.panel-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(255,255,255,.65);border-radius:12px;background:rgba(248,224,208,.58);color:#96604A;font-family:var(--font-ui);font-weight:750;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.attention-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.46);color:var(--color-warning);font-size:.82rem}.dashboard-attention-panel .attention-list{display:grid;grid-gap:8px;gap:8px;margin-top:18px;padding:0;line-height:1.45;list-style:none}.dashboard-attention-panel .attention-list li{position:relative;padding:12px 12px 12px 40px;border:1px solid rgba(255,255,255,.5);border-radius:13px;background:rgba(255,255,255,.38);font-size:.78rem}.dashboard-attention-panel .attention-list li:before{content:"";position:absolute;left:15px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--color-warning);box-shadow:0 0 0 6px rgba(154,116,59,.09);transform:translateY(-50%)}.dashboard-empty{min-height:152px;padding:18px;border:1px dashed rgba(126,112,93,.2);border-radius:16px;background:rgba(238,228,213,.38)}.dashboard-empty-icon{width:40px;height:40px;margin:0 auto 2px;border-radius:14px;font-size:1rem}.dashboard-empty-icon.is-success{color:var(--color-success);background:rgba(226,233,215,.66)}.decorated-panel{position:relative;overflow:hidden;isolation:isolate}.decorated-panel>:not(.panel-decoration){position:relative;z-index:1}.panel-decoration{position:absolute;z-index:0;width:min(170px,38%);height:auto;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.18;object-fit:contain}.panel-decoration--bottom-right{right:-20px;bottom:-22px}.panel-decoration--top-right{right:-18px;top:-20px}.panel-decoration--bottom-left{left:-20px;bottom:-22px}@media(max-width:900px){.app-shell{display:block}.sidebar{display:none}.mobile-menu-sheet nav a{display:flex;align-items:center;gap:10px}.mobile-menu-sheet .nav-icon{background:var(--color-surface-soft)}.mobile-menu-sheet nav a.active .nav-icon{background:rgba(255,255,255,.55)}.summary-grid .summary-card,.summary-grid+.content-grid>.panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}body:before{background-position:58%}.panel-decoration{width:min(130px,32%);opacity:.12}}@media(max-width:560px){body:before{background-position:62%}.summary-grid .summary-card{min-height:116px;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:17px}.kpi-icon{width:46px;height:46px;border-radius:15px}.kpi-copy strong{font-size:1.85rem}.dashboard-lesson-list li{grid-template-columns:65px 7px minmax(0,1fr);padding-inline:9px}}@media(prefers-reduced-transparency:reduce){.dashboard-attention-panel,.sidebar,.summary-grid .summary-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface)!important}}:root{--surface-glass-light:rgba(255,255,255,.38);--surface-glass-medium:rgba(255,255,255,.5);--surface-working:rgba(255,253,249,.68);--surface-working-dense:rgba(255,253,249,.78);--surface-tinted-sage:rgba(228,233,220,.58);--surface-tinted-sand:rgba(238,228,213,.58);--surface-tinted-peach:rgba(243,226,214,.58);--surface-tinted-neutral:rgba(239,233,226,.58);--glass-highlight:rgba(255,255,255,.58);--shadow-working:0 14px 36px rgba(91,70,47,.075),inset 1px 1px 0 rgba(255,255,255,.62)}.sidebar{background:rgba(255,255,255,.34);-webkit-backdrop-filter:blur(30px) saturate(110%);backdrop-filter:blur(30px) saturate(110%)}.summary-grid .summary-card{-webkit-backdrop-filter:blur(25px) saturate(108%);backdrop-filter:blur(25px) saturate(108%)}.summary-grid .summary-card,.summary-grid .summary-card:first-child,.summary-grid .summary-card:nth-child(2),.summary-grid .summary-card:nth-child(3){background:var(--surface-glass-light)}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.students-toolbar{border:1px solid var(--glass-highlight);border-radius:var(--radius-panel);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(25px) saturate(108%);backdrop-filter:blur(25px) saturate(108%)}.attendance-filters,.calendar-filters,.calendar-view-toggle,.learning-filters,.payment-kind-filter,.payment-status-filter,.profile-tabs,.students-filters{background:rgba(255,255,255,.28);border-color:var(--glass-highlight)}.attendance-month-control label,.attendance-month-control>a,.attendance-search input,.calendar-filters,.calendar-navigation>a,.calendar-view-toggle,.entity-switcher select,.lesson-search input,.lesson-search select,.payment-kind-filter,.payment-month label,.payment-month>a,.payment-search input,.payment-status-filter,.students-search input{border-color:rgba(255,255,255,.54);background:rgba(255,255,255,.43);box-shadow:inset 1px 1px 0 rgba(255,255,255,.55)}.compact-schedule-panel,.form-section,.history-row,.learning-card,.panel,.profile-hero,.student-finance-contexts>article{border-color:var(--glass-highlight);background:var(--surface-working);box-shadow:var(--shadow-working);-webkit-backdrop-filter:blur(15px) saturate(104%);backdrop-filter:blur(15px) saturate(104%)}.compact-schedule-panel,.form-section,.panel,.profile-hero{border-radius:var(--radius-card)}.profile-hero{background:rgba(255,253,249,.62)}.compact-schedule-panel,.profile-overview-grid .panel:nth-child(2n),.student-finance-contexts>article{background:var(--surface-glass-medium)}.profile-contexts>a,.profile-contexts>span,.profile-meta a,.profile-meta span,.tag-list span{background:rgba(255,255,255,.38);border-color:rgba(255,255,255,.5)}.lessons-toolbar{padding:12px;top:10px;background:var(--surface-glass-light)}.manual-lesson-form,.selected-entity-strip,.tag-filter summary,.tag-filter>div{border-color:var(--glass-highlight);background:var(--surface-glass-medium);box-shadow:inset 1px 1px 0 rgba(255,255,255,.52)}.month-column{border-radius:var(--radius-card);background:rgba(244,238,228,.58);box-shadow:inset 1px 1px 0 rgba(255,255,255,.45);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.lesson-card{border-color:rgba(255,255,255,.5);border-left-color:color-mix(in srgb,var(--lesson-color) 30%,var(--color-border-strong));border-radius:var(--radius-panel);background:rgba(255,253,249,.62);box-shadow:0 6px 18px rgba(91,70,47,.045),inset 1px 1px 0 rgba(255,255,255,.48);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.lesson-card:hover{border-color:color-mix(in srgb,var(--lesson-color) 24%,var(--glass-highlight));box-shadow:0 10px 24px rgba(91,70,47,.075)}.lesson-card-tags span,.stage-count{background:rgba(255,255,255,.38);color:var(--color-text-secondary)}.add-month-lesson{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.36)}.entity-card,.student-list-card{border-color:var(--glass-highlight);border-left-color:color-mix(in srgb,var(--entity-color) 22%,var(--color-border-strong));border-radius:var(--radius-panel);background:rgba(255,255,255,.55);box-shadow:var(--shadow-card-glass);-webkit-backdrop-filter:blur(18px) saturate(104%);backdrop-filter:blur(18px) saturate(104%)}.entity-card:hover,.student-list-card:hover{border-color:rgba(255,255,255,.72);border-left-color:color-mix(in srgb,var(--entity-color) 29%,var(--color-border-strong));box-shadow:0 13px 30px rgba(91,70,47,.075)}.entity-visual,.student-list-avatar{background:color-mix(in srgb,var(--entity-color) 6%,rgba(255,255,255,.48))}.attendance-controls{padding:10px}.attendance-dialog,.attendance-mobile-card,.attendance-table-wrap{border-color:var(--glass-highlight);border-radius:var(--radius-panel);background:var(--surface-working-dense);box-shadow:var(--shadow-working)}.attendance-table th:last-child,.attendance-table thead th,.attendance-table thead th:first-child{background:rgba(247,242,234,.86)}.attendance-table tbody th{background:rgba(255,253,249,.74)}.attendance-table td,.attendance-table th{border-color:rgba(126,112,93,.12)}.attendance-mobile-entry{background:rgba(247,242,234,.72)}.status-planned{color:var(--color-text-muted);background:var(--surface-tinted-neutral)}.status-rescheduled{color:#8B6847;background:var(--surface-tinted-sand)}.status-cancelled{color:var(--color-danger);background:var(--surface-tinted-peach)}.payment-controls{padding:10px}.finance-summary article{border-color:var(--glass-highlight);border-radius:var(--radius-panel);box-shadow:var(--shadow-card-glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.finance-summary article:first-child{background:var(--surface-tinted-sage)}.finance-summary article:nth-child(2){background:var(--surface-tinted-sand)}.finance-summary article:nth-child(3){background:var(--surface-tinted-peach)}.finance-summary article:nth-child(4){background:var(--surface-tinted-neutral)}.finance-list,.finance-parent{border-color:var(--glass-highlight);background:var(--surface-working-dense);box-shadow:var(--shadow-working)}.finance-list{border-radius:var(--radius-panel)}.finance-parent-summary,.finance-table-head{background:rgba(247,242,234,.76)}.finance-parent-summary:hover{background:rgba(243,236,226,.82)}.finance-row{border-color:rgba(126,112,93,.12)}.finance-row>div:nth-child(n+3){background:rgba(247,242,234,.58)}.status-paid{background:var(--surface-tinted-sage);color:var(--color-success)}.status-expected{background:var(--surface-tinted-sand);color:var(--color-warning)}.status-partially_paid{background:var(--surface-tinted-peach);color:#8B5D4F}.status-overpaid{background:var(--surface-tinted-neutral);color:var(--color-primary)}.positive{color:var(--color-success)}.negative{color:var(--color-danger)}.calendar-toolbar{padding:10px}.calendar-month-grid,.calendar-week-desktop{border-color:var(--glass-highlight);border-radius:var(--radius-panel);background:var(--surface-working-dense);box-shadow:var(--shadow-working)}.calendar-week-desktop>header>div,.calendar-week-desktop>header>span,.month-weekday{background:rgba(247,242,234,.84)}.calendar-day-column{background:rgba(255,253,249,.72)}.calendar-day-column.today{background:rgba(232,235,221,.58)}.calendar-day-column>i,.calendar-month-day,.month-weekday{border-color:rgba(126,112,93,.12)}.calendar-event{background:color-mix(in srgb,var(--event-color) 5%,rgba(255,253,249,.72))}.calendar-event-completed{background:color-mix(in srgb,var(--event-color) 9%,rgba(255,253,249,.74))}.calendar-reschedule{border-color:rgba(154,116,59,.2)!important;background:var(--surface-tinted-sand)!important}.settings-section{border-color:var(--glass-highlight);border-radius:var(--radius-card);background:var(--surface-glass-medium);box-shadow:var(--shadow-card-glass);-webkit-backdrop-filter:blur(20px) saturate(105%);backdrop-filter:blur(20px) saturate(105%)}.settings-section:nth-child(2n){background:rgba(243,226,214,.46)}.settings-section input[readonly]{background:rgba(247,242,234,.64)}.settings-actions{padding:12px;border-radius:var(--radius-panel);background:var(--surface-glass-light);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}@media(max-width:900px){.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.students-toolbar{box-shadow:inset 1px 1px 0 rgba(255,255,255,.55)}.attendance-mobile-card,.attendance-table-wrap,.calendar-month-grid,.calendar-week-desktop,.compact-schedule-panel,.entity-card,.finance-list,.form-section,.panel,.profile-hero,.settings-section,.student-list-card{box-shadow:inset 1px 1px 0 rgba(255,255,255,.5)}}@media(prefers-reduced-transparency:reduce){.attendance-controls,.calendar-toolbar,.entity-card,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.settings-section,.student-list-card,.students-toolbar{background:var(--color-surface-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.attendance-mobile-card,.attendance-table-wrap,.calendar-month-grid,.calendar-week-desktop,.compact-schedule-panel,.finance-list,.form-section,.panel,.profile-hero{background:var(--color-surface);-webkit-backdrop-filter:none;backdrop-filter:none}}:root{--surface-glass-light:rgba(255,255,255,.29);--surface-glass-medium:rgba(255,255,255,.36);--surface-finance-received:rgba(228,233,220,.32);--surface-finance-earned:rgba(238,228,213,.32);--surface-finance-expected:rgba(243,226,214,.32);--surface-finance-credits:rgba(239,233,226,.32)}.sidebar{background:rgba(255,255,255,.26);-webkit-backdrop-filter:blur(32px) saturate(112%);backdrop-filter:blur(32px) saturate(112%)}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.students-toolbar{-webkit-backdrop-filter:blur(28px) saturate(110%);backdrop-filter:blur(28px) saturate(110%)}.summary-grid .summary-card,.summary-grid .summary-card:first-child,.summary-grid .summary-card:nth-child(2),.summary-grid .summary-card:nth-child(3){background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(26px) saturate(110%);backdrop-filter:blur(26px) saturate(110%)}.compact-schedule-panel,.entity-card,.profile-overview-grid .panel:nth-child(2n),.settings-section,.student-finance-contexts>article,.student-list-card{-webkit-backdrop-filter:blur(26px) saturate(108%);backdrop-filter:blur(26px) saturate(108%)}.month-column{border-color:rgba(255,255,255,.5);background:rgba(255,253,249,.46);box-shadow:inset 1px 1px 0 rgba(255,255,255,.58);-webkit-backdrop-filter:blur(20px) saturate(106%);backdrop-filter:blur(20px) saturate(106%)}.month-column.is-drop-target{outline-color:color-mix(in srgb,var(--color-primary) 34%,transparent)}.empty-month{background:rgba(255,255,255,.2);color:var(--color-text-muted)}.empty-month,.lesson-card{border-color:rgba(255,255,255,.48)}.lesson-card{gap:10px;min-height:128px;padding:16px;border-left:3px solid color-mix(in srgb,var(--lesson-color) 54%,var(--color-border-strong));background:rgba(255,255,255,.48);box-shadow:0 7px 19px rgba(91,70,47,.045),inset 1px 1px 0 rgba(255,255,255,.52);-webkit-backdrop-filter:none;backdrop-filter:none}.lesson-card>a{gap:9px}.lesson-card-time{color:var(--color-text-muted);font-size:.67rem;line-height:1.3}.lesson-card h3{font-size:.94rem;font-weight:650;color:var(--color-text)}.lesson-card-tags{gap:5px}.lesson-card-tags span{padding:3px 7px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.26);color:var(--color-text-secondary);font-size:.61rem}.lesson-card footer{margin-top:1px;padding-top:8px;border-top:1px solid rgba(126,112,93,.1);color:var(--color-text-muted);line-height:1.35}.lesson-card-completed{background:rgba(255,255,255,.48)}.lesson-card-completed footer span:last-child{display:inline-flex;align-items:center;gap:5px;color:var(--color-success);font-weight:700}.lesson-card-completed footer span:last-child:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px rgba(102,119,94,.1)}.lesson-card:hover{border-color:color-mix(in srgb,var(--lesson-color) 28%,rgba(255,255,255,.5));border-left-color:color-mix(in srgb,var(--lesson-color) 62%,var(--color-border-strong));background:rgba(255,255,255,.51);box-shadow:0 10px 24px rgba(91,70,47,.065)}.lesson-card.active{border-color:color-mix(in srgb,var(--lesson-color) 40%,rgba(255,255,255,.55));border-left-color:color-mix(in srgb,var(--lesson-color) 72%,var(--color-border-strong));background:rgba(255,255,255,.49);box-shadow:0 10px 25px rgba(91,70,47,.07),0 0 0 1px color-mix(in srgb,var(--lesson-color) 14%,transparent),inset 1px 1px 0 rgba(255,255,255,.58)}.lesson-drag-handle{color:color-mix(in srgb,var(--color-text-muted) 72%,transparent);opacity:.75}.lesson-drag-handle:hover{background:rgba(255,255,255,.26);color:color-mix(in srgb,var(--lesson-color) 56%,var(--color-text-secondary));opacity:1}.homework-warning{justify-self:start;width:max-content;max-width:100%;padding:4px 7px;border:1px solid rgba(154,116,59,.12);border-radius:999px;background:rgba(238,228,213,.52);font-size:.62rem;font-weight:700;line-height:1.3}.lesson-card-overlay{background:rgba(255,255,255,.58);box-shadow:0 18px 42px rgba(91,70,47,.12)}.finance-summary article:first-child{background:var(--surface-finance-received)}.finance-summary article:nth-child(2){background:var(--surface-finance-earned)}.finance-summary article:nth-child(3){background:var(--surface-finance-expected)}.finance-summary article:nth-child(4){background:var(--surface-finance-credits)}.lesson-detail-panel{border-color:rgba(126,112,93,.16);background:rgba(255,253,249,.88);box-shadow:-18px 0 48px rgba(91,70,47,.13);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.lesson-panel-footer,.lesson-panel-header{border-color:rgba(126,112,93,.14);background:rgba(250,246,239,.86)}.lesson-panel-section,.reuse-list article,.stage-edit-row{border-color:rgba(126,112,93,.14);background:rgba(247,242,234,.74)}.lesson-detail-panel input,.lesson-detail-panel select,.lesson-detail-panel textarea,.lesson-inline-field input,.lesson-inline-field textarea{border-color:rgba(126,112,93,.2);background:rgba(255,253,249,.9)}.entity-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.entity-primary{display:block;color:var(--color-text);font-weight:700;line-height:1.25}.entity-secondary{display:block;color:var(--color-text-muted);font-size:.65rem;line-height:1.3}.finance-person{gap:10px}.finance-person>.entity-meta{display:flex;gap:6px}.finance-person .entity-primary,.finance-person .entity-secondary{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.payment-sheet>header>div{gap:6px}.payment-sheet>header h2{margin-bottom:0}.payment-sheet>header span{display:block;color:var(--color-text-muted)}@media(max-width:760px){.month-column{background:rgba(255,253,249,.5);-webkit-backdrop-filter:blur(17px);backdrop-filter:blur(17px)}.lesson-card{padding:15px}}:root{--font-size-body:16px;--font-size-secondary:14px;--font-size-meta:13px;--font-size-control:15px;--font-size-table:15px;--font-size-table-head:13px;--control-height:46px;--control-height-icon:42px;--space-xs:6px;--space-sm:10px;--space-md:16px;--space-lg:24px;--space-xl:32px;--surface-glass-light:rgba(255,255,255,.25);--surface-glass-medium:rgba(255,255,255,.34);--surface-working:rgba(255,253,249,.62);--surface-working-dense:rgba(255,253,249,.84);--glass-border:rgba(255,255,255,.56);--glass-highlight:rgba(255,255,255,.62)}body{font-size:var(--font-size-body);line-height:1.5}h1{font-size:clamp(42px,4vw,52px);line-height:1.04}.panel-heading h2,h2{font-size:clamp(22px,2vw,26px);line-height:1.15}.page-stack{gap:var(--space-xl)}.page-heading{gap:var(--space-lg)}.lede,.page-heading p,.panel p{font-size:var(--font-size-secondary);line-height:1.48}.button,.secondary-button,button,input,select{min-height:var(--control-height);font-size:var(--font-size-control);line-height:1.35}.button,.secondary-button,button{padding:10px 16px}textarea{font-size:var(--font-size-control);line-height:1.5}main .page-stack small{font-size:var(--font-size-secondary);line-height:1.45}.page-stack button:not(.lesson-drag-handle):not(.mobile-month-arrow):not(.remove-planning-month){min-height:var(--control-height);font-size:var(--font-size-control)}.field{gap:var(--space-sm)}.compact-control>span,.field legend,.field span,.field>span,.learning-entry-form label>span,.lesson-inline-field label>span{font-size:var(--font-size-meta);line-height:1.4}.field small,.settings-section .field small{font-size:var(--font-size-meta);line-height:1.45}.attendance-filters a,.calendar-filters a,.calendar-view-toggle a,.learning-filters a,.payment-kind-filter a,.payment-status-filter a,.profile-tabs a,.students-filters a{min-height:44px;padding:10px 14px;font-size:var(--font-size-secondary);line-height:1.35}.sidebar{background:rgba(255,255,255,.22);border-color:var(--glass-highlight);box-shadow:0 22px 64px rgba(91,70,47,.11),inset 1px 1px 0 rgba(255,255,255,.82);-webkit-backdrop-filter:blur(34px) saturate(114%);backdrop-filter:blur(34px) saturate(114%)}.brand{gap:12px;font-size:20px;line-height:1.25}.brand-mark{width:40px;font-size:20px}.primary-nav{gap:var(--space-sm);margin-top:var(--space-xl)}.primary-nav a{min-height:48px;gap:12px;padding:10px 12px;font-size:16px;line-height:1.4}.nav-icon{width:38px;height:38px}.nav-icon svg{width:21px;height:21px}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.profile-tabs,.students-toolbar{border-color:var(--glass-highlight);background:var(--surface-glass-light);box-shadow:0 20px 56px rgba(91,70,47,.1),inset 1px 1px 0 rgba(255,255,255,.82);-webkit-backdrop-filter:blur(30px) saturate(114%);backdrop-filter:blur(30px) saturate(114%)}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.students-toolbar{gap:var(--space-md);padding:var(--space-md)}.summary-grid .summary-card,.summary-grid .summary-card:first-child,.summary-grid .summary-card:nth-child(2),.summary-grid .summary-card:nth-child(3){background:rgba(255,255,255,.29);border-color:var(--glass-highlight);box-shadow:0 18px 48px rgba(91,70,47,.09),inset 1px 1px 0 rgba(255,255,255,.82);-webkit-backdrop-filter:blur(28px) saturate(112%);backdrop-filter:blur(28px) saturate(112%)}.summary-card small,.summary-card span{font-size:var(--font-size-secondary);line-height:1.45}.summary-card strong{font-size:2.35rem}.compact-schedule-panel,.entity-card,.profile-overview-grid .panel:nth-child(2n),.settings-section,.student-finance-contexts>article,.student-list-card{background:var(--surface-glass-medium);border-color:var(--glass-highlight);box-shadow:0 15px 38px rgba(91,70,47,.08),inset 1px 1px 0 rgba(255,255,255,.76);-webkit-backdrop-filter:blur(28px) saturate(110%);backdrop-filter:blur(28px) saturate(110%)}.form-section,.history-row,.learning-card,.panel,.profile-hero{background:var(--surface-working);border-color:var(--glass-highlight);box-shadow:0 16px 42px rgba(91,70,47,.08),inset 1px 1px 0 rgba(255,255,255,.7)}.attendance-dialog,.attendance-mobile-card,.attendance-table-wrap,.calendar-month-grid,.calendar-sheet,.calendar-week-desktop,.finance-list,.finance-parent,.learning-sheet,.lesson-detail-panel,.payment-sheet{background:var(--surface-working-dense)}.student-list-card{min-height:96px;padding:16px}.student-list-copy{gap:var(--space-xs)}.student-list-copy strong{font-size:17px;line-height:1.3}.student-list-copy small{font-size:var(--font-size-secondary);line-height:1.45}.student-list-status{padding:6px 10px;font-size:var(--font-size-meta)}.student-list-open{font-size:var(--font-size-secondary)}.profile-contexts>a,.profile-contexts>span,.profile-meta a,.profile-meta span{font-size:var(--font-size-meta);line-height:1.4}.profile-actions{gap:var(--space-sm)}.profile-actions .button,.profile-actions .secondary-button{min-height:44px;padding:9px 14px;font-size:var(--font-size-secondary)}.month-board{gap:var(--space-md)}.month-column{padding:var(--space-md)}.month-column>header h2{font-size:22px}.month-column>header span{font-size:var(--font-size-meta)}.lesson-card{padding:var(--space-md);box-shadow:0 10px 26px rgba(91,70,47,.075),inset 1px 1px 0 rgba(255,255,255,.66)}.lesson-card,.lesson-card>a{gap:var(--space-sm)}.lesson-card footer,.lesson-card-time{font-size:var(--font-size-meta)}.lesson-card h3{font-size:17px}.lesson-card-tags{gap:var(--space-xs)}.lesson-card-tags span{padding:5px 8px;font-size:var(--font-size-meta);line-height:1.3}.lesson-card footer{padding-top:var(--space-sm)}.lesson-drag-handle{min-height:42px;font-size:20px}.homework-warning{padding:6px 9px;font-size:var(--font-size-meta)}.attendance-table td,.attendance-table th{height:84px;padding:14px 16px;font-size:var(--font-size-table);line-height:1.4}.attendance-table thead th{height:68px;font-size:var(--font-size-table-head);line-height:1.4}.attendance-table tbody th strong{font-size:16px;line-height:1.4}.attendance-table tbody th span{font-size:var(--font-size-secondary);line-height:1.45}.attendance-ratio,.attendance-value{min-width:44px;height:44px;font-size:18px}.attendance-ratio{font-size:var(--font-size-secondary)}.attendance-total{font-size:16px}.attendance-month-control>a,.calendar-navigation>a,.payment-month>a{width:44px;height:44px;font-size:20px}.attendance-month-control label,.payment-month label{min-height:44px;font-size:var(--font-size-secondary)}.attendance-search input,.payment-search input{height:46px}.finance-summary{gap:var(--space-md)}.finance-summary article{min-height:104px;gap:var(--space-sm);padding:16px 18px}.finance-summary span{font-size:var(--font-size-secondary);line-height:1.4}.finance-summary strong{font-size:1.55rem;line-height:1.2}.finance-row,.finance-table-head{gap:var(--space-md)}.finance-table-head{padding:14px 16px;font-size:var(--font-size-table-head);line-height:1.4}.finance-parent-summary{padding:16px;font-size:var(--font-size-table);line-height:1.4}.finance-parent-summary small{font-size:var(--font-size-secondary);line-height:1.45}.finance-parent-summary b{font-size:15px}.finance-row{min-height:96px;padding:15px 16px}.finance-row>div{gap:var(--space-xs)}.finance-person .entity-primary,.finance-row strong{font-size:16px;line-height:1.4}.finance-person .entity-secondary,.finance-row a,.finance-row small{font-size:var(--font-size-meta);line-height:1.45}.payment-status{padding:6px 10px;line-height:1.35}.payment-status,.small-button{font-size:var(--font-size-meta)}.small-button{min-height:40px;padding:8px 11px}.calendar-navigation strong,.calendar-week-desktop>header strong{font-size:var(--font-size-secondary)}.calendar-time-axis span,.calendar-week-desktop>header span,.month-weekday{font-size:var(--font-size-meta)}.calendar-week-desktop .calendar-event small,.calendar-week-desktop .calendar-event span,.calendar-week-desktop .calendar-event-time{font-size:13px;line-height:1.35}.calendar-week-desktop .calendar-event strong{font-size:14px;line-height:1.35}.calendar-month-day small,.calendar-month-day>time,.month-event{font-size:var(--font-size-meta);line-height:1.35}.history-row strong,.learning-card strong,.learning-overview strong{font-size:15px;line-height:1.4}.history-row span,.history-row time,.learning-card p,.learning-card span{font-size:var(--font-size-secondary);line-height:1.45}.learning-add-menu a,.learning-add-menu summary,.learning-filters a,.learning-filters button,.learning-report-open{font-size:var(--font-size-secondary)}.learning-entry-form input,.learning-entry-form select,.learning-entry-form textarea,.learning-search input,.report-preview textarea{font-size:var(--font-size-control)}.settings-section{padding:var(--space-lg);gap:var(--space-lg)}.settings-section h2{font-size:24px}.settings-fields{gap:var(--space-md)}@media(max-width:900px){h1{font-size:clamp(36px,8vw,44px)}.page-stack{gap:var(--space-lg)}.attendance-controls,.calendar-toolbar,.learning-toolbar,.lessons-toolbar,.payment-controls,.students-toolbar{padding:var(--space-sm)}.form-section,.panel,.summary-grid .summary-card{box-shadow:inset 1px 1px 0 rgba(255,255,255,.7)}}@media(max-width:560px){body{font-size:15px}h1{font-size:36px}.lesson-card h3{font-size:16px}.student-list-card{min-height:92px;padding:14px}}.lessons-workspace{--lesson-gap-small:8px;--lesson-gap-medium:12px;--lesson-gap-section:16px;--lesson-gap-block:22px;--lesson-surface-soft:rgba(247,242,234,.66);--lesson-surface-field:rgba(255,253,249,.76);--lesson-border:rgba(126,112,93,.16);--lesson-dnd-accent:rgba(205,165,141,.5)}.lessons-toolbar{gap:var(--lesson-gap-section)}.entity-switcher>span,.lesson-search label,.selected-entity-strip small,.tag-filter summary{font-size:14px;line-height:1.4;font-weight:600}.month-column{padding:var(--lesson-gap-section)}.month-column>header{padding:4px 4px var(--lesson-gap-medium)}.month-column>header h2{font-size:21px;font-weight:500}.month-column.is-drop-target{outline:2px dashed rgba(181,145,117,.42);outline-offset:-3px;background:rgba(255,253,249,.47);box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}.lesson-card{grid-template-columns:24px minmax(0,1fr);gap:var(--lesson-gap-small);padding:14px 15px 14px 12px;border-left:3px solid rgba(255,255,255,.48)}.lesson-card:before{content:"";position:absolute;left:-3px;top:12px;bottom:12px;width:6px;border-radius:0 4px 4px 0;background:color-mix(in srgb,var(--lesson-color) 64%,var(--color-border-strong));pointer-events:none}.lesson-card>a{gap:var(--lesson-gap-small)}.lesson-card h3{font-size:16px;font-weight:600;line-height:1.4}.lesson-card footer,.lesson-card-time{font-size:14px;line-height:1.4}.lesson-card footer{gap:var(--lesson-gap-small);padding-top:var(--lesson-gap-small);border-top-color:rgba(126,112,93,.09)}.lesson-card-tags{gap:8px}.homework-warning,.lesson-card-tags span{min-height:30px;display:inline-flex;align-items:center;padding:5px 11px;border:1px solid rgba(126,112,93,.13);border-radius:999px;background:rgba(238,228,213,.62);color:var(--color-text-secondary);font-size:14px;font-weight:500;line-height:1.25}.homework-warning{color:var(--color-warning);font-weight:600}.lesson-card-completed footer span:last-child{font-weight:600}.lesson-card-completed footer span:last-child:before{width:5px;height:5px;box-shadow:none}.lesson-drag-handle{align-self:center;width:24px;height:40px;min-height:40px;border-radius:8px;background:transparent;color:#9D958A;font-size:17px;opacity:.58}.lesson-drag-handle:focus-visible,.lesson-drag-handle:hover{background:rgba(238,228,213,.42);color:#6F6A61;opacity:1}.lesson-card.active{border-color:color-mix(in srgb,var(--lesson-color) 36%,rgba(255,255,255,.58));border-left-color:rgba(255,255,255,.48);box-shadow:0 9px 23px rgba(91,70,47,.065),0 0 0 1px color-mix(in srgb,var(--lesson-color) 12%,transparent),inset 1px 1px 0 rgba(255,255,255,.58)}.lesson-card.active:before{background:color-mix(in srgb,var(--lesson-color) 76%,var(--color-border-strong))}.lesson-card.is-dragging{opacity:.9;background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.48);box-shadow:0 14px 32px rgba(91,70,47,.1),inset 1px 1px 0 rgba(255,255,255,.66)}.lesson-card-overlay{opacity:.94;background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.52);box-shadow:0 20px 44px rgba(91,70,47,.14);transform:rotate(.5deg) scale(1.01)}.month-board.is-saving{opacity:.82}.lesson-detail-panel{background:rgba(255,253,249,.84);border-left-color:rgba(255,255,255,.64);box-shadow:-16px 0 44px rgba(91,70,47,.11),inset 1px 0 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(18px) saturate(106%);backdrop-filter:blur(18px) saturate(106%)}.lesson-panel-header{align-items:center;padding:18px 22px;border-top-width:3px;background:rgba(250,246,239,.72)}.lesson-panel-header>div{gap:5px}.lesson-panel-header span{font-size:13px;line-height:1.4}.lesson-panel-header strong{font-size:19px;font-weight:600;line-height:1.3}.lesson-panel-header>a{width:40px;height:40px;border:1px solid rgba(126,112,93,.12);border-radius:11px;background:rgba(247,242,234,.68);color:var(--color-text-secondary);font-size:20px}.lesson-panel-actions{display:flex;align-items:center;gap:8px}.lesson-panel-actions>a,.lesson-plan-clear{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(126,112,93,.12);border-radius:11px;background:rgba(247,242,234,.68);color:var(--color-text-secondary)}.lesson-panel-actions>a{font-size:20px}.lesson-plan-clear svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.lesson-plan-clear:focus-visible,.lesson-plan-clear:hover{border-color:color-mix(in srgb,var(--color-danger) 28%,transparent);background:color-mix(in srgb,var(--color-danger) 7%,transparent);color:var(--color-danger)}.lesson-plan-clear:disabled{cursor:wait;opacity:.5}.lesson-panel-scroll{gap:var(--lesson-gap-block);padding:22px 22px 30px}.lesson-inline-field,.lesson-inline-field>label{gap:var(--lesson-gap-small)}.lesson-color-control>span,.lesson-inline-field>label>span,.lesson-section-heading h3{font-size:14px;font-weight:600;line-height:1.4}.lesson-inline-field small,.lesson-section-heading span,.reuse-list span{font-size:13px;line-height:1.4}.lesson-detail-panel input,.lesson-detail-panel select,.lesson-detail-panel textarea,.lesson-inline-field input,.lesson-inline-field textarea{min-height:46px;padding:10px 12px;border:1px solid var(--lesson-border);border-radius:12px;background:var(--lesson-surface-field);font-size:15px;font-weight:400;line-height:1.5;box-shadow:inset 0 1px 0 rgba(255,255,255,.58)}.lesson-panel-scroll>.lesson-inline-field:first-child input{font-size:16px;font-weight:600}.lesson-inline-field textarea{padding-block:11px}.lesson-detail-panel select:focus,.lesson-inline-field input:focus,.lesson-inline-field textarea:focus{border-color:color-mix(in srgb,var(--entity-color) 32%,var(--color-border-strong));background:rgba(255,253,249,.9);box-shadow:0 0 0 3px color-mix(in srgb,var(--entity-color) 8%,transparent);outline:0}.lesson-color-control{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;grid-gap:var(--lesson-gap-medium);gap:var(--lesson-gap-medium);align-items:center;padding-left:14px}.lesson-color-control:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:999px;background:var(--entity-color)}.lesson-color-control input[type=color]{width:46px;height:40px;min-height:40px;padding:4px;border-radius:10px;background:var(--lesson-surface-field)}.lesson-panel-section{padding:var(--lesson-gap-section);border:1px solid var(--lesson-border);border-radius:14px;background:rgba(247,242,234,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.46)}.lesson-panel-section,.lesson-section-heading{gap:var(--lesson-gap-medium)}.stage-edit-row,.stage-editor{gap:var(--lesson-gap-small)}.stage-edit-row{grid-template-columns:32px 22px minmax(0,1fr) 36px;align-items:start;min-height:48px;padding:6px 8px;border:1px solid rgba(126,112,93,.12);border-radius:11px;background:rgba(238,228,213,.42);box-shadow:none}.stage-edit-row:has(input[type=checkbox]:checked){background:rgba(228,233,220,.42)}.stage-edit-row input[type=checkbox]{align-self:start;width:19px;height:19px;min-height:19px;margin:8px 0 0;box-shadow:none}.stage-edit-row .stage-name{display:block;width:100%;min-width:0;min-height:36px;height:auto;padding:6px 4px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--color-text);font:inherit;font-size:15px;font-weight:400;line-height:1.45;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;resize:none;box-shadow:none}.stage-edit-row:has(input[type=checkbox]:checked) .stage-name{color:var(--color-text-secondary);text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.stage-edit-row .stage-name:focus{border-bottom-color:color-mix(in srgb,var(--entity-color) 34%,var(--color-border-strong));background:transparent;box-shadow:none}.stage-drag-handle{align-self:start;width:32px;height:36px;min-height:36px;margin:0;padding:0;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:17px;opacity:.7}.stage-drag-handle:focus-visible,.stage-drag-handle:hover{background:rgba(255,255,255,.34);color:var(--color-text-secondary);opacity:1}.stage-edit-row .icon-button{align-self:start;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:18px;font-weight:500}.stage-edit-row .icon-button:hover{background:rgba(164,95,80,.08);color:var(--color-danger)}.lesson-panel-section .inline-add{gap:var(--lesson-gap-small)}.lesson-panel-section .inline-add button{min-height:42px;font-size:14px;font-weight:600}.editable-tags{gap:6px}.editable-tags>span{min-height:28px;padding:4px 7px 4px 9px;border:1px solid rgba(126,112,93,.1);background:rgba(255,253,249,.58);font-size:13px;font-weight:500}.panel-warning{padding:8px 10px;border:1px solid rgba(154,116,59,.12);border-radius:10px;background:rgba(238,228,213,.48);font-size:13px;line-height:1.4}.reuse-list article{padding:12px;border-radius:11px;background:rgba(255,253,249,.58)}.reuse-list strong{font-size:14px;font-weight:600;line-height:1.4}.lesson-panel-footer{padding:14px 22px calc(14px + env(safe-area-inset-bottom));background:rgba(250,246,239,.78)}.lesson-panel-footer button{min-height:46px;padding:10px 16px;font-size:15px;font-weight:600}.lesson-panel-footer .secondary-button{border-color:rgba(126,112,93,.18);background:rgba(255,253,249,.62);color:var(--color-text-secondary);box-shadow:inset 0 1px 0 rgba(255,255,255,.64)}.lesson-panel-footer .secondary-button:hover{border-color:rgba(126,112,93,.26);background:rgba(247,242,234,.78);color:var(--color-text)}@media(max-width:760px){.lesson-panel-header{padding:16px}.lesson-panel-scroll{gap:var(--lesson-gap-section);padding:18px 16px 24px}.lesson-panel-section{padding:14px}.stage-edit-row{grid-template-columns:36px 24px minmax(0,1fr) 40px;gap:8px;padding-inline:6px}.stage-drag-handle,.stage-edit-row .icon-button{width:40px;height:40px;min-height:40px}.stage-edit-row input[type=checkbox]{width:22px;height:22px;min-height:22px;margin-top:9px}.lesson-panel-footer{padding-inline:16px}}.attendance-filters a,.attendance-month-control strong,.attendance-table thead th{font-weight:500}.attendance-table tbody th strong{font-weight:600}.attendance-table tbody th span{font-weight:400}.attendance-ratio,.attendance-value{font-weight:500}.attendance-mobile-card>header b,.attendance-mobile-card>header strong,.attendance-total{font-weight:600}.attendance-mobile-entry time{font-weight:400}.attendance-dialog label>span,.attendance-dialog>header strong,.finance-table-head{font-weight:500}.finance-row{align-items:stretch}.finance-row>div{min-height:66px;align-content:center;gap:6px;line-height:1.4}.finance-row>div:nth-child(n+3){padding:10px 12px}.finance-person .entity-primary{font-size:16px;font-weight:600}.finance-person .entity-secondary{font-size:14px;font-weight:400}.finance-row>div:nth-child(2)>strong{font-size:15px;font-weight:500}.finance-row>div:nth-child(2)>small{font-size:13px;font-weight:400}.finance-row>div:nth-child(3)>strong,.finance-row>div:nth-child(4)>strong,.finance-row>div:nth-child(5)>strong{font-size:17px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.finance-row a,.finance-row small{font-size:13px;font-weight:400}.finance-parent-summary strong{font-weight:600}.finance-parent-summary b{font-size:16px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.payment-status{font-weight:600}.calendar-event strong,.calendar-mobile-day .calendar-event strong,.calendar-week-desktop .calendar-event strong,.month-event{font-weight:500}.calendar-event small,.calendar-event-time{font-weight:400}.editable-tags,.lesson-card-tags,.tag-list{gap:8px}.editable-tags>span,.lesson-card-tags span,.tag-list span{min-height:32px;padding:6px 13px;border:1px solid rgba(126,112,93,.13);border-radius:999px;background:rgba(238,228,213,.62);color:var(--color-text-secondary);font-size:14px;font-weight:500;line-height:1.25}.editable-tags>span{gap:8px;padding-right:7px}.editable-tags button{flex:0 0 24px;width:24px;height:24px;min-height:24px;padding:0;border-radius:50%;font-size:15px}.tag-suggestion-manager{font-size:13px;color:var(--color-text-muted)}.tag-suggestion-manager summary{width:max-content;cursor:pointer}.tag-suggestion-manager>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag-suggestion-manager button{min-height:32px;padding:5px 10px;gap:7px;font-size:13px;font-weight:500}.tag-suggestion-manager button span{font-size:16px;line-height:1}.sidebar{overflow:hidden;isolation:isolate}.sidebar>.brand,.sidebar>.primary-nav{position:relative;z-index:1}.sidebar-decoration{position:absolute;z-index:0;right:18px;bottom:20px;width:clamp(92px,8.5vw,124px);opacity:.93;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;object-fit:contain}.dashboard-attention-panel{position:relative;overflow:hidden;isolation:isolate}.dashboard-attention-panel>:not(.panel-decoration){position:relative;z-index:1}.dashboard-attention-decoration{right:-20px;bottom:-26px;width:min(145px,34%);opacity:.16;object-fit:contain;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.finance-row>.finance-value-cell{display:grid;grid-template-rows:24px minmax(20px,auto);align-content:start;align-items:start;grid-gap:6px;gap:6px;padding-top:12px;padding-bottom:12px}.finance-row>.finance-value-cell>strong{align-self:start;margin:0;font-size:17px;font-weight:600;line-height:24px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.finance-row>.finance-value-cell>a,.finance-row>.finance-value-cell>small{align-self:start;margin:0;color:var(--color-text-muted);font-size:13px;font-weight:400;line-height:1.4}.finance-row>div:nth-child(2)>strong{line-height:1.4}@media(max-width:900px){.sidebar-decoration{display:none}.dashboard-attention-decoration{right:-18px;bottom:-22px;width:min(116px,30%);opacity:.11}}@media(max-width:560px){.dashboard-attention-decoration{display:none}.finance-row>.finance-value-cell{grid-template-rows:24px minmax(20px,auto)}}.sidebar-decoration{right:24px;bottom:28px;width:clamp(76px,6.5vw,94px);opacity:.78;filter:blur(.15px)}.sidebar:has(.sidebar-account) .sidebar-decoration{bottom:124px}.calendar-toolbar{min-width:0;flex-wrap:wrap}.calendar-navigation{display:flex;align-items:center;min-width:0;gap:10px;flex-wrap:nowrap}.calendar-navigation>a,.demo-calendar-workspace .calendar-navigation>button{flex:0 0 auto}.calendar-navigation>a:first-child,.calendar-navigation>a:nth-child(3),.demo-calendar-workspace .calendar-navigation>button:first-child,.demo-calendar-workspace .calendar-navigation>button:nth-child(3){width:44px;min-width:44px;height:44px;padding:0}.calendar-navigation>.calendar-today,.demo-calendar-workspace .calendar-navigation>.calendar-today{width:auto;min-width:92px;padding-inline:16px;white-space:nowrap}.calendar-navigation>strong{min-width:0;margin-left:6px;line-height:1.35;white-space:nowrap}.calendar-view-toggle{flex:0 0 auto}@media(max-height:820px) and (min-width:901px){.sidebar-decoration{right:22px;bottom:22px;width:76px;opacity:.7}.sidebar:has(.sidebar-account) .sidebar-decoration{bottom:116px}}.lesson-panel-footer{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.lesson-panel-footer>form{justify-self:stretch}.lesson-panel-footer>.lesson-delete-button{width:auto;min-width:96px;border:1px solid color-mix(in srgb,var(--color-danger) 20%,transparent);background:transparent;color:var(--color-danger);box-shadow:none}.lesson-panel-footer>.lesson-delete-button:hover{background:color-mix(in srgb,var(--color-danger) 7%,transparent)}.remove-planning-month{border:1px solid transparent}.remove-planning-month:focus-visible,.remove-planning-month:hover{border-color:color-mix(in srgb,var(--color-danger) 18%,transparent);background:color-mix(in srgb,var(--color-danger) 7%,transparent);color:var(--color-danger)}.student-lifecycle-menu{position:absolute!important;z-index:4!important;top:18px;right:18px}.student-lifecycle-trigger{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:rgba(255,253,249,.58);box-shadow:0 8px 20px rgba(91,70,47,.08),inset 1px 1px 0 rgba(255,255,255,.72);color:var(--color-text-secondary);font-size:18px;line-height:1;letter-spacing:1px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.student-lifecycle-trigger:hover,.student-lifecycle-trigger[aria-expanded=true]{background:rgba(255,253,249,.78);color:var(--color-text)}.student-lifecycle-popover{position:absolute;top:46px;right:0;width:210px;padding:6px;border:1px solid var(--glass-highlight);border-radius:14px;background:rgba(255,253,249,.92);box-shadow:0 16px 38px rgba(91,70,47,.16),inset 1px 1px 0 rgba(255,255,255,.78);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.student-lifecycle-popover button{width:100%;min-height:40px;padding:9px 11px;border:0;border-radius:9px;background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:14px;font-weight:500;text-align:left}.student-lifecycle-popover button:hover{background:rgba(236,226,212,.5);color:var(--color-text)}.student-lifecycle-popover .student-lifecycle-delete{color:var(--color-danger)}.student-lifecycle-separator{display:block;height:1px;margin:5px 7px;background:var(--color-border)}.student-lifecycle-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(45,36,29,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.student-lifecycle-dialog{width:min(440px,100%);padding:24px;border:1px solid var(--glass-highlight);border-radius:20px;background:rgba(255,253,249,.96);box-shadow:0 24px 60px rgba(63,43,32,.2)}.student-lifecycle-dialog h2{margin:0;font-size:24px}.student-lifecycle-dialog>p{margin:12px 0 0;color:var(--color-text-secondary)}.student-lifecycle-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.student-lifecycle-dialog .danger-button{min-height:44px;padding:9px 14px}@media(max-width:520px){.lesson-panel-footer{grid-template-columns:1fr}.lesson-panel-footer>.lesson-delete-button{width:100%;order:2}.student-lifecycle-menu{top:12px;right:12px}.student-lifecycle-dialog footer{display:grid;grid-template-columns:1fr}.student-lifecycle-dialog footer button{width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{position:relative;width:100%;max-width:none;min-height:100svh;margin:0;padding:clamp(20px,5vw,56px);display:grid;place-items:center;background-image:linear-gradient(rgba(255,251,245,.08),rgba(255,251,245,.08)),url(/assets/tutorflow-background.png);background-size:cover;background-position:50%;background-repeat:no-repeat;background-attachment:fixed}.login-card{width:min(580px,100%);padding:clamp(30px,5vw,52px);border:1px solid rgba(255,255,255,.7);border-radius:26px;background:rgba(255,253,249,.58);box-shadow:0 28px 70px rgba(81,61,43,.16),inset 1px 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);text-align:center}.login-lock{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(238,235,218,.68);box-shadow:inset 1px 1px 0 rgba(255,255,255,.84);color:var(--color-success)}.login-card h1{margin-bottom:8px;font-size:clamp(2.7rem,7vw,4rem)}.login-welcome{margin-bottom:7px;color:var(--color-success);font-size:18px;font-weight:650}.login-helper{margin-bottom:26px;color:var(--color-text-secondary);font-size:15px}.login-form{display:grid;grid-gap:14px;gap:14px}.login-password-field{position:relative;display:block}.login-password-field input{width:100%;min-height:50px;padding:12px 92px 12px 15px;border:1px solid rgba(217,203,194,.92);border-radius:14px;background:rgba(255,253,249,.72);color:var(--color-text);font:inherit;font-size:16px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.login-password-field input:focus{border-color:color-mix(in srgb,var(--color-success) 52%,var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 12%,transparent)}.login-password-field button{position:absolute;top:5px;right:5px;min-height:40px;padding:7px 10px;border:0;background:transparent;box-shadow:none;color:var(--color-text-secondary);font-size:13px;font-weight:600}.login-password-field button:hover{background:rgba(236,226,212,.42);color:var(--color-text)}.login-submit{width:100%;min-height:48px;border-color:var(--color-success);background:var(--color-success);font-size:16px}.login-submit:hover{filter:brightness(.94)}.login-submit:disabled{cursor:wait;opacity:.7}.login-error{margin:-2px 0 0;padding:9px 12px;border:1px solid color-mix(in srgb,var(--color-danger) 18%,transparent);border-radius:11px;background:color-mix(in srgb,var(--color-danger) 7%,rgba(255,253,249,.7));color:var(--color-danger);font-size:14px;text-align:left}.sidebar-account{position:relative;z-index:2;grid-template-columns:38px minmax(0,1fr) auto}.sidebar-account form{display:flex}.account-logout{min-height:34px;padding:6px 8px;border:0;background:transparent;box-shadow:none;color:var(--color-text-muted);font-size:12px;font-weight:600}.account-logout:hover{background:rgba(236,226,212,.5);color:var(--color-text)}.sidebar-account>div{padding-right:5px}.sidebar-account>form{margin-left:auto}.account-logout{padding-inline:10px}@media(max-width:900px){.mobile-account .sidebar-account{display:grid;margin-top:0}.mobile-account .account-logout{min-height:40px;font-size:14px}}@media(max-width:600px){.login-page{padding:16px;background-position:62%;background-attachment:scroll}.login-card{padding:28px 20px;border-radius:22px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.login-lock{width:52px;height:52px;margin-bottom:18px}.login-card h1{font-size:2.8rem}.login-helper{margin-bottom:22px}}.cohort-participants-section{grid-template-columns:minmax(0,1fr)}.cohort-participants-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cohort-participants-heading .section-help{max-width:660px;margin-bottom:0}.participant-row{position:relative;grid-template-columns:minmax(340px,1.65fr) minmax(180px,.9fr) minmax(110px,.45fr) minmax(170px,.8fr) 42px;gap:14px;align-items:end}.participant-identity-fields{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(185px,1.2fr);grid-gap:12px;gap:12px;min-width:0}.participant-row .field>span{min-height:20px;line-height:1.35}.participant-row select{min-width:0;text-overflow:ellipsis}.participant-rate-date{grid-column:1/-1;max-width:280px}.participant-rate-date small{margin-top:1px}.participant-row>.participant-remove{grid-column:5;grid-row:1}.member-billing-note{display:flex;align-items:center;min-height:48px;padding-bottom:2px;font-size:13px;line-height:1.35}.participant-remove{align-self:end;width:42px;min-width:42px;height:44px;min-height:44px;padding:0;border-color:var(--color-border);background:transparent;color:var(--color-text-muted);font-size:20px;font-weight:400}.participant-remove:hover{border-color:color-mix(in srgb,var(--color-danger) 28%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 5%,transparent);color:var(--color-danger)}@media(max-width:1350px){.participant-row{grid-template-columns:minmax(0,1.35fr) minmax(180px,.85fr) minmax(110px,.5fr) 42px}.participant-identity-fields{grid-column:1/-1}.member-billing-note,.participant-rate-date{grid-column:1/4}.participant-row>.participant-remove{grid-column:4;grid-row:2}}@media(max-width:760px){.participant-row{grid-template-columns:minmax(0,1fr) minmax(120px,.55fr)}.member-billing-note,.participant-identity-fields,.participant-rate-date{grid-column:1/-1}.participant-row>.participant-remove{grid-column:2;grid-row:auto;justify-self:end}}@media(max-width:620px){.cohort-participants-heading{display:grid}.cohort-participants-heading>.secondary-button{width:100%}.participant-identity-fields,.participant-row{grid-template-columns:1fr}.member-billing-note,.participant-identity-fields,.participant-rate-date{grid-column:auto}.participant-row>.participant-remove{grid-column:auto;grid-row:auto;width:42px;justify-self:end}}.dashboard-attention-decoration{right:-34px;bottom:-42px;width:152px;opacity:.5;filter:saturate(.88);transform:rotate(-3deg)}.dashboard-attention-panel:has(.dashboard-empty) .dashboard-attention-decoration{opacity:.56}.profile-info-decoration-panel{position:relative;overflow:hidden;isolation:isolate}.profile-info-decoration-panel>:not(.profile-info-decoration){position:relative;z-index:1}.profile-info-decoration{position:absolute;z-index:0;right:-10px;bottom:-30px;width:124px;height:auto;opacity:.66;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;object-fit:contain;filter:saturate(.88) contrast(.94);transform:rotate(-3deg)}@media(max-width:760px){.dashboard-attention-decoration{right:-28px;bottom:-34px;width:116px;opacity:.36}.dashboard-attention-panel:has(.dashboard-empty) .dashboard-attention-decoration{opacity:.42}.profile-info-decoration{right:-8px;bottom:-24px;width:96px;opacity:.46}}@media(max-width:430px){.dashboard-attention-decoration,.profile-info-decoration{display:none}}.profile-hero{position:relative;overflow:hidden;isolation:isolate}.profile-hero>:not(.profile-hero-decoration){position:relative;z-index:1}.profile-hero-decoration{position:absolute;z-index:0;right:clamp(65px,9.9vw,162px);top:50%;width:clamp(420px,40.5%,501px);height:auto;opacity:.74;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;object-fit:contain;filter:saturate(.86) contrast(.92);transform:translateY(-51%)}.profile-records-decoration-panel{position:relative;overflow:hidden;isolation:isolate}.profile-records-decoration-panel>:not(.profile-records-decoration){position:relative;z-index:1}.profile-records-decoration{position:absolute;z-index:0;right:-10px;bottom:-30px;width:180px;height:auto;opacity:.64;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;object-fit:contain;filter:saturate(.88) contrast(.95);transform:rotate(-3deg)}@media(max-width:760px){.profile-hero-decoration{right:11px;top:50%;bottom:auto;width:291px;opacity:.32;transform:translateY(-49%)}.profile-records-decoration{right:-8px;bottom:-22px;width:104px;opacity:.42}}@media(max-width:430px){.profile-hero-decoration,.profile-records-decoration{display:none}}@media(max-width:760px){.calendar-toolbar{align-items:stretch}.calendar-navigation{width:100%}.calendar-navigation>strong{flex:1 1 180px;overflow:hidden;text-overflow:ellipsis}.calendar-view-toggle{width:100%}.calendar-view-toggle>a{flex:1 1}}@media(max-width:620px){.calendar-navigation{display:grid;grid-template-columns:44px minmax(92px,1fr) 44px;grid-gap:8px;gap:8px}.calendar-navigation>.calendar-today{grid-column:2;min-width:0;padding-inline:10px}.calendar-navigation>a:nth-child(3),.demo-calendar-workspace .calendar-navigation>button:nth-child(3){grid-column:3;grid-row:1}.calendar-navigation>strong{grid-column:1/-1;grid-row:2;margin:2px 0 0;text-align:center;white-space:normal}.demo-calendar-workspace .calendar-navigation>.calendar-today{grid-column:2;min-width:0;padding-inline:10px}}.sidebar-decoration{right:-34px;bottom:-32px;width:clamp(138px,11.5vw,172px);height:auto;opacity:.64;filter:saturate(.78) contrast(.9);transform:rotate(-5deg);transform-origin:right bottom}.sidebar:has(.sidebar-account) .sidebar-decoration{right:-30px;bottom:112px;width:148px}@media(max-height:820px) and (min-width:901px){.sidebar-decoration{right:-28px;bottom:-30px;width:126px;opacity:.55}.sidebar:has(.sidebar-account) .sidebar-decoration{bottom:108px;width:120px}}@media(max-height:700px) and (min-width:901px){.sidebar-decoration{display:none}}.cohort-profile-hero{min-height:190px}.cohort-profile-visual{position:relative;border:1px solid color-mix(in srgb,var(--entity-color) 18%,var(--color-border));background:color-mix(in srgb,var(--entity-color) 7%,rgba(255,253,249,.76));color:color-mix(in srgb,var(--entity-color) 58%,var(--color-text-secondary))}.cohort-profile-visual svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.cohort-profile-hero .profile-identity{display:grid;justify-items:start}.cohort-profile-hero .profile-actions{margin-top:16px}.cohort-profile-visual-image{background:rgba(255,253,249,.62)}.cohort-profile-visual-image>img{width:100%;height:100%;object-fit:cover}.cohort-profile-decoration{right:clamp(95px,14vw,230px);width:clamp(310px,32%,430px);opacity:.66}@media(max-width:760px){.cohort-profile-decoration{right:18px;width:250px;opacity:.26}}@media(max-width:560px){.cohort-profile-hero{min-height:0}.cohort-profile-visual svg{width:60%;height:60%}}.calendar-action-error,.form-error{margin:0;padding:9px 11px;border:1px solid rgba(164,63,54,.2);border-radius:9px;background:rgba(248,231,229,.68);color:#8f3932;font-size:13px;line-height:1.4}.calendar-destructive-actions{display:grid;grid-gap:8px;gap:8px}.calendar-destructive-actions form{padding:0;border:0;background:transparent}.calendar-destructive-actions button{width:100%}.calendar-remove-button{border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary)}.calendar-week-desktop .calendar-event{grid-template-rows:auto auto minmax(0,auto);row-gap:3px;padding:7px 8px}.calendar-week-desktop .calendar-event-time{font-size:12px;font-weight:600;line-height:1.15}.calendar-week-desktop .calendar-event strong{display:-webkit-box;font-size:13px;font-weight:600;line-height:1.22;white-space:normal;word-break:normal;overflow-wrap:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-week-desktop .calendar-event small{font-size:12px;line-height:1.2}.calendar-week-desktop .calendar-event.is-short small{display:none}@container(max-width:92px){.calendar-week-desktop .calendar-event{padding:6px 5px}.calendar-week-desktop .calendar-event-time{font-size:11px}.calendar-week-desktop .calendar-event-time i{display:none}.calendar-week-desktop .calendar-event strong{display:-webkit-box;font-size:12px;line-height:1.18;white-space:normal;text-overflow:clip;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-week-desktop .calendar-event.is-overlap small{display:none}}.finance-summary article>small{color:var(--color-text-muted);font-size:13px;line-height:1.35}.finance-working-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-working-summary article.finance-kpi-received{background:var(--surface-finance-received)}.finance-working-summary article.finance-kpi-expected{background:var(--surface-finance-expected)}.finance-working-summary article.finance-kpi-other-income{background:var(--surface-finance-credits)}.dashboard-lesson-list a{color:inherit}.dashboard-attention-groups a:hover,.dashboard-lesson-list a:hover{text-decoration:underline;text-underline-offset:3px}.dashboard-attention-groups a:focus-visible,.dashboard-lesson-list a:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:3px;text-decoration:underline}.dashboard-attention-groups{display:grid;grid-gap:var(--space-md);gap:var(--space-md);margin-top:var(--space-md)}.dashboard-attention-groups h3{margin:0;color:var(--color-text-secondary);font-family:var(--font-ui);font-size:14px;font-weight:500}.dashboard-attention-groups .attention-list{margin:8px 0 0}.dashboard-attention-groups a{display:block;color:inherit;overflow-wrap:anywhere}@media(max-width:760px){.finance-working-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-working-summary article:last-child{grid-column:1/-1}}.finance-tabs{width:max-content;max-width:100%;overflow-x:auto}.finance-tabs a{flex:none}.finance-cash-overview{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);padding:var(--space-lg)}.finance-cash-overview>strong{font-family:var(--font-display);font-size:28px;font-weight:500}.finance-cash-overview>small,.finance-cash-overview>span{color:var(--color-text-secondary);font-size:14px}.extra-income-summary{grid-template-columns:minmax(0,1fr)}.extra-income-controls{grid-template-columns:1fr}.extra-income-list{padding:var(--space-md);min-width:0}.extra-income-table{overflow-x:auto}.extra-income-table table{width:100%;border-collapse:collapse;text-align:left;font-size:15px}.extra-income-table th{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.extra-income-table td,.extra-income-table th{padding:14px 12px;vertical-align:top;border-bottom:1px solid var(--color-border);line-height:1.45}.extra-income-table td{overflow-wrap:anywhere;max-width:280px}.extra-income-money,.extra-income-table time{white-space:nowrap}.extra-income-money{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.extra-income-actions{display:flex;gap:8px;flex-wrap:wrap}.extra-income-actions .small-button{display:inline-flex;align-items:center;justify-content:center}.extra-income-actions .secondary-button{padding:7px 9px;min-height:40px;font-size:14px}@media(max-width:760px){.finance-tabs{width:100%;flex-wrap:nowrap}.extra-income-table table{min-width:760px}.finance-cash-overview{padding:var(--space-md)}}