@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--accent-primary:#d85555;--accent-hover:#e56a59;--accent-glow:#d8555566;--brand-gradient:linear-gradient(135deg, #d85555 0%, #e56a59 50%, #eaad3c 100%);--brand-gradient-hover:linear-gradient(135deg, #e56a59 0%, #eaad3c 50%, #efd048 100%);--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--danger:#ef4444;--danger-bg:#ef44441a;--success:#10b981;--warning:#f59e0b;--border-radius-sm:12px;--border-radius-md:16px;--border-radius-lg:24px;--border-radius-xl:32px;--spacing-xs:6px;--spacing-sm:12px;--spacing-md:20px;--spacing-lg:32px;--spacing-xl:48px;--spacing-2xl:64px;--glass-bg:#ffffffbf;--glass-border:#ffffff80;--glass-shadow:0 8px 32px #1f268712;--glass-blur:16px;--nav-height:85px;--max-width:1320px}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Plus Jakarta Sans,Outfit,-apple-system,sans-serif}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-tap-highlight-color:transparent;background-attachment:fixed;min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{color:var(--text-primary);letter-spacing:-.03em;font-weight:800;line-height:1.15}p{color:var(--text-secondary)}.text-gradient{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--border-radius-md);box-shadow:var(--glass-shadow)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);cursor:pointer;letter-spacing:.01em;border:none;border-radius:99px;padding:12px 28px;font-size:1rem;font-weight:700;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{background:var(--accent-primary,var(--brand-gradient));color:#fff;box-shadow:0 10px 25px -5px var(--accent-glow,#fb923c66);transition:all .5s}.btn-primary:hover{background:var(--accent-hover,var(--brand-gradient-hover));box-shadow:0 15px 35px -5px var(--accent-glow,#ec489980);color:#fff;transform:translateY(-2px)}.btn-outline{color:var(--text-primary);-webkit-backdrop-filter:blur(8px);background:#ffffff80;border:1px solid #00000014;font-weight:600;box-shadow:0 4px 15px #00000005}.btn-outline:hover{background:#fff;border-color:#00000026;transform:translateY(-2px);box-shadow:0 8px 25px #00000014}@keyframes fadeIn{0%{opacity:0;filter:blur(4px);transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-fade-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeInLeftTop{0%{opacity:0;filter:blur(4px);transform:translate(-30px,-30px)}to{opacity:1;filter:blur();transform:translate(0)}}.animate-fade-in-left-top{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInLeftTop}@keyframes fadeOut{0%{opacity:1;filter:blur();transform:translate(0)}to{opacity:0;filter:blur(4px);transform:translate(-30px,-30px)}}.animate-fade-out{animation:.3s cubic-bezier(.16,1,.3,1) forwards fadeOut}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:6s ease-in-out infinite float}.animate-pulse-slow{animation:4s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:var(--bg-tertiary);border-radius:var(--border-radius-sm);background-image:linear-gradient(90deg,#fff0 0,#fff9 20%,#fff0 40% 100%);background-size:1000px 100%;animation:1.5s linear infinite shimmer}.container{max-width:var(--max-width);padding:0 var(--spacing-lg);margin:0 auto}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);color:var(--text-primary);border-radius:9999px;padding:6px 16px;font-size:.8rem;font-weight:700}@media (width<=768px){input,textarea,select{font-size:16px}.ad-sidebar{display:none}.ad-main-wrapper{margin-left:0}.ad-header{padding:0 20px}.ad-content{padding:0 20px 20px}.container{padding:0 var(--spacing-md)}.btn{min-height:44px;padding:12px 22px}}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-item{pointer-events:auto;background:var(--bg-secondary,#fff);border-radius:var(--border-radius-sm,12px);border-left:4px solid #0000;align-items:flex-start;gap:12px;min-width:300px;max-width:420px;padding:14px 16px;animation:.3s toast-slide-in;display:flex;box-shadow:0 8px 30px #0000001f}.toast-item--success{border-left-color:var(--success,#10b981)}.toast-item--error{border-left-color:var(--danger,#ef4444)}.toast-item--info{border-left-color:#3b82f6}.toast-icon{flex-shrink:0;margin-top:1px}.toast-icon--success{color:var(--success,#10b981)}.toast-icon--error{color:var(--danger,#ef4444)}.toast-icon--info{color:#3b82f6}.toast-content{flex:1;min-width:0}.toast-title{color:var(--text-primary,#0f172a);margin:0 0 2px;font-size:.875rem;font-weight:600}.toast-message{color:var(--text-secondary,#334155);margin:0;font-size:.8125rem;line-height:1.4}.toast-dismiss{cursor:pointer;width:24px;height:24px;color:var(--text-muted,#64748b);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.toast-dismiss:hover{background:var(--bg-tertiary,#f1f5f9);color:var(--text-primary,#0f172a)}.drs-container{z-index:9999;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:20px;right:20px}.drs-toggle{color:#fff;cursor:pointer;background:#1f2937;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,transform .2s;display:flex;box-shadow:0 4px 16px #00000040}.drs-toggle:hover{background:#111827;transform:scale(1.05)}.drs-panel{background:#1f2937;border:1px solid #ffffff14;border-radius:14px;min-width:180px;padding:14px;box-shadow:0 8px 32px #0000004d}.drs-panel-header{text-transform:uppercase;letter-spacing:.05em;color:#ffffffa6;margin-bottom:10px;padding:0 4px;font-size:.75rem;font-weight:600}.drs-role-list{flex-direction:column;gap:6px;display:flex}.drs-role-btn{color:#f9fafb;cursor:pointer;text-align:left;background:#ffffff0f;border:none;border-radius:10px;padding:10px 14px;font-size:.9rem;font-weight:500;transition:background .2s}.drs-role-btn:hover{background:#ffffff24}.drs-role-btn--active{color:#fff;background:#f59e0b}.drs-role-btn--active:hover{background:#d97706}.lm-backdrop{z-index:10000;-webkit-backdrop-filter:blur(8px);background:#0f172a73;justify-content:center;align-items:center;animation:.2s ease-out lm-fade-in;display:flex;position:fixed;inset:0}@keyframes lm-fade-in{0%{opacity:0}to{opacity:1}}.lm-modal{width:100%;max-width:440px;color:var(--text-primary);background:#fff;border:1px solid #0f172a0f;border-radius:24px;margin:20px;padding:40px 36px 28px;animation:.32s cubic-bezier(.16,1,.3,1) lm-pop-in;position:relative;box-shadow:0 24px 60px -12px #d855552e,0 16px 40px -16px #0f172a2e}@keyframes lm-pop-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.lm-modal:before{content:"";background:var(--brand-gradient);opacity:.9;border-radius:0 0 8px 8px;height:4px;position:absolute;top:0;left:24px;right:24px}.lm-close{color:var(--text-muted);cursor:pointer;background:#0f172a0a;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:14px;right:14px}.lm-close:hover{color:var(--text-primary);background:#0f172a14}.lm-header{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:28px;display:flex}.lm-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-primary);background:#d8555514;border-radius:999px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.lm-title{color:var(--text-primary);letter-spacing:-.02em;margin:4px 0 0;font-size:1.7rem;font-weight:800}.lm-title-accent{background:var(--brand-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.lm-subtitle{color:var(--text-secondary);max-width:320px;margin:4px 0 0;font-size:.9rem;line-height:1.5}.lm-sso-buttons{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.lm-sso-btn{width:100%;color:var(--text-primary);cursor:pointer;background:#fff;border:1px solid #0f172a1a;border-radius:14px;justify-content:center;align-items:center;gap:12px;padding:13px 16px;font-family:inherit;font-size:.95rem;font-weight:600;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex;position:relative}.lm-sso-btn:hover:not(:disabled){border-color:#0f172a33;transform:translateY(-1px);box-shadow:0 8px 22px -10px #0f172a2e}.lm-sso-btn:disabled{opacity:.55;cursor:not-allowed}.lm-sso-btn--primary{border-color:#d855554d;box-shadow:0 8px 24px -10px #d8555573}.lm-sso-btn--primary:hover:not(:disabled){border-color:#d855558c;box-shadow:0 12px 28px -8px #d8555580}.lm-sso-icon{object-fit:contain;flex-shrink:0;width:22px;height:22px}.lm-error{color:#b91c1c;background:var(--danger-bg);text-align:center;border:1px solid #ef444440;border-radius:10px;margin:4px 0 0;padding:10px 14px;font-size:.85rem;line-height:1.45}.lm-footer{color:var(--text-muted);text-align:center;margin:18px 0 0;font-size:.82rem;line-height:1.55}.lm-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:20px 0 16px;font-size:.72rem;display:flex}.lm-divider:before,.lm-divider:after{content:"";background:#00000014;flex:1;height:1px}.lm-email-form{flex-direction:column;gap:12px;display:flex}.lm-field{flex-direction:column;gap:6px;display:flex}.lm-field>span{color:#334155;font-size:.78rem;font-weight:600}.lm-field input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:11px 14px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.lm-field input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.lm-field input:disabled{opacity:.7;background:#f8fafc}.lm-email-submit{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;margin-top:4px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:background .15s}.lm-email-submit:hover:not(:disabled){background:#1e293b}.lm-email-submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.lm-modal{-webkit-overflow-scrolling:touch;border-radius:18px;max-width:100%;max-height:90dvh;margin:12px;padding:28px 22px 22px;overflow-y:auto}.lm-title{font-size:1.4rem}.lm-subtitle{font-size:.85rem}.lm-sso-btn{min-height:48px}.lm-field input{font-size:16px}.lm-email-submit{min-height:48px}}.lm-back-inline{color:#64748b;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;margin:0 0 12px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.lm-back-inline:hover{color:#1a1a1a}.lm-email-chip{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto 18px;padding:8px 16px;font-size:.92rem;font-weight:600;display:block;overflow:hidden}.bm-overlay{z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bm-backdrop{-webkit-backdrop-filter:blur(8px);background:#0f172a66;position:absolute;inset:0;transform:translateZ(0)}.bm-container{background:#fff;border-radius:24px;flex-direction:column;width:100%;max-width:700px;min-height:550px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d}.bm-close-btn{color:#64748b;cursor:pointer;z-index:10;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.bm-close-btn:hover{color:#0f172a;background:#e2e8f0;transform:rotate(90deg)}.bm-header{background:linear-gradient(#fafafa,#fff);padding:40px 40px 30px}.bm-progress-container{justify-content:space-between;max-width:500px;margin:0 auto;display:flex;position:relative}.bm-progress-line{z-index:1;background:#10b981;height:2px;transition:width .4s;position:absolute;top:20px;left:10%}.bm-progress-container:before{content:"";z-index:0;background:#e2e8f0;height:2px;position:absolute;top:20px;left:10%;right:10%}.bm-step{z-index:2;flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.bm-step-circle{color:#94a3b8;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;transition:all .3s;display:flex;box-shadow:inset 0 2px 4px #00000005,0 4px 10px #0000000d}.bm-step.completed .bm-step-circle{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 4px 12px #10b9814d}.bm-step.active .bm-step-circle{color:#eaad3c;border-color:#eaad3c;box-shadow:0 0 0 4px #eaad3c1a,inset 0 2px 4px #0000000d}.bm-step-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.bm-step.active .bm-step-label{color:#eaad3c}.bm-step.completed .bm-step-label{color:#10b981}.bm-body{flex-direction:column;flex:1;padding:30px 40px 40px;display:flex;position:relative}.bm-back-btn{color:#64748b;cursor:pointer;z-index:10;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.95rem;font-weight:600;transition:color .2s;display:flex;position:absolute;top:30px;left:40px}.bm-back-btn:hover{color:#0f172a}.bm-step-content{flex-direction:column;flex:1;width:100%;display:flex}.bm-title{color:#0f172a;letter-spacing:-.02em;margin-bottom:8px;font-size:1.8rem;font-weight:800}.bm-subtitle{color:#64748b;margin-bottom:32px;font-size:1.05rem}.align-center{text-align:center}.max-w-sm{max-width:400px}.max-w-xl{max-width:500px}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.mt-3{margin-top:12px}.mt-6{margin-top:24px}.bm-grid{gap:16px;width:100%;display:grid}.bm-grid-columns-3{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.bm-grid-columns-2{grid-template-columns:repeat(2,1fr)}.bm-grid-columns-1{grid-template-columns:1fr}.bm-option-card{color:#334155;cursor:pointer;will-change:transform, box-shadow;background:#fff;border:2px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;padding:20px;font-size:1.15rem;font-weight:600;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s,background .2s,color .2s;display:flex;box-shadow:0 4px 6px #00000005}.bm-option-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 15px #0000000d}.bm-option-card.selected{color:#eaad3c;background:#fffbf0;border-color:#eaad3c;box-shadow:0 8px 20px #eaad3c26}.bm-subject-card{cursor:pointer;text-align:left;will-change:transform, box-shadow;background:#fff;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;align-items:flex-start;gap:24px;min-height:180px;padding:30px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s;display:flex;box-shadow:0 4px 12px #00000008}.bm-subject-card:hover{border-color:#cbd5e1;transform:translateY(-4px);box-shadow:0 12px 24px #0000000f}.bm-subject-card.selected{background:#fffbf0;border-color:#eaad3c;box-shadow:0 12px 24px #eaad3c26}.bm-subject-title{color:#0f172a;white-space:nowrap;font-size:1.5rem;font-weight:800;line-height:1.3}.bm-subject-provider{border-top:1px solid #0000000f;align-items:center;gap:8px;width:100%;margin-top:auto;padding-top:16px;display:flex}.bm-provider-text{color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.75rem;font-weight:600}.bm-provider-logo{object-fit:contain;height:20px}.bm-calendar-layout{flex:1;gap:32px;display:flex}.bm-dates-list{flex-direction:column;flex-shrink:0;gap:12px;width:140px;max-height:350px;padding-right:8px;display:flex;overflow-y:auto}.bm-date-card{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.bm-date-card:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1}.bm-date-card.selected{box-shadow:var(--glass-shadow);background:#fffbf0;border-color:#eaad3c}.bm-date-card:disabled{opacity:.6;cursor:not-allowed;background:#f1f5f9}.bm-date-day{color:#64748b;flex-shrink:0;font-size:.88rem;font-weight:600}.bm-date-num{color:#0f172a;flex-shrink:0;font-size:1rem;font-weight:800}.bm-status-dot{width:4px;position:absolute;top:0;bottom:0;left:0}.status-green .bm-status-dot{background:#10b981}.status-yellow .bm-status-dot{background:#f59e0b}.status-red .bm-status-dot{background:#ef4444}.status-grey .bm-status-dot{background:#94a3b8}.bm-times-list{opacity:0;pointer-events:none;will-change:transform, opacity;background:#f8fafc;border-radius:20px;flex-direction:column;flex:1;padding:24px;transition:opacity .3s,transform .3s;display:flex;transform:translate(10px)}.bm-times-list.visible{opacity:1;pointer-events:auto;transform:translate(0,0)}.bm-times-header{color:#334155;margin-bottom:20px;font-size:1.1rem;font-weight:700}.bm-times-grid{grid-template-columns:repeat(2,1fr);gap:12px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.bm-time-slot{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;font-weight:600;transition:all .2s}.bm-time-slot:hover{color:#eaad3c;border-color:#eaad3c}.bm-time-slot.selected{color:#fff;background:#eaad3c;border-color:#eaad3c;box-shadow:0 4px 12px #eaad3c33}.bm-times-empty{color:#94a3b8;justify-content:center;align-items:center;height:100%;font-weight:500;display:flex}.bm-social-logins{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.bm-social-btn{cursor:pointer;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.bm-social-btn:hover{background:#f8fafc;border-color:#cbd5e1}.bm-social-icon{width:20px;height:20px}.bm-divider{text-align:center;color:#94a3b8;align-items:center;margin:24px 0;font-size:.85rem;font-weight:600;display:flex}.bm-divider:before,.bm-divider:after{content:"";border-bottom:1px solid #e2e8f0;flex:1}.bm-divider span{padding:0 16px}.bm-input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;margin-bottom:12px;padding:14px 16px;font-size:1rem;transition:border-color .2s}.bm-input:focus{border-color:#eaad3c;box-shadow:0 0 0 3px #eaad3c1a}.bm-checkout-header{margin-bottom:32px}.bm-checkout-icon{color:#eaad3c;background:#fffbf0;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.bm-checkout-box{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.bm-summary-section{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.bm-summary-row{justify-content:space-between;align-items:flex-start;font-size:.95rem;line-height:1.4;display:flex}.bm-summary-label{color:#64748b;flex-shrink:0;margin-right:16px;font-weight:500}.bm-summary-value{color:#0f172a;text-align:right;font-weight:600}.bm-checkout-divider{background:#e2e8f0;width:100%;height:1px;margin:20px 0}.bm-price-container{align-items:center;gap:12px;display:flex}.bm-original-price{color:#94a3b8;font-size:1rem;font-weight:500;text-decoration:line-through}.bm-checkout-row{color:#0f172a;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:1.1rem;font-weight:700;display:flex}.bm-free-tag{color:#fff;background:#10b981;border-radius:99px;padding:4px 12px;font-size:.95rem}.bm-checkout-hint{color:#64748b;margin-bottom:24px;font-size:.9rem;line-height:1.5}.bm-card-row{gap:12px;display:flex}.bm-btn-primary{color:#fff;cursor:pointer;will-change:transform, box-shadow;background:#1a1a1a;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px 24px;font-size:1.1rem;font-weight:700;transition:transform .3s,box-shadow .3s,background .3s;display:inline-flex}.bm-btn-primary:not(:disabled):hover{background:#000;transform:translateY(-2px);box-shadow:0 10px 20px #00000026}.bm-btn-outline{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.bm-btn-outline:hover{background:#f8fafc;border-color:#94a3b8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{will-change:transform, opacity;backface-visibility:hidden;animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0,0)}}.slide-in{will-change:transform, opacity;backface-visibility:hidden;animation:.4s cubic-bezier(.16,1,.3,1) forwards slideInRight}@media (width<=768px){.bm-overlay{align-items:flex-end;padding:0}.bm-container{-webkit-overflow-scrolling:touch;border-radius:22px 22px 0 0;width:100%;max-width:100%;min-height:auto;max-height:92dvh;overflow-y:auto}.bm-close-btn{width:36px;height:36px;top:12px;right:12px}.bm-header{padding:22px 18px 18px}.bm-progress-container{max-width:100%}.bm-step-label{font-size:.72rem}.bm-body{padding:0 18px 22px!important}.bm-step-content>*+*{margin-top:12px}.bm-title{font-size:1.3rem!important}.bm-subtitle{font-size:.9rem!important}.bm-grid-columns-3,.bm-grid-columns-2{gap:12px;grid-template-columns:1fr!important}.bm-option-card,.bm-subject-card{padding:16px!important}.bm-calendar-layout{flex-direction:column;gap:16px}.bm-dates-list{-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:4px;overflow-x:auto;flex-direction:row!important}.bm-date-card{flex:none;min-width:70px}.bm-times-grid{gap:8px;grid-template-columns:repeat(2,1fr)!important}.bm-btn-primary,.bm-btn-outline{justify-content:center;width:100%;min-height:48px}}.bm-week-nav{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.bm-week-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.bm-week-btn:hover:not(:disabled){color:#0f172a;background:#e2e8f0}.bm-week-btn:disabled{opacity:.4;cursor:not-allowed}.bm-week-label{color:#334155;white-space:nowrap;font-size:.9rem;font-weight:600}.bm-date-card--skeleton{pointer-events:none;cursor:default;background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 50%,#f3f4f6 100%) 0 0/200% 100%;border:1px solid #e5e7eb;min-height:56px;animation:1.2s ease-in-out infinite bm-skeleton}.bm-time-slot.disabled{opacity:.4;cursor:not-allowed}.bm-avail-error{text-align:center;color:#4b5563;padding:24px 16px}.bm-avail-error p{margin:0 0 12px}.bm-options-grid{grid-template-columns:1fr;gap:16px;width:100%;max-width:400px;margin:0 auto;display:grid}.bm-option-card--skeleton{pointer-events:none;background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 50%,#f3f4f6 100%) 0 0/200% 100%;border:1px solid #e5e7eb;min-height:56px;animation:1.2s ease-in-out infinite bm-skeleton}@keyframes bm-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.bm-focus-error,.bm-focus-empty{text-align:center;color:#4b5563;padding:20px 16px}.bm-focus-error p,.bm-focus-empty p{margin:0 0 12px}@keyframes bm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bm-spin{color:#64748b;animation:.9s linear infinite bm-spin}.bm-booking-status{color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:48px 24px;font-size:1rem;font-weight:500;display:flex}.bm-blocked{text-align:center;color:#991b1b;box-sizing:border-box;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:440px;margin:32px auto;padding:24px 22px;display:flex}.bm-blocked>svg{box-sizing:border-box;background:#fee2e2;border-radius:50%;flex-shrink:0;width:48px;height:48px;padding:12px}.bm-blocked>div{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.bm-blocked strong{color:inherit;margin:0;font-size:1.02rem;display:block}.bm-blocked p{color:#b91c1c;max-width:360px;margin:0;font-size:.9rem;line-height:1.55}.bm-blocked.bm-blocked--info{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.bm-blocked.bm-blocked--info>svg{background:#dbeafe}.bm-blocked.bm-blocked--info p{color:#1e40af}.bm-confirmation{flex-direction:column;align-items:center;gap:12px;padding:32px 24px;display:flex}.bm-success-icon{color:#10b981;background:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:8px;display:flex;box-shadow:0 0 0 8px #10b98114}.bm-confirmation-note{color:#64748b;margin:0;font-size:.9rem;line-height:1.5}.bm-booking-error{flex-direction:column;align-items:center;gap:16px;padding:32px 24px;display:flex}.bm-error-msg{color:#dc2626;margin:0;font-size:.95rem;font-weight:500}.bm-signin-error{color:#dc2626;text-align:left;margin:8px 0 0;font-size:.88rem}.bm-trial-note{color:#94a3b8;margin:20px 0 0;font-size:.85rem;line-height:1.5}.bm-back-inline{color:#64748b;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;margin:0 0 16px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.bm-back-inline:hover{color:#1a1a1a}.bm-email-chip{color:#334155;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto 20px;padding:8px 16px;font-size:.92rem;font-weight:600;display:block;overflow:hidden}.modal-prim-backdrop{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;animation:.2s modal-prim-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-prim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-prim-slide-up{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-prim-dialog{background:var(--bg-secondary,#fff);border-radius:var(--border-radius-md,16px);flex-direction:column;width:90%;max-height:85vh;animation:.25s modal-prim-slide-up;display:flex;box-shadow:0 20px 60px #00000026}.modal-prim-dialog--sm{max-width:400px}.modal-prim-dialog--md{max-width:560px}.modal-prim-dialog--lg{max-width:760px}.modal-prim-dialog--xl{width:min(96vw,1220px);max-width:1220px;max-height:92vh}.modal-prim-header{border-bottom:1px solid var(--bg-tertiary,#f1f5f9);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-prim-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.125rem;font-weight:600}.modal-prim-close{border-radius:var(--border-radius-sm,12px);cursor:pointer;width:32px;height:32px;color:var(--text-muted,#64748b);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.modal-prim-close:hover{background:var(--bg-tertiary,#f1f5f9);color:var(--text-primary,#0f172a)}.modal-prim-body{flex:1;padding:20px 24px;overflow-y:auto}.modal-prim-footer{border-top:1px solid var(--bg-tertiary,#f1f5f9);justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px 20px;display:flex}.cpp-course-summary{background:var(--bg-tertiary,#f8fafc);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:14px 18px;display:flex}.cpp-course-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.05rem;font-weight:700}.cpp-course-brand{color:var(--text-muted,#64748b);margin:2px 0 0;font-size:.85rem}.cpp-course-per-lesson{color:var(--text-secondary,#475569);white-space:nowrap;font-size:.8rem;font-weight:600}.cpp-auth-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:12px 16px;font-size:.9rem;display:flex}.cpp-auth-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:none;border-radius:999px;padding:8px 16px;font-weight:600}.cpp-auth-btn:hover{background:#000}.cpp-pack-list{flex-direction:column;gap:12px;display:flex}.cpp-pack{cursor:pointer;text-align:left;background:#fff;border:2px solid #e5e7eb;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px 20px;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.cpp-pack:hover:not(:disabled){border-color:#1a1a1a;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.cpp-pack:disabled{cursor:not-allowed;opacity:.6}.cpp-pack--best{background:linear-gradient(#fffbeb 0%,#fff 60%);border-color:#f59e0b}.cpp-pack-main{align-items:center;gap:14px;min-width:0;display:flex}.cpp-pack-count{color:#1a1a1a;font-size:1.8rem;font-weight:800;line-height:1}.cpp-pack-label{color:#0f172a;font-size:.95rem;font-weight:700}.cpp-pack-savings{color:#b45309;margin-top:2px;font-size:.8rem;font-weight:600}.cpp-pack-price{text-align:right}.cpp-pack-total{color:#0f172a;font-size:1.15rem;font-weight:700}.cpp-pack-per{color:#64748b;margin-top:2px;font-size:.78rem}.cpp-pack-cta{color:#fff;background:#1a1a1a;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;display:flex}.cpp-pack--best .cpp-pack-cta{color:#1a1a1a;background:#f59e0b}.cpp-footnote{color:#94a3b8;text-align:center;margin:18px 0 0;font-size:.78rem}.cpp-empty{text-align:center;color:#64748b;padding:24px;font-size:.9rem}.cpp-pack-strike{color:#94a3b8;margin-top:2px;font-size:.78rem;text-decoration:line-through}.cpp-pack-promo-line{color:#047857;margin-top:2px;font-size:.78rem;font-weight:600}.cpp-promo-area{margin-top:14px}.cpp-promo-toggle{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.cpp-promo-toggle:hover{text-decoration:underline}.cpp-promo-row{align-items:stretch;gap:8px;display:flex}.cpp-promo-input{text-transform:uppercase;border:1px solid #e5e7eb;border-radius:8px;flex:1;min-width:0;padding:9px 12px;font-family:inherit;font-size:.9rem}.cpp-promo-input:focus{border-color:#f59e1f;outline:none}.cpp-promo-input:disabled{cursor:not-allowed;background:#f6f7f9}.cpp-promo-apply{color:#fff;cursor:pointer;white-space:nowrap;background:#111827;border:none;border-radius:8px;padding:0 16px;font-size:.88rem;font-weight:600}.cpp-promo-apply:disabled{cursor:not-allowed;background:#94a3b8}.cpp-promo-error{color:#b91c1c;margin-top:8px;font-size:.8rem}.cpp-promo-applied{color:#047857;background:#ecfdf5;border-radius:8px;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;font-size:.85rem;display:flex}.cpp-promo-applied strong{font-weight:700}.cpp-promo-clear{cursor:pointer;color:#047857;background:0 0;border:none;border-radius:4px;align-items:center;margin-left:auto;padding:2px;display:inline-flex}.cpp-promo-clear:hover{background:#d1fae5}@media (width<=560px){.cpp-pack{text-align:center;grid-template-columns:1fr}.cpp-pack-main{justify-content:center}.cpp-pack-price{text-align:center}.cpp-pack-cta{justify-content:center}}@media (width<=768px){.cpp-course-summary{flex-direction:column;align-items:flex-start;gap:6px;padding:14px}.cpp-auth-banner{flex-direction:column;align-items:stretch;gap:10px}.cpp-auth-btn{width:100%;min-height:44px}.cpp-pack{min-height:64px;padding:16px}.cpp-pack-cta{min-height:40px;padding:10px 16px}.cpp-promo-apply{min-height:44px}}.cpp-blocked{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:flex-start;gap:12px;margin:4px 0 8px;padding:16px 18px;display:flex}.cpp-blocked svg{flex-shrink:0;margin-top:2px}.cpp-blocked strong{margin-bottom:4px;font-size:.95rem;display:block}.cpp-blocked p{color:#b91c1c;margin:0;font-size:.88rem;line-height:1.5}.tbm-course-summary{background:var(--bg-tertiary,#f8fafc);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:14px 18px;display:flex}.tbm-course-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.05rem;font-weight:700}.tbm-course-brand{color:var(--text-muted,#64748b);margin:2px 0 0;font-size:.85rem}.tbm-free-pill{color:#065f46;letter-spacing:.04em;text-transform:uppercase;background:#dcfce7;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:700}.tbm-auth-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:12px 16px;font-size:.9rem;display:flex}.tbm-auth-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:none;border-radius:999px;padding:8px 16px;font-weight:600}.tbm-auth-btn:hover{background:#000}.tbm-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.tbm-label{color:#475569;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.tbm-input{border:1.5px solid #e5e7eb;border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.tbm-input:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14}.tbm-hint{color:#94a3b8;font-size:.78rem}.tbm-confirm{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:12px;width:100%;padding:14px 20px;font-size:.95rem;font-weight:700;transition:background .15s,transform .15s}.tbm-confirm:hover:not(:disabled){background:#000;transform:translateY(-1px)}.tbm-confirm:disabled{opacity:.5;cursor:not-allowed}.tbm-footnote{color:#94a3b8;text-align:center;margin:14px 0 0;font-size:.78rem}.tbm-success{text-align:center;flex-direction:column;align-items:center;padding:12px 0;display:flex}.tbm-success-icon{color:#065f46;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;display:flex}.tbm-success-line{color:#0f172a;margin:0 0 8px;font-size:1rem}.tbm-success-sub{color:#64748b;margin:0 0 18px;font-size:.85rem}@media (width<=768px){.tbm-course-summary{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.tbm-auth-banner{flex-direction:column;align-items:stretch;gap:10px}.tbm-auth-btn{width:100%;min-height:44px}.tbm-confirm{min-height:48px}}.tbm-blocked{text-align:center;color:#991b1b;box-sizing:border-box;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:380px;margin:24px auto;padding:22px 20px;display:flex}.tbm-blocked>svg{box-sizing:border-box;background:#fee2e2;border-radius:50%;flex-shrink:0;width:44px;height:44px;padding:11px}.tbm-blocked>div{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.tbm-blocked strong{margin:0;font-size:.98rem;display:block}.tbm-blocked p{color:#b91c1c;max-width:320px;margin:0;font-size:.88rem;line-height:1.55}.tbm-blocked--info{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.tbm-blocked--info>svg{background:#dbeafe}.tbm-blocked--info p{color:#1e40af}.tbm-intro{flex-direction:column;gap:16px;display:flex}.tbm-intro-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.tbm-intro-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.tbm-intro-brand{color:#64748b;margin:0;font-size:.9rem;font-weight:600}.tbm-free-pill{color:#92400e;letter-spacing:.05em;text-transform:uppercase;background:#fef3c7;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:800;display:inline-flex}.tbm-trial-spotlight{text-align:center;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:18px 16px}.tbm-trial-duration{color:#b45309;letter-spacing:-.01em;font-size:1.5rem;font-weight:800}.tbm-trial-duration-hint{color:#92400e;margin:6px 0 0;font-size:.85rem}.tbm-intro-desc{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:0;padding:12px 14px;font-size:.9rem;line-height:1.55}.tbm-picker{flex-direction:column;gap:16px;display:flex}.tbm-back-inline{color:#64748b;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.tbm-back-inline:hover{color:#1a1a1a}.tbm-week-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.tbm-week-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.tbm-week-btn:disabled{opacity:.4;cursor:not-allowed}.tbm-week-btn:hover:not(:disabled){background:#e2e8f0}.tbm-week-label{color:#0f172a;font-size:.92rem;font-weight:700}.tbm-picker-error{text-align:center;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:14px}.tbm-picker-error p{margin:0 0 10px;font-size:.9rem}.tbm-calendar{grid-template-columns:110px 1fr;gap:16px;display:grid}.tbm-dates{flex-direction:column;gap:8px;max-height:320px;padding-right:4px;display:flex;overflow-y:auto}.tbm-date-card{cursor:pointer;text-align:left;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.tbm-date-card:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1}.tbm-date-card.selected{background:#fffbf0;border-color:#eaad3c;box-shadow:0 1px 3px #eaad3c33}.tbm-date-card:disabled{opacity:.55;cursor:not-allowed;background:#f1f5f9}.tbm-date-day{color:#64748b;flex-shrink:0;font-size:.78rem;font-weight:600}.tbm-date-num{color:#0f172a;flex-shrink:0;font-size:.92rem;font-weight:800}.tbm-status-dot{width:3px;position:absolute;top:0;bottom:0;left:0}.tbm-date-card.status-green .tbm-status-dot{background:#10b981}.tbm-date-card.status-yellow .tbm-status-dot{background:#f59e0b}.tbm-date-card.status-red .tbm-status-dot{background:#ef4444}.tbm-date-card.status-grey .tbm-status-dot{background:#94a3b8}.tbm-date-card--skeleton{pointer-events:none;background:linear-gradient(90deg,#f3f4f6 0%,#e5e7eb 50%,#f3f4f6 100%) 0 0/200% 100%;border:1px solid #e5e7eb;min-height:48px;animation:1.2s ease-in-out infinite tbm-skeleton}@keyframes tbm-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.tbm-times{opacity:.4;background:#f8fafc;border-radius:14px;flex-direction:column;gap:12px;padding:16px;transition:opacity .2s;display:flex}.tbm-times.visible{opacity:1}.tbm-times-header{color:#334155;margin:0;font-size:.95rem;font-weight:700}.tbm-times-grid{grid-template-columns:repeat(2,1fr);gap:8px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.tbm-time-slot{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px;font-size:.88rem;font-weight:600}.tbm-time-slot:hover:not(:disabled){color:#eaad3c;border-color:#eaad3c}.tbm-time-slot.selected{color:#fff;background:#eaad3c;border-color:#eaad3c}.tbm-time-slot.disabled,.tbm-time-slot:disabled{opacity:.35;cursor:not-allowed}.tbm-times-empty{text-align:center;color:#94a3b8;margin:0;padding:18px 0;font-size:.88rem}@media (width<=600px){.tbm-calendar{grid-template-columns:1fr}.tbm-dates{flex-direction:row;max-height:none;padding:0 0 6px;overflow-x:auto}.tbm-date-card{flex:none;min-width:80px}}.tbm-booking-loader{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:320px;padding:48px 24px;display:flex}.tbm-booking-loader-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.tbm-booking-loader-sub{color:#64748b;max-width:320px;margin:0;font-size:.9rem;line-height:1.5}.tbm-booking-loader .tbm-spin,.tbm-spin{color:#eaad3c;animation:1s linear infinite tbm-spin}@keyframes tbm-spin{to{transform:rotate(360deg)}}:root{--sd-red:#ef4444;--sd-yellow:#f59e0b;--sd-bg:#fafbfc;--sd-sidebar-width:260px;--sd-text-primary:#1f2937;--sd-text-secondary:#9ca3af;--sd-border:#f3f4f6}.sd-layout{background-color:var(--sd-bg);min-height:100vh;font-family:Inter,system-ui,sans-serif;display:flex}.sd-sidebar{width:var(--sd-sidebar-width);border-right:1px solid var(--sd-border);z-index:100;background-color:#fff;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sd-logo-container{cursor:pointer;align-items:center;padding:32px 24px;text-decoration:none;display:flex}.sd-logo-container:hover .sd-logo{opacity:.85}.sd-logo-container .sd-logo{transition:opacity .15s}.sd-logo{object-fit:contain;height:24px}.sd-nav{flex-direction:column;flex:1;gap:8px;margin-top:10px;padding:0 16px;display:flex}.sd-nav-item{color:var(--sd-text-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sd-nav-item-left{align-items:center;gap:16px;display:flex}.sd-nav-badge{background-color:var(--sd-red);color:#fff;text-align:center;border-radius:12px;min-width:20px;padding:2px 8px;font-size:.75rem;font-weight:700}.sd-nav-item:hover{color:var(--sd-yellow);background-color:#fef8eb}.sd-nav-item.active{background-color:var(--sd-yellow);color:#fff;box-shadow:0 4px 12px #f59e0b33}.sd-nav-item.active .sd-nav-icon{color:#fff}.sd-nav-item.active .sd-nav-badge{color:var(--sd-yellow);background-color:#fff}.sd-sidebar-bottom{border-top:1px solid var(--sd-border);padding:24px}.sd-logout-btn{width:100%;color:var(--sd-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:16px;padding:12px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.sd-logout-btn:hover{color:var(--sd-yellow);background-color:#fef8eb}.sd-main-wrapper{margin-left:var(--sd-sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.sd-header{background-color:var(--sd-bg);z-index:90;justify-content:space-between;align-items:center;height:100px;padding:0 40px;display:flex;position:sticky;top:0}.sd-header-left h1{color:var(--sd-text-primary);margin:0 0 4px;font-size:1.5rem;font-weight:700}.sd-header-left p{color:var(--sd-text-secondary);margin:0;font-size:.85rem}.sd-header-right{align-items:center;gap:24px;display:flex}.sd-bell-btn{width:44px;height:44px;color:var(--sd-text-primary);cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;box-shadow:0 2px 10px #00000005}.sd-bell-btn:hover{transform:scale(1.05)}.sd-avatar{cursor:pointer;border-radius:50%;width:44px;height:44px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 2px 10px #0000000d}.sd-avatar:hover{transform:scale(1.04);box-shadow:0 4px 14px #00000014}.sd-avatar img{object-fit:cover;width:100%;height:100%}.sd-content{flex-direction:column;flex:1;padding:0 40px 40px;display:flex}.sd-mobile-topbar,.sd-drawer-overlay{display:none}@media (width<=768px){.sd-layout{flex-direction:column;min-height:100dvh}.sd-mobile-topbar{z-index:95;padding:max(10px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--sd-border);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.sd-drawer-toggle{width:44px;height:44px;color:var(--sd-text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000008;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.sd-drawer-toggle:active{transform:scale(.96)}.sd-mobile-topbar-logo{flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.sd-mobile-topbar-logo img{object-fit:contain;height:22px}.sd-mobile-topbar-avatar{width:40px;height:40px}.sd-sidebar{z-index:110;width:min(82vw,300px);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-overflow-scrolling:touch;transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;overflow-y:auto;transform:translate(-100%);box-shadow:16px 0 40px #0000}.sd-sidebar.open{transform:translate(0);box-shadow:16px 0 40px #0000002e}.sd-drawer-overlay{opacity:0;pointer-events:none;z-index:100;background:#0f172a73;transition:opacity .2s;display:block;position:fixed;inset:0}.sd-drawer-overlay.open{opacity:1;pointer-events:auto}.sd-header{display:none}.sd-main-wrapper{min-height:auto;margin-left:0}.sd-content{padding:16px 16px 24px}.sd-nav-item,.sd-logout-btn{min-height:48px}}.dashboard-container{gap:32px;width:100%;display:flex}.dashboard-main{flex-direction:column;flex:1;gap:32px;min-width:0;display:flex}.next-lesson-banner{color:#fff;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 40%,#ea580c 100%);border-radius:20px;justify-content:flex-start;align-items:center;height:auto;padding:32px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #f59e0b33}.banner-content{z-index:10;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.banner-left{flex-direction:column;gap:12px;display:flex}.banner-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;background:#fff3;border-radius:20px;width:max-content;padding:6px 12px;font-size:.8rem;font-weight:800}.banner-left h2{color:#fff;margin:0;font-size:2.25rem;font-weight:800}.banner-meta{color:#fff;align-items:center;gap:20px;margin-top:4px;font-size:1rem;font-weight:600;display:flex}.banner-meta span{align-items:center;gap:8px;display:flex}.banner-actions{flex-direction:column;gap:16px;display:flex}.btn-enter{color:#ea580c;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#fff;border:none;border-radius:40px;align-items:center;gap:12px;padding:16px 36px;font-size:1.15rem;font-weight:800;transition:all .3s;display:flex;box-shadow:0 6px 20px #00000026}.btn-enter:hover{color:#c2410c;transform:translateY(-4px)scale(1.03);box-shadow:0 10px 25px #00000040}.dashboard-classes{flex-direction:column;gap:20px;display:flex}.section-header{align-items:baseline;gap:16px;display:flex}.subtitle-text{color:var(--sd-text-secondary);font-size:.9rem;font-weight:500}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.prepare-card{border:1px solid var(--sd-border);background:#fff;border-radius:16px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000008}.prepare-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #0000000f}.card-top{border-top-style:solid;border-top-width:6px;border-bottom:1px solid var(--sd-border);padding:24px}.card-top.yellow-accent{border-top-color:var(--sd-yellow)}.card-top.red-accent{border-top-color:var(--sd-red)}.card-top h4{color:var(--sd-text-primary);margin:0 0 12px;font-size:1.15rem;font-weight:700}.prepare-meta{color:var(--sd-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:.85rem;display:flex}.prepare-meta span{align-items:center;gap:6px;display:flex}.card-actions-list{background:#fafbfc;flex-direction:column;gap:12px;padding:20px 24px;display:flex}.card-actions-list.flex-col{padding:24px}.prep-materials{flex-direction:column;gap:8px;display:flex}.prep-mat-empty{color:#94a3b8;font-size:.85rem;font-style:italic}.prep-mat-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.prep-mat-item{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.88rem;display:flex}.prep-mat-item svg{color:#b45309;flex-shrink:0}.prep-mat-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.prep-mat-dl{color:#92400e;cursor:pointer;background:#fff;border:1px solid #fcd34d;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .15s,color .15s}.prep-mat-dl:hover{color:#78350f;background:#fef3c7}.action-row{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.action-label{color:var(--sd-text-primary);font-size:.9rem;font-weight:600}.action-btn{border:1px solid var(--sd-border);color:var(--sd-text-primary);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.action-btn:hover{background:#f8fafc;border-color:#cbd5e1}.action-btn.success{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.action-btn.success:hover{background:#dcfce7}.action-btn.pending{color:#d97706;background:#fffbeb;border-color:#fde68a}.action-btn.pending:hover{background:#fef3c7}.action-btn.full-width{justify-content:center;width:100%;padding:12px}.modal-action-grid{flex-direction:column;gap:10px;margin-top:12px;display:flex}.study-tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dashboard-sidebar{flex-direction:column;gap:32px;width:320px;display:flex}.calendar-widget{border:1px solid var(--sd-border);background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 20px #00000008}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendar-header h3{margin:0;font-size:1.25rem;font-weight:700}.calendar-nav{gap:8px;display:flex}.calendar-nav button{border:1px solid var(--sd-border);cursor:pointer;width:32px;height:32px;color:var(--sd-text-primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.calendar-nav button:hover{background:#f8fafc}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-grid span{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin:auto;font-size:.9rem;font-weight:500;display:flex;position:relative}.calendar-grid .day-name{color:var(--sd-text-secondary);margin-bottom:8px;font-size:.8rem}.calendar-grid .muted{color:#cbd5e1}.calendar-grid .active{background:var(--sd-yellow);color:#fff;font-weight:700;box-shadow:0 4px 10px #f59e0b4d}.cal-dot{border-radius:50%;width:6px;height:6px;position:absolute}.cal-dot.dot-tr{top:2px;right:2px}.cal-dot.dot-br{bottom:2px;right:2px}.cal-dot.dot-bl{bottom:2px;left:2px}.cal-dot.dot-tl{top:2px;left:2px}.cal-dot.red{background-color:var(--sd-red)}.cal-dot.yellow{background-color:var(--sd-yellow)}.upcoming-section{flex-direction:column;flex:1;gap:16px;display:flex}.schedule-widget{border:1px solid var(--sd-border);background:#fff;border-radius:20px;flex-direction:column;padding:24px;display:flex;box-shadow:0 4px 20px #00000008}.schedule-widget h3{margin:0 0 20px;font-size:1.25rem;font-weight:700}.schedule-scroll-area{flex:1;max-height:250px;padding-right:8px;overflow-y:auto}.schedule-scroll-area::-webkit-scrollbar{width:6px}.schedule-scroll-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.schedule-list{flex-direction:column;gap:12px;display:flex}.schedule-item{cursor:pointer;background:#f8fafc;border-radius:16px;align-items:flex-start;padding:16px;transition:all .2s;display:flex}.schedule-item:hover{background:#fef8eb}.schedule-item .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px;margin-right:16px}.dot-red{background:var(--sd-red)}.dot-yellow{background:var(--sd-yellow)}.schedule-item .info{flex:1}.info h4{color:var(--sd-text-primary);margin:0 0 4px;font-size:.95rem;font-weight:600}.info .time-text{color:var(--sd-text-secondary);margin:0;font-size:.85rem}.schedule-more-btn{border:1px solid var(--sd-border);width:100%;color:var(--sd-text-primary);cursor:pointer;background:#fff;border-radius:12px;padding:12px;font-weight:600;transition:all .2s;box-shadow:0 2px 10px #00000005}.schedule-more-btn:hover{background:#f8fafc;border-color:#cbd5e1}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content.edit-modal{background:#fff;border-radius:20px;width:90%;max-width:400px;animation:.3s modalFadeIn;overflow:hidden;box-shadow:0 10px 40px #0000001a}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--sd-border);justify-content:space-between;align-items:center;padding:24px 24px 16px;display:flex}.modal-header h3{color:var(--sd-text-primary);margin:0;font-size:1.25rem}.close-btn{cursor:pointer;color:var(--sd-text-secondary);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.close-btn:hover{color:var(--sd-text-primary);background:#f1f5f9}.modal-body{padding:24px}.lesson-details-box{border:1px solid var(--sd-border);background:#f8fafc;border-radius:12px;align-items:center;gap:12px;margin-bottom:20px;padding:16px;display:flex}.lesson-details-box h4{color:var(--sd-text-primary);margin:0 0 4px;font-size:1rem}.lesson-details-box p{color:var(--sd-text-secondary);margin:0;font-size:.85rem}.modal-prompt{color:var(--sd-text-primary);text-align:center;margin-bottom:16px;font-size:.95rem;font-weight:500}.modal-actions-col{flex-direction:column;gap:12px;display:flex}.modal-label{color:var(--sd-text-secondary,#4b5563);margin:12px 0 6px;font-size:.85rem;font-weight:600;display:block}.modal-textarea{border:1px solid var(--sd-border,#e5e7eb);resize:vertical;box-sizing:border-box;border-radius:10px;width:100%;margin-bottom:12px;padding:10px 12px;font-family:inherit;font-size:.95rem}.modal-textarea:focus{border-color:var(--sd-accent,#f59e1f);outline:none}.modal-textarea:disabled{cursor:not-allowed;background:#f6f7f9}.modal-btn-primary{color:var(--sd-text-primary);border:1px solid var(--sd-border);cursor:pointer;background:#fff;border-radius:12px;padding:14px;font-size:.95rem;font-weight:600;transition:all .2s}.modal-btn-primary:hover{background:#f8fafc;border-color:#cbd5e1}.modal-btn-danger{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;border-radius:12px;padding:14px;font-size:.95rem;font-weight:600;transition:all .2s}.modal-btn-danger:hover{background:#fee2e2;border-color:#fca5a5}.edit-icon{color:#cbd5e1;margin-top:4px;transition:color .2s}.schedule-item:hover .edit-icon{color:var(--sd-yellow)}.modal-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.text-left{text-align:left}.mt-4{margin-top:16px}.mt-2{margin-top:8px}.font-bold{font-weight:700}.flex-1{flex:1}.datetime-selector-scroll{-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.datetime-selector-scroll::-webkit-scrollbar{height:6px}.datetime-selector-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.selector-item{border:1px solid var(--sd-border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:70px;padding:10px;transition:all .2s;display:flex}.selector-item:hover{background:#f8fafc;border-color:#94a3b8}.selector-item.active{border-color:var(--sd-yellow);color:#b45309;background:#fffbeb}.selector-day{color:var(--sd-text-secondary);margin-bottom:4px;font-size:.8rem}.selector-item.active .selector-day{color:#b45309}.selector-date{color:var(--sd-text-primary);font-size:.95rem;font-weight:600}.selector-item.active .selector-date{color:#b45309}.selector-dot{border-radius:50%;width:6px;height:6px;margin-top:6px}.selector-dot.red{background-color:var(--sd-red)}.selector-dot.yellow{background-color:var(--sd-yellow)}.selected-date-btn{flex-direction:row;justify-content:space-between;width:100%;padding:14px 20px}.selector-change-text{color:#b45309;font-size:.8rem;font-weight:500;text-decoration:underline}.time-item{min-width:100px;color:var(--sd-text-primary);padding:12px 16px;font-size:.9rem;font-weight:600}.modal-actions-row{gap:12px;margin-top:24px;display:flex}.modal-btn-secondary{color:var(--sd-text-primary);border:1px solid var(--sd-border);cursor:pointer;background:#fff;border-radius:12px;padding:14px;font-size:.95rem;font-weight:600;transition:all .2s}.modal-btn-secondary:hover{background:#f1f5f9}.modal-btn-primary:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.warning-box{text-align:center;background:#fef2f2;border:1px solid #fee2e2;border-radius:12px;padding:16px}.warning-box p{color:var(--sd-text-primary);margin:0 0 8px;font-size:.95rem}.warning-box p:last-child{margin-bottom:0}.change-highlight{background:#fffbeb;border-radius:8px;padding:8px;font-weight:700;display:inline-block;color:#b45309!important;font-size:1.1rem!important}.text-danger{color:#ef4444!important}.section-header h3 .hw-dash-pill{color:#92400e;letter-spacing:.03em;vertical-align:middle;background:#fef3c7;border-radius:999px;align-items:center;margin-left:10px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.section-header{justify-content:space-between;align-items:center}.hw-dash-view-all{color:var(--sd-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:.85rem;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.hw-dash-view-all:hover{color:#f59e0b;background:#fffbeb}.hw-dash-list,.feedback-dash-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-dash-item{background:#f5f3ff;border:1px solid #ede9fe;border-left:3px solid #8b5cf6;border-radius:10px;padding:12px 14px}.feedback-dash-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.feedback-dash-course{color:#111827;font-size:.92rem;font-weight:600}.feedback-dash-meta{color:#7c3aed;font-size:.78rem}.feedback-dash-note{color:#4c1d95;margin:0;font-size:.88rem;line-height:1.45}.hw-dash-item{border:1px solid var(--sd-border,#e5e7eb);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.hw-dash-item:hover{border-color:#fcd34d;transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b1a}.hw-dash-icon{color:#f59e0b;background:#fffbeb;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.hw-dash-body{flex:1;min-width:0}.hw-dash-title{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:.95rem;font-weight:600;overflow:hidden}.hw-dash-meta{color:#6b7280;flex-wrap:wrap;gap:6px;font-size:.8rem;display:flex}.hw-dash-arrow{color:#9ca3af;flex-shrink:0}.hw-dash-item:hover .hw-dash-arrow{color:#f59e0b}.hw-dash-item--overdue{border-left:3px solid #ef4444}.hw-dash-item--overdue .hw-dash-icon{color:#ef4444;background:#fef2f2}@media (width<=768px){.dashboard-container{flex-direction:column;gap:20px}.dashboard-main{gap:20px}.next-lesson-banner{border-radius:16px;padding:20px}.banner-content{flex-direction:column;align-items:flex-start;gap:16px}.banner-left h2{font-size:1.5rem}.banner-meta{flex-wrap:wrap;gap:10px;font-size:.9rem}.banner-actions{width:100%}.btn-enter{justify-content:center;width:100%;padding:14px 20px;font-size:1rem}.classes-grid{grid-template-columns:1fr;gap:14px}.card-top{padding:18px}.card-actions-list{padding:16px 18px}.section-header{flex-wrap:wrap;gap:8px}.dashboard-sidebar{width:100%}.calendar-widget,.schedule-widget{border-radius:16px;padding:18px}.schedule-scroll-area{-webkit-overflow-scrolling:touch;max-height:320px}.modal-content.edit-modal{-webkit-overflow-scrolling:touch;width:calc(100% - 24px);max-width:100%;max-height:90dvh;overflow-y:auto}.modal-actions-row{flex-direction:column}.hw-dash-item{gap:12px;padding:12px 14px}.hw-dash-title{white-space:normal}}.hw-dash-item--overdue .hw-dash-meta{color:#b91c1c;font-weight:500}.cal-prim-wrapper{-webkit-user-select:none;user-select:none;flex-direction:column;gap:12px;display:flex}.cal-prim-header{justify-content:space-between;align-items:center;display:flex}.cal-prim-month-label{color:var(--text-primary,#0f172a);font-size:1rem;font-weight:600}.cal-prim-nav{gap:4px;display:flex}.cal-prim-nav-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary,#334155);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s;display:flex}.cal-prim-nav-btn:hover{background:var(--bg-tertiary,#f1f5f9)}.cal-prim-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-prim-day-name{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);padding:4px 0 8px;font-size:.6875rem;font-weight:600}.cal-prim-cell{cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-height:40px;padding:6px 2px;transition:background .12s;display:flex}.cal-prim-cell:hover{background:var(--bg-tertiary,#f1f5f9)}.cal-prim-cell--muted{opacity:.35}.cal-prim-cell--today .cal-prim-day-num{outline:2px solid var(--accent-primary,#d85555);outline-offset:1px;border-radius:50%}.cal-prim-cell--selected,.cal-prim-cell--selected:hover{background:var(--accent-primary,#d85555)}.cal-prim-cell--selected .cal-prim-day-num{color:#fff;outline:none}.cal-prim-day-num{color:var(--text-primary,#0f172a);justify-content:center;align-items:center;width:26px;height:26px;font-size:.8125rem;font-weight:500;display:flex}.cal-prim-dots{gap:3px;height:6px;display:flex}.cal-prim-dot{border-radius:50%;width:5px;height:5px}.cal-prim-wrapper--compact .cal-prim-month-label{font-size:.875rem}.cal-prim-wrapper--compact .cal-prim-nav-btn{width:26px;height:26px}.cal-prim-wrapper--compact .cal-prim-cell{min-height:32px;padding:3px 1px}.cal-prim-wrapper--compact .cal-prim-day-num{width:22px;height:22px;font-size:.75rem}.cal-prim-wrapper--compact .cal-prim-dot{width:4px;height:4px}.ag-root{width:100%}.ag-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.ag-week-nav{align-items:center;gap:8px;display:inline-flex}.ag-week-btn{cursor:pointer;color:#475569;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ag-week-btn:hover{border-color:#c4c8d0}.ag-week-label{color:#111827;font-size:.88rem;font-weight:600}.ag-filter{flex-wrap:wrap;gap:6px;display:inline-flex}.ag-chip{color:#475569;cursor:pointer;background:#f6f7f9;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.ag-chip--on{color:#fff;background:#111827;border-color:#111827}.ag-legend{color:#6b7280;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;font-size:.74rem;display:flex}.ag-swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.ag-swatch--current{background:#16a34a}.ag-swatch--other{background:#fef3c7;border:1px solid #fde68a}.ag-swatch--booked{background:#e5e7eb}.ag-state{text-align:center;color:#6b7280;align-items:center;gap:8px;padding:32px 12px;font-size:.88rem;display:inline-flex}.ag-state--err{color:#b91c1c}.ag-spin{animation:1s linear infinite ag-spin}@keyframes ag-spin{to{transform:rotate(360deg)}}.ag-grid-wrap{border:1px solid #eef0f3;border-radius:10px;overflow-x:auto}.ag-grid{border-collapse:collapse;width:100%;font-size:.78rem}.ag-grid th{color:#475569;text-align:center;z-index:1;background:#f9fafb;border-bottom:1px solid #eef0f3;border-right:1px solid #f1f3f6;padding:8px 6px;font-weight:600;position:sticky;top:0}.ag-col-day{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:.72rem}.ag-col-date{color:#111827;margin-top:2px;font-size:1rem;font-weight:700;line-height:1}.ag-grid th:last-child,.ag-grid td:last-child{border-right:none}.ag-grid td{border-bottom:1px solid #f1f3f6;border-right:1px solid #f1f3f6;padding:0}.ag-time-col{z-index:2;width:60px;position:sticky;left:0;color:#6b7280!important;text-align:right!important;background:#fcfcfd!important;padding-right:8px!important;font-weight:500!important}.ag-cell{cursor:not-allowed;background:#e5e7eb;border:none;width:100%;height:22px;transition:opacity .1s,transform 50ms;display:block}.ag-cell--current{cursor:pointer;background:#bbf7d0}.ag-cell--current:hover{background:#86efac}.ag-cell--other{cursor:pointer;background:#fef3c7}.ag-cell--other:hover{background:#fde68a}.ag-cell--dim{opacity:.35;cursor:not-allowed}.ag-cell--past{cursor:not-allowed;opacity:.6;background:repeating-linear-gradient(45deg,#f1f3f6,#f1f3f6 4px,#e5e7eb 4px 8px)!important}.ag-cell--past:hover{background:inherit!important}.ag-cell--selected{outline-offset:-2px;background:#111827;outline:2px solid #111827}.ag-cell--selected:hover{background:#111827}.ag-col-head--past .ag-col-day,.ag-col-head--past .ag-col-date{color:#cbd5e1}@media (width<=768px){.ag-wrap,.ag-grid-wrap{-webkit-overflow-scrolling:touch}}.ram-overlay{z-index:200;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ram-modal{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:880px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #0000002e}.ram-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.ram-header h3{color:#111827;margin:0;font-size:1.05rem;font-weight:700}.ram-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:4px;display:inline-flex}.ram-close:hover{color:#111827;background:#f6f7f9}.ram-body{padding:18px 22px;overflow-y:auto}.ram-current-chip{background:#f8fafc;border:1px solid #e5e7eb;border-left:3px solid #f59e1f;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;display:inline-flex}.ram-current-icon{color:#f59e1f}.ram-current-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:.7rem;font-weight:700}.ram-current-value{color:#111827;font-size:.95rem;font-weight:600}.ram-explainer{color:#64748b;margin:0 0 16px;font-size:.86rem;line-height:1.55}.ram-selected-note{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:.88rem}.ram-footer{background:#fafafa;border-top:1px solid #eef0f3;justify-content:space-between;gap:8px;padding:14px 22px;display:flex}.ram-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.ram-btn--ghost{color:#475569;background:#fff;border:1px solid #e5e7eb}.ram-btn--ghost:hover{background:#f6f7f9}.ram-btn--primary{color:#fff;background:#111827}.ram-btn--primary:disabled{cursor:not-allowed;background:#94a3b8}.ram-spin{animation:1s linear infinite ram-spin}@keyframes ram-spin{to{transform:rotate(360deg)}}@media (width<=768px){.ram-overlay{align-items:flex-end;padding:0}.ram-modal{border-radius:16px 16px 0 0;max-width:100%;max-height:92dvh}.ram-body{-webkit-overflow-scrolling:touch;padding:16px}.ram-header{padding:14px 16px}.ram-footer{flex-direction:column-reverse;gap:10px;padding:14px 16px}.ram-btn{justify-content:center;width:100%;min-height:44px}}.tbm-celebrate-backdrop{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;animation:.25s ease-out tbm-celebrate-fade;display:flex;position:fixed;inset:0}@keyframes tbm-celebrate-fade{0%{opacity:0}to{opacity:1}}.tbm-celebrate-card{text-align:center;background:#fff;border-radius:22px;flex-direction:column;gap:16px;width:100%;max-width:480px;max-height:92dvh;padding:36px 28px 28px;animation:.45s cubic-bezier(.22,1,.36,1) tbm-celebrate-pop;display:flex;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a40}@keyframes tbm-celebrate-pop{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.tbm-celebrate-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:inline-flex;position:absolute;top:16px;right:16px}.tbm-celebrate-close:hover{color:#1a1a1a;background:#e2e8f0}.tbm-celebrate-burst{color:#b45309;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:4px auto 0;animation:.9s cubic-bezier(.34,1.6,.64,1) .15s both tbm-celebrate-bounce;display:inline-flex;box-shadow:0 10px 24px -8px #b4530959}@keyframes tbm-celebrate-bounce{0%{opacity:0;transform:scale(.4)rotate(-30deg)}60%{opacity:1;transform:scale(1.15)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.tbm-celebrate-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:800}.tbm-celebrate-sub{color:#64748b;margin:-4px 0 0;font-size:.95rem}.tbm-celebrate-teacher{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.tbm-celebrate-teacher-avatar{background:#e2e8f0;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:52px;height:52px;overflow:hidden;box-shadow:0 2px 6px #0f172a14}.tbm-celebrate-teacher-avatar img{object-fit:cover;width:100%;height:100%;display:block}.tbm-celebrate-teacher-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tbm-celebrate-teacher-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.tbm-celebrate-teacher-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.tbm-celebrate-teacher-pending{color:#64748b;margin-top:2px;font-size:.8rem}.tbm-celebrate-when{text-align:left;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.tbm-celebrate-when-row{color:#92400e;align-items:center;gap:10px;font-size:1rem;font-weight:700;display:flex}.tbm-celebrate-when-row svg{color:#b45309;flex-shrink:0}.tbm-celebrate-when-course{color:#b45309;border-top:1px dashed #fcd34d;margin-top:4px;padding-top:8px;font-size:.88rem;font-weight:600}.tbm-celebrate-remind{color:#475569;text-align:center;margin:4px 0 0;font-size:.88rem}.tbm-celebrate-more{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:8px;width:100%;margin-top:4px;padding:12px 14px;display:flex}.tbm-celebrate-more-label{color:#334155;font-size:.85rem;font-weight:700}.tbm-celebrate-more-list{flex-direction:column;gap:2px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tbm-celebrate-more-list li{color:#475569;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;padding:5px 0;font-size:.88rem;display:grid}.tbm-celebrate-more-list li+li{border-top:1px solid #eef2f6}.tbm-celebrate-more-list svg{color:#b45309;flex-shrink:0}.tbm-celebrate-more-list li>span:first-of-type{color:#334155;font-weight:600}.tbm-celebrate-more-time{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.tbm-celebrate-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tbm-celebrate-secondary{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.88rem;font-weight:700;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.tbm-celebrate-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.tbm-celebrate-primary{color:#fff;cursor:pointer;background:#1a1a1a;border:1px solid #1a1a1a;border-radius:12px;width:100%;margin-top:4px;padding:14px 18px;font-size:1rem;font-weight:700;transition:opacity .15s}.tbm-celebrate-primary:hover:not(:disabled){opacity:.9}.tbm-celebrate-loading{color:#64748b;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.tbm-celebrate-spin{animation:1s linear infinite tbm-celebrate-spin}@keyframes tbm-celebrate-spin{to{transform:rotate(360deg)}}.tbm-celebrate-err{color:#b91c1c;margin:0;font-size:.92rem}@media (width<=480px){.tbm-celebrate-card{border-radius:18px;padding:28px 22px 22px}.tbm-celebrate-title{font-size:1.5rem}.tbm-celebrate-actions{grid-template-columns:1fr}}.lcn-overlay{z-index:200;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.2s lcn-fade;display:flex;position:fixed;inset:0}@keyframes lcn-fade{0%{opacity:0}to{opacity:1}}.lcn-card{text-align:center;background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:480px;padding:36px 32px 28px;animation:.25s lcn-pop;display:flex;position:relative;box-shadow:0 25px 70px #0f172a47}@keyframes lcn-pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.lcn-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;position:absolute;top:12px;right:12px}.lcn-close:hover{color:#475569;background:#f1f5f9}.lcn-icon{border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-top:6px;display:inline-flex}.lcn-icon--warn{color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a)}.lcn-icon--success{color:#166534;background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.lcn-icon--invite{color:#9d174d;background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.lcn-title{color:#0f172a;letter-spacing:-.01em;margin:6px 0 0;font-size:1.35rem;font-weight:800}.lcn-body{color:#475569;max-width:380px;margin:0;font-size:.96rem;line-height:1.55}.lcn-actions{gap:10px;width:100%;margin-top:12px;display:flex}.lcn-secondary,.lcn-primary{cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 18px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.lcn-secondary{color:#475569;background:0 0;border:1.5px solid #e2e8f0}.lcn-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.lcn-primary{color:#fff;background:#0f172a;border:1.5px solid #0f172a}.lcn-primary:hover{background:#1e293b;border-color:#1e293b}@media (width<=480px){.lcn-card{border-radius:18px;padding:28px 22px 22px}.lcn-actions{flex-direction:column-reverse}}.ref-page-wrapper{background-color:#f8fafc;width:100vw;height:100vh;font-family:inherit;position:relative;overflow:hidden}.ref-dashboard-bg{filter:blur(8px);opacity:.7;pointer-events:none;z-index:0;position:absolute;inset:0;transform:scale(1.02)}.ref-page-content{z-index:10;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.ref-container{z-index:10;width:100%;max-width:500px;position:relative}.ref-card,.ref-success-card{-webkit-backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #fffc;border-radius:24px;padding:3rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 20px 40px #0000000f,0 1px 3px #0000000d}.ref-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px #0000001a,0 1px 3px #0000000d}.ref-header{text-align:center;margin-bottom:2.5rem}.ref-icon-wrapper{color:#fff;background:linear-gradient(135deg,#ff5a5f,#ff8a8e);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:inline-flex;box-shadow:0 10px 20px #ff5a5f4d}.ref-title{color:#1a1a1a;letter-spacing:-.02em;margin-bottom:.75rem;font-size:2rem;font-weight:800}.ref-subtitle{color:#666;font-size:1.05rem;line-height:1.5}.ref-input-group{margin-bottom:2rem;position:relative}.ref-input{color:#1a1a1a;text-align:center;letter-spacing:.1em;background:#fff;border:2px solid #e2e8f0;border-radius:16px;width:100%;padding:1rem 1.25rem;font-size:1.25rem;font-weight:600;transition:all .3s;box-shadow:inset 0 2px 4px #00000005}.ref-input::placeholder{color:#cbd5e1;letter-spacing:normal;font-weight:500}.ref-input:focus{border-color:#ff5a5f;outline:none;box-shadow:0 0 0 4px #ff5a5f1a,inset 0 2px 4px #00000005}.ref-actions{flex-direction:column;gap:1rem;display:flex}.ref-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(90deg,#ff5a5f,#e0484d);border:none;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 12px #ff5a5f40}.ref-btn-primary:not(.disabled):hover{transform:translateY(-2px);box-shadow:0 8px 16px #ff5a5f59}.ref-btn-primary:not(.disabled):active{transform:translateY(0)}.ref-btn-primary.disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#cbd5e1}.ref-btn-skip{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1.05rem;font-weight:600;transition:all .2s;display:flex}.ref-btn-skip:hover:not(:disabled){color:#1a1a1a;background:#00000008}.ref-success-card{text-align:center;padding:4rem 2rem}.ref-success-icon{background:#fef08a;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:2rem;animation:.6s cubic-bezier(.175,.885,.32,1.275) pop-bounce;display:inline-flex}.success-icon-color{color:#ca8a04}.ref-success-card h2{color:#1a1a1a;margin-bottom:1rem;font-size:2rem;font-weight:800}.ref-success-card p{color:#666;font-size:1.1rem;line-height:1.6}@keyframes animate-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite animate-spin}.animate-fade-in-up{animation:.6s ease-out forwards fadeInUp}@keyframes pop-bounce{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.ref-error{color:#b91c1c;margin-top:-4px;margin-bottom:12px;font-size:.82rem}.ref-info{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-top:-4px;margin-bottom:12px;padding:8px 12px;font-size:.82rem}.ref-section{text-align:left;margin-bottom:8px}.ref-section-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:6px;font-size:.7rem;font-weight:700}.ref-section-title{color:#111827;align-items:center;gap:8px;margin:0 0 6px;font-size:1.15rem;font-weight:700;display:flex}.ref-section-sub{color:#6b7280;margin:0 0 12px;font-size:.85rem;line-height:1.5}.ref-icon-wrapper--inline{color:#b45309;background:#fef3c7;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ref-divider{background:#eef0f3;height:1px;margin:18px 0 16px}.ref-own-code-card--prominent{background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 100%);border-color:#fcd34d;padding:18px}.ref-copy-link-btn{color:#92400e;cursor:pointer;background:0 0;border:1px dashed #fcd34d;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.ref-copy-link-btn:hover{background:#ffffff80}.ref-btn-skip--bottom{align-self:flex-end;margin-top:14px}.ref-linked-note{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;gap:6px;margin-top:14px;padding:10px 12px;font-size:.85rem;display:inline-flex}.ref-own-code-card{text-align:left;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;margin:16px 0 18px;padding:14px 16px}.ref-own-code-label{letter-spacing:.08em;text-transform:uppercase;color:#c2410c;margin-bottom:4px;font-size:.72rem;font-weight:700}.ref-own-code-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ref-own-code-value{letter-spacing:.08em;color:#111827;font-family:SF Mono,Monaco,Menlo,monospace;font-size:1.35rem;font-weight:700}.ref-copy-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.ref-copy-btn:hover{background:#000}.ref-own-code-hint{color:#92400e;word-break:break-all;margin:10px 0 0;font-size:.75rem;line-height:1.4}.ref-own-code-hint code{background:#fff9;border-radius:4px;padding:1px 5px;font-size:.72rem}.onb-page{background:linear-gradient(135deg,#fef3c7 0%,#fef9e7 60%,#fffdf7 100%);flex-direction:column;min-height:100dvh;display:flex}.onb-topbar{align-items:center;padding:24px 32px;display:flex}.onb-brand-logo{width:auto;height:32px;display:block}.onb-main{flex:1;justify-content:center;align-items:center;padding:16px 16px 64px;display:flex}.onb-card{background:#fff;border-radius:24px;flex-direction:column;gap:18px;width:100%;max-width:520px;padding:36px 32px 32px;display:flex;box-shadow:0 20px 40px -16px #0f172a2e,0 1px 3px #0f172a0d}.onb-title{color:#0f172a;text-align:center;letter-spacing:-.01em;margin:0;font-size:1.75rem;font-weight:800}.onb-sub{color:#64748b;text-align:center;margin:0;font-size:.95rem}.onb-trial{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.onb-trial-icon{color:#fff;background:#16a34a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.onb-trial-body{flex-direction:column;gap:2px;display:flex}.onb-trial-body strong{color:#14532d;font-size:.95rem}.onb-trial-body p{color:#166534;margin:0;font-size:.85rem;line-height:1.5}.onb-filled-stack{flex-direction:column;gap:8px;display:flex}.onb-filled-card{cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;transition:background .15s,border-color .15s,transform .15s;animation:.32s cubic-bezier(.34,1.32,.64,1) onb-card-drop;display:flex}.onb-filled-card:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.onb-filled-card:disabled{opacity:.6;cursor:not-allowed}.onb-filled-icon{color:#4f46e5;background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.onb-filled-body{flex-direction:column;flex:1;display:flex}.onb-filled-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.onb-filled-value{color:#0f172a;font-size:.95rem;font-weight:700}.onb-filled-edit{color:#4f46e5;font-size:.78rem;font-weight:700}@keyframes onb-card-drop{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.onb-step{animation:.45s cubic-bezier(.22,1,.36,1) onb-step-rise}@keyframes onb-step-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.onb-form{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.onb-step-icon{color:#4f46e5;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:inline-flex;box-shadow:0 4px 10px #4f46e526}.onb-step-icon--gift{color:#b45309;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 4px 10px #b4530926}.onb-step-title{color:#0f172a;letter-spacing:-.01em;margin:4px 0 0;font-size:1.4rem;font-weight:800}.onb-step-sub{color:#475569;max-width:360px;margin:0;font-size:.92rem;line-height:1.5}.onb-input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;max-width:380px;margin-top:4px;padding:14px 16px;font-family:inherit;font-size:1rem;font-weight:600}.onb-input:focus{border-color:#eaad3c;outline:none;box-shadow:0 0 0 3px #eaad3c26}.onb-input--code{letter-spacing:.08em;text-align:center;text-transform:uppercase}.onb-error{color:#b91c1c;text-align:left;width:100%;max-width:380px;margin:0;font-size:.85rem}.onb-primary{color:#fff;cursor:pointer;background:#1a1a1a;border:1px solid #1a1a1a;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:380px;margin-top:6px;padding:14px 18px;font-size:1rem;font-weight:700;transition:opacity .15s,transform .15s;display:inline-flex}.onb-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.onb-primary:disabled{opacity:.55;cursor:not-allowed}.onb-skip{color:#64748b;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 0 0;font-size:.88rem;font-weight:600;text-decoration:underline}.onb-skip:hover:not(:disabled){color:#1a1a1a}.onb-skip:disabled{opacity:.5;cursor:not-allowed}.onb-spin{animation:1s linear infinite onb-spin}.onb-spin--centered{margin-top:6px}@keyframes onb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.onb-age-display{flex-direction:column;align-items:center;gap:2px;margin-top:4px;display:flex}.onb-age-number{color:#4f46e5;letter-spacing:-.02em;font-size:3rem;font-weight:800;line-height:1}.onb-age-unit{color:#64748b;font-size:.88rem;font-weight:600}.onb-slider-wrap{flex-direction:column;gap:6px;width:100%;max-width:380px;margin-top:4px;display:flex}.onb-slider{appearance:none;background:linear-gradient(to right, #4f46e5 0%, #4f46e5 var(--onb-slider-progress), #e2e8f0 var(--onb-slider-progress), #e2e8f0 100%);cursor:pointer;border-radius:999px;outline:none;width:100%;height:8px}.onb-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border:3px solid #4f46e5;border-radius:50%;width:24px;height:24px;transition:transform .15s;box-shadow:0 2px 8px #4f46e54d}.onb-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.onb-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:3px solid #4f46e5;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 8px #4f46e54d}.onb-slider-ticks{color:#94a3b8;justify-content:space-between;font-size:.78rem;font-weight:600;display:flex}@media (width<=640px){.onb-topbar{padding:18px 20px}.onb-brand-logo{height:26px}.onb-card{border-radius:18px;padding:28px 22px 24px}.onb-title{font-size:1.5rem}.onb-step-title{font-size:1.25rem}.onb-age-number{font-size:2.5rem}}.homework-container{max-width:920px;padding:24px 28px 48px}.hw-header{margin-bottom:16px}.hw-title{color:#111827;margin:0 0 4px;font-size:1.6rem;font-weight:700}.hw-sub{color:#6b7280;margin:0;font-size:.92rem}.hw-tabs{border-bottom:1px solid #e5e7eb;gap:6px;margin-bottom:18px;display:flex;overflow-x:auto}.hw-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 14px;font-size:.92rem;font-weight:600;display:flex}.hw-tab:hover{color:#111827}.hw-tab.active{color:#111827;border-bottom-color:#f59e1f}.hw-tab-count{color:#6b7280;background:#f1f3f6;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.hw-tab.active .hw-tab-count{color:#fff;background:#f59e1f}.hw-empty{text-align:center;color:#6b7280;box-sizing:border-box;background:#fff;border:1px dashed #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:40px 16px;font-size:.9rem;display:inline-flex}.hw-empty--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.hw-spin{animation:1s linear infinite hw-spin}@keyframes hw-spin{to{transform:rotate(360deg)}}.hw-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.hw-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px}.hw-card--submitted{border-left:3px solid #0891b2}.hw-card--graded{border-left:3px solid #16a34a}.hw-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.hw-card-main{flex:1;min-width:0}.hw-card-title{color:#111827;margin:0 0 6px;font-size:1rem;font-weight:700}.hw-card-meta{color:#6b7280;flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.hw-card-meta span{align-items:center;gap:6px;display:inline-flex}.hw-card-desc{color:#374151;margin:8px 0 12px;font-size:.9rem;line-height:1.55}.hw-status{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.hw-status--pending{color:#92400e;background:#fef3c7}.hw-status--submitted{color:#155e75;background:#cffafe}.hw-status--graded{color:#166534;background:#dcfce7}.hw-link{color:#475569;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;margin-top:6px;margin-right:8px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.hw-link:hover{color:#111827;background:#fafbfc;border-color:#c4c8d0}.hw-link:disabled{opacity:.5;cursor:not-allowed}.hw-link--marked{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.hw-link--marked:hover{background:#d1fae5}.hw-files{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hw-file-chip{cursor:pointer;border:1px solid;border-radius:9px;align-items:center;gap:8px;padding:7px 11px;font-family:inherit;font-size:.82rem;transition:filter .15s,transform .15s;display:inline-flex}.hw-file-chip:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.hw-file-chip:disabled{opacity:.55;cursor:not-allowed}.hw-file-tag{letter-spacing:.08em;text-transform:uppercase;color:#fff;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.62rem;font-weight:800;line-height:1.4}.hw-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.hw-file-action{opacity:.55;flex-shrink:0}.hw-file-chip:hover .hw-file-action{opacity:1}.hw-file-chip--requirement{color:#92400e;background:#fffbeb;border-color:#fde68a}.hw-file-chip--requirement .hw-file-tag{background:#f59e0b}.hw-file-chip--submission{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.hw-file-chip--submission .hw-file-tag{background:#3b82f6}.hw-file-chip--marked{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.hw-file-chip--marked .hw-file-tag{background:#16a34a}.hw-feedback{background:#fafbfc;border-left:3px solid #f59e1f;border-radius:6px;align-items:flex-start;gap:10px;margin-top:12px;padding:10px 12px;display:flex}.hw-feedback-icon{color:#f59e1f;flex-shrink:0;margin-top:2px}.hw-feedback-label{letter-spacing:.04em;text-transform:uppercase;color:#94a3b8;font-size:.72rem;font-weight:700}.hw-feedback-body{color:#374151;margin-top:2px;font-size:.88rem;line-height:1.5}.hw-feedback-score{color:#111827;margin-top:6px;font-size:.85rem}.hw-actions{margin-top:12px;position:relative}.hw-file-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute;inset:0}.hw-upload-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.hw-upload-btn:hover{background:#000}.hw-upload-btn:disabled{cursor:not-allowed;background:#94a3b8}.hw-upload-btn--secondary{color:#475569;background:#fff;border:1px solid #e5e7eb}.hw-upload-btn--secondary:hover{color:#111827;background:#f6f7f9}.hw-loading-overlay{z-index:300;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hw-loading-card{color:#111827;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:18px 28px;font-size:.92rem;display:flex;box-shadow:0 10px 30px #00000026}@media (width<=540px){.homework-container{padding:16px}.hw-card-head{flex-direction:column}}@media (width<=768px){.homework-container{max-width:100%;padding:8px 0 32px}.hw-title{font-size:1.35rem}.hw-tabs{-webkit-overflow-scrolling:touch;gap:2px}.hw-tab{padding:10px 12px;font-size:.85rem}.hw-card{border-radius:12px;padding:14px}.hw-card-title{font-size:.95rem}.hw-card-meta{gap:10px;font-size:.78rem}.hw-file-name{max-width:140px}.hw-upload-btn{min-height:44px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.exercise-player{flex-direction:column;gap:18px;width:min(1360px,100%);margin:0 auto;padding:0 0 110px;display:flex}.exercise-player.has-feedback-dock{padding-bottom:320px}.xp-preview-chip{color:#6b7280;letter-spacing:.03em;text-transform:uppercase;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.74rem;font-weight:700}.xp-head{text-align:center;box-sizing:border-box;background:#fef3c7;border:none;border-radius:0;width:100vw;margin-left:calc(50% - 50vw);padding:34px clamp(14px,4vw,40px)}.xp-head h1{color:#7c2d12;margin:0;font-size:clamp(1.35rem,2.1vw,2.2rem);line-height:1.1}.xp-head p{color:var(--text-muted);margin:8px 0 0;font-size:.92rem}.xp-progress-wrap{width:min(960px,100%);margin:16px auto 0}.xp-progress-track{background:#fff;border-radius:999px;height:18px;position:relative;overflow:visible}.xp-progress-fill{border-radius:inherit;background:#f59e0b;height:100%}.xp-progress-marker{color:#ea580c;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.xp-progress-marker svg{fill:currentColor;stroke:currentColor}.xp-progress-meta{color:#92400e;justify-content:center;gap:18px;margin-top:10px;font-size:.9rem;font-weight:700;display:flex}.xp-workspace{flex-direction:column;align-items:start;gap:14px;width:100%;margin-top:14px;display:flex}.exercise-player.xp-results-mode{padding-bottom:24px}.xp-results-panel{text-align:center;justify-items:center;gap:20px;width:min(860px,100%);margin:18px auto 0;padding:clamp(4px,1.2vw,14px) clamp(10px,2.2vw,28px);display:grid}.xp-results-achievement{color:#7c2d12;margin:0;font-size:clamp(1.02rem,1.35vw,1.24rem);font-weight:700;line-height:1.5}.xp-results-achievement strong{color:#9a3412}.xp-results-image{object-fit:contain;width:min(100%,520px);max-height:340px;display:block}.xp-results-message{color:#1f2937;max-width:1100px;margin:0;font-size:clamp(1.32rem,1.95vw,1.85rem);font-weight:700;line-height:1.6}.xp-main{width:100%;padding:0}.xp-question-label{color:#64748b;letter-spacing:.01em;margin:0;font-size:1.12rem;font-weight:700}.xp-voided-notice{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:.9rem;font-weight:700}.exercise-player.has-voided-question .xp-answer-area,.exercise-player.has-voided-question .xp-prompt-card,.exercise-player.has-voided-question .xp-media-stack{opacity:.48;filter:grayscale(.55)}.xp-question-head{align-items:baseline;gap:12px;display:flex}.xp-question-id{color:#9ca3af;font-size:.95rem}.xp-prompt-card{background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;min-height:40px;margin-top:14px;padding:0 0 0 52px;display:flex;position:relative}.xp-prompt-text{color:#374151;text-align:center;white-space:pre-wrap;margin:0;font-size:1.28rem;font-weight:600;line-height:1.65}.xp-prompt-icon{color:#4b5563}.xp-tts-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;min-height:0;padding:0;font-family:inherit;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.xp-tts-btn:hover{border-color:#94a3b8}.xp-tts-btn.is-speaking{color:#d85555;border-color:#d85555}.xp-media-stack{justify-items:center;gap:12px;margin-top:12px;display:grid}.xp-media-image{object-fit:contain;width:min(100%,560px);max-width:100%;max-height:360px;margin:0;display:block}.xp-audio-player{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;width:min(100%,680px);display:grid}.xp-audio-play{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;padding:0;font-family:inherit;display:inline-flex}.xp-audio-play:hover{color:#334155}.xp-audio-track{cursor:pointer;background:0 0;border:none;width:100%;height:42px;padding:0;position:relative}.xp-audio-wave{pointer-events:none;justify-content:space-between;align-items:center;gap:0;width:100%;height:30px;display:flex;position:absolute;top:50%;left:0;overflow:hidden;transform:translateY(-50%)}.xp-audio-wave span{opacity:.9;background:#d1d5db;border-radius:999px;flex:0 0 4px}.xp-audio-wave--progress span{background:#60a5fa}.xp-audio-marker{pointer-events:none;background:#60a5fa;border-radius:999px;width:3px;position:absolute;top:4px;bottom:4px;transform:translate(-50%)}.xp-media-placeholder{color:#64748b;margin:0;font-size:.86rem}.xp-file-link{color:#2563eb;font-size:.86rem;text-decoration:underline}.xp-answer-area{margin-top:14px}.xp-choice-next-btn{color:#fff;cursor:pointer;background:#f59e0b;border:1px solid #f59e0b;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:14px;padding:12px 16px;font-family:inherit;font-size:1.02rem;font-weight:800;display:inline-flex;box-shadow:0 4px 10px #f59e0b47}.xp-choice-next-btn:hover{background:#e98a00;border-color:#e98a00}.xp-fitb-wrap{gap:12px;display:grid}.xp-fitb-word-bank{flex-wrap:wrap;gap:8px;display:flex}.xp-reorder-bank{justify-content:center}.xp-fitb-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:700}.xp-fitb-chip:hover{color:#d85555;border-color:#d85555}.xp-fitb-chip:disabled{opacity:.55;cursor:not-allowed}.xp-fitb-text{color:#1f2937;white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.9}.xp-fitb-frag{white-space:pre-wrap}.xp-fitb-input{vertical-align:middle;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:110px;max-width:220px;margin:0 6px;padding:6px 10px;font-family:inherit;font-size:.95rem;display:inline-block}.xp-fitb-input:focus{border-color:#d85555;outline:none;box-shadow:0 0 0 2px #d855551f}.xp-fitb-list{gap:10px;display:grid}.xp-fitb-row{color:#475569;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.xp-clear-btn{color:#d85555;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.82rem;font-weight:700}.xp-clear-btn:disabled{opacity:.45;cursor:not-allowed}.xp-reorder-sequence{flex-wrap:wrap;gap:8px;min-height:40px;display:flex}.xp-option-list{flex-direction:column;align-items:center;gap:12px;display:flex}.xp-option{color:#374151;text-align:center;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:68px;padding:14px 18px;font-family:inherit;font-size:1.22rem;font-weight:600;display:flex;position:relative}.xp-option:hover{border-color:#f59e0b}.xp-option:disabled{cursor:not-allowed}.xp-option.selected{border-color:#d85555;box-shadow:0 0 0 1px #d8555526}.xp-option.tone-correct{color:#14532d;background:#dcfce7;border-color:#22c55e}.xp-option.tone-wrong{color:#991b1b;background:#fef2f2;border-color:#ef4444}.xp-option-text{text-align:center;width:100%;line-height:1.45;display:block}.xp-katex{max-width:100%}.xp-katex .katex{font-size:1em}.xp-katex--display{width:100%;padding:2px 0;display:block;overflow:auto hidden}.xp-katex--display .katex-display{text-align:center;margin:0}.xp-option-check{flex-shrink:0;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.xp-text-input,.xp-textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:1rem}.xp-textarea{resize:vertical;min-height:140px}.xp-text-input:focus,.xp-textarea:focus{border-color:#d85555;outline:none;box-shadow:0 0 0 3px #d855551f}.xp-file-upload-wrap{flex-direction:column;gap:10px;display:flex}.xp-file-btn{color:#d85555;cursor:pointer;background:#fff;border:1px solid #d85555;border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:9px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.xp-file-btn input{display:none}.xp-file-name{color:#64748b;font-size:.88rem}.xp-action-row{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.xp-type-pill{color:#475569;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:700}.xp-submit-btn{color:#fff;cursor:pointer;background:#d85555;border:1px solid #d85555;border-radius:10px;align-items:center;gap:7px;padding:10px 14px;font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex}.xp-submit-btn:hover{background:#c44747;border-color:#c44747}.xp-submit-btn:disabled{opacity:.65;cursor:not-allowed}.xp-review{border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:.9rem;font-weight:600;display:flex}.xp-review.ok{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0}.xp-review.bad{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.xp-review.neutral{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.xp-correct-answer{color:#16a34a;margin-top:9px;font-size:.9rem}.xp-question-chip{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex:none;min-width:38px;min-height:34px;font-family:inherit;font-size:.82rem;font-weight:700}.xp-question-chip.correct{color:#166534;background:#dcfce7;border-color:#22c55e}.xp-question-chip.incorrect{color:#92400e;background:#fffbeb;border-color:#f59e0b}.xp-question-chip.voided{color:#64748b;background:#e2e8f0;border-color:#cbd5e1;text-decoration:line-through}.xp-question-chip.active{color:#fff;background:#d85555;border-color:#d85555}.xp-question-chip.active.voided{color:#475569;background:#e2e8f0;border-color:#94a3b8}.xp-nav-row{z-index:30;width:100vw;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#f8fafc;border-top:1px solid #e2e8f0;margin-top:0;position:fixed;bottom:0;left:0}.xp-nav-row-inner{width:min(1100px, calc(100vw - var(--sd-sidebar-width) - 48px));margin-left:calc(50% + (var(--sd-sidebar-width) / 2));box-sizing:border-box;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px;display:grid;transform:translate(-50%)}.xp-feedback-dock{bottom:calc(92px + env(safe-area-inset-bottom));z-index:33;width:100vw;padding:44px 0 40px;position:fixed;left:0}.xp-feedback-dock.correct{background:#bbf7d0}.xp-feedback-dock.incorrect{background:#fecaca}.xp-feedback-dock.neutral{background:#dbeafe}.xp-feedback-dock-inner{width:min(1100px, calc(100vw - var(--sd-sidebar-width) - 48px));margin-left:calc(50% + (var(--sd-sidebar-width) / 2));gap:32px;display:grid;transform:translate(-50%)}.xp-feedback-answer{color:#1f2937;margin:0;font-size:1rem;line-height:1.4}.xp-feedback-answer--submitted{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.xp-feedback-status-icon.correct{color:#16a34a;flex-shrink:0}.xp-feedback-status-icon.incorrect{color:#dc2626;flex-shrink:0}.xp-feedback-next-btn{color:#fff;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#60a5fa;border:1px solid #60a5fa;border-radius:14px;width:100%;min-height:58px;padding:12px 20px;font-family:inherit;font-size:1.45rem;font-weight:800;box-shadow:0 6px 14px #60a5fa59}.xp-feedback-next-btn:hover{background:#5397ef;border-color:#5397ef}.exercise-player.preview .xp-nav-row-inner,.exercise-player.preview .xp-feedback-dock-inner,.exercise-player.standalone .xp-feedback-dock-inner,.exercise-player.standalone .xp-nav-row-inner{width:min(1100px,100vw - 48px);margin-left:50%}.exercise-player.embedded{gap:10px;width:100%;height:100%;margin:0;padding:0 0 8px}.exercise-player.embedded .xp-preview-chip{display:none}.exercise-player.embedded .xp-head{border-radius:0;width:100%;margin-left:0;padding:18px 12px}.exercise-player.embedded .xp-head h1{font-size:clamp(1rem,1.3vw,1.25rem)}.exercise-player.embedded .xp-progress-wrap{width:min(640px,100%);margin-top:10px}.exercise-player.embedded .xp-progress-track{height:12px}.exercise-player.embedded .xp-progress-marker svg{width:30px;height:30px}.exercise-player.embedded .xp-progress-meta{gap:10px;margin-top:8px;font-size:.78rem}.exercise-player.embedded .xp-workspace{gap:10px;margin-top:8px}.exercise-player.embedded.xp-results-mode{padding-bottom:8px}.exercise-player.embedded .xp-results-panel{gap:12px;margin-top:10px;padding:8px 10px}.exercise-player.embedded .xp-results-image{width:min(100%,300px);max-height:180px}.exercise-player.embedded .xp-results-achievement{font-size:.84rem}.exercise-player.embedded .xp-results-message{font-size:1.05rem;line-height:1.5}.exercise-player.embedded .xp-prompt-card{min-height:34px;margin-top:8px;padding-left:44px}.exercise-player.embedded .xp-question-label{font-size:.9rem}.exercise-player.embedded .xp-tts-btn{width:32px;height:32px}.exercise-player.embedded .xp-prompt-text{font-size:1.02rem;line-height:1.5}.exercise-player.embedded .xp-media-stack{gap:8px;margin-top:8px}.exercise-player.embedded .xp-media-image{width:min(100%,440px);max-height:240px}.exercise-player.embedded .xp-audio-player{grid-template-columns:36px minmax(0,1fr);gap:9px;width:min(100%,440px)}.exercise-player.embedded .xp-audio-play{width:36px;height:36px}.exercise-player.embedded .xp-audio-play svg{width:17px;height:17px}.exercise-player.embedded .xp-audio-track{height:34px}.exercise-player.embedded .xp-audio-wave{justify-content:space-between;gap:0;height:22px}.exercise-player.embedded .xp-audio-wave span{flex-basis:3px}.exercise-player.embedded .xp-answer-area{margin-top:10px}.exercise-player.embedded .xp-option-list{gap:8px}.exercise-player.embedded .xp-option{border-radius:10px;min-height:54px;padding:10px 12px;font-size:1rem}.exercise-player.embedded .xp-fitb-text{font-size:.92rem;line-height:1.75}.exercise-player.embedded .xp-fitb-chip{padding:5px 10px;font-size:.78rem}.exercise-player.embedded .xp-fitb-input{min-width:82px;max-width:140px;padding:5px 8px;font-size:.86rem}.exercise-player.embedded .xp-submit-btn,.exercise-player.embedded .xp-choice-next-btn{min-height:44px;font-size:.9rem}.exercise-player.embedded .xp-review,.exercise-player.embedded .xp-correct-answer{margin-top:8px;font-size:.84rem}.exercise-player.embedded .xp-nav-row{width:100%;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border:1px solid #e2e8f0;border-radius:10px;position:sticky;bottom:0;left:0}.exercise-player.embedded .xp-nav-row-inner{grid-template-columns:48px minmax(0,1fr) auto;gap:8px;width:100%;margin-left:0;padding:0;transform:none}.exercise-player.embedded .xp-feedback-dock{z-index:26;width:100%;padding:20px 16px 16px;position:sticky;bottom:62px;left:0}.exercise-player.embedded .xp-feedback-dock-inner{gap:20px;width:100%;margin-left:0;transform:none}.exercise-player.embedded .xp-feedback-answer{font-size:.86rem}.exercise-player.embedded .xp-feedback-next-btn{letter-spacing:.04em;border-radius:10px;min-height:42px;padding:8px 12px;font-size:1rem}.exercise-player.embedded .xp-arrow-btn{width:48px;height:48px}.exercise-player.embedded .xp-finish-practice-btn{min-height:48px;padding:0 11px;font-size:.74rem}.exercise-player.embedded .xp-arrow-btn svg{width:20px;height:20px}.exercise-player.embedded .xp-question-chip{min-width:34px;min-height:30px;font-size:.74rem}.xp-nav-picker{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;min-width:0;padding:2px 2px 4px;display:flex;overflow:auto hidden}.xp-arrow-btn{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;width:62px;height:62px;display:inline-flex}.xp-arrow-btn:hover{border-color:#93c5fd}.xp-arrow-btn:disabled{opacity:.45;cursor:not-allowed}.xp-finish-practice-btn{color:#fff;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:#3b82f6;border:1px solid #3b82f6;border-radius:999px;min-height:62px;padding:0 18px;font-family:inherit;font-size:.9rem;font-weight:800}.xp-finish-practice-btn:hover{background:#2563eb;border-color:#2563eb}.xp-finish-practice-btn:disabled{opacity:.45;cursor:not-allowed}.xp-state{color:#6b7280;text-align:center;background:#fff;border:1px dashed #d1d5db;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:34px 16px;display:inline-flex}.xp-state--error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.xp-spin{animation:1s linear infinite xp-spin}@keyframes xp-spin{to{transform:rotate(360deg)}}@media (width<=980px){.xp-fitb-input{min-width:92px}}@media (width<=768px){.exercise-player{--xp-mobile-gutter:18px;gap:14px;width:100%;padding:0 0 112px}.exercise-player.xp-results-mode{padding-bottom:18px}.exercise-player.has-feedback-dock{padding-bottom:300px}.xp-head{padding:24px 12px}.xp-progress-track{height:16px}.xp-progress-meta{font-size:.85rem}.xp-workspace{padding:0 var(--xp-mobile-gutter);box-sizing:border-box}.xp-question-head{flex-wrap:wrap;gap:6px 10px}.xp-prompt-card{padding-left:48px}.xp-question-label{font-size:1rem}.xp-prompt-text{font-size:1.08rem}.xp-media-image{max-height:280px}.xp-audio-player{grid-template-columns:38px minmax(0,1fr);gap:9px;width:100%}.xp-audio-play{width:38px;height:38px}.xp-audio-track{height:36px}.xp-audio-wave{gap:0;height:24px}.xp-audio-wave span{flex-basis:3px}.xp-fitb-text{font-size:.95rem;line-height:1.85}.xp-fitb-input{min-width:84px;max-width:160px;margin:0 4px;padding:6px 8px}.xp-option{min-height:60px;padding:12px 14px;font-size:1.08rem}.xp-action-row{flex-direction:column;align-items:stretch}.xp-submit-btn{justify-content:center;width:100%}.xp-nav-row{width:100vw;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.xp-nav-row-inner{width:calc(100vw - (var(--xp-mobile-gutter) * 2));grid-template-columns:58px minmax(0,1fr) auto;margin-left:50%;padding:0;transform:translate(-50%)}.xp-feedback-dock{bottom:calc(84px + env(safe-area-inset-bottom));padding:32px 0 28px}.xp-feedback-dock-inner{gap:24px;width:calc(100vw - 12px);margin-left:50%}.xp-feedback-answer{font-size:.92rem}.xp-feedback-next-btn{border-radius:12px;min-height:52px;font-size:1.2rem}.xp-arrow-btn{width:58px;height:58px}.xp-finish-practice-btn{min-height:58px;padding:0 14px;font-size:.76rem}.xp-results-panel{gap:12px;margin-top:12px;padding:6px 10px}.xp-results-image{max-height:260px}.xp-results-achievement{font-size:.9rem}.xp-results-message{font-size:1.15rem;line-height:1.5}}.report-tab-content{box-sizing:border-box;flex-direction:column;gap:32px;width:100%;max-width:100%;display:flex}.progress-hero-container{box-sizing:border-box;background:#fff;border:1px solid #ecefff;border-radius:20px;width:100%;max-width:100%;padding:40px;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000005}.progress-hero-content{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.progress-info{flex-direction:column;gap:8px;max-width:60%;display:flex}.progress-title{color:#111827;margin:0;font-size:28px;font-weight:700}.progress-subtitle{color:#6b7280;margin:0 0 16px;font-size:16px}.progress-stats{align-items:baseline;gap:8px;display:flex}.progress-acquired{color:#7873e7;font-size:64px;font-weight:800;line-height:1}.progress-divider{color:#d1d5db;margin:0 4px;font-size:32px;font-weight:300}.progress-total{color:#4b5563;font-size:32px;font-weight:600}.progress-label{color:#6b7280;margin-left:8px;font-size:16px;font-weight:500}.progress-encouragement-container{justify-content:center;align-items:center;display:flex}.encouragement-badge{color:#fff;text-align:center;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:12px;max-width:280px;padding:16px 24px;font-size:16px;font-weight:600;line-height:1.4;box-shadow:0 4px 12px #10b98133}.objective-timeline-slider{box-sizing:border-box;background-color:#fafbff;border:1px solid #ecefff;border-radius:16px;align-items:flex-end;gap:16px;width:100%;max-width:100%;margin-top:48px;padding:24px 16px;display:flex;position:relative}.timeline-nav-btn{color:#7873e7;cursor:pointer;background-color:#fff;border:1px solid #ebefff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000d}.timeline-nav-btn:hover:not(:disabled){color:#fff;background-color:#7873e7}.timeline-nav-btn:disabled{opacity:.5;cursor:not-allowed;color:#a0aec0}.timeline-window{flex:1 1 0;width:0;min-width:0;max-width:100%;padding-top:48px;padding-bottom:8px;overflow:hidden}.scrollable-window{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto}.scrollable-window::-webkit-scrollbar{display:none}.timeline-nodes-container{justify-content:space-between;width:100%;display:flex}.scrollable-nodes{width:max-content;padding:0 16px}.timeline-node{flex-direction:column;flex:0 0 100px;align-items:center;display:flex;position:relative}.timeline-connector{z-index:0;background-color:#e2e8f0;width:100%;height:4px;transition:background-color .3s;position:absolute;top:10px;right:50%}.timeline-connector.active{background-color:#7873e7}.timeline-dot-wrapper{z-index:1;justify-content:center;align-items:center;height:24px;display:flex;position:relative}.timeline-dot{background-color:#e2e8f0;border:3px solid #fff;border-radius:50%;width:16px;height:16px;transition:all .3s;box-shadow:0 0 0 1px #e2e8f0}.timeline-node.acquired .timeline-dot{background-color:#7873e7;border-color:#fff;box-shadow:0 0 0 1px #7873e7}.timeline-node.current .timeline-dot{background-color:#fff;border-color:#7873e7;width:20px;height:20px;box-shadow:0 0 0 2px #7873e7}.timeline-node:hover .timeline-dot{transform:scale(1.3)}.timeline-tooltip.global-tooltip{color:#fff;white-space:nowrap;opacity:1;visibility:visible;pointer-events:none;z-index:100;background-color:#1f2937;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;animation:.2s cubic-bezier(.175,.885,.32,1.275) forwards fadeUp;display:flex;position:absolute;transform:translate(-50%)translateY(calc(-100% - 12px));box-shadow:0 4px 12px #00000026}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%)translateY(calc(-100% - 4px))}to{opacity:1;transform:translate(-50%)translateY(calc(-100% - 12px))}}.timeline-tooltip:after{content:"";border:5px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-title{font-size:13px;font-weight:700}.tooltip-subtitle{color:#d1d5db;font-size:12px}.tooltip-status{text-transform:uppercase;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:10px;font-weight:700}.tooltip-status.acquired{color:#34d399;background-color:#10b98133}.tooltip-status.current{color:#fca5a5;background-color:#f8717133}.tooltip-status.pending{color:#d1d5db;background-color:#9ca3af33}.current-flag{color:#fff;white-space:nowrap;z-index:10;background-color:#f87171;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;animation:2s infinite bounce;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-12px);box-shadow:0 4px 8px #f871714d}.load-more-container{justify-content:center;margin-top:16px;display:flex}.load-more-btn{color:#7873e7;cursor:pointer;background-color:#f8f9ff;border:1px solid #ebefff;border-radius:8px;padding:12px 24px;font-weight:600;transition:all .2s}.load-more-btn:hover{background-color:#ebefff;transform:translateY(-2px)}.current-flag:after{content:"";border:5px solid #0000;border-top-color:#f87171;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes bounce{0%,to{transform:translate(-50%)translateY(-12px)}50%{transform:translate(-50%)translateY(-16px)}}.timeline-label{text-align:center;flex-direction:column;align-items:center;margin-top:16px;display:flex}.objective-id{color:#718096;margin-bottom:2px;font-size:11px;font-weight:700}.objective-name{color:#4b5563;max-width:60px;font-size:11px;font-weight:600;line-height:1.3}.timeline-node.acquired .objective-name{color:#7873e7}.timeline-node.current .objective-name{color:#f87171;font-weight:800}.feedback-stream-container{flex-direction:column;gap:20px;display:flex}.section-title{color:#111827;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:700;display:flex}.section-icon{color:#7873e7}.feedback-cards-wrapper{flex-direction:column;gap:20px;display:flex}.feedback-card{background-color:#fff;border:1px solid #f3f4f6;border-radius:16px;padding:24px;transition:all .2s;box-shadow:0 4px 12px #00000008}.feedback-card:hover{border-color:#ebefff;transform:translateY(-2px);box-shadow:0 12px 24px #0000000f}.feedback-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.teacher-info{align-items:center;gap:16px;display:flex}.teacher-avatar{object-fit:cover;border:2px solid #ebefff;border-radius:50%;width:48px;height:48px}.teacher-details{flex-direction:column;gap:4px;display:flex}.teacher-name{color:#111827;font-size:16px;font-weight:600}.lesson-date{color:#9ca3af;font-size:13px;font-weight:500}.lesson-rating{gap:4px;display:flex}.star-filled{color:#fbbf24;fill:#fbbf24}.star-empty{color:#e5e7eb}.feedback-body{margin-bottom:24px}.lesson-title{color:#374151;margin:0 0 12px;font-size:18px;font-weight:600}.teacher-comment{color:#4b5563;background-color:#f9fafb;border-left:4px solid #7873e7;border-radius:12px;margin:0;padding:16px;font-size:15px;font-style:italic;line-height:1.6}.feedback-footer{flex-direction:column;gap:12px;display:flex}.objectives-acquired-label{color:#374151;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.objectives-pills{flex-wrap:wrap;gap:8px;display:flex}.objective-pill{color:#7873e7;background-color:#ebefff;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .2s;display:inline-block}.objective-pill:hover{background-color:#dde2ff;transform:translateY(-1px)}@media (width<=768px){.progress-hero-container{border-radius:16px;padding:24px 20px}.progress-hero-content{flex-direction:column;align-items:flex-start;gap:16px}.progress-info{max-width:100%}.progress-title{font-size:22px}.progress-subtitle{font-size:14px}.progress-acquired{font-size:48px}.progress-total{font-size:24px}.progress-encouragement-container{width:100%}.encouragement-badge{width:100%;max-width:100%;padding:14px 18px;font-size:14px}.objective-timeline-slider{border-radius:14px;gap:8px;margin-top:28px;padding:16px 6px}.timeline-nav-btn{width:36px;height:36px}.timeline-node{flex:0 0 70px}.objective-name{max-width:56px}.feedback-card{border-radius:14px;padding:18px}.feedback-header{flex-wrap:wrap;gap:10px;margin-bottom:14px;padding-bottom:12px}.teacher-avatar{width:40px;height:40px}.lesson-title{font-size:16px}.teacher-comment{padding:12px;font-size:14px}.section-title{font-size:17px}}.payment-container{flex-direction:column;gap:32px;width:100%;display:flex}.payment-empty{text-align:center;color:#6b7280;box-sizing:border-box;background:#fff;border:1px dashed #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:24px 16px;font-size:.9rem;display:inline-flex}.payment-empty--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.pay-spin{animation:1s linear infinite pay-spin}@keyframes pay-spin{to{transform:rotate(360deg)}}.tx-failure-note{color:#b91c1c;margin-top:6px;font-size:.78rem}.transaction-item--clickable{cursor:pointer;transition:border-color .15s,background .15s,transform 50ms}.transaction-item--clickable:hover{background:#fafbfc;border-color:#c4c8d0}.transaction-item--clickable:active{transform:translateY(1px)}.transaction-item--clickable:focus-visible{outline-offset:2px;outline:2px solid #f59e1f}.tx-receipt-hint{color:#6b7280;align-items:center;gap:4px;margin-top:4px;font-size:.72rem;font-weight:500;display:inline-flex}.transaction-item--clickable:hover .tx-receipt-hint{color:#111827}.pay-loading-overlay{z-index:300;background:#0f172a73;justify-content:center;align-items:center;animation:.12s ease-out pay-fade-in;display:flex;position:fixed;inset:0}.pay-loading-card{text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:10px;min-width:260px;padding:28px 36px;display:flex;box-shadow:0 20px 50px #0000002e}.pay-loading-card .pay-spin{color:#f59e1f}.pay-loading-title{color:#111827;font-size:1rem;font-weight:700}.pay-loading-sub{color:#6b7280;font-size:.85rem}@keyframes pay-fade-in{0%{opacity:0}to{opacity:1}}.payment-section{flex-direction:column;gap:20px;display:flex}.payment-card-wrapper{border:1px solid var(--sd-border);background:#fff;border-radius:20px;justify-content:space-between;align-items:center;padding:30px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 15px #00000005}.payment-card-wrapper:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000000f}.payment-card-left{align-items:center;gap:24px;display:flex}.card-icon-box{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 10px 20px #0f172a26}.card-details{flex-direction:column;gap:6px;display:flex}.card-details h4{color:var(--sd-text-primary);margin:0;font-size:1.25rem;font-weight:700}.card-details p{color:var(--sd-text-secondary);margin:0;font-size:.95rem}.card-status{color:#10b981;text-transform:uppercase;letter-spacing:.05em;background:#ecfdf5;border-radius:12px;width:max-content;margin-top:4px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.change-payment-btn{border:1px solid var(--sd-border);color:var(--sd-text-primary);cursor:pointer;background:#fff;border-radius:12px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s}.change-payment-btn:hover{color:var(--sd-yellow);background:#f8fafc;border-color:#cbd5e1}.transaction-list{flex-direction:column;gap:16px;display:flex}.transaction-item{border:1px solid var(--sd-border);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;padding:24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.transaction-item:before{content:"";background-color:var(--sd-yellow);width:6px;position:absolute;top:0;bottom:0;left:0}.transaction-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000000f}.tx-left{align-items:center;gap:20px;display:flex}.tx-icon-wrapper{color:#d97706;background:#fef3c7;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.tx-info{flex-direction:column;gap:4px;display:flex}.tx-title{color:var(--sd-text-primary);margin:0;font-size:1.1rem;font-weight:700}.tx-meta{color:var(--sd-text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:.9rem;font-weight:500;display:flex}.tx-meta span{align-items:center;gap:4px;display:flex}.tx-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.tx-amount{color:var(--sd-text-primary);font-size:1.25rem;font-weight:800}.tx-status{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:4px 12px;font-size:.8rem;font-weight:700}.tx-status.paid{color:#10b981;background:#ecfdf5}.tx-status.processing{color:#d97706;background:#fffbeb}.tx-status.failed{color:#ef4444;background:#fef2f2}@media (width<=768px){.payment-card-wrapper{flex-direction:column;align-items:flex-start;gap:20px}.transaction-item{flex-direction:column;align-items:flex-start;gap:16px}.tx-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.payment-container{gap:20px}.section-header{flex-wrap:wrap;gap:10px}.section-header h3{font-size:1.2rem}.payment-card-wrapper{border-radius:16px;padding:20px}.payment-card-left{gap:16px}.card-icon-box{border-radius:12px;width:48px;height:48px}.card-details h4{font-size:1.05rem}.change-payment-btn{width:100%;min-height:44px}.transaction-item{border-radius:14px;padding:18px}.tx-title{font-size:1rem}.tx-amount{font-size:1.1rem}.tx-icon-wrapper{width:40px;height:40px}}.bk-container{flex-direction:column;gap:24px;max-width:1100px;margin:0 auto;padding:24px;display:flex}.bk-header h1{color:#0f172a;letter-spacing:-.01em;margin:0 0 6px;font-size:1.8rem;font-weight:800}.bk-sub{color:#64748b;max-width:640px;margin:0;font-size:.95rem;line-height:1.5}.bk-loading{color:#64748b;align-items:center;gap:10px;padding:10px 14px;font-size:.9rem;display:inline-flex}.bk-spin{animation:1s linear infinite bk-spin}@keyframes bk-spin{to{transform:rotate(360deg)}}.bk-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;display:inline-flex}.bk-section{flex-direction:column;gap:14px;display:flex}.bk-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bk-section-head h2{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:800;display:inline-flex}.bk-section-meta{color:#64748b;font-size:.85rem;font-weight:600}.bk-empty{color:#64748b;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:14px;padding:20px 18px;font-size:.9rem;line-height:1.5}.bk-day-stack{flex-direction:column;gap:28px;display:flex}.bk-day-group{flex-direction:column;gap:14px;display:flex}.bk-day-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:6px;display:flex}.bk-day-name{color:#0f172a;letter-spacing:-.01em;font-size:1.3rem;font-weight:800}.bk-day-count{color:#64748b;font-size:.82rem;font-weight:600}.bk-day-cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.bk-rr-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0f172a0a}.bk-rr-time{color:#0f172a;letter-spacing:-.02em;font-size:1.45rem;font-weight:800;line-height:1.1}.bk-rr-title-row{justify-content:space-between;align-items:baseline;gap:10px;margin-top:-4px;display:flex}.bk-rr-title{color:#334155;margin:0;font-size:.98rem;font-weight:600}.bk-rr-duration{color:#64748b;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.bk-rr-teacher{color:#334155;align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.bk-rr-teacher strong{color:#0f172a}.bk-rr-teacher--pending{color:#92400e;font-style:italic}.bk-rr-progress{flex-direction:column;gap:6px;display:flex}.bk-rr-progress-bar{background:#f1f5f9;border-radius:999px;height:6px;overflow:hidden}.bk-rr-progress-fill{background:linear-gradient(90deg,#eaad3c,#f5c76b);border-radius:999px;height:100%;transition:width .3s}.bk-rr-progress-meta{color:#64748b;flex-wrap:wrap;gap:12px;font-size:.82rem;display:flex}.bk-rr-progress-meta strong{color:#0f172a}.bk-rr-progress-total{margin-left:auto;font-weight:500}.bk-rr-note{color:#64748b;border-top:1px dashed #e2e8f0;padding-top:4px;font-size:.78rem;line-height:1.5}.bk-rr-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.bk-rr-actions>.bk-btn{flex:1;min-width:0}.bk-lesson-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bk-lesson-row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.bk-lesson-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.bk-lesson-dot--recurring{background:#eaad3c}.bk-lesson-dot--oneoff{background:#64748b}.bk-lesson-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.bk-lesson-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bk-lesson-top strong{color:#0f172a;font-size:.95rem;font-weight:700}.bk-lesson-tag{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700}.bk-lesson-tag--recurring{color:#92400e;background:#fef3c7}.bk-lesson-tag--oneoff{color:#475569;background:#f1f5f9}.bk-lesson-meta{color:#64748b;flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.bk-lesson-meta span{align-items:center;gap:4px;display:inline-flex}.bk-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.bk-btn--ghost{color:#334155;background:0 0;border-color:#cbd5e1}.bk-btn--ghost:hover{color:#0f172a;background:#f8fafc}.bk-btn--ghost-sm{color:#64748b;background:0 0;border-color:#0000;padding:6px 10px;font-size:.82rem}.bk-btn--ghost-sm:hover{color:#b91c1c;background:#fef2f2}.bk-btn--primary{color:#fff;background:#0f172a;border-color:#0f172a}.bk-btn--primary:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.bk-btn--danger{color:#fff;background:#dc2626;border-color:#dc2626}.bk-btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.bk-btn:disabled{opacity:.6;cursor:not-allowed}.bk-cancel-body p{color:#334155;margin:0;font-size:.92rem;line-height:1.5}.bk-cancel-note{color:#64748b;margin:12px 0;font-size:.85rem}.bk-cancel-reason{flex-direction:column;gap:6px;margin-top:6px;display:flex}.bk-cancel-reason>span{color:#475569;font-size:.85rem;font-weight:600}.bk-cancel-reason textarea{resize:vertical;border:1.5px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:.92rem}.bk-cancel-reason textarea:focus{border-color:#0f172a;outline:none}.bk-modal-foot{justify-content:flex-end;gap:8px;display:flex}@media (width<=640px){.bk-container{padding:16px}.bk-rr-grid{grid-template-columns:1fr}.bk-lesson-row{flex-wrap:wrap}.bk-lesson-main{flex-basis:100%}}.bk-rr-spare{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:6px 10px;font-size:.82rem}.bk-rr-spare strong{font-weight:700}.bk-makeup-btn{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.bk-makeup-btn:disabled{opacity:.5;cursor:default}.discover-container{width:100%;padding:0}.discover-container .dashboard-main{width:100%;max-width:100%}.discover-grid{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px;display:grid}@media (width<=1400px){.discover-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.discover-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.discover-grid{grid-template-columns:1fr}}.discover-card{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:24px;flex-direction:column;height:100%;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005}.discover-card:hover{border-color:#0000001a;transform:translateY(-6px);box-shadow:0 20px 40px -10px #00000014}.discover-card-header{justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex;position:relative}.discover-card-icon-wrapper{border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 12px #0000000f}.discover-card-badge{color:#f97316;background:#fff;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 2px 8px #0000000d}.discover-card-content{flex:1;padding:0 24px}.discover-card-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.discover-card-tag{color:var(--text-muted);background:#f1f5f9;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:700}.discover-card-name{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem;font-weight:800;line-height:1.3}.discover-card-description{color:var(--text-secondary);margin-top:0;margin-bottom:20px;font-size:.9rem;line-height:1.5}.discover-card-stats{align-items:center;gap:16px;margin-bottom:20px;display:flex}.stat-item{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.star-icon{color:#fbbf24;fill:#fbbf24}.discover-card-footer{background:#fbfbfb;border-top:1px solid #0000000a;justify-content:space-between;align-items:center;margin-top:auto;padding:20px 24px;display:flex}.discover-card-action{color:#fff;border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 12px #0000001a}.discover-card:hover .discover-card-action{transform:scale(1.05);box-shadow:0 6px 16px #00000026}.discover-card-action.registered{box-shadow:none;color:#16a34a!important;background-color:#22c55e1a!important}.discover-card.registered-card:hover .discover-card-action.registered{box-shadow:none;transform:none}.discover-card-price-container{align-items:baseline;gap:4px;display:flex}.price-value{color:var(--text-primary);font-size:1.3rem;font-weight:800}.price-period{color:var(--text-muted);font-size:.8rem;font-weight:600}.subject-group-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.subject-group-info{flex:1}.subject-title{color:var(--text-primary,#1a1a1a);margin-bottom:6px;font-size:1.5rem;font-weight:700}.subject-description{color:var(--text-secondary,#666);margin:0;font-size:.95rem}.subject-group-logo{object-fit:contain;mix-blend-mode:multiply;height:52px;margin-left:auto}.discover-card.registered-card{cursor:default;background:#fafafa}.discover-card.registered-card:hover{border-color:#0000000f;transform:none;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000005}.icon-registered{margin-right:2px}.group .icon-slide{transition:transform .3s}.group:hover .icon-slide{transform:translate(4px)}@media (width<=768px){.discover-grid{gap:14px;margin-top:16px}.discover-card-header{padding:18px 18px 12px}.discover-card-content{padding:0 18px}.discover-card-footer{padding:14px 18px}.discover-card-name{font-size:1.1rem}.discover-card-description{margin-bottom:14px;font-size:.88rem}.price-value{font-size:1.15rem}.subject-group-header{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:16px}.subject-group-logo{height:40px;margin-left:0}.subject-title{font-size:1.25rem}.discover-card-action{min-height:36px}}.settings-container{flex-direction:column;gap:32px;width:100%;padding-bottom:120px;display:flex}.settings-section{border:1px solid var(--sd-border);background:#fff;border-radius:20px;flex-direction:column;gap:24px;padding:30px;display:flex;box-shadow:0 4px 15px #00000005}.section-header{border-bottom:2px solid var(--sd-border);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.section-header h3{color:var(--sd-text-primary);margin:0;font-size:1.4rem;font-weight:800}.profile-edit-wrapper{align-items:flex-start;gap:40px;display:flex}.avatar-edit-box{flex-direction:column;align-items:center;gap:16px;display:flex}.avatar-preview{background:linear-gradient(135deg, var(--sd-yellow) 0%, #f59e0b 100%);border-radius:50%;width:120px;height:120px;padding:6px;position:relative}.avatar-preview img{object-fit:cover;border:4px solid #fff;border-radius:50%;width:100%;height:100%}.change-avatar-btn{color:#fff;cursor:pointer;background:#1e293b;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s;display:flex;position:absolute;bottom:4px;right:4px}.change-avatar-btn:hover{transform:scale(1.1)}.profile-form{flex-direction:column;flex:1;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--sd-text-primary);font-size:.95rem;font-weight:700}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#94a3b8;position:absolute;left:16px}.input-wrapper input,.input-wrapper select{border:2px solid var(--sd-border);width:100%;color:var(--sd-text-primary);appearance:none;background:#f8fafc;border-radius:12px;outline:none;padding:14px 16px 14px 48px;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s}.input-wrapper input:focus,.input-wrapper select:focus{border-color:var(--sd-yellow);background:#fff;box-shadow:0 0 0 4px #fbbf241a}.input-wrapper.select-wrapper:after{content:"";pointer-events:none;border-bottom:2px solid #94a3b8;border-right:2px solid #94a3b8;width:10px;height:10px;position:absolute;right:16px;transform:translateY(-2px)rotate(45deg)}.readonly-input{cursor:not-allowed;color:#64748b!important;background:#f1f5f9!important;border-color:#e2e8f0!important}.preferences-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-row-split{grid-template-columns:1fr 1fr;gap:32px;display:grid}.toggle-list{flex-direction:column;gap:20px;display:flex}.toggle-item{border:1px solid var(--sd-border);background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;padding:16px;display:flex}.toggle-info{align-items:center;gap:16px;display:flex}.toggle-icon{color:#64748b}.toggle-info h4{color:var(--sd-text-primary);margin:0;font-size:1rem;font-weight:700}.toggle-info p{color:var(--sd-text-secondary);margin:4px 0 0;font-size:.85rem}.toggle-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .3s;display:flex}.toggle-btn.active{color:#10b981}.security-wrapper{border:1px solid var(--sd-border);background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;padding:20px;display:flex}.security-info{align-items:center;gap:16px;display:flex}.security-icon{color:#64748b}.security-info h4{color:var(--sd-text-primary);margin:0;font-size:1rem;font-weight:700}.security-info p{color:var(--sd-text-secondary);margin:4px 0 0;font-size:.85rem}.change-password-btn{border:1px solid var(--sd-border);color:var(--sd-text-primary);cursor:pointer;background:#fff;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:all .2s}.change-password-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.settings-savebar{z-index:10;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827f5;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:14px 20px;animation:.18s ease-out savebar-rise;display:flex;position:sticky;bottom:16px;box-shadow:0 12px 30px #0f172a40}@keyframes savebar-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-savebar-label{letter-spacing:.01em;font-size:.95rem;font-weight:600}.settings-savebar-actions{align-items:center;gap:12px;display:flex}.settings-savebar-discard{color:#e5e7eb;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:12px;padding:10px 18px;font-weight:600;transition:background .15s,border-color .15s}.settings-savebar-discard:hover:not(:disabled){background:#ffffff14;border-color:#fff6}.settings-savebar-discard:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.settings-savebar{text-align:center;flex-direction:column;align-items:stretch;gap:10px}.settings-savebar-actions{justify-content:center}}.save-settings-btn{background:var(--sd-yellow);color:#000;cursor:pointer;border:none;border-radius:16px;align-items:center;gap:10px;padding:14px 32px;font-size:1rem;font-weight:800;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 15px #fbbf244d}.save-settings-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #fbbf2466}@media (width<=900px){.settings-row-split{grid-template-columns:1fr}}@media (width<=640px){.profile-edit-wrapper{flex-direction:column;align-items:center;gap:30px}.profile-form{width:100%}.preferences-grid{grid-template-columns:1fr}.security-wrapper{flex-direction:column;align-items:flex-start;gap:16px}.save-settings-btn{flex:1;justify-content:center}}@media (width<=768px){.settings-container{gap:18px;padding-bottom:100px}.settings-section{border-radius:16px;gap:16px;padding:20px 18px}.section-header{flex-wrap:wrap;gap:10px}.section-header h3{font-size:1.15rem}.input-wrapper input,.input-wrapper select{padding:14px 14px 14px 44px}.toggle-item{border-radius:14px;gap:10px;padding:14px}.save-settings-btn{min-height:48px;padding:14px 22px}}.hist-page{max-width:880px;padding:24px 28px 48px}.hist-header{margin-bottom:20px}.hist-title{color:var(--sd-text-primary,#111827);letter-spacing:-.01em;margin:0 0 4px;font-size:1.6rem;font-weight:700}.hist-sub{color:var(--sd-text-secondary,#6b7280);margin:0;font-size:.95rem}.hist-tabs{border-bottom:1px solid var(--sd-border,#e5e7eb);gap:6px;margin-bottom:18px;display:flex;overflow-x:auto}.hist-tab{color:var(--sd-text-secondary,#6b7280);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 14px;font-size:.92rem;font-weight:600;display:flex}.hist-tab:hover{color:var(--sd-text-primary,#111827)}.hist-tab.active{color:var(--sd-text-primary,#111827);border-bottom-color:var(--sd-accent,#f59e1f)}.hist-tab-count{color:#6b7280;background:#f1f3f6;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.hist-tab.active .hist-tab-count{background:var(--sd-accent,#f59e1f);color:#fff}.hist-empty{text-align:center;color:var(--sd-text-secondary,#6b7280);border:1px dashed var(--sd-border,#e5e7eb);background:#fff;border-radius:12px;padding:48px 16px}.hist-empty--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.hist-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hist-card{border:1px solid var(--sd-border,#e5e7eb);background:#fff;border-radius:12px;padding:16px 18px}.hist-card-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hist-card-main{flex:1;min-width:0}.hist-card-title{color:var(--sd-text-primary,#111827);margin:0 0 6px;font-size:1rem;font-weight:600}.hist-card-meta{color:var(--sd-text-secondary,#6b7280);flex-wrap:wrap;gap:14px;font-size:.85rem;display:flex}.hist-card-meta span{align-items:center;gap:6px;display:inline-flex}.hist-card-reason{color:var(--sd-text-secondary,#6b7280);margin:8px 0 0;font-size:.85rem;font-style:italic}.hist-card-comment{color:#4c1d95;background:#f5f3ff;border-left:3px solid #8b5cf6;border-radius:6px;margin:10px 0 0;padding:10px 12px;font-size:.88rem;line-height:1.45}.hist-card-comment-label{text-transform:uppercase;letter-spacing:.04em;color:#7c3aed;margin-bottom:3px;font-size:.72rem;font-weight:700;display:block}.hist-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.hist-badge--good{color:#047857;background:#ecfdf5}.hist-badge--warn{color:#b45309;background:#fef3c7}.hist-badge--bad{color:#b91c1c;background:#fee2e2}.hist-badge--info{color:#1d4ed8;background:#dbeafe}@media (width<=540px){.hist-page{padding:16px}.hist-card-row{flex-direction:column}.hist-badge{align-self:flex-start}}@media (width<=768px){.hist-page{max-width:100%;padding:8px 0 32px}.hist-title{font-size:1.35rem}.hist-tabs{-webkit-overflow-scrolling:touch}.hist-tab{padding:10px 12px;font-size:.85rem}}.tdp-root{width:100%;position:relative}.tdp-input-wrap{position:relative}.tdp-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tdp-input{box-sizing:border-box;background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;width:100%;min-height:60px;padding:18px 44px;font-family:inherit;font-size:1.02rem}.tdp-input:focus{border-color:#f59e1f;outline:none}.tdp-input-clear{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.tdp-input-clear:hover{color:#475569;background:#f1f3f6}.tdp-selected{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.tdp-selected-main{align-items:center;gap:12px;min-width:0;display:flex}.tdp-clear{cursor:pointer;color:#047857;background:0 0;border:none;border-radius:4px;padding:4px;display:inline-flex}.tdp-clear:hover{background:#d1fae5}.tdp-state{color:#6b7280;padding:8px 4px;font-size:.85rem}.tdp-state--err{color:#b91c1c}.tdp-no-match{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:.82rem;line-height:1.45;display:flex}.tdp-no-match svg{flex-shrink:0;margin-top:2px}.tdp-results{background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-height:280px;margin:8px 0 0;padding:4px;list-style:none;overflow-y:auto}.tdp-result{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px;font-family:inherit;display:flex}.tdp-result:hover{background:#f6f7f9}.tdp-result-body{flex:1;min-width:0}.tdp-pick-icon{color:#94a3b8;flex-shrink:0}.tdp-result:hover .tdp-pick-icon{color:#16a34a}.tdp-avatar{color:#475569;background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:inline-flex;overflow:hidden}.tdp-avatar img{object-fit:cover;width:100%;height:100%}.tdp-name{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.tdp-meta{color:#6b7280;align-items:center;gap:10px;margin-top:2px;font-size:.78rem;display:flex}.tdp-badge{color:#4338ca;background:#eef2ff;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700}.tdp-completed{color:#6b7280}.cco-stepper{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:.75rem;font-weight:700}.cco-primary svg{margin-left:4px}.cco-page{min-height:calc(100vh - var(--nav-height,70px));background:linear-gradient(#fafaf9 0%,#f4f4f5 100%);justify-content:center;align-items:flex-start;padding:60px 20px;display:flex}.cco-card{background:#fff;border-radius:24px;flex-direction:column;gap:28px;width:100%;max-width:720px;padding:44px 48px;display:flex;box-shadow:0 20px 60px #0f172a14}.cco-card--center{text-align:center;align-items:center;gap:16px;padding:60px 40px}.cco-pack{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.cco-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#16a34a;margin-bottom:6px;font-size:.7rem;font-weight:700}.cco-title{color:#0f172a;margin:0;font-size:1.6rem;font-weight:800;line-height:1.2}.cco-title--small{font-size:1.25rem}.cco-sub{color:#64748b;margin:6px 0 0;font-size:.95rem;line-height:1.5}.cco-meta{color:#94a3b8;margin:4px 0 0;font-size:.85rem}.cco-credit-pill{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;flex-shrink:0;padding:8px 14px;font-size:.85rem;font-weight:700}.cco-section{flex-direction:column;gap:12px;display:flex}.cco-section-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.cco-section-sub{color:#64748b;margin:-6px 0 6px;font-size:.85rem}.cco-field{flex-direction:column;gap:6px;display:flex}.cco-label{color:#475569;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.cco-label-hint{color:#94a3b8;font-size:.78rem;font-weight:400}.cco-input{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.cco-input:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #1a1a1a14}textarea.cco-input{resize:vertical;min-height:80px}.cco-hint{color:#94a3b8;font-size:.78rem}.cco-actions{justify-content:flex-end;gap:12px;display:flex}.cco-actions--success{justify-content:center;margin-top:12px}.cco-primary{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:12px;padding:14px 28px;font-size:.95rem;font-weight:700;transition:background .15s,transform .15s}.cco-primary:hover:not(:disabled){background:#000;transform:translateY(-1px)}.cco-primary:disabled{opacity:.5;cursor:not-allowed}.cco-link{color:#1a1a1a;cursor:pointer;background:0 0;border:1.5px solid #1a1a1a;border-radius:10px;padding:10px 22px;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.cco-icon--warn{color:#d97706}.cco-icon--spin{color:#1a1a1a;animation:1s linear infinite cco-spin}@keyframes cco-spin{to{transform:rotate(360deg)}}.cco-success-icon{color:#065f46;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}.cco-field-help{color:#6b7280;margin:-4px 0 8px;font-size:.82rem;line-height:1.5}.cco-subsection{border-top:1px solid #eef0f3;flex-direction:column;margin-top:32px;padding-top:24px;display:flex}.cco-locked-note{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin-top:12px;padding:12px 14px;font-size:.88rem;line-height:1.5}.cco-referral-slot{margin:16px 0 8px}@media (width<=560px){.cco-card{padding:28px 20px}.cco-pack{flex-direction:column;gap:12px}.cco-actions{justify-content:stretch}.cco-primary{width:100%}}@media (width<=768px){.cco-page{min-height:auto;padding:24px 16px 32px}.cco-card{border-radius:18px;gap:22px;padding:24px 18px}.cco-title{font-size:1.35rem}.cco-sub{font-size:.9rem}.cco-primary{width:100%;min-height:48px}.cco-link{text-align:center;width:100%}.cco-actions{flex-direction:column-reverse;gap:10px}}.cco-header{flex-direction:column;gap:14px;margin-bottom:4px;display:flex}.cco-dots{justify-content:center;gap:8px;margin-top:4px;display:flex}.cco-dot{background:#e2e8f0;border-radius:999px;width:28px;height:4px;transition:background .3s}.cco-dot.is-active{background:#1a1a1a}.cco-step{text-align:center;flex-direction:column;align-items:center;gap:20px;min-height:420px;padding:16px 0 8px;display:flex;position:relative}.cco-step--forward{animation:.38s cubic-bezier(.22,1,.36,1) cco-slide-from-right}.cco-step--backward{animation:.38s cubic-bezier(.22,1,.36,1) cco-slide-from-left}@keyframes cco-slide-from-right{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}@keyframes cco-slide-from-left{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:translate(0)}}.cco-back{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex;position:absolute;top:4px;left:0}.cco-back:hover{color:#0f172a}.cco-step-icon{color:#b45309;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin-top:12px;display:inline-flex;box-shadow:0 6px 14px #b453092e}.cco-step-icon svg{width:32px;height:32px}.cco-step-title{color:#0f172a;letter-spacing:-.015em;margin:6px 0 0;font-size:1.7rem;font-weight:800;line-height:1.2}.cco-step-sub{color:#64748b;max-width:460px;margin:0;font-size:1.02rem;line-height:1.55}.cco-step-body{width:100%;margin-top:14px}.cco-gender-grid{grid-template-columns:1fr;gap:12px;max-width:480px;margin:0 auto;display:grid}.cco-gender-card{color:#0f172a;cursor:pointer;text-align:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:22px;font-family:inherit;font-size:1.08rem;font-weight:700;transition:border-color .15s,background .15s,transform .15s;display:block}.cco-gender-card:hover{background:#f8fafc;border-color:#cbd5e1}.cco-gender-card.is-selected{background:#fffbf0;border-color:#eaad3c;box-shadow:0 0 0 3px #eaad3c26}.cco-textarea{resize:vertical;color:#0f172a;background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;width:100%;max-width:520px;min-height:140px;margin:0 auto;padding:18px 20px;font-family:inherit;font-size:1.02rem;line-height:1.5;display:block}.cco-textarea:focus{border-color:#eaad3c;outline:none;box-shadow:0 0 0 3px #eaad3c26}.cco-actions--row{justify-content:center;gap:10px;width:100%;max-width:520px;margin-top:18px;display:flex}.cco-actions--row .cco-primary{flex:1;min-height:56px;padding:14px 28px;font-size:1.02rem}.cco-secondary{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:12px;padding:12px 20px;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s}.cco-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}@media (width<=540px){.cco-step-title{font-size:1.2rem}.cco-actions--row{flex-direction:column}.cco-actions--row>button{width:100%}}.csch-page{min-height:calc(100vh - var(--nav-height,70px));background:linear-gradient(#fafaf9 0%,#f4f4f5 100%);justify-content:center;align-items:flex-start;padding:40px 20px 80px;display:flex}.csch-shell{background:#fff;border-radius:24px;flex-direction:column;gap:28px;width:100%;max-width:1000px;padding:36px;display:flex;box-shadow:0 20px 60px #0f172a14}.csch-center{text-align:center;align-items:center;gap:12px;padding:60px 40px}.csch-submit-shell{justify-content:center;gap:18px;min-height:60dvh}.csch-submit-title{color:#0f172a;letter-spacing:-.01em;margin:12px 0 0;font-size:1.45rem;font-weight:800}.csch-submit-shell .csch-sub{max-width:380px;margin:0 auto;font-size:.95rem}.csch-stepper{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-size:.75rem;font-weight:700}.csch-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;display:flex}.csch-title{color:#0f172a;margin:0;font-size:1.4rem;font-weight:800}.csch-sub{color:#64748b;margin:4px 0 0;font-size:.9rem}.csch-counter{color:#92400e;background:#fef3c7;border-radius:14px;flex-direction:column;align-items:flex-end;min-width:140px;padding:12px 18px;display:flex}.csch-counter--full{color:#065f46;background:#dcfce7}.csch-counter-row{align-items:baseline;gap:6px;display:flex}.csch-counter-num{font-size:1.8rem;font-weight:800;line-height:1}.csch-counter-of{font-size:.85rem;font-weight:600}.csch-counter-label{letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin-top:4px;font-size:.7rem;font-weight:700}.csch-section{flex-direction:column;gap:12px;display:flex}.csch-section-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.csch-section-sub{color:#64748b;margin:-4px 0 4px;font-size:.85rem;line-height:1.4}.csch-section-sub--small{font-size:.8rem}.csch-grid-wrap{border:1px solid #e5e7eb;border-radius:14px;max-height:540px;overflow:auto}.csch-grid{min-width:560px;display:grid}.csch-grid-corner{z-index:2;background:#f8fafc;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;position:sticky;top:0;left:0}.csch-grid-day{color:#475569;letter-spacing:.06em;text-transform:uppercase;text-align:center;z-index:1;background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:12px 0;font-size:.8rem;font-weight:700;position:sticky;top:0}.csch-grid-time{color:#64748b;text-align:right;z-index:1;background:#f8fafc;border-bottom:1px dashed #f1f5f9;border-right:1px solid #e5e7eb;padding:6px 8px;font-size:.72rem;position:sticky;left:0}.csch-cell{cursor:pointer;background:#fff;border-top:none;border-bottom:1px dashed #f1f5f9;border-left:none;border-right:1px solid #f1f5f9;justify-content:center;align-items:center;min-height:28px;padding:0;transition:background .1s;display:flex}.csch-cell--avail:hover{background:#f1f5f9;border-color:#cbd5e1}.csch-cell--on{font-weight:800}.csch-cell--avail{background:#fff}.csch-grid-wrap.is-filtered .csch-cell--avail{background:#fef9e7}.csch-grid-wrap.is-filtered .csch-cell--avail:hover{background:#fdf3cb}.csch-cell--none{cursor:not-allowed;background:#e2e8f0}.csch-slots-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.csch-slot-row{background:#f8fafc;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.csch-slot-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.csch-slot-label{color:#0f172a;flex:1;font-size:.9rem;font-weight:600}.csch-slot-input{text-align:center;border:1.5px solid #e5e7eb;border-radius:8px;width:64px;padding:6px 10px;font-family:inherit;font-size:.9rem}.csch-slot-input:focus{border-color:#1a1a1a;outline:none}.csch-slot-unit{color:#94a3b8;font-size:.8rem}.csch-empty{text-align:center;color:#94a3b8;background:#f8fafc;border-radius:12px;padding:24px;font-size:.9rem}.csch-month{margin-bottom:16px}.csch-month-label{letter-spacing:.06em;text-transform:uppercase;color:#475569;margin-bottom:8px;font-size:.78rem;font-weight:700}.csch-lessons{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.csch-lesson{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.csch-lesson-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.csch-lesson-main{color:#0f172a;flex:1;font-size:.9rem;font-weight:500}.csch-lesson-tag{color:#64748b;font-size:.78rem}.csch-lesson-x{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s;display:flex}.csch-lesson-x:hover{color:#b91c1c;background:#fee2e2}.csch-add-lessons{flex-direction:column;gap:8px;margin-top:12px;display:flex}.csch-add-lesson{color:#475569;cursor:pointer;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;align-items:center;gap:8px;width:100%;padding:11px 14px;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.csch-add-lesson:hover{color:#4338ca;background:#eef2ff;border-color:#818cf8}.csch-extra{color:#64748b;background:#f8fafc;border-radius:12px;align-items:center;gap:10px;margin-top:4px;padding:12px 14px;display:flex}.csch-extra-input{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;flex:1;padding:10px 12px;font-family:inherit;font-size:.9rem}.csch-extra-input:focus{border-color:#1a1a1a;outline:none}.csch-extra-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:8px;align-items:center;gap:4px;padding:10px 16px;font-size:.85rem;font-weight:700;display:inline-flex}.csch-extra-btn:disabled{opacity:.4;cursor:not-allowed}.csch-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.csch-footer--solo{justify-content:flex-end}.csch-secondary{color:#1a1a1a;cursor:pointer;background:0 0;border:1.5px solid #1a1a1a;border-radius:10px;align-items:center;gap:6px;padding:12px 22px;font-size:.9rem;font-weight:600;display:inline-flex}.csch-secondary:disabled{opacity:.5;cursor:not-allowed}.csch-primary{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:12px;padding:14px 28px;font-size:.95rem;font-weight:700;transition:background .15s,transform .15s}.csch-primary:hover:not(:disabled){background:#000;transform:translateY(-1px)}.csch-primary:disabled{opacity:.5;cursor:not-allowed}.csch-leftover{color:#94a3b8;text-align:center;margin:-10px 0 0;font-size:.78rem}.csch-link{color:#1a1a1a;cursor:pointer;background:0 0;border:1.5px solid #1a1a1a;border-radius:10px;padding:10px 22px;font-size:.9rem;font-weight:600;text-decoration:none}.csch-icon--warn{color:#d97706}.csch-icon--spin{color:#1a1a1a;animation:1s linear infinite csch-spin}@keyframes csch-spin{to{transform:rotate(360deg)}}.csch-success-icon{color:#065f46;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}@media (width<=700px){.csch-shell{padding:24px 18px}.csch-header{flex-direction:column;gap:12px}.csch-counter{align-items:flex-start}.csch-footer{flex-direction:column-reverse}.csch-secondary,.csch-primary{justify-content:center;width:100%}}@media (width<=768px){.csch-page{min-height:auto;padding:20px 12px 56px}.csch-shell{border-radius:18px;gap:20px;padding:20px 16px}.csch-title{font-size:1.2rem}.csch-sub{font-size:.85rem}.csch-grid-wrap{-webkit-overflow-scrolling:touch;border-radius:12px;max-height:60dvh}.csch-grid{min-width:560px}.csch-slot-row{flex-wrap:wrap;gap:8px;padding:10px 12px}.csch-slot-input{width:70px;min-height:40px}.csch-extra{flex-direction:column;align-items:stretch;gap:8px}.csch-extra-btn{justify-content:center;width:100%;min-height:44px}.csch-secondary,.csch-primary{min-height:48px}}.csch-mode-toggle{background:#f1f5f9;border-radius:16px;grid-template-columns:1fr 1fr;gap:12px;padding:6px;display:grid}.csch-mode{cursor:pointer;text-align:left;color:#475569;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:16px 18px;font-family:inherit;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.csch-mode>span{flex-direction:column;gap:2px;display:flex}.csch-mode>span strong{color:inherit;font-size:.98rem;font-weight:700}.csch-mode>span small{color:inherit;opacity:.7;font-size:.78rem}.csch-mode:hover{color:#1a1a1a}.csch-mode.is-active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a14,0 4px 14px #0f172a0f}.csch-filter-row{justify-content:center;margin-top:2px;display:flex}.csch-topup-banner{color:#78350f;background:#fffbf0;border:1px solid #f5c76b;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:.92rem;line-height:1.5;display:flex}.csch-topup-banner svg{color:#92400e;flex-shrink:0;margin-top:2px}.csch-topup-banner strong{color:#0f172a}.csch-topup-banner em{color:#0f172a;background:#ffffffb3;border-radius:6px;padding:1px 6px;font-style:normal;font-weight:700}.csch-filter-chip{border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 16px;font-size:.85rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.csch-filter-chip.is-active{color:#92520c;background:#fffbf0;border-color:#f5c76b}.csch-filter-chip.is-off{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.csch-filter-chip svg{flex-shrink:0}.csch-filter-text{font-weight:600}.csch-filter-toggle{color:inherit;cursor:pointer;opacity:.92;white-space:nowrap;background:#ffffffb3;border:1px solid;border-radius:999px;padding:5px 12px;font-family:inherit;font-size:.78rem;font-weight:700}.csch-filter-toggle:hover{opacity:1;background:#fff}.csch-weeknav{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.csch-weekbtn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:4px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.csch-weekbtn:disabled{opacity:.4;cursor:not-allowed}.csch-weekbtn:hover:not(:disabled){background:#e2e8f0}.csch-weeklabel{color:#0f172a;font-size:.95rem;font-weight:700}.csch-cell--empty{cursor:default;background:0 0;border:1px dashed #e2e8f0}.csch-specific{grid-template-columns:140px 1fr;gap:18px;margin-top:8px;display:grid}.csch-dates{flex-direction:column;gap:10px;max-height:360px;padding-right:4px;display:flex;overflow-y:auto}.csch-date-card{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-family:inherit;display:flex;position:relative;overflow:hidden}.csch-date-card:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1}.csch-date-card.selected{background:#fffbf0;border-color:#eaad3c;box-shadow:0 1px 3px #eaad3c33}.csch-date-card:disabled{opacity:.55;cursor:not-allowed;background:#f1f5f9}.csch-date-day{color:#64748b;flex-shrink:0;font-size:.82rem;font-weight:600}.csch-date-num{color:#0f172a;flex-shrink:0;font-size:.95rem;font-weight:800}.csch-status-dot{width:3px;position:absolute;top:0;bottom:0;left:0}.csch-date-card.status-green .csch-status-dot{background:#10b981}.csch-date-card.status-yellow .csch-status-dot{background:#f59e0b}.csch-date-card.status-red .csch-status-dot{background:#ef4444}.csch-date-card.status-grey .csch-status-dot{background:#94a3b8}.csch-times{background:#f8fafc;border-radius:14px;flex-direction:column;gap:12px;min-height:200px;padding:16px;display:flex}.csch-times-header{color:#334155;margin:0;font-size:.95rem;font-weight:700}.csch-times-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.csch-time-slot{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:inherit;font-size:.92rem;font-weight:600;display:inline-flex}.csch-time-slot:hover:not(:disabled){color:#eaad3c;border-color:#eaad3c}.csch-time-slot.selected{color:#fff;background:#eaad3c;border-color:#eaad3c}.csch-modal-overlay{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;animation:.2s csch-fade;display:flex;position:fixed;inset:0}.csch-modal{text-align:center;background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:460px;padding:28px;display:flex;box-shadow:0 20px 60px #0f172a40}.csch-modal-icon{color:#b45309;background:#fef3c7;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto;display:inline-flex}.csch-modal-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.csch-modal-body{color:#475569;margin:0;font-size:.95rem;line-height:1.5}.csch-modal-actions{gap:10px;margin-top:8px;display:flex}.csch-modal-actions>button{flex:1}@keyframes csch-fade{0%{opacity:0}to{opacity:1}}@media (width<=540px){.csch-modal-actions{flex-direction:column-reverse}}.csch-time-slot.disabled,.csch-time-slot:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.csch-mode-toggle,.csch-specific{grid-template-columns:1fr}.csch-dates{flex-direction:row;max-height:none;padding-bottom:6px;overflow-x:auto}.csch-date-card{flex:none;min-width:110px}}.csch-farout-warning{color:#92400e;background:#fef3c7;border-radius:8px;margin:8px 0;padding:8px 12px;font-size:.85rem}:root{--td-red:#ef4444;--td-yellow:#f59e0b;--td-bg:#fafbfc;--td-sidebar-width:260px;--td-text-primary:#1f2937;--td-text-secondary:#9ca3af;--td-border:#f3f4f6}.td-layout{background-color:var(--td-bg);min-height:100vh;font-family:Inter,system-ui,sans-serif;display:flex}.td-sidebar{width:var(--td-sidebar-width);border-right:1px solid var(--td-border);z-index:100;background-color:#fff;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.td-logo-container{cursor:pointer;align-items:center;padding:32px 24px;text-decoration:none;display:flex}.td-logo-container:hover .td-logo{opacity:.85}.td-logo-container .td-logo{transition:opacity .15s}.td-logo{object-fit:contain;height:24px}.td-nav{flex-direction:column;flex:1;gap:8px;margin-top:10px;padding:0 16px;display:flex}.td-nav-item{color:var(--td-text-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.td-nav-item-left{align-items:center;gap:16px;display:flex}.td-nav-badge{background-color:var(--td-red);color:#fff;text-align:center;border-radius:12px;min-width:20px;padding:2px 8px;font-size:.75rem;font-weight:700}.td-nav-item:hover{color:var(--td-yellow);background-color:#fef8eb}.td-nav-item.active{background-color:var(--td-yellow);color:#fff;box-shadow:0 4px 12px #f59e0b33}.td-nav-item.active .td-nav-icon{color:#fff}.td-sidebar-bottom{border-top:1px solid var(--td-border);padding:24px}.td-logout-btn{width:100%;color:var(--td-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:16px;padding:12px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.td-logout-btn:hover{color:var(--td-yellow);background-color:#fef8eb}.td-main-wrapper{margin-left:var(--td-sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.td-header{background-color:var(--td-bg);z-index:90;justify-content:space-between;align-items:center;height:100px;padding:0 40px;display:flex;position:sticky;top:0}.td-partner-badge{border:1px solid var(--td-border);background-color:#fff;border-radius:16px;justify-content:center;align-items:center;padding:10px 20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 12px #00000008}.td-partner-badge:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.td-partner-logo{object-fit:contain;height:44px}.td-header-right{align-items:center;gap:24px;display:flex}.td-bell-btn{width:44px;height:44px;color:var(--td-text-primary);cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;box-shadow:0 2px 10px #00000005}.td-bell-btn:hover{transform:scale(1.05)}.td-avatar{cursor:pointer;border-radius:50%;width:44px;height:44px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 2px 10px #0000000d}.td-avatar:hover{transform:scale(1.04);box-shadow:0 4px 14px #00000014}.td-avatar img{object-fit:cover;width:100%;height:100%}.td-content{flex-direction:column;flex:1;padding:0 40px 40px;display:flex}.td-mobile-topbar,.td-drawer-overlay{display:none}@media (width<=768px){.td-layout{flex-direction:column;min-height:100dvh}.td-mobile-topbar{z-index:95;padding:max(10px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--td-border);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.td-drawer-toggle{width:44px;height:44px;color:var(--td-text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000008;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.td-drawer-toggle:active{transform:scale(.96)}.td-mobile-topbar-logo{flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.td-mobile-topbar-logo img{object-fit:contain;height:22px}.td-mobile-topbar-avatar{width:40px;height:40px}.td-sidebar{z-index:110;width:min(82vw,300px);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-overflow-scrolling:touch;transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;overflow-y:auto;transform:translate(-100%)}.td-sidebar.open{transform:translate(0);box-shadow:16px 0 40px #0000002e}.td-drawer-overlay{opacity:0;pointer-events:none;z-index:100;background:#0f172a73;transition:opacity .2s;display:block;position:fixed;inset:0}.td-drawer-overlay.open{opacity:1;pointer-events:auto}.td-header{display:none}.td-main-wrapper{min-height:auto;margin-left:0}.td-content{padding:16px 16px 24px}.td-nav-item,.td-logout-btn{min-height:48px}}.ahm-overlay{-webkit-backdrop-filter:blur(4px);z-index:1000;background-color:#11182773;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ahm-modal{background-color:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:560px;animation:.25s slideInUp;display:flex;overflow:hidden;box-shadow:0 24px 48px -12px #11182740}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ahm-header{border-bottom:1px solid #f1f2f4;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.ahm-header h2{color:#111827;letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.ahm-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .15s;display:flex}.ahm-close-btn:hover{color:#111827;background-color:#f3f4f6}.ahm-content{padding:22px 24px}.ahm-field{flex-direction:column;margin-bottom:16px;display:flex}.ahm-field>span{letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin-bottom:6px;font-size:11.5px;font-weight:700}.ahm-row{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.ahm-row>.ahm-field{flex:1;min-width:200px;margin-bottom:0}.ahm-input{color:#111827;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:10px;height:42px;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.ahm-input::placeholder{color:#9ca3af}.ahm-input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b26}.ahm-input:disabled{cursor:not-allowed;background:#f9fafb}select.ahm-input{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:38px}input[type=datetime-local].ahm-input{color:#111827;font-variant-numeric:tabular-nums}.ahm-textarea{resize:vertical;box-sizing:border-box;color:#111827;border:1px solid #e5e7eb;border-radius:10px;outline:none;width:100%;min-height:110px;padding:12px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.ahm-textarea::placeholder{color:#9ca3af}.ahm-textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.ahm-textarea--small{min-height:64px}.ahm-field-hint{color:#b45309;letter-spacing:0;text-transform:none;margin-top:6px;font-size:12px;font-weight:500;display:block}.ahm-tabs{background:#f4f5f7;border-radius:12px;align-items:center;gap:4px;margin:8px 0 18px;padding:4px;display:flex}.ahm-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:9px 12px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.ahm-tab svg{flex-shrink:0}.ahm-tab.active{color:#b45309;background:#fff;box-shadow:0 1px 2px #11182714,0 0 0 1px #1118270a}.ahm-tab:hover:not(.active):not(.ahm-tab--disabled){color:#111827}.ahm-tab--disabled{opacity:.5;cursor:not-allowed!important}.ahm-tab-tag{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:2px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.ahm-upload-area{cursor:pointer;text-align:center;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:28px 24px;transition:all .15s;display:flex;position:relative}.ahm-upload-area:hover{background-color:#fffbeb;border-color:#f59e0b}.ahm-upload-area p{color:#374151;margin:0;font-size:14px}.ahm-upload-area span{color:#9ca3af;font-size:12px}.ahm-file-input{opacity:0;cursor:pointer;position:absolute;inset:0}.ahm-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:6px;margin:0 24px 12px;padding:8px 12px;font-size:13px;display:flex}.ahm-release-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:8px;margin-top:-4px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.ahm-release-warning svg{flex-shrink:0;margin-top:1px}.ahm-release-warning--muted{color:#6b7280;background:#f9fafb;border-color:#e5e7eb}.ahm-footer{background-color:#f9fafb;border-top:1px solid #f1f2f4;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.ahm-cancel-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:600;transition:background-color .15s}.ahm-cancel-btn:hover{background-color:#f3f4f6}.ahm-save-btn{color:#fff;cursor:pointer;background-color:#f59e0b;border:none;border-radius:9px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background-color .15s;display:inline-flex}.ahm-save-btn:hover{background-color:#d97706}.ahm-save-btn:disabled,.ahm-cancel-btn:disabled{opacity:.55;cursor:not-allowed}.ahm-spin{animation:1s linear infinite ahm-spin}@keyframes ahm-spin{to{transform:rotate(360deg)}}@media (width<=768px){.ahm-overlay{align-items:flex-end;padding:0}.ahm-modal{-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;max-width:100%;max-height:92dvh;overflow-y:auto}.ahm-header{padding:14px 16px}.ahm-save-btn,.ahm-cancel-btn{min-height:44px}}.amm-modal{flex-direction:column;width:min(640px,100% - 32px);max-height:min(86vh,720px);display:flex}.amm-search-wrap{margin:4px 24px 12px;position:relative}.amm-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.amm-search-input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 12px 10px 36px;font-size:.95rem;transition:border-color .15s,background .15s,box-shadow .15s}.amm-search-input:focus{background:#fff;border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.amm-list{flex-direction:column;flex:1;gap:8px;min-height:220px;padding:0 24px 16px;display:flex;overflow-y:auto}.amm-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.amm-row:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.amm-row--selected{background:#fffbeb;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b26}.amm-row--attached{opacity:.6;cursor:not-allowed;background:#f1f5f9}.amm-row-icon{color:#b45309;background:#fef3c7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.amm-row-body{flex:1;min-width:0}.amm-row-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.amm-row-meta{color:#64748b;gap:10px;margin-top:2px;font-size:.8rem;display:flex}.amm-row-kind{text-transform:uppercase;letter-spacing:.04em;font-weight:600}.amm-row-check{color:#f59e0b;flex-shrink:0;align-items:center;display:flex}.amm-attached-pill{color:#166534;text-transform:uppercase;letter-spacing:.04em;background:#dcfce7;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.amm-empty,.amm-error{text-align:center;color:#64748b;justify-content:center;align-items:center;gap:8px;padding:32px 16px;font-size:.9rem;display:flex}.amm-error{color:#b91c1c}.amm-spin{animation:.8s linear infinite amm-spin}@keyframes amm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.amm-modal{border-radius:16px 16px 0 0;align-self:flex-end;width:100%;max-height:92dvh}.amm-search-wrap{margin:4px 16px 12px}.amm-list{padding:0 16px 16px}.amm-row{padding:12px}}.td-schedule-container{flex-direction:column;gap:32px;display:flex}.td-hero-banner{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:16px;flex-direction:column;gap:24px;padding:32px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.td-hero-main{z-index:1;justify-content:space-between;align-items:center;width:100%;display:flex}.td-hero-banner:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff6);width:300px;height:100%;position:absolute;top:0;right:0;transform:skew(-20deg)}.td-hero-content{z-index:1;flex-direction:column;gap:10px;display:flex}.td-hero-label{text-transform:uppercase;color:#d97706;letter-spacing:.05em;margin-bottom:2px;font-size:14px;font-weight:700}.td-hero-title{color:#111827;margin:0;font-size:28px;font-weight:700}.td-hero-student{color:#b45309;align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:600;display:flex}.td-student-divider{color:#f59e0b}.td-student-age{font-weight:500}.td-hero-details{align-items:center;gap:24px;margin-top:4px;display:flex}.td-detail-item{color:#4b5563;align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.td-detail-item.objective{color:#059669}.progress-fraction{color:#6b7280;margin-left:4px}.td-hero-actions{z-index:1;gap:16px;display:flex}.td-btn-primary:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:0 6px 12px #ef44444d}.td-btn-secondary{color:#4b5563;background-color:#fff;box-shadow:0 2px 4px #0000000d}.td-btn-secondary:hover{background-color:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 8px #00000014}.td-section-title{color:#111827;margin:0 0 20px;font-size:20px;font-weight:600}.td-timetable-wrapper{background-color:#fff;border:1px solid #eaeaea;border-radius:16px;overflow-x:auto;box-shadow:0 1px 3px #0000001a}.td-timetable{flex-direction:column;min-width:900px;display:flex}.td-tt-header-row{background-color:#f8f9fa;border-bottom:2px solid #eaeaea;display:flex}.td-tt-time-col-header{border-right:1px solid #eaeaea;flex-shrink:0;width:80px}.td-tt-day-header{text-align:center;color:#4b5563;border-right:1px solid #eaeaea;flex:1;padding:16px 8px;font-size:14px;font-weight:600}.td-tt-day-header:last-child{border-right:none}.td-tt-body{display:flex;position:relative}.td-tt-times-col{background-color:#fff;border-right:1px solid #eaeaea;flex-shrink:0;width:80px}.td-tt-time-label{color:#6b7280;justify-content:center;align-items:flex-start;height:60px;padding-top:-8px;font-size:12px;font-weight:500;display:flex;position:relative;top:-8px}.td-tt-time-label:first-child{top:8px}.td-tt-grid{flex-direction:column;flex:1;display:flex}.td-tt-row{border-bottom:1px solid #f3f4f6;height:60px;display:flex}.td-tt-row:last-child{border-bottom:none}.td-tt-cell{border-right:1px solid #f3f4f6;flex:1;position:relative}.td-tt-cell:last-child{border-right:none}.td-tt-lesson-card{z-index:10;background-color:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;flex-direction:column;gap:4px;padding:8px;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;top:4px;left:4px;right:4px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.td-tt-lesson-card:hover{z-index:11;cursor:pointer;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.td-tt-lesson-card.td-tt-past{opacity:.75;background-color:#f1f5f9;border-left-color:#94a3b8}.td-tt-lesson-card.td-tt-past .tt-lesson-title{color:#475569}.td-tt-lesson-card.td-tt-past .tt-lesson-student{color:#64748b}.td-tt-lesson-card.td-tt-cancelled{background-color:#fee2e2;border-left-color:#ef4444}.td-tt-lesson-card.td-tt-cancelled .tt-lesson-title{color:#991b1b}.td-tt-lesson-card.td-tt-cancelled .tt-lesson-student{color:#b91c1c}.tt-lesson-title{color:#92400e;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.tt-lesson-student{color:#b45309;font-size:11px}.tt-lesson-icon{color:#d97706;position:absolute;bottom:6px;right:6px}.td-hero-materials{z-index:1;border-top:1px solid #d9770626;flex-direction:column;gap:12px;width:100%;padding-top:24px;display:flex}.td-hero-mat-title{color:#b45309;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:13px;font-weight:700}.td-hero-mat-list{flex-wrap:wrap;gap:16px;display:flex}.td-hero-mat-card{-webkit-backdrop-filter:blur(4px);background-color:#fff9;border:1px solid #fffc;border-radius:12px;align-items:center;gap:12px;min-width:250px;max-width:380px;padding:12px 16px;transition:all .2s;display:flex;box-shadow:0 2px 4px #00000005}.td-hero-mat-card:hover{background-color:#fffffff2;transform:translateY(-2px);box-shadow:0 4px 12px #d977061a}.td-hero-mat-icon{color:#d97706;background-color:#fef3c7;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.td-hero-mat-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.td-hero-mat-info h4{color:#92400e;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;overflow:hidden}.td-hero-mat-info p{color:#b45309;margin:0;font-size:11px}.td-hero-mat-dl{color:#d97706;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.td-hero-mat-dl:hover{color:#92400e;background-color:#d977061a}.td-hero-mat-rm{padding:4px 8px;font-size:18px;font-weight:600;line-height:1}.td-hero-mat-empty{color:#92400e;background:#ffffff8c;border:1px dashed #fcd34d;border-radius:10px;padding:14px 16px;font-size:13px}.td-sick-leave-row{justify-content:flex-end;display:flex}.td-btn-sick-leave{color:#374151;box-shadow:none;background-color:#f3f4f6;border:1px solid #d1d5db;padding:10px 18px;font-size:14px}.td-btn-sick-leave:hover{color:#111827;background-color:#e5e7eb;transform:translateY(-1px);box-shadow:0 2px 6px #00000012}.td-sl-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.td-sl-modal{background:#fff;border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:28px 32px;display:flex;box-shadow:0 20px 40px #00000026}.td-sl-title{color:#111827;margin:0;font-size:18px;font-weight:700}.td-sl-hint{color:#4b5563;margin:0;font-size:14px;line-height:1.5}.td-sl-label{color:#374151;font-size:13px;font-weight:600}.td-sl-date-input{font:inherit;color:#111827;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.td-sl-date-input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 3px #ef44441f}.td-sl-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.td-sl-spinner{animation:.8s linear infinite td-spin}@keyframes td-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.td-schedule-container{gap:20px}.td-hero-banner{border-radius:14px;gap:18px;padding:20px}.td-hero-banner:after{display:none}.td-hero-main{flex-direction:column;align-items:stretch;gap:18px}.td-hero-content{gap:8px}.td-hero-label{font-size:12px}.td-hero-title{font-size:1.4rem}.td-hero-student{flex-wrap:wrap;font-size:.95rem}.td-hero-details{flex-direction:column;align-items:flex-start;gap:10px}.td-detail-item{font-size:.9rem}.td-hero-actions{flex-direction:column;gap:10px;width:100%}.td-btn{justify-content:center;width:100%;min-height:44px;padding:12px 18px;font-size:1rem}.td-hero-materials{gap:10px;padding-top:18px}.td-hero-mat-list{flex-direction:column;gap:10px}.td-hero-mat-card{width:100%;min-width:0;max-width:100%;padding:10px 12px}.td-hero-mat-info h4{font-size:.82rem}.td-section-title{margin:0 0 12px;font-size:1.1rem}.td-timetable-wrapper{-webkit-overflow-scrolling:touch;border-radius:14px}.td-timetable{min-width:720px}.td-tt-time-col-header,.td-tt-times-col{width:56px}.td-tt-day-header{padding:12px 4px;font-size:12px}.td-tt-time-label,.tt-lesson-title{font-size:11px}.tt-lesson-student{font-size:10px}.td-sick-leave-row{justify-content:stretch}.td-btn-sick-leave{justify-content:center;width:100%}.td-sl-modal{padding:20px}.td-sl-actions{flex-direction:column-reverse}.td-sl-actions .td-btn{justify-content:center;width:100%}}.td-lessons-wrap{flex-direction:column;gap:20px;display:flex}.td-lessons-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.td-lessons-title{color:#111827;margin:0;font-size:22px;font-weight:700}.td-lessons-tabs{background:#f3f4f6;border-radius:12px;gap:4px;padding:4px;display:inline-flex}.td-lessons-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:8px;padding:8px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.td-lessons-tab:hover{color:#111827}.td-lessons-tab.active{color:#b45309;background:#fff;box-shadow:0 1px 3px #00000014}.td-tab-count{color:#6b7280;text-align:center;background:#e5e7eb;border-radius:999px;min-width:18px;padding:1px 8px;font-size:12px;font-weight:700}.td-lessons-tab.active .td-tab-count{color:#b45309;background:#fef3c7}.td-lessons-hint{color:#6b7280;margin:-8px 0 0;font-size:.85rem}.td-lessons-empty{text-align:center;color:#6b7280;background:#fff;border:1px dashed #eaeaea;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.td-spin{animation:.8s linear infinite td-lessons-spin}@keyframes td-lessons-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.td-lessons-list{flex-direction:column;gap:14px;display:flex}.td-lcard{background:#fff;border:1px solid #eaeaea;border-radius:16px;flex-direction:column;gap:16px;padding:20px 22px;transition:box-shadow .2s;display:flex;box-shadow:0 1px 3px #00000008}.td-lcard:hover{box-shadow:0 4px 12px #0000000d}.td-lcard-head{justify-content:space-between;gap:12px;display:flex}.td-lcard-meta{min-width:0}.td-lcard-title{color:#111827;font-size:1.05rem;font-weight:700}.td-lcard-sub{color:#6b7280;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:.84rem;display:flex}.td-lcard-sub span{align-items:center;gap:5px;display:inline-flex}.td-lcard-sub svg{color:#9ca3af}.td-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.td-btn:disabled{opacity:.6;cursor:not-allowed}.td-btn-primary{color:#fff;background-color:#ef4444;box-shadow:0 2px 4px #ef444433}.td-btn-primary:hover:not(:disabled){background-color:#dc2626}.td-btn-secondary{color:#4b5563;background-color:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a}.td-btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.td-lcard-mats{border-top:1px solid #f3f4f6;flex-direction:column;gap:12px;padding-top:16px;display:flex}.td-lcard-mats-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.td-lcard-mats-label{color:#4b5563;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.td-lcard-mats-label svg{color:#d97706}.td-lcard-attach{flex-shrink:0;padding:8px 14px;font-size:.85rem}.td-lcard-mat-list{flex-direction:column;gap:8px;display:flex}.td-lcard-mat{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.td-lcard-mat-icon{color:#d97706;background:#fef3c7;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:flex}.td-lcard-mat-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.td-lcard-mat-title{color:#92400e;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.td-lcard-mat-kind{color:#b45309;font-size:.72rem}.td-lcard-mat-btn{color:#d97706;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.td-lcard-mat-btn:hover{color:#92400e;background:#d977061f}.td-lcard-mat-rm{padding:4px 9px;font-size:18px;font-weight:600;line-height:1}.td-lcard-note{border-top:1px solid #f3f4f6;flex-direction:column;gap:8px;padding-top:16px;display:flex}.td-lcard-note-label{color:#4b5563;align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:inline-flex}.td-lcard-note-label svg{color:#d97706}.td-note-read{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:8px 10px;transition:all .15s;display:flex}.td-note-read:hover{background:#f9fafb;border-color:#e5e7eb}.td-note-text{color:#111827;white-space:pre-wrap;flex:1;font-size:.9rem;line-height:1.5}.td-note-edit-hint{color:#9ca3af;flex-shrink:0;align-items:center;gap:4px;margin-top:2px;font-size:.78rem;font-weight:600;display:inline-flex}.td-note-read:hover .td-note-edit-hint{color:#d97706}.td-note-placeholder{text-align:left;color:#9ca3af;cursor:pointer;background:0 0;border:1px dashed #e5e7eb;border-radius:10px;width:100%;padding:10px 12px;font-size:.88rem;transition:all .15s}.td-note-placeholder:hover{color:#b45309;background:#fffbeb;border-color:#fcd34d}.td-note-edit{flex-direction:column;gap:10px;display:flex}.td-note-textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:64px;font:inherit;color:#111827;border:1px solid #d1d5db;border-radius:10px;outline:none;padding:10px 12px;font-size:.9rem}.td-note-textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.td-note-actions{justify-content:flex-end;gap:10px;display:flex}.td-note-save,.td-note-cancel{padding:8px 16px;font-size:.85rem}.td-lessons-more{justify-content:center;margin-top:6px;display:flex}@media (width<=768px){.td-lessons-head{flex-direction:column;align-items:stretch;gap:12px}.td-lessons-tabs{width:100%}.td-lessons-tab{flex:1;justify-content:center}.td-lcard{border-radius:14px;padding:16px}.td-lcard-title{font-size:1rem}.td-lcard-sub{gap:10px;font-size:.8rem}.td-lcard-mats-head{flex-direction:column;align-items:stretch;gap:10px}.td-lcard-attach{justify-content:center}.td-note-textarea{font-size:16px}.td-note-actions .td-btn{flex:1;justify-content:center}.td-lessons-more .td-btn{justify-content:center;width:100%}}.hw-assign-new-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.hw-assign-new-btn:hover{background:#000}.hw-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.hw-assign-picker{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:18px;padding:16px 18px}.hw-assign-picker h3{color:#92400e;margin:0 0 4px;font-size:1rem;font-weight:700}.hw-assign-hint{color:#92400e;margin:0 0 12px;font-size:.82rem}.hw-assign-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.hw-assign-field{flex-direction:column;flex:1;min-width:220px;display:flex}.hw-assign-field>span{letter-spacing:.04em;text-transform:uppercase;color:#92400e;margin-bottom:4px;font-size:.75rem;font-weight:700}.hw-assign-field select{background:#fff;border:1px solid #fde68a;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.9rem}.hw-assign-field select:focus{border-color:#f59e1f;outline:none}.hw-assign-actions{justify-content:flex-end;gap:8px;display:flex}.hw-grade-section{border-top:1px solid #f1f3f6;margin-top:12px;padding-top:10px}.hw-grade-toggle{color:#475569;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:.85rem;font-weight:600;display:inline-flex}.hw-grade-toggle:hover{color:#111827}.hw-grade-panel{background:#fafbfc;border-radius:8px;flex-direction:column;gap:10px;margin-top:8px;padding:12px 14px;display:flex}.hw-grade-row{gap:8px;display:flex;position:relative}.hw-grade-field{flex-direction:column;display:flex}.hw-grade-field>span{letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin-bottom:4px;font-size:.75rem;font-weight:700}.hw-grade-field textarea,.hw-grade-field input[type=number]{resize:vertical;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.9rem}.hw-grade-field textarea:focus,.hw-grade-field input[type=number]:focus{border-color:#f59e1f;outline:none}.hw-marked-confirm{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9px;align-items:center;gap:10px;padding:7px 10px 7px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.hw-marked-confirm-label{align-items:center;gap:6px;display:inline-flex}.hw-marked-replace{color:#047857;cursor:pointer;background:#fff;border:1px solid #a7f3d0;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-family:inherit;font-size:.75rem;font-weight:600;transition:background-color .15s;display:inline-flex}.hw-marked-replace:hover{background:#d1fae5}.hw-marked-replace:disabled{opacity:.55;cursor:not-allowed}.hw-schedule-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.hw-schedule-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.hw-schedule-card--paused{background:#f8fafc;border-style:dashed}.hw-schedule-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hw-schedule-card-head h3{color:#111827;margin:0 0 4px;font-size:1rem;font-weight:800}.hw-schedule-card-head p{color:#64748b;margin:0;font-size:.82rem}.hw-schedule-pause-btn{color:#b91c1c;cursor:pointer;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.hw-schedule-pause-btn--resume{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.hw-schedule-pause-btn:disabled{opacity:.6;cursor:not-allowed}.hw-schedule-progress{color:#92400e;background:#fffbeb;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 10px;padding:9px 10px;font-size:.8rem;font-weight:700;display:flex}.hw-schedule-progress strong{color:#b91c1c}.hw-schedule-rule-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hw-schedule-rule{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.hw-schedule-rule strong{color:#111827;font-size:.86rem;display:block}.hw-schedule-rule span{color:#64748b;margin-top:2px;font-size:.74rem;display:block}.hw-schedule-rule em{color:#64748b;white-space:nowrap;font-size:.72rem;font-style:normal;font-weight:800}.hw-schedule-rule--due{background:#fffbeb;border-color:#fde68a}.hw-schedule-rule--due em{color:#b45309}.hw-schedule-rule--assigned{background:#f0fdf4;border-color:#bbf7d0}.hw-schedule-rule--assigned em{color:#166534}@media (width<=768px){.hw-header{flex-direction:column;align-items:stretch;gap:12px}.hw-assign-new-btn{justify-content:center;width:100%;min-height:44px;padding:12px 14px;font-size:.95rem}.hw-assign-picker{border-radius:10px;padding:14px}.hw-assign-row{flex-direction:column;gap:10px;margin-bottom:10px}.hw-assign-field{width:100%;min-width:0}.hw-assign-field select{min-height:44px;font-size:16px}.hw-assign-actions{flex-direction:column}.hw-assign-actions button{width:100%;min-height:44px}.hw-grade-section{padding-top:12px}.hw-grade-panel{gap:12px;padding:12px}.hw-grade-row{flex-direction:column;gap:8px}.hw-grade-field textarea,.hw-grade-field input[type=number]{padding:10px 12px;font-size:16px}.hw-marked-confirm{flex-wrap:wrap;justify-content:space-between;width:100%}.hw-marked-replace{min-height:36px}.hw-schedule-board{grid-template-columns:1fr}.hw-schedule-card{padding:14px}.hw-schedule-card-head{flex-direction:column}.hw-schedule-pause-btn{justify-content:center;width:100%;min-height:40px}}:root{--ad-accent:#6366f1;--ad-bg:#fafbfc;--ad-sidebar-width:260px;--ad-text-primary:#1f2937;--ad-text-secondary:#9ca3af;--ad-border:#f3f4f6}.ad-layout{background-color:var(--ad-bg);min-height:100vh;font-family:Inter,system-ui,sans-serif;display:flex}.ad-sidebar{width:var(--ad-sidebar-width);border-right:1px solid var(--ad-border);z-index:100;background-color:#fff;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.ad-logo-container{cursor:pointer;align-items:center;padding:32px 24px;text-decoration:none;display:flex}.ad-logo-container:hover .ad-logo{opacity:.85}.ad-logo-container .ad-logo{transition:opacity .15s}.ad-logo{object-fit:contain;height:24px}.ad-nav{flex-direction:column;flex:1;gap:8px;margin-top:10px;padding:0 16px;display:flex}.ad-nav-item{color:var(--ad-text-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.ad-nav-item-left{align-items:center;gap:16px;display:flex}.ad-nav-item:hover{color:var(--ad-accent);background-color:#eef2ff}.ad-nav-item.active{background-color:var(--ad-accent);color:#fff;box-shadow:0 4px 12px #6366f133}.ad-nav-item.active .ad-nav-icon{color:#fff}.ad-sidebar-bottom{border-top:1px solid var(--ad-border);padding:24px}.ad-logout-btn{width:100%;color:var(--ad-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:16px;padding:12px;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.ad-logout-btn:hover{color:var(--ad-accent);background-color:#eef2ff}.ad-main-wrapper{margin-left:var(--ad-sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.ad-header{background-color:var(--ad-bg);z-index:90;justify-content:space-between;align-items:center;height:100px;padding:0 40px;display:flex;position:sticky;top:0}.ad-header-left h1{color:var(--ad-text-primary);flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 4px;font-size:1.5rem;font-weight:700;display:flex}.ad-scope-badge{color:#047857;letter-spacing:.04em;text-transform:uppercase;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.ad-header-left p{color:var(--ad-text-secondary);margin:0;font-size:.85rem}.ad-header-right{align-items:center;gap:24px;display:flex}.ad-bell-btn{width:44px;height:44px;color:var(--ad-text-primary);cursor:pointer;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;box-shadow:0 2px 10px #00000005}.ad-bell-btn:hover{transform:scale(1.05)}.ad-avatar{cursor:pointer;border-radius:50%;width:44px;height:44px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden;box-shadow:0 2px 10px #0000000d}.ad-avatar:hover{transform:scale(1.04);box-shadow:0 4px 14px #00000014}.ad-avatar img{object-fit:cover;width:100%;height:100%}.ad-content{flex-direction:column;flex:1;padding:0 40px 40px;display:flex}.ad-mobile-topbar,.ad-drawer-overlay{display:none}@media (width<=768px){.ad-layout{flex-direction:column;min-height:100dvh}.ad-mobile-topbar{z-index:95;padding:max(10px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--ad-border);background:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.ad-drawer-toggle{width:44px;height:44px;color:var(--ad-text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000008;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.ad-drawer-toggle:active{transform:scale(.96)}.ad-mobile-topbar-logo{flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.ad-mobile-topbar-logo img{object-fit:contain;height:22px}.ad-mobile-topbar-avatar{width:40px;height:40px}.ad-sidebar{z-index:110;width:min(82vw,300px);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);-webkit-overflow-scrolling:touch;transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;overflow-y:auto;transform:translate(-100%)}.ad-sidebar.open{transform:translate(0);box-shadow:16px 0 40px #0000002e}.ad-drawer-overlay{opacity:0;pointer-events:none;z-index:100;background:#0f172a73;transition:opacity .2s;display:block;position:fixed;inset:0}.ad-drawer-overlay.open{opacity:1;pointer-events:auto}.ad-header{flex-direction:column;align-items:flex-start;gap:12px;height:auto;padding:16px 16px 0;position:static}.ad-header-left h1{flex-wrap:wrap;gap:8px;font-size:1.25rem}.ad-scope-badge{white-space:normal;word-break:break-word}.ad-header-right{display:none}.ad-main-wrapper{min-height:auto;margin-left:0}.ad-content{padding:12px 16px 24px}.ad-nav-item,.ad-logout-btn{min-height:48px}}.dt-wrapper{flex-direction:column;gap:16px;display:flex}.dt-search{max-width:320px;position:relative}.dt-search-icon{color:var(--text-muted,#64748b);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dt-search-input{border:1px solid var(--bg-tertiary,#e2e8f0);border-radius:var(--border-radius-sm,12px);background:var(--bg-secondary,#fff);width:100%;color:var(--text-primary,#0f172a);outline:none;padding:10px 12px 10px 38px;font-size:.875rem;transition:border-color .15s}.dt-search-input:focus{border-color:var(--accent-primary,#d85555)}.dt-table-container{overflow-x:auto}.dt-table{border-collapse:collapse;width:100%}.dt-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#64748b);border-bottom:1px solid var(--bg-tertiary,#e2e8f0);white-space:nowrap;padding:12px 16px;font-size:.75rem;font-weight:600}.dt-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:inline-flex}.dt-th-sortable:hover{color:var(--text-primary,#0f172a)}.dt-sort-icon{opacity:.5;display:inline-flex}.dt-sort-icon--active{opacity:1;color:var(--accent-primary,#d85555)}.dt-table td{color:var(--text-secondary,#334155);border-bottom:1px solid var(--bg-tertiary,#f1f5f9);padding:12px 16px;font-size:.875rem}.dt-table tbody tr{transition:background .1s}.dt-table tbody tr:hover{background:var(--bg-primary,#f8fafc)}.dt-table tbody tr.dt-row-clickable{cursor:pointer}.dt-empty{text-align:center;color:var(--text-muted,#64748b);padding:48px 16px;font-size:.875rem}.dt-footer{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.dt-footer-info{color:var(--text-muted,#64748b);font-size:.8125rem}.dt-footer-nav{gap:8px;display:flex}.dt-footer-btn{border:1px solid var(--bg-tertiary,#e2e8f0);background:var(--bg-secondary,#fff);color:var(--text-secondary,#334155);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s}.dt-footer-btn:hover:not(:disabled){background:var(--bg-primary,#f8fafc);border-color:var(--text-muted,#64748b)}.dt-footer-btn:disabled{opacity:.4;cursor:not-allowed}.ov-page{flex-direction:column;gap:32px;display:flex}.ov-kpi-row{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.ov-kpi-card{background:#fff;border-radius:16px;align-items:center;gap:16px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.ov-kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ov-kpi-info{flex-direction:column;gap:4px;display:flex}.ov-kpi-value{color:#0f172a;font-size:1.5rem;font-weight:700}.ov-kpi-label{color:#64748b;font-size:.85rem}.ov-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.ov-section-title{color:#0f172a;margin:0 0 20px;font-size:1.1rem;font-weight:600}.ov-status{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.ov-status--paid{color:#065f46;background:#d1fae5}.ov-status--pending{color:#92400e;background:#fef3c7}.ov-status--failed{color:#991b1b;background:#fee2e2}@media (width<=768px){.ov-page{gap:18px}.ov-kpi-row{grid-template-columns:repeat(2,1fr);gap:12px}.ov-kpi-card{border-radius:14px;gap:12px;padding:14px}.ov-kpi-icon{border-radius:10px;width:40px;height:40px}.ov-kpi-value{font-size:1.2rem}.ov-kpi-label{font-size:.75rem}.ov-section{border-radius:14px;padding:16px}.ov-section-title{margin:0 0 14px;font-size:1rem}.ov-section .dt-table{min-width:640px}.ov-section .dt-table-container{-webkit-overflow-scrolling:touch}}.ac-page{flex-direction:column;gap:24px;display:flex}.ac-header{justify-content:space-between;align-items:center;display:flex}.ac-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.ac-empty{color:#64748b;background:#fff;border:1px dashed #d1d5db;border-radius:18px;padding:32px}.ac-empty .ac-title{margin-bottom:8px}.ac-empty p{margin:0;line-height:1.6}.ac-add-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.ac-add-btn:hover{background:#4f46e5}.ac-table-wrapper{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.ac-subject{text-transform:capitalize}.ac-actions{gap:8px;display:flex}.ac-title-cell{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.ac-title-link{color:#0f172a;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800}.ac-title-link:hover{color:#c2410c;text-underline-offset:3px;text-decoration:underline}.ac-detail-header{align-items:center;gap:16px;display:flex}.ac-detail-subtitle{color:#64748b;margin:4px 0 0;font-size:.9rem}.ac-back-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:.85rem;font-weight:700;display:inline-flex}.ac-back-btn:hover{background:#f8fafc;border-color:#cbd5e1}.ac-detail-grid{grid-template-columns:minmax(360px,.85fr) minmax(420px,1.15fr);align-items:start;gap:18px;display:grid}.ac-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;box-shadow:0 1px 3px #0f172a0a}.ac-detail-card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.ac-detail-card-head h3{color:#0f172a;margin:0;font-size:1.05rem;font-weight:800}.ac-detail-card-head p{color:#64748b;margin:4px 0 0;font-size:.84rem;line-height:1.45}.ac-detail-save,.ac-autosave{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.ac-autosave{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:8px 12px;font-size:.78rem;font-weight:800}.ac-autosave--dirty{color:#92400e;background:#fffbeb;border-color:#fde68a}.ac-autosave--saving{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.ac-autosave--error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.ac-spin{animation:1s linear infinite ac-spin}@keyframes ac-spin{to{transform:rotate(360deg)}}.ac-release-manager{min-height:420px}.ac-release-loading{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:180px;padding:20px;font-size:.9rem;display:flex}.ac-release-add-btn{color:#c2410c;cursor:pointer;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:.82rem;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.ac-release-add-btn:hover{background:#ffedd5;transform:translateY(-1px);box-shadow:0 8px 18px #c2410c1f}.ac-release-attached{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:16px;padding:14px;transition:border-color .18s,background .18s,box-shadow .18s}.ac-release-attached--drop-ready{background:#f1f5f9;border-color:#94a3b8;box-shadow:inset 0 0 0 1px #94a3b852}.ac-release-section-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ac-release-section-label span{letter-spacing:.06em;text-transform:uppercase;color:#475569;font-size:.78rem;font-weight:800}.ac-release-section-label em{color:#94a3b8;font-size:.76rem;font-style:normal;font-weight:700}.ac-release-chip-row{flex-wrap:wrap;gap:8px;display:flex}.ac-release-chip{color:#334155;cursor:grab;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:8px 11px;font-family:inherit;font-size:.82rem;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.ac-release-chip:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.ac-release-chip:active{cursor:grabbing}.ac-release-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ac-release-chip em{color:#64748b;background:#f1f5f9;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-style:normal;font-weight:800}.ac-release-chip--immediate{background:#fffbeb;border-color:#fde68a}.ac-release-chip--immediate em{color:#92400e;background:#fef3c7}.ac-release-chip--drip{background:#eff6ff;border-color:#bfdbfe}.ac-release-chip--drip em{color:#1d4ed8;background:#dbeafe}.ac-release-box-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ac-release-box{background:#fff;border:2px dashed #cbd5e1;border-radius:16px;min-height:270px;padding:14px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.ac-release-box--drop-ready{box-shadow:inset 0 0 0 1px #3b82f629,0 10px 24px #0f172a0f}.ac-release-box--immediate{background:linear-gradient(#fffbeb 0%,#fff 55%);border-color:#fde68a}.ac-release-box--drip{background:linear-gradient(#eff6ff 0%,#fff 55%);border-color:#bfdbfe}.ac-release-box-head{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.ac-release-box-icon{color:#fff;background:#f59e0b;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ac-release-box--drip .ac-release-box-icon{background:#3b82f6}.ac-release-box-head h4{color:#0f172a;margin:0;font-size:.96rem;font-weight:800}.ac-release-box-head p{color:#64748b;margin:3px 0 0;font-size:.78rem;line-height:1.4}.ac-release-empty{color:#94a3b8;background:#ffffffb8;border:1px dashed #cbd5e1;border-radius:12px;justify-content:center;align-items:center;min-height:150px;font-size:.84rem;font-weight:700;display:flex}.ac-release-empty--compact{text-align:center;min-height:86px;padding:14px}.ac-release-card-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.ac-release-card{cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px;transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s;display:grid;box-shadow:0 1px 2px #0f172a0a}.ac-release-card:hover{border-color:#cbd5e1;transform:translateY(-2px)scale(1.01);box-shadow:0 12px 24px #0f172a1a}.ac-release-card:active{cursor:grabbing}.ac-release-card--dragging{opacity:.55;transform:scale(.97)rotate(-1deg)}.ac-release-card strong{color:#0f172a;font-size:.88rem;line-height:1.3;display:block}.ac-release-card span{color:#94a3b8;margin-top:3px;font-size:.72rem;font-weight:700;display:block}.ac-release-lesson-input{color:#475569;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.ac-release-lesson-input input{border:1px solid #cbd5e1;border-radius:8px;width:58px;padding:7px 8px;font-size:.82rem}.ac-release-remove{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.ac-release-remove:hover{color:#b91c1c;background:#fee2e2}.ac-attach-picker{flex-direction:column;gap:14px;display:flex}.ac-attach-toolbar{grid-template-columns:minmax(0,1fr) 190px;align-items:end;gap:12px;display:grid}.ac-attach-search,.ac-attach-filter{margin:0}.ac-attach-loading{min-height:220px}.ac-attach-list{flex-direction:column;gap:9px;max-height:min(48vh,430px);padding-right:4px;display:flex;overflow-y:auto}.ac-attach-row{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px;font-family:inherit;transition:border-color .16s,box-shadow .16s,background .16s,transform .16s;display:grid}.ac-attach-row:hover:not(:disabled){border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.ac-attach-row:disabled{cursor:default}.ac-attach-row--selected{background:#fffbeb;border-color:#f59e0b}.ac-attach-row--attached{color:#64748b;background:#f8fafc}.ac-attach-check{color:#fff;background:#fff;border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.ac-attach-row--selected .ac-attach-check{background:#f59e0b;border-color:#f59e0b}.ac-attach-row--attached .ac-attach-check{background:#94a3b8;border-color:#94a3b8}.ac-attach-copy{min-width:0}.ac-attach-copy strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:800;display:block;overflow:hidden}.ac-attach-copy em{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.76rem;font-style:normal;font-weight:700;display:block;overflow:hidden}.ac-attach-status{color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800}.ac-attach-row--selected .ac-attach-status{color:#92400e;background:#fef3c7}.ac-action-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.ac-action-btn--edit{color:#6366f1;background:#eef2ff}.ac-action-btn--edit:hover{background:#c7d2fe}.ac-action-btn--delete{color:#ef4444;background:#fee2e2}.ac-action-btn--delete:hover{background:#fecaca}.ac-form{flex-direction:column;gap:16px;display:flex}.ac-field{flex-direction:column;gap:6px;display:flex}.ac-field span{color:#334155;font-size:.85rem;font-weight:600}.ac-field input,.ac-field select{border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.ac-field input:focus,.ac-field select:focus{border-color:#6366f1}.ac-modal-footer{justify-content:flex-end;gap:12px;display:flex}.ac-btn-cancel{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.ac-btn-cancel:hover{background:#e2e8f0}.ac-btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.ac-btn-save:hover{background:#4f46e5}@media (width<=768px){.ac-page{gap:16px}.ac-header{flex-direction:column;align-items:stretch;gap:12px}.ac-title{font-size:1.15rem}.ac-add-btn{justify-content:center;width:100%;min-height:44px;padding:12px 16px}.ac-table-wrapper{border-radius:14px;padding:12px}.ac-table-wrapper .dt-table{min-width:720px}.ac-table-wrapper .dt-table-container{-webkit-overflow-scrolling:touch}.ac-detail-header{flex-direction:column;align-items:stretch}.ac-back-btn{justify-content:center}.ac-detail-grid{grid-template-columns:1fr}.ac-detail-card{padding:16px}.ac-detail-card-head{flex-direction:column}.ac-detail-save{justify-content:center;width:100%;min-height:44px}.ac-release-box-grid{grid-template-columns:1fr}.ac-release-card{grid-template-columns:1fr;align-items:stretch}.ac-release-remove{width:100%;min-height:38px}.ac-modal-footer{flex-direction:column-reverse;gap:8px}.ac-btn-cancel,.ac-btn-save{width:100%;min-height:44px}.ac-field input,.ac-field select,.ac-field textarea{min-height:44px;font-size:16px}.ac-field-row{flex-direction:column;gap:14px}.ac-header-actions{flex-wrap:wrap;gap:10px}}.ac-header-actions{align-items:center;gap:16px;display:flex}.ac-toggle{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.ac-toggle input{accent-color:#f59e0b}.ac-archived-pill{text-transform:uppercase;letter-spacing:.04em;color:#64748b;vertical-align:middle;background:#f1f5f9;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.65rem;font-weight:700;display:inline-block}.ac-field-row{gap:14px;display:flex}.ac-field-row .ac-field{flex:1;min-width:0}.ac-field-hint{color:#94a3b8;text-transform:none;letter-spacing:0;margin-left:4px;font-size:.72rem;font-weight:400}.ac-field textarea{resize:vertical;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-height:80px;padding:10px 12px;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.ac-field textarea:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.ac-action-btn--restore{color:#047857;background:#d1fae5}.ac-action-btn--restore:hover{color:#065f46;background:#a7f3d0}.ac-btn-save:disabled,.ac-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.ac-trial-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;margin:4px 0;padding:16px}.ac-trial-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ac-trial-header h4{color:#111827;margin:0;font-size:1rem;font-weight:700}.ac-trial-toggle{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ac-trial-toggle input[type=checkbox]{appearance:none;cursor:pointer;background:#d1d5db;border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.ac-trial-toggle input[type=checkbox]:checked{background:#10b981}.ac-trial-toggle input[type=checkbox]:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.ac-trial-toggle input[type=checkbox]:checked:before{transform:translate(16px)}.ac-trial-toggle-slider{display:none}.ac-trial-toggle-label{color:#374151;min-width:24px;font-size:.85rem;font-weight:600}.ac-trial-body--disabled{opacity:.5;pointer-events:none}.ac-trial-row{grid-template-columns:1fr auto;gap:12px;margin-bottom:8px;display:grid}.ac-field--narrow{max-width:140px}.ac-duration-input{align-items:center;gap:6px;display:flex}.ac-duration-input input{border:1px solid #e2e8f0;border-radius:12px;outline:none;width:80px;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.ac-duration-input input:focus{border-color:#6366f1}.ac-unit{color:#6b7280;font-size:.85rem}.ac-trial-field-error{color:#b91c1c;margin-top:4px;font-size:.8rem;display:block}.ac-trial-checking{color:#6b7280;margin-top:4px;font-size:.8rem;display:block}.ac-trial-help{color:#4b5563;margin:8px 0 6px;font-size:.78rem;line-height:1.4}.ac-trial-nudge{color:#374151;background:#fef3c7;border-radius:6px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.4}.ac-chip{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.ac-chip--green{color:#166534;background:#dcfce7}.ac-chip--blue{color:#1e40af;background:#dbeafe}.ac-chip--grey{color:#4b5563;background:#f3f4f6}@media (width<=768px){.ac-trial-row{grid-template-columns:1fr}.ac-field--narrow{max-width:none}}.tad-overlay{-webkit-backdrop-filter:blur(3px);z-index:70;background:#0f172a38;justify-content:flex-end;display:flex;position:fixed;inset:0}.tad-drawer{background:#fff;border-radius:18px;flex-direction:column;width:100%;max-width:440px;height:calc(100% - 24px);margin:12px;animation:.18s ease-out tad-slide-in;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a42}@keyframes tad-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.tad-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.tad-header h3{color:#1e293b;margin:0;font-size:1.1rem}.tad-sub{color:#94a3b8;font-size:.8rem}.tad-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;display:flex}.tad-body{flex-direction:column;gap:26px;padding:20px;display:flex;overflow-y:auto}.tad-empty,.tad-empty-hint{color:#94a3b8;padding:8px 0;font-size:.85rem}.tad-section-head{color:#334155;align-items:center;gap:8px;margin-bottom:6px;display:flex}.tad-section-head h4{flex:1;margin:0;font-size:.95rem}.tad-section-actions{gap:6px;display:flex}.tad-cp-btn{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;display:inline-flex}.tad-cp-btn:disabled{opacity:.5;cursor:not-allowed}.tad-note{color:#94a3b8;margin:0 0 10px;font-size:.78rem}.tad-window-list,.tad-blackout-list{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.tad-window,.tad-blackout{background:#f8fafc;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.tad-window-day{color:#334155;width:34px;font-size:.8rem;font-weight:700}.tad-window-time{color:#475569;flex:1;font-size:.82rem}.tad-blackout-range{color:#334155;font-size:.82rem;display:block}.tad-blackout-reason{color:#94a3b8;font-size:.72rem}.tad-icon-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;display:flex}.tad-icon-btn:hover{color:#b91c1c}.tad-add-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tad-add-row select,.tad-add-row input{border:1px solid #e2e8f0;border-radius:8px;padding:7px 9px;font-size:.82rem}.tad-add-row--blackout label{color:#94a3b8;flex-direction:column;gap:3px;font-size:.7rem;display:flex}.tad-reason{flex:1;min-width:120px}.tad-dash{color:#94a3b8}.tad-add-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.tad-add-btn:hover{background:#4f46e5}.at-page{flex-direction:column;gap:24px;display:flex}.at-header{justify-content:space-between;align-items:center;display:flex}.at-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.at-add-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.at-add-btn:hover{background:#4f46e5}.at-table-wrapper{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.at-teacher-name{align-items:center;gap:10px;display:flex}.at-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}.at-delete-btn{color:#ef4444;cursor:pointer;background:#fee2e2;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.at-delete-btn:hover{background:#fecaca}.at-form{flex-direction:column;gap:16px;display:flex}.at-field{flex-direction:column;gap:6px;display:flex}.at-field span{color:#334155;font-size:.85rem;font-weight:600}.at-field input,.at-field select,.at-field textarea{resize:vertical;border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.at-field input:focus,.at-field select:focus,.at-field textarea:focus{border-color:#6366f1}.at-checkboxes{gap:20px;display:flex}.at-checkbox{color:#334155;cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.at-modal-footer{justify-content:flex-end;gap:12px;display:flex}.at-btn-cancel{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.at-btn-cancel:hover{background:#e2e8f0}.at-btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.at-btn-save:hover{background:#4f46e5}@media (width<=768px){.at-page{gap:16px}.at-header{flex-direction:column;align-items:stretch;gap:12px}.at-title{font-size:1.15rem}.at-add-btn{justify-content:center;width:100%;min-height:44px;padding:12px 16px}.at-table-wrapper{border-radius:14px;padding:12px}.at-table-wrapper .dt-table{min-width:720px}.at-table-wrapper .dt-table-container{-webkit-overflow-scrolling:touch}.at-checkboxes{flex-direction:column;gap:12px}.at-modal-footer{flex-direction:column-reverse;gap:8px}.at-btn-cancel,.at-btn-save{width:100%;min-height:44px}.at-field input,.at-field select,.at-field textarea{min-height:44px;font-size:16px}.at-field-row{flex-direction:column;gap:14px}.at-header-actions{flex-wrap:wrap;gap:10px}}.at-header-actions{align-items:center;gap:16px;display:flex}.at-toggle{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.at-toggle input{accent-color:#f59e0b}.at-archived-pill{text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f1f5f9;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.65rem;font-weight:700;display:inline-block}.at-field-row{gap:14px;display:flex}.at-field-row .at-field{flex:1;min-width:0}.at-field-hint{color:#94a3b8;text-transform:none;letter-spacing:0;margin-left:4px;font-size:.72rem;font-weight:400}.at-checkboxes--vertical{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;max-height:240px;padding:8px 10px;overflow-y:auto}.at-empty-hint{color:#94a3b8;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;padding:12px;font-size:.85rem}.at-empty-hint--inline{background:0 0;border:none;padding:8px 4px}.at-subject-note{color:#94a3b8;margin-bottom:2px;font-size:.76rem;font-style:italic}.at-course-search{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;margin-bottom:8px;padding:8px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.at-course-search:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.at-course-meta{color:#94a3b8;font-size:.78rem;font-weight:400}.at-actions{gap:6px;display:flex}.at-action-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex}.at-action-btn--edit{color:#3730a3;background:#e0e7ff}.at-action-btn--edit:hover{color:#312e81;background:#c7d2fe}.at-action-btn--archive{color:#b91c1c;background:#fee2e2}.at-action-btn--archive:hover{color:#991b1b;background:#fecaca}.at-action-btn--restore{color:#047857;background:#d1fae5}.at-action-btn--restore:hover{color:#065f46;background:#a7f3d0}.at-btn-save:disabled,.at-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.at-action-btn--avail{color:#6366f1}.at-action-btn--avail:hover{background:#eef2ff}.as-page{flex-direction:column;gap:24px;display:flex}.as-header{justify-content:space-between;align-items:center;display:flex}.as-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.as-count{color:#64748b;font-size:.9rem;font-weight:500}.as-table-wrapper{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.as-student-name{align-items:center;gap:10px;display:flex}.as-avatar{object-fit:cover;border-radius:50%;width:32px;height:32px}@media (width<=768px){.as-page{gap:16px}.as-header{flex-flow:wrap;align-items:center;gap:8px}.as-title{font-size:1.15rem}.as-table-wrapper{border-radius:14px;padding:12px}.as-table-wrapper .dt-table{min-width:760px}.as-table-wrapper .dt-table-container{-webkit-overflow-scrolling:touch}}.as-header-actions{align-items:center;gap:16px;display:flex}.as-toggle{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.as-toggle input{accent-color:#f59e0b}.as-disabled-pill{text-transform:uppercase;letter-spacing:.04em;color:#b91c1c;background:#fee2e2;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.65rem;font-weight:700;display:inline-block}.as-actions{gap:6px;display:flex}.as-action-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex}.as-action-btn--history{color:#0369a1;background:#e0f2fe}.as-action-btn--history:hover{color:#075985;background:#bae6fd}.as-action-btn--edit{color:#3730a3;background:#e0e7ff}.as-action-btn--edit:hover{color:#312e81;background:#c7d2fe}.as-action-btn--disable{color:#b91c1c;background:#fee2e2}.as-action-btn--disable:hover{color:#991b1b;background:#fecaca}.as-action-btn--enable{color:#047857;background:#d1fae5}.as-action-btn--enable:hover{color:#065f46;background:#a7f3d0}.as-form{flex-direction:column;gap:16px;display:flex}.as-field-row{gap:14px;display:flex}.as-field-row .as-field{flex:1;min-width:0}.as-field{flex-direction:column;gap:6px;display:flex}.as-field>span{color:#334155;font-size:.78rem;font-weight:600}.as-field-hint{color:#94a3b8;font-size:.72rem;font-weight:400}.as-field input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.as-field input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.as-field input:disabled{color:#94a3b8;background:#f8fafc}.as-checkboxes{flex-wrap:wrap;gap:12px;display:flex}.as-checkbox{color:#334155;cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.as-checkbox input{accent-color:#f59e0b}.as-note{color:#94a3b8;margin:0;font-size:.78rem;font-style:italic}.as-modal-footer{justify-content:flex-end;gap:10px;display:flex}.as-btn-cancel,.as-btn-save{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:9px 16px;font-size:.9rem;font-weight:600}.as-btn-cancel{color:#475569;background:#fff;border-color:#e2e8f0}.as-btn-save{color:#fff;background:#0f172a}.as-btn-save:hover:not(:disabled){background:#1e293b}.as-btn-save:disabled,.as-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.as-drawer-overlay{z-index:1000;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.as-drawer{background:#fff;flex-direction:column;width:min(420px,100%);height:100%;animation:.2s as-drawer-in;display:flex;box-shadow:-8px 0 24px #0000001f}@keyframes as-drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.as-drawer-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.as-drawer-header h3{color:#0f172a;margin:0;font-size:1.1rem}.as-drawer-sub{color:#94a3b8;font-size:.8rem}.as-drawer-close{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.as-drawer-body{flex:1;padding:16px 22px;overflow-y:auto}.as-drawer-empty{color:#94a3b8;text-align:center;padding:32px 0;font-size:.9rem}.as-history-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.as-history-item{background:#fcfcfd;border:1px solid #eef0f3;border-radius:10px;padding:12px 14px}.as-history-main{justify-content:space-between;align-items:center;gap:8px;display:flex}.as-history-title{color:#0f172a;font-size:.92rem;font-weight:600}.as-history-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700}.as-history-status--scheduled{color:#1d4ed8;background:#dbeafe}.as-history-status--completed{color:#166534;background:#dcfce7}.as-history-status--cancelled{color:#b91c1c;background:#fee2e2}.as-history-status--no_show{color:#64748b;background:#f1f5f9}.as-history-meta{color:#64748b;gap:8px;margin-top:4px;font-size:.8rem;display:flex}@media (width<=768px){.as-field-row{flex-direction:column;gap:14px}.as-field input{font-size:16px}.as-drawer{width:100%}.as-header-actions{flex-wrap:wrap;gap:10px}}.as-quota{background:#f8fafc;border:1px solid #eef0f3;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 14px;display:flex}.as-quota-label{color:#64748b;font-size:.82rem;font-weight:600}.as-quota-value{color:#0f172a;align-items:baseline;gap:8px;font-size:.95rem;font-weight:700;display:flex}.as-quota-reset{color:#94a3b8;font-size:.72rem;font-weight:400}.fu-wrapper{flex-direction:column;gap:6px;display:flex}.fu-label{color:var(--text-primary,#0f172a);font-size:.875rem;font-weight:500}.fu-dropzone{border:2px dashed var(--bg-tertiary,#e2e8f0);border-radius:var(--border-radius-md,16px);background:var(--bg-primary,#f8fafc);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;transition:border-color .2s,background .2s;display:flex}.fu-dropzone:hover{border-color:var(--accent-primary,#d85555)}.fu-dropzone--active{border-color:var(--accent-primary,#d85555);background:#d855550a}.fu-dropzone--disabled{opacity:.5;cursor:not-allowed}.fu-dropzone--disabled:hover{border-color:var(--bg-tertiary,#e2e8f0)}.fu-dropzone-icon{color:var(--text-muted,#64748b)}.fu-dropzone-text{color:var(--text-secondary,#334155);font-size:.875rem}.fu-dropzone-text span{color:var(--accent-primary,#d85555);font-weight:500}.fu-hint{color:var(--text-muted,#64748b);font-size:.75rem}.fu-hidden-input{display:none}.fu-file{background:var(--bg-primary,#f8fafc);border:1px solid var(--bg-tertiary,#e2e8f0);border-radius:var(--border-radius-sm,12px);align-items:center;gap:12px;padding:12px 16px;display:flex}.fu-file-info{flex:1;min-width:0}.fu-file-name{color:var(--text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.fu-file-size{color:var(--text-muted,#64748b);font-size:.75rem}.fu-file-remove{cursor:pointer;width:28px;height:28px;color:var(--text-muted,#64748b);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.fu-file-remove:hover{background:var(--bg-tertiary,#f1f5f9);color:var(--danger,#ef4444)}.fu-error{color:var(--danger,#ef4444);font-size:.8125rem}.am-page{flex-direction:column;gap:24px;display:flex}.am-header{justify-content:space-between;align-items:center;display:flex}.am-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.am-add-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .2s;display:flex}.am-add-btn:hover{background:#4f46e5}.am-tabs{background:#f1f5f9;border-radius:12px;gap:4px;width:fit-content;padding:4px;display:flex}.am-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .2s}.am-tab--active{color:#6366f1;background:#fff;box-shadow:0 1px 3px #00000014}.am-table-wrapper{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.am-type{text-transform:capitalize}.am-form{flex-direction:column;gap:16px;display:flex}.am-field{flex-direction:column;gap:6px;display:flex}.am-field span{color:#334155;font-size:.85rem;font-weight:600}.am-field input,.am-field select{border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.am-field input:focus,.am-field select:focus{border-color:#6366f1}.am-modal-footer{justify-content:flex-end;gap:12px;display:flex}.am-btn-cancel{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.am-btn-cancel:hover{background:#e2e8f0}.am-btn-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600}.am-btn-save:hover{background:#4f46e5}@media (width<=768px){.am-page{gap:16px}.am-header{flex-direction:column;align-items:stretch;gap:12px}.am-title{font-size:1.15rem}.am-add-btn{justify-content:center;width:100%;min-height:44px;padding:12px 16px}.am-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;overflow-x:auto}.am-tab{white-space:nowrap;flex:1;min-height:44px;padding:10px 16px}.am-table-wrapper{border-radius:14px;padding:12px}.am-table-wrapper .dt-table{min-width:640px}.am-table-wrapper .dt-table-container{-webkit-overflow-scrolling:touch}.am-modal-footer{flex-direction:column-reverse;gap:8px}.am-btn-cancel,.am-btn-save{width:100%;min-height:44px}.am-field input,.am-field select{min-height:44px}}.atr-page{flex-direction:column;gap:24px;display:flex}.atr-header{justify-content:space-between;align-items:center;display:flex}.atr-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.atr-filters{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.atr-date-group{align-items:flex-end;gap:12px;display:flex}.atr-date-label{color:#334155;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;display:flex}.atr-date-label input{border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.atr-date-label input:focus{border-color:#6366f1}.atr-filter-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:12px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:background .2s}.atr-filter-btn:hover{background:#4f46e5}.atr-summary-row{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.atr-summary-card{background:#fff;border-radius:16px;flex-direction:column;gap:8px;padding:24px;display:flex;box-shadow:0 1px 3px #0000000a}.atr-summary-label{color:#64748b;font-size:.85rem;font-weight:500}.atr-summary-value{color:#0f172a;font-size:1.5rem;font-weight:700}.atr-table-wrapper{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.atr-amount--negative{color:#ef4444}.atr-status{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.atr-status--paid{color:#065f46;background:#d1fae5}.atr-status--pending{color:#92400e;background:#fef3c7}.atr-status--failed{color:#991b1b;background:#fee2e2}.atr-kind{text-transform:capitalize;color:#64748b;font-size:.85rem}.atr-refund-btn{color:#92400e;cursor:pointer;background:#fef3c7;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.atr-refund-btn:hover{background:#fde68a}@media (width<=768px){.atr-page{gap:16px}.atr-title{font-size:1.15rem}.atr-filters{flex-direction:column;align-items:stretch;gap:12px}.atr-date-group{flex-direction:column;align-items:stretch;gap:10px}.atr-date-label input{min-height:44px}.atr-filter-btn{width:100%;min-height:44px}.atr-summary-row{grid-template-columns:1fr;gap:12px}.atr-summary-card{border-radius:14px;padding:16px}.atr-summary-value{font-size:1.25rem}.atr-table-wrapper{border-radius:14px;padding:12px}.atr-table-wrapper .dt-table{min-width:800px}.atr-table-wrapper .dt-table-container{-webkit-overflow-scrolling:touch}.atr-refund-btn{min-height:36px}}.atr-header{align-items:baseline;gap:12px;display:flex}.atr-result-count{color:#94a3b8;font-size:.85rem}.atr-search{flex:1;min-width:220px;position:relative}.atr-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.atr-search input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:9px 12px 9px 36px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.atr-search input:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.atr-status-chips{flex-wrap:wrap;gap:8px;display:flex}.atr-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.atr-chip:hover{background:#f8fafc}.atr-chip.active{color:#fff;background:#0f172a;border-color:#0f172a}.atr-clear-btn{color:#b45309;cursor:pointer;background:0 0;border:none;font-size:.82rem;font-weight:600}.atr-clear-btn:hover{text-decoration:underline}.atr-user{flex-direction:column;line-height:1.3;display:flex}.atr-user-name{color:#0f172a;font-size:.9rem;font-weight:600}.atr-user-email{color:#94a3b8;font-size:.78rem}.atr-txn-id{color:#64748b;font-family:SF Mono,Menlo,monospace;font-size:.8rem}.atr-status--refunded{color:#6d28d9;background:#ede9fe}.atr-receipt-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.atr-receipt-btn:hover{background:#f8fafc;border-color:#cbd5e1}@media (width<=768px){.atr-filters{flex-direction:column;align-items:stretch;gap:12px}.atr-search input{font-size:16px}.atr-date-group{flex-wrap:wrap}}.wsc{flex-direction:column;gap:16px;display:flex}.wsc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.wsc-weeknav{align-items:center;gap:6px;display:flex}.wsc-nav-btn{border:1px solid var(--border,#e2e8f0);cursor:pointer;color:#475569;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.wsc-nav-btn:hover{background:#f1f5f9}.wsc-today{border:1px solid var(--border,#e2e8f0);cursor:pointer;color:#1e293b;background:#fff;border-radius:8px;padding:6px 14px;font-size:.85rem;font-weight:600}.wsc-today:hover{background:#f1f5f9}.wsc-filter{flex-wrap:wrap;gap:6px;display:flex}.wsc-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:.78rem;font-weight:600;display:inline-flex}.wsc-chip:hover{background:#f8fafc}.wsc-chip--on{color:#4338ca;background:#eef2ff;border-color:#6366f1}.wsc-chip-dot{border-radius:50%;flex:none;width:9px;height:9px}.wsc-grid{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:56px repeat(7,1fr);display:grid;overflow:hidden}.wsc-corner{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.wsc-dayhead{text-align:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-direction:column;gap:2px;padding:8px 4px;display:flex}.wsc-dayhead-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:700}.wsc-dayhead-dom{color:#1e293b;font-size:.95rem;font-weight:600}.wsc-timecol{color:#94a3b8;text-align:right;border-bottom:1px solid #f1f5f9;border-right:1px solid #e2e8f0;padding:6px 6px 0;font-size:.7rem}.wsc-cell{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;flex-wrap:wrap;align-content:flex-start;gap:3px;min-height:46px;padding:3px;display:flex}.wsc-chip-lesson{color:#fff;text-align:left;cursor:pointer;border:none;border-radius:7px;flex-direction:column;flex:auto;gap:1px;min-width:70px;max-width:100%;padding:4px 6px;display:flex;overflow:hidden}.wsc-chip-lesson:hover{filter:brightness(.94)}.wsc-chip-time{opacity:.95;font-size:.66rem;font-weight:700}.wsc-chip-text{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:600;overflow:hidden}.wsc-chip-sub{opacity:.92;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.wsc-state{text-align:center;color:#94a3b8;border:1px dashed #e2e8f0;border-radius:12px;padding:40px;font-size:.9rem}.wsc-state--empty{border-style:solid}.wsc-detail-overlay{z-index:60;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.wsc-detail{background:#fff;border-radius:14px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 20px 50px #0003}.wsc-detail-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.wsc-detail-head h4{color:#1e293b;margin:0;font-size:1rem}.wsc-detail-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;display:flex}.wsc-detail-body{flex-direction:column;gap:8px;padding:14px 18px;display:flex}.wsc-detail-row{color:#475569;align-items:center;gap:8px;font-size:.85rem;display:flex}.wsc-detail-actions{border-top:1px solid #f1f5f9;gap:8px;padding:14px 18px;display:flex}.wsc-detail-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:.82rem;font-weight:600;display:inline-flex}.wsc-detail-btn:hover{background:#f8fafc}.wsc-detail-btn--danger{color:#b91c1c;border-color:#fecaca}.wsc-detail-btn--danger:hover{background:#fef2f2}@media (width<=720px){.wsc-grid{font-size:.7rem}.wsc-chip-sub{display:none}.wsc-timecol{font-size:.6rem}}.ats-page{flex-direction:column;gap:24px;display:flex}.ats-header{justify-content:space-between;align-items:center;display:flex}.ats-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.ats-count{color:#64748b;font-size:.9rem;font-weight:500}.ats-layout{gap:24px;display:flex}.ats-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.ats-card{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:16px;padding:20px;transition:all .2s;box-shadow:0 1px 3px #0000000a}.ats-card:hover{border-color:#e0e7ff}.ats-card--selected{border-color:#6366f1;box-shadow:0 4px 12px #6366f11f}.ats-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ats-card-name{color:#0f172a;margin:0;font-size:1rem;font-weight:600}.ats-card-brand{color:#6366f1;background:#eef2ff;border-radius:20px;padding:4px 10px;font-size:.8rem;font-weight:600}.ats-availability{gap:6px;margin-bottom:12px;display:flex}.ats-day{color:#94a3b8;background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:36px;height:28px;font-size:.7rem;font-weight:600;display:flex}.ats-day--active{color:#065f46;background:#d1fae5}.ats-card-meta{color:#64748b;align-items:center;gap:6px;margin-bottom:12px;font-size:.85rem;display:flex}.ats-lessons{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ats-lesson-item{background:#f8fafc;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.ats-lesson-date{color:#334155;font-size:.78rem;font-weight:600}.ats-lesson-detail{color:#64748b;font-size:.78rem}.ats-lesson-more{color:#6366f1;padding:4px 12px;font-size:.8rem;font-weight:600}.ats-calendar-panel{background:#fff;border-radius:16px;flex-shrink:0;align-self:flex-start;width:340px;padding:20px;position:sticky;top:120px;box-shadow:0 1px 3px #0000000a}@media (width<=768px){.ats-page{gap:16px}.ats-header{flex-wrap:wrap;gap:8px}.ats-title{font-size:1.15rem}.ats-layout{flex-direction:column;gap:16px}.ats-grid{grid-template-columns:1fr;gap:12px}.ats-card{border-radius:14px;padding:14px}.ats-card-header{flex-wrap:wrap;gap:6px}.ats-availability{flex-wrap:wrap;gap:4px}.ats-day{width:32px;height:26px;font-size:.65rem}.ats-calendar-panel{border-radius:14px;width:100%;padding:14px;position:static}}.ats-empty{color:#94a3b8;text-align:center;grid-column:1/-1;padding:40px 0}.ats-card{cursor:pointer}.ats-card-manage{color:#6366f1;margin-left:auto;font-size:.8rem;font-weight:600}.ats-card-note{color:#94a3b8;margin-top:8px;font-size:.78rem;font-style:italic}.ats-drawer-overlay{z-index:1000;background:#0f172a73;justify-content:flex-end;display:flex;position:fixed;inset:0}.ats-drawer{background:#fff;flex-direction:column;width:min(460px,100%);height:100%;animation:.2s ats-drawer-in;display:flex;box-shadow:-8px 0 24px #0000001f}@keyframes ats-drawer-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.ats-drawer-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.ats-drawer-header h3{color:#0f172a;margin:0;font-size:1.1rem}.ats-drawer-sub{color:#94a3b8;font-size:.8rem}.ats-drawer-close{cursor:pointer;color:#64748b;background:0 0;border:none;padding:4px}.ats-drawer-body{flex:1;padding:16px 22px;overflow-y:auto}.ats-drawer-empty{color:#94a3b8;text-align:center;padding:32px 0}.ats-section{border-bottom:1px solid #f1f5f9;margin-bottom:24px;padding-bottom:20px}.ats-section:last-child{border-bottom:none}.ats-section-head{color:#334155;align-items:center;gap:8px;margin-bottom:6px;display:flex}.ats-section-head h4{margin:0;font-size:.95rem}.ats-section-note{color:#94a3b8;margin:0 0 12px;font-size:.78rem;line-height:1.5}.ats-window-list,.ats-blackout-list,.ats-lesson-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ats-window,.ats-blackout,.ats-lesson{background:#f8fafc;border:1px solid #eef0f3;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.ats-window-day{color:#4338ca;min-width:36px;font-size:.85rem;font-weight:700}.ats-window-time{color:#334155;font-size:.9rem}.ats-blackout{justify-content:space-between}.ats-blackout-range{color:#0f172a;font-size:.88rem;font-weight:600;display:block}.ats-blackout-reason{color:#94a3b8;font-size:.78rem}.ats-lesson{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.ats-lesson-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ats-lesson-title{color:#0f172a;font-size:.9rem;font-weight:600}.ats-lesson-meta{color:#64748b;font-size:.8rem}.ats-lesson-cancel{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #fecaca;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.ats-lesson-cancel:hover{background:#fee2e2}.ats-lesson-cancel:disabled{opacity:.5;cursor:default}.ats-icon-btn{cursor:pointer;color:#ef4444;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px}.ats-icon-btn:hover{background:#fee2e2}.ats-empty-hint{color:#94a3b8;padding:8px 0 12px;font-size:.85rem}.ats-add-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ats-add-row select,.ats-add-row input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:7px 10px;font-size:.88rem}.ats-add-row--blackout{flex-direction:column;align-items:stretch;gap:8px}.ats-add-row--blackout label{color:#475569;flex-direction:column;gap:4px;font-size:.78rem;display:flex}.ats-reason{width:100%}.ats-dash{color:#94a3b8}.ats-add-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.ats-add-btn:hover{background:#1e293b}@media (width<=768px){.ats-drawer{width:100%}.ats-add-row select,.ats-add-row input{font-size:16px}}.ats-section-actions{gap:6px;margin-left:auto;display:flex}.ats-cp-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.ats-cp-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.ats-cp-btn:disabled{opacity:.45;cursor:not-allowed}.ats-lesson-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.ats-lesson-change{color:#4338ca;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c7d2fe;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.ats-lesson-change:hover{background:#eef2ff}.ats-needs{background:#fffbeb;border:1px solid #fde68a;border-radius:16px;padding:18px 20px}.ats-needs-head{color:#92400e;align-items:center;gap:8px;display:flex}.ats-needs-head h3{margin:0;font-size:1rem}.ats-needs-count{color:#fff;background:#f59e0b;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.ats-needs-note{color:#b45309;margin:6px 0 12px;font-size:.8rem}.ats-needs-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ats-needs-row{background:#fff;border:1px solid #fde68a;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.ats-picker-overlay{z-index:1100;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ats-picker{background:#fff;border-radius:16px;flex-direction:column;width:min(420px,100%);max-height:80vh;animation:.18s ats-drawer-in;display:flex;overflow:hidden;box-shadow:0 12px 40px #0003}.ats-picker-header{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.ats-picker-header h3{color:#0f172a;margin:0;font-size:1.05rem}.ats-picker-sub{color:#94a3b8;font-size:.8rem}.ats-picker-body{padding:12px 16px 16px;overflow-y:auto}.ats-picker-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ats-picker-teacher{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:.9rem;transition:background .15s,border-color .15s;display:flex}.ats-picker-teacher:hover:not(:disabled){background:#f8fafc;border-color:#c7d2fe}.ats-picker-teacher:disabled{cursor:default}.ats-picker-teacher--off{cursor:not-allowed;background:#f8fafc}button.ats-picker-teacher--off:disabled{cursor:not-allowed;opacity:.7}.ats-picker-load-error{color:#ef4444;padding:12px 0 8px;font-size:.85rem}.ats-picker-name{color:#0f172a;font-weight:600}.ats-picker-teacher--off .ats-picker-name{color:#94a3b8}.ats-picker-pick{color:#4338ca;font-size:.8rem;font-weight:700}.ats-picker-reason{color:#94a3b8;font-size:.78rem;font-style:italic}.ats-drawer-close:disabled{opacity:.4;cursor:default}@media (width<=768px){.ats-lesson-actions{flex-wrap:wrap;justify-content:flex-end}.ats-needs-row{flex-wrap:wrap}}.aset-page{flex-direction:column;gap:24px;display:flex}.aset-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.aset-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a}.aset-section-header{color:#0f172a;align-items:center;gap:10px;margin-bottom:20px;display:flex}.aset-section-header h3{margin:0;font-size:1.05rem;font-weight:600}.aset-fields{flex-direction:column;gap:16px;display:flex}.aset-field{background:#f8fafc;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.aset-label{color:#334155;font-size:.9rem;font-weight:600}.aset-value{color:#64748b;font-size:.9rem}.aset-brand-id{color:#6366f1;background:#eef2ff;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:.8rem}@media (width<=768px){.aset-page{gap:16px}.aset-title{font-size:1.15rem}.aset-section{border-radius:14px;padding:16px}.aset-section-header{margin-bottom:14px}.aset-section-header h3{font-size:1rem}.aset-fields{gap:10px}.aset-field{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.aset-label{font-size:.8rem}.aset-value{word-break:break-all;font-size:.88rem}.aset-brand-id{font-size:.75rem}}.aset-readonly-pill{color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;border-radius:999px;align-items:center;gap:4px;margin-left:12px;padding:2px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.aset-loading{color:#64748b;align-items:center;gap:8px;padding:12px 0;font-size:.9rem;display:flex}.aset-spin{animation:.8s linear infinite aset-spin}@keyframes aset-spin{to{transform:rotate(360deg)}}.aset-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-top:4px;display:grid}.aset-config-field{flex-direction:column;gap:6px;min-width:0;display:flex}.aset-config-field--wide{grid-column:1/-1}.aset-config-field label{color:#334155;font-size:.78rem;font-weight:600}.aset-config-field input,.aset-config-field select{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:9px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.aset-config-field input:focus,.aset-config-field select:focus{border-color:#f59e0b;outline:none;box-shadow:0 0 0 3px #f59e0b2e}.aset-config-field input:disabled,.aset-config-field select:disabled{color:#64748b;cursor:not-allowed;opacity:.85;background:#f8fafc}.aset-config-readonly{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px 12px;font-size:.92rem}.aset-config-hint{color:#64748b;font-size:.78rem;line-height:1.45}.aset-config-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;display:flex}.aset-btn-primary,.aset-btn-secondary{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.aset-btn-primary{color:#fff;background:#0f172a}.aset-btn-primary:hover:not(:disabled){background:#1e293b}.aset-btn-primary:disabled{cursor:not-allowed;background:#cbd5e1}.aset-btn-secondary{color:#475569;background:#fff;border-color:#e2e8f0}.aset-btn-secondary:hover:not(:disabled){color:#0f172a;background:#f8fafc}.aset-btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.aset-config-grid{grid-template-columns:1fr;gap:16px}.aset-config-field input,.aset-config-field select{font-size:16px}.aset-config-actions{flex-direction:column-reverse;gap:8px}.aset-btn-primary,.aset-btn-secondary{justify-content:center;width:100%;min-height:44px}}.rev-page{max-width:1100px;padding:24px 0}.rev-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.rev-title{color:#111827;margin:0 0 4px;font-size:1.5rem;font-weight:700}.rev-sub{color:#6b7280;margin:0;font-size:.88rem}.rev-month-nav{align-items:center;gap:8px;display:inline-flex}.rev-btn-icon{cursor:pointer;color:#475569;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.rev-btn-icon:hover{border-color:#c4c8d0}.rev-month-label{color:#111827;text-align:center;min-width:140px;font-size:.92rem;font-weight:700}.rev-csv-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:6px;margin-left:8px;padding:8px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.rev-csv-btn:disabled{cursor:not-allowed;background:#94a3b8}.rev-state{text-align:center;color:#6b7280;box-sizing:border-box;background:#fff;border:1px dashed #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:40px 16px;display:inline-flex}.rev-state--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.rev-spin{animation:1s linear infinite rev-spin}@keyframes rev-spin{to{transform:rotate(360deg)}}.rev-table{border-collapse:collapse;background:#fff;border:1px solid #eef0f3;border-radius:12px;width:100%;overflow:hidden}.rev-table th,.rev-table td{text-align:left;border-bottom:1px solid #f1f3f6;padding:12px 16px;font-size:.9rem}.rev-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:.78rem;font-weight:700}.rev-num{text-align:right;font-variant-numeric:tabular-nums}.rev-net{color:#047857;font-weight:600}.rev-total-row{background:#fafbfc}.rev-subline{color:#6b7280;margin-top:2px;font-size:.78rem}@media (width<=768px){.rev-page{padding:8px 0}.rev-header{flex-direction:column;align-items:stretch;gap:12px}.rev-title{font-size:1.25rem}.rev-sub{font-size:.85rem}.rev-month-nav{flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%}.rev-btn-icon{width:40px;height:40px}.rev-month-label{flex:1;min-width:0;font-size:.9rem}.rev-csv-btn{justify-content:center;width:100%;min-height:44px;margin-left:0;padding:10px 14px}.rev-state{padding:24px 12px;font-size:.85rem}.rev-table{-webkit-overflow-scrolling:touch;white-space:nowrap;border-radius:12px;display:block;overflow-x:auto}.rev-table thead,.rev-table tbody,.rev-table tfoot{width:100%;min-width:720px;display:table}.rev-table th,.rev-table td{padding:10px 12px;font-size:.85rem}}.team-page{max-width:1100px;padding:24px 0}.team-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.team-title{color:#111827;margin:0 0 4px;font-size:1.5rem;font-weight:700}.team-sub{color:#6b7280;margin:0;font-size:.88rem}.team-invite-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.team-invite-btn:hover{background:#000}.team-invite-form{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:18px;padding:18px 20px}.team-invite-form h3{color:#92400e;margin:0 0 4px;font-size:1rem;font-weight:700}.team-invite-hint{color:#92400e;margin:0 0 14px;font-size:.82rem;line-height:1.5}.team-invite-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.team-field{flex:1;min-width:200px}.team-field span{color:#92400e;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.team-field input,.team-field select{box-sizing:border-box;background:#fff;border:1px solid #fde68a;border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:.9rem}.team-field input:focus,.team-field select:focus{border-color:#f59e1f;outline:none}.team-invite-err{color:#b91c1c;align-items:center;gap:6px;margin:4px 0 8px;font-size:.85rem;display:flex}.team-invite-actions{justify-content:flex-end;display:flex}.team-invite-submit{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.team-invite-submit:disabled{cursor:not-allowed;background:#94a3b8}.team-state{text-align:center;color:#6b7280;box-sizing:border-box;background:#fff;border:1px dashed #e5e7eb;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:40px 16px;display:inline-flex}.team-state--err{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.team-spin{animation:1s linear infinite team-spin}@keyframes team-spin{to{transform:rotate(360deg)}}.team-table{border-collapse:collapse;background:#fff;border:1px solid #eef0f3;border-radius:12px;width:100%;overflow:hidden}.team-table th,.team-table td{text-align:left;border-bottom:1px solid #f1f3f6;padding:12px 16px;font-size:.9rem}.team-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;background:#f9fafb;font-size:.78rem;font-weight:700}.team-scope{border-radius:999px;padding:2px 10px;font-size:.74rem;font-weight:700;display:inline-block}.team-scope--platform{color:#4338ca;background:#eef2ff}.team-scope--brand{color:#047857;background:#ecfdf5}.team-role{border-radius:999px;padding:2px 10px;font-size:.74rem;font-weight:700;display:inline-block}.team-role--platform{color:#334155;background:#f1f5f9}.team-role--admin{color:#047857;background:#ecfdf5}.team-role--curriculum{color:#c2410c;background:#fff7ed}.team-mfa-on{color:#047857}@media (width<=768px){.team-page{padding:8px 0}.team-header{flex-direction:column;align-items:stretch;gap:12px}.team-title{font-size:1.25rem}.team-sub{font-size:.85rem}.team-invite-btn{justify-content:center;width:100%;min-height:44px;padding:12px 16px}.team-invite-form{border-radius:12px;padding:14px}.team-invite-row{flex-direction:column;gap:10px}.team-field{width:100%;min-width:0}.team-field input,.team-field select{min-height:44px}.team-invite-actions{justify-content:stretch}.team-invite-submit{justify-content:center;width:100%;min-height:44px}.team-state{padding:24px 12px;font-size:.85rem}.team-table{-webkit-overflow-scrolling:touch;white-space:nowrap;border-radius:12px;display:block;overflow-x:auto}.team-table thead,.team-table tbody{width:100%;min-width:560px;display:table}.team-table th,.team-table td{padding:10px 12px;font-size:.85rem}}.aqb-page{flex-direction:column;gap:20px;display:flex}.aqb-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.aqb-title{color:#0f172a;margin:0;font-size:1.3rem}.aqb-subtitle{color:#64748b;margin:6px 0 0;font-size:.92rem}.aqb-schema-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;font-size:.84rem;font-weight:600}.aqb-header-actions{align-items:center;gap:10px;display:flex}.aqb-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.aqb-btn:disabled{opacity:.6;cursor:not-allowed}.aqb-btn--primary{color:#fff;background:#4f46e5}.aqb-btn--primary:hover:not(:disabled){background:#4338ca}.aqb-btn--outline{color:#334155;background:#fff;border:1px solid #cbd5e1}.aqb-btn--outline:hover:not(:disabled){background:#f8fafc}.aqb-btn--danger{color:#fff;background:#dc2626}.aqb-btn--danger:hover:not(:disabled){background:#b91c1c}.aqb-view-toggle{background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.aqb-view-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:8px 12px;font-family:inherit;font-size:.86rem;font-weight:700}.aqb-view-toggle-btn.is-active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a14}.aqb-toolbar{align-items:center;gap:10px;display:flex}.aqb-toolbar--tight{margin-bottom:12px}.aqb-search{color:#64748b;background:#fff;border:1px solid #dbe3ef;border-radius:10px;flex:1;align-items:center;gap:8px;max-width:420px;padding:10px 12px;display:flex}.aqb-search--tight{max-width:unset}.aqb-search input{background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.aqb-select{color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:10px;outline:none;min-width:180px;padding:10px 12px;font-size:.9rem}.aqb-list-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.aqb-list-table{width:100%}.aqb-list-head,.aqb-list-row{grid-template-columns:minmax(240px,1fr) 170px;align-items:center;gap:12px;padding:14px 18px;display:grid}.aqb-list-head{color:#64748b;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.78rem;font-weight:700}.aqb-list-row{border-bottom:1px solid #f1f5f9}.aqb-list-row:last-child{border-bottom:none}.aqb-pool-row{grid-template-columns:minmax(260px,1fr) 150px minmax(180px,.8fr) 110px}.aqb-item-title{color:#0f172a;margin:0;font-weight:600}.aqb-title-link{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.aqb-title-link:hover{color:#c2410c;text-underline-offset:3px;text-decoration:underline}.aqb-item-sub{color:#64748b;margin:4px 0 0;font-size:.82rem}.aqb-list-cell{min-width:0}.aqb-cell-center{text-align:center;color:#334155;font-weight:600}.aqb-cell-courses{flex-wrap:wrap;gap:6px;display:flex}.aqb-chip{color:#4338ca;background:#eef2ff;border-radius:999px;align-items:center;padding:4px 8px;font-size:.76rem;font-weight:600;display:inline-flex}.aqb-chip--muted{color:#64748b;background:#f1f5f9}.aqb-muted{color:#94a3b8;font-size:.84rem}.aqb-actions{justify-content:flex-start;gap:8px;display:flex}.aqb-delete-confirm{gap:10px;display:grid}.aqb-delete-confirm p{color:#334155;margin:0;font-size:.9rem;line-height:1.55}.aqb-icon-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.aqb-icon-btn:disabled{opacity:.45;cursor:not-allowed}.aqb-icon-btn--primary{color:#4f46e5;background:#eef2ff}.aqb-icon-btn--neutral{color:#475569;background:#f1f5f9}.aqb-icon-btn--danger{color:#dc2626;background:#fee2e2}.aqb-loading,.aqb-empty-list,.aqb-empty{color:#64748b;text-align:center;justify-content:center;align-items:center;gap:10px;padding:36px 20px;display:flex}.aqb-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column}.aqb-empty h2{color:#0f172a;margin:0}.aqb-empty p{max-width:520px;margin:8px 0 0}.aqb-spin{animation:.9s linear infinite aqb-spin}@keyframes aqb-spin{to{transform:rotate(360deg)}}.aqb-editor-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.aqb-editor-header-actions{align-items:center;gap:10px;display:inline-flex}.aqb-back-btn{color:#334155;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.aqb-autosave-status{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.aqb-autosave-status.is-saving{color:#334155;border-color:#cbd5e1}.aqb-autosave-status.is-saved{color:#475569}.aqb-autosave-status.is-error{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.aqb-editor-grid{grid-template-columns:minmax(300px,1fr) minmax(0,1.6fr);grid-template-areas:"details questions""preview questions";align-items:start;gap:14px;display:grid}.aqb-panel--details{grid-area:details}.aqb-panel--questions{grid-area:questions}.aqb-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.aqb-panel--wide{min-height:460px}.aqb-panel--preview{grid-area:preview;padding:14px}.aqb-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.aqb-panel-title{color:#0f172a;margin:0;font-size:1rem}.aqb-count{color:#64748b;font-size:.82rem;font-weight:600}.aqb-panel-head-actions{align-items:center;gap:8px;display:inline-flex}.aqb-live-preview-shell{margin-top:8px}.aqb-live-preview-viewport{aspect-ratio:16/10;box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;width:100%;overflow:hidden;container-type:inline-size}.aqb-live-preview-canvas{width:100%;height:100%;position:relative}.aqb-live-preview-modal-shell{width:100%}.aqb-live-preview-modal-viewport{aspect-ratio:16/10;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;width:100%;overflow:auto;container-type:inline-size}.aqb-preview-synced .exercise-player.embedded{--aqb-preview-inline-gap:clamp(2px, .7cqi, 6px);--aqb-preview-inline-pad-x:clamp(6px, 1.8cqi, 14px);--aqb-preview-inline-nav-height:clamp(40px, 7cqi, 52px);gap:var(--aqb-preview-inline-gap);padding-bottom:calc(var(--aqb-preview-inline-nav-height) + clamp(16px, 3cqi, 26px));position:relative}.aqb-preview-synced .exercise-player.embedded .xp-head{padding:clamp(6px,1.3cqi,10px)}.aqb-preview-synced .exercise-player.embedded .xp-head h1{font-size:clamp(.64rem,1.2cqi,.9rem)}.aqb-preview-synced .exercise-player.embedded .xp-progress-wrap{width:min(460px,100%);margin-top:clamp(2px,.7cqi,6px)}.aqb-preview-synced .exercise-player.embedded .xp-progress-track{height:clamp(5px,1.1cqi,8px)}.aqb-preview-synced .exercise-player.embedded .xp-progress-marker svg{width:clamp(14px,2.8cqi,20px);height:clamp(14px,2.8cqi,20px)}.aqb-preview-synced .exercise-player.embedded .xp-progress-meta{gap:clamp(3px,.7cqi,6px);margin-top:clamp(2px,.5cqi,4px);font-size:clamp(.54rem,.9cqi,.66rem)}.aqb-preview-synced .exercise-player.embedded .xp-main{padding:0 var(--aqb-preview-inline-pad-x);box-sizing:border-box;padding-bottom:4px}.aqb-preview-synced .exercise-player.embedded .xp-workspace{gap:var(--aqb-preview-inline-gap);flex:1;min-height:0;margin-top:clamp(1px,.4cqi,4px);overflow:auto}.aqb-preview-synced .exercise-player.embedded .xp-prompt-card{min-height:clamp(20px,3.4cqi,26px);margin-top:clamp(1px,.5cqi,4px);padding-left:clamp(24px,4cqi,32px)}.aqb-preview-synced .exercise-player.embedded .xp-tts-btn{width:clamp(16px,3cqi,22px);height:clamp(16px,3cqi,22px)}.aqb-preview-synced .exercise-player.embedded .xp-tts-btn svg{width:clamp(9px,1.6cqi,12px);height:clamp(9px,1.6cqi,12px)}.aqb-preview-synced .exercise-player.embedded .xp-prompt-text{font-size:clamp(.58rem,1cqi,.78rem);line-height:1.28}.aqb-preview-synced .exercise-player.embedded .xp-media-stack{gap:clamp(2px,.5cqi,4px);margin-top:clamp(2px,.5cqi,4px)}.aqb-preview-synced .exercise-player.embedded .xp-answer-area{margin-top:clamp(3px,.8cqi,6px)}.aqb-preview-synced .exercise-player.embedded .xp-option-list{gap:clamp(2px,.6cqi,4px)}.aqb-preview-synced .exercise-player.embedded .xp-option{min-height:clamp(28px,4.8cqi,36px);padding:clamp(3px,.7cqi,6px) clamp(5px,1cqi,8px);font-size:clamp(.56rem,.95cqi,.75rem);font-weight:600;line-height:1.2}.aqb-preview-synced .exercise-player.embedded .xp-fitb-text{font-size:clamp(.56rem,.92cqi,.7rem);line-height:1.3}.aqb-preview-synced .exercise-player.embedded .xp-fitb-chip{padding:clamp(2px,.4cqi,3px) clamp(5px,.8cqi,6px);font-size:clamp(.54rem,.85cqi,.66rem)}.aqb-preview-synced .exercise-player.embedded .xp-fitb-input{min-width:clamp(48px,6.8cqi,60px);max-width:clamp(76px,11.5cqi,96px);padding:clamp(2px,.5cqi,3px) clamp(4px,.8cqi,5px);font-size:clamp(.54rem,.85cqi,.66rem)}.aqb-preview-synced .exercise-player.embedded .xp-text-input{border-radius:9px;padding:clamp(5px,.9cqi,8px) clamp(7px,1.1cqi,10px);font-size:clamp(.58rem,1cqi,.76rem)}.aqb-preview-synced .exercise-player.embedded .xp-submit-btn,.aqb-preview-synced .exercise-player.embedded .xp-choice-next-btn{border-radius:9px;min-height:clamp(26px,4.6cqi,34px);padding:clamp(4px,.8cqi,6px) clamp(7px,1.1cqi,10px);font-size:clamp(.56rem,.9cqi,.72rem)}.aqb-preview-synced .exercise-player.embedded .xp-submit-btn svg,.aqb-preview-synced .exercise-player.embedded .xp-choice-next-btn svg{width:clamp(9px,1.4cqi,12px);height:clamp(9px,1.4cqi,12px)}.aqb-preview-synced .exercise-player.embedded .xp-action-row{margin-top:clamp(4px,.7cqi,6px)}.aqb-preview-synced .exercise-player.embedded .xp-review,.aqb-preview-synced .exercise-player.embedded .xp-correct-answer{margin-top:clamp(3px,.6cqi,5px);padding-top:clamp(3px,.6cqi,5px);padding-bottom:clamp(3px,.6cqi,5px);font-size:clamp(.54rem,.86cqi,.66rem)}.aqb-preview-synced .exercise-player.embedded .xp-nav-row{width:auto;min-height:var(--aqb-preview-inline-nav-height);z-index:3;padding:clamp(3px, .7cqi, 5px) clamp(3px, .7cqi, 5px) calc(clamp(3px, .7cqi, 5px) + env(safe-area-inset-bottom));grid-template-columns:clamp(30px,5.8cqi,40px) minmax(0,1fr) clamp(30px,5.8cqi,40px);gap:clamp(3px,.8cqi,6px);margin-top:0;position:absolute;bottom:clamp(6px,1.2cqi,10px);left:clamp(6px,1.2cqi,10px);right:clamp(6px,1.2cqi,10px)}.aqb-preview-synced .exercise-player.embedded .xp-arrow-btn{height:clamp(30px,5.8cqi,40px)}.aqb-preview-synced .exercise-player.embedded .xp-arrow-btn svg{width:clamp(12px,2.2cqi,16px);height:clamp(12px,2.2cqi,16px)}.aqb-preview-synced .exercise-player.embedded .xp-question-chip{min-width:clamp(22px,4.2cqi,26px);min-height:clamp(20px,4cqi,24px);font-size:clamp(.52rem,.8cqi,.62rem)}.aqb-preview-synced--modal .exercise-player.embedded{--aqb-preview-inline-gap:clamp(4px, .9cqi, 8px);--aqb-preview-inline-pad-x:clamp(10px, 2cqi, 18px);--aqb-preview-inline-nav-height:clamp(48px, 6.8cqi, 60px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-head{padding:clamp(10px,1.5cqi,14px) clamp(10px,1.8cqi,14px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-head h1{font-size:clamp(.78rem,1.25cqi,1rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-progress-wrap{width:min(560px,100%);margin-top:clamp(4px,.9cqi,8px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-progress-track{height:clamp(7px,1.15cqi,10px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-progress-marker svg{width:clamp(18px,2.8cqi,24px);height:clamp(18px,2.8cqi,24px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-progress-meta{font-size:clamp(.64rem,.95cqi,.76rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-prompt-card{min-height:clamp(24px,3.6cqi,30px);padding-left:clamp(28px,4cqi,36px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-tts-btn{width:clamp(20px,3cqi,26px);height:clamp(20px,3cqi,26px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-tts-btn svg{width:clamp(11px,1.8cqi,14px);height:clamp(11px,1.8cqi,14px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-prompt-text{font-size:clamp(.66rem,1.05cqi,.86rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-option{min-height:clamp(34px,4.9cqi,42px);padding:clamp(4px,.85cqi,7px) clamp(7px,1.1cqi,10px);font-size:clamp(.64rem,1.02cqi,.82rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-fitb-text{font-size:clamp(.62rem,.96cqi,.76rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-fitb-chip{padding:clamp(3px,.55cqi,5px) clamp(6px,.95cqi,8px);font-size:clamp(.6rem,.9cqi,.72rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-fitb-input{min-width:clamp(56px,7.2cqi,70px);max-width:clamp(92px,11.8cqi,110px);padding:clamp(3px,.55cqi,4px) clamp(5px,.85cqi,6px);font-size:clamp(.6rem,.9cqi,.72rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-text-input{padding:clamp(6px,1cqi,10px) clamp(8px,1.2cqi,12px);font-size:clamp(.66rem,1.03cqi,.84rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-submit-btn,.aqb-preview-synced--modal .exercise-player.embedded .xp-choice-next-btn{min-height:clamp(32px,4.8cqi,40px);padding:clamp(5px,.9cqi,8px) clamp(9px,1.3cqi,12px);font-size:clamp(.64rem,.98cqi,.8rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-submit-btn svg,.aqb-preview-synced--modal .exercise-player.embedded .xp-choice-next-btn svg{width:clamp(11px,1.6cqi,14px);height:clamp(11px,1.6cqi,14px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-review,.aqb-preview-synced--modal .exercise-player.embedded .xp-correct-answer{font-size:clamp(.6rem,.9cqi,.74rem)}.aqb-preview-synced--modal .exercise-player.embedded .xp-nav-row{grid-template-columns:clamp(34px,5cqi,46px) minmax(0,1fr) clamp(34px,5cqi,46px);bottom:clamp(10px,1.5cqi,14px);left:clamp(10px,1.5cqi,14px);right:clamp(10px,1.5cqi,14px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-arrow-btn{height:clamp(34px,5cqi,46px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-arrow-btn svg{width:clamp(14px,2.2cqi,18px);height:clamp(14px,2.2cqi,18px)}.aqb-preview-synced--modal .exercise-player.embedded .xp-question-chip{min-width:clamp(24px,4.1cqi,30px);min-height:clamp(22px,3.8cqi,28px);font-size:clamp(.56rem,.85cqi,.68rem)}@container (width<=720px){.aqb-preview-synced .exercise-player.embedded .xp-main{padding-inline:clamp(6px,1.8cqi,12px)}.aqb-preview-synced .exercise-player.embedded .xp-fitb-word-bank,.aqb-preview-synced .exercise-player.embedded .xp-reorder-sequence{gap:clamp(2px,.6cqi,4px)}}.aqb-field{flex-direction:column;gap:6px;display:flex}.aqb-field span{color:#334155;font-size:.82rem;font-weight:600}.aqb-field input,.aqb-field textarea{color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:.9rem}.aqb-field--wide{grid-column:1/-1}.aqb-input{color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:.9rem}.aqb-field textarea{resize:vertical;min-height:78px;font-family:inherit}.aqb-check-field{color:#334155;align-self:end;align-items:center;gap:8px;min-height:42px;font-size:.86rem;font-weight:700;display:flex}.aqb-check-field input{accent-color:#4f46e5;width:16px;height:16px}.aqb-field input:focus,.aqb-field textarea:focus,.aqb-input:focus,.aqb-select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826}.aqb-field-actions{margin-top:10px}.aqb-divider{border-top:1px solid #e2e8f0;margin:16px 0}.aqb-subheading{color:#0f172a;margin:0 0 8px;font-size:.9rem}.aqb-course-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.aqb-course-chip{color:#334155;background:#f1f5f9;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.aqb-course-chip button{color:#475569;cursor:pointer;background:#e2e8f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.aqb-link-course-row{gap:8px;display:flex}.aqb-link-course-row .aqb-select{flex:1;min-width:0}.aqb-question-list{flex-direction:column;gap:10px;display:flex}.aqb-question-row{cursor:grab;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.aqb-question-row.is-locked{cursor:default}.aqb-question-row.is-voided{background:#f8fafc;border-style:dashed}.aqb-question-row.is-voided .aqb-question-main{opacity:.58}.aqb-question-row.is-dragging{opacity:.75}.aqb-question-row.is-drag-over{border-color:#818cf8;box-shadow:0 0 0 2px #818cf826}.aqb-question-index{color:#475569;background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;font-weight:700;display:inline-flex}.aqb-question-meta{align-items:center;gap:8px;margin-bottom:4px;display:flex}.aqb-pill{color:#4338ca;text-transform:uppercase;letter-spacing:.03em;background:#eef2ff;border-radius:999px;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.aqb-pill--voided{color:#475569;background:#e2e8f0}.aqb-question-text,.aqb-pool-prompt{color:#0f172a;margin:0;font-size:.9rem;line-height:1.45}.aqb-question-actions{align-items:center;gap:6px;display:flex}.aqb-drag-handle{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.aqb-drag-handle.is-disabled{opacity:.45;cursor:not-allowed}.aqb-lock-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin:10px 0 14px;padding:10px 12px;font-size:.84rem;font-weight:700;line-height:1.45}.aqb-empty-inline{color:#64748b;text-align:center;border:1px dashed #dbe3ef;border-radius:10px;padding:16px;font-size:.9rem}.aqb-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.aqb-question-edit{gap:14px;display:grid}.aqb-edit-usage{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px;display:grid}.aqb-edit-usage h4,.aqb-edit-usage p{margin:0}.aqb-edit-usage h4{color:#0f172a;font-size:.94rem}.aqb-edit-usage p{color:#475569;font-size:.86rem;line-height:1.45}.aqb-edit-usage-list{flex-wrap:wrap;gap:6px;display:flex}.aqb-edit-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:700;line-height:1.45;display:flex}.aqb-edit-warning svg{flex-shrink:0;margin-top:1px}.aqb-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.aqb-edit-form .aqb-select{width:100%}.aqb-edit-subgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.aqb-addq-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.aqb-addq-panel{border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;min-height:420px;padding:12px;display:flex}.aqb-addq-head{margin-bottom:10px}.aqb-addq-head h4{color:#0f172a;margin:0;font-size:.94rem}.aqb-search-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.aqb-search-filter-grid__search{grid-column:span 2}.aqb-pool-count{color:#475569;margin-bottom:8px;font-size:.82rem;font-weight:600}.aqb-pool-list{flex-direction:column;gap:8px;max-height:560px;padding-right:2px;display:flex;overflow:auto}.aqb-pool-item{border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.aqb-pool-prompt{color:#334155;margin-top:6px;font-size:.84rem}.aqb-pool-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.aqb-mini-pill{color:#475569;background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.aqb-pool-tags{color:#64748b;margin:6px 0 0;font-size:.78rem}.aqb-newq-form{flex-direction:column;gap:10px;display:flex}.aqb-loading--inline{margin-top:12px}.aqb-upload-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.aqb-upload-box{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.aqb-upload-box h4{color:#0f172a;align-items:center;gap:6px;margin:0;font-size:.95rem;display:flex}.aqb-upload-box p{color:#64748b;margin:8px 0 10px;font-size:.82rem}.aqb-upload-dropzone{cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:142px;padding:12px;transition:border-color .2s,background .2s;display:flex}.aqb-upload-dropzone:hover{background:#eef2ff;border-color:#818cf8}.aqb-upload-dropzone.is-drag-active{background:#eef2ff;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51f}.aqb-upload-dropzone input{display:none}.aqb-upload-dropzone span{color:#0f172a;font-size:.86rem;font-weight:600}.aqb-upload-dropzone small{color:#64748b;text-align:center;font-size:.78rem}.aqb-upload-file-list{flex-direction:column;gap:7px;max-height:180px;margin-top:10px;display:flex;overflow:auto}.aqb-upload-file-row{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.aqb-upload-file-row span{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.aqb-upload-file-row>div{align-items:center;gap:8px;display:inline-flex}.aqb-upload-file-row small{color:#64748b;font-size:.76rem}.aqb-upload-guide{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:14px;display:grid}.aqb-upload-guide h4{color:#0f172a;margin:0;font-size:.9rem}.aqb-upload-guide p{color:#334155;margin:0;font-size:.82rem;line-height:1.45}.aqb-upload-guide-actions{flex-wrap:wrap;gap:8px;display:flex}.aqb-upload-preview{border:1px solid #e2e8f0;border-radius:12px;margin-top:12px;overflow:hidden}.aqb-upload-preview-stats{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.aqb-upload-preview-stats span{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px;font-size:.8rem;font-weight:600}.aqb-upload-preview-ready{color:#166534;background:#f0fdf4;border-bottom:1px solid #dcfce7;margin:0;padding:10px 12px;font-size:.84rem;font-weight:700}.aqb-upload-issues{flex-direction:column;max-height:220px;display:flex;overflow:auto}.aqb-upload-issue{border-bottom:1px solid #f1f5f9;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:8px;padding:9px 12px;display:grid}.aqb-upload-issue:last-child{border-bottom:none}.aqb-upload-issue strong{text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.aqb-upload-issue span{color:#334155;font-size:.82rem}.aqb-upload-issue.is-error{background:#fef2f2}.aqb-upload-issue.is-error strong{color:#b91c1c}.aqb-upload-issue.is-warning{background:#fffbeb}.aqb-upload-issue.is-warning strong{color:#b45309}@media (width<=1160px){.aqb-list-wrap{overflow-x:auto}.aqb-list-head,.aqb-list-row{min-width:520px}.aqb-pool-row{min-width:820px}}@media (width<=920px){.aqb-header{flex-direction:column;align-items:stretch}.aqb-header-actions{flex-wrap:wrap;width:100%}.aqb-btn{min-height:42px}.aqb-toolbar{flex-direction:column;align-items:stretch}.aqb-search{max-width:none}.aqb-editor-grid{grid-template-columns:1fr;grid-template-areas:"details""questions""preview"}.aqb-editor-header{flex-direction:column;align-items:stretch}.aqb-editor-header-actions{justify-content:space-between;width:100%}.aqb-addq-grid,.aqb-search-filter-grid{grid-template-columns:1fr}.aqb-search-filter-grid__search{grid-column:auto}.aqb-upload-grid{grid-template-columns:1fr}.aqb-modal-footer{flex-direction:column-reverse;width:100%}.aqb-modal-footer .aqb-btn{justify-content:center;width:100%}}.aqb-media-wrap{margin-top:14px}.aqb-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.aqb-media-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden}.aqb-media-panel-head{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.aqb-media-panel-head h3{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:.95rem;display:inline-flex}.aqb-media-panel-head span{color:#0369a1;text-align:center;background:#e0f2fe;border-radius:999px;min-width:28px;padding:3px 8px;font-size:.78rem;font-weight:800}.aqb-media-list{gap:0;display:grid}.aqb-media-row{border-bottom:1px solid #f1f5f9;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.aqb-media-row:last-child{border-bottom:none}.aqb-media-thumb{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;place-items:center;width:76px;height:54px;display:grid;overflow:hidden}.aqb-media-thumb img{object-fit:cover;width:100%;height:100%;display:block}.aqb-media-thumb--audio{color:#2563eb;background:#eff6ff}.aqb-media-info{min-width:0}.aqb-media-info audio{width:100%;max-width:320px;height:32px;margin-top:8px}@media (width<=920px){.aqb-media-grid{grid-template-columns:1fr}.aqb-media-row{grid-template-columns:64px minmax(0,1fr) auto}.aqb-media-thumb{width:64px;height:48px}}.aqb-field-hint{color:#64748b;margin:0;font-size:.82rem;line-height:1.5}.aqbg-page{gap:16px;padding:4px 0 10px;display:grid}.aqbg-tabs{gap:8px;display:inline-flex}.aqbg-tab{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:8px 14px;font-size:.86rem;font-weight:700}.aqbg-tab.is-active{color:#312e81;background:#eef2ff;border-color:#4f46e5}.aqbg-header h2{color:#0f172a;margin:0;font-size:1.35rem}.aqbg-header p{color:#64748b;margin:8px 0 0;font-size:.92rem}.aqbg-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.aqbg-card h3{color:#0f172a;margin:0 0 10px;font-size:1rem}.aqbg-card ul{color:#334155;margin:0;padding-left:18px;font-size:.92rem;line-height:1.6}.aqbg-table-wrap{overflow-x:auto}.aqbg-table{border-collapse:collapse;width:100%;min-width:700px}.aqbg-table th,.aqbg-table td{text-align:left;vertical-align:top;color:#1f2937;border:1px solid #e2e8f0;padding:9px 10px;font-size:.88rem}.aqbg-table th{background:#f8fafc;font-weight:700}
