@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&display=swap");:root{--bg-primary:#0c0a09;--bg-secondary:#1c1917;--bg-tertiary:#292524;--bg-card:rgba(28,25,23,.9);--bg-glass:rgba(28,25,23,.75);--bg-hover:hsla(0,0%,100%,.06);--bg-elevated:#292524;--text-primary:#fafaf9;--text-secondary:#a8a29e;--text-muted:#78716c;--text-inverse:#0c0a09;--accent-primary:#ff7a5c;--accent-secondary:#4ecdc4;--accent-tertiary:#a78bfa;--accent-light:rgba(255,122,92,.15);--accent-border:rgba(255,122,92,.35);--accent-glow:rgba(255,122,92,.25);--success:#4ade80;--success-bg:rgba(74,222,128,.12);--success-border:rgba(74,222,128,.25);--danger:#fb7185;--danger-bg:rgba(251,113,133,.12);--danger-border:rgba(251,113,133,.25);--warning:#fbbf24;--warning-bg:rgba(251,191,36,.12);--warning-border:rgba(251,191,36,.25);--info:#60a5fa;--info-bg:rgba(96,165,250,.12);--info-border:rgba(96,165,250,.25);--border-subtle:hsla(0,0%,100%,.06);--border-medium:hsla(0,0%,100%,.1);--border-strong:hsla(0,0%,100%,.15);--shadow-sm:0 2px 8px rgba(0,0,0,.25);--shadow-md:0 4px 16px rgba(0,0,0,.35);--shadow-lg:0 8px 32px rgba(0,0,0,.45);--shadow-xl:0 16px 48px rgba(0,0,0,.55);--shadow-glow:0 0 40px var(--accent-glow);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--radius-full:999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--bottom-nav-h:76px;--header-h:64px;--max-width:520px;--font-sans:"Outfit",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-display:"Fraunces",Georgia,serif;--bg-2:var(--bg-hover);--bg-3:var(--bg-tertiary);--accent:var(--accent-primary);--text:var(--text-primary);--gradient-bg:radial-gradient(ellipse 800px 400px at 20% 0%,rgba(255,122,92,.12),transparent 50%),radial-gradient(ellipse 600px 300px at 85% 15%,rgba(167,139,250,.08),transparent 50%),radial-gradient(ellipse 500px 500px at 50% 100%,rgba(78,205,196,.06),transparent 50%),var(--bg-primary);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275)}[data-theme=light]{--bg-primary:#fafaf9;--bg-secondary:#fff;--bg-tertiary:#f5f5f4;--bg-card:hsla(0,0%,100%,.9);--bg-glass:hsla(0,0%,100%,.75);--bg-hover:rgba(0,0,0,.04);--bg-elevated:#fff;--text-primary:#1c1917;--text-secondary:#57534e;--text-muted:#a8a29e;--text-inverse:#fafaf9;--accent-primary:#e85d3b;--accent-secondary:#2d9d94;--accent-tertiary:#7c3aed;--accent-light:rgba(232,93,59,.1);--accent-border:rgba(232,93,59,.25);--accent-glow:rgba(232,93,59,.15);--success:#22c55e;--success-bg:rgba(34,197,94,.1);--success-border:rgba(34,197,94,.2);--danger:#ef4444;--danger-bg:rgba(239,68,68,.1);--danger-border:rgba(239,68,68,.2);--warning:#f59e0b;--warning-bg:rgba(245,158,11,.1);--warning-border:rgba(245,158,11,.2);--info:#3b82f6;--info-bg:rgba(59,130,246,.1);--info-border:rgba(59,130,246,.2);--border-subtle:rgba(0,0,0,.06);--border-medium:rgba(0,0,0,.1);--border-strong:rgba(0,0,0,.15);--shadow-sm:0 2px 8px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.1);--shadow-xl:0 16px 48px rgba(0,0,0,.12);--gradient-bg:radial-gradient(ellipse 800px 400px at 20% 0%,rgba(232,93,59,.06),transparent 50%),radial-gradient(ellipse 600px 300px at 85% 15%,rgba(124,58,237,.04),transparent 50%),radial-gradient(ellipse 500px 500px at 50% 100%,rgba(45,157,148,.04),transparent 50%),var(--bg-primary);--bg-2:var(--bg-hover);--bg-3:var(--bg-tertiary);--accent:var(--accent-primary);--text:var(--text-primary)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}html{height:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body,html{overscroll-behavior:none;overscroll-behavior-y:none}body{min-height:100%;font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;transition:background .4s var(--ease-smooth),color .3s var(--ease-smooth)}body:before{background:var(--gradient-bg)}main{width:100%;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.02em}.h1{font-size:28px;margin:0 0 var(--space-md);background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.h1,.h2{font-weight:700}.h2{font-size:22px;margin:0 0 var(--space-sm)}.h3{font-size:18px;font-weight:600;margin:0 0 var(--space-xs)}.p{color:var(--text-secondary);margin:0 0 var(--space-md);line-height:1.6}.small{font-size:13px}.label,.small{color:var(--text-muted)}.label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-lg);padding-bottom:calc(var(--bottom-nav-h) + var(--space-xl))}.grid{display:grid;gap:var(--space-md)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s var(--ease-smooth)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-flat{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg)}.card-flat:hover{transform:none;box-shadow:none}.card-interactive{cursor:pointer}.card-interactive:active{transform:translateY(0) scale(.99)}.card-accent{border-color:var(--accent-border);background:linear-gradient(135deg,var(--accent-light),transparent)}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 20px;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:all .2s var(--ease-smooth);white-space:nowrap}.btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:18px;height:18px;flex-shrink:0}.btn.primary:hover:not(:disabled){background:rgba(78,205,196,.25);border-color:rgba(78,205,196,.7);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn.secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-strong)}.btn.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.btn.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-full{width:100%}.btn-sm{padding:8px 14px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:16px 28px;font-size:16px;border-radius:var(--radius-lg)}.iconBtn{width:40px;height:40px;padding:0;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-hover);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s var(--ease-smooth)}.iconBtn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-medium)}.iconBtn svg{width:20px;height:20px}.input{width:100%;padding:12px 16px;border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.5;outline:none;transition:all .2s var(--ease-smooth)}.input:focus{border-color:var(--accent-primary);background:var(--bg-elevated);box-shadow:0 0 0 3px var(--accent-light)}.input::placeholder{color:var(--text-muted)}.input:disabled{opacity:.6;cursor:not-allowed}textarea.input{resize:vertical;min-height:100px}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.picker,select.input{cursor:pointer;appearance:none}.picker{border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;font-weight:500;outline:none;transition:all .2s var(--ease-smooth);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A8A29E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding:10px 32px 10px 14px}.picker:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.picker-sm{min-width:80px;padding:8px 28px 8px 10px;font-size:13px}.inputGroup{display:flex;flex-direction:column;gap:var(--space-sm)}.inputWrap{position:relative;width:100%}.inputWithCounter{padding-right:50px}.textareaWithCounter{padding-right:50px;padding-bottom:28px}.lbl{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-xs)}.labelRow{display:flex;justify-content:space-between;gap:var(--space-sm)}.badge,.labelRow{align-items:center}.badge{display:inline-flex;gap:6px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:600}.badge.accent{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent-primary)}.badge.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.badge.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.badge-sm{padding:3px 9px;font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--border-medium);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s var(--ease-smooth)}.chip:hover{border-color:var(--accent-border);background:var(--accent-light)}.chip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.slotAccent{width:4px;border-radius:4px;flex:0 0 4px;background:var(--text-muted)}.accent-red{background:#ef4444}.accent-blue{background:#3b82f6}.accent-white{background:#f3f4f6;border:1px solid rgba(0,0,0,.1)}.accent-green{background:#22c55e}.accent-yellow{background:#eab308}.accent-orange{background:#f97316}.accent-pink{background:#ec4899}.accent-coral{background:#ff7a5c}.accent-purple{background:#a855f7}.accent-gray{background:#6b7280}.accent-none{background:transparent;border:none}.colorSwatch{width:16px;height:16px;border-radius:6px;flex-shrink:0}.colorOption{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-full);border:1px solid var(--border-medium);background:var(--bg-hover);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s var(--ease-smooth)}.colorOption:hover{border-color:var(--border-strong)}.colorOption.active{border-color:var(--accent-border);background:var(--accent-light)}.colorPalette{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.slotColorDot{width:18px;height:18px;border-radius:999px;border:1px solid var(--border-medium);background:var(--bg-tertiary);flex-shrink:0}.studentSlotPalette{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.studentSlotColorBtn{width:22px;height:22px;border-radius:999px;border:1px solid var(--border-medium)}.studentSlotColorBtn.active{outline:2px solid var(--accent-primary);outline-offset:1px}.studentSlotColorBtn.accent-none{width:auto;border-radius:999px;padding:0 8px;color:var(--text-muted);font-size:11px}.avatar{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary),var(--accent-tertiary));font-size:18px;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:36px;height:36px;border-radius:var(--radius-sm)}.avatar-lg{width:72px;height:72px;font-size:28px;border-radius:var(--radius-lg);box-shadow:0 8px 24px var(--accent-glow)}.avatar-xl{width:96px;height:96px;font-size:36px;border-radius:var(--radius-xl);box-shadow:0 12px 32px var(--accent-glow)}.bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom, 0px))}.bottomNavInner{max-width:420px;margin:0 auto;gap:var(--space-sm)}.bottomNavBtn,.bottomNavInner{display:flex;align-items:center}.bottomNavBtn{flex:1;flex-direction:column;justify-content:center;gap:4px;padding:10px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s var(--ease-smooth);min-height:56px}.bottomNavBtn:hover{background:var(--bg-hover);color:var(--text-secondary)}.bottomNavBtnActive{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent-primary)}.bottomNavIcon{font-size:22px;line-height:1}.header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.headerTitle{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary),var(--accent-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.headerActions{display:flex;gap:var(--space-sm)}.section{margin-bottom:var(--space-xl)}.sectionHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.sectionTitle{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.sectionLink{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--accent-primary);text-decoration:none;transition:gap .2s var(--ease-smooth)}.sectionLink:hover{gap:8px}.sectionLink svg{width:16px;height:16px}.slotRow{position:relative;display:flex;align-items:stretch;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all .2s var(--ease-smooth)}.slotRow:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.slotTime{width:92px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:4px}.slotHour{font-family:var(--font-display);font-size:20px;font-weight:700;line-height:1;color:var(--text-primary)}.slotDuration{font-size:12px;color:var(--text-muted);margin-top:2px}.slotInfo{flex:1;min-width:0}.slotSubject{font-weight:600;font-size:15px;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slotMeta{font-size:13px;color:var(--text-secondary)}.slotEndTime{font-size:14px;font-weight:600;color:var(--text-muted);line-height:1}.slotMetaClass{margin-top:2px}.slotTags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-sm)}.slotTag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-secondary)}.slotTag svg{width:14px;height:14px}.slotTag.online{background:rgba(78,205,196,.15);color:var(--accent-secondary)}.slotTag.booked,.slotTag.free{background:var(--success-bg);color:var(--success)}.slotTag.free{border:1px solid var(--success-border);opacity:.5}.slotEditBtn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:10px;font-size:21px;line-height:1;background:rgba(18,16,15,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--text-primary);z-index:2}.studentRow{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all .2s var(--ease-smooth)}.studentRow:hover{box-shadow:var(--shadow-sm)}.studentInfo{flex:1;min-width:0}.studentName{font-weight:600;font-size:15px;display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.studentMeta{font-size:13px;margin-top:2px;line-height:1.4}.studentMeta,.username{color:var(--text-muted)}.username{font-weight:400;cursor:pointer;transition:color .2s}.username:hover{color:var(--accent-primary);text-decoration:underline}.presetCard{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.presetInfo{flex:1;min-width:0}.presetName{font-weight:600;font-size:15px;margin-bottom:2px}.presetDetails{font-size:13px;color:var(--text-secondary)}.presetActions{display:flex;gap:var(--space-sm)}.presetCreatePanel{padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-secondary)}.modalBack{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);align-items:flex-end;justify-content:center;z-index:1200;animation:fadeIn .2s var(--ease-smooth)}.modal,.modalBack{display:flex;padding:var(--space-lg)}.modal{width:100%;max-width:var(--max-width);max-height:calc(100dvh - 32px);background:var(--bg-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);flex-direction:column;gap:var(--space-md);animation:slideUp .3s var(--ease-spring)}.modalHandle{width:40px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto var(--space-sm)}.modalHeader{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle)}.modalTitle{font-family:var(--font-display);font-size:20px;font-weight:700}.modalBody{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modalScrollable{max-height:calc(100dvh - 32px)}.confirmDialogBack{position:fixed;inset:0;z-index:1300;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}.confirmDialog{background:var(--bg-elevated);border-radius:16px;padding:20px;max-width:320px;width:calc(100% - 32px);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg)}.confirmDialogChanges{margin-top:10px;display:flex;flex-direction:column;gap:6px}.confirmDialogChangeLine{font-size:14px;color:var(--text-secondary)}.modalFooter{display:flex;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-subtle)}.toastContainer{position:fixed;top:var(--space-lg);left:50%;transform:translateX(-50%);z-index:2000;width:calc(100% - 32px);max-width:420px}.toast{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:toastIn .3s var(--ease-spring)}.toast.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.toast.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.toast.info{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-medium)}.toast svg{width:20px;height:20px;flex-shrink:0}.toastMessage{flex:1;font-size:14px;font-weight:500}.toastClose{padding:4px;cursor:pointer;opacity:.7;transition:opacity .2s}.toastClose:hover{opacity:1}.profileCard{position:relative;text-align:center;padding:var(--space-xl)}.profileEditBtn{position:absolute;top:var(--space-md);right:var(--space-md)}.profileName{font-family:var(--font-display);font-size:24px;font-weight:700;margin-top:var(--space-md)}.profileRole{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent-light);border-radius:var(--radius-full);color:var(--accent-primary);font-weight:600}.profileId,.profileRole{margin-top:var(--space-sm);font-size:13px}.profileId{color:var(--text-muted)}.profileId code{padding:2px 8px;background:var(--bg-tertiary);border-radius:var(--radius-xs);font-family:monospace}.linkCodeDisplay{text-align:center;padding:var(--space-xl);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.linkCode{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:.15em;color:var(--accent-primary)}.linkCodeLabel{font-size:13px;color:var(--text-muted);margin-top:var(--space-sm)}.toggleGroup{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-md);gap:4px}.toggleOption{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s var(--ease-smooth);display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.toggleOption:hover{color:var(--text-primary)}.toggleOption.active{background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.calendarHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.calendarMonth{font-family:var(--font-display);font-size:18px;font-weight:700}.calendarNav{display:flex;gap:var(--space-sm)}.calendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendarDayLabel{text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);padding:var(--space-sm) 0}.calendarDay{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s var(--ease-smooth);position:relative}.calendarDay:hover{background:var(--bg-hover)}.calendarDay.otherMonth{color:var(--text-muted);opacity:.4}.calendarDay.today{font-weight:700;color:var(--accent-primary)}.calendarDay.selected{background:var(--accent-primary);color:#fff;font-weight:700}.calendarDay.hasEvent:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent-secondary)}.calendarDay.selected.hasEvent:after{background:#fff}.row{display:flex;gap:var(--space-md);align-items:center;flex-wrap:wrap}.row.align-start{align-items:flex-start}.row.align-end{align-items:flex-end}.row.justify-start{justify-content:flex-start}.row.justify-between{justify-content:space-between}.row.justify-end{justify-content:flex-end}.row.gap-xs{gap:var(--space-xs)}.row.gap-sm{gap:var(--space-sm)}.row.gap-lg{gap:var(--space-lg)}.row.nowrap{flex-wrap:nowrap}.col{display:flex;flex-direction:column;gap:var(--space-md)}.col.gap-xs{gap:var(--space-xs)}.col.gap-sm{gap:var(--space-sm)}.col.gap-lg{gap:var(--space-lg)}.hr{height:1px;background:var(--border-subtle);margin:var(--space-lg) 0;border:none}.kv{display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-subtle)}.kv:last-child{border-bottom:none}.spacer-xs{height:var(--space-xs)}.spacer-sm{height:var(--space-sm)}.spacer-md{height:var(--space-md)}.spacer-lg{height:var(--space-lg)}.spacer-xl{height:var(--space-xl)}.muted{color:var(--text-muted)}.accent{color:var(--accent-primary)}.success-text{color:var(--success)}.danger-text{color:var(--danger)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:monospace}.font-display{font-family:var(--font-display)}.clickable{cursor:pointer}.clickable:hover{text-decoration:underline}.timeRow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.timeLabel{font-size:15px;font-weight:700;min-width:60px}.timePick{justify-content:flex-end;gap:var(--space-sm);flex-wrap:wrap}.checkRow,.timePick{display:flex;align-items:center}.checkRow{gap:var(--space-md);font-weight:600}.checkRow input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-primary)}.statsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.statCard{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;transition:all .3s var(--ease-smooth)}.statCard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.statValue{font-family:var(--font-display);font-size:32px;font-weight:700;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.statLabel{font-size:13px;color:var(--text-muted);margin-top:var(--space-xs)}.emptyState{text-align:center;padding:var(--space-2xl) var(--space-lg)}.emptyIcon{width:64px;height:64px;margin:0 auto var(--space-lg);color:var(--text-muted);opacity:.4}.emptyTitle{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.emptyDesc{font-size:14px;color:var(--text-muted);margin-bottom:var(--space-lg)}.platformBadge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:600}.platformBadge.telegram{background:rgba(0,136,204,.12);color:#08c}.platformBadge.max{background:rgba(167,139,250,.12);color:var(--accent-tertiary)}.platformBadge svg{width:16px;height:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(1turn)}}.animate-fadeIn{animation:fadeIn .3s var(--ease-smooth)}.animate-fadeInUp{animation:fadeInUp .4s var(--ease-smooth)}.animate-shake{animation:shake .5s var(--ease-smooth)}.animate-pulse{animation:pulse 2s var(--ease-smooth) infinite}.animate-spin{animation:spin 1s linear infinite}.stagger>:first-child{animation-delay:.05s}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.supportBtn{width:100%;background:var(--accent-light);border-color:var(--accent-border);font-weight:700}.supportHint{font-size:12px;color:var(--text-muted);text-align:center;margin-top:var(--space-sm)}.infoBlock{background:var(--bg-hover);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.ui-full{width:100%}.ui-mb-xs{margin-bottom:var(--space-xs)}.ui-mb-sm{margin-bottom:var(--space-sm)}.ui-mb-md{margin-bottom:var(--space-md)}.ui-mb-lg{margin-bottom:var(--space-lg)}.ui-mt-xs{margin-top:var(--space-xs)}.ui-mt-sm{margin-top:var(--space-sm)}.ui-mt-md{margin-top:var(--space-md)}.ui-mt-lg{margin-top:var(--space-lg)}.ui-center{margin-left:auto;margin-right:auto}.ui-text-title{font-family:var(--font-display);font-size:18px;font-weight:700}.ui-text-strong{font-weight:600}.ui-text-subtle{font-size:13px;color:var(--text-muted)}.ui-text-danger{color:var(--danger)}.ui-text-success{color:var(--success)}.err{border-color:var(--danger-border)}.warn{border-color:var(--warning-border)}.info{border-color:var(--info-border)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::selection{background:var(--accent-light);color:var(--text-primary)}@media (max-width:380px){:root{--space-lg:14px;--space-xl:20px}.statsGrid{grid-template-columns:1fr}.h1{font-size:24px}}:root{--bottom-nav-h:92px}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(1000px 460px at 12% -10%,rgba(255,122,92,.12),transparent 58%),radial-gradient(800px 420px at 88% 0,rgba(96,165,250,.09),transparent 60%);z-index:-1}.pageRoot,.teacherPageRoot{height:100dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;padding-top:0}.pageContent{min-height:calc(100dvh + 1px)}.pageSection{padding-top:16px}.container{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 16px)}.header{margin:0 calc(var(--space-lg) * -1);padding:20px var(--space-lg) 16px;border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(6px)}.headerTitle{font-size:46px;color:#f0d6cf}.card{border-radius:18px;border:1px solid var(--border-subtle);background:linear-gradient(145deg,rgba(34,29,27,.8),rgba(18,16,15,.78));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 16px 36px rgba(0,0,0,.28)}[data-theme=light] .card{background:linear-gradient(145deg,hsla(0,0%,100%,.92),hsla(23,33%,95%,.88))}.card-flat{background:transparent;border:0;box-shadow:none;padding:0}.card-elevated{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.btn{border-radius:14px;font-weight:700}.btn.primary{background:rgba(78,205,196,.15);border-color:rgba(78,205,196,.5);color:#4ecdc4;box-shadow:none}.btn.secondary{background:var(--bg-hover);border-color:var(--border-medium);color:var(--text-primary)}.btn.iconButton{width:42px;height:42px;padding:0;border-radius:12px;background:hsla(0,0%,100%,.03)}.iconBtn{border-radius:12px;background:linear-gradient(145deg,rgba(32,30,30,.9),rgba(23,21,20,.9))}.avatar{border-radius:16px;border:1px solid var(--border-subtle);background:linear-gradient(140deg,#46d0c1,#9b8af4 68%,#ff8f73);color:#fff;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center}.avatar-sm{font-size:14px}.avatar-md{font-size:18px}.avatar-lg{font-size:24px}.avatar-xl{font-size:38px}.bottomNav{padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px));background:rgba(15,12,11,.85);border-top:1px solid var(--border-subtle)}.bottomNavInner{max-width:var(--max-width);gap:8px}.bottomNavBtn{padding:0;background:transparent;border:0}.bottomNavPill{width:100%;border-radius:16px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);transition:transform .18s ease,background .25s ease,color .25s ease}.bottomNavBtn:active .bottomNavPill{transform:scale(.97)}.bottomNavBtnActive .bottomNavPill{color:#4ecdc4;background:rgba(78,205,196,.12);box-shadow:inset 0 0 0 1px rgba(78,205,196,.24)}.bottomNavIcon svg{width:20px;height:20px}.bottomNavLabel{font-size:12px;line-height:1.1}.toggleGroup{background:hsla(0,0%,100%,.06);border:1px solid var(--border-subtle);border-radius:16px;padding:4px}.toggleOption.active{background:rgba(0,0,0,.35);color:var(--text-primary)}.segmentedTabs{width:100%}.slotsActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slotActions{display:flex;gap:8px;align-items:center}.studentRow{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px}.modal{border-radius:24px 24px 0 0;background:linear-gradient(160deg,rgba(26,23,22,.98),rgba(18,16,14,.98))}.toast{backdrop-filter:blur(14px);border:1px solid var(--border-subtle)}[data-theme=light] .bottomNav{background:hsla(30,29%,97%,.9)}[data-theme=light] .bottomNavBtnActive .bottomNavPill{background:rgba(232,93,59,.18)}.slotRowEditable{padding-right:46px}.slotRowCompact{align-items:center;gap:8px;padding:8px 10px;border-radius:16px;min-height:74px}.slotRowCompact .slotHour{font-size:21px;line-height:1.05}.slotRowCompact .slotDuration{font-size:11px}.slotRowCompact .slotAccent{align-self:stretch}.slotRowCompact .slotSubject{font-size:16px;margin-bottom:2px}.slotRowCompact .slotMeta{font-size:12px;line-height:1.2}.slotRowCompact .slotTags{margin-top:0;align-items:flex-end;flex-direction:column;gap:4px;margin-right:34px}.slotRowCompact .slotTag{border-radius:999px;padding:4px 9px;font-size:11px;white-space:nowrap}.segmentedTabs{background:hsla(0,0%,100%,.06);border:1px solid var(--border-subtle);border-radius:18px;padding:4px}.segmentedTabs .toggleOption{min-height:36px;border-radius:14px}.segmentedTabs .toggleOption.active{background:rgba(255,122,92,.22);color:var(--text-primary)}.filterChips{display:flex;flex-wrap:wrap;gap:8px}.slotHourCompact{font-size:21px!important;font-family:var(--font-sans);font-weight:700}.slotEditActionsBar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1250;display:flex;gap:8px;justify-content:flex-end}.slotDayGroup{display:flex;flex-direction:column;gap:6px}.slotDayTitle{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;padding-left:2px}.studentsCounter{align-self:center}.segmentedTabs .toggleOption{color:var(--text-muted)}.segmentedTabs .toggleOption.active{background:linear-gradient(135deg,rgba(255,122,92,.28),rgba(167,139,250,.22));box-shadow:inset 0 0 0 1px rgba(255,122,92,.22),0 8px 18px rgba(255,122,92,.22)}.slotCompactCard{position:relative;display:grid;grid-template-columns:56px 4px 1fr auto;gap:8px;align-items:stretch;padding:10px 42px 10px 10px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:16px}.slotCompactTime{display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:12px;color:var(--text-muted)}.slotCompactDayInside{font-size:10px;letter-spacing:.08em;text-transform:uppercase}.slotCompactEnd,.slotCompactStart{font-size:20px;line-height:1.15;color:var(--text-primary);font-weight:500}.slotCompactContent{min-width:0;display:flex;flex-direction:column;justify-content:center}.slotCompactTitle{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slotCompactStudent,.slotCompactStudentClass,.slotCompactSubtitle{font-size:15px;color:var(--text-secondary);line-height:1.25}.slotCompactStudentClass{color:var(--text-muted)}.slotCompactActions{min-width:78px;justify-content:space-between;gap:8px;padding-top:26px;margin-right:-34px;padding-right:0}.slotCompactActions,.slotCompactTags{display:flex;flex-direction:column;align-items:flex-end}.slotCompactTags{gap:4px}.slotCardActionsBtns{display:flex;gap:6px}.slotActionBtn{width:24px;height:24px;min-width:24px;padding:0;border-radius:8px;font-size:20px;line-height:1}.slotCardEditCornerBtn.slotActionBtn{position:absolute;top:8px;right:8px}.slotEditBtn.slotActionBtn{position:static}.studentsInviteFab{position:fixed;right:16px;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 14px);width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1;padding:0;z-index:20}.pencilBtn{opacity:.7;width:28px;height:28px;min-width:28px;border-radius:10px;border:1px solid hsla(0,0%,100%,.18);background:rgba(0,0,0,.24);color:var(--text-primary);font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.pencilBtn:hover{opacity:1}.slotCardEditCornerBtn.pencilBtn{position:absolute;top:8px;right:8px}.sheetOverlay{position:fixed;inset:0;background:rgba(7,7,12,.66);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1250}.slotSheet{width:min(560px,100%);max-height:min(88dvh,760px);border-radius:26px 26px 0 0;border:1px solid hsla(0,0%,100%,.12);background:linear-gradient(160deg,rgba(29,28,38,.98),rgba(16,16,22,.98));box-shadow:0 -16px 40px rgba(0,0,0,.45);padding:10px 14px 14px;display:flex;flex-direction:column}.sheetHandle{width:44px;height:5px;border-radius:999px;margin:0 auto 10px;background:hsla(0,0%,100%,.3)}.sheetHeader{padding:6px 4px 10px}.sheetTitle{margin:0;font-size:21px}.sheetBadge{display:inline-block;margin-top:8px;border:1px solid hsla(0,0%,100%,.15);border-radius:999px;padding:6px 10px;font-size:13px;color:var(--text-secondary)}.sheetBody{overflow:auto;padding:4px;display:grid;gap:12px}.sheetSection{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.09);border-radius:16px;padding:12px}.sheetSectionTitle{font-size:14px;margin-bottom:8px;color:var(--text-secondary)}.sheetRow{justify-content:space-between;gap:10px;padding:5px 0}.sheetInline,.sheetRow{display:flex;align-items:center}.sheetInline{gap:8px}.sheetInput,.sheetSelect{background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.16);border-radius:12px;color:var(--text-primary);padding:10px 12px}.sheetSelectSm{width:72px}.sheetInput{width:100%}.sheetMuted{margin-top:6px;color:var(--text-muted);font-size:12px}.sheetColorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sheetColorBtn{border:1px solid hsla(0,0%,100%,.16);background:rgba(0,0,0,.28);color:var(--text-primary);border-radius:12px;padding:9px 10px;text-align:left}.sheetColorBtn.active{border-color:rgba(255,122,92,.62)}.sheetSwatch{width:12px;height:12px;border-radius:4px;display:inline-block;margin-right:6px}.sheetToggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheetToggle button{border:1px solid hsla(0,0%,100%,.16);background:rgba(0,0,0,.24);color:var(--text-primary);border-radius:12px;padding:10px}.sheetToggle button.active{border-color:rgba(255,122,92,.62);background:rgba(255,122,92,.18)}.sheetFooter{padding:12px 4px 6px}.sheetSubmit{width:100%;border:0;border-radius:14px;padding:14px;background:rgba(78,205,196,.15);color:#4ecdc4;border:1px solid rgba(78,205,196,.5);color:#fff;font-weight:700}.sheetSubmit:disabled{opacity:.6}.paywall{padding:24px 16px;max-width:420px;margin:0 auto}.paywall-header{text-align:center;margin-bottom:24px}.paywall-icon{display:flex;justify-content:center;margin-bottom:16px;color:var(--accent)}.paywall-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.paywall-desc{color:var(--text-muted);font-size:.9rem;line-height:1.4;margin:0}.paywall-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--error-color,#ef4444);padding:10px 14px;border-radius:10px;font-size:.85rem;margin-bottom:16px;text-align:center}.paywall-plans{gap:12px;margin-bottom:20px}.paywall-plan,.paywall-plans{display:flex;flex-direction:column}.paywall-plan{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:16px;align-items:center;gap:6px;transition:border-color .2s}.paywall-plan-best{border-color:var(--accent);background:var(--card-bg-hover,var(--card-bg))}.paywall-plan-badge{position:absolute;top:-10px;right:16px;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;border-radius:8px}.paywall-plan-label{font-weight:600;font-size:1rem;color:var(--text-primary)}.paywall-plan-price{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.paywall-plan-per-month{font-size:.8rem;color:var(--text-muted)}.paywall-plan .btn{margin-top:6px;width:100%}.paywall-footer{font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.4}.paywall-status{padding:0}.paywall-badge{display:inline-block;padding:6px 14px;border-radius:10px;font-size:.8rem;font-weight:600;margin-bottom:12px}.paywall-badge.admin{background:rgba(168,85,247,.15);color:var(--tertiary-accent,#a78bfa)}.paywall-badge.trial{background:rgba(78,205,196,.15);color:var(--secondary-accent,#4ecdc4)}.paywall-badge.cancel{background:rgba(251,191,36,.15);color:#fbbf24;display:block;text-align:center;margin-top:12px}.paywall-info{display:flex;flex-direction:column;gap:8px}.paywall-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.themeBlock{display:flex;flex-direction:column;gap:2px}.themeOption{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:15px;font-weight:500;cursor:pointer;transition:all .18s var(--ease-smooth);text-align:left}.themeOption:hover{background:var(--bg-hover);color:var(--text-primary)}.themeOptionActive{border-color:var(--accent-border);font-weight:600}.themeOptionActive,.themeOptionActive:hover{background:var(--accent-light);color:var(--accent-primary)}.themeOptionIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.themeOptionIcon svg{width:18px;height:18px}.themeOptionLabel{flex:1}.themeOptionCheck{font-size:13px;font-weight:700;color:var(--accent-primary);flex-shrink:0}.subscriptionCard{overflow:visible}.subscriptionCardHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.subscriptionCardBody{display:flex;flex-direction:column;gap:12px}.subscriptionStatus{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--radius-md,12px);transition:background .2s}.subscriptionStatus.active{background:rgba(34,197,94,.08)}.subscriptionStatus.trial{background:rgba(78,205,196,.08)}.subscriptionStatus.admin{background:rgba(168,85,247,.08)}.subscriptionStatus.expired{background:rgba(239,68,68,.08)}.subscriptionStatusIcon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.subscriptionStatus.active .subscriptionStatusIcon{color:#22c55e}.subscriptionStatus.trial .subscriptionStatusIcon{color:var(--secondary-accent,#4ecdc4)}.subscriptionStatus.admin .subscriptionStatusIcon{color:var(--tertiary-accent,#a78bfa)}.subscriptionStatus.expired .subscriptionStatusIcon{color:var(--error-color,#ef4444)}.subscriptionStatusText{display:flex;flex-direction:column;gap:2px}.subscriptionStatusLabel{font-weight:600;font-size:.9rem;color:var(--text-primary)}.subscriptionStatusDetail{font-size:.8rem;color:var(--text-muted);line-height:1.3}.expiredBanner{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(239,68,68,.1);border-bottom:1px solid rgba(239,68,68,.2);cursor:pointer;transition:background .2s;user-select:none;-webkit-tap-highlight-color:transparent}.expiredBanner:active{background:rgba(239,68,68,.18)}.expiredBanner svg{color:var(--error-color,#ef4444)}.expiredBannerText{flex:1;font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.3}.expiredBannerAction{font-size:.8rem;font-weight:700;color:var(--accent);white-space:nowrap;flex-shrink:0}.subscriptionModal{max-height:90vh;max-height:90dvh}.subscriptionModal .paywall{padding:0 0 16px}.subscriptionModal .paywall-header{margin-bottom:16px}.subscriptionModal .paywall-icon{display:none}.subscriptionModal .paywall-title{font-size:1.2rem}