@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--primary-color:#e86454;--primary-dark:#d1453a;--primary-light:#ef8276;--secondary-color:#2c3e50;--secondary-dark:#1a252f;--secondary-light:#34495e;--accent-color:#3498db;--accent-dark:#2980b9;--brand-glow-primary:#e8645447;--brand-glow-primary-strong:#e8645461;--brand-glow-accent:#3498db38;--brand-glow-accent-strong:#3498db52;--brand-glow-ink:#2c3e5029;--brand-pill-bg:#e864541f;--brand-pill-border:#e864543d;--brand-focus-ring:#e8645447;--pattern-dot:#2c3e500f;--gray-50:#f8f9fa;--gray-100:#e9ecef;--gray-200:#dee2e6;--gray-300:#ced4da;--gray-400:#adb5bd;--gray-500:#6c757d;--gray-600:#495057;--gray-700:#343a40;--gray-800:#212529;--gray-900:#1a1a1a;--success-color:#28a745;--success-light:#d4edda;--success-dark:#1e7e34;--error-color:#dc3545;--error-light:#f8d7da;--error-dark:#c82333;--warning-color:#ffc107;--warning-light:#fff3cd;--warning-dark:#e0a800;--info-color:#17a2b8;--info-light:#d1ecf1;--info-dark:#138496;--font-family:"Inter", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;--font-family-mono:"JetBrains Mono", monaco, "Cascadia Code", monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.6;--line-height-loose:1.8;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--space-4xl:4rem;--space-5xl:6rem;--space-6xl:8rem;--radius-none:0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal:1040;--z-mobile-menu:1045;--z-popover:1050;--z-tooltip:1060;--z-theme-toggle:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1400px;--input-height:2.75rem;--input-padding:.75rem 1rem;--input-border-width:2px;--input-border-color:var(--gray-200);--input-border-color-focus:var(--primary-color);--btn-height:2.75rem;--btn-padding:.75rem 1.5rem;--btn-border-radius:var(--radius-lg);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--bg-primary:white;--bg-secondary:var(--gray-50);--bg-tertiary:var(--gray-100);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--border-color:var(--gray-200);--shadow-color:#0000001a;--card-bg:white;--input-bg:white;--navbar-bg:white;--modal-bg:white;--modal-overlay:#00000080}[data-theme=dark]{--bg-primary:var(--gray-900);--bg-secondary:var(--gray-800);--bg-tertiary:var(--gray-700);--text-primary:#fff;--text-secondary:#e5e7eb;--text-tertiary:#d1d5db;--border-color:var(--gray-600);--shadow-color:#0000004d;--card-bg:var(--gray-800);--input-bg:var(--gray-700);--navbar-bg:var(--gray-800);--modal-bg:var(--gray-800);--modal-overlay:#000000b3;--success-light:#22c55e33;--error-light:#ef444433;--warning-light:#f59e0b33;--info-light:#3b82f633;--brand-glow-primary:#e8645438;--brand-glow-primary-strong:#e8645452;--brand-glow-accent:#3498db2e;--brand-glow-accent-strong:#3498db42;--brand-glow-ink:#00000038;--brand-pill-bg:#e8645429;--brand-pill-border:#e8645447;--brand-focus-ring:#e8645452;--pattern-dot:#ffffff12}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg-primary:var(--gray-900);--bg-secondary:var(--gray-800);--bg-tertiary:var(--gray-700);--text-primary:#fff;--text-secondary:#e5e7eb;--text-tertiary:#d1d5db;--border-color:var(--gray-600);--shadow-color:#0000004d;--card-bg:var(--gray-800);--input-bg:var(--gray-700);--navbar-bg:var(--gray-800);--modal-bg:var(--gray-800);--modal-overlay:#000000b3;--brand-glow-primary:#e8645438;--brand-glow-primary-strong:#e8645452;--brand-glow-accent:#3498db2e;--brand-glow-accent-strong:#3498db42;--brand-glow-ink:#00000038;--brand-pill-bg:#e8645429;--brand-pill-border:#e8645447;--brand-focus-ring:#e8645452;--pattern-dot:#ffffff12}}.container{max-width:var(--container-xl);padding:0 var(--space-lg);margin:0 auto}.btn{height:var(--btn-height);padding:var(--btn-padding);border-radius:var(--btn-border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);cursor:pointer;white-space:nowrap;border:2px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 4px var(--brand-focus-ring);outline:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 16px 40px #e8645438}.btn-secondary{color:var(--primary-color);border-color:var(--primary-color);background-color:#0000}.btn-secondary:hover{background-color:var(--primary-color);color:#fff}.user-status-pill{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);background:var(--gray-100);color:var(--text-secondary);font-size:var(--font-size-sm);border:1px solid var(--gray-200);padding:.35rem .75rem;display:inline-flex}.status-dot{background:#22c55e;border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 4px #22c55e2e}.btn-large{height:3.5rem;font-size:var(--font-size-lg);padding:1rem 2rem}.card{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-2xl);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), background-color var(--transition-normal);border:1px solid var(--border-color);color:var(--text-primary)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.navbar{background:var(--navbar-bg);box-shadow:var(--shadow-sm);z-index:var(--z-fixed);border-bottom:1px solid var(--border-color);position:fixed;top:0;left:0;right:0}.nav-container{height:4rem;max-width:var(--container-xl);padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--primary-color);display:flex}.nav-logo img{height:2rem}.nav-links{align-items:center;gap:var(--space-xl);display:flex}.nav-anchor-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.nav-anchor-btn:focus-visible{box-shadow:0 0 0 4px var(--brand-focus-ring);border-radius:var(--radius-md);outline:none}.nav-link,.nav-link:visited{color:var(--gray-600);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.nav-link:hover,.nav-link:focus,.nav-link.active{color:var(--gray-800);text-decoration:none}.mobile-menu-btn{padding:var(--space-sm);background:0 0;border:none;flex-direction:column;gap:4px;display:none}.mobile-menu-btn span{background-color:var(--text-primary);width:20px;height:2px;transition:all var(--transition-fast)}.footer{padding:var(--space-4xl) 0 var(--space-2xl);background:var(--gray-900);color:#fff}.footer-content{margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;gap:var(--space-xl);display:flex}.footer-links{gap:var(--space-xl);flex-wrap:wrap;display:flex}.footer-links a{color:var(--gray-300);transition:color var(--transition-fast)}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:var(--space-2xl);border-top:1px solid var(--gray-700);color:var(--gray-400)}@media (width<=768px){.nav-links{z-index:var(--z-mobile-menu);padding:var(--space-lg);gap:var(--space-md);background:#fff;flex-direction:column;display:none;position:fixed;top:64px;left:0;right:0;box-shadow:0 4px 12px #0000001a}.nav-links.show,.mobile-menu-btn{display:flex}.mobile-menu-btn.active span:first-child{transform:rotate(45deg)translate(6px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}.footer-content{flex-direction:column;align-items:flex-start}}.modal{z-index:var(--z-modal);opacity:0;padding:var(--space-md);justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal.modal-visible{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:0;background:#00000080;position:fixed;inset:0}.modal-content{background:var(--modal-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);z-index:1;width:100%;min-width:0;max-height:90vh;animation:.3s modalSlideIn;position:relative;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-sm .modal-content{width:auto;max-width:400px}.modal-md .modal-content{width:auto;max-width:500px}.modal-lg .modal-content{width:auto;max-width:700px}.modal-xl .modal-content{width:auto;max-width:900px}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.modal-content.modal-autobook .modal-header{background:linear-gradient(180deg, var(--brand-pill-bg), transparent)}.modal-content.modal-autobook .modal-title{letter-spacing:-.01em}.modal-close{background:var(--gray-100);width:2rem;height:2rem;font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-fast);color:var(--text-secondary);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--gray-200);color:var(--text-primary)}.modal-close:active{transform:scale(.95)}.modal-close-absolute{top:var(--space-lg);right:var(--space-lg);position:absolute}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--border-color);justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.modal-footer.centered{justify-content:center}.modal-footer.between{justify-content:space-between}.modal .btn-secondary{background:var(--gray-100);border-color:var(--gray-200);color:var(--text-primary)}@media (hover:hover) and (pointer:fine){.modal .btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--gray-200);border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}}.modal .btn-secondary:active:not(:disabled):not([aria-disabled=true]){box-shadow:none;transform:translateY(0)}[data-theme=dark] .modal .btn-secondary{background:var(--gray-700);border-color:var(--gray-600);color:var(--text-primary)}@media (hover:hover) and (pointer:fine){[data-theme=dark] .modal .btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--gray-600);border-color:var(--gray-500);box-shadow:var(--shadow-lg)}}@media (width<=768px){.modal{padding:var(--space-sm)}.modal-sm .modal-content,.modal-md .modal-content,.modal-lg .modal-content,.modal-xl .modal-content{max-width:100%}.modal-header,.modal-body{padding:var(--space-lg)}.modal-footer{padding:var(--space-lg);flex-direction:column-reverse}.modal-footer button{width:100%}}.modal-success .modal-header{color:#fff;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-bottom:none}.modal-success .modal-title{color:#fff}.modal-success .modal-close{color:#22c55e;background:#fff}.modal-warning .modal-header{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-bottom:none}.modal-warning .modal-title{color:#fff}.modal-danger .modal-header{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-bottom:none}.modal-danger .modal-title{color:#fff}[data-theme=dark] .modal-close{background:var(--gray-700);color:var(--gray-300)}[data-theme=dark] .modal-close:hover{background:var(--gray-600);color:var(--gray-100)}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:0 0}.modal-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}[data-theme=dark] .modal-content::-webkit-scrollbar-thumb{background:var(--gray-600)}[data-theme=dark] .modal-content::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.toast-container{bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-tooltip);pointer-events:none;gap:var(--space-md);flex-direction:column;display:flex;position:fixed}.toast{background:var(--modal-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);opacity:0;pointer-events:auto;border-left:5px solid var(--border-color);min-width:320px;max-width:450px;animation:.3s cubic-bezier(.68,-.55,.265,1.55) forwards toastEnter}.toast.toast-exit{animation:.3s cubic-bezier(.68,-.55,.265,1.55) forwards toastExit}@keyframes toastEnter{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(100%)scale(.95)}}.toast-content{padding:var(--space-lg);align-items:flex-start;gap:var(--space-md);display:flex}.toast-icon{font-size:var(--font-size-lg);flex-shrink:0;margin-top:2px}.toast-icon-svg{width:1.25rem;height:1.25rem}.toast-message{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--text-primary);flex:1;margin:0;line-height:1.5}.toast-close{font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;line-height:1}.toast-close:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.toast-close:active{transform:scale(.95)}.toast-success{border-left-color:var(--success-color);background:linear-gradient(135deg, var(--success-light) 0%, #28a74505 100%)}.toast-success .toast-icon{color:var(--success-color)}.toast-error{border-left-color:var(--error-color);background:linear-gradient(135deg, var(--error-light) 0%, #dc354505 100%)}.toast-error .toast-icon{color:var(--error-color)}.toast-warning{border-left-color:var(--warning-color);background:linear-gradient(135deg, var(--warning-light) 0%, #ffc10705 100%)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{border-left-color:var(--primary-color);background:linear-gradient(135deg,#e8645414 0%,#e8645405 100%)}.toast-info .toast-icon{color:var(--primary-color)}[data-theme=dark] .toast{border-left-color:var(--gray-600)}@media (width<=640px){.toast-container{bottom:var(--space-md);right:var(--space-md);left:var(--space-md)}.toast{min-width:auto;max-width:100%}.toast-content{padding:var(--space-lg) var(--space-md)}}@media (prefers-reduced-motion:reduce){.toast{opacity:1;animation:none}.toast.toast-exit{opacity:0;animation:none}}.legal-container{min-height:100vh;padding:var(--space-4xl) 0;background:var(--bg-primary)}.legal-header{max-width:var(--container-lg);margin:0 auto var(--space-4xl);padding:0 var(--space-lg);text-align:center}.legal-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-lg);line-height:var(--line-height-tight)}.legal-date{font-size:var(--font-size-base);color:var(--text-secondary);font-weight:var(--font-weight-normal)}.legal-content{max-width:var(--container-md);padding:0 var(--space-lg);margin:0 auto}.legal-section{margin-bottom:var(--space-4xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--gray-200)}.legal-section:last-child{border-bottom:none;margin-bottom:0}.legal-section h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-xl);line-height:var(--line-height-tight)}.legal-section h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-lg);line-height:var(--line-height-normal)}.legal-section p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-lg)}.legal-section ul{margin:var(--space-lg) 0;padding-left:var(--space-xl)}.legal-section li{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:var(--space-sm)}.legal-table{border-collapse:collapse;width:100%;margin-top:var(--space-lg)}.legal-table th,.legal-table td{text-align:left;padding:var(--space-md);border-bottom:1px solid var(--gray-200)}.legal-table th{background:var(--gray-50);font-weight:var(--font-weight-semibold)}.unsubscribe-container{text-align:center;background:#fff;border-radius:10px;max-width:600px;margin:50px auto;padding:30px;box-shadow:0 4px 6px #0000001a}.unsubscribe-icon{margin-bottom:20px;font-size:64px}.email-type-badge{background:var(--primary-color);color:#fff;border-radius:20px;margin:10px 0;padding:8px 16px;font-size:14px;display:inline-block}.unsubscribe-form{margin:30px 0}.unsubscribe-btn{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:5px;padding:15px 30px;font-size:16px;transition:background .3s}.unsubscribe-btn:hover{background:#c82333}.unsubscribe-btn:disabled{cursor:not-allowed;background:#6c757d}.cancel-btn{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:5px;margin-left:10px;padding:12px 24px;font-size:14px;text-decoration:none;display:inline-block}.cancel-btn:hover{background:#5a6268}.success-message{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:5px;margin:20px 0;padding:20px}.error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:5px;margin:20px 0;padding:20px}.loading{border:3px solid #f3f3f3;border-top:3px solid var(--primary-color);border-radius:50%;width:20px;height:20px;margin-right:10px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.small-text{color:#6c757d;margin-top:20px;font-size:14px}.preferences-list{text-align:left;background:#f8f9fa;border-radius:5px;margin:20px 0;padding:20px}.preference-item{border-left:4px solid var(--primary-color);background:#fff;margin:10px 0;padding:10px}.hidden{display:none}.reveal{opacity:0;transform:translateY(var(--reveal-y,14px));transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform}.reveal[data-in-view=true]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.hero{padding:var(--space-3xl) 0 var(--space-2xl);background:radial-gradient(circle at 18% 18%, var(--brand-glow-primary-strong) 0%, transparent 52%), radial-gradient(circle at 88% 26%, var(--brand-glow-accent-strong) 0%, transparent 48%), radial-gradient(circle at 60% 110%, var(--brand-glow-ink) 0%, transparent 55%), linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 60%, var(--bg-secondary) 100%);align-items:center;display:flex;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;opacity:.75;background-image:radial-gradient(circle at 1px 1px, var(--pattern-dot) 1px, transparent 0);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 35% 10%,#000 0%,#0000 55%);mask-image:radial-gradient(circle at 35% 10%,#000 0%,#0000 55%)}.hero-container{z-index:1;gap:var(--space-3xl);max-width:var(--container-xl);padding:0 var(--space-lg);grid-template-columns:1fr 1fr;align-items:center;margin:0 auto;display:grid;position:relative}.hero-content{max-width:600px}.hero-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);margin-bottom:var(--space-xl);letter-spacing:-.02em}.hero-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-2xl)}.hero-actions{gap:var(--space-lg);margin-bottom:var(--space-3xl);display:flex}.hero-stats{gap:var(--space-2xl);display:flex}.stat{text-align:center}.stat-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--primary-color);display:block}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.hero-image{position:relative}.hero-image:before{content:"";z-index:-1;border-radius:calc(var(--radius-2xl) + 18px);background:radial-gradient(circle at 25% 15%, var(--brand-glow-primary) 0%, transparent 60%), radial-gradient(circle at 80% 70%, var(--brand-glow-accent) 0%, transparent 55%);filter:blur(10px);position:absolute;inset:-18px}.hero-image:after{content:"";border-radius:var(--radius-2xl);pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(135deg,#0000001f 0%,#0000 55%,#0000001a 100%);position:absolute;inset:0}[data-theme=dark] .hero-image:after{mix-blend-mode:screen;background:linear-gradient(135deg,#ffffff0f 0%,#0000 55%,#ffffff0d 100%)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .hero-image:after{mix-blend-mode:screen;background:linear-gradient(135deg,#ffffff0f 0%,#0000 55%,#ffffff0d 100%)}}.hero-img{object-fit:cover;border-radius:var(--radius-2xl);width:100%;height:500px;box-shadow:var(--shadow-xl);filter:saturate(1.05)contrast(1.03);border:1px solid #ffffff59}.floating-card{background:var(--card-bg);padding:var(--space-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);z-index:1000;position:absolute;bottom:-20px;right:-20px}.notification{align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--text-primary);background:#ffffffb8;border:1px solid #ffffff8c;padding:.65rem .9rem;display:inline-flex;box-shadow:0 14px 40px #0000001f}.notification-icon{color:var(--success-color);justify-content:center;align-items:center;display:inline-flex}.notification-icon svg{width:1.1rem;height:1.1rem}[data-theme=dark] .notification{background:#1118278c;border:1px solid #ffffff1a;box-shadow:0 18px 50px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme]) .notification{background:#1118278c;border:1px solid #ffffff1a;box-shadow:0 18px 50px #00000059}}.problem-section{padding:var(--space-4xl) 0;background:var(--bg-primary)}.problem-section h2{text-align:center;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3xl);color:var(--text-primary)}.problem-grid{gap:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.problem-item{text-align:center;padding:var(--space-2xl);border-radius:var(--radius-2xl);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:linear-gradient(#ffffffb8 0%,#ffffff8f 100%);border:1px solid #ffffff8c;box-shadow:0 18px 50px #00000014}.problem-item:hover{transform:translateY(-4px);box-shadow:0 24px 70px #0000001a}.problem-icon{background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);width:3.5rem;height:3.5rem;color:var(--primary-color);margin-bottom:var(--space-lg);border-radius:1.25rem;justify-content:center;align-items:center;display:inline-flex}.problem-icon svg{width:1.7rem;height:1.7rem}.problem-item h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-lg);color:var(--text-primary)}.problem-item p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}.how-it-works{padding:var(--space-5xl) 0 var(--space-6xl);background:radial-gradient(circle at 12% 18%, var(--brand-glow-primary) 0%, transparent 34%), radial-gradient(circle at 86% 10%, var(--brand-glow-accent) 0%, transparent 36%), radial-gradient(circle at 50% 120%, var(--brand-glow-ink) 0%, transparent 48%), linear-gradient(135deg, var(--bg-primary), var(--bg-secondary));position:relative;overflow:hidden}.how-it-works:before{content:"";pointer-events:none;opacity:.55;background-image:radial-gradient(circle at 1px 1px, var(--pattern-dot) 1px, transparent 0);z-index:0;background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 20%,#000 0%,#0000 60%);mask-image:radial-gradient(circle at 50% 20%,#000 0%,#0000 60%)}.how-it-works:after{content:"";background:linear-gradient(120deg, var(--brand-glow-primary), var(--brand-glow-accent));filter:blur(80px);z-index:0;height:300px;position:absolute;inset:10% 5% auto}.how-header{text-align:center;max-width:800px;margin:0 auto var(--space-4xl);z-index:1;position:relative}.how-header .eyebrow{background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);color:var(--primary-color);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-size-xs);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.how-header h2{font-size:clamp(2rem,3vw,2.75rem);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:var(--space-md) 0 var(--space-sm)}.how-subtitle{color:var(--text-secondary);font-size:var(--font-size-lg)}.steps{gap:var(--space-xl);z-index:1;max-width:1000px;margin:0 auto;display:grid;position:relative}@media (width>=900px){.steps{gap:var(--space-2xl);grid-template-columns:repeat(3,minmax(0,1fr))}}.step-card{border-radius:var(--radius-2xl);padding:var(--space-2xl);-webkit-backdrop-filter:blur(10px);background:#ffffff9e;border:1px solid #ffffff8c;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:0 22px 70px #0000001f}[data-theme=dark] .step-card{background:#11182761;border:1px solid #ffffff1a;box-shadow:0 26px 80px #00000059}@media (prefers-color-scheme:dark){:root:not([data-theme]) .step-card{background:#11182761;border:1px solid #ffffff1a;box-shadow:0 26px 80px #00000059}}.step-card:hover{border-color:var(--brand-pill-border);transform:translateY(-6px);box-shadow:0 34px 90px #00000029}.step-badge{align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.step-icon{background:#e8645424;border:1px solid #e8645452;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex;box-shadow:0 0 0 8px #e864541a}.step-icon svg{width:1.45rem;height:1.45rem}.step-number{text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:.06em;color:var(--text-primary);font-weight:var(--font-weight-semibold)}.step-content h3{display:none}.step-content p{color:var(--text-secondary);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}.step-connector{background:linear-gradient(90deg,#e864548c,#3498db8c);width:24px;height:2px;display:none;position:absolute;top:50%;right:-12px}@media (width>=900px){.step-card{min-height:260px}.step-connector{display:block}.step-card:last-child .step-connector{display:none}}.how-cta{margin-top:var(--space-4xl);align-items:center;gap:var(--space-sm);z-index:1;flex-direction:column;display:flex;position:relative}.how-cta .btn{padding-left:var(--space-xl);padding-right:var(--space-xl)}.cta-note{color:var(--text-secondary);font-size:var(--font-size-sm)}.features{padding:var(--space-4xl) 0;background:var(--bg-secondary)}.features h2{text-align:center;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3xl);color:var(--text-primary)}.features-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=640px){.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1440px){.features-grid{gap:var(--space-3xl)}}.feature-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-md);text-align:center;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:#e8645440;transform:translateY(-4px)}.feature-icon{background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);width:3.25rem;height:3.25rem;color:var(--primary-color);margin-bottom:var(--space-lg);border-radius:1.25rem;justify-content:center;align-items:center;line-height:0;display:inline-flex}.feature-icon svg{width:1.55rem;height:1.55rem;display:block}.feature-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-md);color:var(--text-primary)}.feature-card p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}.pricing-section{padding:var(--space-4xl) 0;background:radial-gradient(circle at 18% 10%, var(--brand-glow-primary) 0%, transparent 55%), radial-gradient(circle at 88% 20%, var(--brand-glow-accent) 0%, transparent 55%), var(--bg-primary);position:relative;overflow:hidden}.pricing-header{text-align:center;margin-bottom:var(--space-3xl)}.pricing-header h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-md)}.pricing-header p{color:var(--text-secondary);font-size:var(--font-size-lg)}.pricing-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:stretch;display:grid}.pricing-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal), background-color var(--transition-normal);isolation:isolate;gap:var(--space-md);border:1px solid #e864542e;flex-direction:column;display:flex;position:relative;overflow:hidden}.pricing-card:before{content:"";opacity:0;transition:opacity var(--transition-normal);z-index:0;background:radial-gradient(circle at 18% 18%,#e8645429 0%,#0000 60%),radial-gradient(circle at 82% 0,#3498db1a 0%,#0000 55%);position:absolute;inset:0}.pricing-card>*{z-index:1;position:relative}.pricing-card:hover:before{opacity:1}.pricing-card:hover{box-shadow:var(--shadow-lg);border-color:#e8645461;transform:translateY(-4px)}.pricing-card.featured{border-color:#e864548c;position:relative;transform:translateY(-6px);box-shadow:0 24px 60px #e8645429}.pricing-card.featured:before{opacity:1}.plan-badge{background:var(--primary-color);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);margin-bottom:var(--space-md);top:var(--space-md);right:var(--space-md);letter-spacing:.02em;padding:6px 12px;display:inline-block;position:absolute;box-shadow:0 14px 30px #e8645440}.pricing-card h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);z-index:1;margin:0;position:relative}.pricing-card.featured h3{padding-right:7.75rem}.plan-price{align-items:baseline;gap:var(--space-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.plan-price-amount{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);color:var(--primary-color);line-height:1}.plan-price-period{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.plan-features{color:var(--text-secondary);gap:var(--space-sm);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.plan-features li{line-height:var(--line-height-relaxed);margin:0}.pricing-card .btn{width:100%;margin-top:var(--space-lg)}.pricing-section .btn{border:2px solid #0000}.pricing-section .btn-secondary{color:var(--primary-color);border-color:var(--primary-color);background-color:#0000}.pricing-section .btn-secondary:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.pricing-section .btn-primary:hover:not(:disabled){background-color:var(--primary-dark);color:#fff}.plan-error{margin-top:var(--space-md);color:var(--error-color);font-size:var(--font-size-sm)}.cta-final{padding:var(--space-4xl) 0;text-align:center;background:var(--bg-secondary)}.cta-final h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg)}.cta-final p{font-size:var(--font-size-lg);margin-bottom:var(--space-2xl);color:var(--text-secondary)}.cta-final .btn.btn-large{width:100%;max-width:420px;font-weight:var(--font-weight-bold);letter-spacing:-.01em;justify-content:center;margin:0 auto;box-shadow:0 18px 46px #e864542e}.cta-final .btn.btn-large:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 24px 60px #e8645442}.cta-final .btn.btn-large:active:not(:disabled){transform:translateY(-1px)}@media (width<=768px){.hero-container{gap:var(--space-3xl);text-align:center;grid-template-columns:1fr}.hero-title{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-lg)}.hero-actions{flex-direction:column;align-items:center}.hero-stats{justify-content:center}.steps{gap:var(--space-3xl);flex-direction:column}.step-arrow{transform:rotate(90deg)}.pricing-card.featured{transform:none}}.app-shell{background:var(--bg-secondary);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.app-shell--login{background:0 0}.app-page{padding:var(--space-2xl) 0}.app-header{padding-bottom:var(--space-xl);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-2xl)}.app-header-main{align-items:flex-end}.app-header-actions{justify-content:flex-end}.app-header code{font-family:var(--font-family-mono);border-radius:var(--radius-sm);background:#0000000d;border:1px solid #0000000f;padding:.1em .35em;font-size:.9em}[data-theme=dark] .app-header code{background:#ffffff14;border:1px solid #ffffff1a}@media (prefers-color-scheme:dark){:root:not([data-theme]) .app-header code{background:#ffffff14;border:1px solid #ffffff1a}}.breadcrumbs{align-items:center;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.breadcrumb-item{align-items:center;gap:var(--space-xs);display:inline-flex}.breadcrumb-link{color:var(--text-secondary);text-decoration:none}.breadcrumb-link:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.breadcrumb-sep{opacity:.55}.btn-icon{justify-content:center;align-items:center;display:inline-flex}.btn-icon svg{width:1.05rem;height:1.05rem}.empty-state{text-align:center;padding:var(--space-3xl)}.empty-state-icon{width:3.5rem;height:3.5rem;margin:0 auto var(--space-lg);background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);color:var(--primary-color);border-radius:1.25rem;place-items:center;display:grid}.empty-state-icon svg{width:1.65rem;height:1.65rem}.empty-state-title{margin:0 0 var(--space-sm);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.empty-state-desc{margin:0 auto var(--space-xl);max-width:58ch;color:var(--text-secondary);line-height:var(--line-height-relaxed)}.empty-state-actions{justify-content:center}.stack,.stack-md,.stack-sm,.stack-xs{flex-direction:column;display:flex}.stack{gap:var(--space-2xl)}.stack-md{gap:var(--space-xl)}.stack-sm{gap:var(--space-md)}.stack-xs{gap:var(--space-sm)}.row{align-items:center;gap:var(--space-lg);flex-wrap:wrap;display:flex}.row-between{justify-content:space-between}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em;margin:0}.page-title.title-success{color:var(--success-color)}.page-title.title-warning{color:var(--warning-dark)}.page-title.title-danger{color:var(--error-color)}.page-lead{color:var(--text-secondary);margin:0}.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-muted{color:var(--text-secondary)}.text-strong{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.link{color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline}.link:hover{color:var(--accent-color)}.notice{align-items:center;gap:var(--space-sm);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);font-size:var(--font-size-sm);padding:.6rem .85rem;display:inline-flex}.notice--success{background:var(--success-light);border-color:#28a74559}.notice--warning{background:var(--warning-light);border-color:#ffc10759}.notice--danger{background:var(--error-light);border-color:#dc354559}.form{gap:var(--space-lg);flex-direction:column;display:flex}.field{gap:var(--space-xs);flex-direction:column;display:flex}.field>span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.field input,.field select,.field textarea{width:100%}.check-field{align-items:center;gap:var(--space-sm);display:flex}.check-field input[type=checkbox]{width:1.05rem;height:1.05rem}.panel{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);color:var(--text-primary)}.list{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=900px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.detail-grid{gap:var(--space-lg);grid-template-columns:1fr;display:grid}@media (width>=760px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-xs);display:block}.detail-value{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-fade{0%,to{opacity:.3}50%{opacity:1}}.spinner-wrapper{justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.spinner-fullpage-container{z-index:9999;background:#fffc;position:fixed;inset:0}[data-theme=dark] .spinner-fullpage-container{background:#000c}@media (prefers-color-scheme:dark){:root:not([data-theme]) .spinner-fullpage-container{background:#000c}}.spinner{display:inline-block;position:relative}.spinner-small{width:1.5rem;height:1.5rem}.spinner-medium{width:2.5rem;height:2.5rem}.spinner-large{width:3.5rem;height:3.5rem}.spinner-circle{border:3px solid #0000;border-top-color:var(--primary-color);border-radius:50%;width:100%;height:100%;animation:1.2s cubic-bezier(.5,0,.5,1) infinite spinner-spin;position:absolute}.spinner-text{font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;margin:0}.stat-item{text-align:center;padding:var(--space-md);background:var(--bg-light);border-radius:var(--radius-md);border:1px solid var(--border-color)}.stat-number{margin:0 0 var(--space-xs) 0;color:var(--primary-color);font-size:1.75rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.875rem}.grid-3{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.grid-2{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.panel-light{padding:var(--space-md);background:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md)}.upgrade-modal .pricing-grid{gap:var(--space-lg);margin:var(--space-lg) 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.upgrade-modal .pricing-card{border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--bg-card);flex-direction:column;transition:all .3s;display:flex;position:relative}.upgrade-modal .pricing-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-4px)}.upgrade-modal .pricing-card--featured{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:scale(1.02)}.upgrade-modal .pricing-card-header{margin-bottom:var(--space-md)}.upgrade-modal .pricing-card-title{margin:0 0 var(--space-xs) 0;color:var(--text-primary);font-size:1.375rem;font-weight:600}.upgrade-modal .pricing-card-description{color:var(--text-muted);margin:0;font-size:.875rem}.upgrade-modal .pricing-card-price{margin:var(--space-md) 0;padding:var(--space-md) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.upgrade-modal .price-amount{align-items:baseline;gap:var(--space-xs);display:flex}.upgrade-modal .price-number{color:var(--primary-color);font-size:2.5rem;font-weight:700}.upgrade-modal .price-period{color:var(--text-muted);font-size:.875rem}.upgrade-modal .pricing-card-features{margin:var(--space-md) 0;flex:1}.upgrade-modal .features-list{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.upgrade-modal .feature-item{align-items:center;gap:var(--space-sm);color:var(--text-secondary);font-size:.9375rem;display:flex}.upgrade-modal .feature-icon{width:20px;height:20px;color:var(--success-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}.upgrade-modal .feature-icon svg{width:100%;height:100%}.upgrade-modal .feature-text{line-height:1.4}.upgrade-modal .pricing-card-footer{margin-top:var(--space-md)}.w-full{width:100%}.badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-color);color:#fff}.badge-secondary{background-color:var(--secondary-color);color:#fff}.badge-success{background-color:var(--success-color);color:#fff}.badge-warning{background-color:var(--warning-color);color:#fff}.badge-danger{background-color:var(--error-color);color:#fff}.badge-info{background-color:var(--accent-color);color:#fff}.badge-icon{font-size:.625rem;display:inline-block}.row-badges{gap:var(--space-xs);margin-left:var(--space-sm);flex-wrap:wrap;display:flex}.subscription-badge-section{align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-light);border-radius:var(--radius-md);display:flex}.subscription-info{flex:1}.subscription-plan{margin:0 0 var(--space-xs) 0;font-weight:600}.subscription-details{color:var(--text-muted);margin:0;font-size:.875rem}.subscription-actions{gap:var(--space-sm);display:flex}.modal-lg{max-width:900px}.modal-body{max-height:70vh;overflow-y:auto}.modal-title{margin:0;font-size:1.5rem;font-weight:700}.modal-close{cursor:pointer;padding:var(--space-sm);color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;transition:color .2s;display:flex}.modal-close:hover{color:var(--text-primary)}.modal-footer{padding:var(--space-lg);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.mb-lg{margin-bottom:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mt-lg{margin-top:var(--space-lg)}.text-center{text-align:center}@media (width<=768px){.pricing-grid{grid-template-columns:1fr}.pricing-card--featured{transform:scale(1)}.price-number{font-size:2rem}.modal-lg{max-width:calc(100% - var(--space-lg) * 2)}.subscription-badge-section{flex-direction:column;align-items:flex-start}.subscription-actions{flex-direction:column;width:100%}.subscription-actions .btn{width:100%}}.calendar-filters{gap:var(--space-lg);margin-bottom:var(--space-2xl);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.filter-group{gap:var(--space-sm);flex-direction:column;min-width:180px;display:flex}.filter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;font-weight:600}.filter-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #e864541a}.calendar-mobile-week-band{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);display:none;overflow:hidden}.week-band-header{padding:var(--space-sm) var(--space-md);background:var(--primary-color);color:#fff;justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.mobile-week-nav-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff59;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;font-weight:700;display:inline-flex}.current-month-year{appearance:none;color:#fff;cursor:pointer;text-align:center;background:0 0;border:0;flex:1;padding:0}.current-month-year-top{text-transform:uppercase;letter-spacing:.8px;opacity:.95;font-size:.75rem;font-weight:700;display:block}.current-month-year-bottom{margin-top:2px;font-size:.85rem;font-weight:700;display:block}.current-month-year-hint{opacity:.85;margin-top:2px;font-size:.65rem;display:block}.week-band-days{padding:var(--space-xs);background:var(--surface-primary);grid-template-columns:repeat(7,1fr);gap:0;display:grid}.week-day{padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-md);cursor:pointer;min-height:48px;color:var(--text-primary);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;display:flex}.week-day:hover{background:#e8645414}.week-day.active{background:#e8645424;box-shadow:inset 0 0 0 2px #e8645440}.week-day.today{box-shadow:inset 0 0 0 2px #ffd70099}.week-day .day-name{text-transform:uppercase;letter-spacing:.6px;opacity:.75;font-size:9px;font-weight:700;line-height:1}.week-day .day-number{margin-top:2px;font-size:14px;font-weight:800;line-height:1}.calendar-mobile-day{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg)}.calendar-mobile-day-header{margin-bottom:var(--space-md);text-align:center}.calendar-mobile-day-title{text-transform:capitalize;color:var(--text-primary);font-weight:800}.calendar-mobile-empty{text-align:center;color:var(--text-secondary);padding:var(--space-lg);border-radius:var(--radius-md);background:#e864540a;border:1px dashed #e8645440}.calendar-mobile-day-list{gap:var(--space-md);flex-direction:column;display:flex}.calendar-mobile-week{gap:var(--space-lg);flex-direction:column;display:flex}.calendar-mobile-day-section{background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg)}.calendar-header{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-color);display:flex}.calendar-header-title{flex:1}.calendar-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.calendar-header-controls{gap:var(--space-md);align-items:center;display:flex}.calendar-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;align-items:center;gap:var(--space-sm);font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.calendar-btn:hover{background:var(--surface-secondary);border-color:var(--primary-color);color:var(--primary-color)}.calendar-btn:active{transform:scale(.98)}.calendar-btn-icon{width:20px;height:20px}.calendar-btn-today{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.calendar-btn-today:hover{color:#fff;background:#d75246;border-color:#d75246}.calendar-grid{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid--timetable{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-secondary);grid-template-columns:76px repeat(7,minmax(0,1fr));gap:0;overflow:hidden}.calendar-grid--timetable>*{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.calendar-grid--timetable>:nth-child(8n){border-right:0}.calendar-grid--timetable>:nth-last-child(-n+8){border-bottom:0}.calendar-time-corner{background:var(--surface-primary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-sm);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.calendar-time-label{background:var(--surface-primary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-sm);justify-content:center;align-items:center;min-height:72px;font-size:.75rem;font-weight:700;display:flex}.calendar-day-header-cell{background:var(--surface-primary)}.calendar-day-header-cell--today{box-shadow:inset 0 0 0 2px #e8645440}.calendar-slot-cell{padding:var(--space-md);min-height:72px}.calendar-slot-cell--today{background:#e864540a}.calendar-slot-classes{gap:var(--space-md);flex-direction:column;display:flex}.calendar-grid-loading,.calendar-grid-error{padding:var(--space-3xl) var(--space-lg);text-align:center}.calendar-grid-loading{justify-content:center;align-items:center;gap:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;max-width:720px;box-shadow:var(--shadow-sm);flex-direction:column;margin:0 auto;display:flex}.calendar-loading-head{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.calendar-loading-text{color:var(--text-secondary);letter-spacing:.2px;margin:0;font-size:1rem;font-weight:700}.calendar-loading-text:after{content:"...";vertical-align:bottom;width:0;animation:1.1s steps(4,end) infinite calendarLoadingDots;display:inline-block;overflow:hidden}@keyframes calendarLoadingDots{to{width:3ch}}.calendar-loading-skeleton{flex-direction:column;gap:10px;width:min(420px,100%);display:flex}.calendar-loading-line{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:200% 100%;border-radius:999px;height:12px;animation:1.4s infinite calendarSkeletonLoading}.calendar-loading-line--w-90{width:90%}.calendar-loading-line--w-85{width:85%}.calendar-loading-line--w-75{width:75%}.calendar-loading-line--w-70{width:70%}@keyframes calendarSkeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .calendar-loading-line{background:linear-gradient(90deg, var(--gray-700) 25%, var(--gray-600) 50%, var(--gray-700) 75%);background-size:200% 100%}@media (prefers-reduced-motion:reduce){.calendar-loading-text:after{width:3ch;animation:none}.calendar-loading-line{background:var(--gray-300);animation:none}[data-theme=dark] .calendar-loading-line{background:var(--gray-600)}}.calendar-grid-error{border-radius:var(--radius-lg);background:#dc35450d;border:1px solid #dc354533}.error-message{max-width:500px;margin:0 auto}.error-title{color:var(--error-color);margin:0 0 var(--space-sm) 0;font-size:1.25rem;font-weight:600}.error-text{color:var(--text-secondary);margin:0}.calendar-day{background:var(--surface-secondary);border-radius:var(--radius-lg);flex-direction:column;min-height:400px;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.calendar-day--today{border:2px solid var(--primary-color);box-shadow:0 0 0 4px #e864541a}.calendar-day-header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--surface-primary);border-bottom:1px solid var(--border-color);display:flex}.calendar-day-info{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.calendar-day-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.75rem;font-weight:600}.calendar-day-num{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.calendar-day-num--highlight{color:var(--primary-color)}.calendar-day-badge{padding:var(--space-xs) var(--space-sm);background:var(--primary-color);color:#fff;text-transform:uppercase;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;display:inline-block}.calendar-day-content{padding:var(--space-lg);flex-direction:column;flex:1;display:flex;overflow-y:auto}.calendar-day-classes{gap:var(--space-md);flex-direction:column;display:flex}.class-card{gap:var(--space-md);padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);cursor:pointer;text-align:left;flex-direction:column;font-family:inherit;transition:all .2s;display:flex;position:relative;overflow:hidden}.class-card:before{content:"";background:var(--activity-default,var(--primary-color));height:4px;position:absolute;top:0;left:0;right:0}.class-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #e8645426}.class-card:active{transform:translateY(0)}.class-card--full{opacity:.6}.class-card--full .class-card-title{color:var(--text-secondary)}.class-card--past{opacity:.5;cursor:not-allowed}.class-card--past:hover{border-color:var(--border-color);box-shadow:none;transform:none}.class-card--past:active{transform:none}.class-card--past .class-card-title,.class-card--past .class-card-time-icon,.class-card--past .class-card-seats--available{color:var(--text-secondary)}.class-card--spinning:before{background:#f44336}.class-card--hiit:before{background:#4caf50}.class-card--cardio:before{background:#ff5722}.class-card--functional:before{background:#ff9800}.class-card--yoga:before{background:#9c27b0}.class-card--zumba:before{background:#e91e63}.class-card--today{border-left:4px solid var(--primary-color)}.class-card-header{align-items:flex-start;gap:var(--space-xs);flex-direction:column;display:flex}.class-card-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.95rem;font-weight:600}.class-card-time{align-items:center;gap:var(--space-xs);color:var(--text-secondary);white-space:nowrap;font-size:.875rem;font-weight:600;display:flex}.class-card-time-icon{width:16px;height:16px;color:var(--primary-color)}.class-card-content{gap:var(--space-xs);flex-direction:column;font-size:.85rem;display:flex}.class-card-instructor{color:var(--text-primary);margin:0;font-weight:500}.class-card-room{color:var(--text-secondary);margin:0}.class-card-footer{padding-top:var(--space-sm);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.class-card-seats{align-items:center;gap:var(--space-xs);flex-direction:row;display:flex}.class-card-seats--available{color:var(--success-color)}.class-card-seats--full{color:var(--error-color)}.class-card-seats-count{font-size:.95rem;font-weight:600}@media (width<=1024px){.calendar-grid.calendar-grid--timetable{padding-bottom:var(--space-sm);grid-template-columns:76px repeat(7,240px);overflow-x:auto}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header-controls{width:100%}}@media (width<=768px){.calendar-mobile-week-band{display:block}.calendar-grid.calendar-grid--timetable{grid-template-columns:76px repeat(7,220px)}.calendar-day{min-height:300px}.calendar-filters{gap:var(--space-md);flex-direction:column}.filter-group{min-width:unset;width:100%}.calendar-title{font-size:1.25rem}}@media (width<=640px){.calendar-grid.calendar-grid--timetable{grid-template-columns:76px repeat(7,200px)}.calendar-day{min-height:auto;max-height:500px}.calendar-day-header,.calendar-day-content{padding:var(--space-md)}.class-card{padding:var(--space-sm)}.calendar-header{gap:var(--space-md)}.calendar-title{font-size:1rem}.calendar-btn{padding:var(--space-xs) var(--space-sm);font-size:.85rem}}.booking-modal-content{gap:var(--space-2xl);flex-direction:column;display:flex}.class-info{padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg);border-left:4px solid var(--primary-color)}.class-info-header{margin-bottom:var(--space-lg)}.class-info-title{margin:0 0 var(--space-xs) 0;color:var(--text-primary);text-transform:uppercase;font-size:1.25rem;font-weight:700}.class-info-date{color:var(--text-secondary);margin:0;font-size:.875rem}.class-info-details{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.info-detail{gap:var(--space-xs);flex-direction:column;display:flex}.detail-label{align-items:center;gap:var(--space-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600;display:flex}.detail-icon{width:16px;height:16px;color:var(--primary-color)}.detail-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.premium-notice{padding:var(--space-lg);border-radius:var(--radius-lg);gap:var(--space-md);background:linear-gradient(135deg,#3498db14 0%,#3498db08 100%);border:1px solid #3498db4d;flex-direction:column;align-items:center;display:flex}.premium-notice-content{text-align:center}.premium-notice-title{margin:0 0 var(--space-sm) 0;color:#3498db;font-size:.95rem;font-weight:700}.premium-notice-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.notice-text{color:#3498db;margin:0;font-size:.95rem;font-weight:500}.btn-gradient{color:#fff;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:none;font-size:.9rem;font-weight:600;transition:all .2s}.btn-gradient:hover{background:linear-gradient(135deg,#2980b9 0%,#1f618d 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3498db4d}.btn-gradient:active{transform:translateY(0)}.booking-options{gap:var(--space-2xl);flex-direction:column;display:flex}.booking-seat-selection{gap:var(--space-md);flex-direction:column;display:flex}.booking-seat-header{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.booking-section-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.premium-badge{border-radius:var(--radius-md);color:#3498db;white-space:nowrap;background:#3498db1a;border:1px solid #3498db4d;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block}.seat-grid-container{gap:var(--space-lg);flex-direction:column;display:flex}.seat-grid{gap:var(--space-md);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);display:grid}.seat-button{aspect-ratio:1;padding:var(--space-sm);border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-primary);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.seat-button:hover:not(.seat-button--occupied):not(.seat-button--disabled){border-color:var(--primary-color);transform:scale(1.05);box-shadow:0 2px 8px #e8645433}.seat-button:active:not(.seat-button--occupied):not(.seat-button--disabled){transform:scale(.95)}.seat-button--available{border-color:var(--success-color);color:var(--success-color);background:#28a7450d}.seat-button--available:hover{background:#28a74526}.seat-button--occupied{border-color:var(--border-color);background:var(--text-secondary);color:#fff;cursor:not-allowed;opacity:.5}.seat-button--selected{border-color:var(--primary-color);background:var(--primary-color);color:#fff;box-shadow:0 0 0 3px #e864544d}.seat-button--disabled{cursor:not-allowed;opacity:.5}.seat-legend{justify-content:center;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg, var(--surface-secondary) 0%, #ffffff4d 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--space-md);color:var(--text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#ffffff80;font-size:.875rem;display:flex}.legend-sample{border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;width:28px;height:28px}.legend-sample.seat-button--available{border-color:var(--success-color);background:#28a74526}.legend-sample.seat-button--occupied{border-color:var(--border-color);background:var(--text-secondary);opacity:.5}.legend-sample.seat-button--selected{border-color:var(--primary-color);background:var(--primary-color)}.legend-label{color:var(--text-primary);font-weight:600}.booking-auto-assign{gap:var(--space-sm);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-direction:column;display:flex}.auto-assign-label{align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--text-primary);font-weight:500;display:flex}.auto-assign-checkbox{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color)}.auto-assign-text{flex:1}.auto-assign-help{color:var(--text-secondary);margin:0;font-size:.85rem}.booking-error{padding:var(--space-lg);border-radius:var(--radius-md);text-align:center;background:#dc35450d;border:1px solid #dc354533}.error-message{color:var(--error-color);margin:0;font-size:1rem;font-weight:500}.booking-error-message{padding:var(--space-md);border-radius:var(--radius-md);background:#dc35450d;border:1px solid #dc354533}.booking-error-message p{color:var(--error-color);margin:0;font-size:.9rem}.modal-footer{gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--border-color);justify-content:flex-end;display:flex}@media (width<=768px){.booking-modal-content{gap:var(--space-lg)}.class-info-details{grid-template-columns:repeat(2,1fr)}.seat-grid{gap:var(--space-sm);padding:var(--space-md)}.seat-legend{gap:var(--space-md)}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{justify-content:center;width:100%}}@media (width<=480px){.class-info-details{grid-template-columns:1fr}.booking-section-title{font-size:.95rem}.seat-button{font-size:.75rem}.seat-legend{gap:var(--space-sm);flex-direction:column}.legend-item{width:100%}}.spinner-inline,.spinner-inline .spinner{width:16px;height:16px}.spinner-inline .spinner-circle{width:4px;height:4px}.autobook-preference-form .form-section{gap:var(--space-lg);flex-direction:column;display:flex}.autobook-preference-form .form-section+.form-section{margin-top:var(--space-2xl)}.autobook-preference-form .form-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.autobook-preference-form .form-row{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.autobook-preference-form .form-group{gap:var(--space-sm);flex-direction:column;display:flex}.autobook-preference-form .form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.autobook-preference-form .form-input{width:100%}.autobook-class-summary{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-tertiary);border:1px solid var(--border-color)}.autobook-class-summary__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-xs)}.autobook-class-summary__meta{gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;display:flex}.autobook-class-summary__hint{margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--text-tertiary)}@media (width<=640px){.autobook-preference-form .form-row{grid-template-columns:1fr}}.profile-card{padding:var(--space-2xl);background:linear-gradient(135deg, var(--surface-secondary), var(--surface-primary));border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--space-2xl)}.profile-header{align-items:center;gap:var(--space-2xl);display:flex}.profile-avatar{background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:2rem;font-weight:700;display:flex}.profile-info{flex:1}.profile-name{margin:0 0 var(--space-xs) 0;color:var(--text-primary);font-size:1.5rem;font-weight:700}.profile-email{color:var(--text-secondary);margin:0;font-size:.95rem}.profile-memberid{margin:var(--space-xs) 0 0 0;color:var(--text-secondary);font-family:monospace;font-size:.85rem}.profile-badge{align-items:center;display:flex}.subscription-badge{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:700;display:inline-block}.subscription-free{background:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.subscription-basic,.subscription-premium{background:var(--primary-color);color:#fff}.subscription-premium{box-shadow:0 4px 12px #e864544d}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--primary-color);background:#e864541a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-icon svg{width:24px;height:24px}.stat-icon--success{color:var(--success-color);background:#28a7451a}.stat-icon--primary{color:#3498db;background:#3498db1a}.stat-content{flex:1}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.85rem;font-weight:600}.stat-value{margin:var(--space-xs) 0 0 0;color:var(--text-primary);font-size:1.75rem;font-weight:700}.card-header{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-color);display:flex}.section-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.link-btn{color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .2s}.link-btn:hover{transform:translate(2px)}.reservations-list{gap:var(--space-md);flex-direction:column;display:flex}.reservation-item{align-items:center;gap:var(--space-lg);padding:var(--space-md);background:var(--surface-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all .2s;display:flex}.reservation-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.reservation-time{align-items:center;gap:var(--space-xs);text-align:center;flex-direction:column;min-width:70px;display:flex}.reservation-date{color:var(--text-secondary);font-size:.85rem;font-weight:600}.reservation-hour{color:var(--primary-color);font-size:1.25rem;font-weight:700}.reservation-details{flex:1}.reservation-class{color:var(--text-primary);text-transform:uppercase;margin:0;font-size:.95rem;font-weight:600}.reservation-meta{margin:var(--space-xs) 0 0 0;color:var(--text-secondary);gap:var(--space-md);font-size:.85rem;display:flex}.meta-gym,.meta-seat{display:inline-block}.meta-seat{color:var(--primary-color);font-weight:600}.reservation-status{align-items:center;display:flex}.status-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);text-transform:capitalize;font-size:.75rem;font-weight:700;display:inline-block}.status-success{color:var(--success-color);background:#28a7451a}.status-failed{color:var(--error-color);background:#dc35451a}.status-pending{color:var(--warning-color);background:#ffc1071a}.status-cancelled{color:#6c757d;background:#6c757d1a}.reservations-table{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table thead{background:var(--surface-secondary);border-bottom:2px solid var(--border-color)}.table th{padding:var(--space-md);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.table td{padding:var(--space-md);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.table tbody tr:hover{background:var(--surface-secondary)}.cell-class{font-weight:600}@media (width<=768px){.profile-header{text-align:center;gap:var(--space-lg);flex-direction:column}.profile-avatar{width:64px;height:64px;font-size:1.5rem}.profile-name{font-size:1.25rem}.stats-grid{gap:var(--space-md);grid-template-columns:1fr}.stat-card{gap:var(--space-md)}.reservation-item{gap:var(--space-sm);flex-wrap:wrap}.reservation-status{justify-content:flex-end;width:100%}.card-header{flex-direction:column;align-items:flex-start}.table{font-size:.8rem}.table th,.table td{padding:var(--space-sm)}}@media (width<=480px){.profile-card{padding:var(--space-lg)}.stats-grid{gap:var(--space-sm)}.stat-card{padding:var(--space-md)}.stat-value{font-size:1.5rem}.reservation-date{font-size:.75rem}.reservation-hour{font-size:1rem}.table{font-size:.7rem}}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-family);background-color:var(--bg-secondary);color:var(--text-primary);margin:0}a{color:inherit;text-decoration:none}a:focus-visible{box-shadow:0 0 0 4px var(--brand-focus-ring);border-radius:var(--radius-sm);outline:none}button{cursor:pointer;font-family:inherit}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}input,select,textarea{font-family:inherit;font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--input-bg);color:var(--text-primary);padding:.65rem .9rem}main.app-main{width:100%;padding-top:4rem;padding-bottom:2rem}.login-page{min-height:100vh;font-family:var(--font-family);background:0 0;flex-direction:column;margin:0;padding:0;display:flex;overflow-x:hidden}.login-container{padding:var(--space-lg);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.login-background{z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0}.background-image{object-fit:cover;width:100%;height:100%}.background-overlay{background:linear-gradient(135deg,#2c3e50cc 0%,#2c3e5099 50%,#ff6b354d 100%);width:100%;height:100%;position:absolute;top:0;left:0}.login-card{background:var(--card-bg);box-shadow:0 20px 40px var(--shadow-color);z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:420px;padding:3rem 2.5rem;position:relative}.login-header{text-align:center;margin-bottom:var(--space-2xl)}.login-logo{justify-content:center;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);display:flex}.login-logo img{width:40px;height:40px}.brand-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary-color)}.login-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:var(--line-height-tight);margin-bottom:20px}.gym-name-animated{background:linear-gradient(135deg,#ff6b35,#f7931e,#ff6b35) 0 0/200% 200%;-webkit-text-fill-color:transparent;font-weight:var(--font-weight-extrabold);text-shadow:0 0 30px #ff6b354d;cursor:default;-webkit-background-clip:text;background-clip:text;transition:all .3s;animation:3s ease-in-out infinite gradientShift;display:inline-block;position:relative}.gym-name-animated:hover{filter:brightness(1.1);transform:scale(1.02)}.gym-name-animated:before{content:"";z-index:-1;opacity:.1;background:linear-gradient(135deg,#ff6b35,#f7931e,#ff6b35) 0 0/200% 200%;border-radius:4px;animation:3s ease-in-out infinite gradientShift;position:absolute;inset:-2px}.gym-name-animated.fade-out{animation:.6s ease-in-out forwards fadeOutUp}.gym-name-animated.fade-in{animation:.6s ease-in-out forwards fadeInDown}.gym-name-animated.scale-pulse{animation:.8s ease-in-out forwards scalePulse}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.9)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)scale(1.1)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes scalePulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.gym-name-animated.typing{border-right:2px solid #ff6b35;animation:1.5s steps(20,end) typing,.75s step-end infinite blink-caret;overflow:hidden}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:#ff6b35}}.gym-name-animated.slide-rotate{animation:.8s ease-in-out forwards slideRotate}@keyframes slideRotate{0%{opacity:1;transform:translate(0)rotate(0)}50%{opacity:.3;transform:translate(20px)rotate(5deg)}to{opacity:0;transform:translate(-20px)rotate(-2deg)}}.gym-name-animated.bounce-in{animation:.9s ease-out forwards bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)translateY(-30px)}50%{opacity:.7;transform:scale(1.1)translateY(0)}70%{opacity:1;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gym-name-animated.glitch{animation:.6s ease-in-out glitch}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}.gym-name-animated.sparkle:after{content:"✨";opacity:.8;font-size:12px;animation:2s ease-in-out infinite sparkleFloat;position:absolute;top:-10px;right:-15px}@keyframes sparkleFloat{0%,to{opacity:.8;transform:translateY(0)rotate(0)}50%{opacity:1;transform:translateY(-8px)rotate(180deg)}}.login-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.login-form{margin-bottom:var(--space-2xl)}.form-group{margin-bottom:var(--space-xl)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm);display:block}.form-field{border:2px solid var(--border-color);width:100%;height:44px;line-height:1.2;font-size:var(--font-size-base);color:var(--text-primary);background:var(--input-bg);box-sizing:border-box;border-radius:8px;padding:8px 2.5rem 8px 12px;transition:all .3s}.form-field:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #ff6b351a}.form-field::placeholder{color:var(--text-tertiary)}.form-field.error{border-color:var(--error-color);box-shadow:0 0 0 3px #dc35451a}.password-field{position:relative}.password-toggle{cursor:pointer;font-size:var(--font-size-lg);color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle:hover{color:var(--primary-color)}.checkbox-group{margin-bottom:var(--space-lg)}.checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{border:2px solid var(--border-color);background:var(--input-bg);border-radius:4px;width:18px;height:18px;transition:all .2s;position:relative}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.field-error{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--error-color);display:none}.field-error.show{display:block}.form-error{padding:var(--space-md);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);background:#dc35451a;border:1px solid #dc354533;border-radius:8px;display:flex}.error-icon{font-size:var(--font-size-lg)}.error-text{font-size:var(--font-size-sm);color:var(--error-color);line-height:var(--line-height-relaxed)}.submit-button{background:var(--primary-color);color:#fff;width:100%;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;border-radius:8px;padding:16px 24px;transition:all .3s;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 8px 20px #ff6b354d}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-spinner{justify-content:center;align-items:center;gap:var(--space-sm);display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.login-footer{text-align:center}.help-link{color:var(--primary-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s}.help-link:hover{color:var(--primary-dark);text-decoration:underline}.divider{margin:var(--space-xl) 0;position:relative}.divider:before{content:"";background:var(--border-color);height:1px;position:absolute;top:50%;left:0;right:0}.divider span{background:var(--card-bg);color:var(--text-tertiary);padding:0 var(--space-md);font-size:var(--font-size-sm)}.back-section{margin-bottom:var(--space-lg)}.back-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.back-link{color:var(--primary-color);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s}.back-link:hover{color:var(--primary-dark);text-decoration:underline}.nav-section{padding-top:var(--space-lg);border-top:1px solid var(--gray-100)}.nav-link{color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--primary-color)}.privacy-notice{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--gray-200);padding:var(--space-md);z-index:10;background:#fffffff2;position:fixed;bottom:0;left:0;right:0}.privacy-content{align-items:center;gap:var(--space-sm);max-width:800px;font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center;margin:0 auto;display:flex}.privacy-icon{font-size:var(--font-size-sm)}.privacy-link{color:var(--primary-color);text-decoration:none}.privacy-link:hover{text-decoration:underline}.modal{z-index:1000;position:fixed;inset:0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.modal-content{background:#fff;border-radius:16px;width:90vw;max-width:500px;max-height:90vh;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 40px #00000026}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.modal-close{background:var(--gray-100);width:2rem;height:2rem;font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-fast);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--gray-200)}.modal-body{padding:var(--space-xl)}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--gray-200);justify-content:flex-end;gap:var(--space-md);display:flex}.help-modal{max-width:600px}.help-section{margin-bottom:var(--space-2xl)}.help-section:last-child{margin-bottom:0}.help-section h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-md)}.help-steps,.help-options{margin:var(--space-md) 0;padding-left:var(--space-lg)}.help-steps li,.help-options li{margin-bottom:var(--space-sm);line-height:var(--line-height-relaxed);color:var(--text-secondary)}.help-steps strong,.help-options strong{color:var(--text-primary)}.help-tip{padding:var(--space-md);margin:var(--space-md) 0;align-items:flex-start;gap:var(--space-sm);line-height:var(--line-height-relaxed);background:#ff6b351a;border:1px solid #ff6b3533;border-radius:8px;display:flex}.tip-icon{font-size:var(--font-size-lg);flex-shrink:0}.help-options a{color:var(--primary-color);font-weight:var(--font-weight-medium);text-decoration:none}.help-options a:hover{text-decoration:underline}.success-modal{justify-content:center;align-items:center;display:flex}.success-modal-content{text-align:center;background:var(--modal-bg);border-radius:12px;width:90%;max-width:360px;padding:2rem;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 10px 25px #00000026}.success-icon{margin-bottom:1rem;font-size:3rem}.animate-fade-in{animation:.3s fadeInScale}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-out{animation:.3s forwards fadeOutScale}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.success-actions{justify-content:center;margin-top:1.5rem;display:flex}@media (width<=768px){.login-container{padding:var(--space-md)}.login-card{margin-bottom:60px;padding:2rem 1.5rem}.login-title{font-size:var(--font-size-2xl)}.privacy-notice{margin-top:var(--space-lg);position:relative}.modal-content{width:95vw;margin:var(--space-lg)}.help-modal{max-width:none}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}@media (width<=480px){.login-card{border-radius:12px;padding:1.5rem 1rem}.login-title{font-size:var(--font-size-xl)}.form-field{padding:12px 14px}.submit-button{padding:14px 20px}.privacy-content{gap:var(--space-xs);flex-direction:column}}.footer{padding:var(--space-2xl) 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:2;background:#2c3e50f2;border-top:1px solid #ffffff1a;position:relative}.footer-content{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.footer-logo{align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);display:flex}.footer-logo img{filter:brightness()invert(0);height:2rem}.footer-links{gap:var(--space-xl);display:flex}.footer-links a{color:#fffc;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{text-align:center;padding-top:var(--space-lg);color:#ffffffb3;font-size:var(--font-size-sm);border-top:1px solid #fff3}@media (width<=768px){.footer{padding:var(--space-xl) 0}.footer-content{gap:var(--space-lg);text-align:center;flex-direction:column}.footer-links{justify-content:center;gap:var(--space-md);flex-wrap:wrap}.footer-bottom{padding-top:var(--space-md)}}@media (width<=480px){.footer-links{gap:var(--space-sm);flex-direction:column}}.spinner{justify-content:center;align-items:center;gap:var(--space-xs);display:inline-flex}.spinner-sm{--spinner-size:1rem;gap:.25rem}.spinner-md{--spinner-size:1.5rem;gap:.375rem}.spinner-lg{--spinner-size:2rem;gap:.5rem}.spinner-circle{width:var(--spinner-size);height:var(--spinner-size);background-color:var(--primary-color);border-radius:50%;animation:1.4s ease-in-out infinite both spinnerBounce}.spinner-circle:first-child{animation-delay:-.32s}.spinner-circle:nth-child(2){animation-delay:-.16s}@keyframes spinnerBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.spinner-inline{justify-content:center;align-items:center;gap:.25rem;margin-right:.5rem;display:inline-flex}.spinner-dot{background-color:currentColor;border-radius:50%;width:.375rem;height:.375rem;animation:1.4s ease-in-out infinite both spinnerDotBounce}.spinner-dot:first-child{animation-delay:-.32s}.spinner-dot:nth-child(2){animation-delay:-.16s}@keyframes spinnerDotBounce{0%,80%,to{opacity:.4}40%{opacity:1}}.skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);border-radius:var(--radius-md);margin-bottom:var(--space-md);background-size:200% 100%;animation:1.5s infinite skeletonLoading}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg, var(--gray-700) 25%, var(--gray-600) 50%, var(--gray-700) 75%);background-size:200% 100%}@media (prefers-reduced-motion:reduce){.spinner-circle,.spinner-dot{opacity:1;animation:none;transform:scale(1)}.skeleton{background:var(--gray-300);animation:none}[data-theme=dark] .skeleton{background:var(--gray-600)}}
