:root{--primary-color: #2563eb;--bg-color: #f8fafc;--text-color: #1e293b;--card-bg: #ffffff;--border-radius: 8px}*:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}.skip-to-content{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.5rem 1rem;background:#2563eb;color:#fff;border-radius:4px;font-weight:600;text-decoration:none;transition:top .1s}.skip-to-content:focus{top:1rem}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}input,textarea,select{font-size:16px!important}@media(max-width:768px){body{font-size:16px}p,span,label,div{font-size:max(inherit,14px)}}.card{background:var(--card-bg);padding:2rem;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a;max-width:400px;margin:2rem auto}.btn{display:inline-block;background-color:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-weight:500;cursor:pointer;width:100%}.btn:hover{opacity:.9}.landing{--purple: #7c3aed;--pink: #ec4899;--amber: #f59e0b;--emerald: #10b981;--blue: #3b82f6;--indigo: #6366f1;--text: #0f172a;--text-secondary: #64748b;--surface: #ffffff;--surface-dim: #f8fafc;--border: #e2e8f0;--radius: 16px;--radius-sm: 10px;--radius-xs: 6px;--max-w: 1120px;width:100%;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}.landing section[id]{scroll-margin-top:80px}.landing-section-tag{display:inline-block;padding:6px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);background:linear-gradient(135deg,#7c3aed14,#ec489914);border-radius:100px;margin-bottom:1rem}.landing-section-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.15;text-align:center;letter-spacing:-.025em;margin-bottom:.75rem}.landing-section-subtitle{font-size:1.125rem;color:var(--text-secondary);text-align:center;max-width:560px;margin:0 auto 3.5rem;line-height:1.6}.landing-gradient-text{background:linear-gradient(135deg,#2663eb,#a8c1f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-btn{display:inline-flex;align-items:center;gap:8px;padding:.8rem 1.75rem;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);text-decoration:none;white-space:nowrap}.landing-btn-primary{background:linear-gradient(135deg,#2663eb,#a8c1f9);color:#fff;box-shadow:0 4px 20px #7c3aed40}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c3aed59}.landing-btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border)}.landing-btn-ghost:hover{border-color:var(--purple);color:var(--purple)}.landing-btn-outline{background:transparent;color:var(--purple);border:2px solid var(--purple)}.landing-btn-outline:hover{background:var(--purple);color:#fff}.landing-btn-play{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff}.landing-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#2663eb;color:#fff;flex-shrink:0}.landing-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 2rem 4rem;overflow:scroll;overflow-y:hidden;background:var(--surface)}.landing-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.landing-hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:blobFloat 14s ease-in-out infinite alternate}.landing-hero-blob--1{width:600px;height:600px;background:#7c3aed54;top:-20%;right:-10%;animation-delay:0s}.landing-hero-blob--2{width:500px;height:500px;background:#ec489963;bottom:-15%;left:-5%;animation-delay:-4s}.landing-hero-blob--3{width:350px;height:350px;background:var(--blue);top:30%;left:70%;animation-delay:-8s}@keyframes blobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.landing-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:var(--max-w);width:100%}@media(min-width:480px){.landing-hero-inner{top:-4rem}}.landing-hero-content{display:flex;flex-direction:column;gap:1.25rem}.landing-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;font-size:.8rem;font-weight:600;color:var(--purple);background:#7c3aed14;border:1px solid rgba(124,58,237,.18);border-radius:100px;width:fit-content}.landing-pill svg{color:var(--amber)}.landing-hero-title{font-size:clamp(2.4rem,5vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.landing-hero-subtitle{font-size:1.125rem;line-height:1.7;color:var(--text);max-width:480px}.landing-hero-buttons{display:flex;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.landing-hero-social-proof{margin-top:1.5rem}.landing-early-badge{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-secondary);background:#3a6fd814;border:1px solid rgba(58,111,216,.2);border-radius:100px;padding:6px 14px}.landing-early-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 0 3px #22c55e33;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e14}}.landing-hero-visual{position:relative;display:flex;justify-content:center;align-items:flex-start}.landing-hero-screenshot{width:100%;max-width:560px;display:block}.landing-float-card{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-sm);box-shadow:0 12px 32px #0000001a;animation:floatUp 3s ease-in-out infinite alternate;z-index:2}.landing-float-card--1{bottom:30px;left:-30px;animation-delay:0s}.landing-float-card--2{top:20px;right:-20px;animation-delay:-1.5s}@keyframes floatUp{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.landing-float-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.landing-float-icon--green{background:#10b9811f;color:var(--emerald)}.landing-float-icon--purple{background:#7c3aed1f;color:var(--purple)}.landing-float-icon svg{width:18px;height:18px}.landing-float-title{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap}.landing-float-sub{font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.landing-trust-bar{display:flex;justify-content:center;padding:1.25rem 2rem;background:var(--surface-dim);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-trust-items{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;justify-content:center;font-size:.82rem;color:var(--text-secondary);font-weight:500}.landing-trust-item{display:inline-flex;align-items:center;gap:7px}.landing-trust-item svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.landing-trust-dot{width:4px;height:4px;border-radius:50%;background:var(--border);flex-shrink:0}.landing-how{padding:6rem 2rem;max-width:1100px;margin:0 auto;text-align:center}.landing-how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0;position:relative;text-align:left}.landing-how-step{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem}.landing-how-step-number{font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:1rem;opacity:.15}.landing-how-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;margin-bottom:1rem}.landing-how-icon svg{width:22px;height:22px}.landing-how-step h3{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.landing-how-step p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}.landing-how-connector{display:none}.landing-how-cta{display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.landing-how-demo-link{font-size:.9rem;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color .15s}.landing-how-demo-link:hover{color:var(--primary)}@media(max-width:768px){.landing-how-steps{grid-template-columns:1fr}.landing-trust-items{gap:.75rem}.landing-trust-dot{display:none}}.landing-features{padding:6rem 2rem;background:var(--surface);display:flex;flex-direction:column;align-items:center}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max-w);width:100%}.landing-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-feature-card:hover{transform:translateY(-6px);border-color:transparent;box-shadow:0 20px 50px #00000014}.landing-feature-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;margin-bottom:1.25rem}.landing-feature-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.01em}.landing-feature-card p{font-size:.925rem;color:var(--text-secondary);line-height:1.65;margin-bottom:1.25rem}.landing-feature-link{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--purple);text-decoration:none;transition:gap .25s}.landing-feature-link:hover{gap:10px;color:var(--pink)}.landing-group-sessions{padding:6rem 2rem;background:var(--surface-dim)}.landing-group-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:var(--max-w);margin:0 auto}.landing-group-visual{display:flex;align-items:center;justify-content:center}.landing-group-graphic{position:relative;display:flex;align-items:center;justify-content:center;width:260px;height:260px;color:var(--purple)}.landing-group-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(124,58,237,.15);animation:ringPulse 4s ease-in-out infinite}.landing-group-ring--1{width:140px;height:140px;animation-delay:0s}.landing-group-ring--2{width:200px;height:200px;animation-delay:.4s}.landing-group-ring--3{width:260px;height:260px;animation-delay:.8s}@keyframes ringPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.04)}}.landing-group-text h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.025em;margin-bottom:1rem}.landing-group-desc{font-size:1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.landing-check-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.75rem}.landing-check-list li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text)}.landing-testimonials{padding:6rem 2rem;background:var(--surface);display:flex;flex-direction:column;align-items:center}.landing-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max-w);width:100%}.landing-testimonial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-testimonial-card:hover{border-color:transparent;box-shadow:0 16px 40px #00000012}.landing-testimonial-stars{display:flex;gap:2px;color:var(--amber);margin-bottom:1rem}.landing-testimonial-text{font-size:.95rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.5rem;font-style:italic}.landing-testimonial-author{display:flex;align-items:center;gap:.75rem}.landing-testimonial-avatar{width:42px;height:42px;border-radius:50%;color:#2663eb;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;border:1px solid #2663eb}.landing-testimonial-name{font-size:.9rem;font-weight:600}.landing-testimonial-role{font-size:.8rem;color:var(--text-secondary)}.landing-pricing{padding:6rem 2rem;background:var(--surface-dim);display:flex;flex-direction:column;align-items:center}.landing-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:var(--max-w);width:100%;align-items:stretch}.landing-pricing-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-pricing-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px #00000012}.landing-pricing-card--featured{background:var(--surface);color:#0f172a;border:var(--primary-color);transform:scale(1.04);box-shadow:0 24px 60px #7c3aed47}.landing-pricing-card--featured .--featured{color:#0f172a}.landing-pricing-card--featured:hover{transform:scale(1.04) translateY(-4px)}.landing-pricing-card--featured .landing-pricing-price span,.landing-pricing-card--featured .landing-check{color:#fff}.landing-pricing-card--featured .landing-pricing-features li{border-color:#ffffff2e;color:#ffffffe6}.landing-pricing-card--featured .landing-check{background:#fff3}.landing-pricing-card--featured .landing-btn-primary{background:#fff;color:var(--purple);box-shadow:none}.landing-pricing-card--featured .landing-btn-primary:hover{box-shadow:0 8px 24px #00000026}.landing-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:5px 18px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--amber);border-radius:100px;white-space:nowrap}.landing-pricing-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.5rem}.landing-pricing-price{font-size:2.75rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.landing-pricing-price span{font-size:1rem;font-weight:500;opacity:.65}.landing-pricing-features{list-style:none;padding:0;margin:1.5rem 0 2rem;text-align:left}.landing-pricing-features li{display:flex;align-items:center;gap:10px;padding:.7rem 0;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text)}.landing-pricing-features li:last-child{border:none}.landing-pricing-card .landing-btn{width:100%;justify-content:center}.landing-cta{position:relative;padding:6rem 2rem;background:linear-gradient(135deg,var(--purple),var(--pink));text-align:center;overflow:hidden}.landing-cta:before{content:"";position:absolute;width:500px;height:500px;background:#ffffff0f;border-radius:50%;top:-200px;left:-100px}.landing-cta:after{content:"";position:absolute;width:400px;height:400px;background:#ffffff0f;border-radius:50%;bottom:-150px;right:-80px}.landing-cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}.landing-cta h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:#fff;margin-bottom:.75rem;letter-spacing:-.02em}.landing-cta p{font-size:1.1rem;color:#ffffffe0;margin-bottom:2rem}.landing-cta-form-wrap{max-width:480px;margin:0 auto}.landing-cta-form{display:flex;gap:.5rem;background:#ffffff1f;padding:6px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.25)}.landing-cta-form input{flex:1;border:none;background:transparent;color:#fff;padding:.75rem 1rem;font-size:.95rem;outline:none;min-width:0}.landing-cta-form input::placeholder{color:#fff9}.landing-cta-form .landing-btn-primary{background:#fff;color:var(--purple);box-shadow:none}.landing-cta-form .landing-btn-primary:hover{box-shadow:0 8px 20px #00000026}@keyframes slideUpFade{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpFadeChild{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-features,.landing-group-sessions,.landing-testimonials,.landing-pricing,.landing-cta{opacity:0;transform:translateY(50px)}.landing-features.scroll-animate,.landing-group-sessions.scroll-animate,.landing-testimonials.scroll-animate,.landing-pricing.scroll-animate,.landing-cta.scroll-animate{animation:slideUpFade .7s cubic-bezier(.25,.46,.45,.94) forwards}.landing-feature-card,.landing-testimonial-card,.landing-pricing-card{opacity:0;transform:translateY(30px)}.landing-features.scroll-animate .landing-feature-card:nth-child(1),.landing-testimonials.scroll-animate .landing-testimonial-card:nth-child(1),.landing-pricing.scroll-animate .landing-pricing-card:nth-child(1){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .1s forwards}.landing-features.scroll-animate .landing-feature-card:nth-child(2),.landing-testimonials.scroll-animate .landing-testimonial-card:nth-child(2),.landing-pricing.scroll-animate .landing-pricing-card:nth-child(2){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .2s forwards}.landing-features.scroll-animate .landing-feature-card:nth-child(3),.landing-testimonials.scroll-animate .landing-testimonial-card:nth-child(3),.landing-pricing.scroll-animate .landing-pricing-card:nth-child(3){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .3s forwards}.landing-features.scroll-animate .landing-feature-card:nth-child(4){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .4s forwards}.landing-features.scroll-animate .landing-feature-card:nth-child(5){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .5s forwards}.landing-features.scroll-animate .landing-feature-card:nth-child(6){animation:slideUpFadeChild .6s cubic-bezier(.25,.46,.45,.94) .6s forwards}@media(max-width:1024px){.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid{grid-template-columns:repeat(2,1fr)}.landing-pricing-card--featured{transform:scale(1)}.landing-pricing-card--featured:hover{transform:translateY(-4px)}}@media(max-width:768px){.landing-hero{padding:5rem 1.5rem 3rem;min-height:auto}.landing-hero-inner{grid-template-columns:1fr;gap:3rem;text-align:center}.landing-hero-content{align-items:center}.landing-hero-subtitle{max-width:100%}.landing-hero-buttons{justify-content:center}.landing-hero-social-proof{justify-content:center;flex-wrap:wrap}.landing-hero-visual{order:-1}@media(max-width:480px){.landing-hero-visual{display:none}}.landing-float-card--1{left:0;bottom:-10px}.landing-float-card--2{right:0;top:-10px}.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid{grid-template-columns:1fr}.landing-group-inner{grid-template-columns:1fr;gap:2.5rem}.landing-group-graphic{width:200px;height:200px}.landing-trust-logos{gap:1.5rem}.landing-trust-logos span{font-size:.95rem}.landing-section-title{font-size:1.75rem}.landing-section-subtitle{margin-bottom:2rem}.landing-features,.landing-group-sessions,.landing-testimonials,.landing-pricing,.landing-cta{padding:3.5rem 1.25rem}.landing-pricing-card--featured{transform:scale(1)}.landing-pricing-card--featured:hover{transform:translateY(-4px)}.landing-cta-form{flex-direction:column}.landing-hero-buttons{flex-direction:column;width:100%}.landing-btn{width:100%;justify-content:center}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.loading-fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#fff;z-index:9998}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:.5rem}.loading-small{width:40px;height:40px}.loading-medium{width:60px;height:60px}.loading-large{width:80px;height:80px}.loading-circle{border-radius:50%;background-color:#007bff;animation:bounce 1.4s infinite ease-in-out both}.loading-small .loading-circle{width:8px;height:8px}.loading-medium .loading-circle{width:12px;height:12px}.loading-large .loading-circle{width:16px;height:16px}.loading-circle:nth-child(1){animation-delay:-.32s}.loading-circle:nth-child(2){animation-delay:-.16s}.loading-circle:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-message{font-size:1rem;color:#666;margin:0;text-align:center;font-weight:500;animation:fadeIn .5s ease-in-out}@media(max-width:768px){.loading-container{padding:1.5rem;gap:.8rem}.loading-fullscreen,.loading-overlay{z-index:9998}.loading-large{width:60px;height:60px}.loading-large .loading-circle{width:12px;height:12px}}.loading-spinner.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.loading-spinner.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-skeleton.text{height:1rem;margin-bottom:.5rem}.loading-skeleton.card{height:200px;margin-bottom:1rem}.loading-skeleton.avatar{width:40px;height:40px;border-radius:50%}.plan-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:2rem;display:flex;flex-direction:column;position:relative;transition:transform .25s ease,box-shadow .25s ease}.plan-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.plan-card--featured{background:#06f;color:#fff;border:none;box-shadow:0 8px 30px #0066ff40}.plan-card--featured:hover{box-shadow:0 16px 50px #0066ff59}.plan-card--featured .plan-card__name,.plan-card--featured .plan-card__price{color:#fff}.plan-card--featured .plan-card__price span,.plan-card--featured .plan-card__features li{color:#fffc}.plan-card--featured .plan-card__check{background:#fff3;color:#fff}.plan-card--current{border:2px solid #0066ff}.plan-card__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#fff;color:#06f;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 14px;border-radius:100px;white-space:nowrap}.plan-card__badge--current{border:2px solid}.plan-card__name{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.plan-card__price{font-size:2.75rem;font-weight:800;letter-spacing:-.03em;color:#0f172a;margin-bottom:1.5rem}.plan-card__price span{font-size:1rem;font-weight:500;color:#94a3b8}.plan-card__features{list-style:none;padding:0;margin:0 0 2rem;flex:1;display:flex;flex-direction:column;gap:.6rem}.plan-card__features li{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#475569}.plan-card__check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#06f;color:#fff;font-size:.65rem;font-weight:700;flex-shrink:0}.plan-card__btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1.5rem;border:2px solid #0066ff;border-radius:10px;background:transparent;color:#06f;font-weight:600;font-size:.95rem;font-family:inherit;cursor:pointer;transition:all .25s ease}.plan-card__btn:hover:not(:disabled){background:#06f;color:#fff}.plan-card__btn--primary{background:#fff;color:#06f;border-color:#fff;box-shadow:0 4px 16px #00000026}.plan-card__btn--primary:hover:not(:disabled){background:#ffffffe6;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.plan-card__btn--current{background:#f0fdf4;color:#10b981;border:1.5px solid #10b981;cursor:default}.plan-card__btn--current:hover{background:#f0fdf4;transform:none}.plan-card__btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.plan-card{padding:1.5rem}.plan-card__price{font-size:2.25rem}}.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:44px;padding:0 1.25rem;font-size:.9rem;font-weight:600;font-family:inherit;line-height:1;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,opacity .15s;white-space:nowrap;box-sizing:border-box;min-width:0}.tf-btn--full{width:100%}.tf-btn--disabled,.tf-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tf-btn--primary.tf-btn--normal{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.tf-btn--primary.tf-btn--normal:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color)}.tf-btn--secondary.tf-btn--normal{background:transparent;color:var(--primary-color);border-color:var(--primary-color)}.tf-btn--secondary.tf-btn--normal:hover:not(:disabled){background:#667eea14}.tf-btn--text.tf-btn--normal{background:transparent;color:var(--primary-color);border-color:transparent}.tf-btn--text.tf-btn--normal:hover:not(:disabled){background:#667eea14}.tf-btn--primary.tf-btn--success{background:#22c55e;color:#fff;border-color:#22c55e}.tf-btn--primary.tf-btn--success:hover:not(:disabled){background:#1ea951;border-color:#1ea951}.tf-btn--secondary.tf-btn--success{background:transparent;color:#22c55e;border-color:#22c55e}.tf-btn--secondary.tf-btn--success:hover:not(:disabled){background:#22c55e14}.tf-btn--text.tf-btn--success{background:transparent;color:#22c55e;border-color:transparent}.tf-btn--text.tf-btn--success:hover:not(:disabled){background:#22c55e14}.tf-btn--primary.tf-btn--danger{background:#ef4444;color:#fff;border-color:#ef4444}.tf-btn--primary.tf-btn--danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.tf-btn--secondary.tf-btn--danger{background:transparent;color:#ef4444;border-color:#ef4444}.tf-btn--secondary.tf-btn--danger:hover:not(:disabled){background:#ef444414}.tf-btn--text.tf-btn--danger{background:transparent;color:#ef4444;border-color:transparent}.tf-btn--text.tf-btn--danger:hover:not(:disabled){background:#ef444414}.tf-btn--primary.tf-btn--info{background:#e5e7eb;color:#4b5563;border-color:#e5e7eb}.tf-btn--primary.tf-btn--info:hover:not(:disabled){background:#d1d5db;border-color:#d1d5db}.tf-btn--secondary.tf-btn--info{background:transparent;color:#6b7280;border-color:#d1d5db}.tf-btn--secondary.tf-btn--info:hover:not(:disabled){background:#9ca3af14;border-color:#9ca3af}.tf-btn--text.tf-btn--info{background:transparent;color:#6b7280;border-color:transparent}.tf-btn--text.tf-btn--info:hover:not(:disabled){background:#9ca3af1a}.tf-btn.schedule-inline-btn{flex:0 0 auto;height:34px;padding:0 .75rem;font-size:.82rem}.tf-btn.pending-reschedule-btn{flex:0 0 auto;width:unset}.tf-btn.btn-delete-selected{flex:0 0 auto;white-space:nowrap}:root{--fd-blue: #0066ff;--fd-blue-dark: #0052cc;--fd-bg: #f8fafc;--fd-surface: #ffffff;--fd-text: #0f172a;--fd-muted: #64748b;--fd-border: #e2e8f0;--fd-radius: 16px;--fd-max-w: 1100px}.fd-page{min-height:100vh;background:var(--fd-bg);font-family:inherit}.fd-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:60px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--fd-border)}.fd-nav__logo{font-size:1.1rem;font-weight:800;color:var(--fd-blue);text-decoration:none;letter-spacing:-.02em}.fd-nav__actions{display:flex;align-items:center;gap:.75rem}.fd-nav__back{display:flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--fd-muted);background:none;border:none;cursor:pointer;padding:.4rem .75rem;border-radius:8px;transition:color .15s,background .15s}.fd-nav__back:hover{color:var(--fd-text);background:var(--fd-border)}.fd-nav__cta{font-size:.875rem;font-weight:600;color:#fff;background:var(--fd-blue);border:none;cursor:pointer;padding:.5rem 1.1rem;border-radius:8px;transition:background .15s,transform .15s}.fd-nav__cta:hover{background:var(--fd-blue-dark);transform:translateY(-1px)}.fd-hero{position:relative;overflow:hidden;padding:5rem 2rem 4rem;text-align:center;background:linear-gradient(160deg,#eef4ff,#f8fafc 60%)}.fd-hero__blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none}.fd-hero__blob--1{width:500px;height:500px;background:#c7d9ff;top:-150px;left:-100px}.fd-hero__blob--2{width:400px;height:400px;background:#ddd6fe;bottom:-100px;right:-80px}.fd-hero__inner{position:relative;max-width:var(--fd-max-w);margin:0 auto}.fd-hero__tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fd-blue);background:#0066ff14;padding:4px 14px;border-radius:100px;margin-bottom:1.25rem}.fd-hero__icon{font-size:3rem;margin-bottom:1rem;display:block}.fd-hero__title{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;color:var(--fd-text);letter-spacing:-.03em;line-height:1.15;margin:0 0 1rem}.fd-hero__title span{color:var(--fd-blue)}.fd-hero__subtitle{font-size:1.1rem;color:var(--fd-muted);max-width:600px;margin:0 auto 2rem;line-height:1.6}.fd-hero__cta{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:#fff;background:var(--fd-blue);border:none;cursor:pointer;padding:.85rem 2rem;border-radius:12px;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 4px 20px #0066ff4d}.fd-hero__cta:hover{background:var(--fd-blue-dark);transform:translateY(-2px);box-shadow:0 8px 30px #0066ff59}.fd-section{max-width:var(--fd-max-w);margin:0 auto;padding:4rem 2rem}.fd-section__tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fd-blue);margin-bottom:.75rem}.fd-section__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--fd-text);letter-spacing:-.02em;margin:0 0 .5rem}.fd-section__sub{font-size:1rem;color:var(--fd-muted);margin:0 0 2.5rem;line-height:1.6}.fd-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.fd-feature-card{background:var(--fd-surface);border:1.5px solid var(--fd-border);border-radius:var(--fd-radius);padding:1.5rem;transition:transform .2s,box-shadow .2s}.fd-feature-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000012}.fd-feature-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}.fd-feature-card__title{font-size:1rem;font-weight:700;color:var(--fd-text);margin:0 0 .4rem}.fd-feature-card__desc{font-size:.875rem;color:var(--fd-muted);line-height:1.6;margin:0}.fd-split{background:var(--fd-surface);border-top:1px solid var(--fd-border);border-bottom:1px solid var(--fd-border)}.fd-split__inner{max-width:var(--fd-max-w);margin:0 auto;padding:4rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.fd-split__visual{background:linear-gradient(135deg,#eef4ff,#e0e7ff);border-radius:20px;height:320px;display:flex;align-items:center;justify-content:center;font-size:5rem}.fd-split__tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fd-blue);display:block;margin-bottom:.75rem}.fd-split__title{font-size:clamp(1.4rem,3vw,1.875rem);font-weight:800;color:var(--fd-text);letter-spacing:-.02em;margin:0 0 1rem;line-height:1.25}.fd-split__desc{font-size:1rem;color:var(--fd-muted);line-height:1.7;margin:0 0 1.5rem}.fd-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.fd-checklist li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:var(--fd-muted);line-height:1.5}.fd-checklist__check{width:20px;height:20px;min-width:20px;border-radius:50%;background:#0066ff1a;color:var(--fd-blue);display:flex;align-items:center;justify-content:center;font-size:.65rem;margin-top:1px;font-weight:700}.fd-cta{background:linear-gradient(135deg,#06f,#4f46e5);text-align:center;padding:5rem 2rem}.fd-cta__title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:#fff;letter-spacing:-.03em;margin:0 0 .75rem}.fd-cta__sub{font-size:1.05rem;color:#ffffffbf;margin:0 0 2rem}.fd-cta__btn{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--fd-blue);background:#fff;border:none;cursor:pointer;padding:.9rem 2.25rem;border-radius:12px;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #00000026}.fd-cta__btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0003}@media(max-width:768px){.fd-split__inner{grid-template-columns:1fr;gap:2rem}.fd-split__visual{height:200px;font-size:3.5rem}.fd-nav{padding:0 1rem}.fd-hero{padding:3rem 1.25rem 2.5rem}.fd-section{padding:3rem 1.25rem}}.notification-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px #00000014;box-sizing:border-box;outline:none;width:100%;animation:nb-slide-in .25s ease-out}.notification-banner.notification-banner-closing{animation:nb-slide-out .25s ease-out forwards}.notification-banner:focus{box-shadow:0 0 0 3px #0000001a,0 2px 8px #00000026}@keyframes nb-slide-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes nb-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-12px);opacity:0}}.notification-icon{font-size:1.25rem;font-weight:600;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.notification-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.notification-title{margin:0;font-size:.95rem;font-weight:600}.notification-message{margin:0;font-size:.9rem}.notification-close-btn{background:none;font-size:1.25rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s;opacity:.7;border:none;background:transparent;border-radius:4px;outline:none}.notification-close-btn:hover{opacity:1}.notification-close-btn:focus{outline:2px solid currentColor;outline-offset:2px}.notification-banner-success{background-color:#f0fdf4;border-left:4px solid #22c55e;color:#166534}.notification-banner-success .notification-icon{color:#22c55e}.notification-banner-success .notification-close-btn{color:#166534}.notification-banner-warning{background-color:#fffbeb;border-left:4px solid #eab308;color:#854d0e}.notification-banner-warning .notification-icon{color:#eab308}.notification-banner-warning .notification-close-btn{color:#854d0e}.notification-banner-error{background-color:#fef2f2;border-left:4px solid #ef4444;color:#7f1d1d}.notification-banner-error .notification-icon{color:#ef4444}.notification-banner-error .notification-close-btn{color:#7f1d1d}.notification-banner-danger{background-color:#fef2f2;border-left:4px solid #dc2626;color:#7f1d1d}.notification-banner-danger .notification-icon{color:#dc2626}.notification-banner-danger .notification-close-btn{color:#7f1d1d}.notification-banner-info{background-color:#f0f9ff;border-left:4px solid #3b82f6;color:#1e3a8a}.notification-banner-info .notification-icon{color:#3b82f6}.notification-banner-info .notification-close-btn{color:#1e3a8a}@media(max-width:768px){.notification-banner{padding:.75rem 1rem;gap:.75rem}.notification-icon{width:20px;height:20px;font-size:1rem}.notification-title{font-size:.9rem}.notification-message{font-size:.85rem}.notification-close-btn{width:20px;height:20px;font-size:1rem}}.notification-actions{display:flex;gap:8px;margin-top:10px}.notification-confirm-btn,.notification-cancel-btn{padding:5px 14px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:none}.notification-confirm-btn{background:#0000002e;color:inherit}.notification-confirm-btn:hover{background:#00000047}.notification-cancel-btn{background:transparent;color:inherit;border:1px solid currentColor;opacity:.7}.notification-cancel-btn:hover{opacity:1}.login-container{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);display:flex;align-items:center;justify-content:center;background:#fff;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;overflow:hidden}.forgot-password{text-align:center;font-size:13px;color:#06f!important;font-weight:400;cursor:pointer;margin-top:-1px;margin-bottom:24px;transition:color .2s}.forgot-password-link:hover{color:#764ba2;text-decoration:underline}.login-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:loginBlobFloat 14s ease-in-out infinite alternate}.login-blob--1{width:600px;height:600px;background:#7c3aed;top:-20%;right:-10%;animation-delay:0s}.login-blob--2{width:500px;height:500px;background:#ec4899;bottom:-15%;left:-5%;animation-delay:-4s}.login-blob--3{width:350px;height:350px;background:#3b82f6;top:30%;left:40%;animation-delay:-8s}@keyframes loginBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.login-card{position:relative;z-index:1;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:48px 40px;max-width:500px;width:100%}.login-header{text-align:center;margin-bottom:40px}.login-title{font-size:32px;font-weight:700;color:#3b82f6;margin:0 0 8px;letter-spacing:-.5px}.login-subtitle{font-size:16px;color:#64748b;margin:0;font-weight:400}.login-form{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.form-input{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;font-family:inherit;background:#fff;transition:border-color .2s,box-shadow .2s}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper .form-input{width:100%;padding-right:60px}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#06f;font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;transition:color .2s}.password-toggle:hover{color:#0052cc}.password-hint{font-size:13px;color:#94a3b8;margin:4px 0 0}.btn-primary{padding:14px 20px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0066ff4d;transition:all .2s}.divider{display:flex;align-items:center;gap:12px;margin:32px 0;color:#94a3b8;font-size:14px;font-weight:500}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.social-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.btn-social{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;background:#fff;cursor:pointer;transition:all .2s}.btn-google{color:#1f2937}.btn-google:hover{border-color:#cbd5e1;background:#f8fafc}.btn-apple{background:#000;color:#fff;border-color:#000}.btn-apple:hover{background:#1f2937;border-color:#1f2937}.login-footer{border-top:1px solid #e2e8f0;padding-top:24px;text-align:center}.footer-text{font-size:13px;color:#64748b;margin:0 0 12px;line-height:1.6}.footer-text:last-child{margin-bottom:0}.footer-link{color:#06f;text-decoration:none;font-weight:600;transition:color .2s}.footer-link:hover{color:#0052cc;text-decoration:underline}@media(max-width:768px){.login-container{padding:16px}.login-card{padding:32px 24px;border-radius:12px}.login-header{margin-bottom:28px}.login-title{font-size:28px}.login-form{gap:18px;margin-bottom:24px}.divider{margin:24px 0}.social-buttons{margin-bottom:24px}.login-footer{padding-top:20px}.footer-text{font-size:12px}}@media(max-width:480px){.login-container{padding:24px 20px;background:#fff}.login-bg{display:none}.login-card{padding:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}.login-header{margin-bottom:24px}.login-title{font-size:26px;margin-bottom:4px}.login-subtitle{font-size:14px}.login-form{gap:16px;margin-bottom:20px}.form-label{font-size:12px}.form-input{padding:12px 14px;font-size:16px}.password-hint{display:none}.btn-primary{padding:14px}.divider{margin:20px 0}.social-buttons{gap:10px;margin-bottom:20px}.btn-social{padding:12px;font-size:14px}.btn-social svg{width:18px;height:18px}.login-footer{padding-top:16px}.footer-text{font-size:12px;margin-bottom:8px}}@media(max-width:360px){.login-container{padding:16px}.login-header{margin-bottom:20px}.login-title{font-size:24px}.login-subtitle{font-size:13px}.login-form{gap:14px;margin-bottom:16px}.form-input{padding:11px 12px}.btn-primary{padding:12px;font-size:15px}.divider{margin:16px 0}.social-buttons{gap:8px;margin-bottom:16px}.btn-social{padding:11px;font-size:13px}.login-footer{padding-top:14px}.footer-text{font-size:11px}}@media(max-width:480px){.otp-section{margin:24px 0}.otp-error{font-size:13px;padding:8px 12px}.resend-section{margin-bottom:20px}.resend-text,.resend-button{font-size:13px}.back-button{font-size:13px;padding:10px 14px}}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;box-sizing:border-box;background:#fff}.forgot-password-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.forgot-password-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:forgotBlobFloat 14s ease-in-out infinite alternate}.forgot-password-blob--1{width:600px;height:600px;background:#7c3aed;top:-20%;right:-10%;animation-delay:0s}.forgot-password-blob--2{width:500px;height:500px;background:#ec4899;bottom:-15%;left:-5%;animation-delay:-4s}.forgot-password-blob--3{width:350px;height:350px;background:#3b82f6;top:30%;left:40%;animation-delay:-8s}@keyframes forgotBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.forgot-password-card{position:relative;z-index:1;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:48px 40px;max-width:500px;width:100%}.forgot-password-card .success-message{color:#000;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;text-align:center;font-size:16px;color:#64748b;margin:0;font-weight:400;border:1px solid;margin-bottom:2rem}.forgot-password-header{text-align:center;margin-bottom:40px}.forgot-password-title{font-size:32px;font-weight:700;color:#3b82f6;margin:0 0 8px;letter-spacing:-.5px}.forgot-password-subtitle{font-size:16px;color:#64748b;margin:0;font-weight:400}.success-message p{margin:0;font-weight:500;margin-bottom:.5rem}.success-subtext{opacity:.9;font-size:.95rem;margin-bottom:0!important}.forgot-password-form{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:12px;font-weight:600;color:#0f172a;letter-spacing:.5px}.form-input{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;font-family:inherit;background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#06f;box-shadow:0 0 0 3px #0066ff1a}.form-input::placeholder{color:#94a3b8}.btn-primary{padding:14px 20px;background:#06f;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0066ff4d;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #06f6}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.forgot-password-footer{border-top:1px solid #e2e8f0;padding-top:24px;text-align:center}.back-to-login{color:#06f;text-decoration:none;font-weight:600;font-size:14px;transition:color .2s}.back-to-login:hover{color:#0052cc;text-decoration:underline}@media(max-width:768px){.forgot-password-container{padding:16px}.forgot-password-card{padding:32px 24px;border-radius:12px}.forgot-password-header{margin-bottom:28px}.forgot-password-title{font-size:28px}.forgot-password-form{gap:18px;margin-bottom:24px}.forgot-password-footer{padding-top:20px}}@media(max-width:480px){.forgot-password-container{padding:24px 20px;background:#fff}.forgot-password-bg{display:none}.forgot-password-card{padding:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}.forgot-password-header{margin-bottom:24px}.forgot-password-title{font-size:26px;margin-bottom:4px}.forgot-password-subtitle{font-size:14px}.forgot-password-form{gap:16px;margin-bottom:20px}.form-label{font-size:12px}.form-input{padding:12px 14px;font-size:16px}.btn-primary{padding:14px}.forgot-password-footer{padding-top:16px}.back-to-login{font-size:12px}}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;box-sizing:border-box;background:#fff}.reset-password-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.reset-password-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:resetBlobFloat 14s ease-in-out infinite alternate}.reset-password-blob--1{width:600px;height:600px;background:#7c3aed;top:-20%;right:-10%;animation-delay:0s}.reset-password-blob--2{width:500px;height:500px;background:#ec4899;bottom:-15%;left:-5%;animation-delay:-4s}.reset-password-blob--3{width:350px;height:350px;background:#3b82f6;top:30%;left:40%;animation-delay:-8s}@keyframes resetBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.reset-password-card{position:relative;z-index:1;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:3rem;width:100%;max-width:520px}.reset-password-header{text-align:center;margin-bottom:2rem}.reset-password-title{font-size:2rem;font-weight:600;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem}.reset-password-subtitle{color:#6b7280;font-size:1.1rem;line-height:1.5}.success-state{text-align:center;padding:2rem 0}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.success-title{font-size:2rem;font-weight:700;color:#10b981;margin-bottom:1rem}.success-message{color:#6b7280;font-size:1.1rem;line-height:1.5;margin-bottom:1.5rem}.error-message{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.error-message p{margin:0;font-weight:500}.reset-password-form{margin-bottom:2rem}.reset-password-form .form-group .form-label,.reset-password-form .btn-primary{margin-top:1rem}.form-label{display:block;margin-bottom:.5rem;color:#374151;font-weight:500;font-size:.95rem}.password-wrapper{position:relative}.form-input{width:100%;padding:.875rem 3.5rem .875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;font-size:.875rem;padding:.25rem .5rem;border-radius:4px;transition:color .2s ease}.password-toggle:hover{color:#374151}.password-requirements{margin-top:.75rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.requirements-title{margin:0 0 .5rem;color:#6b7280;font-size:.875rem;font-weight:500}.requirements-list{margin:0;padding:0;list-style:none}.requirements-list li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.25rem;transition:color .2s ease}.requirements-list li:last-child{margin-bottom:0}.requirements-list li:before{content:"";width:12px;height:12px;border-radius:50%;flex-shrink:0;transition:background-color .2s ease}.requirements-list li.valid:before{background-color:#10b981}.requirements-list li.invalid:before{background-color:#e5e7eb}.requirements-list li.valid{color:#10b981}.requirements-list li.invalid{color:#6b7280}.password-mismatch{margin-top:.5rem;color:#ef4444;font-size:.875rem;font-weight:500}.btn-primary{width:100%;background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}@media(max-width:640px){.reset-password-container{padding:1rem}.reset-password-card{padding:2rem}.reset-password-title{font-size:2rem}.reset-password-subtitle{font-size:1rem}.success-title{font-size:1.75rem}.success-icon{width:60px;height:60px;font-size:1.5rem}.reset-password-blob{width:200px;height:200px}}@media(max-width:480px){.reset-password-container{padding:24px 20px;background:#fff}.reset-password-container .reset-password-bg{display:none}.reset-password-card{padding:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}.reset-password-title{font-size:26px}.reset-password-subtitle{font-size:14px}}.otp-input-container{display:flex;justify-content:center;cursor:text}.otp-hidden-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;color:#1a1a2e;caret-color:#1a1a2e}.otp-display{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:0 1.5rem;height:4rem;width:100%;max-width:380px;border:2px solid #e0e0e0;border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.otp-display--active,.otp-input-container:focus-within .otp-display{border-color:#06f;box-shadow:0 0 0 3px #0066ff1f}.otp-display--disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.otp-segment{font-size:1.6rem;font-weight:600;line-height:1;width:1.5rem;text-align:center;color:#1a1a2e!important;transition:color .15s}.otp-segment--empty{color:silver;font-weight:400}.otp-segment--filled{color:#1a1a2e!important}.otp-segment--cursor{position:relative}.otp-segment--cursor:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:2px;height:1.4rem;background:#06f;border-radius:1px;animation:otp-blink 1s step-start infinite}@keyframes otp-blink{0%,to{opacity:1}50%{opacity:0}}@media(max-width:480px){.otp-display{height:3.5rem;padding:0 1rem;gap:.25rem}.otp-segment{font-size:1.35rem;width:1.2rem}}.verify-container{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);display:flex;align-items:center;justify-content:center;background:#fff;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;overflow:hidden}.verify-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.verify-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:verifyBlobFloat 14s ease-in-out infinite alternate}.verify-blob--1{width:600px;height:600px;background:#7c3aed;top:-20%;right:-10%;animation-delay:0s}.verify-blob--2{width:500px;height:500px;background:#ec4899;bottom:-15%;left:-5%;animation-delay:-4s}.verify-blob--3{width:350px;height:350px;background:#3b82f6;top:30%;left:40%;animation-delay:-8s}@keyframes verifyBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.verify-card{position:relative;z-index:1;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:48px 40px;max-width:500px;width:100%}.verify-header{text-align:center;margin-bottom:40px}.verify-title{font-size:32px;font-weight:700;color:#3b82f6;margin:0 0 8px;letter-spacing:-.5px}.verify-subtitle{font-size:16px;color:#64748b;margin:0 0 8px;font-weight:400}.change-email-btn{background:none;border:none;color:#06f;font-size:12px;font-weight:500;cursor:pointer;padding:4px 0;margin-top:8px;transition:color .2s}.change-email-btn:hover{color:#0052cc;text-decoration:underline}.otp-section{display:flex;flex-direction:column;align-items:center;gap:16px;margin:32px 0}.otp-error{color:#ef4444;font-size:14px;font-weight:500;text-align:center;margin:0;padding:8px 16px;background:#fef2f2;border-radius:8px;width:100%}.otp-loading{margin-top:8px}.resend-section{text-align:center;margin-bottom:24px}.resend-text{font-size:14px;color:#64748b;margin:0 0 8px}.resend-button{background:none;border:none;color:#06f;font-size:14px;font-weight:600;cursor:pointer;padding:4px 8px;transition:color .2s}.resend-button:hover:not(:disabled){color:#0052cc;text-decoration:underline}.resend-button:disabled{color:#94a3b8;cursor:not-allowed}.verify-help{text-align:center;margin-bottom:24px;padding:16px;background:#f8fafc;border-radius:8px}.help-text{font-size:13px;color:#64748b;margin:0;line-height:1.6}.back-button{display:block;width:100%;background:none;border:1px solid #e2e8f0;color:#64748b;font-size:14px;font-weight:500;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.back-button:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}@media(max-width:480px){.verify-container{padding:24px 20px;background:#fff}.verify-bg{display:none}.verify-card{padding:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}.verify-header{margin-bottom:24px}.verify-title{font-size:26px;margin-bottom:4px}.verify-subtitle{font-size:14px}.otp-section{margin:24px 0}.resend-section{margin-bottom:20px}.verify-help{margin-bottom:20px;padding:12px}.help-text{font-size:12px}.back-button{font-size:13px;padding:10px 14px}}.choose-plan{position:relative;min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;padding:3rem 1.5rem;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.choose-plan-return-banner{position:fixed;top:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:12px 20px;box-shadow:0 2px 12px #00000026}.choose-plan-return-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.choose-plan-return-text{display:flex;flex-direction:column;gap:2px}.choose-plan-return-text strong{font-size:14px;font-weight:600}.choose-plan-return-text span{font-size:13px;opacity:.9}.choose-plan-return-actions{display:flex;gap:8px}.choose-plan-return-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.choose-plan-return-btn--primary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.choose-plan-return-btn--primary:hover{background:#ffffff40}.choose-plan-return-btn--ghost{background:transparent;color:#fffc;border:1px solid rgba(255,255,255,.2)}.choose-plan-return-btn--ghost:hover{background:#ffffff1a;color:#fff}.choose-plan-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.choose-plan-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:choosePlanBlobFloat 14s ease-in-out infinite alternate}.choose-plan-blob--1{width:600px;height:600px;background:#7c3aed;top:-20%;right:-10%}.choose-plan-blob--2{width:500px;height:500px;background:#ec4899;bottom:-15%;left:-5%;animation-delay:-4s}.choose-plan-blob--3{width:350px;height:350px;background:#3b82f6;top:40%;left:35%;animation-delay:-8s}@keyframes choosePlanBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.choose-plan-content{position:relative;z-index:1;max-width:1120px;width:100%}.choose-plan-header{text-align:center;margin-bottom:3rem}.choose-plan-tag{display:inline-block;padding:6px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7c3aed;background:linear-gradient(135deg,#7c3aed14,#ec489914);border-radius:100px;margin-bottom:1rem}.choose-plan-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:#0f172a;margin:0 0 .75rem}.choose-plan-subtitle{font-size:1.1rem;color:#64748b;max-width:480px;margin:0 auto;line-height:1.6}.choose-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.choose-plan-footer-note{text-align:center;font-size:.85rem;color:#94a3b8;margin:0}@media(max-width:900px){.choose-plan-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}.plan-card--featured{order:-1}}@media(max-width:480px){.choose-plan-return-content{flex-direction:column;align-items:flex-start;gap:12px}.choose-plan-return-actions{width:100%;justify-content:flex-end}.choose-plan-return-btn{padding:8px 16px;font-size:14px}.choose-plan{padding:5rem 1rem 2rem}.choose-plan-header{margin-bottom:2rem}.choose-plan-title{font-size:1.5rem}.choose-plan-subtitle{font-size:.95rem}}.onboard-container{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;overflow:hidden}.onboard-recovery-banner{position:fixed;top:0;left:0;right:0;z-index:1000;background:#06f;color:#fff;padding:12px 20px;box-shadow:0 2px 12px #00000026}.onboard-recovery-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.onboard-recovery-text{display:flex;flex-direction:column;gap:2px}.onboard-recovery-text strong{font-size:14px;font-weight:600}.onboard-recovery-text span{font-size:13px;opacity:.9}.onboard-recovery-actions{display:flex;gap:8px}.onboard-recovery-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit}.onboard-recovery-btn--primary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.onboard-recovery-btn--primary:hover{background:#ffffff4d}.onboard-recovery-btn--ghost{background:transparent;color:#fffc;border:1px solid rgba(255,255,255,.2)}.onboard-recovery-btn--ghost:hover{background:#ffffff1a;color:#fff}.onboard-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.onboard-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:onboardBlobFloat 14s ease-in-out infinite alternate}.onboard-blob--1{width:600px;height:600px;background:#06f;top:-20%;right:-10%}.onboard-blob--2{width:500px;height:500px;background:#60a5fa;bottom:-15%;left:-5%;animation-delay:-4s}.onboard-blob--3{width:350px;height:350px;background:#93c5fd;top:30%;left:40%;animation-delay:-8s}@keyframes onboardBlobFloat{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}to{transform:translate(-20px,20px) scale(.95)}}.onboard-card{position:relative;z-index:1;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:48px 40px;max-width:520px;width:100%}.onboard-header{text-align:center;margin-bottom:36px}.onboard-step-icon{width:56px;height:56px}.onboard-title{font-size:28px;font-weight:700;color:#06f;margin:0 0 8px;letter-spacing:-.5px}.onboard-subtitle{font-size:15px;color:#64748b;margin:0;line-height:1.5}.onboard-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px}.onboard-progress-step{width:40px;height:4px;border-radius:100px;background:#e2e8f0;transition:all .3s ease}.onboard-progress-step.active{background:#06f;width:56px}.onboard-progress-step.completed{background:#10b981}.onboard-form{display:flex;flex-direction:column;gap:20px}.onboard-form-group{display:flex;flex-direction:column;gap:6px}.onboard-label{font-size:12px;font-weight:600;color:#0f172a;text-transform:uppercase;letter-spacing:.5px}.onboard-input,.onboard-select{padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;font-family:inherit;background:#fff;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}.onboard-input:focus,.onboard-select:focus{outline:none;border-color:#06f;box-shadow:0 0 0 3px #0066ff1a}.onboard-input::placeholder{color:#94a3b8}.onboard-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.onboard-chips{display:flex;flex-wrap:wrap;gap:8px}.onboard-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1.5px solid #e2e8f0;border-radius:100px;font-size:13px;font-weight:500;color:#64748b;background:#fff;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.onboard-chip:hover{border-color:#06f;color:#06f}.onboard-chip.selected{background:#06f;color:#fff;border-color:transparent;box-shadow:0 2px 8px #0066ff40}.onboard-chip.selected:hover{opacity:.9}.onboard-actions{display:flex;gap:12px;margin-top:8px}.onboard-btn{flex:1;padding:14px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.onboard-btn-primary{background:#06f;color:#fff;box-shadow:0 4px 16px #0066ff4d}.onboard-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #06f6}.onboard-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.onboard-btn-ghost{background:transparent;color:#64748b;border:1.5px solid #e2e8f0}.onboard-btn-ghost:hover{border-color:#06f;color:#06f}.onboard-hint{font-size:13px;color:#94a3b8;text-align:center;margin-top:4px}.onboard-saving{color:#10b981;font-weight:500}.onboard-payment-list{display:flex;flex-direction:column;gap:14px}.onboard-payment-row{display:flex;align-items:center;gap:12px}.onboard-payment-icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;object-fit:contain}.onboard-payment-field{display:flex;align-items:center;flex:1;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s;overflow:hidden}.onboard-payment-field:focus-within{border-color:#06f;box-shadow:0 0 0 3px #0066ff1a}.onboard-payment-prefix{padding:0 0 0 14px;font-size:15px;font-weight:600;color:#94a3b8;-webkit-user-select:none;user-select:none}.onboard-payment-input{border:none!important;box-shadow:none!important;padding-left:6px!important;background:transparent!important}.onboard-payment-input:focus{border:none!important;box-shadow:none!important}@media(max-width:768px){.onboard-card{padding:32px 24px}.onboard-title{font-size:24px}}@media(max-width:480px){.onboard-recovery-content{flex-direction:column;align-items:flex-start;gap:12px}.onboard-recovery-actions{width:100%;justify-content:flex-end}.onboard-recovery-btn{padding:8px 16px;font-size:14px}.onboard-container{padding:80px 20px 24px}.onboard-bg{display:none}.onboard-card{padding:0;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none}.onboard-title{font-size:22px}.onboard-step-icon{width:44px;height:44px}.onboard-chip{font-size:12px;padding:6px 12px}}@keyframes slideUp{0%{transform:translate(-50%,calc(-50% + 30px));opacity:0}to{transform:translate(-50%,-50%);opacity:1}}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;inset:0;background-color:#0009;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);z-index:1001}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:1002;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:1rem 1rem 1rem 2rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close-btn{background:none;border:none;font-size:1.75rem;cursor:pointer;color:#999;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:#333}.modal-content{padding:1.5rem 2rem;overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;align-items:center;gap:.75rem;padding:1.25rem 2rem;border-top:1px solid #e0e0e0;flex-shrink:0;justify-content:flex-end}.modal-footer--split{justify-content:space-between}.modal-footer__left,.modal-footer__right{display:flex;gap:.75rem}@media(max-width:768px){.modal-overlay{animation:fadeIn .2s ease-out}.modal-container{position:fixed;inset:0;transform:none;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;animation:slideUpMobile .3s ease-out}.modal-header{padding:1rem 1rem 1rem 2rem}.modal-header h2{font-size:1.25rem}.modal-content{padding:1.5rem}.modal-footer{flex-direction:column;padding:1.25rem 1.5rem;justify-content:flex-start}.modal-footer--split{flex-direction:column}.modal-footer__right{flex-direction:column-reverse;width:100%}.modal-footer__left{flex-direction:column;width:100%;order:1}.modal-footer__right{order:0}.modal-footer .tf-btn,.modal-footer__left .tf-btn,.modal-footer__right .tf-btn{width:100%}}@media(max-width:480px){.modal-header{padding:1rem}.modal-header h2{font-size:1.1rem}.modal-content{padding:1.25rem}.modal-footer{padding:1rem}}@media(min-width:769px){.modal-container{width:90%;max-width:700px}}.reschedule-request-modal{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem}.request-header{border-bottom:2px solid #f0f0f0;padding-bottom:1rem}.request-header h3{margin:0;color:#333;font-size:1.3rem}.conflict-warning{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:.5rem}.conflict-warning .warning-icon{font-size:1.5rem;flex-shrink:0}.conflict-warning p{margin:0;color:#856404;font-size:.95rem;line-height:1.5}.comparison-section{border-radius:8px}.session-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center}.comparison-column{display:flex;flex-direction:column;gap:1rem}.comparison-column h4{margin:0;color:#555;font-size:1rem;text-transform:uppercase;letter-spacing:.5px}.session-info{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:#fff;border-radius:6px;border:1px solid #e0e0e0}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem}.info-row label{color:#666;font-weight:500}.info-row span{color:#333;font-weight:600}.info-row span.conflict{color:#d32f2f;background-color:#ffebee;padding:.25rem .5rem;border-radius:3px;font-weight:700}.comparison-arrow{display:flex;justify-content:center;align-items:center;color:#999;font-size:1.5rem;font-weight:700}.student-info-section{padding:1rem;background-color:#f5f5f5;border-radius:6px;border-left:4px solid #1976d2}.student-info-section h4{margin:0 0 1rem;color:#333;font-size:1rem}.cost-row{border-top:1px solid #e0e0e0;padding-top:.75rem;margin-top:.75rem}.cost-value{color:#1976d2;font-size:1.1rem;font-weight:700}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-accept,.btn-reject,.btn-cancel{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-accept{background-color:#4caf50;color:#fff}.btn-accept:hover:not(:disabled){background-color:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-accept:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-reject{background-color:#f44336;color:#fff}.btn-reject:hover:not(:disabled){background-color:#da190b;transform:translateY(-2px);box-shadow:0 4px 12px #f443364d}.btn-reject:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.btn-cancel{background-color:#e0e0e0;color:#333}.btn-cancel:hover:not(:disabled){background-color:#d0d0d0}.btn-cancel:disabled{cursor:not-allowed;opacity:.6}@media(max-width:768px){.session-comparison{grid-template-columns:1fr;gap:1rem}.comparison-arrow{display:none}.session-comparison .comparison-column:nth-child(2){display:none}.modal-actions{flex-direction:column}.btn-accept,.btn-reject,.btn-cancel{width:100%}}.calendar-container{background:#fff;border-radius:0;padding:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 2px}.calendar-header h2{margin:0;font-size:1rem;font-weight:700;color:#111827}.calendar-nav-button{background:#f3f4f6;border:none;cursor:pointer;font-size:.9rem;width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#374151;transition:background .15s}.calendar-nav-button:hover{background:#e5e7eb}.calendar-export-bar{display:flex;justify-content:flex-end;margin-bottom:10px}.calendar-export-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border:1.5px solid #e5e7eb;border-radius:20px;background:#fff;color:#6b7280;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s}.calendar-export-btn:hover{border-color:#6366f1;color:#6366f1;background:#f5f3ff}.calendar-day-labels{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px;border-bottom:1px solid #f3f4f6}.calendar-day-label{text-align:center;font-weight:600;color:#9ca3af;font-size:.7rem;padding:6px 0;text-transform:uppercase;letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid #f3f4f6;border-top:1px solid #f3f4f6}.calendar-day{min-height:80px;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;padding:5px 5px 4px;background:#fff;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:background .12s;position:relative}.calendar-day:hover{background:#fafbff}.calendar-day.empty{cursor:default;background:#fcfcfc}.calendar-day.past{background:#fafafa}.calendar-day.past .calendar-day-number{color:#c4c9d4}.calendar-day.today{background:#f5f3ff}.calendar-day.today .calendar-day-number-wrap{background:#6366f1;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-bottom:3px}.calendar-day.today .calendar-day-number{color:#fff;font-weight:700}.calendar-day.selected{background:#f0fdf4}.calendar-day.selected .calendar-day-number-wrap{background:#10b981;color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-bottom:3px}.calendar-day.selected .calendar-day-number{color:#fff}.calendar-day-number-wrap{width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-bottom:2px}.calendar-day-number{font-size:.75rem;font-weight:600;color:#374151;line-height:1}.calendar-day-schedules{display:flex;flex-direction:column;gap:2px;overflow:hidden;flex:1}.calendar-schedule-badge{color:#fff;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.67rem;font-weight:600;line-height:1.4;display:flex;align-items:center;gap:3px}.calendar-schedule-badge.badge--done{opacity:.45}.calendar-schedule-badge.badge--done:before{content:"✓";font-size:.6rem}.calendar-badge-overflow{font-size:.62rem;color:#9ca3af;font-weight:600;padding:1px 4px}@media(max-width:768px){.calendar-day{min-height:52px;padding:3px}.calendar-day-number-wrap{width:18px;height:18px}.calendar-day-number{font-size:.65rem}.calendar-day.today .calendar-day-number-wrap,.calendar-day.selected .calendar-day-number-wrap{width:18px;height:18px}.calendar-schedule-badge{font-size:.58rem;padding:1px 3px}}.db-root{padding:20px 24px 48px;max-width:1400px;margin:0 auto}.db-empty{display:flex;align-items:center;justify-content:center;min-height:70vh}.db-empty-inner{text-align:center;padding:40px 24px}.db-empty-inner h1{font-size:1.75rem;font-weight:700;margin:20px 0 8px;color:#111827}.db-empty-inner p{color:#6b7280;margin-bottom:24px}.db-cta-btn{background:#6366f1;color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.db-cta-btn:hover{background:#4f46e5}.db-today-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0f172a;border-radius:14px;padding:14px 20px;margin-bottom:16px;flex-wrap:wrap}.db-today-left{display:flex;align-items:center;gap:10px}.db-today-icon{font-size:1.2rem}.db-today-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3}.db-today-count{display:block;font-size:.95rem;font-weight:700;color:#fff}.db-today-chips{display:flex;flex-wrap:wrap;gap:6px}.db-today-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid;white-space:nowrap;background:#ffffff26!important;color:#fff!important;border-color:#ffffff4d!important}.db-today-chip--more{background:#ffffff1a!important;color:#ffffffb3!important}.db-today-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#fff!important}.db-stat-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px;align-items:start}.db-stat{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}.db-stat:hover{box-shadow:0 4px 16px #0000000f}.db-stat--warn{border-left:3px solid #f59e0b}.db-stat--danger{border-left:3px solid #ef4444}.db-stat--clickable{cursor:pointer;transition:box-shadow .15s,transform .15s}.db-stat--clickable:hover{box-shadow:0 6px 20px #6366f11f;transform:translateY(-1px)}.db-stat--expanded{grid-column:span 2;box-shadow:0 8px 28px #6366f124;border-color:#c7d2fe;transform:none}.db-stat--warn.db-stat--expanded{border-color:#fde68a;box-shadow:0 8px 28px #f59e0b1f}.db-stat--danger.db-stat--expanded{border-color:#fca5a5;box-shadow:0 8px 28px #ef44441f}.db-stat-detail{margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:12px;animation:statDetailIn .2s ease}@keyframes statDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.db-stat-detail-section{display:flex;flex-direction:column;gap:6px}.db-stat-detail-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:2px}.db-stat-detail-list{display:flex;flex-direction:column;gap:4px}.db-stat-detail-row{display:flex;align-items:center;gap:8px;font-size:.8rem;padding:3px 0}.db-stat-detail-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.db-stat-detail-avatar{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;flex-shrink:0}.db-stat-detail-name{flex:1;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-stat-detail-date{font-size:.75rem;color:#6b7280;white-space:nowrap}.db-stat-detail-sub{font-size:.72rem;color:#9ca3af;white-space:nowrap}.db-stat-detail-sub--danger{color:#ef4444}.db-stat-detail-amt{font-size:.8rem;font-weight:700;color:#111827;white-space:nowrap}.db-stat-detail-amt--warn{color:#d97706}.db-stat-detail-amt--danger{color:#ef4444}.db-stat-detail-pct{font-size:.72rem;color:#6b7280;width:28px;text-align:right;flex-shrink:0}.db-stat-detail-empty{font-size:.8rem;color:#9ca3af;font-style:italic}.db-stat-detail-more{font-size:.72rem;color:#9ca3af;padding-top:2px}.db-stat-detail-row--bar{gap:6px}.db-stat-detail-track{flex:1;height:5px;background:#f1f5f9;border-radius:99px;overflow:hidden;min-width:40px}.db-stat-detail-fill{height:100%;border-radius:99px;opacity:.7;transition:width .4s ease}.db-stat-detail-bars{display:flex;gap:6px;align-items:flex-end;height:100px;padding-bottom:20px;position:relative}.db-stat-detail-bar-col{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.db-stat-detail-bar-wrap{flex:1;display:flex;align-items:flex-end;width:100%}.db-stat-detail-bar{width:100%;background:#c7d2fe;border-radius:4px 4px 0 0;transition:height .3s ease}.db-stat-detail-bar--current{background:#6366f1}.db-stat-detail-bar-label{font-size:.6rem;color:#9ca3af;white-space:nowrap}.db-stat-top{display:flex;align-items:baseline;gap:6px}.db-stat-value{font-size:1.3rem;font-weight:800;color:#111827;line-height:1}.db-stat--warn .db-stat-value{color:#d97706}.db-stat--danger .db-stat-value{color:#ef4444}.db-stat-delta{font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:999px}.db-stat-delta.up{background:#d1fae5;color:#065f46}.db-stat-delta.down{background:#fee2e2;color:#dc2626}.db-stat-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.db-stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.db-stat-sub{font-size:.72rem;color:#9ca3af}.db-stat-avatars{display:flex;gap:-4px}.db-stat-avatar{width:20px;height:20px;border-radius:50%;border:1.5px solid #fff;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff;margin-left:-4px;flex-shrink:0}.db-stat-avatars .db-stat-avatar:first-child{margin-left:0}.db-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px;align-items:start}.db-col-left,.db-col-right{display:flex;flex-direction:column;gap:16px;min-width:0}.db-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;min-width:0}.db-card-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;margin:0 0 14px}.db-card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}.db-card-title-row .db-card-title{margin-bottom:0}.db-card-link{background:none;border:none;cursor:pointer;color:#6366f1;font-size:.8rem;font-weight:600;padding:0;margin-top:14px;display:block}.db-card-link:hover{text-decoration:underline}.db-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:.72rem;font-weight:700}.db-badge--alert{background:#fef3c7;color:#92400e}.db-badge--danger{background:#fee2e2;color:#dc2626}.db-pie-inner{display:flex;align-items:center;gap:16px}.db-pie-empty{color:#9ca3af;font-size:.88rem;padding:24px 0;text-align:center}.db-pie-legend{flex:1;display:flex;flex-direction:column;gap:8px}.db-pie-legend-item{display:flex;align-items:center;gap:8px}.db-pie-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.db-pie-name{flex:1;font-size:.82rem;color:#374151;font-weight:500}.db-pie-pct{font-size:.75rem;color:#9ca3af;width:32px;text-align:right}.db-pie-val{font-size:.85rem;font-weight:700;color:#111827;width:56px;text-align:right}.db-students-list{display:flex;flex-direction:column;gap:10px}.db-student-row{display:flex;align-items:center;gap:10px}.db-student-rank{font-size:.72rem;font-weight:700;color:#d1d5db;width:14px;text-align:center;flex-shrink:0}.db-student-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.db-student-info{flex:1;min-width:0}.db-student-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:3px}.db-student-name{font-size:.83rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-student-earned{font-size:.8rem;font-weight:700;color:#10b981;flex-shrink:0}.db-student-bar-track{height:4px;background:#f3f4f6;border-radius:999px;overflow:hidden}.db-student-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}.db-day-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:8px}.db-day-title{font-size:.95rem;font-weight:700;color:#111827;display:block;line-height:1.3}.db-day-past-badge{display:inline-block;margin-top:4px;background:#f3f4f6;color:#6b7280;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.db-day-close{background:none;border:none;font-size:1rem;color:#9ca3af;cursor:pointer;padding:2px 4px;line-height:1;flex-shrink:0}.db-day-close:hover{color:#374151}.db-day-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 0;color:#9ca3af;font-size:.88rem;text-align:center}.db-day-add-btn{background:#f3f4f6;border:none;border-radius:8px;padding:8px 16px;font-size:.82rem;font-weight:600;color:#374151;cursor:pointer}.db-day-add-btn:hover{background:#e5e7eb}.db-day-list{display:flex;flex-direction:column;gap:8px}.db-day-item{display:flex;align-items:center;gap:10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;cursor:pointer;width:100%;text-align:left;transition:background .12s,border-color .12s}.db-day-item:hover{background:#f0f4ff;border-color:#c7d2fe}.db-day-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.db-day-info{flex:1;min-width:0}.db-day-name{display:block;font-size:.88rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-day-meta{display:block;font-size:.75rem;color:#9ca3af;margin-top:1px}.db-day-paid-badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:999px;flex-shrink:0}.db-day-paid-badge.paid{background:#d1fae5;color:#065f46}.db-day-paid-badge.unpaid{background:#fee2e2;color:#dc2626}.db-day-arrow{color:#d1d5db;font-size:1.1rem;flex-shrink:0}.db-upcoming-list,.db-request-list,.db-overdue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.db-list-empty{color:#9ca3af;font-size:.88rem;padding:12px 0;text-align:center}.db-upcoming-item{display:flex;align-items:center;gap:10px;background:none;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;width:100%;text-align:left;transition:background .12s}.db-upcoming-item:hover{background:#f3f4f6}.db-upcoming-item--today{background:#f5f3ff}.db-upcoming-item--today:hover{background:#ede9fe}.db-upcoming-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.db-upcoming-info{flex:1;min-width:0}.db-upcoming-name{padding-bottom:.25rem;display:block;font-size:.85rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.db-upcoming-meta{display:block;font-size:.73rem;color:#9ca3af}.db-upcoming-today-pill{font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:999px;background:#ede9fe;color:#6d28d9;flex-shrink:0}.db-upcoming-arrow{color:#d1d5db;font-size:1.1rem}.db-request-item{display:flex;align-items:center;gap:12px;background:none;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;width:100%;text-align:left;transition:background .12s}.db-request-item:hover{background:#fef9c3}.db-request-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:700;color:#fff;flex-shrink:0}.db-request-info{flex:1;min-width:0}.db-request-name{display:block;font-size:.85rem;font-weight:600;color:#111827}.db-request-meta{display:block;font-size:.73rem;color:#9ca3af}.db-request-arrow{color:#d1d5db;font-size:1.1rem}.db-lock-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 0;color:#6b7280;font-size:.85rem}.db-lock-icon{font-size:1rem}.db-lock-notice a{color:#6366f1;font-weight:600}.db-overdue-item{display:flex;align-items:center;gap:10px;background:none;border:none;border-radius:10px;padding:8px 10px;cursor:pointer;width:100%;text-align:left;transition:background .12s}.db-overdue-item:hover{background:#fff1f2}.db-overdue-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.db-overdue-info{flex:1;min-width:0}.db-overdue-name{display:block;font-size:.85rem;font-weight:600;color:#111827}.db-overdue-meta{font-size:.73rem;color:#9ca3af}.db-overdue-amount{font-size:.88rem;font-weight:700;color:#ef4444;flex-shrink:0}.db-overdue-arrow{color:#d1d5db;font-size:1.1rem}@media(max-width:1100px){.db-stat-strip{grid-template-columns:repeat(3,1fr)}.db-grid{grid-template-columns:1fr}}@media(max-width:700px){.db-root{padding:12px 12px 48px}.db-stat-strip{grid-template-columns:repeat(2,1fr);gap:8px}.db-stat{padding:12px 14px}.db-stat-value{font-size:1.1rem}.db-today-banner{flex-direction:column;align-items:flex-start;gap:10px}}.ddm-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.ddm-panel{background:#fff;border-radius:20px;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000002e;overflow:hidden}.ddm-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid #f3f4f6;gap:12px;flex-shrink:0}.ddm-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ddm-date{font-size:1rem;font-weight:700;color:#111827}.ddm-badge{font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.ddm-badge--past{background:#f3f4f6;color:#6b7280}.ddm-badge--today{background:#ede9fe;color:#6d28d9}.ddm-close{background:#f3f4f6;border:none;width:30px;height:30px;border-radius:50%;font-size:.85rem;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s}.ddm-close:hover{background:#e5e7eb;color:#111827}.ddm-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:#9ca3af;text-align:center}.ddm-empty-icon{font-size:2rem}.ddm-empty p{font-size:.9rem;margin:0}.ddm-list{overflow-y:auto;display:flex;flex-direction:column;gap:10px;flex:1}.ddm-session{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.ddm-session-header{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 10px}.ddm-session-color{width:4px;border-radius:999px;align-self:stretch;flex-shrink:0;min-height:36px}.ddm-session-main{flex:1;min-width:0}.ddm-session-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:3px}.ddm-session-name{font-size:.95rem;font-weight:700;color:#111827}.ddm-session-meta{font-size:.78rem;color:#6b7280}.ddm-group-pill{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#ede9fe;color:#6d28d9}.ddm-done-pill{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#d1fae5;color:#065f46}.ddm-paid-pill{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px}.ddm-paid-pill.paid{background:#d1fae5;color:#065f46}.ddm-paid-pill.unpaid{background:#fee2e2;color:#dc2626}.ddm-group-roster{border-top:1px solid #f3f4f6;padding:10px 14px 12px;background:#fafafa}.ddm-roster-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af;display:block;margin-bottom:8px}.ddm-roster-list{display:flex;flex-direction:column;gap:6px}.ddm-roster-item{display:flex;align-items:center;gap:8px}.ddm-roster-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0}.ddm-roster-name{flex:1;font-size:.85rem;font-weight:500;color:#374151}.ddm-session-actions{padding:12px 14px;display:flex;gap:8px}.ddm-action{border:none;border-radius:8px;padding:7px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .12s}.ddm-action--primary{background:#6366f1;color:#fff}.ddm-action--primary:hover{background:#4f46e5}.ddm-action--secondary{background:#f3f4f6;color:#374151}.ddm-action--secondary:hover{background:#e5e7eb}.ddm-footer{padding:12px 16px 16px;border-top:1px solid #f3f4f6;flex-shrink:0}.ddm-add-btn{width:100%;background:#f5f3ff;border:1.5px dashed #c4b5fd;border-radius:10px;padding:10px;font-size:.85rem;font-weight:600;color:#6d28d9;cursor:pointer;transition:background .12s}.ddm-add-btn:hover{background:#ede9fe}@keyframes slideInLeft{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.drawer-overlay{position:fixed;inset:0;background-color:#00000080;z-index:999;animation:fadeIn .3s ease-out}.drawer-panel{position:fixed;right:0;top:0;bottom:0;width:600px;max-width:90%;background-color:#fff;box-shadow:-4px 0 12px #00000026;z-index:1000;animation:slideInLeft .3s ease-out;display:flex;flex-direction:column;box-sizing:border-box}.drawer-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.drawer-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#333}.drawer-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.drawer-close-btn:hover{color:#333}.drawer-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;box-sizing:border-box}.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;align-items:center;gap:.75rem;flex-shrink:0;justify-content:flex-end}.drawer-footer--split{justify-content:space-between}.drawer-footer__left,.drawer-footer__right{display:flex;gap:.75rem}@media(max-width:768px){.drawer-panel{width:100%;max-width:100%;height:100%;animation:slideInLeft .3s ease-out}.drawer-header{padding:1.25rem}.drawer-header h2{font-size:1.1rem}.drawer-content{padding:1.25rem}.drawer-footer{padding:1.25rem;flex-direction:column;justify-content:flex-start}.drawer-footer--split{flex-direction:column}.drawer-footer__right{flex-direction:column-reverse;width:100%}.drawer-footer__left{flex-direction:column;width:100%;order:1}.drawer-footer__right{order:0}.drawer-footer .tf-btn,.drawer-footer__left .tf-btn,.drawer-footer__right .tf-btn{width:100%}}.inactive-banner{display:flex;gap:.75rem;align-items:flex-start;background-color:#fff8e1;border:1px solid #f9a825;border-radius:8px;padding:.875rem 1rem;margin-bottom:1.5rem}.inactive-banner-icon{font-size:1.1rem;line-height:1.4;flex-shrink:0}.inactive-banner strong{display:block;font-size:.875rem;color:#7a5200;margin-bottom:.2rem}.inactive-banner p{margin:0;font-size:.8rem;color:#8a6200;line-height:1.4}.field{margin-bottom:1.5rem;box-sizing:border-box}.field .name-field{display:flex;align-items:center;gap:.75rem;box-sizing:border-box}.field-label{margin:0;font-size:.75rem;color:#999;text-transform:uppercase;box-sizing:border-box;padding-bottom:1rem}.field-value{margin:0;font-size:1rem;box-sizing:border-box}.field-value.large{font-size:1.1rem;font-weight:600;box-sizing:border-box}.color-badge{width:30px;height:30px;border-radius:8px;box-sizing:border-box}.notes-display{margin:.5rem 0 0;font-size:1rem;background-color:#f5f5f5;padding:.75rem;border-radius:8px;min-height:60px;box-sizing:border-box}.drawer-form{display:flex;flex-direction:column;gap:1.5rem}.form-label{display:block;font-size:.875rem;color:#999;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box}.form-textarea{min-height:100px;resize:vertical}.schedules-list{display:flex;flex-direction:column;gap:.75rem;box-sizing:border-box}.schedule-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.75rem;background-color:#f9f9f9;border-radius:6px;border-left:3px solid #007aff;box-sizing:border-box}.schedule-date{font-size:.85rem;font-weight:600;color:#666;white-space:nowrap;box-sizing:border-box}.schedule-time{font-size:.9rem;color:#333;box-sizing:border-box}.schedule-duration{font-size:.85rem;font-weight:600;color:#007aff;white-space:nowrap;box-sizing:border-box}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box}.btn-edit{background-color:#007aff;color:#fff;box-sizing:border-box}.btn-edit:hover{background-color:#0051d5}.btn-delete{background-color:transparent;color:#ff3b30;border:2px solid #ff3b30;box-sizing:border-box}.btn-delete:hover{background-color:#ff3b301a}.btn-close{background-color:transparent;color:#666;text-decoration:underline;padding:.75rem 1rem;box-sizing:border-box}.btn-close:hover{color:#333}.btn-cancel{background-color:transparent;color:#666;padding:.75rem 1rem;box-sizing:border-box}.btn-cancel:hover{color:#333}.btn-save{background-color:#34c759;color:#fff;box-sizing:border-box}.btn-save:hover{background-color:#30b550}.student-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;gap:1.5rem}.student-card--inactive{opacity:.6;background-color:#fafafa;border-color:#e8e8e8}.inactive-badge{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-size:.65rem;font-weight:600;color:#888;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.student-card:hover{box-shadow:0 4px 12px #0000001f;border-color:#d0d0d0;transform:translateY(-1px)}.student-card-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.student-color-indicator{width:14px;height:36px;border-radius:3px;flex-shrink:0;box-shadow:0 1px 2px #0000001a}.student-info{flex:1;min-width:0}.student-info h3{margin:0 0 .15rem;font-size:1rem;font-weight:600;color:#333}.student-info p{margin:0;font-size:.85rem;color:#888}.student-card-right{display:grid;grid-template-columns:repeat(3,minmax(100px,auto));gap:2rem;text-align:right;flex-shrink:0;align-items:center}.student-card-info-item{display:flex;flex-direction:column;gap:.25rem}.student-card-info-item p:first-child{margin:0;font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.student-card-info-item p:last-child{margin:0;font-size:.95rem;color:#333}.student-card-rate p:last-child{font-size:1.05rem;font-weight:700;color:#3a4fed}.student-card-email p:last-child{font-size:.9rem;word-break:break-word}@media(max-width:1024px){.student-card-right{grid-template-columns:repeat(2,minmax(90px,auto));gap:1.5rem}.student-card-email{display:none}}@media(max-width:768px){.student-card{padding:1rem 1.25rem;gap:1rem}.student-card-left{gap:.75rem;flex:1}.student-color-indicator{width:12px;height:36px}.student-info h3{font-size:.95rem}.student-info p{font-size:.8rem}.student-card-right{grid-template-columns:repeat(2,1fr);gap:1.25rem;text-align:left;flex:0 0 auto}.student-card-email{display:none}.student-card-info-item p:first-child{font-size:.65rem}.student-card-info-item p:last-child{font-size:.9rem}.student-card-rate p:last-child{font-size:1rem}}@media(max-width:480px){.student-card{padding:.75rem 1rem;gap:.75rem;flex-direction:column;align-items:flex-start}.student-card-left{width:100%;gap:.6rem}.student-color-indicator{width:12px;height:36px}.student-info h3{font-size:.9rem}.student-info p{font-size:.75rem}.student-card-right{width:100%;grid-template-columns:repeat(2,1fr);gap:1rem;text-align:left}.student-card-info-item p:first-child{font-size:.6rem}.student-card-info-item p:last-child{font-size:.85rem}.student-card-rate p:last-child{font-size:.95rem}}.form{display:flex;flex-direction:column;gap:1rem}.minor-toggle-group{background-color:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:.75rem 1rem}.minor-toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400;-webkit-user-select:none;user-select:none}.minor-toggle-label input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;cursor:pointer;accent-color:#007aff;-webkit-appearance:none;appearance:none;border:2px solid #ddd;border-radius:4px;background-color:#fff;transition:all .2s;flex-shrink:0}.minor-toggle-label input[type=checkbox]:hover{border-color:#007aff;box-shadow:0 0 0 3px #007bff1a}.minor-toggle-label input[type=checkbox]:checked{background-color:#007aff;border-color:#007aff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:65%}.minor-toggle-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #007bff33}.minor-toggle-hint{margin:0rem 0 0 1.6rem;font-size:.78rem;color:var(--text-secondary);line-height:1.4}.minor-toggle-hint a{color:inherit;text-decoration:underline}.minor-parent-group{animation:fadeIn .15s ease}.field-hint{margin:.3rem 0 0;font-size:.75rem;color:#888;line-height:1.4}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;color:#999;margin-bottom:.5rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s;height:45px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#007aff}.form-textarea{min-height:60px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.color-group{display:flex;gap:.75rem;align-items:center}.color-input{width:40px;height:40px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;height:45px}.color-value{font-size:.9rem;color:#666}.schedule-input-group{display:flex;gap:.5rem;flex-direction:column;align-items:flex-start}.schedule-input-group .form-input{flex:1}.schedule-tags{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.schedule-tag{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background-color:#f5f5f5;border-radius:6px;font-size:.875rem}.schedule-tag-remove{background:none;border:none;color:#999;cursor:pointer;padding:0;transition:color .2s}.schedule-tag-remove:hover{color:#d32f2f}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel{background-color:#f0f0f0;color:#333}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit{background-color:#007aff;color:#fff}.btn-submit:hover:not(:disabled){background-color:#0051d5}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-add-schedule{padding:.75rem 1rem;background-color:#007aff;border:none;border-radius:8px;font-size:1rem;font-weight:600;color:#fff;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-add-schedule:hover{background-color:#0051d5}.guardian-toggle{padding:0}.guardian-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;padding:.4rem 0}.guardian-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.guardian-checkbox-label{color:#666;font-weight:500;-webkit-user-select:none;user-select:none}.guardian-name-group{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.students-container{display:flex;flex-direction:column;align-items:stretch;padding:2rem 1rem;width:100%;height:fit-content;box-sizing:border-box;max-width:1000px;margin:0 auto}.students-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;box-sizing:border-box}.students-header h1{margin:0;font-size:2.5rem;color:var(--primary-color, #3a4fed)}.students-header button{width:auto;flex-shrink:0}.students-controls{width:100%;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box}.students-count{margin:0;font-size:1.1rem;color:#333;font-weight:600}.filter-group{display:flex;gap:.75rem;align-items:center}.filter-group label{font-size:.95rem;color:#666}.filter-group select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.95rem;background-color:#fff;cursor:pointer;transition:border-color .3s ease}.filter-group select:focus{outline:none;border-color:var(--primary-color, #3a4fed)}.students-list-container{width:100%;box-sizing:border-box}.students-empty{text-align:center;padding:3rem 1rem;color:#999;background-color:#f9f9f9;border-radius:8px;border:1px dashed #e0e0e0}.students-empty p{margin:0;font-size:1.05rem}.students-grid{display:grid;gap:1rem;width:100%}.students-loading{padding:2rem}@media(max-width:768px){.students-container{padding:1.5rem 1rem;max-width:100%}.students-header{flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1.5rem}.students-header h1{font-size:2rem;margin-bottom:.5rem}.students-header button{width:100%}.students-controls{flex-direction:column;gap:1rem;align-items:stretch;margin-bottom:1.5rem}.students-count{font-size:1rem}.filter-group{width:100%;flex-direction:column;gap:.5rem}.filter-group label{text-align:left}.filter-group select{width:100%}.students-grid{gap:.75rem}}@media(max-width:480px){.students-container{padding:1rem;max-width:100%}.students-header h1{font-size:1.5rem}.students-count{font-size:.95rem}.students-grid{gap:.5rem}}.students-upgrade-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fffbeb;border:1.5px solid #f59e0b;border-radius:10px;padding:.75rem 1.25rem;font-size:.9rem;color:#92400e;margin-bottom:.5rem}.students-upgrade-banner__cta{background:#111827;color:#fff;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.students-upgrade-banner__cta:hover{background:#1f2937}.schedule-modal-form{display:flex;flex-direction:column;gap:1rem}.schedule-form-field{display:flex;flex-direction:column}.schedule-form-field label{display:flex;margin-bottom:.5rem;font-weight:500;color:#333;font-size:.95rem}.schedule-form-field input,.schedule-form-field select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.schedule-form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.schedule-form-field input[type=datetime-local],.schedule-form-field input[type=date]{min-height:44px;line-height:1.5}.schedule-form-field input:focus,.schedule-form-field select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.schedule-student-selector{position:relative}.schedule-student-dropdown{top:100%;left:0;right:0;background-color:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;max-height:250px;overflow-y:auto;z-index:10;box-shadow:0 4px 6px #0000001a}.schedule-student-option{padding:.75rem;cursor:pointer;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:.75rem;transition:background-color .2s}.schedule-student-option:last-child{border-bottom:none}.schedule-student-option:hover,.schedule-student-option.highlighted{background-color:#f8f9fa;border:2px solid #007bff}.schedule-student-option.selected{background-color:#f0f7ff}.schedule-student-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.schedule-student-empty{padding:.75rem;color:#999;text-align:center}.schedule-selected-student{padding:.75rem;margin-top:.5rem;border-bottom:1px solid #ddd;color:#333;font-weight:500;font-size:.95rem}.schedule-recurring-section{border-top:1px solid #e0e0e0;padding-top:1rem;margin-top:1rem}.schedule-recurring-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#333}.schedule-recurring-end-date{margin-top:1rem}.schedule-recurring-helper{display:block;margin-top:.5rem;font-size:.85rem;color:#666}.schedule-conflict-warning{display:flex;gap:.75rem;padding:1rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin:.5rem 0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.schedule-conflict-icon{font-size:1.5rem;flex-shrink:0}.schedule-conflict-content{flex:1}.schedule-conflict-title{margin:0 0 .5rem;font-weight:600;color:#856404;font-size:.95rem}.schedule-conflict-message{margin:0;color:#856404;font-size:.9rem;line-height:1.4}.schedule-student-display{padding:.75rem;background-color:#f5f5f5;border-radius:6px;border:1px solid #ddd;color:#666;display:flex;align-items:center;gap:.75rem}.schedule-student-display-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.schedule-modal-buttons{display:flex;gap:.75rem;margin-top:.5rem;flex-direction:row-reverse}@media(max-width:480px){.schedule-modal-buttons{flex-direction:column}}.schedule-modal-button{flex:1;padding:1rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.schedule-modal-button:disabled{opacity:.6;cursor:not-allowed}.schedule-modal-button-cancel{background-color:#f0f0f0;color:#333}.schedule-modal-button-cancel:hover:not(:disabled){background-color:#e0e0e0}.schedule-modal-button-submit{background-color:#007aff;color:#fff}.schedule-modal-button-submit:hover:not(:disabled){background-color:#0051d5}.schedule-checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:400;-webkit-user-select:none;user-select:none}.schedule-checkbox-label input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;cursor:pointer;accent-color:#007aff;-webkit-appearance:none;appearance:none;border:2px solid #ddd;border-radius:4px;background-color:#fff;transition:all .2s;flex-shrink:0}.schedule-checkbox-label input[type=checkbox]:hover{border-color:#007aff;box-shadow:0 0 0 3px #007bff1a}.schedule-checkbox-label input[type=checkbox]:checked{background-color:#007aff;border-color:#007aff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:65%}.schedule-checkbox-label input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #007bff33}.schedule-checkbox-label--locked{opacity:.6;cursor:pointer}.schedule-checkbox-label--locked input[type=checkbox]{cursor:pointer;pointer-events:none}.schedule-checkbox-label--locked:hover{opacity:.8}.schedule-upgrade-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#007aff;color:#fff;padding:.1rem .4rem;border-radius:4px;vertical-align:middle;margin-left:.25rem}.schedule-group-students-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.schedule-group-student-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-radius:4px;transition:background-color .2s}.schedule-group-student-item:hover{background-color:#f0f0f0}.schedule-group-student-name{padding-left:1rem;color:#333;font-size:.95rem;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-group-student-remove{background:none;border:none;color:#dc3545;font-size:1.3rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s;flex-shrink:0;margin-left:.75rem;line-height:1}.schedule-group-student-remove:hover{color:#c82333}.schedule-student-empty{padding:.75rem;color:#999;text-align:center;font-size:.9rem}.schedule-upgrade-hint{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:#6b7280;padding:.5rem 0}.schedule-upgrade-hint__lock{font-size:1rem}.schedule-upgrade-hint__link{background:none;border:none;padding:0;color:#111827;font-weight:600;font-size:.88rem;cursor:pointer;text-decoration:underline}.schedule-upgrade-hint__link:hover{color:#374151}.complete-session-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;box-sizing:border-box}.complete-session-info{display:flex;align-items:center;padding:1rem;background-color:#f9f9f9;border-radius:8px;border-left:4px solid #3b82f6}.complete-session-info-text{margin:0;font-size:.95rem;color:#333;font-weight:500}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.9rem;font-weight:600;color:#1a1a1a}.form-input,.form-textarea{padding:.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;font-family:inherit;transition:border-color .2s ease;width:100%;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.complete-session-send-section{padding:1rem;background-color:#f9f9f9;border-radius:8px;border:1px solid #e5e5e5}.complete-session-paid-section{padding:.25rem .5rem;background-color:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0}.complete-session-paid-note{margin:.75rem 0;font-size:.8rem;color:#15803d}.complete-session-warning{display:flex;gap:.75rem;margin-top:1rem;padding:1rem;background-color:#fffbeb;border:1px solid #fbbf24;border-radius:8px}.complete-session-warning-icon{font-size:1.25rem;flex-shrink:0}.complete-session-warning-content{flex:1}.complete-session-warning-content strong{display:block;color:#92400e;margin-bottom:.25rem;font-size:.9rem}.complete-session-warning-content p{margin:0;color:#78350f;font-size:.85rem;line-height:1.5}.complete-session-warning-content a{color:#92400e;text-decoration:underline;font-weight:600}.complete-session-warning-content a:hover{color:#78350f}.complete-session-send-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:#1a1a1a}.complete-session-send-subtitle{margin:0 0 1rem;font-size:.85rem;color:#888}.form-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;cursor:pointer;border-radius:6px;transition:background-color .2s ease;font-size:.9rem}.form-checkbox:hover{background-color:#f0f0f0}.form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.checkbox-label{color:#333;font-weight:500;-webkit-user-select:none;user-select:none}.complete-session-no-contact{margin:.5rem 0 0;padding:.75rem;background-color:#fef3c7;border-left:3px solid #eab308;border-radius:4px;font-size:.85rem;color:#78350f}.complete-session-receipt-section{padding:1rem;background-color:#f0f9ff;border:2px solid #bfdbfe;border-radius:8px;display:flex;flex-direction:column;gap:.75rem}.complete-session-receipt-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:#0369a1}.complete-session-receipt-subtitle{margin:0 0 .75rem;font-size:.85rem;color:#06b6d4}.btn-receipt-preview{padding:.6rem 1rem;background-color:#06b6d4;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.btn-receipt-preview:hover{background-color:#0891b2}.btn-receipt-preview:active{transform:scale(.98)}.receipt-preview-container{margin-top:.5rem;padding:1rem;background-color:#fff;border-radius:6px;max-height:500px;overflow-y:auto;border:1px solid #e0e7ff}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e5e5}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:6px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #d0d0d0}.btn-secondary:hover:not(:disabled){background-color:#e5e5e5;border-color:#bbb}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.complete-session-form{gap:1rem}.form-textarea{min-height:170px}.modal-footer{flex-direction:column;gap:.75rem}.btn-primary,.btn-secondary{width:100%}.form-checkbox{padding:.6rem}}.send-magic-link-backdrop{position:fixed;inset:0;background-color:#00000073;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.send-magic-link-modal{position:fixed;z-index:1000;background:#fff;display:flex;flex-direction:column;animation:sml-enter .25s ease-out;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;max-width:calc(100vw - 32px);max-height:85vh;border-radius:16px;box-shadow:0 24px 48px #0000002e}@keyframes sml-enter{0%{opacity:0;transform:translate(-50%,-47%)}to{opacity:1;transform:translate(-50%,-50%)}}.send-magic-link-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.send-magic-link-header h2{margin:0;font-size:18px;font-weight:700;color:#1a1a1a}.send-magic-link-close{background:none;border:none;font-size:20px;color:#999;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s;flex-shrink:0}.send-magic-link-close:hover:not(:disabled){background:#f0f0f0;color:#333}.send-magic-link-close:disabled{opacity:.4;cursor:not-allowed}.send-magic-link-content{padding:20px 24px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.send-magic-link-student{margin:0 0 18px;color:#555;font-size:14px;line-height:1.4}.send-magic-link-student strong{color:#1a1a1a}.send-magic-link-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.send-method-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 12px;border:2px solid #e8e8e8;border-radius:12px;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;text-align:center;min-height:90px}.send-method-button:not(.disabled):hover{border-color:#667eea;background:#f5f7ff}.send-method-button.active{border-color:#667eea;background:#eef1ff;box-shadow:0 0 0 3px #667eea1f}.send-method-button.disabled{opacity:.45;cursor:not-allowed;background:#f5f5f5}.method-icon{font-size:26px;line-height:1}.method-label{font-weight:700;color:#1a1a1a;font-size:14px}.method-detail{font-size:12px;color:#888;word-break:break-all;max-width:100%;line-height:1.3}.method-detail.no-contact{color:#e53935;font-weight:600}.send-magic-link-message-section{margin-bottom:18px;animation:sml-fade .2s ease-out}@keyframes sml-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.send-magic-link-message-section label{display:block;margin-bottom:6px;font-weight:600;color:#444;font-size:13px}.send-magic-link-textarea{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;background:#fafafa;color:#333}.send-magic-link-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.send-magic-link-textarea:disabled{background:#f3f3f3;color:#aaa;cursor:not-allowed}.send-magic-link-char-count{margin:4px 0 0;font-size:11px;color:#aaa;text-align:right}.send-magic-link-error{display:flex;align-items:center;gap:8px;background:#fef2f2;border-left:3px solid #ef4444;padding:10px 14px;border-radius:8px;color:#b91c1c;font-size:13px;font-weight:500;margin-bottom:14px}.send-magic-link-info{background:#f0fdf4;border-left:3px solid #22c55e;padding:10px 14px;border-radius:8px;color:#15803d;font-size:13px;font-weight:500;margin-bottom:1rem}.send-magic-link-email-preview{margin-top:8px;padding:10px 14px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;font-family:Courier New,Courier,monospace;font-size:13px;color:#333;word-break:break-all}.send-magic-link-info p{margin:0}.send-magic-link-footer{display:flex;gap:10px;padding:16px 24px;border-top:1px solid #f0f0f0;justify-content:flex-end;flex-shrink:0}.btn-cancel,.btn-send{padding:14px 22px;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s,transform .1s;font-size:14px;line-height:1;flex:1}.btn-cancel{background:#f0f0f0;color:#444}.btn-cancel:hover:not(:disabled){background:#e4e4e4}.btn-cancel:disabled{opacity:.4;cursor:not-allowed}.btn-send{font-size:1rem;background:#667eea;color:#fff;padding:12px 24px;border-radius:6px}.btn-send:hover:not(:disabled){background:#5a6fd6}.btn-send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:600px){.send-magic-link-modal{inset:auto 0 0;transform:none;width:100%;max-width:100%;max-height:92vh;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0003;animation:sml-slideUp .3s ease-out}@keyframes sml-slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.send-magic-link-header{padding:16px 20px;position:relative}.send-magic-link-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#ddd;border-radius:2px}.send-magic-link-header h2{font-size:17px;padding-top:4px}.send-magic-link-content{padding:16px 20px}.send-magic-link-methods{grid-template-columns:1fr 1fr;gap:8px}.send-method-button{min-height:80px;padding:14px 10px}.send-magic-link-footer{padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column-reverse;gap:8px}.btn-cancel,.btn-send{width:100%;flex:none;padding:14px 22px;font-size:15px;text-align:center;line-height:1;box-sizing:border-box}}@media(max-width:380px){.send-magic-link-methods{grid-template-columns:1fr}.method-icon{font-size:22px}.send-method-button{flex-direction:row;min-height:unset;padding:12px 14px;gap:10px;text-align:left}.method-label{font-size:13px}.method-detail{font-size:11px}}.sdm-wrapper{display:flex;flex-direction:column;gap:1.5rem}.sdm-banner{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1px solid #e0e0e0;border-radius:10px}.sdm-banner-avatar{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:#2563eb;font-size:1rem;font-weight:700;flex-shrink:0}.sdm-banner-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.sdm-banner-name{font-size:1rem;font-weight:700;color:#1e1b4b}.sdm-banner-category{font-size:.8rem;color:#6d5bba}.sdm-status-pill{font-size:.72rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.sdm-status-pill--confirmed{background:#dcfce7;color:#15803d}.sdm-status-pill--cancelled{background:#fee2e2;color:#dc2626}.sdm-status-pill--viewed{background:#dbeafe;color:#1d4ed8}.sdm-status-pill--pending{background:#fef3c7;color:#92400e}.sdm-section{display:flex;flex-direction:column;gap:.5rem}.sdm-section-title{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.sdm-rows{display:flex;flex-direction:column;background:#f9fafb;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}.sdm-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .875rem;border-bottom:1px solid #f0f0f0;justify-content:space-between}.sdm-row:last-child{border-bottom:none}.sdm-label{font-size:.875rem;font-weight:500;color:#6b7280;flex-shrink:0;min-width:90px}.sdm-value{font-size:.875rem;font-weight:500;color:#111827;text-align:right}.sdm-cost-row{display:flex;align-items:center;justify-content:space-between;padding:.7rem .875rem;background:#f0f7ff;border:1px solid #dde9f8;border-radius:8px;margin-top:.25rem}.sdm-cost-label{font-size:.9rem;font-weight:600;color:#334155}.sdm-cost-value{font-size:.95rem;font-weight:700;color:#4a90e2}.sdm-status-box{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#f0f8ff;border-left:3px solid #4a90e2;border-radius:4px}.sdm-status-box.viewed{background:#f0fff4;border-left-color:#22c55e}.sdm-status-box.pending{background:#fff8f0;border-left-color:#f59e0b}.sdm-status-box.confirmed{background:#f0fdf4;border-left-color:#16a34a}.sdm-status-box.cancelled{background:#fef2f2;border-left-color:#dc2626}.sdm-status-content{flex:1;display:flex;flex-direction:column;gap:.15rem}.sdm-status-title{font-size:.9rem;color:#333;font-weight:500}.sdm-status-subtitle{font-size:.75rem;color:#888}.sdm-export-row{display:flex;gap:.75rem}.sdm-btn{padding:.7rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.sdm-btn-export{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem!important;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.sdm-btn-export:hover{border-color:#cbd5e1;background:#f8fafc;transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.sdm-btn-ics:hover{border-color:#94a3b8;color:#1e293b}.sdm-btn-google:hover{border-color:#4285f4;color:#4285f4}.sdm-export-icon{display:flex;align-items:center;font-size:1rem;line-height:1}@media(max-width:480px){.sdm-value{font-size:.8rem}.sdm-export-row{flex-direction:column}}.gsdm-wrapper{display:flex;flex-direction:column;gap:1.5rem}.gsdm-banner{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1px solid #e0e0e0;border-radius:10px}.gsdm-banner-icon{font-size:1.5rem;line-height:1}.gsdm-banner-info{flex:1;display:flex;flex-direction:column;gap:.15rem}.gsdm-banner-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.gsdm-banner-sub{font-size:.8rem;color:var(--text-secondary)}.gsdm-banner-count{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:#2563eb;color:#fff;font-size:1rem;font-weight:700;border-radius:50%;flex-shrink:0}.gsdm-section{display:flex;flex-direction:column;gap:.5rem}.gsdm-section-title{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.gsdm-rows{display:flex;flex-direction:column;background:#f9fafb;border:1px solid #f0f0f0;border-radius:8px;overflow:hidden}.gsdm-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .875rem;border-bottom:1px solid #f0f0f0;justify-content:space-between}.gsdm-row:last-child{border-bottom:none}.gsdm-label{font-size:.875rem;font-weight:500;color:#6b7280;flex-shrink:0;min-width:90px}.gsdm-value{font-size:.875rem;font-weight:500;color:#111827;text-align:right}.gsdm-roster{display:flex;flex-direction:column;gap:.375rem}.gsdm-roster-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;background:#f9fafb;border:1px solid #f0f0f0;border-radius:8px}.gsdm-avatar{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem;font-weight:700;flex-shrink:0}.gsdm-student-name{flex:1;font-size:.9rem;font-weight:500;color:#111827}.gsdm-status-pill{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;white-space:nowrap;flex-shrink:0}.gsdm-status-pill--confirmed{background:#dcfce7;color:#15803d}.gsdm-status-pill--cancelled{background:#fee2e2;color:#dc2626}.gsdm-status-pill--viewed{background:#dbeafe;color:#1d4ed8}.gsdm-status-pill--pending{background:#fef3c7;color:#92400e}@media(max-width:480px){.gsdm-value{font-size:.8rem}}.pending-reschedule-card{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.pending-reschedule-title{margin:0;font-size:1.1rem;font-weight:600;color:#ff9800;display:flex;align-items:center;gap:.5rem}.pending-reschedule-list{display:flex;flex-direction:column;gap:.5rem}.pending-reschedule-item{padding:.75rem 1rem;background:transparent;border:1px solid #e8e8e8;border-radius:8px;display:flex;align-items:center;gap:1.5rem;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.pending-reschedule-item:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #00000014}.pending-reschedule-header{flex:0 0 150px;display:flex;flex-direction:column;gap:.25rem}.pending-reschedule-student-name{margin:0;font-weight:600;font-size:1rem;color:#333}.pending-reschedule-details{display:flex;gap:2rem;flex:1;align-items:center}.pending-reschedule-details>div{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.7rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.9rem;color:#333}.pending-reschedule-btn{white-space:nowrap;flex-shrink:0;padding:.5rem 1rem;font-size:.85rem;width:unset}@media(max-width:768px){.pending-reschedule-item{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.75rem}.pending-reschedule-header{flex:1;width:100%}.pending-reschedule-details{flex-direction:row;gap:1rem;width:100%}.pending-reschedule-btn{width:100%}}@media(max-width:600px){.pending-reschedule-details{flex-direction:row;gap:.75rem;width:100%}.pending-reschedule-details>div{flex:1;min-width:0}.pending-reschedule-btn{width:100%}}.group-schedule-confirm-content{display:flex;flex-direction:column;gap:1.5rem}.group-schedule-confirm-alert{display:flex;gap:1rem;padding:1rem;background-color:#f9f9f9;border-radius:8px;border-left:4px solid rgb(255,151,54)}.group-schedule-confirm-icon{font-size:1.5rem;flex-shrink:0}.group-schedule-confirm-message{flex:1}.group-schedule-confirm-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#333}.group-schedule-confirm-description{margin:0;font-size:.9rem;color:#666;line-height:1.4}.group-schedule-confirm-students{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:6px}.group-schedule-confirm-student{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#333}.group-schedule-confirm-dot{color:#007aff;font-weight:700}.group-schedule-confirm-buttons{display:flex;gap:.75rem}.group-schedule-confirm-button{flex:1;padding:.75rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.group-schedule-confirm-button:disabled{opacity:.6;cursor:not-allowed}.group-schedule-confirm-button-cancel{background-color:#f0f0f0;color:#333}.group-schedule-confirm-button-cancel:hover:not(:disabled){background-color:#e0e0e0}.group-schedule-confirm-button-update{background-color:#007aff;color:#fff}.group-schedule-confirm-button-update:hover:not(:disabled){background-color:#0051d5}.group-schedule-confirm-button-delete{background-color:#dc3545;color:#fff}.group-schedule-confirm-button-delete:hover:not(:disabled){background-color:#c82333}.recurrence-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out}.recurrence-modal{background-color:#fff;border-radius:16px;padding:2rem;max-width:450px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.recurrence-title{margin:0 0 .5rem;font-size:1.5rem;color:#333}.recurrence-text{margin:0 0 1.5rem;font-size:.95rem;color:#666;line-height:1.5}.recurrence-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.recurrence-btn{padding:1rem;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;transition:all .2s ease;text-align:left}.recurrence-btn:hover{border-color:#999;background-color:#f8f9fa;transform:translateY(-2px)}.recurrence-btn-single{border-color:#007bff;background-color:#f0f7ff}.recurrence-btn-single:hover{border-color:#0056b3;background-color:#e3f2fd}.recurrence-btn-all{border-color:#ffc107;background-color:#fffbf0}.recurrence-btn-all:hover{border-color:#cc9800;background-color:#fff8e1}.recurrence-btn-label{font-weight:600;color:#333;font-size:.95rem}.recurrence-btn-desc{font-size:.8rem;color:#999}.recurrence-cancel{width:100%;padding:.75rem;background-color:#f0f0f0;border:none;border-radius:6px;cursor:pointer;font-weight:500;color:#666;transition:all .2s ease}.recurrence-cancel:hover{background-color:#e0e0e0}@media(max-width:480px){.recurrence-modal{padding:1.5rem}.recurrence-title{font-size:1.25rem}.recurrence-btn{padding:.75rem}.recurrence-btn-label{font-size:.9rem}.recurrence-btn-desc{font-size:.75rem}}.schedule-container{display:flex;flex-direction:column;align-items:stretch;padding:2rem 1rem;width:100%;height:fit-content;box-sizing:border-box;max-width:1000px;margin:0 auto}.schedule-container .schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;box-sizing:border-box;width:100%}.schedule-container .schedule-header h1{margin:0;font-size:2.5rem;color:var(--primary-color, #3a4fed)}.schedule-container .schedule-header button{width:auto;flex-shrink:0}.schedule-container .schedule-summary-strip{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:.75rem 1.5rem;margin-bottom:1.5rem}.schedule-container .schedule-summary-group{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:center}.schedule-container .schedule-summary-divider{width:1px;height:1.5rem;background:#e8eaed;margin:0 1rem;flex-shrink:0}.schedule-container .schedule-summary-label{font-size:.8rem;font-weight:600;color:#888;letter-spacing:.04em;white-space:nowrap}.schedule-container .schedule-summary-value{font-size:.9rem;font-weight:600;color:#0f172a;white-space:nowrap}.schedule-container .schedule-summary-earnings{font-size:.9rem;font-weight:500;color:#06f;white-space:nowrap}.schedule-container .schedule-summary-earnings:before{content:"·";margin-right:.5rem;color:#ccc}.schedule-container .schedule-summary-trend{font-size:.65rem;font-weight:500;white-space:nowrap;border-radius:4px}.schedule-container .schedule-summary-trend:before{content:"·";margin-right:.5rem;color:#ccc}.schedule-container .schedule-summary-trend.trend-up{color:#10b981}.schedule-container .schedule-summary-trend.trend-down{color:#ef4444}.schedule-container .schedule-next-session{display:flex;align-items:baseline;gap:.6rem;background:#f0f6ff;border:1px solid #c7dbff;border-radius:10px;padding:.65rem 1rem;margin-bottom:1.25rem;cursor:pointer;transition:background .15s ease;flex-wrap:wrap}.schedule-container .schedule-next-session:hover{background:#e0edff}.schedule-container .schedule-next-session:focus-visible{outline:2px solid #007aff;outline-offset:2px;box-shadow:0 0 0 4px #007aff26}.schedule-container .schedule-next-session-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#06f;white-space:nowrap;flex-shrink:0}.schedule-container .schedule-next-session-content{display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;flex-wrap:wrap}.schedule-container .schedule-next-session-name{font-size:.875rem;font-weight:600;color:#0f172a;white-space:nowrap}.schedule-container .schedule-next-session-dot{color:#94a3b8;font-size:.75rem}.schedule-container .schedule-next-session-time{font-size:.825rem;color:#475569;white-space:nowrap}@media(max-width:480px){.schedule-container .schedule-next-session-time{display:none}}.schedule-container .schedule-next-session-group-badge{font-size:.7rem;font-weight:700;color:#0369a1;background:#e0f2fe;padding:.15rem .45rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.schedule-container .schedule-next-session-countdown{font-size:.775rem;font-weight:600;color:#06f;background:#dbeafe;padding:.2rem .5rem;border-radius:20px;white-space:nowrap;flex-shrink:0;margin-left:auto}.schedule-container .pending-reschedule-section{margin-bottom:2rem;animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.schedule-container .schedule-layout{display:flex;flex-direction:column;gap:2rem}.schedule-container .schedule-unified-panel{background-color:unset}.schedule-container .schedule-unified-panel h2{margin:0 0 1.5rem;font-size:1.2rem;color:#333}.schedule-container .schedule-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e8e8e8}.schedule-container .schedule-tab{padding:.75rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;color:#666;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.schedule-container .schedule-tab:hover{color:#333;background-color:#f9f9f9}.schedule-container .schedule-tab.active{color:#007bff;border-bottom-color:#007bff}.schedule-container .schedule-search-container{margin-bottom:1.5rem;width:100%}.schedule-container .schedule-search-input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.schedule-container .schedule-search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.schedule-container .schedule-calendar-wrapper{min-height:500px}.schedule-container .schedule-list-container{max-height:600px;overflow-y:auto}.schedule-container .schedule-empty{color:#999;text-align:center;padding:2rem}.schedule-container .schedule-items{display:flex;flex-direction:column;gap:.5rem}.schedule-container .schedule-item{border:1px solid #e8e8e8;border-radius:8px;padding:1rem;background-color:#fff;transition:all .2s;box-shadow:0 1px 2px #0000000d;display:flex;align-items:center;gap:1rem;justify-content:space-between}.schedule-container .schedule-item:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #00000014}.schedule-container .schedule-item:focus-visible{outline:2px solid #007aff;outline-offset:2px;border-color:#007aff;box-shadow:0 0 0 4px #007aff26}.schedule-container .schedule-item-upcoming,.schedule-container .schedule-item-past{background-color:#fff;border:1px solid #e8e8e8}.schedule-container .schedule-item-header{display:flex;align-items:center;gap:.75rem;flex:0 0 auto;min-width:150px}.schedule-container .schedule-item-header>div:last-child{display:flex;flex-direction:column;gap:.25rem}.schedule-container .schedule-item-header h3{margin:0;font-size:1.05rem;font-weight:600;color:#1a1a1a}.schedule-container .schedule-item-color{width:14px;height:14px;border-radius:3px;flex-shrink:0;margin-top:.25rem}.schedule-container .schedule-item-title{display:flex;flex-direction:column;gap:.25rem}.schedule-container .schedule-item-title .schedule-item-group-badge-container{display:flex;align-items:center;gap:.25rem}.schedule-container .schedule-item-title h3{margin:0;font-size:1.05rem;font-weight:600;color:#1a1a1a}.schedule-container .schedule-item-subtitle{font-size:.85rem;color:#999;font-weight:500}.schedule-container .schedule-item-details{display:flex;font-size:.9rem;color:#555;flex:1;margin:0;padding:0;align-items:center;min-width:250px;justify-content:space-around}.schedule-container .schedule-item-details>div{display:flex;flex-direction:column;gap:.15rem;white-space:nowrap}.schedule-container .schedule-item-details>div:first-child:before{content:"Date";font-size:.7rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-container .schedule-item-details>div:nth-child(2):before{content:"Time";font-size:.7rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-container .schedule-item-details>div:nth-child(3):before{content:"Duration";font-size:.7rem;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-container .schedule-item-duration{color:#666}.schedule-container .schedule-item-separator{display:none;color:#999}.schedule-container .schedule-recurring-badge{display:inline-block;background-color:#fff3cd;color:#856404;padding:.35rem .85rem;border-radius:14px;font-size:.75rem;font-weight:600;border:1px solid #ffeeba;width:fit-content}.schedule-container .schedule-group-container{position:relative;margin-bottom:.75rem;padding:8px;background:linear-gradient(135deg,#f0f4ff,#fef7ff);border-radius:12px;border:2px solid #d0d9ff;box-shadow:0 2px 4px #667eea14}.schedule-container .schedule-group-container:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:4px;border-radius:2px}.schedule-container .schedule-item-grouped{margin-bottom:6px;border-left:3px solid #667eea}.schedule-container .schedule-item-grouped:last-child{margin-bottom:0}.schedule-container .schedule-item-group-first{border-top-left-radius:8px;border-top-right-radius:8px}.schedule-container .schedule-item-group-last{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.schedule-container .schedule-item-grouped:hover{border-left-color:#764ba2;box-shadow:0 2px 8px #667eea26}.schedule-container .schedule-item-group-info{font-size:.85rem;color:#666;margin-top:.25rem;line-height:1.4;font-weight:400}.schedule-container .schedule-item-group-label{color:#666;font-size:.9rem;font-weight:400}.schedule-container .schedule-item-group-badge{display:inline-flex;align-items:center;gap:.4rem;margin-right:.25rem;padding:.25rem .75rem;background-color:#e0f2fe;color:#0369a1;border-radius:5px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.schedule-container .schedule-item-group-badge .badge-icon{width:14px;height:14px;flex-shrink:0}.schedule-container .schedule-item-pending-badge{display:inline-flex;align-items:center;gap:.4rem;margin-right:.25rem;padding:.25rem .75rem;background-color:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:5px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.schedule-container .schedule-item-pending-badge .badge-icon{width:14px;height:14px;flex-shrink:0}.schedule-container .schedule-item-recurring-badge{display:inline-flex;align-items:center;gap:.4rem;margin-right:.25rem;padding:.25rem .75rem;background-color:#f0f8da;color:#708504;border:1px solid #25ac07;border-radius:5px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.schedule-container .schedule-item-last-occurrence-badge{display:inline-flex;align-items:center;gap:.4rem;margin-right:.25rem;padding:.25rem .75rem;background-color:#effae9;color:#708504;border:1px solid #25ac07;border-radius:5px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.schedule-container .schedule-item-actions{display:flex;gap:.4rem;flex:0 0 auto}.schedule-container .schedule-item-actions button{cursor:pointer;font-family:inherit;padding:8px 12px;font-size:.9rem;border-radius:6px;font-weight:500;transition:all .2s;text-transform:none;line-height:1.5}.schedule-container .schedule-item-actions button:hover{opacity:.9}.schedule-container .schedule-item-actions .btn-edit{background-color:#007bff}.schedule-container .schedule-item-actions .btn-confirm{background-color:#28a745}.schedule-container .schedule-item-actions .btn-complete{border:1px solid #28a745;color:green;background:#fff;cursor:pointer}.schedule-container .schedule-item-actions .btn-complete:hover{background-color:#28a745;color:#fff}.schedule-container .schedule-item-actions .btn-delete{background-color:#dc3545}.schedule-container .schedule-item-actions .confirmation-status{display:flex;gap:8px;align-items:center}.schedule-container .confirmation-status span{padding:8px 12px;border-radius:6px;font-size:.9rem;font-weight:500;white-space:nowrap}.schedule-container .status-viewed{background-color:#cfe2ff;color:#084298;width:100%}.schedule-container .status-confirmed{border:1px solid #28a745;color:green;background:#fff;cursor:pointer;width:100%}.schedule-container .status-confirmed:hover{background-color:#28a745;color:#fff;border:#0f5132 1px solid}.schedule-container .status-pending{background-color:#fff;color:#d8aa20;border:2px solid #ffc107}.schedule-container .status-pending:hover{background-color:#ffe69c;color:#d8aa20}.schedule-container .status-awaiting{background-color:#fff3cd;color:#664d03}.schedule-container .status-cancelled{background-color:#f8d7da;color:#842029}.schedule-container .schedule-item-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0}.schedule-container .schedule-item-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4CAF50}.schedule-container .schedule-item-checkbox input[type=checkbox]:hover{transform:scale(1.1)}.schedule-container .schedule-item.schedule-item-selected{background-color:#f0f8f0;border-color:#4caf50}.schedule-container .schedule-selection-toolbar{display:flex;align-items:center;justify-content:space-between;background-color:#f9f9f9;border-radius:8px;margin-bottom:1rem}.schedule-container .schedule-selection-info{display:flex;align-items:center;gap:1rem;font-size:.95rem;color:#666;font-weight:500}.schedule-container .link-button{background:none;border:none;color:#4caf50;text-decoration:underline;cursor:pointer;font-weight:500;padding:0;font-size:.95rem}.schedule-container .link-button:hover{color:#45a049}.schedule-container .btn-delete-selected{background-color:#f44336;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:4px;cursor:pointer;font-weight:500;font-size:.95rem;transition:background-color .2s;white-space:nowrap}.schedule-container .btn-delete-selected:hover{background-color:#da190b}.schedule-container .btn-delete-selected:active{transform:scale(.98)}.schedule-container .schedule-loading{padding:2rem}.schedule-container .schedule-modal-content{display:flex;flex-direction:column;gap:1rem;max-height:60vh;overflow-y:auto}.schedule-container .schedule-modal-empty{text-align:center;color:#999;padding:2rem;font-style:italic}.schedule-container .pending-warning-main{margin-bottom:1rem;font-size:1rem;line-height:1.5}.schedule-container .pending-warning-details{margin-bottom:1rem;font-size:.95rem;line-height:1.5;color:#666}.schedule-container .pending-warning-box{padding:1rem;background-color:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin-bottom:1rem}.schedule-container .pending-warning-box-title{margin:0 0 .5rem;font-size:.95rem;line-height:1.4;color:#856404}.schedule-container .pending-warning-list{margin:0;padding-left:1.5rem;list-style-type:disc}.schedule-container .pending-warning-list li{font-size:.9rem;line-height:1.6;color:#856404;margin-bottom:.25rem}.schedule-container .pending-warning-list li:last-child{margin-bottom:0}.schedule-container .pending-warning-footer{margin:0;font-size:.9rem;color:#666}@media(max-width:1024px){.schedule-container{padding:2rem 1rem;max-width:100%}.schedule-calendar-wrapper{min-height:500px}}@media(max-width:768px){.schedule-container{padding:1.5rem 1rem;max-width:100%}.schedule-container .schedule-header{flex-direction:column;gap:1rem;align-items:stretch}.schedule-container .schedule-header h1{font-size:2rem;margin-bottom:.5rem}.schedule-container .schedule-header button{width:100%}.schedule-container .schedule-calendar-wrapper{min-height:400px}.schedule-container .schedule-tabs{gap:0;margin-bottom:1rem;overflow-x:auto}.schedule-container .schedule-tab{padding:.6rem 1rem;font-size:.95rem;white-space:nowrap}.schedule-container .schedule-item{padding:.6rem;margin-bottom:.5rem;flex-direction:column;align-items:flex-start;gap:.6rem}.schedule-container .schedule-item-header{gap:.5rem;min-width:120px}.schedule-container .schedule-item-header h3{font-size:.95rem;margin:0}.schedule-container .schedule-item-details{flex-direction:row;align-items:center;min-width:auto;flex:1;font-size:.8rem}.schedule-container .schedule-item-details>div{white-space:nowrap;flex:0 1 auto}.schedule-container .schedule-item-details>div:before{font-size:.65rem;margin-right:.25rem}.schedule-container .schedule-item-actions{flex:0 0 auto;gap:.25rem;flex-wrap:nowrap}.schedule-container .schedule-item-actions button{padding:.4rem .75rem;font-size:.75rem;white-space:nowrap}.schedule-container .confirmation-status span{padding:4px 8px;font-size:.8rem}}@media(max-width:480px){.schedule-container{padding:1rem;max-width:100%}.schedule-container .schedule-header h1{font-size:1.5rem}.schedule-container .schedule-summary-strip{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 1rem}.schedule-container .schedule-summary-divider{width:100%;height:1px;margin:0}.schedule-container .schedule-summary-group{justify-content:flex-start}.schedule-container .schedule-summary-trend:before{display:none}.schedule-container .schedule-next-session{gap:.4rem}.schedule-container .schedule-next-session-countdown{margin-left:0}.schedule-container .schedule-item{display:flex;flex-direction:column;padding:1rem;margin-bottom:.75rem;border-radius:12px;border:1px solid #e0e0e0;background:#fff;box-shadow:0 1px 3px #00000014;gap:.75rem;align-items:stretch}.schedule-container .schedule-item:hover{box-shadow:0 2px 8px #0000001f}.schedule-container .schedule-item-checkbox{display:none}.schedule-container .schedule-item-header{display:flex;align-items:flex-start;gap:.5rem;min-width:auto;flex-direction:column}.schedule-container .schedule-item-title{display:flex;flex-direction:column;gap:.5rem;width:100%}.schedule-container .schedule-item-title h3{font-size:1.25rem;font-weight:700;margin:0;color:#1a1a1a}.schedule-container .schedule-item-title>div{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.schedule-container .schedule-item-group-badge,.schedule-container .schedule-item-pending-badge,.schedule-container .schedule-item-recurring-badge{font-size:14.4px;padding:.25rem .6rem;margin-left:0;width:fit-content;gap:.4rem}.schedule-container .schedule-item-details{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-width:auto;font-size:.9rem;color:#666;margin:0;padding:0}.schedule-container .schedule-item-details>div{display:inline;white-space:nowrap}.schedule-container .schedule-item-separator{display:inline;color:#999;margin:0 .25rem}.schedule-container .schedule-item-details>div:before{display:none}.schedule-container .schedule-item-actions{display:flex;gap:.5rem;flex-direction:column;width:100%;margin-top:.25rem}.schedule-container .schedule-item-actions button{width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:600;border-radius:8px;white-space:nowrap}.schedule-container .confirmation-status{width:100%}.schedule-container .confirmation-status span{display:block;text-align:center;padding:.75rem 1rem;font-size:.95rem;border-radius:8px;font-weight:600;width:100%}.schedule-container .schedule-item-subtitle{font-size:.8rem;color:#999;margin-top:.25rem}.schedule-container .schedule-item-group-info{font-size:.8rem;color:#666;margin-top:.5rem;line-height:1.4}}.inv-modal{display:flex;flex-direction:column;gap:0}.inv-modal-summary{display:flex;align-items:center;gap:0;background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-light, #e8eaed);border-radius:10px;padding:14px 20px;margin-bottom:14px}.inv-modal-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.inv-modal-stat-divider{width:1px;height:32px;background:var(--border-light, #e8eaed)}.inv-modal-stat-label{font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.04em}.inv-modal-stat-value{font-size:17px;font-weight:700;color:var(--text-primary, #111827)}.inv-modal-stat-paid{color:#16a34a}.inv-modal-stat-owed{color:#dc2626}.inv-modal-actions-row{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.inv-modal-mark-all-btn{flex:1;padding:9px 16px;background:#16a34a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.inv-modal-mark-all-btn:hover:not(:disabled){background:#15803d}.inv-modal-mark-all-btn:disabled{opacity:.5;cursor:not-allowed}.inv-modal-send-btn{flex:1;padding:9px 16px;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.inv-modal-send-btn:hover:not(:disabled){background:var(--color-primary-dark, #2563eb)}.inv-modal-send-btn.sent,.inv-modal-send-btn:disabled{background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280);cursor:default}.inv-modal-no-email{font-size:12px;color:var(--text-secondary, #9ca3af);font-style:italic}.inv-modal-pro-pdf-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary, #f8f9fa);border:1px dashed #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);cursor:pointer;transition:border-color .15s,background .15s}.inv-modal-pro-pdf-btn:hover{border-color:#7c3aed;background:#faf5ff;color:#7c3aed}.inv-modal-pro-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#3b82f6;color:#fff;padding:.1rem .4rem;border-radius:4px}.inv-modal-send-error{font-size:12px;color:#dc2626;margin:-10px 0 10px}.inv-modal-sessions-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;padding:0 2px}.inv-modal-sessions-title{font-size:13px;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.inv-modal-sessions-meta{font-size:12px;color:var(--text-secondary, #9ca3af)}.inv-modal-sessions{display:flex;flex-direction:column;gap:6px;max-height:55vh;overflow-y:auto;padding-right:2px}.inv-modal-sessions::-webkit-scrollbar{width:4px}.inv-modal-sessions::-webkit-scrollbar-track{background:transparent}.inv-modal-sessions::-webkit-scrollbar-thumb{background:var(--border-light, #d1d5db);border-radius:4px}.inv-modal-empty{text-align:center;padding:40px 20px;color:var(--text-secondary, #9ca3af);font-size:14px}.inv-modal-all-paid-note{text-align:center;padding:10px 0 4px;font-size:13px;color:var(--color-success, #16a34a);font-weight:500}.inv-modal-paid-group{margin-top:4px;border-radius:8px;border:1px solid var(--border-light, #e5e7eb)}.inv-modal-paid-group-toggle{height:59px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--bg-subtle, #f9fafb);border:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);gap:8px;transition:background .15s;border-radius:8px 8px 0 0}.inv-modal-paid-group-toggle:hover{background:var(--bg-muted, #f3f4f6);color:var(--text-primary, #111827)}.inv-modal-paid-group-total{font-weight:600;color:var(--text-primary, #374151);font-size:1rem}.inv-modal-paid-group-rows{display:flex;flex-direction:column;gap:0;border-radius:0 0 8px 8px}.inv-modal-paid-group-rows::-webkit-scrollbar{width:4px}.inv-modal-paid-group-rows::-webkit-scrollbar-track{background:transparent}.inv-modal-paid-group-rows::-webkit-scrollbar-thumb{background:var(--border-light, #d1d5db);border-radius:4px}.inv-modal-paid-group-rows .inv-modal-session--paid{border-radius:0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--border-light, #e5e7eb)}.inv-modal-paid-group-rows .inv-modal-session--paid:first-child{border-top:1px solid var(--border-light, #e5e7eb)}.inv-modal-session{border-radius:9px;overflow:hidden;background:var(--bg-primary, #fff);transition:border-color .15s}.inv-modal-session-open{border-color:var(--color-primary, #3b82f6)}.inv-modal-session-row{display:flex;align-items:center;gap:8px;padding:2px 12px 2px 0}.inv-modal-session-toggle{flex:1;display:flex;align-items:center;gap:12px;padding:12px 0 12px 14px;background:none;border:none;cursor:pointer;text-align:left}.inv-modal-session-date{font-size:14px;font-weight:500;color:var(--text-primary, #111827)}.inv-modal-session-status{font-size:12px;font-weight:600;padding:3px 9px;border-radius:20px}.inv-modal-session-status.paid{background:#dcfce7;color:#16a34a}.inv-modal-session-status.unpaid{background:#fef3c7;color:#d97706}.inv-modal-session-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.inv-modal-session-cost{font-size:14px;font-weight:700;color:var(--text-primary, #111827);min-width:52px;text-align:right}.inv-modal-row-paid-btn{padding:5px 11px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.inv-modal-row-paid-btn:hover{background:#15803d}.inv-modal-session-chevron{font-size:9px;color:var(--text-secondary, #9ca3af);width:14px;text-align:center}.inv-modal-session-detail{padding:12px 14px 14px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--border-light, #e8eaed);margin-top:0}.inv-modal-detail-section{display:flex;flex-direction:column;gap:4px}.inv-modal-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #9ca3af);margin:0}.inv-modal-detail-text{font-size:13px;color:var(--text-primary, #374151);line-height:1.55;margin:0}.inv-modal-detail-no-report{font-size:13px;color:var(--text-secondary, #9ca3af);font-style:italic;margin:0}@media(max-width:600px){.inv-modal-summary{padding:12px 14px}.inv-modal-stat-value{font-size:15px}.inv-modal-sessions{max-height:none}.inv-modal-session-date{font-size:13px}.inv-modal-row-paid-btn{font-size:11px;padding:4px 9px}}.invoices-container{width:100%;height:fit-content;max-width:1200px;margin:0 auto;padding:2rem 1.5rem;box-sizing:border-box}.invoices-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.invoices-title-section h1{font-size:2.5rem;font-weight:700;margin:0;color:var(--primary-color, #3a4fed)}.invoices-subtitle{margin:.5rem 0 0;font-size:.95rem;color:#666}.invoices-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid #e5e5e5;overflow-x:auto}.invoices-tab{background:none;border:none;padding:.75rem 1rem;font-size:.95rem;font-weight:500;color:#888;cursor:pointer;position:relative;white-space:nowrap;transition:color .2s ease}.invoices-tab:hover{color:#333}.invoices-tab.active{color:#3b82f6}.invoices-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:#3b82f6}.invoices-tab-overdue,.invoices-tab-overdue.active{color:#ef4444}.invoices-tab-overdue.active:after{background-color:#ef4444}.invoices-table{display:flex;flex-direction:column;border:1px solid #e8eaed;border-radius:12px;overflow:hidden;background:#fff}.invoices-table-header,.invoices-table-row{display:grid;grid-template-columns:2fr 1.2fr 80px 100px 110px 70px;align-items:center;gap:0;padding:0 1.25rem}.invoices-table-header{background:#f8f9fa;border-bottom:1px solid #e8eaed;padding-top:.65rem;padding-bottom:.65rem}.invoices-table-header span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9ca3af}.invoices-table-row{background:none;border:none;border-bottom:1px solid #f1f5f9;padding-top:.85rem;padding-bottom:.85rem;cursor:pointer;text-align:left;transition:background .12s;width:100%}.invoices-table-row:last-child{border-bottom:none}.invoices-table-row:hover{background:#f8faff}.invoices-table-row:hover .inv-view-btn{color:#2563eb;opacity:1}.inv-col-student{display:flex;align-items:center;gap:.75rem;min-width:0}.invoice-student-avatar{width:34px;height:34px;border-radius:8px;flex-shrink:0}.inv-student-info{display:flex;flex-direction:column;gap:2px;min-width:0}.inv-student-name{font-size:.9rem;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-student-number{font-size:.75rem;color:#9ca3af}.inv-col-date{font-size:.875rem;color:#374151}.inv-col-sessions{font-size:.875rem;color:#374151;font-weight:500}.inv-col-amount{font-size:.9rem;font-weight:700;color:#111827}.inv-col-status{display:flex;align-items:center}.inv-col-action{text-align:right}.inv-view-btn{font-size:.8rem;font-weight:600;color:#9ca3af;opacity:.7;transition:color .15s,opacity .15s;white-space:nowrap}.invoice-status-badge{display:inline-block;padding:.3rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.invoice-status-paid{background:#dcfce7;color:#16a34a}.invoice-status-pending{background:#fef3c7;color:#d97706}.invoice-status-overdue{background:#fee2e2;color:#dc2626}.invoices-empty{text-align:center;padding:4rem 1rem;color:#9ca3af;font-size:1rem;background:#fff;border:1px solid #e8eaed;border-radius:12px}@media(max-width:640px){.invoices-table-header{display:none}.invoices-table-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 0;padding:.9rem 1rem}.inv-col-student{grid-column:1;grid-row:1}.inv-col-status{grid-column:2;grid-row:1;align-self:start}.inv-col-date,.inv-col-sessions{display:none}.inv-col-amount{grid-column:1;grid-row:2;padding-left:calc(34px + .75rem);font-size:.85rem}.inv-col-action{grid-column:2;grid-row:2;align-self:end}}@media(max-width:768px){.invoices-container{padding:1.5rem 1rem}.invoices-header{flex-direction:column;align-items:flex-start;gap:1rem}.invoices-title-section h1{font-size:1.5rem}.invoices-tabs{gap:.5rem}.invoices-tab{padding:.6rem .75rem;font-size:.85rem}}@media(max-width:480px){.invoices-container{padding:1rem}.invoices-title-section h1{font-size:1.25rem}.invoices-tabs{gap:.25rem}.invoices-tab{padding:.5rem;font-size:1rem}}.invoice-card-header{padding:1.5rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.invoice-card-info{display:flex;gap:1rem;align-items:center;flex:1}.invoice-student-avatar{width:48px;height:48px;border-radius:10px;flex-shrink:0}.invoice-card-details{min-width:0}.invoice-number{margin:0;font-size:.95rem;font-weight:600;color:#1a1a1a}.invoice-student-name{margin:.25rem 0 0;font-size:.85rem;color:#888}.invoice-status-badge{padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize;flex-shrink:0;margin-left:1rem}.invoice-status-paid{background-color:#ecfdf5;color:#065f46}.invoice-status-pending{background-color:#fffbeb;color:#92400e}.invoice-status-overdue{background-color:#fef2f2;color:#991b1b}.invoice-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:1.5rem}.invoice-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.invoice-meta-item{display:flex;flex-direction:column;gap:.4rem}.invoice-meta-label{font-size:.8rem;color:#999;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.invoice-meta-value{font-size:.95rem;font-weight:600;color:#1a1a1a}.invoice-amount{color:#3b82f6;font-size:1.1rem}.invoice-sessions-preview{display:flex;flex-direction:column;gap:.75rem;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.invoice-sessions-title{margin:0;font-size:.85rem;font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px}.invoice-sessions-list{display:flex;flex-direction:column;gap:.5rem}.invoice-session-item-wrapper{display:flex;align-items:stretch;gap:.5rem}.invoice-session-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem;background-color:#f9f9f9;border-radius:6px;font-size:.85rem;flex:1;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.invoice-session-item:hover{background-color:#f0f0f0}.invoice-session-mark-paid{padding:.6rem .75rem;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.invoice-session-mark-paid:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.invoice-session-date{color:#666;flex:1}.invoice-session-cost{font-weight:600;color:#1a1a1a;margin:0 .5rem}.invoice-session-paid{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.invoice-session-paid.paid{background-color:#ecfdf5;color:#065f46}.invoice-session-paid.unpaid{background-color:#fef3c7;color:#78350f}.invoice-sessions-more{margin:.5rem 0 0;font-size:.8rem;color:#999;padding:0 .6rem}.invoice-card-footer{padding:1.5rem;border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:flex-end}.invoice-btn{padding:.6rem 1.2rem;border-radius:8px;border:1px solid;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.invoice-btn-view{background-color:#f0f0f0;border-color:#e5e5e5;color:#333}.invoice-btn-view:hover{background-color:#e5e5e5;border-color:#d0d0d0}.invoice-btn-mark-paid{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.invoice-btn-mark-paid:hover{background-color:#2563eb;border-color:#2563eb}@media(max-width:768px){.invoices-container{padding:1.5rem 1rem}.invoices-header{flex-direction:column;align-items:flex-start;gap:1rem}.invoices-title-section h1{font-size:1.5rem}.invoices-tabs{gap:.5rem}.invoices-tab{padding:.6rem .75rem;font-size:.85rem}.invoice-card-header{padding:1rem}.invoice-card-body{padding:1rem;gap:1rem}.invoice-card-footer{padding:1rem;flex-direction:column;gap:.75rem}.invoice-btn{width:100%;padding:.7rem 1rem}.invoice-meta{display:grid;gap:.75rem}.invoice-student-avatar{width:40px;height:40px}.invoice-status-badge{margin-left:0}}@media(max-width:480px){.invoices-container{padding:1rem}.invoices-title-section h1{font-size:1.25rem}.invoices-tabs{gap:.25rem}.invoices-tab{padding:.5rem;font-size:1rem}.invoice-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.invoice-status-badge{align-self:flex-start}.invoice-card-body,.invoice-card-footer{padding:.75rem}.invoice-btn{font-size:.8rem;padding:.6rem .8rem}}.profile-container{max-width:700px;width:100%;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;box-sizing:border-box;margin-left:auto;margin-right:auto;padding:32px 16px 64px;display:block}.profile-header,.profile-section{width:100%}.profile-header{text-align:left;margin-bottom:40px}.profile-header h1{font-size:1.5rem;font-weight:700;color:#3b82f6;margin:0 0 8px;letter-spacing:-.5px}.profile-header p{font-size:1rem;color:#64748b;margin:0}.profile-section{background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #3b82f612,0 1.5px 6px #0000000a;margin-bottom:32px;overflow:hidden;border:1px solid #e2e8f0}.profile-section-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#f8fafc}.profile-section-title{display:flex;align-items:center;gap:.75rem}.profile-section-title svg{color:#3b82f6;flex-shrink:0}.profile-section-title h2{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.profile-required-badge{background:#fee2e2;color:#dc2626;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:4px}.profile-edit-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.profile-edit-btn:hover{background:#2563eb;transform:translateY(-1px)}.profile-section-description{padding:0 1.5rem 1rem;color:#6b7280;font-size:.95rem;background:#f8fafc}.profile-section-content{padding:1.5rem;background:transparent}.profile-section-content.editing{background:#f8fafc}.profile-info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.profile-info-row:last-child{border-bottom:none}.profile-info-row label{font-weight:500;color:#374151;font-size:.95rem}.profile-info-row .profile-value{color:#64748b;font-size:.95rem;text-align:right;flex:1;margin-left:1rem}.profile-form-row{margin-bottom:1.5rem}.profile-form-group{display:flex;flex-direction:column;gap:.5rem}.profile-form-group label{font-weight:500;color:#374151;font-size:.95rem}.profile-form-group input{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s}.profile-form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614}.profile-form-group input::placeholder{color:#94a3b8}.profile-payment-methods-display{display:flex;flex-direction:column;gap:1rem}.profile-payment-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.profile-payment-item:last-child{border-bottom:none}.profile-payment-icon{font-size:1.5rem;flex-shrink:0}.profile-payment-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.profile-payment-name{font-weight:500;color:#374151;font-size:.95rem}.profile-payment-handle{color:#64748b;font-size:.95rem}.profile-payment-methods-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}.profile-payment-group{display:flex;flex-direction:column;gap:.5rem}.profile-payment-group label{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#374151;font-size:.95rem}.profile-payment-group input{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .2s,box-shadow .2s;width:100%}.profile-payment-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614}.profile-input-with-prefix{position:relative;display:flex;align-items:center}.profile-input-with-prefix .profile-prefix{position:absolute;left:.75rem;color:#6b7280;font-weight:500;pointer-events:none;z-index:1}.profile-input-with-prefix input{padding-left:2rem}.profile-verify-link{color:#3b82f6;font-size:.85rem;text-decoration:none;font-weight:500}.profile-verify-link:hover{text-decoration:underline}.profile-section-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.profile-btn-cancel,.profile-btn-save{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:6px;font-size:.95rem;font-weight:500;border:none;cursor:pointer;transition:all .15s ease;min-width:100px;justify-content:center}.profile-btn-cancel{background:#f3f4f6;color:#374151}.profile-btn-cancel:hover:not(:disabled){background:#e5e7eb}.profile-btn-save{background:#3b82f6;color:#fff}.profile-btn-save:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.profile-btn-save:disabled,.profile-btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile-spinner{width:14px;height:14px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.profile-subscription-info{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.profile-subscription-plan{display:flex;justify-content:space-between;align-items:center}.profile-plan-label{display:block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:4px}.profile-plan-name{font-weight:600;color:#1f2937;font-size:1rem}.profile-plan-interval{color:#6b7280;font-weight:400}.profile-plan-price{font-weight:600;color:#059669;font-size:1rem}.profile-subscription-status{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;align-self:flex-start}.profile-subscription-status.active{background:#d1fae5;color:#065f46}.profile-subscription-status.free,.profile-subscription-status.trial{background:#f3f4f6;color:#374151}.profile-subscription-status.canceling,.profile-subscription-status.canceled{background:#fef3c7;color:#92400e}.profile-subscription-status.past_due{background:#fee2e2;color:#dc2626}.profile-billing-loading{height:18px;border-radius:6px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;width:140px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.profile-renewal-date{color:#6b7280;font-size:.95rem;margin:0}.profile-warning-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:6px;font-size:.95rem}.profile-subscription-actions{display:flex;flex-direction:column;gap:.5rem}.profile-btn-manage,.profile-btn-upgrade{padding:.75rem 1.5rem;border-radius:6px;font-weight:500;border:none;cursor:pointer;transition:all .15s ease;font-size:.95rem}.profile-btn-manage{background:#3b82f6;color:#fff}.profile-btn-manage:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.profile-btn-upgrade{background:#059669;color:#fff}.profile-btn-upgrade:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.profile-btn-manage:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile-helper-text{color:#6b7280;font-size:.85rem;text-align:center;margin:0}.profile-danger-zone{border:1.5px solid #fecaca;background:#fff}.profile-danger-zone .profile-section-header{border-bottom-color:#fecaca;background:#fff5f5;border-radius:12px 12px 0 0}.profile-danger-zone .profile-section-title h2{color:#dc2626}.profile-danger-icon{font-size:1.1rem}.profile-danger-content{display:flex;flex-direction:column;gap:1rem}.profile-danger-description{margin:0;font-size:.9rem;color:#6b7280;line-height:1.6}.profile-btn-delete-account{align-self:flex-start;padding:.6rem 1.25rem;background:transparent;color:#dc2626;border:1.5px solid #dc2626;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.profile-btn-delete-account:hover{background:#dc2626;color:#fff}.profile-delete-confirm{display:flex;flex-direction:column;gap:1rem}.profile-delete-input{padding:.75rem 1rem;border:1.5px solid #fca5a5;border-radius:8px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.profile-delete-input:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.profile-delete-actions{display:flex;gap:.75rem;flex-wrap:wrap}.profile-btn-cancel-delete{padding:.6rem 1.25rem;background:transparent;color:#6b7280;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-btn-cancel-delete:hover:not(:disabled){background:#f3f4f6}.profile-btn-confirm-delete{padding:.6rem 1.25rem;background:#dc2626;color:#fff;border:1.5px solid #dc2626;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}.profile-btn-confirm-delete:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.profile-btn-confirm-delete:disabled{opacity:.4;cursor:not-allowed}.cs-page{position:fixed;inset:0;background:#f5f6f8;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:50}.cs-topbar{display:flex;align-items:center;justify-content:flex-start;padding:16px 24px;flex-shrink:0}.cs-topbar-brand{font-size:18px;font-weight:800;color:#667eea;text-decoration:none;letter-spacing:-.3px}.cs-body{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:0 24px 48px}.cs-page-inner{width:100%;max-width:600px}.cs-greeting{padding:8px 0 28px}.cs-greeting>h1{margin:0 0 6px;font-size:32px;font-weight:800;color:#1a1a1a;line-height:1.2}.cs-greeting>p{margin:0;font-size:17px;color:#888;font-weight:400}.cs-toast{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:14px 16px;border-radius:14px;background-color:#eafbe7;color:#1b6e1b;font-size:15px;font-weight:500;animation:cs-slideDown .3s ease-out}.cs-toast-error{background-color:#fde8e8;color:#b91c1c}.cs-toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#1b6e1b;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.cs-toast-error .cs-toast-icon{background:#b91c1c}@keyframes cs-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cs-card{background:#fff;border-radius:20px;padding:28px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.cs-card-datetime{padding:0 0 20px}.cs-date{margin:0;font-size:24px;font-weight:800;color:#1a1a1a}.cs-time{margin:6px 0 0;font-size:15px;color:var(--primary-color);font-weight:600}.cs-calendar-hint{margin:6px 0 0;font-size:13px;color:#667eea;font-weight:500;cursor:pointer}.cs-calendar-hint:hover{text-decoration:underline}.cs-calendar-links{display:flex;align-items:center;gap:6px;margin-top:6px;animation:cs-fadeIn .15s ease-out}.cs-calendar-links>button{padding:0;border:none;background:none;font-size:13px;font-weight:500;color:#667eea;cursor:pointer}.cs-calendar-links>button:hover{text-decoration:underline}.cs-cal-divider{color:#ccc;font-size:14px;-webkit-user-select:none;user-select:none}@keyframes cs-fadeIn{0%{opacity:0}to{opacity:1}}.cs-card-session-info{display:flex;align-items:center;gap:14px;padding:20px 0}.cs-tutor-avatar{width:50px;height:50px;border-radius:50%;color:#000;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0;border:black 1px solid}.cs-session-text{min-width:0}.cs-session-name{margin:0;font-size:16px;font-weight:700;color:#1a1a1a;letter-spacing:.3px}.cs-session-tutor{margin:3px 0 0;font-size:14px;color:#999}.cs-card-cost{padding:18px 0}.cs-cost-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#777}.cs-cost-total{font-size:24px;font-weight:800;color:#1a1a1a}.cs-location-row{margin-top:10px;font-size:15px;color:#777}.cs-location-text{margin:0;padding:16px 0 0;font-size:15px;color:#666}.cs-notes-section{padding:18px 0 0}.cs-notes-label{margin:0 0 4px;font-size:11px;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.8px}.cs-notes-text{margin:0;font-size:15px;line-height:1.7;color:#666}.cs-btn-confirm-main{display:block;width:100%;margin:24px 0 0;cursor:pointer}.cs-btn-confirm-main:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.cs-btn-confirm-main:active:not(:disabled){transform:scale(.985);opacity:1}.cs-btn-confirm-main:disabled{opacity:.5;cursor:not-allowed}.cs-action-row{display:flex;gap:12px;padding:14px 0 0;justify-content:space-evenly}.cs-action-row>button{width:100%}.cs-action-btn{display:flex;flex-direction:column;align-items:center;background:#f3f4f6;border:none;cursor:pointer;transition:background .15s;font-weight:600;color:#555}.cs-action-btn:hover:not(:disabled){background:#e9eaed}.cs-action-btn:disabled{opacity:.5;cursor:not-allowed}.cs-action-icon{font-size:20px;line-height:1}.cs-action-btn-cancel:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.cs-reschedule-form{padding:24px 0 0}.cs-reschedule-form>h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#1a1a1a}.cs-form-group{margin-bottom:14px}.cs-form-group>select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cs-form-group>label{display:block;margin-bottom:6px;font-weight:600;color:#555;font-size:13px}.cs-form-group>input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cs-form-group>input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.cs-btn-primary{display:block;width:100%;font-size:15px;cursor:pointer;transition:opacity .2s}.cs-btn-primary:hover:not(:disabled){opacity:.9}.cs-btn-primary:disabled{opacity:.5;cursor:not-allowed}.cs-status-footer{text-align:center;padding:8px 0 0}.cs-status-badge{display:inline-block;padding:8px 20px;border-radius:20px;font-weight:600;font-size:13px}.cs-status-badge[data-status=PENDING],.cs-status-badge[data-status=STUDENT_VIEWED]{background-color:#fff3cd;color:#856404}.cs-status-badge[data-status=CONFIRMED]{background-color:#d4edda;color:#155724}.cs-status-badge[data-status=AWAITING_TUTOR_CONFIRMATION]{background-color:#cfe2ff;color:#084298}.cs-status-badge[data-status=CANCELLED],.cs-status-badge[data-status=RESCHEDULE_REJECTED]{background-color:#f8d7da;color:#721c24}.cs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:16px;color:#999;font-size:15px}.cs-loading-spinner{width:32px;height:32px;border:3px solid #eee;border-top-color:#667eea;border-radius:50%;animation:cs-spin .8s linear infinite}@keyframes cs-spin{to{transform:rotate(360deg)}}.cs-loading>p{margin:0}.cs-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;gap:12px;text-align:center}.cs-error-icon{font-size:40px}.cs-error-state>p{margin:0;font-size:16px;color:#666}.cs-footer{text-align:center;padding:32px 0 16px;font-size:12px;color:silver}.cs-footer>a{color:#667eea;text-decoration:none;font-weight:600}@media(min-width:640px){.cs-topbar{padding:20px 40px}.cs-body{padding:0 40px 60px;align-items:center}.cs-page-inner{max-width:600px}.cs-greeting>h1{font-size:34px}.cs-greeting>p{font-size:17px}.cs-card{padding:36px;border-radius:24px;box-shadow:0 1px 4px #0000000a,0 8px 24px #0000000a}.cs-date{font-size:28px}.cs-tutor-avatar{width:56px;height:56px;font-size:24px}.cs-session-name{font-size:17px}.cs-cost-total{font-size:24px}.cs-btn-confirm-main{font-size:17px}.cs-action-btn{padding:20px 12px;font-size:14px}}@media(min-width:1024px){.cs-body{padding:0 60px 80px}}@media(max-width:639px){.cs-topbar{padding:12px 20px}.cs-body{padding:0 20px 40px}.cs-greeting{padding:4px 0 20px}.cs-greeting>h1{font-size:26px}.cs-card{padding:22px;border-radius:18px}}.rc-wrapper{width:100%}.rc-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 28px}.rc-greeting-content{flex:1;min-width:0}.rc-greeting h1{margin:0 0 4px;font-size:30px;font-weight:800;color:#1a1a1a;line-height:1.15}.rc-greeting p{margin:0;font-size:16px;color:#888;font-weight:400}.rc-share-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:12px;cursor:pointer;color:#555;transition:background .15s,color .15s;margin-top:2px}.rc-share-btn:hover{background:#e9eaed;color:#667eea}.rc-share-btn:active{transform:scale(.95)}.rc-share-wrapper{position:relative;flex-shrink:0}.rc-share-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:14px;box-shadow:0 4px 20px #0000001f,0 1px 3px #0000000f;padding:6px;min-width:160px;z-index:100;animation:rc-menu-enter .15s ease-out}@keyframes rc-menu-enter{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.rc-share-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#333;transition:background .12s;text-align:left}.rc-share-menu-item:hover{background:#f3f4f6}.rc-share-menu-item:active{background:#e9eaed}.rc-share-menu-item span{font-size:16px;line-height:1}.rc-card{background:#fff;border-radius:20px;padding:28px;margin-bottom:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008}.rc-datetime{padding:0 0 20px}.rc-date{margin:0;font-size:24px;font-weight:800;color:#1a1a1a}.rc-time{margin:6px 0 0;font-size:15px;color:#667eea;font-weight:600}.rc-tutor-row{display:flex;align-items:center;gap:14px;padding:20px 0}.rc-tutor-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.rc-tutor-text{min-width:0}.rc-tutor-label{margin:0;font-size:16px;font-weight:700;color:#1a1a1a;letter-spacing:.3px}.rc-tutor-name{margin:3px 0 0;font-size:14px;color:#999}.rc-cost-section{padding:18px 0}.rc-cost-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#777}.rc-cost-amount{font-size:22px;font-weight:800;color:#1a1a1a}.rc-notes-section{padding:18px 0 0}.rc-notes-label{margin:0 0 4px;font-size:11px;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.8px}.rc-notes-text{margin:0;font-size:14px;line-height:1.7;color:#666}.rc-payment-header{padding:0 0 16px}.rc-payment-title{margin:0;font-size:18px;font-weight:800;color:#1a1a1a}.rc-payment-subtitle{margin:6px 0 0;font-size:14px;color:#888}.rc-payment-grid{display:flex;flex-direction:column;gap:10px}.rc-payment-method{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;background:#f3f4f6;border-radius:14px;transition:background .15s,transform .1s;text-decoration:none;cursor:pointer;color:inherit}.rc-payment-method:hover{background:#e9eaed;transform:translateY(-1px)}.rc-payment-method:active{transform:translateY(0)}.rc-payment-arrow{font-size:18px;color:#667eea;font-weight:600}.rc-payment-icon{font-size:24px;line-height:1}.rc-payment-info{display:flex;flex-direction:column;gap:2px}.rc-payment-provider{font-size:14px;font-weight:700;color:#1a1a1a}.rc-payment-handle{font-size:13px;color:#667eea;font-weight:500}.rc-paid-card{background:#f0fdf4;border:1px solid #bbf7d0}.rc-paid-badge{display:flex;align-items:center;gap:14px;padding:4px 0}.rc-paid-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#dcfce7;border-radius:50%;font-size:18px;font-weight:700;color:#15803d;flex-shrink:0}.rc-paid-text{display:flex;flex-direction:column;gap:2px}.rc-paid-title{margin:0;font-size:15px;font-weight:700;color:#15803d}.rc-paid-subtitle{margin:0;font-size:13px;color:#166534}.rc-status-footer{text-align:center;padding:8px 0 0}.rc-status-badge{display:inline-block;padding:8px 20px;border-radius:20px;font-weight:600;font-size:13px;background-color:#d4edda;color:#155724}.rc-action-row{display:flex;gap:12px;padding:14px 0 0}.rc-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 8px;background:#f3f4f6;border:none;border-radius:14px;cursor:pointer;transition:background .15s;font-size:14px;font-weight:600;color:#555}.rc-action-btn:hover{background:#e9eaed}.rc-action-btn:active{transform:scale(.985)}.rc-footer{text-align:center;padding:32px 0 16px;font-size:12px;color:silver}.rc-footer a{color:#667eea;text-decoration:none;font-weight:600}@media(min-width:640px){.rc-greeting h1{font-size:34px}.rc-greeting p{font-size:17px}.rc-card{padding:36px;border-radius:24px;box-shadow:0 1px 4px #0000000a,0 8px 24px #0000000a}.rc-date{font-size:28px}.rc-tutor-avatar{width:56px;height:56px;font-size:24px}.rc-tutor-label{font-size:17px}.rc-cost-amount{font-size:24px}}@media(max-width:639px){.rc-greeting{padding:4px 0 20px}.rc-greeting h1{font-size:26px}.rc-card{padding:22px;border-radius:18px}}@media print{body *{visibility:hidden}.rc-wrapper,.rc-wrapper *{visibility:visible}.rc-wrapper{position:absolute;left:0;top:0;width:100%;padding:0}.rc-action-row,.rc-share-wrapper,.rc-footer,.sr-topbar{display:none!important}.rc-card{box-shadow:none;border:1px solid #e5e7eb;break-inside:avoid}}.sr-page{position:fixed;inset:0;background:#f5f6f8;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:50}.sr-topbar{display:flex;align-items:center;justify-content:flex-start;padding:16px 24px;flex-shrink:0}.sr-topbar-brand{font-size:18px;font-weight:800;color:#667eea;letter-spacing:-.3px}.sr-body{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:0 24px 48px}.sr-page-inner{width:100%;max-width:600px}.sr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;color:#888;gap:16px}.sr-loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:sr-spin .8s linear infinite}@keyframes sr-spin{to{transform:rotate(360deg)}}.sr-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;color:#888;gap:12px}.sr-error-icon{font-size:48px}.sr-error-state p{margin:0;font-size:16px;color:#666}.legal-page{min-height:100vh;background-color:#f8fafc;padding:3rem 1.5rem}.legal-container{max-width:800px;margin:0 auto;border-radius:1rem;padding:3rem}.legal-page h1{font-size:2.25rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.legal-updated{color:#94a3b8;font-size:.9rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.legal-page section{margin-bottom:2.5rem}.legal-page section:last-child{margin-bottom:0}.legal-page h2{font-size:1.35rem;font-weight:600;color:#1e293b;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.legal-page h3{font-size:1.1rem;font-weight:600;color:#334155;margin-top:1.5rem;margin-bottom:.75rem}.legal-page p{color:#475569;line-height:1.8;margin-bottom:1rem;font-size:.95rem}.legal-page ul{color:#475569;line-height:1.8;margin-bottom:1rem;padding-left:1.5rem;font-size:.95rem}.legal-page ul li{margin-bottom:.4rem}.legal-page a{color:#2563eb;text-decoration:none;font-weight:500}.legal-page a:hover{text-decoration:underline}.legal-contact{background:#f8fafc;padding:1.25rem;border-radius:.5rem;border:1px solid #e2e8f0;line-height:2}.cookie-table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9rem}.cookie-table th,.cookie-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.cookie-table th{background:#f8fafc;font-weight:600;color:#334155;font-size:.85rem;text-transform:uppercase;letter-spacing:.3px}.cookie-table td{color:#475569}.cookie-table tbody tr:hover{background:#f8fafc}@media(max-width:768px){.legal-page{padding:1.5rem 1rem}.legal-container{padding:2rem 1.5rem;border-radius:.75rem}.legal-page h1{font-size:1.75rem}.legal-page h2{font-size:1.2rem}.cookie-table{font-size:.8rem}.cookie-table th,.cookie-table td{padding:.5rem .75rem}}@media(max-width:480px){.legal-container{padding:1.5rem 1rem}.legal-page h1{font-size:1.5rem}.cookie-table th,.cookie-table td{padding:.4rem .5rem}}.about-page{min-height:100vh;background:#f8fafc;color:#0f172a}.about-hero{position:relative;background:#fff;padding:110px 24px 90px;text-align:center;overflow:hidden}.about-hero:before,.about-hero:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none}.about-hero:before{width:520px;height:520px;background:#7c3aed54;top:-15%;right:-8%}.about-hero:after{width:420px;height:420px;background:#ec489963;bottom:-20%;left:-6%}.about-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}.about-tag{display:inline-block;padding:6px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7c3aed;background:linear-gradient(135deg,#7c3aed14,#ec489914);border-radius:100px;margin-bottom:18px}.about-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.15;margin:0 0 20px;color:#0f172a}.about-lead{font-size:1.15rem;color:#64748b;line-height:1.7;margin:0}.about-section{padding:72px 24px}.about-prose{max-width:680px;margin:0 auto}.about-prose h2{font-size:1.45rem;font-weight:700;color:#1a1a2e;margin:48px 0 16px}.about-prose h2:first-child{margin-top:0}.about-prose p{font-size:1.05rem;line-height:1.8;color:#444;margin:0 0 18px}.about-values{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:16px}.about-values li{font-size:1.05rem;line-height:1.7;color:#444;padding-left:20px;position:relative}.about-values li:before{content:"→";position:absolute;left:0;color:#3a6fd8;font-weight:700}.about-values li strong{color:#1a1a2e}.about-cta{background:#1a1a2e;padding:80px 24px;text-align:center}.about-cta-inner{max-width:560px;margin:0 auto}.about-cta h2{font-size:1.8rem;font-weight:700;color:#fff;margin:0 0 12px}.about-cta p{color:#ffffffa6;font-size:1rem;margin:0 0 32px}.about-cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.about-btn{display:inline-block;padding:13px 28px;border-radius:8px;font-size:.95rem;font-weight:600;text-decoration:none;transition:opacity .15s,transform .15s}.about-btn:hover{opacity:.88;transform:translateY(-1px)}.about-btn--primary{background:#3a6fd8;color:#fff}.about-btn--secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}@media(max-width:600px){.about-hero{padding:80px 20px 60px}.about-cta-buttons{flex-direction:column;align-items:center}.about-btn{width:100%;max-width:280px;text-align:center}}.contact-page{min-height:100vh;background:#f8fafc;color:#0f172a}.page-back-btn{position:absolute;top:24px;left:28px;display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#64748b;font-size:.88rem;font-weight:500;cursor:pointer;padding:6px 0;transition:color .15s;z-index:2}.page-back-btn:hover{color:#0f172a}.contact-hero{position:relative;background:#fff;padding:110px 24px 90px;text-align:center;overflow:hidden}.contact-hero:before,.contact-hero:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none}.contact-hero:before{width:520px;height:520px;background:#7c3aed54;top:-15%;right:-8%}.contact-hero:after{width:420px;height:420px;background:#ec489963;bottom:-20%;left:-6%}.contact-hero-inner{position:relative;z-index:1;max-width:620px;margin:0 auto}.contact-tag{display:inline-block;padding:6px 14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7c3aed;background:linear-gradient(135deg,#7c3aed14,#ec489914);border-radius:100px;margin-bottom:18px}.contact-hero h1{font-size:clamp(1.8rem,4.5vw,2.6rem);font-weight:800;line-height:1.15;margin:0 0 18px;color:#0f172a}.contact-lead{font-size:1.1rem;color:#64748b;line-height:1.7;margin:0}.contact-body{padding:72px 24px}.contact-layout{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:64px;align-items:start}.contact-form-wrap h2,.contact-info h2{font-size:1.25rem;font-weight:700;color:#1a1a2e;margin:0 0 28px}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-field label{font-size:.88rem;font-weight:600;color:#374151}.contact-field input,.contact-field textarea{padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:.95rem;font-family:inherit;color:#1a1a2e;background:#fff;transition:border-color .15s,box-shadow .15s;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#3a6fd8;box-shadow:0 0 0 3px #3a6fd81f}.contact-field input:disabled,.contact-field textarea:disabled{opacity:.6;cursor:not-allowed}.contact-field input.input--error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.contact-field-error{font-size:.82rem;color:#dc2626;margin-top:2px}.contact-submit{align-self:flex-start;background:#3a6fd8;color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.contact-submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.contact-submit:disabled{opacity:.5;cursor:not-allowed}.contact-error{font-size:.9rem;color:#dc2626;margin:0}.contact-error a{color:#dc2626;text-decoration:underline}.contact-success{text-align:center;padding:48px 24px;background:#fff;border-radius:12px;border:1.5px solid #d1fae5}.contact-success-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:#d1fae5;color:#065f46;font-size:1.4rem;font-weight:700;border-radius:50%;margin-bottom:16px}.contact-success h3{font-size:1.2rem;font-weight:700;color:#1a1a2e;margin:0 0 8px}.contact-success p{color:#555;margin:0}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-info-item{display:flex;gap:14px;align-items:flex-start}.contact-info-icon{width:36px;height:36px;background:#eef2ff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.contact-info-item strong{display:block;font-size:.9rem;font-weight:700;color:#1a1a2e;margin-bottom:3px}.contact-info-item p{font-size:.9rem;color:#555;margin:0;line-height:1.5}.contact-info-item a{color:#3a6fd8;text-decoration:none}.contact-info-item a:hover{text-decoration:underline}@media(max-width:768px){.contact-layout{grid-template-columns:1fr;gap:48px}.contact-info{order:-1}.contact-submit{align-self:stretch;text-align:center}}.feedback-reports-page{max-width:1200px;margin:0 auto;padding:2rem}.feedback-reports-header{margin-bottom:2rem}.feedback-reports-header h1{font-size:1.75rem;color:#333;margin:0 0 .5rem}.feedback-reports-header p{color:#666;margin:0}.feedback-reports-loading,.feedback-reports-error{text-align:center;padding:3rem;color:#666}.feedback-reports-error{color:#d32f2f}.feedback-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.feedback-summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.feedback-summary-value{font-size:2rem;font-weight:700;color:#333}.feedback-summary-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.feedback-summary-ideas{border-left:4px solid #4caf50}.feedback-summary-bugs{border-left:4px solid #f44336}.feedback-summary-new{border-left:4px solid #2196f3}.feedback-summary-high{border-left:4px solid #ff9800}.feedback-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.feedback-filters label{font-weight:500;color:#555}.feedback-filters select{padding:.5rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.feedback-empty{text-align:center;padding:3rem;color:#666;background:#f9f9f9;border-radius:8px}.feedback-table-wrapper{overflow-x:auto;background:#fff;border:1px solid #e0e0e0;border-radius:8px}.feedback-table{width:100%;border-collapse:collapse;font-size:.875rem}.feedback-table th,.feedback-table td{padding:1rem;text-align:left;border-bottom:1px solid #e0e0e0}.feedback-table th{background:#f5f5f5;font-weight:600;color:#333;white-space:nowrap}.feedback-table tbody tr:hover{background:#fafafa}.feedback-table tbody tr:last-child td{border-bottom:none}.feedback-title-cell{max-width:300px}.feedback-title-cell strong{display:block;color:#333;margin-bottom:.25rem}.feedback-description-preview{color:#777;font-size:.8rem;margin:0;line-height:1.4}.feedback-type{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.feedback-type-idea{background:#e8f5e9;color:#2e7d32}.feedback-type-bug{background:#ffebee;color:#c62828}.feedback-priority{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.feedback-priority-low{background:#f5f5f5;color:#666}.feedback-priority-medium{background:#fff3e0;color:#e65100}.feedback-priority-high{background:#fce4ec;color:#c62828}.feedback-status{padding:.375rem .5rem;border-radius:4px;font-size:.75rem;border:1px solid #ddd;cursor:pointer}.feedback-status-new{background:#e3f2fd;border-color:#90caf9}.feedback-status-in-progress{background:#fff3e0;border-color:#ffcc80}.feedback-status-resolved{background:#e8f5e9;border-color:#a5d6a7}.feedback-status-closed{background:#f5f5f5;border-color:#e0e0e0}.feedback-delete-btn{background:none;border:1px solid #ddd;color:#666;padding:.375rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.feedback-delete-btn:hover{background:#ffebee;border-color:#ef9a9a;color:#c62828}@media(max-width:768px){.feedback-reports-page{padding:1rem}.feedback-summary-cards{grid-template-columns:repeat(2,1fr)}.feedback-table{font-size:.8rem}.feedback-table th,.feedback-table td{padding:.75rem .5rem}.feedback-title-cell{max-width:200px}}.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f9fafb);padding:2rem}.not-found-card{text-align:center;max-width:420px;width:100%}.not-found-code{font-size:7rem;font-weight:800;line-height:1;color:#e5e7eb;letter-spacing:-4px;margin-bottom:1rem;-webkit-user-select:none;user-select:none}.not-found-title{font-size:1.5rem;font-weight:700;color:var(--text-primary, #111827);margin:0 0 .75rem}.not-found-message{font-size:15px;color:var(--text-secondary, #6b7280);line-height:1.6;margin:0 0 2rem}.not-found-actions{display:flex;gap:.75rem;justify-content:center}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e2e8f0;gap:1rem;position:sticky;top:0;z-index:100}.navbar-logo{font-weight:700;color:#2563eb;text-decoration:none;font-size:1.2rem}.navbar-greeting{font-size:.95rem;font-weight:500;color:#475569;white-space:nowrap;flex-shrink:0}.navbar-page-title{display:none}.navbar-search{position:relative;flex:1;max-width:540px;margin:0 auto}.navbar-search-trigger{display:flex;align-items:center;gap:.5rem;width:100%;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:.45rem .75rem;cursor:pointer;color:#94a3b8;font-size:.875rem;transition:border-color .2s,background .2s}.navbar-search-trigger:hover{background:#e8eef6;border-color:#cbd5e1}.navbar-search-icon{width:15px;height:15px;flex-shrink:0}.navbar-search-placeholder{flex:1;text-align:left}.navbar-search-kbd{font-size:.7rem;background:#e2e8f0;color:#64748b;border-radius:4px;padding:.1rem .35rem;border:1px solid #cbd5e1;font-family:inherit}.navbar-search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:1001;overflow:hidden}.navbar-search-input{width:100%;padding:.75rem 1rem;border:none;border-bottom:1px solid #f1f5f9;font-size:.9rem;outline:none;color:#0f172a;background:#fff;box-sizing:border-box}.navbar-search-results{list-style:none;margin:0;padding:.375rem 0;max-height:320px;overflow-y:auto}.navbar-search-group{list-style:none}.navbar-search-group-label{display:block;padding:.5rem 1rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8}.navbar-search-group-items{list-style:none;margin:0;padding:0}.navbar-search-loading,.navbar-search-empty{padding:.75rem 1rem;font-size:.85rem;color:#94a3b8;font-style:italic}.navbar-search-footer{display:flex;gap:1rem;padding:.5rem 1rem;border-top:1px solid #f1f5f9;font-size:.72rem;color:#94a3b8}.navbar-search-footer kbd{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;padding:0 .3rem;font-size:.68rem;color:#64748b;font-family:inherit;margin-right:.2rem}.navbar-search-result-active{background:#f1f5f9!important;color:#2563eb!important}.navbar-search-enter-hint{margin-left:auto;font-size:.68rem;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:3px;padding:.05rem .3rem;color:#64748b;font-family:inherit;flex-shrink:0}.navbar-search-student-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.navbar-search-page-icon{width:13px;height:13px;flex-shrink:0;color:#94a3b8}.navbar-search-item-text{display:flex;flex-direction:column;gap:.05rem;flex:1;min-width:0}.navbar-search-item-label{font-size:.875rem;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-search-item-sub{font-size:.75rem;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-search-result-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;color:#334155;transition:background .15s}.navbar-search-result-item:hover{background:#f1f5f9;color:#2563eb}.navbar-avatar-btn{width:36px;height:36px;border-radius:50%;background:#2563eb;color:#fff;font-size:.8rem;font-weight:700;border:2px solid #dbeafe;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:box-shadow .2s,border-color .2s;letter-spacing:.04em}.navbar-avatar-btn:hover{box-shadow:0 0 0 3px #bfdbfe;border-color:#2563eb}.navbar-dropdown-user-info{padding:.85rem 1rem .65rem;display:flex;flex-direction:column;gap:.15rem}.navbar-dropdown-name{font-size:.9rem;font-weight:600;color:#0f172a}.navbar-dropdown-email{font-size:.78rem;color:#94a3b8}.navbar-links{display:flex;gap:2rem;align-items:center}.navbar-link{text-decoration:none;color:#475569;transition:color .2s ease;font-size:.95rem}.navbar-link:hover{color:#2563eb}.navbar-link-btn{background:none;border:none;font:inherit;cursor:pointer;padding:0}.navbar-link-cta{background:var(--primary-color);color:#fff!important;padding:.45rem 1.1rem;border-radius:8px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.navbar-link-cta:hover{color:#fff!important;transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed4d}.navbar-button{background:#fee2e2;color:#dc2626;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s ease;white-space:nowrap}.navbar-button:hover{background:#fecaca;color:#b91c1c}.navbar-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#475569}.navbar-menu{display:flex;gap:2rem;align-items:center}.navbar-actions{display:flex;gap:1rem;align-items:center}.navbar-profile-dropdown{position:relative;display:flex;align-items:center;gap:.5rem}.navbar-profile-button{background:none;border:none;font-size:.95rem;cursor:pointer;padding:0;transition:color .2s ease;color:#475569;font-weight:400}.navbar-profile-button:hover{color:#2563eb}.navbar-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:180px;z-index:1000;margin-top:.5rem;overflow:hidden}.navbar-dropdown-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.9rem;color:#475569;transition:all .2s ease}.navbar-dropdown-item:hover{background-color:#f1f5f9;color:#2563eb}.navbar-dropdown-divider{height:1px;background-color:#e2e8f0;margin:.25rem 0}.navbar-dropdown-logout{color:#dc2626}.navbar-dropdown-logout:hover{background-color:#fee2e2;color:#991b1b}.navbar-create-session-btn{background:#fff;color:var(--primary-color);border:var(--primary-color) 1px solid;padding:.5rem 1.2rem;border-radius:8px;font-weight:400;font-size:1rem;cursor:pointer;margin-right:.5rem;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #3b82f614}.navbar-create-session-btn:hover{background:#2563eb;color:#fff}.navbar-backdrop{display:none}@media(max-width:768px){.navbar-backdrop{display:block;position:fixed;inset:0;z-index:90}.navbar{padding:1rem;flex-wrap:wrap;z-index:100}.navbar-logo{font-size:1rem}.navbar-toggle{display:block;order:3}.navbar-menu{order:4;width:100%;flex-direction:column;gap:1rem;margin-top:1rem;display:none}.navbar-menu.active{display:flex;position:relative;z-index:101}.navbar-links{flex-direction:column;gap:.5rem;width:100%;align-items:flex-start}.navbar-links .mobile-only{display:block;margin-right:1rem;border-radius:.5rem;text-align:left}.navbar-link{padding:.5rem;display:block;text-align:left}.navbar-actions{width:100%;flex-direction:column;align-items:flex-start}.navbar-button,.navbar-profile-dropdown{width:auto}.navbar-profile-button{width:auto;padding:.75rem 1rem;text-align:center}.navbar-dropdown-menu{position:static;width:100%;border:none;box-shadow:none;background-color:#f8fafc;margin-top:.5rem;border-radius:6px;min-width:auto}.notification-center{order:2;position:absolute;right:3rem;top:.75rem}}@media(max-width:480px){.navbar{padding:.75rem}.navbar-logo{font-size:.9rem}.navbar-link{font-size:1rem;text-align:right}.navbar-button{padding:.5rem .75rem;font-size:.85rem}}.navbar-plan-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.2rem .55rem;border-radius:8px;line-height:1;-webkit-user-select:none;user-select:none;transition:opacity .15s;flex-shrink:0}.navbar-plan-badge--free{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.navbar-plan-badge--free:hover{background:#e8f0ff;color:#2563eb;border-color:#bfdbfe}.navbar-plan-badge--pro{background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;border:none}.navbar-dropdown-upgrade{color:#7c3aed!important;font-weight:600}.navbar-dropdown-upgrade:hover{background:#f5f3ff!important;color:#6d28d9!important}.navbar-mobile-plan{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-top:1px solid #e2e8f0;margin-top:.25rem}.navbar-link-upgrade{color:#7c3aed!important;font-weight:600;text-decoration:none}.navbar-link-upgrade:hover{color:#6d28d9!important}:root{--sidenav-collapsed: 56px;--sidenav-expanded: 220px;--sidenav-bg: #0f172a;--sidenav-accent: #2563eb;--sidenav-text: #94a3b8;--sidenav-text-active: #f1f5f9;--sidenav-hover-bg: rgba(255,255,255,.06);--sidenav-active-bg: rgba(37,99,235,.18);--sidenav-transition: .22s cubic-bezier(.4,0,.2,1)}.sidenav{display:flex;flex-direction:column;width:var(--sidenav-collapsed);min-height:100vh;background:var(--sidenav-bg);border-right:1px solid rgba(255,255,255,.07);transition:width var(--sidenav-transition);overflow:hidden;flex-shrink:0;position:sticky;top:0;align-self:flex-start;z-index:50}.sidenav--open{width:var(--sidenav-expanded)}.sidenav-toggle{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;cursor:pointer;padding:1rem 0;justify-content:center;color:var(--sidenav-text-active);font-weight:700;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap;transition:color var(--sidenav-transition)}.sidenav--open .sidenav-toggle{justify-content:flex-start;padding-left:1rem}.sidenav-toggle:hover{color:#fff}.sidenav-toggle-icon{font-size:1rem;flex-shrink:0;width:24px;text-align:center}.sidenav-toggle-label{color:var(--sidenav-text-active);font-size:1rem;letter-spacing:.01em;font-weight:450;padding-top:4px}.sidenav-create-btn{display:flex;align-items:center;gap:.75rem;background:var(--sidenav-accent);border:none;cursor:pointer;padding:.6rem 0;justify-content:center;color:#fff;font-weight:600;font-size:.85rem;white-space:nowrap;margin:.75rem 0;border-radius:0;transition:background var(--sidenav-transition)}.sidenav--open .sidenav-create-btn{justify-content:flex-start;padding-left:1rem;border-radius:0 20px 20px 0;margin-right:.75rem}.sidenav-create-btn:hover{background:#1d4ed8}.sidenav-links{display:flex;flex-direction:column;flex:1;gap:2px;padding-top:.5rem}.sidenav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;justify-content:center;color:var(--sidenav-text);text-decoration:none;font-size:.875rem;font-weight:500;white-space:nowrap;border:none;background:none;cursor:pointer;width:100%;transition:color var(--sidenav-transition),background var(--sidenav-transition);border-radius:0;font-family:inherit}.sidenav--open .sidenav-link{justify-content:flex-start;padding-left:1rem;border-radius:0 20px 20px 0;margin-right:.75rem;width:calc(100% - .75rem)}.sidenav-link:hover{color:var(--sidenav-text-active);background:var(--sidenav-hover-bg)}.sidenav-link--active{color:var(--sidenav-text-active);background:var(--sidenav-active-bg)}.sidenav-link--active .sidenav-icon{color:var(--sidenav-accent)}.sidenav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidenav-icon svg{width:20px;height:20px}.sidenav-label{overflow:hidden;text-overflow:ellipsis}.sidenav-logout{margin-top:auto;margin-bottom:1rem;color:#f87171}.sidenav-logout:hover{background:#f871711a;color:#fca5a5}@media(max-width:768px){.sidenav{display:none}}.sidenav-upgrade-btn{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;cursor:pointer;padding:.7rem 0;justify-content:center;color:#a78bfa;font-size:.875rem;font-weight:600;font-family:inherit;white-space:nowrap;transition:color var(--sidenav-transition),background var(--sidenav-transition);border-radius:0;margin-bottom:.25rem}.sidenav--open .sidenav-upgrade-btn{justify-content:flex-start;padding-left:1rem;border-radius:0 20px 20px 0;margin-right:.75rem;width:calc(100% - .75rem)}.sidenav-upgrade-btn:hover{color:#c4b5fd;background:#a78bfa1f}.sidenav-upgrade-btn .sidenav-icon svg{stroke:currentColor}.site-footer{background:#0f172a;color:#cbd5e1;padding:4rem 0 2rem;margin-top:auto;width:100%}.site-footer .footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.site-footer .footer-section h4{color:#fff;margin-bottom:1rem;font-size:1rem}.site-footer .footer-section p{margin-bottom:1rem;line-height:1.7;font-size:.9rem;color:#cbd5e1}.site-footer .social-icons{display:flex;gap:.75rem}.site-footer .social-icons a{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:#ffffff14;border-radius:50%;color:#cbd5e1;text-decoration:none;transition:all .2s ease;font-size:.85rem}.site-footer .social-icons a:hover{background:#2563eb;color:#fff}.site-footer .footer-section ul{list-style:none;padding:0;margin:0}.site-footer .footer-section ul li{margin-bottom:.6rem}.site-footer .footer-section ul li a{color:#94a3b8;text-decoration:none;transition:color .2s ease;font-size:.9rem}.site-footer .footer-section ul li a:hover{color:#2563eb}.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:2rem;text-align:center}.site-footer .footer-bottom p{color:#64748b;margin-bottom:.25rem;font-size:.85rem}.site-footer .footer-brand{font-size:.8rem}.site-footer .footer-feedback-link{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:#f63b4426;color:#f63b44;border:1px solid rgba(246,59,68,.3);border-radius:6px;text-decoration:none;font-size:.8rem;font-weight:500;transition:all .2s ease}.site-footer .footer-feedback-link:hover{background:#f63b4440;border-color:#f63b4480}@media(max-width:1024px){.site-footer .footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.site-footer{padding:3rem 0 1.5rem}.site-footer .footer-container{padding:0 1.5rem}.site-footer .footer-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:480px){.site-footer .footer-container{padding:0 1rem}}.server-banner{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:.875rem;font-weight:500;text-align:center;position:fixed;bottom:0;left:0;right:0;z-index:9999;animation:slideUp .3s ease-out}.server-banner-waking{background:#1e293b;color:#f1c40f;border-top:2px solid #f1c40f}.server-banner-offline{background:#1e293b;color:#e74c3c;border-top:2px solid #e74c3c}.server-banner-spinner{width:14px;height:14px;border:2px solid rgba(241,196,15,.3);border-top-color:#f1c40f;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.beta-feedback-tab{position:fixed;right:1rem;top:50%;transform:translateY(-50%) rotate(-90deg) translate(50%);transform-origin:right center;background-color:#f63b44;color:#fff;border:none;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;letter-spacing:.5px;z-index:999;border-radius:8px 8px 0 0;box-shadow:-2px 0 8px #00000026;transition:background-color .2s,padding .2s}.beta-feedback-tab:hover{background-color:#d63038;padding:.75rem 1.75rem;cursor:pointer}.beta-feedback-tab:focus{outline:2px solid #fff;outline-offset:-4px}.beta-feedback-tab-text{display:block;white-space:nowrap}.beta-feedback-content{min-height:200px}.beta-feedback-success{text-align:center;padding:2rem 1rem}.beta-feedback-success p:first-child{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem}.beta-feedback-success p:last-child{color:#666}.beta-feedback-type-selection{display:flex;flex-direction:column;gap:1.5rem}.beta-feedback-prompt{text-align:center;font-size:1rem;color:#555;margin:0}.beta-feedback-type-buttons{display:flex;gap:1rem}.beta-feedback-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}.beta-feedback-type-btn:hover{transform:translateY(-2px)}.beta-feedback-type-idea:hover{border-color:#4caf50;background-color:#f8fff8}.beta-feedback-type-bug:hover{border-color:#f44336;background-color:#fff8f8}.beta-feedback-type-icon{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#999}.beta-feedback-type-idea .beta-feedback-type-icon{color:#4caf50}.beta-feedback-type-bug .beta-feedback-type-icon{color:#f44336}.beta-feedback-type-label{font-size:1.25rem;font-weight:600;color:#333}.beta-feedback-type-desc{font-size:.8rem;color:#777;text-align:center;line-height:1.4}.beta-feedback-form{display:flex;flex-direction:column;gap:1.25rem}.beta-feedback-back-btn{align-self:flex-start;background:none;border:none;color:#666;font-size:.875rem;cursor:pointer;padding:0;margin-bottom:.5rem}.beta-feedback-back-btn:hover{color:#333;text-decoration:underline}.beta-feedback-field{display:flex;flex-direction:column;gap:.5rem}.beta-feedback-field label{font-size:.875rem;font-weight:600;color:#333}.beta-feedback-field input,.beta-feedback-field textarea,.beta-feedback-field select{padding:.75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.beta-feedback-field input:focus,.beta-feedback-field textarea:focus,.beta-feedback-field select:focus{outline:none;border-color:#f63b44;box-shadow:0 0 0 3px #f63b441a}.beta-feedback-field textarea{resize:vertical;min-height:100px}.beta-feedback-field select{cursor:pointer;background-color:#fff}.beta-feedback-submit-btn{background-color:#f63b44;color:#fff;border:none;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.beta-feedback-submit-btn:hover:not(:disabled){background-color:#d63038}.beta-feedback-submit-btn:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:768px){.beta-feedback-tab{top:80%;transform:translateY(0) rotate(-90deg) translate(50%);padding:.625rem 1.25rem;font-size:.8rem}.beta-feedback-type-buttons{flex-direction:column}.beta-feedback-type-btn{padding:1.25rem 1rem}.beta-feedback-field input,.beta-feedback-field textarea,.beta-feedback-field select{padding:.875rem 1rem;font-size:16px}}.cc-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#1a1a2e;border-top:1px solid rgba(255,255,255,.08);padding:16px 24px;box-shadow:0 -4px 24px #0000004d;animation:cc-slide-up .3s ease}@keyframes cc-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cc-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cc-text{flex:1;min-width:280px;color:#e0e0f0}.cc-text strong{display:block;font-size:.95rem;margin-bottom:4px;color:#fff}.cc-text p{font-size:.82rem;line-height:1.5;margin:0;color:#ffffffa6}.cc-link{color:#7b9ef0;text-decoration:underline}.cc-link:hover{color:#a3baff}.cc-actions{display:flex;gap:10px;flex-shrink:0}.cc-btn{padding:9px 20px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,color .15s;white-space:nowrap}.cc-btn-decline{background:#ffffff14;color:#ffffffb3}.cc-btn-decline:hover{background:#ffffff24;color:#fff}.cc-btn-accept{background:#3a6fd8;color:#fff}.cc-btn-accept:hover{background:#4a7fe8}.hw-fab{position:fixed;bottom:28px;right:28px;z-index:9000;width:48px;height:48px;border-radius:50%;background:#3a6fd8;color:#fff;font-size:1.3rem;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 18px #3a6fd873;transition:background .15s,transform .15s;display:flex;align-items:center;justify-content:center}.hw-fab:hover{background:#4a7fe8;transform:scale(1.07)}.hw-fab--active{background:#2a4fa8}.hw-panel{position:fixed;bottom:88px;right:28px;z-index:8999;width:340px;max-height:480px;background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;animation:hw-pop .2s ease;overflow:hidden}@keyframes hw-pop{0%{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.hw-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#3a6fd8;color:#fff}.hw-title{font-size:.95rem;font-weight:700}.hw-close{background:none;border:none;color:#fffc;font-size:.9rem;cursor:pointer;padding:2px 4px;border-radius:4px}.hw-close:hover{color:#fff;background:#ffffff26}.hw-body{flex:1;overflow-y:auto;padding:8px 0}.hw-item{border-bottom:1px solid #f0f0f5}.hw-item:last-child{border-bottom:none}.hw-question{width:100%;background:none;border:none;padding:12px 16px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:#1a1a2e;transition:background .1s}.hw-question:hover{background:#f5f7ff}.hw-item--open .hw-question{color:#3a6fd8}.hw-chevron{font-size:.65rem;flex-shrink:0;color:#888}.hw-answer{margin:0;padding:0 16px 12px;font-size:.82rem;color:#555;line-height:1.55}.hw-footer{padding:12px 16px;border-top:1px solid #eee;background:#fafafa}.hw-contact{font-size:.82rem;color:#3a6fd8;text-decoration:none;font-weight:600}.hw-contact:hover{text-decoration:underline}@media(max-width:480px){.hw-panel{right:12px;bottom:80px;width:calc(100vw - 24px)}.hw-fab{right:16px;bottom:20px}}#root{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.app-sidenav-row{display:flex;flex-direction:row;flex:1;min-height:0}.app-container{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:1;padding:0;min-height:calc(100vh - 80px)}.content-wrapper{width:100%;display:flex;justify-content:center;flex:1}.content-wrapper--with-sidenav{min-width:0;flex:1}.content-wrapper:has(.landing){padding:0;max-width:100%}.content-grid:has(.landing){max-width:100%}.content-wrapper:has(.feature-detail){padding:0;max-width:100%}.content-grid{width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:stretch;padding:0}.content-grid .feature-detail{max-width:100%;width:100%}.content-grid .landing{overflow-y:hidden;width:100%;align-self:stretch}h1{font-size:2.5rem;color:var(--primary-color);margin:0 0 1rem}h2{font-size:1.75rem;color:var(--primary-color);margin:0 0 .75rem}h3{font-size:1.25rem;color:#333;margin:0 0 .5rem}@media(max-width:639px){.content-grid{max-width:100%;width:100%;padding:0}h1{font-size:1.75rem}h2{font-size:1.25rem}}@media(min-width:640px)and (max-width:1024px){.content-grid{max-width:100%;width:100%;padding:0}h1{font-size:2rem}}@media(min-width:1025px){.content-grid{max-width:100%;width:100%;padding:0}h1{font-size:2.5rem}}@media(min-width:1441px){.content-grid{max-width:100%;width:100%;padding:0}}
