:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f5f7;color:#1d1d1f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f5f5f7;--panel: rgba(255, 255, 255, .76);--panel-strong: rgba(255, 255, 255, .96);--line: rgba(29, 29, 31, .1);--text: #1d1d1f;--muted: #6e6e73;--blue: #0a84ff;--green: #22c55e;--rose: #f43f5e;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .05);--shadow-panel: 0 10px 28px rgba(30, 42, 58, .08);--shadow: var(--shadow-panel);--font-xs: 11px;--font-sm: 12px;--font-body: 14px;--font-md: 16px;--font-work-title: 32px;--font-home-title: 60px;--radius-control: 8px;--radius-card: 8px;--radius-panel: 12px;--radius-home: 22px;--button-compact-h: 30px;--button-standard-h: 36px;--button-primary-h: 40px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden;background:radial-gradient(circle at 12% 0%,rgba(10,132,255,.14),transparent 36rem),radial-gradient(circle at 86% 16%,rgba(34,197,94,.13),transparent 32rem),var(--bg)}button{font:inherit}.app{min-height:100vh}.screen{min-height:100vh;min-height:100svh;padding:22px clamp(18px,4vw,48px) 34px}.top-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;margin:0 auto;max-width:1280px}.top-bar>div:first-child,.account-button{display:inline-flex;align-items:center;gap:10px}.brand-mark,.avatar,.choice-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-mark{width:36px;height:36px;border-radius:11px;background:#1d1d1f;color:#fff;font-size:11px;font-weight:800}.brand-name{font-weight:750}.account-wrap{position:relative}.account-button{min-height:42px;border:1px solid var(--line);border-radius:12px;padding:5px 12px 5px 6px;background:#ffffffe0;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft)}.avatar{width:34px;height:34px;border-radius:12px;background:linear-gradient(145deg,#0a84ff,#4fb3ff);color:#fff;font-weight:800}.account-copy{display:grid;gap:1px;line-height:1.05}.account-copy strong{font-size:14px}.account-copy small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.account-popover{position:absolute;inset-inline-end:0;top:calc(100% + 10px);z-index:20;width:min(280px,calc(100vw - 36px));display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffffff0;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.account-popover span{color:var(--muted);font-size:13px}.account-popover button,.account-popover .account-logout,.primary-button,.quiet-button,.danger-button{min-height:var(--button-primary-h);border:0;border-radius:8px;padding:0 14px;background:#1d1d1f;color:#fff;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.account-popover .account-logout{background:#1d1d1f14;color:var(--text)}.danger-button{background:#f43f5e1f;color:#b4233c}.start-screen{display:flex;flex-direction:column;gap:clamp(22px,5vw,42px);min-height:100svh;overflow:auto}.start-screen>.start-footer{margin-top:auto}.start-footer{width:min(1040px,100%);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(4px,1vw,8px)}.start-footer>.start-footer-left,.start-footer>.start-footer-right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.data-mode-toggle{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#ffffffd1;color:var(--text);font-size:13px;font-weight:700;box-shadow:0 8px 20px #1e2a3a0f}.data-mode-toggle button{min-height:var(--button-compact-h);border:0;border-radius:999px;padding:0 12px;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.data-mode-toggle button.active{background:#1d1d1f;color:#fff}.data-mode-toggle button[data-mode=real].active{background:linear-gradient(135deg,#0a84ff,#4fb3ff)}.pwa-install-button{min-height:var(--button-standard-h);border:1px solid var(--line);border-radius:8px;padding:0 14px;background:#1d1d1f;color:#fff;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;gap:8px;box-shadow:0 14px 34px #1e2a3a1a}.pwa-install-button[data-state=unavailable]{background:#ffffffd1;color:var(--muted);cursor:default;box-shadow:none}.pwa-install-button[data-state=installed]{background:#22c55e24;color:#16843a;cursor:default;box-shadow:none}.data-mode-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px;border-radius:999px;background:#0a84ff1f;color:#0a67d1;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.data-mode-badge[data-mode=real]{background:#0a84ff2e;color:#0a4ea8}.start-hero{align-self:end;width:min(760px,100%);margin:0 auto;text-align:center}.eyebrow{margin:0 0 10px;color:#007aff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:12px;font-size:clamp(34px,6vw,72px);line-height:.98;letter-spacing:0}h2{margin-bottom:8px;font-size:clamp(22px,3vw,34px);letter-spacing:0}.hero-copy{margin:0 auto;max-width:650px;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.45}.choice-grid{width:min(1040px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.start-screen>.choice-grid{margin-top:auto}.choice-card{min-height:190px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.choice-card strong{display:block;font-size:clamp(24px,3vw,32px);letter-spacing:0}.choice-card small{display:block;margin-top:8px;color:var(--muted);font-size:15px}.choice-icon{width:60px;height:60px;border-radius:16px;font-weight:850}.teaching-choice .choice-icon{background:#e8f2ff;color:#0a67d1}.management-choice .choice-icon{background:#e8f9ee;color:#16843a}.arrow{align-self:center;padding:10px 16px;border-radius:999px;background:#1d1d1f14;font-weight:700}.teaching-hub{display:grid;align-content:center;gap:18px}.placeholder-panel{width:min(840px,100%);margin:0 auto;padding:clamp(28px,5vw,56px);border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.placeholder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}.placeholder-grid span,.soft-pill{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffffb8;color:var(--muted);font-weight:700}.management-screen{display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.management-screen .top-bar{grid-column:1 / -1;width:min(1280px,100%)}.workspace-nav{width:100%;margin:0;display:flex;flex-direction:column;gap:6px;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:#ffffffad;box-shadow:var(--shadow-soft);align-self:start;position:sticky;top:18px}.workspace-nav button{width:100%;min-height:56px;border:0;border-radius:8px;padding:8px 4px;background:transparent;color:var(--muted);text-align:center;white-space:nowrap;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.7rem;font-weight:600}.workspace-nav .active{background:#1d1d1f;color:#fff}.management-layout{width:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.management-main,.side-panel,.tool-page{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.management-main,.tool-page{padding:clamp(16px,2.4vw,24px)}.side-panel{display:grid;gap:12px;padding:14px}.section-title{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h1{margin:0;font-size:clamp(30px,4vw,34px);letter-spacing:-.01em}.week-calendar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.day-column{min-height:420px;padding:12px;border:1px solid var(--line);border-radius:22px;background:#ffffff9e}.compact-week .day-column{min-height:360px}.day-column header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.day-column header span{font-weight:850}.day-column header small,.calendar-chip small,.mini-card small,.payer-card small,.contact-card small{color:var(--muted)}.day-items,.hour-slots{display:grid;gap:8px}.hour-slots{gap:6px}.hour-slot{min-height:48px;display:grid;grid-template-columns:48px 30px minmax(0,1fr);gap:7px;align-items:stretch;padding:4px;border:1px dashed rgba(29,29,31,.1);border-radius:14px;background:#ffffff70}.drag-week-calendar .hour-slot{grid-template-columns:48px minmax(0,1fr)}.drag-week-calendar .calendar-chip{cursor:grab}.drag-week-calendar .calendar-chip:active{cursor:grabbing}.hour-slot:hover{border-color:#0a84ff5c;background:#eef6ff9e}.hour-slot.drop-target-active{border-color:#0a84ffb8;background:linear-gradient(135deg,#0a84ff29,#30d1581a);box-shadow:inset 0 0 0 1px #0a84ff38,0 10px 24px #0a84ff1a}body.calendar-dragging .hour-slot{border-color:#0a84ff42}.hour-label{align-self:start;padding-top:5px;color:var(--muted);font-size:11px;font-weight:800}.slot-items{display:grid;gap:5px;min-width:0}.slot-add-button{width:30px;min-height:30px;align-self:start;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:#0a84ff1f;color:#0a67d1;cursor:pointer}.calendar-chip{position:relative;display:grid;gap:4px;width:100%;min-height:56px;padding:8px 26px 8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.52);background:#fff;color:var(--text);text-align:left;box-shadow:var(--shadow-soft);cursor:pointer}.calendar-chip .chip-grip{position:absolute;inset-inline-start:6px;top:7px;width:16px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#1d1d1f6b;cursor:grab}.calendar-chip .chip-grip:active{cursor:grabbing}.calendar-chip .chip-grip:hover{background:#1d1d1f0f;color:#1d1d1fb8}.lesson-student-grid{display:grid;gap:5px}.student-lesson-row{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.student-lesson-card{min-height:34px;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 28%,white);border-radius:10px;padding:5px 6px;background:color-mix(in srgb,var(--student-color, #0a84ff) 14%,white);color:var(--text);text-align:left;cursor:pointer}.student-lesson-card:hover{border-color:color-mix(in srgb,var(--student-color, #0a84ff) 48%,white);background:color-mix(in srgb,var(--student-color, #0a84ff) 20%,white)}.student-lesson-card:focus-visible,.student-card-remove:focus-visible,.chip-remove:focus-visible{outline:3px solid rgba(10,132,255,.28);outline-offset:2px}.student-card-remove{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#1d1d1f14;color:#1d1d1f94;cursor:pointer}.student-card-remove:hover{background:#f43f5e24;color:var(--rose)}.student-lesson-card strong{font-size:12px;line-height:1.08}.student-lesson-card small{justify-self:end;color:color-mix(in srgb,var(--student-color, #0a84ff) 66%,#1d1d1f);font-size:10px;font-weight:800}.student-color-dot{width:9px;height:9px;border-radius:999px;background:var(--student-color, #0a84ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--student-color, #0a84ff) 16%,transparent)}.calendar-chip span{color:var(--muted);font-size:11px;font-weight:800}.calendar-chip strong{font-size:13px;line-height:1.2}.chip-remove{position:absolute;top:6px;inset-inline-end:6px;z-index:2;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#1d1d1f14;color:#1d1d1f8a;cursor:pointer}.chip-remove:hover{background:#f43f5e24;color:var(--rose)}.calendar-chip.blue{background:#eef6ff}.calendar-chip.green{background:#effaf3}.calendar-chip.rose{background:#fff1f3}.calendar-chip.gray{background:#f3f3f5;cursor:default}.status-card{padding:16px;border-radius:14px;background:var(--panel-strong)}.status-card p:last-child{margin-bottom:0;color:var(--muted);line-height:1.45}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-card{display:grid;gap:6px;min-height:112px;padding:12px;border-radius:14px;background:var(--panel-strong)}.mini-card span{color:var(--muted);font-size:13px}.calm-alert{background:#fff7ed}.action-stack{display:grid;gap:10px}.action-stack button,.contact-actions button{min-height:40px;border:0;border-radius:8px;background:#1d1d1f;color:#fff;font-weight:800;cursor:pointer}.action-stack button:nth-child(2){background:#effaf3;color:#167a38}.action-stack button:nth-child(3){background:#eef6ff;color:#0a67d1}.tool-page{width:100%;margin:0}.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.finance-summary div,.payer-card,.contact-card{border-radius:12px;background:var(--panel-strong)}.finance-summary div{display:grid;gap:8px;padding:14px}.finance-summary span{color:var(--muted)}.finance-summary strong{font-size:26px}.payments-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.payments-table-panel,.payment-detail-panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:16px}.compact-title{align-items:center;margin-bottom:12px}.compact-title h1{font-size:clamp(30px,4vw,32px)}.payment-list{display:grid;gap:5px}.payment-row{width:100%;min-height:40px;display:grid;grid-template-columns:minmax(180px,1fr) 80px 70px 110px;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:6px 10px;background:#ffffffa3;color:var(--text);text-align:left}.payment-row:not(.payment-header){cursor:pointer}.payment-row.selected{border-color:color-mix(in srgb,var(--student-color, #0a84ff) 34%,white);background:color-mix(in srgb,var(--student-color, #0a84ff) 12%,white)}.payment-header{min-height:28px;background:transparent;color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.payment-student{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px}.payment-student small{grid-column:2;color:var(--muted)}.payment-row b{justify-self:end}.payment-detail-panel{display:grid;gap:12px}.payment-detail-panel h2{font-size:26px}.payment-total{display:grid;gap:4px;padding:14px;border-radius:12px;background:var(--panel-strong)}.payment-total span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.payment-total strong{font-size:26px}.payer-list,.contact-list{display:grid;gap:10px}.payer-card,.contact-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}.payer-card div,.contact-card div{display:grid;gap:4px}.payer-card span,.contact-card span{color:var(--muted)}.payer-card b{font-size:18px}.negative{color:var(--rose)}.positive{color:#14883d}.contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.contact-actions button{background:#1d1d1f14;color:var(--text);padding:0 12px;line-height:1.1}.contacts-page{display:grid;grid-template-columns:248px minmax(0,1fr);gap:16px}.calendar-management-page{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:16px}.calendar-roster,.contacts-roster{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:14px;align-self:start}.calendar-roster h2,.contacts-roster h2{margin-bottom:14px;font-size:18px}.roster-list{display:grid;gap:10px}.student-drag-card{min-height:52px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#ffffffc2;color:var(--text);text-align:left;cursor:grab}.student-drag-card:active{cursor:grabbing}.student-drag-card.selected{border-color:#0a84ff80;background:#eef6ff}.student-drag-card.inactive{opacity:.56}.student-drag-card.inactive .avatar{filter:grayscale(.65)}.student-drag-card .avatar{background:var(--student-color, #0a84ff);color:#fff;box-shadow:inset 0 1px #ffffff42}.student-drag-card strong,.student-drag-card small{display:block}.student-drag-card small{margin-top:3px;color:var(--muted)}.calendar-tool .week-calendar{min-height:0}.calendar-subtitle{display:block;color:var(--muted);font-size:13px;font-weight:700}.calendar-view-toggle,.calendar-day-tabs{display:flex;gap:8px}.calendar-view-toggle{padding:4px;border-radius:999px;background:#1d1d1f12}.calendar-view-toggle button{min-height:34px;border:0;border-radius:999px;padding:0 14px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.calendar-view-toggle button.active{background:#1d1d1f;color:#fff}.calendar-month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-month-label{font-size:1rem;font-weight:800;color:var(--text)}.calendar-month-nav button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;color:var(--text);cursor:pointer}.calendar-month-nav button:hover{background:#1d1d1f1f}.calendar-day-tabs{margin-bottom:12px;overflow-x:auto;padding-bottom:2px}.calendar-day-tabs button{min-width:84px;min-height:60px;display:grid;align-content:center;gap:2px;border:1px solid var(--line);border-radius:18px;padding:8px;background:#ffffffdb;color:var(--text);text-align:center;cursor:pointer;box-shadow:0 9px 22px #1e2a3a0f}.calendar-day-tabs button.active{border-color:#1d1d1f;background:#1d1d1f;color:#fff;box-shadow:0 12px 26px #1d1d1f2e}.calendar-day-tabs span{color:var(--muted);font-size:11px;font-weight:850;text-transform:uppercase}.calendar-day-tabs strong{font-size:19px;line-height:1}.calendar-day-tabs small{color:var(--muted);font-size:11px;font-weight:800}.calendar-day-tabs button.active span,.calendar-day-tabs button.active small{color:#ffffffb8}.month-calendar{display:grid;gap:8px}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-weekdays span{color:var(--muted);font-size:11px;font-weight:850;text-align:center;text-transform:uppercase}.month-cell{min-height:92px;display:grid;align-content:start;gap:4px;border:1px solid var(--line);border-radius:16px;padding:9px;background:#ffffffb3;color:var(--text);text-align:left}button.month-cell{cursor:pointer}.month-cell.active{border-color:#0a84ff6b;background:#eef6ff}.month-cell.disabled{color:#6e6e736b;background:#ffffff5c}.month-cell span{font-weight:850}.month-cell strong{font-size:13px}.month-cell small{color:var(--muted);font-size:11px}.calendar-management-page .section-title{margin-bottom:12px}.calendar-management-page .section-title h1{max-width:680px;font-size:clamp(30px,4vw,42px);line-height:1.02}.calendar-management-page .day-column{min-height:auto;padding:8px;border-radius:20px}.calendar-management-page .calendar-chip{min-height:38px;padding:6px 28px 6px 27px;border-radius:12px}.calendar-management-page .student-lesson-card{min-height:30px;padding:4px 5px}.calendar-management-page .hour-slot{min-height:42px;grid-template-columns:42px 28px minmax(0,1fr);gap:5px;padding:3px;border-radius:12px}.calendar-management-page .drag-week-calendar .hour-slot{grid-template-columns:42px minmax(0,1fr)}.calendar-management-page .drag-week-calendar .day-column{min-width:0}.calendar-management-page .slot-add-button{width:28px;min-height:28px;border-radius:9px}.calendar-management-page .hour-label{padding-top:4px;font-size:10px}.calendar-management-page .calendar-chip strong{font-size:12px}.calendar-management-page .calendar-chip small,.calendar-management-page .calendar-chip span{font-size:10px}.calendar-management-page .drag-week-calendar .chip-grip{display:inline-flex;top:5px}.calendar-management-page .tap-week-calendar .chip-grip{display:none}.calendar-management-page .tap-week-calendar .calendar-chip{padding-inline-start:9px}.calendar-management-page .desktop-week-calendar{--calendar-slot-height: 48px;display:block;overflow-x:auto;border:1px solid rgba(29,29,31,.1);border-radius:18px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffb3}.calendar-management-page .week-grid{width:100%;min-width:0;display:grid;grid-template-columns:44px repeat(5,minmax(0,1fr));grid-template-rows:42px auto}.calendar-management-page .time-rail-header,.calendar-management-page .week-day-header{min-width:0;min-height:42px;display:grid;align-content:center;border-bottom:1px solid rgba(29,29,31,.1);background:#f8f8faeb}.calendar-management-page .time-rail-header{padding:0 5px;color:var(--muted);font-size:9px;font-weight:900;text-align:right;text-transform:uppercase}.calendar-management-page .week-day-header{gap:2px;overflow:hidden;padding:0 6px;border-left:1px solid rgba(29,29,31,.08)}.calendar-management-page .week-day-header span{overflow:hidden;font-size:12px;font-weight:900;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.calendar-management-page .week-day-header small{overflow:hidden;color:var(--muted);font-size:9px;font-weight:800;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.calendar-management-page .time-rail{display:grid;grid-template-rows:repeat(12,var(--calendar-slot-height));background:#f8f8fab3}.calendar-management-page .time-rail-slot{min-height:var(--calendar-slot-height);display:flex;justify-content:flex-end;padding:6px 5px 0 0;border-bottom:1px solid rgba(29,29,31,.08);color:var(--muted);font-size:9px;font-weight:850;line-height:1}.calendar-management-page .week-day-lane{min-height:auto;min-width:0;padding:0;border:0;border-left:1px solid rgba(29,29,31,.08);border-radius:0;background:transparent}.calendar-management-page .desktop-week-calendar .day-column[data-active=true]:after{display:none}.calendar-management-page .desktop-week-calendar .hour-slots{gap:0}.calendar-management-page .desktop-week-calendar .hour-slot{min-height:var(--calendar-slot-height);display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:0;padding:3px;border:0;border-bottom:1px solid rgba(29,29,31,.08);border-radius:0;background:#ffffff42}.calendar-management-page .desktop-week-calendar .hour-slot:hover{background:#eef6ff9e}.calendar-management-page .desktop-week-calendar .hour-slot.drop-target-active{background:linear-gradient(135deg,#0a84ff29,#30d1581a);box-shadow:inset 0 0 0 1px #0a84ff3d}.calendar-management-page .desktop-week-calendar .slot-items{align-content:start;gap:2px}.calendar-management-page .desktop-week-calendar .calendar-chip{min-height:0;gap:1px;padding:3px 18px 3px 7px;border-radius:8px;border-color:#1d1d1f0a;box-shadow:none}.calendar-management-page .desktop-week-calendar .calendar-chip:before{inset:5px auto 5px 0;width:3px}.calendar-management-page .desktop-week-calendar .chip-time,.calendar-management-page .desktop-week-calendar .chip-grip,.calendar-management-page .desktop-week-calendar .student-lesson-card small{display:none}.calendar-management-page .desktop-week-calendar .chip-remove{top:3px;inset-inline-end:3px;width:15px;height:15px}.calendar-management-page .desktop-week-calendar .lesson-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.calendar-management-page .desktop-week-calendar .student-lesson-row{min-height:22px;min-width:0;gap:2px}.calendar-management-page .desktop-week-calendar .student-lesson-card{min-height:22px;grid-template-columns:auto minmax(0,1fr);gap:4px;padding:2px 4px;border:0;border-radius:6px;background:color-mix(in srgb,var(--student-color, #0a84ff) 9%,white)}.calendar-management-page .desktop-week-calendar .student-lesson-card:hover{background:color-mix(in srgb,var(--student-color, #0a84ff) 12%,white)}.calendar-management-page .desktop-week-calendar .student-lesson-card strong{overflow:hidden;color:#1d1d1f;font-size:clamp(11px,.72vw,13px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.calendar-management-page .desktop-week-calendar .student-color-dot{width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb,var(--student-color, #0a84ff) 16%,transparent)}.calendar-management-page .desktop-week-calendar .student-card-remove{width:14px;height:14px;opacity:.62}.calendar-management-page .chip-remove{top:5px;inset-inline-end:5px;width:19px;height:19px}.contact-detail{min-height:600px}.contact-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.contact-add-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.contacts-roster .contact-add-row{grid-template-columns:1fr}.contacts-roster .contact-add-row button{min-width:0;white-space:normal}.compact-student-editor{grid-template-columns:minmax(150px,1.2fr) minmax(96px,.7fr) minmax(110px,.7fr) minmax(170px,1fr) minmax(220px,1.2fr);align-items:end}.compact-student-editor label{gap:5px}.compact-student-editor input,.compact-student-editor select{min-height:34px}.student-color-select-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) 38px;gap:7px;align-items:center}.student-color-select-wrap input[type=color]{min-width:38px;padding:3px}.contact-checkbox-grid.compact{display:grid;grid-template-columns:1fr;gap:5px;align-self:end}.contact-checkbox-grid.compact .checkbox-row{min-height:28px;padding:4px 8px;font-size:12px}.contact-checkbox-grid.compact input{width:14px;height:14px}.contact-add-row button{min-height:40px;border:0;border-radius:14px;padding:0 10px;background:#1d1d1f14;color:var(--text);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.contact-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.student-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-card,.notes-panel{display:grid;gap:8px;padding:16px;border-radius:22px;background:var(--panel-strong)}.info-card span,.notes-panel span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.info-card button{justify-self:start;min-height:36px;border:0;border-radius:999px;padding:0 12px;background:#1d1d1f14;color:var(--text);cursor:pointer}.editable-card label,.contact-edit-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:800}.editable-card input,.editable-card textarea,.contact-edit-grid input,.contact-edit-grid select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;color:var(--text);font:inherit;font-size:14px}.editable-card textarea{min-height:76px;resize:vertical}.editable-card input:disabled,.editable-card textarea:disabled,.contact-edit-grid input:disabled,.contact-edit-grid select:disabled{background:#ffffff7a;color:var(--text);opacity:1}.student-color-picker{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-color-picker button{width:28px;height:28px;border:2px solid transparent;border-radius:999px;padding:0;background:var(--student-color, #0a84ff);cursor:pointer}.student-color-picker button.selected{border-color:#1d1d1f;box-shadow:0 0 0 3px color-mix(in srgb,var(--student-color, #0a84ff) 18%,transparent)}.student-color-picker input[type=color]{width:32px;height:32px;min-height:32px;padding:2px;border-radius:999px}.notes-panel{margin:12px 0}.notes-panel p{margin:0;color:var(--muted)}.contact-history-panel{display:grid;gap:10px;padding:14px;border-radius:20px;background:var(--panel-strong)}.history-tabs{display:flex;flex-wrap:wrap;gap:8px}.history-tabs button{min-height:34px;border:0;border-radius:999px;padding:0 12px;background:#1d1d1f14;color:var(--text);font-weight:800;cursor:pointer}.history-tabs button.active{background:#1d1d1f;color:#fff}.history-list{display:grid;gap:6px}.history-list h3{margin:0;font-size:15px}.history-list article{min-height:38px;display:grid;grid-template-columns:108px 64px minmax(0,1fr) 82px;align-items:center;gap:8px;padding:6px 8px;border-radius:12px;background:#ffffffa8}.history-list article span,.history-list article small{color:var(--muted)}.history-list article b{justify-self:end}.empty-state{margin:0;color:var(--muted)}.lesson-drawer{position:fixed;inset:0;z-index:40;display:grid;justify-items:end;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.drawer-card{width:min(390px,calc(100vw - 24px));height:100%;display:grid;align-content:start;gap:12px;padding:24px;background:#fffffff2;box-shadow:-24px 0 70px #0000002e;overflow:auto}.drawer-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-close{justify-self:end;min-height:38px;border:0;border-radius:999px;padding:0 14px;background:#1d1d1f14;cursor:pointer}.drawer-actions{display:grid;gap:8px}.drawer-actions button{min-height:44px;border:0;border-radius:16px;background:#1d1d1f;color:#fff;font-weight:800;cursor:pointer}.drawer-actions button:nth-child(n+2){background:#1d1d1f14;color:var(--text)}.segmented-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.segmented-actions button{min-height:42px;padding:0 10px}.segmented-actions button.active,.drawer-status button.active,.contact-methods button.active{background:#1d1d1f;color:#fff}.drawer-status,.drawer-editor,.drawer-student-detail,.drawer-students-list{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--panel-strong)}.drawer-status>span,.drawer-editor label,.drawer-student-detail label,.drawer-students-list>span{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.drawer-status div,.contact-methods{display:flex;flex-wrap:wrap;gap:6px}.drawer-status button,.contact-methods button,.contact-shortcut{min-height:34px;border:0;border-radius:999px;padding:0 10px;background:#1d1d1f14;color:var(--text);cursor:pointer}.drawer-status button.danger{color:#b4233c}.drawer-status button.danger.active{background:#f43f5e;color:#fff}.drawer-status small,.drawer-editor small,.drawer-student-detail small{color:var(--muted)}.contact-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--student-color, #0a84ff) 18%,white);color:color-mix(in srgb,var(--student-color, #0a84ff) 70%,#1d1d1f);font-weight:850;text-decoration:none}a.contact-shortcut:hover{background:color-mix(in srgb,var(--student-color, #0a84ff) 26%,white)}.contact-shortcut.compact{min-height:28px;padding:4px 10px;font-size:.78rem}.contact-shortcut-warning{background:#f43f5e1f;color:#b4233c;border:1px dashed #f43f5e;flex-wrap:wrap}.contact-warning-label{font-weight:600;font-size:.8rem}.contact-warning-input{flex:1 1 140px;min-width:140px;border:1px solid #f43f5e;border-radius:8px;padding:4px 8px;background:#fff;font:inherit;font-size:.85rem;color:var(--text)}.drawer-student-contacts{display:flex;flex-wrap:wrap;gap:6px}.drawer-status-hint{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0a84ff14;border-radius:12px;margin:4px 0 12px}.drawer-status-hint small{color:var(--muted)}.drawer-status-hint .primary-button{align-self:flex-start}.teaching-notes-preview{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:#22c55e14;border:1px solid rgba(34,197,94,.18)}.teaching-notes-preview header{display:flex;align-items:center;justify-content:space-between;gap:8px}.teaching-notes-preview header span{font-weight:750;color:#15803d}.teaching-notes-grid{display:flex;gap:18px}.teaching-notes-grid>div{display:flex;flex-direction:column;gap:2px}.teaching-notes-grid strong{font-size:1.1rem}.teaching-notes-grid small{color:var(--muted);font-size:.75rem}.teaching-notes-quote{margin:0;padding:10px;background:#fff;border-radius:10px;font-size:.85rem;color:var(--text)}.attendance-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:#6363660f;border:1px solid var(--line)}.attendance-panel header{display:flex;flex-direction:column;gap:2px}.attendance-panel header span{font-weight:750;color:var(--text)}.attendance-panel header small{color:var(--muted);font-size:.78rem}.attendance-list{display:flex;flex-direction:column;gap:6px}.attendance-row{display:grid;grid-template-columns:minmax(110px,auto) 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--student-color, #0a84ff) 8%,white);border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 22%,white)}.attendance-student{display:inline-flex;align-items:center;gap:6px}.attendance-toggles{display:inline-flex;flex-wrap:wrap;gap:4px}.attendance-toggles button{border:1px solid var(--line);background:#fff;color:var(--text);font-size:.72rem;font-weight:600;padding:4px 8px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.attendance-toggles button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.attendance-toggles button.danger.active{background:#f43f5e;border-color:#f43f5e}.attendance-charge{display:inline-flex;align-items:center;gap:6px}.attendance-charge b{font-size:.95rem}.paid-badge{background:#22c55e2e;color:#15803d;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:999px}.payment-source{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#0a84ff24;color:#0a3a8c}.payment-source-late_cancel{background:#f43f5e29;color:#b4233c}.payment-section{display:flex;flex-direction:column;gap:10px;margin-top:16px}.payment-section h2{margin:0;font-size:1rem;color:var(--text)}.payment-row{display:grid;grid-template-columns:minmax(180px,2fr) auto auto auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line)}.payment-row.paid{opacity:.85;background:#22c55e0f}.payment-method{font-size:.78rem;color:var(--muted)}.mark-paid-modal{position:fixed;inset:0;background:#0006;z-index:50;display:grid;place-items:center;padding:20px}.mark-paid-card{width:min(420px,100%);background:#fff;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 70px #00000040}.mark-paid-card label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600}.mark-paid-card input,.mark-paid-card select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit}.mark-paid-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.chip-summary-jump{position:absolute;top:6px;right:28px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#22c55e29;color:#15803d;cursor:pointer}.chip-summary-jump:hover{background:#22c55e47}.calendar-chip{position:relative}.phase-note{margin:8px 0 12px;padding:8px 12px;border-radius:10px;background:#f59e0b24;color:#92400e;font-size:.85rem}.checkbox-row{display:inline-flex;align-items:center;gap:8px}.info-card.empty{opacity:.85}.info-card.empty .empty-state{margin:0}.drawer-editor textarea,.drawer-student-detail textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;color:var(--text);font:inherit;line-height:1.35}.drawer-student{display:grid;gap:6px;margin-top:8px;padding:14px;border-radius:18px;background:color-mix(in srgb,var(--student-color, #0a84ff) 12%,white);border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 22%,white)}.drawer-student>div:first-child,.drawer-student-detail>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px}.drawer-student>div:first-child small,.drawer-student-detail>div:first-child small{grid-column:2}.drawer-student-detail{border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 22%,white);background:color-mix(in srgb,var(--student-color, #0a84ff) 10%,white)}.assignment-sheet{position:fixed;inset:0;z-index:45;display:grid;place-items:end center;background:#1d1d1f1a}.assignment-card{width:min(430px,calc(100vw - 28px));max-height:min(70svh,620px);display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:24px 24px 0 0;background:#fffffff5;box-shadow:0 -18px 60px #00000029;overflow:auto;animation:slide-up .18s ease}.assignment-card h2{margin-bottom:0;font-size:24px}.assignment-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.assignment-close{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#1d1d1f14;color:var(--text);cursor:pointer}.assignment-list{display:grid;gap:8px}.assignment-student{min-height:46px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 20%,white);border-radius:14px;padding:8px 10px;background:color-mix(in srgb,var(--student-color, #0a84ff) 10%,white);color:var(--text);text-align:start;cursor:pointer}.assignment-student small{grid-column:2;color:var(--muted)}button,.choice-card,.calendar-chip,.student-drag-card,.payer-card,.contact-card,.info-card{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}button:focus-visible{outline:3px solid rgba(10,132,255,.34);outline-offset:3px}.calendar-chip:focus-visible,.slot-add-button:focus-visible,.student-card-remove:focus-visible{outline:3px solid rgba(10,132,255,.34);outline-offset:2px}button:active{transform:scale(.985)}.account-button:hover,.workspace-nav button:hover,.choice-card:hover,.calendar-chip:hover,.student-drag-card:hover,.payer-card:hover,.contact-card:hover,.info-card:hover{box-shadow:0 18px 48px #0000001c}.choice-card:hover,.student-drag-card:hover,.calendar-chip:hover{transform:translateY(-2px)}.top-bar{padding:2px 0}.brand-mark{box-shadow:inset 0 1px #ffffff3d,0 12px 24px #0000001f}.account-button{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.popover-row{display:inline-flex;align-items:center;gap:8px}.primary-button,.quiet-button,.account-popover button,.action-stack button,.contact-actions button,.drawer-actions button,.drawer-close{display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button:hover,.account-popover button:hover,.drawer-actions button:hover,.action-stack button:first-child:hover{background:#050506}.quiet-button{justify-self:start;background:#1d1d1f14;color:var(--text)}.choice-card{position:relative;overflow:hidden}.choice-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffffc7,#fff0);pointer-events:none}.choice-card>*{position:relative}.arrow{display:inline-flex;align-items:center;gap:8px}.workspace-nav{background:linear-gradient(180deg,#ffffffd1,#ffffff8f);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.workspace-nav button{display:inline-flex;align-items:center;gap:10px;font-weight:700}.workspace-nav button:not(.active):hover{background:#1d1d1f0f;color:var(--text)}.workspace-nav .active{box-shadow:0 10px 24px #00000029}.management-main,.side-panel,.tool-page,.calendar-roster,.contacts-roster,.placeholder-panel{background:linear-gradient(180deg,#ffffffe6,#ffffffad)}.section-title h1{text-wrap:balance}.soft-pill{padding:0 14px;box-shadow:inset 0 1px #ffffffa6}.day-column{position:relative;overflow:hidden}.day-column:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px #ffffffbf}.calendar-chip{position:relative;min-height:58px;padding:8px 30px 8px 12px;overflow:hidden}.calendar-chip:before{content:"";position:absolute;inset:8px auto 8px 0;width:4px;border-radius:999px;background:#0a84ff8c}.calendar-chip.green:before{background:#22c55e94}.calendar-chip.rose:before{background:#f43f5e8c}.calendar-chip.gray:before{background:#6e6e736b}.chip-grip{position:absolute;top:8px;inset-inline-end:8px;color:#1d1d1f42}.calendar-chip:hover .chip-grip,.student-drag-card:hover>svg{color:#1d1d1f8a}.calendar-chip.gray:hover{transform:none;box-shadow:0 10px 20px #0000000d}.mini-card span{display:inline-flex;align-items:center;gap:6px}.action-stack button{letter-spacing:0}.action-stack button:nth-child(2):hover{background:#dff6e7}.action-stack button:nth-child(3):hover{background:#dfeeff}.student-drag-card{grid-template-columns:auto 1fr auto}.student-drag-card>svg{color:#1d1d1f38}.student-drag-card.selected{box-shadow:0 14px 34px #0a84ff1c}.finance-summary div{box-shadow:inset 0 1px #ffffffad}.info-card{min-height:164px}.inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.inline-actions button{min-height:34px;border:0;border-radius:999px;padding:0 10px;background:#1d1d1f12;color:var(--text);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.inline-actions button:hover,.info-card button:hover,.contact-actions button:hover{background:#1d1d1f1f}.lesson-drawer{animation:fade-in .16s ease}.drawer-card{animation:slide-in .22s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(24px);opacity:.8}to{transform:translate(0);opacity:1}}@keyframes slide-up{0%{transform:translateY(22px);opacity:.82}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:860px){.screen{min-height:100svh;padding:12px 10px 18px}.brand-name{display:none}.start-screen{grid-template-rows:auto auto 1fr;gap:18px}.start-hero{align-self:start;text-align:left;padding-top:6px}h1{font-size:clamp(34px,12vw,46px)}.hero-copy{font-size:15px}.choice-grid{grid-template-columns:1fr;align-self:start;gap:12px}.choice-card{min-height:128px;grid-template-columns:auto 1fr;padding:18px;border-radius:18px}.choice-card .arrow{grid-column:2;justify-self:start;padding:6px 12px}.choice-card strong{font-size:24px}.choice-icon{width:48px;height:48px;border-radius:16px}.placeholder-grid{grid-template-columns:1fr 1fr}.management-screen{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.management-screen .top-bar{grid-column:auto}.workspace-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-direction:row;position:static;width:100%;border-radius:18px;padding:5px;overflow:hidden}.workspace-nav button{width:auto;min-height:44px;padding:0 4px;font-size:12px;text-align:center;justify-content:center;gap:4px}.workspace-nav button svg{display:none}.management-layout,.calendar-management-page,.contacts-page,.payments-page{grid-template-columns:1fr;gap:12px}.management-main,.tool-page{padding:13px;border-radius:18px}.side-panel{padding:10px;border-radius:18px}.section-title{align-items:center;margin-bottom:12px}.section-title h1{font-size:28px}.soft-pill{min-height:34px;padding:0 12px}.week-calendar{grid-template-columns:1fr;gap:8px}.compact-week{display:grid;gap:7px}.management-layout .compact-week .day-column:not(:first-child){display:none}.compact-week .day-column{min-height:auto;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:9px;border-radius:18px;background:#ffffffa8}.compact-week .day-column header{display:grid;align-content:center;margin:0}.compact-week .day-column header small{font-size:11px}.compact-week .hour-slots{gap:5px}.compact-week .hour-slot{min-height:42px;grid-template-columns:42px 30px minmax(0,1fr);gap:5px;padding:3px}.compact-week .slot-items{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px}.compact-week .calendar-chip{min-height:58px;padding:8px;padding-inline-start:10px;border-radius:13px}.compact-week .calendar-chip span,.compact-week .calendar-chip small{font-size:11px}.compact-week .calendar-chip strong{font-size:12px}.status-card{padding:14px}.status-grid{grid-template-columns:1fr 1fr}.mini-card{min-height:84px;padding:12px}.action-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.action-stack button{min-height:42px;border-radius:15px;font-size:13px}.day-column{min-height:auto;border-radius:16px}.calendar-roster,.contacts-roster{padding:10px;border-radius:18px}.calendar-roster .roster-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.student-profile-grid{grid-template-columns:1fr}.contact-edit-grid{grid-template-columns:1fr 1fr}.payment-row{grid-template-columns:minmax(120px,1fr) 56px 46px 82px;gap:6px;padding:6px 8px}.history-list article{grid-template-columns:90px 50px minmax(0,1fr)}.history-list article b{grid-column:3;justify-self:start}.lesson-drawer{align-items:end;justify-items:stretch;background:#1d1d1f14}.drawer-card{width:100%;height:auto;max-height:88svh;padding:16px;border-radius:24px 24px 0 0;box-shadow:0 -18px 60px #0000002e;animation:slide-up .19s ease}.drawer-actions button,.drawer-status button,.contact-methods button,.contact-shortcut,.assignment-student{min-height:44px}.assignment-card{width:100%;max-height:78svh;border-radius:22px 22px 0 0;padding:14px}.finance-summary,.contact-actions,.contact-edit-grid{grid-template-columns:1fr}.payments-table-panel,.payment-detail-panel,.placeholder-panel{border-radius:18px}.payer-card,.contact-card{align-items:flex-start}}@media(max-width:380px){.top-bar{min-height:48px}.account-button{min-height:40px;padding-inline-end:8px}.account-button span:last-child{display:none}.choice-card{min-height:112px;padding:14px}.choice-card small{font-size:13px}.action-stack button{padding:0 6px;font-size:12px}.compact-week .slot-items{grid-template-columns:1fr 1fr}}body.phone-preview-app{min-width:0;display:flex;justify-content:flex-start;background:radial-gradient(circle at 10% 5%,rgba(10,132,255,.13),transparent 30rem),radial-gradient(circle at 90% 12%,rgba(34,197,94,.12),transparent 28rem),#f5f5f7}body.phone-preview-app #root{width:min(390px,100vw);min-height:100vh;background:var(--bg);box-shadow:0 0 0 1px #1d1d1f14,0 28px 90px #00000029;overflow-x:hidden}body.phone-preview-wide{display:block;overflow-x:hidden}body.phone-preview-wide #root{width:100%;box-shadow:none}body.phone-preview-app .screen{min-height:100svh;padding:12px 10px 18px;width:100%;max-width:100%;overflow-x:hidden}body.phone-preview-app .top-bar,body.phone-preview-app .management-screen,body.phone-preview-app .workspace-nav,body.phone-preview-app .calendar-management-page,body.phone-preview-app .calendar-tool,body.phone-preview-app .week-calendar,body.phone-preview-app .day-column,body.phone-preview-app .hour-slot,body.phone-preview-app .slot-items,body.phone-preview-app .calendar-chip{min-width:0;max-width:100%}body.phone-preview-app .top-bar{width:100%}body.phone-preview-app .account-button{max-width:122px;overflow:hidden}body.phone-preview-app .brand-name{display:none}body.phone-preview-app .start-screen{gap:18px}body.phone-preview-app .start-screen>.choice-grid{margin-top:0}body.phone-preview-app .start-hero{align-self:start;text-align:left;padding-top:6px}body.phone-preview-app h1{font-size:clamp(34px,12vw,46px)}body.phone-preview-app .hero-copy{font-size:15px}body.phone-preview-app .choice-grid{grid-template-columns:1fr;align-self:start;gap:12px}body.phone-preview-app .choice-card{min-height:128px;grid-template-columns:auto 1fr;padding:18px;border-radius:18px}body.phone-preview-app .choice-card .arrow{grid-column:2;justify-self:start;padding:6px 12px}body.phone-preview-app .choice-card strong{font-size:24px}body.phone-preview-app .choice-icon{width:48px;height:48px;border-radius:16px}body.phone-preview-app .placeholder-grid{grid-template-columns:1fr 1fr}body.phone-preview-app .management-screen{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}body.phone-preview-app .management-screen .top-bar{grid-column:auto}body.phone-preview-app .workspace-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex-direction:row;position:static;width:100%;border-radius:18px;padding:5px;overflow:hidden}body.phone-preview-app .workspace-nav button{width:auto;min-width:0;min-height:44px;padding:0 4px;font-size:12px;text-align:center;justify-content:center;gap:4px;overflow:hidden}body.phone-preview-app .workspace-nav button svg{display:none}body.phone-preview-app .management-layout,body.phone-preview-app .calendar-management-page,body.phone-preview-app .contacts-page,body.phone-preview-app .payments-page{grid-template-columns:1fr;gap:12px}body.phone-preview-app .calendar-roster{display:none}body.phone-preview-app .management-main,body.phone-preview-app .tool-page{padding:13px;border-radius:18px}body.phone-preview-app .side-panel{padding:10px;border-radius:18px}body.phone-preview-app .section-title{align-items:center;margin-bottom:12px}body.phone-preview-app .section-title h1{font-size:28px}body.phone-preview-app .calendar-tool .section-title{display:grid;grid-template-columns:1fr;align-items:start;gap:10px}body.phone-preview-app .calendar-view-toggle button{min-height:32px;padding:0 10px;font-size:12px}body.phone-preview-app .calendar-view-toggle{justify-self:start}body.phone-preview-app .calendar-day-tabs{position:sticky;top:0;z-index:5;max-width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-inline:-4px;padding:2px 4px 8px;background:linear-gradient(180deg,var(--bg),rgba(245,245,247,.86));overflow:visible}body.phone-preview-app .calendar-day-tabs button{min-width:0;min-height:58px;border-radius:17px;padding:7px 5px}body.phone-preview-app .calendar-day-tabs span{font-size:10px}body.phone-preview-app .calendar-day-tabs small{font-size:9px}body.phone-preview-app .calendar-day-tabs strong{font-size:18px}body.phone-preview-app .account-copy strong{font-size:13px}body.phone-preview-app .account-copy small{font-size:9px}body.phone-preview-app .month-weekdays,body.phone-preview-app .month-grid{gap:4px}body.phone-preview-app .month-cell{min-height:62px;border-radius:12px;padding:6px}body.phone-preview-app .month-cell strong{display:none}body.phone-preview-app .month-cell small{font-size:10px}body.phone-preview-app .soft-pill{min-height:34px;padding:0 12px}body.phone-preview-app .week-calendar{grid-template-columns:1fr;gap:8px}body.phone-preview-app .compact-week{display:grid;gap:7px}body.phone-preview-app .management-layout .compact-week .day-column:not(:first-child){display:none}body.phone-preview-app .compact-week .day-column{min-height:auto;display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:9px;border-radius:18px;background:#ffffffa8}body.phone-preview-app .compact-week .day-column header{display:grid;align-content:center;margin:0}body.phone-preview-app .compact-week .day-column header small{font-size:11px}body.phone-preview-app .compact-week .hour-slots{gap:5px}body.phone-preview-app .compact-week .hour-slot{min-height:42px;grid-template-columns:42px 30px minmax(0,1fr);gap:5px;padding:3px}body.phone-preview-app .compact-week .slot-items{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px}body.phone-preview-app .compact-week .calendar-chip{min-height:58px;padding:8px;padding-inline-start:10px;border-radius:13px}body.phone-preview-app .compact-week .calendar-chip span,body.phone-preview-app .compact-week .calendar-chip small{font-size:11px}body.phone-preview-app .compact-week .calendar-chip strong{font-size:12px}body.phone-preview-app .calendar-chip{overflow:hidden}body.phone-preview-app .status-card{padding:14px}body.phone-preview-app .status-grid{grid-template-columns:1fr 1fr}body.phone-preview-app .mini-card{min-height:84px;padding:12px}body.phone-preview-app .action-stack{grid-template-columns:repeat(3,minmax(0,1fr))}body.phone-preview-app .action-stack button{min-height:42px;border-radius:15px;font-size:13px}body.phone-preview-app .day-column{min-height:auto;border-radius:16px}body.phone-preview-app .calendar-roster,body.phone-preview-app .contacts-roster{padding:10px;border-radius:18px}body.phone-preview-app .calendar-roster .roster-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}body.phone-preview-app .student-profile-grid{grid-template-columns:1fr}body.phone-preview-app .contact-edit-grid{grid-template-columns:1fr 1fr}body.phone-preview-app .payment-row{grid-template-columns:minmax(120px,1fr) 56px 46px 82px;gap:6px;padding:6px 8px}body.phone-preview-app .history-list article{grid-template-columns:90px 50px minmax(0,1fr)}body.phone-preview-app .history-list article b{grid-column:3;justify-self:start}body.phone-preview-app .lesson-drawer{align-items:end;justify-items:stretch;background:#1d1d1f14}body.phone-preview-app .drawer-card{width:100%;height:auto;max-height:88svh;padding:16px;border-radius:24px 24px 0 0;box-shadow:0 -18px 60px #0000002e;animation:slide-up .19s ease}body.phone-preview-app .drawer-actions button,body.phone-preview-app .drawer-status button,body.phone-preview-app .contact-methods button,body.phone-preview-app .contact-shortcut,body.phone-preview-app .assignment-student{min-height:44px}body.phone-preview-app .assignment-card{width:100%;max-height:78svh;border-radius:22px 22px 0 0;padding:14px}body.phone-preview-app .finance-summary,body.phone-preview-app .contact-actions,body.phone-preview-app .contact-edit-grid{grid-template-columns:1fr}body.phone-preview-app .payments-table-panel,body.phone-preview-app .payment-detail-panel,body.phone-preview-app .placeholder-panel{border-radius:18px}body.phone-preview-app .payer-card,body.phone-preview-app .contact-card{align-items:flex-start}@media(min-width:861px){body:not(.phone-preview-app) .screen{padding:20px clamp(18px,3vw,42px) 30px}body:not(.phone-preview-app) h1{font-size:clamp(42px,5vw,var(--font-home-title))}body:not(.phone-preview-app) .start-screen{gap:clamp(20px,4vw,34px)}body:not(.phone-preview-app) .choice-card{min-height:176px;border-radius:var(--radius-home);box-shadow:var(--shadow-panel)}body:not(.phone-preview-app) .management-screen{grid-template-columns:86px minmax(0,1fr);gap:12px}body:not(.phone-preview-app) .workspace-nav{border-radius:var(--radius-panel);box-shadow:var(--shadow-soft)}body:not(.phone-preview-app) .workspace-nav button{min-height:54px;border-radius:var(--radius-control);font-size:var(--font-xs)}body:not(.phone-preview-app) .workspace-nav .active{box-shadow:0 8px 18px #0000001f}body:not(.phone-preview-app) .management-main,body:not(.phone-preview-app) .side-panel,body:not(.phone-preview-app) .tool-page,body:not(.phone-preview-app) .calendar-roster,body:not(.phone-preview-app) .contacts-roster,body:not(.phone-preview-app) .payments-table-panel,body:not(.phone-preview-app) .payment-detail-panel{border-radius:var(--radius-panel);background:#ffffffe6;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body:not(.phone-preview-app) .management-main,body:not(.phone-preview-app) .tool-page{padding:20px}body:not(.phone-preview-app) .section-title{margin-bottom:12px}body:not(.phone-preview-app) .section-title h1,body:not(.phone-preview-app) .calendar-management-page .section-title h1,body:not(.phone-preview-app) .compact-title h1{font-size:var(--font-work-title);line-height:1.08}body:not(.phone-preview-app) .section-title .soft-pill{min-height:var(--button-standard-h);border-radius:var(--radius-control);font-size:var(--font-sm)}body:not(.phone-preview-app) .calendar-management-page{grid-template-columns:minmax(0,1fr) 248px;gap:14px}body:not(.phone-preview-app) .calendar-roster,body:not(.phone-preview-app) .contacts-roster,body:not(.phone-preview-app) .side-panel{padding:12px}body:not(.phone-preview-app) .calendar-roster h2,body:not(.phone-preview-app) .contacts-roster h2{margin-bottom:10px;font-size:var(--font-md)}body:not(.phone-preview-app) .roster-list{gap:8px}body:not(.phone-preview-app) .student-drag-card{min-height:48px;border-radius:var(--radius-control);padding:6px 8px;box-shadow:none}body:not(.phone-preview-app) .calendar-management-page .desktop-week-calendar{border-radius:var(--radius-panel)}body:not(.phone-preview-app) .calendar-chip{min-height:40px;padding:6px 24px 6px 12px;border-radius:var(--radius-control);box-shadow:none}body:not(.phone-preview-app) .calendar-chip:hover,body:not(.phone-preview-app) .student-drag-card:hover{transform:none;box-shadow:var(--shadow-soft)}body:not(.phone-preview-app) .chip-remove,body:not(.phone-preview-app) .student-card-remove{opacity:.62}body:not(.phone-preview-app) .primary-button,body:not(.phone-preview-app) .quiet-button,body:not(.phone-preview-app) .danger-button,body:not(.phone-preview-app) .contact-actions button,body:not(.phone-preview-app) .action-stack button{min-height:var(--button-standard-h);border-radius:var(--radius-control);padding:0 12px;font-size:var(--font-body)}body:not(.phone-preview-app) .action-stack{gap:8px}body:not(.phone-preview-app) .payments-page{grid-template-columns:minmax(0,1fr) 340px;gap:14px}body:not(.phone-preview-app) .payment-row{min-height:40px;border-radius:var(--radius-control)}body:not(.phone-preview-app) .contact-add-row button,body:not(.phone-preview-app) .contact-toolbar button{min-height:var(--button-standard-h);border-radius:var(--radius-control)}body:not(.phone-preview-app) .info-card,body:not(.phone-preview-app) .contact-history-panel,body:not(.phone-preview-app) .notes-panel{border-radius:var(--radius-panel)}body:not(.phone-preview-app) .history-tabs button{min-height:32px;border-radius:var(--radius-control);padding:0 12px;font-size:var(--font-sm)}body:not(.phone-preview-app) .history-list article{min-height:36px;border-radius:var(--radius-control)}body:not(.phone-preview-app) .lesson-drawer{background:#1d1d1f1a;-webkit-backdrop-filter:none;backdrop-filter:none}body:not(.phone-preview-app) .drawer-card{width:min(400px,calc(100vw - 24px));padding:20px;border-left:1px solid var(--line);background:#fff;box-shadow:-18px 0 42px #0f172a2e}body:not(.phone-preview-app) .drawer-card h2{font-size:24px;line-height:1.1}body:not(.phone-preview-app) .drawer-close{min-width:32px;min-height:32px;border-radius:var(--radius-control);padding:0}body:not(.phone-preview-app) .drawer-actions button,body:not(.phone-preview-app) .segmented-actions button,body:not(.phone-preview-app) .drawer-status button,body:not(.phone-preview-app) .contact-methods button,body:not(.phone-preview-app) .contact-shortcut{min-height:34px;border-radius:var(--radius-control);padding:0 10px;font-size:13px}body:not(.phone-preview-app) .drawer-status,body:not(.phone-preview-app) .drawer-editor,body:not(.phone-preview-app) .drawer-student-detail,body:not(.phone-preview-app) .drawer-students-list,body:not(.phone-preview-app) .attendance-panel,body:not(.phone-preview-app) .teaching-notes-preview{border-radius:var(--radius-panel);padding:12px}}@media(min-width:1600px){.top-bar,.management-screen .top-bar{max-width:1440px}}:root{--mgmt-blue: #0a84ff;--mgmt-blue-soft: #eaf4ff;--mgmt-blue-mid: #cfe6ff;--teach-green: #22c55e;--teach-green-soft: #eafaf0;--teach-green-mid: #c9f2d7}.app-shell{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:224px minmax(0,1fr);gap:18px;padding:18px}.app-sidebar{position:sticky;top:18px;height:calc(100svh - 36px);display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#ffffffd6;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-main{min-width:0}.sidebar-brand{width:100%;display:flex;align-items:center;gap:10px;border:0;border-radius:12px;padding:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.brand-mark,.sidebar-brand .brand-mark{background:linear-gradient(145deg,var(--mgmt-blue),var(--teach-green));box-shadow:0 10px 22px #0a84ff2e}.nav-group{display:grid;gap:6px;padding:10px;border:1px solid rgba(29,29,31,.07);border-radius:14px}.nav-group.management-group{background:linear-gradient(180deg,#eaf4ffe6,#fff9)}.nav-group.teaching-group{background:linear-gradient(180deg,#eafaf0eb,#ffffff9e)}.nav-group-label{padding:0 8px 4px;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.nav-item{min-height:38px;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;border:0;border-radius:10px;padding:0 10px;background:transparent;color:#40546a;font-weight:800;cursor:pointer}.nav-item:hover{background:#ffffffb8;color:var(--text)}.nav-item.active,.nav-item.home-nav.active{color:#0757ad;background:var(--mgmt-blue-soft);box-shadow:inset 0 0 0 1px var(--mgmt-blue-mid)}.nav-group.teaching-group .nav-item.active{color:#14743a;background:var(--teach-green-soft);box-shadow:inset 0 0 0 1px var(--teach-green-mid)}.sidebar-footer{margin-top:auto;position:relative}.app-sidebar .account-button{width:100%;justify-content:flex-start}.app-sidebar .account-popover{inset-inline:0 auto;top:auto;bottom:calc(100% + 10px)}.account-popover button,.account-popover .account-logout,.primary-button,.quiet-button,.danger-button,.action-stack button,.drawer-actions button,.segmented-actions button,.history-tabs button,.attendance-toggles button,.calendar-view-toggle button,.calendar-day-tabs button,.payment-actions button,.credit-button{border:1px solid var(--mgmt-blue-mid);background:var(--mgmt-blue-soft);color:#0757ad;box-shadow:none}.quiet-button,.account-popover .account-logout{border-color:var(--line);background:#ffffffd6;color:var(--text)}.danger-button{border-color:#f43f5e33;background:#f43f5e1a;color:#b4233c}.data-mode-toggle button.active,.workspace-nav .active,.segmented-actions button.active,.calendar-view-toggle button.active,.history-tabs button.active,.attendance-toggles button.active,.calendar-day-tabs button.active{background:var(--mgmt-blue-soft);color:#0757ad;box-shadow:inset 0 0 0 1px var(--mgmt-blue-mid)}.data-mode-toggle button[data-mode=real].active,.pwa-install-button,.credit-button{border-color:var(--teach-green-mid);background:var(--teach-green-soft);color:#14743a}.home-page{width:min(1280px,100%);margin:0 auto;display:grid;gap:16px}.home-hero,.home-section,.calendar-tool,.payment-section,.finance-summary,.payer-card{border:1px solid var(--line);border-radius:14px;background:#ffffffd6;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;padding:clamp(18px,3vw,28px)}.home-hero h1{margin-bottom:8px;font-size:clamp(34px,4vw,54px);letter-spacing:0}.home-hero-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.home-cards,.payments-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.credit-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.overview-card{min-height:116px;display:grid;gap:8px;align-content:start;border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.overview-card.blue{background:linear-gradient(145deg,#f2f8ff,#fff);border-color:var(--mgmt-blue-mid)}.overview-card.green{background:linear-gradient(145deg,#f1fbf5,#fff);border-color:var(--teach-green-mid)}.overview-card.rose{background:linear-gradient(145deg,#fff1f4,#fff);border-color:#f43f5e2e}.overview-card.indigo{background:linear-gradient(145deg,#f3f5ff,#fff);border-color:#6366f12e}.overview-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#0a84ff1a;color:var(--mgmt-blue)}.overview-card strong{font-size:24px;line-height:1}.overview-link{width:fit-content;border:0;padding:0;background:transparent;color:#0757ad;font-weight:850;cursor:pointer}.home-section{display:grid;gap:12px;padding:16px}.home-section-head,.calendar-nav-row,.credit-balance-line,.payment-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.upcoming-list,.credit-accounts-list{display:grid;gap:8px}.upcoming-row{display:grid;grid-template-columns:92px 72px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(29,29,31,.08);border-radius:10px;padding:10px 12px;background:#fff}.upcoming-date,.upcoming-time,.upcoming-pay{color:var(--muted);font-size:12px;font-weight:850}.upcoming-students{font-weight:850}.calendar-nav-row{margin-bottom:10px}.calendar-range-nav{display:inline-flex;align-items:center;gap:8px}.cal-arrow,.calendar-range-nav button{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.cal-range-label{min-width:168px;color:var(--text);font-weight:850;text-align:center}.calendar-management-page .week-day-header span{font-size:clamp(17px,1.25vw,22px);font-weight:900}.calendar-management-page .week-day-header small{font-size:clamp(12px,.9vw,15px)}.calendar-management-page .time-rail-slot span,.calendar-management-page .hour-label{font-size:clamp(12px,.9vw,15px);font-weight:850}.month-cell-items{display:grid;gap:4px;margin-top:8px}.month-cell-item{overflow:hidden;border-radius:7px;padding:4px 6px;background:var(--mgmt-blue-soft);color:#0757ad;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.payments-tabs{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#ffffffbd}.payments-page{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.payments-tabs button{min-height:34px;border:0;border-radius:9px;padding:0 14px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.payments-tabs button.active{color:#0757ad;background:var(--mgmt-blue-soft)}.credit-add-card{display:grid;gap:12px;border:1px solid var(--teach-green-mid);border-radius:12px;padding:14px;background:linear-gradient(145deg,#eafaf0eb,#ffffffe6)}.credit-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}.credit-add-grid input,.credit-add-grid select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;font:inherit}.credit-add-grid button{min-height:42px;grid-column:1 / -1}.txn-type{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:var(--mgmt-blue-soft);color:#0757ad;font-size:11px;font-weight:850}.txn-type-credit_added{background:var(--teach-green-soft);color:#14743a}.txn-type-credit_consumed,.txn-type-refund{background:#fff7ed;color:#9a3412}.add-student-button,.import-phone-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--mgmt-blue-mid);border-radius:9px;padding:0 12px;background:var(--mgmt-blue-soft);color:#0757ad;font-weight:850;white-space:nowrap}.import-phone-button{border-color:var(--teach-green-mid);background:var(--teach-green-soft);color:#14743a}.contact-checkbox-grid{display:grid;gap:8px}.checkbox-row.label-first{min-height:34px;display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:9px;padding:6px 10px;background:#ffffffbd}.checkbox-row.label-first input{width:16px;height:16px}.student-color-picker button.selected{box-shadow:0 0 0 3px #0a84ff2e}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto}.home-hero,.home-cards,.payments-summary-grid,.credit-summary-row,.credit-add-grid,.upcoming-row{grid-template-columns:1fr}}.teaching-module{width:min(1280px,100%);margin:0 auto;display:grid;gap:14px;color:var(--text)}.teaching-module *,.teaching-module *:before,.teaching-module *:after{min-width:0}.teaching-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;align-items:start}.teaching-two-column,.teaching-resource-page{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:clamp(16px,2vw,24px);align-items:start}.teaching-detail-panel{min-width:0}.teaching-shell-header,.teaching-lesson-header,.teaching-student-header,.teaching-resource-title,.teaching-panel-title{display:flex;align-items:center;gap:14px}.teaching-shell-header{justify-content:space-between;margin-bottom:14px}.teaching-shell-header>div:last-child{text-align:right}.teaching-shell-header h1{margin:0;font-size:32px;line-height:1.05;letter-spacing:0}.teaching-eyebrow{margin:0 0 4px;color:#567086;font-size:var(--font-xs, 11px);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.teaching-icon-button,.teaching-header-actions button,.teaching-add-row button,.teaching-secondary-action,.teaching-summary-add button,.teaching-inline-actions button,.teaching-inline-actions a,.teaching-quick-grid button{min-height:var(--button-standard-h, 36px);display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius-control, 8px);padding:0 12px;color:var(--text);background:#fff;font-size:var(--font-body, 14px);font-weight:750;text-decoration:none;cursor:pointer}.teaching-nav{position:sticky;top:18px;display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-panel, 12px);background:linear-gradient(180deg,#ffffffdb,#ffffff9e);box-shadow:var(--shadow-soft, 0 1px 2px rgba(0, 0, 0, .05));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.teaching-nav button,.teaching-tabs button,.lesson-tabs button,.lesson-card button,.plan-block button,.summary-block button,.resource-card button,.student-file button,.teaching-panel button{font:inherit}.teaching-nav button{min-height:36px;display:inline-flex;align-items:center;gap:9px;border:0;border-radius:var(--radius-control, 8px);padding:0 12px;background:transparent;color:var(--muted);font-weight:750;text-align:left;cursor:pointer}.teaching-nav button:hover{background:#1d1d1f0f;color:var(--text)}.teaching-nav button.active,.teaching-nav [aria-current=page]{background:#1d1d1f;color:#fff;box-shadow:0 8px 18px #0000001f}.teaching-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teaching-home-grid>*{min-height:136px;display:grid;align-content:end;gap:8px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-home, 22px);background:linear-gradient(145deg,#fffffff0,#ffffffa8);color:var(--text);box-shadow:var(--shadow-panel, 0 10px 28px rgba(30, 42, 58, .08));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.teaching-home-grid strong{font-size:clamp(19px,2vw,24px);letter-spacing:0;line-height:1.08}.teaching-card-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-control, 8px);color:#0a67d1;background:#eaf4ff}.teaching-card-icon.compact{width:32px;height:32px}.teaching-home-grid small,.teaching-panel small,.lesson-card small,.plan-block small,.summary-block small,.resource-card small,.student-file small{color:var(--muted)}.teaching-panel,.lesson-page,.resource-library,.student-file{border:1px solid var(--line);border-radius:var(--radius-panel, 12px);background:linear-gradient(180deg,#ffffffeb,#ffffffc2);box-shadow:var(--shadow-panel, 0 10px 28px rgba(30, 42, 58, .08));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.teaching-panel,.lesson-page,.resource-library,.student-file{padding:clamp(14px,2vw,20px)}.teaching-panel{display:grid;gap:16px}.teaching-stack,.teaching-resource-grid,.teaching-timeline{display:grid;gap:14px}.teaching-panel>header,.lesson-page>header,.resource-library>header,.student-file>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.teaching-panel h1,.lesson-page h1,.resource-library h1,.student-file h1{margin:0;font-size:32px;line-height:1.06;letter-spacing:0}.teaching-panel h2,.lesson-page h2,.resource-library h2,.student-file h2{margin:0;font-size:22px;letter-spacing:0}.teaching-panel p,.lesson-page p,.resource-library p,.student-file p{color:var(--muted);line-height:1.45}.lesson-list{display:grid;gap:10px}.lesson-list>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase}.lesson-card{width:100%;display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-panel, 12px);background:#ffffffb8;color:var(--text);text-align:left;box-shadow:var(--shadow-soft, 0 1px 2px rgba(0, 0, 0, .05))}.lesson-card:hover{border-color:#0a84ff47;box-shadow:var(--shadow-panel, 0 10px 28px rgba(30, 42, 58, .08))}.lesson-card strong{display:block;font-size:15px;line-height:1.2}.lesson-card time{color:var(--muted);font-size:var(--font-sm, 12px);font-weight:800}.lesson-card button,.resource-card button,.student-file button,.plan-block button,.summary-block button,.teaching-panel button,.teaching-resource-modal button{min-height:var(--button-standard-h, 36px);display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:var(--radius-control, 8px);padding:0 12px;background:#1d1d1f;color:#fff;font-size:var(--font-body, 14px);font-weight:800;cursor:pointer}.teaching-module button:disabled,.teaching-resource-modal button:disabled{cursor:not-allowed;opacity:.55;transform:none}.lesson-card button.secondary,.resource-card button.secondary,.student-file button.secondary,.plan-block button.secondary,.summary-block button.secondary,.teaching-panel button.secondary{background:#1d1d1f14;color:var(--text)}.lesson-page{display:grid;gap:16px}.lesson-page>header{padding-bottom:4px}.lesson-page dl,.lesson-card dl{display:flex;flex-wrap:wrap;gap:8px;margin:0}.lesson-page dt,.lesson-card dt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lesson-page dd,.lesson-card dd{margin:0}.lesson-page .status,.lesson-card .status,.plan-block .status,.summary-block .status,.resource-card .status{min-height:24px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;background:#0a84ff1c;color:#0a67d1;font-size:var(--font-xs, 11px);font-weight:850}.lesson-tabs{display:flex;gap:8px;padding:4px;border-radius:var(--radius-panel, 12px);background:#1d1d1f12;overflow-x:auto}.lesson-tabs button{min-height:34px;flex:0 0 auto;border:0;border-radius:var(--radius-control, 8px);padding:0 16px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer}.lesson-tabs button.active,.lesson-tabs button[aria-selected=true]{background:#1d1d1f;color:#fff;box-shadow:0 7px 16px #0000001f}.plan-block,.summary-block,.resource-card{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-panel, 12px);background:#ffffffbd;box-shadow:var(--shadow-soft, 0 1px 2px rgba(0, 0, 0, .05))}.plan-block,.summary-block{border-inline-start:4px solid rgba(10,132,255,.46)}.summary-block{border-inline-start-color:#22c55e94}.plan-block.carried-over,.summary-block.moved-forward{background:linear-gradient(135deg,#fff7ede0,#ffffffb8);border-inline-start-color:#f59e0b}.plan-block h3,.summary-block h3,.resource-card h3{margin:0;font-size:16px;letter-spacing:0;line-height:1.18}.plan-block p,.summary-block p,.resource-card p{margin:0}.plan-block footer,.summary-block footer,.resource-card footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.plan-block button,.summary-block button,.resource-card button{min-height:34px;padding-inline:12px;font-size:13px}.summary-block.completed{border-inline-start-color:#22c55eb8}.summary-block.partial{border-inline-start-color:#f59e0bcc}.summary-block.not-done{border-inline-start-color:#6e6e737a}.resource-library{display:grid;gap:16px}.resource-library form,.resource-library .filters{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(120px,1fr));gap:10px;align-items:center}.resource-library input,.resource-library select,.resource-library textarea,.student-file textarea,.lesson-page textarea,.teaching-panel input,.teaching-panel textarea,.teaching-resource-modal input,.teaching-resource-modal select{width:100%;min-height:var(--button-standard-h, 36px);border:1px solid var(--line);border-radius:var(--radius-control, 8px);padding:8px 10px;background:#ffffffd6;color:var(--text);font:inherit;font-size:var(--font-body, 14px);box-shadow:inset 0 1px #ffffffb8}.resource-library textarea,.student-file textarea,.lesson-page textarea,.teaching-panel textarea{min-height:118px;resize:vertical;line-height:1.45}.teaching-field-label{display:grid;gap:6px;color:var(--muted);font-size:var(--font-sm, 12px);font-weight:850}.teaching-search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.teaching-add-row.teaching-plan-add-card{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(280px,1.4fr) auto;gap:12px;align-items:end;padding:12px;border:1px solid rgba(10,132,255,.14);border-radius:var(--radius-panel, 12px);background:linear-gradient(135deg,#ebf5ffbd,#ffffffd1)}.teaching-description-field textarea{min-height:46px;max-height:132px}.teaching-secondary-action{width:fit-content}.resource-library input:focus,.resource-library select:focus,.resource-library textarea:focus,.student-file textarea:focus,.lesson-page textarea:focus,.teaching-panel input:focus,.teaching-panel textarea:focus{border-color:#0a84ff8c;outline:3px solid rgba(10,132,255,.18);outline-offset:1px}.resource-library .filters{padding:10px;border-radius:var(--radius-panel, 12px);background:#ffffff8f}.resource-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.resource-card>div{display:grid;gap:6px}.resource-card .tags,.plan-block .chips,.summary-block .chips,.student-file .chips,.lesson-card .chips{display:flex;flex-wrap:wrap;gap:6px}.resource-card .tags span,.plan-block .chips span,.summary-block .chips span,.student-file .chips span,.lesson-card .chips span{min-height:24px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;background:#1d1d1f12;color:var(--muted);font-size:var(--font-xs, 11px);font-weight:800}.student-file{display:grid;gap:16px}.student-file .student-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-file .student-overview>*{display:grid;gap:5px;padding:4px 0 10px;border-block-end:1px solid var(--line)}.student-file .timeline{display:grid;gap:10px}.student-file .timeline article{display:grid;gap:7px;padding:13px 0;border-block-start:1px solid var(--line)}.student-file .timeline article:first-child{border-block-start:0;padding-block-start:0}.teaching-block-card,.teaching-resource-card,.teaching-conversion-row,.teaching-quick-add,.teaching-timeline-entry{border:1px solid var(--line);border-radius:var(--radius-panel, 12px);padding:12px;background:linear-gradient(180deg,#ffffffeb,#f8fbffb3);box-shadow:var(--shadow-soft, 0 1px 2px rgba(0, 0, 0, .05))}.teaching-stack>.teaching-block-card:nth-of-type(2n),.teaching-stack>.teaching-conversion-row:nth-of-type(2n){background:linear-gradient(180deg,#f8fcf7f2,#ffffffc2)}.teaching-block-card{border-inline-start:4px solid rgba(10,132,255,.44)}.teaching-block-card header{display:flex;align-items:center;gap:10px}.teaching-block-card header strong{font-size:15px;line-height:1.22}.teaching-resource-line,.teaching-chip-row,.teaching-inline-actions,.teaching-header-actions,.teaching-tag-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.teaching-modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.teaching-resource-modal{width:min(940px,100%);max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius-panel, 12px);padding:18px;background:linear-gradient(180deg,#fffffff5,#f8fbffe6);box-shadow:0 30px 90px #0f172a47}.teaching-resource-modal.compact{width:min(680px,100%);grid-template-rows:auto minmax(0,1fr)}.teaching-resource-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teaching-resource-modal>header h2{margin:0;font-size:24px;line-height:1.08}.teaching-resource-modal>header button{min-width:32px;min-height:32px;padding-inline:0;border-radius:var(--radius-control, 8px)}.teaching-modal-filters{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(125px,1fr)) minmax(130px,.8fr);gap:10px;align-items:end;padding:10px;border-radius:var(--radius-panel, 12px);background:#1d1d1f0d}.teaching-modal-filters .teaching-search-field,.teaching-modal-filters .teaching-field-label{margin:0}.teaching-modal-list{display:grid;gap:10px;overflow:auto;padding-right:4px}.teaching-resource-pick-row,.teaching-lesson-pick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:var(--radius-control, 8px);background:#ffffffd1}.teaching-resource-pick-row.attached{border-color:#22c55e57;background:#effdf4d1}.teaching-resource-pick-row strong,.teaching-lesson-pick-row strong{display:block;line-height:1.2}.teaching-resource-pick-row small,.teaching-lesson-pick-row small{display:block;margin-top:3px}.teacher-content,.teaching-teacher-content{unicode-bidi:plaintext;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.teacher-content:dir(rtl),.teaching-teacher-content:dir(rtl){text-align:start}.teaching-module button:focus-visible,.lesson-tabs button:focus-visible,.teaching-nav button:focus-visible{outline:3px solid rgba(10,132,255,.34);outline-offset:3px}.teaching-module button:active{transform:scale(.985)}.teaching-module .teaching-home-card,.teaching-module .teaching-lesson-card,.teaching-module .teaching-student-card{min-height:auto;border-radius:var(--radius-panel, 12px);padding:12px;background:#ffffffdb;color:var(--text);text-align:left}.teaching-module .teaching-home-card{min-height:148px;display:grid;align-content:end;gap:8px;border-radius:var(--radius-home, 22px)}.teaching-module .teaching-lesson-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:5px 10px;align-items:start;width:100%;box-shadow:var(--shadow-soft, 0 1px 2px rgba(0, 0, 0, .05))}.teaching-module .teaching-lesson-card:hover,.teaching-module .teaching-student-card:hover,.teaching-module .teaching-home-card:hover{border-color:#0a84ff42;box-shadow:var(--shadow-panel, 0 10px 28px rgba(30, 42, 58, .08))}.teaching-module .teaching-lesson-card.selected,.teaching-module .teaching-student-card.selected{border-color:#0a84ff70;background:#fffffff5;box-shadow:0 0 0 3px #0a84ff1f}.teaching-module .teaching-lesson-card>span{grid-row:span 3;color:var(--muted);font-size:var(--font-xs, 11px);font-weight:850;line-height:1.12;text-transform:uppercase}.teaching-module .teaching-lesson-card strong{color:var(--text);font-size:14px;line-height:1.22}.teaching-module .teaching-lesson-card small{color:var(--muted);font-size:var(--font-xs, 11px);line-height:1.2}.teaching-module .teaching-lesson-card .teaching-status-row{grid-column:2;display:flex;flex-wrap:wrap;gap:4px}.teaching-module .teaching-status-pill{display:inline-flex;align-items:center;max-width:100%;padding:3px 7px;font-size:11px;line-height:1.1;white-space:nowrap}.teaching-list-panel{position:sticky;top:18px}.teaching-student-card{width:100%;display:flex;align-items:center;gap:10px;border:1px solid var(--line);cursor:pointer}.teaching-student-card strong,.teaching-student-card small{display:block}.teaching-avatar{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#0b6bcb;font-weight:850}.teaching-avatar.large{width:50px;height:50px;flex-basis:50px;font-size:1.15rem}.teaching-add-row,.teaching-quick-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.teaching-quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.teaching-summary-add textarea{min-height:132px;resize:vertical}.teaching-student-chip,.teaching-add-chip{min-height:26px;display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 28%,white);border-radius:999px;padding:0 9px;background:color-mix(in srgb,var(--student-color, #0a84ff) 12%,white);color:#17456f;font-size:var(--font-sm, 12px);font-weight:800}.teaching-student-chip:disabled{cursor:default;opacity:1}.teaching-add-chip{color:var(--text);background:#fff}.teaching-summary-plan-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.8fr);gap:12px;align-items:start;border:1px solid var(--line);border-radius:var(--radius-panel, 12px);padding:12px;background:#fff}.teaching-summary-student-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.teaching-summary-student,.teaching-carryover-panel{display:grid;gap:8px;border-radius:var(--radius-control, 8px);padding:10px}.teaching-summary-student{border:1px solid color-mix(in srgb,var(--student-color, #0a84ff) 22%,white);background:color-mix(in srgb,var(--student-color, #0a84ff) 8%,white)}.teaching-carryover-panel{border:1px solid rgba(217,119,6,.24);background:#fff7ed}.teaching-info-banner,.teaching-empty-state{margin:0;border-radius:var(--radius-control, 8px);padding:10px 12px;color:#31526f;background:#edf6ff}.teaching-lesson-footer{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e3ebf2}@media(max-width:980px){.teaching-shell,.teaching-two-column,.teaching-resource-page{grid-template-columns:1fr}.teaching-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:18px;padding:5px}.teaching-nav button{justify-content:center;padding-inline:8px;text-align:center}.teaching-home-grid{grid-template-columns:1fr}.resource-library form,.resource-library .filters,.teaching-modal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.teaching-module{gap:12px}.teaching-panel,.lesson-page,.resource-library,.student-file{padding:13px;border-radius:18px}.teaching-panel>header,.lesson-page>header,.resource-library>header,.student-file>header{display:grid;gap:10px}.teaching-panel h1,.lesson-page h1,.resource-library h1,.student-file h1{font-size:30px}.teaching-home-grid>*{min-height:120px;padding:17px;border-radius:18px}.lesson-card{grid-template-columns:1fr;align-items:start;gap:9px;padding:12px;border-radius:16px}.lesson-card button{width:100%}.lesson-tabs{border-radius:16px;padding:4px}.lesson-tabs button{flex:1 0 auto;min-width:max-content;min-height:40px;padding-inline:12px}.plan-block,.summary-block,.resource-card{border-radius:16px;padding:12px}.plan-block footer,.summary-block footer,.resource-card footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-block footer button,.summary-block footer button,.resource-card footer button{width:100%}.resource-library form,.resource-library .filters,.teaching-modal-filters,.teaching-add-row.teaching-plan-add-card{grid-template-columns:1fr;padding:0;background:transparent}.teaching-modal-backdrop{align-items:stretch;padding:10px}.teaching-resource-modal{max-height:calc(100vh - 20px);border-radius:18px}.teaching-resource-pick-row,.teaching-lesson-pick-row{grid-template-columns:1fr}.teaching-resource-pick-row button,.teaching-lesson-pick-row button{width:100%}.resource-card{grid-template-columns:1fr;align-items:start}.student-file .student-overview{grid-template-columns:1fr}}@media(max-width:420px){.teaching-nav{grid-template-columns:1fr}.teaching-nav button{justify-content:flex-start}.lesson-page dl,.lesson-card dl{display:grid;grid-template-columns:1fr 1fr}.plan-block footer,.summary-block footer,.resource-card footer{grid-template-columns:1fr}}body.phone-preview-app .teaching-module{width:390px;max-width:100%;padding:24px 20px 28px}body.phone-preview-app .teaching-shell-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;justify-content:start;gap:14px;margin-bottom:22px}body.phone-preview-app .teaching-shell-header h1{font-size:42px;line-height:.98}body.phone-preview-app .teaching-home-grid,body.phone-preview-app .teaching-two-column,body.phone-preview-app .teaching-resource-page,body.phone-preview-app .teaching-add-row,body.phone-preview-app .teaching-quick-grid,body.phone-preview-app .teaching-conversion-row{grid-template-columns:1fr}body.phone-preview-app .teaching-modal-backdrop{padding:10px}body.phone-preview-app .teaching-resource-modal,body.phone-preview-app .teaching-modal-filters,body.phone-preview-app .teaching-resource-pick-row,body.phone-preview-app .teaching-lesson-pick-row{grid-template-columns:1fr}body.phone-preview-app .teaching-home-card{min-height:126px;align-content:center;gap:6px;padding:14px 16px}body.phone-preview-app .teaching-home-card .teaching-card-icon{width:42px;height:42px}body.phone-preview-app .teaching-home-card strong{margin:4px 0 0;font-size:20px;line-height:1.12}body.phone-preview-app .teaching-home-card small{min-height:0;font-size:13px;line-height:1.3}body.phone-preview-app .teaching-home-card>span:last-child{margin-top:4px;font-size:14px;line-height:1.2}body.phone-preview-app .teaching-list-panel{position:static;max-height:none}body.phone-preview-app .teaching-panel,body.phone-preview-app .teaching-home-card{border-radius:22px}body.phone-preview-app .teaching-tabs{overflow-x:auto}body.phone-preview-app .teaching-tabs button{min-width:104px}body.phone-preview-app .teaching-lesson-header,body.phone-preview-app .teaching-student-header{display:grid;justify-items:start}body.phone-preview-app .teaching-header-actions,body.phone-preview-app .teaching-inline-actions,body.phone-preview-app .teaching-lesson-footer{align-items:stretch}@media(min-width:861px){body:not(.phone-preview-app) .teaching-shell-header h1{font-size:32px;line-height:1.06}body:not(.phone-preview-app) .teaching-shell-header{margin-bottom:14px}body:not(.phone-preview-app) .teaching-panel h1,body:not(.phone-preview-app) .lesson-page h1,body:not(.phone-preview-app) .resource-library h1,body:not(.phone-preview-app) .student-file h1{font-size:32px;line-height:1.06}body:not(.phone-preview-app) .teaching-two-column,body:not(.phone-preview-app) .teaching-resource-page{gap:16px}body:not(.phone-preview-app) .teaching-module .teaching-lesson-card,body:not(.phone-preview-app) .teaching-module .teaching-student-card{min-height:66px}body:not(.phone-preview-app) .teaching-tabs{display:flex;gap:8px;padding:4px;border-radius:var(--radius-panel, 12px);background:#1d1d1f12}body:not(.phone-preview-app) .teaching-tabs button{min-height:34px;border-radius:var(--radius-control, 8px)}body:not(.phone-preview-app) .teaching-header-actions button,body:not(.phone-preview-app) .teaching-inline-actions button,body:not(.phone-preview-app) .teaching-inline-actions a,body:not(.phone-preview-app) .teaching-resource-modal button,body:not(.phone-preview-app) .resource-card button,body:not(.phone-preview-app) .plan-block button,body:not(.phone-preview-app) .summary-block button{min-height:34px;border-radius:var(--radius-control, 8px);font-size:13px}}.teaching-module{width:min(1320px,100%)}.teaching-shell-header{margin-bottom:8px}.teaching-shell-header h1{font-size:clamp(28px,3vw,42px)}.teaching-nav button.active,.teaching-nav [aria-current=page],.lesson-tabs button.active,.lesson-tabs button[aria-selected=true],.lesson-card button,.resource-card button,.student-file button,.plan-block button,.summary-block button,.teaching-panel button,.teaching-resource-modal button{border:1px solid var(--teach-green-mid, #c9f2d7);background:var(--teach-green-soft, #eafaf0);color:#14743a;box-shadow:none}.teaching-tabs button.active{color:#14743a;background:var(--teach-green-soft, #eafaf0);box-shadow:inset 0 0 0 1px var(--teach-green-mid, #c9f2d7)}.teaching-header-actions button,.teaching-add-row button,.teaching-summary-add button,.teaching-inline-actions button,.teaching-quick-grid button{min-height:34px;border:1px solid var(--teach-green-mid, #c9f2d7);background:var(--teach-green-soft, #eafaf0);color:#14743a;box-shadow:none}.teaching-lessons-page{display:grid;gap:16px}.teaching-lessons-calendar-panel{padding:16px}.teaching-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.teaching-calendar-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.teaching-calendar-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid #d6e2ec;border-radius:11px;background:#ffffffc7}.teaching-calendar-toggle button{min-height:30px;border:0;border-radius:8px;padding:0 10px;background:transparent;color:#65758b}.teaching-calendar-toggle button.active{background:var(--teach-green-soft, #eafaf0);color:#14743a;box-shadow:inset 0 0 0 1px var(--teach-green-mid, #c9f2d7)}.teaching-calendar-arrows{display:inline-flex;align-items:center;gap:10px}.teaching-calendar-arrows button{width:34px;min-height:34px;border-radius:10px;padding:0}.teaching-calendar-arrows strong{min-width:150px;text-align:center;color:#334155}.teaching-week-calendar{display:grid;grid-template-columns:64px repeat(5,minmax(130px,1fr));gap:1px;overflow:auto;border:1px solid #dce6ef;border-radius:10px;background:#dce6ef}.teaching-week-corner,.teaching-week-day-head,.teaching-hour-label,.teaching-hour-cell{background:#fffffff0}.teaching-week-day-head{min-height:56px;display:grid;align-content:center;gap:2px;padding:8px 10px}.teaching-week-day-head span{color:#627489;font-size:12px;font-weight:850}.teaching-week-day-head strong{color:#182230;font-size:16px}.teaching-week-row{display:contents}.teaching-hour-label{min-height:76px;display:flex;align-items:flex-start;justify-content:center;padding-top:9px;color:#68788c;font-size:12px;font-weight:850}.teaching-hour-cell{min-height:76px;display:grid;align-content:start;gap:6px;padding:6px}.teaching-calendar-lesson{width:100%;min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;border:1px solid color-mix(in srgb,var(--teach-green, #22c55e) 28%,white);border-radius:8px;padding:7px 8px;background:linear-gradient(145deg,#eafaf0f5,#fff);color:#173d2a;text-align:left;cursor:pointer}.teaching-calendar-lesson.selected{box-shadow:0 0 0 3px #22c55e29}.teaching-calendar-lesson strong,.teaching-calendar-lesson span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teaching-calendar-lesson strong{font-size:13px}.teaching-calendar-lesson span{color:#65758b;font-size:11px;font-weight:800}.teaching-calendar-lesson.compact{min-height:42px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.teaching-calendar-lesson.compact small{grid-column:1 / -1;overflow:hidden;color:#65758b;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.teaching-calendar-indicators{grid-row:1 / span 2;grid-column:2;display:inline-grid;gap:4px;align-items:center}.teaching-calendar-indicators span{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.teaching-calendar-indicators .ready{background:var(--teach-green-soft, #eafaf0);color:#14743a}.teaching-calendar-indicators .missing{background:#fff7ed;color:#9a3412}.teaching-calendar-lesson .teaching-status-row{gap:4px}.teaching-calendar-lesson .teaching-status-pill{padding:3px 6px;font-size:10px}.teaching-month-calendar{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:1px;overflow:auto;border:1px solid #dce6ef;border-radius:10px;background:#dce6ef}.teaching-month-weekday,.teaching-month-cell{background:#fffffff0}.teaching-month-weekday{min-height:38px;display:flex;align-items:center;padding:0 10px;color:#65758b;font-size:12px;font-weight:850}.teaching-month-cell{min-height:118px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;padding:8px}.teaching-month-cell.empty{background:#f8fbffb8}.teaching-month-number{color:#334155;font-size:12px;font-weight:900}.teaching-month-lessons{display:grid;align-content:start;gap:5px}.teaching-lesson-modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:28px;background:#0f172a47}.teaching-lesson-modal{width:min(1480px,88vw);height:min(900px,86vh);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(255,255,255,.76);border-radius:14px;background:#fff;box-shadow:0 32px 90px #0f172a3d}.teaching-lesson-modal .teaching-detail-panel{border:0;border-radius:14px;box-shadow:none;min-height:100%}.teaching-lesson-header h2{max-width:760px;font-size:clamp(22px,2.8vw,34px);line-height:1.08}.teaching-add-row.teaching-plan-add-card{grid-template-columns:minmax(180px,.65fr) minmax(320px,1.4fr) auto;padding:12px}.teaching-block-card{position:relative;padding-right:54px}.teaching-block-card header{margin-bottom:6px}.teaching-block-card.compact{padding:12px 54px 12px 14px}.teaching-card-actions{position:absolute;top:10px;right:10px;display:grid;grid-template-columns:repeat(3,30px);gap:5px}.teaching-card-actions button{width:30px;min-width:30px;min-height:30px;padding:0;border-radius:8px}.teaching-resource-line{flex-wrap:wrap}.teaching-summary-plan-row{grid-template-columns:minmax(220px,.72fr) minmax(0,1.4fr);padding:12px}.teaching-summary-block-note{grid-column:1 / -1;min-height:72px;border:1px solid #d6e2ec;border-radius:8px;padding:10px 11px;color:#182230;background:#fff;font:inherit;line-height:1.45;resize:vertical}.teaching-summary-student-grid{grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:6px}.teaching-summary-student{gap:4px;padding:7px}.teaching-summary-student>div button{width:22px;min-width:22px;min-height:22px}.teaching-summary-student label{font-size:11px}.teaching-summary-student input[type=checkbox]{width:13px;height:13px}.teaching-student-card{border-color:color-mix(in srgb,var(--student-color, #0a84ff) 22%,white);background:color-mix(in srgb,var(--student-color, #0a84ff) 8%,white)}.teaching-timeline-editor{width:100%;min-height:92px;margin-top:8px;border:1px solid #d6e2ec;border-radius:8px;padding:10px;background:#fff;font:inherit;resize:vertical}.teaching-summary-add{display:grid;gap:10px}.teaching-summary-add textarea.teaching-teacher-content{min-height:220px;color:#182230;line-height:1.55}.teaching-filter-buttons{display:grid;gap:8px}.teaching-title-template-field{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.teaching-title-template-field button{min-width:34px;min-height:38px;padding:0}.teaching-template-menu{position:absolute;z-index:10;top:calc(100% + 6px);left:0;right:0;max-height:260px;overflow:auto;display:grid;gap:5px;border:1px solid #d6e2ec;border-radius:10px;padding:6px;background:#fff;box-shadow:0 18px 44px #0f172a24}.teaching-template-menu button{min-height:auto;display:grid;gap:3px;justify-content:stretch;padding:8px 10px;text-align:left}.teaching-template-menu small{overflow:hidden;color:#65758b;text-overflow:ellipsis;white-space:nowrap}.teaching-template-manager-list{display:grid;gap:10px;overflow:auto}.teaching-blocks-resource-section{display:grid;gap:12px;margin-bottom:14px;border:1px solid rgba(34,197,94,.18);border-radius:10px;padding:14px;background:linear-gradient(145deg,#eafaf0cc,#ffffffeb)}.teaching-template-manager-list.inline{max-height:320px}.teaching-template-manager-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr) auto;gap:8px;align-items:start;border:1px solid #dce6ef;border-radius:10px;padding:10px;background:#fff}.teaching-template-manager-row input,.teaching-template-manager-row textarea{width:100%;border:1px solid #d6e2ec;border-radius:8px;padding:9px 10px;background:#fff;font:inherit}.teaching-template-manager-row textarea{min-height:76px;resize:vertical}.teaching-level-toggle-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.teaching-level-toggle-row button{min-height:32px;border:1px solid #d6e2ec;border-radius:999px;padding:0 10px;background:#fff;color:#40546a}.teaching-level-toggle-row button.active{border-color:var(--teach-green-mid, #c9f2d7);background:var(--teach-green-soft, #eafaf0);color:#14743a}.teaching-filter-buttons.compact{grid-template-columns:repeat(2,minmax(130px,1fr))}.teaching-summary-student label{justify-content:start}.teaching-summary-student label+label{margin-top:-3px}.teaching-filter-popup{position:relative}.teaching-filter-popup>button{width:100%;min-height:38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid #d6e2ec;border-radius:9px;padding:0 10px;background:#fff;color:#334155;text-align:left}.teaching-filter-popup>button.active{border-color:var(--teach-green-mid, #c9f2d7);background:var(--teach-green-soft, #eafaf0);color:#14743a}.teaching-filter-popup>button strong{color:#65758b;font-size:11px}.teaching-filter-menu{position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:8;max-height:260px;overflow:auto;display:grid;gap:4px;border:1px solid #d6e2ec;border-radius:10px;padding:6px;background:#fff;box-shadow:0 18px 44px #0f172a24}.teaching-filter-menu button{min-height:32px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:8px;padding:0 9px;background:transparent;color:#334155;text-align:left}.teaching-filter-menu button.selected{background:var(--teach-green-soft, #eafaf0);color:#14743a}.teaching-lesson-footer{display:none}@media(max-width:980px){.teaching-week-calendar{grid-template-columns:54px repeat(5,minmax(116px,1fr))}.teaching-calendar-toolbar,.teaching-lesson-header{display:grid;justify-items:start}.teaching-lesson-modal-backdrop{padding:12px}.teaching-lesson-modal{width:100%;max-height:calc(100vh - 24px)}.teaching-add-row.teaching-plan-add-card,.teaching-summary-plan-row{grid-template-columns:1fr}}
