@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Nunito:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--vh: 1vh;--bg: #faf7f2;--surface: #ffffff;--header-bg: #fefcf8;--primary: #1e3a5f;--primary-hover: #162d4a;--primary-light: #eef0e8;--primary-dark: #162d4a;--header-accent: #1e3a5f;--accent: #7ba7bc;--accent-light: #d6e8f0;--sage: #8faf8f;--sage-light: #d8ebd8;--text: #3d2e39;--text-muted: #8a7a82;--border: rgba(0, 0, 0, .06);--shadow-soft: 0 2px 12px rgba(61, 46, 57, .08);--shadow-card: 0 20px 60px rgba(0, 0, 0, .12);--shadow-lesson: 0 2px 10px rgba(0, 0, 0, .08);--empty-border: #d4c8bc;--empty-icon: #c8b8a8;--menu-surface: #faf7f2;--menu-text: #3d2e39;--menu-text-muted: #8a7a82;--menu-border: rgba(0, 0, 0, .06);--menu-hover: #eef0e8;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--header-height: 64px;--app-header-gap: 16px;--app-bg-blobs: radial-gradient(ellipse 58% 46% at 8% 14%, rgba(216, 235, 216, .36) 0%, transparent 72%), radial-gradient(ellipse 50% 44% at 94% 10%, rgba(214, 232, 240, .3) 0%, transparent 68%), radial-gradient(ellipse 54% 50% at 90% 88%, rgba(238, 240, 232, .4) 0%, transparent 70%), radial-gradient(ellipse 46% 42% at 5% 86%, rgba(232, 228, 216, .26) 0%, transparent 65%), radial-gradient(ellipse 38% 32% at 52% 48%, rgba(214, 232, 240, .1) 0%, transparent 78%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg, #faf7f2);background-image:var(--app-bg-blobs);background-repeat:no-repeat;background-size:cover;background-attachment:fixed;background-position:center;min-height:100%;width:100%;overflow-x:hidden}body{background:transparent;font-family:Nunito,sans-serif;color:var(--text);min-height:calc(var(--vh, 1vh) * 100);width:100%;overflow-x:hidden}#root{overflow-x:hidden;max-width:100%}h1,h2,h3,.login-title,.settings-title,.settings-section-title,.confirm-title,.modal-subject,.modal-header-title{font-family:Playfair Display,serif}.app,.login-page,.settings-page,.loading-screen,.loading-spinner{min-height:calc(var(--vh, 1vh) * 100)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#faf7f2;padding:24px}.loading-spinner--compact{min-height:0;flex:1;padding:32px 16px}.loading-spinner__ring{width:44px;height:44px;border:3px solid color-mix(in srgb,var(--primary) 20%,transparent);border-top-color:var(--primary, #1e3a5f);border-radius:50%;animation:loading-spinner-rotate .85s linear infinite}.loading-spinner--compact .loading-spinner__ring{width:32px;height:32px}.loading-spinner__text{font-family:Playfair Display,serif;font-size:1.35rem;font-weight:600;color:var(--text, #3d2e39);letter-spacing:.02em}.loading-spinner--compact .loading-spinner__text{font-size:1.1rem}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}.app{background:transparent;display:flex;flex-direction:column;min-height:calc(var(--vh, 1vh) * 100)}.app-main{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:var(--app-header-gap)}.app--header-fixed .app-main{padding-top:calc(var(--header-height) + var(--app-header-gap))}.error-boundary{min-height:calc(var(--vh, 1vh) * 100);display:flex;align-items:center;justify-content:center;padding:24px}.error-boundary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 18px);box-shadow:var(--shadow-soft);padding:32px 28px;max-width:420px;width:100%;text-align:center}.error-boundary-emoji{font-size:34px;margin-bottom:8px}.error-boundary-title{font-family:Playfair Display,serif;font-size:22px;color:var(--text);margin:0 0 10px}.error-boundary-text{font-size:14px;color:var(--text-muted);line-height:1.5;margin:0 0 18px}.error-boundary-detail{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);background:var(--bg, rgba(0, 0, 0, .04));border-radius:var(--radius-md, 10px);padding:10px 12px;margin:0 0 18px;text-align:left;white-space:pre-wrap;word-break:break-word;max-height:140px;overflow:auto}.header,.header--mobile{background:var(--header-bg, #fefcf8);height:var(--header-height);min-height:var(--header-height);max-height:var(--header-height);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;border-bottom:none;box-shadow:0 2px 8px #3d2e390d;flex-shrink:0;position:sticky;top:0;z-index:50;box-sizing:border-box;line-height:1.2}body.theme-louka .header,body.theme-louka .header--mobile{background:#fffcf88c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 16px #b4a0b41f}.header:after,.header--mobile:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#0000000f;pointer-events:none}.header>.header-left,.header>.header-center,.header>.header-right,.header>.header-brand,.header>.m-header-right,.header>.edit-schedule-dropdown{align-self:center;height:100%;max-height:100%;margin-top:0;padding-top:0}.header .header-left-nav,.header .header-right-groups,.header .header-nav-group,.header .header-brand,.header .week-picker,.header .edit-schedule-dropdown,.header .schedule-view-switcher,.header .schedule-layout-toggle,.header .save-indicator,.header .btn,.header a.btn{align-self:center;margin-top:0;margin-bottom:0}.header .edit-schedule-dropdown,.header .week-picker{display:flex;align-items:center}.header .eduard-logo{display:inline-flex;align-items:center;justify-content:center;line-height:1}.header .eduard-logo__title{line-height:1}.header .week-badge--picker{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.15;vertical-align:middle}.header .week-key{margin-top:0;line-height:1.1}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-left{flex:1;min-width:0;gap:0;align-items:center}.header-left-nav{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:nowrap;height:100%}.header-schedule-group{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:28px;min-width:0}.header-right{gap:8px;align-items:center;height:100%}.header-right-groups{display:flex;align-items:center;gap:8px}.header-tablet-menu-btn{display:none}.header-tablet-menu-dropdown{position:absolute;top:var(--header-height);right:12px;min-width:220px;background:var(--header-bg, #fefcf8);border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 8px 24px #3d2e391f;padding:8px;display:flex;flex-direction:column;gap:4px;z-index:100}.header-tablet-menu-item{width:100%;justify-content:flex-start;gap:10px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none}@media(min-width:769px)and (max-width:1279px)and (pointer:coarse){.header-right-groups--wide{display:none}.header-tablet-menu-btn{display:flex}}@media(pointer:fine){.header-tablet-menu-btn{display:none}.header-right-groups--wide{display:flex}}@media(min-width:1280px)and (pointer:fine){.header-tablet-menu-btn{display:none}.header-right-groups--wide{display:flex}}.header-nav-group{display:flex;align-items:center;gap:2px}.header-group-sep{width:1px;height:22px;background:#0000001a;flex-shrink:0}.header-support-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;color:var(--text-muted);border-radius:var(--radius-pill)}.header-support-btn:hover{color:var(--primary-dark);background:#0000000a}.header-reflection-btn{color:var(--text-muted)}.header-reflection-btn:hover{color:var(--primary-dark)}.header-center{flex:1;justify-content:center;align-items:center;min-width:0;height:100%}.save-indicator{display:inline-flex;align-items:center;gap:6px;max-width:130px;font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);padding:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:save-indicator-in .25s ease}.save-indicator--fading{animation:save-indicator-out .3s ease forwards}.save-indicator-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.save-indicator-dot--green{background:#6a9a6a}.save-indicator-dot--yellow{background:#d4a84b}@keyframes save-indicator-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes save-indicator-out{0%{opacity:1}to{opacity:0}}.btn-save-lesson{min-width:108px;justify-content:center}.btn-save-lesson--success{background:#6a9a6a;color:#fff;animation:save-btn-success .45s ease}.btn-save-lesson--error{background:#c44;color:#fff}.btn-save-lesson--error:hover{filter:brightness(.95)}.btn-save-lesson-check{animation:save-btn-check .45s ease}@keyframes save-btn-success{0%{background:var(--primary)}40%{background:#6a9a6a;transform:scale(1.03)}to{background:#6a9a6a;transform:scale(1)}}@keyframes save-btn-check{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.header-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;height:100%}.header:not(.header--mobile) .header-brand{position:relative;padding-right:16px;margin-right:16px}.header:not(.header--mobile) .header-brand:after{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:1px;height:60%;background:#0000001f;pointer-events:none}.eduard-logo{display:inline-flex;flex-direction:column;flex-shrink:0}.eduard-logo__title{font-family:Dancing Script,cursive;font-weight:700;color:#2c3e28;line-height:1.15;white-space:nowrap}.eduard-logo__subtitle{font-size:10px;color:var(--text-muted);font-weight:500;line-height:1.2;white-space:nowrap}.eduard-logo--sm .eduard-logo__title{font-size:18px}.eduard-logo--md .eduard-logo__title{font-size:28px}.eduard-logo--lg .eduard-logo__title{font-size:36px}@media(max-width:900px){.eduard-logo--md .eduard-logo__title{font-size:24px}}.header-logo{width:36px;height:36px;background:var(--primary-light);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0}.header-title{font-family:Dancing Script,cursive;font-weight:700;font-size:26px;color:#3d2e39;letter-spacing:0;line-height:1.15;white-space:nowrap}.header-subtitle{font-size:10px;color:var(--text-muted);font-weight:500;line-height:1.2;white-space:nowrap}.header-nav,.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.btn{font-family:Nunito,sans-serif;font-size:13px;font-weight:600;border:none;border-radius:var(--radius-pill);padding:7px 14px;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.btn-icon{padding:8px;position:relative}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--primary-light);color:var(--text)}.btn-today{background:transparent;color:var(--header-accent, var(--primary));border:1.5px solid var(--header-accent, var(--primary))}.btn-today:hover{background:color-mix(in srgb,var(--header-accent, var(--primary)) 8%,var(--primary-light));border-color:var(--header-accent, var(--primary));color:var(--header-accent, var(--primary))}.btn-reset-week{color:var(--text-muted)}.btn-reset-week:hover{color:var(--primary);background:var(--primary-light)}.week-badge{padding:6px 14px;background:color-mix(in srgb,var(--header-accent, var(--primary)) 8%,var(--primary-light));color:var(--header-accent, var(--primary-dark));border:1px solid color-mix(in srgb,var(--header-accent, var(--primary)) 25%,transparent);border-radius:var(--radius-pill);text-align:center;min-width:170px;box-shadow:none;flex-shrink:0}.week-badge--picker{border:none;cursor:pointer;font:inherit;transition:filter .15s ease,box-shadow .15s ease}.week-badge--picker:hover{background:color-mix(in srgb,var(--header-accent, var(--primary)) 12%,var(--primary-light))}.week-badge--picker[aria-expanded=true]{box-shadow:0 0 0 2px var(--header-bg, #fefcf8),0 0 0 4px var(--header-accent, var(--primary))}.week-picker{position:relative;flex-shrink:0}.week-picker--mobile{flex:1;min-width:0}.week-picker-trigger--mobile{display:flex;flex-direction:column;align-items:center;width:100%;padding:4px 8px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;line-height:1.2;transition:background .15s ease}.week-picker-trigger--mobile:hover,.week-picker-trigger--mobile[aria-expanded=true]{background:#ffffff8c}.m-menu-week .week-picker-trigger--mobile:hover,.m-menu-week .week-picker-trigger--mobile[aria-expanded=true]{background:#ffffff1f}.week-picker-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:400;background:#faf7f2;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px 16px 12px;box-shadow:0 4px 24px #0000001a;min-width:280px;outline:none}.week-picker--mobile .week-picker-popover{left:0;right:0;transform:none;min-width:0}.week-picker-label{margin:0 0 12px;font-family:Playfair Display,serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#5a4a3a}.week-picker-cal__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.week-picker-cal__month{display:inline-flex;align-items:center;gap:4px;font-family:Playfair Display,serif;font-size:16px;font-weight:600;color:#2d1f0e;text-transform:lowercase}.week-picker-cal__month-caret{opacity:.55}.week-picker-cal__nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--header-accent, var(--primary));cursor:pointer}.week-picker-cal__nav:hover{background:color-mix(in srgb,var(--header-accent, var(--primary)) 10%,transparent)}.week-picker-cal__weekdays{display:grid;grid-template-columns:28px repeat(7,1fr);gap:2px;margin-bottom:6px}.week-picker-cal__weekday{font-family:Nunito,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8a7a6a;text-align:center}.week-picker-cal__grid{display:flex;flex-direction:column;gap:2px}.week-picker-cal__row{display:grid;grid-template-columns:28px repeat(7,1fr);gap:2px;align-items:center}.week-picker-cal__week-no{font-family:Nunito,sans-serif;font-size:11px;font-weight:500;color:#8a7a6a;text-align:center}.week-picker-cal__week-no--selected{color:var(--header-accent, var(--primary));font-weight:600}.week-picker-cal__week-no--current{color:var(--header-accent, var(--primary))}.week-picker-cal__day{display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;aspect-ratio:1;padding:0;border:none;border-radius:8px;background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:500;color:#2d1f0e;cursor:pointer}.week-picker-cal__day:hover:not(.week-picker-cal__day--outside){background:color-mix(in srgb,var(--header-accent, var(--primary)) 10%,transparent)}.week-picker-cal__day--outside{color:#c4b8a8}.week-picker-cal__day--selected-week{background:color-mix(in srgb,var(--header-accent, var(--primary)) 15%,transparent);color:var(--header-accent, var(--primary))}.week-picker-cal__day--current-week:not(.week-picker-cal__day--selected-week){background:color-mix(in srgb,var(--header-accent, var(--primary)) 8%,transparent)}.week-picker-cal__day--today{font-weight:700}.week-picker-cal__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06)}.week-picker-cal__action{padding:0;border:none;background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--header-accent, var(--primary));cursor:pointer}.week-picker-cal__action:hover{text-decoration:underline}.week-picker-input{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:13px;color:var(--text);background:var(--bg);outline:none}.week-picker-input:focus{border-color:var(--header-accent, var(--primary));background:var(--surface)}.week-range{font-size:13px;font-weight:700;color:var(--header-accent, var(--primary-dark));position:relative;display:inline-flex;align-items:center;gap:6px}.week-key{font-size:9px;color:color-mix(in srgb,var(--header-accent, var(--primary-dark)) 75%,transparent);font-family:JetBrains Mono,monospace;margin-top:2px}.btn-template{background:var(--accent-light);color:var(--accent)}.btn-template:hover{background:var(--accent);color:#fff}.btn-template--active,.btn-template--active:hover{background:var(--primary);color:#fff}.edit-schedule-dropdown{position:relative;flex-shrink:0}.edit-schedule-trigger{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#fefcf8f2;border:1px solid #d4c8bc;color:var(--text);font-size:13px;font-weight:600;white-space:nowrap;max-width:min(220px,36vw);border-radius:var(--radius-pill)}.edit-schedule-trigger:hover{background:#f5f0e8;border-color:#c4b8ac}.edit-schedule-trigger--active{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.edit-schedule-trigger--open{border-color:var(--primary);background:#f8faf4;color:var(--primary-dark)}.edit-schedule-trigger-label{overflow:hidden;text-overflow:ellipsis}.edit-schedule-trigger-icon{display:none;flex-shrink:0;line-height:0}.edit-schedule-option-group{display:flex;flex-direction:column}.edit-schedule-option--sub{padding:8px 14px 10px 30px;gap:8px}.edit-schedule-sub-arrow{flex-shrink:0;color:var(--text-muted);font-size:13px;line-height:1;margin-top:2px}.edit-schedule-option--sub .edit-schedule-option-label{font-size:13px;font-weight:700}.edit-schedule-option--sub .edit-schedule-option-desc{font-size:11px}.edit-schedule-option-icon--sub{margin-top:1px}.edit-schedule-label-short{display:none}.edit-schedule-label-full{display:inline}.edit-schedule-chevron{flex-shrink:0;transition:transform .2s ease}.edit-schedule-chevron--open{transform:rotate(180deg)}.edit-schedule-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px -6px -4px 0;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s}.edit-schedule-close:hover{background:var(--primary-light)}.edit-schedule-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:280px;background:var(--surface);border-radius:12px;box-shadow:0 8px 28px #3d2e3924;border:1px solid var(--border);padding:6px;animation:edit-schedule-menu-in .18s ease}.edit-schedule-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer;font-family:Nunito,sans-serif;transition:background .15s}.edit-schedule-option:hover{background:var(--primary-light)}.edit-schedule-option-icon{flex-shrink:0;color:var(--primary);margin-top:2px}.edit-schedule-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.edit-schedule-option-label{font-size:14px;font-weight:700;color:var(--text);line-height:1.25}.edit-schedule-option-desc{font-size:12px;font-weight:600;color:var(--text-muted);line-height:1.35}.edit-schedule-option--danger .edit-schedule-option-label,.edit-schedule-option--danger .edit-schedule-option-icon{color:#c0392b}.edit-schedule-option--danger:hover{background:#c0392b14}.edit-schedule-option--sample .edit-schedule-option-label,.edit-schedule-option--sample .edit-schedule-option-icon{color:#9b59b6}.edit-schedule-option--sample:hover{background:#9b59b61a}.m-menu-item--sample{color:#9b59b6;font-weight:600}.m-menu-item--sample:hover{background:#9b59b61a}.success-toast-inner{flex-wrap:wrap}.success-toast .undo-toast-inner{justify-content:center}.success-toast-progress{background:#9b59b6}.edit-schedule-menu-divider{height:1px;margin:4px 8px;background:var(--border)}@keyframes edit-schedule-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-brand--mobile{flex-shrink:1;min-width:0}.header--mobile{flex-wrap:nowrap;gap:8px;background:var(--header-bg, #fefcf8)}.header--mobile .edit-schedule-dropdown{flex:1;min-width:0;max-width:160px;margin-left:8px}.header--mobile .edit-schedule-trigger{max-width:100%;width:100%;justify-content:space-between}.header--mobile .edit-schedule-trigger--active{background:var(--primary);border-color:var(--primary);color:#fff}.header--mobile .edit-schedule-trigger--open{background:var(--primary-light);border-color:transparent;color:var(--text)}.header--mobile .header-title{font-family:Dancing Script,cursive;font-size:26px;color:#3d2e39}@media(max-width:1280px){.header:not(.header--mobile){padding:0 14px;gap:8px}.header:not(.header--mobile) .header-left,.header:not(.header--mobile) .header-center,.header:not(.header--mobile) .header-right{gap:6px}.header:not(.header--mobile) .header-nav-label{display:none}.header:not(.header--mobile) .header-nav-btn{padding:8px 10px;min-width:36px;justify-content:center}.header:not(.header--mobile) .week-badge{min-width:0;padding:6px 12px}.header:not(.header--mobile) .week-range{font-size:clamp(11px,1.1vw,13px)}.header:not(.header--mobile) .save-indicator{max-width:88px;font-size:11px}.header:not(.header--mobile) .edit-schedule-trigger{max-width:none;padding:7px 10px}.header:not(.header--mobile) .header-schedule-group{padding-left:16px}.header:not(.header--mobile) .header-left-nav{gap:10px}.header:not(.header--mobile) .header-group-sep{height:18px}.header:not(.header--mobile) .header-support-label{display:none}.header:not(.header--mobile) .header-support-btn{padding:8px}}@media(max-width:1100px){.header:not(.header--mobile) .header-subtitle{display:none}}.schedule-wrap{padding:0 24px 32px;overflow-x:auto;background:transparent}.schedule-matrix{min-width:980px;display:flex;flex-direction:column;gap:8px;background:transparent}.schedule-grid{display:grid;grid-template-columns:120px repeat(8,minmax(0,1fr));gap:8px}.schedule-corner{min-height:52px}.schedule-tasks-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;min-height:36px}.schedule-tasks-strip{background:#fefcf8b8;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-soft);padding:4px 8px;min-height:36px;display:flex;align-items:center;min-width:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schedule-tasks-label{background:#fefcf8b8;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:8px 6px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.06);min-height:36px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schedule-tasks-label-title{font-family:JetBrains Mono,monospace;font-weight:700;font-size:13px;color:var(--text)}.schedule-tasks-cell{background:#fefcf8b8;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-soft);padding:4px 6px;min-height:36px;display:flex;align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schedule-tasks-strip .day-todo-pills--scroll{width:100%}.schedule-tasks-empty{color:var(--text-muted);font-size:11px;opacity:.4;padding-left:4px}.day-todo-pills{display:flex;flex-direction:column;gap:3px;width:100%}.day-todo-pills--scroll{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.day-todo-pill{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:none;background:#fff9;border-radius:var(--radius-pill);padding:2px 8px;cursor:pointer;font-family:Nunito,sans-serif;font-size:10px;line-height:1.3;color:var(--text);transition:background .15s;flex-shrink:0}.day-todo-pill:hover{background:#fffffff2}.day-todo-pill--done{opacity:.5}.day-todo-pill--done .day-todo-pill-label,.day-todo-pill--done .day-todo-pill-text{text-decoration:line-through}.day-todo-pill--overdue .day-todo-pill-text{color:#c0392b}.day-todo-pill--today .day-todo-pill-date--today{color:#c6761a;font-weight:700}.day-todo-pill-date--overdue{color:#c0392b;font-weight:700}.day-todo-pill-date--today{color:#c6761a;font-weight:700}.day-todo-pill-sep{opacity:.55;font-weight:400}.day-todo-pill-time{font-family:JetBrains Mono,monospace;font-size:9px;opacity:.85}.day-todo-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.day-todo-pill-label,.day-todo-pill-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-align:left}.day-todo-pill--more{color:var(--text-muted);font-weight:600;background:#0000000a}.period-header{background:#fefcf8b8;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 6px;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.06);min-height:52px;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.period-header-num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:14px;color:var(--text)}.period-header-times{display:flex;flex-direction:column;gap:1px;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:9px;color:var(--text-muted);line-height:1.2}.day-row-label,.day-header{position:relative;background:#fefcf8c7;border-radius:var(--radius-md);padding:10px 12px;text-align:left;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:6px;align-self:stretch;grid-column:1;min-width:0;overflow:visible!important;min-height:min-content}.schedule-wrap,.schedule-matrix,.schedule-grid,.day-row-label,.day-header,.day-row-label-main,.day-header-meta,.day-header-date-row,.day-holiday-pills,.day-interesting-marker{overflow:visible!important}.day-row-label--clickable{cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.day-row-label--clickable:focus{outline:none}.day-row-label--clickable:hover{background:#b8d4b038;box-shadow:0 2px 8px #00000012}.day-row-label--clickable:focus-visible{outline:2px solid var(--primary, #5a7a52);outline-offset:2px}.day-row-label-main{display:flex;flex-direction:column;gap:4px}.day-row-label .day-header-meta{justify-content:flex-start}.day-name{font-family:Playfair Display,serif;font-weight:600;font-size:14px;color:var(--text)}.day-name--clickable{display:block;width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--radius-sm, 6px);transition:color .12s ease,background .12s ease}.day-name--clickable:hover{color:var(--primary, #5a7a52);background:#b8d4b02e}.day-name--clickable:focus-visible{outline:2px solid var(--primary, #5a7a52);outline-offset:2px}.day-header-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex-wrap:wrap}.day-header-date-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;flex-wrap:wrap}.day-date{font-family:JetBrains Mono,monospace;font-size:11px;color:#666}.day-nameday{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%;font-size:11px;color:var(--text-muted);line-height:1.25}.day-nameday-item{display:inline-flex;align-items:center;gap:4px;max-width:100%}.day-nameday--shifted{opacity:.7;filter:sepia(.4)}.day-nameday--compact{font-size:9px;gap:2px}.day-nameday-icon{flex-shrink:0;font-size:10px;line-height:1}.day-nameday--compact .day-nameday-icon{font-size:9px}.day-nameday-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-holiday-pills{display:flex;flex-direction:column;gap:4px}.day-holiday-pill{display:inline-block;background:#e4534f;color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--radius-pill);line-height:1.3}.day-todo-preview{display:flex;flex-direction:column;gap:4px;margin-top:4px;width:100%}.day-todo-item,.day-todo-more{display:flex;align-items:center;gap:5px;width:100%;border:none;background:#ffffff8c;border-radius:var(--radius-pill);padding:3px 8px;cursor:pointer;font-family:Nunito,sans-serif;transition:background .15s}.day-todo-item:hover,.day-todo-more:hover{background:#ffffffe6}.day-todo-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.day-todo-text{font-size:10px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.day-todo-item--overdue .day-todo-text{color:#c0392b}.day-todo-item--today .day-todo-text{color:#d4843a;font-weight:700}.day-todo-more{justify-content:center;font-size:10px;font-weight:700;color:var(--text-muted);background:transparent;padding:2px 0}.day-interesting-marker{cursor:help;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:1px 3px;position:relative}.day-interesting-marker--clickable{cursor:pointer;transition:transform .1s,opacity .1s}.day-interesting-marker--clickable:hover{transform:scale(1.2);opacity:.85}.day-interesting-marker--clickable:active{transform:scale(.95)}.day-tooltip{position:absolute;bottom:calc(100% + 4px);top:auto;left:0;z-index:100;white-space:nowrap;pointer-events:none;background:#fffffff2;color:#2d1f0e;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:2px 10px;font-size:11px;font-weight:500;line-height:1.4;text-align:left;box-shadow:0 2px 8px #0000001f;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}.day-tooltip strong{font-size:11px;font-weight:700}.day-interesting-marker:hover .day-tooltip{opacity:1;visibility:visible}.day-interesting-marker:focus{outline:none}.day-interesting-marker:focus-visible .day-tooltip{opacity:1;visibility:visible}.period-label{display:none}.skeleton-period-header{min-height:52px}.skeleton-day-row,.skeleton-period{min-height:68px}.empty-slot{width:100%;max-width:100%;min-width:0;min-height:68px;height:100%;background:transparent;border-radius:var(--radius-md);border:1.5px dashed #d4c8bc;opacity:.65}.empty-slot--template{opacity:1;border-color:var(--empty-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.empty-slot--template:hover{background:#f5f0e8;border-color:var(--empty-border)}.empty-slot--week-edit{opacity:1;border-color:var(--empty-border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.empty-slot--week-edit:hover{background:#f5f0e8;border-color:var(--empty-border)}.empty-slot--interactive{opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,opacity .15s}.empty-slot--interactive:hover{opacity:1;background:#f5f0e8;border-color:var(--empty-border)}.empty-slot-icon{color:var(--empty-icon);opacity:1}.slot-cell{grid-column:span 1;min-width:0;min-height:68px}.slot-cell--holiday{opacity:.4;cursor:not-allowed}.slot-cell--holiday .lesson-card--interactive{cursor:pointer}.slot-cell--holiday .empty-slot{cursor:not-allowed}.holiday-warning{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:var(--radius-sm);background:#e4534f1f;border:1px solid rgba(228,83,79,.25);color:#b53a36;font-size:13px;font-weight:600}.holiday-warning-names{font-size:12px;font-weight:500;color:#c44}.slot-cell--drop{border-radius:var(--radius-md);padding:3px;transition:background .12s,outline .12s}.slot-cell--over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px;animation:slot-drop-pulse .5s ease-in-out infinite}.edit-mode-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 24px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border)}.edit-mode-toolbar--week{background:#fefcf8eb;color:var(--text)}.edit-mode-toolbar-info{margin:0;flex:1;min-width:220px;line-height:1.45}.template-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fefcf8eb;color:var(--text);padding:10px 24px;font-size:13px;font-weight:600;border-bottom:1px solid rgba(0,0,0,.06)}.template-toolbar-info{margin:0;flex:1;min-width:220px;line-height:1.45}.template-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.template-last-saved{font-size:11px;font-weight:600;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:nowrap}.btn-sm{padding:6px 14px;font-size:12px;gap:6px}.modal--wide{width:min(920px,calc(100vw - 32px))}.modal-header--plain{background:var(--surface);border-bottom:1px solid var(--border)}.import-preview-summary{margin:0 0 16px;color:var(--text-muted);font-size:14px}.import-preview-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.import-preview-table{width:100%;border-collapse:collapse;font-size:13px}.import-preview-table th,.import-preview-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:center;vertical-align:middle}.import-preview-table th{background:var(--primary-light);font-weight:700}.import-preview-table tr:last-child td{border-bottom:none}.import-preview-table td:first-child,.import-preview-table th:first-child{font-weight:700;background:var(--primary-light)}.import-preview-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 7px;border-radius:var(--radius-pill);font-weight:700;font-size:12px}.import-preview-empty{color:var(--text-muted)}.lesson-card{background:var(--subject-bg, var(--surface));border-radius:14px;width:100%;max-width:100%;min-width:0;height:100%;min-height:68px;box-shadow:var(--shadow-lesson);display:flex;flex-direction:column;position:relative;overflow:hidden;border:none;color:var(--subject-text, var(--text))}.lesson-card--colleague{background-color:var(--subject-bg, var(--surface));background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 1px,transparent 1px,transparent 10px)}.lesson-card--unprepared:not(.lesson-card--dragging),.m-lesson-card--unprepared:not(.m-lesson-card--dragging){opacity:.65;transition:opacity .15s ease}.lesson-card--unprepared.lesson-card--interactive:hover:not(.lesson-card--dragging),.m-lesson-card--unprepared.m-lesson-card--filled:hover:not(.m-lesson-card--dragging){opacity:.82}.lesson-card-bar{display:none}.lesson-card-body{padding:8px 10px 4px;display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;position:relative}.lesson-card-top{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.lesson-card-prep-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--subject-text, var(--text));opacity:.75}.lesson-card-topic{margin:0;font-size:12px;font-weight:600;color:var(--subject-text, var(--text));line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-card-middle{flex:1;min-height:0;display:flex;flex-direction:column;gap:3px;margin-top:2px}.lesson-card-footer{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding:2px 8px 6px;margin-top:auto}.lesson-card--quick-note .lesson-card-footer{padding-right:42px}.lesson-card-indicators{display:flex;align-items:center;gap:5px;min-height:12px;flex-shrink:0}.lesson-card-indicator{display:inline-flex;align-items:center;color:var(--subject-text, var(--text));opacity:.88;line-height:0}.lesson-card-indicator svg{width:12px;height:12px}.lesson-card-meta-row{display:flex;align-items:center;gap:3px;max-width:100%;font-size:10px;font-weight:600;line-height:1.2;color:var(--subject-text, var(--text));opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-card-meta-row--teacher{font-weight:600}.lesson-card-rating-row{display:flex;align-items:center;gap:1px;min-height:12px;line-height:1}.lesson-status-row{display:flex;align-items:center;gap:6px;min-height:14px;margin-top:2px}.lesson-status-item{display:inline-flex;align-items:center;gap:2px;color:var(--status-icon-color, var(--subject-text, var(--text)));line-height:1}.lesson-status-count{font-size:9px;font-weight:700;font-family:JetBrains Mono,monospace}.lesson-unprepared{font-size:9px;font-style:italic;color:var(--text);opacity:.35}.lesson-empty-hint{font-size:9px;font-style:italic;color:var(--subject-text, var(--text));opacity:0;min-height:12px;margin-top:4px;padding-top:4px;border-top:1px dashed transparent;transition:opacity .15s ease,border-color .15s ease;pointer-events:none}.lesson-card--interactive:hover .lesson-empty-hint{opacity:.3;border-top-color:#3d2e391f}.lesson-empty-hint--mobile{display:none}.lesson-progress-track{height:3px;width:100%;background:transparent;flex-shrink:0}.lesson-progress-fill{height:100%;border-radius:0 0 14px 14px;background:var(--subject-text, var(--text));transition:width .2s ease}.lesson-card--interactive{cursor:pointer;transition:transform .15s,box-shadow .15s}.lesson-card--draggable{cursor:grab;-webkit-user-select:none;user-select:none}.lesson-card--draggable:active{cursor:grabbing}.lesson-card--interactive:hover{transform:translateY(-2px);box-shadow:0 4px 14px #00000014}.lesson-card-rating{display:none}.lesson-quick-note-btn{position:absolute;right:4px;bottom:4px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffeb;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);transition:opacity .15s,background .15s,transform .12s;z-index:2}.lesson-quick-note-btn:hover{background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.lesson-card--interactive .lesson-quick-note-btn{opacity:0;pointer-events:none}.lesson-card--interactive:hover .lesson-quick-note-btn{opacity:1;pointer-events:auto}.lesson-card--quick-note .lesson-card-body{padding-bottom:0}@keyframes wiggle-odd{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}@keyframes wiggle-even{0%,to{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}.wiggle-odd{animation:wiggle-odd .28s ease-in-out infinite;animation-delay:var(--wiggle-delay, 0s)}.wiggle-even{animation:wiggle-even .32s ease-in-out infinite;animation-delay:var(--wiggle-delay, 0s)}.lesson-card--drag-mode.lesson-card--interactive:hover{transform:none;box-shadow:none}@keyframes bounceIn{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.lesson-card-delete-btn{position:absolute;top:4px;right:4px;z-index:6;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#00000040;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:#fff;cursor:pointer;opacity:0;animation:bounceIn .25s ease forwards;animation-delay:.1s;transition:background .12s ease}.lesson-card-delete-btn:hover{background:#00000073}.lesson-card-delete-btn--mobile{top:6px;right:6px}.lesson-card--copy-source{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 20%,transparent)}.lesson-card-copy-btn{position:absolute;top:4px;right:24px;width:18px;height:18px;border-radius:50%;background:#0000002e;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;line-height:0;z-index:6;opacity:0;animation:bounceIn .25s ease forwards;animation-delay:.1s;transition:background .15s}.lesson-card-copy-btn:hover{background:var(--primary)}.lesson-card-copy-btn--active{background:var(--primary)!important}.empty-slot--copy-target{border:2px dashed var(--primary)!important;background:color-mix(in srgb,var(--primary) 8%,transparent)!important}.empty-slot--copy-target .empty-slot-icon{color:var(--primary)}.lesson-card--dragging,.m-lesson-card--dragging{animation:none!important;opacity:1;transform:scale(1.05) rotate(2deg)!important;box-shadow:0 12px 32px #0003;z-index:10}@keyframes card-settle{0%{transform:scale(1.05)}50%{transform:scale(.97)}to{transform:scale(1)}}.lesson-card--settle,.m-lesson-card--settle{animation:card-settle .2s ease-out!important}.lesson-card--drop-target,.m-lesson-card--drop-target,.empty-slot--drop-target,.m-lesson-card--empty.m-lesson-card--drop-target{outline:2px dashed var(--primary);outline-offset:2px;background:var(--primary-light)}@keyframes slot-drop-pulse{0%,to{opacity:.4}50%{opacity:.8}}.m-lesson-card--drop-target:not(.m-lesson-card--dragging),.m-lesson-card--empty.m-lesson-card--drop-target{animation:slot-drop-pulse .5s ease-in-out infinite}.drag-mode-banner{padding:10px 20px;text-align:center;font-size:13px;font-weight:600;color:var(--primary-dark);background:var(--primary-light);border-bottom:1px solid color-mix(in srgb,var(--primary) 25%,transparent)}.schedule-drag-fab{position:fixed;right:24px;bottom:24px;z-index:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:48px;height:48px;padding:0;border:1px solid #D4C8BC;border-radius:50%;background:#fefcf8;color:var(--text);cursor:pointer;box-shadow:0 4px 16px #3d2e391f;transition:background .3s ease,border-color .3s ease,color .3s ease,width .3s ease,border-radius .3s ease}.schedule-drag-fab:hover{background:#f5f0e8;border-color:#c4b8ac}.schedule-drag-fab-icon{display:inline-flex;width:22px;height:22px;perspective:120px}.schedule-drag-fab-icon-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.schedule-drag-fab--done .schedule-drag-fab-icon-inner{transform:rotateY(180deg)}.schedule-drag-fab-move,.schedule-drag-fab-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}.schedule-drag-fab-check{transform:rotateY(180deg)}.schedule-drag-fab--done{width:auto;min-width:48px;height:48px;padding:0 18px;border-radius:999px;background:var(--primary);border-color:var(--primary);color:#fff}.schedule-drag-fab--done:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.schedule-drag-fab-label{font-size:14px;font-weight:600;white-space:nowrap}.planner-fabs{position:fixed;right:24px;bottom:24px;z-index:900;display:flex;flex-direction:column;align-items:center;gap:12px}.feedback-widget{position:relative;display:flex;flex-direction:column;align-items:center}.feedback-fab{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid #e8dfd4;border-radius:50%;background:#fff;color:#e4534f;cursor:pointer;box-shadow:0 4px 16px #3d2e391f;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.feedback-fab:hover{background:#fffaf8;border-color:#e8c8c6;box-shadow:0 6px 20px #e4534f2e}.feedback-fab--active{background:#fff5f4;border-color:#e4534f;box-shadow:0 4px 16px #e4534f38}.feedback-panel{position:absolute;right:0;bottom:calc(100% + 12px);z-index:902;width:320px;padding:16px;border:1px solid #e8dfd4;border-radius:16px;background:#fff;box-shadow:0 12px 32px #3d2e3924;animation:scratchpad-in .2s ease}.feedback-panel-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px}.feedback-panel-header-text{flex:1;min-width:0}.feedback-panel-title{margin:0 0 6px;font-family:Playfair Display,serif;font-size:17px;font-weight:700;color:#3d2e39;line-height:1.25}.feedback-panel-subtitle{margin:0;font-size:12px;line-height:1.45;color:var(--text-muted)}.feedback-panel-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.feedback-panel-close:hover{background:#f5f0e8;color:#3d2e39}.feedback-type-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding:4px;border-radius:999px;background:#f5f0e8}.feedback-type-pill{flex:1 1 auto;min-width:0;padding:7px 10px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:Nunito,sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.feedback-type-pill--active{background:#fff;color:#3d2e39;box-shadow:0 2px 8px #0000000f}.feedback-textarea{width:100%;margin-bottom:12px;padding:10px 12px;border:1px solid #e8dfd4;border-radius:12px;background:var(--header-bg, #fefcf8);color:#3d2e39;font-family:Nunito,sans-serif;font-size:14px;line-height:1.45;resize:vertical;min-height:88px;box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.feedback-submit-btn{width:100%}.feedback-panel-error{margin:-4px 0 10px;font-size:12px;color:#c44}.feedback-panel-thanks{margin:8px 0 4px;padding:12px 0;text-align:center;font-size:15px;font-weight:600;color:#3d2e39}.schedule-fab-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.schedule-fab-stack .schedule-drag-fab--stacked{position:static}.schedule-fab--dup-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;background:#ffffffeb;border:1.5px solid rgba(0,0,0,.12);color:var(--text-muted, #666);font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .15s ease;white-space:nowrap}.schedule-fab--dup-toggle:hover{background:#fff;border-color:var(--primary);color:var(--primary)}.schedule-fab--dup-active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.slot-picker-mode-toggle{display:flex;gap:6px;margin-top:10px}.schedule-fab{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid #d4c8bc;border-radius:50%;background:var(--header-bg, #fefcf8);color:var(--text);cursor:pointer;box-shadow:0 4px 16px #3d2e391f;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.schedule-fab:hover{background:#f5f0e8;border-color:#c4b8ac}.schedule-fab--active{background:#e8efe4;border-color:var(--primary);color:#3a5a32}.schedule-fab--scratchpad{position:relative}.schedule-fab-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.scratchpad-indicator-dot{position:absolute;top:-3px;right:-4px;width:8px;height:8px;border-radius:50%;background:#e53935;border:2px solid #fefcf8;box-sizing:content-box;pointer-events:none}.schedule-fab--active .scratchpad-indicator-dot{border-color:#e8efe4}.scratchpad-fab-badge{position:absolute;top:-6px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill, 999px);background:#e53935;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;border:2px solid #fefcf8;box-sizing:border-box}.schedule-fab--active .scratchpad-fab-badge{border-color:#e8efe4}.schedule-fab-dup-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.schedule-fab--dup-toggle:hover{background:#f5f0e8;border-color:var(--primary);color:var(--primary)}.schedule-fab--dup-active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 4px 14px color-mix(in srgb,var(--primary) 40%,transparent)!important}.schedule-fab-dup-label{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.slot-picker-mode-toggle{display:flex;gap:6px;margin-top:8px}.slot-picker-mode-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;border:1.5px solid rgba(0,0,0,.12);background:transparent;color:var(--text-muted, #888);cursor:pointer;transition:all .15s}.slot-picker-mode-btn--active{background:var(--primary);border-color:var(--primary);color:#fff}.scratchpad-panel{position:absolute;right:0;bottom:calc(100% + 12px);z-index:901;display:flex;flex-direction:column;width:280px;max-height:400px;padding:14px 14px 12px;border:1px solid #e8dfd4;border-radius:16px;background:#faf7f2;box-shadow:0 12px 32px #3d2e3924;animation:scratchpad-in .2s ease}@keyframes scratchpad-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.scratchpad-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.scratchpad-title{margin:0;font-family:Playfair Display,serif;font-size:16px;font-weight:700;color:#3d2e39}.quick-note-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.scratchpad-add-form{margin-bottom:10px;flex-shrink:0}.scratchpad-input{width:100%;padding:9px 12px;border:1px solid #d4c8bc;border-radius:10px;background:#fff;font-family:Nunito,sans-serif;font-size:13px;color:var(--text);outline:none}.scratchpad-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,transparent)}.scratchpad-list{flex:1;min-height:0;overflow:auto}.scratchpad-empty{margin:8px 0 4px;font-size:13px;line-height:1.45;color:var(--text-muted)}.scratchpad-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.scratchpad-item{display:flex;align-items:flex-start;gap:8px;padding:6px 4px;border-radius:8px}.scratchpad-item:hover{background:#ffffff8c}.scratchpad-checkbox{margin-top:2px;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.scratchpad-item-text{font-size:13px;line-height:1.4;color:var(--text);word-break:break-word}.scratchpad-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:899;background:#3d2e3933}@media(max-width:768px){.planner-fabs--mobile{position:fixed;top:0;left:0;width:0;height:0;overflow:visible;right:auto;bottom:auto;pointer-events:none}.planner-fabs--mobile .feedback-widget,.planner-fabs--mobile .schedule-fab,.planner-fabs--mobile .schedule-drag-fab{pointer-events:auto}.planner-fabs--mobile .feedback-widget{position:fixed;right:16px;bottom:24px;z-index:901}.planner-fabs--mobile .schedule-fab-stack{position:static;display:block;width:0;height:0;overflow:visible}.planner-fabs--mobile .schedule-fab--scratchpad{position:fixed;right:16px;bottom:136px;z-index:900}.planner-fabs--mobile .schedule-drag-fab--stacked{position:fixed;right:16px;bottom:80px;z-index:900}.planner-fabs--mobile .schedule-drag-fab--done{right:16px;bottom:80px}.feedback-panel{width:min(320px,calc(100vw - 32px))}.m-lesson-list{padding-bottom:200px}.scratchpad-panel--mobile{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:50vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;animation:scratchpad-slide-up .28s ease}@keyframes scratchpad-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.m-lesson-card--drag-mode.m-lesson-card--draggable{touch-action:none;cursor:grab}.lesson-subject-badge{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;font-family:Playfair Display,serif;font-weight:700;font-size:12px;padding:0;background:transparent;color:var(--subject-text, var(--text));letter-spacing:.03em}.lesson-card-primary{font-size:12px;font-weight:700;color:var(--subject-text, var(--text));line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.lesson-card-primary--subject{font-weight:600;opacity:.88}.lesson-card-pages{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}.lesson-card-page{font-size:9px;font-weight:600;line-height:1.2;color:var(--subject-text, var(--text));opacity:.82;white-space:nowrap}.m-lesson-card-pages .lesson-card-page{font-size:11px}.modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.modal-field-row{grid-template-columns:1fr}}.settings-toggle-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}.settings-toggle{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.settings-toggle input{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.settings-namedays-mode{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-left:26px}.settings-radio{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer}.settings-radio input{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.settings-birthdays{margin-top:16px}.settings-watched-names{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.settings-watched-names-title{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--text)}.settings-watched-names-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.settings-watched-name-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;border-radius:var(--radius-pill);background:var(--primary-light);color:var(--text);font-size:13px;font-weight:700}.settings-watched-name-chip-remove{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer;border-radius:50%}.settings-watched-name-chip-remove:hover:not(:disabled){color:var(--text)}.settings-watched-names-add{display:flex;gap:8px;align-items:center}.settings-watched-names-input{flex:1;min-width:0}.settings-birthdays-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--text)}.settings-birthday-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.settings-birthday-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:#00000008}.settings-birthday-label{font-size:14px;font-weight:600;color:var(--text)}.settings-birthday-remove{flex-shrink:0;color:var(--text-muted)}.settings-birthday-add{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;align-items:center}.settings-birthday-name{min-width:0}.settings-birthday-name-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.settings-birthday-nameday-hint{margin:0}.settings-birthday-select{width:auto;min-width:72px}@media(max-width:520px){.settings-birthday-add{grid-template-columns:1fr 1fr}.settings-birthday-add .btn{grid-column:1 / -1}}.lesson-title{font-size:11px;color:var(--subject-text, var(--text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lesson-title--placeholder{font-weight:500;font-style:italic;opacity:.72}.lesson-topic{font-size:10px;color:var(--subject-text, var(--text));opacity:.75;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-tags{display:flex;gap:3px;flex-wrap:wrap}.lesson-tag{font-size:9px;padding:2px 7px;border-radius:var(--radius-pill);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.lesson-class-pill{position:absolute;top:6px;left:8px;z-index:1;font-size:9px;font-weight:700;padding:2px 7px;border-radius:var(--radius-pill);line-height:1.2}.lesson-class-pill--foreign{background:#00000014;color:var(--subject-text, #5a5a5a)}.lesson-class-pill--mobile{position:static;align-self:flex-start;margin-bottom:2px}.lesson-card--colleague{cursor:pointer}.m-lesson-main .lesson-card-footer{padding-left:0;padding-right:0;margin-top:4px}.m-lesson-main .lesson-card-meta-row,.m-lesson-main .lesson-card-rating-row{font-size:11px}.m-lesson-main .lesson-card-indicator svg{width:12px;height:12px}.teacher-toggle{display:flex;gap:6px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill)}.teacher-toggle-pill{flex:1;border:none;background:transparent;color:var(--text-muted);font-size:13px;font-weight:700;padding:8px 12px;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.teacher-toggle-pill--active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}.m-lesson-teacher-badge{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:600;color:var(--text-muted)}.lesson-colleague-lock{position:absolute;top:6px;right:8px;color:var(--text-muted);opacity:.7}.lesson-colleague-teacher{font-size:11px;font-weight:700;color:var(--text);margin-top:2px}.lesson-colleague-room{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted);margin-top:2px}.m-lesson-room{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--text-muted);margin-top:2px}.m-lesson-colleague-teacher{font-size:12px;font-weight:700;color:var(--text);margin-top:4px}.m-lesson-card--colleague{background-color:var(--subject-bg, var(--surface));background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.08) 1px,transparent 1px,transparent 10px)}.schedule-view-switcher{display:inline-flex;align-items:center;gap:6px;padding:4px;background:var(--primary-light);border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);border-radius:var(--radius-pill)}.schedule-view-switcher--mobile{flex-direction:column;width:100%;border-radius:var(--radius-md);padding:6px}.schedule-view-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:var(--primary-light);color:var(--text);font-size:12px;font-weight:600;padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.schedule-view-pill:hover:not(:disabled):not(.schedule-view-pill--active){background:color-mix(in srgb,var(--primary) 15%,transparent)}.schedule-view-switcher--mobile .schedule-view-pill{width:100%;text-align:center}.schedule-view-pill--active{background:var(--primary);color:#fff;box-shadow:0 1px 4px #0003}.schedule-view-pill--active:hover{background:var(--primary-hover)}.schedule-view-pill--disabled,.schedule-view-pill:disabled{opacity:.45;cursor:not-allowed}.m-menu-view-switcher{padding:4px 0}.m-menu-view-switcher .schedule-view-switcher--mobile{width:100%;background:var(--menu-hover, var(--primary-light));border:1px solid var(--menu-border, var(--border));gap:6px}.schedule-layout-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#f5f0e8;border:1px solid #e8dfd4;border-radius:var(--radius-pill);flex-shrink:0}.schedule-layout-toggle--mobile{margin-left:auto}.schedule-layout-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active){background:#ebe4d8;color:var(--text)}.schedule-layout-toggle-btn--active{background:var(--primary);color:#fff;box-shadow:0 1px 4px #0003}.weekly-overview{max-width:960px;margin:0 auto;padding:12px 16px 24px}.weekly-overview--empty{display:flex;align-items:center;justify-content:center;min-height:200px}.weekly-overview-empty-text{margin:0;font-size:14px;color:var(--text-muted);text-align:center}.weekly-overview-table-head{display:grid;grid-template-columns:88px minmax(72px,.75fr) minmax(0,2fr) minmax(72px,.85fr);gap:10px;padding:0 12px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.weekly-overview-day{margin-bottom:16px}.weekly-overview-day-title{margin:0 0 6px;padding:0 4px;font-size:13px;font-weight:700;color:var(--text);display:flex;align-items:baseline;gap:8px}.weekly-overview-day-date{font-size:12px;font-weight:600;color:var(--text-muted);font-family:JetBrains Mono,monospace}.weekly-overview-day-title--clickable{display:flex;width:100%;padding:4px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit;border-radius:var(--radius-sm, 6px);transition:color .12s ease,background .12s ease}.weekly-overview-day-title--clickable:hover{color:var(--primary, #5a7a52);background:#b8d4b024}.weekly-overview-day-title--clickable:focus-visible{outline:2px solid var(--primary, #5a7a52);outline-offset:2px}.weekly-overview-rows{display:flex;flex-direction:column;gap:4px}.weekly-overview-row{display:grid;grid-template-columns:88px minmax(72px,.75fr) minmax(0,2fr) minmax(72px,.85fr);gap:10px;align-items:center;width:100%;padding:8px 12px;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);background:#fefcf8e0;box-shadow:var(--shadow-soft);cursor:pointer;text-align:left;font-family:inherit;transition:transform .12s ease,box-shadow .12s ease}.weekly-overview-row:hover{transform:translateY(-1px);box-shadow:0 3px 10px #00000014}.weekly-overview-time{display:flex;flex-direction:column;gap:1px;min-width:0}.weekly-overview-period{font-size:11px;font-weight:700;color:var(--text)}.weekly-overview-clock{font-size:10px;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:nowrap}.weekly-overview-subject{display:inline-flex;align-items:center;gap:5px;align-self:start;max-width:100%;padding:3px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weekly-overview-topic{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.weekly-overview-topic--empty{min-height:1px}.weekly-overview-room{font-size:11px;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media(max-width:768px){.weekly-overview-table-head{display:none}.weekly-overview-row{grid-template-columns:64px 1fr;grid-template-areas:"time subject" "time topic" "time room";gap:4px 10px}.weekly-overview-time{grid-area:time}.weekly-overview-subject{grid-area:subject}.weekly-overview-topic{grid-area:topic;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.weekly-overview-room{grid-area:room}}.colleague-info-subject{display:flex;align-items:center;gap:10px;margin-bottom:16px}.colleague-info-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.colleague-info-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.colleague-info-value{font-size:14px;color:var(--text)}.colleague-info-teacher{font-weight:700}.colleague-info-meta{margin-top:8px;font-size:12px;color:var(--text-muted)}.settings-hint{margin:0 0 12px;font-size:13px;color:var(--text-muted);line-height:1.45}.settings-hint--archive{margin-top:10px;margin-bottom:0;color:#8a6d3b}.settings-demo-btn{display:inline-flex;align-items:center;gap:8px}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d2e3940;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:20px;width:100%;max-width:500px;overflow:hidden;box-shadow:var(--shadow-card);border:none}.modal--fullscreen-mobile{display:flex;flex-direction:column;max-width:500px;max-height:90vh;overflow:hidden}.modal--fullscreen-mobile.modal--lesson{max-width:720px;max-height:88vh}.lesson-modal-layout{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.lesson-modal-form-pane{flex:1 1 auto;min-height:0}@media(min-width:901px){.modal--lesson-split.modal--fullscreen-mobile.modal--lesson{max-width:min(1100px,calc(100vw - 32px));width:100%;max-height:88vh}.modal--lesson-split .lesson-modal-layout{flex-direction:row}.modal--lesson-split .lesson-modal-form-pane{flex:0 0 58%;min-width:0}.lesson-modal-ai-pane{flex:0 0 42%;min-width:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:14px 16px 16px;background:#f8f6fc8c;border-left:1px solid #e8e0d5}.lesson-modal-ai-pane .ai-advisor-panel--sidebar,.lesson-modal-ai-pane .activity-idea-panel--sidebar{margin-bottom:0;max-height:none;overflow:visible;height:auto}.lesson-modal-ai-pane .activity-idea-panel--sidebar+.ai-advisor-panel--sidebar,.lesson-modal-ai-pane .ai-advisor-panel--sidebar+.activity-idea-panel--sidebar{margin-top:12px}}.modal--fullscreen-mobile.modal--narrow{max-width:500px}.modal--fullscreen-mobile .modal-header{position:sticky;top:0;z-index:2;flex-shrink:0}.modal--fullscreen-mobile .modal-body,.modal--fullscreen-mobile .modal-body--scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:none}.modal--fullscreen-mobile .modal-footer,.modal--fullscreen-mobile .modal-footer--lesson{position:sticky;bottom:0;z-index:2;flex-shrink:0;background:var(--surface)}.modal--narrow{max-width:360px}.modal-header{padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.modal-header--gradient{background:linear-gradient(135deg,color-mix(in srgb,var(--subject-bg, var(--subject-color)) 38%,white),color-mix(in srgb,var(--subject-bg, var(--subject-color)) 18%,white),#fff);border-bottom:1px solid var(--border)}.modal-header--lesson{align-items:flex-start}.modal-header-title{font-weight:700;font-size:18px;color:var(--text)}.modal-header-desc{margin:4px 0 0;font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text-muted);line-height:1.4;max-width:320px}.modal-subject{font-weight:700;font-size:26px;color:var(--text);letter-spacing:-.02em}.modal-subject--muted{font-size:14px;font-weight:600;color:var(--text-muted)}.modal-meta{font-size:12px;color:var(--text-muted);font-family:JetBrains Mono,monospace;margin-top:4px}.modal-close{background:#ffffffb3;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-pill);width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:background .15s}.modal-close:hover{background:#fff}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-body--scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-textarea{resize:vertical}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.tag-chip{border:none;border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:Nunito,sans-serif}.tag-input-row{display:flex;gap:8px}.attachments-section{display:flex;flex-direction:column;gap:10px}.attachments-hint{margin:0;font-size:11px;color:var(--text-muted);line-height:1.4}.attachments-notices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attachments-notice{font-size:12px;font-weight:600;line-height:1.35;padding:8px 12px;border-radius:var(--radius-md, 10px);border:1px solid transparent;animation:attachments-notice-in .25s ease}.attachments-notice--warn{background:#f4e2c680;border-color:#d4a84b66;color:#9a7635}.attachments-notice--error{background:#f4d6d680;border-color:#c4666666;color:#a85454}@keyframes attachments-notice-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.attachments-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.attachment-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.attachment-icon{flex-shrink:0;color:var(--text-muted)}.attachment-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.attachment-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.attachment-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.attachment-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.attachment-action-btn:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.attachment-action-btn:disabled{opacity:.5;cursor:not-allowed}.attachment-action-btn--danger:hover:not(:disabled){background:#e4534f1f;border-color:#e4534f59;color:#c44}.spin-icon{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tag-input-row .modal-input{flex:1}.tag-input-row .btn-icon{padding:0 16px;border-radius:var(--radius-pill)}.modal-footer{padding:14px 24px 20px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border)}.modal-footer--split{justify-content:space-between}.modal-footer-actions{display:flex;gap:8px}.modal-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s,background .15s}.modal-input:focus{border-color:var(--primary);background:var(--surface)}.modal-input::placeholder,.modal-textarea::placeholder{color:#5f6b72;opacity:1}.modal-input--subject{font-weight:700;letter-spacing:1.5px;font-size:16px}.field-label{display:block;font-weight:700;font-size:11px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.color-palette{display:flex;gap:10px;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:transform .12s,border-color .12s;padding:0;box-shadow:var(--shadow-soft)}.color-swatch--active{border-color:var(--text);transform:scale(1.12)}.icon-picker-grid{display:grid;grid-template-columns:repeat(6,40px);gap:8px}.icon-picker-btn{width:40px;height:40px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .12s,background .12s,transform .12s}.icon-picker-btn:hover{background:var(--primary-light)}.icon-picker-btn--active{background:var(--bg);transform:scale(1.05)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-soft)}.btn-pill{border-radius:var(--radius-pill)}.btn-secondary{background:var(--surface);border:1.5px solid var(--border);color:var(--text);border-radius:var(--radius-pill)}.btn-secondary:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--surface);border:1.5px solid color-mix(in srgb,var(--primary) 40%,transparent);color:#8b5a45;border-radius:var(--radius-pill)}.btn-danger:hover{background:#f5f0e8}.loading-screen{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:600}.app-fade-in{opacity:0;transition:opacity .3s ease}.app-fade-in--visible{opacity:1}.app-splash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;min-height:calc(var(--vh, 1vh) * 100);background:#fff;animation:splash-fade-in .3s ease both}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}.app-splash-icon{width:96px;height:96px;border-radius:22px;animation:splash-rise .45s cubic-bezier(.22,1,.36,1) .05s both}@keyframes splash-rise{0%{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.app-splash-dots{display:flex;gap:8px;animation:splash-rise .4s ease .3s both}.app-splash-dots span{width:7px;height:7px;border-radius:50%;background:#0003;animation:splash-bounce 1.2s ease-in-out infinite}.app-splash-dots span:nth-child(2){animation-delay:.18s}.app-splash-dots span:nth-child(3){animation-delay:.36s}@keyframes splash-bounce{0%,80%,to{opacity:.2;transform:scale(1)}40%{opacity:.7;transform:scale(1.35)}}.login-page{display:flex;align-items:center;justify-content:center;padding:24px;min-height:calc(var(--vh, 1vh) * 100)}.login-page--split{padding:0;align-items:stretch}.login-page-layout{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:calc(var(--vh, 1vh) * 100)}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:#faf7f2;padding:48px 56px 32px;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--app-bg-blobs);background-repeat:no-repeat;background-size:cover;background-position:center;opacity:.55;pointer-events:none}.login-brand-panel-inner{position:relative;z-index:1;max-width:440px}.login-logo{display:flex;align-items:center;gap:14px;margin-bottom:36px}.login-logo--compact{margin-bottom:0;justify-content:center}.login-brand-headline{font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1.2;color:#3d2e39;margin:0 0 16px;letter-spacing:-.02em}.login-brand-lead{font-family:Nunito,sans-serif;font-size:16px;line-height:1.55;color:#6b5b6e;margin:0 0 28px}.login-brand-benefits{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0;padding:0}.login-brand-benefits li{display:flex;align-items:flex-start;gap:12px;font-family:Nunito,sans-serif;font-size:15px;line-height:1.45;color:#3d2e39;font-weight:500}.login-brand-benefit-icon{flex-shrink:0;font-size:18px;line-height:1.35}.login-form-panel{display:flex;align-items:center;justify-content:center;background:#fff;padding:48px 40px}.login-page-mobile{width:100%;max-width:420px;margin:0 auto}.login-mobile-brand{display:flex;justify-content:center;margin-bottom:24px}.login-card{background:var(--surface);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:420px;box-shadow:var(--shadow-card);border:1px solid var(--border)}.login-page--split .login-card{max-width:400px;box-shadow:none;border:none;background:transparent;padding:0}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.login-brand--inline{flex-direction:column;align-items:flex-start;gap:12px}.login-page-mobile .login-brand--inline{align-items:center;text-align:center;width:100%}.login-title{font-weight:700;font-size:28px;color:var(--primary);letter-spacing:-.02em}.login-subtitle{font-size:14px;color:var(--text-muted);margin-top:2px;font-weight:500}.login-subtitle--inline{margin-top:0;width:100%;text-align:center}.login-form{display:flex;flex-direction:column;gap:8px}.login-label{font-size:12px;font-weight:700;color:var(--text-muted);margin-top:8px;text-transform:uppercase;letter-spacing:.05em}.login-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s}.login-input:focus{border-color:var(--primary);background:var(--surface)}.login-error{margin-top:8px;padding:10px 14px;background:#f5f0e8;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);border-radius:var(--radius-sm);color:#8b5a45;font-size:13px}.login-success{margin-top:8px;padding:10px 14px;background:#eef0e8;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);border-radius:var(--radius-sm);color:#4a5a3a;font-size:13px}.login-forgot-link{align-self:flex-end;margin-top:6px;padding:0;border:none;background:none;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--primary-dark, var(--header-accent, var(--primary)));cursor:pointer;text-decoration:underline;text-underline-offset:2px}.login-forgot-link:hover{color:var(--primary-hover)}.login-page .login-actions .btn-secondary,.login-card .login-actions .btn-secondary,.landing-login-modal .login-actions .btn-secondary{background:transparent;border:1.5px solid color-mix(in srgb,var(--primary-dark, var(--primary)) 65%,var(--border));color:var(--primary-dark, var(--header-accent, var(--primary)))}.login-page .login-actions .btn-secondary:hover,.login-card .login-actions .btn-secondary:hover,.landing-login-modal .login-actions .btn-secondary:hover{background:color-mix(in srgb,var(--primary-dark, var(--primary)) 8%,var(--primary-light));border-color:var(--primary-dark, var(--primary));color:var(--primary-hover)}.login-actions{display:flex;gap:10px;margin-top:18px}.login-btn{flex:1;justify-content:center;padding:11px 16px;border-radius:var(--radius-pill)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton{background:var(--primary-light);border-radius:var(--radius-md);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-day{min-height:40px}.skeleton-period,.skeleton-slot{min-height:68px}.schedule-grid--loading{pointer-events:none}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200}.settings-panel{position:fixed;right:0;top:0;width:100%;max-width:480px;height:100vh;height:100dvh;overflow-y:auto;background:var(--surface);z-index:201;box-shadow:-8px 0 32px #0000001f;animation:settings-panel-in .24s ease}@keyframes settings-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-panel-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.settings-panel-title{margin:0;font-size:20px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.settings-panel-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-pill);background:var(--primary-light);color:var(--primary);cursor:pointer}.settings-panel-close:hover{background:var(--primary);color:#fff}.settings-panel-content{padding:12px 16px 32px;display:flex;flex-direction:column;gap:8px}.settings-accordion{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.settings-accordion--danger{border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.settings-accordion--about{border-color:color-mix(in srgb,var(--primary) 20%,transparent)}.settings-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:none;background:none;cursor:pointer;font-family:Nunito,sans-serif;text-align:left}.settings-accordion__trigger-main{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--text)}.settings-accordion__icon{color:var(--primary);flex-shrink:0}.settings-accordion--danger .settings-accordion__icon{color:#8b5a45}.settings-accordion__chevron{font-size:11px;color:var(--text-muted);flex-shrink:0}.settings-accordion__body{padding:0 16px 16px;border-top:1px solid var(--border)}.settings-accordion__body .settings-section{background:transparent;border:none;box-shadow:none;padding:16px 0 0;margin:0}.settings-accordion__body .settings-section-title,.settings-accordion__body .ai-settings-title{display:none}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.theme-tile{position:relative;height:84px;border:2px solid var(--border);border-radius:var(--radius-md);background-size:cover;background-position:center;cursor:pointer;overflow:hidden;padding:0;display:flex;align-items:flex-end;transition:border-color .15s,transform .15s,box-shadow .15s}.theme-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.theme-tile__label{width:100%;padding:6px 10px;font-size:13px;font-weight:700;color:#fff;text-align:left;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));text-shadow:0 1px 3px rgba(0,0,0,.6)}.theme-tile--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.settings-page{background:transparent}.settings-header{background:var(--surface);padding:14px 24px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border)}.settings-title{font-size:20px;font-weight:700;color:var(--primary);letter-spacing:-.02em}.btn-back{background:var(--primary-light);color:var(--primary);border-radius:var(--radius-pill)}.btn-back:hover{background:var(--primary);color:#fff}.settings-content{max-width:560px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:20px}.settings-section{background:var(--surface);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-soft);border:1px solid var(--border)}.settings-section--danger{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:linear-gradient(180deg,#fdf8fa,var(--surface))}.settings-section-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:18px}.settings-section-title--danger{color:#8b5a45}.settings-form{display:flex;flex-direction:column;gap:8px}.settings-label{font-size:12px;font-weight:700;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.05em}.settings-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s}.settings-input:focus{border-color:var(--primary);background:var(--surface)}.settings-input--readonly{background:var(--primary-light);color:var(--text-muted);cursor:default;opacity:.85}.settings-submit{margin-top:14px;justify-content:center;padding:11px 18px;border-radius:var(--radius-pill)}.settings-message{margin-top:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.settings-message--error{background:#f5f0e8;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);color:#8b5a45}.settings-message--success{background:var(--sage-light);border:1px solid rgba(143,175,143,.4);color:#5a7a5a}.settings-danger-text{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:4px}.settings-muted{font-size:13px;color:var(--text-muted)}.settings-section-icon{vertical-align:-3px;margin-right:6px;color:#8b7cb8}.mistral-key-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin:0 auto 12px;max-width:var(--schedule-max-width, 1200px);padding:12px 16px;background:linear-gradient(90deg,#fff4e0,#ffe0b8);border:1px solid #f0a040;border-radius:var(--radius-md);box-shadow:0 2px 14px #f08c2833;color:#7a4510}.mistral-key-banner__text{margin:0;flex:1 1 200px;font-size:14px;font-weight:700;line-height:1.4}.mistral-key-banner__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.mistral-key-banner__cta{white-space:nowrap}.mistral-key-banner__snooze{white-space:nowrap;color:#7a4510;font-weight:600}.mistral-key-banner__snooze:hover{background:#7a45101a}.mistral-key-banner__close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:8px;background:#7a451014;color:#7a4510;cursor:pointer;transition:background .15s ease}.mistral-key-banner__close:hover{background:#7a451029}.settings-section--ai{background:linear-gradient(180deg,#f8f6fc 0%,var(--surface) 100%);border-color:#b0a0c859;scroll-margin-top:16px}.ai-settings-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 12px;margin-bottom:14px}.ai-settings-title{margin:0;flex:1 1 220px}.ai-settings-status-badge{flex-shrink:0;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.ai-settings-status-badge--ok{background:#e8efe4;color:#3a5a32;border:1px solid #b8d4b0}.ai-settings-status-badge--missing{background:#fdecea;color:#b42318;border:1px solid #f5c4c0}.ai-settings-missing-lead{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--text)}.ai-setup-steps{margin:0 0 20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.ai-setup-step{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:#ffffffbf;border:1px solid rgba(176,160,200,.28)}.ai-setup-step-visual{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#f5f0e8,#ebe4d8);font-size:22px;line-height:1}.ai-setup-step-content{flex:1;min-width:0}.ai-setup-step-title{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.ai-setup-step-num{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:2px}.ai-setup-step-body{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--text-muted)}.ai-setup-step-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.ai-setup-free-note{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--text-muted);font-style:italic}.ai-settings-guide{margin-bottom:16px;border:1px solid rgba(176,160,200,.35);border-radius:var(--radius-md);background:#ffffffa6;overflow:hidden}.ai-settings-guide-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border:none;background:transparent;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--text);text-align:left;cursor:pointer}.ai-settings-guide-toggle:hover{background:#b0a0c81f}.ai-settings-guide-chevron{flex-shrink:0;transition:transform .2s ease}.ai-settings-guide--open .ai-settings-guide-chevron{transform:rotate(180deg)}.ai-settings-guide-body{padding:0 14px 14px;border-top:1px solid rgba(176,160,200,.2)}.ai-settings-form{margin-top:4px}.settings-section--about{background:linear-gradient(180deg,#fefcf8 0%,var(--surface) 100%)}.settings-section-icon--about{color:var(--primary)}.settings-about-brand{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}.settings-about-logo-title{font-family:Dancing Script,cursive;font-size:28px;font-weight:700;color:#3d2e39;line-height:1.15}.settings-about-version{font-size:13px;font-weight:600;color:var(--text-muted);margin-top:2px}.settings-about-lead{font-size:14px;line-height:1.6;color:var(--text);margin:0 0 22px}.settings-about-subtitle{font-family:Playfair Display,serif;font-size:16px;font-weight:700;color:var(--text);margin:0 0 10px}.settings-about-subtitle:not(:first-of-type){margin-top:22px}.settings-about-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.settings-about-list li{font-size:14px;line-height:1.5;color:var(--text)}.settings-about-feedback-text{margin-bottom:12px}.settings-about-mail-btn{display:inline-flex;justify-content:center;text-decoration:none}.settings-about-authors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-about-author{padding:14px 16px;border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--border)}.settings-about-author-name{display:block;font-size:14px;font-weight:700;color:var(--text);line-height:1.35}.settings-about-author-role{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}.settings-about-legal{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.settings-about-legal-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:12px}.settings-about-link{font-size:14px;font-weight:600;color:var(--primary-dark);text-decoration:underline;text-underline-offset:3px}.settings-about-link:hover{color:var(--primary-hover)}.settings-about-copyright{font-size:12px;line-height:1.55;color:var(--text-muted);margin:0}@media(max-width:640px){.settings-about-authors{grid-template-columns:1fr}}.ai-settings-intro{font-size:14px;color:var(--text);line-height:1.55;margin-bottom:12px}.ai-settings-steps{margin:0 0 12px 18px;font-size:13px;color:var(--text-muted);line-height:1.7}.ai-settings-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--primary);text-decoration:none;margin-bottom:14px}.ai-settings-link:hover{text-decoration:underline}.ai-settings-privacy{background:#fff8e6;border:1px solid rgba(201,171,71,.35);border-radius:var(--radius-md);padding:12px 14px;font-size:12px;line-height:1.55;color:#7a6530;margin-bottom:16px}.ai-key-input-wrap{position:relative}.ai-key-input{padding-right:44px}.ai-key-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:6px;display:flex}.ai-consent-label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text);margin-top:10px;cursor:pointer}.ai-consent-label input{margin-top:3px}.ai-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ai-settings-actions--active{margin-top:4px}.ai-settings-active{display:flex;flex-direction:column;gap:10px}.ai-settings-status{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#5a7a5a}.ai-settings-encrypted-note{margin:0;font-size:13px;font-weight:600;color:var(--primary-dark)}.ai-settings-key-hint code{font-family:JetBrains Mono,monospace;font-size:12px;background:var(--primary-light);padding:2px 8px;border-radius:var(--radius-pill)}.ai-settings-usage{font-size:13px;color:var(--text-muted)}.confirm-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px}.confirm-text{font-size:14px;color:var(--text-muted);line-height:1.6}.todo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d2e3933;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:900}.todo-panel{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:calc(var(--vh, 1vh) * 100);background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px color-mix(in srgb,var(--primary) 15%,transparent);z-index:950;display:flex;flex-direction:column;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.todo-panel--open{transform:translate(0)}.todo-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--primary-light),var(--surface))}.todo-panel-title{font-size:22px;font-weight:700;color:var(--primary)}.todo-panel-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px;font-weight:600}.todo-filter-badge{margin-top:8px;border:1px solid var(--border);background:var(--primary-light);color:var(--primary);border-radius:var(--radius-pill);padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer}.todo-add-row{display:flex;gap:8px;align-items:center}.todo-add-row .todo-input{flex:1}.todo-add-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.todo-panel-close{background:#fffc;border:1px solid var(--border);border-radius:var(--radius-pill);width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:background .15s}.todo-panel-close:hover{background:#fff}.todo-add-form{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.todo-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Nunito,sans-serif;font-size:14px;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s}.todo-input:focus{border-color:var(--primary);background:var(--surface)}.todo-input--compact{font-size:13px;padding:8px 12px}.todo-add-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.todo-priority-picker{display:flex;gap:6px}.todo-priority-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;padding:0}.todo-priority-btn--active{border-color:var(--primary);background:var(--primary-light)}.todo-priority-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.todo-date-input{padding:6px 10px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-family:Nunito,sans-serif;font-size:12px;color:var(--text);background:var(--surface);outline:none}.todo-date-input:focus{border-color:var(--primary)}.todo-time-toggle{display:none;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.todo-item:hover .todo-time-toggle,.todo-time-toggle:focus-visible{display:inline-flex}.todo-time-toggle:hover{background:var(--primary-light);color:var(--primary-dark);border-color:#b8cdb0}.todo-time-toggle--form{display:inline-flex}.todo-time-toggle--form.todo-time-toggle--active{background:#e8efe4;color:#3a5a32;border-color:#b8cdb0}.todo-time-display{display:inline-flex;align-items:center;padding:4px 8px;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--text);cursor:pointer;flex-shrink:0;white-space:nowrap}.todo-time-display:hover{border-color:var(--primary);background:var(--primary-light)}.todo-time-editor{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border:1.5px solid var(--primary);border-radius:var(--radius-pill);background:var(--surface);flex-shrink:0}.todo-time-editor--form{padding:4px 6px 4px 10px}.todo-time-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.todo-time-clear:hover{background:#c0392b1a;color:#c0392b}.todo-time-input{border:none;background:transparent;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text);outline:none;padding:0;min-width:0;width:4.5rem;cursor:pointer}.todo-time-editor--form .todo-time-input{font-size:12px;width:5rem}.todo-time-input::-webkit-calendar-picker-indicator{cursor:pointer}.todo-select{flex:1 1 160px;padding:7px 12px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text);background:var(--surface);outline:none;cursor:pointer}.todo-select:focus{border-color:var(--primary)}.todo-select--filter{flex:1}.todo-toolbar{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--bg)}.todo-toggle{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;cursor:pointer}.todo-toggle input{accent-color:var(--primary)}.todo-list{flex:1;overflow-y:auto;padding:12px 16px 20px;display:flex;flex-direction:column;gap:8px}.todo-item{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);transition:opacity .12s,box-shadow .12s,outline .12s}.todo-item .todo-delete-btn{opacity:0;pointer-events:none;transition:opacity .15s ease}.todo-item:hover .todo-delete-btn,.todo-item:focus-within .todo-delete-btn{opacity:1;pointer-events:auto}.todo-item--done .todo-item-text-btn{text-decoration:line-through;color:var(--text-muted)}.todo-item--dragging{opacity:.35}.todo-item--over{outline:2px dashed var(--primary);outline-offset:-2px;background:var(--primary-light)}.todo-drag-handle{display:flex;align-items:center;justify-content:center;width:18px;color:var(--text-muted);opacity:.45;flex-shrink:0;cursor:grab}.todo-drag-handle:active{cursor:grabbing}.todo-drag-handle--disabled{cursor:default;opacity:.15}.todo-checkbox{width:15px;height:15px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.todo-priority-cycle{border:none;background:transparent;padding:0;cursor:pointer;flex-shrink:0;display:flex;align-items:center}.todo-item-main{flex:1;min-width:0}.todo-item-text-btn{width:100%;border:none;background:transparent;text-align:left;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text);cursor:text;padding:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-inline-input{width:100%;border:1px solid var(--primary);border-radius:6px;padding:4px 8px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text);background:var(--surface);outline:none}.todo-row-date{display:none}.todo-due-wrap{position:relative;flex-shrink:0}.todo-due-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.todo-due-btn:hover{background:var(--surface);border-color:var(--primary)}.todo-due-btn--overdue{color:#c0392b;border-color:#c0392b59}.todo-due-btn--today{color:#d4843a;border-color:#d4843a59}.todo-due-warn{color:#c0392b;flex-shrink:0}.todo-row-date-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}.todo-row-category{width:72px;flex-shrink:0;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-pill);font-family:Nunito,sans-serif;font-size:10px;font-weight:700;color:var(--text);background:var(--primary-light);cursor:pointer}.todo-section{display:flex;flex-direction:column;gap:8px}.todo-section--done{margin-top:4px;padding-top:8px;border-top:1px dashed var(--border)}.todo-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 2px;border:none;background:transparent;font-family:Nunito,sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);cursor:pointer}.todo-section-header--static{cursor:default}.todo-section-header-actions{display:inline-flex;align-items:center;gap:6px}.todo-section-chevron{transition:transform .2s ease;color:var(--text-muted)}.todo-section-chevron--open{transform:rotate(180deg)}.todo-section-body{display:flex;flex-direction:column;gap:8px}.todo-done-section,.todo-done-header{display:none}.todo-clear-done-btn{border:none;background:transparent;color:#c44;font-family:Nunito,sans-serif;font-size:11px;font-weight:700;cursor:pointer;padding:0;text-transform:none;letter-spacing:0}.todo-clear-done-btn:hover{text-decoration:underline}.todo-delete-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-pill);transition:opacity .12s,color .12s,background .12s;flex-shrink:0}.todo-delete-btn:hover{opacity:1;color:#8b5a45;background:#f5f0e8}.todo-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.todo-empty--inline{padding:12px 8px 4px}.todo-empty-icon{font-size:40px;margin-bottom:12px}.todo-empty-mascot{width:96px;height:auto;margin:0 auto 12px;display:block}.todo-empty--inline .todo-empty-mascot{width:64px;margin-bottom:8px}.todo-empty-title{font-family:Playfair Display,serif;font-size:18px;font-weight:700;color:var(--primary);margin-bottom:6px}.todo-empty-text{font-size:13px;line-height:1.5}.todo-empty-clear-filter{background:none;border:1.5px solid var(--border);border-radius:var(--radius-pill);padding:6px 14px;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--primary);cursor:pointer}.todo-empty-clear-filter:hover{border-color:var(--primary);background:var(--primary-light, rgba(0, 0, 0, .04))}.btn-todo{position:relative}.header-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.btn-block{width:100%;justify-content:center}.header--mobile{padding:0 14px}.m-header-right{display:flex;align-items:center;gap:4px;height:100%;margin-top:0;padding-top:0}.m-header-right .btn-ghost{color:var(--text)}.m-header-right .btn-ghost:hover:not(:disabled){background:var(--primary-light);color:var(--text)}.m-header-right .btn-ghost svg{color:currentColor}.m-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--menu-text, var(--text)) 28%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;display:flex;justify-content:flex-end;animation:m-fade-in .18s ease}.m-menu-panel{width:min(320px,86vw);height:100%;height:100dvh;background:var(--menu-surface, var(--surface));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid var(--menu-border, var(--border));box-shadow:-8px 0 32px color-mix(in srgb,var(--primary) 18%,transparent);display:flex;flex-direction:column;padding:14px;gap:8px;overflow-y:auto;color:var(--menu-text, var(--text));animation:m-slide-in .22s cubic-bezier(.4,0,.2,1)}.m-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.m-menu-header .btn-ghost{color:var(--menu-text, var(--text))}.m-menu-header .btn-ghost:hover:not(:disabled){background:var(--menu-hover, var(--primary-light));color:var(--menu-text, var(--text))}.m-menu-header .btn-ghost svg{color:currentColor}.m-menu-title{font-family:Playfair Display,serif;font-size:20px;font-weight:700;color:var(--menu-text, var(--text))}.m-menu-week{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--primary-dark);border-radius:var(--radius-pill);padding:8px 10px}.m-menu-week .btn-ghost{color:#fff}.m-menu-week .btn-ghost:hover:not(:disabled){background:#ffffff26;color:#fff}.m-menu-week .btn-ghost:disabled{opacity:.35;color:#fff9}.m-menu-week-info{display:flex;flex-direction:column;align-items:center;line-height:1.2}.m-menu-week-range{font-size:13px;font-weight:700;color:#fff}.m-menu-week-key{font-size:10px;font-family:JetBrains Mono,monospace;color:#ffffffd9}.m-menu-today{width:100%;justify-content:center}.m-menu-divider{height:1px;background:var(--menu-border, var(--border));margin:6px 0}.m-menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 14px;border:none;background:transparent;border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:15px;font-weight:600;color:var(--menu-text, var(--text));cursor:pointer;text-align:left;transition:background .15s}.m-menu-item svg{flex-shrink:0;color:currentColor}.m-menu-item:hover,.m-menu-item:active{background:var(--menu-hover, var(--primary-light))}.m-menu-panel .btn-today{color:var(--primary-dark, var(--header-accent, var(--primary)));border-color:var(--primary-dark, var(--header-accent, var(--primary)))}.m-menu-panel .btn-today:hover{background:var(--menu-hover, var(--primary-light));color:var(--primary-dark, var(--header-accent, var(--primary)));border-color:var(--primary-dark, var(--header-accent, var(--primary)))}.m-menu-item--active{background:var(--primary);color:#fff}.m-menu-item--active:hover{background:var(--primary-hover)}.m-menu-item--danger{color:#c44}.m-menu-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.m-day-view{display:flex;flex-direction:column;gap:12px;padding:12px;overflow-x:hidden;max-width:100%}.m-day-switcher{position:sticky;top:var(--header-height);z-index:10;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.m-day-switcher::-webkit-scrollbar{display:none}.m-day-pill{flex:0 0 auto;min-width:64px;min-height:48px;padding:6px 10px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;font-family:Nunito,sans-serif;transition:background .15s,border-color .15s}.m-day-pill-name{font-size:13px;font-weight:700;color:var(--text)}.m-day-pill-date{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.m-day-pill-date-row{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.m-day-pill--active{background:var(--primary);border-color:var(--primary)}.m-day-pill--active .m-day-pill-name,.m-day-pill--active .m-day-pill-date{color:#fff}.m-day-pill--active .day-nameday{color:#ffffffe0}.m-day-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-day-todos{margin:-4px 0 0}.m-day-todos .day-todo-pills--scroll{padding:2px 0 4px}.m-day-arrow:disabled{opacity:.35;cursor:default}.m-day-current{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;min-width:0}.m-day-current-main{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;font-size:15px;font-weight:700;color:var(--text)}.m-day-current--clickable{padding:6px 16px;border:none;background:color-mix(in srgb,var(--surface, #fff) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;border-radius:var(--radius-pill);font-family:inherit;transition:background .12s ease;box-shadow:0 1px 6px #0000000f}.m-day-current--clickable:hover{background:color-mix(in srgb,var(--surface, #fff) 80%,transparent)}.m-day-current--clickable:focus-visible{outline:2px solid var(--primary, #5a7a52);outline-offset:2px}.m-day-holiday{background:var(--sage-light);color:var(--text);border-radius:var(--radius-md);padding:10px 14px;font-size:13px;font-weight:600;text-align:center}.m-lesson-list{display:flex;flex-direction:column;gap:10px;touch-action:pan-y;overflow-x:hidden;max-width:100%;will-change:transform}.m-lesson-card{display:flex;align-items:stretch;gap:12px;min-height:72px;padding:12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden}.m-lesson-card--filled{border:none;box-shadow:var(--shadow-lesson);background:var(--subject-bg, var(--surface));color:var(--subject-text, var(--text));cursor:pointer}.m-lesson-card--empty{border:1.5px dashed var(--empty-border);background:transparent;opacity:.75;align-items:center}.m-lesson-card--add{opacity:1;cursor:pointer;border-color:var(--empty-border);background:transparent}.m-lesson-card--add:hover{background:#f5f0e8}.m-lesson-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;flex-shrink:0;border-right:1px solid var(--border);padding-right:12px}.m-lesson-card--empty .m-lesson-time{border-right:none;padding-right:0}.m-lesson-num{font-size:18px;font-weight:700;color:var(--text)}.m-lesson-clock{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.m-lesson-clock--end{opacity:.7}.m-lesson-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.m-lesson-card-topic{margin:0;font-size:14px;font-weight:600;color:var(--subject-text, var(--text));line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-lesson-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.m-lesson-title{font-size:15px;font-weight:700;color:var(--subject-text, var(--text));line-height:1.25}.m-lesson-title--placeholder{font-weight:500;font-style:italic;opacity:.72}.m-lesson-topic{font-size:13px;color:var(--subject-text, var(--text));opacity:.75;line-height:1.3}.m-lesson-status-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.m-lesson-empty-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--empty-icon)}.m-lesson-card--add .m-lesson-empty-label svg{color:var(--empty-icon)}.quick-note-wrap{z-index:1070}.quick-note-modal{max-width:400px}.quick-note-textarea{width:100%;min-height:180px;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);resize:vertical}.quick-note-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.lesson-reflection-stars{display:flex;gap:4px;margin-bottom:14px}.lesson-reflection-stars--read{margin-bottom:10px}.lesson-reflection-star{border:none;background:transparent;padding:2px;cursor:pointer;line-height:0;border-radius:4px;transition:transform .12s}.lesson-reflection-star:hover{transform:scale(1.08)}.lesson-reflection-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.lesson-reflection-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.lesson-reflection-textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:Nunito,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);resize:vertical}.lesson-reflection-textarea:focus{outline:none;border-color:var(--primary)}.lesson-reflection-save{margin-top:4px}.lesson-reflection-read-block{margin-bottom:10px}.lesson-reflection-read-block:last-child{margin-bottom:0}.lesson-reflection-read-label{display:block;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.lesson-reflection-read-block p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.move-day-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.move-day-row::-webkit-scrollbar{display:none}.move-day-row .m-day-pill{min-width:auto;min-height:40px;padding:8px 14px}.move-period-list{display:flex;flex-direction:column;gap:8px}.move-period-item{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 14px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--radius-md);cursor:pointer;font-family:Nunito,sans-serif;text-align:left;transition:background .15s,border-color .15s}.move-period-item--selected{border-color:var(--primary);background:var(--primary-light)}.move-period-item--source{opacity:.45;cursor:default}.move-period-num{font-size:16px;font-weight:700;color:var(--text);min-width:26px}.move-period-time{font-size:12px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.move-period-occupant{margin-left:auto;font-size:13px;font-weight:700;color:var(--primary)}.modal-move-row{padding:12px 24px 0}.modal-move-row--in-body{padding:4px 0 0;margin-top:4px}@keyframes m-fade-in{0%{opacity:0}to{opacity:1}}@keyframes m-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.undo-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:1200;width:min(420px,calc(100vw - 24px));animation:undo-toast-in .28s cubic-bezier(.4,0,.2,1)}.undo-toast--exit{animation:undo-toast-out .28s cubic-bezier(.4,0,.2,1) forwards}.undo-toast-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#3d2e39;color:#f5eef2;border-radius:var(--radius-md);box-shadow:0 8px 28px #3d2e3959;border:1px solid color-mix(in srgb,var(--primary) 25%,transparent)}.undo-toast-message{margin:0;font-size:14px;font-weight:600;line-height:1.35;flex:1;min-width:0}.undo-toast-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid rgba(237,213,228,.35);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--primary) 25%,transparent);color:#fff;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.undo-toast-btn:hover{background:color-mix(in srgb,var(--primary) 45%,transparent)}.undo-toast-progress-track{height:3px;margin-top:4px;background:#ffffff1f;border-radius:var(--radius-pill);overflow:hidden}.undo-toast-progress-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:var(--radius-pill);animation-name:undo-progress-shrink;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes undo-toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes undo-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(16px)}}@keyframes undo-progress-shrink{0%{width:100%}to{width:0%}}@media(max-width:768px){.undo-toast{left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom,12px));width:calc(100vw - 16px);margin:0 auto;transform:none;animation-name:undo-toast-in-mobile}.undo-toast--exit{animation-name:undo-toast-out-mobile}@keyframes undo-toast-in-mobile{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes undo-toast-out-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}}.lesson-modal-top-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.lesson-modal-ai-actions{display:flex;flex:1;flex-wrap:nowrap;align-items:stretch;gap:8px;min-width:0}.lesson-library-load-btn{flex:1;min-width:140px;justify-content:center}.ai-advisor-toggle{flex:1 1 auto;min-width:0;justify-content:center;background:linear-gradient(135deg,#f0ebfa,#e8f0fc);border-color:#8b7cb859}.activity-idea-toggle{flex:0 0 auto;justify-content:center;background:linear-gradient(135deg,#fff8e8,#f5f0e8);border-color:#d4a84b59;color:#6b5a32}.activity-idea-toggle--active{border-color:#d4a84b;box-shadow:0 0 0 2px #d4a84b26}.ai-advisor-toggle--active{border-color:#8b7cb8;box-shadow:0 0 0 2px #8b7cb826}.ai-advisor-hint{flex:1;min-width:100%;border:none;background:linear-gradient(135deg,#f8f6fc,#f0f4fa);border-radius:var(--radius-pill);padding:8px 14px;font-family:Nunito,sans-serif;font-size:12px;color:#6b6088;text-align:left;cursor:pointer}.ai-advisor-hint:hover{background:linear-gradient(135deg,#f0ebfa,#e8f0fc)}.ai-advisor-panel{margin-bottom:16px;border-radius:var(--radius-lg);background:linear-gradient(145deg,#f3effa,#eaf1fb 55%,#f5f0fa);border:1px solid rgba(139,124,184,.25);box-shadow:var(--shadow-soft);flex-shrink:0;min-height:min-content}.ai-advisor-panel--fullscreen,.ai-advisor-panel--overlay,.activity-idea-panel--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.lesson-ai-overlay-wrap{position:relative;z-index:1200}.lesson-ai-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#28233259;z-index:1199}.ai-advisor-fullscreen-wrap{position:relative;z-index:1200}.ai-advisor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#28233259;z-index:1199}.ai-advisor-panel--sidebar,.activity-idea-panel--sidebar{margin-bottom:0;flex-shrink:0}.ai-advisor-panel-head--overlay,.activity-idea-panel-head--overlay{justify-content:flex-start;border-radius:0;flex-shrink:0}.activity-idea-panel--overlay .lesson-ai-back-btn{color:#6b5a32}.lesson-ai-back-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 0;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:#5c5080;cursor:pointer}.lesson-ai-back-btn:hover{color:#3f3658}.ai-advisor-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(139,124,184,.15);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.ai-advisor-panel-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#5c5080}.ai-advisor-close{border:none;background:#fff9;border-radius:var(--radius-pill);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted)}.ai-advisor-panel-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;overflow:visible;flex-shrink:0}.ai-advisor-panel--fullscreen .ai-advisor-panel-body,.ai-advisor-panel--overlay .ai-advisor-panel-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.ai-advisor-row,.ai-advisor-field{display:flex;flex-direction:column;gap:6px}.ai-advisor-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7a7094}.ai-advisor-label--with-icon{display:inline-flex;align-items:center;gap:5px}.ai-advisor-textarea{resize:vertical;min-height:72px}.ai-advisor-subject-badge{align-self:flex-start}.ai-advisor-options{display:flex;flex-direction:column;gap:8px}.ai-advisor-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-advisor-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);cursor:pointer}.ai-advisor-generate{justify-content:center;background:linear-gradient(135deg,#8b7cb8,#6a9fd4);border:none}.ai-advisor-error{padding:10px 12px;border-radius:var(--radius-sm);background:#f5f0e8;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);color:#8b5a45;font-size:13px}.ai-advisor-parse-error{padding:12px;border-radius:var(--radius-md);background:#ffffffa6;font-size:13px;color:var(--text-muted)}.ai-advisor-raw{margin-top:8px;padding:10px;background:var(--bg);border-radius:var(--radius-sm);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:160px;overflow:auto}.ai-advisor-results{display:flex;flex-direction:column;gap:10px;padding-top:4px}.ai-advisor-results-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.ai-advisor-results-title{font-weight:700;color:#5c5080}.ai-advisor-results-actions{display:flex;flex-wrap:wrap;gap:8px}.activity-idea-panel{margin-bottom:16px;max-height:60vh;overflow-y:auto;border-radius:var(--radius-lg);background:linear-gradient(145deg,#fff9ed,#f8f4ea 55%,#f5f0e8);border:1px solid rgba(212,168,75,.28);box-shadow:var(--shadow-soft);flex-shrink:0}.activity-idea-panel--overlay .activity-idea-panel-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.activity-idea-panel--overlay{display:flex;flex-direction:column}.activity-idea-panel--sidebar{max-height:none;overflow:visible}.activity-idea-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(212,168,75,.15)}.activity-idea-panel-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#6b5a32}.activity-idea-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.activity-idea-close:hover{background:#d4a84b1f}.activity-idea-panel-body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.activity-idea-row,.activity-idea-field{display:flex;flex-direction:column;gap:6px}.activity-idea-field--inline{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px}.activity-idea-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8a7350}.activity-idea-grade{font-size:13px;font-weight:600;color:var(--text)}.activity-idea-subject-badge{align-self:flex-start}.activity-idea-type-pills{display:flex;flex-wrap:wrap;gap:6px}.activity-idea-type-pill{border:1px solid rgba(212,168,75,.25);border-radius:var(--radius-pill);background:#ffffffb3;padding:6px 10px;font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:var(--text);cursor:pointer}.activity-idea-type-pill--active{background:#fff3d6;border-color:#d4a84b;color:#6b5a32}.activity-idea-duration-wrap{display:inline-flex;align-items:center;gap:8px}.activity-idea-duration-input{width:72px}.activity-idea-duration-suffix{font-size:13px;color:var(--text-muted)}.activity-idea-context{min-height:56px}.activity-idea-generate{align-self:flex-start}.activity-idea-hint{margin:0;font-size:12px;color:var(--text-muted)}.activity-idea-error,.activity-idea-parse-error{padding:10px 12px;border-radius:var(--radius-md);font-size:13px}.activity-idea-error{background:#c0392b14;color:#a93226}.activity-idea-parse-error{background:#d4a84b1f;color:#6b5a32}.activity-idea-raw{margin:8px 0 0;padding:8px;border-radius:8px;background:#ffffffb3;font-size:11px;overflow:auto;white-space:pre-wrap}.activity-idea-results{display:flex;flex-direction:column;gap:10px}.activity-idea-results-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.activity-idea-results-title{font-size:13px;font-weight:700;color:#6b5a32}.activity-idea-cards{display:flex;flex-direction:column;width:100%}.activity-idea-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:16px;margin-bottom:12px;border-radius:12px;background:#f5f0e8;border:1px solid #e8e0d5}.activity-idea-card:last-child{margin-bottom:0}.activity-idea-card-title{margin:0;font-family:Playfair Display,serif;font-size:15px;font-weight:600;color:var(--text);line-height:1.35}.activity-idea-card-duration{margin:0;font-size:12px;font-weight:600;color:#8a7350}.activity-idea-card-row{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:1.6;color:var(--text-muted)}.activity-idea-card-icon{flex-shrink:0;width:1.25em;text-align:center;line-height:1.6}.activity-idea-card-steps{margin:2px 0 2px 4px;padding-left:20px;font-size:13px;line-height:1.55;color:var(--text-muted);display:flex;flex-direction:column;gap:3px}.textbook-analysis{margin:8px 0 16px}.textbook-photo-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.textbook-photo-trigger{display:inline-flex;align-items:center;gap:6px}.textbook-analysis-hint{margin:8px 0 0;font-size:13px;color:var(--text-muted)}.textbook-analysis-preview img{display:block;max-width:100%;max-height:220px;margin-top:10px;border-radius:var(--radius-md);border:1px solid var(--border);object-fit:contain;background:var(--bg)}.textbook-analysis-preview-actions,.textbook-analysis-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.textbook-analysis-loading{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--text-muted)}.textbook-analysis-error{margin-top:8px}.textbook-analysis-result{margin-top:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.textbook-analysis-topic{margin:0 0 6px;font-family:Playfair Display,serif;font-size:16px;color:var(--text)}.textbook-analysis-summary{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-muted)}.textbook-analysis-cards{margin-bottom:8px}.textbook-analysis-card{background:var(--bg)}.textbook-analysis-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.textbook-analysis-card-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--primary-light, #eee);color:var(--primary)}.textbook-analysis-add-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:6px}.textbook-analysis-unrecognized{margin:0;font-size:13px;color:var(--text);line-height:1.5}.textbook-analysis-unrecognized-detail{display:block;margin-top:6px;color:var(--text-muted);font-size:12px}.activity-idea-added-info{display:flex;flex-direction:column;gap:2px;margin-top:4px;font-size:11.5px;color:var(--primary);text-align:center}.activity-idea-add-btn{margin-top:4px;width:100%;justify-content:center;background:transparent;border:1px solid #d4a84b;color:#6b5a32}.activity-idea-add-btn:hover:not(:disabled){background:#d4a84b1a;border-color:#c49a3f;color:#5a4a28}.activity-idea-add-btn--done{background:#e8efe4;border-color:var(--primary);color:#3a5a32}.activity-idea-add-wrap{position:relative}.activity-idea-add-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:5;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;background:#fff;border:1px solid #e8e0d5;box-shadow:var(--shadow-card)}.activity-idea-add-menu-item{display:block;width:100%;border:none;border-radius:8px;background:transparent;padding:10px 12px;text-align:left;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.activity-idea-add-menu-item:hover:not(:disabled){background:#d4a84b1f}.activity-idea-add-menu-item:disabled{opacity:.55;cursor:not-allowed}.activity-idea-add-menu-hint{display:block;padding:0 12px 4px;font-size:11px;color:var(--text-muted)}.activity-idea-assign-pills{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px 8px}.activity-idea-assign-pill{border:1px solid rgba(212,168,75,.35);border-radius:var(--radius-pill);background:#fff8e8e6;padding:6px 12px;font-family:Nunito,sans-serif;font-size:12px;font-weight:600;color:#6b5a32;cursor:pointer}.activity-idea-assign-pill:hover{background:#fff3d6;border-color:#d4a84b}.lesson-activities-editor{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.lesson-activities-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-activities-editor-label{font-size:12px;font-weight:700;color:var(--text-muted)}.lesson-activities-total{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#5a7a5a}.lesson-activities-total--warn{color:#b45309}.lesson-activities-list{display:flex;flex-direction:column;gap:10px}.lesson-activity-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 14px;border:1px dashed rgba(139,124,184,.45);border-radius:var(--radius-md);background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:#6b6080;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lesson-activity-add-btn:hover{background:#8b7cb80f;border-color:#8b7cb8a6;color:#4f4568}.lesson-activity-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:#ffffffb8;border:1px solid rgba(139,124,184,.18)}.lesson-activity-card--dragging{opacity:.35}.lesson-activity-card--over{outline:2px dashed rgba(139,124,184,.45);outline-offset:-2px;background:#8b7cb80f}.lesson-activity-card-head{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.06)}.lesson-activity-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:22px;color:var(--text-muted);opacity:.45;flex-shrink:0;cursor:grab}.lesson-activity-drag-handle:active{cursor:grabbing}.lesson-activity-name-input{flex:1 1 auto;min-width:0;border:none;background:transparent;font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:var(--text);padding:2px 0}.lesson-activity-name-input:focus{outline:none;box-shadow:inset 0 -1px #8b7cb873}.lesson-activity-duration-wrap{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.lesson-activity-duration-input{width:42px;border:1px solid var(--border);border-radius:8px;padding:4px 6px;font-family:JetBrains Mono,monospace;font-size:12px;text-align:center;background:#ffffffd9}.lesson-activity-duration-suffix{font-size:12px;color:var(--text-muted);white-space:nowrap}.lesson-activity-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0}.lesson-activity-delete-btn:hover{background:#c0392b14;color:#a93226}.lesson-activity-desc-input{min-height:56px;resize:vertical}.ai-suggestion-field{background:#ffffffb8;border-radius:var(--radius-md);padding:10px 12px;border:1px solid rgba(139,124,184,.12)}.ai-suggestion-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ai-suggestion-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7a7094}.ai-suggestion-field-value{font-size:13px;line-height:1.5;color:var(--text);white-space:pre-wrap}.ai-suggestion-preview{display:flex;flex-direction:column;gap:14px;padding-top:8px;border-top:1px solid rgba(139,124,184,.15)}.ai-preview-section{background:#ffffffb8;border:1px solid rgba(139,124,184,.12);border-radius:var(--radius-md);padding:12px 14px}.ai-preview-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.ai-preview-section-title{font-size:13px;font-weight:700;color:#5c5080;margin:0 0 8px}.ai-preview-section-head .ai-preview-section-title{margin-bottom:0}.ai-preview-duration-total{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#5a7a5a;background:#8faf8f26;padding:3px 10px;border-radius:var(--radius-pill)}.ai-preview-duration-total--warn{color:#9a6a30;background:#c9ab4733}.ai-preview-basic{display:flex;flex-direction:column;gap:8px}.ai-preview-basic-row{display:grid;grid-template-columns:72px 1fr;gap:8px;font-size:13px;line-height:1.45}.ai-preview-basic-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7a7094}.ai-structure-table--desktop{display:none}.ai-structure-table-head,.ai-structure-table-row{display:grid;grid-template-columns:1.1fr .55fr 1.4fr 1.2fr;gap:8px;font-size:12px;line-height:1.4}.ai-structure-table-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7a7094;padding-bottom:6px;border-bottom:1px solid rgba(139,124,184,.12)}.ai-structure-table-row{padding:8px 0;border-bottom:1px solid rgba(139,124,184,.08)}.ai-structure-table-row:last-child{border-bottom:none}.ai-structure-phase{font-weight:700;color:var(--text)}.ai-structure-duration{font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap}.ai-structure-notes{color:var(--text-muted);font-size:11px}.ai-structure-cards--mobile{display:flex;flex-direction:column;gap:8px}.ai-structure-card{border:1px solid rgba(139,124,184,.12);border-radius:var(--radius-sm);overflow:hidden;background:#ffffff80}.ai-structure-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:none;background:transparent;cursor:pointer;font-family:Nunito,sans-serif;text-align:left}.ai-structure-card-title{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--text)}.ai-structure-card-body{padding:0 12px 12px;font-size:12px;line-height:1.5;color:var(--text)}.ai-structure-card-body p{margin:0 0 6px}.ai-materials-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ai-material-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer}.ai-material-item input{margin-top:3px}.ai-diff-grid{display:grid;grid-template-columns:1fr;gap:10px}.ai-diff-col{padding:10px 12px;border-radius:var(--radius-sm);background:#ffffff8c;border:1px solid rgba(139,124,184,.1)}.ai-diff-col p{margin:6px 0 0;font-size:13px;line-height:1.5}.ai-diff-label{font-size:12px;font-weight:700;color:#5c5080}.ai-homework-text{margin:0;font-size:13px;line-height:1.5;color:var(--text)}.ai-preview-apply-row{display:flex;flex-wrap:wrap;gap:8px}@media(min-width:769px){.ai-structure-table--desktop{display:block}.ai-structure-cards--mobile{display:none}.ai-diff-grid{grid-template-columns:1fr 1fr}}.modal-footer--lesson{flex-wrap:wrap;justify-content:space-between;gap:10px}.modal-autosave-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);min-height:32px}.modal-autosave-status--saved{color:var(--primary)}.modal-autosave-status--error{color:#b45309}.lesson-reflection-save-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.modal-footer--lesson .modal-footer-actions{flex-wrap:wrap}.btn-library-save--saved{background:#6a9a6a!important;color:#fff!important;border-color:#6a9a6a!important;animation:save-btn-success .45s ease}.library-picker-wrap{z-index:1100}.library-picker-body{min-height:120px}.library-picker-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--text-muted);font-weight:600}.library-picker-empty{text-align:center;color:var(--text-muted);font-size:14px;line-height:1.5;padding:20px 8px}.library-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.library-picker-list>li{display:flex;align-items:stretch;gap:8px}.library-picker-item{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:48px;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;font-family:Nunito,sans-serif;transition:background .15s,border-color .15s}.library-picker-item:hover{background:var(--primary-light);border-color:var(--primary)}.library-picker-badge{font-size:12px}.library-picker-title{font-size:14px;font-weight:700;color:var(--text)}.library-picker-topic{font-size:13px;color:var(--text-muted)}.library-picker-date{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.library-picker-delete{flex-shrink:0;width:44px;min-height:44px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.library-picker-delete:hover{background:#f4d6d680;color:#c44;border-color:#c4666666}.slot-picker-wrap{z-index:1060}.slot-picker-modal{position:relative;max-width:min(960px,calc(100vw - 32px))}.slot-picker-week-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);background:#fff9}.slot-picker-week-btn{min-width:40px;padding:8px 10px}.slot-picker-week-range{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--text);min-width:180px;text-align:center}.slot-picker-body{padding-top:16px;padding-bottom:16px;overflow-x:auto}.slot-picker-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--text-muted);font-size:14px}.slot-picker-grid{display:grid;grid-template-columns:108px repeat(8,minmax(0,1fr));gap:6px;min-width:720px}.slot-picker-corner{min-height:44px}.slot-picker-period-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:4px;border-radius:var(--radius-sm);background:#ffffffb3;border:1px solid var(--border);text-align:center}.slot-picker-period-num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:12px;color:var(--text)}.slot-picker-period-time{font-family:JetBrains Mono,monospace;font-size:8px;color:var(--text-muted);line-height:1.2}.slot-picker-day-label{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);min-height:52px}.slot-picker-day-name{font-family:Playfair Display,serif;font-weight:600;font-size:13px;color:var(--text)}.slot-picker-day-date{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted)}.slot-picker-cell{min-height:52px;border:1.5px dashed var(--border);border-top-width:3px;border-radius:var(--radius-sm);background:#ffffff73;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;font-family:Nunito,sans-serif}.slot-picker-cell:hover:not(:disabled){background:var(--primary-light);border-color:color-mix(in srgb,var(--primary) 45%,transparent);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.slot-picker-cell--filled{border-style:solid;background:#ffffffd9}.slot-picker-cell--filled:hover:not(:disabled){background:#fffffffa}.slot-picker-cell:disabled{opacity:.6;cursor:not-allowed}.slot-picker-cell--move-target:hover:not(:disabled):not(.slot-picker-cell--source){background:var(--primary-light);border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:-1px}.slot-picker-cell--source{background:var(--primary)!important;border-color:var(--primary)!important;border-style:solid;cursor:not-allowed}.slot-picker-cell-source-label{font-weight:700;font-size:12px;color:#fff;letter-spacing:.02em}.slot-picker-cell-subject{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:12px;letter-spacing:.02em}.slot-picker-cell-empty{font-size:18px;line-height:1;color:var(--text-muted);opacity:.35}.slot-picker-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#3d2e3959;display:flex;align-items:center;justify-content:center;padding:20px;border-radius:inherit;z-index:2}.slot-picker-confirm{width:min(420px,100%);background:var(--surface);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card)}.slot-picker-confirm-actions{margin-top:20px;padding:0;border:none}@media(max-width:768px){.slot-picker-grid{min-width:640px}.library-card-actions .btn-sm{flex:1 1 auto;justify-content:center}}.library-page{min-height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column}.library-page-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.library-page-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:var(--primary)}.library-page-toolbar{padding:16px 20px;display:flex;flex-direction:column;gap:12px;background:var(--surface);border-bottom:1px solid var(--border)}.library-toolbar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-new-btn{flex-shrink:0;white-space:nowrap}.library-search-wrap{position:relative;flex:1;min-width:200px;max-width:480px}.library-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.library-search-input{width:100%;padding:10px 14px 10px 40px;border:1.5px solid var(--border);border-radius:var(--radius-pill);font-family:Nunito,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}.library-search-input:focus{outline:none;border-color:var(--primary)}.library-subject-filters{display:flex;flex-wrap:wrap;gap:8px}.library-filter-pill{min-height:36px;padding:6px 14px;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:var(--text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.library-filter-pill--active{background:var(--primary);border-color:var(--primary);color:#fff}.library-page-content{flex:1;padding:20px}.library-page-status,.library-page-empty{text-align:center;color:var(--text-muted);font-size:14px;line-height:1.5;padding:40px 16px}.library-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.library-card{background:#faf7f2eb;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.6);border-top:4px solid var(--primary);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 12px #00000014}.library-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.library-card-date{font-size:11px;color:var(--text-muted);font-family:JetBrains Mono,monospace}.library-card-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}.library-card-topic{font-size:13px;color:var(--text-muted);line-height:1.35}.library-card-notes{font-size:13px;color:var(--text);line-height:1.45;opacity:.85}.library-card-tags{display:flex;flex-wrap:wrap;gap:6px}.library-card-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}@media(max-width:768px){.modal-footer--lesson .modal-footer-actions{width:100%;justify-content:stretch}.modal-footer--lesson .modal-footer-actions .btn{flex:1;justify-content:center}.library-page-toolbar,.library-page-content{padding-left:14px;padding-right:14px}.library-card-grid{grid-template-columns:1fr}}@media(max-width:768px){.template-toolbar,.edit-mode-toolbar{padding:10px 14px;font-size:12px}.modal-wrap:has(.modal--fullscreen-mobile){padding:0;align-items:stretch;justify-content:stretch}.modal--fullscreen-mobile{width:100%;max-width:100%;height:calc(var(--vh, 1vh) * 100);height:100dvh;max-height:100dvh;border-radius:0;border:none}.todo-panel{width:100%;height:100dvh}}.print-dropdown{position:relative}.print-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:6px;z-index:200;animation:edit-schedule-menu-in .18s ease}.print-dropdown-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;text-align:left}.print-dropdown-option:hover{background:var(--primary-light)}.print-dropdown-option-icon{flex-shrink:0;color:var(--text-muted)}.print-dialog-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.print-dialog-check input{margin-top:3px;accent-color:var(--primary)}.print-dialog-hint{margin-top:12px;font-size:12px;color:var(--text-muted);line-height:1.5}.print-root{display:none}.print-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #ccc}.print-header-title{font-family:Playfair Display,serif;font-size:20px;font-weight:700;color:#222;line-height:1.1}.print-header-subtitle{display:block;font-family:Nunito,sans-serif;font-size:11px;font-weight:600;color:#666;margin-top:2px}.print-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;color:#444}.print-header-user{font-weight:700;color:#222}.print-header-week{font-family:JetBrains Mono,monospace;font-size:10px}.print-header-date{font-size:10px;color:#777}.print-grid{display:grid;grid-template-columns:34px repeat(5,1fr);gap:3px;width:100%}.print-grid-corner{min-height:28px}.print-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 2px;border-bottom:1px solid #bbb;text-align:center}.print-day-name{font-family:Playfair Display,serif;font-size:11px;font-weight:700;color:#222}.print-day-date{font-family:JetBrains Mono,monospace;font-size:8px;color:#666}.print-period-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px;text-align:center}.print-period-num{font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;color:#333}.print-period-time{font-family:JetBrains Mono,monospace;font-size:7px;color:#888;line-height:1.2}.print-cell{min-height:0}.print-empty-slot{height:100%;min-height:44px;border:1px solid #ddd;border-radius:3px;background:#fff}.print-lesson-card{height:100%;min-height:44px;border:1px solid #ddd;border-top-width:2px;border-top-style:solid;border-radius:3px;padding:3px 4px;background:#fff;display:flex;flex-direction:column;gap:1px}.print-lesson-subject{display:inline-flex;align-items:center;gap:3px;font-size:8px;font-weight:700;letter-spacing:.03em}.print-lesson-title{font-size:8px;font-weight:600;color:#222;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.print-lesson-topic{font-size:7px;color:#666;font-style:italic;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.print-lesson-tags{display:flex;flex-wrap:wrap;gap:2px;margin-top:1px}.print-lesson-tag{font-size:6px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 4px;border:1px solid #ccc;border-radius:2px;color:#555;background:#f5f5f5}.print-lesson-notes{display:none;margin-top:3px;padding-top:3px;border-top:1px dashed #ccc}.print-lesson-note{font-size:7px;color:#666;line-height:1.35;margin:0 0 2px}.print-lesson-note:last-child{margin-bottom:0}.print-lesson-note-label{font-weight:700;color:#888}body.print-with-notes .print-lesson-notes{display:block}.lesson-view-wrap{z-index:1050}.lesson-view-modal{max-width:680px;max-height:min(92vh,920px);display:flex;flex-direction:column}.lesson-view-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;flex-shrink:0}.lesson-view-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}.lesson-view-header-row{display:flex;align-items:center;gap:10px;min-width:0}.lesson-view-header-identity{display:flex;align-items:center;gap:6px;flex-shrink:0}.lesson-view-subject{font-size:12px;padding:2px 8px}.lesson-view-title{flex:1;min-width:0;font-size:18px;font-weight:600;line-height:1.25;color:var(--text);letter-spacing:-.01em;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.lesson-view-meta{margin:0;padding-left:0;font-size:11px;line-height:1.4;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:normal;overflow-wrap:break-word}.lesson-view-header-actions{display:flex;align-items:center;align-self:center;gap:6px;flex-shrink:0}.lesson-view-header-actions .btn-sm{padding:6px 10px;font-size:11px}.lesson-view-header-actions .lesson-view-print-btn{white-space:nowrap}.lesson-view-body{flex:1;min-height:0;overflow-y:auto;padding:4px 20px 24px;display:flex;flex-direction:column;gap:2px}.lesson-view-section{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.06)}.lesson-view-section:last-child{border-bottom:none}.lesson-view-section-title{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.08em;color:#7a7094;display:flex;align-items:center;gap:8px}.lesson-view-topic{margin:0;font-size:16px;line-height:1.4;font-weight:600;color:var(--text)}.lesson-view-output-box{padding:16px 18px;border-radius:var(--radius-md);background:#8faf8f24;border:1px solid rgba(143,175,143,.25);font-size:16px;line-height:1.55;color:var(--text)}.lesson-view-structure-total{display:inline-block;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#5a7a5a;background:#8faf8f26;padding:4px 12px;border-radius:var(--radius-pill)}.lesson-flow-timeline{display:flex;flex-direction:column;gap:0}.lesson-flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.lesson-flow-item{margin:0}.lesson-flow-row{display:flex;align-items:baseline;gap:6px;font-size:15px;line-height:1.45}.lesson-flow-row--no-time{flex-wrap:wrap}.lesson-flow-index{flex:0 0 auto;font-weight:700;color:var(--text-muted);min-width:1.4em}.lesson-flow-name{flex:0 1 auto;font-weight:700;color:var(--text)}.lesson-flow-dots{flex:1 1 auto;min-width:24px;border-bottom:1px dotted rgba(0,0,0,.18);margin:0 4px 3px;transform:translateY(-2px)}.lesson-flow-time{flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.lesson-flow-desc{margin:6px 0 0 1.9em;font-size:13px;line-height:1.55;color:var(--text-muted);white-space:pre-wrap}.lesson-flow-total{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:10px}.lesson-flow-total-line{flex:1 1 auto;border-top:1px solid rgba(0,0,0,.12)}.lesson-flow-total-label{flex:0 0 auto;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:#5a7a5a}.lesson-view-timeline{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:#ffffffa6}.lesson-view-timeline-head,.lesson-view-timeline-row{display:grid;grid-template-columns:1fr 72px 2fr;gap:10px;padding:10px 14px;font-size:13px;line-height:1.45}.lesson-view-timeline-head{background:#8b7cb814;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7a7094}.lesson-view-timeline-row{border-top:1px solid rgba(0,0,0,.05)}.lesson-view-phase-name{font-weight:700;color:var(--text)}.lesson-view-phase-time{font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap}.lesson-view-phase-tip{display:block;margin-top:4px;font-size:12px;color:var(--text-muted);font-style:italic}.lesson-view-prose{margin:0;font-size:16px;line-height:1.65;color:var(--text);white-space:pre-wrap}.lesson-view-materials{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lesson-view-materials li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text)}.lesson-view-diff-grid{display:grid;grid-template-columns:1fr;gap:12px}.lesson-view-diff-col{padding:14px 16px;border-radius:var(--radius-md);background:#fff9;border:1px solid rgba(139,124,184,.12)}.lesson-view-diff-col p{margin:8px 0 0;font-size:15px;line-height:1.55}.lesson-view-diff-label{font-size:13px;font-weight:700;color:#5c5080}.lesson-view-tags{display:flex;flex-wrap:wrap;gap:8px}.lesson-view-attachments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lesson-view-attachment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-md);background:#fff9;border:1px solid var(--border)}.lesson-view-attachment-info{display:flex;align-items:center;gap:10px;min-width:0}.lesson-view-attachment-name{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-view-attachment-size{font-size:11px;color:var(--text-muted)}.lesson-view-empty{text-align:center;padding:48px 20px 32px}.lesson-view-empty-icon{font-size:48px;margin-bottom:12px}.lesson-view-empty-title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 8px}.lesson-view-empty-text{font-size:14px;color:var(--text-muted);margin:0 0 24px;line-height:1.5}.lesson-view-start-btn{margin:0 auto}.day-overview-wrap{z-index:1200}.day-overview-modal{max-width:640px;background:var(--header-bg, #fefcf8)}.day-overview-header{border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:12px}.day-overview-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;line-height:1.2;margin:0}.day-overview-body{background:var(--header-bg, #fefcf8)}.day-overview-document{display:flex;flex-direction:column}.day-overview-period{padding:18px 4px 16px;border-bottom:1px solid rgba(0,0,0,.08)}.day-overview-period--last{border-bottom:none}.day-overview-period-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.day-overview-period-num{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--text-muted);min-width:1.5em}.day-overview-period-subject{font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--day-overview-subject-text, var(--text))}.day-overview-period-time{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted)}.day-overview-topic{font-family:Playfair Display,serif;font-size:18px;font-weight:600;line-height:1.35;color:var(--text);margin-bottom:8px;min-height:1.35em}.day-overview-pages{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;color:var(--text-muted)}.day-overview-page{font-family:JetBrains Mono,monospace;font-size:12px}.day-overview-flow{min-height:8px}.day-overview-flow-empty{min-height:12px}.day-overview-activities{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.day-overview-activity{padding-left:0}.day-overview-activity-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.day-overview-activity-title{font-size:14px;font-weight:700;color:var(--text)}.day-overview-activity-duration{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-muted);white-space:nowrap}.day-overview-activity-desc{display:none;margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text-muted)}.day-overview-empty{margin:0;padding:24px 8px;text-align:center;color:var(--text-muted);font-size:14px}.day-overview-footer .btn{display:inline-flex;align-items:center;gap:8px}.day-overview-print-header,.lesson-view-print-header,.lesson-view-structure-print,.lesson-view-attachments-print,.lesson-view-material-check{display:none}.lesson-view-material-icon{display:inline-flex;flex-shrink:0}.library-card--clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.library-card--clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.library-card--clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(min-width:640px){.lesson-view-diff-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.lesson-view-modal{max-width:none;max-height:none;height:100dvh;border-radius:0}.lesson-view-header{max-height:none;padding:10px 12px;flex-wrap:wrap}.lesson-view-header-actions{align-self:flex-start;flex-wrap:wrap;max-width:100%}.lesson-view-title{font-size:17px;-webkit-line-clamp:2}.lesson-view-body{padding:4px 14px 20px}.lesson-view-timeline-head,.lesson-view-timeline-row{grid-template-columns:1fr 60px 1.5fr;font-size:12px}}@media print{@page{size:A4 landscape;margin:1cm}body{background:#fff!important;background-image:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.header,.schedule-wrap,.schedule-grid-skeleton,.m-day-view,.edit-mode-toolbar,.template-toolbar,.todo-panel,.modal-wrap:not(.lesson-view-wrap):not(.day-overview-wrap),.undo-toast,.m-menu-overlay,.save-indicator,.loading-screen,.print-dropdown,.schedule-fab-stack,.schedule-drag-fab,.feedback-widget,.weekly-reflection-banner,.planner-fabs,.mobile-header{display:none!important}.app,.app--mobile{display:block!important;min-height:0!important}.print-root{display:block!important;width:100%}.print-lesson-card{break-inside:avoid;page-break-inside:avoid}body.print-with-notes .print-lesson-notes{display:block}body.lesson-view-print-open .header,body.lesson-view-print-open .schedule-wrap,body.lesson-view-print-open .schedule-grid-skeleton,body.lesson-view-print-open .m-day-view,body.lesson-view-print-open .edit-mode-toolbar,body.lesson-view-print-open .template-toolbar,body.lesson-view-print-open .todo-panel,body.lesson-view-print-open .undo-toast,body.lesson-view-print-open .m-menu-overlay,body.lesson-view-print-open .save-indicator,body.lesson-view-print-open .loading-screen,body.lesson-view-print-open .print-dropdown,body.lesson-view-print-open .library-page,body.lesson-view-print-open .schedule-fab-stack,body.lesson-view-print-open .schedule-drag-fab,body.lesson-view-print-open .feedback-widget,body.lesson-view-print-open .weekly-reflection-banner,body.lesson-view-print-open .planner-fabs,body.lesson-view-print-open .mobile-header{display:none!important}body.lesson-view-print-open .lesson-view-wrap,body.lesson-view-print-open .lesson-view-wrap--library{display:block!important;position:static!important;inset:auto!important;background:#fff!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.lesson-view-print-open .lesson-view-modal{max-width:none!important;max-height:none!important;height:auto!important;box-shadow:none!important;border:none!important}body.lesson-view-print-open .lesson-view-body{overflow:visible!important}body.lesson-view-print-open .print-root,body.lesson-view-print-open .lesson-view-header{display:none!important}body.lesson-view-print-open .lesson-view-print-header{display:block;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #ccc}body.lesson-view-print-open .lesson-view-print-header-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}body.lesson-view-print-open .lesson-view-print-logo{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:#222}body.lesson-view-print-open .lesson-view-print-user{font-size:12px;font-weight:700;color:#222}body.lesson-view-print-open .lesson-view-print-header-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}body.lesson-view-print-open .lesson-view-print-lesson-title{font-size:15px;font-weight:700;color:#222}body.lesson-view-print-open .lesson-view-print-date{margin:0;font-size:11px;color:#666;font-family:JetBrains Mono,monospace}body.lesson-view-print-open .lesson-view-print-subject,body.lesson-view-print-open .lesson-subject-badge,body.lesson-view-print-open .lesson-tag{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.lesson-view-print-open .lesson-view-section-title{page-break-after:avoid;break-after:avoid-page}body.lesson-view-print-open .lesson-view-topic{font-size:22px;font-weight:800;line-height:1.25;page-break-after:avoid;break-after:avoid-page}body.lesson-view-print-open .lesson-view-output-box{border:2px solid #333;background:#f8f8f8;padding:12px 14px;page-break-inside:avoid;break-inside:avoid-page}body.lesson-view-print-open .lesson-view-timeline,body.lesson-view-print-open .lesson-view-structure-total{display:none!important}body.lesson-view-print-open .lesson-view-structure-print{display:table!important;width:100%;border-collapse:collapse;font-size:11px;page-break-inside:avoid;break-inside:avoid-page}body.lesson-view-print-open .lesson-view-structure-print th,body.lesson-view-print-open .lesson-view-structure-print td{border:1px solid #bbb;padding:6px 8px;text-align:left;vertical-align:top}body.lesson-view-print-open .lesson-view-structure-print th{background:#eee;font-weight:700}body.lesson-view-print-open .lesson-view-structure-print tfoot td{font-weight:700;background:#f5f5f5}body.lesson-view-print-open .lesson-view-print-time{text-align:right;white-space:nowrap}body.lesson-view-print-open .lesson-view-material-icon{display:none!important}body.lesson-view-print-open .lesson-view-material-check{display:inline}body.lesson-view-print-open .lesson-view-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;page-break-inside:avoid;break-inside:avoid-page}body.lesson-view-print-open .lesson-view-tags{gap:4px}body.lesson-view-print-open .lesson-tag{font-size:10px;padding:2px 8px}body.lesson-view-print-open .lesson-view-attachments--screen{display:none!important}body.lesson-view-print-open .lesson-view-attachments-print{display:block;margin:0;padding-left:18px;font-size:12px;color:#222}body.lesson-view-print-open .lesson-view-attachments-print li{margin-bottom:4px}body.lesson-view-print-open .lesson-view-edit-btn,body.lesson-view-print-open .lesson-view-print-btn,body.lesson-view-print-open .lesson-view-close,body.lesson-view-print-open .lesson-view-start-btn{display:none!important}body.lesson-view-print-open .lesson-view-section{border-bottom-color:#ddd;page-break-inside:auto}body.lesson-view-print-open .lesson-view-prose{font-size:12px;line-height:1.5}body.lesson-view-print-open .lesson-view-reflection,body.lesson-view-print-open .lesson-quick-note-btn,body.day-overview-print-open .header,body.day-overview-print-open .schedule-wrap,body.day-overview-print-open .schedule-grid-skeleton,body.day-overview-print-open .m-day-view,body.day-overview-print-open .edit-mode-toolbar,body.day-overview-print-open .template-toolbar,body.day-overview-print-open .todo-panel,body.day-overview-print-open .undo-toast,body.day-overview-print-open .m-menu-overlay,body.day-overview-print-open .save-indicator,body.day-overview-print-open .loading-screen,body.day-overview-print-open .print-dropdown,body.day-overview-print-open .library-page,body.day-overview-print-open .print-root,body.day-overview-print-open .planner-fabs{display:none!important}body.day-overview-print-open .day-overview-wrap{display:block!important;position:static!important;inset:auto!important;background:#fff!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}body.day-overview-print-open .day-overview-modal{max-width:none!important;max-height:none!important;height:auto!important;box-shadow:none!important;border:none!important;background:#fff!important}body.day-overview-print-open .day-overview-body{overflow:visible!important}body.day-overview-print-open .day-overview-header,body.day-overview-print-open .day-overview-footer{display:none!important}body.day-overview-print-open .day-overview-print-header{display:block;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #ccc}body.day-overview-print-open .day-overview-print-header-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}body.day-overview-print-open .day-overview-print-logo{font-family:Playfair Display,serif;font-size:18px;font-weight:700;color:#222}body.day-overview-print-open .day-overview-print-user{font-size:12px;font-weight:700;color:#333}body.day-overview-print-open .day-overview-print-title{margin:0 0 6px;font-family:Playfair Display,serif;font-size:24px;font-weight:700;color:#222}body.day-overview-print-open .day-overview-print-date{margin:0;font-size:11px;color:#666;font-family:JetBrains Mono,monospace}body.day-overview-print-open .day-overview-period{page-break-inside:avoid;break-inside:avoid-page;border-bottom-color:#ccc}body.day-overview-print-open .day-overview-topic{font-size:16px}body.day-overview-print-open .day-overview-activity-desc{display:block}}.weekly-reflection-banner{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin:0 auto 12px;max-width:var(--schedule-max-width, 1200px);padding:12px 16px;background:linear-gradient(135deg,#eef4ff,#f5f0ff);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.weekly-reflection-banner-icon{flex-shrink:0;color:var(--primary)}.weekly-reflection-banner-text{flex:1;min-width:200px;margin:0;font-size:14px;color:var(--text)}.weekly-reflection-banner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.archive-readonly-banner{margin:0 auto 12px;max-width:var(--schedule-max-width, 1200px);padding:10px 16px;text-align:center;font-size:13px;font-weight:600;color:#8a6d3b;background:#fff8e6;border:1px solid #f0d78c;border-radius:var(--radius-md)}.school-year-dropdown{position:relative;flex-shrink:0}.school-year-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;border-radius:var(--radius-pill);background:transparent;color:var(--text)}.school-year-trigger:hover{background:var(--primary-light)}.school-year-trigger--open{background:var(--surface-muted)}.school-year-chevron{transition:transform .15s ease}.school-year-chevron--open{transform:rotate(180deg)}.school-year-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:400;min-width:100px;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.school-year-option{display:block;width:100%;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:13px;text-align:left;cursor:pointer}.school-year-option:hover{background:var(--surface-muted)}.school-year-option--active{background:var(--primary);color:#fff;font-weight:600}.school-year-option--active:hover{background:var(--primary-hover);color:#fff}.m-menu-school-year{display:flex;justify-content:center;margin-bottom:8px}.m-menu-school-year .school-year-trigger{background:var(--menu-hover, var(--primary-light));color:var(--menu-text, var(--text))}.m-menu-school-year .school-year-trigger:hover,.m-menu-school-year .school-year-trigger--open{background:var(--menu-hover, var(--primary-light))}.m-menu-school-year .school-year-option--active{background:var(--primary);color:#fff}.m-menu-school-year .school-year-option--active:hover{background:var(--primary-hover);color:#fff}.week-reflection-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.week-reflection-dot--green{background:#4caf50}.week-reflection-dot--yellow{background:#ffc107}.week-reflection-dot--red{background:#ef5350}.weekly-reflection-modal{max-width:480px}.weekly-reflection-modal .modal-header{background:#fff;border-bottom:1px solid var(--border)}.weekly-reflection-week{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.weekly-reflection-field{display:block;margin-bottom:16px}.weekly-reflection-label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text)}.weekly-reflection-stars{display:flex;gap:4px}.weekly-reflection-star{padding:2px;border:none;background:transparent;cursor:pointer;line-height:0}.weekly-reflection-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:14px;resize:vertical}.weekly-reflection-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.fill-days-modal{max-width:min(680px,98vw)}.fill-days-modal-desc{margin:0 0 12px;font-size:13px;color:var(--text-muted);line-height:1.45}.fill-days-toggle-all{margin-bottom:12px}.fill-days-grid{display:grid;grid-template-columns:32px repeat(8,minmax(0,1fr));gap:4px;align-items:stretch}.fill-days-cell{min-height:34px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1.1;text-align:center;border-radius:8px}.fill-days-cell--corner{visibility:hidden}.fill-days-cell--day-header{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;color:var(--text-muted);justify-content:flex-end;padding-right:4px}.fill-days-cell--period{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:var(--text-muted);padding:2px 0 4px}.fill-days-cell--slot{border:1.5px solid transparent;background:#0000000a;color:var(--text-muted);cursor:default;padding:4px 2px;font-family:Nunito,sans-serif}.fill-days-cell--empty{opacity:.35;background:#00000008}.fill-days-cell--filled{opacity:.45;background:#0000000f;color:var(--text-muted)}.fill-days-cell--available{cursor:pointer;border-color:#0000001a;background:#fefcf8f2;color:var(--text)}.fill-days-cell--available:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}.fill-days-cell--selected{box-shadow:0 0 0 2px #fefcf8e6,0 0 0 3px var(--primary)}.fill-days-cell--slot:disabled{cursor:not-allowed}.edit-schedule-trigger--disabled{opacity:.5;pointer-events:none}.lesson-reflection-ai-btn{margin-top:10px}.lesson-reflection-ai-error{margin:10px 0 0;font-size:13px;color:var(--danger, #c62828)}.lesson-reflection-ai-tips{display:flex;flex-direction:column;gap:10px;margin-top:14px}.lesson-reflection-tip-card{padding:12px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md)}.lesson-reflection-tip-title{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--text)}.lesson-reflection-tip-desc{margin:0;font-size:13px;line-height:1.45;color:var(--text-muted)}.lesson-reflection-library-btn{align-self:flex-start;margin-top:4px}@media(max-width:768px){.weekly-reflection-banner{flex-direction:column;align-items:stretch;text-align:center}.weekly-reflection-banner-actions{justify-content:center}}.stats-page{min-height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column;background:var(--bg)}.stats-page-header{display:flex;align-items:center;gap:12px;padding:28px 24px 18px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.stats-page-title{font-family:Playfair Display,serif;font-size:22px;font-weight:700;color:var(--primary);margin:0}.stats-page-subtitle{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.stats-page-layout{flex:1;min-height:0;display:grid;grid-template-columns:45% 55%;gap:20px;align-items:start;width:100%;max-width:1280px;margin:0 auto;padding:20px 24px 32px;box-sizing:border-box}.stats-page-col{min-width:0;display:flex;flex-direction:column;gap:12px}.stats-page-col--reflection{position:sticky;top:12px;align-self:start}.stats-page-col-title{margin:0;font-family:Playfair Display,serif;font-size:20px;font-weight:700;color:var(--text)}.stats-page-col-body{min-width:0}.stats-week-select-label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.stats-week-picker-row{display:flex;align-items:center;justify-content:center;gap:4px}.stats-week-picker-row .week-picker{flex:1;max-width:220px}.stats-week-picker-row .week-badge{width:100%}.stats-week-select{width:100%;margin:0;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-family:Nunito,sans-serif;font-size:13px;font-weight:600;color:var(--text);line-height:1.35;overflow-y:auto;max-height:168px;box-shadow:var(--shadow-soft)}.stats-week-select:focus{outline:2px solid var(--primary);outline-offset:2px}.stats-week-select option{padding:6px 4px}.stats-page-col--reflection .weekly-reflection-form{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.weekly-reflection-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.weekly-reflection-form-week{margin:0 0 12px}.stats-page-content{flex:1;width:100%;min-width:0}.stats-section{margin-bottom:32px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.stats-section-title{display:flex;align-items:center;gap:10px;margin:0 0 18px;font-size:18px;font-weight:700;color:var(--text)}.stats-empty{text-align:center;padding:64px 24px;color:var(--text-muted)}.stats-empty-icon{margin-bottom:12px;color:var(--primary);opacity:.7}.stats-skeleton{display:flex;flex-direction:column;gap:16px}.stats-skeleton-block{height:140px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--surface-muted) 25%,var(--surface) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:stats-shimmer 1.2s infinite}@keyframes stats-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stats-subject-chart{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.stats-subject-row{display:block;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.stats-subject-row:hover,.stats-subject-row--active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.stats-subject-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.stats-subject-badge{font-size:12px}.stats-subject-meta{font-size:13px;font-weight:600;color:var(--text-muted)}.stats-bar-track{height:10px;background:var(--surface-muted);border-radius:var(--radius-pill);overflow:hidden}.stats-bar-fill{height:100%;border-radius:var(--radius-pill);min-width:4px;transition:width .3s ease}.stats-filter-note{margin:0 0 12px;font-size:13px;color:var(--text-muted)}.stats-lessons-table-wrap{overflow-x:auto}.stats-lessons-table{width:100%;border-collapse:collapse;font-size:13px}.stats-lessons-table th,.stats-lessons-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.stats-lessons-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-muted)}.stats-lessons-row{cursor:pointer;transition:background .12s ease}.stats-lessons-row:hover{background:var(--primary-light)}.stats-stars{display:inline-flex;gap:2px;vertical-align:middle}.stats-weekly-summary{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:18px}.stats-weekly-average{display:flex;flex-direction:column;gap:4px;min-width:160px}.stats-weekly-average-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.stats-weekly-average-value{font-size:32px;font-weight:800;color:var(--primary);line-height:1}.stats-trend{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.stats-trend--up{color:#2e7d32}.stats-trend--down{color:#c62828}.stats-timeline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:200px;padding:12px 0}.stats-timeline-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;cursor:default;box-shadow:0 0 0 2px var(--surface)}.stats-timeline-dot.week-reflection-dot--green{background:#4caf50}.stats-timeline-dot.week-reflection-dot--yellow{background:#ffc107}.stats-timeline-dot.week-reflection-dot--red{background:#ef5350}.stats-dot--neutral{background:var(--text-muted)}.stats-weekly-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.stats-weekly-card{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;line-height:1.45}.stats-weekly-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-weight:700}.stats-weekly-plan{display:flex;align-items:center;gap:6px;margin-top:8px;margin-bottom:0;color:var(--text-muted)}.stats-plan-yes{color:#2e7d32}.stats-plan-no{color:#c62828}.stats-word-group{margin-bottom:16px}.stats-word-group-title{margin:0 0 10px;font-size:14px;font-weight:700}.stats-word-tags{display:flex;flex-wrap:wrap;gap:8px}.stats-word-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);font-weight:600;line-height:1.2}.stats-word-tags--good .stats-word-tag{background:#e8f5e9;color:#2e7d32}.stats-word-tags--improve .stats-word-tag{background:#fff3e0;color:#e65100}.stats-word-count{font-size:.75em;opacity:.75}.stats-ai-btn{margin-bottom:12px}.stats-ai-error{color:var(--danger, #c62828);font-size:13px}.stats-ai-hint{font-size:14px;color:var(--text-muted);margin:0}.stats-ai-summary{display:flex;flex-direction:column;gap:18px;margin-top:16px}.stats-ai-summary-block h3{margin:0 0 10px;font-size:15px;font-weight:700}.stats-ai-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.stats-ai-card{padding:12px 14px;border-radius:var(--radius-md);font-size:13px;line-height:1.45;border:1px solid var(--border)}.stats-ai-card--strength{background:#eef7ee}.stats-ai-card--improve{background:#fff8e6}.stats-ai-card--tip{background:#eef4ff}@media(max-width:768px){.stats-page-header{padding:20px 16px 14px}.stats-page-layout{grid-template-columns:1fr;gap:24px;padding:16px}.stats-page-col--reflection{position:static;order:1}.stats-page-col--stats{order:2}.stats-section{padding:14px}.stats-lessons-table th:nth-child(5),.stats-lessons-table td:nth-child(5),.stats-lessons-table th:nth-child(6),.stats-lessons-table td:nth-child(6){display:none}}.library-tabs{display:flex;gap:8px;padding:12px 20px 0;background:var(--surface);border-bottom:1px solid var(--border)}.library-tab{padding:10px 16px;border:none;border-bottom:2px solid transparent;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.library-tab:hover{color:var(--text)}.library-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.library-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:10px;font-weight:700;margin-left:4px}.library-email-share-message{margin:8px 0 0;font-size:13px;font-style:italic;color:var(--text-muted);line-height:1.5}.library-accepted-badge{font-size:12px;font-weight:700;color:var(--primary)}.email-share-subtitle{font-size:14px;font-weight:700;color:var(--text);margin:0 0 16px}.label-optional{font-size:11px;font-weight:400;color:var(--text-muted)}.share-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:2000;background:var(--primary);color:#fff;padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 4px 16px #0000002e;animation:share-toast-in .2s ease}@keyframes share-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.library-domain-warning,.library-share-warning{margin:0;padding:12px 20px;font-size:13px;line-height:1.45;color:#8a6d3b;background:#fff8e6;border-bottom:1px solid #f0d78c}.library-share-warning{padding:0;background:transparent;border:none;margin-top:10px}.library-export-all-btn{margin-left:auto}.library-page-header{flex-wrap:wrap}.library-import-input{display:none}.library-import-btn{flex-shrink:0;white-space:nowrap}.library-shared-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;background:#eef4ff;color:var(--primary)}.library-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.library-shared-meta{margin:8px 0 0;font-size:12px;color:var(--text-muted)}.template-import-summary{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.template-import-duplicates{margin-bottom:16px;padding:12px 14px;background:#fff8e6;border:1px solid #f0d78c;border-radius:var(--radius-md)}.template-import-duplicates-label{margin:0 0 8px;font-size:13px;font-weight:600}.template-import-mode{display:flex;flex-wrap:wrap;gap:16px}.template-import-mode-option{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.template-import-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto}.template-import-item{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.template-import-item--duplicate{border-color:#f0d78c;background:#fffdf5}.template-import-item-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.template-import-item-title{font-weight:600;font-size:14px}.template-import-warning{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8a6d3b}@media(max-width:768px){.library-export-all-btn{width:100%;margin-left:0;margin-top:8px}.library-card-actions{flex-wrap:wrap}}.help-tooltip-wrap{position:relative;display:inline-flex;align-items:center;vertical-align:middle}.help-tooltip-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#00000014;color:var(--text-muted);font-size:10px;font-weight:700;line-height:1;cursor:help}.help-tooltip-btn:hover,.help-tooltip-wrap:focus-within .help-tooltip-btn{background:var(--primary-light);color:var(--primary-dark)}.help-tooltip-bubble{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);z-index:300;width:max-content;max-width:240px;padding:8px 10px;border-radius:10px;background:#3d2e39;color:#fefcf8;font-size:12px;font-weight:500;line-height:1.4;box-shadow:0 6px 20px #0000002e;opacity:0;pointer-events:none;transition:opacity .15s ease}.help-tooltip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#3d2e39}.help-tooltip-wrap:hover .help-tooltip-bubble,.help-tooltip-wrap:focus-within .help-tooltip-bubble{opacity:1}.ai-advisor-toggle-wrap,.ai-settings-link-wrap,.library-tab--with-help{display:inline-flex;align-items:center;gap:6px}.stats-section-title{display:flex;align-items:center;gap:8px}.schedule-empty-state{margin:0 16px 12px;padding:14px 18px;border-radius:14px;background:#fefcf8eb;border:1px dashed #d4c8bc;text-align:center}.schedule-empty-state-text{margin:0;font-size:14px;color:var(--text-muted)}.whiteboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;display:flex;flex-direction:column;background:var(--header-bg, #fefcf8)}.whiteboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.whiteboard-title{margin:0;font-size:18px;font-weight:700;color:var(--text)}.whiteboard-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.whiteboard-export-btn{white-space:nowrap}.whiteboard-close-btn{flex-shrink:0}.whiteboard-canvas{flex:1;min-height:0;position:relative}.whiteboard-canvas .excalidraw{height:100%}.whiteboard-loading{display:flex;align-items:center;justify-content:center;height:100%;margin:0;color:var(--text-muted);font-size:15px}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:#3d2e3959}.onboarding-modal{width:min(560px,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;border-radius:24px;background:var(--header-bg, #fefcf8);box-shadow:0 24px 64px #3d2e3933;overflow:hidden}.onboarding-stepper{display:flex;justify-content:center;gap:10px;padding:20px 20px 8px}.onboarding-stepper-dot{width:10px;height:10px;border-radius:50%;background:#e8dfd4;transition:background .2s ease,transform .2s ease}.onboarding-stepper-dot--active{background:var(--primary);transform:scale(1.15)}.onboarding-stepper-dot--done{background:color-mix(in srgb,var(--primary) 45%,transparent)}.onboarding-body{flex:1;overflow:auto;padding:8px 28px 12px}.onboarding-step{animation:onboarding-slide-in .28s ease}.onboarding-step--forward{animation-name:onboarding-slide-in}@keyframes onboarding-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.onboarding-emoji{font-size:42px;line-height:1;margin-bottom:12px}.onboarding-title{margin:0 0 12px;font-family:Playfair Display,serif;font-size:26px;color:#3d2e39}.onboarding-text,.onboarding-hint{margin:0 0 16px;font-size:15px;line-height:1.55;color:var(--text-muted)}.onboarding-label{display:block;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text)}.onboarding-input{width:100%;margin-bottom:14px;padding:11px 14px;border:1px solid #d4c8bc;border-radius:12px;background:#fff;font-size:15px}.onboarding-input:focus{outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);border-color:var(--primary)}.onboarding-message{margin:-6px 0 12px;font-size:13px;line-height:1.45}.onboarding-message--error{color:#b45309}.onboarding-message--warn{color:#9a6700}.onboarding-toggle{display:inline-flex;gap:8px;margin-bottom:16px;padding:4px;border-radius:999px;background:#f0eae0}.onboarding-toggle-pill{padding:8px 18px;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer}.onboarding-toggle-pill--active{background:#fff;color:var(--primary-dark);box-shadow:0 2px 8px #0000000f}.onboarding-primary-btn{margin-top:8px}.onboarding-choices{display:flex;flex-direction:column;gap:12px}.onboarding-choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:16px 18px;border:1px solid #d4c8bc;border-radius:16px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.onboarding-choice-card:hover:not(:disabled){border-color:var(--primary);box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 12%,transparent);transform:translateY(-1px)}.onboarding-choice-card--muted{background:#faf7f2}.onboarding-choice-card:disabled{opacity:.65;cursor:wait}.onboarding-choice-icon{font-size:22px;line-height:1}.onboarding-choice-title{font-size:16px;font-weight:700;color:#3d2e39}.onboarding-choice-desc{font-size:13px;line-height:1.45;color:var(--text-muted)}.onboarding-footer{padding:12px 20px 18px;border-top:1px solid #ece4da}.onboarding-skip-all{color:var(--text-muted);font-size:13px}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.landing-page{position:relative;min-height:calc(var(--vh, 1vh) * 100);background:transparent;overflow-x:hidden;isolation:isolate;--primary: #1a3a4a;--primary-hover: #16384a;--primary-light: rgba(26, 58, 74, .1);--text: #3d2e39;--text-muted: #8a7a82}.landing-container{width:min(1120px,calc(100% - 40px));margin:0 auto}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:transparent;border-bottom:1px solid transparent;color:#fff;transition:background .3s ease,backdrop-filter .3s ease,border-color .3s ease}.landing-nav--scrolled{background:#1a3a4aa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:#ffffff1f}.landing-nav-brand{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.landing-page .landing-nav .eduard-logo__title{color:#fff!important}.landing-page .landing-footer .eduard-logo__title{color:#1a3a4a!important}.landing-nav-links{display:flex;align-items:center;gap:8px}.landing-nav-links button{border:none;background:transparent;font-family:Nunito,sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;padding:8px 12px;border-radius:var(--radius-pill)}.landing-nav-links button:hover{color:#fff;background:#ffffff1f}.landing-nav-support{font-family:Nunito,sans-serif;font-size:14px;font-weight:700;color:#fff;text-decoration:none;padding:8px 20px;border-radius:999px;background:transparent;border:1.5px solid rgba(255,255,255,.7);box-sizing:border-box;transition:color .15s ease,background .15s ease,border-color .15s ease}.landing-nav-support:hover{color:#fff;background:#ffffff1a;border-color:#fff}.landing-nav-login{margin-left:4px;background:transparent!important;border:1.5px solid rgba(255,255,255,.7)!important;color:#fff!important;border-radius:999px!important;padding:8px 20px!important;font-size:14px!important;box-sizing:border-box}.landing-nav-login:hover{background:#ffffff1a!important;border-color:#fff!important;color:#fff!important}@media(max-width:768px){.landing-nav-support{display:none}}.landing-nav-toggle{display:none;border:none;background:transparent;color:#fff;cursor:pointer}.landing-hero{position:relative;z-index:1;min-height:calc(var(--vh, 1vh) * 100);display:flex;align-items:center;padding:88px 20px 64px;background-image:url(/theme-ocean.png);background-size:cover;background-position:center;overflow:hidden}.landing-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0f28378c;pointer-events:none;z-index:0}.landing-hero-inner{position:relative;z-index:1;width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.landing-badge{display:inline-flex;padding:8px 14px;border-radius:var(--radius-pill);background:#7ba7bc26;color:#5a7a8a;font-size:13px;font-weight:700;margin-bottom:18px}.landing-badge--alpha{background:#1a3a4a14;color:#1a3a4a;border:1px solid #1a3a4a}.landing-hero .landing-badge--alpha{background:#ffffff1f;color:#f0f8f8;border:1px solid rgba(255,255,255,.35)}.landing-hero-title{font-family:Nunito,sans-serif;font-size:52px;font-weight:800;line-height:1.08;letter-spacing:-.02em;color:var(--text);margin-bottom:18px}.landing-hero .landing-hero-title{color:#fff}.landing-hero-title-accent{font-family:Playfair Display,serif;font-style:italic;font-weight:700;font-size:1.08em;color:#1a3a4a}.landing-hero .landing-hero-title-accent{color:#ffffffd9}.landing-hero-subtitle{font-size:18px;line-height:1.6;color:#6b5b6e;max-width:520px;margin-bottom:28px}.landing-hero .landing-hero-subtitle{color:#ffffffbf}.landing-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.landing-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);padding:13px 22px;font-family:Nunito,sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;border:none}.landing-btn:hover{transform:scale(1.02)}.landing-btn--primary{background:#1a3a4a;color:#fff;box-shadow:0 8px 24px #1a3a4a40}.landing-btn--primary:hover{background:#16384a}.landing-btn--outline{background:transparent;color:#3d2e39;border:1.5px solid rgba(26,58,74,.35)}.landing-btn--outline:hover{background:#1a3a4a14}.landing-btn--lg{padding:15px 28px;font-size:16px}.landing-hero-trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;font-weight:600;color:#1a3a4a;margin:0}.landing-hero .landing-hero-trust{color:#ffffffb3}.landing-hero .landing-btn--outline{color:#fff;border:1.5px solid rgba(255,255,255,.7)}.landing-hero .landing-btn--outline:hover{background:#ffffff1a}.landing-hero-visual{display:flex;justify-content:center;perspective:1200px}.landing-browser-frame{width:100%;max-width:520px;background:#e8e4dc;border-radius:12px;overflow:hidden;box-shadow:0 32px 64px #00000026,0 8px 16px #00000014;transform:perspective(1200px) rotateX(4deg) rotateY(-3deg);animation:landing-float 4s ease-in-out infinite}.landing-browser-chrome{display:flex;align-items:center;justify-content:center;position:relative;padding:10px 14px;background:#ebe7df;border-bottom:1px solid rgba(0,0,0,.06)}.landing-browser-dots{position:absolute;left:14px;display:inline-flex;gap:6px}.landing-browser-dots span{width:9px;height:9px;border-radius:50%;background:#c8c2b8}.landing-browser-dots span:nth-child(1){background:#e8a598}.landing-browser-dots span:nth-child(2){background:#e8d49a}.landing-browser-dots span:nth-child(3){background:#7ba7bc}.landing-browser-url{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500;color:#6b5b6e;letter-spacing:.02em}.landing-browser-viewport{background:#faf7f2;line-height:0}.landing-browser-screenshot{display:block;width:100%;height:auto}.landing-social-strip{position:relative;z-index:1;text-align:center;padding:14px 20px;background:#f0ede6;border-top:1px solid rgba(26,58,74,.12);border-bottom:1px solid rgba(26,58,74,.12)}.landing-social-strip p{margin:0;font-size:13px;font-weight:600;color:#1a3a4a}.landing-section-title{font-family:Playfair Display,serif;font-size:36px;line-height:1.15;text-align:center;margin-bottom:36px;color:var(--text)}.landing-features{position:relative;z-index:1;padding:88px 0}.landing-features-rows{display:flex;flex-direction:column;gap:64px}.landing-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.landing-feature-row--reverse{direction:rtl}.landing-feature-row--reverse>*{direction:ltr}.landing-feature-copy h3{display:flex;align-items:center;gap:10px;font-family:Playfair Display,serif;font-size:32px;line-height:1.15;margin:0 0 16px;color:var(--text)}.landing-feature-icon{font-size:28px;line-height:1}.landing-feature-description{font-size:17px;line-height:1.65;color:#6b5b6e;margin:0 0 20px}.landing-feature-bullets{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.landing-feature-bullets li{position:relative;padding-left:22px;font-size:15px;font-weight:600;color:#1a3a4a;line-height:1.45}.landing-feature-bullets li:before{content:"✓";position:absolute;left:0;color:#1a3a4a;font-weight:800}.landing-feature-visual{min-height:220px;border-radius:20px;background:linear-gradient(145deg,#ffffffeb,#f0ebe3);border:1px solid rgba(0,0,0,.06);padding:20px;box-shadow:var(--shadow-soft);overflow:hidden}.landing-story{position:relative;z-index:1;padding:88px 0;background:#1a3a4ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#f5f2ec}.landing-story-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}.landing-story-quote{margin:0;padding:0;border:none}.landing-story-quote p{font-family:Playfair Display,serif;font-size:48px;font-style:italic;font-weight:600;line-height:1.3;color:#faf7f2;margin:0}.landing-story-lines{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:28px}.landing-story-lines li{display:flex;align-items:flex-start;gap:16px;font-size:17px;line-height:1.55;color:#f5f2eceb;font-weight:500}.landing-story-line-icon{flex-shrink:0;font-size:26px;line-height:1}.landing-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;height:100%;align-content:center}.landing-mini-grid-cell{padding:14px 10px;border-radius:10px;text-align:center;font-size:12px;font-weight:800;background:#b8cbe859;animation:landing-card-fill .5s ease forwards;animation-delay:var(--cell-delay);opacity:0}.landing-mini-grid-cell:nth-child(2),.landing-mini-grid-cell:nth-child(4){background:#1a3a4a2e}.landing-mini-ai{display:flex;flex-direction:column;gap:8px}.landing-mini-ai-head{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#5c5080}.landing-mini-ai-line{height:8px;border-radius:999px;background:#8b7cb826}.landing-mini-ai-line--1{width:78%}.landing-mini-ai-line--2{width:56%}.landing-mini-ai-line--3{width:42%}.landing-mini-ai-typing{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.landing-mini-ai-cursor{width:2px;height:12px;background:#8b7cb8;animation:landing-blink 1s step-end infinite}.landing-mini-library{display:flex;flex-direction:column;gap:8px}.landing-mini-library-card{padding:10px 12px;border-radius:10px;background:#ffffffd9;border:1px solid rgba(0,0,0,.06);animation:landing-card-fill .45s ease forwards;animation-delay:var(--card-delay);opacity:0}.landing-mini-library-card strong{display:block;font-size:12px;margin-bottom:2px}.landing-mini-library-card span{font-size:10px;color:var(--text-muted)}.landing-cta-section{position:relative;z-index:1;padding:96px 0;background:linear-gradient(180deg,#f5f0e8,#ede8e0)}.landing-cta-inner{margin:0 auto;text-align:center;max-width:560px}.landing-cta-title{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,44px);line-height:1.12;color:var(--text);margin:0 0 16px}.landing-cta-subtitle{font-size:18px;line-height:1.6;color:#6b5b6e;margin:0 0 28px}.landing-cta-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.landing-cta-actions .landing-btn{height:52px;padding:14px 28px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:var(--radius-pill)}.landing-cta-actions .landing-cta-bmc-link{margin-top:0}.landing-cta-support{margin:20px 0 0;font-size:14px;color:var(--text-muted)}.landing-cta-support a{color:#1a3a4a;font-weight:700;text-decoration:none}.landing-cta-support a:hover{text-decoration:underline}.landing-footer{position:relative;z-index:1;padding:24px 0 32px;border-top:1px solid rgba(0,0,0,.06)}.landing-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;color:var(--text-muted)}.landing-footer-left{display:flex;flex-direction:column;gap:4px}.landing-footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.landing-footer-brand{display:inline-flex;align-items:center;grid-column:1;grid-row:1}.landing-footer-made{margin:0;grid-column:2;grid-row:1;text-align:center;font-weight:600;color:#6b5b6e}.landing-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:16px;grid-column:3;grid-row:1}.landing-footer-links a{color:#1a3a4a;font-weight:700;text-decoration:none;font-family:Nunito,sans-serif;font-size:13px}.landing-footer-links a:hover{text-decoration:underline}.landing-footer-copy{margin:0;grid-column:1 / -1;grid-row:2;text-align:center;font-size:12px}.landing-footer-link{border:none;background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:#1a3a4a;cursor:pointer;padding:0}.landing-footer-link:hover{text-decoration:underline}.landing-login-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:#3d2e3959;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.landing-login-modal{width:100%;max-width:420px}.login-card--modal{position:relative;margin:0}.login-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:none;border-radius:50%;background:#ffffffd9;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}@keyframes landing-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes landing-card-fill{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes landing-blink{0%,to{opacity:1}50%{opacity:0}}@media(max-width:900px){.landing-nav-toggle{display:inline-flex}.landing-nav-links{position:fixed;top:65px;left:0;right:0;flex-direction:column;align-items:stretch;padding:12px 20px 16px;background:#1a3a4a;border-bottom:1px solid rgba(255,255,255,.12);display:none}.landing-nav-links--open{display:flex}.landing-nav-login{margin-left:0!important}.landing-hero-inner{grid-template-columns:1fr;gap:36px}.landing-hero-title{font-size:40px}.landing-hero-subtitle{font-size:16px}.landing-browser-frame{transform:none;max-width:100%}.landing-feature-row,.landing-feature-row--reverse{grid-template-columns:1fr;direction:ltr;gap:28px}.landing-feature-copy h3{font-size:26px}.landing-story-inner{grid-template-columns:1fr;gap:40px}.landing-story-quote p{font-size:32px}.landing-section-title,.landing-cta-title{font-size:30px}.landing-footer-inner{flex-direction:column;text-align:center}.landing-footer-left,.landing-footer-right{align-items:center}.landing-footer-links{grid-row:auto;justify-content:center}.landing-footer-links{flex-wrap:wrap}}.terms-page{min-height:calc(var(--vh, 1vh) * 100);background:#f5f2ec;padding:32px 20px 64px}.terms-page__inner{width:min(800px,100%);margin:0 auto}.terms-page__header{margin-bottom:32px}.terms-page__brand{display:inline-flex;text-decoration:none;color:inherit}.terms-page__title{font-family:Playfair Display,serif;font-size:clamp(32px,5vw,44px);line-height:1.15;color:var(--text);margin:0 0 8px}.terms-page__updated{font-family:Nunito,sans-serif;font-size:14px;color:var(--text-muted);margin:0 0 40px}.terms-page__sections{display:flex;flex-direction:column;gap:32px;margin-bottom:48px}.terms-page__section-title{font-family:Playfair Display,serif;font-size:24px;line-height:1.2;color:#4a6741;margin:0 0 12px}.terms-page__text{font-family:Nunito,sans-serif;font-size:16px;line-height:1.65;color:#6b5b6e;margin:0 0 10px}.terms-page__text:last-child{margin-bottom:0}.terms-page__text a{color:#4a6741;font-weight:600;text-decoration:underline;text-underline-offset:2px}.terms-page__text a:hover{color:#3a5234}.terms-page__back{text-decoration:none}.landing-footer-link--anchor{border:none;background:transparent;font-family:Nunito,sans-serif;font-size:13px;font-weight:700;color:#1a3a4a;text-decoration:none;cursor:pointer;padding:0}.landing-footer-link--anchor:hover{text-decoration:underline}.landing-cta-bmc-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;text-decoration:none;color:#1a3a4a}.landing-btn--secondary{background:transparent;color:#1a3a4a;border:2px solid #1a3a4a}.landing-btn--secondary:hover{background:#1a3a4a14}.m-menu-item--link{text-decoration:none;color:inherit}.m-menu-panel .schedule-view-pill:not(.schedule-view-pill--active):not(:disabled){background:color-mix(in srgb,var(--menu-text, var(--text)) 8%,var(--menu-hover, var(--primary-light)));color:var(--menu-text, var(--text))}.m-menu-panel .schedule-layout-toggle{background:var(--menu-hover, var(--primary-light));border-color:var(--menu-border, var(--border))}.m-menu-panel .schedule-layout-toggle-btn:not(.schedule-layout-toggle-btn--active){color:var(--menu-text-muted, var(--text-muted))}.m-menu-panel .schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active){background:color-mix(in srgb,var(--menu-text, var(--text)) 10%,var(--menu-hover, var(--primary-light)));color:var(--menu-text, var(--text))}.m-menu-panel .week-picker-popover{background:var(--menu-surface, var(--surface));border-color:var(--menu-border, var(--border));color:var(--menu-text, var(--text))}body.theme-ocean .m-menu-panel{background:var(--menu-surface);border-left-color:var(--menu-border);color:var(--menu-text)}body.theme-ocean .m-menu-title,body.theme-ocean .m-menu-item,body.theme-ocean .m-menu-header .btn-ghost,body.theme-ocean .m-menu-panel .btn-today,body.theme-ocean .m-menu-school-year .school-year-trigger,body.theme-ocean .m-menu-panel .schedule-view-pill:not(.schedule-view-pill--active),body.theme-ocean .m-menu-panel .schedule-layout-toggle-btn:not(.schedule-layout-toggle-btn--active){color:var(--menu-text)}body.theme-ocean .m-menu-header .btn-ghost svg,body.theme-ocean .m-menu-item svg{color:currentColor}body.theme-ocean .m-menu-item:hover,body.theme-ocean .m-menu-item:active,body.theme-ocean .m-menu-header .btn-ghost:hover:not(:disabled),body.theme-ocean .m-menu-school-year .school-year-trigger:hover,body.theme-ocean .m-menu-panel .btn-today:hover{background:var(--menu-hover);color:var(--menu-text)}body.theme-ocean .m-menu-panel .btn-today{color:var(--primary-dark);border-color:var(--primary-dark)}body.theme-ocean .m-menu-divider{background:var(--menu-border)}body.theme-ocean .modal-close,body.theme-ocean .login-modal-close{color:var(--menu-text)!important;background:#f5faf9eb!important;border-color:var(--menu-border)!important}body.theme-ocean .modal-close:hover,body.theme-ocean .login-modal-close:hover{background:#fff!important;color:var(--menu-text)!important}body.theme-ocean .modal-close svg,body.theme-ocean .login-modal-close svg{color:currentColor!important}body.theme-ocean .ai-advisor-close,body.theme-ocean .activity-idea-close,body.theme-ocean .feedback-panel-close{color:var(--menu-text)!important}body.theme-ocean .ai-advisor-close{background:#f5faf9d9!important}body.theme-ocean .ai-advisor-close:hover{background:#fffffff2!important;color:var(--menu-text)!important}body.theme-ocean .activity-idea-close:hover{background:#c8a85a26!important;color:#2a2010!important}body.theme-ocean .feedback-panel-close:hover{background:#f5faf9e6!important;color:var(--menu-text)!important}body.theme-ocean .lesson-view-modal,body.theme-ocean .modal--lesson,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal,body.theme-ocean .modal-box{--text: var(--modal-text);--text-muted: var(--modal-text-muted);--bg: var(--modal-bg);--surface: var(--modal-surface);--border: var(--menu-border);--primary-light: rgba(74, 154, 138, .14);background:var(--menu-surface)!important;color:var(--modal-text)!important}body.theme-ocean .modal-header--gradient .modal-header-title,body.theme-ocean .modal-header--gradient .modal-title,body.theme-ocean .modal-header--gradient h2,body.theme-ocean .modal-header--gradient .modal-subject{color:var(--modal-text)!important;text-shadow:0 1px 2px rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.55)}body.theme-ocean .modal-header--gradient .modal-header-desc,body.theme-ocean .modal-header--gradient .modal-meta,body.theme-ocean .modal-header--gradient .modal-subject--muted{color:var(--modal-text-muted)!important;text-shadow:0 1px 2px rgba(255,255,255,.9)}body.theme-ocean .lesson-view-modal .modal-header,body.theme-ocean .modal--lesson .modal-header,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-header,body.theme-ocean .modal-box .modal-header,body.theme-ocean .lesson-view-modal .modal-body,body.theme-ocean .modal--lesson .modal-body,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-body,body.theme-ocean .modal-box .modal-body,body.theme-ocean .modal--lesson .modal-content,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-content,body.theme-ocean .modal--lesson .lesson-modal-form-pane,body.theme-ocean .modal--lesson .lesson-modal-layout,body.theme-ocean .modal--lesson .lesson-modal-ai-pane{color:var(--modal-text)!important}body.theme-ocean .lesson-view-modal .modal-body,body.theme-ocean .modal--lesson .modal-body,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-body,body.theme-ocean .modal-box .modal-body,body.theme-ocean .modal--lesson .modal-content,body.theme-ocean .modal--lesson .lesson-modal-form-pane{background:var(--menu-surface)}body.theme-ocean .lesson-view-modal .modal-footer,body.theme-ocean .lesson-view-modal .modal-footer--lesson,body.theme-ocean .modal--lesson .modal-footer,body.theme-ocean .modal--lesson .modal-footer--lesson,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-footer,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-footer--lesson{background:var(--modal-surface);border-top-color:var(--menu-border);color:var(--modal-text)!important}body.theme-ocean .lesson-view-modal .modal-header h2,body.theme-ocean .lesson-view-modal .modal-title,body.theme-ocean .lesson-view-modal .modal-subject,body.theme-ocean .lesson-view-modal .modal-header-title,body.theme-ocean .modal--lesson .modal-header h2,body.theme-ocean .modal--lesson .modal-title,body.theme-ocean .modal--lesson .modal-subject,body.theme-ocean .modal--lesson .modal-header-title,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-header h2,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-title,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-header-title,body.theme-ocean .modal-box .modal-title,body.theme-ocean .modal-box h2{color:var(--modal-text)!important}body.theme-ocean .lesson-view-modal .modal-meta,body.theme-ocean .lesson-view-modal .modal-header-desc,body.theme-ocean .modal--lesson .modal-meta,body.theme-ocean .modal--lesson .modal-header-desc,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-meta,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-header-desc,body.theme-ocean .modal-box .modal-header-desc{color:var(--modal-text-muted)!important}body.theme-ocean .lesson-view-modal .modal-input,body.theme-ocean .lesson-view-modal .modal-textarea,body.theme-ocean .lesson-view-modal .lesson-reflection-textarea,body.theme-ocean .modal--lesson .modal-input,body.theme-ocean .modal--lesson .modal-textarea,body.theme-ocean .modal--lesson .lesson-reflection-textarea,body.theme-ocean .modal--lesson select,body.theme-ocean .modal--lesson .lesson-activity-name-input,body.theme-ocean .modal--lesson .lesson-activity-duration-input,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-input,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-textarea,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal select,body.theme-ocean .modal-box .modal-input,body.theme-ocean .modal-box .modal-textarea,body.theme-ocean .modal-box select{background:var(--modal-bg)!important;color:var(--modal-text)!important;border-color:var(--menu-border)!important}body.theme-ocean .lesson-view-modal .modal-input:focus,body.theme-ocean .lesson-view-modal .modal-textarea:focus,body.theme-ocean .lesson-view-modal .lesson-reflection-textarea:focus,body.theme-ocean .modal--lesson .modal-input:focus,body.theme-ocean .modal--lesson .modal-textarea:focus,body.theme-ocean .modal--lesson .lesson-reflection-textarea:focus,body.theme-ocean .modal--lesson .lesson-activity-name-input:focus,body.theme-ocean .modal--lesson .lesson-activity-duration-input:focus,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-input:focus,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-textarea:focus,body.theme-ocean .modal-box .modal-input:focus,body.theme-ocean .modal-box .modal-textarea:focus{background:var(--modal-surface)!important;border-color:var(--primary)!important}body.theme-ocean .lesson-view-modal .modal-input::placeholder,body.theme-ocean .lesson-view-modal .modal-textarea::placeholder,body.theme-ocean .lesson-view-modal input::placeholder,body.theme-ocean .lesson-view-modal textarea::placeholder,body.theme-ocean .modal--lesson .modal-input::placeholder,body.theme-ocean .modal--lesson .modal-textarea::placeholder,body.theme-ocean .modal--lesson input::placeholder,body.theme-ocean .modal--lesson textarea::placeholder,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-input::placeholder,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-textarea::placeholder,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal input::placeholder,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal textarea::placeholder,body.theme-ocean .modal-box .modal-input::placeholder,body.theme-ocean .modal-box .modal-textarea::placeholder,body.theme-ocean .modal-box input::placeholder,body.theme-ocean .modal-box textarea::placeholder{color:var(--modal-placeholder)!important;opacity:1!important}body.theme-ocean .lesson-view-modal label,body.theme-ocean .lesson-view-modal .field-label,body.theme-ocean .lesson-view-modal .form-label,body.theme-ocean .lesson-view-modal .modal-label,body.theme-ocean .modal--lesson label,body.theme-ocean .modal--lesson .field-label,body.theme-ocean .modal--lesson .form-label,body.theme-ocean .modal--lesson .modal-label,body.theme-ocean .modal--lesson .lesson-activities-editor-label,body.theme-ocean .modal--lesson .attachments-hint,body.theme-ocean .lesson-view-modal .attachments-hint,body.theme-ocean .modal--lesson .modal-autosave-status,body.theme-ocean .lesson-view-modal .modal-autosave-status,body.theme-ocean .modal--lesson .lesson-reflection-label,body.theme-ocean .lesson-view-modal .lesson-reflection-label,body.theme-ocean .modal--lesson .lesson-reflection-read-label,body.theme-ocean .lesson-view-modal .lesson-reflection-read-label,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal label,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .field-label,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .form-label,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .modal-label,body.theme-ocean .modal-box label,body.theme-ocean .modal-box .field-label,body.theme-ocean .modal-box .form-label{color:var(--modal-text-muted)!important}body.theme-ocean .modal--lesson .ai-advisor-check,body.theme-ocean .modal--lesson .attachment-name,body.theme-ocean .modal--lesson .lesson-activities-total,body.theme-ocean .modal--lesson .lesson-activity-duration-suffix{color:var(--modal-text)!important}body.theme-ocean .lesson-view-modal .btn-secondary,body.theme-ocean .modal--lesson .btn-secondary,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .btn-secondary,body.theme-ocean .modal-box .btn-secondary{background:var(--modal-surface);border-color:var(--menu-border);color:var(--modal-text)!important}body.theme-ocean .lesson-view-modal .btn-secondary:hover,body.theme-ocean .modal--lesson .btn-secondary:hover,body.theme-ocean .modal-wrap:not(.day-overview-wrap):not(.lesson-view-wrap)>.modal .btn-secondary:hover,body.theme-ocean .modal-box .btn-secondary:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)!important}body.theme-ocean .lesson-view-modal .attachment-item,body.theme-ocean .modal--lesson .attachment-item,body.theme-ocean .lesson-view-modal .attachment-action-btn,body.theme-ocean .modal--lesson .attachment-action-btn{background:var(--surface);border-color:var(--border);color:var(--menu-text)!important}body.theme-ocean .lesson-view-modal .attachment-size,body.theme-ocean .modal--lesson .attachment-size,body.theme-ocean .lesson-view-modal .attachment-icon,body.theme-ocean .modal--lesson .attachment-icon{color:var(--menu-text-muted)!important}body.theme-ocean .lesson-view-modal .lesson-view-section{border-bottom-color:var(--menu-border)}body.theme-ocean .lesson-view-modal .lesson-view-section-title,body.theme-ocean .lesson-view-modal .lesson-view-timeline-head{color:#4a5a72}body.theme-ocean .lesson-view-modal .lesson-view-structure-total,body.theme-ocean .lesson-view-modal .lesson-flow-total-label{color:#2d5a4a;background:#4a9a8a1f}body.theme-ocean .lesson-view-modal .lesson-view-diff-label{color:#3f3658}body.theme-ocean .lesson-view-modal .lesson-view-timeline{background:#ffffffd9;border-color:var(--menu-border)}body.theme-ocean .lesson-view-modal .lesson-view-diff-col,body.theme-ocean .lesson-view-modal .lesson-view-attachment{background:#ffffffe6;border-color:var(--menu-border)}body.theme-les .m-menu-panel{background:var(--menu-surface);border-left-color:var(--menu-border);color:var(--menu-text)}body.theme-les .m-menu-title,body.theme-les .m-menu-item,body.theme-les .m-menu-header .btn-ghost,body.theme-les .m-menu-panel .btn-today,body.theme-les .m-menu-school-year .school-year-trigger{color:var(--menu-text)}body.theme-les .m-menu-header .btn-ghost svg,body.theme-les .m-menu-item svg{color:currentColor}body.theme-les .m-menu-item:hover,body.theme-les .m-menu-item:active,body.theme-les .m-menu-header .btn-ghost:hover:not(:disabled){background:var(--menu-hover)}.offline-banner{position:fixed;bottom:0;left:0;right:0;z-index:950;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 20px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:#fef3c7;border-top:1px solid #fde68a;color:#92400e;font-size:14px;font-weight:600;line-height:1.35;text-align:center;box-shadow:0 -4px 16px #92400e14;animation:offline-banner-in .3s ease forwards}.offline-banner--exit{animation:offline-banner-out .3s ease forwards}.offline-banner__icon{flex-shrink:0;color:#b45309}.offline-banner__text{margin:0}.offline-banner__text strong{font-weight:700}@keyframes offline-banner-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes offline-banner-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@media(max-width:768px){.offline-banner{gap:12px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));font-size:13px}.offline-banner__icon{width:22px;height:22px}}body.theme-ocean .header,body.theme-ocean .header--mobile{background:#0f282de0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(74,154,138,.3);color:#e8f4f2}body.theme-ocean .lesson-card,body.theme-ocean .empty-slot{color:#e8f4f2}body.theme-ocean .header-title,body.theme-ocean .header--mobile .header-title,body.theme-ocean .eduard-logo__title{color:#e8f4f2!important}body.theme-ocean .header button,body.theme-ocean .header--mobile button,body.theme-ocean .header .btn,body.theme-ocean .header--mobile .btn{background:#0f282dbf!important;color:#e8f4f2!important;border-color:#4a9a8a59!important}body.theme-ocean .header .schedule-view-switcher,body.theme-ocean .header--mobile .schedule-view-switcher,body.theme-ocean .header .schedule-layout-toggle,body.theme-ocean .header--mobile .schedule-layout-toggle{background:#0f282dbf!important;border-color:#4a9a8a59!important}body.theme-ocean .header .schedule-view-pill,body.theme-ocean .header--mobile .schedule-view-pill,body.theme-ocean .header .schedule-layout-toggle-btn,body.theme-ocean .header--mobile .schedule-layout-toggle-btn{background:#0f282dbf!important;color:#e8f4f2!important;border-color:#4a9a8a59!important}body.theme-ocean .header .schedule-view-pill--active,body.theme-ocean .header--mobile .schedule-view-pill--active,body.theme-ocean .header .schedule-layout-toggle-btn--active,body.theme-ocean .header--mobile .schedule-layout-toggle-btn--active{background:#4a9a8a73!important;color:#e8f4f2!important}body.theme-ocean .header .schedule-view-pill:hover:not(:disabled):not(.schedule-view-pill--active),body.theme-ocean .header--mobile .schedule-view-pill:hover:not(:disabled):not(.schedule-view-pill--active),body.theme-ocean .header .schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active),body.theme-ocean .header--mobile .schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active){background:#0f282de6!important;color:#e8f4f2!important}body.theme-ocean .header .schedule-view-pill--active:hover,body.theme-ocean .header--mobile .schedule-view-pill--active:hover,body.theme-ocean .header .schedule-layout-toggle-btn--active:hover,body.theme-ocean .header--mobile .schedule-layout-toggle-btn--active:hover{background:#4a9a8a8c!important;color:#e8f4f2!important}body.theme-ocean .header svg,body.theme-ocean .header--mobile svg,body.theme-ocean .header .btn-icon,body.theme-ocean .header--mobile .btn-icon{color:#e8f4f2!important}body.theme-ocean .header-nav-arrow{color:#e8f4f2!important}body.theme-ocean .week-badge,body.theme-ocean .btn-today{color:#e8f4f2!important;border-color:#e8f4f266!important}body.theme-ocean .schedule-drag-fab,body.theme-ocean .schedule-fab--scratchpad{background:#0f282de0!important;color:#e8f4f2!important;border:1px solid rgba(74,154,138,.4)!important}body.theme-ocean .stats-page-col-title{background:#0f282de0;color:#e8f4f2;padding:4px 12px;border-radius:8px}body.theme-ocean .section-label,body.theme-ocean .form-label,body.theme-ocean .stats-week-select-label,body.theme-ocean .settings-label,body.theme-ocean .weekly-reflection-label{color:#8ab4b0!important}body.theme-ocean .library-page h1{color:#4a9a8a!important}body.theme-ocean .stats-page-header{background:#0f282df0!important;border-bottom-color:#4a9a8a59!important}body.theme-ocean .stats-page-title{color:#e8f4f2!important;text-shadow:0 1px 3px rgba(0,0,0,.35)}body.theme-ocean .stats-page-subtitle{color:#c5deda!important}body.theme-ocean .stats-page h2.stats-page-col-title{color:#e8f4f2!important}body.theme-ocean .stats-page .stats-week-select-label{color:#d0ebe8!important;text-shadow:0 1px 2px rgba(0,0,0,.45)}body.theme-ocean .stats-page-col--reflection .weekly-reflection-form,body.theme-ocean .stats-page .stats-section{background:#0f282df0!important;border-color:#4a9a8a59!important;color:#e8f4f2!important}body.theme-ocean .stats-page .weekly-reflection-label{color:#e8f4f2!important}body.theme-ocean .stats-page .weekly-reflection-textarea{background:#f5faf9!important;color:#1a2e35!important;border-color:#4a9a8a66!important}body.theme-ocean .stats-page .weekly-reflection-textarea::placeholder{color:#5a7a82!important}body.theme-ocean .stats-page .weekly-reflection-checkbox{color:#e8f4f2!important}body.theme-ocean .stats-page .week-badge{background:#0a1e23e6!important;border-color:#4a9a8a73!important}body.theme-ocean .stats-page .week-range{color:#e8f4f2!important}body.theme-ocean .stats-page .week-key{color:#9ec8c4!important}body.theme-ocean .stats-page .btn-ghost,body.theme-ocean .stats-page .btn-ghost svg,body.theme-ocean .stats-page .header-nav-btn,body.theme-ocean .stats-page .header-nav-arrow{color:#e8f4f2!important}body.theme-ocean .stats-section-title,body.theme-ocean .stats-section-title svg{color:#e8f4f2!important}body.theme-ocean .stats-lessons-table th{background:#08181ccc!important;color:#c5deda!important}body.theme-ocean .stats-lessons-table td{color:#e8f4f2!important;border-bottom-color:#4a9a8a38!important}body.theme-ocean .stats-lessons-row:hover{background:#4a9a8a24!important}body.theme-ocean .stats-subject-row{background:#08181ca6!important;border-color:#4a9a8a47!important}body.theme-ocean .stats-page .lesson-subject-badge,body.theme-ocean .stats-page .stats-subject-badge{background:transparent!important;border:none!important;box-shadow:none!important;color:#e8f4f2!important}body.theme-ocean .stats-subject-meta,body.theme-ocean .stats-filter-note,body.theme-ocean .stats-empty,body.theme-ocean .stats-weekly-average-label,body.theme-ocean .stats-trend:not(.stats-trend--up):not(.stats-trend--down),body.theme-ocean .stats-weekly-plan,body.theme-ocean .stats-word-group-title,body.theme-ocean .stats-ai-hint,body.theme-ocean .stats-ai-summary-block h3,body.theme-ocean .stats-ai-summary-block h4{color:#c5deda!important}body.theme-ocean .stats-weekly-average-value{color:#7bc4bc!important}body.theme-ocean .stats-weekly-card{background:#08181ca6!important;color:#e8f4f2!important;border-color:#4a9a8a47!important}body.theme-ocean .stats-weekly-card strong{color:#e8f4f2!important}body.theme-ocean .stats-bar-track{background:#08181cbf!important}body.theme-ocean .stats-page .weekly-reflection-star:not(.weekly-reflection-star--filled) svg{color:#9ec8c4!important}body.theme-ocean .edit-schedule-menu{background:#0f282df7!important;border-color:#4a9a8a4d!important}body.theme-ocean .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-label{color:#e8f4f2!important}body.theme-ocean .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-desc{color:#8ab4b0!important}body.theme-ocean .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-icon{color:#4a9a8a!important}body.theme-ocean .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample):hover{background:#4a9a8a26!important}body.theme-ocean .week-picker-cal__action{background:transparent!important;color:#4a9a8a!important;border:none!important;font-weight:600}body.theme-ocean .week-picker-cal__action:hover{background:transparent!important;color:#8ab4b0!important}body.theme-ocean .weekly-overview-day-title,body.theme-ocean .weekly-overview-day-date{color:#e8f4f2!important}body.theme-ocean .weekly-overview-period{color:#4a9a8a!important;font-weight:600}body.theme-ocean .weekly-overview-clock{color:#8ab4b0!important;font-weight:500}body.theme-ocean .weekly-overview-row{background:#143237e0!important;color:#e8f4f2!important}body.theme-ocean .weekly-overview-topic,body.theme-ocean .weekly-overview-room{color:#e8f4f2!important}body.theme-ocean .weekly-overview-table-head{color:#4a9a8a!important}body.theme-ocean .m-day-current,body.theme-ocean .m-day-current-main{color:#e8f4f2!important}body.theme-ocean .m-lesson-card--empty,body.theme-ocean .m-lesson-card--add{background:#0f282df7!important;color:#e8f4f2!important;border-color:#4a9a8a4d!important}body.theme-ocean .m-lesson-card--empty .m-lesson-empty-label,body.theme-ocean .m-lesson-card--add .m-lesson-empty-label{color:#e8f4f2!important}body.theme-ocean .m-lesson-num{color:#4a9a8a!important}body.theme-ocean .m-lesson-clock{color:#8ab4b0!important}body.theme-ocean .day-overview-modal,body.theme-ocean .day-overview-body,body.theme-ocean .day-overview-header{background:#0f282df7!important;color:#e8f4f2!important}body.theme-ocean .day-overview-title,body.theme-ocean .day-overview-topic,body.theme-ocean .day-overview-period-subject,body.theme-ocean .day-overview-activity-title,body.theme-ocean .day-overview-activity-desc,body.theme-ocean .day-overview-page,body.theme-ocean .day-overview-empty,body.theme-ocean .day-overview-pages{color:#e8f4f2!important}body.theme-ocean .day-overview-period-num{color:#4a9a8a!important}body.theme-ocean .day-overview-period-time{color:#8ab4b0!important}body.theme-ocean .library-card{background:#143237eb!important;border-color:#4a9a8a4d!important;color:#e8f4f2!important}body.theme-ocean .library-card h3,body.theme-ocean .library-card-title,body.theme-ocean .library-card-topic,body.theme-ocean .library-card-notes,body.theme-ocean .library-card p,body.theme-ocean .library-card-date,body.theme-ocean .library-shared-meta{color:#e8f4f2!important}body.theme-ocean .lesson-card .lesson-subject-badge,body.theme-ocean .m-lesson-card .lesson-subject-badge,body.theme-ocean .library-card .lesson-subject-badge{background:transparent!important;border:none!important;box-shadow:none!important}body.theme-ocean .lesson-subject-badge svg{background:transparent!important;border:none!important;box-shadow:none!important}body.theme-ocean .library-shared-badge{background:#4a9a8a61!important;color:#e8f4f2!important;border:1px solid rgba(74,154,138,.55)!important}body.theme-ocean .period-header{background:#0f282dbf!important;border-color:#4a9a8a4d!important}body.theme-ocean .period-header-num,body.theme-ocean .period-header-times{color:#e8f4f2!important}body.theme-ocean .day-row-label{background:#0f282dbf!important;border-color:#4a9a8a4d!important}body.theme-ocean .day-name,body.theme-ocean .day-date{color:#e8f4f2!important}body.theme-ocean .day-interesting-marker{background:transparent!important}body.theme-ocean .day-holiday-pill{background:#4a9a8a4d!important;color:#e8f4f2!important;border:1px solid rgba(74,154,138,.5)!important}body.theme-ocean .day-tooltip{background:#143237eb;color:#e8f4f2;border-color:#4a9a8a66}body.theme-ocean .schedule-tasks-strip,body.theme-ocean .schedule-tasks-label,body.theme-ocean .schedule-tasks-cell{background:#0f282dd9!important;border-color:#4a9a8a4d!important;color:#e8f4f2!important}body.theme-ocean .schedule-tasks-label-title,body.theme-ocean .schedule-tasks-empty,body.theme-ocean .schedule-tasks-strip span,body.theme-ocean .schedule-tasks-strip p{color:#e8f4f2!important}body.theme-ocean .day-todo-pill,body.theme-ocean .day-todo-pill--more{background:#143237e0!important;border:1px solid rgba(74,154,138,.4)!important;color:#e8f4f2!important}body.theme-ocean .day-todo-pill:hover{background:#143237f2!important}body.theme-ocean .day-todo-pill-text{color:#e8f4f2!important}body.theme-ocean .day-todo-pill-time,body.theme-ocean .day-todo-pill-date:not(.day-todo-pill-date--overdue):not(.day-todo-pill-date--today){color:#8ab4b0!important}body.theme-ocean .weekly-overview-subject{opacity:1!important;filter:brightness(1.3) saturate(1.2)!important;color:#e8f4f2!important;font-weight:600!important}body.theme-les .header,body.theme-les .header--mobile{background:#3a3020e0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,168,90,.2)}body.theme-les .header-title,body.theme-les .header--mobile .header-title,body.theme-les .eduard-logo__title{color:#f5ead0!important}body.theme-les .header button,body.theme-les .header--mobile button,body.theme-les .header .btn,body.theme-les .header--mobile .btn{background:#3a3020b3!important;color:#f5ead0!important;border-color:#f5ead04d!important}body.theme-les .header .schedule-view-switcher,body.theme-les .header--mobile .schedule-view-switcher,body.theme-les .header .schedule-layout-toggle,body.theme-les .header--mobile .schedule-layout-toggle{background:#3a3020bf!important;border-color:#f5ead059!important}body.theme-les .header .schedule-view-pill,body.theme-les .header--mobile .schedule-view-pill,body.theme-les .header .schedule-layout-toggle-btn,body.theme-les .header--mobile .schedule-layout-toggle-btn{background:#3a3020bf!important;color:#f5ead0!important;border-color:#f5ead059!important}body.theme-les .header .schedule-view-pill--active,body.theme-les .header--mobile .schedule-view-pill--active,body.theme-les .header .schedule-layout-toggle-btn--active,body.theme-les .header--mobile .schedule-layout-toggle-btn--active{background:#c8a85a73!important;color:#f5ead0!important}body.theme-les .header .schedule-view-pill:hover:not(:disabled):not(.schedule-view-pill--active),body.theme-les .header--mobile .schedule-view-pill:hover:not(:disabled):not(.schedule-view-pill--active),body.theme-les .header .schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active),body.theme-les .header--mobile .schedule-layout-toggle-btn:hover:not(.schedule-layout-toggle-btn--active){background:#3a3020e6!important;color:#f5ead0!important}body.theme-les .header .schedule-view-pill--active:hover,body.theme-les .header--mobile .schedule-view-pill--active:hover,body.theme-les .header .schedule-layout-toggle-btn--active:hover,body.theme-les .header--mobile .schedule-layout-toggle-btn--active:hover{background:#c8a85a8c!important;color:#f5ead0!important}body.theme-les .header svg,body.theme-les .header--mobile svg,body.theme-les .header .btn-icon,body.theme-les .header--mobile .btn-icon{color:#f5ead0}body.theme-les .header-nav-arrow{color:#f5ead0}body.theme-les .week-badge,body.theme-les .btn-today{color:#f5ead0;border-color:#f5ead080}body.theme-les .schedule-drag-fab,body.theme-les .schedule-fab--scratchpad{background:#3a3020e0;color:#f5ead0;border:1px solid rgba(200,168,90,.4)}body.theme-les .stats-page-col-title{background:#3a302073;color:#f5ead0;padding:4px 12px;border-radius:8px}body.theme-les .section-label,body.theme-les .form-label,body.theme-les label,body.theme-les .stats-week-select-label,body.theme-les .library-page h1,body.theme-les .stats-page h1,body.theme-les .stats-page h2{color:#c8a85a!important}body.theme-les .stats-page-subtitle{color:#d4c090!important}body.theme-les .edit-schedule-menu{background:#3a3020f2!important;border-color:#c8a85a4d!important}body.theme-les .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-label{color:#f5ead0!important}body.theme-les .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-desc{color:#d4c090!important}body.theme-les .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample) .edit-schedule-option-icon{color:#c8a85a!important}body.theme-les .edit-schedule-option:not(.edit-schedule-option--danger):not(.edit-schedule-option--sample):hover{background:#c8a85a26!important}body.theme-les .week-picker-cal__action{background:transparent!important;color:#7a5934!important;border-color:transparent!important}body.theme-les .week-picker-cal__action:hover{background:transparent!important;color:#2a2010!important}body.theme-les .weekly-overview-day-title,body.theme-les .weekly-overview-day-date{color:#f5ead0!important}body.theme-les .weekly-overview-period{color:#5a4020!important;font-weight:600}body.theme-les .weekly-overview-clock{color:#3a2e1a!important}body.theme-les .weekly-overview-row{background:#f5eedce0!important;color:#2a2010!important}body.theme-les .weekly-overview-topic,body.theme-les .weekly-overview-room{color:#2a2010!important}body.theme-les .weekly-overview-table-head{color:#c8a85a!important}body.theme-les .m-day-current,body.theme-les .m-day-current-main{color:#f5ead0!important}body.theme-les .m-lesson-card--empty,body.theme-les .m-lesson-card--add{background:#3a3020f2!important;color:#f5ead0!important;border-color:#c8a85a4d!important}body.theme-les .m-lesson-card--empty .m-lesson-empty-label,body.theme-les .m-lesson-card--add .m-lesson-empty-label{color:#f5ead0!important}body.theme-les .m-lesson-num,body.theme-les .m-lesson-clock{color:#c8a85a!important}body.theme-les .day-overview-modal,body.theme-les .day-overview-body,body.theme-les .day-overview-header{background:#3a3020f2!important;color:#f5ead0!important}body.theme-les .day-overview-title,body.theme-les .day-overview-topic,body.theme-les .day-overview-period-subject,body.theme-les .day-overview-activity-title,body.theme-les .day-overview-activity-desc,body.theme-les .day-overview-page,body.theme-les .day-overview-empty,body.theme-les .day-overview-pages{color:#f5ead0!important}body.theme-les .day-overview-period-num,body.theme-les .day-overview-period-time{color:#c8a85a!important}.landing-hero-visual{position:relative}.landing-mobile-frame{position:absolute;right:-36px;bottom:-24px;width:112px;height:220px;background:#1c1c2e;border-radius:22px;border:3px solid #333;box-shadow:0 24px 64px #00000059,0 4px 16px #0003;animation:landing-float 4s ease-in-out infinite;animation-delay:-2s;overflow:hidden;z-index:2}.landing-mobile-notch{width:36px;height:8px;background:#1c1c2e;border-radius:0 0 8px 8px;margin:0 auto;position:relative;z-index:3}.landing-mobile-screen{background:#f5f2ec;height:calc(100% - 8px);border-radius:0 0 20px 20px;overflow:hidden}.landing-mobile-screenshot{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.landing-mobile-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.08)}.landing-mobile-header-title{font-size:10px;font-weight:700;color:#3d2e39}.landing-mobile-header-week{font-size:9px;color:#8a7a82}.landing-mobile-lessons{display:flex;flex-direction:column;gap:4px;flex:1}.landing-mobile-lesson{display:flex;align-items:center;gap:6px;background:#fff;border-radius:6px;padding:4px 6px;border-left:3px solid var(--lesson-color, #8B3A52);animation:landing-card-fill .4s ease both;animation-delay:var(--lesson-delay, 0s)}.landing-mobile-lesson-time{font-size:8px;color:#8a7a82;min-width:28px}.landing-mobile-lesson-subj{font-size:9px;font-weight:700;color:#3d2e39}.landing-mobile-todo{display:flex;align-items:center;gap:5px;background:#4b674114;border-radius:6px;padding:5px 6px;font-size:8px;color:#4a6741;font-weight:500}.landing-mobile-todo-icon{font-size:9px}@media(max-width:768px){.landing-mobile-frame{display:none}}.landing-feature-badge{display:inline-block;font-size:11px;font-weight:600;background:#4a67411f;color:#4a6741;border-radius:20px;padding:2px 10px;margin-left:10px;vertical-align:middle}.landing-mini-print{display:flex;flex-direction:column;gap:12px;padding:16px}.landing-mini-print-doc{background:#fff;border-radius:8px;padding:14px;box-shadow:0 2px 12px #00000014;border:1px solid rgba(0,0,0,.06)}.landing-mini-print-header{margin-bottom:10px}.landing-mini-print-title{display:block;font-weight:700;font-size:13px;color:#3d2e39}.landing-mini-print-meta{display:block;font-size:11px;color:#8a7a82;margin-top:2px}.landing-mini-print-line{height:7px;border-radius:4px;background:#00000012;margin-bottom:6px}.landing-mini-print-line--1{width:95%}.landing-mini-print-line--2{width:80%}.landing-mini-print-line--3{width:88%}.landing-mini-print-line--short{width:50%}.landing-mini-print-btn{background:#4a6741;color:#fff;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600;text-align:center}.landing-mini-todo{display:flex;flex-direction:column;gap:8px;padding:16px}.landing-mini-todo-item{display:flex;align-items:center;gap:8px;background:#fff;border-radius:8px;padding:9px 12px;box-shadow:0 1px 4px #0000000f;animation:landing-card-fill .4s ease both;animation-delay:var(--todo-delay, 0s)}.landing-mini-todo-item--done{opacity:.5}.landing-mini-todo-item--done .landing-mini-todo-text{text-decoration:line-through}.landing-mini-todo-check{width:16px;height:16px;border-radius:4px;border:1.5px solid #d4c8bc;display:flex;align-items:center;justify-content:center;font-size:10px;color:#4a6741;flex-shrink:0;background:#4a674114}.landing-mini-todo-text{font-size:11px;color:#3d2e39;flex:1}.landing-mini-todo-priority{font-size:12px;font-weight:700;flex-shrink:0}.landing-mini-todo-priority--high{color:#c0392b}.landing-mini-todo-priority--medium{color:#e67e22}.landing-mini-specialdays{display:flex;flex-direction:column;gap:10px;padding:16px}.landing-mini-specialdays-month{font-size:11px;font-weight:700;color:#8a7a82;text-transform:uppercase;letter-spacing:.04em}.landing-mini-specialdays-grid{display:flex;gap:6px}.landing-mini-specialdays-day{flex:1;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:8px;padding:6px 4px;font-size:12px;color:#3d2e39;font-weight:500;box-shadow:0 1px 4px #0000000f;gap:2px}.landing-mini-specialdays-day--special{background:#4a67411f;border:1.5px solid #4A6741;color:#4a6741;font-weight:700}.landing-mini-specialdays-label{font-size:8px;text-align:center;line-height:1.2;color:#4a6741}.landing-mini-specialdays-tip{background:#4a674114;border-radius:8px;padding:8px 10px;font-size:11px;color:#4a6741;font-weight:500}.landing-mini-whiteboard{padding:16px;display:flex;align-items:center;justify-content:center}.landing-mini-whiteboard-svg{width:100%;max-width:220px;height:auto}.landing-mini-wb-shape,.landing-mini-wb-text,.landing-mini-wb-line{animation:landing-card-fill .5s ease both;animation-delay:var(--wb-delay, 0s)}.landing-mini-reflection{display:flex;flex-direction:column;gap:10px;padding:16px}.landing-mini-reflection-week{font-size:11px;font-weight:700;color:#8a7a82}.landing-mini-reflection-stars{display:flex;gap:4px}.landing-mini-reflection-star{font-size:20px;color:#d4c8bc}.landing-mini-reflection-star--filled{color:#e8a030}.landing-mini-reflection-note{display:flex;flex-direction:column;gap:6px}.landing-mini-reflection-line{height:7px;border-radius:4px;background:#00000012}.landing-mini-reflection-line--1{width:90%}.landing-mini-reflection-line--2{width:65%}.landing-mini-reflection-badge{display:inline-flex;align-items:center;gap:6px;background:#4a67411a;color:#4a6741;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:600;width:fit-content}.landing-mini-offline{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px}.landing-mini-offline-device{background:#1c1c2e;border-radius:16px;padding:12px;width:120px}.landing-mini-offline-screen{background:#f5f2ec;border-radius:8px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px}.landing-mini-offline-icon{font-size:20px}.landing-mini-offline-status{font-size:9px;font-weight:600;text-align:center;border-radius:10px;padding:2px 8px}.landing-mini-offline-status--ok{background:#4a67411f;color:#4a6741}.landing-mini-offline-line{height:5px;border-radius:3px;background:#00000014}.landing-mini-offline-line--1{width:80%}.landing-mini-offline-line--2{width:60%}.landing-mini-offline-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:#4a6741;font-weight:600}.landing-mini-offline-dot{width:8px;height:8px;border-radius:50%;background:#4a6741;animation:landing-blink 1.5s ease-in-out infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{background:var(--card-bg, #fff);border-radius:var(--radius-lg, 16px);box-shadow:0 8px 40px #0000002e;width:100%;max-width:480px;position:relative;padding:32px 28px 24px}.modal-box-close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:6px;padding:4px;transition:background .15s,color .15s}.modal-box-close:hover{background:var(--primary-light, #f0f0f0);color:var(--text)}.special-day-modal{text-align:center;max-width:460px;width:calc(100vw - 32px);padding:32px 28px 24px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.special-day-modal__emoji{font-size:40px;line-height:1;margin-bottom:8px;flex-shrink:0}.special-day-modal__title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 10px}.special-day-modal__desc{font-size:14px;color:var(--text-muted);margin:0 0 24px;line-height:1.5}.special-day-modal__inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;width:100%;text-align:left}@media(max-width:480px){.special-day-modal__inputs{grid-template-columns:1fr}}.special-day-modal__field{display:flex;flex-direction:column;gap:4px}.special-day-modal__label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.special-day-modal__input{border:1px solid var(--empty-border, #ddd);border-radius:8px;padding:7px 10px;font-size:14px;background:var(--surface, #fff);color:var(--text);outline:none;transition:border-color .15s}.special-day-modal__input:focus{border-color:var(--primary)}.special-day-modal__btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px}.special-day-modal__loading{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--text-muted);padding:8px 0}.special-day-modal__error{font-size:13px;color:#c0392b;background:#fdf0ee;border-radius:8px;padding:8px 12px;margin-top:8px}.special-day-modal__activities{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;max-height:340px;overflow-y:auto}.special-day-activity{background:var(--primary-light, #f5f0f8);border-radius:10px;padding:12px 14px}.special-day-activity__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:8px}.special-day-activity__name{font-size:14px;font-weight:600;color:var(--text)}.special-day-activity__duration{font-size:12px;color:var(--primary);font-weight:600;white-space:nowrap}.special-day-activity__desc{font-size:13px;color:var(--text-muted);margin:0 0 4px;line-height:1.4}.special-day-activity__tip{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.special-day-modal__regenerate{background:none;border:none;cursor:pointer;font-size:12px;color:var(--primary);display:flex;align-items:center;gap:4px;padding:4px 0;margin-top:2px;align-self:center;transition:opacity .15s}.special-day-modal__regenerate:hover{opacity:.7}.special-day-activity__actions{margin-top:8px}.special-day-activity__add-btn{background:none;border:1px solid var(--primary);color:var(--primary);border-radius:6px;font-size:12px;padding:4px 10px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .12s,color .12s}.special-day-activity__add-btn:hover{background:var(--primary);color:#fff}.special-day-lesson-picker{display:flex;flex-direction:column;gap:4px}.special-day-lesson-picker__label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.special-day-lesson-btn{background:var(--menu-surface, #fff);border:1px solid var(--menu-border, rgba(0,0,0,.1));border-radius:6px;padding:5px 10px;font-size:12px;color:var(--menu-text, #222);cursor:pointer;text-align:left;transition:background .1s}.special-day-lesson-btn:hover{background:var(--menu-hover)}.special-day-lesson-btn--saved{border-color:var(--primary);color:var(--primary);font-weight:600}.special-day-lesson-picker__cancel{background:none;border:none;font-size:12px;color:var(--text-muted);cursor:pointer;padding:2px 0;text-align:left}.special-day-lesson-picker__cancel:hover{text-decoration:underline}body.theme-ocean .special-day-modal__title,body.theme-ocean .special-day-activity__name{color:var(--menu-text)!important}body.theme-ocean .special-day-modal__desc,body.theme-ocean .special-day-activity__desc,body.theme-ocean .special-day-activity__tip,body.theme-ocean .special-day-activity__duration,body.theme-ocean .special-day-modal__loading{color:var(--menu-text-muted)!important}body.theme-ocean .special-day-activity{background:#4a9a8a1f!important}body.theme-ocean .special-day-modal__label{color:var(--menu-text-muted)!important}body.theme-ocean .special-day-modal__input{background:var(--menu-surface)!important;color:var(--menu-text)!important;border-color:var(--menu-border)!important}.ai-consent-modal .modal-close{position:absolute;top:14px;right:14px}.ai-consent-modal__icon{width:52px;height:52px;border-radius:50%;background:var(--primary-light, #e8f5e4);color:var(--primary, #4A6741);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.ai-consent-modal__title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 6px}.ai-consent-modal__lead{color:var(--text-muted);font-size:14px;margin:0 0 16px}.ai-consent-modal__body{font-size:14px;color:var(--text);display:flex;flex-direction:column;gap:10px;background:var(--surface, #f7f8f5);border-radius:10px;padding:16px;margin-bottom:20px}.ai-consent-modal__body p{margin:0;line-height:1.55}.ai-consent-modal__list{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.ai-consent-modal__footer{display:flex;flex-direction:column;gap:12px}.ai-consent-modal__link{font-size:12px;color:var(--text-muted);text-align:center;text-decoration:underline}.ai-consent-modal__link:hover{color:var(--primary)}.ai-consent-modal__actions{display:flex;gap:10px;justify-content:flex-end}.terms-page__list{padding-left:22px;margin:8px 0;line-height:1.6}.terms-page__list li{margin-bottom:4px}.terms-page__also{margin:24px 0 12px;text-align:center}.terms-page__link{color:var(--primary, #4A6741);font-size:14px;text-decoration:underline}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}}a,button,[role=button],[tabindex]{touch-action:manipulation}.login-switch-link{background:none;border:none;color:var(--primary);font-size:14px;font-family:Nunito,sans-serif;cursor:pointer;text-decoration:underline;padding:4px 0;text-align:center}.login-switch-link:hover{color:var(--primary-dark)}.login-switch-link:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.day-tooltip{display:none!important}}body.theme-ocean .modal-box,body.theme-ocean .modal-wrap:not(.lesson-view-wrap):not(.day-overview-wrap) .modal-content,body.theme-ocean .modal-wrap:not(.lesson-view-wrap):not(.day-overview-wrap) .modal-body,body.theme-ocean .modal-wrap:not(.lesson-view-wrap):not(.day-overview-wrap) .modal-header{color:var(--menu-text)!important}body.theme-ocean .modal-box h2,body.theme-ocean .modal-box h3,body.theme-ocean .modal-box p,body.theme-ocean .modal-box label,body.theme-ocean .modal-box .modal-title,body.theme-ocean .print-dialog-title,body.theme-ocean .print-dialog-text,body.theme-ocean .print-dialog label{color:var(--menu-text)!important}body.theme-ocean .modal-box .btn-ghost,body.theme-ocean .modal-wrap:not(.lesson-view-wrap) .btn-ghost,body.theme-ocean .modal-wrap:not(.lesson-view-wrap) .btn--ghost{color:var(--menu-text)!important}body.theme-ocean .interesting-days-modal__title,body.theme-ocean .interesting-days-modal__subtitle,body.theme-ocean .interesting-days-month__label,body.theme-ocean .interesting-days-item__name{color:var(--menu-text)!important}body.theme-ocean .interesting-days-item__date{color:var(--menu-text-muted)!important}body.theme-ocean .interesting-days-item:hover{background:var(--menu-hover)!important}.interesting-days-modal{max-width:520px;padding:32px 24px 24px;max-height:80vh;display:flex;flex-direction:column}.interesting-days-modal__title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 2px}.interesting-days-modal__subtitle{font-size:13px;color:var(--text-muted);margin:0 0 20px}.interesting-days-modal__body{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.interesting-days-month__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.interesting-days-month__days{display:flex;flex-direction:column;gap:2px}.interesting-days-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .12s}.interesting-days-item:hover{background:var(--primary-light, #f0f0f0)}.interesting-days-item__emoji{font-size:20px;line-height:1;flex-shrink:0}.interesting-days-item__info{display:flex;flex-direction:column;gap:1px}.interesting-days-item__name{font-size:14px;font-weight:500;color:var(--text)}.interesting-days-item__date{font-size:12px;color:var(--text-muted)}.settings-toggle-link{background:none;border:none;cursor:pointer;font-size:12px;color:var(--primary);padding:0;margin-left:auto;white-space:nowrap;text-decoration:none;transition:opacity .15s}.settings-toggle-link:hover{opacity:.75;text-decoration:underline}.mimo-vyuka-page{min-height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column;background:var(--bg)}.mimo-vyuka-page--loading{align-items:center;justify-content:center;padding:40px}.mimo-vyuka-main{padding:20px 24px 40px;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}.mimo-vyuka-field-label{display:block;font-size:12px;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.mimo-vyuka-field{display:flex;flex-direction:column;min-width:0}.mimo-vyuka-field--grow{flex:1 1 180px}.mimo-vyuka-field--amount{flex:0 1 120px}.mimo-vyuka-field--date{flex:0 1 150px}.mimo-vyuka-field--financing{flex:0 0 auto}.mimo-vyuka-new-event{display:flex;gap:10px;margin-bottom:20px;align-items:flex-end}.mimo-vyuka-new-event .modal-input{width:100%}.mimo-vyuka-new-event-submit{flex-shrink:0;white-space:nowrap}.mimo-vyuka-form-error{margin:-12px 0 16px}.mimo-vyuka-events-title{font-family:Playfair Display,serif;font-size:18px;margin:0 0 12px;color:var(--text)}.mimo-vyuka-saving-indicator{font-size:12px;color:var(--text-muted);margin:-8px 0 12px}.mimo-vyuka-empty{color:var(--text-muted);font-size:14px;text-align:center;padding:24px 0}.mimo-vyuka-event-cards{display:flex;flex-direction:column;gap:10px}.mimo-vyuka-event-card{position:relative;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;cursor:pointer;box-shadow:var(--shadow-soft)}.mimo-vyuka-event-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.mimo-vyuka-event-card-name{font-weight:700;color:var(--text)}.mimo-vyuka-event-card-head-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.mimo-vyuka-event-card-status{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--primary-light, #eee);color:var(--primary)}.mimo-vyuka-event-card-status--closed{background:#fdf0d5;color:#a05a00}.mimo-vyuka-event-card-status--archived{background:#eee;color:#666}.mimo-vyuka-event-card-financing{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent-light, #eee);color:var(--accent, var(--text-muted));white-space:nowrap}.mimo-vyuka-event-card-balance{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;color:var(--primary)}.mimo-vyuka-event-card-delete{display:flex;align-items:center;color:var(--text-muted);cursor:pointer;padding:2px}.mimo-vyuka-event-card-delete:hover{color:#c0392b}.mimo-vyuka-detail{display:flex;flex-direction:column;gap:4px}.mimo-vyuka-detail-title{font-family:Playfair Display,serif;font-size:20px;margin:8px 0 0}.mimo-vyuka-balance{font-family:JetBrains Mono,monospace;font-size:36px;font-weight:700;color:var(--primary);margin-top:4px}.mimo-vyuka-balance-sub{font-size:13px;color:var(--text-muted);margin-bottom:16px}.mimo-vyuka-add-entry{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;align-items:flex-end}.mimo-vyuka-add-entry-type{display:flex;gap:6px;flex:1 1 100%}.mimo-vyuka-add-entry .modal-input{width:100%}.mimo-vyuka-add-entry-submit{flex-shrink:0}.mimo-vyuka-entry-lists{display:flex;flex-direction:column;gap:20px}.mimo-vyuka-entry-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.mimo-vyuka-detail-footer{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.mimo-vyuka-fund{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:18px 20px;margin-bottom:24px}.mimo-vyuka-fund-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.mimo-vyuka-fund-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mimo-vyuka-fund-notes-page{max-width:640px}.mimo-vyuka-fund-notes-page>.btn{margin-bottom:12px}.mimo-vyuka-notes--fund-page{margin-bottom:0}.mimo-vyuka-note-date--solo{margin-right:auto}.mimo-vyuka-fund-title{font-family:Playfair Display,serif;font-size:18px;margin:0;color:var(--text)}.mimo-vyuka-balance--fund{font-size:28px;margin-top:0}.mimo-vyuka-notes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:18px 20px;margin-bottom:24px}.mimo-vyuka-notes--event{margin-top:8px;margin-bottom:16px;padding:14px 16px}.mimo-vyuka-notes-title{font-family:Playfair Display,serif;font-size:18px;margin:0 0 12px;color:var(--text)}.mimo-vyuka-notes--event .mimo-vyuka-notes-title{font-size:16px;margin-bottom:10px}.mimo-vyuka-notes-form{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.mimo-vyuka-notes-input{width:100%}.mimo-vyuka-notes-form-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mimo-vyuka-notes-event-select{min-width:180px;flex:1}.mimo-vyuka-notes-date{width:auto}.mimo-vyuka-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mimo-vyuka-note-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.mimo-vyuka-note-card-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mimo-vyuka-note-scope{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--primary-light, #eee);color:var(--primary)}.mimo-vyuka-note-scope--event{background:color-mix(in srgb,var(--accent, #c9a227) 18%,transparent);color:var(--accent, #8a6d00)}.mimo-vyuka-note-date{font-size:12px;color:var(--text-muted);margin-right:auto}.mimo-vyuka-note-body{margin:0;font-size:14px;color:var(--text);white-space:pre-wrap;line-height:1.45}.mimo-vyuka-event-financing{display:flex;align-items:center;gap:10px;margin:12px 0;flex-wrap:wrap}.mimo-vyuka-event-calc{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}.mimo-vyuka-event-calc-field{display:flex;flex-direction:column;gap:4px;min-width:120px}.mimo-vyuka-event-calc-total{font-size:14px;color:var(--text);padding-bottom:10px}.mimo-vyuka-fund-financed-info{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;font-size:13px;color:var(--text-muted);margin-bottom:16px}.mimo-vyuka-fund-financed-info p{margin:0 0 4px}.mimo-vyuka-fund-financed-info p:last-child{margin-bottom:0;color:var(--text)}.pin-lock-screen{min-height:calc(var(--vh, 1vh) * 100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.pin-lock-icon{width:56px;height:56px;border-radius:50%;background:var(--primary-light, #eee);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.pin-lock-title{font-family:Playfair Display,serif;font-size:20px;margin:0}.pin-lock-subtitle{color:var(--text-muted);font-size:13px;margin:0 0 16px}.pin-lock-error{color:#c0392b;font-size:13px;margin-top:8px}.pin-lock-forgot{margin-top:16px;background:none;border:none;color:var(--primary);font-size:13px;cursor:pointer}.pin-keypad{display:flex;flex-direction:column;align-items:center;gap:20px}.pin-dots{display:flex;gap:14px}.pin-dots--shake{animation:pin-shake .4s ease}@keyframes pin-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.pin-dot{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--border);background:transparent}.pin-dot--filled{background:var(--primary);border-color:var(--primary)}.pin-keypad-grid{display:grid;grid-template-columns:repeat(3,64px);gap:12px}.pin-keypad-btn{width:64px;height:64px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:20px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}.pin-keypad-btn:active{background:var(--primary-light, #eee)}.pin-keypad-spacer{width:64px;height:64px}.pin-setup-modal,.pin-forgot-modal{text-align:center;max-width:360px}.pin-setup-title{font-family:Playfair Display,serif;font-size:20px;margin:0 0 4px}.pin-setup-subtitle{color:var(--text-muted);font-size:13px;margin:0 0 16px}.pin-forgot-form{display:flex;flex-direction:column;gap:10px}.mimo-vyuka-retention-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#fdf0d5;border:1px solid #eccb8f;border-radius:var(--radius-md);padding:10px 14px;margin-bottom:16px;font-size:13px;color:#7a5a1e}.mimo-vyuka-retention-banner p{margin:0}.mimo-vyuka-retention-actions{display:flex;align-items:center;gap:8px}.mimo-vyuka-retention-dismiss{background:none;border:none;color:#7a5a1e;font-size:13px;cursor:pointer;text-decoration:underline}@media(max-width:768px){.mimo-vyuka-main{padding:16px 16px 32px}.mimo-vyuka-fund,.mimo-vyuka-notes{padding:14px 16px}.mimo-vyuka-fund-head{flex-direction:column;align-items:stretch;gap:10px}.mimo-vyuka-fund-head-right{flex-direction:column;align-items:stretch;gap:8px}.mimo-vyuka-fund-head-right .btn{align-self:flex-start}.mimo-vyuka-balance--fund{font-size:26px}.mimo-vyuka-new-event,.mimo-vyuka-add-entry{flex-direction:column;align-items:stretch;gap:12px}.mimo-vyuka-field--grow,.mimo-vyuka-field--amount,.mimo-vyuka-field--date,.mimo-vyuka-field--financing,.mimo-vyuka-add-entry-type{flex:none;width:100%}.mimo-vyuka-add-entry-type .btn,.mimo-vyuka-field--financing .mimo-vyuka-add-entry-type .btn{flex:1}.mimo-vyuka-new-event-submit,.mimo-vyuka-add-entry-submit{width:100%;justify-content:center}.mimo-vyuka-entry-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 10px;padding:10px 0}.mimo-vyuka-entry-row>span:first-child{grid-column:1;grid-row:1;word-break:break-word}.mimo-vyuka-entry-row>span:nth-child(2){grid-column:2;grid-row:1;font-weight:700}.mimo-vyuka-entry-row>span:nth-child(3){grid-column:1;grid-row:2;font-size:12px;color:var(--text-muted)}.mimo-vyuka-entry-row>.btn{grid-column:2;grid-row:2;justify-self:end}.mimo-vyuka-event-card-head{flex-wrap:wrap;gap:6px}.mimo-vyuka-event-card-name{flex:1 1 100%;min-width:0;word-break:break-word}.mimo-vyuka-event-card-head-right{flex:1 1 100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}.mimo-vyuka-event-calc{flex-direction:column;align-items:stretch}.mimo-vyuka-event-calc-field{width:100%;min-width:0}.mimo-vyuka-event-calc-total{padding-bottom:0}.mimo-vyuka-event-financing{flex-direction:column;align-items:stretch;gap:6px}.mimo-vyuka-notes-form-meta{flex-direction:column;align-items:stretch}.mimo-vyuka-notes-form-meta .btn{width:100%;justify-content:center}.mimo-vyuka-detail-footer{flex-direction:column}.mimo-vyuka-detail-footer .btn{width:100%;justify-content:center}.mimo-vyuka-retention-banner{flex-direction:column;align-items:stretch}.mimo-vyuka-retention-actions{flex-wrap:wrap}}
