@import"https://cdn.jsdelivr.net/npm/pretendard/dist/web/static/pretendard.css";@font-face{font-family:HancomMalrangmalrang;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2406-1@1.0/HancomMalangMalang-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{font-family:Pretendard Variable,Pretendard,Segoe UI,sans-serif;color-scheme:light;--app-frame-max-width: 900px;--radius-sm: 14px;--radius-md: 20px;--radius-lg: 28px;--shadow-sm: 0 14px 30px rgba(41, 52, 77, .08);--shadow-md: 0 24px 72px rgba(41, 52, 77, .12);--shadow-focus: 0 0 0 4px rgba(98, 135, 212, .2);--bg-app: linear-gradient(180deg, #f8f3eb 0%, #f1f5fb 42%, #ecf2f8 100%);--bg-shell: radial-gradient(circle at top left, rgba(130, 171, 227, .2), transparent 28%), radial-gradient(circle at bottom right, rgba(247, 203, 183, .16), transparent 28%);--bg-surface: rgba(255, 255, 255, .82);--bg-panel: rgba(255, 255, 255, .9);--bg-subject-picker-sheet: #ffffffe6;--bg-card: #ffffff;--bg-card-soft: #f6f8fc;--bg-card-strong: #edf3ff;--bg-sidebar: rgba(250, 247, 242, .86);--bg-input: #fbfcff;--bg-hover: rgba(77, 111, 186, .08);--text-strong: #1d2a3f;--text-main: #34465f;--text-muted: #69788f;--text-soft: #8593a8;--text-on-accent: #f7fbff;--text-on-strong: #f7fbff;--border-main: rgba(45, 67, 103, .1);--border-soft: rgba(45, 67, 103, .06);--divider: rgba(45, 67, 103, .08);--accent: #5070bb;--accent-strong: #314c8b;--accent-soft: #e9f0ff;--accent-ghost: rgba(80, 112, 187, .12);--button-neutral: #445067;--button-neutral-hover: #3a455a;--button-shadow: 0 16px 30px rgba(34, 54, 96, .22);--surface-tint: rgba(255, 255, 255, .78);--surface-contrast: rgba(8, 15, 30, .18);--preview-light-1: #f8f3eb;--preview-light-2: #ffffff;--preview-light-3: #e9f0ff;--preview-light2-1: #e6f6fb;--preview-light3-1: #dff4fa;--preview-dark-1: #0f1b33;--preview-dark-2: #182844;--preview-dark-3: #203861;--success: #0e7b58;--success-soft: #ddf5ec;--warning: #bf7b15;--warning-soft: #fff1da;--danger: #ba4338;--danger-soft: #ffe6e3}:root[data-theme=light2]{--shadow-sm: 0 16px 30px rgba(42, 105, 128, .1);--shadow-md: 0 26px 72px rgba(42, 105, 128, .14);--shadow-focus: 0 0 0 4px rgba(79, 169, 198, .22);--bg-app: linear-gradient(180deg, #fbf6ee 0%, #f2fbfd 44%, #e8f7fb 100%);--bg-shell: radial-gradient(circle at top left, rgba(121, 205, 228, .22), transparent 28%), radial-gradient(circle at bottom right, rgba(255, 211, 183, .15), transparent 28%);--bg-surface: rgba(255, 255, 255, .84);--bg-panel: rgba(255, 255, 255, .92);--bg-subject-picker-sheet: #ffffffe6;--bg-card: #ffffff;--bg-card-soft: #f4fbfd;--bg-card-strong: #e6f6fb;--bg-sidebar: rgba(249, 250, 245, .88);--bg-input: #fcfeff;--bg-hover: rgba(79, 169, 198, .12);--text-strong: #193247;--text-main: #355165;--text-muted: #688297;--text-soft: #88a0b2;--text-on-accent: #f7fcff;--border-main: rgba(44, 89, 112, .1);--border-soft: rgba(44, 89, 112, .06);--divider: rgba(44, 89, 112, .08);--accent: #4fa9c6;--accent-strong: #2f89a7;--accent-soft: #e6f6fb;--accent-ghost: rgba(79, 169, 198, .14);--button-neutral: #486270;--button-neutral-hover: #3d5562;--button-shadow: 0 16px 30px rgba(47, 137, 167, .2);--surface-tint: rgba(255, 255, 255, .8);--surface-contrast: rgba(8, 15, 30, .16)}:root[data-theme=dark]{--shadow-sm: 0 18px 34px rgba(6, 10, 22, .25);--shadow-md: 0 30px 76px rgba(3, 8, 20, .34);--shadow-focus: 0 0 0 4px rgba(124, 155, 224, .24);--bg-app: linear-gradient(180deg, #0b1630 0%, #101d38 46%, #122441 100%);--bg-shell: radial-gradient(circle at top left, rgba(92, 118, 182, .28), transparent 30%), radial-gradient(circle at bottom right, rgba(59, 109, 161, .2), transparent 28%);--bg-surface: rgba(16, 24, 44, .82);--bg-panel: rgba(17, 29, 50, .9);--bg-subject-picker-sheet: #2c3141;--bg-card: #182844;--bg-card-soft: #1d3152;--bg-card-strong: #203861;--bg-sidebar: rgba(12, 20, 39, .88);--bg-input: #191d28;--bg-hover: rgba(122, 151, 220, .14);--text-strong: #f1f5ff;--text-main: #d8dfef;--text-muted: #a2b2cf;--text-soft: #8295b4;--text-on-accent: #f4f8ff;--text-on-strong: #f4f8ff;--border-main: rgba(144, 170, 223, .14);--border-soft: rgba(144, 170, 223, .08);--divider: rgba(144, 170, 223, .12);--accent: #7d98db;--accent-strong: #9ab3ef;--accent-soft: rgba(125, 152, 219, .16);--accent-ghost: rgba(125, 152, 219, .18);--button-neutral: #334563;--button-neutral-hover: #3e5374;--button-shadow: 0 18px 36px rgba(4, 10, 24, .34);--surface-tint: rgba(255, 255, 255, .18);--surface-contrast: rgba(2, 6, 16, .32);--preview-light-1: #f8f3eb;--preview-light-2: #ffffff;--preview-light-3: #e9f0ff;--preview-dark-1: #0f1b33;--preview-dark-2: #182844;--preview-dark-3: #203861;--success: #67cfad;--success-soft: rgba(28, 97, 79, .34);--warning: #f2b55d;--warning-soft: rgba(118, 82, 24, .34);--danger: #ee9088;--danger-soft: rgba(124, 48, 48, .34)}:root[data-theme=dark],:root[data-theme=dark2]{color-scheme:dark;--shadow-sm: 0 18px 34px rgba(0, 0, 0, .34);--shadow-md: 0 30px 76px rgba(0, 0, 0, .44);--shadow-focus: 0 0 0 4px rgba(92, 122, 205, .28);--bg-app: #12151f;--bg-shell: none;--bg-surface: rgba(9, 16, 42, .9);--bg-panel: #12151f;--bg-subject-picker-sheet: #2c3141;--bg-card: #191d28;--bg-card-soft: #191d28;--bg-card-strong: #172451;--bg-sidebar: #12151f;--bg-input: #191d28;--bg-hover: rgba(102, 134, 218, .16);--text-strong: #f3f6ff;--text-main: #dbe3ff;--text-muted: #a5b2d9;--text-soft: #7f8fb9;--text-on-accent: #f6f9ff;--text-on-strong: #f6f9ff;--border-main: rgba(139, 161, 220, .16);--border-soft: rgba(139, 161, 220, .08);--divider: rgba(139, 161, 220, .12);--accent: #6f8ee8;--accent-strong: #a9bcff;--accent-soft: rgba(111, 142, 232, .18);--accent-ghost: rgba(111, 142, 232, .2);--button-neutral: #24345f;--button-neutral-hover: #2d4070;--button-shadow: 0 18px 36px rgba(0, 0, 0, .38);--surface-tint: rgba(255, 255, 255, .12);--surface-contrast: rgba(0, 0, 0, .38);--preview-dark-1: #12151f;--preview-dark-2: #0c1432;--preview-dark-3: #172451;--success: #64d6b0;--success-soft: rgba(26, 106, 83, .34);--warning: #f0b35f;--warning-soft: rgba(123, 83, 26, .34);--danger: #f0948e;--danger-soft: rgba(124, 48, 48, .34)}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark2] body,:root[data-theme=dark2] .app-shell{background:#12151f}:root[data-theme=dark] .page-header,:root[data-theme=dark2] .page-header{background:#12151f;border-bottom-color:#8ba1dc1f;backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=dark] .panel,:root[data-theme=dark] .student-card,:root[data-theme=dark] .student-list-item,:root[data-theme=dark] .subject-picker-sheet,:root[data-theme=dark] .planner-completion-review-dialog,:root[data-theme=dark] .mobile-tabbar,:root[data-theme=dark2] .panel,:root[data-theme=dark2] .student-card,:root[data-theme=dark2] .student-list-item,:root[data-theme=dark2] .subject-picker-sheet,:root[data-theme=dark2] .planner-completion-review-dialog,:root[data-theme=dark2] .mobile-tabbar{--bg-panel: rgba(17, 29, 50, .9);--bg-surface: rgba(16, 24, 44, .82);--bg-card: #191d28;--bg-card-soft: #191d28;--bg-card-strong: #203861;--bg-input: #191d28;--bg-hover: rgba(122, 151, 220, .14);--border-main: rgba(144, 170, 223, .14);--border-soft: rgba(144, 170, 223, .08);--shadow-sm: 0 18px 34px rgba(6, 10, 22, .25);--shadow-md: 0 30px 76px rgba(3, 8, 20, .34)}:root[data-theme=dark] .mobile-tab,:root[data-theme=dark2] .mobile-tab{color:#d8dfef}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell{background:#0b0c10}:root[data-theme=dark] .mobile-tabbar{background:#12151f}:root[data-theme=dark] .mobile-tab.active{border:0}.public-legal-page{min-height:100dvh;padding:48px 20px;background:var(--bg-app);color:var(--text-main)}.public-legal-card{width:min(860px,100%);margin:0 auto;padding:clamp(28px,5vw,56px);border:1px solid var(--border-main);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-md)}.public-legal-head{padding-bottom:28px;border-bottom:1px solid var(--divider)}.public-legal-brand{display:inline-flex;margin-bottom:28px;color:var(--accent-strong);font-size:22px;font-weight:850;text-decoration:none}.public-legal-head>span{display:block;margin-bottom:8px;color:var(--accent-strong);font-size:12px;font-weight:800;letter-spacing:.12em}.public-legal-head h1{margin:0;color:var(--text-strong);font-size:clamp(28px,5vw,42px);line-height:1.18}.public-legal-head p{margin:12px 0 0;color:var(--text-muted);font-size:15px;line-height:1.65}.public-legal-sections{display:grid;gap:30px;padding:36px 0}.public-legal-section h2{margin:0 0 12px;color:var(--text-strong);font-size:18px;line-height:1.4}.public-legal-section p,.public-legal-section li,.public-legal-callout p{color:var(--text-main);font-size:14px;line-height:1.75}.public-legal-section p{margin:8px 0 0;white-space:pre-line}.public-legal-section ol{margin:0 0 16px;padding-left:22px}.public-legal-section a,.public-legal-footer a{color:var(--accent-strong);font-weight:700;text-underline-offset:3px}.public-legal-callout{padding:20px;border-radius:16px;background:var(--accent-soft)}.public-legal-callout strong{color:var(--text-strong);font-size:17px}.public-legal-callout p{margin:8px 0 0}.public-legal-primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:18px;padding:10px 18px;border-radius:12px;background:var(--accent);color:var(--text-on-accent)!important;font-size:14px;font-weight:800;text-decoration:none}.public-legal-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--divider)}.public-legal-footer nav{display:flex;flex-wrap:wrap;gap:10px 18px}.public-legal-footer p{margin:0;color:var(--text-muted);font-size:12px;white-space:nowrap}@media (max-width: 640px){.public-legal-page{padding:0}.public-legal-card{min-height:100dvh;border:0;border-radius:0;box-shadow:none}.public-legal-footer{align-items:flex-start;flex-direction:column}}:root[data-theme=dark] .student-card,:root[data-theme=dark] .student-list-item,:root[data-theme=dark] .timeline-card{background:#2b3340}:root[data-theme=dark] .student-list-item.is-inactive,:root[data-theme=dark] .student-card.student-list-item.is-inactive{background:#181d27}:root[data-theme=dark] .lesson-schedule-icon-button{background:#0b0c10}*{box-sizing:border-box}html{background:var(--bg-app);color-scheme:inherit;-webkit-text-size-adjust:100%;text-size-adjust:100%}.sound-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#root{min-height:100%}#root{width:100%;max-width:var(--app-frame-max-width);margin-inline:auto;border-left:1px solid var(--bg-card);border-right:1px solid var(--bg-card);background:var(--bg-shell),var(--bg-app)}body{margin:0;min-height:100vh;color:var(--text-main);background:#a8b9cf}:root[data-theme=dark] body,:root[data-theme=dark2] body{background:#191d28}body.intro-active{overflow:hidden}button,input,textarea,select{font:inherit;color:inherit;accent-color:var(--accent);color-scheme:inherit}button{color:inherit;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,textarea,select{border-color:var(--border-main);background-color:var(--bg-input);color:var(--text-strong);-webkit-text-fill-color:currentColor;caret-color:var(--text-strong)}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:.62}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset;-webkit-text-fill-color:var(--text-strong);caret-color:var(--text-strong)}a{color:var(--accent)}.app-shell,.auth-shell{width:100%;max-width:var(--app-frame-max-width);margin-inline:auto;min-height:100vh}.app-shell{--app-header-offset-left: 248px;--app-shell-gutter: 32px;--app-header-height: calc(env(safe-area-inset-top) + 40px) ;--app-mobile-tabbar-height: 0px}.admin-support-session-banner{position:fixed;z-index:5000;top:0;right:0;left:0;display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;padding:9px 20px;border-bottom:1px solid #d97706;background:#fffbeb;color:#78350f;box-shadow:0 8px 24px #78350f29}.admin-support-session-banner.is-read{border-bottom-color:#2563eb;background:#eff6ff;color:#1e3a8a}.admin-support-session-banner>div{display:grid;gap:2px}.admin-support-session-banner span{font-size:12px;line-height:1.45}.admin-support-session-banner button{min-height:34px;padding:0 14px;border:1px solid currentColor;border-radius:8px;background:#ffffffb8;color:inherit;font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}.app-shell[data-admin-support=true]{min-height:calc(100vh - 58px);margin-top:58px}.app-shell[data-admin-support=true] .desktop-sidebar{top:58px;height:calc(100vh - 58px)}.app-shell[data-admin-support=true] .page-header{top:58px}.admin-support-status-page{display:grid;place-items:center}.admin-support-status-card{width:min(520px,calc(100vw - 32px));padding:28px;text-align:center}.admin-support-status-card h1,.admin-support-status-card p{margin:0}.admin-support-status-card p{margin-top:10px;color:var(--text-muted);line-height:1.6}@media (max-width: 600px){.admin-support-session-banner{min-height:74px;gap:10px;padding:8px 12px}.admin-support-session-banner span{font-size:11px}.admin-support-session-banner button{padding:0 10px}.app-shell[data-admin-support=true]{min-height:calc(100vh - 74px);margin-top:74px}.app-shell[data-admin-support=true] .page-header{top:74px}}.app-shell[data-section=settings][data-settings-view=notice-detail],.app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,.app-shell[data-section=settings][data-settings-view=notice-detail] .app-stage,.app-shell[data-section=settings][data-settings-view=notice-detail] .page-header,.app-shell[data-section=settings][data-settings-view=notice-detail] .page-body,.app-shell[data-section=settings][data-settings-view=notice-detail] .page-content,.app-shell[data-section=settings][data-settings-view=notice-detail] .settings-grid,.app-shell[data-section=settings][data-settings-view=notice-detail] .mobile-tabbar{background:#fff}.app-shell[data-section=settings][data-settings-view=notice-detail]{--bg-panel: #fff;--bg-card: #fff;--bg-card-soft: #f8fafc;--bg-hover: #f5f7fa;--border-main: #e5e7eb;--text-strong: #111827;--text-main: #222;--text-muted: #6b7280;--text-soft: #6b7280;--accent: #374151;--accent-strong: #374151}.app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,.app-shell[data-section=settings][data-settings-view=notice-detail] .page-header{border-color:#e5e7eb;backdrop-filter:none;-webkit-backdrop-filter:none}:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail],:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .app-stage,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-header,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-body,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-content,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .settings-grid,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .mobile-tabbar,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail],:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .app-stage,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-header,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-body,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-content,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .settings-grid,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .mobile-tabbar{background:#0b0c10}:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail],:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail]{--bg-panel: #0b0c10;--bg-card: #191d28;--bg-card-soft: #12151f;--bg-hover: #191d28;--border-main: rgba(139, 161, 220, .18);--text-strong: #f3f6ff;--text-main: #dbe3ff;--text-muted: #a5b2d9;--text-soft: #7f8fb9;--accent: #8fa8ff;--accent-strong: #c5d2ff}:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,:root[data-theme=dark] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-header,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .desktop-sidebar,:root[data-theme=dark2] .app-shell[data-section=settings][data-settings-view=notice-detail] .page-header{border-color:#8ba1dc29}.app-intro-stage{transition:opacity .36s ease,transform .36s ease,filter .36s ease}.app-intro-stage[data-intro-phase=enter]{opacity:0;transform:scale(1.01);filter:blur(10px)}.app-intro-stage[data-intro-phase=exit]{opacity:1;transform:scale(1);filter:blur(0)}.app-intro-stage[data-intro-phase=hidden]{opacity:1}.app-intro-stage[data-intro-phase=exit]{transition-delay:.14s}.intro-splash{--intro-mark-size: clamp(118px, 20vw, 176px);position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;pointer-events:none}.intro-splash-backdrop,.intro-splash-mark-wrap{transition:opacity .62s ease,transform .62s cubic-bezier(.22,1,.36,1),filter .62s ease}.intro-splash-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff}.intro-splash-mark-wrap{position:relative;width:var(--intro-mark-size);aspect-ratio:258 / 282;display:grid;place-items:center;will-change:transform,opacity}.intro-splash.is-exiting .intro-splash-backdrop{opacity:0}.intro-splash.is-exiting .intro-splash-mark-wrap{transform:scale(.94);opacity:0;filter:blur(4px)}.intro-logo-mark{position:relative;width:100%;height:100%}.intro-logo-part{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.intro-logo-line{clip-path:inset(2% 50.5% 1.4% 10.8%);transform-origin:30% 100%;animation:intro-logo-line .82s cubic-bezier(.22,1,.36,1) forwards}.intro-logo-dot{clip-path:inset(55.2% 7.8% 1.4% 55.4%);opacity:0;transform-origin:74% 78%;animation:intro-logo-dot .4s cubic-bezier(.2,.9,.22,1.18) .52s forwards}.intro-logo-full{opacity:0;animation:intro-logo-full .24s ease .84s forwards}@keyframes intro-logo-line{0%{opacity:0;transform:scaleY(.05)}16%{opacity:1}to{opacity:1;transform:scaleY(1)}}@keyframes intro-logo-dot{0%{opacity:0;transform:scale(0)}68%{opacity:1;transform:scale(1.14)}to{opacity:1;transform:scale(1)}}@keyframes intro-logo-full{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;overflow:hidden;overscroll-behavior:contain;background:#fff;color:#202226;outline:none}.onboarding-stage{container-type:inline-size;position:relative;width:min(100vw,900px,calc(100dvh * 941 / 1672));aspect-ratio:941 / 1672;overflow:hidden;background:#fff;touch-action:pan-y}.onboarding-artwork{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:onboarding-slide-enter .22s ease both}.onboarding-controls{position:absolute;right:0;bottom:0;left:0;height:9.4%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1cqw;padding:.8cqw 6.8cqw 2.1cqw;background:#fff}.onboarding-controls button{font-family:inherit;letter-spacing:0}.onboarding-skip{justify-self:start;min-width:0;padding:10px 0;border:0;background:transparent;color:#008f83;font-size:clamp(13px,3.15cqw,28px);font-weight:600;line-height:1}.onboarding-dots{display:flex;align-items:center;justify-content:center;gap:clamp(0px,.25cqw,3px)}.onboarding-dot{position:relative;width:clamp(27px,4.3cqw,42px);height:clamp(27px,4.3cqw,42px);padding:0;border:0;background:transparent}.onboarding-dot:before{position:absolute;top:50%;left:50%;width:clamp(7px,1.55cqw,14px);aspect-ratio:1;border-radius:50%;background:#d7d7d7;content:"";transform:translate(-50%,-50%);transition:width .18s ease,background-color .18s ease}.onboarding-dot.is-active:before{width:clamp(12px,2.35cqw,21px);background:#009b8e}.onboarding-next{justify-self:end;width:clamp(86px,21.5cqw,194px);min-height:clamp(42px,7.6cqw,68px);padding:0 1.5cqw;border:0;border-radius:999px;background:#009b8e;color:#fff;font-size:clamp(15px,3.45cqw,31px);font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 8px 22px #009b8e29}.onboarding-skip:focus-visible,.onboarding-dot:focus-visible,.onboarding-next:focus-visible,.auth-onboarding-replay:focus-visible{outline:3px solid rgb(0 155 142 / 36%);outline-offset:3px}.auth-onboarding-replay{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:20;padding:8px 0;border:0;background:transparent;color:#008f83;font:inherit;font-size:14px;font-weight:650;letter-spacing:0;text-decoration:underline;text-decoration-color:#008f8352;text-underline-offset:4px}.auth-onboarding-replay:hover{color:#006f66;text-decoration-color:currentColor}@keyframes onboarding-slide-enter{0%{opacity:.72;transform:translate(1.5%)}to{opacity:1;transform:translate(0)}}.auth-shell{display:grid;place-items:center;padding:24px;min-height:100dvh;overflow:hidden}.auth-card{width:min(1180px,100%);padding:32px;border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-login-card{width:min(460px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:22px;max-height:calc(100dvh - 48px);padding:34px 28px;justify-items:stretch;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-brand{display:grid;justify-items:center;gap:8px;text-align:center}.auth-brand-logo{width:74px;height:74px;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.auth-brand strong{color:var(--text-strong);font-size:32px;font-weight:800;line-height:1.05}.auth-brand p{margin:8px 0 0;color:var(--text-main);font-size:18px;font-weight:700}.auth-brand span{color:var(--text-muted);font-size:14px;font-weight:500}.auth-brand-malrang strong{font-family:HancomMalrangmalrang,Pretendard Variable,Pretendard,Segoe UI,sans-serif}.auth-login-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;padding:22px;border-radius:22px;min-height:0;overflow:hidden;overscroll-behavior:contain}.auth-login-scroll-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.auth-login-panel .form{display:grid;gap:8px}.auth-login-panel form input{padding:10px;background:var(--bg-card)}.auth-login-inline{display:flex;align-items:stretch;gap:10px}.auth-login-fields{min-width:0;flex:1 1 auto;display:grid;gap:8px}.auth-login-inline .submit{width:auto;min-width:78px;padding-inline:10px;white-space:nowrap}.auth-login-tabs{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;flex-wrap:nowrap!important}.auth-login-tabs>button{flex:0 0 auto;min-width:0;padding:0;border:0;background:transparent;color:var(--text-muted);font-weight:500;white-space:nowrap;box-shadow:none}.auth-login-tabs>button.active,.auth-login-tabs>button.active:hover,.auth-login-tabs>button.active:focus-visible{border:0;background:transparent;color:var(--text-strong);font-weight:500;box-shadow:none}.auth-login-tabs>button:hover,.auth-login-tabs>button:focus-visible{background:transparent;color:var(--accent-strong);box-shadow:none}.auth-tab-separator{color:color-mix(in srgb,var(--text-soft) 46%,transparent);font-size:12px;line-height:1}.auth-login-error-notice{margin:-4px 0 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);border-radius:12px;background:color-mix(in srgb,var(--danger-soft) 72%,transparent);color:var(--danger);font-size:13px;font-weight:600;line-height:1.4}.auth-text-button{width:fit-content;justify-self:end;display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;box-shadow:none}.auth-text-button-row{display:flex;justify-content:flex-end}.auth-text-button-spaced{margin-top:12px}.auth-text-button svg{width:15px;height:15px}.auth-text-button:hover,.auth-text-button:focus-visible{background:transparent;color:var(--accent-strong);box-shadow:none}.auth-login-panel .submit{width:100%}.auth-role-group-hidden{display:none}.auth-plan-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.auth-plan-option{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-sidebar);color:var(--text-strong);box-shadow:none;font-size:13px;font-weight:700}.auth-plan-check{display:inline-grid;place-items:center;width:auto;height:auto;background:transparent;color:currentColor;font-size:13px;line-height:1}.auth-plan-option.active,.auth-plan-option.active:hover,.auth-plan-option.active:focus-visible{border-color:#e14b42;box-shadow:none}.auth-plan-description{margin:-2px 0 2px;color:var(--text-soft);font-size:12px;font-weight:650;line-height:1.45}.auth-register-consents{display:grid;gap:8px;margin:4px 0;padding:12px;border:1px solid var(--border-main);border-radius:12px;background:color-mix(in srgb,var(--bg-card) 82%,transparent)}.auth-register-consent{display:flex;align-items:flex-start;gap:8px;color:var(--text-main);font-size:12px;font-weight:600;line-height:1.45;cursor:pointer}.auth-register-consent input{width:16px;height:16px;flex:0 0 16px;margin:1px 0 0;padding:0;accent-color:var(--accent)}.auth-register-consent b{color:var(--accent-strong);font-weight:800}.auth-register-consent b.is-optional{color:var(--text-muted)}.auth-register-consent a{color:var(--accent-strong);font-weight:750;text-decoration:underline;text-underline-offset:2px}.auth-login-panel .auth-login-inline .submit{width:auto;align-self:stretch}.auth-submit-replaced-message{min-height:42px;display:grid;place-items:center;margin:0;padding:10px 12px;border-radius:14px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:650;line-height:1.45;text-align:center}.auth-social-divider{display:flex;align-items:center;gap:10px;margin:6px 0 0;color:var(--text-soft);font-size:12px;font-weight:500}.auth-social-divider:before,.auth-social-divider:after{content:"";height:1px;flex:1 1 0;background:color-mix(in srgb,var(--border-main) 70%,transparent)}.auth-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-social-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:10px 8px;border-radius:12px;border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:500;text-decoration:none;box-shadow:none}.auth-social-button:hover,.auth-social-button:focus-visible{background:var(--bg-hover);box-shadow:none}.auth-social-mark{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;font-size:11px;font-weight:800;line-height:1}.auth-social-button-google .auth-social-mark{background:#fff;color:#4285f4}.auth-social-button-apple .auth-social-mark{background:#111;color:#fff}.auth-social-button-naver .auth-social-mark{background:#03c75a;color:#fff}.auth-social-button-kakao .auth-social-mark{background:#fee500;color:#191919}.auth-social-button-email .auth-social-mark{background:var(--accent-soft);color:var(--accent-strong)}.auth-help-text{margin:0;color:color-mix(in srgb,var(--text-soft) 76%,transparent);font-size:12px;font-weight:500;text-align:center}.auth-help-text a{color:color-mix(in srgb,var(--accent) 72%,var(--text-soft));font-weight:600;text-decoration:none}.auth-help-text button{padding:0;border:0;background:transparent;color:color-mix(in srgb,var(--accent) 72%,var(--text-soft));font:inherit;font-weight:600;box-shadow:none}.auth-help-text a:hover,.auth-help-text a:focus-visible,.auth-help-text button:hover,.auth-help-text button:focus-visible{background:transparent;color:var(--accent-strong);text-decoration:underline;box-shadow:none}.auth-help-panel{display:grid;gap:14px}.auth-help-panel-head{display:grid;gap:5px;text-align:center}.auth-help-panel-head h2{margin:0;color:var(--text-strong);font-size:18px;line-height:1.3}.auth-help-panel-head p{margin:0;color:var(--text-muted);font-size:13px;font-weight:600;line-height:1.45}.auth-help-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:auth-help-step}.auth-help-list li{counter-increment:auth-help-step;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;align-items:start}.auth-help-list li:before{content:counter(auth-help-step);width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:800;line-height:1}.auth-help-list strong{color:var(--text-strong);font-size:13px;font-weight:800;line-height:1.45}.auth-help-list p{grid-column:2;margin:0;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.5}.auth-help-contact{display:grid;gap:9px;padding-top:2px}.auth-help-contact>strong{color:var(--text-strong);font-size:13px;font-weight:800}.auth-help-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-help-contact-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 10px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:700;text-decoration:none;box-shadow:none}.auth-help-contact-button:hover,.auth-help-contact-button:focus-visible{background:var(--bg-hover);color:var(--accent-strong);box-shadow:none}.auth-grid,.settings-grid,.planner-layout,.students-layout,.home-columns{display:grid;gap:20px}.auth-grid-two,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-columns,.planner-layout,.students-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.auth-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-bottom:24px}.hero-preview-card,.mini-stat,.summary-card,.planner-card,.student-card,.timeline-card,.preview-pill,.theme-option,.action-tile,.info-card,.recent-item,.account-card{background:var(--bg-card);border:1px solid var(--border-main);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.info-card-button{width:100%;padding:18px;text-align:left;display:grid;gap:8px;grid-auto-flow:column}.info-card-button strong{width:100%}.info-card-select-card select[aria-disabled=true]{cursor:not-allowed;opacity:.72}.hero-preview-card{display:grid;gap:12px;padding:18px}.mini-stat{padding:14px}.mini-stat strong,.summary-card strong,.info-card strong,.info-card-button strong,h1,h2,h3,.planner-card strong,.student-card strong{color:var(--calendar-tone, var(--text-strong))}.mini-stat span,.summary-card span,.info-card span,.info-card-button span,.page-description,.section-copy,.body,.empty,.student-card p,.student-card small{color:var(--text-muted)}.eyebrow,.page-kicker{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.page-header h1,.auth-hero h1{margin:0;line-height:1.05}.hero-pill-row,.chip-row,.tab-row,.detail-tab-row,.page-actions{display:flex;flex-wrap:wrap;gap:10px}.notice-stack,.content-stack,.planner-card-list,.timeline-list,.preview-stack,.theme-option-grid,.detail-section-stack{display:grid;gap:14px}.notice-stack{margin-top:20px}.panel{padding:15px;border-radius:26px;border:1px solid var(--border-main);background:var(--bg-subject-picker-sheet);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.desktop-sidebar{position:fixed;top:0;left:0;width:248px;padding:24px 18px;display:flex;flex-direction:column;gap:18px;background:var(--bg-sidebar);border-right:1px solid var(--border-main);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar-brand strong{display:block;font-size:24px;color:var(--text-strong)}.sidebar-brand p:last-child{margin:8px 0 0;color:var(--text-muted)}.sidebar-nav,.sidebar-footer{display:grid;gap:12px}.sidebar-footer{margin-top:auto}.app-stage{position:relative;margin-left:var(--app-header-offset-left);height:100dvh;overflow:hidden}.page-header,.panel-header,.planner-card-head,.planner-card-meta,.planner-card-foot,.student-card-head,.timeline-head,.recent-meta,.action-row,.planner-toolbar,.segmented-control,.theme-option-head,.pagination,.calendar-grid-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-header{position:fixed;top:0;left:var(--app-header-offset-left);right:0;z-index:35;min-height:var(--app-header-height);padding:calc(env(safe-area-inset-top) + 8px) var(--app-shell-gutter) 8px;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border-main) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);max-width:var(--app-frame-max-width);margin-inline:auto}.page-header .page-kicker{margin:0}.page-header-sub-label{color:var(--text-muted);font-weight:600}.page-header-leading{display:inline-flex;align-items:center;gap:10px}.page-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.page-header-brand{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.page-header-brand-image{display:block;width:22px;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:none;mix-blend-mode:normal}:root[data-theme=dark] .page-header-brand-image,:root[data-theme=dark2] .page-header-brand-image{content:url(/brand/onjeom-logo-w.png);filter:none;mix-blend-mode:normal}.page-header-icon-button{width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-card);color:var(--text-main);box-shadow:none}.page-header-icon-button svg{width:20px;height:20px}.page-header-icon-button:hover,.page-header-icon-button:focus-visible{background:var(--bg-hover);color:var(--text-strong)}.page-header-icon-button.is-active{border-color:color-mix(in srgb,var(--accent) 48%,var(--border-main));background:color-mix(in srgb,var(--accent-soft) 82%,var(--bg-card));color:var(--accent-strong)}.page-header-action-button,.page-header-action-button:hover,.page-header-action-button:focus-visible,.page-header-action-button.is-active{border:0;border-radius:0;background:transparent;box-shadow:none}.page-header-action-button.is-active,.page-header-action-button:hover,.page-header-action-button:focus-visible{color:var(--accent-strong)}.student-header-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:#090e1c57}.student-header-menu{width:min(320px,calc(100vw - 44px));height:100%;padding:22px 18px 28px;background:var(--bg-panel);border-left:1px solid var(--border-main);box-shadow:var(--shadow-md);animation:student-header-menu-slide-in .22s ease-out;will-change:transform}@keyframes student-header-menu-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.student-header-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-header-menu-head .page-kicker,.student-header-menu-head h2{margin:0}.student-header-menu-list{display:grid;gap:10px;margin-top:18px}.student-header-menu-item{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--border-main);background:var(--bg-card);text-align:left;color:var(--text-main);font-weight:500}.student-header-menu-item.active{background:var(--bg-card-strong);color:var(--text-strong)}.student-header-menu-item-icon{width:20px;height:20px;flex:0 0 auto;display:inline-grid;place-items:center;color:var(--accent-strong)}.student-header-menu-item-icon svg{width:100%;height:100%}.student-header-menu-item:hover,.student-header-menu-item:focus-visible{background:var(--bg-card-strong);color:var(--text-strong)}.student-header-menu-note{margin:18px 4px 0;color:var(--text-soft);font-size:12px;line-height:1.5}.student-search-inline-panel{display:grid;gap:10px;align-self:start;margin-top:15px;padding:14px 10px 0;background:var(--bg-card);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:student-search-inline-enter .18s ease}.student-search-layer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-search-layer-copy{display:grid;gap:4px}.student-search-layer-copy .page-kicker,.student-search-layer-copy h3{margin:0}.student-search-layer-form{display:grid;gap:12px}.student-search-layer-fields{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}.student-search-layer-fields input,.student-search-layer-fields select{min-height:46px;padding:0 14px;border:1px solid color-mix(in srgb,var(--border-main) 92%,var(--accent-soft));border-radius:10px;background:var(--bg-card);color:var(--text-main);font-size:14px;font-weight:500;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.student-search-layer-fields input{padding-inline:10px;box-shadow:inset 0 1px #ffffff42}.student-search-layer-fields input:hover,.student-search-layer-fields select:hover{border-color:color-mix(in srgb,var(--accent) 24%,var(--border-main))}.student-search-layer-fields input:focus,.student-search-layer-fields input:focus-visible,.student-search-layer-fields select:focus,.student-search-layer-fields select:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 48%,var(--border-main));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.student-search-layer-fields input::placeholder{color:var(--text-soft);font-weight:600}.student-search-layer-actions{display:flex;justify-content:flex-end;gap:10px}@keyframes student-search-inline-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.page-body{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--app-header-height) + 16px) var(--app-shell-gutter) calc(var(--app-mobile-tabbar-height) + 28px)}.page-body.has-settings-install-strip{padding-top:calc(var(--app-header-height) + 64px)}.page-body.is-student-list-page{overflow:hidden}.page-body.is-student-list-page .page-content,.page-body.is-student-list-page .students-layout{height:100%;min-height:0}.page-body.is-schedule-detail-page{background:#fff;overflow:hidden}.page-body.is-schedule-detail-page .page-content{height:100%;min-height:0}.page-body>.notice-stack{margin-top:0;margin-bottom:20px}.page-content{min-height:0}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.summary-card,.action-tile,.info-card,.student-card,.planner-card,.recent-item{padding:18px}.timeline-card{padding:10px;box-shadow:none}.summary-card small,.planner-card-foot,.planner-student-link,.timeline-head span{color:var(--text-muted)}.summary-card.feature-card{background:linear-gradient(135deg,var(--bg-card) 0%,var(--accent-soft) 100%)}.quick-action-grid,.info-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.action-tile{text-align:left;cursor:pointer}.action-tile strong{display:block;margin-bottom:6px}.home-schedule-panel .panel-header{align-items:flex-start}.home-schedule-panel-today{background:var(--bg-card-strong)}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week{background:#fff}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today{background:var(--bg-card)}.home-schedule-heading{display:grid;gap:4px}.home-schedule-title-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.analytics-screen{display:grid;gap:16px}.analytics-hero-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);align-items:center;gap:18px}.analytics-hero-copy{display:grid;gap:8px}.analytics-hero-copy .page-kicker,.analytics-hero-copy h2,.analytics-hero-copy p{margin:0}.analytics-hero-copy h2{color:var(--text-strong);font-size:24px;line-height:1.2}.analytics-hero-copy p{max-width:520px;color:var(--text-muted);font-size:14px;font-weight:650;line-height:1.55}.analytics-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-summary-card{min-height:86px;display:grid;align-content:center;gap:7px;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card)}.analytics-summary-card span,.analytics-card-head span{color:var(--text-soft);font-size:12px;font-weight:800}.analytics-summary-card strong{color:var(--text-strong);font-size:20px;font-weight:900;line-height:1.1}.analytics-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.analytics-chart-card{min-width:0;min-height:300px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:16px;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.analytics-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-card-head h3,.analytics-card-head strong{margin:0;color:var(--text-strong)}.analytics-card-head h3{margin-top:4px;font-size:17px;line-height:1.25}.analytics-card-head strong{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:900;white-space:nowrap}.analytics-bar-chart{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;align-items:end;min-height:210px;padding-top:6px}.analytics-bar-column{min-width:0;height:100%;display:grid;grid-template-rows:auto minmax(140px,1fr) auto;justify-items:center;gap:8px}.analytics-bar-column span,.analytics-bar-column strong{color:var(--text-muted);font-size:12px;font-weight:850}.analytics-bar-track{width:100%;height:100%;min-height:140px;display:flex;align-items:flex-end;padding:6px;border-radius:12px;background:var(--bg-card-soft)}.analytics-bar-fill{width:100%;height:var(--bar-height);min-height:16px;border-radius:9px;background:var(--bar-color);box-shadow:0 10px 20px color-mix(in srgb,var(--bar-color) 24%,transparent)}.analytics-pie-layout{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,1fr);align-items:center;gap:14px}.analytics-pie{width:min(190px,100%);aspect-ratio:1;transform:rotate(-90deg)}.analytics-pie text{transform:rotate(90deg);transform-origin:center}.analytics-pie-value{fill:var(--text-strong);font-size:16px;font-weight:900}.analytics-pie-label{fill:var(--text-muted);font-size:10px;font-weight:800}.analytics-legend{display:grid;gap:9px}.analytics-legend span{display:flex;align-items:center;gap:8px;color:var(--text-main);font-size:13px;font-weight:800}.analytics-legend i{width:10px;height:10px;flex:0 0 auto;border-radius:50%}.analytics-line-chart,.analytics-distribution-chart{width:100%;min-height:210px;align-self:center;overflow:visible}.analytics-grid-line{stroke:color-mix(in srgb,var(--border-main) 82%,transparent);stroke-width:1}.analytics-line-path{stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:4;filter:drop-shadow(0 10px 16px color-mix(in srgb,var(--accent) 24%,transparent))}.analytics-line-dot{fill:var(--bg-card);stroke:var(--accent-strong);stroke-width:3}.analytics-line-month,.analytics-distribution-label,.analytics-axis-label{fill:var(--text-muted);font-size:11px;font-weight:800}.analytics-distribution-dot{fill:color-mix(in srgb,var(--accent) 82%,#ffffff);stroke:var(--bg-card);stroke-width:3;filter:drop-shadow(0 10px 14px color-mix(in srgb,var(--accent) 20%,transparent))}@media (max-width: 760px){.analytics-hero-panel,.analytics-chart-grid,.analytics-pie-layout{grid-template-columns:1fr}.analytics-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-summary-card{min-height:72px;padding:12px 8px}.analytics-summary-card strong{font-size:17px}.analytics-card-head{align-items:flex-start}.analytics-chart-card{min-height:280px;padding:14px}.analytics-pie{justify-self:center}}@media (max-width: 420px){.analytics-summary-grid{grid-template-columns:1fr}.analytics-bar-chart{gap:6px}.analytics-card-head{display:grid}.analytics-card-head strong{justify-self:start}}.subscription-promo-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow-soft)}.subscription-promo-copy{min-width:0;display:grid;gap:4px}.subscription-promo-copy strong,.subscription-promo-copy p{margin:0}.subscription-promo-copy strong{color:var(--text-strong);font-size:15px;font-weight:900}.subscription-promo-copy p{color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.45}.subscription-promo-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.subscription-promo-meta span{padding:6px 8px;border-radius:999px;background:var(--bg-card-soft);color:var(--text-main);font-size:12px;font-weight:800;white-space:nowrap}.subscription-promo-action{position:relative;display:inline-flex;justify-content:flex-end}.subscription-choice-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.subscription-promo-bubble{position:absolute;top:-8px;right:-4px;z-index:1;min-width:max-content;padding:6px 10px;border:1px solid color-mix(in srgb,#e14b42 36%,var(--border-main));border-radius:999px;background:#fff7f5;color:#c43b34;font-size:11px;font-weight:500;line-height:1;box-shadow:0 8px 18px #e14b4229;pointer-events:none;transform:translateY(-100%);animation:subscription-promo-bubble-float 2.4s ease-in-out infinite}.subscription-promo-bubble:after{content:"";position:absolute;right:18px;bottom:-5px;width:8px;height:8px;border-right:1px solid color-mix(in srgb,#e14b42 36%,var(--border-main));border-bottom:1px solid color-mix(in srgb,#e14b42 36%,var(--border-main));background:#fff7f5;transform:rotate(45deg)}:root[data-theme=dark] .subscription-promo-bubble,:root[data-theme=dark2] .subscription-promo-bubble{border-color:#585858;background:#2c3141;color:#fff;box-shadow:0 8px 18px #0000003d}:root[data-theme=dark] .subscription-promo-bubble:after,:root[data-theme=dark2] .subscription-promo-bubble:after{border-color:#585858;background:#2c3141}@keyframes subscription-promo-bubble-float{0%,to{transform:translateY(-100%)}50%{transform:translateY(calc(-100% - 4px))}}.subscription-promo-button{min-height:36px;padding:0 14px;border:0;border-radius:999px;background:#e14b42;color:#fff;font-size:13px;font-weight:500;white-space:nowrap}.subscription-promo-button:hover,.subscription-promo-button:focus-visible{border:0;background:#e14b42;color:#fff}.subscription-beta-choice-button,.subscription-beta-choice-button:hover,.subscription-beta-choice-button:focus-visible{border:1px solid var(--border-main);background:transparent;color:var(--text-strong)}.home-schedule-heading .page-kicker,.home-schedule-heading h2,.home-schedule-range{margin:0}.home-schedule-heading h2{font-size:22px}.home-schedule-count-badge{padding:4px 8px;font-size:11px;font-weight:800}.home-schedule-range{color:var(--text-soft);font-size:12px;font-weight:600}.home-schedule-list{margin-top:14px}.home-schedule-item{display:grid;gap:10px;text-align:left}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item{border:1px solid #d5e1ff;background:#f6f9ff;color:var(--text-main)}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-head strong,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-date,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-time{color:var(--text-main)}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-head .badge{border-color:var(--border-main)}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-head .badge[data-status=upcoming]{background:#f08080;color:#fff}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-item-head .badge[data-status=completed]{background:#008b8b;color:#fff}:root[data-theme=dark] .home-schedule-panel-today .compact.home-schedule-item,:root[data-theme=dark2] .home-schedule-panel-today .compact.home-schedule-item{background:var(--bg-sidebar)}.home-schedule-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week .planner-card.compact.home-schedule-item,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week .planner-card.compact.home-schedule-item:hover,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week .planner-card.compact.home-schedule-item:focus-visible,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week .planner-card.compact.home-schedule-item:active{border:1px solid #d8dfef;background:transparent}:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-today .home-schedule-count-badge,:root:is([data-theme=light3],[data-theme=light_on]) .home-schedule-panel-week .home-schedule-count-badge{background:#fff}:root[data-theme=dark] .home-schedule-panel-week .planner-card.compact.home-schedule-item,:root[data-theme=dark2] .home-schedule-panel-week .planner-card.compact.home-schedule-item{background:var(--button-neutral)}:root[data-theme=dark] .app-shell[data-section=home] .home-schedule-panel-today,:root[data-theme=dark2] .app-shell[data-section=home] .home-schedule-panel-today{background:#191d28}:root[data-theme=dark] .app-shell[data-section=home] .home-schedule-panel-week,:root[data-theme=dark2] .app-shell[data-section=home] .home-schedule-panel-week{background:#12151f}:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=home] .home-schedule-panel-today .page-kicker,:root[data-theme=dark] .app-shell[data-section=home] .home-schedule-panel-today .page-kicker,:root[data-theme=dark2] .app-shell[data-section=home] .home-schedule-panel-today .page-kicker{color:#e14b42}:root[data-theme=dark] .app-shell[data-section=home] .home-schedule-panel-today .planner-card.compact.home-schedule-item,:root[data-theme=dark2] .app-shell[data-section=home] .home-schedule-panel-today .planner-card.compact.home-schedule-item{background:#2c3141}:root[data-theme=dark] .app-shell[data-section=home] .home-schedule-panel-week .planner-card.compact.home-schedule-item,:root[data-theme=dark2] .app-shell[data-section=home] .home-schedule-panel-week .planner-card.compact.home-schedule-item{background:#222734}:root[data-theme=dark] .app-shell[data-section=schedule] .title-row{background:#222734}:root[data-theme=dark] .schedule-date-overlay-quick-form input{background:#222734}.home-schedule-item-head strong{min-width:0;color:var(--text-strong);font-size:16px;font-weight:500;line-height:1.35}.home-schedule-item-head .badge{flex:0 0 auto}.home-schedule-item-meta{display:flex;align-items:center;justify-content:flex-start;gap:5px}.home-schedule-item-date{display:inline-flex;align-items:center;gap:4px;min-width:0;color:var(--text-main);font-size:13px;font-weight:500}.home-schedule-item-time{margin-left:0;min-width:0;color:var(--text-soft);font-size:13px;font-weight:500;text-align:right;white-space:nowrap}.home-schedule-item-students{display:flex;flex-direction:column;gap:3px;min-width:0;color:var(--text-muted);font-size:12px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.home-schedule-item-students span{min-width:0;overflow-wrap:anywhere}.managed-group-schedule-popup{display:grid;gap:14px;padding:18px 18px calc(24px + env(safe-area-inset-bottom))}.managed-group-schedule-popup-head{align-items:flex-start}.managed-group-schedule-popup-head .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;padding:0}.managed-group-schedule-title-row{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.managed-group-schedule-title-row h3{margin:0}.managed-group-schedule-status-shell{position:relative;display:inline-flex;align-items:center}.planner-completion-status-popover.managed-group-schedule-status-popover{top:calc(100% + 8px);right:auto;left:0;width:min(208px,calc(100vw - 32px));z-index:3}.managed-group-schedule-popup-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card-soft)}.managed-group-schedule-popup-summary-main{display:grid;gap:5px;min-width:0}.managed-group-schedule-popup-summary-main strong{color:var(--text-strong);font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.managed-group-schedule-popup-summary-main span{color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.35}.managed-group-schedule-info-button{min-height:32px;padding:7px 10px;border-radius:7px;font-size:12px;white-space:nowrap}.managed-group-schedule-member-list{display:grid;gap:7px;max-height:min(380px,44vh);overflow:auto}.managed-group-schedule-member-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card)}.managed-group-schedule-member-item>span{min-width:0;color:var(--text-main);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.managed-group-schedule-member-actions{display:inline-flex;align-items:center;gap:5px}.nav-button,.mobile-tab,.tab,.submit,.secondary,.btn-close,.chip,.floating-action,.theme-option,.planner-card,.student-card,.action-tile,.calendar-cell{border:0;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-button,.mobile-tab,.tab,.secondary,.btn-close,.chip{padding:7px;border-radius:0;border:1px solid var(--border-main);background:var(--bg-card-soft);color:var(--text-main)}.nav-button.active,.nav-button[data-active=true],.mobile-tab.active,.mobile-tab[data-active=true],.tab.active,.submit,.chip.active,.floating-action{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--text-on-accent);font-weight:700;box-shadow:var(--button-shadow)}.submit,.secondary,.btn-close,.floating-action{padding:14px 18px;border-radius:18px}.secondary{background:var(--bg-card);border:1px solid var(--border-main)}.btn-close{background:var(--button-neutral);color:var(--text-on-strong);border:0px solid var(--border-main)}.btn-close:hover{background:var(--button-neutral-hover)}.btn-close svg{width:18px;height:18px}.nav-button:hover,.mobile-tab:hover,.tab:hover,.secondary:hover,.chip:hover,.planner-card:hover,.student-card:hover,.action-tile:hover,.theme-option:hover,.calendar-cell:hover{background:var(--bg-hover)}.nav-button.active:hover,.nav-button[data-active=true]:hover,.mobile-tab.active:hover,.mobile-tab[data-active=true]:hover,.tab.active:hover,.chip.active:hover{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--text-on-accent);box-shadow:var(--button-shadow)}.planner-card.active,.student-card.active,.theme-option.active{border-color:var(--accent);background:var(--bg-card-strong);box-shadow:0 0 0 1px var(--accent-ghost),var(--shadow-sm)}.form input,.form textarea,.form select,.filter-row input,.filter-row select,.detail-row input,.detail-row textarea,.detail-row select{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-main);background:var(--bg-input);color:var(--text-strong)}:root[data-theme=dark] .detail-row input,:root[data-theme=dark] .detail-row textarea,:root[data-theme=dark] .detail-row select{border:1px solid #12151f}input::placeholder,textarea::placeholder{color:var(--text-soft)}input[type=date],input[type=time],input[type=month]{color-scheme:inherit}input:focus,textarea:focus,select:focus,button:focus-visible{outline:none;background:var(--bg-surface)}.filter-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 120px;gap:12px;margin:16px 0}.student-filter-row{grid-template-columns:minmax(0,1fr) minmax(132px,180px) 56px;align-items:stretch}.student-filter-row input,.student-filter-row select,.student-filter-row .search-submit{min-height:44px}.student-filter-row input,.student-filter-row select{font-weight:700}.student-filter-row input::placeholder{font-weight:600}.planner-filter-row{grid-template-columns:minmax(0,1fr) 180px 140px}.search-submit{display:inline-flex;align-items:center;justify-content:center;padding:0}.search-submit svg{width:20px;height:20px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--border-main);font-size:13px;font-weight:700}.badge.neutral{background:var(--bg-card-soft);color:var(--text-main)}.badge.accent{background:var(--accent-soft);color:var(--accent-strong)}.badge.success{background:#008b8b;color:#fff}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge[data-status=upcoming]{background:salmon;padding:5px 10px;font-size:11px;font-weight:500;color:#fff}.badge[data-status=completed]{background:#008b8b;padding:5px 10px;font-size:11px;font-weight:500;color:#fff}.planner-card-list.compact-list{gap:10px}.planner-card.compact{padding:14px}.detail-panel{min-height:720px}.students-layout-list-only{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.student-list-panel{min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden;padding-bottom:96px;transition:filter .22s ease,opacity .22s ease,transform .22s ease}.student-grades-page{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 96px}.home-schedule-item-calendar-icon{width:14px;height:14px;flex:0 0 auto}.auth-login-success-notice{margin:-4px 0 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--success) 24%,transparent);border-radius:12px;background:color-mix(in srgb,var(--success-soft) 72%,transparent);color:var(--success);font-size:13px;font-weight:600;line-height:1.4}.auth-verification-panel{display:grid;justify-items:center;gap:16px;padding:8px 0 2px;text-align:center}.auth-verification-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);font-size:24px;font-weight:800}.auth-verification-panel h2{margin:0 0 8px;color:var(--text-strong);font-size:20px}.auth-verification-panel p{margin:4px 0;color:var(--text-muted);font-size:13px;line-height:1.55}.auth-verification-panel p strong{color:var(--text-main);overflow-wrap:anywhere}.auth-verification-panel .auth-verification-lead{color:var(--text-main);font-weight:700}.auth-verification-panel .submit{width:100%}.student-grades-page-content{min-width:0;display:grid;gap:16px}.student-grades-page-toolbar{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-grades-student-search{position:relative;min-width:0;width:min(420px,100%);flex:1 1 320px}.student-grades-student-search>input,.student-grades-group-select{min-height:42px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card);color:var(--text-strong);font-size:13px;font-weight:750}.student-grades-student-search>input{width:100%;padding:10px 12px}.student-grades-group-select{width:min(220px,42vw);flex:0 1 220px;margin-left:auto;padding:9px 34px 9px 12px}.student-grades-search-results{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card);box-shadow:0 14px 34px #1f2a4429}.student-grades-search-results>button{width:100%;min-width:0;display:grid;gap:3px;padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--border-main) 68%,transparent);border-radius:0;background:transparent;color:var(--text-strong);text-align:left;box-shadow:none}.student-grades-search-results>button:last-of-type{border-bottom:0}.student-grades-search-results>button:hover,.student-grades-search-results>button:focus-visible,.student-grades-search-results>button[aria-selected=true]{background:var(--bg-hover);box-shadow:none}.student-grades-search-results>button strong,.student-grades-search-results>button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-grades-search-results>button strong{font-size:13px;font-weight:900}.student-grades-search-results>button span{color:var(--text-muted);font-size:11px;font-weight:700}.student-grades-search-message{display:block;padding:16px 12px;color:var(--text-muted);font-size:12px;font-weight:750;text-align:center}.student-grades-page-empty{margin:0;padding:72px 16px;border-radius:10px;background:var(--bg-card-soft)}.students-layout>.student-list-panel:not(.lesson-color-page):not(.lesson-extension-page):not(.student-grades-page){padding-bottom:0}.student-list-panel.is-hidden{display:none}.students-layout.is-detail-open .student-list-panel{filter:blur(2px);opacity:.72;transform:scale(.995);pointer-events:none}.student-search-summary-banner{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;border-radius:0;background:transparent}.student-search-summary-meta{min-width:0;display:flex;align-items:center;gap:8px}.student-search-summary-text{min-width:0;color:var(--accent-strong);font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-search-summary-clear{flex:0 0 auto;padding:5px 10px;border-radius:12px;font-size:12px}.student-list-status-row{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.student-list-total{display:inline-flex;align-items:baseline;gap:6px;color:var(--text-soft);font-size:12px;font-weight:800}.student-list-total-main{color:var(--text-main);font-weight:900}.student-list-total-breakdown{color:var(--text-muted);font-weight:600}.student-list-excel-button{flex:0 0 auto;width:32px;height:32px;padding:7px;border:0;border-radius:8px;background:transparent;color:var(--success);box-shadow:none}.student-list-excel-button:hover,.student-list-excel-button:focus-visible{background:var(--bg-hover);color:var(--success);box-shadow:none}.student-list-excel-button svg{width:100%;height:100%}.student-excel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#0f172a47}.student-excel-modal{width:min(380px,100%);display:grid;gap:14px;padding:16px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-panel);box-shadow:var(--shadow-md)}.student-excel-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-excel-modal-head strong{color:var(--text-strong);font-size:14px}.student-excel-modal .btn-close{width:38px;height:38px;border-radius:50%;padding:10px}.student-excel-modal-copy{margin:0;color:var(--text-main);font-size:13px;font-weight:700;line-height:1.45}.student-excel-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-excel-modal-actions .submit{background:linear-gradient(135deg,#5070bb,#314c8b)}.student-excel-download-button{justify-self:end;width:150px;background:linear-gradient(135deg,#5070bb,#314c8b)}.student-list-table{display:grid;gap:10px}.student-list-panel>.student-list-table{flex:1 1 auto;align-content:start;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px}.student-list-item{width:100%;text-align:left;display:grid;gap:12px;padding:16px 18px;font-weight:600}.student-list-item span,.student-list-item strong,.student-list-item small,.student-list-contact-button{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.student-list-code{color:var(--text-soft);font-size:11px;font-weight:700}.student-list-primary{display:flex;align-items:center;gap:12px}.student-list-main{flex:1 1 auto;min-width:0;display:grid;gap:4px;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;text-align:left}.student-list-main:hover,.student-list-main:focus-visible{background:transparent;box-shadow:none}.student-list-summary{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.student-list-name{font-size:16px;font-weight:800}.student-list-school{font-size:13px;font-weight:600;color:var(--text-soft)}.student-list-sticky-head{position:sticky;top:0;z-index:5;padding:8px 0;background:var(--bg-app)}.lesson-extension-page{align-content:start;grid-template-rows:auto minmax(0,1fr) auto;gap:0;height:calc(100vh - var(--app-header-height) - 16px - var(--app-mobile-tabbar-height) - 28px);min-height:0;overflow:hidden;padding-bottom:0}.lesson-extension-sticky-head{position:relative;background:transparent}.lesson-extension-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}.lesson-extension-tabs>button{min-height:34px;padding:7px 8px;border:1px solid var(--border-main);border-radius:0;background:var(--bg-input);color:var(--text-main);box-shadow:none;font-size:14px;font-weight:800}.app-shell[data-native-platform=android] .lesson-extension-page .lesson-extension-tabs>button{font-size:13px}.app-shell[data-native-platform=android] .lesson-extension-page .lesson-extension-meta{font-size:11px}.app-shell[data-native-platform=android] .lesson-extension-page .lesson-extension-next-button{font-size:13px}.lesson-extension-tabs>button.is-active{border-color:var(--accent);background:var(--accent);color:var(--bg-sidebar)}:root[data-theme=dark] .lesson-extension-tabs>button,:root[data-theme=dark] .lesson-extension-tabs>button:hover,:root[data-theme=dark] .lesson-extension-tabs>button:focus-visible{background:transparent}:root[data-theme=dark] .lesson-extension-tabs>button.is-active{border-color:var(--accent);background:var(--accent);color:var(--bg-sidebar)}.lesson-extension-tab-description{margin:0 0 8px;color:var(--text-soft);font-size:12px;font-weight:600;line-height:1.35}.lesson-extension-expired-help{margin-top:-4px}.lesson-extension-expired-help strong{color:var(--danger, #d9485f);font-weight:900}.lesson-extension-expired-help .underlined{text-decoration:underline;text-underline-offset:3px}.lesson-extension-count-row{display:flex;align-items:center;gap:12px}.lesson-extension-inline-notice{margin:8px 0 0;color:var(--danger, #d9485f);font-size:12px;font-weight:800;line-height:1.35}.lesson-extension-select-all{display:inline-flex;align-items:center;gap:6px;color:var(--text-main);font-size:12px;font-weight:800}.lesson-extension-select-all input,.lesson-extension-checkbox input{width:16px;height:16px;accent-color:var(--accent)}.lesson-extension-subject-select{min-width:120px;height:34px;border:1px solid var(--border-main);border-radius:0;background:var(--bg-input);color:var(--text-main);font-size:12px;font-weight:700}.lesson-extension-bulk-button{background:#37a5a6;padding:9px 12px;border-radius:5px;font-size:12px;white-space:nowrap}.lesson-extension-list{align-content:start;grid-auto-rows:max-content;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 2px 12px}.lesson-extension-page>.pagination{padding-top:8px;padding-bottom:5px}.lesson-extension-item{gap:10px;background:var(--bg-card);cursor:default;-webkit-tap-highlight-color:transparent;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.student-list-item.lesson-extension-item{min-width:0;max-width:100%;padding:14px 9px}.lesson-extension-item button,.lesson-extension-item input,.lesson-extension-item label{cursor:pointer}.lesson-extension-item:hover,.lesson-extension-item:focus,.lesson-extension-item:focus-visible,.lesson-extension-item:active{background:var(--bg-card);outline:none}.lesson-extension-item.active,.lesson-extension-item.active:hover,.lesson-extension-item.active:focus,.lesson-extension-item.active:focus-visible,.lesson-extension-item.active:active{border-color:var(--accent);background:var(--bg-card-strong);box-shadow:0 0 0 1px var(--accent-ghost),var(--shadow-sm)}:root[data-theme=dark] .lesson-extension-item.active,:root[data-theme=dark] .lesson-extension-item.active:hover,:root[data-theme=dark] .lesson-extension-item.active:focus,:root[data-theme=dark] .lesson-extension-item.active:focus-visible,:root[data-theme=dark] .lesson-extension-item.active:active{background:#191d28}.lesson-extension-primary{display:flex;align-items:flex-start;min-width:0;gap:9px}.lesson-extension-checkbox{flex:0 0 auto;padding-top:4px}.lesson-extension-main{gap:5px}.lesson-extension-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.35}.lesson-extension-end-date.is-soon{color:var(--text-soft)}.lesson-extension-next-period-row{display:inline-flex;align-items:center;gap:6px}.lesson-extension-period-button{min-height:24px;padding:4px 7px;border:1px solid var(--border-main);border-radius:5px;background:var(--bg-input);color:var(--accent-strong);box-shadow:none;font-size:11px;font-weight:800}:root[data-theme=dark] .lesson-extension-period-button{background:#191d28}.lesson-extension-actions{flex:0 0 auto;display:grid;gap:8px;margin-left:auto}.lesson-extension-next-button{justify-self:stretch;width:100%;min-width:0;padding:10px 12px;border-radius:12px;font-size:14px;font-weight:500;background:var(--accent);color:var(--bg-sidebar);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.lesson-extension-next-button.is-ending-soon{background:#d2554d;color:var(--bg-sidebar)}.lesson-extension-period-overlay{z-index:270}.lesson-extension-period-sheet{width:min(440px,100%);display:grid;gap:14px}.lesson-extension-period-fields{display:flex;justify-content:space-between;gap:10px}.lesson-extension-period-fields label{flex:1 1 0;min-width:0;display:grid;gap:5px;color:var(--text-main);font-size:12px;font-weight:800}.lesson-extension-period-fields input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--border-main);border-radius:5px;background:var(--bg-input);color:var(--text-strong);font-size:14px;font-weight:700}:root[data-theme=dark] .lesson-extension-period-fields input{background:#2c3141}.lesson-extension-period-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}:root[data-theme=dark] .lesson-extension-period-actions{position:relative;display:flex;align-items:center;justify-content:space-around;gap:0}:root[data-theme=dark] .lesson-extension-period-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}:root[data-theme=dark] .lesson-extension-period-actions>button,:root[data-theme=dark] .lesson-extension-period-actions>button:hover,:root[data-theme=dark] .lesson-extension-period-actions>button:focus-visible{background:transparent;border:0;box-shadow:none}.lesson-extension-confirm-overlay{z-index:280}.lesson-extension-confirm-sheet{width:min(460px,100%);display:grid;gap:14px}.lesson-extension-confirm-question{margin:0;color:var(--text-strong);font-size:16px;font-weight:500;line-height:1.45}.lesson-extension-validation-message{margin:-4px 0 0;color:#e14b42;font-size:12px;font-weight:800;line-height:1.4;text-align:center;word-break:keep-all;overflow-wrap:anywhere}.lesson-extension-confirm-list{display:grid;gap:8px;margin:0}.lesson-extension-confirm-list>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border-main);border-radius:5px;background:var(--bg-input)}.lesson-extension-confirm-list dt{color:var(--text-soft);font-size:12px;font-weight:800}.lesson-extension-confirm-list dd{min-width:0;margin:0;color:var(--text-strong);font-size:13px;font-weight:800;overflow-wrap:anywhere}.lesson-extension-confirm-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;grid-auto-flow:column}.lesson-extension-confirm-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.lesson-extension-confirm-actions>button,.lesson-extension-confirm-actions>.secondary,.lesson-extension-confirm-actions>.submit{border:0}.lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close,.lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close:hover,.lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close:focus-visible{background:transparent;color:var(--text-strong)}:root[data-theme=dark] .lesson-extension-period-sheet .subject-picker-head-actions .btn-close,:root[data-theme=dark] .lesson-extension-period-sheet .subject-picker-head-actions .btn-close:hover,:root[data-theme=dark] .lesson-extension-period-sheet .subject-picker-head-actions .btn-close:focus-visible,:root[data-theme=dark] .lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close,:root[data-theme=dark] .lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close:hover,:root[data-theme=dark] .lesson-extension-confirm-sheet .subject-picker-head-actions .btn-close:focus-visible{background:transparent}:root[data-theme=dark] .lesson-extension-confirm-actions{position:relative;display:flex;align-items:center;justify-content:space-around;gap:0}:root[data-theme=dark] .lesson-extension-confirm-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}:root[data-theme=dark] .lesson-extension-confirm-actions>button,:root[data-theme=dark] .lesson-extension-confirm-actions>.secondary,:root[data-theme=dark] .lesson-extension-confirm-actions>.submit{flex:0 0 auto;border:0;background:transparent;box-shadow:none}:root[data-theme=dark] .lesson-extension-confirm-actions>button:hover,:root[data-theme=dark] .lesson-extension-confirm-actions>button:focus-visible{background:transparent;box-shadow:none}.lesson-extension-bulk-confirm-sheet{grid-template-rows:auto auto auto minmax(0,1fr) auto;max-height:min(78vh,680px);overflow:hidden}.lesson-extension-bulk-list{min-height:0;overflow-y:auto;display:grid;gap:8px;padding-right:2px}.lesson-extension-bulk-item{display:grid;gap:4px;padding:10px;border:1px solid var(--border-main);border-radius:5px;background:var(--bg-subject-picker-sheet)}.lesson-extension-bulk-item strong{color:var(--text-strong);font-size:15px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.lesson-extension-bulk-item span{color:var(--text-soft);font-size:14px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.lesson-extension-confirm-periods{display:grid;gap:3px}.lesson-extension-confirm-periods span{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0}.lesson-extension-confirm-periods b{flex:0 0 auto;color:inherit;font-size:13px;font-weight:600}.lesson-extension-confirm-periods b+*{min-width:0;text-align:left}.lesson-group-page{gap:0;height:calc(100vh - var(--app-header-height) - 16px - var(--app-mobile-tabbar-height) - 28px);min-height:0;overflow:hidden;padding-bottom:0}.lesson-group-sticky-head{position:relative;flex:0 0 auto;gap:10px;background:transparent}.lesson-group-scroll-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.lesson-group-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-group-select-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.lesson-group-select-main{display:flex;align-items:center;gap:10px;min-width:0}.lesson-group-select-main select{flex:1 1 auto;min-width:120px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:9px 12px}.lesson-group-select-main span{flex:0 0 auto;color:var(--text-muted);font-size:.9rem}.lesson-group-select-extension-button{flex:0 0 auto;min-width:0;padding:9px 12px;border-radius:3px;background:#37a5a6;box-shadow:none;font-size:13px;font-weight:500;white-space:nowrap}.lesson-group-card-list{display:flex;flex-direction:column;flex:0 0 auto;gap:10px;min-height:0;overflow:visible;padding:0}.lesson-group-card,.lesson-group-member-card{display:grid;gap:12px;min-width:0;padding:14px;background:var(--bg-card);cursor:default}.lesson-group-card:hover,.lesson-group-card:focus,.lesson-group-card:focus-visible,.lesson-group-card:focus-within,.lesson-group-card:active,.lesson-group-card.active,.lesson-group-card.active:hover,.lesson-group-card.active:focus,.lesson-group-card.active:focus-visible,.lesson-group-card.active:active,.lesson-group-member-card:hover,.lesson-group-member-card:focus,.lesson-group-member-card:focus-visible,.lesson-group-member-card:focus-within,.lesson-group-member-card:active,.lesson-group-member-card.active,.lesson-group-member-card.active:hover,.lesson-group-member-card.active:focus,.lesson-group-member-card.active:focus-visible,.lesson-group-member-card.active:active{border-color:var(--border-main);background:var(--bg-card);box-shadow:none;transform:none}:root[data-theme=dark] .lesson-group-card,:root[data-theme=dark] .lesson-group-card:hover,:root[data-theme=dark] .lesson-group-card:focus,:root[data-theme=dark] .lesson-group-card:focus-visible,:root[data-theme=dark] .lesson-group-card:focus-within,:root[data-theme=dark] .lesson-group-card:active,:root[data-theme=dark] .lesson-group-card.active,:root[data-theme=dark] .lesson-group-card.active:hover,:root[data-theme=dark] .lesson-group-card.active:focus,:root[data-theme=dark] .lesson-group-card.active:focus-visible,:root[data-theme=dark] .lesson-group-card.active:active,:root[data-theme=dark] .lesson-group-member-card,:root[data-theme=dark] .lesson-group-member-card:hover,:root[data-theme=dark] .lesson-group-member-card:focus,:root[data-theme=dark] .lesson-group-member-card:focus-visible,:root[data-theme=dark] .lesson-group-member-card:focus-within,:root[data-theme=dark] .lesson-group-member-card:active,:root[data-theme=dark] .lesson-group-member-card.active,:root[data-theme=dark] .lesson-group-member-card.active:hover,:root[data-theme=dark] .lesson-group-member-card.active:focus,:root[data-theme=dark] .lesson-group-member-card.active:focus-visible,:root[data-theme=dark] .lesson-group-member-card.active:active{background:#2b3340}.lesson-group-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.lesson-group-member-main{display:grid;gap:5px;min-width:0}.lesson-group-card-head strong,.lesson-group-member-main strong{overflow-wrap:anywhere}.lesson-group-same-label,.lesson-group-card-body span,.lesson-group-member-main span{color:var(--text-muted);font-size:.88rem;overflow-wrap:anywhere}.lesson-group-same-label{color:var(--text-main);font-weight:700}.lesson-group-member-count{color:var(--text-muted);font-size:.82rem;font-weight:400}.lesson-group-card-head .lesson-group-same-label{flex:0 1 auto;text-align:right}.lesson-group-card-body{display:grid;gap:8px;min-width:0}.lesson-group-card-student-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}.lesson-group-card-student-main{display:inline-flex;align-items:center;gap:6px;min-width:0}.lesson-group-card-student-main>span{min-width:0}.lesson-group-card-student-main>span:first-child{color:#2c3141;font-size:15px;font-weight:400}.lesson-group-card-student-actions{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.lesson-group-card-student-actions .lesson-schedule-icon-button{width:26px;height:26px}.lesson-group-card-student-actions .lesson-schedule-icon-button svg{width:14px;height:14px}.lesson-group-card-student-period{justify-self:end;text-align:right;white-space:nowrap}:root[data-theme=dark] .lesson-group-card-student-main>span:first-child,:root[data-theme=dark2] .lesson-group-card-student-main>span:first-child{color:#fff}.lesson-group-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}.lesson-group-actions button,.lesson-group-member-main button{min-width:0}.lesson-group-view-button,.lesson-group-extension-button{border-radius:3px;padding:5px 10px;height:40px}.lesson-group-view-button{color:#fff;background:#708090}.lesson-group-view-button:hover,.lesson-group-view-button:focus-visible,.lesson-group-view-button:active{color:#fff;background:#708090;box-shadow:none}.lesson-group-extension-button{background:#cd5c5c;box-shadow:none;font-weight:500}.lesson-group-member-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.lesson-group-member-icons{display:grid;gap:8px}.managed-lesson-group-sticky-head{padding-bottom:8px}.managed-lesson-group-head-row{justify-content:space-between}.managed-lesson-group-filter-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.managed-lesson-group-filter-select{min-width:104px;height:32px;padding:0 28px 0 10px;border:1px solid var(--border-main);border-radius:7px;background:var(--bg-card-soft);color:var(--text-strong);font:inherit;font-size:13px;font-weight:800}.managed-lesson-group-head-row strong{color:var(--text-main);font-size:.95rem}.managed-lesson-group-filter-notice{margin:6px 0 0;color:var(--text-muted);font-size:12px;font-weight:700;line-height:1.4;word-break:keep-all}.managed-lesson-group-card-head{display:grid;justify-content:stretch;align-items:start;gap:6px}.managed-lesson-group-card-head>strong{display:inline-flex;align-items:center;gap:6px;min-width:0}.managed-lesson-group-title-side{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px;width:100%;min-width:0}.managed-lesson-group-title-side .lesson-group-same-label{flex:1 1 100%;min-width:0;text-align:left;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.managed-lesson-group-source-wrap{display:inline-flex;align-items:center;flex:0 0 auto}.managed-lesson-group-source-pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-card-soft);color:var(--text-muted);padding:3px 7px;font-size:.72rem;font-weight:700;line-height:1}.managed-lesson-group-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-group-triple-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.managed-lesson-group-sheet .lesson-schedule-scroll-body{padding-bottom:8px}.managed-lesson-group-sheet .btn-close,.managed-group-conversion-alert-sheet .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%}.managed-lesson-group-form{gap:12px}.managed-lesson-group-name-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;width:100%}.managed-lesson-group-name-control>input{min-width:0}.managed-lesson-group-name-row.is-auto .managed-lesson-group-name-control>input{border-top-right-radius:0;border-bottom-right-radius:0}.managed-lesson-group-name-submit{min-width:58px;border:1px solid var(--border-main);border-left:0;border-radius:0 8px 8px 0;background:#e14b42;color:#fff;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.managed-lesson-group-name-submit:hover,.managed-lesson-group-name-submit:focus-visible{background:#e14b42;color:#fff;outline:none}.managed-lesson-auto-actions{grid-template-columns:minmax(0,1fr)}.managed-lesson-auto-notice{display:grid;gap:6px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-card-soft);padding:12px;color:var(--text-muted);font-size:13px;line-height:1.45}.managed-lesson-auto-notice p{margin:0}.managed-lesson-fee-sync-toggle{display:inline-flex;align-items:center;gap:7px;min-height:30px;color:var(--text-main);font-size:13px;font-weight:800}.managed-lesson-fee-sync-toggle input{width:15px;height:15px;accent-color:var(--accent)}.managed-lesson-fee-required{margin-left:0}.managed-lesson-members-sheet .empty{width:100%;margin:8px 0}.managed-lesson-members-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.managed-lesson-members-meta-row .group-lesson-sheet-same-label{margin:0}.managed-lesson-student-picker-button,.managed-lesson-student-picker-button:hover,.managed-lesson-student-picker-button:focus-visible{flex:0 0 auto;min-height:30px;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:900}.managed-lesson-student-picker-layer{position:relative;z-index:2;display:flex;flex-direction:column;gap:10px;width:min(560px,100%);max-height:min(560px,68vh);margin-left:auto;margin-bottom:10px;overflow:hidden;padding:14px;border:1px solid var(--border-main);border-radius:0 0 12px 12px;background:var(--bg-panel);box-shadow:var(--shadow-lg)}.managed-lesson-members-sheet{position:relative;z-index:1}.managed-lesson-members-overlay.is-picker-open{align-items:stretch;grid-template-rows:minmax(0,2fr) minmax(0,1fr);gap:10px;overflow:hidden;padding:0}.managed-lesson-members-overlay.is-picker-open .managed-lesson-student-picker-layer{width:min(560px,100%);height:100%;max-height:none;min-height:0;margin:0 0 0 auto}.managed-lesson-members-overlay.is-picker-open .managed-lesson-members-sheet{width:min(560px,100%);height:100%;max-height:none;min-height:0;margin-left:auto;overflow:hidden;padding:10px 14px 12px}.managed-lesson-members-overlay.is-picker-open .managed-lesson-members-sheet>.subject-picker-sheet-head{display:none}.managed-lesson-members-overlay.is-picker-open .managed-lesson-members-sheet>.group-lesson-student-list,.managed-lesson-members-overlay.is-picker-open .managed-lesson-student-picker-list{min-height:0;max-height:none;overflow:auto}.managed-lesson-members-overlay.is-picker-open .managed-lesson-members-sheet>.group-lesson-student-list{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding-bottom:0}.managed-lesson-student-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.managed-lesson-student-picker-head>div{display:grid;gap:3px;min-width:0}.managed-lesson-student-picker-head>strong{color:var(--text-strong);font-size:13px;font-weight:900}.managed-lesson-student-picker-head .page-kicker{margin:0}.managed-lesson-student-picker-head .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%}.managed-lesson-student-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.managed-lesson-student-picker-toolbar input{min-width:0;min-height:32px;padding:0 10px;border:1px solid var(--border-main);border-radius:7px;background:var(--bg-card-soft);color:var(--text-main);font:inherit;font-size:13px}.managed-lesson-student-picker-toolbar>.submit{min-height:32px;padding:7px 12px;border-radius:7px;font-size:12px}.managed-lesson-student-picker-list{display:grid;flex:1 1 auto;align-content:start;gap:7px;min-height:0;max-height:min(400px,46vh);overflow:auto}.managed-lesson-student-picker-pagination .pagination-page:disabled{color:var(--text-soft);opacity:1}.managed-lesson-student-picker-pagination .pagination-icon-button:disabled{color:var(--text-soft);opacity:1}.managed-lesson-student-picker-pagination .pagination-page.is-active,.managed-lesson-student-picker-pagination .pagination-page.is-active:disabled,.managed-lesson-student-picker-pagination .pagination-page.is-active:hover,.managed-lesson-student-picker-pagination .pagination-page.is-active:focus-visible{color:var(--text-strong);font-weight:800}.managed-lesson-student-picker-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:42px;padding:8px 10px;border:1px solid var(--border-main);border-radius:7px;background:var(--bg-card-soft);color:var(--text-main)}.managed-lesson-student-picker-item input{width:15px;height:15px;accent-color:var(--accent)}.managed-lesson-student-picker-item>span{display:grid;grid-template-columns:minmax(0,1fr) 60px;align-items:center;gap:8px;min-width:0}.managed-lesson-student-picker-item strong,.managed-lesson-student-picker-item small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-lesson-student-picker-item small{width:60px;color:var(--text-muted);font-size:12px;text-align:right}.managed-lesson-student-picker-item.is-disabled{opacity:.55}.managed-lesson-registration-rejected-layer{display:grid;gap:10px;width:min(560px,100%);max-height:min(320px,42vh);margin-left:auto;margin-bottom:10px;overflow:hidden;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-panel);box-shadow:var(--shadow-lg)}.managed-lesson-registration-rejected-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.managed-lesson-registration-rejected-head>strong{color:var(--text-strong);font-size:14px;font-weight:900}.managed-lesson-registration-rejected-head .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%}.managed-lesson-registration-rejected-layer .group-lesson-student-list{max-height:min(240px,31vh);overflow:auto;padding-bottom:0}.managed-lesson-registration-rejected-layer .group-lesson-student-item{min-height:48px}.group-lesson-sheet .group-lesson-student-item{text-align:left;width:100%}.group-lesson-sheet-same-label{margin:4px 0 0;color:var(--text-strong);font-size:.9rem;font-weight:500;line-height:1.35}.group-lesson-members-sheet .group-lesson-student-item{display:grid;grid-template-columns:minmax(0,1fr) 105px;align-items:center;gap:8px;border:1px solid var(--border-main);border-radius:6px;background:var(--bg-subject-picker-sheet);padding:5px}.group-lesson-members-sheet .group-lesson-student-main{display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:6px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;color:inherit;text-align:left}.group-lesson-members-sheet .group-lesson-student-main strong,.group-lesson-members-sheet .group-lesson-student-main small{display:block;width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.group-lesson-members-sheet .group-lesson-student-actions{display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:row;gap:6px;min-width:0;width:105px}.group-lesson-members-sheet .managed-lesson-member-remove-button:disabled{cursor:progress;opacity:.55}.group-lesson-members-sheet>.subject-picker-sheet-head .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;padding:0;background:transparent;color:var(--text-strong)}.group-lesson-members-sheet>.subject-picker-sheet-head .btn-close:hover,.group-lesson-members-sheet>.subject-picker-sheet-head .btn-close:focus-visible{background:transparent;color:var(--text-strong)}.group-lesson-extension-sheet{max-height:min(86vh,720px)}.group-lesson-extension-sheet .subject-picker-sheet-head{align-items:stretch;gap:10px}.group-lesson-extension-sheet .subject-picker-head-actions{align-items:flex-start;height:100%}.group-lesson-extension-head-main{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-width:0;flex:1 1 auto}.group-lesson-extension-copy{display:grid;min-width:0}.group-lesson-extension-select-all{flex:0 0 auto;padding-bottom:2px;white-space:nowrap}.group-lesson-extension-title{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.group-lesson-extension-title small{color:var(--text-muted);font-size:12px;font-weight:600}.group-lesson-extension-lesson{margin:4px 0 0;color:var(--text-main);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.group-lesson-extension-list{max-height:52vh;overflow-x:hidden;overflow-y:auto}.group-lesson-extension-item{gap:10px;padding:5px;min-width:0}.group-lesson-extension-item.is-disabled{opacity:.62}.group-lesson-extension-check{justify-content:flex-start;padding:0}.group-lesson-extension-check strong{color:var(--text-strong);font-size:15px;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.group-lesson-extension-inactive-badge{flex:0 0 auto;border-radius:999px;background:var(--danger-soft);padding:2px 6px;color:var(--danger);font-size:11px;font-style:normal;font-weight:800;line-height:1.2}.group-lesson-extension-card-meta,.group-lesson-extension-period-summary{color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.group-lesson-extension-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;padding:0}.group-lesson-extension-fields label{min-width:0}.group-lesson-extension-fields input{min-width:0;width:100%}.group-lesson-extension-date-separator{color:var(--text-soft);font-size:14px;font-weight:800}.group-lesson-extension-sheet .lesson-extension-confirm-actions{display:flex;align-items:center;justify-content:space-around;gap:0}.group-lesson-extension-sheet .lesson-extension-confirm-actions:before{left:50%;background:var(--border-main)}.group-lesson-extension-sheet .lesson-extension-confirm-actions>button,.group-lesson-extension-sheet .lesson-extension-confirm-actions>.secondary,.group-lesson-extension-sheet .lesson-extension-confirm-actions>.submit,.group-lesson-extension-sheet .lesson-extension-confirm-actions>button:hover,.group-lesson-extension-sheet .lesson-extension-confirm-actions>button:focus-visible,.group-lesson-extension-sheet .lesson-extension-confirm-actions>button:active{flex:0 0 auto;min-width:0;padding:10px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:15px;font-weight:600}.group-lesson-extension-sheet .lesson-extension-confirm-actions>.secondary{color:var(--text-main)}.group-lesson-extension-sheet .lesson-extension-confirm-actions>.submit{color:#e14b42}.group-lesson-extension-sheet .lesson-extension-confirm-actions>button:disabled{opacity:.55}.student-list-schedule-button{flex:0 0 auto}.student-list-contact-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:center}.student-list-contact-button{display:inline-flex;align-items:baseline;gap:4px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:13px;font-weight:700;text-align:left}.student-list-contact-button.is-parent{justify-self:end;justify-content:flex-end;text-align:right}.student-list-contact-button:hover,.student-list-contact-button:focus-visible{background:transparent;box-shadow:none;color:var(--accent)}.student-list-contact-button:disabled{color:var(--text-soft);cursor:default}.student-list-contact-button:disabled:hover,.student-list-contact-button:disabled:focus-visible{color:var(--text-soft)}.student-list-contact-label{flex:0 0 auto;color:var(--text-soft)}.student-list-contact-value{min-width:0}.student-list-item.is-inactive .student-list-code,.student-list-item.is-inactive .student-list-name,.student-list-item.is-inactive .student-list-school,.student-list-item.is-inactive .student-list-contact-label,.student-list-item.is-inactive .student-list-contact-value{color:var(--text-soft)}.student-list-item.is-inactive .student-list-schedule-button{opacity:.72}.pagination{justify-content:center;gap:14px;padding-top:5px;flex-wrap:wrap}.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.pagination-page-group{display:inline-flex;align-items:center;gap:8px}.pagination-separator{color:var(--button-neutral);font-size:10px;font-weight:600}.pagination-page,.pagination-icon-button{padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;color:var(--text-soft);font-size:12px;font-weight:500}.pagination-page{min-width:10px;line-height:1}.pagination-page.is-active{color:var(--text-strong);font-weight:800}.pagination-page:hover,.pagination-page:focus-visible,.pagination-icon-button:hover,.pagination-icon-button:focus-visible{background:transparent;box-shadow:none;color:var(--accent-strong)}.pagination-page:disabled,.pagination-icon-button:disabled{color:var(--text-soft);opacity:.5}.pagination-icon-button{width:18px;height:18px;display:inline-grid;place-items:center}.pagination-icon-button svg{width:16px;height:16px}.pagination-page-size{min-height:25px;padding:0 8px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-main);font-size:12px;font-weight:700}:root[data-theme=dark] .pagination-page-size{background:#12151f}.student-detail-overlay{position:fixed;top:0;left:var(--app-header-offset-left);right:0;bottom:0;display:grid;align-content:start;justify-items:center;padding:calc(env(safe-area-inset-top) + 108px) 12px calc(16px + env(safe-area-inset-bottom));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:45;animation:student-detail-overlay-fade .22s ease-out}:root[data-theme=dark] .student-detail-overlay,:root[data-theme=dark2] .student-detail-overlay{background:#030712a3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.student-detail-modal{width:min(100%,1120px);max-height:min(780px,calc(100dvh - 140px - env(safe-area-inset-bottom)));min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;box-shadow:0 24px 60px #0f172a3d;animation:student-detail-modal-unfold .26s ease-out}@keyframes student-detail-overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes student-detail-modal-unfold{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-panel{--shadow-sm: 0 16px 30px rgba(42, 105, 128, .1);--shadow-focus: 0 0 0 4px rgba(79, 169, 198, .22);--bg-panel: rgba(255, 255, 255, .92);--bg-card: #ffffff;--bg-card-soft: #f4fbfd;--bg-card-strong: #e6f6fb;--bg-input: #fcfeff;--bg-hover: rgba(79, 169, 198, .12);--text-strong: #193247;--text-main: #355165;--text-muted: #688297;--text-soft: #88a0b2;--border-main: rgba(44, 89, 112, .1);--border-soft: rgba(44, 89, 112, .06);--divider: rgba(44, 89, 112, .08);--accent: #4fa9c6;--accent-strong: #2f89a7;--accent-soft: #e6f6fb;--accent-ghost: rgba(79, 169, 198, .14);--button-neutral: #486270;--button-neutral-hover: #3d5562;--button-shadow: 0 16px 30px rgba(47, 137, 167, .2);background:var(--bg-panel)}:root:is([data-theme=light3],[data-theme=light_on]) .schedule-detail-panel{--shadow-sm: 0 16px 30px rgba(42, 105, 128, .1);--shadow-md: 0 26px 72px rgba(42, 105, 128, .14);--shadow-focus: 0 0 0 4px rgba(79, 169, 198, .22);--bg-app: linear-gradient(180deg, #fbf6ee 0%, #f2fbfd 44%, #e8f7fb 100%);--bg-surface: rgba(255, 255, 255, .84);--bg-panel: rgba(255, 255, 255, .92);--bg-card: #ffffff;--bg-card-soft: #f4fbfd;--bg-card-strong: #e6f6fb;--bg-input: #fcfeff;--bg-hover: rgba(79, 169, 198, .12);--text-strong: #193247;--text-main: #355165;--text-muted: #688297;--text-soft: #88a0b2;--border-main: rgba(44, 89, 112, .1);--border-soft: rgba(44, 89, 112, .06);--divider: rgba(44, 89, 112, .08);--accent: #4fa9c6;--accent-strong: #2f89a7;--accent-soft: #e6f6fb;--accent-ghost: rgba(79, 169, 198, .14);--button-neutral: #486270;--button-neutral-hover: #3d5562;--button-shadow: 0 16px 30px rgba(47, 137, 167, .2)}:root[data-theme=dark] .student-detail-panel{background:#131923e6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}:root[data-theme=dark] .student-detail-tabs .tab.active,:root[data-theme=dark] .student-detail-tabs .tab.active:hover,:root[data-theme=dark] .student-detail-tabs .tab.active:active,:root[data-theme=dark] .student-detail-tabs .tab.active:focus,:root[data-theme=dark] .student-detail-tabs .tab.active:focus-visible{background:var(--accent);color:var(--bg-input);box-shadow:none;border:0;border-radius:5px;outline:none}.student-detail-header{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding-right:44px;padding-bottom:20px}.student-detail-title-row{display:inline-flex;align-items:center;gap:5px}.student-detail-title-row.is-view{align-items:flex-start}.student-detail-title-row.is-view .badge{margin-top:2px}.student-detail-title-copy{display:flex;flex-direction:row;align-items:center;gap:5px}.student-detail-title-copy.is-view{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:5px;min-width:0}.student-detail-title-copy h2{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:0;min-width:0}.student-detail-title-copy h2>span:first-child{min-width:0;overflow-wrap:anywhere}.student-detail-school-meta{color:var(--text-soft);font-size:.6em;font-weight:500;line-height:1.1}.student-detail-title-copy.is-view .student-detail-title-meta{font-size:12px;font-weight:700;line-height:1.2;color:var(--text-soft);white-space:nowrap}.student-detail-title-row .badge{gap:4px;padding:4px 8px;font-size:11px;line-height:1}.student-detail-close{position:absolute;top:0;right:0;width:25px;height:25px;display:inline-grid;place-items:center;padding:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--text-strong);z-index:4}.student-detail-close:hover,.student-detail-close:active,.student-detail-close:focus,.student-detail-close:focus-visible{background:transparent;box-shadow:none;outline:none}.student-detail-close svg{width:18px;height:18px}.student-detail-tabs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0 12px 10px;gap:4px;border-bottom:1px solid color-mix(in srgb,var(--border-main) 70%,transparent);background:#fff0}.student-detail-tabs .tab{min-width:0;border:0;background:#fff0;padding:7px 4px;border-radius:5px;-webkit-tap-highlight-color:transparent;transition:none;box-shadow:none;font-size:13px;line-height:1.15;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-detail-tabs .tab:hover,.student-detail-tabs .tab:active,.student-detail-tabs .tab:focus,.student-detail-tabs .tab:focus-visible{background:#fff0;box-shadow:none;outline:none}.student-detail-tabs .tab:disabled,.student-detail-tabs .tab:disabled:hover,.student-detail-tabs .tab:disabled:focus-visible{color:var(--text-soft);opacity:.42;cursor:not-allowed;background:transparent;box-shadow:none}.student-detail-body{min-height:0;overflow:auto;padding:12px 0 8px}.student-detail-grades-screen,.student-grade-manager{display:grid;gap:14px}.student-grade-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-grade-toolbar-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.student-grade-filters{min-width:0;display:inline-flex;align-items:center;gap:8px;flex:1 1 auto}.student-grade-subject-select,.student-grade-year-input,.student-grade-form select{min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-strong);font-size:13px;font-weight:800}.student-grade-subject-select{width:min(160px,44%);flex:0 1 160px}.student-grade-year-input{width:86px;flex:0 0 86px}.student-grade-open-button,.student-grade-list-button{min-height:38px;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:800;white-space:nowrap}.student-grade-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.student-grade-form label{min-width:0;display:grid;gap:5px}.student-grade-form label>span{color:var(--text-muted);font-size:12px;font-weight:800}.student-grade-subject-field{grid-column:auto}.student-grade-group-exam-field{grid-column:1 / -1}.student-grade-title-field{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px}.student-grade-title-field>label:first-child{min-width:0}.student-grade-form .student-grade-group-exam-checkbox{width:100%;min-width:0;min-height:38px;display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;padding:7px 0;color:var(--text-soft);font-size:12px;font-weight:800;white-space:normal}.student-grade-form .student-grade-group-exam-checkbox>input{width:17px;min-width:17px;min-height:17px;height:17px;margin:0;padding:0;border:0;border-radius:3px;background:transparent;accent-color:var(--accent)}.student-grade-form .student-grade-group-exam-checkbox>span{color:inherit;font-size:inherit;font-weight:inherit}.student-grade-form .student-grade-group-exam-checkbox:has(input:disabled){opacity:.52}.student-grade-form input,.student-grade-form select{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-strong);font-size:13px;font-weight:700}.student-grade-form input:focus,.student-grade-form select:focus,.student-grade-subject-select:focus,.student-grade-year-input:focus{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus)}.student-grade-form-actions{grid-column:1 / -1;display:grid;grid-template-columns:minmax(74px,.34fr) minmax(0,1fr);gap:8px}.student-grade-close-button{min-height:38px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:800}.student-grade-submit{min-height:38px;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:800}.student-grade-chart-panel{display:grid;gap:10px;padding:12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.student-grade-chart-panel.is-list{padding:0;border:0}.student-grade-chart{min-height:248px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);align-items:stretch;gap:10px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch}.student-grade-chart-item{min-width:0;display:grid;grid-template-rows:minmax(160px,1fr) auto;gap:8px}.student-grade-bar-stage{min-height:180px;display:flex;align-items:flex-end;justify-content:center;padding:10px 8px;border-radius:9px;background:var(--bg-card-soft)}.student-grade-bar-group{height:100%;display:inline-flex;align-items:flex-end;justify-content:center;gap:7px}.student-grade-bar-wrap{height:100%;min-width:34px;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;gap:6px}.student-grade-bar-wrap>span{color:var(--text-muted);font-size:11px;font-weight:850;line-height:1}.student-grade-bar{width:28px;height:var(--grade-bar-height);align-self:end;border-radius:7px 7px 3px 3px}.student-grade-bar.score{background:#bf7b15;box-shadow:0 10px 18px #bf7b1533}.student-grade-bar.benchmark{background:#5070bb;box-shadow:0 10px 18px #5070bb38}.student-grade-chart-label{min-width:0;display:grid;gap:3px;text-align:center}.student-grade-chart-label strong,.student-grade-chart-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-grade-chart-label strong{color:var(--text-strong);font-size:12px;font-weight:900}.student-grade-chart-label span{color:var(--text-soft);font-size:11px;font-weight:700}.student-grade-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-muted);font-size:12px;font-weight:800}.student-grade-legend span{display:inline-flex;align-items:center;gap:6px}.student-grade-legend i{width:10px;height:10px;border-radius:50%}.student-grade-legend i.score{background:#bf7b15}.student-grade-legend i.benchmark{background:#5070bb}.student-grade-table-wrap{min-width:0;overflow-x:auto;border:1px solid var(--border-main);border-radius:9px;background:var(--bg-card-soft);-webkit-overflow-scrolling:touch}.student-grade-table{width:100%;table-layout:auto;border-collapse:collapse;color:var(--text-strong);font-size:12px}.student-grade-table th,.student-grade-table td{padding:11px 3px;border-bottom:1px solid color-mix(in srgb,var(--border-main) 72%,transparent);text-align:left;white-space:nowrap}.student-grade-table th{background:color-mix(in srgb,var(--bg-panel) 76%,transparent);color:var(--text-muted);font-size:11px;font-weight:900}.student-grade-table td{font-weight:750}.student-grade-table th:nth-child(1),.student-grade-table td:nth-child(1),.student-grade-table th:nth-child(3),.student-grade-table td:nth-child(3){width:20%}.student-grade-table td:nth-child(2){max-width:0;overflow:hidden;text-overflow:ellipsis}.student-grade-title-cell{min-width:0;display:inline-flex;align-items:center;gap:4px;max-width:100%}.student-grade-title-cell>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.student-grade-edit-button{flex:0 0 auto;width:24px;height:24px;display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text-muted);box-shadow:none}.student-grade-edit-button:hover,.student-grade-edit-button:focus-visible{background:transparent;color:var(--text-strong);box-shadow:none}.student-grade-edit-button svg{width:15px;height:15px}.student-grade-table th:nth-child(3),.student-grade-table td:nth-child(3){text-align:right}.student-grade-table tbody tr:last-child td{border-bottom:0}.student-grade-score-pair{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:1px}.student-grade-score-pair strong{color:var(--text-strong);font-size:13px;font-weight:950}.student-grade-score-pair span{color:var(--text-muted);font-size:12px;font-weight:750}.student-grade-empty{margin:0;padding:56px 12px;border-radius:9px;background:var(--bg-card-soft)}.managed-group-grade-report{min-width:0;display:grid;gap:12px}.managed-group-grade-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.managed-group-grade-filters label{min-width:0;display:grid;gap:5px}.managed-group-grade-filters label>span{color:var(--text-muted);font-size:11px;font-weight:850}.managed-group-grade-filters select{width:100%;min-width:0;min-height:40px;padding:8px 30px 8px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-strong);font-size:13px;font-weight:800}.managed-group-grade-chart-panel{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.managed-group-grade-chart{position:relative;min-width:0;min-height:230px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(94px,1fr);align-items:stretch;gap:10px;overflow-x:auto;padding:8px 6px;-webkit-overflow-scrolling:touch}.managed-group-grade-chart-item{position:relative;z-index:2;min-width:0;display:grid;grid-template-rows:190px auto;gap:8px;text-align:center}.managed-group-grade-bar-stage{min-width:0;height:190px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:10px 8px 0;border-radius:9px;background:var(--bg-card-soft)}.managed-group-grade-bar-stage>span{color:var(--text-soft);font-size:11px;font-weight:850}.managed-group-grade-bar{width:34px;height:var(--grade-bar-height);max-height:170px;min-height:4px;border-radius:8px 8px 3px 3px;background:#bf7b15;box-shadow:0 10px 18px #bf7b1533}.managed-group-grade-bar.is-empty{background:var(--border-main);box-shadow:none}.managed-group-grade-chart-item>strong{min-width:0;overflow:hidden;color:var(--text-strong);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.managed-group-grade-benchmark-line{position:absolute;z-index:3;left:6px;right:6px;bottom:calc(40px + var(--benchmark-position));border-top:2px dashed #5070bb;pointer-events:none}.managed-group-grade-benchmark-line>span{position:absolute;right:0;bottom:4px;padding:2px 5px;border-radius:5px;background:transparent;color:#5070bb;font-size:10px;font-weight:900}.managed-group-grade-summary{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}.managed-group-grade-summary strong,.managed-group-grade-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.managed-group-grade-summary strong{color:var(--text-strong);font-size:13px;font-weight:900}.managed-group-grade-summary span{color:var(--text-muted);font-size:11px;font-weight:750}.student-detail-body .info-card-grid .info-card{box-shadow:none}.student-detail-footer{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:stretch;gap:12px;padding:14px 16px 16px;border-top:1px solid color-mix(in srgb,var(--border-main) 70%,transparent)}.student-detail-footer>button{flex:1 1 0;padding:13px 14px;font-size:15px;line-height:1.1}.student-overview-view{display:grid;gap:12px}.student-overview-list{display:grid;gap:0px}.student-overview-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-height:30px;padding:3px 12px 3px 7px;border-bottom:1px solid var(--border-soft)}.student-overview-row:last-child{border-bottom:0}.student-overview-row.is-multi{align-items:start;padding:10px 7px}.student-overview-row.is-multi.is-centered-multi{align-items:center}.student-overview-icon{display:inline-grid;place-items:center;width:32px;height:32px;color:var(--text-soft)}.student-overview-icon svg{width:18px;height:18px}.student-overview-row strong{min-width:0;color:var(--text-strong);font-size:15px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.student-overview-value-lines{display:grid;gap:2px;min-width:0}.student-overview-schedule-list{display:grid;gap:6px;padding-top:4px}.student-overview-schedule-item,.student-lesson-chip{display:inline-flex;align-items:center;gap:6px;min-width:0}.lesson-schedule-stopped-badge{flex:0 0 auto;color:#e14b42;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}.lesson-group-icon-button{display:inline-grid;place-items:center;width:24px;height:24px;flex:0 0 auto;padding:0;border:0;border-radius:999px;background:transparent;color:var(--accent);box-shadow:none}.lesson-group-icon-button svg{width:17px;height:17px}.lesson-schedule-time-trigger{min-width:86px;height:40px;padding:0 12px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-strong);font-size:14px;font-weight:800;box-shadow:none}.lesson-schedule-time-trigger:disabled{border-color:color-mix(in srgb,var(--border-main) 72%,var(--text-soft));background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));color:var(--text-soft);cursor:not-allowed}.lesson-schedule-nested-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:end center;padding:18px;background:#00000057}.lesson-schedule-nested-overlay.top{z-index:90}.lesson-time-picker-sheet,.lesson-conflict-students-sheet{width:min(420px,100%);max-height:min(680px,calc(100vh - 36px))}.lesson-time-option-list,.lesson-conflict-student-list{display:grid;gap:6px;min-height:0;overflow:auto}.lesson-time-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid var(--border-soft)}.lesson-time-option:last-child{border-bottom:0}.lesson-time-option-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:10px 0;border:0;border-radius:0;background:transparent;color:var(--text-strong);box-shadow:none;text-align:left}.lesson-time-option-main strong{font-size:14px;font-weight:800}.lesson-time-option-main small{color:var(--accent);font-size:12px;font-weight:800}.lesson-time-option.is-selected .lesson-time-option-main strong{color:var(--accent)}.lesson-time-conflict-button{flex:0 0 auto;min-width:72px;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:800}.lesson-conflict-student-item{display:grid;gap:4px;width:100%;padding:11px 0;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:transparent;color:var(--text-strong);box-shadow:none;text-align:left}.lesson-conflict-student-item:last-child{border-bottom:0}.lesson-conflict-student-item strong{font-size:13px;font-weight:800}.lesson-conflict-student-item span{color:var(--text-soft);font-size:12px;font-weight:700}.group-lesson-sheet,.lesson-color-sheet{gap:14px}.lesson-color-page{position:relative;z-index:1;display:grid;gap:16px}.lesson-color-page-head{align-items:center}.lesson-color-page-head h2,.lesson-color-page-head p{margin:0}.lesson-color-page-head p{margin-top:4px;color:var(--text-soft);font-size:13px;font-weight:600;line-height:1.35}.settings-subject-panel .panel-header p{margin:4px 0 0;color:var(--text-soft);font-size:13px;font-weight:600;line-height:1.35}.settings-subject-panel .panel-header h2,.settings-theme-panel .panel-header h2{margin:0}.settings-theme-panel .panel-header{padding-bottom:10px}.group-lesson-student-list,.lesson-color-setting-list{display:grid;gap:8px}.lesson-color-setting-list{position:relative;grid-template-columns:repeat(3,minmax(0,1fr))}.group-lesson-student-list{padding-bottom:10px}.lesson-color-setting-item{display:grid;gap:8px}.group-lesson-student-item,.lesson-color-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.group-lesson-student-item{border-bottom:1px solid var(--border-soft)}.group-lesson-student-item:last-child{border-bottom:0}.group-lesson-members-sheet .group-lesson-student-item:last-child{border-bottom:1px solid var(--border-main)}.group-lesson-student-item strong{min-width:0;color:var(--text-strong);font-size:16px;font-weight:500;line-height:1.25}.group-lesson-student-name{color:inherit;font-size:inherit;font-weight:inherit}.group-lesson-student-school,.group-lesson-student-deleted{color:var(--text-muted);font-size:.8em;font-weight:500}.group-lesson-student-item small{color:var(--text-soft);font-size:12px;font-weight:700}.lesson-color-setting-row{flex-direction:column;min-height:72px;border:1px solid var(--border-main);background:var(--bg-card-soft);border-radius:20px;color:var(--text-strong);font-weight:700;box-shadow:none}.lesson-color-setting-row:hover,.lesson-color-setting-row:focus-visible{background:var(--bg-hover)}.lesson-color-setting-label{min-width:0;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.lesson-color-swatch{flex:0 0 auto;width:30px;height:30px;border-radius:999px;box-shadow:inset 0 0 0 1px #0000001f}.lesson-color-popover{position:relative;grid-column:1 / -1;margin-top:8px;padding:14px;border:1px solid var(--text-soft);border-radius:14px;background:#fff;box-shadow:var(--shadow-md)}.lesson-color-popover:before{content:"";position:absolute;top:-7px;left:var(--lesson-color-arrow-left, 50%);width:12px;height:12px;border-left:1px solid var(--text-soft);border-top:1px solid var(--text-soft);background:inherit;transform:translate(-50%) rotate(45deg)}:root[data-theme=dark] .lesson-color-popover,:root[data-theme=dark2] .lesson-color-popover{background:#12151f}.planner-color-grid.lesson-color-grid{width:min(280px,100%);margin:2px auto 0;gap:12px}.lesson-color-grid .planner-color-option{min-width:42px;min-height:42px}.planner-color-custom.lesson-color-custom{width:min(280px,100%);margin-right:auto;margin-left:auto;margin-top:8px;font-size:14px}.planner-color-custom.lesson-color-custom input{width:54px;height:38px}.danger-action{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border-main))}.danger-action:hover{background:color-mix(in srgb,var(--danger-soft) 72%,var(--bg-card))}.settings-wide{grid-column:1 / -1}.settings-account-panel{display:grid;grid-template-columns:minmax(0,1fr) 60px;align-items:center;gap:18px}.settings-install-strip{position:fixed;top:var(--app-header-height);left:var(--app-header-offset-left);right:0;z-index:34;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:7px 8px 7px 10px;border:0;border-bottom:1px solid color-mix(in srgb,#648cda 28%,var(--border-main));background:color-mix(in srgb,#f7f3eb 58%,var(--bg-card));max-width:var(--app-frame-max-width);margin-inline:auto}:root[data-theme=dark] .settings-install-strip{border-bottom-color:color-mix(in srgb,#648cda 38%,var(--border-main));background:color-mix(in srgb,#163466 34%,var(--bg-card))}.settings-install-content{display:flex;align-items:center;gap:7px;min-width:0}.settings-install-dismiss-button{flex:0 0 auto;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:5px;border:0;border-radius:7px;background:transparent;color:var(--text-soft)}.settings-install-dismiss-button:hover,.settings-install-dismiss-button:focus-visible{background:var(--bg-card-soft);color:var(--text-strong)}.settings-install-dismiss-button svg{width:100%;height:100%}.settings-install-dismiss-button path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2}.settings-install-content strong{min-width:0;overflow:hidden;color:var(--text-main);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.settings-install-button{flex:0 0 auto;min-width:92px;min-height:32px;padding:6px 8px;border:0;border-radius:10px;background:#163466;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}.settings-install-button:hover,.settings-install-button:focus-visible{background:#24477f}.pwa-install-guide-backdrop{z-index:120;padding:20px}.pwa-install-guide{width:min(420px,100%);display:grid;gap:18px;padding:20px;border:1px solid var(--border-main);border-radius:20px;background:var(--bg-panel);box-shadow:var(--shadow-md)}.pwa-install-guide-head,.pwa-install-guide-brand{display:flex;align-items:center}.pwa-install-guide-head{justify-content:space-between;gap:14px}.pwa-install-guide-brand{gap:12px;min-width:0}.pwa-install-guide-brand img{flex:0 0 auto;width:48px;height:48px;border-radius:13px}.pwa-install-guide-brand>div{display:grid;gap:3px;min-width:0}.pwa-install-guide-brand .page-kicker{margin:0}.pwa-install-guide-brand strong{color:var(--text-strong);font-size:16px;line-height:1.4}.pwa-install-guide-head .btn-close{flex:0 0 auto;width:36px;height:36px;padding:9px;border-radius:50%}.pwa-install-guide-alert,.pwa-install-guide-note{margin:0;border-radius:12px;font-size:13px;font-weight:700;line-height:1.55}.pwa-install-guide-alert{padding:11px 12px;background:var(--warning-soft);color:var(--text-main)}.pwa-install-guide-steps{display:grid;gap:10px;margin:0;padding-left:24px;color:var(--text-main);font-size:14px;font-weight:700;line-height:1.55}.pwa-browser-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-inline:2px;border:1px solid var(--border-main);border-radius:7px;background:var(--bg-card-soft);color:var(--text-strong);font-size:15px;font-weight:800;line-height:1;vertical-align:middle}.pwa-share-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:3px;border:1px solid var(--border-main);border-radius:7px;background:var(--bg-card-soft);color:var(--accent-strong);vertical-align:middle}.pwa-share-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.pwa-install-guide-note{padding:12px;background:var(--bg-card-soft);color:var(--text-soft)}.pwa-install-guide-confirm{width:100%;background:#163466;color:#fff}.settings-account-entry{width:100%;text-align:left;color:var(--text-main)}.settings-account-entry:hover,.settings-account-entry:focus-visible{background:var(--bg-hover)}.settings-account-plan-slot{display:flex;align-items:center;justify-content:flex-end;width:60px;min-width:0;justify-self:end;overflow:hidden}.settings-account-plan-badge{max-width:100%;text-overflow:ellipsis;white-space:nowrap}.settings-account-copy{display:grid;gap:6px;min-width:0;overflow:hidden}.settings-account-copy h2,.settings-account-copy p{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-account-title-row{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%}.settings-account-title-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-account-title-icon{flex:0 0 auto;width:20px;height:20px;display:inline-grid;place-items:center;color:var(--text-soft)}.settings-account-title-icon svg{width:100%;height:100%}.settings-account-meta{font-size:12px;color:var(--text-soft)}.settings-account-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.settings-account-actions-primary{flex-wrap:nowrap}.settings-account-button{min-width:132px;white-space:nowrap}.settings-account-actions-primary>.settings-account-button{flex:1 1 0}.settings-account-button-edit{border-color:color-mix(in srgb,var(--accent) 30%,var(--border-main));background:color-mix(in srgb,var(--accent-soft) 78%,var(--bg-card));color:var(--accent-strong)}.settings-account-button-edit:hover,.settings-account-button-edit:focus-visible{background:color-mix(in srgb,var(--accent-soft) 92%,var(--bg-card));color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 54%,var(--border-main))}.settings-account-button-logout{border-color:color-mix(in srgb,#c97a4d 34%,var(--border-main));background:color-mix(in srgb,#fff0e4 82%,var(--bg-card));color:#b46332}.settings-account-button-logout:hover,.settings-account-button-logout:focus-visible{background:color-mix(in srgb,#fff0e4 94%,var(--bg-card));color:#9f5429;border-color:color-mix(in srgb,#c97a4d 52%,var(--border-main))}:root[data-theme=dark] .settings-account-button-logout{background:color-mix(in srgb,rgba(201,122,77,.18) 88%,var(--bg-card));color:#f2bf95}:root[data-theme=dark] .settings-account-button-logout:hover,:root[data-theme=dark] .settings-account-button-logout:focus-visible{background:color-mix(in srgb,rgba(201,122,77,.26) 92%,var(--bg-card));color:#ffd2af}.settings-subscription-promo-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-subscription-promo-copy{min-width:0;display:grid;gap:6px}.settings-subscription-promo-copy .page-kicker,.settings-subscription-promo-copy h2,.settings-subscription-promo-copy p{margin:0}.settings-subscription-promo-copy h2{color:var(--text-strong);font-size:18px;line-height:1.3}.settings-subscription-promo-copy p:not(.page-kicker){color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.45}.settings-subscription-promo-meta{justify-content:flex-start;margin-top:2px}.settings-subscription-promo-action{position:relative;display:inline-flex;justify-content:flex-end}.settings-notification-panel{display:flex;align-items:center;justify-content:space-between;gap:18px}.settings-notification-copy{min-width:0;display:grid;gap:6px}.settings-notification-copy .page-kicker,.settings-notification-copy h2,.settings-notification-copy p{margin:0}.settings-notification-copy h2{color:var(--text-strong);font-size:18px;line-height:1.3}.settings-notification-copy p:not(.page-kicker){color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.45}.settings-notification-panel>button{flex:0 0 auto;min-width:112px}.settings-default-lesson-alert-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.settings-default-lesson-alert-control-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-default-lesson-alert-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;margin-left:auto}.settings-default-lesson-alert-guide{margin:0;color:var(--accent-strong);font-size:12px;font-weight:800}.settings-default-lesson-alert-choice{flex:0 0 auto;display:inline-grid;grid-template-columns:repeat(2,34px);padding:2px;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-card-soft)}.settings-default-lesson-alert-choice>button{min-width:0;min-height:20px;padding:2px 6px;border:0;border-radius:999px;background:transparent;color:var(--text-soft);box-shadow:none;font-size:10px;font-weight:900;line-height:1.2}.settings-default-lesson-alert-choice>button.is-active{background:#e14b42;color:#fff}.settings-default-lesson-alert-choice>button.is-active.is-off{background:var(--button-neutral);color:#fff}.settings-subscription-choice-actions{min-width:max-content}.settings-subscription-promo-bubble{top:0;right:12px;transform:translateY(-46%);animation-name:settings-subscription-promo-bubble-float}@keyframes settings-subscription-promo-bubble-float{0%,to{transform:translateY(-46%)}50%{transform:translateY(calc(-46% - 4px))}}.settings-subscription-promo-button{flex:0 0 auto;min-width:126px;background:#e14b42;color:#fff;font-weight:600;white-space:nowrap}.settings-subject-manage-button{font-weight:600}.settings-subscription-promo-button.is-pro{background:var(--bg-card-soft);color:var(--text-main)}.settings-disclosure{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text-strong)}.settings-disclosure:hover{transform:none}.settings-disclosure-copy{display:grid;gap:6px;text-align:left}.settings-disclosure-copy .page-kicker{margin-bottom:0}.settings-disclosure-copy strong{font-size:18px;color:var(--text-strong)}.settings-disclosure-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:10px 12px;border-radius:999px;background:var(--bg-card-soft);color:var(--text-soft);font-size:13px;font-weight:700}.settings-disclosure-body{margin-top:18px}.settings-danger-panel .panel-header{margin-bottom:12px}.settings-subpage{display:grid;gap:18px}.settings-notice-detail-subpage{background:#fff;color:#222}:root[data-theme=dark] .settings-notice-detail-subpage,:root[data-theme=dark2] .settings-notice-detail-subpage{background:#0b0c10;color:#dbe3ff}.settings-notice-detail-subpage .settings-back-button{color:#4b5563}:root[data-theme=dark] .settings-notice-detail-subpage .settings-back-button,:root[data-theme=dark2] .settings-notice-detail-subpage .settings-back-button{color:#a5b2d9}.settings-back-button{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:0;border:0;background:transparent;box-shadow:none;color:var(--accent-strong);font-size:14px;font-weight:800}.settings-back-button svg{width:16px;height:16px}.settings-back-button:hover,.settings-back-button:focus-visible{background:transparent;box-shadow:none;color:var(--text-strong)}.settings-subpage-profile{display:grid;gap:6px}.settings-account-profile-head{grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:column;align-items:start;gap:12px}.settings-account-profile-head>div{min-width:0;display:grid;gap:6px}.settings-account-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.settings-account-name-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-name-change-badge{flex:0 0 auto;padding:4px 8px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border-main));border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 78%,var(--bg-card));color:var(--accent-strong);font-size:12px;font-weight:700;line-height:1;box-shadow:none}.settings-name-change-badge:hover,.settings-name-change-badge:focus-visible{background:color-mix(in srgb,var(--accent-soft) 58%,var(--bg-card));box-shadow:none}.settings-subpage-logout-button{min-width:auto;min-height:34px;padding:7px 12px;font-size:12px;font-weight:900}.settings-subpage-profile h2,.settings-subpage-profile p{margin:0}.settings-subpage-profile p{color:var(--text-soft);font-size:13px;font-weight:700}.settings-menu-list{display:grid;gap:8px}.settings-menu-item{width:100%;min-height:50px;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-main);border-radius:12px;background:transparent;color:var(--text-main);box-shadow:none;text-align:left;font-size:14px;font-weight:800}.settings-menu-item:hover,.settings-menu-item:focus-visible{background:var(--bg-hover);box-shadow:none}.settings-menu-danger{color:var(--danger)}.settings-menu-icon{width:20px;height:20px;flex:0 0 auto;display:inline-grid;place-items:center;color:currentColor}.settings-menu-icon svg{width:100%;height:100%}.settings-chevron{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:var(--text-soft)}.settings-chevron svg{width:18px;height:18px}.settings-consent-state{margin-left:auto;color:var(--text-soft);font-size:12px;font-weight:900}.settings-consent-state.is-on{color:var(--success)}.settings-plan-badge{margin-left:auto;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:900;line-height:1}.settings-plan-badge.is-pro{background:#e14b42;color:#fff}.settings-plan-badge.is-beta{background:#5070bb;color:#fff}.settings-plan-badge.is-test{background:#586174;color:#fff}.settings-plan-badge+.settings-chevron{margin-left:0}.settings-password-form{gap:14px}.settings-password-form .detail-row{grid-auto-flow:column;gap:0}.settings-password-form .detail-row>span{width:110px;min-width:110px;background:var(--bg-subject-picker-sheet)}.settings-password-form .detail-row input{min-width:0;border:var(--bg-card);border-radius:0 10px 10px 0;background:var(--bg-card)}.settings-password-form .settings-subpage-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;justify-content:stretch}.settings-password-form .settings-subpage-actions:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.settings-password-form .settings-subpage-actions>button,.settings-password-form .settings-subpage-actions>button:hover,.settings-password-form .settings-subpage-actions>button:focus-visible,.settings-password-form .settings-subpage-actions>button:active{width:100%;justify-content:center;padding:10px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}.settings-password-form .settings-subpage-actions>.submit,.settings-password-form .settings-subpage-actions>.submit:hover,.settings-password-form .settings-subpage-actions>.submit:focus-visible,.settings-password-form .settings-subpage-actions>.submit:active{color:#e14b42}.settings-subpage-actions{justify-content:flex-end}.settings-subscription-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;max-height:min(620px,calc(100dvh - 190px));min-height:0;overflow:hidden}.subscription-plan-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card-soft)}.subscription-plan-copy{min-width:0;flex:1 1 auto}.subscription-plan-summary strong,.subscription-plan-summary p{margin:0}.subscription-plan-summary p{margin-top:4px;color:var(--text-soft);font-size:13px;font-weight:700}.subscription-plan-badge{display:inline-grid;place-items:center;min-width:58px;height:34px;padding:0 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px;font-weight:900}.subscription-plan-badge.is-pro{background:#e14b42;color:#fff}.subscription-pro-summary-card{display:grid;gap:6px;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card-soft)}.subscription-pro-summary-card h2,.subscription-pro-summary-card p{margin:0}.subscription-pro-summary-card h2{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--text-strong);font-size:18px;line-height:1.3}.subscription-pro-summary-card h2 small{color:var(--success);font-size:11px;font-weight:700}.subscription-pro-summary-card p{color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.45}.subscription-summary-action{min-height:34px;flex:0 0 auto;padding:0 12px;border:0;border-radius:999px;background:#e14b42;color:#fff;font-size:13px;font-weight:500;white-space:nowrap}.subscription-summary-action:hover,.subscription-summary-action:focus-visible{border:0;background:#e14b42;color:#fff}.subscription-summary-action.secondary,.subscription-summary-action.secondary:hover,.subscription-summary-action.secondary:focus-visible{border:1px solid var(--border-main);background:transparent;color:var(--text-strong)}.subscription-scroll-body{min-height:0;display:grid;align-content:start;gap:14px;overflow-y:auto;padding-right:2px}.subscription-usage-grid,.subscription-feature-list{display:grid;gap:8px}.subscription-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-usage-item,.subscription-feature-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--border-main);border-radius:12px;background:transparent}.subscription-usage-item span,.subscription-feature-list span{color:var(--text-soft);font-size:13px;font-weight:800}.subscription-usage-item strong,.subscription-feature-list strong{color:var(--text-strong);font-size:13px;font-weight:900}.subscription-management-actions{justify-content:stretch}.subscription-management-actions>button{flex:1 1 0}.subscription-management-actions>button:only-child{width:100%}.subscription-beta-info-card{display:grid;gap:8px;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:transparent}.subscription-beta-info-card p{margin:0;color:var(--text-main);font-size:13px;font-weight:650;line-height:1.5;word-break:keep-all}.subscription-beta-confirm-button{justify-self:stretch}.subscription-management-action-stack{display:grid;justify-items:center;gap:14px}.subscription-management-control-button{justify-self:stretch;min-height:42px}.subscription-cancel-text-button{justify-self:center;padding:0;border:0;background:transparent;color:#5070bb;font-size:14px;font-weight:700;text-align:left}.subscription-resubscribe-text-button{justify-self:center;padding:0;border:0;background:transparent;color:#5070bb;font-size:14px;font-weight:700;text-align:center}.subscription-cancel-text-button:hover,.subscription-cancel-text-button:focus-visible,.subscription-resubscribe-text-button:hover,.subscription-resubscribe-text-button:focus-visible{border:0;background:transparent;color:#3f5da1;box-shadow:none}.settings-subscription-cancel-panel{display:grid;gap:16px}.subscription-cancel-reason-list{display:grid;gap:8px}.subscription-cancel-reason{min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card);color:var(--text-main);font-size:14px;font-weight:700;cursor:pointer}.subscription-cancel-reason.is-selected{border-color:#5070bb;background:color-mix(in srgb,#5070bb 9%,var(--bg-card))}.subscription-cancel-reason input{width:16px;height:16px;margin:0;accent-color:#5070bb}.subscription-cancel-continue-button{width:100%;min-height:44px}.subscription-cancel-final-card{display:grid;gap:8px;padding:16px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card-soft)}.subscription-cancel-final-card h2,.subscription-cancel-final-card p{margin:0}.subscription-cancel-final-card h2{color:var(--text-strong);font-size:18px;line-height:1.35}.subscription-cancel-final-card p{color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.45}.subscription-cancel-complete-button{width:100%;min-height:44px}.settings-checkout-subpage{min-height:min(620px,calc(100dvh - 180px));align-content:stretch}.subscription-checkout-shell{min-height:100%;display:grid;place-items:center;padding:0}.subscription-checkout-panel{width:min(420px,100%);display:grid;justify-items:center;gap:18px;padding:26px 22px;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-panel);box-shadow:var(--shadow-soft);text-align:center}.subscription-checkout-badge{display:inline-grid;place-items:center;min-width:58px;height:32px;padding:0 12px;border-radius:999px;background:#e14b42;color:#fff;font-size:13px;font-weight:900}.subscription-checkout-copy{display:grid;gap:8px}.subscription-checkout-copy p{margin:0}.subscription-checkout-copy p{color:var(--text-strong);font-size:16px;font-weight:700;line-height:1.55}.subscription-checkout-benefits{width:100%;display:grid;gap:7px}.subscription-checkout-benefits span{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:22px;padding:0;color:var(--text-main);font-size:13px;font-weight:700}.subscription-checkout-benefits svg{width:15px;height:15px;flex:0 0 auto;color:#e14b42;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.subscription-checkout-billing{width:100%;display:grid;gap:8px;margin:0;padding:0;border:0}.subscription-checkout-billing-option{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card);color:var(--text-main);cursor:pointer;text-align:left}.subscription-checkout-billing-option.is-selected{border-color:#e14b42;background:color-mix(in srgb,#e14b42 9%,var(--bg-card))}.subscription-checkout-billing-option input{width:16px;height:16px;margin:0;accent-color:#e14b42}.subscription-checkout-billing-copy{min-width:0;display:grid;gap:3px}.subscription-checkout-billing-copy strong,.subscription-checkout-billing-copy em{margin:0}.subscription-checkout-billing-copy strong{color:var(--text-strong);font-size:14px;font-weight:800;line-height:1.2}.subscription-checkout-billing-copy em{color:var(--text-soft);font-size:12px;font-style:normal;font-weight:700}.subscription-checkout-billing-price{display:grid;justify-items:end;gap:2px;color:var(--text-strong);font-size:18px;font-weight:800;white-space:nowrap}.subscription-checkout-billing-original{color:var(--text-soft);font-size:12px;font-weight:600;line-height:1.1;text-decoration:line-through}.subscription-checkout-billing-final{color:var(--text-strong);font-size:18px;font-weight:800;line-height:1.1}.subscription-checkout-billing-final small{color:#e14b42;font-size:11px;font-weight:800}.subscription-checkout-trial-note{width:100%;display:grid;gap:4px;text-align:left}.subscription-checkout-trial-note p{margin:0;color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.45}.subscription-checkout-trial-note p:first-child{color:var(--text-main)}.subscription-checkout-button{width:100%;min-height:44px;border:0;background:#e14b42;color:#fff;font-size:15px;font-weight:700}.subscription-checkout-button:hover,.subscription-checkout-button:focus-visible{border:0;background:#e14b42;color:#fff}.settings-terms-content,.settings-withdrawal-content{display:grid;gap:12px}.settings-terms-section{display:grid;gap:8px}.settings-terms-content h2,.settings-terms-content h3,.settings-terms-content p,.settings-withdrawal-content h2,.settings-withdrawal-content p{margin:0}.settings-terms-content h3{color:var(--text-main);font-size:15px;font-weight:800;line-height:1.45}.settings-terms-content p,.settings-withdrawal-content p{color:var(--text-main);font-size:14px;font-weight:650;line-height:1.65}.settings-privacy-delete-link{display:inline-flex;margin-top:8px;color:var(--accent-strong);font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.settings-notice-board{display:grid;gap:14px}.settings-board-search{position:relative;display:block}.settings-board-search>span{position:absolute;top:50%;left:12px;width:18px;height:18px;color:var(--text-soft);pointer-events:none;transform:translateY(-50%)}.settings-board-search svg{width:100%;height:100%}.settings-board-search input{width:100%;min-height:42px;padding:0 12px 0 38px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-main);font-size:14px;font-weight:700}.notice-board-list{display:grid;gap:8px}.notice-board-row{width:100%;min-height:68px;display:grid;gap:5px;padding:12px 14px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card);color:var(--text-main);box-shadow:none;text-align:left}.notice-board-row:hover,.notice-board-row:focus-visible{background:var(--bg-hover);box-shadow:none}.notice-board-title-row{display:flex;align-items:flex-start;gap:7px;min-width:0}.notice-board-title-row em{flex:0 0 auto;margin-top:1px;padding:2px 6px;border-radius:999px;background:#e14b42;color:#fff;font-size:11px;font-style:normal;font-weight:800;line-height:1.25}.notice-board-row strong{display:-webkit-box;min-width:0;overflow:hidden;color:var(--text-strong);font-size:14px;font-weight:800;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notice-board-row time{color:var(--text-soft);font-size:12px;font-weight:700}.settings-notice-detail{display:grid;gap:16px}.settings-notice-detail-head{display:grid;gap:8px;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.settings-notice-detail h2{margin:0;color:#111827;font-size:20px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.settings-notice-detail time{color:#6b7280;font-size:12px;font-weight:800}.settings-notice-detail-body{display:grid;gap:10px}.settings-notice-detail-attachments{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.settings-notice-detail-attachments a{max-width:100%;padding:6px 9px;border:1px solid #d7dde6;border-radius:999px;background:#f8fafc;color:#374151;font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-notice-detail-body p{margin:0;color:#222;font-size:15px;font-weight:500;line-height:1.7;white-space:pre-wrap;word-break:break-word}.settings-notice-detail-rich-body{color:#222;font-size:14px;font-weight:650;line-height:1.7;word-break:break-word}.settings-notice-detail-rich-body p,.settings-notice-detail-rich-body h3,.settings-notice-detail-rich-body ul,.settings-notice-detail-rich-body ol,.settings-notice-detail-rich-body blockquote,.settings-notice-detail-rich-body pre{margin:0 0 10px}.settings-notice-detail-rich-body h3{color:#111827;font-size:17px;font-weight:850;line-height:1.45}.settings-notice-detail-rich-body ul,.settings-notice-detail-rich-body ol{padding-left:22px}.settings-notice-detail-rich-body blockquote{padding-left:12px;border-left:3px solid #d7dde6;color:#4b5563}.settings-notice-detail-rich-body code,.settings-notice-detail-rich-body pre{border-radius:6px;background:#f5f7fa;color:#111827}.settings-notice-detail-rich-body code{padding:1px 4px}.settings-notice-detail-rich-body pre{overflow-x:auto;padding:10px}.settings-notice-detail-rich-body img{display:block;max-width:100%;max-height:520px;margin:12px 0;border-radius:8px;object-fit:contain}.settings-notice-detail-actions{display:flex;justify-content:center;padding-top:6px}.settings-notice-detail-actions>button{min-width:104px;min-height:40px;border-color:#d7dde6;background:#fff;color:#374151}.settings-notice-detail-actions>button:hover,.settings-notice-detail-actions>button:focus-visible{background:#f5f7fa;color:#111827;box-shadow:none}:root[data-theme=dark] .settings-notice-detail-head,:root[data-theme=dark2] .settings-notice-detail-head{border-bottom-color:#8ba1dc29}:root[data-theme=dark] .settings-notice-detail h2,:root[data-theme=dark2] .settings-notice-detail h2,:root[data-theme=dark] .settings-notice-detail-rich-body h3,:root[data-theme=dark2] .settings-notice-detail-rich-body h3{color:#f3f6ff}:root[data-theme=dark] .settings-notice-detail time,:root[data-theme=dark2] .settings-notice-detail time{color:#a5b2d9}:root[data-theme=dark] .settings-notice-detail-body p,:root[data-theme=dark2] .settings-notice-detail-body p,:root[data-theme=dark] .settings-notice-detail-rich-body,:root[data-theme=dark2] .settings-notice-detail-rich-body{color:#dbe3ff}:root[data-theme=dark] .settings-notice-detail-rich-body blockquote,:root[data-theme=dark2] .settings-notice-detail-rich-body blockquote{border-left-color:#8ba1dc3d;color:#a5b2d9}:root[data-theme=dark] .settings-notice-detail-rich-body code,:root[data-theme=dark] .settings-notice-detail-rich-body pre,:root[data-theme=dark2] .settings-notice-detail-rich-body code,:root[data-theme=dark2] .settings-notice-detail-rich-body pre{background:#12151f;color:#f3f6ff}:root[data-theme=dark] .settings-notice-detail-attachments a,:root[data-theme=dark2] .settings-notice-detail-attachments a{border-color:#8ba1dc38;background:#191d28;color:#dbe3ff}:root[data-theme=dark] .settings-notice-detail-actions>button,:root[data-theme=dark2] .settings-notice-detail-actions>button{border-color:#8ba1dc38;background:#191d28;color:#f3f6ff}:root[data-theme=dark] .settings-notice-detail-actions>button:hover,:root[data-theme=dark] .settings-notice-detail-actions>button:focus-visible,:root[data-theme=dark2] .settings-notice-detail-actions>button:hover,:root[data-theme=dark2] .settings-notice-detail-actions>button:focus-visible{background:#202638;color:#fff}.settings-support-page,.settings-help-page{display:grid;gap:14px}.support-inquiry-list,.help-faq-group-list{display:grid;gap:10px}.support-inquiry-card{display:grid;gap:0;padding:12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.support-inquiry-card-head{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:10px}.support-inquiry-card-title-block{min-width:0;display:grid;gap:4px}.support-inquiry-card-title-row{min-width:0;display:flex;align-items:flex-start;gap:7px}.support-inquiry-card strong{flex:1 1 auto;min-width:0;color:var(--text-strong);font-size:14px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.support-inquiry-status-badge{flex:0 0 auto;margin-top:1px;padding:2px 6px;border-radius:999px;background:#f5eee2;color:#9a6b22;font-size:10px;font-weight:900;line-height:1.35;white-space:nowrap}.support-inquiry-status-badge.is-answered{background:#e7f1ff;color:#406db2}.support-inquiry-card time{color:var(--text-soft);font-size:11px;font-weight:800;line-height:1.2}.support-inquiry-card-toggle{width:32px;height:32px;min-height:32px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-soft);box-shadow:none}.support-inquiry-card-toggle:hover,.support-inquiry-card-toggle:focus-visible{background:var(--bg-hover);color:var(--text-strong);box-shadow:none}.support-inquiry-card-toggle svg{width:18px;height:18px}.support-inquiry-card-detail{display:grid;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid var(--border-main)}.support-inquiry-card p{margin:0;color:var(--text-main);font-size:13px;font-weight:650;line-height:1.55;white-space:pre-wrap}.support-inquiry-pagination{padding-top:2px}.support-inquiry-attachments,.support-inquiry-file-list{display:flex;flex-wrap:wrap;gap:6px}.support-inquiry-attachments span,.support-inquiry-file-list span{max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:var(--bg-card-soft);color:var(--text-soft);font-size:11px;font-weight:800;overflow-wrap:anywhere}.support-inquiry-file-list span>span{min-width:0;padding:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-inquiry-file-list button{width:18px;height:18px;min-height:18px;flex:0 0 auto;display:inline-grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-soft);box-shadow:none}.support-inquiry-file-list button:hover,.support-inquiry-file-list button:focus-visible{background:var(--bg-hover);color:var(--text-strong);box-shadow:none}.support-inquiry-file-list svg{width:13px;height:13px}.support-inquiry-form{display:grid;gap:10px;padding-top:2px}.support-inquiry-form label{display:grid;gap:6px}.support-inquiry-form label>span:not(.support-inquiry-file-control):not(.support-inquiry-file-button):not(.support-inquiry-file-help):not(.support-inquiry-file-notice),.support-inquiry-form small{color:var(--text-soft);font-size:12px;font-weight:800}.support-inquiry-form input,.support-inquiry-form select,.support-inquiry-form textarea{width:100%;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-main);font-size:14px;font-weight:700}.support-inquiry-form input,.support-inquiry-form select{min-height:42px;padding:0 12px}.support-inquiry-form .support-inquiry-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.support-inquiry-file-control{display:flex;align-items:center;gap:9px;min-height:42px;cursor:pointer}.support-inquiry-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card-soft);color:var(--text-main);font-size:13px;font-weight:800;white-space:nowrap}.support-inquiry-file-help{min-width:0;color:var(--text-soft);font-size:13px;font-weight:800;line-height:1.35}.support-inquiry-file-notice{color:var(--danger);font-size:12px;font-weight:800;line-height:1.35}.support-inquiry-file-control:hover .support-inquiry-file-button,.support-inquiry-form label:focus-within .support-inquiry-file-button{background:var(--bg-hover);color:var(--text-strong)}.support-inquiry-form textarea{min-height:132px;padding:11px 12px;resize:vertical}.support-inquiry-actions{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:8px;margin-top:10px}.support-inquiry-actions>button{width:100%;min-height:42px}:root[data-theme=dark] .support-inquiry-status-badge,:root[data-theme=dark2] .support-inquiry-status-badge{background:#332716;color:#e6bd6b}:root[data-theme=dark] .support-inquiry-status-badge.is-answered,:root[data-theme=dark2] .support-inquiry-status-badge.is-answered{background:#1d2c45;color:#9bbcf3}.help-faq-group{display:grid;gap:8px}.help-faq-group h3{margin:0;color:var(--text-strong);font-size:15px;line-height:1.35}.help-faq-list{display:grid;gap:7px}.help-faq-item{padding:11px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card)}.help-faq-item summary{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:10px;cursor:pointer;color:var(--text-main);font-size:14px;font-weight:800}.help-faq-item summary::-webkit-details-marker{display:none}.help-faq-item summary::marker{content:""}.help-faq-item summary span{min-width:0}.help-faq-item summary svg{width:18px;height:18px;justify-self:end;color:var(--text-soft);transition:transform .16s ease}.help-faq-item[open] summary svg{transform:rotate(180deg)}.help-faq-item p{margin:8px 0 0;color:var(--text-soft);font-size:13px;font-weight:700;line-height:1.55;white-space:pre-line}.help-contact-cta{display:grid;gap:10px;padding:14px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card-soft)}.help-contact-cta strong{color:var(--text-strong);font-size:15px;line-height:1.4}.settings-withdrawal-checks{display:grid;gap:8px;margin:0;padding:0;list-style:none}.settings-withdrawal-checks li{display:block}.settings-withdrawal-check-button{width:100%;display:flex;align-items:flex-start;gap:10px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text-main);text-align:left;font-size:14px;font-weight:800;line-height:1.45}.settings-withdrawal-check-button:hover,.settings-withdrawal-check-button:focus-visible{background:transparent;box-shadow:none;color:var(--text-strong)}.settings-withdrawal-check-icon{width:18px;height:18px;flex:0 0 auto;display:inline-grid;place-items:center;margin-top:1px;border:0;border-radius:50%;color:#ccc;font-size:14px;font-weight:900;line-height:1}.settings-withdrawal-check-button.is-confirmed .settings-withdrawal-check-icon{border:0;background:transparent;color:var(--success)}.settings-withdrawal-reservation-strip{border-bottom-color:color-mix(in srgb,var(--danger) 32%,var(--border-main));background:color-mix(in srgb,var(--danger-soft) 62%,var(--bg-card))}:root[data-theme=dark] .settings-withdrawal-reservation-strip{border-bottom-color:color-mix(in srgb,var(--danger) 45%,var(--border-main));background:color-mix(in srgb,var(--danger-soft) 38%,var(--bg-card))}.settings-withdrawal-reservation-strip-button{background:var(--danger)}.settings-withdrawal-reservation-strip-button:hover,.settings-withdrawal-reservation-strip-button:focus-visible{background:color-mix(in srgb,var(--danger) 86%,#000)}.settings-withdrawal-mode-loading{padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card-soft);color:var(--text-soft);font-size:13px;font-weight:750;text-align:center}.settings-withdrawal-modes{display:grid;gap:9px;min-width:0;margin:2px 0 0;padding:0;border:0}.settings-withdrawal-mode{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);cursor:pointer}.settings-withdrawal-period-end{cursor:pointer}.settings-withdrawal-mode.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.settings-withdrawal-mode input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--accent)}.settings-withdrawal-mode>span{display:grid;gap:4px;min-width:0}.settings-withdrawal-mode strong{color:var(--text-strong);font-size:14px;font-weight:850}.settings-withdrawal-mode small{color:var(--text-soft);font-size:12px;font-weight:650;line-height:1.5}.settings-withdrawal-mode em{color:var(--success);font-size:12px;font-style:normal;font-weight:800}.settings-withdrawal-reservation-card,.settings-withdrawal-subscription-canceled-card{display:grid;gap:8px;padding:14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card-soft)}.settings-withdrawal-reservation-card strong,.settings-withdrawal-subscription-canceled-card strong{color:var(--text-strong);font-size:14px;font-weight:850}.settings-withdrawal-reservation-card p,.settings-withdrawal-subscription-canceled-card p{margin:0;color:var(--text-soft);font-size:12px;font-weight:650;line-height:1.55}.settings-withdrawal-subscription-canceled-card button{justify-self:start;min-height:38px}.settings-withdrawal-reservation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-withdrawal-reservation-actions button{min-height:42px}.settings-withdrawal-resume-help{color:var(--text-soft);font-size:11px;font-weight:650;line-height:1.45}.settings-withdrawal-consent{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:800;line-height:1.45}.settings-withdrawal-consent.is-disabled{opacity:.56}.settings-withdrawal-consent input{width:17px;height:17px;flex:0 0 auto;margin-top:1px;accent-color:var(--accent)}.settings-withdrawal-submit-button:not(:disabled){border-color:var(--danger);background:var(--danger);color:#fff}.settings-withdrawal-submit-button:not(:disabled):hover,.settings-withdrawal-submit-button:not(:disabled):focus-visible{border-color:color-mix(in srgb,var(--danger) 86%,#000);background:color-mix(in srgb,var(--danger) 86%,#000);color:#fff}.settings-confirm-dialog,.settings-marketing-dialog,.settings-profile-name-dialog{width:min(420px,100%)}.settings-confirm-dialog p,.settings-marketing-dialog p,.settings-profile-name-dialog p{margin:0;color:var(--text-main);font-size:14px;line-height:1.55}.settings-withdrawal-cancel-dialog-note{padding:11px 12px;border-radius:10px;background:var(--bg-card-soft);color:var(--text-soft)!important;font-size:12px!important}.settings-profile-name-field{display:grid;gap:8px}.settings-profile-name-field>span{color:var(--text-soft);font-size:13px;font-weight:800}.settings-profile-name-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-input);color:var(--text-main);font-size:15px;font-weight:700}.settings-profile-name-actions.is-forced{grid-template-columns:1fr}.settings-profile-name-actions{position:relative}.settings-profile-name-actions:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.settings-profile-name-actions.is-forced:before{content:none}.settings-profile-name-actions>button,.settings-profile-name-actions>.secondary,.settings-profile-name-actions>.submit{border:0;background:transparent;color:var(--text-main);box-shadow:none}.settings-profile-name-actions>button:hover,.settings-profile-name-actions>button:focus-visible{background:transparent;box-shadow:none}.settings-confirm-actions,.settings-marketing-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-marketing-choice{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--text-soft);box-shadow:none;font-size:14px;font-weight:900}.settings-marketing-choice.is-active{color:var(--success)}.settings-marketing-choice.is-off.is-active{color:var(--danger)}.settings-marketing-choice:hover,.settings-marketing-choice:focus-visible{background:var(--bg-hover);box-shadow:none}.settings-support-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-support-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-size:13px;font-weight:800;white-space:nowrap}.settings-support-icon{width:18px;height:18px;flex:0 0 auto;display:inline-grid;place-items:center;color:var(--accent-strong)}.settings-support-icon svg{width:100%;height:100%}.student-detail-header-actions{display:contents}.student-detail-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-list-form{display:grid;gap:12px}.detail-row{display:grid;gap:8px;padding:0}.detail-row>span,.role-group legend{font-size:13px;font-weight:700;color:var(--text-strong)}.detail-row>span{display:flex;align-items:center;background:var(--button-neutral);height:100%;border-radius:10px 0 0 10px;border:0px solid var(--button-neutral);padding-left:10px;line-height:1.2}.detail-row.inline-row{grid-template-columns:1fr auto;align-items:center}.detail-row.inline-row input{width:auto;accent-color:var(--accent)}.student-detail-form{--student-detail-label-width: 132px}#student-detail-form{--student-detail-label-width: 100px}.student-detail-form .detail-row{display:grid;grid-template-columns:var(--student-detail-label-width) minmax(0,1fr);align-items:center;column-gap:14px;row-gap:8px;padding:0}.student-detail-form .detail-row>span{min-width:0;background:var(--bg-hover)}#student-detail-form .detail-row>span{width:100px}.student-detail-form .detail-row>input,.student-detail-form .detail-row>select,.student-detail-form .detail-row>textarea,.student-detail-form .detail-row>.field-error,.student-detail-form .detail-row>.student-duplicate-layer{grid-column:2}.student-detail-form .detail-row input,.student-detail-form .detail-row textarea,.student-detail-form .detail-row select{padding:10px;border-radius:0 10px 10px 0}.student-detail-form .detail-row>.student-school-grade-controls{grid-column:2;min-width:0;display:grid;grid-template-columns:96px minmax(0,1fr)}.student-detail-form .detail-row .student-school-grade-controls select,.student-detail-form .detail-row .student-school-grade-controls input{min-width:0}.student-detail-form .detail-row .student-school-grade-controls select{border-radius:0}.student-detail-form .detail-row .student-school-grade-controls input{margin-left:-1px}.student-detail-form .detail-row .student-school-grade-controls input:disabled{background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));color:var(--text-soft);cursor:not-allowed;opacity:1}.student-detail-form .detail-row select:disabled{border-color:color-mix(in srgb,var(--border-main) 72%,transparent);background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));color:var(--text-soft)}.student-detail-form .detail-row>input.student-code-input{background:var(--bg-card-soft);border:1px solid var(--preview-light2-1);color:var(--text-strong)}:root[data-theme=dark] .student-detail-form .detail-row>input.student-code-input,:root[data-theme=dark2] .student-detail-form .detail-row>input.student-code-input{background:var(--bg-card-soft);border:1px solid var(--button-neutral);color:var(--text-strong)}.student-detail-form .detail-row.textarea-row{display:flex;flex-direction:column;gap:0;align-items:flex-start}.student-detail-form .detail-row.textarea-row>span{width:100px;height:30px;padding:10px;border-radius:10px 10px 0 0}.student-detail-form .detail-row.textarea-row>textarea{width:100%;border-radius:0 10px 10px}.student-detail-form .detail-row .field-error{margin-top:-2px}.payment-detail-form .payment-date-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-detail-form .payment-date-status-row input,.payment-detail-form .payment-date-status-row select{min-height:42px;padding:10px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-strong)}:root[data-theme=dark] .payment-detail-form .payment-date-status-row input,:root[data-theme=dark] .payment-detail-form .payment-date-status-row select{background:#12151f}.payment-detail-form .payment-date-status-row input{width:min(190px,55%)}.payment-detail-form .payment-date-status-row select{width:min(150px,42%)}.payment-detail-form .detail-row.textarea-row>textarea{height:50px;min-height:50px;overflow-y:auto;resize:vertical!important}.timeline-card.payment{display:grid;gap:6px}.payment-timeline-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.payment-timeline-head .badge{flex:0 0 auto;gap:3px;padding:3px 7px;font-size:10px;line-height:1}.payment-date-status{display:inline-flex;align-items:center;gap:7px;min-width:0}.payment-date-status strong{min-width:0}.payment-summary{margin:0;color:var(--text-strong);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.payment-summary-row{min-width:0}.payment-round-label{color:var(--accent-strong);font-weight:800}.payment-card-actions{display:inline-flex;align-items:center;gap:4px}.payment-card-icon-button{width:26px;height:26px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--text-soft);box-shadow:none}.payment-card-icon-button svg{width:16px;height:16px}.payment-card-icon-button:hover,.payment-card-icon-button:focus-visible{background:transparent;color:var(--text-strong);box-shadow:none}.payment-card-icon-button.danger{color:var(--danger, #d9485f)}:root[data-theme=dark] .payment-card-icon-button,:root[data-theme=dark] .payment-card-icon-button:hover,:root[data-theme=dark] .payment-card-icon-button:focus-visible,:root[data-theme=dark] .payment-card-icon-button.danger{color:#fff}.payment-memo{margin:0;color:var(--text-soft);font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.payment-memo-preview{display:flex;align-items:baseline;gap:6px;min-width:0}.payment-memo-preview .payment-memo{flex:1 1 auto;min-width:0}.payment-memo-collapsed{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-memo-more{flex:0 0 auto;white-space:nowrap;justify-self:end;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:11px;font-weight:600}.payment-memo-more:hover,.payment-memo-more:focus-visible{background:transparent;box-shadow:none;color:var(--text-soft)}.payment-delete-confirm{display:grid;gap:8px;padding:12px;border:1px solid var(--danger, #d9485f);border-radius:10px;background:color-mix(in srgb,var(--danger, #d9485f) 8%,var(--bg-card))}.payment-delete-confirm strong,.payment-delete-confirm p{margin:0}.payment-delete-confirm strong{color:var(--text-strong);font-size:13px}.payment-delete-confirm p{color:var(--text-soft);font-size:12px;line-height:1.4}.payment-delete-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payment-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:4px}.payment-pagination>span{color:var(--text-soft);font-size:12px;font-weight:700}:root[data-theme=dark] .lesson-extension-subject-select{background:#12151f}.payment-pagination>button{justify-self:center;width:34px;min-height:34px;display:inline-grid;place-items:center;padding:0}.payment-pagination>button svg{width:18px;height:18px}.detail-list-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:30px}.detail-list-search-button{width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-soft);box-shadow:none}.detail-list-search-button.is-active,.detail-list-search-button:hover,.detail-list-search-button:focus-visible{background:var(--accent-ghost);color:var(--accent-strong);box-shadow:none}.detail-list-search-button svg{width:17px;height:17px}.detail-list-reset-button{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:11px;font-weight:700}.detail-list-reset-button:hover,.detail-list-reset-button:focus-visible{background:transparent;box-shadow:none;color:var(--accent-strong)}.student-detail-search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0f172a47}.student-detail-search-modal{width:min(420px,100%);display:grid;gap:12px;padding:16px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-panel);box-shadow:var(--shadow-md)}:root[data-theme=dark] .student-detail-search-modal{background:#3f4454}.student-detail-search-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-detail-search-head strong{color:var(--text-strong);font-size:14px}.student-detail-search-modal input,.student-detail-search-modal select{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-strong)}:root[data-theme=dark] .student-detail-search-modal input,:root[data-theme=dark] .student-detail-search-modal select{background:#191d28}.payment-search-filter-row,.student-detail-search-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}:root[data-theme=dark] .student-detail-search-actions{position:relative;display:flex;align-items:center;justify-content:space-around;gap:0}:root[data-theme=dark] .student-detail-search-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}:root[data-theme=dark] .student-detail-search-actions>button,:root[data-theme=dark] .student-detail-search-actions>button:hover,:root[data-theme=dark] .student-detail-search-actions>button:focus-visible,:root[data-theme=dark] .student-detail-search-actions>button:active,:root[data-theme=dark] .student-detail-search-actions>.secondary,:root[data-theme=dark] .student-detail-search-actions>.submit{border:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}.timeline-card.counseling{display:grid;gap:6px}.counseling-timeline-head{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.counseling-date-author{display:inline-flex;align-items:center;gap:8px;min-width:0}.counseling-date-author>span{color:var(--text-muted);font-size:12px}.counseling-content{margin:0;color:var(--text-main);font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.counseling-content-preview{display:flex;align-items:baseline;gap:6px;min-width:0}.counseling-content-preview .counseling-content{flex:1 1 auto;min-width:0}.counseling-content-collapsed{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.counseling-content-more{flex:0 0 auto;white-space:nowrap;justify-self:end;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-muted);font-size:11px;font-weight:600}.counseling-content-more:hover,.counseling-content-more:focus-visible{background:transparent;box-shadow:none;color:var(--text-soft)}.counseling-pagination{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:4px}.counseling-pagination>span{color:var(--text-soft);font-size:12px;font-weight:700}.counseling-pagination>button{justify-self:center;width:34px;min-height:34px;display:inline-grid;place-items:center;padding:0}.counseling-pagination>button svg{width:18px;height:18px}.student-duplicate-layer{display:grid;gap:8px;margin-top:-2px;padding:10px 12px;border:1px solid var(--border-soft);border-radius:12px;background:var(--bg-card)}.student-duplicate-title{margin:0;font-size:11px;font-weight:800;color:var(--accent-strong)}.student-duplicate-list{display:grid;gap:6px}.student-duplicate-item{display:block;font-size:12px;font-weight:700;color:var(--text-main);line-height:1.45}.detail-range-stack{display:grid;gap:14px;padding:8px 0 2px}.planner-all-day-toggle-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}.planner-toggle-pair-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}.planner-toggle-pair-row .planner-all-day-toggle-row:first-child{justify-content:flex-start}.planner-toggle-pair-row .planner-all-day-toggle-row:last-child{justify-content:flex-end}.planner-all-day-toggle-row>span{color:var(--text-main);font-size:13px;font-weight:800}.planner-all-day-toggle{min-width:62px;height:25px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-card);color:var(--text-soft);font-size:12px;font-weight:900;box-shadow:none}.planner-all-day-toggle:disabled{opacity:.68}.planner-all-day-toggle.is-active{border-color:#3f6fcf;background:#3f6fcf;color:#fff}.planner-icon-toggle{width:56px;height:25px;padding:3px;display:inline-flex;align-items:center;justify-content:flex-start;border:1px solid var(--border-main);border-radius:999px;background:color-mix(in srgb,var(--bg-card) 88%,var(--border-main));transition:background-color .18s ease,border-color .18s ease,justify-content .18s ease}.planner-icon-toggle.is-active{justify-content:flex-end;border:0;background:#e14b42}.planner-icon-toggle-thumb{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a38}.planner-holiday-inline-note{margin:-4px 0 0;color:var(--danger, #d9485f);font-size:13px;font-weight:600;line-height:1.4}.planner-holiday-confirm-dialog p{margin:0;color:var(--text-main);font-size:16px;font-weight:500;line-height:1.55}.planner-holiday-confirm-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.planner-holiday-confirm-actions:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.planner-holiday-confirm-actions>button{width:100%;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:15px;font-weight:500}.planner-holiday-confirm-actions>button:hover,.planner-holiday-confirm-actions>button:focus-visible{background:transparent;box-shadow:none;color:var(--text-main)}.detail-range-board{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center}.detail-range-board.detail-range-board-single{grid-template-columns:minmax(0,1fr)}.detail-range-column{display:grid;gap:10px;align-content:start}.detail-range-display-group{display:grid;gap:6px;min-width:0}.detail-range-display{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:56px;padding:14px 16px;border:1px solid var(--border-main);border-radius:18px;background:var(--bg-card-soft);color:var(--text-main);text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.detail-range-display.is-active{border-color:color-mix(in srgb,var(--accent) 70%,var(--surface-tint) 30%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.detail-range-display-date{font-size:15px;font-weight:700}.detail-range-display-time{font-size:22px;font-weight:800;letter-spacing:-.02em}.detail-range-arrow{display:inline-grid;color:var(--text-soft);font-size:14px;font-weight:700}.detail-range-arrow-centered{grid-column:auto;justify-self:center;align-self:center;padding:0}.detail-range-inline-picker{display:grid;gap:14px;padding:16px;border:1px solid var(--border-main);border-radius:24px;background:var(--bg-card-soft)}.detail-inline-picker-topbar{padding:0}.detail-inline-picker-summary{pointer-events:none}.detail-time-picker{grid-template-columns:minmax(92px,1.1fr) minmax(72px,1fr) auto minmax(88px,1fr);gap:12px;align-items:center}.detail-time-picker-column{min-width:0}.detail-time-picker-column .calendar-picker-wheel{height:184px}.detail-time-picker-period .calendar-picker-option{font-size:17px}.detail-time-picker-colon{align-self:center;color:var(--text-soft);font-size:28px;font-weight:800}.textarea-row textarea{min-height:110px;resize:vertical}.attachment-link{margin-top:4px}.planner-attachment-field{align-items:start}.planner-attachment-input{display:none}.planner-attachment-trigger{justify-self:stretch;width:100%;padding:10px;border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input);color:var(--text-strong);font:inherit;font-weight:700;text-align:left;cursor:pointer}.planner-attachment-trigger:disabled{background:var(--bg-card-soft);color:var(--text-soft);cursor:not-allowed}.planner-attachment-list{display:grid;gap:8px;width:100%}.planner-attachment-field .planner-attachment-list{grid-column:1 / -1}.planner-attachment-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;color:var(--text-main)}.planner-attachment-item a,.planner-attachment-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-attachment-thumb{width:30px;height:30px;border-radius:6px;object-fit:cover;background:var(--bg-card-soft);border:1px solid var(--border-main)}.planner-attachment-thumb-placeholder{display:inline-block}.planner-attachment-remove{width:28px;height:28px;border:0;border-radius:999px;background:transparent;color:var(--danger);font-size:24px;font-weight:800;line-height:1;cursor:pointer}.field-error{margin:0;color:var(--danger);font-size:13px}.notice{margin:0;padding:14px 16px;border-radius:16px}.notice.success{background:var(--success-soft);color:var(--success)}.notice.error{background:var(--danger-soft);color:var(--danger)}.operator-preview-shell{min-height:100vh;display:grid;align-content:start;gap:18px;padding:28px;background:var(--bg-app)}.operator-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.operator-preview-header h1,.operator-preview-header p,.operator-preview-card h2,.operator-preview-row p,.operator-preview-inquiry-row p,.operator-preview-inquiry-row pre{margin:0}.operator-preview-header h1{color:var(--text-strong);font-size:28px;line-height:1.2}.operator-preview-header p:not(.eyebrow){margin-top:8px;color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.55}.operator-preview-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:14px}.operator-preview-card{display:grid;align-content:start;gap:12px;min-width:0;padding:16px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-panel);box-shadow:var(--shadow-sm)}.operator-preview-wide-card{grid-column:1 / -1}.admin-login-shell{place-content:center}.admin-login-card{width:min(420px,100%);justify-self:center}.admin-login-card h1{margin:0;color:var(--text-strong);font-size:26px;line-height:1.3}.operator-preview-denied-card{width:min(420px,100%);justify-self:center}.operator-preview-denied-card h1,.operator-preview-denied-card p{margin:0}.operator-preview-denied-card h1{color:var(--text-strong);font-size:24px;line-height:1.3}.operator-preview-denied-card p:not(.eyebrow){color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.55}.operator-preview-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.operator-preview-card h2{color:var(--text-strong);font-size:17px;line-height:1.35}.operator-preview-form{display:grid;gap:10px}.operator-preview-form input[type=email],.operator-preview-form input[type=password],.operator-preview-form input[type=text],.operator-preview-form textarea{width:100%;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-main);font-size:14px;font-weight:700}.operator-preview-form input[type=email],.operator-preview-form input[type=password],.operator-preview-form input[type=text]{min-height:42px;padding:0 12px}.operator-preview-form textarea{min-height:150px;padding:11px 12px;resize:vertical}.operator-preview-rich-editor{display:grid;overflow:hidden;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input)}.operator-preview-rich-editor-image-input{display:none}.operator-preview-rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:7px;border-bottom:1px solid var(--border-main);background:var(--bg-card-soft)}.operator-preview-rich-editor-toolbar button{min-width:30px;height:30px;min-height:30px;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-main);font-size:13px;font-weight:900;box-shadow:none}.operator-preview-rich-editor-toolbar button:hover,.operator-preview-rich-editor-toolbar button:focus-visible,.operator-preview-rich-editor-toolbar button.active{border-color:var(--border-main);background:var(--bg-hover);color:var(--text-strong);box-shadow:none}.operator-preview-rich-editor-toolbar button:disabled{cursor:not-allowed;opacity:.45}.operator-preview-rich-editor-content{min-height:170px;padding:11px 12px;color:var(--text-main);font-size:14px;font-weight:700;line-height:1.6;outline:none}.operator-preview-notice-body{display:flow-root;min-width:0;color:var(--text-main);font-size:13px;font-weight:650;line-height:1.6;word-break:break-word}.operator-preview-rich-editor-content p,.operator-preview-rich-editor-content h3,.operator-preview-rich-editor-content ul,.operator-preview-rich-editor-content ol,.operator-preview-rich-editor-content blockquote,.operator-preview-notice-body p,.operator-preview-notice-body h3,.operator-preview-notice-body ul,.operator-preview-notice-body ol,.operator-preview-notice-body blockquote{margin:0 0 8px}.operator-preview-rich-editor-content h3,.operator-preview-notice-body h3{color:var(--text-strong);font-size:16px;line-height:1.45}.operator-preview-rich-editor-content ul,.operator-preview-rich-editor-content ol,.operator-preview-notice-body ul,.operator-preview-notice-body ol{padding-left:20px}.operator-preview-rich-editor-content blockquote,.operator-preview-notice-body blockquote{padding-left:10px;border-left:3px solid var(--border-main);color:var(--text-soft)}.operator-preview-rich-editor-content img,.operator-preview-notice-body img{display:block;max-width:100%;max-height:360px;margin:10px 0;border-radius:8px;object-fit:contain}.operator-preview-notice-body img+p,.operator-preview-notice-body p+img,.operator-preview-notice-body ul+img,.operator-preview-notice-body ol+img{margin-top:12px}.operator-preview-notice-body p:last-child,.operator-preview-notice-body h3:last-child,.operator-preview-notice-body ul:last-child,.operator-preview-notice-body ol:last-child,.operator-preview-notice-body blockquote:last-child,.operator-preview-notice-body img:last-child{margin-bottom:0}.operator-preview-file-field{display:grid;gap:6px}.operator-preview-file-field>span,.operator-preview-file-field small{color:var(--text-soft);font-size:12px;font-weight:800}.operator-preview-file-field input[type=file]{width:100%;color:var(--text-main);font-size:13px;font-weight:700}.operator-preview-file-notice{margin:0;color:var(--danger);font-size:12px;font-weight:800;line-height:1.45}.operator-preview-file-list{display:flex;flex-wrap:wrap;gap:6px}.operator-preview-file-list>span{max-width:100%;display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border-radius:999px;background:var(--bg-card-soft);color:var(--text-soft);font-size:11px;font-weight:800}.operator-preview-file-list>span>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operator-preview-file-list button{min-height:22px;padding:0 6px;border:0;border-radius:999px;background:var(--bg-hover);color:var(--text-main);font-size:11px;font-weight:800;box-shadow:none}.operator-preview-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-main);font-size:14px;font-weight:800}.operator-preview-list,.operator-preview-inquiry-list{display:grid;gap:8px}.operator-preview-row,.operator-preview-inquiry-row{display:grid;gap:7px;min-width:0;padding:12px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card)}.operator-preview-row-head,.operator-preview-inquiry-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.operator-preview-row>.operator-preview-row-actions{justify-content:flex-end;gap:6px}.operator-preview-row-actions>button{min-height:30px;padding:0 10px;font-size:12px;font-weight:800}.operator-preview-row strong,.operator-preview-inquiry-row strong{min-width:0;color:var(--text-strong);font-size:14px;line-height:1.45;overflow-wrap:anywhere}.operator-preview-row time,.operator-preview-inquiry-row p{color:var(--text-soft);font-size:12px;font-weight:800;line-height:1.45}.operator-preview-row>span,.operator-preview-inquiry-meta span{justify-self:start;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:900}.operator-preview-row p,.operator-preview-inquiry-row pre{color:var(--text-main);font-size:13px;font-weight:650;line-height:1.55;white-space:pre-wrap;word-break:break-word}.operator-preview-attachment-list{display:flex;flex-wrap:wrap;gap:6px}.operator-preview-attachment-list a{color:var(--accent);font-size:12px;font-weight:800}.admin-faq-edit-form{padding:12px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card-soft)}.admin-faq-edit-actions,.admin-faq-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-faq-group-list{display:grid;gap:12px}.admin-faq-group{display:grid;gap:8px}.admin-faq-group h3{margin:0;color:var(--text-strong);font-size:15px;line-height:1.4}@media (max-width: 900px),(min-width: 901px){.operator-preview-shell{padding:18px}.operator-preview-header{display:grid}.operator-preview-header>.secondary{width:100%}.operator-preview-grid{grid-template-columns:1fr}.operator-preview-card-head{align-items:stretch;flex-direction:column}.operator-preview-card-head>.secondary{width:100%}}.spinner-dot{width:12px;height:12px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:spinner-rotate .8s linear infinite;flex:0 0 auto}.schedule-sync-toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%);width:90%;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:color-mix(in srgb,#415cb7 94%,transparent);color:#d8dfef;box-shadow:var(--shadow-md);z-index:300;font-size:15px;font-weight:500;line-height:1.45;white-space:pre-line}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-shell{display:grid;gap:16px;transition:grid-template-rows .56s cubic-bezier(.18,.78,.2,1),gap .56s cubic-bezier(.18,.78,.2,1)}.calendar-stage,.schedule-list-stage{min-height:0;transform-origin:top center;transition:transform .52s cubic-bezier(.2,.76,.22,1),opacity .52s cubic-bezier(.2,.76,.22,1);will-change:transform,opacity}.schedule-list-stage{overflow:hidden}.calendar-grid-stack{position:relative;min-height:0;display:grid}.calendar-grid-layer{grid-area:1 / 1;transition:transform .52s cubic-bezier(.2,.76,.22,1),opacity .52s cubic-bezier(.2,.76,.22,1);will-change:transform,opacity}.calendar-collapse-toggle{display:none;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 14px;border-radius:999px;border:1px solid var(--border-main);background:var(--bg-card-soft);color:var(--text-soft)}.calendar-collapse-handle{width:42px;height:4px;border-radius:999px;background:var(--border-main)}.calendar-grid-header span{width:100%;text-align:center;color:var(--text-soft);font-size:12px;text-transform:uppercase}.calendar-grid-header span[data-weekday-tone=saturday],.schedule-calendar-grid-header span[data-weekday-tone=saturday],.schedule-year-mini-weekdays span[data-weekday-tone=saturday]{color:#3f6fcf}.calendar-grid-header span[data-weekday-tone=sunday],.schedule-calendar-grid-header span[data-weekday-tone=sunday],.schedule-year-mini-weekdays span[data-weekday-tone=sunday]{color:#d2554d}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;transition:gap .56s cubic-bezier(.18,.78,.2,1),transform .56s cubic-bezier(.18,.78,.2,1)}.calendar-grid.is-collapsed{gap:8px}.calendar-cell{min-height:112px;transition:min-height .56s cubic-bezier(.18,.78,.2,1),padding .56s cubic-bezier(.18,.78,.2,1),gap .56s cubic-bezier(.18,.78,.2,1),border-radius .56s cubic-bezier(.18,.78,.2,1);padding:10px;border-radius:18px;border:1px solid var(--border-main);background:var(--bg-card);text-align:left;display:grid;align-content:start;gap:8px;overflow:hidden}.calendar-cell[data-muted=true]{opacity:.52}.calendar-cell.active{border-color:var(--accent);background:var(--bg-card-strong);box-shadow:0 0 0 1px var(--accent-ghost),var(--shadow-sm)}.calendar-cell,.schedule-calendar-cell{-webkit-tap-highlight-color:transparent}.calendar-cell:active,.schedule-calendar-cell:active{background:inherit;box-shadow:none}.calendar-cell:focus,.schedule-calendar-cell:focus,.calendar-cell:focus-visible,.schedule-calendar-cell:focus-visible{outline:none}.calendar-date{font-weight:700;color:var(--text-strong)}.calendar-cell[data-weekday-tone=saturday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=saturday] .calendar-date{color:#3f6fcf}.calendar-cell[data-weekday-tone=sunday] .calendar-date,.calendar-cell[data-weekday-tone=holiday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=sunday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=holiday] .calendar-date{color:#d2554d}.calendar-event-stack{display:grid;gap:6px;min-width:0}.calendar-event-stack.collapsed{gap:4px}.calendar-event-pill{display:grid;grid-template-columns:4px minmax(0,1fr);align-items:stretch;gap:4px;min-width:0;padding:4px 2px;border-radius:12px;background:transparent;color:var(--calendar-tone, var(--text-strong))}.calendar-event-pill.is-background{grid-template-columns:minmax(0,1fr);gap:0;width:calc(100% + 4px);margin-left:-2px;margin-right:-2px;padding:4px 6px;border-radius:2px;background:var(--calendar-tone, var(--accent));color:var(--text-on-accent)}.calendar-event-pill.is-range{min-width:calc(100% + 4px)}.calendar-event-pill.is-range.is-range-start{border-top-left-radius:12px;border-bottom-left-radius:12px}.calendar-event-pill.is-range.is-range-end{border-top-right-radius:12px;border-bottom-right-radius:12px}.calendar-event-pill.is-range.is-range-continued-left{margin-left:-4px;border-top-left-radius:0;border-bottom-left-radius:0}.calendar-event-pill.is-range.is-range-continued-right{margin-right:-4px;border-top-right-radius:0;border-bottom-right-radius:0}.calendar-event-pill.horizontal{grid-template-columns:1fr;gap:0;padding:0;background:transparent;min-height:10px}.calendar-event-accent{border-radius:999px;background:linear-gradient(180deg,var(--calendar-tone, var(--accent)) 0%,color-mix(in srgb,var(--calendar-tone, var(--accent)) 72%,var(--surface-tint)) 100%)}.calendar-event-pill.horizontal .calendar-event-accent{width:100%;height:4px;border-radius:999px 999px 0 0}.calendar-event-label{min-width:0;overflow:hidden;color:var(--text-strong);font-size:11px;line-height:1.15;word-break:break-word;display:block;max-height:2.3em}.calendar-event-pill.is-background .calendar-event-label{color:var(--text-on-accent);display:block;overflow:hidden;white-space:nowrap;text-overflow:clip}.calendar-more{color:var(--text-muted);font-size:11px}.calendar-event-pill[data-tone=tone-0],.title-row[data-tone=tone-0]{--calendar-tone: #4f7cff;--calendar-tone-soft: rgba(79, 124, 255, .16)}.calendar-event-pill[data-tone=tone-1],.title-row[data-tone=tone-1]{--calendar-tone: #16a085;--calendar-tone-soft: rgba(22, 160, 133, .16)}.calendar-event-pill[data-tone=tone-2],.title-row[data-tone=tone-2]{--calendar-tone: #f08c2e;--calendar-tone-soft: rgba(240, 140, 46, .18)}.calendar-event-pill[data-tone=tone-3],.title-row[data-tone=tone-3]{--calendar-tone: #d9487d;--calendar-tone-soft: rgba(217, 72, 125, .18)}.selected-date-panel{padding:18px;border-radius:var(--radius-md);background:var(--bg-card-soft);border:1px solid var(--border-main);transition:transform .62s cubic-bezier(.16,.8,.2,1),opacity .5s cubic-bezier(.22,.72,.2,1),max-height .62s cubic-bezier(.16,.8,.2,1);will-change:transform,opacity,max-height}.theme-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-option{display:grid;gap:10px;padding:14px;text-align:center;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-main)}.theme-option-head{justify-content:center}.theme-option-head strong{font-size:13px;line-height:1.15}.theme-preview{display:block}.theme-preview span{display:block;min-height:10px;border-radius:12px}.theme-preview[data-preview=light] span:first-child{background:var(--preview-light-1)}.theme-preview[data-preview=light2] span:first-child{background:var(--preview-light2-1)}.theme-preview[data-preview=light3] span:first-child,.theme-preview[data-preview=light_on] span:first-child{background:var(--preview-light-3)}.theme-preview[data-preview=dark] span:first-child{background:var(--preview-dark-1)}.theme-preview[data-preview=system] span:first-child{background:linear-gradient(135deg,var(--preview-light-3) 0%,var(--preview-light-3) 50%,var(--preview-dark-1) 50%,var(--preview-dark-1) 100%)}.mobile-tabbar{display:none;max-width:var(--app-frame-max-width);margin-inline:auto}.floating-action{position:fixed;right:max(10px,calc((100vw - var(--app-frame-max-width)) / 2 + 10px));bottom:65px;display:inline-flex;align-items:center;justify-content:center;gap:8px;z-index:20}.floating-action-student{padding:10px;border-radius:50%}:root:is([data-theme=light3],[data-theme=light_on]) .floating-action{--accent: #4fa9c6;--accent-strong: #2f89a7;--button-shadow: 0 16px 30px rgba(47, 137, 167, .2)}:root:is([data-theme=light3],[data-theme=light_on]) .floating-action-schedule{--accent-strong: #2f42a7}:root:is([data-theme=light3],[data-theme=light_on]) .quick-planner-submit-icon{--accent: #4fa9c6;--accent-strong: #2f42a7;--button-shadow: 0 16px 30px rgba(47, 137, 167, .2);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--text-on-accent)}.floating-action-icon{width:18px;height:18px;display:inline-grid;place-items:center;line-height:1;flex:0 0 auto}.floating-action-icon svg{width:18px;height:18px}.floating-action-schedule{--accent-strong: #2f42a7;border-radius:50%;padding:10px}.floating-action-schedule .floating-action-icon{color:var(--text-on-accent)}.role-group{border:0;padding:0;display:grid;gap:8px}.inline-option{display:flex;align-items:center;gap:8px}.inline-option input{width:auto;accent-color:var(--accent)}@media (max-width: 1200px),(min-width: 1201px){.dashboard-grid,.auth-grid-two,.settings-grid,.home-columns,.planner-layout,.students-layout,.auth-hero{grid-template-columns:1fr}}@media (max-width: 900px),(min-width: 901px){.app-shell[data-section=schedule] .planner-layout.single-column{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.app-shell[data-section=schedule] .planner-main-panel{min-height:0}.student-list-panel{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.lesson-extension-page,.lesson-group-page{height:calc(100vh - var(--app-header-height) - var(--app-mobile-tabbar-height) - 18px);padding-bottom:0}.app-shell{--app-header-offset-left: 0px;--app-shell-gutter: 16px;--app-header-height: calc(env(safe-area-inset-top) + 40px) ;--app-mobile-tabbar-height: calc(50px + env(safe-area-inset-bottom)) }.intro-splash[data-target=page-header]{--intro-target-x: calc(28px - 50vw) ;--intro-top-offset: calc(env(safe-area-inset-top) + 24px) ;--intro-target-scale: .18}.desktop-sidebar{display:none}.app-stage{margin-left:0}.page-header{left:0;padding:calc(env(safe-area-inset-top) + 7px) var(--app-shell-gutter) 7px}.page-body{padding:calc(var(--app-header-height) + 12px) var(--app-shell-gutter) calc(var(--app-mobile-tabbar-height) + 18px)}.page-body.is-student-list-page{padding:calc(var(--app-header-height) + 10px) var(--app-shell-gutter) calc(var(--app-mobile-tabbar-height) + 18px)}.dashboard-grid,.quick-action-grid,.info-card-grid,.filter-row,.planner-filter-row{grid-template-columns:1fr}.home-schedule-heading h2{font-size:18px}.home-schedule-item-head,.home-schedule-item-meta{flex-direction:row;align-items:center}.home-schedule-item-time{font-size:13px}.student-filter-row{grid-template-columns:minmax(0,60%) minmax(0,30%) minmax(44px,10%)}.student-filter-row .search-submit{width:44px;height:44px;justify-self:end;border-radius:999px}.panel-header,.planner-card-head,.planner-card-meta,.planner-card-foot,.student-card-head,.timeline-head,.recent-meta,.action-row,.planner-toolbar{flex-direction:column;align-items:stretch}.timeline-head.payment-timeline-head,.timeline-head.counseling-timeline-head{flex-direction:row;align-items:center;justify-content:space-between}.page-header-leading,.page-header-actions{gap:8px}.page-header-brand-image{width:19px}.student-search-inline-panel{border-radius:20px}.student-search-layer-fields{grid-template-columns:minmax(0,1fr) 100px}.student-search-layer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-subscription-promo-panel,.settings-notification-panel,.settings-account-actions{flex-direction:column;align-items:stretch}.settings-account-panel{align-items:flex-end}.settings-subscription-promo-action{width:100%}.settings-notification-panel>button{width:100%}.settings-default-lesson-alert-actions{justify-content:flex-end}.settings-subscription-choice-actions{width:100%;min-width:0}.settings-subscription-promo-bubble{right:14px}.settings-subscription-promo-button{width:100%}.settings-account-actions-primary{flex-direction:row;align-items:stretch}.settings-account-actions>button{width:100%}.settings-account-actions-primary>.settings-account-button{width:auto;min-width:0}.settings-support-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.settings-support-button{min-width:0;padding:12px 6px;font-size:12px}.pagination{gap:10px;flex-wrap:wrap}.student-list-item{padding:14px 12px;gap:10px}.student-search-summary-banner{align-items:stretch}.student-search-summary-meta{flex-wrap:wrap}.student-search-summary-clear{padding-inline:10px}.student-list-name{font-size:15px}.student-list-school{font-size:12px}.student-list-contact-row{gap:8px}.student-list-contact-button{font-size:12px}.student-detail-overlay{left:0;padding:calc(env(safe-area-inset-top) + 58px) 12px calc(12px + env(safe-area-inset-bottom));align-items:start}.student-detail-modal{width:100%;max-height:calc(100dvh - 120px - env(safe-area-inset-bottom));border-radius:24px}.student-detail-title-row{padding-right:12px;align-items:center;flex-wrap:wrap}.student-detail-close{top:0;right:0}.student-detail-tabs{padding:0 12px 10px}.student-grade-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.student-grade-filters,.student-grade-subject-select{width:100%}.student-grade-year-input{width:78px;flex-basis:78px}.student-grade-form .student-grade-group-exam-checkbox{min-height:38px;padding:5px 0}.managed-group-grade-filters{grid-template-columns:1fr}.managed-group-grade-summary{display:grid}.student-grade-form-actions{grid-template-columns:minmax(70px,.36fr) minmax(0,1fr)}.student-detail-form{--student-detail-label-width: 104px}.student-detail-form .detail-row{grid-template-columns:var(--student-detail-label-width) minmax(0,1fr);column-gap:0px}.student-detail-form>.field-error{margin-left:calc(var(--student-detail-label-width) + 10px)}.subject-picker-overlay{left:0;padding:calc(env(safe-area-inset-top) + 58px) 12px calc(12px + env(safe-area-inset-bottom))}.subject-picker-sheet{width:100%;padding:16px 12px;border-radius:20px}.subject-picker-actions{flex-direction:row;align-items:center}.student-detail-body .action-row{flex-direction:row;align-items:center;justify-content:stretch}.student-detail-body .action-row>button{flex:1 1 0}.student-detail-body .detail-section-stack .info-card-grid .info-card span{display:inline-block;width:87px;margin-right:10px;padding-right:10px;border-right:1px solid var(--button-neutral-hover)}.student-detail-grid-two{grid-template-columns:1fr}.quick-sheet-actions{flex-direction:row;align-items:center}.mobile-tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-height:var(--app-mobile-tabbar-height);padding:4px 5px calc(4px + env(safe-area-inset-bottom));border-radius:0;background:var(--bg-surface);border:0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40}.mobile-tab{min-height:38px;text-align:center;display:grid;justify-items:center;align-content:center;gap:4px;background:transparent;border:0;box-shadow:none;color:var(--text-soft);-webkit-tap-highlight-color:transparent}:root[data-theme=dark] .mobile-tab{color:#d8dfef}.mobile-tab:hover,.mobile-tab:focus-visible{background:transparent;box-shadow:none;color:var(--text-main)}.mobile-tab:active{background:transparent;box-shadow:none}.mobile-tab.active,.mobile-tab.active:hover,.mobile-tab.active:active,.mobile-tab.active:focus-visible,.mobile-tab[data-active=true],.mobile-tab[data-active=true]:hover,.mobile-tab[data-active=true]:active,.mobile-tab[data-active=true]:focus-visible{background:transparent;color:#4f7cff;box-shadow:none}:root[data-theme=dark] .mobile-tab.active,:root[data-theme=dark] .mobile-tab.active:hover,:root[data-theme=dark] .mobile-tab.active:active,:root[data-theme=dark] .mobile-tab.active:focus-visible,:root[data-theme=dark] .mobile-tab[data-active=true],:root[data-theme=dark] .mobile-tab[data-active=true]:hover,:root[data-theme=dark] .mobile-tab[data-active=true]:active,:root[data-theme=dark] .mobile-tab[data-active=true]:focus-visible{color:#4f7cff}.mobile-tab-icon{display:inline-flex;width:18px;height:18px}.mobile-tab-icon svg{width:100%;height:100%;display:block;overflow:visible}.mobile-tab-label{font-size:11px;font-weight:500;line-height:1}.floating-action{display:inline-flex}}.planner-layout.single-column{grid-template-columns:1fr}.calendar-month-row,.sheet-header,.sheet-header-actions,.title-row-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-month-copy h2{margin:0;color:var(--text-strong)}.calendar-nav-button{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-strong);font-size:18px;line-height:1}.schedule-mobile-toolbar,.schedule-search-screen,.schedule-search-results-panel,.schedule-mobile-drawer-overlay{display:none}.schedule-mobile-toolbar{position:sticky;top:0;z-index:8;margin:-4px -8px 8px;padding:calc(env(safe-area-inset-top) + 8px) 10px 10px;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border-main) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.schedule-mobile-toolbar .schedule-mobile-toolbar-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-mobile-toolbar-leading{display:inline-flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0}.schedule-mobile-brand-shell{position:relative;display:inline-flex;align-items:center;flex:1 1 auto;min-width:0}.schedule-mobile-brand{display:inline-flex;align-items:center;justify-content:flex-start;max-width:100%;min-height:32px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text-strong);-webkit-tap-highlight-color:transparent}.schedule-mobile-brand:hover,.schedule-mobile-brand:active,.schedule-mobile-brand:focus-visible{background:transparent;box-shadow:none}.schedule-mobile-brand.has-label{justify-content:flex-start;width:100%}.schedule-mobile-brand.has-caret{gap:6px}.schedule-mobile-brand.is-static{padding-right:0}.schedule-mobile-brand-caret{width:16px;height:16px;display:inline-grid;place-items:center;flex:0 0 auto}.schedule-mobile-brand-caret svg{width:14px;height:14px}.schedule-mobile-brand-image{display:block;width:18px;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.schedule-mobile-brand-label{display:block;max-width:100%;min-width:0;overflow:hidden;color:var(--text-strong);font-size:14px;font-weight:700;letter-spacing:-.02em;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.schedule-mobile-toolbar-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:8px;margin-left:auto}.schedule-student-picker{position:absolute;top:calc(100% + 8px);left:0;z-index:75;display:grid;width:min(288px,calc(100vw - 32px));max-height:min(360px,calc(100dvh - 140px));gap:4px;overflow-y:auto;padding:6px;border:1px solid var(--border-main);border-radius:18px;background:color-mix(in srgb,var(--bg-card) 96%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.schedule-student-picker-option{display:flex;align-items:center;width:100%;min-height:34px;padding:0 12px;border:0;border-radius:12px;background:transparent;box-shadow:none;color:var(--text-main);font-size:13px;font-weight:650;letter-spacing:-.02em;text-align:left}.schedule-student-picker-option:hover,.schedule-student-picker-option:focus-visible{background:var(--bg-hover);box-shadow:none;color:var(--text-strong)}.schedule-student-picker-option.active{background:var(--accent-ghost);color:var(--accent-strong)}.schedule-student-picker-message{padding:8px 12px 10px;color:var(--text-soft);font-size:12px}.calendar-collapse-text{color:var(--text-soft)}.compact-panel{margin-top:8px}.title-list{display:grid;gap:10px}.title-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--border-main);background:var(--calendar-tone-soft, var(--bg-card));text-align:left}.title-row.active{border-color:var(--calendar-tone, var(--accent));background:color-mix(in srgb,var(--calendar-tone-soft, var(--bg-card-strong)) 75%,var(--bg-card-strong));box-shadow:0 0 0 1px color-mix(in srgb,var(--calendar-tone, var(--accent)) 20%,transparent),var(--shadow-sm)}.title-row-main{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.title-row-copy{display:grid;gap:2px;min-width:0;flex:1}.schedule-list-panel .title-row-copy strong,.schedule-date-sheet .title-row-copy strong{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.title-row-main strong{min-width:0;color:var(--calendar-tone, var(--text-strong));font-size:14px;line-height:1.15}.selected-date-panel.compact-panel.schedule-list-panel .title-row-main strong{color:var(--text-strong);font-size:16px;font-weight:500}.title-row-icon{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--calendar-tone, var(--accent)) 22%,var(--surface-tint));color:var(--calendar-tone, var(--accent));flex:0 0 auto}.title-row-icon svg{width:14px;height:14px;fill:currentColor}.title-row-state,.title-row-sub,.sheet-meta{color:var(--text-muted)}.title-row-state{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:3px;background:color-mix(in srgb,var(--accent-soft) 82%,var(--bg-card));color:var(--accent-strong);font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap}.title-row-state[data-status=completed]{background:#008b8b;color:#fff}.title-row-state[data-status=upcoming]{background:#f08080;color:#fff}:root:is([data-theme=light3],[data-theme=light_on]) .title-row-state[data-status=completed]{background:#008b8b;color:#fff}:root:is([data-theme=light3],[data-theme=light_on]) .title-row-state[data-status=upcoming]{background:#f08080;color:#fff}.title-row-sub{font-size:11px;line-height:1.1}.selected-date-panel.compact-panel.schedule-list-panel .title-row-sub{font-size:13px}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#090e1c70;display:grid;align-items:end;z-index:40}.schedule-date-overlay{display:flex;justify-content:center}.planner-completion-review-dialog,.student-detail-panel,.schedule-date-overlay-viewport,.bottom-sheet{max-width:var(--app-frame-max-width)}.sheet-overlay.lesson-extension-confirm-overlay{z-index:280}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:color-mix(in srgb,#07111f 46%,transparent);z-index:120}.planner-cancel-dialog{display:grid;gap:18px;width:min(340px,100%);padding:22px;border:1px solid var(--border-main);border-radius:18px;background:var(--bg-card-strong);color:var(--text-main);box-shadow:var(--shadow-lg)}:root:is([data-theme=light3],[data-theme=light_on]) .planner-cancel-dialog{background:#fff}.planner-cancel-dialog>strong{color:#e14b42;font-size:18px}.planner-category-notice-modal p{margin:0;color:var(--text-main);font-size:14px;line-height:1.55}.planner-category-notice-actions{display:flex;justify-content:center}.planner-category-notice-actions>button{min-width:120px;border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-main);box-shadow:none}.planner-cancel-dialog-actions{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.planner-cancel-dialog-actions:before,.planner-cancel-dialog-actions:after{content:"";position:absolute;top:50%;width:1px;height:18px;background:var(--border-main);transform:translateY(-50%)}.planner-cancel-dialog-actions:before{left:33.3333%}.planner-cancel-dialog-actions:after{left:66.6667%}.planner-cancel-dialog-actions>button,.planner-cancel-dialog-actions>button:hover,.planner-cancel-dialog-actions>button:focus-visible,.planner-cancel-dialog-actions>button:active,.planner-cancel-dialog-actions>.secondary,.planner-cancel-dialog-actions>.submit{padding:15px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:15px;font-weight:500}:root[data-theme=dark] .planner-cancel-dialog{background:#2c3141}:root[data-theme=dark] .planner-cancel-dialog-actions{position:relative;gap:0}:root[data-theme=dark] .planner-cancel-dialog-actions:before,:root[data-theme=dark] .planner-cancel-dialog-actions:after{content:"";position:absolute;top:50%;width:1px;height:18px;background:var(--border-main);transform:translateY(-50%)}:root[data-theme=dark] .planner-cancel-dialog-actions:before{left:33.3333%}:root[data-theme=dark] .planner-cancel-dialog-actions:after{left:66.6667%}:root[data-theme=dark] .planner-cancel-dialog-actions>button,:root[data-theme=dark] .planner-cancel-dialog-actions>button:hover,:root[data-theme=dark] .planner-cancel-dialog-actions>button:focus-visible,:root[data-theme=dark] .planner-cancel-dialog-actions>button:active{padding:15px;border:0;background:transparent;box-shadow:none}.planner-attachment-picker-sheet{padding:18px 18px calc(22px + env(safe-area-inset-bottom))}.planner-attachment-picker-title{display:block;margin:4px 0 20px;color:var(--text-strong);font-size:16px;font-weight:800}.planner-attachment-picker-actions{display:flex;align-items:flex-start;justify-content:center;gap:clamp(24px,8vw,44px);width:100%}.planner-attachment-picker-option{display:grid;justify-items:center;gap:8px;width:72px;min-width:72px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-main);text-align:center;box-shadow:none}.planner-attachment-picker-option>span:last-child{color:var(--text-main);font-size:13px;font-weight:700;line-height:1.2}.planner-attachment-app-logo{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;color:#fff;box-shadow:0 8px 20px #1e293b29}.planner-attachment-app-logo svg{width:30px;height:30px;fill:currentColor}.planner-attachment-app-logo-files{background:linear-gradient(135deg,#5b8cff,#2f6fed)}.planner-attachment-app-logo-gallery{background:linear-gradient(135deg,#21c4a3,#1f9bd1)}.planner-attachment-app-logo-all{background:linear-gradient(135deg,#8b95a7,#475569)}.bottom-sheet{width:min(760px,100%);margin:0 auto;padding:18px 18px 60px;border-radius:28px 28px 0 0;background:var(--bg-panel);border:1px solid var(--border-main);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sheet-handle{width:64px;height:6px;border-radius:999px;background:var(--border-main);margin:0 auto 14px}.sheet-form{display:grid;gap:12px}.quick-sheet-actions{flex-direction:row;align-items:center}.quick-sheet-actions .secondary,.quick-sheet-actions .btn-close,.quick-sheet-actions .submit{flex:1 1 0}.quick-sheet-actions .submit{color:var(--text-on-accent)}.quick-planner-form{gap:10px}.quick-planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-planner-time-button,.quick-planner-detail-button{min-height:30px;padding:6px 10px;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-input);color:var(--text-main);box-shadow:none;font-size:13px;font-weight:700}.quick-planner-time-button.is-active{border-color:color-mix(in srgb,var(--accent) 68%,var(--border-main));background:var(--accent);color:var(--text-on-accent)}.quick-planner-detail-button{color:var(--accent)}:root[data-theme=dark] .quick-planner-time-button:not(.is-active),:root[data-theme=dark] .quick-planner-detail-button{background:#12151f}:root[data-theme=dark] .quick-planner-detail-button{color:#7e87a3}.quick-planner-input-row{position:relative;display:block}.quick-planner-input-row input{width:100%;padding-right:54px}:root[data-theme=dark] .sheet-form.quick-planner-form .detail-row.quick-planner-input-row input{background:#222734}.quick-planner-submit-icon{position:absolute;right:8px;top:50%;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--accent);color:var(--text-on-accent);box-shadow:var(--button-shadow);transform:translateY(-50%);cursor:pointer}.floating-action-schedule .quick-planner-submit-icon,.quick-planner-submit-icon{color:var(--text-on-accent)}.quick-planner-submit-icon:disabled{opacity:.6;cursor:default}.quick-planner-submit-icon svg{width:18px;height:18px}.student-contact-sheet{width:min(420px,100%)}.planner-delete-sheet-overlay{z-index:260}.planner-delete-sheet{width:min(520px,100%);display:grid;gap:16px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.planner-delete-sheet h3{margin:0;color:var(--text-strong);font-size:18px;line-height:1.3}.planner-delete-options{display:grid;gap:8px}.planner-delete-option{width:100%;min-height:48px;justify-content:flex-start;padding:12px 14px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-main);box-shadow:none;font-size:14px;font-weight:800;text-align:left}.planner-delete-option.is-active{border-color:var(--accent);background:var(--accent-ghost);color:var(--accent-strong)}.planner-delete-option.is-danger{border-color:color-mix(in srgb,var(--danger, #d9485f) 70%,var(--border-main));background:color-mix(in srgb,var(--danger, #d9485f) 12%,var(--bg-input));color:var(--danger, #d9485f)}.planner-delete-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-delete-actions>button{width:100%}.planner-repeat-sheet-overlay{z-index:255}.planner-repeat-sheet{width:min(620px,100%);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-self:end;min-height:88vh;max-height:88vh;gap:12px;overflow:hidden;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.planner-repeat-sheet .sheet-handle,.planner-repeat-sheet .subject-picker-sheet-head{flex:0 0 auto}.planner-repeat-scroll{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:16px;padding-right:2px}.planner-repeat-options,.planner-repeat-section,.planner-repeat-choice-list{display:grid;gap:8px}.planner-repeat-option,.planner-repeat-choice-list>button,.planner-repeat-until-field{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-main);box-shadow:none;font-weight:800;text-align:left}.planner-repeat-option.is-active,.planner-repeat-choice-list>button.is-active{border-color:var(--accent);background:var(--accent-ghost);color:var(--accent-strong)}.planner-repeat-option input[type=radio]{width:auto;accent-color:var(--accent)}.planner-repeat-interval-label{display:inline-flex;align-items:center;gap:6px}.planner-repeat-interval-label input,.planner-repeat-choice-list input{width:56px;min-width:0;padding:6px 8px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card);color:var(--text-strong);font-weight:800}.planner-repeat-section>strong{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text-strong);font-size:13px}.planner-repeat-validation{color:var(--danger, #d9485f);font-size:11px;font-weight:800;line-height:1.2}.planner-repeat-button-grid{display:grid;gap:6px}.planner-repeat-button-grid.weekday,.planner-repeat-button-grid.days{grid-template-columns:repeat(7,minmax(0,1fr))}.planner-repeat-button-grid.months{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-repeat-button-grid>button{min-height:34px;padding:7px 4px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-main);box-shadow:none;font-size:12px;font-weight:800}.planner-repeat-button-grid>button.is-active{border-color:var(--accent);background:var(--accent);color:var(--text-on-accent)}.planner-repeat-until-field{justify-content:space-between}.planner-repeat-until-field input{min-width:142px;padding:8px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card);color:var(--text-strong)}.planner-repeat-actions{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;background:var(--bg-panel)}.submit.danger{background:var(--danger, #d9485f);color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--danger, #d9485f) 22%,transparent)}.submit.danger:hover,.submit.danger:focus-visible{background:color-mix(in srgb,var(--danger, #d9485f) 88%,#000);color:#fff}.student-contact-sheet-copy{display:grid;gap:6px}.student-contact-sheet-copy h3,.student-contact-sheet-copy .page-kicker,.student-contact-sheet-phone{margin:0}.student-contact-sheet-phone{color:var(--text-soft);font-size:14px;font-weight:600}.student-contact-sheet-actions{display:grid;gap:10px;margin-top:18px}@media (max-width: 900px),(min-width: 901px){.calendar-month-row,.sheet-header,.sheet-header-actions,.title-row-main{flex-direction:row;align-items:center}.bottom-sheet{width:100%;max-height:88vh;overflow:auto}}@media (max-width: 900px),(min-width: 901px){.app-stage[data-section=schedule]{height:100dvh;overflow:hidden}.app-shell[data-section=schedule] .page-body{padding:calc(var(--app-header-height) + 8px) 8px calc(var(--app-mobile-tabbar-height) + 4px) 8px;overflow:hidden}.app-shell[data-section=schedule] .page-content{padding-top:0}.schedule-mobile-panel{padding:4px 0 0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.schedule-mobile-panel>.calendar-month-row{grid-row:1;grid-column:1}.schedule-mobile-panel>.calendar-shell{grid-row:2;grid-column:1;min-height:0}.schedule-mobile-panel>.schedule-list-stage-interactive{grid-row:3;grid-column:1;min-height:0}.schedule-mobile-panel>.schedule-alt-view{grid-row:2;grid-column:1;min-height:0}.schedule-mobile-panel.is-stage-fullMonth{grid-template-rows:auto minmax(0,1fr) 0fr}.schedule-mobile-panel.is-stage-compressedMonth{grid-template-rows:auto minmax(38dvh,.94fr) minmax(0,1.06fr)}.schedule-mobile-panel.is-stage-weekFocus{grid-template-rows:auto minmax(112px,.38fr) minmax(0,1.22fr)}.schedule-mobile-panel.schedule-mobile-panel-alt{grid-template-rows:auto minmax(0,1fr)}.schedule-mobile-toolbar,.schedule-search-screen,.schedule-search-results-panel,.schedule-mobile-drawer-overlay{display:block}.schedule-search-screen{display:grid;gap:14px;padding:2px 2px 0;overflow:hidden}.schedule-mobile-toolbar-row,.schedule-mobile-search-row,.schedule-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-mobile-drawer-head .page-kicker,.schedule-mobile-drawer-head h2{margin:0}.schedule-mobile-icon-button{width:30px;height:30px;display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text-strong);box-shadow:none}.schedule-mobile-icon-button svg{width:18px;height:18px}.schedule-mobile-search-row{padding:4px 0 0}.schedule-search-screen-head{padding-top:2px}.schedule-mobile-search-input{flex:1;min-width:0;height:42px;padding:0 14px;border-radius:16px;border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-main)}.schedule-search-results-panel{padding:14px;border:0px solid var(--border-main);border-radius:0}.schedule-search-results-panel-full{margin:0;min-height:0;max-height:calc(100dvh - 160px);overflow-y:auto;-webkit-overflow-scrolling:touch}.schedule-search-results-panel .empty{margin:0}.schedule-search-color-section{display:grid;gap:12px}.schedule-search-hint{margin:0;color:var(--text-muted);font-size:13px}.schedule-search-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-search-color-option{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-card);text-align:left}.schedule-search-color-option.active{border-color:var(--search-color);background:color-mix(in srgb,var(--search-color) 12%,var(--bg-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--search-color) 16%,transparent)}.schedule-search-color-swatch{width:18px;height:18px;border-radius:6px;background:var(--search-color);box-shadow:inset 0 0 0 1px #ffffff59}.schedule-search-color-label{color:var(--text-main);font-size:12px;font-weight:700;letter-spacing:.01em}.schedule-search-results{display:grid;gap:8px}.schedule-search-result{--search-color: var(--accent);width:100%;display:grid;gap:4px;padding:12px 14px;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-card);text-align:left}.schedule-search-result strong{color:var(--search-color);font-size:14px;font-weight:800}.schedule-search-result span{color:var(--text-muted);font-size:12px;line-height:1.35}.schedule-mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end;background:#090e1c57}.schedule-mobile-drawer{width:min(320px,calc(100vw - 44px));height:100%;padding:22px 18px 28px;background:var(--bg-panel);border-left:1px solid var(--border-main);box-shadow:var(--shadow-md)}.schedule-mobile-drawer-list{display:grid;gap:10px;margin-top:18px}.schedule-mobile-drawer-item{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--border-main);background:var(--bg-card);text-align:left;color:var(--text-main);font-weight:500}.schedule-mobile-drawer-item.active{background:var(--bg-card-strong);color:var(--text-strong)}.schedule-mobile-drawer-note{margin:18px 4px 0;color:var(--text-soft);font-size:12px;line-height:1.5}.schedule-mobile-drawer-item-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent-strong)}.schedule-mobile-drawer-item-icon svg{width:20px;height:20px}.schedule-alt-view{min-height:0;flex:1 1 auto;display:flex;height:100%;overflow:hidden}.schedule-mode-board{min-height:0;width:100%;height:100%;display:flex;flex-direction:column;gap:12px;padding:6px 4px 0;overflow:hidden}.schedule-mode-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.schedule-mode-head strong{font-size:15px;font-weight:800;color:var(--text-strong)}.schedule-mode-head span{font-size:12px;font-weight:700;color:var(--text-soft)}.schedule-mode-head.schedule-mode-head-calendar{flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:2px 2px 4px;text-align:center}.schedule-mode-head.schedule-mode-head-calendar strong{font-size:18px;font-weight:800;line-height:1.1}.schedule-mode-head.schedule-mode-head-calendar span{font-size:12px;font-weight:700;line-height:1.35}.schedule-day-head-detail{display:inline-flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap}.schedule-day-head-weekday[data-weekday-tone=saturday]{color:#3f6fcf}.schedule-day-head-weekday[data-weekday-tone=sunday],.schedule-day-head-weekday[data-weekday-tone=holiday]{color:#d2554d}.schedule-day-head-lunar{margin-left:4px;color:color-mix(in srgb,var(--text-soft) 38%,transparent);font-size:8px;font-weight:500}.schedule-mode-swipe-surface{--schedule-mode-swipe-gap: 14px;position:relative;flex:1 1 auto;min-height:0;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}.schedule-mode-swipe-panel{height:100%;min-height:0;display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--schedule-mode-swipe-gap);will-change:transform}.schedule-mode-swipe-page{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;gap:12px;overflow:hidden}.schedule-mode-swipe-page[aria-hidden=true]{pointer-events:none}.schedule-mode-swipe-page[aria-hidden=true] .schedule-week-time-corner,.schedule-mode-swipe-page[aria-hidden=true] .schedule-week-all-day-label,.schedule-mode-swipe-page[aria-hidden=true] .schedule-day-all-day-strip>span,.schedule-mode-swipe-page[aria-hidden=true] .schedule-day-all-day-list p{font-size:0}.schedule-mode-swipe-page[aria-hidden=true] .schedule-week-time-corner:before{content:"시간";font-size:10px}.schedule-mode-swipe-page[aria-hidden=true] .schedule-week-all-day-label:before,.schedule-mode-swipe-page[aria-hidden=true] .schedule-day-all-day-strip>span:before{content:"종일";font-size:10px}.schedule-mode-swipe-page[aria-hidden=true] .schedule-day-all-day-list p:before{content:"종일 일정이 없습니다.";font-size:11px}.schedule-mode-today-button{min-width:25px;height:25px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-main);border-radius:5px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:800;box-shadow:none}.schedule-mode-today-button.is-active{border-color:color-mix(in srgb,var(--accent) 46%,var(--border-main));background:var(--bg-card-strong);color:var(--accent-strong)}.schedule-mode-arrow{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-main);border:0px;background:transparent}.schedule-mode-arrow svg{width:18px;height:18px}.schedule-year-grid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow-y:auto;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.schedule-year-card{display:flex;flex-direction:column;gap:8px;padding:10px 8px;border:1px solid var(--border-main);border-radius:14px;background:var(--bg-card);text-align:left;box-shadow:none}.schedule-year-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.schedule-year-card-head strong{font-size:12px;font-weight:800;color:var(--text-strong)}.schedule-year-card-head span{font-size:10px;font-weight:700;color:var(--text-soft)}.schedule-year-mini-weekdays,.schedule-year-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.schedule-year-mini-weekdays span{font-size:9px;font-weight:700;color:var(--text-soft);text-align:center}.schedule-year-mini-cell{min-height:16px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:var(--text-main);border-radius:6px}.schedule-year-mini-cell.is-adjacent{color:var(--text-soft);opacity:.42}.schedule-year-mini-cell.is-selected{background:var(--accent);color:var(--bg-card)}.schedule-year-mini-cell.is-today{outline:1px solid var(--accent);outline-offset:-1px}.schedule-week-board,.schedule-day-board{min-height:0;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-card);overflow:hidden}.schedule-week-board{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%}.schedule-week-view .schedule-week-board,.schedule-day-view .schedule-day-board{flex:1 1 auto;min-height:0}.schedule-week-head-row,.schedule-week-all-day-row{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr))}.schedule-week-all-day-row{position:relative;background:color-mix(in srgb,var(--bg-card-soft) 82%,var(--bg-card))}.schedule-week-time-corner,.schedule-week-all-day-label{padding:10px 6px;border-right:1px solid var(--border-main);border-bottom:1px solid var(--border-main);font-size:10px;font-weight:800;color:var(--text-soft);text-align:center}.schedule-week-day-head{padding:10px 4px;border-bottom:1px solid var(--border-main);border-left:1px solid var(--border-main);border-top:0px solid var(--border-main);border-right:0px solid var(--border-main);background:var(--bg-card);text-align:center;box-shadow:none}.schedule-week-day-head strong{display:block;font-size:13px;font-weight:800;color:var(--text-main)}.schedule-week-day-head span{display:block;margin-top:2px;font-size:12px;font-weight:700;color:var(--text-soft)}.schedule-week-day-head[data-weekday-tone=saturday] strong,.schedule-week-day-head[data-weekday-tone=saturday] span{color:#3f6fcf}.schedule-week-day-head[data-weekday-tone=sunday] strong,.schedule-week-day-head[data-weekday-tone=sunday] span,.schedule-week-day-head[data-weekday-tone=holiday] strong,.schedule-week-day-head[data-weekday-tone=holiday] span{color:#d2554d}.schedule-week-day-head.is-selected{background:var(--bg-card-strong)}.schedule-week-all-day-cell{min-height:52px;max-height:68px;padding:6px 4px;border-bottom:1px solid var(--border-main);border-left:1px solid var(--border-main);background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-card));display:flex;flex-direction:column;gap:4px;overflow:scroll}.schedule-week-all-day-item,.schedule-day-all-day-item{padding:6px 8px;border-radius:8px;background:var(--schedule-tone);color:#fff;font-size:14px;font-weight:500;text-align:left;box-shadow:none;border:1px solid transparent}.schedule-week-all-day-item{border:2px solid transparent;box-sizing:border-box;touch-action:none;user-select:none;-webkit-user-select:none}.schedule-week-all-day-item span,.schedule-day-all-day-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-week-all-day-item.is-dragging{border-color:color-mix(in srgb,#ffffff 76%,var(--schedule-tone));box-shadow:0 14px 32px #19233a38,0 0 0 2px color-mix(in srgb,var(--schedule-tone) 48%,white);transform:scale(1.01);z-index:4}.schedule-week-all-day-item.is-dragging.is-saving{opacity:.76;filter:saturate(.9)}.schedule-week-all-day-item.is-source-dragging{opacity:.28;filter:saturate(.84)}.schedule-week-all-day-drag-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));pointer-events:none;z-index:3}.schedule-week-all-day-drag-overlay-layer>.schedule-week-all-day-item{align-self:start;margin:6px 4px 0}.schedule-week-time-body{min-height:0;height:100%;display:grid;grid-template-columns:52px 1fr;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y}.schedule-week-time-labels{display:grid;grid-template-rows:repeat(24,72px);border-right:1px solid var(--border-main);background:var(--bg-card)}.schedule-week-time-label{padding:4px 6px 0;border-bottom:1px solid var(--border-main);font-size:10px;font-weight:700;color:var(--text-soft);text-align:center}.schedule-week-columns{position:relative;min-width:0;width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-week-day-column{position:relative;min-width:0;min-height:1728px;border-left:1px solid var(--border-main)}.schedule-week-hour-lines{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(24,72px)}.schedule-week-hour-lines span{border-bottom:1px solid var(--border-main);background:linear-gradient(180deg,transparent 0,transparent 35px,rgba(127,142,170,.08) 35px,rgba(127,142,170,.08) 36px,transparent 36px,transparent 100%)}.schedule-week-item,.schedule-day-item,.schedule-agenda-item{box-shadow:none}.schedule-week-item,.schedule-day-item{position:absolute;padding:6px 7px;box-sizing:border-box;max-width:100%;border:0;border-radius:10px;background:var(--schedule-tone);color:#fff;border:2px solid rgba(255,255,255,.18);overflow:hidden;text-align:left;touch-action:none;user-select:none;-webkit-user-select:none}.schedule-week-item.is-dragging,.schedule-day-item.is-dragging{border-color:color-mix(in srgb,#ffffff 76%,var(--schedule-tone));box-shadow:0 14px 32px #19233a38,0 0 0 2px color-mix(in srgb,var(--schedule-tone) 48%,white);transform:scale(1.01);z-index:4}.schedule-week-item.is-dragging.is-saving,.schedule-day-item.is-dragging.is-saving{opacity:.76;filter:saturate(.9)}.schedule-week-item.is-source-dragging{opacity:.28;filter:saturate(.84)}.schedule-week-drag-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.schedule-week-item strong,.schedule-day-item strong{display:block;font-size:14px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-week-item .schedule-view-badge,.schedule-day-item .schedule-view-badge{flex:0 0 auto;align-self:flex-start;margin-left:auto;padding:1px 4px;border-radius:3px;font-size:10px;font-weight:700;line-height:1.1}.schedule-week-item>span:not(.schedule-item-title-row),.schedule-day-item>span:not(.schedule-item-title-row){display:block;margin-top:3px;font-size:9px;font-weight:700;line-height:1.3;opacity:.92;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-day-view{overflow:hidden}.schedule-day-all-day-strip{display:grid;grid-template-columns:52px 1fr;gap:0;max-height:49px;min-height:49px;border:1px solid var(--border-main);border-radius:16px;background:var(--bg-card);overflow:hidden}.schedule-day-all-day-strip>span{display:inline-block;align-content:center;padding:10px 6px;border-right:1px solid var(--border-main);font-size:10px;font-weight:800;color:var(--text-soft);text-align:center}.schedule-day-all-day-list{min-height:46px;padding:6px;display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;align-content:center}.schedule-day-all-day-list p{margin:0;font-size:11px;font-weight:700;color:var(--text-soft)}.schedule-day-board{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:52px 1fr;overflow:auto;overscroll-behavior:contain;touch-action:pan-y}.schedule-day-time-labels{display:grid;grid-template-rows:repeat(24,72px);border-right:1px solid var(--border-main)}.schedule-day-time-labels span{padding:4px 6px 0;border-bottom:1px solid var(--border-main);font-size:10px;font-weight:700;color:var(--text-soft);text-align:center}.schedule-day-timeline{position:relative;min-width:0;min-height:1728px;background:var(--bg-card)}.schedule-day-stripes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(24,72px)}.schedule-day-stripes span{border-bottom:1px solid var(--border-main);background:linear-gradient(180deg,transparent 0,transparent 35px,rgba(127,142,170,.08) 35px,rgba(127,142,170,.08) 36px,transparent 36px,transparent 100%)}.schedule-view-badge{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:2px 5px;border-radius:4px;font-size:10px;font-weight:700;line-height:1}.schedule-view-badge[data-status=upcoming]{background:#f08080;color:#fff}.schedule-view-badge[data-status=completed]{background:#008b8b;color:#fff}.schedule-item-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0;width:100%}.schedule-item-title-row>strong{flex:1 1 auto;min-width:0}.schedule-agenda-view,.schedule-trash-view{overflow:hidden}.schedule-agenda-scroll,.schedule-trash-scroll{min-height:0;overflow-y:auto;display:grid;gap:14px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.schedule-agenda-group,.schedule-trash-group{display:grid;gap:8px}.schedule-agenda-group.is-selected{padding:10px;border-radius:16px;background:var(--bg-card-strong)}.schedule-agenda-group-head,.schedule-trash-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-agenda-group-head strong,.schedule-trash-group-head strong{font-size:13px;font-weight:800;color:var(--text-strong)}.schedule-agenda-group-head span{font-size:11px;font-weight:700;color:var(--text-soft)}.schedule-agenda-list,.schedule-trash-list{display:grid;gap:8px}.schedule-agenda-empty{margin:0;padding:10px 12px;border:1px dashed var(--border-main);border-radius:12px;background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-card));font-size:11px;font-weight:700;color:var(--text-soft);text-align:center}.schedule-agenda-loading{margin:0;padding:10px 12px;color:var(--text-soft);font-size:11px;font-weight:700;text-align:center}.schedule-agenda-item{padding:11px 12px;border:1px solid var(--border-main);border-left:4px solid var(--schedule-tone);border-radius:12px;background:var(--bg-card);text-align:left}.schedule-agenda-item.is-all-day{background:var(--schedule-tone);color:#fff}.schedule-agenda-item.is-all-day strong,.schedule-agenda-item.is-all-day span{color:#fff}.schedule-agenda-item.is-all-day span{color:var(--bg-card-strong);font-weight:400}.schedule-agenda-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-agenda-item strong{font-size:16px;font-weight:600;color:var(--text-strong)}.schedule-agenda-item span{margin-top:6px;display:block;font-size:11px;font-weight:500;color:var(--text-soft)}:root[data-theme=dark] .schedule-week-hour-lines span,:root[data-theme=dark] .schedule-day-stripes span{background:#191d28}:root[data-theme=dark] .schedule-week-all-day-cell{background:#2c3141}:root[data-theme=dark] .schedule-week-time-labels{background:#12151f}:root[data-theme=dark] .schedule-week-all-day-row,:root[data-theme=dark] .schedule-day-all-day-strip{background:#222734}:root[data-theme=dark] .schedule-week-day-head{background:#12151f}:root[data-theme=dark] .schedule-week-board,:root[data-theme=dark] .schedule-day-board{background:#12151f}:root[data-theme=dark] .schedule-week-day-head.is-selected{background:#222734}:root[data-theme=dark] .schedule-year-card,:root[data-theme=dark] .schedule-agenda-item:not(.is-all-day){background:#191d28}:root[data-theme=dark] .schedule-agenda-group.is-selected{background:#2c3141}:root[data-theme=dark] .schedule-week-item,:root[data-theme=dark] .schedule-day-item{border-color:transparent}:root[data-theme=dark] .schedule-agenda-item.is-all-day span{color:#e7e7e7}:root:is([data-theme=light3],[data-theme=light_on]) .schedule-item-title-row,:root[data-theme=dark] .schedule-item-title-row{display:flex}.schedule-trash-note{margin:-2px 2px 0;font-size:11px;font-weight:700;color:var(--text-soft);line-height:1.45}.schedule-trash-item{width:100%;display:block;text-align:left;padding:11px 12px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);color:inherit;box-shadow:none}.schedule-trash-item:hover,.schedule-trash-item:focus-visible{border-color:var(--accent);background:var(--bg-card-strong);outline:none}.schedule-trash-item strong{display:block;font-size:12px;font-weight:800;color:var(--text-strong)}.schedule-trash-item span,.schedule-trash-item p{margin:5px 0 0;font-size:11px;font-weight:700;color:var(--text-soft);line-height:1.45}.mobile-month-row{margin-bottom:10px;padding:0 2px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px}.mobile-month-row .calendar-month-copy{text-align:center}.mobile-month-row .calendar-month-button{border:0;background:transparent;padding:0;color:inherit}.mobile-month-row .calendar-month-copy h2{font-size:18px;letter-spacing:.02em;line-height:1}.mobile-month-row .section-copy{display:none}.calendar-collapse-toggle{display:inline-flex;width:100%;padding:0 0 2px;background:transparent;border:0}.calendar-collapse-text{display:none}.calendar-collapse-handle{width:42px}.calendar-grid-header{margin-bottom:2px;border-bottom:1px solid var(--button-neutral-hover);padding-bottom:5px}.calendar-grid-header span{justify-content:center;font-size:10px;font-weight:800}.calendar-grid{gap:6px}.calendar-cell{min-height:88px;padding:8px 6px;border-radius:14px}.calendar-date{font-size:13px;text-align:center}.calendar-event-stack{gap:5px}.calendar-event-pill{grid-template-columns:4px minmax(0,1fr);gap:8px;padding:4px 0;min-height:0}.calendar-event-accent{width:4px;height:100%;border-radius:999px}.calendar-event-label{display:block;padding:0 0 0 6px;max-height:2.3em}.selected-date-panel{display:none}.calendar-shell.is-collapsed .calendar-grid{gap:4px}.calendar-shell.is-collapsed .calendar-cell{min-height:42px;padding:5px 4px;gap:4px}.calendar-shell.is-collapsed .calendar-date{font-size:11px}.calendar-shell.is-collapsed .calendar-event-stack{gap:3px}.calendar-shell.is-collapsed .calendar-event-pill{grid-template-columns:1fr;gap:0;padding:0;min-height:10px}.calendar-shell.is-collapsed .calendar-event-accent{width:100%;height:4px;border-radius:999px}.calendar-shell.is-collapsed .calendar-event-label{display:none}.calendar-shell.is-collapsed .selected-date-panel{display:grid;margin-top:12px;padding:16px;border-top:1px solid var(--border-main);border-radius:22px 22px 0 0;background:var(--bg-panel);box-shadow:0 -10px 30px #29344d14}}@media (max-width: 900px),(min-width: 901px){html:has(.app-shell[data-section=schedule]),body:has(.app-shell[data-section=schedule]){overflow:hidden}.app-shell[data-section=schedule]{height:100dvh;overflow:hidden}.app-shell[data-section=schedule] .page-body{height:100%;overflow:hidden}.app-shell[data-section=schedule] .page-content{height:100%}.calendar-shell{height:100%;overflow:hidden;grid-template-rows:auto minmax(0,1fr) 0fr}.calendar-shell.mobile-view-month .calendar-stage{transform:translateY(0) scale(1);opacity:1}.calendar-shell.mobile-view-month .schedule-list-stage{opacity:0;transform:translateY(24px);pointer-events:none}.calendar-shell.mobile-view-month .calendar-grid-month-layer{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.calendar-shell.mobile-view-month .calendar-grid-week-layer{opacity:0;transform:translateY(10px) scale(.985);pointer-events:none}.calendar-shell.mobile-view-split{grid-template-rows:auto minmax(38dvh,.94fr) minmax(0,1.06fr)}.calendar-shell.mobile-view-split .calendar-stage{transform:translateY(-2px) scaleX(.994) scaleY(.95);opacity:1}.calendar-shell.mobile-view-split .schedule-list-stage{opacity:1;transform:translateY(0);pointer-events:auto}.calendar-shell.mobile-view-split .calendar-grid-month-layer{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.calendar-shell.mobile-view-split .calendar-grid-week-layer{opacity:0;transform:translateY(12px) scale(.99);pointer-events:none}.calendar-shell.mobile-view-week{grid-template-rows:auto minmax(112px,.38fr) minmax(0,1.22fr)}.calendar-shell.mobile-view-week .calendar-stage{transform:translateY(-4px) scaleX(.992) scaleY(.92);opacity:1}.calendar-shell.mobile-view-week .schedule-list-stage{opacity:1;transform:translateY(-2px);pointer-events:auto}.calendar-shell.mobile-view-week .calendar-grid-month-layer{opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none}.calendar-shell.mobile-view-week .calendar-grid-week-layer{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.calendar-shell.mobile-view-month .selected-date-panel{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-width:0;overflow:hidden;transform:translateY(10px)}.calendar-shell.mobile-view-split .selected-date-panel{display:grid;opacity:1;max-height:none;overflow:hidden;transform:translateY(0)}.selected-date-heading h3{margin:0;font-size:14px;line-height:1.1}.calendar-loading-badge{display:none}.calendar-shell.mobile-view-week .selected-date-panel{display:grid;height:100%;opacity:1;max-height:none;overflow:auto;-webkit-overflow-scrolling:touch;transform:translateY(0)}.calendar-shell.mobile-view-month .calendar-grid{gap:6px}.calendar-shell.mobile-view-month .calendar-cell{min-height:88px;padding:8px 6px;gap:5px}.calendar-shell.mobile-view-month .calendar-date{font-size:13px}.calendar-shell.mobile-view-month .calendar-event-stack{gap:5px}.calendar-shell.mobile-view-month .calendar-event-pill{grid-template-columns:4px minmax(0,1fr);gap:3px;padding:2px 0;min-height:0}.calendar-shell.mobile-view-month .calendar-event-accent{width:4px;height:100%;border-radius:999px}.calendar-shell.mobile-view-month .calendar-event-label{display:block;padding:0 0 0 2px;max-height:2.3em}.calendar-shell.mobile-view-split .calendar-cell{min-height:42px;padding:5px 4px;gap:4px}.calendar-shell.mobile-view-split .calendar-date{font-size:11px}.calendar-shell.mobile-view-week .calendar-date{font-size:12px}.calendar-shell.mobile-view-split .calendar-event-stack,.calendar-shell.mobile-view-week .calendar-event-stack{gap:3px}.calendar-shell.mobile-view-split .calendar-event-pill,.calendar-shell.mobile-view-week .calendar-event-pill{grid-template-columns:1fr;gap:0;padding:0;min-height:10px}.calendar-shell.mobile-view-split .calendar-event-accent,.calendar-shell.mobile-view-week .calendar-event-accent{width:68%;height:3px;margin:0 auto;border-radius:999px}.calendar-shell.mobile-view-split .calendar-event-label,.calendar-shell.mobile-view-week .calendar-event-label{display:none}.calendar-shell.mobile-view-week .calendar-grid{gap:4px}.calendar-shell.mobile-view-week .calendar-cell[data-muted=true]{display:none}.calendar-shell.mobile-view-week .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-shell.mobile-view-week .calendar-cell{min-height:34px;padding:3px 2px;gap:2px}.calendar-shell.mobile-view-week .selected-date-panel{padding:10px;gap:8px}}@media (max-width: 900px),(min-width: 901px){.calendar-shell.mobile-view-week .calendar-grid-header{margin-bottom:0}.calendar-shell.mobile-view-week .calendar-grid-header span{font-size:9px}.calendar-shell.mobile-view-week .title-list{gap:6px}.calendar-shell.mobile-view-week .title-row,.calendar-shell.mobile-view-split .title-row{padding:10px 12px}.calendar-shell.mobile-view-week .title-row-state,.calendar-shell.mobile-view-split .title-row-state{margin-left:6px}}.schedule-detail-shell{display:grid;height:100%;min-height:0}.schedule-detail-actions{position:relative;justify-content:space-around;align-items:center;gap:0;flex-wrap:wrap;padding:12px 0 calc(env(safe-area-inset-bottom) + 16px);border-top:1px solid var(--border-soft);background:transparent}.schedule-detail-actions>button{position:relative;flex:0 0 auto;min-width:156px;padding:14px 18px;border:0;background:transparent;color:var(--text-main);font-size:17px;font-weight:700;line-height:1.1;white-space:nowrap;box-shadow:none}.schedule-detail-actions>button+button:before{content:"";position:absolute;top:50%;left:0;width:1px;height:18px;background:var(--border-main);transform:translateY(-50%)}.schedule-detail-actions>button:hover,.schedule-detail-actions>button:focus-visible,.schedule-detail-actions>button:active{background:transparent;color:var(--text-main);box-shadow:none}.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:hover,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:focus-visible,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:active,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:hover,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:focus-visible,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:active{border:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:15px;font-weight:700}.schedule-detail-trash-notice{display:grid;gap:4px;margin:0;padding:12px 14px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-card-soft)}.schedule-detail-trash-notice p{margin:0;color:var(--text-main);font-size:14px;font-weight:750;line-height:1.45}.schedule-detail-panel{font-size:15px;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:0 5px;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}.schedule-detail-form{--student-detail-label-width: 132px;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.schedule-detail-view{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto}.schedule-detail-scroll-body{min-height:0;display:grid;align-content:start;gap:12px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 0 12px}.schedule-detail-view-copy{display:grid;gap:10px}.schedule-detail-view-scroll>*{padding-bottom:14px;border-bottom:1px solid var(--border-soft)}.schedule-detail-view-scroll>*:last-child{padding-bottom:0;border-bottom:0}.schedule-detail-view-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-detail-view-meta{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:500;line-height:1.45;color:var(--text-soft)}.schedule-detail-view-meta.is-end{margin-left:auto}.schedule-detail-view-topline p:last-child,.schedule-detail-view-meta.is-end{text-align:right}.schedule-detail-view-meta-icon,.schedule-detail-view-row-icon,.schedule-detail-view-range-icon,.schedule-detail-view-range-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft);flex:0 0 auto}.schedule-detail-view-meta-icon svg,.schedule-detail-view-row-icon svg,.schedule-detail-view-range-icon svg,.schedule-detail-view-range-arrow svg{width:16px;height:16px}.schedule-detail-view-range-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.schedule-detail-view-time-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.schedule-detail-view-range{display:flex;align-items:flex-start;gap:0}.schedule-detail-view-range-copy{min-width:0;display:grid;gap:4px}.schedule-detail-view-section-label{color:var(--text-soft);font-size:13px;font-weight:800;line-height:1.35}.schedule-detail-view-range-copy>strong,.schedule-detail-view-row>strong{color:var(--text-strong);font-size:18px;font-weight:500;line-height:1.35}.schedule-detail-view-range-copy>p,.schedule-detail-view-all-day,.schedule-detail-view-memo,.schedule-detail-view-empty{margin:0;color:var(--text-main);font-size:18px;font-weight:500;line-height:1.5}.schedule-detail-view-all-day{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-strong)}.schedule-detail-view-section{display:grid;align-content:start;gap:8px}.schedule-detail-view-row{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:10px 0}.schedule-detail-view-empty{color:var(--text-soft)}.schedule-detail-view-link{font-size:16px;font-weight:800}.detail-inline-hint{margin:4px 0 0;color:var(--text-soft);font-size:11px;font-weight:700;line-height:1.4}.schedule-detail-view-section-head{display:flex;align-items:center}.schedule-time-change-log-section{display:grid;gap:10px;padding:12px;border-radius:16px;background:var(--bg-card-soft)}.schedule-time-change-log-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-time-change-log-head span:first-child{font-size:14px;font-weight:500;color:var(--text-strong)}.schedule-time-change-log-head span:last-child{font-size:12px;font-weight:500;color:var(--text-soft)}.schedule-time-change-log-list{display:grid;gap:8px}.schedule-time-change-log-item{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-soft)}.schedule-time-change-log-item span,.schedule-time-change-log-item p{margin:0;font-size:11px;font-weight:500;color:var(--text-soft)}.schedule-time-change-log-item>span{color:var(--text-strong)}.schedule-detail-form.student-detail-form{--student-detail-label-width: 100px}.schedule-detail-form.student-detail-form .detail-row>span{height:auto;min-height:40px;width:100px;display:flex;align-items:center;padding:10px 12px;font-size:14px;line-height:1.25;display:block}.schedule-detail-form.student-detail-form .detail-row>input{min-height:40px}.schedule-detail-form.student-detail-form .subject-picker-trigger{min-height:40px;border-radius:0 10px 10px 0}.schedule-detail-form .detail-row input,.schedule-detail-form .detail-row textarea,.schedule-detail-form .detail-row select{min-width:0;max-width:100%;padding:6px 10px;font-size:16px}.schedule-detail-form.student-detail-form .detail-row select{min-height:40px}.schedule-detail-form.student-detail-form .detail-row textarea{border:1px solid var(--border-main);font-size:16px}.schedule-detail-panel .detail-inline-hint,.schedule-detail-panel .student-duplicate-title{font-size:12px}.schedule-detail-panel .page-kicker{font-size:13px}.schedule-detail-panel .field-error,.schedule-detail-panel .student-duplicate-item,.schedule-detail-panel .planner-all-day-toggle,.schedule-detail-panel .planner-icon-toggle,.schedule-detail-panel .planner-all-day-toggle-row>span{font-size:14px}.schedule-detail-panel .detail-range-display-date,.schedule-detail-panel .detail-range-arrow{font-size:16px}.schedule-detail-panel .detail-range-display-time{font-size:23px}.schedule-detail-panel .detail-time-picker-period .calendar-picker-option{font-size:18px}.schedule-detail-panel .detail-time-picker-colon{font-size:29px}.schedule-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;margin-bottom:10px}.schedule-detail-header-main,.schedule-detail-header-actions{display:inline-flex;align-items:center;gap:10px;min-width:0}.schedule-detail-header-main{grid-column:1;justify-self:start}.schedule-detail-header-actions{grid-column:2;justify-self:end}.planner-completion-status-shell{position:relative;display:inline-flex;align-items:center}.planner-completion-badge{border:1px solid var(--border-main);box-shadow:none}.schedule-detail-header-actions .badge.neutral{background:#f08080;color:#fff;padding:5px 10px}.planner-completion-badge:hover,.planner-completion-badge:focus-visible,.planner-completion-badge:active{box-shadow:none;filter:brightness(.98)}.planner-completion-badge.neutral:hover,.planner-completion-badge.neutral:focus-visible,.planner-completion-badge.neutral:active{background:#f08080;color:#000}.planner-completion-badge.success:hover,.planner-completion-badge.success:focus-visible,.planner-completion-badge.success:active{background:var(--success-soft);color:var(--success)}.planner-completion-status-popover{position:absolute;top:calc(100% + 10px);right:0;width:188px;padding:12px;border-radius:16px;border:1px solid var(--border-main);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20}.planner-completion-status-popover p{margin:0 0 10px;color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.35}.planner-completion-status-actions{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.planner-completion-status-actions:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.planner-completion-status-actions>button,.planner-completion-status-actions>.secondary,.planner-completion-status-actions>.submit,.planner-completion-status-actions>button:hover,.planner-completion-status-actions>button:focus-visible,.planner-completion-status-actions>button:active{width:100%;justify-content:center;padding:9px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:600}.planner-completion-review-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:62;display:grid;place-items:center;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:#030712a3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.planner-completion-review-dialog{width:min(560px,100%);max-height:min(80dvh,720px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;min-height:0;overflow:hidden;padding:20px;border-radius:24px;border:1px solid var(--border-main);background:color-mix(in srgb,var(--bg-panel) 98%,transparent);box-shadow:var(--shadow-md)}.planner-completion-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planner-completion-review-copy{display:grid;gap:4px}.planner-completion-review-copy .page-kicker,.planner-completion-review-copy h3,.planner-completion-review-copy p{margin:0}.planner-completion-review-copy p:last-child{color:var(--text-soft);font-size:12px;font-weight:700;line-height:1.45}.planner-completion-review-list{display:grid;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.planner-completion-review-card{display:grid;gap:10px;padding:14px;border-radius:18px;border:1px solid var(--border-soft);background:var(--bg-card)}:root[data-theme=dark] .planner-completion-review-dialog{background:#191d28}:root[data-theme=dark] .planner-completion-review-card{background:#2c3141}.planner-completion-review-close-button{display:grid;align-content:center;background:#000;padding:15px;height:30px;width:30px;border-radius:50%;color:var(--text-on-strong);border:0px solid var(--border-main);justify-content:center}:root[data-theme=dark] .planner-completion-review-card-actions>button,:root[data-theme=dark] .planner-completion-review-card-actions>.submit,:root[data-theme=dark] .planner-completion-review-card-actions>.secondary{border:1px solid var(--border-main);background:transparent;box-shadow:none}:root[data-theme=dark] .planner-completion-review-card-actions>button:hover,:root[data-theme=dark] .planner-completion-review-card-actions>button:focus-visible{background:transparent;box-shadow:none}:root[data-theme=dark] .planner-completion-review-card-actions>.submit,:root[data-theme=dark] .planner-completion-review-card-actions>.submit:hover,:root[data-theme=dark] .planner-completion-review-card-actions>.submit:focus-visible{background:#3f6fcf}.planner-completion-review-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.planner-completion-review-card-head strong{min-width:0;color:var(--text-strong);font-size:16px;font-weight:500;line-height:1.35}.planner-completion-review-card-head .badge{flex:0 0 auto;width:auto;min-width:42px;white-space:nowrap;word-break:keep-all}.planner-completion-review-card-meta{margin:0;color:var(--text-main);font-size:13px;font-weight:600;line-height:1.5}.planner-completion-review-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planner-completion-review-footer{position:relative;display:flex;justify-content:space-around;gap:8px}.planner-completion-review-footer:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.planner-completion-review-footer>button,.planner-completion-review-footer>.btn-close,.planner-completion-review-footer>.submit{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}.planner-completion-review-footer>button:hover,.planner-completion-review-footer>button:focus-visible{background:transparent;box-shadow:none;color:var(--text-strong)}:root[data-theme=dark] .planner-completion-review-complete-all,:root[data-theme=dark] .planner-completion-review-complete-all:hover,:root[data-theme=dark] .planner-completion-review-complete-all:focus-visible{color:#508bff}.schedule-detail-header-title{grid-column:1 / -1;width:100%;min-width:0;padding:0 10px;color:var(--text-strong);font-size:18px;font-weight:600;line-height:1.2;white-space:normal;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.detail-back-button{display:none;width:32px;height:32px;padding:0;border-radius:999px;border:0;background:var(--bg-card);color:var(--text-strong);box-shadow:none}.detail-back-button svg{width:18px;height:18px}.detail-meta-grid .info-card,.detail-meta-grid .info-card-button,.detail-meta-grid .info-card-select-card{padding:12px 14px}.detail-meta-grid .info-card span,.detail-meta-grid .info-card-button span,.detail-meta-grid .info-card-select-card span{font-size:12px}.detail-meta-grid .info-card strong,.detail-meta-grid .info-card-button strong{font-size:14px;line-height:1.2}.info-card-select-card{display:grid;gap:8px}.info-card-select-card.is-required-highlight{border:1px solid #e14b42}.info-card-select-card select{width:100%;min-width:0;padding:0;border:0;background:transparent;color:var(--text-strong);font-size:14px;font-weight:700;box-shadow:none}.info-card-select-card select:focus{background:transparent}@media (max-width: 900px),(min-width: 901px){.schedule-detail-shell{height:100%;min-height:0;overflow:hidden}.schedule-detail-actions{flex-direction:row;align-items:center;justify-content:space-around;gap:0;flex-wrap:nowrap}.schedule-detail-actions>button{flex:1 1 0;min-width:0;width:auto;padding:14px 8px;font-size:15px}.schedule-detail-panel{height:100%;padding:0 5px;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}:root:is([data-theme=light3],[data-theme=light_on]) .schedule-detail-panel{background:transparent}.schedule-detail-header{position:sticky;top:0;z-index:5;padding-bottom:6px;border-bottom:1px solid var(--border-soft)}.schedule-detail-header-main{flex:1 1 auto;min-width:0}.schedule-detail-header-actions{gap:8px}.planner-completion-review-overlay{align-items:end;padding:16px 10px calc(92px + env(safe-area-inset-bottom))}.planner-completion-review-dialog{width:100%;max-height:min(76dvh,640px);padding:18px 14px;border-radius:24px}.planner-completion-status-popover{width:176px;padding:10px}.schedule-detail-header-title{font-size:18px;font-weight:600}.detail-back-button{display:inline-grid;place-items:center}.desktop-detail-back{display:none}.schedule-detail-hero{gap:10px;margin-bottom:10px}.schedule-detail-hero .page-kicker{margin-bottom:4px}.schedule-detail-hero h2{font-size:23px;line-height:1.05;margin:0}.schedule-detail-view-topline{gap:10px;flex-wrap:wrap}.schedule-detail-view-meta{font-size:15px;font-weight:500}.schedule-detail-view-meta.is-end{margin-left:auto}.schedule-detail-view-range-grid{gap:8px}.schedule-detail-view-range-copy>strong,.schedule-detail-view-row>strong{font-size:18px;font-weight:500}.schedule-detail-view-range-copy>p,.schedule-detail-view-all-day,.schedule-detail-view-memo,.schedule-detail-view-empty{font-size:18px;font-weight:500}.schedule-detail-hero .section-copy{margin:4px 0 0;font-size:13px}.detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-meta-grid .info-card{padding:10px 12px}.schedule-detail-form{--student-detail-label-width: 112px;gap:8px}.schedule-detail-form .detail-row{padding:0}.schedule-detail-form .detail-range-board{gap:12px}.schedule-detail-form .planner-all-day-toggle-row{padding:0 2px;justify-content:space-between}.schedule-detail-form .planner-toggle-pair-row{gap:12px}.schedule-detail-form .detail-range-column{gap:10px}.schedule-detail-form .detail-range-display{min-height:52px;padding:12px 14px}.schedule-detail-form .detail-range-display-time{font-size:21px}.schedule-detail-form .detail-time-picker{grid-template-columns:minmax(84px,1fr) minmax(64px,1fr) auto minmax(74px,1fr);gap:10px}.schedule-detail-form .detail-time-picker-column .calendar-picker-wheel{height:168px}.schedule-detail-form .textarea-row textarea{min-height:88px}}@media (min-width: 901px) and (max-width: 900px){.schedule-shell-interactive{height:auto;overflow:visible;align-items:start;gap:20px;grid-template-columns:minmax(0,1.7fr) minmax(320px,420px);grid-template-rows:minmax(0,1fr)}.schedule-shell-interactive .schedule-drag-handle,.schedule-shell-interactive .schedule-drag-surface{display:none}.schedule-shell-interactive .schedule-calendar-stage,.schedule-shell-interactive .schedule-list-stage-interactive,.schedule-shell-interactive .schedule-list-panel{overflow:visible;touch-action:auto}.schedule-shell-interactive .schedule-calendar-stage{grid-column:1;grid-row:1;min-width:0}.schedule-shell-interactive .schedule-calendar-cell{align-content:start;gap:10px}.schedule-shell-interactive .schedule-calendar-cell .calendar-date{display:inline-flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--bg-card-soft) 92%,transparent);color:var(--text-strong);font-size:14px;font-weight:800;line-height:1}.schedule-shell-interactive .schedule-calendar-cell.active .calendar-date{background:var(--accent-soft);color:var(--accent-strong)}.schedule-shell-interactive .schedule-list-stage-interactive{grid-column:2;grid-row:1;min-width:0;min-height:100%;display:grid;align-self:stretch}.schedule-shell-interactive .schedule-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;position:sticky;top:24px;min-height:min(680px,calc(100dvh - 180px));max-height:min(680px,calc(100dvh - 180px));overflow:hidden}.schedule-shell-interactive .schedule-list-header{position:sticky;top:0;z-index:2;padding-bottom:8px;background:linear-gradient(180deg,var(--bg-card-soft) 0%,color-mix(in srgb,var(--bg-card-soft) 90%,transparent) 100%)}.schedule-shell-interactive .title-list{min-height:0;overflow:auto;padding-right:6px}.schedule-shell-interactive .title-list:after{content:"";display:block;height:4px}}@media (max-width: 900px),(min-width: 901px){.schedule-shell-interactive{height:100%;overflow:hidden;align-items:stretch;transition:grid-template-rows .36s cubic-bezier(.2,.76,.22,1);overscroll-behavior:none}.schedule-shell-interactive.is-dragging,.schedule-shell-interactive.is-dragging *{transition-duration:0ms!important;scroll-behavior:auto!important}.schedule-shell-interactive .schedule-drag-handle,.schedule-shell-interactive .schedule-drag-surface{touch-action:none;user-select:none;-webkit-user-select:none}.schedule-shell-interactive .schedule-drag-handle{display:none}.schedule-shell-interactive .schedule-drag-handle:active,.schedule-shell-interactive .schedule-drag-surface:active{cursor:grabbing}.schedule-shell-interactive .schedule-drag-bar{width:44px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text-soft) 60%,transparent)}.schedule-shell-interactive .schedule-calendar-stage{position:relative;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:none;-webkit-overflow-scrolling:auto}.schedule-shell-interactive .schedule-calendar-grid-header{margin-bottom:calc(3px - (var(--month-progress) * 1px))}.schedule-shell-interactive .schedule-calendar-grid-header span{font-size:10px;font-weight:800}.schedule-shell-interactive .schedule-calendar-loading-indicator{position:absolute;top:28px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:color-mix(in srgb,var(--bg-card-strong) 94%,transparent);box-shadow:var(--shadow-sm);color:var(--accent);pointer-events:none}.schedule-shell-interactive .schedule-calendar-loading-indicator .spinner-dot{width:18px;height:18px}.schedule-shell-interactive .schedule-calendar-swipe-viewport{min-height:0;overflow:hidden;padding:0}.schedule-shell-interactive .schedule-calendar-swipe-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:300%;min-height:0;will-change:transform;backface-visibility:hidden;transform-style:preserve-3d}.schedule-shell-interactive .schedule-calendar-month-panel{min-width:0;padding:0;contain:layout paint}.schedule-shell-interactive .schedule-calendar-month-panel.is-preview{opacity:1}.schedule-shell-interactive .schedule-calendar-grid{gap:calc(7px - (var(--month-progress) * 2px));min-height:0;overflow:hidden}.schedule-shell-interactive .schedule-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:calc(4px - (var(--month-progress) * 1px));padding-bottom:calc(var(--month-progress) * 2px + var(--week-progress) * 4px);align-items:start;transform-origin:top center;transition:transform .36s cubic-bezier(.2,.76,.22,1),opacity .26s ease,max-height .36s cubic-bezier(.2,.76,.22,1),margin .36s cubic-bezier(.2,.76,.22,1)}.schedule-shell-interactive .schedule-week-row.is-selected{position:relative;z-index:2}.schedule-shell-interactive .schedule-calendar-cell{touch-action:none;user-select:none;-webkit-user-select:none;min-height:calc(90px - (var(--month-progress) * 28px) - ((var(--display-week-count) - 5) * 12px));padding:calc(10px - (var(--month-progress) * 4px) - ((var(--display-week-count) - 5) * 1px)) 0;gap:calc(5px - (var(--month-progress) * 2px));border-radius:calc(8px - (var(--month-progress) * 2px));border-color:transparent;background:transparent}.schedule-shell-interactive .schedule-calendar-cell .calendar-date{font-size:13px}.schedule-shell-interactive .schedule-calendar-cell.active{border-color:var(--accent);background:transparent}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-stage,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-swipe-viewport,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-swipe-track,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-month-panel,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-grid{height:100%}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-grid{height:80vh;gap:10px;grid-template-rows:repeat(var(--display-week-count),minmax(0,1fr));align-content:stretch}.schedule-shell-interactive[data-stage=fullMonth] .schedule-week-row{gap:6px;height:100%;min-height:0;padding-bottom:8px;align-self:stretch}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-cell{min-height:0;height:100%;padding:10px 6px 8px;gap:6px}.schedule-shell-interactive[data-stage=compressedMonth] .schedule-calendar-grid{gap:8px}.schedule-shell-interactive[data-stage=compressedMonth] .schedule-week-row{gap:5px;padding-bottom:0}.schedule-shell-interactive[data-stage=compressedMonth] .schedule-calendar-cell{min-height:clamp(52px,calc(7.2dvh - ((var(--display-week-count) - 5) * 1dvh)),68px);padding:2px 2px 2px 3px;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:1px;overflow:hidden}.schedule-shell-interactive[data-stage=compressedMonth] .schedule-calendar-cell .schedule-event-stack:empty{min-height:15px}.schedule-shell-interactive[data-density=condensed] .schedule-event-stack{min-height:0;height:100%;overflow:hidden;align-content:start}.schedule-shell-interactive .schedule-event-stack{gap:calc(2px - (var(--month-progress) * 2px) - (var(--week-progress) * 1px))}.schedule-shell-interactive .schedule-event-pill{grid-template-columns:3px minmax(0,1fr);gap:1px;padding:1px 0;min-height:0;opacity:1;transition:grid-template-columns .24s ease,gap .24s ease,padding .24s ease,opacity .24s ease}.schedule-shell-interactive .schedule-event-pill .calendar-event-accent{width:3px;height:100%;margin:0;border-radius:999px;transition:width .24s ease,height .24s ease,margin .24s ease}.schedule-shell-interactive .schedule-event-pill .calendar-event-label{display:block;padding-left:2px;font-size:11px;font-weight:500;max-height:2.3em;opacity:1;transition:opacity .18s ease}.schedule-shell-interactive[data-density=condensed] .schedule-event-pill{grid-template-columns:1fr;gap:0;padding:0;min-height:3px;max-height:3px;margin-bottom:1px}.schedule-shell-interactive[data-density=condensed] .schedule-event-pill .calendar-event-accent{width:84%;height:3px;max-height:3px;margin:0 auto}.schedule-shell-interactive[data-density=condensed] .schedule-event-pill .calendar-event-label{opacity:0;pointer-events:none}.schedule-shell-interactive .schedule-list-stage-interactive{min-height:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.schedule-shell-interactive .schedule-drag-surface{display:none}.schedule-shell-interactive .schedule-list-panel{display:flex!important;flex-direction:column;min-height:min(80dvh,calc(100dvh - 110px));height:min(80dvh,calc(100dvh - 110px));align-self:start;overflow:hidden;-webkit-overflow-scrolling:touch;touch-action:none;padding:calc(10px - (var(--week-progress) * 2px)) 14px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border-main);border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);box-shadow:0 -12px 30px #29344d14}.schedule-shell-interactive[data-stage=fullMonth] .schedule-list-stage-interactive{opacity:0;pointer-events:none;overflow:hidden}.schedule-shell-interactive[data-stage=fullMonth] .schedule-list-panel{padding-top:0;padding-bottom:0;border-top-width:0;box-shadow:none;overflow:hidden}.schedule-shell-interactive .schedule-list-header{position:sticky;top:0;z-index:3;padding-bottom:8px;background:linear-gradient(180deg,var(--bg-panel) 0%,color-mix(in srgb,var(--bg-panel) 86%,transparent) 100%)}.schedule-shell-interactive .title-list{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding-right:10px;padding-bottom:calc(124px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(124px + env(safe-area-inset-bottom));gap:calc(10px - (var(--week-progress) * 2px))}.schedule-shell-interactive .title-list::-webkit-scrollbar{width:0}.schedule-shell-interactive[data-stage=weekFocus] .schedule-list-panel{touch-action:pan-y}.schedule-shell-interactive[data-stage=weekFocus] .title-list{overflow:auto}.schedule-shell-interactive.is-list-scrolling[data-stage=weekFocus] .title-list{scrollbar-width:thin}.schedule-shell-interactive.is-list-scrolling[data-stage=weekFocus] .title-list::-webkit-scrollbar{width:4px}.schedule-shell-interactive.is-list-scrolling[data-stage=weekFocus] .title-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text-soft) 62%,transparent)}.schedule-shell-interactive.is-list-scrolling[data-stage=weekFocus] .title-list::-webkit-scrollbar-track{background:transparent}.schedule-shell-interactive .title-list:after{content:"";flex:0 0 calc(28px + env(safe-area-inset-bottom))}}.calendar-picker-sheet{padding-top:14px}.calendar-picker-summary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:18px;border:0;background:transparent;color:var(--text-strong);font-size:22px;font-weight:700}.calendar-picker-chevron{width:18px;height:18px;display:inline-grid;place-items:center;color:var(--text-soft)}.calendar-picker-chevron svg{width:18px;height:18px}.calendar-picker-wheels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.calendar-picker-column{display:grid;gap:8px;text-align:center;color:var(--text-soft);font-size:12px;font-weight:700;text-transform:uppercase}.calendar-picker-wheel{height:156px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:52px 0;border-radius:22px;background:color-mix(in srgb,var(--bg-card) 82%,transparent)}.calendar-picker-wheel::-webkit-scrollbar{display:none}.calendar-picker-option{width:100%;height:52px;border:0;background:transparent;color:var(--text-soft);font-size:18px;text-align:center;scroll-snap-align:center}.calendar-picker-option.active{color:var(--text-strong);font-size:22px;font-weight:700}.calendar-picker-actions{margin-top:18px}@media (max-width: 900px),(min-width: 901px){.calendar-picker-wheels{gap:6px}.calendar-picker-wheel{font-size:18px}}.calendar-picker-actions{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:0}.calendar-picker-actions:before{content:"";grid-column:2;grid-row:1;width:1px;height:22px;background:var(--border-main);justify-self:center}.calendar-picker-actions .secondary,.calendar-picker-actions .submit{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:16px;font-weight:600}.calendar-picker-actions .secondary{grid-column:1;color:var(--text-soft)}.calendar-picker-actions .submit{grid-column:3;color:var(--accent)}.calendar-picker-topbar{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;margin-bottom:18px}.calendar-picker-nav,.calendar-picker-nav-spacer{width:28px;height:28px}.calendar-picker-nav{border:0;background:transparent;color:var(--text-strong);display:inline-grid;place-items:center}.calendar-picker-nav svg{width:18px;height:18px}.calendar-picker-month-view{display:grid;gap:10px}.calendar-picker-swipe-surface{touch-action:pan-y}.calendar-picker-grid-header,.calendar-picker-grid-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-picker-grid-header span{text-align:center;color:var(--text-soft);font-size:11px;text-transform:uppercase}.calendar-picker-grid{display:grid;gap:6px}.calendar-picker-day{min-height:38px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text-strong)}.calendar-picker-day.muted{opacity:.4}.calendar-picker-day.active{border-color:var(--accent);color:var(--accent)}@media (max-width: 900px),(min-width: 901px){.schedule-sync-toast{bottom:92px;max-width:min(calc(100vw - 32px),calc(var(--app-frame-max-width) - 32px))}}@media (max-width: 900px),(min-width: 901px){.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-grid{height:min(100%,calc(100dvh - 150px));padding-bottom:30px}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-cell{gap:5px}.schedule-shell-interactive .schedule-event-pill.is-background{grid-template-columns:minmax(0,1fr);gap:0;width:calc(100% + 6px);margin-left:-3px;margin-right:-3px;padding:1px 5px;border-radius:5px;background:var(--calendar-tone, var(--accent));color:var(--text-on-accent)}.schedule-shell-interactive .schedule-event-pill.is-background .calendar-event-label{display:block;padding-left:0;color:var(--text-on-accent);white-space:nowrap;text-overflow:clip;overflow:hidden}}@media (max-width: 900px),(min-width: 901px){.schedule-shell-interactive[data-stage=fullMonth]{grid-template-rows:auto minmax(0,1fr) 0fr;gap:0}.schedule-shell-interactive[data-stage=fullMonth] .schedule-list-stage-interactive{display:none}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-stage{min-height:0;height:100%}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-swipe-viewport,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-swipe-track,.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-month-panel{height:100%;min-height:0}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-grid{height:calc(100% + -0px);min-height:0;padding-bottom:0;gap:0px;grid-template-rows:repeat(var(--display-week-count),minmax(0,1fr));align-content:stretch}.schedule-shell-interactive[data-stage=fullMonth] .schedule-week-row{height:100%;min-height:0;max-height:none;overflow:hidden;align-items:stretch;gap:0;padding-bottom:0}.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-cell{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:4px}.schedule-shell-interactive[data-stage=fullMonth] .schedule-event-stack{min-height:0;height:100%;overflow:hidden;align-content:start;gap:1px}.schedule-shell-interactive[data-stage=fullMonth] .schedule-event-stack .schedule-event-pill:nth-of-type(n+3) .calendar-event-label{max-height:1.15em;white-space:nowrap;text-overflow:clip}.schedule-shell-interactive[data-stage=fullMonth] .schedule-event-stack.is-dense-events .calendar-event-label{max-height:1.15em;white-space:nowrap;text-overflow:clip}}@media (max-width: 900px),(min-width: 901px){.schedule-mobile-panel>.schedule-list-stage-interactive{min-height:0;overflow:hidden}.schedule-mobile-panel>.schedule-list-stage-interactive .schedule-drag-surface{display:none}.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=fullMonth]{display:none}.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=compressedMonth],.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=weekFocus]{display:grid;grid-template-rows:minmax(0,1fr)}.schedule-mobile-panel>.schedule-list-stage-interactive .schedule-list-panel{display:flex!important;flex-direction:column;grid-row:1;min-height:0;height:100%;max-height:none;align-self:stretch;overflow:hidden;padding:10px 14px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border-main);border-radius:22px 22px 0 0;background:color-mix(in srgb,var(--bg-panel) 94%,transparent)}.schedule-mobile-panel>.schedule-list-stage-interactive .schedule-list-header{position:sticky;top:0;z-index:3;padding-bottom:8px;background:linear-gradient(180deg,var(--bg-panel) 0%,color-mix(in srgb,var(--bg-panel) 86%,transparent) 100%)}.schedule-mobile-panel>.schedule-list-stage-interactive .title-list{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;padding-right:10px;padding-bottom:calc(124px + env(safe-area-inset-bottom));gap:8px}.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=weekFocus] .title-list{overflow:auto}}@media (max-width: 900px),(min-width: 901px){.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=fullMonth],.schedule-mobile-panel>.schedule-list-stage-interactive[data-stage=fullMonth] .schedule-list-panel{display:none!important}}.schedule-week-row{position:relative;--schedule-range-row-height: 18px}.schedule-week-range-layer{position:absolute;top:28px;left:0;right:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:calc(var(--schedule-range-row-height) - 2px);gap:0 6px;min-height:calc(var(--schedule-range-row-count, 0) * var(--schedule-range-row-height));pointer-events:none;z-index:2}.schedule-week-range-bar{display:flex;align-items:center;min-width:0;min-height:14px;padding:0 6px;background:color-mix(in srgb,var(--calendar-tone, var(--accent)) 82%,var(--surface-tint));color:var(--text-on-accent);font-size:10px;font-weight:700;letter-spacing:-.01em;overflow:hidden;box-shadow:inset 0 -1px color-mix(in srgb,var(--calendar-tone, var(--accent)) 78%,var(--surface-contrast))}.schedule-week-range-bar.is-start{border-top-left-radius:999px;border-bottom-left-radius:999px}.schedule-week-range-bar.is-end{border-top-right-radius:999px;border-bottom-right-radius:999px}.schedule-week-range-bar.is-continued-left{margin-left:-4px}.schedule-week-range-bar.is-continued-right{margin-right:-4px}.schedule-week-range-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:clip}.schedule-shell-interactive[data-density=condensed] .schedule-week-row{--schedule-range-row-height: 4px}.schedule-shell-interactive[data-density=condensed] .schedule-week-range-layer{top:24px;gap:0 4px}.schedule-shell-interactive[data-density=condensed] .schedule-week-range-bar{min-height:3px;height:3px;align-self:center;padding:0;background:var(--calendar-tone, var(--accent));box-shadow:none}.schedule-shell-interactive[data-density=condensed] .schedule-week-range-label{display:none}.schedule-calendar-cell.is-in-range,.schedule-shell-interactive .schedule-calendar-cell.is-in-range{background:color-mix(in srgb,var(--accent-soft) 82%,transparent);border-color:transparent}.schedule-calendar-cell.is-range-selection-start,.schedule-calendar-cell.is-range-selection-end,.schedule-shell-interactive .schedule-calendar-cell.is-range-selection-start,.schedule-shell-interactive .schedule-calendar-cell.is-range-selection-end{background:color-mix(in srgb,var(--accent-soft) 92%,transparent);border-color:transparent}.schedule-shell-interactive .schedule-calendar-cell.is-in-range .calendar-date,.schedule-shell-interactive .schedule-calendar-cell.is-range-selection-start .calendar-date,.schedule-shell-interactive .schedule-calendar-cell.is-range-selection-end .calendar-date{color:var(--accent-strong)}.schedule-calendar-cell .schedule-event-stack{margin-top:calc((var(--schedule-range-row-count, 0) * var(--schedule-range-row-height, 18px)) + var(--schedule-range-stack-gap, 0px))}.schedule-detail-title-block{min-width:0}.schedule-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.planner-color-picker{position:relative;flex:0 0 auto}.planner-color-trigger{width:32px;height:32px;border-radius:999px;border:2px solid color-mix(in srgb,var(--bg-card-strong) 82%,transparent);box-shadow:0 6px 16px #29344d1f}.planner-color-popover{position:absolute;top:calc(100% + 10px);right:0;width:196px;padding:12px;border-radius:16px;border:1px solid var(--border-main);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);box-shadow:var(--shadow-md);display:grid;gap:10px;z-index:12}.planner-color-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.planner-color-option{width:100%;aspect-ratio:1;border-radius:999px;border:2px solid transparent}.planner-color-option.active{border-color:var(--text-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-panel) 88%,transparent)}.planner-color-custom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-main)}.planner-color-custom input{width:42px;height:28px;padding:0;border:0;background:transparent}@media (max-width: 900px),(min-width: 901px){.schedule-shell-interactive[data-stage=fullMonth] .schedule-calendar-cell{padding:10px 2px 2px}.planner-color-popover{width:180px;right:-4px}}@media (max-width: 900px),(min-width: 901px){.schedule-date-overlay{z-index:44;padding:0 0 calc(86px + env(safe-area-inset-bottom))}.schedule-date-overlay-viewport{position:relative;width:100%;height:min(58dvh,460px);overflow:hidden;touch-action:none}.schedule-date-overlay-nav{display:none}.schedule-date-overlay-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(80vw,560px);gap:14px;align-items:end;height:100%;touch-action:none;will-change:transform}.schedule-date-sheet{width:min(80vw,560px);max-width:min(80vw,560px);height:min(58dvh,460px);max-height:none;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px}.schedule-date-overlay-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:0;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--border-main) 72%,transparent)}.schedule-date-overlay-body{min-height:0;overflow:hidden}.schedule-date-overlay-list{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0;height:100%;padding-right:2px}.schedule-date-overlay-list .title-row-main strong{color:var(--text-strong);font-size:16px;font-weight:500}.schedule-date-overlay-list .title-row-sub{font-size:13px}.schedule-date-overlay-list .title-row-state{font-weight:400}.schedule-date-title-row-main{flex-direction:row;align-items:center}.schedule-date-empty{margin:0;padding:18px 4px}.schedule-date-overlay-quick-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--border-main) 72%,transparent);position:relative;z-index:1}.schedule-date-overlay-quick-form.is-expanded{grid-template-columns:1fr;align-items:stretch}.schedule-date-overlay-quick-form input{min-width:0;width:100%;padding:12px 14px;border:1px solid var(--border-main);border-radius:14px;background:var(--bg-input);color:var(--text-strong);touch-action:manipulation}.schedule-date-overlay-quick-form.is-expanded .quick-planner-input-row{margin:0}.schedule-date-overlay-quick-form.is-expanded .quick-planner-input-row input{padding-right:54px}.schedule-date-quick-submit{position:static;min-width:0;width:38px;height:38px;padding:0;display:inline-grid;place-items:center;border-radius:50%;line-height:1;transform:none}.schedule-date-quick-submit .floating-action-icon{width:100%;height:100%;display:inline-grid;place-items:center}}@media (hover: hover) and (pointer: fine){.schedule-date-overlay-nav{position:absolute;z-index:4;top:50%;display:inline-grid;width:46px;min-width:0;height:46px;padding:0;place-items:center;border:1px solid color-mix(in srgb,var(--border-main) 82%,transparent);border-radius:50%;background:color-mix(in srgb,var(--bg-card-strong) 94%,transparent);color:var(--text-strong);box-shadow:0 8px 24px color-mix(in srgb,#07111f 22%,transparent);cursor:pointer;transform:translateY(-50%)}.schedule-date-overlay-nav.is-previous{left:max(14px,calc(50% - min(40vw,280px) - 62px))}.schedule-date-overlay-nav.is-next{right:max(14px,calc(50% - min(40vw,280px) - 62px))}.schedule-date-overlay-nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.schedule-date-overlay-nav:hover,.schedule-date-overlay-nav:focus-visible{background:var(--bg-card-strong);box-shadow:0 10px 28px color-mix(in srgb,#07111f 28%,transparent);transform:translateY(-50%) scale(1.04)}.schedule-date-overlay-nav:active{transform:translateY(-50%) scale(.96)}.schedule-date-overlay-nav:disabled{cursor:default;opacity:.45;transform:translateY(-50%)}}.student-detail-footer.action-row{display:flex;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:stretch!important}.student-detail-footer.action-row>button{flex:1 1 0}.student-detail-footer-separator{display:none}.student-detail-footer.action-row.is-edit-mode{justify-content:space-around!important;gap:0}.student-detail-footer.action-row.is-edit-mode>button{flex:0 0 auto;border:0;background:transparent;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}.student-detail-footer.action-row.is-edit-mode>button:hover,.student-detail-footer.action-row.is-edit-mode>button:focus-visible{background:transparent;box-shadow:none;color:var(--text-main)}.student-detail-footer.action-row.is-edit-mode>button.submit,.student-detail-footer.action-row.is-edit-mode>button.submit:hover,.student-detail-footer.action-row.is-edit-mode>button.submit:focus-visible{color:#e14b42}.student-detail-footer.action-row.is-edit-mode>button.secondary.danger-action,.student-detail-footer.action-row.is-edit-mode>button.secondary.danger-action:hover,.student-detail-footer.action-row.is-edit-mode>button.secondary.danger-action:focus-visible{color:#9c9c9c}.student-detail-footer.action-row.is-edit-mode .student-detail-footer-separator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text-soft);font-size:13px;font-weight:700}.student-detail-footer.action-row.is-create-mode>button,.student-detail-footer.action-row.is-create-mode>button:hover,.student-detail-footer.action-row.is-create-mode>button:focus-visible{background:#e14b42;border:0;box-shadow:none}:root[data-theme=dark] .student-detail-footer.action-row.is-create-mode>button{background:#e14b42;border:0;box-shadow:none}:root[data-theme=dark] .student-detail-footer.action-row.is-edit-mode{justify-content:space-around!important;gap:0}.detail-list-form.student-detail-form:not(.schedule-detail-form)>.action-row:not(.detail-edit-actions) .submit,.detail-list-form.student-detail-form:not(.schedule-detail-form)>.action-row:not(.detail-edit-actions) .submit:hover,.detail-list-form.student-detail-form:not(.schedule-detail-form)>.action-row:not(.detail-edit-actions) .submit:focus-visible{background:#e14b42;box-shadow:none}.student-detail-form>.action-row.detail-edit-actions{display:flex;justify-content:space-between;gap:10px}.student-detail-form>.action-row.detail-edit-actions>button{flex:1 1 0}.student-detail-form>.action-row.detail-edit-actions>.secondary{border:1px solid var(--border-main)}.student-detail-form>.action-row.detail-edit-actions>.submit,.student-detail-form>.action-row.detail-edit-actions>.submit:hover,.student-detail-form>.action-row.detail-edit-actions>.submit:focus-visible,.student-detail-form>.action-row.detail-edit-actions>.submit:active{background:#e14b42;box-shadow:none}:root[data-theme=dark] .student-detail-form>.action-row .submit{background:#e14b42;border:0px solid #555;box-shadow:none}:root[data-theme=dark] .student-detail-form>.action-row .submit:hover,:root[data-theme=dark] .student-detail-form>.action-row .submit:focus-visible{background:#e14b42;box-shadow:none}:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions{position:relative;justify-content:space-between;gap:10px}:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>button{flex:1 1 0}:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.secondary,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.secondary:hover,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.secondary:focus-visible,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.secondary:active{border:1px solid var(--border-main);background:transparent;box-shadow:none}:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.submit,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.submit:hover,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.submit:focus-visible,:root[data-theme=dark] .student-detail-form>.action-row.detail-edit-actions>.submit:active{background:#e14b42;box-shadow:none}:root[data-theme=dark] .student-detail-footer.action-row.is-edit-mode>button{flex:0 0 auto;background:transparent;border:0;box-shadow:none}:root[data-theme=dark] .student-detail-footer.action-row.is-edit-mode>button:hover,:root[data-theme=dark] .student-detail-footer.action-row.is-edit-mode>button:focus-visible{background:transparent;box-shadow:none}:root[data-theme=dark] .student-detail-footer.action-row.is-edit-mode .student-detail-footer-separator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--text-soft);font-size:13px;font-weight:700}:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row input,:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row textarea,:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row select{background:#191d28}:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row input,:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row textarea{border:1px solid #2c3141}:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row>input.student-code-input{border:1px solid var(--border-main);color:#777}:root[data-theme=dark] .student-detail-panel .student-detail-form .detail-row>span{background:#2c3141}:root[data-theme=dark] .app-shell[data-section=settings] .panel{background:#191d28}:root[data-theme=dark] .settings-withdrawal-check-icon,:root[data-theme=dark2] .settings-withdrawal-check-icon{color:#2c3141}:root[data-theme=dark] .settings-withdrawal-check-button.is-confirmed .settings-withdrawal-check-icon,:root[data-theme=dark2] .settings-withdrawal-check-button.is-confirmed .settings-withdrawal-check-icon{color:var(--success)}:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subject-manage-button,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subject-manage-button:hover,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subject-manage-button:focus-visible,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subscription-promo-button.is-pro,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subscription-promo-button.is-pro:hover,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .settings-subscription-promo-button.is-pro:focus-visible{background:#5070bb;color:#fff}:root[data-theme=dark] .app-shell[data-section=settings] .settings-subject-manage-button,:root[data-theme=dark] .app-shell[data-section=settings] .settings-subscription-promo-button.is-pro{background:#2c3141}:root[data-theme=dark] .settings-support-panel .settings-support-button,:root[data-theme=dark] .settings-support-panel .settings-support-button:hover,:root[data-theme=dark] .settings-support-panel .settings-support-button:focus-visible{background:#191d28}:root[data-theme=dark] .app-shell[data-section=settings] .theme-option,:root[data-theme=dark] .app-shell[data-section=settings] .theme-option:hover,:root[data-theme=dark] .app-shell[data-section=settings] .theme-option:focus-visible,:root[data-theme=dark] .app-shell[data-section=settings] .theme-option.active,:root[data-theme=dark] .app-shell[data-section=settings] .theme-option.active:hover,:root[data-theme=dark] .app-shell[data-section=settings] .theme-option.active:focus-visible{background:#2c3141}:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .theme-option-grid .theme-option.active,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .theme-option-grid .theme-option.active:hover,:root:is([data-theme=light3],[data-theme=light_on]) .app-shell[data-section=settings] .theme-option-grid .theme-option.active:focus-visible{background:transparent}:root[data-theme=dark] .student-detail-panel .subject-picker-trigger{background:#191d28}:root[data-theme=dark] .info-card{background:#2c3141}:root[data-theme=dark] .payment-pagination>button,:root[data-theme=dark] .counseling-pagination>button{background:#12151f}:root[data-theme=dark] .student-header-menu-item{background:transparent}:root[data-theme=dark] .student-header-menu-item.active{background:var(--bg-hover)}:root[data-theme=dark] .schedule-mobile-drawer-item{background:transparent}:root[data-theme=dark] .schedule-mobile-drawer-item.active{background:var(--bg-hover)}:root[data-theme=dark] .schedule-trash-item{background:#191d28}:root[data-theme=dark] .student-search-layer-actions{position:relative;justify-content:space-around}:root[data-theme=dark] .student-search-layer-actions:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}:root[data-theme=dark] .student-search-layer-actions>button,:root[data-theme=dark] .student-search-layer-actions>button:hover,:root[data-theme=dark] .student-search-layer-actions>button:focus-visible{background:transparent;border:0;box-shadow:none}:root[data-theme=dark] .student-search-layer-head .page-header-icon-button,:root[data-theme=dark] .student-search-layer-head .page-header-icon-button:hover,:root[data-theme=dark] .student-search-layer-head .page-header-icon-button:focus-visible{background:#000}:root[data-theme=dark] .student-search-layer-fields input,:root[data-theme=dark] .student-search-layer-fields select,:root[data-theme=dark] .student-search-layer-fields input:focus,:root[data-theme=dark] .student-search-layer-fields input:focus-visible,:root[data-theme=dark] .student-search-layer-fields select:focus,:root[data-theme=dark] .student-search-layer-fields select:focus-visible{background:#2c3141}:root[data-theme=dark] .student-search-layer-fields input,:root[data-theme=dark] .student-search-layer-fields input:focus,:root[data-theme=dark] .student-search-layer-fields input:focus-visible{box-shadow:none}:root[data-theme=dark] .schedule-time-change-log-section{background:#2c3141}:root[data-theme=dark] .schedule-time-change-log-item{background:#191d28}.student-detail-tabs .tab.active,.student-detail-tabs .tab.active:hover,.student-detail-tabs .tab.active:active,.student-detail-tabs .tab.active:focus,.student-detail-tabs .tab.active:focus-visible{background:var(--accent);color:var(--bg-input);box-shadow:none;border:0;border-radius:5px}.student-detail-form>.field-error{margin-left:calc(var(--student-detail-label-width) + 14px)}.subject-picker-row{align-items:start}.student-detail-form .detail-row.subject-picker-row{display:flex;flex-direction:column;gap:0;align-items:flex-start}.student-detail-form .detail-row.subject-picker-row>span{height:30px;padding:10px;border-radius:10px 10px 0 0}.subject-picker-trigger{width:100%;min-height:44px;padding:10px;border:1px solid var(--border-main);border-radius:0 10px 10px;background:var(--bg-input);color:var(--text-strong);text-align:left}.subject-picker-placeholder{color:var(--text-soft)}.subject-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.subject-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 80%,var(--bg-card));color:var(--text-main);font-size:12px;font-weight:700}:root[data-theme=dark] .app-shell[data-section=settings] .panel .subject-chip-list .subject-chip,:root[data-theme=dark2] .app-shell[data-section=settings] .panel .subject-chip-list .subject-chip{background:color-mix(in srgb,var(--text-soft) 80%,var(--accent));color:var(--bg-sidebar);font-weight:500}.subject-picker-overlay{position:fixed;top:0;left:var(--app-header-offset-left);right:0;bottom:0;z-index:240;display:grid;align-items:end;justify-content:center;padding:calc(env(safe-area-inset-top) + 108px) 12px calc(16px + env(safe-area-inset-bottom));background:#090e1c70;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.subject-picker-sheet{width:min(560px,100%);margin-left:auto;display:grid;gap:10px;max-height:calc(100vh - 140px - env(safe-area-inset-bottom));overflow-y:auto;padding:18px;border-radius:12px 12px 0 0;border:1px solid var(--border-main);background:var(--bg-panel);box-shadow:var(--shadow-md)}.managed-lesson-group-overlay,.managed-lesson-members-overlay{left:0;align-items:end;padding:0}.managed-lesson-group-sheet,.managed-lesson-members-sheet{gap:14px;max-height:min(86vh,720px);margin:0 auto;padding:18px 18px 60px;border-radius:28px 28px 0 0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.managed-lesson-members-sheet{grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;background:#ffffffe6}:root[data-theme=dark] .managed-lesson-members-sheet,:root[data-theme=dark2] .managed-lesson-members-sheet{background:#12151f}.managed-lesson-members-sheet>.group-lesson-student-list{min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:2px;padding-bottom:0}.subject-picker-sheet-head,.subject-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.managed-lesson-members-sheet>.subject-picker-sheet-head{align-items:stretch;gap:10px}.managed-lesson-members-sheet>.subject-picker-sheet-head>div{display:grid;min-width:0}.subject-picker-sheet-head h3{margin:0}.subject-picker-head-actions .btn-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:7px}.subject-picker-actions>button{flex:1 1 0}.subject-picker-head-actions{display:inline-flex;align-items:center;gap:10px}.subject-picker-gear{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--text-muted);box-shadow:none}.subject-picker-gear:hover{color:var(--text-main);background:transparent}.subject-picker-gear svg{width:18px;height:18px}.subject-manage-grid{display:grid;gap:10px}.subject-manage-grid>button{width:100%}.subject-option-grid{display:flex;flex-wrap:wrap;gap:10px}.subject-option{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;border:1px solid var(--border-main);background:var(--bg-card-soft);color:var(--text-main)}.subject-option-check{font-size:12px;font-weight:900;line-height:1}.subject-option.active{border-color:var(--accent);background:var(--accent);color:var(--bg-input)}.subject-create-form{display:grid;gap:14px}.subject-color-field{display:grid;grid-auto-flow:column;gap:8px}.subject-color-field-label{color:var(--text-main);font-size:13px;font-weight:700}.subject-color-picker{display:grid;grid-template-columns:repeat(7,32px);gap:10px}.subject-color-swatch,.subject-color-swatch:hover,.subject-color-swatch:focus-visible,.subject-color-swatch:active{display:inline-grid;place-items:center;width:32px;height:32px;min-width:0;padding:0;border:2px solid transparent;border-radius:50%;background:var(--subject-color-swatch);color:#fff;box-shadow:none;transform:none}.subject-color-swatch.is-selected,.subject-color-swatch.is-selected:hover,.subject-color-swatch.is-selected:focus-visible,.subject-color-swatch.is-selected:active{border-color:var(--text-strong);box-shadow:0 0 0 2px var(--bg-card)}.subject-color-swatch>span{font-size:15px;font-weight:900;line-height:1;text-shadow:0 1px 2px rgb(0 0 0 / 45%)}.subject-create-error{margin:-8px 0 0;color:#e14b42;font-size:12px;font-weight:700;line-height:1.35}.subject-delete-notice{margin:-2px 0 0;color:#e14b42;font-size:12px;font-weight:700;line-height:1.35;text-align:center}.subject-rename-form .detail-row{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:0px}.subject-rename-form .detail-row>span{min-width:0}.subject-rename-form .detail-row select{padding:12px 6px;border-radius:0 10px 10px 0}.subject-rename-form .detail-row input{padding:12px 10px;border-radius:0 10px 10px 0}.settings-subject-picker-sheet .subject-picker-actions{position:relative;justify-content:space-around}.settings-subject-picker-sheet .subject-picker-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.settings-subject-picker-sheet .subject-picker-actions>button,.settings-subject-picker-sheet .subject-picker-actions>button:hover,.settings-subject-picker-sheet .subject-picker-actions>button:focus-visible,.settings-subject-picker-sheet .subject-picker-actions>button:active{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}:root[data-theme=dark] .settings-subject-picker-sheet{background:#12151f}:root[data-theme=dark] .settings-subject-picker-sheet .subject-option{background:#2c3141}:root[data-theme=dark] .settings-subject-picker-sheet .subject-option.active{border:0;background:#5a6380;color:#fff}:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions{position:relative;justify-content:space-around}:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button:focus-visible{background:transparent;border:0;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.secondary,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.secondary:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.secondary:focus-visible{background:#191d28}:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.submit,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.submit:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-grid>button.submit:focus-visible{background:transparent;border:0;box-shadow:none}:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-head-actions .btn-close,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-head-actions .btn-close:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-head-actions .btn-close:focus-visible{background:#000;border:0;box-shadow:none}.settings-subject-picker-sheet .subject-create-form.subject-rename-form .detail-row>span{background:#d8dfef}:root[data-theme=dark] .settings-subject-picker-sheet .subject-create-form.subject-rename-form .detail-row>span{background:#2c3141}:root[data-theme=dark] .settings-subject-picker-sheet .subject-create-form.subject-rename-form .detail-row select,:root[data-theme=dark] .settings-subject-picker-sheet .subject-create-form.subject-rename-form .detail-row input{border:1px solid #2c3141;background:#191d28}:root[data-theme=dark] .settings-subject-picker-sheet .subject-create-form:not(.subject-rename-form) .detail-row input{border:1px solid #2c3141;background:#191d28}.settings-subject-picker-sheet{width:min(460px,100%);max-height:min(86vh,720px);margin:0 auto;padding:18px 18px 60px;border-radius:28px 28px 0 0;overflow:hidden auto}.settings-subject-picker-sheet .subject-picker-actions>button,.settings-subject-picker-sheet .subject-picker-actions>.secondary,.settings-subject-picker-sheet .subject-picker-actions>.submit,.settings-subject-picker-sheet .subject-picker-actions>button:hover,.settings-subject-picker-sheet .subject-picker-actions>button:focus-visible,.settings-subject-picker-sheet .subject-picker-actions>button:active,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>.secondary,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>.submit,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button:focus-visible,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>button:active{flex:0 0 auto;min-width:0;padding:10px 14px;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:15px;font-weight:600}.settings-subject-picker-sheet .subject-picker-actions>.subject-rename-save-button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>.subject-rename-save-button{color:#e14b42}.settings-subject-picker-sheet .subject-picker-actions>.subject-create-submit-button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>.subject-create-submit-button{color:#e14b42}.settings-subject-picker-sheet .subject-picker-actions>.subject-delete-submit-button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-picker-actions>.subject-delete-submit-button{color:#e14b42}.settings-subject-picker-sheet .subject-manage-list-button,.settings-subject-picker-sheet .subject-manage-list-button:hover,.settings-subject-picker-sheet .subject-manage-list-button:focus-visible,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-list-button,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-list-button:hover,:root[data-theme=dark] .settings-subject-picker-sheet .subject-manage-list-button:focus-visible{background:transparent;box-shadow:none;color:var(--text-strong)}.lesson-schedule-sheet{width:min(860px,calc(100vw - 24px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.lesson-schedule-sheet>.subject-picker-actions{position:relative;justify-content:space-around;gap:0}.lesson-schedule-sheet>.subject-picker-actions:has(>button+button):before{content:"";position:absolute;top:50%;left:50%;width:1px;height:18px;background:var(--border-main);transform:translate(-50%,-50%)}.lesson-schedule-sheet>.subject-picker-actions>button,.lesson-schedule-sheet>.subject-picker-actions>button:hover,.lesson-schedule-sheet>.subject-picker-actions>button:focus-visible,.lesson-schedule-sheet>.subject-picker-actions>button:active{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--text-main);font-size:14px;font-weight:700}.lesson-schedule-sheet .detail-row input,.lesson-schedule-sheet .detail-row select,.lesson-schedule-sheet .lesson-schedule-period-field>select,.lesson-schedule-sheet .lesson-schedule-week-interval-field select,.lesson-schedule-sheet .lesson-schedule-fee-field input,:root[data-theme=dark] .lesson-schedule-sheet .detail-row input,:root[data-theme=dark] .lesson-schedule-sheet .detail-row select,:root[data-theme=dark] .lesson-schedule-sheet .lesson-schedule-period-field>select,:root[data-theme=dark] .lesson-schedule-sheet .lesson-schedule-week-interval-field select,:root[data-theme=dark] .lesson-schedule-sheet .lesson-schedule-fee-field input{border:1px solid var(--border-main)}.lesson-schedule-sheet .lesson-schedule-period-field>select,:root[data-theme=dark] .lesson-schedule-sheet .lesson-schedule-period-field>select{border:0}.lesson-schedule-sheet .lesson-schedule-fee-field input,:root[data-theme=dark] .lesson-schedule-sheet .lesson-schedule-fee-field input{border:0;border-bottom:1px solid var(--text-strong)}.lesson-schedule-scroll-body{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.lesson-schedule-list{display:grid;gap:12px}.lesson-schedule-card{border:1px solid var(--border-soft);border-radius:18px;padding:14px;background:color-mix(in srgb,var(--bg-card) 92%,white);display:grid;gap:12px}.lesson-schedule-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-schedule-card-head-inline{gap:10px}.lesson-schedule-summary{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;flex:1 1 auto;overflow:visible;font-size:14px;line-height:1.4}.lesson-schedule-summary-text{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.lesson-schedule-card-period-details{display:grid;gap:4px;padding-left:2px;color:var(--text-muted);font-size:12px;font-weight:400;line-height:1.35}.lesson-schedule-card-fee-details{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-main);font-weight:800}.lesson-schedule-card-fee-details>span{min-width:0;overflow-wrap:anywhere}.lesson-schedule-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.lesson-schedule-icon-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-main);border-radius:999px;background:var(--bg-card-soft);color:var(--text-main);box-shadow:none}.lesson-schedule-icon-button:hover,.lesson-schedule-icon-button:focus-visible{border-color:var(--accent);color:var(--accent)}.lesson-schedule-icon-button.danger:hover,.lesson-schedule-icon-button.danger:focus-visible{border-color:#d9485f;color:#d9485f}.lesson-schedule-icon-button svg{width:16px;height:16px}.lesson-schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-schedule-intro{display:flex;flex-direction:column;gap:3px;color:var(--text-muted);font-size:12px;font-weight:400;line-height:1.45}.lesson-schedule-intro p{margin:0;font:inherit}.lesson-schedule-intro-title{display:inline-flex;align-items:center;gap:6px;color:var(--text-main);font-weight:400}.lesson-schedule-intro-title svg{display:flex;align-content:center;align-items:center;justify-content:center;width:30px;height:30px;padding:7px;box-sizing:border-box;flex:0 0 auto;color:#f2b705}.lesson-schedule-date-help{display:flex;flex-direction:column;gap:3px;margin-top:-4px;padding:0 12px 4px;color:var(--text-muted);font-size:12px;font-weight:400;line-height:1.45}.lesson-schedule-date-help p{display:flex;justify-content:flex-end;margin:0;font:inherit}.lesson-schedule-stop-field{display:grid;gap:4px;width:100%;min-width:0;padding:8px 12px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input)}.lesson-schedule-stop-toggle{display:inline-flex;align-items:center;gap:7px;width:fit-content;min-height:28px;color:var(--text-main);font-size:13px;font-weight:800}.lesson-schedule-stop-toggle input{width:15px;height:15px;accent-color:var(--accent)}.lesson-schedule-stop-field p{margin:0;color:var(--text-muted);font-size:12px;font-weight:400;line-height:1.45}.lesson-schedule-weekday-grid{display:grid;width:100%;gap:0;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input)}.lesson-schedule-weekday-grid .subject-option{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:42px;padding:10px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.lesson-schedule-weekday-grid .subject-option.active{border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--bg-input)}.lesson-schedule-weekday-grid:has(.subject-option:disabled),.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid):has(.subject-option:disabled),.lesson-schedule-period-field:has(:disabled),.lesson-schedule-count-field:has(:disabled),.lesson-schedule-pass-options:has(:disabled){background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input))}.lesson-schedule-weekday-grid .subject-option:disabled{color:var(--text-soft);cursor:not-allowed;opacity:.82}.lesson-schedule-weekday-grid .subject-option.active:disabled{background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));color:var(--text-strong);opacity:1}.lesson-schedule-wide{grid-column:1 / -1}.lesson-schedule-inline-range{display:grid;grid-template-columns:34px minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.lesson-schedule-range-icon{display:inline-grid;place-items:center;color:var(--text-soft)}.lesson-schedule-range-icon svg{width:18px;height:18px}.lesson-schedule-range-separator{color:var(--text-soft);font-weight:800}.lesson-schedule-inline-range input,.lesson-schedule-inline-range select{width:100%;min-width:0;min-height:44px;padding:5px;border:1px solid var(--border-main);border-radius:10px;background:var(--bg-input);color:var(--text-strong);font-size:14px;font-weight:650;line-height:1.2;box-shadow:none}.lesson-schedule-inline-range select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.lesson-schedule-inline-range input:disabled,.lesson-schedule-inline-range select:disabled{color:var(--text-soft);background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));cursor:not-allowed;opacity:.9}.lesson-schedule-inline-range input:focus,.lesson-schedule-inline-range select:focus{border-color:var(--accent);outline:none;box-shadow:var(--shadow-focus)}.lesson-schedule-date-field{display:flex;flex-direction:column;gap:4px;min-width:0}.lesson-schedule-date-field>span{color:var(--text-muted);font-size:11px;font-weight:400;line-height:1.2}.lesson-schedule-count-stack{display:grid;gap:8px;min-width:0}.lesson-schedule-period-field{display:grid;gap:8px;min-width:0;padding:5px 10px;border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input)}.lesson-schedule-period-field>select{width:100%;min-width:0;padding:6px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0;background:transparent;color:var(--text-strong);font-weight:800}.lesson-schedule-period-field>select option{background:var(--bg-input);color:var(--text-strong)}.student-detail-form .detail-row .lesson-schedule-period-field>select{padding:6px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0;background:transparent;color:var(--text-strong)}.lesson-schedule-week-interval-field{display:inline-flex;align-items:center;gap:8px;color:var(--text-strong);font-size:14px;font-weight:800}.lesson-schedule-week-interval-field select{width:58px;min-width:0;padding:6px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0;background:transparent;color:var(--text-strong);font-weight:800;text-align:center}.student-detail-form .detail-row .lesson-schedule-week-interval-field select{width:58px;padding:6px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0;background:transparent}.lesson-schedule-count-field{display:grid;gap:8px;min-height:44px;padding:5px 10px;border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input);color:var(--text-strong);font-size:14px;font-weight:800}.lesson-schedule-count-input-row{display:inline-flex;align-items:center;gap:8px}.lesson-schedule-count-input-row input{width:74px;min-width:0;padding:6px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0!important;background:transparent;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;color:var(--text-strong);font-weight:800;text-align:center}.lesson-schedule-count-input-row input::-webkit-outer-spin-button,.lesson-schedule-count-input-row input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lesson-schedule-pass-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:6px;background:var(--bg-input)}.lesson-schedule-pass-options label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:0;border-radius:0;background:transparent;color:var(--text-main);font-size:13px;font-weight:800}.lesson-schedule-pass-options input{width:15px;height:15px;accent-color:var(--accent)}.lesson-schedule-required-label{margin-left:6px;color:var(--danger, #d9485f);font-style:normal;font-size:12px;font-weight:900;white-space:nowrap}.subject-option-grid.compact{gap:6px}.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid){align-items:center;gap:0;padding:4px 6px;border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input)}.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid) .subject-option{flex:0 0 auto;width:auto;padding:8px 12px;border:0;border-radius:0;background:transparent;box-shadow:none}.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid) .subject-option.active{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:var(--bg-input)}.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid) .subject-option:disabled{color:var(--text-soft);cursor:not-allowed;opacity:.82}.lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid) .subject-option.active:disabled{background:color-mix(in srgb,var(--bg-card-soft) 72%,var(--bg-input));color:var(--text-strong);opacity:1}.lesson-schedule-fee-row{align-items:stretch}.lesson-schedule-fee-list{display:grid;gap:8px;width:100%;padding:8px;border:1px solid var(--border-main);border-radius:0 10px 10px 0;background:var(--bg-input)}.lesson-schedule-fee-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.lesson-schedule-fee-field input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-width:0;padding:8px 4px;border:0;border-bottom:1px solid var(--border-main);border-radius:0!important;background:transparent;color:var(--text-main);font:inherit;font-weight:800;text-align:right}.lesson-schedule-fee-field input:focus{border-bottom-color:var(--accent);outline:none;box-shadow:none}.lesson-schedule-fee-field em{color:var(--text-muted);font-style:normal;font-size:12px;font-weight:800}.conflict-sheet{width:min(520px,calc(100vw - 28px));max-width:calc(100vw - 28px)}.conflict-copy{text-align:left;margin:0 0 12px;overflow-wrap:anywhere}.managed-group-conversion-alert-copy{white-space:pre-line}.conflict-list{max-height:min(320px,42vh);overflow:auto}.conflict-line-item{min-width:0;padding:12px 14px}.conflict-line-summary{display:block;font-size:.95rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}.personal-holiday-grid{display:grid;gap:16px}@media (max-width: 720px){.intro-splash{--intro-mark-size: clamp(112px, 32vw, 148px)}.intro-splash.is-exiting .intro-splash-mark-wrap{transform:scale(.92)}.lesson-schedule-card-head-inline{align-items:flex-start}.lesson-schedule-summary{white-space:normal}.lesson-schedule-weekday-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.lesson-schedule-form-grid{grid-template-columns:1fr}}.student-schedule-inline-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-schedule-content{min-width:0;flex:1 1 auto}.student-schedule-date{padding-bottom:5px;font-size:14px;font-weight:600}.student-schedule-summary{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-schedule-main{min-width:0;overflow:hidden;text-overflow:ellipsis}.student-schedule-subject{flex:0 0 auto;padding:3px 5px;border-radius:5px;color:#fff;font-size:12px;font-weight:500}.student-schedule-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.student-schedule-toolbar{gap:2px;font-size:13px}.student-schedule-toolbar>button{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:10px 5px;border:0;background:transparent;box-shadow:none}.student-schedule-toolbar>button:hover,.student-schedule-toolbar>button:focus-visible{background:transparent;box-shadow:none}.student-schedule-toolbar>button svg{width:16px;height:16px;flex:0 0 auto}.student-schedule-toolbar-icon.add{color:var(--success)}.student-schedule-toolbar-icon.view{color:var(--danger, #d9485f)}.student-schedule-toolbar-icon.list{color:var(--accent-strong)}.student-registered-schedule-list,.student-schedule-history-list{min-width:0}.student-registered-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.student-registered-schedule-row.has-group-icon{grid-template-columns:auto minmax(0,1fr) auto}.student-registered-schedule-group-icon{display:grid;place-items:center;align-self:stretch}.student-registered-schedule-content{gap:6px;min-width:0}.student-registered-schedule-summary{max-width:100%}.student-registered-schedule-actions{display:grid;align-content:center;gap:4px;align-self:stretch}.student-registered-schedule-actions .lesson-schedule-icon-button{width:28px;height:28px}.student-schedule-history-sentinel{display:grid;place-items:center;min-height:42px;padding:8px 12px;color:var(--text-soft);font-size:12px;line-height:1.4;text-align:center}:root[data-theme=dark] .student-detail-panel .student-schedule-toolbar>button,:root[data-theme=dark2] .student-detail-panel .student-schedule-toolbar>button{font-weight:500;background:transparent;color:var(--text-main);border:0}:root[data-theme=dark] .page-body.is-schedule-detail-page{background:#0b0c10}:root[data-theme=dark] .schedule-detail-actions,:root[data-theme=dark] .detail-back-button{background:transparent}:root[data-theme=dark2] .page-body.is-schedule-detail-page,:root[data-theme=dark2] .schedule-detail-actions,:root[data-theme=dark2] .detail-back-button{background:#12151f}:root[data-theme=dark] .schedule-detail-form .detail-row input,:root[data-theme=dark] .schedule-detail-form .detail-row select,:root[data-theme=dark] .schedule-detail-form .detail-row textarea,:root[data-theme=dark] .schedule-detail-scroll-body button,:root[data-theme=dark] .schedule-detail-scroll-body button:hover,:root[data-theme=dark] .schedule-detail-scroll-body button:focus-visible,:root[data-theme=dark] .schedule-detail-scroll-body button:active{background:#191d28}:root[data-theme=dark] .schedule-detail-form.student-detail-form .detail-row>span{background:#2c3141}:root[data-theme=dark] .schedule-detail-form.student-detail-form .detail-row input,:root[data-theme=dark] .schedule-detail-form.student-detail-form .detail-row select{border:1px solid #2c3141}:root[data-theme=dark] .schedule-detail-hero .detail-meta-grid .info-card{background:#12151f}:root[data-theme=dark] .schedule-detail-actions{position:relative;gap:0;justify-content:space-around}:root[data-theme=dark] .schedule-detail-actions>button,:root[data-theme=dark] .schedule-detail-actions>button:hover,:root[data-theme=dark] .schedule-detail-actions>button:focus-visible,:root[data-theme=dark] .schedule-detail-actions>button:active{position:relative;border:0;background:transparent;box-shadow:none}:root[data-theme=dark] .schedule-detail-actions>button+button:before{content:"";position:absolute;top:50%;left:0;width:1px;height:18px;background:var(--border-main);transform:translateY(-50%)}:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:hover,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:focus-visible,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>button:active,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:hover,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:focus-visible,:root[data-theme=dark] .schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:active{border:0;background:transparent;box-shadow:none}.schedule-detail-actions>.submit,.schedule-detail-actions>.submit:hover,.schedule-detail-actions>.submit:focus-visible,.schedule-detail-actions>.submit:active,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:hover,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:focus-visible,.schedule-detail-form.student-detail-form>.action-row.schedule-detail-actions>.submit:active{color:#e14b42}.schedule-detail-actions>.danger-action,.schedule-detail-actions>.danger-action:hover,.schedule-detail-actions>.danger-action:focus-visible,.schedule-detail-actions>.danger-action:active{color:#9c9c9c}:root[data-theme=dark] .student-detail-form .detail-row>span,:root[data-theme=dark2] .student-detail-form .detail-row>span{background:var(--button-neutral)}:root[data-theme=dark] .planner-all-day-toggle.is-active,:root[data-theme=dark2] .planner-all-day-toggle.is-active{border-color:#3f6fcf;background:#3f6fcf;color:#fff}:root[data-theme=dark] .schedule-detail-scroll-body .planner-all-day-toggle.is-active,:root[data-theme=dark] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:hover,:root[data-theme=dark] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:focus-visible,:root[data-theme=dark] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:active,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-all-day-toggle.is-active,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:hover,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:focus-visible,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-all-day-toggle.is-active:active{border-color:#3f6fcf;background:#3f6fcf;color:#fff}:root[data-theme=dark] .schedule-detail-scroll-body .planner-icon-toggle.is-active,:root[data-theme=dark] .schedule-detail-scroll-body .planner-icon-toggle.is-active:hover,:root[data-theme=dark] .schedule-detail-scroll-body .planner-icon-toggle.is-active:focus-visible,:root[data-theme=dark] .schedule-detail-scroll-body .planner-icon-toggle.is-active:active,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-icon-toggle.is-active,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-icon-toggle.is-active:hover,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-icon-toggle.is-active:focus-visible,:root[data-theme=dark2] .schedule-detail-scroll-body .planner-icon-toggle.is-active:active{border:0;background:#e14b42}:root[data-theme=dark] .title-list.schedule-date-overlay-list .title-row-copy strong,:root[data-theme=dark2] .title-list.schedule-date-overlay-list .title-row-copy strong{color:#fff}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-panel .student-schedule-toolbar>button{font-weight:500;background:transparent;color:var(--text-main);border:0;box-shadow:none}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-panel .student-schedule-toolbar>button:hover,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-panel .student-schedule-toolbar>button:focus-visible{box-shadow:none}.calendar-cell[data-weekday-tone=saturday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=saturday] .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=saturday] .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=saturday].active .calendar-date,.schedule-week-day-head[data-weekday-tone=saturday] strong,.schedule-week-day-head[data-weekday-tone=saturday] span{color:#3f6fcf}.calendar-cell[data-weekday-tone=sunday] .calendar-date,.calendar-cell[data-weekday-tone=holiday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=sunday] .calendar-date,.schedule-calendar-cell[data-weekday-tone=holiday] .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=sunday] .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=holiday] .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=sunday].active .calendar-date,.schedule-shell-interactive .schedule-calendar-cell[data-weekday-tone=holiday].active .calendar-date,.schedule-week-day-head[data-weekday-tone=sunday] strong,.schedule-week-day-head[data-weekday-tone=sunday] span,.schedule-week-day-head[data-weekday-tone=holiday] strong,.schedule-week-day-head[data-weekday-tone=holiday] span,.schedule-day-head-weekday[data-weekday-tone=sunday],.schedule-day-head-weekday[data-weekday-tone=holiday]{color:#d2554d}@media (max-width: 900px),(min-width: 901px){.planner-auth-shell{place-items:start center;align-content:start;min-height:100vh;min-height:100svh;padding:max(14px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.planner-auth-shell .auth-login-card{width:min(430px,100%);max-height:none;padding:18px 0 0;gap:14px}.planner-auth-shell .auth-brand{gap:5px}.planner-auth-shell .auth-brand-logo{width:58px;height:58px}.planner-auth-shell .auth-brand strong{font-size:27px}.planner-auth-shell .auth-brand p{margin-top:4px;font-size:16px}.planner-auth-shell .auth-brand span{font-size:13px}.planner-auth-shell .auth-login-panel{overflow:visible;padding:18px;border-radius:20px}.planner-auth-shell .auth-login-scroll-body{overflow:visible;padding-right:0}.planner-auth-shell .auth-login-panel .form,.planner-auth-shell .auth-social-grid{gap:7px}.planner-auth-shell .auth-social-button{min-height:40px;padding-block:8px}.settings-account-profile-head{grid-template-columns:minmax(0,1fr)}.settings-subpage-logout-button{justify-self:start}.subscription-promo-strip{grid-template-columns:minmax(0,1fr);align-items:stretch}.subscription-promo-meta{justify-content:flex-start}.subscription-promo-action,.subscription-promo-button,.subscription-choice-actions{width:100%}.subscription-choice-actions>button{flex:1 1 150px}.subscription-usage-grid{grid-template-columns:minmax(0,1fr)}.subscription-plan-summary{flex-wrap:wrap;align-items:flex-start}.subscription-summary-action{width:100%}}@media (prefers-reduced-motion: reduce){.app-intro-stage,.onboarding-artwork,.intro-splash-backdrop,.intro-splash-mark-wrap,.student-detail-overlay,.student-detail-modal{transition-duration:.01ms;animation-duration:.01ms}.intro-logo-line,.intro-logo-dot,.intro-logo-full,.subscription-promo-bubble{animation-duration:.01ms;animation-delay:0ms;animation-iteration-count:1;opacity:1;transform:none}}:root[data-theme=light_on]{--accent-strong: #077a7d;--bg-app: linear-gradient(180deg, #f8f3eb 0%, #fbf7f1 42%, #ecf5f8 100%);--bg-shell: radial-gradient(circle at top left, rgb(227 218 130 / 20%), transparent 28%), radial-gradient(circle at bottom right, rgb(183 247 208 / 14%), transparent 28%)}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:hover,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:active,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:focus,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:focus-visible{background:#008b8b}:root:is([data-theme=light3],[data-theme=light_on],[data-theme=dark]) .settings-password-form .detail-row>span{width:auto;min-width:0}:root[data-theme=light_on] .settings-password-form .detail-row>span{background:#ebdcc3}:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subject-manage-button,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subject-manage-button:hover,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subject-manage-button:focus-visible,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subject-manage-button:active{background:#303841}:root:is([data-theme=light3],[data-theme=light_on],[data-theme=dark]) .app-shell[data-section=settings] .settings-subject-manage-button,:root:is([data-theme=light3],[data-theme=light_on],[data-theme=dark]) .app-shell[data-section=settings] .settings-subject-manage-button:hover,:root:is([data-theme=light3],[data-theme=light_on],[data-theme=dark]) .app-shell[data-section=settings] .settings-subject-manage-button:focus-visible,:root:is([data-theme=light3],[data-theme=light_on],[data-theme=dark]) .app-shell[data-section=settings] .settings-subject-manage-button:active{background:#303841;color:#fff}:root[data-theme=light_on] .app-shell[data-section=settings] .settings-back-button,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-back-button:hover,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-back-button:focus-visible,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-back-button:active{color:#303841}:root[data-theme=light_on] .app-shell[data-section=settings] .settings-name-change-badge,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-name-change-badge:hover,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-name-change-badge:focus-visible,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-name-change-badge:active{border:0;background:#4fa9c6;color:#fff}:root[data-theme=light_on] .home-schedule-panel-today .home-schedule-item,:root[data-theme=light_on] .home-schedule-panel-today .home-schedule-item:hover,:root[data-theme=light_on] .home-schedule-panel-today .home-schedule-item:focus-visible,:root[data-theme=light_on] .home-schedule-panel-today .home-schedule-item:active{border:1px solid #b4a9a6;background:none}:root[data-theme=light3] .settings-password-form .detail-row>span{background:#d8dfef}:root[data-theme=dark] .settings-password-form .detail-row>span{background:#2c3141}:root[data-theme=light_on] .mobile-tab.active,:root[data-theme=light_on] .mobile-tab.active:hover,:root[data-theme=light_on] .mobile-tab.active:active,:root[data-theme=light_on] .mobile-tab.active:focus-visible,:root[data-theme=light_on] .mobile-tab[data-active=true],:root[data-theme=light_on] .mobile-tab[data-active=true]:hover,:root[data-theme=light_on] .mobile-tab[data-active=true]:active,:root[data-theme=light_on] .mobile-tab[data-active=true]:focus-visible{color:#11a0cf}:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subscription-promo-action>.settings-subscription-promo-button.is-pro,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subscription-promo-action>.settings-subscription-promo-button.is-pro:hover,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subscription-promo-action>.settings-subscription-promo-button.is-pro:focus-visible,:root[data-theme=light_on] .app-shell[data-section=settings] .settings-subscription-promo-action>.settings-subscription-promo-button.is-pro:active{background:#008b8b}:root[data-theme=light_on] .theme-preview[data-preview=light_on] span:first-child{background:#f8f3eb}:root[data-theme=light_on] .lesson-extension-page .lesson-extension-tabs>button.is-active{background:#06202b}:root[data-theme=light_on] .lesson-extension-bulk-button{background:#077a7d}:root[data-theme=light_on] .eyebrow,:root[data-theme=light_on] .page-kicker{color:#303841!important}:root[data-theme=light_on] .subscription-beta-confirm-button,:root[data-theme=light_on] .subscription-beta-confirm-button:hover,:root[data-theme=light_on] .subscription-beta-confirm-button:focus-visible,:root[data-theme=light_on] .subscription-beta-confirm-button:active{background:#24b1b1;color:#fff;font-weight:600}:root[data-theme=light_on] .subscription-pro-summary-card{background:#fff}:root[data-theme=light_on] .settings-plan-badge.is-beta{background:#ff5722}:root[data-theme=light_on] .student-grades-page-empty{background:none}:root[data-theme=light_on] .settings-install-button,:root[data-theme=light_on] .settings-install-button:hover,:root[data-theme=light_on] .settings-install-button:focus-visible,:root[data-theme=light_on] .settings-install-button:active{background:#303841}:root[data-theme=light_on] .subject-option.active{border-color:transparent;background:#008b8b}:root[data-theme=light_on] .settings-subject-picker-sheet .subject-create-form.subject-rename-form .detail-row>span{background:#ebdcc3}:root[data-theme=light_on] .student-detail-title-row .badge.accent{border:0;background:#ff5722;color:#fff}:root[data-theme=light_on] .student-detail-panel .student-schedule-actions .lesson-schedule-icon-button{background:#f8f3eb}:root[data-theme=light_on] .lesson-extension-next-button{background:#428475}:root[data-theme=light_on] .planner-completion-review-overlay .planner-completion-review-card-actions>.submit,:root[data-theme=light_on] .planner-completion-review-overlay .planner-completion-review-card-actions>.submit:hover,:root[data-theme=light_on] .planner-completion-review-overlay .planner-completion-review-card-actions>.submit:focus-visible,:root[data-theme=light_on] .planner-completion-review-overlay .planner-completion-review-card-actions>.submit:active{background:#008b8b}:root[data-theme=light_on] .lesson-group-page .lesson-group-tabs>button.is-active{border-color:transparent;background:#303841}:root[data-theme=light_on] .managed-lesson-group-form.student-detail-form .detail-row>span{background:#f8f3eb}:root[data-theme=light_on] .lesson-schedule-form-grid .subject-option-grid.compact:not(.lesson-schedule-weekday-grid) .subject-option.active{background:#ff5722}:root[data-theme=light_on] .lesson-schedule-weekday-grid .subject-option.active{background:#ff5722}:root[data-theme=light_on] body{background:#fffaf3}.student-detail-panel{--student-card-accent: var(--accent-strong);--student-card-accent-soft: var(--accent-soft)}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-panel{--student-card-accent: #008b8b;--student-card-accent-soft: #e9f8f6}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel{--student-card-accent: #66d4c5;--student-card-accent-soft: rgba(102, 212, 197, .13)}.student-detail-card-shell{border-radius:28px;background:var(--bg-panel)}.student-detail-profile-card{align-items:flex-start;padding:16px 56px 16px 16px;border:1px solid var(--border-main);border-radius:22px;background:var(--bg-card);box-shadow:0 10px 26px #0f172a12}.student-detail-profile-main{display:flex;min-width:0;align-items:center;gap:16px;padding-right:0}.student-detail-profile-avatar{width:64px;height:64px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--student-card-accent-soft);color:var(--student-card-accent);box-shadow:0 1px 2px #0f172a0d;overflow:hidden}.student-detail-profile-avatar svg{width:36px;height:36px}.student-detail-profile-avatar-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.student-detail-profile-copy{min-width:0;display:grid;gap:4px}.student-detail-profile-school{min-width:0;color:var(--text-muted);font-size:14px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.student-detail-profile-meta{min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-detail-profile-code{color:var(--text-muted);font-size:12px;font-weight:800}.student-detail-profile-close{top:16px;right:16px;width:36px;height:36px;padding:0;border-radius:50%;background:transparent;color:var(--text-strong);box-shadow:none}.student-detail-profile-close:hover,.student-detail-profile-close:active,.student-detail-profile-close:focus,.student-detail-profile-close:focus-visible{background:var(--bg-hover);color:var(--text-strong);box-shadow:none}.student-detail-title-copy.is-view .badge,:root[data-theme=dark] .student-detail-title-copy.is-view .badge,:root[data-theme=dark2] .student-detail-title-copy.is-view .badge{border:0;background:#f97316;color:#fff;box-shadow:none}.student-detail-panel .student-detail-tabs .tab{min-width:0;padding:12px 4px;border:0;border-bottom:1px solid #ebebeb;border-radius:0;background:transparent;color:var(--text-muted);box-shadow:none}.student-detail-tabs{border-bottom:0}.student-detail-panel .student-detail-tabs .tab:hover,.student-detail-panel .student-detail-tabs .tab:active,.student-detail-panel .student-detail-tabs .tab:focus,.student-detail-panel .student-detail-tabs .tab:focus-visible{border-bottom-color:#ebebeb;background:transparent;color:var(--text-strong);box-shadow:none;outline:none}.student-detail-panel .student-detail-tabs .tab.active,.student-detail-panel .student-detail-tabs .tab.active:hover,.student-detail-panel .student-detail-tabs .tab.active:active,.student-detail-panel .student-detail-tabs .tab.active:focus,.student-detail-panel .student-detail-tabs .tab.active:focus-visible{border-radius:0;border-bottom-color:var(--student-card-accent);background:transparent;color:var(--student-card-accent);box-shadow:none}:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:hover,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:active,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:focus,:root:is([data-theme=light3],[data-theme=light_on]) .student-detail-tabs .tab.active:focus-visible{border-bottom:2px solid #008b8b;border-radius:0;background:transparent;color:#008b8b}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab:active,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab:focus,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab:focus-visible{border:0;border-bottom:1px solid var(--border-main);border-radius:0;background:transparent;box-shadow:none;outline:none}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab.active,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab.active:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab.active:active,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab.active:focus,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-panel .student-detail-tabs .tab.active:focus-visible{border:0;border-bottom:2px solid var(--student-card-accent);border-radius:0;background:transparent;color:var(--student-card-accent);box-shadow:none}.student-card-overview{gap:8px}.student-overview-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-overview-quick-actions.is-single{grid-template-columns:minmax(0,1fr)}.student-overview-quick-action,.student-overview-quick-action:hover,.student-overview-quick-action:focus-visible{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card);color:var(--text-strong);font-size:12px;font-weight:800;box-shadow:0 7px 18px #0f172a12}.student-overview-quick-action:hover,.student-overview-quick-action:focus-visible{background:var(--bg-hover)}.student-overview-quick-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--student-card-accent)}.student-overview-quick-icon svg{width:20px;height:20px}.student-overview-card-list{min-width:0;display:grid;gap:8px}.student-overview-card{min-width:0;display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--border-main);border-radius:22px;background:var(--bg-card);box-shadow:0 9px 24px #0f172a12}.student-overview-card-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--student-card-accent-soft);color:var(--student-card-accent)}.student-overview-card-icon svg{width:24px;height:24px}.student-overview-card-content{min-width:0}.student-overview-edit-schedule-card{width:100%;cursor:pointer;text-align:left}.student-overview-edit-schedule-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.student-overview-edit-schedule-button,.student-overview-edit-schedule-button:hover,.student-overview-edit-schedule-button:focus-visible{min-height:30px;flex:0 0 auto;padding:5px 9px;border:1px solid color-mix(in srgb,var(--student-card-accent) 45%,transparent);border-radius:8px;background:var(--student-card-accent-soft);color:var(--student-card-accent);box-shadow:none;font-size:11px;font-weight:800}.student-overview-card-title{margin:0;color:var(--text-strong);font-size:16px;font-weight:900;line-height:1.5}.student-overview-card-fields{min-width:0;display:grid;gap:8px;margin:12px 0 0;font-size:14px}.student-overview-card-fields.is-basic{margin-top:0}.student-overview-card-field{min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.student-overview-card-field dt{color:var(--text-muted);font-weight:700}.student-overview-card-field dd{min-width:0;margin:0;color:var(--text-strong);font-weight:800;line-height:1.5;overflow-wrap:anywhere}.student-overview-card-schedule-list{min-width:0;display:grid;gap:10px;margin-top:12px}.student-overview-card>.student-overview-card-schedule-list,.student-overview-card>.student-overview-card-schedule-empty{grid-column:1 / -1;margin-top:0}.student-overview-card-schedule-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.student-overview-card-schedule-item:last-child{padding-bottom:0;border-bottom:0}.student-overview-card-schedule-main{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.student-overview-card-subject{max-width:100%;padding:3px 5px;border:0;border-radius:5px;color:#fff;font-size:12px;font-weight:500;overflow-wrap:anywhere}.student-overview-card-time{color:var(--text-strong);font-size:14px;font-weight:800;white-space:nowrap}.student-overview-card-schedule-badges{max-width:96px;display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap;color:#5070bb;font-size:11px;font-weight:800;text-align:right}.student-overview-card-schedule-badges span{padding:4px 8px;border-radius:8px;background:#e9f6f8}.student-overview-card-empty,.student-overview-card-memo{margin:12px 0 0;font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.student-overview-card-empty{color:var(--text-muted)}.student-overview-card-memo{color:var(--text-main);white-space:pre-wrap}.student-detail-body{padding:0 0 8px;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.student-detail-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom));background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit{min-height:48px;flex:1 1 0;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:800}.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close:hover,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close:focus-visible{border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-strong);box-shadow:none}.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:hover,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:focus-visible{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:#f97316;box-shadow:0 10px 24px #f973163d}.student-detail-footer.action-row.is-edit-mode>button.submit.student-detail-footer-edit{color:#fff}.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:hover,.student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:focus-visible{background:#ea580c}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-close:focus-visible{flex:1 1 0;border:1px solid var(--border-main);background:var(--bg-card);color:var(--text-strong);box-shadow:none}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:focus-visible{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:#f97316;color:#fff;box-shadow:0 10px 24px #f973163d}:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-detail-footer.action-row.is-edit-mode>.student-detail-footer-edit:focus-visible{background:#ea580c}.student-detail-footer-edit svg{width:20px;height:20px}@media (min-width: 640px){.student-detail-profile-card{padding:20px 64px 20px 20px}.student-detail-profile-avatar{width:80px;height:80px}.student-detail-profile-avatar svg{width:44px;height:44px}.student-detail-profile-close{top:20px;right:20px}.student-overview-quick-actions{gap:12px}.student-overview-card{grid-template-columns:35px minmax(0,1fr);padding:20px}}@media (max-width: 720px){.student-detail-overlay{padding-right:8px;padding-left:8px}.student-detail-modal{max-height:calc(100dvh - 82px - env(safe-area-inset-bottom))}.student-detail-body{min-width:0;padding-right:0;padding-left:0}.student-detail-tabs{gap:0;padding-right:0;padding-left:0;border-bottom:0}.student-detail-tabs .tab{font-size:12px}.student-detail-footer{gap:10px;padding-right:4px;padding-left:4px}}@media (max-width: 380px){.student-detail-panel{padding-right:10px;padding-left:10px}.student-detail-tabs .tab{font-size:11px;letter-spacing:-.035em}}.student-list-panel:not(.lesson-extension-page):not(.lesson-group-page):not(.student-grades-page){gap:12px}.student-list-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-list-heading-row h2{margin:0;color:var(--text-strong);font-size:18px;font-weight:900;letter-spacing:-.035em}.student-list-section-excel-button,.student-list-section-excel-button:hover,.student-list-section-excel-button:focus-visible{width:auto;height:34px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card);color:var(--text-muted);box-shadow:0 2px 8px #0f172a0a;font-size:11px;font-weight:700}.student-list-section-excel-button svg{width:17px;height:17px;color:#079d8e}.student-list-status-row{position:relative;min-width:0;padding:12px 14px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);box-shadow:0 3px 12px #0f172a0d}.student-list-stat-summary{min-width:0;display:flex;align-items:center;gap:12px}.student-list-stat-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#ddf7f2;color:#0fae9d}.student-list-stat-icon svg{width:21px;height:21px}.student-list-stat-copy{min-width:0;display:grid;gap:5px}.student-list-stat-total{color:var(--text-main);font-size:13px;font-weight:800;line-height:1.2}.student-list-stat-total em{color:var(--text-strong);font-style:normal;font-weight:900}.student-list-stat-breakdown{min-width:0;display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:11px;font-weight:700}.student-list-stat-breakdown span,.student-list-stat-breakdown strong{white-space:nowrap}.student-list-stat-breakdown strong{color:var(--text-muted);font-weight:800}.student-list-stat-breakdown .is-inactive strong{color:#ff6b20}.student-list-stat-breakdown i{width:1px;height:12px;background:var(--border-main)}.student-list-search-row{min-width:0;display:grid;grid-template-columns:minmax(120px,1fr) minmax(92px,120px) 42px;gap:8px}.student-list-filter-shell{position:relative;min-width:0}.student-header-search-trigger{display:none}.student-list-search-preview{min-width:0;min-height:42px;display:grid;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--border-main);border-radius:9px;background:var(--bg-input);color:var(--text-soft);font-size:13px;font-weight:600;overflow:hidden}.student-list-search-preview input{min-width:0;width:100%;height:24px;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-main);box-shadow:none;font:inherit;outline:none}.student-list-search-preview input::placeholder{color:var(--text-soft);opacity:1}.student-list-search-preview input::-webkit-search-cancel-button{display:none}.student-list-search-preview-icon,.student-list-search-filter-icon{display:grid;place-items:center}.student-list-search-preview-icon svg{width:19px;height:19px}.student-list-search-filter{width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;border:1px solid var(--border-main);border-radius:9px;background:var(--bg-card);color:var(--text-main);box-shadow:none;font-size:12px;font-weight:700}.student-list-inline-filter{min-width:0;min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) 12px;align-items:center;gap:2px;padding:8px 7px;border:1px solid var(--border-main);border-radius:9px;background:var(--bg-card);color:var(--text-muted);font-size:12px;font-weight:700;white-space:nowrap}.student-list-inline-filter:focus-within{border-color:#20bda9}.student-list-inline-filter select{min-width:0;width:100%;padding:0;border:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--text-main);box-shadow:none;font:inherit;outline:none;cursor:pointer}.student-list-inline-filter svg{width:12px;height:12px;pointer-events:none}.student-list-search-filter:hover,.student-list-search-filter:focus-visible{border-color:var(--border-main);background:var(--bg-card);color:var(--text-main);box-shadow:none}.student-list-search-filter.is-active,.student-list-search-filter.is-active:hover,.student-list-search-filter.is-active:focus-visible{border-color:#20bda9;background:color-mix(in srgb,#20bda9 9%,var(--bg-card));color:#079d8e;box-shadow:none}.student-list-search-filter-icon svg{width:19px;height:19px}.student-list-filter-popover{position:relative;z-index:6;display:grid;gap:0;margin-top:8px;padding:6px 12px 12px;border:1px solid var(--border-main);border-radius:12px;background:var(--bg-card);box-shadow:0 12px 28px #0f172a1f}.student-list-filter-popover:before,.student-list-filter-popover:after{position:absolute;right:26px;content:"";width:0;height:0;border-right:7px solid transparent;border-left:7px solid transparent}.student-list-filter-popover:before{top:-8px;border-bottom:8px solid var(--border-main)}.student-list-filter-popover:after{top:-7px;border-bottom:8px solid var(--bg-card)}.student-list-filter-field{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--border-main) 72%,transparent)}.student-list-filter-label{color:var(--text-main);font-size:11px;font-weight:800}.student-list-filter-options{min-width:0;display:grid;gap:7px}.student-list-filter-options.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}.student-list-filter-options.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}.student-list-filter-options.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}.student-list-filter-options button,.student-list-filter-options button:hover,.student-list-filter-options button:focus-visible{min-width:0;min-height:29px;padding:5px 6px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-card);color:var(--text-muted);box-shadow:none;font-size:10px;font-weight:700;white-space:nowrap}.student-list-filter-options button.is-selected,.student-list-filter-options button.is-selected:hover,.student-list-filter-options button.is-selected:focus-visible{border-color:color-mix(in srgb,#20bda9 52%,transparent);background:color-mix(in srgb,#20bda9 10%,var(--bg-card));color:#079d8e;font-weight:800}.student-list-filter-school-input{min-width:0;min-height:31px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border-main);border-radius:8px;background:var(--bg-input);color:var(--text-soft)}.student-list-filter-school-input input{min-width:0;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-main);box-shadow:none;font-size:12px;outline:none}.student-list-filter-school-input svg{width:16px;height:16px}.student-list-filter-managed-group-controls{min-width:0;display:flex;align-items:center;gap:8px}.student-list-filter-managed-group{height:50px}.student-list-filter-group-toggle{width:48px;min-width:48px;height:25px}.student-list-filter-group-toggle.is-active,.student-list-filter-group-toggle.is-active:hover,.student-list-filter-group-toggle.is-active:focus-visible{background:#20bda9}.student-list-filter-managed-group-controls select{min-width:0;flex:1;width:100%;min-height:31px;padding:5px 28px 5px 9px;border:1px solid var(--border-main);border-radius:8px;background-color:var(--bg-input);color:var(--text-main);box-shadow:none;font-size:12px;outline:none}.student-list-filter-managed-group-controls select:focus-visible{border-color:#20bda9}.student-list-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:11px}.student-list-filter-actions>button{min-height:34px;padding:7px 10px;border-radius:8px;font-size:11px}.student-list-panel:not(.lesson-extension-page):not(.lesson-group-page):not(.student-grades-page)>.student-list-table{padding:2px 3px 90px}.student-list-table{gap:10px}.student-card.student-list-item:not(.lesson-extension-item){position:relative;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:13px 14px 13px 12px;border:1px solid var(--border-main);border-radius:18px;background:var(--bg-card);box-shadow:0 8px 20px #0f172a12}.student-card.student-list-item:not(.lesson-extension-item).active{border-left:4px solid #10b7a5;padding-left:9px;background:var(--bg-card)}.student-list-avatar-button{width:42px;height:42px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;overflow:hidden}.student-list-avatar-button:hover,.student-list-avatar-button:focus-visible{background:transparent;box-shadow:0 0 0 3px color-mix(in srgb,#10b7a5 20%,transparent);outline:none}.student-list-avatar{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}.student-list-avatar-default-icon{display:none}.student-list-card-content{min-width:0;display:grid}.student-list-primary{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 38px 18px;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border-main)}.student-card.student-list-item:not(.lesson-extension-item) .student-list-main{gap:5px}.student-card.student-list-item:not(.lesson-extension-item) .student-list-code{justify-self:start;max-width:100%;padding:3px 7px;border:1px solid rgba(16,183,165,.18);border-radius:6px;background:#eaf8f6;color:#078c80;font-size:10px;font-weight:500}.student-card.student-list-item:not(.lesson-extension-item) .student-list-summary{gap:8px}.student-card.student-list-item:not(.lesson-extension-item) .student-list-name{color:var(--text-strong);font-size:18px;font-weight:900}.student-card.student-list-item:not(.lesson-extension-item) .student-list-school{color:var(--text-muted);font-size:12px;font-weight:650;overflow-wrap:anywhere}.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button,.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button:hover,.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button:focus-visible{width:38px;height:38px;display:grid;place-items:center;padding:9px;border:1px solid #f0b38045;border-radius:50%;background:transparent;color:#f09a80;box-shadow:none}.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button svg{width:19px;height:19px}.student-list-chevron{width:18px;height:24px;display:grid;place-items:center;color:var(--text-muted)}.student-list-chevron svg{width:18px;height:18px}.student-list-contact-row{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);gap:7px;padding-top:8px}.student-list-contact-icon{width:18px;height:18px;display:grid;place-items:center;color:var(--text-muted)}.student-list-contact-icon svg{width:16px;height:16px}.student-list-contact-button{gap:6px;font-size:12px}.student-list-contact-button.is-parent{justify-self:stretch;justify-content:flex-end}.student-list-contact-label{color:var(--text-muted);font-weight:700}.student-list-contact-value{color:var(--text-main);font-weight:800}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-stat-icon,:root:is([data-theme=dark],[data-theme=dark2]) .student-card.student-list-item:not(.lesson-extension-item) .student-list-code{background:var(--bg-card-strong)}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-status-row{border:1px solid rgb(139 161 220 / 14%);background:#0b0c10}:root[data-theme=light_on] .student-list-avatar-button.is-default,:root[data-theme=light_on] .student-list-avatar-button.is-default:hover,:root[data-theme=light_on] .student-list-avatar-button.is-default:focus-visible{display:grid;place-items:center;background:#e9f8f6;color:#008b8b;box-shadow:0 1px 2px #0f172a0d}:root[data-theme=light_on] .student-list-avatar-default-image{display:none}:root[data-theme=light_on] .student-list-avatar-default-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%}:root[data-theme=light_on] .student-list-avatar-default-icon svg{width:24px;height:24px}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-button.is-default,:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-button.is-default:hover,:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-button.is-default:focus-visible{display:grid;place-items:center;background:#66d4c521;color:#66d4c5;box-shadow:0 1px 2px #0f172a0d}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-default-image{display:none}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-default-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%}:root:is([data-theme=dark],[data-theme=dark2]) .student-list-avatar-default-icon svg{width:24px;height:24px}@media (max-width: 480px){.student-list-status-row{padding:11px 12px}.student-list-stat-icon{width:38px;height:38px}.student-list-stat-icon svg{width:18px;height:18px}.student-list-stat-total{font-size:12px}.student-list-stat-breakdown{gap:9px;font-size:10px}.student-list-section-excel-button,.student-list-section-excel-button:hover,.student-list-section-excel-button:focus-visible{height:32px;padding:5px 8px;font-size:10px}.student-list-search-filter{width:38px;min-height:40px;padding:8px}.student-list-search-row{grid-template-columns:minmax(96px,1fr) 104px 38px;gap:5px}.student-list-search-preview,.student-list-inline-filter{min-height:40px}.student-list-search-preview{grid-template-columns:17px minmax(0,1fr);gap:5px;padding:7px;font-size:12px}.student-list-search-preview-icon svg{width:17px;height:17px}.student-list-inline-filter{grid-template-columns:auto minmax(0,1fr) 9px;gap:1px;padding:6px 4px;font-size:11px}.student-list-inline-filter svg{width:9px;height:9px}.student-card.student-list-item:not(.lesson-extension-item){grid-template-columns:42px minmax(0,1fr);gap:10px;padding:12px 10px}.student-card.student-list-item:not(.lesson-extension-item).active{padding-left:7px}.student-list-avatar-button{width:42px;height:42px}.student-list-primary{grid-template-columns:minmax(0,1fr) 34px 14px;gap:6px}.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button,.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button:hover,.student-card.student-list-item:not(.lesson-extension-item) .student-list-schedule-button:focus-visible{width:34px;height:34px;padding:8px}.student-list-chevron,.student-list-chevron svg{width:14px}.student-card.student-list-item:not(.lesson-extension-item) .student-list-name{font-size:16px}.student-card.student-list-item:not(.lesson-extension-item) .student-list-school{font-size:11px}.student-list-contact-row{grid-template-columns:16px minmax(0,1fr)}.student-list-contact-button.is-parent{grid-column:2;justify-content:flex-start}}.app-shell[data-section=settings] .settings-free-beta-button,.app-shell[data-section=settings] .settings-free-beta-button:hover,.app-shell[data-section=settings] .settings-free-beta-button:focus-visible,.app-shell[data-section=settings] .settings-free-beta-button:active{border-color:#673ab7;background:#673ab7;color:#fff}#root[data-app-surface=admin]{--admin-page-bg: #f3f5f8;--admin-panel-bg: #ffffff;--admin-border: #dfe4ea;--admin-text: #202936;--admin-text-muted: #667085;width:100%;max-width:none;min-height:100vh;margin:0;border:0;background:var(--admin-page-bg)}#root[data-app-surface=admin] .operator-preview-shell{width:100%;min-height:100vh;padding:32px clamp(24px,3vw,56px);background:var(--admin-page-bg)}#root[data-app-surface=admin] .operator-preview-header{width:100%}#root[data-app-surface=admin] .operator-preview-grid{width:100%;grid-template-columns:minmax(340px,.8fr) minmax(520px,1.2fr);gap:20px}#root[data-app-surface=admin] .operator-preview-card{border-color:var(--admin-border);background:var(--admin-panel-bg)}#root[data-app-surface=admin] .operator-preview-header h1,#root[data-app-surface=admin] .operator-preview-card h2,#root[data-app-surface=admin] .operator-preview-row strong,#root[data-app-surface=admin] .operator-preview-inquiry-row strong{color:var(--admin-text)}#root[data-app-surface=admin] .operator-preview-header p:not(.eyebrow),#root[data-app-surface=admin] .operator-preview-row time,#root[data-app-surface=admin] .operator-preview-inquiry-row p,#root[data-app-surface=admin] .operator-preview-setting-help{color:var(--admin-text-muted)}#root[data-app-surface=admin] .operator-preview-setting-help{margin:0;font-size:13px}@media (min-width: 901px){#root[data-app-surface=admin] .operator-preview-header{display:flex}#root[data-app-surface=admin] .operator-preview-header>.secondary,#root[data-app-surface=admin] .operator-preview-card-head>.secondary{width:auto}#root[data-app-surface=admin] .operator-preview-card-head{align-items:center;flex-direction:row}}@media (max-width: 900px){#root[data-app-surface=admin] .operator-preview-shell{padding:18px}#root[data-app-surface=admin] .operator-preview-header{display:grid}#root[data-app-surface=admin] .operator-preview-header>.secondary{width:100%}#root[data-app-surface=admin] .operator-preview-grid{grid-template-columns:minmax(0,1fr)}#root[data-app-surface=admin] .operator-preview-card-head{align-items:stretch;flex-direction:column}#root[data-app-surface=admin] .operator-preview-card-head>.secondary{width:100%}}
