:root{font-synthesis:none;--bg:#f5f6ff;--surface:#ffffffc7;--surface-solid:#fff;--surface-soft:#f1f2ff;--text:#131b3a;--muted:#68708c;--border:#6863d224;--border-strong:#5e55df47;--primary:#6253ee;--primary-strong:#513fe1;--primary-soft:#eceaff;--warning-soft:#d58b161a;--note-highlight:#ffe08a;--note-highlight-text:#1f2437;--shadow:0 16px 50px #3d36971f;--sidebar-glow:radial-gradient(circle at 15% 35%, #7a70ff29, transparent 35%);color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#071225;--surface:#101f36e0;--surface-solid:#101d32;--surface-soft:#182744;--text:#f5f6ff;--muted:#aeb8d2;--border:#94a3cd29;--border-strong:#8e76ff73;--primary:#7b5cff;--primary-strong:#6745f6;--primary-soft:#7559ff2b;--warning-soft:#d58b1629;--note-highlight:#c9a227;--note-highlight-text:#0d1526;--shadow:0 20px 70px #0000004d;--sidebar-glow:radial-gradient(circle at 20% 35%, #5144b140, transparent 40%)}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#071225;--surface:#101f36e0;--surface-solid:#101d32;--surface-soft:#182744;--text:#f5f6ff;--muted:#aeb8d2;--border:#94a3cd29;--border-strong:#8e76ff73;--primary:#7b5cff;--primary-strong:#6745f6;--primary-soft:#7559ff2b;--warning-soft:#d58b1629;--note-highlight:#c9a227;--note-highlight-text:#0d1526;--shadow:0 20px 70px #0000004d;--sidebar-glow:radial-gradient(circle at 20% 35%, #5144b140, transparent 40%)}}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #745bff4d}svg{flex:none;width:20px;height:20px}[hidden]{display:none!important}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.primary-button{color:#fff;background:linear-gradient(135deg, #7665ff, var(--primary-strong));border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #5b43e84d}.primary-button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{border:1px solid var(--border);min-height:42px;color:var(--text);background:var(--surface-solid);border-radius:9px;justify-content:center;align-items:center;padding:0 18px;font-weight:700;display:inline-flex}.secondary-button:hover{background:var(--surface-soft)}.icon-button{border:1px solid var(--border);width:42px;height:42px;color:var(--text);background:var(--surface);border-radius:10px;place-items:center;display:grid}.login-page{grid-template-columns:minmax(320px,.9fr) minmax(440px,1.1fr);min-height:100vh;display:grid}.login-visual{background:linear-gradient(155deg, #eeeffff5, #dbdeffe0), var(--sidebar-glow);min-height:100vh;padding:34px 48px;position:relative;overflow:hidden}:root[data-theme=dark] .login-visual{background:linear-gradient(155deg,#121c35,#0a1529)}@media (prefers-color-scheme:dark){:root[data-theme=system] .login-visual{background:linear-gradient(155deg,#121c35,#0a1529)}}.login-brand,.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-weight:800;display:flex}.login-brand svg,.brand>svg{width:30px;height:30px;color:var(--primary)}.login-copy{z-index:2;max-width:520px;margin-top:clamp(80px,15vh,150px);position:relative}.login-copy h1{letter-spacing:-.055em;margin:10px 0 18px;font-size:clamp(42px,5vw,72px);line-height:.98}.login-copy p{max-width:480px;color:var(--muted);margin:0;font-size:18px;line-height:1.6}.login-sparkle{color:var(--primary)}.login-sparkle svg{width:34px;height:34px}.study-scene{height:300px;position:absolute;inset:auto 0 0}.speech{z-index:2;color:#fff;border-radius:20px 20px 20px 4px;padding:14px 20px;font-weight:800;position:absolute;box-shadow:0 12px 25px #2a1e983d}.speech-one{background:linear-gradient(150deg,#76f,#4933d9);bottom:175px;left:22%}.speech-two{background:linear-gradient(150deg,#ffac5c,#f17036);bottom:128px;left:39%}.books{width:130px;height:90px;position:absolute;bottom:55px;left:23%;transform:rotate(-5deg)}.books i{background:linear-gradient(90deg,#5742de,#9c82ff);border-radius:6px;width:125px;height:20px;position:absolute;left:0;box-shadow:inset 0 -4px #21157e33}.books i:first-child{bottom:0}.books i:nth-child(2){background:linear-gradient(90deg,#ff9b43,#ffce6f);bottom:22px;left:8px}.books i:nth-child(3){bottom:44px;left:1px}.books i:nth-child(4){background:linear-gradient(90deg,#7059f0,#c49aff);bottom:66px;left:12px}.laptop{background:linear-gradient(145deg,#b5a9ff,#5753bb);border:9px solid #5e56c7;border-radius:8px;width:145px;height:93px;position:absolute;bottom:60px;left:45%;transform:skew(-5deg);box-shadow:0 14px 20px #261d8b2e}.laptop:after{content:"";background:#4c478e;border-radius:2px 2px 12px 12px;width:170px;height:10px;position:absolute;bottom:-22px;left:-23px}.laptop span{border:2px solid #ffffff59;border-radius:50%;position:absolute;inset:18px}.pencil{background:linear-gradient(90deg,#523ce3 0 12%,#ffb445 12% 88%,#e8d6c3 88%);border-radius:10px;width:150px;height:10px;position:absolute;bottom:28px;left:18%;transform:rotate(8deg)}.login-panel{background:var(--bg);place-items:center;min-height:100vh;padding:48px;display:grid;position:relative}.theme-quick{position:absolute;top:24px;right:26px}.floating-theme-menu,.profile-menu{z-index:20;border:1px solid var(--border);background:var(--surface-solid);min-width:190px;box-shadow:var(--shadow);border-radius:12px;padding:8px;position:absolute}.floating-theme-menu{top:50px;right:0}.login-card{border:1px solid var(--border);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:42px}.login-eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:13px;font-weight:800}.login-card h2{letter-spacing:-.035em;margin:0;font-size:30px}.login-hint{color:var(--muted);margin:10px 0 28px}.field{color:var(--text);gap:8px;margin-bottom:18px;font-size:14px;font-weight:700;display:grid}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-solid);font:inherit;border-radius:9px;padding:0 13px}.field input,.field select{height:46px}.field select{padding:0 38px 0 13px}.field textarea{resize:vertical;min-height:96px;padding:12px 13px;font-weight:500;line-height:1.5}.field small{color:var(--muted);font-size:15px;font-weight:500;line-height:1.45}.password-field{display:block;position:relative}.password-field input{padding-right:46px}.password-field button{width:46px;height:46px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.password-field svg{width:18px;height:18px}.login-submit{width:100%;margin-top:4px}.text-button{color:var(--primary);background:0 0;border:0;margin:16px auto 0;padding:4px;font-weight:700;display:block}.back-to-calendar{color:var(--muted);margin-top:10px;font-weight:650}.form-message{text-align:center;min-height:22px;margin:18px 0 0;font-size:13px;line-height:1.5}.form-message.is-error{color:#d9435f}.form-message.is-success{color:#16895c}.app-shell{background:var(--bg);grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--sidebar-glow), var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;height:100vh;padding:30px 20px 18px;display:flex;position:sticky;top:0}.brand{padding:0 8px 34px}.main-nav{gap:12px;display:grid}.nav-button{width:100%;min-height:52px;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:14px;padding:0 14px;font-weight:650;display:flex}.nav-button:hover{background:var(--surface-soft)}.nav-button.is-active{border-color:var(--border);color:var(--primary);background:var(--primary-soft)}.nav-button svg{width:23px;height:23px}.sidebar-art{place-items:end center;height:235px;margin-top:auto;display:grid;overflow:hidden}.sidebar-art img{object-fit:contain;filter:drop-shadow(0 14px 20px #4a36b724);width:100%;max-height:228px;display:block}.guest-profile-area{padding-top:10px}.guest-login-button .avatar{font-size:12px}.profile-area{border-top:1px solid var(--border);margin-top:8px;padding-top:14px;position:relative}.profile-button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 4px;display:grid}.profile-button>svg{width:16px;height:16px;transform:rotate(-90deg)}.avatar{color:#fff;background:linear-gradient(145deg,#826dff,#5240de);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid;box-shadow:0 7px 16px #4e36d03d}.profile-copy strong,.profile-copy small{display:block}.profile-copy small{color:var(--muted);margin-top:2px;font-size:14px}.profile-menu{width:235px;bottom:60px;right:0}.profile-email{border-bottom:1px solid var(--border);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:10px 10px 12px;font-size:12px;overflow:hidden}.theme-picker{padding:12px 4px 7px}.theme-picker>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0 6px 6px;font-size:15px;font-weight:800;display:block}.theme-options{gap:3px;display:grid}.theme-option,.menu-action{width:100%;min-height:36px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:22px 1fr 18px;align-items:center;gap:8px;padding:0 8px;font-size:13px;display:grid}.theme-option:hover,.menu-action:hover{background:var(--surface-soft)}.theme-option.is-active{color:var(--primary);background:var(--primary-soft)}.theme-option svg,.menu-action svg{width:16px;height:16px}.menu-action{border-top:1px solid var(--border);color:#d9435f;border-radius:0 0 7px 7px;grid-template-columns:22px 1fr;margin-top:6px}.workspace{min-width:0;padding:34px 28px 46px}.page-header{justify-content:space-between;align-items:flex-end;gap:22px;max-width:1420px;margin:0 auto;display:flex}.section-label{color:var(--primary);margin-bottom:8px;font-size:13px;font-weight:750;display:block}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,3vw,42px);line-height:1}.header-actions{align-items:center;gap:12px;display:flex}.guest-header-actions{align-items:center;gap:10px;display:flex}.guest-theme-control{position:relative}.week-nav{border:1px solid var(--border);background:var(--surface);border-radius:9px;display:flex;overflow:hidden;box-shadow:0 5px 16px #2621690d}.week-nav button{border:0;border-right:1px solid var(--border);min-width:42px;height:42px;color:var(--text);background:0 0;place-items:center;padding:0 12px;font-size:13px;display:grid}.week-nav button:last-child{border-right:0}.week-nav button:hover:not(:disabled){background:var(--surface-soft)}.week-nav button:disabled{color:var(--muted);cursor:default;opacity:.6}.week-nav svg{width:18px;height:18px}.week-stats{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex-wrap:wrap;gap:0;width:fit-content;max-width:1420px;margin:26px auto 18px;display:flex;overflow:hidden;box-shadow:0 5px 18px #251e680d}.week-stats span{border-right:1px solid var(--border);min-height:42px;color:var(--text);align-items:center;gap:7px;padding:0 14px;font-size:12px;display:inline-flex}.week-stats span:last-child{border-right:0}.week-stats svg{width:16px;height:16px;color:var(--primary)}.calendar-scroll-shell{max-width:1420px;margin:0 auto;position:relative}.calendar-scroll{border:1px solid var(--border);background:var(--surface);width:100%;box-shadow:var(--shadow);scrollbar-color:var(--primary) var(--surface-soft);scrollbar-width:thin;border-radius:12px;overflow-x:auto}.calendar-scroll.has-weekend{padding-bottom:5px}.calendar-side-arrow{z-index:6;border:1px solid color-mix(in srgb, var(--primary), transparent 62%);width:30px;height:30px;color:var(--primary);background:color-mix(in srgb, var(--surface-solid), transparent 4%);border-radius:50%;place-items:center;transition:transform .15s,background .15s;display:grid;position:absolute;top:14px;box-shadow:0 5px 16px #372d9429}.calendar-side-arrow:hover{background:var(--primary-soft);transform:scale(1.06)}.calendar-side-arrow[hidden]{display:none}.calendar-side-arrow.is-left{left:8px}.calendar-side-arrow.is-right{right:8px}.calendar-side-arrow svg{width:16px;height:16px}.calendar-grid{grid-template-columns:repeat(var(--calendar-days,5), minmax(150px, 1fr));background:var(--surface);min-width:100%;min-height:calc(100vh - 180px);display:grid;overflow:hidden}.calendar-scroll.has-weekend .calendar-grid{width:calc(100% * var(--calendar-days) / 5)}.day-column{border-right:1px solid var(--border);background:#ffffff1f;min-width:0;padding:0 10px 14px}.day-column:last-child{border-right:0}.day-heading{border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:6px;min-height:58px;display:flex}.day-heading strong{font-size:14px}.day-heading span{color:#fff;background:var(--primary);border-radius:5px;padding:4px 7px;font-size:13px;font-weight:750}.day-lessons{align-content:start;gap:10px;padding-top:10px;display:grid}.lesson-card{--lesson:#5f69f5;--lesson-bg:#5f69f514;border:1px solid color-mix(in srgb, var(--lesson), transparent 72%);border-left:4px solid var(--lesson);width:100%;color:var(--text);background:linear-gradient(135deg, var(--lesson-bg), var(--surface));text-align:left;border-radius:9px;padding:13px 11px 12px 9px;transition:transform .15s,box-shadow .15s;display:block}.lesson-card.is-public{cursor:default}.lesson-card.is-public:hover{box-shadow:none;transform:none}.lesson-card.color-neutral{--lesson:#7c8499;--lesson-bg:#7c849914}.lesson-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.lesson-meta svg{width:16px;height:16px;color:var(--lesson)}.lesson-level{display:inline-flex}.lesson-card>strong{margin:9px 0 5px;font-size:13px;line-height:1.25;display:block}.lesson-card>p{min-height:29px;color:var(--muted);margin:0;font-size:14px;line-height:1.4}.lesson-card-status-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.lesson-card-status-row .lesson-status{margin-top:0}.lesson-status{color:var(--lesson);background:color-mix(in srgb, var(--lesson), transparent 90%);border-radius:6px;align-items:center;gap:5px;margin-top:10px;padding:5px 7px;font-size:13px;font-weight:750;display:inline-flex}.lesson-status svg{width:12px;height:12px}.lesson-status.is-held{color:#16865e;background:#16865e1a}.lesson-status.is-cancelled{color:#d6455d;background:#d6455d1a}.lesson-homework-status{border-radius:6px;align-items:center;gap:4px;padding:5px 7px;font-size:13px;font-weight:750;display:inline-flex}.lesson-homework-status svg{width:12px;height:12px}.lesson-homework-status.is-assigned{color:#16865e;background:#16865e1a}.lesson-homework-status.is-missing{color:#b66b00;background:#d58b161f}.lesson-status.is-rescheduled{color:#c3790c;background:#c3790c1c}.lesson-status.is-missed{color:#747b8f;background:#747b8f1f}.lesson-status.is-attention{color:#d45b31;background:#d45b311c}.empty-day{min-height:320px;color:var(--muted);opacity:.62;place-content:center;justify-items:center;gap:8px;font-size:15px;display:grid}.empty-calendar{border:1px dashed var(--border-strong);border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.empty-calendar svg{width:26px;height:26px}.loading-view,.placeholder-view{max-width:900px;min-height:420px;color:var(--muted);text-align:center;place-content:center;justify-items:center;margin:40px auto 0;display:grid}.loading-view span{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.placeholder-view{border:1px dashed var(--border-strong);background:var(--surface);border-radius:16px;padding:50px}.placeholder-view>svg{width:52px;height:52px;color:var(--primary)}.placeholder-view h2{color:var(--text);margin:18px 0 8px}.placeholder-view p{max-width:440px;margin:0;line-height:1.6}.simple-header{align-items:flex-start}.toast{z-index:40;border:1px solid var(--border);max-width:360px;color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow);border-radius:10px;padding:14px 18px;font-size:13px;font-weight:650;position:fixed;bottom:28px;right:28px}.groups-header{align-items:flex-end}.groups-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;max-width:1420px;margin:28px auto 0;display:grid}.groups-empty{border:1px dashed var(--border-strong);min-height:420px;color:var(--muted);background:var(--surface);text-align:center;border-radius:16px;grid-column:1/-1;place-content:center;justify-items:center;padding:40px;display:grid}.groups-empty>svg{width:54px;height:54px;color:var(--primary)}.groups-empty h2{color:var(--text);margin:18px 0 8px}.groups-empty p{max-width:430px;margin:0 0 22px;line-height:1.55}.group-card{--lesson:#7c8499;border:1px solid color-mix(in srgb, var(--lesson), transparent 72%);background:linear-gradient(145deg, color-mix(in srgb, var(--lesson), transparent 92%), var(--surface));cursor:pointer;border-radius:14px;padding:20px;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 28px #332c8112}.group-card:hover{box-shadow:0 14px 34px color-mix(in srgb, var(--lesson), transparent 86%);transform:translateY(-2px)}.group-card.color-starters{--lesson:#e85b78}.group-card.color-movers{--lesson:#f08a28}.group-card.color-flyers{--lesson:#d59b00}.group-card.color-a1{--lesson:#13a584}.group-card.color-a2{--lesson:#0b9fb5}.group-card.color-b1{--lesson:#3384e8}.group-card.color-b2{--lesson:#7258ed}.group-card.color-c1{--lesson:#a651c1}.group-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.group-card-actions{align-items:center;gap:7px;display:flex}.group-edit-button{border:1px solid color-mix(in srgb, var(--lesson), transparent 72%);width:30px;height:30px;color:var(--lesson);background:color-mix(in srgb, var(--lesson), transparent 92%);cursor:pointer;border-radius:8px;place-items:center;display:grid}.group-edit-button:hover{border-color:var(--lesson);background:color-mix(in srgb, var(--lesson), transparent 85%)}.group-edit-button svg{width:14px;height:14px}.group-level-badge,.group-state{color:var(--lesson);background:color-mix(in srgb, var(--lesson), transparent 90%);border-radius:7px;padding:5px 8px;font-size:14px;font-weight:800}.group-state{color:#16865e;background:#16865e1a}.group-card h2{letter-spacing:-.025em;margin:18px 0 7px;font-size:20px}.group-card>p{min-height:24px;color:var(--muted);margin:0;font-size:15px}.group-planning-note{color:var(--muted);margin-top:7px;font-size:15px;display:inline-block}.group-schedule{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:8px;margin-top:18px;padding-top:14px;font-size:14px;display:flex}.group-schedule svg{width:16px;height:16px;color:var(--lesson)}.courses-header{align-items:flex-end}.courses-header-actions{align-items:flex-end;gap:12px;display:flex}.course-sort-field{color:var(--muted);gap:5px;font-size:14px;font-weight:750;display:grid}.course-sort-field select{border:1px solid var(--border);min-width:160px;height:42px;color:var(--text);background:var(--surface-solid);font:inherit;border-radius:9px;padding:0 34px 0 12px;font-size:12px}.courses-grid{gap:10px;max-width:1420px;margin:28px auto 0;display:grid}.courses-empty{grid-column:1/-1}.course-list-item{--lesson:#7c8499;border:1px solid color-mix(in srgb, var(--lesson), transparent 78%);background:var(--surface-solid);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #332c810b}.course-list-item.color-starters{--lesson:#e85b78}.course-list-item.color-movers{--lesson:#f08a28}.course-list-item.color-flyers{--lesson:#d59b00}.course-list-item.color-a1{--lesson:#13a584}.course-list-item.color-a2{--lesson:#0b9fb5}.course-list-item.color-b1{--lesson:#3384e8}.course-list-item.color-b2{--lesson:#7258ed}.course-list-item.color-c1{--lesson:#a651c1}.course-list-item>summary{cursor:pointer;grid-template-columns:48px minmax(0,1fr) auto 34px;align-items:center;gap:14px;min-height:74px;padding:10px 14px;list-style:none;display:grid}.course-list-item>summary::-webkit-details-marker{display:none}.course-list-item>summary:focus{outline:none}.course-list-item>summary:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary), transparent 35%)}.course-list-item>summary:hover{background:color-mix(in srgb, var(--lesson), transparent 96%)}.course-list-icon{color:#fff;background:var(--lesson);cursor:pointer;border-radius:10px;place-items:center;width:48px;height:48px;display:grid;position:relative;overflow:hidden;box-shadow:inset 3px 0 #ffffff2e}.course-list-icon:after{content:"+";color:#fff;opacity:0;background:#15182db3;border:1px solid #ffffffbf;border-radius:50%;place-items:center;width:16px;height:16px;font-size:12px;font-weight:800;transition:opacity .15s;display:grid;position:absolute;bottom:2px;right:2px}.course-list-icon:hover:after{opacity:1}.course-list-icon input{opacity:0;width:1px;height:1px;position:absolute}.course-list-icon img{object-fit:cover;width:100%;height:100%}.course-list-icon svg{width:22px;height:22px}.course-list-item h2{overflow-wrap:anywhere;letter-spacing:-.02em;margin:0;font-size:17px}.course-list-level{white-space:nowrap}.course-drawer-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);background:var(--surface-soft);border-radius:8px;place-items:center;transition:transform .18s;display:grid}.course-drawer-toggle svg{width:16px;height:16px;transform:rotate(90deg)}.course-list-item[open] .course-drawer-toggle{transform:rotate(180deg)}.course-drawer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--lesson), transparent 97%);gap:13px;padding:16px 20px 18px 76px;display:grid}.course-drawer-heading{justify-content:flex-end;align-items:center;gap:12px;display:flex}.course-open-action,.course-edit-action{min-height:34px;padding:0 11px;font-size:14px}.course-open-action svg,.course-edit-action svg{width:14px;height:14px;margin-right:6px}.course-edit-action{min-height:34px;padding:0 11px;font-size:14px}.course-edit-action svg{width:14px;height:14px;margin-right:6px}.course-resources{gap:8px;display:grid}.course-resources>div{background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:9px 11px;font-size:15px;display:flex}.course-resources span{color:var(--muted);font-weight:700}.course-resources a{color:var(--primary);font-weight:800;text-decoration:none}.course-resources a:hover{text-decoration:underline}.course-resources strong{color:var(--muted);font-size:14px}.course-card-footer{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.course-card-footer>span:last-child{margin-left:auto}.course-status-pill{background:var(--surface-soft);border-radius:6px;padding:5px 7px;font-weight:750}.status-ready{color:#16865e!important;background:#16865e1a!important}.status-progress{color:var(--primary)!important;background:var(--primary-soft)!important}.status-warning{color:#b56b00!important;background:#c3790c1f!important}.status-danger{color:#d6455d!important;background:#d6455d1a!important}.resource-section-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.resource-section-heading h3{margin-bottom:5px}.resource-section-heading p{color:var(--muted);margin:0;font-size:15px}.switch-field{color:var(--text);cursor:pointer;flex:none;align-items:center;gap:8px;font-size:15px;font-weight:750;display:flex}.switch-field input{width:36px;height:20px;accent-color:var(--primary)}.workbook-fields,.teacher-book-fields{margin-top:18px}.course-dialog{width:min(100%,800px)}.course-dialog .form-grid{align-items:start}.course-main-fields{grid-template-columns:130px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.course-name-fields{align-content:start}.course-icon-picker{border:1px dashed var(--border-strong);color:var(--muted);background:var(--surface-soft);cursor:pointer;text-align:center;border-radius:10px;justify-items:center;gap:7px;padding:12px;display:grid;position:relative}.course-icon-picker:hover{border-color:var(--primary)}.course-icon-picker input{opacity:0;width:1px;height:1px;position:absolute}.course-icon-preview{color:#fff;background:var(--primary);border-radius:13px;place-items:center;width:60px;height:60px;display:grid;overflow:hidden}.course-icon-preview img{object-fit:cover;width:100%;height:100%}.course-icon-preview svg{width:27px;height:27px}.course-icon-picker-copy{color:var(--text);gap:3px;font-size:15px;font-weight:800;display:grid}.course-icon-picker-copy small{color:var(--muted);font-size:13px;font-weight:600}.course-page-header,.course-structure-page{max-width:1420px;margin:0 auto}.course-page-title-row{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.course-page-icon{color:#fff;background:var(--primary);border-radius:16px;place-items:center;width:72px;height:72px;display:grid;overflow:hidden;box-shadow:0 10px 24px #5943ea33}.course-page-icon img{object-fit:cover;width:100%;height:100%}.course-page-icon svg{width:30px;height:30px}.course-page-title-row h1{letter-spacing:-.04em;margin:5px 0 4px;font-size:34px}.course-page-title-row p{color:var(--muted);margin:0;font-size:15px}.course-page-title-row .secondary-button svg{width:15px;height:15px;margin-right:6px}.course-tabs{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:5px;margin-top:27px;padding:5px;display:flex}.course-tabs button{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:12px;font-weight:750}.course-tabs button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:0 4px 14px #2d268017}.course-tabs button:disabled{opacity:.55}.course-tabs button span{margin-left:6px;font-size:12px;font-weight:650}.workbook-workspace{gap:18px;display:grid}.workbook-workspace-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.workbook-workspace-header h2{margin:4px 0 6px;font-size:22px}.workbook-title-line{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.workbook-title-line h2{margin-right:3px}.workbook-stage-status{color:var(--muted);background:var(--surface-soft);border-radius:6px;align-items:center;gap:4px;padding:5px 7px;font-size:12px;font-weight:850;display:inline-flex}.workbook-stage-status svg{width:11px;height:11px}.workbook-stage-status.is-ready{color:#16865e;background:#16865e1a}.workbook-stage-status.is-review{color:#a96300;background:#c3790c1a}.workbook-workspace-header p{max-width:680px;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.workbook-header-actions{flex:none;gap:8px;display:flex}.workbook-header-actions a{text-decoration:none}.workbook-header-actions svg{width:15px;height:15px;margin-right:6px}.workbook-notice{border-radius:9px;gap:4px;padding:12px 14px;display:grid}.workbook-notice strong{font-size:15px}.workbook-notice span{font-size:14px;line-height:1.45}.workbook-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.workbook-summary>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;gap:5px;padding:13px 14px;display:grid}.workbook-summary span{color:var(--muted);font-size:13px;font-weight:750}.workbook-summary strong{font-size:21px}.workbook-summary .is-ready{background:#16865e11;border-color:#16865e3d}.workbook-summary .is-ready strong{color:#16865e}.workbook-summary .is-warning{background:#c3790c12;border-color:#c3790c42}.workbook-summary .is-warning strong{color:#a96300}.workbook-explanation{color:var(--primary);background:var(--primary-soft);border-radius:9px;align-items:flex-start;gap:11px;padding:12px 14px;display:flex}.workbook-explanation svg{flex:0 0 18px;width:18px;height:18px}.workbook-explanation p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.workbook-explanation strong{color:var(--text)}.workbook-link-list{gap:8px;display:grid}.workbook-link-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;grid-template-columns:minmax(220px,1.4fr) minmax(190px,.9fr) 110px auto;align-items:center;gap:14px;padding:12px 13px;display:grid}.workbook-link-row.is-approved{border-color:#16865e38}.workbook-link-row.is-missing{border-style:dashed}.workbook-link-main,.workbook-link-reference{gap:4px;min-width:0;display:grid}.workbook-link-main>span,.workbook-link-reference>span{color:var(--primary);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.workbook-link-main strong,.workbook-link-reference strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.workbook-link-main small,.workbook-link-reference small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.workbook-link-status{color:#a96300;background:#c3790c1a;border-radius:6px;justify-self:start;padding:5px 7px;font-size:12px;font-weight:850}.workbook-link-status.is-approved{color:#16865e;background:#16865e1a;align-items:center;gap:4px;display:inline-flex}.workbook-link-status.is-missing{color:var(--muted);background:var(--surface-solid)}.workbook-link-status.is-different{color:#d6455d;background:#d6455d1a}.workbook-link-status svg{width:11px;height:11px}.workbook-link-row>button{min-height:34px;font-size:14px}.workbook-link-row>button svg{width:13px;height:13px;margin-right:5px}.workbook-link-review-note{color:var(--text);background:color-mix(in srgb, var(--warning-soft), var(--surface-solid) 35%);border-top:1px solid #c3790c47;border-radius:0 0 8px 8px;grid-column:1/-1;margin:-3px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.workbook-link-row.needs-workbook-review{border-color:#c3790c59}.workbook-link-row.is-review-focus{border-color:#c3790c;outline:3px solid #c3790c38;box-shadow:0 7px 20px #c3790c1f}.workbook-list-toolbar{justify-content:space-between;align-items:center;gap:15px;display:flex}.workbook-list-toolbar>div:first-child{gap:3px;display:grid}.workbook-list-toolbar strong{font-size:12px}.workbook-list-toolbar span{color:var(--muted);font-size:13px}.workbook-filter-buttons{background:var(--surface-soft);border-radius:8px;gap:4px;padding:4px;display:flex}.workbook-filter-buttons button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:13px;font-weight:800}.workbook-filter-buttons button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:0 3px 9px #312a7e14}.workbook-all-matched{color:#16865e;text-align:center;background:#16865e0d;border:1px solid #16865e38;border-radius:11px;place-content:center;justify-items:center;min-height:230px;padding:25px;display:grid}.workbook-all-matched svg{width:35px;height:35px}.workbook-all-matched h3{color:var(--text);margin:12px 0 5px}.workbook-all-matched p{max-width:450px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.workbook-validation-counters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.workbook-validation-counters span{border:1px solid var(--border);color:var(--muted);background:var(--surface-soft);text-align:center;border-radius:8px;gap:3px;padding:10px;font-size:12px;font-weight:750;display:grid}.workbook-validation-counters strong{color:var(--text);font-size:17px}.workbook-link-dialog{width:min(100%,660px)}.workbook-approval-check{background:var(--surface-soft);border-radius:8px;margin-top:16px;padding:11px 12px}.workbook-no-link-check{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;margin:14px 0 0;padding:11px 12px}.workbook-analysis-issues{background:#d6455d09;border:1px solid #d6455d33;border-radius:10px;overflow:hidden}.workbook-analysis-issues>header{border-bottom:1px solid #d6455d26;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex}.workbook-analysis-issues>header>div{gap:3px;display:grid}.workbook-analysis-issues>header strong{font-size:15px}.workbook-analysis-issues>header span{color:var(--muted);font-size:13px}.workbook-analysis-issues>header>span{color:#d6455d;text-align:center;background:#d6455d1a;border-radius:6px;min-width:25px;padding:4px 6px;font-weight:850}.workbook-analysis-issues>div{gap:7px;padding:9px;display:grid}.workbook-analysis-issues article{background:var(--surface-solid);border-radius:8px;align-items:center;gap:12px;padding:10px 11px;display:flex}.workbook-analysis-issues article>div{flex:1;gap:3px;display:grid}.workbook-analysis-issues article span{color:#d6455d;text-transform:uppercase;font-size:12px;font-weight:850}.workbook-analysis-issues article strong{font-size:14px;line-height:1.4}.workbook-analysis-issues article small{color:var(--muted);font-size:13px}.workbook-analysis-issues article button{flex:none;min-height:32px;font-size:13px}.workbook-analysis-issues article button svg{width:12px;height:12px;margin-right:5px}.workbook-section-links{background:#4db88c0b;border:1px solid #4db88c3d;border-radius:10px;overflow:hidden}.workbook-section-links>header{border-bottom:1px solid #4db88c2e;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;display:flex}.workbook-section-links>header>div{gap:3px;display:grid}.workbook-section-links>header strong{font-size:15px}.workbook-section-links>header span{color:var(--muted);font-size:13px}.workbook-section-links>header>span{color:#16885d;text-align:center;background:#4db88c1f;border-radius:6px;min-width:25px;padding:4px 6px;font-weight:850}.workbook-section-links>div{gap:7px;padding:9px;display:grid}.workbook-section-links article{background:var(--surface-solid);border-radius:8px;align-items:center;gap:12px;padding:10px 11px;display:flex}.workbook-section-links article>div{flex:1;gap:3px;display:grid}.workbook-section-links article span{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:850}.workbook-section-links article strong{font-size:14px}.workbook-section-links article small{color:var(--muted);font-size:13px}.workbook-section-links article em{flex:none;font-style:normal}.course-plans-workspace{gap:16px;display:grid}.plans-workspace-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.plans-workspace-header h2{margin:0 0 7px;font-size:22px}.plans-workspace-header p{color:var(--muted);margin:0;font-size:15px}.plans-workspace-header button svg,.plan-template-actions button svg{width:15px;height:15px;margin-right:6px}.plan-template-list{gap:12px;display:grid}.plan-template-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;overflow:hidden}.plan-template-card>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:16px;min-height:78px;padding:14px 16px;list-style:none;display:grid}.plan-template-card>summary::-webkit-details-marker{display:none}.plan-template-card>summary>div:first-child{gap:4px;display:grid}.plan-template-card>summary>div:first-child span{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:850}.plan-template-card>summary>div:first-child strong{font-size:14px}.plan-template-card>summary>div:first-child small{color:var(--muted);font-size:13px}.plan-template-card>summary>svg{width:16px;color:var(--muted);transition:transform .15s}.plan-template-card[open]>summary>svg{transform:rotate(180deg)}.plan-template-summary{text-align:right;grid-template-columns:auto auto;align-items:center;gap:2px 7px;display:grid}.plan-template-summary strong{color:var(--primary);font-size:20px}.plan-template-summary span{color:var(--muted);font-size:13px}.plan-template-summary em{color:var(--muted);grid-column:1/-1;font-size:12px;font-style:normal}.plan-template-summary em.is-warning{color:#c06b00}.plan-template-body{border-top:1px solid var(--border);background:var(--surface-solid);gap:12px;padding:14px;display:grid}.plan-template-actions{flex-wrap:wrap;gap:8px;display:flex}.plan-warning-summary{color:#a65b00;background:#d58b161a;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.plan-lessons-list{gap:9px;display:grid}.plan-lesson-card{border:1px solid var(--border);background:var(--surface-soft);border-left:4px solid #1b9b70;border-radius:10px;overflow:hidden}.plan-lesson-card.is-overloaded{border-left-color:#d6455d}.plan-lesson-card.is-light{border-left-color:#d69a24}.plan-lesson-card.is-manual{border-left-color:var(--primary)}.plan-lesson-card.is-just-moved{border-color:var(--primary);box-shadow:0 0 0 3px #5943ea1f}.plan-lesson-card>header{grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px;display:grid}.plan-lesson-card>header>span{color:var(--primary);text-transform:uppercase;font-size:13px;font-weight:850}.plan-lesson-card>header>div{gap:3px;display:grid}.plan-lesson-card>header strong{font-size:15px}.plan-lesson-card>header small{color:var(--muted);font-size:12px}.plan-lesson-card>header em{color:var(--muted);font-size:13px;font-style:normal}.plan-lesson-meta{justify-content:flex-end;align-items:center;gap:8px;display:flex!important}.plan-lesson-order-actions{gap:3px;display:flex}.plan-lesson-order-actions button{border:1px solid var(--border);width:27px;height:27px;color:var(--primary);background:var(--surface-solid);cursor:pointer;border-radius:6px;font-size:13px;font-weight:850}.plan-lesson-order-actions button:disabled{cursor:default;opacity:.35}.plan-lesson-merge-actions{align-items:center;gap:6px;padding:0 12px 9px;display:flex}.plan-lesson-merge-actions span{color:var(--muted);margin-right:2px;font-size:12px;font-weight:750}.plan-lesson-merge-actions button{border:1px solid var(--border);min-height:28px;color:var(--muted);background:var(--surface-solid);cursor:pointer;border-radius:6px;padding:0 8px;font-size:12px;font-weight:750}.plan-lesson-merge-actions button:disabled{cursor:default;opacity:.35}.plan-lesson-items{gap:5px;padding:0 10px 10px;display:grid}.plan-lesson-items>div{border:1px solid var(--border);background:var(--surface-solid);border-radius:8px;grid-template-columns:minmax(120px,.45fr) minmax(180px,1fr) auto auto;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:grid}.plan-lesson-items>div.is-just-moved{border-color:var(--primary);transition:border-color .2s,box-shadow .2s;box-shadow:0 0 0 3px #5943ea1f}.plan-lesson-items span{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.plan-lesson-items strong{font-size:14px}.plan-lesson-items small{color:var(--muted);font-size:12px}.plan-lesson-items>div>div{gap:4px;display:flex}.plan-lesson-items button{border:1px solid var(--border);min-height:27px;color:var(--muted);background:var(--surface-soft);border-radius:6px;padding:0 7px;font-size:12px;font-weight:750}.plan-lesson-items button:disabled{opacity:.35;cursor:default}.plan-manual-lesson{background:#5943ea0e;border:1px dashed #5943ea4d;border-radius:8px;gap:4px;margin:0 10px 10px;padding:10px 12px;display:grid}.plan-manual-lesson span{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:850}.plan-manual-lesson strong{font-size:14px}.plan-manual-lesson small,.plan-manual-lesson p{color:var(--muted);margin:0;font-size:13px}.plan-manual-lesson-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.plan-manual-lesson-actions .danger-button,.plan-manual-lesson-actions .secondary-button{min-height:30px;font-size:13px}.plan-lesson-card>footer{border-top:1px solid var(--border);color:var(--muted);background:#5943ea09;flex-wrap:wrap;gap:6px 14px;padding:9px 13px;font-size:12px;display:flex}.plan-lesson-card>footer strong{color:var(--primary)}.plan-dialog{width:min(100%,680px)}.lesson-planned-course{gap:9px;display:grid}.lesson-planned-course>header{background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.lesson-planned-course>header strong{font-size:14px}.lesson-planned-course>header span{color:var(--muted);font-size:15px}.lesson-planned-course [data-lesson-course-items]{gap:9px;display:grid}.lesson-planned-course article{border:1px solid var(--border);background:var(--surface-solid);border-radius:8px;grid-template-columns:minmax(130px,.38fr) minmax(220px,1fr) auto auto;align-items:center;gap:12px;padding:12px 13px;display:grid}.lesson-planned-course article>span{color:var(--primary);text-transform:uppercase;font-size:14px;font-weight:800}.lesson-planned-course article>span small{color:#c3790c;text-transform:none;margin-top:4px;font-size:13px;display:block}.lesson-planned-course article.is-carried-forward{background:#c3790c0e;border-color:#c3790c59}.lesson-planned-course article strong{font-size:13px;line-height:1.35}.lesson-planned-course article small,.lesson-planned-course article p{color:var(--muted);margin:0;font-size:15px}.lesson-course-item-title{gap:4px;display:grid}.lesson-course-item-title>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.lesson-focus-toggle,.item-note-toggle{border:1px solid var(--border);min-height:32px;color:var(--muted);background:var(--surface-soft);border-radius:8px;align-items:center;gap:6px;padding:0 9px;font-size:13px;font-weight:750;display:inline-flex}.lesson-focus-toggle svg,.item-note-toggle svg{width:14px;height:14px}.lesson-focus-toggle.has-content,.item-note-toggle.has-content{border-color:color-mix(in srgb, var(--primary), transparent 55%);color:var(--primary);background:var(--primary-soft)}.item-note-toggle{min-height:27px;padding-inline:7px;font-size:12px}.lesson-item-note{border-top:1px solid var(--border);grid-column:1/-1;gap:6px;padding-top:10px;display:grid}.lesson-item-note>span{color:var(--muted);font-size:13px;font-weight:750}.lesson-item-note textarea{resize:vertical;border:1px solid var(--border);width:100%;color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);font:inherit;border-radius:11px;padding:10px 11px;font-size:13px;line-height:1.45}.course-item-result{gap:4px;display:grid}.course-item-result>span{color:var(--muted);font-size:13px;font-weight:750}.course-item-result select{border:1px solid var(--border);min-width:155px;height:34px;color:var(--text);background:var(--surface-soft);border-radius:7px;padding:0 9px;font-size:15px;font-weight:700}.course-item-follow-up{grid-column:2/-1}.course-item-follow-up:has(>label[hidden])>label[hidden]{display:none}.course-item-follow-up label{background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(150px,.45fr) minmax(220px,1fr);align-items:center;gap:9px;padding:9px 10px;display:grid}.course-item-follow-up label>span{color:var(--muted);font-size:14px;font-weight:750}.course-item-follow-up select{border:1px solid var(--border);min-width:0;height:34px;color:var(--text);background:var(--surface-solid);border-radius:7px;padding:0 9px;font-size:15px}.partial-exercise-progress{border:1px solid color-mix(in srgb, var(--primary), transparent 70%);background:color-mix(in srgb, var(--primary), transparent 94%);border-radius:10px;grid-column:2/-1;gap:9px;padding:12px;display:grid}.partial-exercise-progress[hidden],.homework-exercise-progress[hidden]{display:none}.partial-exercise-progress header,.homework-exercise-progress header{justify-content:space-between;align-items:center;gap:10px;display:flex}.partial-exercise-progress header strong,.homework-exercise-progress header strong{font-size:14px}.partial-exercise-progress header span,.homework-exercise-progress header span{color:var(--primary);text-transform:none;font-size:13px;font-weight:800}.partial-exercise-progress p,.homework-exercise-progress p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.exercise-reference-editor{grid-template-columns:minmax(120px,.4fr) minmax(180px,1fr);align-items:center;gap:9px;display:grid}.exercise-reference-editor>span{color:var(--muted);font-size:13px;font-weight:750}.exercise-reference-editor input{border:1px solid var(--border);min-width:0;height:34px;color:var(--text);background:var(--surface-solid);border-radius:7px;padding:0 9px;font-size:13px}.exercise-checklist{flex-wrap:wrap;gap:7px;display:flex}.exercise-check{cursor:pointer;position:relative}.exercise-check input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.exercise-check>span{border:1px solid var(--border);min-width:38px;min-height:34px;color:var(--text);background:var(--surface-solid);text-transform:none;border-radius:9px;place-items:center;padding:5px 9px;font-size:13px;font-weight:800;transition:all .15s;display:grid}.exercise-check input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--primary), transparent 72%);outline-offset:2px}.exercise-check input:checked+span{border-color:var(--primary);color:#fff;background:var(--primary);box-shadow:0 5px 14px color-mix(in srgb, var(--primary), transparent 72%)}.course-item-result.is-readonly{align-content:start;gap:2px;display:grid}.course-item-result.is-readonly strong{color:var(--text);font-size:14px;font-weight:750}.course-item-result.is-readonly small{color:var(--muted);font-size:12px;font-weight:600}.exercise-progress-empty{color:var(--muted);margin:0;font-size:13px}.lesson-plan-item-actions{gap:4px;display:flex}.lesson-plan-item-actions button{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);background:var(--surface-soft);border-radius:7px;place-items:center;font-weight:800;display:grid}.lesson-plan-item-actions button:hover{color:var(--primary);border-color:var(--primary)}.lesson-plan-item-actions svg{width:13px;height:13px}.pending-course-queue{background:#c3790c12;border:1px dashed #c3790c59;border-radius:9px;gap:8px;padding:12px;display:grid}.pending-course-queue>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pending-course-queue>div strong{font-size:12px}.pending-course-queue>div span{color:var(--muted);font-size:14px}.pending-course-queue>button{min-height:34px;color:var(--text);background:var(--surface-solid);text-align:left;border:1px solid #c3790c40;border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:15px;font-weight:700;display:flex}.pending-course-queue>button svg{color:#c3790c;flex:0 0 14px;width:14px;height:14px}.lesson-plan-editor{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:8px;padding-top:3px;display:grid}.lesson-plan-editor label{gap:5px;display:grid}.lesson-plan-editor label>span{color:var(--muted);font-size:14px;font-weight:750}.lesson-plan-editor select{border:1px solid var(--border);min-width:0;height:36px;color:var(--text);background:var(--surface-soft);border-radius:8px;padding:0 10px}.lesson-plan-editor .secondary-button,.lesson-plan-editor .text-tool-button{white-space:nowrap;min-height:36px}.planned-item-check{background:var(--surface-soft);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;display:inline-flex}.planned-item-check input{width:17px;height:17px;accent-color:var(--primary)}.planned-item-check span{font-weight:800;color:var(--text)!important;text-transform:none!important;font-size:15px!important}.lesson-planned-course article.is-manual{border-style:dashed;grid-template-columns:minmax(110px,.4fr) minmax(180px,1fr)}.lesson-planned-course article.is-manual p{grid-column:1/-1}.workbook-difference{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0;display:grid}.workbook-difference>div{background:#d6455d0e;border:1px solid #d6455d33;border-radius:8px;gap:5px;padding:11px 12px;display:grid}.workbook-difference span{color:var(--muted);font-size:13px;font-weight:750}.workbook-difference strong{font-size:15px}.course-structure-page{border:1px solid var(--border);background:var(--surface-solid);border-radius:14px;margin-top:22px;padding:22px;box-shadow:0 8px 26px #312a7e0b}.course-status-bar{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;align-items:center;gap:12px;margin-bottom:22px;padding:12px 14px;display:flex}.course-status-bar>div{align-items:center;gap:8px;display:flex}.course-status-bar span{color:var(--muted);font-size:14px;font-weight:700}.course-status-bar strong{color:var(--muted);background:var(--surface-solid);text-transform:capitalize;border-radius:6px;padding:5px 7px;font-size:14px}.course-status-bar .status-arrow{color:var(--border-strong);font-size:16px}.structure-version-manager{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;margin-bottom:22px}.structure-version-manager>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;list-style:none;display:flex}.structure-version-manager>summary::-webkit-details-marker{display:none}.structure-version-manager>summary>span{align-items:center;gap:8px;display:flex}.structure-version-manager>summary svg{width:16px;height:16px;color:var(--primary)}.structure-version-manager>summary>svg{color:var(--muted);transition:transform .15s}.structure-version-manager[open]>summary>svg{transform:rotate(90deg)}.structure-version-manager>summary strong{font-size:15px}.structure-version-manager>summary small{color:var(--muted);font-size:13px;font-weight:750}.structure-version-list{gap:8px;padding:0 12px 12px;display:grid}.structure-version-card{border:1px solid var(--border);background:var(--surface-solid);border-radius:9px;align-items:center;gap:14px;padding:12px;display:flex}.structure-version-card.is-active{border-color:color-mix(in srgb, var(--primary), transparent 58%)}.structure-version-card.is-approved{box-shadow:inset 3px 0 #26a878}.structure-version-copy{flex:1;gap:4px;min-width:0;display:grid}.structure-version-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.structure-version-title strong{font-size:15px}.structure-version-copy>span{color:var(--muted);font-size:13px;line-height:1.45}.structure-version-copy code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.version-badge{border-radius:5px;padding:3px 6px;font-size:12px;font-weight:850}.version-badge.is-active{color:var(--primary);background:var(--primary-soft)}.version-badge.is-approved{color:#16865e;background:#16865e1a}.structure-version-actions{flex:none;gap:7px;display:flex}.structure-version-actions button{min-height:35px}.structure-version-actions svg{width:14px;height:14px;margin-right:6px}.structure-version-note{color:var(--muted);margin:0;padding:0 14px 12px;font-size:13px;line-height:1.45}.structure-header-actions{flex-wrap:wrap;gap:8px;display:flex}.structure-header-actions svg{width:15px;height:15px;margin-right:6px}.structure-review-banner,.structure-approved-banner{border-radius:9px;align-items:center;gap:11px;margin-top:15px;padding:12px 14px;display:flex}.structure-review-banner{color:#a96300;background:#c3790c1a}.structure-approved-banner{color:#16865e;background:#16865e17}.structure-review-banner>svg,.structure-approved-banner>svg{flex:0 0 20px;width:20px;height:20px}.structure-review-banner>div,.structure-approved-banner>div{gap:3px;display:grid}.structure-review-banner strong,.structure-approved-banner strong{font-size:15px}.structure-review-banner span,.structure-approved-banner span{font-size:14px;line-height:1.4}.structure-review-banner>div,.structure-approved-banner>div{flex:1}.approved-version-actions{flex:none!important;gap:7px!important;display:flex!important}.approved-version-actions>button{color:#16865e;background:var(--surface-solid);border-color:#16865e38;flex:none;min-height:34px}.approved-version-actions>button svg{width:14px;height:14px;margin-right:6px}.structure-review-banner>button{color:#a96300;background:var(--surface-solid);border-color:#c3790c40;flex:none;min-height:34px}.structure-review-banner>button svg{width:14px;height:14px;margin-left:7px}.structure-review-banner>button span{margin-left:5px;font-weight:850}.floating-review-button{z-index:80;color:#c3790c;background:color-mix(in srgb, var(--surface-solid), transparent 3%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border:1px solid #c3790c47;border-radius:13px;align-items:center;gap:10px;min-height:52px;padding:8px 12px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 32px #241c582e}.floating-review-button:hover{border-color:#c3790c;transform:translateY(-2px);box-shadow:0 15px 36px #241c583b}.floating-review-button>svg{width:18px;height:18px}.floating-review-button>svg:last-child{width:14px;height:14px}.floating-review-button>span{text-align:left;gap:2px;display:grid}.floating-review-button strong{color:var(--text);font-size:15px}.floating-review-button small{color:#c3790c;font-size:13px;font-weight:850}.floating-top-button{z-index:80;border:1px solid var(--border);min-height:42px;color:var(--muted);background:color-mix(in srgb, var(--surface-solid), transparent 3%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 13px;font-size:14px;font-weight:800;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 26px #241c5826}.floating-top-button.has-review-button{bottom:88px}.floating-top-button:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.floating-top-button svg{width:15px;height:15px;transform:rotate(90deg)}.structure-start{padding:18px 6px 6px}.structure-start-heading{text-align:left;align-items:flex-start;gap:14px;max-width:720px;margin:0 auto 25px;display:flex}.structure-start-icon{height:45px;color:var(--primary);background:var(--primary-soft);border-radius:12px;flex:0 0 45px;place-items:center;display:grid}.structure-start-icon svg{width:23px;height:23px}.structure-start-heading h2{margin:1px 0 7px;font-size:21px}.structure-start-heading p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.structure-methods{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.structure-method{border:1px solid var(--border);min-height:220px;color:var(--text);background:var(--surface-solid);cursor:pointer;text-align:left;border-radius:12px;align-content:start;padding:22px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;position:relative}.structure-method:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 26px #312a7e17}.structure-method.is-recommended{border-color:color-mix(in srgb, var(--primary), transparent 55%);background:linear-gradient(145deg, var(--primary-soft), var(--surface-solid) 62%)}.structure-method.is-secondary{background:var(--surface-soft)}.structure-method>svg{width:25px;height:25px;color:var(--primary);margin-bottom:17px}.structure-method strong{margin-bottom:8px;font-size:14px;line-height:1.35}.structure-method small{color:var(--muted);font-size:15px;line-height:1.55}.structure-method em{color:var(--primary);align-self:end;margin-top:18px;font-size:15px;font-style:normal;font-weight:800}.method-badge{color:var(--primary);background:var(--surface-solid);text-transform:uppercase;border-radius:5px;padding:4px 6px;font-size:12px;font-weight:850;position:absolute;top:12px;right:12px}.structure-resource-note{color:var(--muted);text-align:center;margin:18px 0 0;font-size:14px}.method-dialog-body{text-align:center;justify-items:center;gap:14px;padding:34px 30px;display:grid}.method-dialog-body p{max-width:530px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.method-dialog-icon{width:54px;height:54px;color:var(--primary);background:var(--primary-soft);border-radius:15px;place-items:center;display:grid}.method-dialog-icon svg{width:27px;height:27px}.analysis-import-dialog{width:min(920px,100vw - 32px)}.analysis-import-body{gap:16px;padding:20px 24px 24px;display:grid;overflow-y:auto}.import-source-tabs{background:var(--surface-soft);border-radius:9px;gap:4px;padding:4px;display:flex}.import-source-tabs button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:7px;flex:1;font-size:15px;font-weight:800}.import-source-tabs button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:0 3px 10px #312a7e14}.json-drop-field{display:block}.json-drop-field input{opacity:0;width:1px;height:1px;position:absolute}.json-drop-field>span{border:1px dashed var(--border-strong);min-height:150px;color:var(--muted);background:var(--surface-soft);cursor:pointer;text-align:center;border-radius:11px;place-content:center;justify-items:center;padding:24px;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;display:grid}.json-drop-field>span:hover,.json-drop-field input:focus+span,.json-drop-field>span.is-dragging{border-color:var(--primary);background:var(--primary-soft)}.json-drop-field>span.is-dragging{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 82%);transform:scale(1.005)}.json-drop-field.has-file>span{background:#16865e11;border-style:solid;border-color:#16865e61}.json-drop-field.has-file>span:hover,.json-drop-field.has-file input:focus+span{background:#16865e1a;border-color:#16865e}.json-drop-field.has-file svg{color:#16865e}.json-drop-field svg{width:30px;height:30px;color:var(--primary);margin-bottom:12px}.json-drop-field strong{color:var(--text);font-size:13px}.json-drop-field small{margin-top:5px;font-size:14px}.json-drop-field .selected-json-file{max-width:min(100%,560px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.json-drop-field em{color:#16865e;background:var(--surface-solid);border-radius:6px;margin-top:12px;padding:5px 9px;font-size:13px;font-style:normal;font-weight:800}.import-source-panel textarea{resize:vertical;border:1px solid var(--border);width:100%;color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);tab-size:2;border-radius:11px;padding:13px;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.analysis-validation-results{gap:10px;display:grid}.analysis-validation-results[hidden]{display:none}.validation-summary{border-radius:9px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.validation-summary strong{font-size:12px}.validation-summary span{font-size:14px}.validation-counters{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.validation-counters span{border:1px solid var(--border);color:var(--muted);background:var(--surface-soft);text-align:center;border-radius:8px;gap:2px;padding:10px;font-size:13px;display:grid}.validation-counters strong{color:var(--text);font-size:16px}.validation-group{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;overflow:hidden}.validation-group>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:11px 13px;font-size:15px;font-weight:800;display:flex}.validation-group>summary strong{text-align:center;border-radius:6px;min-width:25px;padding:4px 6px}.validation-group ul{gap:7px;max-height:230px;margin:0;padding:0 13px 13px;list-style:none;display:grid;overflow-y:auto}.validation-group li{background:var(--surface-solid);border-radius:7px;grid-template-columns:minmax(110px,.6fr) minmax(180px,1fr);gap:10px;padding:8px 9px;font-size:14px;display:grid}.validation-group code{color:var(--primary);overflow-wrap:anywhere}.validation-group li span{color:var(--muted);line-height:1.45}.course-structure-list{gap:14px;margin-top:22px;display:grid}.structure-empty{border:1px dashed var(--border-strong);min-height:320px;color:var(--muted);background:var(--surface-soft);text-align:center;border-radius:12px;place-content:center;justify-items:center;padding:35px;display:grid}.structure-empty>svg{width:45px;height:45px;color:var(--primary)}.structure-empty h3{color:var(--text);margin:15px 0 7px}.structure-empty p{max-width:440px;margin:0 0 19px;font-size:12px;line-height:1.55}.structure-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;overflow:hidden}.structure-section>header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--primary), transparent 96%);justify-content:space-between;align-items:flex-start;gap:18px;padding:14px 16px;display:flex}.structure-section>header h3{margin:0;font-size:18px;font-weight:850}.structure-section>header p{color:var(--muted);margin:4px 0 0;font-size:13px}.structure-section-meta{color:var(--muted);margin-top:6px;font-size:13px;display:block}.structure-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.structure-actions>button:first-child,.structure-edit-button{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);background:var(--surface-solid);border-radius:8px;place-items:center;display:grid}.structure-actions svg,.structure-edit-button svg{width:14px;height:14px}.add-unit-button{min-height:34px;padding:0 10px;font-size:14px}.add-unit-button svg{width:14px;height:14px;margin-right:5px}.structure-flat-materials{gap:8px;padding:12px 13px 14px;display:grid}.structure-units{gap:9px;padding:13px;display:grid}.structure-unit{border:1px solid var(--border);background:var(--surface-solid);border-radius:10px;overflow:hidden}.structure-unit>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:12px;min-height:58px;padding:10px 13px;list-style:none;display:grid}.structure-unit>summary::-webkit-details-marker{display:none}.structure-unit summary div{gap:4px;display:grid}.structure-unit summary div span{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:850}.structure-unit summary strong{font-size:13px}.structure-unit summary small{color:var(--muted);font-size:13px}.unit-chevron{width:28px;height:28px;color:var(--muted);place-items:center;display:grid}.unit-chevron svg{width:15px;height:15px;transform:rotate(90deg)}.structure-unit[open] .unit-chevron{transform:rotate(180deg)}.unit-body{border-top:1px solid var(--border);padding:0 13px 13px}.unit-actions{justify-content:flex-end;align-items:center;gap:8px;padding:11px 0;display:flex}.unit-actions>button:first-child{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface-soft);border-radius:8px;padding:0 10px;font-size:13px;font-weight:750}.unit-actions svg{width:13px;height:13px;margin-right:5px}.order-controls{gap:3px;display:inline-flex}.order-controls button{border:1px solid var(--border);width:27px;height:27px;color:var(--muted);background:var(--surface-solid);border-radius:7px;place-items:center;font-size:12px;font-weight:850;display:grid}.content-items{gap:7px;display:grid}.course-content-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;grid-template-columns:30px minmax(180px,1fr) minmax(135px,.55fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.course-content-row.requires-review{background:linear-gradient(90deg, #c3790c12, var(--surface-soft) 32%);border-color:#c3790c59}.course-content-row.is-review-focus{border-color:#c3790c;outline:3px solid #c3790c38;box-shadow:0 7px 20px #c3790c1f}.content-order{width:28px;height:28px;color:var(--primary);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:14px;font-weight:850;display:grid}.content-main{gap:4px;display:grid}.content-main strong{font-size:14px}.content-main span{color:var(--muted);font-size:13px}.content-topic{letter-spacing:.02em;text-transform:uppercase;font-weight:800;color:var(--primary)!important;font-size:12px!important}.content-title-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.review-badge{text-transform:uppercase;background:#c3790c1f;border-radius:5px;padding:3px 5px;font-weight:850;color:#a96300!important;font-size:12px!important}.book-reference{border-left:1px solid var(--border);gap:4px;padding-left:10px;display:grid}.book-reference span{color:var(--muted);font-size:12px;font-weight:750}.book-reference strong{font-size:14px}.structure-inline-empty{color:var(--muted);text-align:center;margin:0;padding:20px;font-size:15px}.content-row-actions{align-items:center;gap:4px;display:flex}.content-row-actions>button{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);background:var(--surface-solid);border-radius:7px;place-items:center;display:grid}.content-row-actions>button svg{width:13px;height:13px}.content-row-actions .structure-edit-button{width:30px;height:30px}.course-item-method{border-top:1px solid var(--border);grid-column:2/-1;padding-top:8px}.structure-review-panel{color:var(--text);background:color-mix(in srgb, var(--warning-soft), var(--surface-solid) 42%);border:1px solid #c3790c59;border-radius:9px;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:12px;margin-top:4px;padding:12px 13px;display:flex}.structure-review-copy{flex:1;gap:5px;min-width:min(100%,320px);display:grid}.structure-review-copy strong{color:#c3790c;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:850}.structure-review-copy p{color:var(--text);margin:0;font-size:14px;line-height:1.45}.structure-review-copy small{color:var(--muted);font-size:13px;line-height:1.4}.structure-review-actions{flex-wrap:wrap;gap:8px;display:flex}.structure-review-actions .primary-button,.structure-review-actions .secondary-button{min-height:34px}.course-item-method>summary{color:var(--primary);cursor:pointer;font-size:13px;font-weight:800}.course-item-method>div{gap:5px;padding:8px 0 2px;display:grid}.course-item-method p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.analysis-source-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.analysis-source-summary>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;gap:4px;padding:11px 12px;display:grid}.analysis-source-summary>div.is-primary{background:var(--primary-soft);border-color:#5943ea4d}.analysis-source-summary span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.analysis-source-summary strong{font-size:14px}.structure-checks{flex-wrap:wrap;gap:18px;display:flex}.structure-dialog{width:min(100%,700px)}.structure-dialog textarea{resize:vertical}.group-page-header{max-width:1420px;margin:0 auto}.back-link{color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;margin-bottom:16px;font-size:14px;font-weight:750;display:inline-flex}.back-link svg{width:16px;height:16px}.group-page-title{grid-template-columns:minmax(220px,1fr) auto minmax(220px,.65fr);align-items:center;gap:24px;display:grid}.group-page-title h1{letter-spacing:-.04em;margin:5px 0;font-size:35px}.group-title-stats{gap:9px;display:flex}.group-title-stats>span{border:1px solid var(--border);min-width:128px;color:var(--muted);background:var(--surface-soft);border-radius:11px;gap:3px;padding:11px 14px;font-size:12px;display:grid}.group-title-stats strong{color:var(--primary);font-size:21px}.group-title-meta{text-align:right;justify-items:end;gap:4px;display:grid}.group-title-meta strong{color:var(--primary);font-size:15px}.group-title-meta span{color:var(--muted);font-size:15px}.group-tabs{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:5px;margin-top:26px;padding:5px;display:flex}.group-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 16px;font-size:14px;font-weight:750}.group-tabs button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:0 4px 14px #2d268017}.group-tabs .group-settings-button{border:1px solid var(--border);background:var(--surface-solid);place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin-left:auto;padding:0;display:inline-grid}.group-settings-button svg{width:19px;height:19px}.group-page-content{max-width:1420px;margin:22px auto 0}.group-overview-grid{grid-template-columns:minmax(260px,.72fr) repeat(2,minmax(260px,1fr));gap:18px;display:grid}.overview-progress{grid-column:1/-1}.overview-window-copy,.overview-empty-state{background:var(--surface-soft);border-radius:10px;gap:8px;margin-top:18px;padding:16px;display:grid}.overview-window-copy strong,.overview-empty-state strong{font-size:15px;line-height:1.5}.overview-window-copy span,.overview-empty-state span{color:var(--muted);font-size:14px;line-height:1.5}.overview-empty-state{border:1px dashed var(--border-strong)}.group-overview-main{gap:18px;display:grid}.overview-panel,.members-section,.schedule-page,.history-page{border:1px solid var(--border);background:var(--surface-solid);border-radius:14px;padding:22px;box-shadow:0 8px 26px #312a7e0b}.panel-heading,.section-action-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel-heading h2,.section-action-header h2{margin:0;font-size:19px}.panel-heading>span{color:#16865e;background:#16865e1a;border-radius:7px;padding:5px 8px;font-size:14px;font-weight:800}.section-action-header p{color:var(--muted);margin:5px 0 0;font-size:15px}.overview-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px;display:grid}.overview-facts>div{background:var(--surface-soft);border-radius:9px;gap:6px;padding:14px;display:grid}.overview-facts span{color:var(--muted);font-size:14px;font-weight:750}.overview-facts strong{font-size:15px;line-height:1.4}.progress-placeholder{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:10px;gap:7px;margin-top:18px;padding:22px;display:grid}.progress-placeholder strong{color:var(--text)}.progress-placeholder span{font-size:15px}.progress-course-point{background:var(--surface-soft);text-align:left;border-radius:8px;gap:4px;padding:11px 13px;display:grid}.progress-course-point small{color:var(--muted);font-size:14px}.progress-course-point b{color:var(--text);font-size:15px}.progress-course-point.is-carried{background:var(--warning-soft)}.progress-course-point ul{color:var(--text);gap:3px;margin:0;padding-left:18px;font-size:14px;display:grid}.group-overview-side{align-content:start;gap:10px;display:grid}.overview-stat,.next-lesson-card{border:1px solid var(--border);background:var(--surface-solid);border-radius:12px;gap:5px;padding:18px;display:grid}.overview-stat strong{color:var(--primary);font-size:28px}.overview-stat span,.next-lesson-card span{color:var(--muted);font-size:14px;font-weight:750}.next-lesson-card strong{font-size:15px;line-height:1.45}.members-block{margin-top:22px}.members-block h3{margin:0 0 11px;font-size:16px}.former-members{border-top:1px solid var(--border);padding-top:20px}.members-list{gap:8px;display:grid}.member-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;grid-template-columns:38px minmax(0,1fr) minmax(125px,auto) auto auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.member-avatar{color:#fff;background:var(--primary);border-radius:10px;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.member-copy{gap:4px;display:grid}.member-copy strong{font-size:15px}.member-copy span{color:var(--muted);font-size:14px}.member-name-button{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:15px;font-weight:800}.member-name-button:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.member-name-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}.member-balance{background:var(--surface-solid);border-radius:8px;gap:3px;padding:7px 9px;display:grid}.member-balance span{color:var(--muted);text-transform:uppercase;font-size:11px}.member-balance strong{color:#16865e;font-size:13px}.member-balance.is-warning strong{color:#b56b00}.member-balance.is-empty strong{color:#d6455d}.member-balance.is-debt{background:#d6455d17}.member-balance.is-debt span,.member-balance.is-debt strong{color:#d6455d}.member-payment-button{border:1px solid var(--border);min-height:34px;color:var(--primary);background:var(--surface-solid);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:750;display:inline-flex}.member-payment-button svg{width:14px;height:14px}.member-action{border:1px solid var(--border);min-height:34px;color:var(--muted);background:var(--surface-solid);border-radius:8px;padding:0 10px;font-size:14px;font-weight:750}.member-attendance-dialog{width:min(100%,900px)}.member-attendance-dialog .dialog-header p{color:var(--muted);margin:6px 0 0;font-size:15px}.member-attendance-content{padding:24px 28px 28px}.member-attendance-content .loading-view{min-height:220px}.member-attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.member-attendance-summary article{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:5px;padding:15px;display:grid}.member-attendance-summary strong{color:var(--primary);font-size:25px}.member-attendance-summary .is-present strong{color:#16865e}.member-attendance-summary .is-absent strong{color:#d35656}.member-attendance-summary span{color:var(--muted);font-size:14px;font-weight:750}.attendance-unmarked-note{color:var(--muted);background:var(--warning-soft);border-radius:9px;align-items:center;gap:7px;margin:14px 0 0;padding:10px 12px;font-size:14px;display:flex}.attendance-unmarked-note svg{flex:none;width:15px;height:15px}.member-attendance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 18px;margin-top:18px;display:flex}.member-attendance-toolbar label{align-items:center;gap:7px;display:flex}.member-attendance-toolbar label>span{color:var(--muted);font-size:14px;font-weight:750}.member-attendance-toolbar select,.member-attendance-toolbar input{border:1px solid var(--border);height:36px;color:var(--text);background:var(--surface-soft);font:inherit;border-radius:9px;padding:0 11px;font-size:14px;font-weight:700}.member-attendance-toolbar select{padding-right:32px}.attendance-date-filter{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.attendance-date-filter>span{color:var(--muted);font-size:14px;font-weight:750}.attendance-date-filter button{height:34px;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0 9px;font-size:13px;font-weight:800}.member-attendance-history{gap:8px;margin-top:10px;display:grid}.member-attendance-history article{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.member-attendance-history article>div:first-child,.member-attendance-result{gap:4px;display:grid}.member-attendance-history article>div:first-child span,.member-attendance-result small{color:var(--muted);font-size:14px}.member-attendance-history article>div:first-child strong{font-size:15px}.member-attendance-result{text-align:right;justify-items:end}.member-attendance-status-line{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.attendance-history-status{border-radius:7px;padding:5px 8px;font-size:14px;font-weight:800}.attendance-history-status.is-present{color:#16865e;background:#16865e1a}.attendance-history-status.is-absent{color:#c34848;background:#c348481c}.attendance-history-status.is-unmarked{color:var(--muted);background:var(--surface-solid)}.history-homework-status{align-items:center;gap:6px;display:flex}.history-homework-status>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:850}.history-homework-status select{border:1px solid var(--border);max-width:190px;height:32px;color:var(--text);background:var(--surface-solid);border-radius:8px;padding:0 28px 0 9px;font-size:13px;font-weight:750}.history-homework-status select:disabled{cursor:wait;opacity:.65}.attendance-charge-label{background:var(--surface-solid);border-radius:6px;padding:3px 6px}.attendance-charge-label.is-charged{background:#c3790c1a;color:#a96300!important}.member-attendance-empty{margin-top:20px}.member-payment-dialog{width:min(100%,820px)}.member-payment-dialog .dialog-header p{color:var(--muted);margin:6px 0 0;font-size:14px}.member-payment-content{gap:18px;padding:24px 28px 28px;display:grid}.payment-balance-card{background:#16865e12;border:1px solid #16865e40;border-radius:12px;gap:5px;padding:18px;display:grid}.payment-balance-card span{color:var(--muted);font-size:13px}.payment-balance-card strong{color:#16865e;font-size:28px}.payment-balance-card.is-warning{background:#c3790c14;border-color:#c3790c47}.payment-balance-card.is-warning strong{color:#a96300}.payment-balance-card.is-empty{background:#d6455d12;border-color:#d6455d42}.payment-balance-card.is-empty strong{color:#d6455d}.payment-balance-card.is-debt{background:#d6455d1a;border-color:#d6455d6b}.payment-balance-card.is-debt strong{color:#d6455d}.payment-balance-card small{color:var(--muted);font-size:13px;line-height:1.45}.payment-adjustment-form{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:16px!important}.payment-adjustment-form>div{grid-template-columns:minmax(150px,.5fr) minmax(220px,1fr);gap:12px;display:grid}.payment-adjustment-form .field{margin:0}.payment-adjustment-form>p:not(.form-message){color:var(--muted);margin:10px 0;font-size:13px}.payment-adjustment-form .form-message{text-align:left;margin:6px 0}.payment-history h3{margin:0 0 11px;font-size:17px}.payment-history>div{gap:8px;display:grid}.payment-history article{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.payment-quantity{min-height:34px;color:var(--muted);background:var(--surface-solid);border-radius:8px;place-items:center;font-weight:850;display:grid}.payment-quantity.is-credit{color:#16865e;background:#16865e1a}.payment-quantity.is-charge{color:#d6455d;background:#d6455d17}.payment-history article>div{gap:3px;display:grid}.payment-history article span,.payment-history time{color:var(--muted);font-size:12px}.schedule-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:11px;margin-top:20px;display:grid}.schedule-list article{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:7px;padding:17px;display:grid}.schedule-list span{color:var(--muted);font-size:15px}.schedule-list strong{color:var(--primary);font-size:22px}.schedule-list small{color:var(--muted);font-size:14px}.history-list{gap:8px;margin-top:20px;display:grid}.history-list article{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;display:flex}.history-list article>div{gap:4px;display:grid}.history-list article>div strong{font-size:15px}.history-list article>div span{color:var(--muted);font-size:14px}.member-dialog{width:min(100%,650px)}.member-dialog textarea{border:1px solid var(--border);color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);font:inherit;border-radius:11px;padding:11px}.member-mode-control{margin-bottom:16px}.member-mode-control input:disabled+span{cursor:not-allowed;opacity:.45}.member-mode-hint{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.45}.member-joined-field{margin-top:16px}.modal-layer{z-index:100;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050b1d9e;position:absolute;inset:0}.group-dialog{border:1px solid var(--border);width:min(100%,760px);max-height:calc(100vh - 48px);color:var(--text);background:var(--surface-solid);border-radius:18px;position:relative;overflow:auto;box-shadow:0 30px 90px #00000052}.dialog-header{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-solid);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px 18px;display:flex;position:sticky;top:0}.dialog-header h2{letter-spacing:-.035em;margin:0;font-size:28px}.dialog-close{border:1px solid var(--border);width:38px;height:38px;color:var(--muted);background:var(--surface-soft);border-radius:9px;place-items:center;display:grid}.dialog-close svg{width:18px;height:18px}.group-dialog form{padding:0 28px 28px}.form-section{border-bottom:1px solid var(--border);padding:24px 0}.form-section h3{margin:0 0 18px;font-size:16px}.form-grid{gap:16px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:18px;padding:5px;display:grid}.segmented-control-three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control label{position:relative}.segmented-control input{opacity:0;position:absolute}.segmented-control span{min-height:44px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.segmented-control input:checked+span{color:var(--primary);background:var(--surface-solid);box-shadow:0 4px 14px #2d26801a}.segmented-control svg{width:17px;height:17px}.inline-note,.manual-mode-note{color:var(--muted);background:var(--surface-soft);border-radius:9px;margin:0;padding:13px 14px;font-size:12px;line-height:1.5}.manual-mode-note{color:var(--primary);background:var(--primary-soft)}.manual-fields{gap:12px;display:grid}.weekday-fieldset{border:0;margin:0;padding:0}.weekday-fieldset legend{color:var(--text);margin-bottom:9px;font-size:14px;font-weight:700}.weekday-options{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.weekday-options label{position:relative}.weekday-options input{opacity:0;position:absolute}.weekday-options span{border:1px solid var(--border);min-height:40px;color:var(--muted);background:var(--surface-solid);cursor:pointer;border-radius:8px;place-items:center;font-size:12px;font-weight:750;display:grid}.weekday-options input:checked+span{border-color:var(--primary);color:#fff;background:var(--primary)}.weekday-schedule{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.weekday-time-row{border:1px solid var(--border);background:var(--surface-soft);opacity:.7;border-radius:10px;grid-template-columns:54px minmax(0,1fr);align-items:end;gap:9px;padding:8px;display:grid}.weekday-time-row.is-selected{border-color:color-mix(in srgb, var(--primary), transparent 55%);background:var(--primary-soft);opacity:1}.weekday-toggle{position:relative}.weekday-toggle input{opacity:0;position:absolute}.weekday-toggle span{border:1px solid var(--border);min-height:42px;color:var(--muted);background:var(--surface-solid);cursor:pointer;border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:grid}.weekday-toggle input:checked+span{border-color:var(--primary);color:#fff;background:var(--primary)}.weekday-time{gap:4px;display:grid}.weekday-time>span{color:var(--muted);font-size:14px;font-weight:700}.weekday-time input{border:1px solid var(--border);min-width:0;height:42px;color:var(--text);background:var(--surface-solid);font:inherit;border-radius:8px;padding:0 10px}.weekday-time input:disabled{cursor:not-allowed;opacity:.45}.dialog-message{margin:14px 0 0}.dialog-footer{justify-content:flex-end;gap:10px;padding-top:20px;display:flex}.confirm-dialog{width:min(100%,480px);max-height:min(100vh - 48px,420px)}.confirm-dialog-header{border-bottom:0;padding:24px 28px 12px}.confirm-dialog-header h2{font-size:22px;line-height:1.25}.confirm-dialog-body{padding:0 28px 4px}.confirm-dialog-message{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.confirm-dialog-footer{border-top:1px solid var(--border);background:var(--surface-solid);padding:16px 28px 24px}.compact-confirm-dialog{width:min(100%,560px)}.modal-layer:has(.confirm-dialog){place-items:center;padding:24px}.dialog-footer-spacer{flex:1}.danger-button{color:#d6455d;cursor:pointer;background:#d6455d14;border:1px solid #d6455d4d;border-radius:9px;justify-content:center;align-items:center;min-height:40px;padding:0 13px;font-size:15px;font-weight:800;display:inline-flex}.danger-button:hover{background:#d6455d21;border-color:#d6455d}.danger-button svg{width:15px;height:15px;margin-right:6px}.lesson-dialog{width:min(100%,1180px);height:calc(100vh - 32px);max-height:none}.lesson-dialog .dialog-header{padding:18px 24px}.lesson-dialog .dialog-header h2{font-size:25px}.lesson-dialog .dialog-header p{color:var(--muted);margin:5px 0 0;font-size:12px}.lesson-dialog-body{padding:26px 28px 28px}.lesson-workspace-form{min-height:calc(100% - 98px)}.lesson-workspace-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px 24px 0;display:grid}.mobile-lesson-tab-switcher{display:none}.lesson-workspace-tab{border:1px solid var(--border);min-width:0;min-height:46px;color:var(--muted);background:var(--surface-soft);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:10px 12px;font-size:14px;font-weight:800;transition:border-color .16s,color .16s,background .16s,transform .16s;display:flex}.lesson-workspace-tab:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.lesson-workspace-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--primary), transparent 72%);outline-offset:2px}.lesson-workspace-tab>span{height:25px;color:var(--muted);background:color-mix(in srgb, var(--surface-solid), transparent 2%);border-radius:8px;flex:0 0 25px;place-items:center;font-size:12px;display:grid}.lesson-workspace-tab.is-active{border-color:color-mix(in srgb, var(--primary), transparent 35%);color:var(--primary-strong);background:color-mix(in srgb, var(--primary), transparent 90%);box-shadow:0 7px 20px color-mix(in srgb, var(--primary), transparent 88%)}.lesson-workspace-tab.is-active>span{color:#fff;background:linear-gradient(135deg, var(--accent-cyan), var(--primary), var(--primary-strong))}.lesson-workspace-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px;padding:22px 24px 92px;display:grid}.lesson-workspace-main{align-content:start;gap:18px;display:grid}.lesson-work-section{border:1px solid var(--border);background:var(--surface-solid);border-radius:14px;padding:22px;box-shadow:0 8px 24px #312a7e0b}.lesson-work-section[hidden]{display:none}.lesson-section-heading{align-items:center;gap:12px;margin-bottom:17px;display:flex}.lesson-section-number{color:#fff;background:var(--primary);border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-size:13px;font-weight:850;display:grid}.lesson-section-heading h3{margin:0;font-size:18px}.lesson-section-heading p{color:var(--muted);margin:3px 0 0;font-size:15px}.lesson-course-heading{flex-wrap:wrap}.lesson-course-heading>div:nth-child(2){min-width:0}.lesson-course-heading h3{overflow-wrap:anywhere;font-size:22px}.lesson-course-heading .lesson-focus-toggle{margin-left:auto}.lesson-focus-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-3px 0 16px;padding:14px;display:grid}.lesson-focus-panel .workspace-field+.workspace-field{margin-top:0}.edited-plan-badge{color:var(--primary);background:var(--primary-soft);border-radius:7px;margin-left:auto;padding:5px 8px;font-size:14px;font-weight:800}.workspace-note{color:var(--muted);background:var(--surface-soft);border-radius:8px;margin:0 0 15px;padding:11px 13px;font-size:15px;line-height:1.5}.workspace-field{gap:7px;display:grid}.workspace-field+.workspace-field{margin-top:16px}.workspace-field>span{color:var(--text);font-size:13px;font-weight:750}.workspace-field textarea{resize:vertical;border:1px solid var(--border);width:100%;color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);font:inherit;border-radius:11px;padding:13px 14px;font-size:13px;line-height:1.55}.workspace-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 84%);outline:none}.workspace-field>small{color:var(--muted);font-size:14px;line-height:1.4}.course-tool-row{flex-wrap:wrap;gap:8px;margin:10px 0 16px;display:flex}.text-tool-button{border:1px solid var(--border);min-height:34px;color:var(--primary);background:var(--surface-solid);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:15px;font-weight:750;display:inline-flex}.text-tool-button svg{width:14px;height:14px}.homework-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.homework-source-grid-manual{grid-template-columns:minmax(0,1fr)}.manual-homework-card strong{white-space:pre-wrap}.manual-homework-card small{color:var(--muted);font-size:12px;line-height:1.4}.homework-source-card{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:9px;gap:5px;padding:13px;display:grid}.homework-source-card span{color:var(--primary);text-transform:uppercase;font-size:14px;font-weight:850}.homework-source-card strong{color:var(--text);font-size:13px;line-height:1.45}.workbook-homework-card{grid-column:1/-1;align-content:start;gap:9px}.course-homework-card{align-content:start;gap:9px}.workbook-homework-option{border:1px solid var(--border);background:var(--surface-solid);border-radius:8px;gap:8px;padding:9px;display:grid}.workbook-homework-option>label{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.workbook-homework-option>label>input{width:17px;height:17px;accent-color:var(--primary);flex:0 0 17px;margin-top:2px}.workbook-homework-option>label>span{color:inherit;font-size:inherit;font-weight:inherit;text-transform:none;gap:4px;display:grid}.workbook-homework-option strong{font-size:13px}.workbook-homework-option small{color:var(--muted);font-size:15px;line-height:1.45}.course-homework-option{cursor:pointer;align-items:flex-start;display:flex}.course-homework-option>input{width:17px;height:17px;accent-color:var(--primary);flex:0 0 17px;margin-top:2px}.course-homework-option>span{color:inherit;font-size:inherit;font-weight:inherit;text-transform:none;gap:4px;display:grid}.workbook-recommendation-exclude{color:var(--muted);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:12px;font-weight:750;text-decoration:underline}.workbook-recommendation-exclude:hover,.workbook-recommendation-exclude:focus-visible{color:#d6455d}.workbook-excluded-recommendations{border-top:1px solid var(--border);gap:8px;margin-top:5px;padding-top:11px;display:grid}.workbook-excluded-recommendations[hidden]{display:none}.workbook-excluded-recommendations>header{gap:3px;display:grid}.workbook-excluded-recommendations>header strong{font-size:13px}.workbook-excluded-recommendations>header small{font-size:12px}.workbook-excluded-recommendations>div{gap:6px;display:grid}.workbook-excluded-recommendation{border:1px dashed var(--border-strong);background:var(--surface-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.workbook-excluded-recommendation>span{gap:2px;display:grid}.workbook-excluded-recommendation button{border:1px solid var(--border);min-height:34px;color:var(--primary);background:var(--surface-solid);cursor:pointer;border-radius:7px;padding:0 9px;font-weight:750}.workbook-scope-control{grid-template-columns:minmax(120px,1fr) minmax(170px,1.35fr);align-items:center;gap:8px;padding:9px 0 2px;display:grid}.workbook-scope-control>span{color:var(--muted);text-transform:none;font-size:15px;font-weight:750}.workbook-scope-control select,.workbook-homework-option>input{border:1px solid var(--border);min-width:0;height:34px;color:var(--text);background:var(--surface-soft);border-radius:7px;padding:0 9px;font-size:15px}.workbook-homework-option>input{margin-left:26px}.homework-exercise-progress{border:1px solid color-mix(in srgb, var(--primary), transparent 74%);background:color-mix(in srgb, var(--primary), transparent 95%);border-radius:9px;gap:9px;margin-left:26px;padding:11px;display:grid}.exercise-follow-up{grid-template-columns:minmax(150px,.55fr) minmax(210px,1fr);margin-top:2px;cursor:default!important;align-items:center!important;gap:9px!important;display:grid!important}.exercise-follow-up>span{color:var(--muted)!important;text-transform:none!important;font-size:13px!important;font-weight:750!important}.exercise-follow-up select{border:1px solid var(--border);min-width:0;height:34px;color:var(--text);background:var(--surface-solid);border-radius:7px;padding:0 9px;font-size:13px}.homework-plan-carryover{background:#c3790c0f;border:1px solid #c3790c61;border-radius:10px;gap:8px;margin-bottom:14px;padding:12px;display:grid}.homework-plan-carryover>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 12px;display:flex}.homework-plan-carryover>header strong{font-size:14px}.homework-plan-carryover>header span{color:var(--muted);font-size:13px}.homework-plan-carryover article{background:var(--surface-solid);border-radius:8px;grid-template-columns:auto minmax(140px,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.homework-plan-carryover article>span{color:#c3790c;text-transform:uppercase;font-size:12px;font-weight:850}.homework-plan-carryover article>strong{font-size:13px}.homework-plan-carryover article>small{color:var(--muted);font-size:13px}.platform-homework{background:var(--surface-soft);border-radius:9px;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:12px;margin-top:15px;padding:13px;display:grid}.check-row{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.platform-homework>input{border:1px solid var(--border);height:38px;color:var(--text);background:var(--surface-solid);border-radius:8px;padding:0 11px}.compact-field{max-width:250px;margin-top:14px}.attendance-list{gap:9px;display:grid}.attendance-list-header,.attendance-row{grid-template-columns:minmax(150px,.8fr) repeat(2,minmax(190px,1fr));gap:14px;display:grid}.attendance-list-header{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 13px 7px;font-size:12px;font-weight:800}.attendance-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;align-items:start;padding:13px;transition:border-color .16s,background .16s;position:relative}.attendance-row[data-attendance-value=present]{border-color:#16865e47}.attendance-row[data-attendance-value=absent_charged],.attendance-row[data-attendance-value=absent_free]{border-color:#d6455d47}.attendance-student{align-items:center;gap:10px;min-height:42px;display:flex}.attendance-student>span{color:#fff;background:linear-gradient(135deg, var(--accent-cyan), var(--primary));border-radius:10px;flex:0 0 34px;place-items:center;height:34px;font-size:13px;font-weight:850;display:grid}.attendance-student strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.student-lesson-field{gap:6px;display:grid;position:relative}.student-lesson-field label{gap:6px;display:grid}.student-field-label{color:var(--muted);font-size:12px;font-weight:800;display:none}.student-lesson-field select{border:1px solid var(--border);width:100%;min-width:0;height:42px;color:var(--text);background:var(--surface-solid);border-radius:10px;padding:0 34px 0 11px;font-size:13px;font-weight:700}.absence-reason-summary{color:var(--muted);font-size:12px;line-height:1.35}.attendance-reason-popover{z-index:8;border:1px solid var(--border-strong);background:var(--surface-solid);width:min(310px,100vw - 70px);box-shadow:var(--shadow);border-radius:12px;padding:12px;position:absolute;top:calc(100% + 7px);left:0}.attendance-reason-popover[hidden]{display:none}.attendance-reason-popover header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.attendance-reason-popover header strong{font-size:13px}.attendance-reason-popover header button{width:26px;height:26px;color:var(--muted);background:var(--surface-soft);cursor:pointer;border:0;border-radius:7px;place-items:center;font-size:18px;display:grid}.attendance-reason-popover>div{gap:6px;display:grid}.attendance-reason-popover>div button{border:1px solid var(--border);min-height:36px;color:var(--text);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:750}.attendance-reason-popover>div button:hover,.attendance-reason-popover>div button.is-selected{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.workspace-empty{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:10px;justify-items:center;gap:6px;padding:22px;display:grid}.workspace-empty strong{color:var(--text)}.workspace-empty span{max-width:430px;font-size:15px;line-height:1.5}.lesson-workspace-side{align-self:start;gap:10px;display:grid;position:sticky;top:96px}.lesson-side-card,.lesson-actions-section{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;padding:15px}.lesson-side-card{gap:8px;display:grid}.lesson-side-card>span{color:var(--muted);font-size:14px;font-weight:750}.lesson-side-card>strong{font-size:13px;line-height:1.4}.lesson-workspace-side .lesson-actions-section{margin:0}.lesson-workspace-side .lesson-actions{display:grid}.lesson-workspace-side .lesson-action{width:100%}.save-state{color:#16865e;text-align:center;background:#16865e14;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:750}.save-state.is-dirty{color:#c3790c;background:#c3790c1a}.lesson-save-bar{z-index:3;border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid), transparent 4%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:flex-end;align-items:center;gap:18px;padding:15px 24px;display:flex;position:sticky;bottom:0}.lesson-save-bar>span{color:var(--muted);font-size:15px}.lesson-save-bar .primary-button{min-width:170px}.lesson-save-bar .primary-button:disabled{cursor:default;opacity:.5}.lesson-save-bar .primary-button[data-save-status=saving]:disabled{cursor:wait;opacity:.72}.lesson-save-bar .primary-button[data-save-status=saved]:disabled{cursor:default;opacity:1;filter:saturate(.8)}.lesson-reschedule-layer{max-width:700px;margin:0 auto}.unsaved-confirm{z-index:5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050b1d8a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.unsaved-confirm[hidden]{display:none}.unsaved-confirm>div{border:1px solid var(--border);background:var(--surface-solid);width:min(100%,480px);box-shadow:var(--shadow);border-radius:14px;padding:24px}.unsaved-confirm h3{margin:0 0 7px}.unsaved-confirm p{color:var(--muted);margin:0 0 18px}.unsaved-confirm>div>div{flex-wrap:wrap;gap:8px;display:flex}.leave-without-save{color:var(--muted);background:0 0;border:0;padding:0 8px;font-size:15px;text-decoration:underline}.lesson-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-summary>div{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:7px;padding:15px;display:grid}.lesson-summary>div>span:first-child{color:var(--muted);font-size:15px;font-weight:700}.lesson-summary strong{font-size:14px}.lesson-summary .lesson-status{justify-self:start}.lesson-actions-section,.reschedule-form{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.lesson-actions-section h3,.reschedule-form h3{margin:0 0 14px;font-size:16px}.lesson-actions{flex-wrap:wrap;gap:9px;display:flex}.lesson-action{border:1px solid var(--border);min-height:42px;color:var(--text);background:var(--surface-solid);cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:0 15px;font-weight:750;display:inline-flex}.lesson-action svg{width:17px;height:17px}.lesson-action:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.lesson-action.is-held-action{color:#16865e;background:#16865e14;border-color:#16865e47}.lesson-action.is-cancel-action{color:#d6455d;background:#d6455d14;border-color:#d6455d47}.lesson-action.is-restore-action{color:#3384e8;background:#3384e814;border-color:#3384e847}.lesson-action:disabled{cursor:wait;opacity:.55}.reschedule-buttons{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.lesson-action-message{margin:14px 0 0}@media (width<=980px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{padding:30px 18px}.app-shell{grid-template-columns:82px minmax(0,1fr)}.sidebar{padding:24px 12px 16px}.brand{justify-content:center;padding-inline:0}.brand span,.nav-button span,.profile-copy,.profile-button>svg,.sidebar-art{display:none}.nav-button{justify-content:center;padding:0}.profile-button{justify-content:center;display:flex}.profile-menu{bottom:0;left:58px;right:auto}.workspace{padding:28px 18px 38px}.calendar-grid{grid-template-columns:repeat(var(--calendar-days,5), minmax(140px, 1fr))}.workbook-link-row{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) auto}.workbook-link-row>button{grid-column:3}.workbook-link-status{grid-area:1/3;margin-bottom:38px}}@media (width<=720px){.app-shell{padding-bottom:68px;display:block}.sidebar{z-index:30;border-top:1px solid var(--border);border-right:0;flex-direction:row;width:100%;height:68px;padding:7px 10px;position:fixed;inset:auto 0 0}.brand,.sidebar-art,.profile-area{display:none}.main-nav{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.is-guest .main-nav{grid-template-columns:1fr}.nav-button{flex-direction:column;gap:2px;min-height:54px;font-size:14px}.nav-button span{display:block}.nav-button svg{width:20px;height:20px}.workspace{padding:22px 12px 28px}.page-header{flex-direction:column;align-items:flex-start}.header-actions{justify-content:space-between;width:100%}.calendar-scroll{overflow:visible}.calendar-side-arrow{display:none}.calendar-scroll.has-weekend{padding-bottom:0}.calendar-grid,.calendar-scroll.has-weekend .calendar-grid{grid-template-columns:1fr;width:100%;min-height:0;display:grid;overflow:visible}.day-column{border-right:0;border-bottom:1px solid var(--border)}.day-column:last-child{border-bottom:0}.empty-day{min-height:110px}.week-stats{width:100%}.week-stats span{flex:1;justify-content:center;min-width:110px}.toast{max-width:none;bottom:82px;left:12px;right:12px}.modal-layer{padding:0}.group-dialog{border:0;border-radius:0;width:100%;height:100%;max-height:none}.form-grid.two-columns,.form-grid.three-columns,.segmented-control-three{grid-template-columns:1fr}.weekday-options{grid-template-columns:repeat(4,1fr)}.weekday-schedule,.lesson-summary{grid-template-columns:1fr}.lesson-workspace-tabs{scrollbar-width:thin;padding:14px 14px 0;display:flex;overflow-x:auto}.lesson-workspace-tab{flex:none;min-width:160px}.lesson-workspace-layout,.lesson-planned-course article,.lesson-plan-editor{grid-template-columns:1fr}.course-item-result select{width:100%}.partial-exercise-progress{grid-column:1}.exercise-reference-editor{grid-template-columns:1fr}.course-item-follow-up{grid-column:1}.course-item-follow-up label,.workbook-scope-control{grid-template-columns:1fr}.workbook-homework-option>input,.homework-exercise-progress{margin-left:0}.workbook-excluded-recommendation{flex-direction:column;align-items:stretch}.workbook-excluded-recommendation button{width:100%}.exercise-follow-up,.homework-plan-carryover article{grid-template-columns:1fr}.lesson-workspace-side{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.lesson-workspace-side .lesson-actions-section{grid-column:1/-1}.group-overview-grid{grid-template-columns:1fr}.group-overview-side{grid-template-columns:repeat(3,minmax(0,1fr))}.courses-header-actions{justify-content:space-between;align-items:flex-end;width:100%}.course-drawer{padding-left:20px}.course-main-fields{grid-template-columns:1fr}.course-icon-picker{text-align:left;grid-template-columns:auto 1fr;place-items:center start}.course-content-row{grid-template-columns:30px minmax(150px,1fr) minmax(120px,.6fr) auto}.workbook-workspace-header{flex-direction:column}.workbook-header-actions{width:100%}.workbook-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workbook-link-row{grid-template-columns:1fr auto}.workbook-link-reference{grid-column:1}.workbook-link-status{grid-area:1/2;margin:0}.workbook-link-row>button{grid-area:2/2}.floating-review-button,.floating-top-button{bottom:80px;right:12px}.floating-top-button.has-review-button{bottom:144px}}@media (width<=460px){.login-card{padding:30px 22px}.page-header h1{font-size:29px}.header-actions{flex-direction:column;align-items:stretch}.week-nav{justify-content:space-between}.week-nav button{flex:1}.week-stats{grid-template-columns:1fr;display:grid}.week-stats span{border-right:0;border-bottom:1px solid var(--border);justify-content:flex-start}.week-stats span:last-child{border-bottom:0}.homework-source-grid,.platform-homework,.lesson-workspace-side,.attendance-row{grid-template-columns:1fr}.lesson-save-bar{flex-direction:column;align-items:stretch}.group-tabs{overflow-x:auto}.group-tabs button{white-space:nowrap}.overview-facts,.group-overview-side{grid-template-columns:1fr}.group-page-title,.section-action-header{flex-direction:column;align-items:flex-start}.member-row{grid-template-columns:38px 1fr}.member-action{grid-column:1/-1}.courses-header-actions{flex-direction:column;align-items:stretch}.course-sort-field select{width:100%}.course-list-item>summary{grid-template-columns:44px minmax(0,1fr) auto 32px;gap:10px}.course-list-icon{width:44px;height:44px}.course-page-title-row{grid-template-columns:56px minmax(0,1fr)}.course-page-icon{border-radius:12px;width:56px;height:56px}.course-page-title-row .secondary-button{grid-column:1/-1}.course-tabs{overflow-x:auto}.course-tabs button{white-space:nowrap}.course-structure-page{padding:15px}.structure-header-actions{width:100%}.structure-header-actions>button{flex:1}.structure-review-banner{flex-wrap:wrap;align-items:flex-start}.structure-review-banner>button{justify-content:center;width:100%}.structure-approved-banner{flex-wrap:wrap;align-items:flex-start}.approved-version-actions{flex-direction:column;width:100%}.approved-version-actions>button{justify-content:center;width:100%}.course-status-bar{flex-direction:column;align-items:stretch}.course-status-bar>div{justify-content:space-between}.course-status-bar .status-arrow{display:none}.structure-version-card{flex-direction:column;align-items:stretch}.structure-version-actions{flex-direction:column;width:100%}.structure-version-actions button{justify-content:center;width:100%}.structure-methods,.analysis-source-summary{grid-template-columns:1fr}.structure-method{min-height:0}.analysis-import-dialog{width:100%}.validation-summary{flex-direction:column;align-items:flex-start}.validation-group li{grid-template-columns:1fr}.workbook-header-actions{flex-direction:column;align-items:stretch}.workbook-header-actions>*{justify-content:center}.workbook-summary{grid-template-columns:1fr}.workbook-list-toolbar{flex-direction:column;align-items:stretch}.workbook-filter-buttons{grid-template-columns:1fr 1fr;display:grid}.workbook-validation-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.workbook-difference,.workbook-link-row{grid-template-columns:1fr}.workbook-link-reference,.workbook-link-status,.workbook-link-row>button{grid-area:auto/1}.workbook-link-row>button{width:100%}.structure-section>header{flex-direction:column;align-items:stretch}.structure-actions{justify-content:flex-end}.course-content-row{grid-template-columns:28px minmax(0,1fr)}.book-reference{border-left:0;border-top:1px solid var(--border);grid-column:2/-1;padding:7px 0 0}.content-row-actions{grid-column:1/-1;justify-content:flex-end}.floating-review-button{justify-content:center;left:12px}.floating-top-button{left:auto}}:root{--bg:#f1f3ff;--surface:#ffffffb8;--surface-solid:#fff;--surface-soft:#f4f4ffe6;--text:#101847;--muted:#66709a;--border:#575bc22e;--border-strong:#7059ee57;--primary:#6f45f5;--primary-strong:#9b32ee;--primary-soft:#7045f51a;--accent-cyan:#29c9f6;--warning-soft:#ffa0491f;--note-highlight:#ffe08a;--note-highlight-text:#1f2437;--shadow:0 22px 60px #3937921f;--shadow-soft:0 10px 30px #4037a014;--sidebar-glow:radial-gradient(circle at 50% 15%, #b157ff2e, transparent 28%), radial-gradient(circle at 30% 65%, #41c8ff1f, transparent 26%)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050719;--surface:#100e30bd;--surface-solid:#0e102d;--surface-soft:#1d1844d1;--text:#f8f6ff;--muted:#b7b5d7;--border:#ae96ff38;--border-strong:#b175ff80;--primary:#a96bff;--primary-strong:#e348ed;--primary-soft:#a45dff29;--accent-cyan:#36d7ff;--warning-soft:#ffad5326;--note-highlight:#d4a017;--note-highlight-text:#0a0718;--shadow:0 24px 74px #00000061;--shadow-soft:0 12px 34px #00000042;--sidebar-glow:radial-gradient(circle at 50% 10%, #a037ff3d, transparent 32%), radial-gradient(circle at 35% 70%, #25d1ff1f, transparent 25%)}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050719;--surface:#100e30bd;--surface-solid:#0e102d;--surface-soft:#1d1844d1;--text:#f8f6ff;--muted:#b7b5d7;--border:#ae96ff38;--border-strong:#b175ff80;--primary:#a96bff;--primary-strong:#e348ed;--primary-soft:#a45dff29;--accent-cyan:#36d7ff;--warning-soft:#ffad5326;--note-highlight:#d4a017;--note-highlight-text:#0a0718;--shadow:0 24px 74px #00000061;--shadow-soft:0 12px 34px #00000042;--sidebar-glow:radial-gradient(circle at 50% 10%, #a037ff3d, transparent 32%), radial-gradient(circle at 35% 70%, #25d1ff1f, transparent 25%)}}body{background:radial-gradient(circle at 82% 7%, #795fff21, transparent 27%), radial-gradient(circle at 4% 93%, #2ed2f71a, transparent 28%), var(--bg);background-attachment:fixed}body:before{z-index:-1;pointer-events:none;content:"";background-image:linear-gradient(#6762c906 1px,#0000 1px),linear-gradient(90deg,#6762c906 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.app-shell{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid), transparent 18%);border-radius:26px;grid-template-columns:244px minmax(0,1fr);max-width:1840px;min-height:calc(100vh - 32px);margin:16px auto;overflow:clip;box-shadow:0 28px 90px #2b238224}:root[data-theme=dark] .app-shell{box-shadow:0 28px 100px #0000007a,0 0 80px #7730ff14}@media (prefers-color-scheme:dark){:root[data-theme=system] .app-shell{box-shadow:0 28px 100px #0000007a,0 0 80px #7730ff14}}.sidebar{background:var(--sidebar-glow), linear-gradient(180deg, color-mix(in srgb, var(--surface), transparent 2%), color-mix(in srgb, var(--surface-soft), transparent 12%));height:calc(100vh - 32px);box-shadow:inset -1px 0 var(--border);padding:38px 24px 20px;position:sticky}.brand{justify-content:center;min-height:92px;padding:0 8px 44px}.brand>span:last-child{display:none}.brand-mark{width:94px;height:56px;display:block;position:relative}.brand-mark i{background:color-mix(in srgb, var(--surface-solid), transparent 78%);width:57px;height:57px;box-shadow:0 0 22px currentColor, inset 0 0 18px color-mix(in srgb, currentColor, transparent 76%);border:3px solid;border-radius:50%;place-items:center;font-size:0;font-style:normal;display:grid;position:absolute}.brand-mark i:before{content:attr(data-letter);font-size:32px;font-weight:850;line-height:1}.brand-mark i:first-child{color:#c85cff;left:4px}.brand-mark i:first-child:after{content:"C";font-size:29px;font-weight:850}.brand-mark i:last-child{color:#35cfff;top:15px;right:3px}.brand-mark i:last-child:after{content:"P";font-size:29px;font-weight:850}.main-nav{gap:15px}.nav-button{border-radius:14px;min-height:58px;padding:0 18px;font-size:15px;font-weight:620}.nav-button:hover{border-color:color-mix(in srgb, var(--primary), transparent 75%);background:color-mix(in srgb, var(--primary-soft), transparent 20%);transform:translate(2px)}.nav-button.is-active{border-color:color-mix(in srgb, var(--primary), transparent 50%);color:var(--primary);background:linear-gradient(110deg, color-mix(in srgb, var(--primary-soft), transparent 0%), color-mix(in srgb, var(--surface-solid), transparent 55%));box-shadow:0 10px 26px #6f45f51f,inset 0 0 20px #7554ff0d}.nav-button svg{color:currentColor;filter:drop-shadow(0 0 7px color-mix(in srgb, currentColor, transparent 45%))}.sidebar-art{height:265px}.sidebar-art img{filter:drop-shadow(0 0 18px #795eff42);max-height:255px}.profile-area{margin-top:12px;padding-top:18px}.profile-button{padding:10px 6px}.avatar{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 35%), 0 0 22px color-mix(in srgb, var(--primary), transparent 58%);background:linear-gradient(140deg,#ef4ee9,#42caf7);border:2px solid #ffffffd9}.profile-copy strong{font-size:13px}.profile-copy small{font-size:15px}.workspace{padding:46px 42px 58px}.page-header{align-items:center;max-width:1500px}.section-label{color:var(--primary);letter-spacing:.04em;text-transform:uppercase}.page-header h1{letter-spacing:-.05em;text-shadow:0 0 28px color-mix(in srgb, var(--primary), transparent 84%);font-size:clamp(34px,3.5vw,54px);font-weight:720}.header-actions{gap:16px}.calendar-title-row{align-items:center;gap:20px;display:flex}.calendar-title-row h1{flex:none}.primary-button{background:linear-gradient(110deg,#34c7ef,#6b65f7 55%,#d439e7);border:1px solid #ffffff40;border-radius:12px;min-height:48px;padding:0 22px;transition:transform .18s,filter .18s,box-shadow .18s;box-shadow:0 10px 26px #644ded42,0 0 22px #36c7ef21}.primary-button:hover:not(:disabled){box-shadow:0 14px 34px #6549ef52,0 0 30px #d038e729}.secondary-button,.icon-button{border-color:var(--border);background:color-mix(in srgb, var(--surface-solid), transparent 12%);box-shadow:var(--shadow-soft);border-radius:12px}.week-nav{background:color-mix(in srgb, var(--surface), transparent 2%);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:12px}.week-nav button{height:48px}.week-stats{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;flex-wrap:nowrap;flex:none;gap:8px;margin:0;display:flex;overflow:visible}.week-stats span{border:1px solid var(--border);background:color-mix(in srgb, var(--surface), transparent 4%);min-height:40px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);white-space:nowrap;border-radius:10px;padding:0 13px;font-size:15px}.week-stats svg{color:var(--primary);filter:drop-shadow(0 0 7px color-mix(in srgb, var(--primary), transparent 45%))}.calendar-scroll-shell{max-width:1500px;margin-top:24px}.calendar-scroll{background:color-mix(in srgb, var(--surface), transparent 8%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:22px}.calendar-grid{background:0 0;min-height:calc(100vh - 255px)}.day-column{background:color-mix(in srgb, var(--surface-solid), transparent 88%);padding:0 12px 18px}.day-column.is-today{background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft), transparent 10%), transparent 70%);box-shadow:inset 0 4px var(--primary)}.day-heading{min-height:70px}.day-heading strong{font-size:16px;font-weight:650}.day-heading span{color:var(--primary);background:var(--primary-soft);box-shadow:0 0 14px color-mix(in srgb, var(--primary), transparent 76%)}.day-lessons{gap:14px;padding-top:16px}.lesson-card{border-color:color-mix(in srgb, var(--lesson), transparent 56%);background:linear-gradient(130deg, color-mix(in srgb, var(--lesson), transparent 88%), color-mix(in srgb, var(--surface-solid), transparent 12%));box-shadow:0 10px 24px color-mix(in srgb, var(--lesson), transparent 88%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;padding:17px 15px 15px 19px;position:relative;overflow:hidden}.lesson-card:before{background:linear-gradient(180deg, var(--lesson), color-mix(in srgb, var(--lesson), #d83bf1 45%));width:5px;box-shadow:0 0 16px var(--lesson);content:"";position:absolute;inset:0 auto 0 0}.lesson-card:after{background:radial-gradient(circle, color-mix(in srgb, var(--lesson), transparent 63%), transparent 67%);pointer-events:none;content:"";border-radius:50%;width:110px;height:110px;position:absolute;top:-45px;right:-45px}.lesson-card:hover{box-shadow:0 16px 34px color-mix(in srgb, var(--lesson), transparent 78%);transform:translateY(-3px)scale(1.01)}.lesson-card.color-starters{--lesson:#ff6682;--lesson-bg:#ff668221}.lesson-card.color-movers{--lesson:#ff9a55;--lesson-bg:#ff9a5521}.lesson-card.color-flyers{--lesson:#e5bb2c;--lesson-bg:#e5bb2c21}.lesson-card.color-a1{--lesson:#20c99a;--lesson-bg:#20c99a21}.lesson-card.color-a2{--lesson:#21bdd6;--lesson-bg:#21bdd621}.lesson-card.color-b1{--lesson:#3d9bff;--lesson-bg:#3d9bff21}.lesson-card.color-b2{--lesson:#805dff;--lesson-bg:#805dff21}.lesson-card.color-c1{--lesson:#cf5ae7;--lesson-bg:#cf5ae721}.lesson-card>strong{margin:11px 0 6px;font-size:15px}.lesson-card>p{min-height:34px;font-size:15px}.lesson-meta{font-size:15px}.lesson-status,.lesson-homework-status{background:color-mix(in srgb, var(--surface-solid), transparent 55%);border:1px solid;border-radius:8px}.empty-day{min-height:420px}.empty-calendar{background:color-mix(in srgb, var(--surface-solid), transparent 50%);border-radius:14px}.groups-grid,.courses-grid,.group-page-content,.course-page-content{max-width:1500px}.group-card,.course-list-item,.overview-panel,.overview-stat,.next-lesson-card,.members-section,.group-schedule-section,.group-history-section,.course-structure-page,.plan-template-card,.workbook-stage-card{border-color:var(--border);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-solid), transparent 8%), color-mix(in srgb, var(--surface), transparent 10%));box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.group-card,.course-list-item{border-radius:18px}.group-card:hover,.course-list-item:hover{box-shadow:0 18px 44px color-mix(in srgb, var(--primary), transparent 86%)}.group-card:before,.course-list-item:before{border-radius:inherit}.group-level-badge,.course-list-level,.course-status-pill,.workbook-stage-status{border:1px solid color-mix(in srgb, currentColor, transparent 70%);box-shadow:0 0 14px color-mix(in srgb, currentColor, transparent 88%)}.overview-facts>div,.progress-course-point,.member-row,.schedule-list article,.history-list article,.workbook-link-row,.course-content-row{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-soft), transparent 5%);border-radius:12px}.overview-stat,.next-lesson-card{border-radius:16px}.overview-stat strong{text-shadow:0 0 18px color-mix(in srgb, var(--primary), transparent 72%)}.course-page-icon,.course-list-icon{border:1px solid var(--border);box-shadow:0 12px 30px color-mix(in srgb, var(--primary), transparent 86%)}.course-status-bar,.structure-review-banner,.structure-approved-banner,.workbook-info-note,.inline-note,.manual-mode-note{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.plan-lesson-card{border-radius:14px;box-shadow:0 8px 22px #38319112}.plan-lesson-card[open]{box-shadow:0 14px 35px color-mix(in srgb, var(--primary), transparent 88%)}.group-tabs,.course-tabs{background:color-mix(in srgb, var(--surface-soft), transparent 8%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;padding:6px}.group-tabs button,.course-tabs button{border-radius:10px;min-height:40px}.group-tabs button.is-active,.course-tabs button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:var(--shadow-soft)}.modal-backdrop{-webkit-backdrop-filter:blur(12px)saturate(120%);backdrop-filter:blur(12px)saturate(120%);background:#050518ad}.group-dialog{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface-solid), transparent 3%);box-shadow:0 34px 110px #00000061, 0 0 45px color-mix(in srgb, var(--primary), transparent 88%);border-radius:24px}.dialog-header{background:color-mix(in srgb, var(--surface-solid), transparent 3%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:26px 30px 20px}.dialog-close{border-radius:12px}.field input,.field select,.field textarea,.workspace-field textarea,.member-dialog textarea,.import-source-panel textarea,.lesson-item-note textarea,.manual-activity-row input,.manual-activity-row textarea,.assigned-manual-heading input,.manual-assignment-activity-fields input,.structure-dialog textarea{color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);border-radius:11px;box-shadow:inset 0 1px #ffffff14}.field input:focus,.field select:focus,.field textarea:focus,.workspace-field textarea:focus,.member-dialog textarea:focus,.import-source-panel textarea:focus,.lesson-item-note textarea:focus,.manual-activity-row input:focus,.manual-activity-row textarea:focus,.assigned-manual-heading input:focus,.manual-assignment-activity-fields input:focus,.structure-dialog textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 84%), 0 0 18px color-mix(in srgb, var(--primary), transparent 88%)}.segmented-control{border-radius:14px}.segmented-control input:checked+span{box-shadow:var(--shadow-soft)}.lesson-work-section,.lesson-side-card,.lesson-actions-section{border-color:var(--border);background:linear-gradient(145deg, color-mix(in srgb, var(--surface-solid), transparent 5%), color-mix(in srgb, var(--surface-soft), transparent 10%));box-shadow:var(--shadow-soft);border-radius:16px}.lesson-section-number{background:linear-gradient(135deg, var(--accent-cyan), var(--primary), var(--primary-strong));box-shadow:0 6px 18px color-mix(in srgb, var(--primary), transparent 60%)}.toast{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface-solid), transparent 4%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px}.loading-view span{box-shadow:0 0 18px color-mix(in srgb, var(--primary), transparent 62%)}.placeholder-view,.groups-empty,.workspace-empty{background:color-mix(in srgb, var(--surface), transparent 4%);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lesson-card{border:1px solid color-mix(in srgb, var(--lesson), transparent 72%);background:var(--surface-solid);min-height:158px;box-shadow:0 14px 32px color-mix(in srgb, var(--lesson), transparent 88%), inset 0 1px #fff9;border-radius:16px;padding:18px 15px 15px 20px}.lesson-card:before{background:linear-gradient(180deg, color-mix(in srgb, var(--lesson), white 18%), var(--lesson));width:6px;box-shadow:0 0 16px color-mix(in srgb, var(--lesson), transparent 34%)}.lesson-card:after{opacity:.32;width:128px;height:128px;top:-60px;right:-48px}.lesson-meta{z-index:1;color:var(--muted);letter-spacing:.01em;align-items:flex-start;font-size:15px;font-weight:580;position:relative}.lesson-meta>span:first-child{padding-top:2px}.lesson-level{color:var(--lesson)}.lesson-level svg{stroke-width:1.7px;width:21px;height:21px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--lesson), transparent 50%))}.lesson-card>strong{z-index:1;color:var(--text);letter-spacing:-.025em;margin:18px 0 7px;font-size:clamp(15px,1.05vw,19px);font-weight:800;line-height:1.14;position:relative}.lesson-card>p{z-index:1;min-height:30px;color:var(--muted);margin:0;font-size:15px;line-height:1.38;position:relative}.lesson-card-status-row{z-index:1;align-items:stretch;gap:6px;margin-top:13px;position:relative}.lesson-status,.lesson-homework-status{--status-color:var(--lesson);min-height:32px;color:var(--status-color);background:color-mix(in srgb, var(--surface-solid), transparent 2%);box-shadow:0 5px 13px color-mix(in srgb, var(--status-color), transparent 90%);border-width:1px;border-radius:12px;padding:3px 9px 3px 4px;font-size:13px;font-weight:750}.lesson-status svg,.lesson-homework-status svg{color:#fff;background:var(--status-color);stroke:#fff;stroke-width:2.2px;width:24px;height:24px;box-shadow:0 3px 8px color-mix(in srgb, var(--status-color), transparent 66%);border-radius:50%;padding:5px}.lesson-status.is-held{--status-color:#22a860;background:#22a8600b;border-color:#22a8606b}.lesson-status.is-cancelled{--status-color:#df4967;background:#df49670b;border-color:#df496766}.lesson-status.is-rescheduled,.lesson-homework-status.is-missing{--status-color:#c47a12;background:#c47a120b;border-color:#c47a1266}.lesson-status.is-missed{--status-color:#727992;background:#7279920d;border-color:#72799266}.lesson-status.is-attention{--status-color:#d45b31;background:#d45b310b;border-color:#d45b3166}.lesson-homework-status.is-assigned{--status-color:#5147e8;background:#5147e80b;border-color:#5147e866}:root[data-theme=dark] .lesson-card{background:linear-gradient(180deg, color-mix(in srgb, var(--lesson), #171632 91%), #171632 58%, #171632 100%);box-shadow:0 16px 38px #00000047, 0 0 24px color-mix(in srgb, var(--lesson), transparent 90%)}@media (prefers-color-scheme:dark){:root[data-theme=system] .lesson-card{background:linear-gradient(180deg, color-mix(in srgb, var(--lesson), #171632 91%), #171632 58%, #171632 100%);box-shadow:0 16px 38px #00000047, 0 0 24px color-mix(in srgb, var(--lesson), transparent 90%)}}:root[data-theme=light] .lesson-card{background:#fff;box-shadow:0 10px 26px #2d315b14}:root[data-theme=light] .lesson-card:hover{box-shadow:0 14px 30px #2d315b1f}:root[data-theme=light] .lesson-card:before{background:var(--lesson);box-shadow:none}:root[data-theme=light] .lesson-card:after{display:none}:root[data-theme=light] .lesson-level svg{filter:none}@media (prefers-color-scheme:light){:root[data-theme=system] .lesson-card{background:#fff;box-shadow:0 10px 26px #2d315b14}:root[data-theme=system] .lesson-card:hover{box-shadow:0 14px 30px #2d315b1f}:root[data-theme=system] .lesson-card:before{background:var(--lesson);box-shadow:none}:root[data-theme=system] .lesson-card:after{display:none}:root[data-theme=system] .lesson-level svg{filter:none}}.course-type-summary,.manual-warning-banner{border:1px solid var(--border-color,#dfe3ee);background:var(--surface-soft,#f7f8fc);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.course-type-summary{flex-direction:column;align-items:flex-start}.course-type-summary span{color:var(--muted-text,#6f7483);font-size:13px}.course-type-control{max-width:620px}.group-course-change-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 14px;display:flex}.group-course-change-row .inline-note{margin:0}.group-course-change-row .secondary-button{white-space:nowrap;flex:none}.manual-course-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.manual-course-header-actions .secondary-button{white-space:nowrap;min-width:max-content}.manual-course-workspace{grid-template-columns:minmax(250px,310px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.manual-lessons-sidebar,.manual-editor-pane{border:1px solid var(--border-color,#e1e4ee);background:var(--surface,#fff);border-radius:22px;box-shadow:0 14px 40px #392d6812}.manual-lessons-sidebar{max-height:calc(100dvh - 40px);padding:14px;position:sticky;top:18px;overflow:auto}.manual-sidebar-heading,.manual-editor-header,.manual-editor-footer,.assigned-manual-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.manual-sidebar-heading{padding:4px 4px 14px}.manual-sidebar-heading h2{margin:0;font-size:19px}.manual-sidebar-heading span{color:var(--muted-text,#777b89);font-size:12px}.icon-only-button{width:44px;min-width:44px;padding-inline:0}.manual-lessons-list{gap:6px;display:grid}.manual-unit-heading{color:var(--muted-text,#777b89);letter-spacing:.07em;text-transform:uppercase;padding:12px 9px 4px;font-size:11px;font-weight:800}.manual-lesson-list-item{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px;display:grid}.manual-lesson-list-item:hover{background:var(--surface-soft,#f7f7fb)}.manual-lesson-list-item.is-active{background:#9d66ff1a;border-color:#a77aff}.manual-lesson-list-item>span:first-child{background:#655be01f;border-radius:9px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.manual-lesson-list-item>span:nth-child(2){gap:3px;min-width:0;display:grid}.manual-lesson-list-item strong,.manual-lesson-list-item small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.manual-lesson-list-item small{color:var(--muted-text,#777b89);font-size:11px}.manual-lesson-list-item i{color:var(--muted-text,#777b89);cursor:grab;font-style:normal}.manual-lesson-list-item.is-dragging,.manual-activity-row.is-dragging{opacity:.45}.manual-list-empty{color:var(--muted-text,#777b89);text-align:center;padding:30px 12px}.manual-archive-toggle{width:100%;margin-top:12px}.manual-archive-list{gap:4px;padding-top:6px;display:grid}.manual-archive-list button{color:var(--muted-text,#777b89);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;gap:8px;padding:9px 10px;display:flex}.manual-editor-pane{min-height:520px}.manual-lesson-editor{display:grid}.manual-editor-header{border-bottom:1px solid var(--border-color,#e5e7ef);padding:22px 24px}.manual-editor-header h2{margin:2px 0 4px}.manual-editor-header p{color:var(--muted-text,#777b89);margin:0;font-size:12px}.manual-editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.planning-status-badge{border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.planning-status-badge.is-draft{color:#8a6200;background:#fff1b8}.planning-status-badge.is-planned{color:#13734d;background:#d9f7e8}.manual-editor-section{border-bottom:1px solid var(--border-color,#e5e7ef);gap:16px;padding:22px 24px;display:grid}.manual-editor-section .section-action-header{margin:0}.manual-activities{gap:10px;display:grid}.manual-activity-row{border:1px solid var(--border-color,#e3e5ed);background:var(--surface-soft,#fafafe);border-radius:14px;grid-template-columns:22px minmax(80px,.75fr) minmax(90px,.8fr) minmax(180px,2fr) 42px 38px;align-items:end;gap:9px;padding:12px;display:grid}.manual-activity-row label{gap:5px;min-width:0;display:grid}.manual-activity-row label>span,.assigned-manual-heading label>span{color:var(--muted-text,#777b89);font-size:11px;font-weight:700}.manual-activity-row input,.manual-activity-row textarea,.assigned-manual-heading input,.manual-assignment-activity-fields input{border:1px solid var(--border);width:100%;min-width:0;min-height:38px;color:var(--text);background:color-mix(in srgb, var(--surface-soft), var(--surface-solid) 55%);font:inherit;border-radius:11px;padding:8px 11px;font-size:13px;font-weight:500}.manual-activity-row textarea{resize:vertical;min-height:64px;line-height:1.45}.manual-drag-handle{color:var(--muted-text,#777b89);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-self:center}.manual-drag-handle:active{cursor:grabbing}.manual-activity-note summary{color:#7048d7;cursor:pointer;background:#7048d71a;border-radius:10px;place-items:center;width:38px;height:38px;list-style:none;display:grid}.manual-activity-note summary::-webkit-details-marker{display:none}.manual-activity-note label{z-index:5;border:1px solid var(--border-color,#dddfea);background:var(--surface,#fff);border-radius:12px;width:min(300px,70vw);margin:6px 0 0 -240px;padding:12px;position:absolute;box-shadow:0 14px 35px #1c18322e}.manual-editor-footer{padding:18px 24px}.manual-editor-footer-copy{gap:12px;display:grid}.manual-editor-footer-copy>span{color:var(--muted-text,#777b89);font-size:12px}.manual-editor-status-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manual-editor-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:520px;padding:30px;display:grid}.manual-editor-empty>svg{color:#8159e7;width:46px;height:46px}.manual-editor-empty h2,.manual-editor-empty p{margin:0}.manual-editor-empty p{max-width:520px;color:var(--muted-text,#777b89)}.manual-warning-banner{color:#694c00;background:#fff7dc;border-color:#f1ce70;margin:16px 24px 0}.manual-warning-banner svg{flex:none;width:20px;height:20px}.assigned-manual-lesson{border:1px solid var(--border-color,#e2e4ed);background:var(--surface-soft,#fafafe);border-radius:16px;gap:14px;padding:14px;display:grid}.assigned-manual-lesson .manual-warning-banner{margin:0}.assigned-manual-heading label{flex:1;gap:5px;display:grid}.assigned-manual-heading>span{background:#655be01f;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.assigned-manual-activities{gap:8px;display:grid}.assigned-manual-activities article{background:var(--surface,#fff);border-radius:12px;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr);align-items:center;gap:12px;padding:12px;display:grid}.assigned-manual-activities article>div:first-child{gap:3px;display:grid}.assigned-manual-activities article span,.assigned-manual-activities article small{color:var(--muted-text,#777b89);font-size:11px}.assigned-manual-activities article p{margin:5px 0 0;font-size:12px}.manual-assignment-activity-fields{grid-template-columns:.7fr .7fr 1.4fr;gap:6px;display:grid}.manual-assignment-activity-fields input:last-child{grid-column:1/-1}.assigned-manual-links{background:var(--surface,#fff);border-radius:12px;padding:12px}.assigned-manual-links p{white-space:normal;margin:6px 0 0}@media (width<=960px){.manual-course-header .course-page-title-row{grid-template-columns:64px minmax(0,1fr)}.manual-course-header-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.manual-course-workspace{grid-template-columns:1fr}.manual-lessons-sidebar{max-height:none;position:static}.manual-lessons-list{padding-bottom:4px;display:flex;overflow-x:auto}.manual-unit-heading{display:none}.manual-lesson-list-item{min-width:210px}.manual-activity-row{grid-template-columns:22px 1fr 1fr 38px}.manual-activity-main{grid-column:2/4}}@media (width<=640px){.group-course-change-row{flex-direction:column;align-items:stretch}.manual-course-header-actions{grid-column:1/-1}.manual-course-header-actions .secondary-button{flex:1}.manual-editor-header,.manual-editor-footer,.assigned-manual-heading{flex-direction:column;align-items:stretch}.manual-editor-footer>.danger-button{width:100%}.manual-editor-section,.manual-editor-header{padding:16px}.manual-editor-actions{justify-content:flex-start}.manual-activity-row{grid-template-columns:20px minmax(0,1fr) 38px}.manual-activity-row>label{grid-column:2/3}.manual-activity-note{grid-area:1/3}.manual-activity-row .danger-icon-button{grid-column:3}.assigned-manual-activities article{grid-template-columns:1fr}.manual-assignment-activity-fields{grid-template-columns:1fr 1fr}.manual-assignment-activity-fields input:nth-child(n+3){grid-column:1/-1}}@media (width>=721px) and (width<=1400px){.lesson-meta{font-size:14px}.lesson-status,.lesson-homework-status{font-size:12px}.lesson-status svg,.lesson-homework-status svg{width:22px;height:22px}}@media (width<=1200px){.app-shell{grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 20px);margin:10px}.sidebar{height:calc(100vh - 20px);padding-inline:18px}.workspace{padding:36px 26px 48px}.calendar-grid{grid-template-columns:repeat(var(--calendar-days,5), minmax(170px, 1fr))}.calendar-title-row{flex-direction:column;align-items:flex-start;gap:12px}.lesson-card{min-height:148px;padding:16px 12px 13px 17px}.lesson-card>strong{margin-top:16px;font-size:15px}.lesson-card>p{min-height:27px;font-size:14px}.lesson-card-status-row{gap:5px;margin-top:11px}.lesson-status,.lesson-homework-status{min-height:30px;padding-right:7px;font-size:12px}.lesson-status svg,.lesson-homework-status svg{width:22px;height:22px}}@media (width<=980px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand .brand-mark{display:block;transform:scale(.72)}}@media (width<=720px){.app-shell{border:0;border-radius:0;min-height:100vh;margin:0;padding-bottom:76px;display:block}.sidebar{background:color-mix(in srgb, var(--surface-solid), transparent 3%);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:18px 18px 0 0;height:76px}.workspace{padding:25px 14px 32px}.page-header h1{font-size:34px}.calendar-title-row,.calendar-title-row .week-stats{width:100%}.calendar-title-row .week-stats span{flex:1;justify-content:center}.calendar-scroll{border-radius:18px}.calendar-grid{min-height:0}.day-column{padding-inline:14px}.empty-day{min-height:115px}.lesson-card{min-height:0;padding:17px 15px 15px 20px}.lesson-card>strong{font-size:18px}.lesson-card>p{min-height:0;font-size:15px}.lesson-focus-panel{grid-template-columns:1fr}.lesson-status,.lesson-homework-status{min-height:33px;padding-right:9px;font-size:13px}.lesson-status svg,.lesson-homework-status svg{width:24px;height:24px}.member-attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.member-attendance-history article{flex-direction:column;align-items:flex-start}.member-attendance-result{text-align:left;justify-items:start}.member-attendance-status-line{justify-content:flex-start}.member-attendance-toolbar{flex-direction:column;align-items:stretch}.attendance-sort-field{flex-direction:column;align-items:stretch!important}.attendance-date-filter{grid-template-columns:auto 1fr;display:grid}.attendance-date-filter>span{grid-column:1/-1}.attendance-date-filter label{grid-template-columns:18px 1fr;display:grid}.attendance-date-filter button{grid-column:1/-1;justify-self:start}.member-attendance-toolbar select{width:100%}.history-homework-status{flex-direction:column;align-items:flex-start}.history-homework-status select{max-width:100%}}.sidebar-collapse-button{z-index:4;border:1px solid var(--border-strong);width:32px;height:32px;color:var(--primary);background:var(--surface-solid);box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;display:grid;position:absolute;top:126px;right:-16px}.sidebar-collapse-button svg{width:15px;height:15px}.app-shell.is-sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.app-shell.is-sidebar-collapsed .sidebar{padding-inline:12px}.app-shell.is-sidebar-collapsed .brand{padding-inline:0}.app-shell.is-sidebar-collapsed .brand-mark{transform:scale(.7)}.app-shell.is-sidebar-collapsed .nav-button{justify-content:center;padding-inline:0}.app-shell.is-sidebar-collapsed .nav-button span,.app-shell.is-sidebar-collapsed .sidebar-art,.app-shell.is-sidebar-collapsed .profile-copy,.app-shell.is-sidebar-collapsed .profile-button>svg{display:none}.app-shell.is-sidebar-collapsed .profile-button{justify-content:center;display:flex}.app-shell.is-sidebar-collapsed .profile-menu{left:58px;right:auto}.header-actions{flex-wrap:wrap;justify-content:flex-end}.calendar-mode-button.is-active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.notification-center{border:1px solid var(--border);background:color-mix(in srgb, var(--surface), transparent 4%);max-width:1500px;box-shadow:var(--shadow-soft);border-radius:16px;margin:22px auto 0;overflow:hidden}.notification-center>header{padding:14px 16px}.notification-center>header>div{align-items:center;gap:10px;display:flex}.notification-center>header svg{color:#16865e}.notification-center.has-alerts>header svg{color:#c3790c}.notification-center>header>div>div{gap:3px;display:grid}.notification-center>header strong{font-size:15px}.notification-center>header span{color:var(--muted);font-size:13px}.notification-groups{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.notification-groups details{border-right:1px solid var(--border)}.notification-groups details:last-child{border-right:0}.notification-groups summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:800;display:flex}.notification-groups summary strong{color:#a96300;background:#c3790c1a;border-radius:8px;place-items:center;min-width:26px;height:26px;display:grid}.notification-groups details>div{gap:6px;padding:0 10px 10px;display:grid}.notification-groups article{border:1px solid var(--border);background:var(--surface-soft);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;gap:5px 9px;padding:10px;display:grid}.notification-groups article.is-read{opacity:.68}.notification-groups article>div{grid-row:1/span 2;gap:3px;display:grid}.notification-groups article strong{font-size:13px}.notification-groups article span{color:var(--muted);font-size:12px;line-height:1.4}.notification-groups article button{color:var(--primary);background:0 0;border:0;padding:3px 5px;font-size:11px;font-weight:750}.calendar-grid.is-hourly-grid{grid-template-columns:repeat(var(--calendar-days,5), minmax(215px,1fr));align-items:start;min-height:0}.day-column.is-hourly-day{padding:0 8px 14px}.calendar-hourly-timeline{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid), transparent 28%);border-radius:12px;height:792px;margin-top:8px;position:relative;overflow:hidden}.calendar-hour-rows{position:absolute;inset:0}.calendar-hour-row{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr);align-items:start;height:72px;display:grid}.calendar-hour-row:last-child{border-bottom:0}.calendar-hour-row time{color:var(--muted);padding:7px 6px 0;font-size:11px;font-weight:750}.calendar-hour-row>span,.calendar-hour-row>button{border:0;border-left:1px solid var(--border);color:#16865e;font:inherit;text-align:left;background:0 0;align-self:stretch;padding:8px 9px;font-size:11px;font-weight:750}.calendar-hour-row>button{cursor:pointer}.calendar-hour-row.is-free>button{background:linear-gradient(90deg,#16865e12,#16865e06)}.calendar-hour-row.is-partially-free>button{background:linear-gradient(90deg,#16865e0f,#16865e04)}.calendar-hour-row.is-free>button:hover,.calendar-hour-row.is-free>button:focus-visible,.calendar-hour-row.is-partially-free>button:hover,.calendar-hour-row.is-partially-free>button:focus-visible{color:#0b6b49;background:#16865e26;outline:none}.calendar-hour-row.is-busy>span{background:color-mix(in srgb, var(--surface-soft), transparent 35%)}.calendar-hour-row.is-blocked>span{background:linear-gradient(90deg,#c3790c1a,#c3790c09)}.calendar-timeline-blocks{pointer-events:none;position:absolute;inset:0}.calendar-timeline-block{z-index:1;color:#8a4d00;background:color-mix(in srgb, #c3790c, var(--surface-solid) 88%);pointer-events:auto;text-align:left;border:1px solid #c3790c52;border-left:4px solid #c3790c;border-radius:8px;align-items:center;min-height:0;padding:3px 8px;display:flex;position:absolute;left:54px;right:6px;overflow:hidden;box-shadow:0 4px 12px #8a4d001a}.calendar-timeline-block:hover,.calendar-timeline-block:focus-visible{z-index:3;background:color-mix(in srgb, #c3790c, var(--surface-solid) 80%);border-color:#c3790c9e;outline:none}.calendar-timeline-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.15;overflow:hidden}.calendar-timeline-events{pointer-events:none;position:absolute;inset:0}.calendar-timeline-lesson{--lesson:#6d72a8;z-index:2;border:1px solid color-mix(in srgb, var(--lesson), transparent 55%);border-left:4px solid var(--lesson);min-height:0;color:var(--text);background:color-mix(in srgb, var(--lesson), var(--surface-solid) 88%);box-shadow:0 5px 14px color-mix(in srgb, var(--lesson), transparent 84%);pointer-events:auto;text-align:left;border-radius:9px;align-content:center;gap:2px;padding:5px 8px 5px 12px;display:grid;position:absolute;left:54px;right:6px;overflow:hidden}.calendar-timeline-lesson:hover{z-index:3;box-shadow:0 8px 20px color-mix(in srgb, var(--lesson), transparent 75%);transform:translate(-2px)}.calendar-timeline-lesson>span{color:var(--lesson);font-size:10px;font-weight:850}.calendar-timeline-lesson>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.15;overflow:hidden}.calendar-timeline-lesson>small{display:none}.calendar-timeline-lesson.is-nonblocking{opacity:.62;border-style:dashed}.calendar-timeline-lesson.color-starters{--lesson:#ff6682}.calendar-timeline-lesson.color-movers{--lesson:#ff9a55}.calendar-timeline-lesson.color-flyers{--lesson:#e5bb2c}.calendar-timeline-lesson.color-a1{--lesson:#20c99a}.calendar-timeline-lesson.color-a2{--lesson:#21bdd6}.calendar-timeline-lesson.color-b1{--lesson:#3d9bff}.calendar-timeline-lesson.color-b2{--lesson:#805dff}.calendar-timeline-lesson.color-c1{--lesson:#cf5ae7}.calendar-outside-hours{gap:8px;margin-top:10px;display:grid}.calendar-outside-hours>span{color:var(--muted);font-size:11px;font-weight:750}.calendar-outside-hours .lesson-card{min-height:0}.one-off-dialog{width:min(100%,720px)}.complete-meeting-button{color:#117451;min-height:42px;font:inherit;cursor:pointer;background:#16865e17;border:1px solid #16865e52;border-radius:10px;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:850;display:inline-flex}.complete-meeting-button:hover{background:#16865e29}.complete-meeting-button svg{width:16px;height:16px}.one-off-completion-dialog{width:min(100%,680px)}.one-off-completion-actions{gap:12px;padding:24px 28px 12px;display:grid}.one-off-completion-actions>button{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:13px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;padding:16px;display:grid}.one-off-completion-actions>button:hover,.one-off-completion-actions>button:focus-visible{border-color:color-mix(in srgb, var(--primary), transparent 48%);background:var(--primary-soft);outline:none}.one-off-completion-actions>button:disabled{cursor:wait;opacity:.6}.one-off-completion-actions>button>span:last-child{gap:4px;display:grid}.one-off-completion-actions strong{font-size:15px}.one-off-completion-actions small{color:var(--muted);font-size:12px;line-height:1.45}.one-off-completion-dialog>.dialog-message{margin:0 28px 8px}.free-hour-dialog{width:min(100%,620px)}.free-hour-dialog .dialog-header p{color:var(--muted);margin:6px 0 0;font-size:14px;font-weight:700}.free-hour-dialog>.dialog-footer{border-top:1px solid var(--border);padding:18px 28px 24px}.free-hour-actions{gap:12px;padding:24px 28px;display:grid}.free-hour-actions>button{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-soft);cursor:pointer;text-align:left;border-radius:13px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;padding:16px;display:grid}.free-hour-actions>button:hover,.free-hour-actions>button:focus-visible{border-color:color-mix(in srgb, var(--primary), transparent 48%);background:var(--primary-soft);outline:none}.free-hour-actions>button:disabled{cursor:wait;opacity:.6}.free-hour-actions>button>span:last-child{gap:4px;display:grid}.free-hour-actions strong{font-size:15px}.free-hour-actions small{color:var(--muted);font-size:12px;line-height:1.45}.free-hour-action-icon{width:42px;height:42px;color:var(--primary);background:var(--surface-solid);border-radius:11px;place-items:center;display:grid}.free-hour-action-icon svg{width:18px;height:18px}.free-hour-actions .dialog-message{margin:0}.availability-time-hint{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.5}.availability-block-copy{padding:24px 28px}.availability-block-copy>p{color:var(--muted);margin:0;line-height:1.5}.availability-block-copy .dialog-message{margin-top:12px}.lesson-card.color-neutral{--lesson:#6d72a8}.attendance-row,.attendance-list-header{grid-template-columns:minmax(150px,.8fr) repeat(2,minmax(190px,1fr))}@media (width<=1200px){.app-shell.is-sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.group-page-title{grid-template-columns:minmax(200px,1fr) auto}.group-title-meta{text-align:left;grid-area:2/1/auto/-1;justify-items:start}.group-overview-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.overview-primary{grid-column:1/-1}.member-row{grid-template-columns:38px minmax(0,1fr) auto auto}.member-balance{grid-column:2}.member-action{grid-area:1/4/span 2}}@media (width<=980px){.sidebar-collapse-button{display:none}.group-overview-grid{grid-template-columns:1fr}.overview-primary,.overview-progress{grid-column:1}.attendance-list-header{display:none}.attendance-row{grid-template-columns:1fr}.student-field-label{display:block}.attendance-reason-popover{width:100%;margin-top:2px;position:static}}@media (width<=720px){.app-shell.is-sidebar-collapsed{display:block}.group-page-title{grid-template-columns:1fr}.group-title-stats{width:100%}.group-title-stats>span{flex:1;min-width:0}.group-title-meta{grid-area:auto/1}.group-tabs .group-settings-button{margin-left:0}.member-row{grid-template-columns:38px minmax(0,1fr)}.member-balance,.member-payment-button,.member-action{grid-area:auto/1/auto/-1}.member-payment-button,.member-action{justify-content:center}.payment-adjustment-form>div,.payment-history article,.notification-groups{grid-template-columns:1fr}.notification-groups details{border-right:0;border-bottom:1px solid var(--border)}}.structure-version-card.is-archived,.plan-template-card.is-historical{opacity:.78;border-style:dashed}.version-badge.is-archived{color:var(--muted);background:color-mix(in srgb, var(--surface) 82%, var(--muted))}.confirmation-check{color:var(--text);align-items:flex-start;gap:10px;margin-top:16px;line-height:1.45;display:flex}.confirmation-check input{margin-top:3px}.archive-impact-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.archive-impact-list>span,.current-assignment-summary{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:12px}.archive-impact-list strong,.current-assignment-summary strong{margin-top:3px;display:block}.overview-plan-actions{margin-top:18px}.overview-assignments{grid-column:1/-1}.assignment-history{gap:8px;display:grid}.assignment-history-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(190px,.7fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.assignment-history-row span,.assignment-history-row small{color:var(--muted)}@media (width<=720px){.archive-impact-list,.assignment-history-row{grid-template-columns:1fr}}.login-register{width:100%;margin-top:10px}.registration-card{width:min(100%,520px)}.registration-account-note{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:4px;margin:14px 0;padding:13px 14px;display:grid}.registration-account-note span{color:var(--muted);font-size:13px}.portal-loading{background:var(--bg);min-height:100dvh;padding:28px}.portal-loading>.login-brand{color:var(--text)}.portal-shell{background:var(--bg);min-height:100dvh}.portal-topbar{z-index:20;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface), transparent 8%);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px max(18px,50vw - 590px);display:flex;position:sticky;top:0;box-shadow:0 10px 28px #251f590f}.portal-topbar .login-brand{color:var(--text)}.portal-topbar-actions{align-items:center;gap:8px;display:flex}.portal-topbar-actions svg{width:17px;height:17px}.portal-topbar>.floating-theme-menu{top:62px;right:max(80px,50vw - 500px)}.portal-main{gap:18px;width:min(100% - 32px,1180px);margin:0 auto;padding:34px 0 64px;display:grid}.portal-welcome{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--surface), transparent 3%), color-mix(in srgb, var(--primary), transparent 92%));box-shadow:var(--shadow-soft);border-radius:22px;justify-content:space-between;align-items:center;gap:22px;padding:24px 26px;display:flex}.portal-welcome span,.portal-student-heading>span{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.portal-welcome h1{letter-spacing:-.045em;margin:5px 0 7px;font-size:clamp(28px,4vw,42px)}.portal-welcome p{color:var(--muted);margin:0}.portal-student-tabs{scrollbar-width:thin;gap:8px;padding:3px 1px 5px;display:flex;overflow-x:auto}.portal-student-tabs button{border:1px solid var(--border);min-height:44px;color:var(--muted);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;flex:none;padding:0 18px;font-weight:800}.portal-student-tabs button.is-active{border-color:color-mix(in srgb, var(--primary), transparent 30%);color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-strong));box-shadow:0 8px 22px color-mix(in srgb, var(--primary), transparent 76%)}.portal-action-card{border:1px solid color-mix(in srgb, var(--primary), transparent 70%);background:color-mix(in srgb, var(--primary), transparent 93%);border-radius:18px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 20px;display:grid}.portal-action-card.is-enabled{background:#1ca66f14;border-color:#1ca66f59}.portal-card-icon{color:#fff;background:linear-gradient(135deg, var(--accent-cyan), var(--primary));width:52px;height:52px;box-shadow:0 9px 22px color-mix(in srgb, var(--primary), transparent 72%);border-radius:16px;place-items:center;display:grid}.portal-card-icon svg{width:23px;height:23px}.portal-action-card strong{font-size:16px}.portal-action-card p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.45}.portal-card-actions{align-items:stretch;gap:6px;display:flex}.portal-card-actions button{margin:0}.portal-card-actions .text-button{justify-content:center;align-items:center;padding:0 12px;display:inline-flex}.portal-student-heading{padding:8px 4px 0}.portal-student-heading h2{margin:4px 0 0;font-size:26px}.portal-group-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:22px;overflow:hidden}.portal-group-card>header{border-bottom:1px solid var(--border);background:linear-gradient(120deg, color-mix(in srgb, var(--primary), transparent 92%), transparent);justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.portal-group-card>header span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800}.portal-group-card>header h2{margin:5px 0 3px;font-size:25px}.portal-group-card>header p{color:var(--muted);margin:0}.portal-next-lesson{text-align:right;justify-items:end;gap:5px;display:grid}.portal-next-lesson strong{font-size:17px}.portal-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.portal-info-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;min-width:0;padding:18px}.portal-info-card .panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.portal-info-card .panel-heading h3{margin:0;font-size:15px}.portal-info-card .panel-heading svg{width:19px;height:19px;color:var(--primary)}.portal-info-card>strong{line-height:1.55;display:block}.portal-homework-card{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-cyan), transparent 93%), var(--surface-soft))}.portal-homework-card>span{color:var(--muted);margin-top:8px;font-size:13px;display:block}.portal-stat-line{align-items:center;gap:18px;display:flex}.portal-stat-line>strong{color:var(--primary);font-size:36px}.portal-stat-line>span{color:var(--muted);font-size:13px;line-height:1.55}.portal-balance{align-items:baseline;gap:10px;display:flex}.portal-balance strong{color:#16865e;font-size:36px}.portal-balance.is-debt strong{color:#d6455d}.portal-balance span{color:var(--muted);font-size:13px}.portal-homework-stats{flex-wrap:wrap;gap:8px;display:flex}.portal-homework-stats>span{background:var(--surface);min-width:104px;color:var(--muted);border-radius:11px;gap:3px;padding:10px;font-size:12px;display:grid}.portal-homework-stats b{color:var(--text);font-size:20px}.portal-open-homework{gap:8px;margin-top:12px;display:grid}.portal-open-homework>div{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.portal-open-homework span,.portal-open-homework small{color:var(--muted);font-size:12px}.portal-success-copy{color:#16865e;margin:0;font-weight:800}.portal-links-card{grid-column:1/-1}.portal-links-card>div:last-child{color:var(--text);overflow-wrap:anywhere;line-height:1.7}.portal-links-card a{color:var(--primary);font-weight:750}.portal-install-dialog{width:min(100%,520px)}.portal-install-steps{gap:14px;padding:24px 28px 30px;display:grid}.portal-install-steps>div{grid-template-columns:38px 1fr;align-items:center;gap:12px;display:grid}.portal-install-steps>div>span{color:#fff;background:var(--primary);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.portal-install-steps p{margin:0;line-height:1.5}.portal-install-steps small{color:var(--muted);line-height:1.5}.portal-code-dialog{width:min(100%,540px)}.portal-invitations-dialog{width:min(100%,820px)}.portal-invitations-content{padding:24px 28px 28px}.portal-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.portal-role-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:15px;align-content:start;gap:16px;padding:18px;display:grid}.portal-role-card.is-highlighted{border-color:color-mix(in srgb, var(--primary), transparent 35%);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary), transparent 90%)}.portal-role-card>div:first-child{gap:5px;display:grid}.portal-role-card>div:first-child span{color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:850}.portal-secret{background:color-mix(in srgb, var(--primary), transparent 92%);border-radius:12px;gap:10px;padding:13px;display:grid}.portal-secret label{gap:5px;display:grid}.portal-secret label span,.portal-secret p{color:var(--muted);font-size:12px}.portal-secret input{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);background:var(--surface);font:inherit;letter-spacing:.08em;border-radius:9px;padding:10px;font-weight:700}.portal-secret p{margin:0;line-height:1.45}.portal-secret-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.portal-role-actions{align-items:center;gap:8px;margin-top:auto;display:flex}.member-portal-actions{grid-template-columns:minmax(0,1fr);gap:5px;display:grid}.member-portal-actions button{border:1px solid var(--border);min-height:34px;color:var(--primary);background:var(--surface-solid);font:inherit;cursor:pointer;border-radius:8px;padding:0 8px;font-size:11px;font-weight:800}.overview-portal-links{grid-column:1/-1}.overview-portal-links .panel-heading small{color:var(--muted)}.overview-portal-link-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;display:flex}.danger-text{color:#d6455d}@media (width<=900px){.portal-group-grid{grid-template-columns:1fr}.portal-links-card{grid-column:auto}.member-row{grid-template-columns:38px minmax(0,1fr) auto auto}.member-balance{grid-column:2}.member-portal-actions{grid-column:1/-1}.member-payment-button{grid-area:1/3/span 2}.member-action{grid-area:1/4/span 2}}@media (width<=620px){.registration-card .two-columns{grid-template-columns:1fr}.portal-topbar{min-height:64px;padding:10px 14px}.portal-topbar .login-brand span{display:none}.portal-topbar-actions .secondary-button{width:44px;min-width:44px;padding:0;font-size:0}.portal-topbar-actions .secondary-button svg{width:19px;height:19px}.portal-main{width:min(100% - 20px,1180px);padding:18px 0 calc(32px + env(safe-area-inset-bottom));gap:12px}.portal-welcome{border-radius:18px;flex-direction:column;align-items:flex-start;padding:20px}.portal-welcome .secondary-button{width:100%;min-height:44px}.portal-action-card{border-radius:15px;grid-template-columns:44px 1fr;padding:14px}.portal-card-icon{border-radius:13px;width:44px;height:44px}.portal-action-card>button,.portal-card-actions{grid-column:1/-1;width:100%}.portal-card-actions{grid-template-columns:1fr auto;display:grid}.portal-card-actions button{min-height:44px}.portal-group-card{border-radius:18px}.portal-group-card>header{flex-direction:column;align-items:flex-start;padding:18px}.portal-next-lesson{text-align:left;justify-items:start}.portal-group-grid{gap:10px;padding:10px}.portal-info-card{border-radius:14px;padding:15px}.portal-open-homework>div{grid-template-columns:1fr;gap:4px}.portal-role-grid{grid-template-columns:1fr}.portal-invitations-content,.portal-install-steps{padding:18px 14px calc(22px + env(safe-area-inset-bottom))}.member-row{grid-template-columns:38px minmax(0,1fr)}.member-balance,.member-portal-actions,.member-payment-button,.member-action{grid-area:auto/1/auto/-1}.member-portal-actions button,.member-payment-button,.member-action{justify-content:center;min-height:44px}.overview-portal-link-actions{grid-template-columns:1fr;display:grid}.overview-portal-link-actions button{min-height:44px}}.groups-header-actions,.courses-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.lifecycle-filter{border:1px solid var(--border);background:var(--surface-soft);border-radius:11px;gap:4px;padding:4px;display:flex}.lifecycle-filter button{min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:800}.lifecycle-filter button.is-active{color:var(--primary);background:var(--surface-solid);box-shadow:var(--shadow-soft)}.lifecycle-dialog-footer{justify-content:space-between}.lifecycle-dialog-footer>div{align-items:center;gap:8px;display:flex}.danger-button{color:#c83f57;min-height:42px;font:inherit;cursor:pointer;background:#d6455d14;border:1px solid #d6455d59;border-radius:10px;padding:0 15px;font-size:13px;font-weight:850}.danger-button:hover:not(:disabled){background:#d6455d24}.danger-button:disabled{cursor:not-allowed;opacity:.5}.destructive-dialog{width:min(100%,620px)}.destructive-dialog .form-section>p{color:var(--muted);margin:0 0 18px;line-height:1.55}.overview-homework-stack{align-content:start;gap:18px;display:grid}.overview-held-lesson-note{border:1px solid color-mix(in srgb, var(--primary), transparent 72%);background:color-mix(in srgb, var(--primary-soft), transparent 35%);border-radius:10px;margin-top:12px;overflow:hidden}.overview-held-lesson-note>summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.overview-held-lesson-note>summary::-webkit-details-marker{display:none}.overview-held-lesson-note-label{color:var(--primary);align-items:center;gap:8px;font-size:14px;font-weight:800;line-height:1.4;display:inline-flex}.overview-held-lesson-note-label svg{flex:none;width:15px;height:15px}.overview-held-lesson-note-chevron{width:24px;height:24px;color:var(--muted);place-items:center;transition:transform .18s;display:grid;transform:rotate(90deg)}.overview-held-lesson-note-chevron svg{width:15px;height:15px}.overview-held-lesson-note[open] .overview-held-lesson-note-chevron{transform:rotate(-90deg)}.overview-held-lesson-note-body{color:var(--text);white-space:pre-wrap;padding:0 14px 14px;font-size:14px;line-height:1.55}.overview-teacher-notes{min-width:0}.overview-teacher-notes .panel-heading small{color:var(--muted)}.rich-note-toolbar{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px 10px 0 0;flex-wrap:wrap;gap:5px;margin-top:16px;padding:6px;display:flex}.rich-note-toolbar button{min-height:32px;color:var(--text);background:var(--surface-solid);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:7px;padding:0 9px;font-size:12px;font-weight:750}.rich-note-toolbar button:hover{border-color:var(--border-strong);color:var(--primary)}.rich-note-toolbar mark{background:var(--note-highlight);color:var(--note-highlight-text);border-radius:3px;padding:2px 4px}.rich-note-editor{border:1px solid var(--border);background:var(--surface-soft);border-top:0;border-radius:0 0 10px 10px;outline:none;min-height:210px;max-height:420px;padding:14px;line-height:1.55;overflow-y:auto}.rich-note-editor:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.rich-note-editor:empty:before{color:var(--muted);content:attr(data-placeholder);pointer-events:none}.rich-note-editor p{margin:0 0 9px}.rich-note-editor a{color:var(--primary);text-decoration:underline}.rich-note-editor mark,.rich-note-editor [style*=background-color]{color:var(--note-highlight-text);border-radius:3px;padding:0 2px;background:var(--note-highlight)!important}.overview-next-action{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;gap:6px;margin:0;padding:0;display:grid}.overview-next-action:hover strong{color:var(--primary)}.rich-note-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.rich-note-actions .primary-button{min-height:40px;padding:0 14px}.rich-note-actions .form-message{text-align:left;margin:0}.member-row{grid-template-columns:38px minmax(0,1fr) minmax(120px,auto) minmax(145px,auto) minmax(178px,auto) auto auto}.member-homework-button{min-height:42px;font:inherit;text-align:left;cursor:pointer;border:1px solid;border-radius:9px;gap:3px;padding:7px 10px;display:grid}.member-homework-button span{text-transform:uppercase;font-size:11px;font-weight:800}.member-homework-button strong{font-size:13px}.member-homework-button.is-complete{color:#16865e;background:#16865e17;border-color:#16865e47}.member-homework-button.has-debts{color:#9b5c00;background:#c3790c1c;border-color:#c3790c57}.homework-debts-dialog{width:min(100%,900px)}.homework-debts-content{padding:24px 28px 28px}.homework-debt-list{gap:9px;display:grid}.homework-debt-list article{background:#c3790c12;border:1px solid #c3790c47;border-radius:11px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.homework-debt-list article>div:first-child{gap:5px;min-width:0;display:grid}.homework-debt-list article strong{line-height:1.45}.homework-debt-list article span{color:#9b5c00;font-size:13px;font-weight:800}.homework-debt-list article>div:last-child{flex:none;gap:7px;display:flex}.homework-debt-list .primary-button,.homework-debt-list .secondary-button{min-height:38px;padding:0 12px;font-size:12px}.attendance-lock-notice{color:#8f5904;background:#c3790c17;border:1px solid #c3790c4d;border-radius:10px;align-items:flex-start;gap:11px;margin-bottom:14px;padding:13px 15px;display:flex}.attendance-lock-notice svg{flex:none;width:19px;height:19px}.attendance-lock-notice div{gap:4px;display:grid}.attendance-lock-notice span{color:var(--muted);font-size:13px;line-height:1.45}.student-lesson-table.is-locked{opacity:.72}@media (width<=1200px){.member-row{grid-template-columns:38px minmax(0,1fr) minmax(120px,auto) minmax(145px,auto) auto}.member-portal-actions{grid-column:2/span 2}.member-payment-button{grid-column:4}.member-action{grid-column:5}}@media (width<=900px){.groups-header-actions,.courses-header-actions{justify-content:flex-start;width:100%}.member-row{grid-template-columns:38px minmax(0,1fr) auto auto}.member-homework-button{grid-column:3/span 2}.member-portal-actions{grid-column:1/-1}.member-payment-button{grid-area:auto/3}.member-action{grid-area:auto/4}.homework-debt-list article{flex-direction:column;align-items:stretch}}@media (width<=620px){.lifecycle-filter{width:100%}.lifecycle-filter button{flex:1}.groups-header-actions .primary-button,.courses-header-actions .primary-button{width:100%}.lifecycle-dialog-footer{flex-direction:column;align-items:stretch}.lifecycle-dialog-footer>div{grid-template-columns:1fr;width:100%;display:grid}.overview-homework-stack{gap:12px}.rich-note-editor{min-height:180px}.rich-note-actions{flex-direction:column;align-items:stretch}.member-homework-button,.member-balance,.member-portal-actions,.member-payment-button,.member-action{grid-area:auto/1/auto/-1}.homework-debts-content{padding:18px 14px 22px}.homework-debt-list article>div:last-child{grid-template-columns:1fr;display:grid}.one-off-dialog .dialog-footer{flex-wrap:wrap}.one-off-dialog .dialog-footer-spacer{display:none}.one-off-dialog .complete-meeting-button,.one-off-dialog .danger-button{flex:calc(50% - 5px)}.one-off-completion-actions{padding:18px 14px 10px}.one-off-completion-dialog>.dialog-message{margin-left:14px;margin-right:14px}}.mobile-day-switcher{display:none}@media (width<=720px){html,body,#app{min-width:0;min-height:100dvh;overflow-x:clip}body{min-height:var(--app-viewport-height,100dvh)}.app-shell{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow-x:clip}.workspace{min-width:0;padding-bottom:calc(36px + env(safe-area-inset-bottom));overflow-x:clip}.sidebar{height:calc(76px + env(safe-area-inset-bottom));padding-bottom:calc(7px + env(safe-area-inset-bottom))}.main-nav{min-width:0}.nav-button{min-width:0;min-height:54px}.toast,.floating-review-button,.floating-top-button{bottom:calc(88px + env(safe-area-inset-bottom))}.floating-top-button.has-review-button{bottom:calc(152px + env(safe-area-inset-bottom))}.modal-layer:has(.confirm-dialog){align-items:center;padding:16px;overflow:auto}.confirm-dialog{border:1px solid var(--border);border-radius:18px;width:min(100%,480px);height:auto;max-height:calc(100dvh - 32px);display:block}.modal-layer{height:100dvh;height:var(--app-viewport-height,100dvh);align-items:stretch;min-height:0;overflow:hidden}.group-dialog,.lesson-dialog{width:100%;height:100dvh;height:var(--app-viewport-height,100dvh);max-height:var(--app-viewport-height,100dvh);overscroll-behavior:contain;flex-direction:column;display:flex}.group-dialog>form,.lesson-dialog>form{flex:auto;min-height:0;overflow-y:auto}.dialog-header{padding-top:max(16px, env(safe-area-inset-top));flex:none}.dialog-footer,.lesson-save-bar{z-index:6;padding-bottom:max(14px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface-solid), transparent 2%);flex:none;margin-top:auto;position:sticky;bottom:0;box-shadow:0 -12px 28px #1c184c14}.lesson-dialog-body{min-width:0;padding:20px 14px 24px}.lesson-save-bar{gap:10px;padding-inline:14px}.lesson-save-bar .primary-button{width:100%;min-width:0}.lesson-workspace-tabs{display:none}.mobile-lesson-tab-switcher{z-index:7;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-solid), transparent 2%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;gap:8px;padding:10px 14px;display:grid;position:sticky;top:0;box-shadow:0 10px 24px #1c184c12}.mobile-lesson-tab-switcher>button{border:1px solid var(--border);width:48px;min-width:48px;min-height:58px;color:var(--primary);background:var(--surface-soft);border-radius:12px;place-items:center;padding:0;display:grid}.mobile-lesson-tab-switcher>button svg{width:20px;height:20px}.mobile-lesson-tab-switcher>button:disabled{color:var(--muted);opacity:.35}.mobile-lesson-tab-switcher>label{border:1px solid color-mix(in srgb, var(--primary), transparent 52%);background:color-mix(in srgb, var(--primary), transparent 92%);border-radius:12px;align-items:center;min-width:0;min-height:58px;padding:0 12px;display:flex}.mobile-lesson-tab-switcher select{width:100%;min-width:0;height:100%;color:var(--primary-strong);appearance:none;text-align:center;text-align-last:center;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:0;padding:0;font-size:16px;font-weight:850;overflow:hidden}:where(button,[role=button],summary){touch-action:manipulation}:where(.dialog-close,.group-edit-button,.order-controls button,.content-row-actions button,.structure-actions button,.plan-lesson-order-actions button,.plan-lesson-items button,.attendance-reason-popover header button,.notification-groups article button,.rich-note-toolbar button,.member-payment-button,.member-action){min-width:44px;min-height:44px}:where(.field input,.field select,.field textarea,.workspace-field input,.workspace-field select,.workspace-field textarea,.member-dialog textarea,.manual-activity-row input,.manual-activity-row textarea,.assigned-manual-heading input,.rich-note-editor){font-size:16px}:where(input,select,textarea){max-width:100%}.mobile-day-switcher{grid-template-columns:repeat(var(--calendar-mobile-days,7), minmax(42px, 1fr));border:1px solid var(--border);background:var(--surface-soft);scrollbar-width:none;border-radius:14px;gap:5px;width:100%;margin:14px 0 10px;padding:5px;display:grid;overflow-x:auto}.mobile-day-switcher::-webkit-scrollbar{display:none}.mobile-day-switcher button{min-width:42px;min-height:50px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:10px;place-items:center;gap:1px;padding:5px 3px;display:grid}.mobile-day-switcher button span{font-size:11px;font-weight:750}.mobile-day-switcher button strong{font-size:16px}.mobile-day-switcher button.is-active{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-strong));box-shadow:0 7px 18px color-mix(in srgb, var(--primary), transparent 74%)}.calendar-scroll-shell.shows-free-slots,.calendar-scroll-shell.shows-free-slots .calendar-scroll{width:100%;min-width:0;overflow:visible}.calendar-grid.is-hourly-grid.is-mobile-single-day,.calendar-scroll.has-weekend .calendar-grid.is-hourly-grid.is-mobile-single-day{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.calendar-grid.is-mobile-single-day .day-column.is-hourly-day{min-width:0;padding-inline:8px}.calendar-grid.is-mobile-single-day .calendar-hourly-timeline{width:100%}.calendar-hour-row{grid-template-columns:54px minmax(0,1fr)}.calendar-timeline-block,.calendar-timeline-lesson{left:60px}.course-tabs,.group-tabs,.lesson-workspace-tabs,.portal-student-tabs{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;max-width:100%;scroll-padding-inline:10px;transition:box-shadow .18s;position:relative;overflow-x:auto}.course-tabs::-webkit-scrollbar{display:none}.group-tabs::-webkit-scrollbar{display:none}.lesson-workspace-tabs::-webkit-scrollbar{display:none}.portal-student-tabs::-webkit-scrollbar{display:none}.course-tabs>button,.group-tabs>button,.lesson-workspace-tabs>button,.portal-student-tabs>button{scroll-snap-align:center;min-height:44px}.course-tabs.has-scroll-end,.group-tabs.has-scroll-end,.lesson-workspace-tabs.has-scroll-end,.portal-student-tabs.has-scroll-end{box-shadow:inset -18px 0 14px -14px color-mix(in srgb, var(--primary), transparent 15%)}.course-tabs.has-scroll-start,.group-tabs.has-scroll-start,.lesson-workspace-tabs.has-scroll-start,.portal-student-tabs.has-scroll-start{border-left-color:color-mix(in srgb, var(--primary), transparent 42%)}.mobile-action-menu{z-index:8;justify-self:end;position:relative;overflow:visible}.mobile-action-menu[open]{z-index:15}.mobile-action-menu>summary{border:1px solid var(--border);min-width:104px;min-height:44px;color:var(--primary);background:var(--surface-solid);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;font-size:13px;font-weight:800;list-style:none;display:flex}.mobile-action-menu>summary::-webkit-details-marker{display:none}.mobile-action-menu-panel{z-index:20;border:1px solid var(--border-strong);background:var(--surface-solid);border-radius:12px;width:min(280px,100vw - 28px);max-height:min(360px,55dvh);top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 18px 45px #19154838;gap:7px!important;padding:9px!important;display:grid!important;position:absolute!important}.mobile-action-menu-panel>button,.mobile-action-menu-panel .order-controls,.mobile-action-menu-panel .order-controls button{width:100%;min-height:44px}.mobile-action-menu-panel .order-controls{grid-template-columns:1fr 1fr;display:grid}.plan-lesson-card>header{grid-template-columns:minmax(0,1fr) auto}.plan-lesson-card>header>span{grid-column:1/-1}.plan-lesson-meta{align-self:start}.plan-lesson-items>div{grid-template-columns:1fr;align-items:start}.plan-lesson-items>div>*{min-width:0}.plan-lesson-items span{white-space:normal}.plan-lesson-items .mobile-action-menu{justify-self:stretch}.plan-lesson-items .mobile-action-menu>summary{width:100%}.course-structure-page,.course-plans-workspace,.plan-template-card,.structure-section{min-width:0}}@media (width<=430px){.workspace{padding-inline:10px}.page-header h1{font-size:29px}.calendar-title-row .week-stats{grid-template-columns:1fr;display:grid}.mobile-day-switcher{gap:3px;padding:4px}.mobile-day-switcher button{min-width:40px}.dialog-header{padding-inline:14px}.dialog-header h2{font-size:23px}.group-dialog form{padding-inline:14px}.dialog-footer{flex-direction:column-reverse;align-items:stretch}.dialog-footer>button,.dialog-footer>div,.dialog-footer>div>button{width:100%}.course-content-row{gap:8px}.plan-template-actions{grid-template-columns:1fr;display:grid}.plan-template-actions button{width:100%}.manual-lessons-list{scroll-snap-type:x proximity}.manual-lesson-list-item{scroll-snap-align:start;min-width:min(82vw,280px)}}
