: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, .94);--line: rgba(29, 29, 31, .1);--text: #1d1d1f;--muted: #6e6e73;--blue: #0a84ff;--green: #22c55e;--rose: #f43f5e;--shadow: 0 24px 70px rgba(0, 0, 0, .1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;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;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:48px;border:1px solid var(--line);border-radius:16px;padding:5px 12px 5px 6px;background:#ffffffe0;color:var(--text);cursor:pointer;box-shadow:0 14px 34px #1e2a3a14}.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:18px;background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.account-popover span{color:var(--muted);font-size:13px}.account-popover button,.primary-button,.quiet-button,.danger-button{min-height:42px;border:0;border-radius:999px;padding:0 16px;background:#1d1d1f;color:#fff;cursor:pointer}.danger-button{background:#f43f5e1f;color:#b4233c}.start-screen{display:grid;grid-template-rows:auto minmax(160px,.75fr) auto;gap:clamp(22px,5vw,42px)}.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}.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:30px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.choice-card strong{display:block;font-size:clamp(24px,3vw,34px);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:20px;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:34px;background:var(--panel);box-shadow:var(--shadow);-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:208px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px}.management-screen .top-bar{grid-column:1 / -1;width:min(1280px,100%)}.workspace-nav{width:100%;margin:0;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:28px;background:#ffffffad;box-shadow:0 14px 40px #0000000d;align-self:start;position:sticky;top:18px}.workspace-nav button{width:100%;min-height:44px;border:0;border-radius:18px;padding:0 14px;background:transparent;color:var(--muted);text-align:left;white-space:nowrap;cursor:pointer}.workspace-nav .active{background:#1d1d1f;color:#fff}.management-layout{width:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.management-main,.side-panel,.tool-page{border:1px solid var(--line);border-radius:30px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.management-main,.tool-page{padding:clamp(18px,3vw,28px)}.side-panel{display:grid;gap:14px;padding:16px}.section-title{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h1{margin:0;font-size:clamp(28px,4vw,48px)}.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%;padding:9px 28px;border-radius:16px;border:1px solid rgba(255,255,255,.52);background:#fff;color:var(--text);text-align:left;box-shadow:0 10px 20px #0000000d;cursor:pointer}.calendar-chip .chip-grip{position:absolute;inset-inline-start:6px;top:8px;width:18px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;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:12px;font-weight:800}.calendar-chip strong{font-size:14px;line-height:1.2}.chip-remove{position:absolute;top:7px;inset-inline-end:6px;z-index:2;width:22px;height:22px;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:18px;border-radius:22px;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:14px;border-radius:20px;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:48px;border:0;border-radius:18px;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:20px;background:var(--panel-strong)}.finance-summary div{display:grid;gap:8px;padding:16px}.finance-summary span{color:var(--muted)}.finance-summary strong{font-size:26px}.payments-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.payments-table-panel,.payment-detail-panel{border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);padding:18px}.compact-title{align-items:center;margin-bottom:12px}.compact-title h1{font-size:clamp(28px,4vw,38px)}.payment-list{display:grid;gap:5px}.payment-row{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(180px,1fr) 80px 70px 110px;align-items:center;gap:8px;border:1px solid transparent;border-radius:12px;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:28px}.payment-total{display:grid;gap:4px;padding:14px;border-radius:16px;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:20px}.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:270px minmax(0,1fr);gap:16px}.calendar-management-page{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px}.calendar-roster,.contacts-roster{border:1px solid var(--line);border-radius:28px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);padding:16px;align-self:start}.calendar-roster h2,.contacts-roster h2{margin-bottom:14px;font-size:22px}.roster-list{display:grid;gap:10px}.student-drag-card{min-height:58px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:18px;padding: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 .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-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 .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}.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}.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-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:1fr 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}.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{grid-template-rows:auto auto 1fr;gap:18px}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}.teaching-module{width:min(1280px,100%);margin:0 auto;display:grid;gap:16px;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-nav{position:sticky;top:18px;display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#ffffffdb,#ffffff9e);box-shadow:0 14px 40px #0000000d;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.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:42px;display:inline-flex;align-items:center;gap:9px;border:0;border-radius:16px;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 10px 24px #00000029}.teaching-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teaching-home-grid>*{min-height:148px;display:grid;align-content:end;gap:8px;padding:20px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#fffffff0,#ffffffa8);color:var(--text);box-shadow:0 18px 48px #00000014;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.teaching-home-grid strong{font-size:clamp(20px,2vw,28px);letter-spacing:0;line-height:1.08}.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:28px;background:linear-gradient(180deg,#ffffffe6,#ffffffad);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.teaching-panel,.lesson-page,.resource-library,.student-file{padding:clamp(16px,2.4vw,26px)}.teaching-panel{display:grid;gap:16px}.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:clamp(28px,4vw,44px);line-height:1;letter-spacing:0}.teaching-panel h2,.lesson-page h2,.resource-library h2,.student-file h2{margin:0;font-size:clamp(20px,2.4vw,28px);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:14px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#ffffffb8;color:var(--text);text-align:left;box-shadow:0 10px 24px #1e2a3a0d}.lesson-card:hover{border-color:#0a84ff47;box-shadow:0 16px 38px #00000014;transform:translateY(-1px)}.lesson-card strong{display:block;font-size:17px;line-height:1.2}.lesson-card time{color:var(--muted);font-size:13px;font-weight:800}.lesson-card button,.resource-card button,.student-file button,.plan-block button,.summary-block button,.teaching-panel button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:999px;padding:0 14px;background:#1d1d1f;color:#fff;font-weight:800;cursor:pointer}.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:28px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;background:#0a84ff1c;color:#0a67d1;font-size:12px;font-weight:850}.lesson-tabs{display:flex;gap:8px;padding:4px;border-radius:999px;background:#1d1d1f12;overflow-x:auto}.lesson-tabs button{min-height:36px;flex:0 0 auto;border:0;border-radius:999px;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 9px 22px #00000024}.plan-block,.summary-block,.resource-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:20px;background:#ffffffbd;box-shadow:0 10px 22px #1e2a3a0d}.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:18px;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{width:100%;min-height:42px;border:1px solid var(--line);border-radius:15px;padding:10px 12px;background:#ffffffd6;color:var(--text);font:inherit;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}.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:18px;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:26px;display:inline-flex;align-items:center;border-radius:999px;padding:0 9px;background:#1d1d1f12;color:var(--muted);font-size:12px;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}.teacher-content{unicode-bidi:plaintext;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.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:18px;padding:14px;background:#ffffffdb;color:var(--text);text-align:left}.teaching-module .teaching-home-card{min-height:176px;display:grid;align-content:end;gap:8px;border-radius:24px}.teaching-module .teaching-lesson-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:6px 12px;align-items:start;width:100%;box-shadow:0 10px 24px #1e2a3a0d}.teaching-module .teaching-lesson-card:hover,.teaching-module .teaching-student-card:hover,.teaching-module .teaching-home-card:hover{border-color:#0a84ff42;box-shadow:0 16px 38px #00000014}.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:12px;font-weight:850;line-height:1.12;text-transform:uppercase}.teaching-module .teaching-lesson-card strong{color:var(--text);font-size:15px;line-height:1.22}.teaching-module .teaching-lesson-card small{color:var(--muted);font-size:12px;line-height:1.2}.teaching-module .teaching-lesson-card .teaching-status-row{gap:5px}.teaching-module .teaching-status-pill{padding:4px 7px;font-size:11px;line-height:1.1;white-space:nowrap}@media(max-width:980px){.teaching-shell{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{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{grid-template-columns:1fr;padding:0;background:transparent}.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-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}
