@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: rgb(232 100 84 / 28%);--brand-glow-primary-strong: rgb(232 100 84 / 38%);--brand-glow-accent: rgb(52 152 219 / 22%);--brand-glow-accent-strong: rgb(52 152 219 / 32%);--brand-glow-ink: rgb(44 62 80 / 16%);--brand-pill-bg: rgb(232 100 84 / 12%);--brand-pill-border: rgb(232 100 84 / 24%);--brand-focus-ring: rgb(232 100 84 / 28%);--pattern-dot: rgb(44 62 80 / 6%);--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 rgb(0 0 0 / 5%);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -1px rgb(0 0 0 / 6%);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%), 0 4px 6px -2px rgb(0 0 0 / 5%);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 10%), 0 10px 10px -5px rgb(0 0 0 / 4%);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 25%);--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: rgb(0 0 0 / 10%);--card-bg: white;--input-bg: white;--navbar-bg: white;--modal-bg: white;--modal-overlay: rgb(0 0 0 / 50%)}[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: rgb(0 0 0 / 30%);--card-bg: var(--gray-800);--input-bg: var(--gray-700);--navbar-bg: var(--gray-800);--modal-bg: var(--gray-800);--modal-overlay: rgb(0 0 0 / 70%);--success-light: rgb(34 197 94 / 20%);--error-light: rgb(239 68 68 / 20%);--warning-light: rgb(245 158 11 / 20%);--info-light: rgb(59 130 246 / 20%);--brand-glow-primary: rgb(232 100 84 / 22%);--brand-glow-primary-strong: rgb(232 100 84 / 32%);--brand-glow-accent: rgb(52 152 219 / 18%);--brand-glow-accent-strong: rgb(52 152 219 / 26%);--brand-glow-ink: rgb(0 0 0 / 22%);--brand-pill-bg: rgb(232 100 84 / 16%);--brand-pill-border: rgb(232 100 84 / 28%);--brand-focus-ring: rgb(232 100 84 / 32%);--pattern-dot: rgb(255 255 255 / 7%)}@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: rgb(0 0 0 / 30%);--card-bg: var(--gray-800);--input-bg: var(--gray-700);--navbar-bg: var(--gray-800);--modal-bg: var(--gray-800);--modal-overlay: rgb(0 0 0 / 70%);--brand-glow-primary: rgb(232 100 84 / 22%);--brand-glow-primary-strong: rgb(232 100 84 / 32%);--brand-glow-accent: rgb(52 152 219 / 18%);--brand-glow-accent-strong: rgb(52 152 219 / 26%);--brand-glow-ink: rgb(0 0 0 / 22%);--brand-pill-bg: rgb(232 100 84 / 16%);--brand-pill-border: rgb(232 100 84 / 28%);--brand-focus-ring: rgb(232 100 84 / 32%);--pattern-dot: rgb(255 255 255 / 7%)}}.container{max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;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);text-decoration:none;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;border:2px solid transparent;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--brand-focus-ring)}.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{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-secondary:hover{background-color:var(--primary-color);color:#fff}.user-status-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.35rem .75rem;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)}.status-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px #22c55e2e}.btn-large{height:3.5rem;padding:1rem 2rem;font-size:var(--font-size-lg)}.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);position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed);border-bottom:1px solid var(--border-color)}.nav-container{display:flex;align-items:center;justify-content:space-between;height:4rem;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-lg)}.nav-logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--primary-color)}.nav-logo img{height:2rem}.nav-links{display:flex;align-items:center;gap:var(--space-xl)}.nav-anchor-btn{background:none;border:none;padding:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.nav-anchor-btn:focus-visible{outline:none;box-shadow:0 0 0 4px var(--brand-focus-ring);border-radius:var(--radius-md)}.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{color:var(--gray-800);text-decoration:none}.nav-link.active{color:var(--gray-800);text-decoration:none}.mobile-menu-btn{display:none;flex-direction:column;gap:4px;padding:var(--space-sm);background:none;border:none}.mobile-menu-btn span{width:20px;height:2px;background-color:var(--text-primary);transition:all var(--transition-fast)}.footer{padding:var(--space-4xl) 0 var(--space-2xl);background:var(--gray-900);color:#fff}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2xl);gap:var(--space-xl)}.footer-links{display:flex;gap:var(--space-xl);flex-wrap:wrap}.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{display:none;position:fixed;top:64px;left:0;right:0;background:#fff;box-shadow:0 4px 12px #0000001a;z-index:var(--z-mobile-menu);padding:var(--space-lg);flex-direction:column;gap:var(--space-md)}.nav-links.show,.mobile-menu-btn{display:flex}.mobile-menu-btn.active span:nth-child(1){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{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal.modal-visible{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:0}.modal-content{position:relative;background:var(--modal-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease;z-index:1;min-width:0}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-sm .modal-content{max-width:400px;width:auto}.modal-md .modal-content{max-width:500px;width:auto}.modal-lg .modal-content{max-width:700px;width:auto}.modal-xl .modal-content{max-width:900px;width:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--border-color)}.modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.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{width:2rem;height:2rem;border-radius:50%;background:var(--gray-100);border:none;font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.modal-close:hover{background:var(--gray-200);color:var(--text-primary)}.modal-close:active{transform:scale(.95)}.modal-close-absolute{position:absolute;top:var(--space-lg);right:var(--space-lg)}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--space-md);flex-wrap:wrap}.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);transform:translateY(-1px);box-shadow:var(--shadow-md)}}.modal .btn-secondary:active:not(:disabled):not([aria-disabled=true]){transform:translateY(0);box-shadow:none}[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 (max-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{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-bottom:none}.modal-success .modal-title{color:#fff}.modal-success .modal-close{background:#fff;color:#22c55e}.modal-warning .modal-header{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-bottom:none}.modal-warning .modal-title{color:#fff}.modal-danger .modal-header{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;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:transparent}.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{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-tooltip);pointer-events:none;display:flex;flex-direction:column;gap:var(--space-md)}.toast{background:var(--modal-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);min-width:320px;max-width:450px;opacity:0;pointer-events:auto;border-left:5px solid var(--border-color);animation:toastEnter .3s cubic-bezier(.68,-.55,.265,1.55) forwards}.toast.toast-exit{animation:toastExit .3s cubic-bezier(.68,-.55,.265,1.55) forwards}@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{display:flex;align-items:flex-start;padding:var(--space-lg);gap:var(--space-md)}.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{flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.5;color:var(--text-primary);margin:0}.toast-close{background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:background-color var(--transition-fast);flex-shrink:0;color:var(--text-secondary);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%,rgba(40,167,69,.02) 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%,rgba(220,53,69,.02) 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%,rgba(255,193,7,.02) 100%)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{border-left-color:var(--primary-color);background:linear-gradient(135deg,#e8645414,#e8645405)}.toast-info .toast-icon{color:var(--primary-color)}[data-theme=dark] .toast{border-left-color:var(--gray-600)}@media (max-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{animation:none;opacity:1}.toast.toast-exit{animation:none;opacity:0}}.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);margin:0 auto;padding:0 var(--space-lg)}.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{width:100%;border-collapse:collapse;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{max-width:600px;margin:50px auto;padding:30px;background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;text-align:center}.unsubscribe-icon{font-size:64px;margin-bottom:20px}.email-type-badge{display:inline-block;background:var(--primary-color);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;margin:10px 0}.unsubscribe-form{margin:30px 0}.unsubscribe-btn{background:#dc3545;color:#fff;border:none;padding:15px 30px;border-radius:5px;font-size:16px;cursor:pointer;transition:background .3s}.unsubscribe-btn:hover{background:#c82333}.unsubscribe-btn:disabled{background:#6c757d;cursor:not-allowed}.cancel-btn{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:5px;font-size:14px;cursor:pointer;margin-left:10px;text-decoration:none;display:inline-block}.cancel-btn:hover{background:#5a6268}.success-message{background:#d4edda;color:#155724;border:1px solid #c3e6cb;padding:20px;border-radius:5px;margin:20px 0}.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:20px;border-radius:5px;margin:20px 0}.loading{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.small-text{font-size:14px;color:#6c757d;margin-top:20px}.preferences-list{text-align:left;margin:20px 0;padding:20px;background:#f8f9fa;border-radius:5px}.preference-item{margin:10px 0;padding:10px;border-left:4px solid var(--primary-color);background:#fff}.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, 0ms);will-change:opacity,transform}.reveal[data-in-view=true]{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}.hero{position:relative;overflow:hidden;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%);display:flex;align-items:center}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.75;background-image:radial-gradient(circle at 1px 1px,var(--pattern-dot) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 35% 10%,black 0%,transparent 55%);mask-image:radial-gradient(circle at 35% 10%,black 0%,transparent 55%)}.hero-container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-lg)}.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{display:flex;gap:var(--space-lg);margin-bottom:var(--space-3xl)}.hero-stats{display:flex;gap:var(--space-2xl)}.stat{text-align:center}.stat-number{display:block;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--primary-color)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.hero-image{position:relative}.hero-image:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;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)}.hero-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-2xl);pointer-events:none;background:linear-gradient(135deg,rgb(0 0 0 / 12%) 0%,transparent 55%,rgb(0 0 0 / 10%) 100%);mix-blend-mode:multiply}[data-theme=dark] .hero-image:after{background:linear-gradient(135deg,rgb(255 255 255 / 6%) 0%,transparent 55%,rgb(255 255 255 / 5%) 100%);mix-blend-mode:screen}@media (prefers-color-scheme: dark){:root:not([data-theme]) .hero-image:after{background:linear-gradient(135deg,rgb(255 255 255 / 6%) 0%,transparent 55%,rgb(255 255 255 / 5%) 100%);mix-blend-mode:screen}}.hero-img{width:100%;height:500px;object-fit:cover;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);border:1px solid rgb(255 255 255 / 35%);filter:saturate(1.05) contrast(1.03)}.floating-card{position:absolute;bottom:-20px;right:-20px;background:var(--card-bg);padding:var(--space-lg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);backdrop-filter:blur(10px);z-index:1000;-webkit-backdrop-filter:blur(10px)}.notification{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.65rem .9rem;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 rgb(255 255 255 / 55%);box-shadow:0 14px 40px #0000001f}.notification-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--success-color)}.notification-icon svg{width:1.1rem;height:1.1rem}[data-theme=dark] .notification{background:#1118278c;border:1px solid rgb(255 255 255 / 10%);box-shadow:0 18px 50px #00000059}@media (prefers-color-scheme: dark){:root:not([data-theme]) .notification{background:#1118278c;border:1px solid rgb(255 255 255 / 10%);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{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-2xl)}.problem-item{text-align:center;padding:var(--space-2xl);background:linear-gradient(180deg,#ffffffb8,#ffffff8f);border:1px solid rgb(255 255 255 / 55%);border-radius:var(--radius-2xl);box-shadow:0 18px 50px #00000014;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.problem-item:hover{transform:translateY(-4px);box-shadow:0 24px 70px #0000001a}.problem-icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:1.25rem;background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);color:var(--primary-color);margin-bottom:var(--space-lg)}.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{position:relative;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));overflow:hidden}.how-it-works:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle at 1px 1px,var(--pattern-dot) 1px,transparent 0);background-size:30px 30px;-webkit-mask-image:radial-gradient(circle at 50% 20%,black 0%,transparent 60%);mask-image:radial-gradient(circle at 50% 20%,black 0%,transparent 60%);z-index:0}.how-it-works:after{content:"";position:absolute;inset:10% 5% auto;height:300px;background:linear-gradient(120deg,var(--brand-glow-primary),var(--brand-glow-accent));filter:blur(80px);z-index:0}.how-header{position:relative;text-align:center;max-width:800px;margin:0 auto var(--space-4xl);z-index:1}.how-header .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;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)}.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{position:relative;display:grid;gap:var(--space-xl);max-width:1000px;margin:0 auto;z-index:1}@media (min-width: 900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xl)}}.step-card{position:relative;background:#ffffff9e;border:1px solid rgb(255 255 255 / 55%);border-radius:var(--radius-2xl);padding:var(--space-2xl);box-shadow:0 22px 70px #0000001f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}[data-theme=dark] .step-card{background:#11182761;border:1px solid rgb(255 255 255 / 10%);box-shadow:0 26px 80px #00000059}@media (prefers-color-scheme: dark){:root:not([data-theme]) .step-card{background:#11182761;border:1px solid rgb(255 255 255 / 10%);box-shadow:0 26px 80px #00000059}}.step-card:hover{transform:translateY(-6px);box-shadow:0 34px 90px #00000029;border-color:var(--brand-pill-border)}.step-badge{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.step-icon{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;background:#e8645424;border:1px solid rgb(232 100 84 / 32%);border-radius:50%;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{position:absolute;right:-12px;top:50%;width:24px;height:2px;background:linear-gradient(90deg,#e864548c,#3498db8c);display:none}@media (min-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);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);z-index:1;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{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media (min-width: 640px){.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-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{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#e8645440}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:1.25rem;background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);color:var(--primary-color);margin-bottom:var(--space-lg);line-height:0}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);align-items:stretch}.pricing-card{background:var(--card-bg);border:1px solid rgb(232 100 84 / 18%);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);position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:var(--space-md)}.pricing-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 18%,rgb(232 100 84 / 16%) 0%,transparent 60%),radial-gradient(circle at 82% 0%,rgb(52 152 219 / 10%) 0%,transparent 55%);opacity:0;transition:opacity var(--transition-normal);z-index:0}.pricing-card>*{position:relative;z-index:1}.pricing-card:hover:before{opacity:1}.pricing-card:hover{border-color:#e8645461;transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pricing-card.featured{border-color:#e864548c;box-shadow:0 24px 60px #e8645429;transform:translateY(-6px);position:relative}.pricing-card.featured:before{opacity:1}.plan-badge{display:inline-block;background:var(--primary-color);color:#fff;padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-sm);margin-bottom:var(--space-md);position:absolute;top:var(--space-md);right:var(--space-md);box-shadow:0 14px 30px #e8645440;letter-spacing:.02em}.pricing-card h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0;position:relative;z-index:1}.pricing-card.featured h3{padding-right:7.75rem}.plan-price{margin:0;display:flex;align-items:baseline;gap:var(--space-sm);flex-wrap:wrap;font-variant-numeric:tabular-nums}.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{list-style:none;padding:0;margin:0;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.plan-features li{margin:0;line-height:var(--line-height-relaxed)}.pricing-card .btn{width:100%;margin-top:var(--space-lg)}.pricing-section .btn{border:2px solid transparent}.pricing-section .btn-secondary{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.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;margin:0 auto;font-weight:var(--font-weight-bold);letter-spacing:-.01em;box-shadow:0 18px 46px #e864542e;justify-content:center}.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{grid-template-columns:1fr;gap:var(--space-3xl);text-align:center}.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{flex-direction:column;gap:var(--space-3xl)}.step-arrow{transform:rotate(90deg)}.pricing-card.featured{transform:none}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary);color:var(--text-primary)}.app-shell--login{background:transparent}.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);font-size:.9em;padding:.1em .35em;border-radius:var(--radius-sm);background:#0000000d;border:1px solid rgb(0 0 0 / 6%)}[data-theme=dark] .app-header code{background:#ffffff14;border:1px solid rgb(255 255 255 / 10%)}@media (prefers-color-scheme: dark){:root:not([data-theme]) .app-header code{background:#ffffff14;border:1px solid rgb(255 255 255 / 10%)}}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs);color:var(--text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-md)}.breadcrumb-item{display:inline-flex;align-items:center;gap:var(--space-xs)}.breadcrumb-link{color:var(--text-secondary);text-decoration:none}.breadcrumb-link:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}.breadcrumb-sep{opacity:.55}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.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);display:grid;place-items:center;border-radius:1.25rem;background:var(--brand-pill-bg);border:1px solid var(--brand-pill-border);color:var(--primary-color)}.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{display:flex;flex-direction:column}.stack{gap:var(--space-2xl)}.stack-md{gap:var(--space-xl)}.stack-sm{gap:var(--space-md)}.stack-xs{gap:var(--space-sm)}.row{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.row-between{justify-content:space-between}.page-title{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.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{margin:0;color:var(--text-secondary)}.section-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.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-decoration:underline;text-underline-offset:3px}.link:hover{color:var(--accent-color)}.notice{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.6rem .85rem;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)}.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{display:flex;flex-direction:column;gap:var(--space-lg)}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.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{display:flex;align-items:center;gap:var(--space-sm)}.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{display:flex;flex-direction:column;gap:var(--space-md)}.grid-3{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media (min-width: 900px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.detail-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr}@media (min-width: 760px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.detail-value{margin:0;font-weight:var(--font-weight-semibold);color:var(--text-primary)}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-fade{0%,to{opacity:.3}50%{opacity:1}}.spinner-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md)}.spinner-fullpage-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffc;z-index:9999}[data-theme=dark] .spinner-fullpage-container{background:#000c}@media (prefers-color-scheme: dark){:root:not([data-theme]) .spinner-fullpage-container{background:#000c}}.spinner{position:relative;display:inline-block}.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{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--primary-color);border-radius:50%;animation:spinner-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-circle:nth-child(1){animation-delay:-.45s}.spinner-circle:nth-child(2){animation-delay:-.3s}.spinner-text{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.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;font-size:1.75rem;font-weight:700;color:var(--primary-color)}.stat-label{margin:0;font-size:.875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin:var(--space-lg) 0}.upgrade-modal .pricing-card{display:flex;flex-direction:column;border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);background:var(--bg-card);transition:all .3s ease;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{font-size:1.375rem;font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--text-primary)}.upgrade-modal .pricing-card-description{margin:0;font-size:.875rem;color:var(--text-muted)}.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{display:flex;align-items:baseline;gap:var(--space-xs)}.upgrade-modal .price-number{font-size:2.5rem;font-weight:700;color:var(--primary-color)}.upgrade-modal .price-period{font-size:.875rem;color:var(--text-muted)}.upgrade-modal .pricing-card-features{flex:1;margin:var(--space-md) 0}.upgrade-modal .features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.upgrade-modal .feature-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.9375rem;color:var(--text-secondary)}.upgrade-modal .feature-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:var(--success-color)}.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{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.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{display:inline-block;font-size:.625rem}.row-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-left:var(--space-sm)}.subscription-badge-section{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-light);border-radius:var(--radius-md)}.subscription-info{flex:1}.subscription-plan{font-weight:600;margin:0 0 var(--space-xs) 0}.subscription-details{font-size:.875rem;color:var(--text-muted);margin:0}.subscription-actions{display:flex;gap:var(--space-sm)}.modal-lg{max-width:900px}.modal-body{max-height:70vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.modal-title{margin:0;font-size:1.5rem;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;padding:var(--space-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .2s ease}.modal-close:hover{color:var(--text-primary)}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-top:1px solid var(--border-color);gap:var(--space-md)}.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 (max-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{width:100%;flex-direction:column}.subscription-actions .btn{width:100%}}.calendar-filters{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-bottom:var(--space-2xl);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--space-sm);min-width:180px}.filter-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.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);font-size:.95rem;transition:border-color .2s,box-shadow .2s;cursor:pointer}.filter-select:hover{border-color:var(--primary-color)}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #e864541a}.calendar-mobile-week-band{display:none;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-lg)}.week-band-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--primary-color);color:#fff;gap:var(--space-sm)}.mobile-week-nav-btn{width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#ffffff26;color:#fff;font-size:18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.current-month-year{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;flex:1;padding:0;text-align:center}.current-month-year-top{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;opacity:.95}.current-month-year-bottom{display:block;font-size:.85rem;font-weight:700;margin-top:2px}.current-month-year-hint{display:block;font-size:.65rem;opacity:.85;margin-top:2px}.week-band-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0;padding:var(--space-xs);background:var(--surface-primary)}.week-day{border:0;background:transparent;padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;color:var(--text-primary)}.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{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;opacity:.75;line-height:1}.week-day .day-number{font-size:14px;font-weight:800;line-height:1;margin-top:2px}.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{font-weight:800;text-transform:capitalize;color:var(--text-primary)}.calendar-mobile-empty{text-align:center;color:var(--text-secondary);padding:var(--space-lg);border:1px dashed rgba(232,100,84,.25);border-radius:var(--radius-md);background:#e864540a}.calendar-mobile-day-list{display:flex;flex-direction:column;gap:var(--space-md)}.calendar-mobile-week{display:flex;flex-direction:column;gap:var(--space-lg)}.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{display:flex;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)}.calendar-header-title{flex:1}.calendar-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.calendar-header-controls{display:flex;gap:var(--space-md);align-items:center}.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);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--space-sm)}.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{background:#d75246;border-color:#d75246;color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-md);margin-bottom:var(--space-2xl)}.calendar-grid--timetable{grid-template-columns:76px repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-secondary)}.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);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;padding:var(--space-sm)}.calendar-time-label{background:var(--surface-primary);color:var(--text-secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;padding:var(--space-sm);min-height:72px}.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{display:flex;flex-direction:column;gap:var(--space-md)}.calendar-grid-loading,.calendar-grid-error{padding:var(--space-3xl) var(--space-lg);text-align:center}.calendar-grid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);margin:0 auto;width:100%;max-width:720px;background:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.calendar-loading-head{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.calendar-loading-text{margin:0;font-size:1rem;font-weight:700;color:var(--text-secondary);letter-spacing:.2px}.calendar-loading-text:after{content:"...";display:inline-block;width:0ch;overflow:hidden;vertical-align:bottom;animation:calendarLoadingDots 1.1s steps(4,end) infinite}@keyframes calendarLoadingDots{to{width:3ch}}.calendar-loading-skeleton{width:min(420px,100%);display:flex;flex-direction:column;gap:10px}.calendar-loading-line{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:calendarSkeletonLoading 1.4s infinite}.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{animation:none;width:3ch}.calendar-loading-line{animation:none;background:var(--gray-300)}[data-theme=dark] .calendar-loading-line{background:var(--gray-600)}}.calendar-grid-error{background:#dc35450d;border-radius:var(--radius-lg);border:1px solid rgba(220,53,69,.2)}.error-message{max-width:500px;margin:0 auto}.error-title{font-size:1.25rem;font-weight:600;color:var(--error-color);margin:0 0 var(--space-sm) 0}.error-text{color:var(--text-secondary);margin:0}.calendar-day{display:flex;flex-direction:column;background:var(--surface-secondary);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s,box-shadow .2s;min-height:400px}.calendar-day--today{border:2px solid var(--primary-color);box-shadow:0 0 0 4px #e864541a}.calendar-day-header{display:flex;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)}.calendar-day-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.calendar-day-name{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.calendar-day-num{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.calendar-day-num--highlight{color:var(--primary-color)}.calendar-day-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--primary-color);color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;border-radius:var(--radius-sm)}.calendar-day-content{flex:1;display:flex;flex-direction:column;padding:var(--space-lg);overflow-y:auto}.calendar-day-classes{display:flex;flex-direction:column;gap:var(--space-md)}.class-card{display:flex;flex-direction:column;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;transition:all .2s;text-align:left;font-family:inherit;position:relative;overflow:hidden}.class-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--activity-default, var(--primary-color))}.class-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #e8645426;transform:translateY(-2px)}.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{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.class-card-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.class-card-time{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.class-card-time-icon{width:16px;height:16px;color:var(--primary-color)}.class-card-content{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.85rem}.class-card-instructor{color:var(--text-primary);font-weight:500;margin:0}.class-card-room{color:var(--text-secondary);margin:0}.class-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-sm);border-top:1px solid var(--border-color)}.class-card-seats{display:flex;flex-direction:row;align-items:center;gap:var(--space-xs)}.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 (max-width: 1024px){.calendar-grid.calendar-grid--timetable{grid-template-columns:76px repeat(7,240px);overflow-x:auto;padding-bottom:var(--space-sm)}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header-controls{width:100%}}@media (max-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{flex-direction:column;gap:var(--space-md)}.filter-group{min-width:unset;width:100%}.calendar-title{font-size:1.25rem}}@media (max-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{display:flex;flex-direction:column;gap:var(--space-2xl)}.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;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-transform:uppercase}.class-info-date{margin:0;font-size:.875rem;color:var(--text-secondary)}.class-info-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-lg)}.info-detail{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-icon{width:16px;height:16px;color:var(--primary-color)}.detail-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.premium-notice{padding:var(--space-lg);background:linear-gradient(135deg,#3498db14,#3498db08);border:1px solid rgba(52,152,219,.3);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.premium-notice-content{text-align:center}.premium-notice-title{margin:0 0 var(--space-sm) 0;font-size:.95rem;font-weight:700;color:#3498db}.premium-notice-text{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.notice-text{margin:0;font-size:.95rem;color:#3498db;font-weight:500}.btn-gradient{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:var(--space-sm) var(--space-xl);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-gradient:hover{background:linear-gradient(135deg,#2980b9,#1f618d);box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.btn-gradient:active{transform:translateY(0)}.booking-options{display:flex;flex-direction:column;gap:var(--space-2xl)}.booking-seat-selection{display:flex;flex-direction:column;gap:var(--space-md)}.booking-seat-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.booking-section-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.premium-badge{display:inline-block;padding:4px 12px;background:#3498db1a;border:1px solid rgba(52,152,219,.3);border-radius:var(--radius-md);font-size:.75rem;font-weight:600;color:#3498db;white-space:nowrap}.seat-grid-container{display:flex;flex-direction:column;gap:var(--space-lg)}.seat-grid{display:grid;gap:var(--space-md);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.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);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.seat-button:hover:not(.seat-button--occupied):not(.seat-button--disabled){border-color:var(--primary-color);box-shadow:0 2px 8px #e8645433;transform:scale(1.05)}.seat-button:active:not(.seat-button--occupied):not(.seat-button--disabled){transform:scale(.95)}.seat-button--available{border-color:var(--success-color);background:#28a7450d;color:var(--success-color)}.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{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--surface-secondary) 0%,rgba(255,255,255,.3) 100%);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:var(--space-md);font-size:.875rem;color:var(--text-primary);padding:var(--space-sm) var(--space-md);background:#ffffff80;border-radius:var(--radius-md)}.legend-sample{width:28px;height:28px;border-radius:4px;border:2px solid var(--border-color);flex-shrink:0}.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{font-weight:600;color:var(--text-primary)}.booking-auto-assign{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background:var(--surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.auto-assign-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-weight:500;color:var(--text-primary)}.auto-assign-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.auto-assign-text{flex:1}.auto-assign-help{margin:0;font-size:.85rem;color:var(--text-secondary)}.booking-error{padding:var(--space-lg);background:#dc35450d;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-md);text-align:center}.error-message{margin:0;font-size:1rem;color:var(--error-color);font-weight:500}.booking-error-message{padding:var(--space-md);background:#dc35450d;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-md)}.booking-error-message p{margin:0;color:var(--error-color);font-size:.9rem}.modal-footer{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-lg);border-top:1px solid var(--border-color)}@media (max-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{width:100%;justify-content:center}}@media (max-width: 480px){.class-info-details{grid-template-columns:1fr}.booking-section-title{font-size:.95rem}.seat-button{font-size:.75rem}.seat-legend{flex-direction:column;gap:var(--space-sm)}.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{display:flex;flex-direction:column;gap:var(--space-lg)}.autobook-preference-form .form-section+.form-section{margin-top:var(--space-2xl)}.autobook-preference-form .form-section-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.autobook-preference-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.autobook-preference-form .form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.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{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;font-size:var(--font-size-sm);color:var(--text-secondary)}.autobook-class-summary__hint{margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--text-tertiary)}@media (max-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{display:flex;align-items:center;gap:var(--space-2xl)}.profile-avatar{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--primary-color);color:#fff;font-size:2rem;font-weight:700;flex-shrink:0}.profile-info{flex:1}.profile-name{margin:0 0 var(--space-xs) 0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.profile-email{margin:0;font-size:.95rem;color:var(--text-secondary)}.profile-memberid{margin:var(--space-xs) 0 0 0;font-size:.85rem;color:var(--text-secondary);font-family:monospace}.profile-badge{display:flex;align-items:center}.subscription-badge{display:inline-block;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{display:flex;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}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:#e864541a;color:var(--primary-color);flex-shrink:0}.stat-icon svg{width:24px;height:24px}.stat-icon--success{background:#28a7451a;color:var(--success-color)}.stat-icon--primary{background:#3498db1a;color:#3498db}.stat-content{flex:1}.stat-label{margin:0;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{margin:var(--space-xs) 0 0 0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.card-header{display:flex;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)}.section-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.link-btn{color:var(--primary-color);font-weight:600;text-decoration:none;transition:all .2s}.link-btn:hover{transform:translate(2px)}.reservations-list{display:flex;flex-direction:column;gap:var(--space-md)}.reservation-item{display:flex;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}.reservation-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000000d}.reservation-time{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);min-width:70px;text-align:center}.reservation-date{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.reservation-hour{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.reservation-details{flex:1}.reservation-class{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary);text-transform:uppercase}.reservation-meta{margin:var(--space-xs) 0 0 0;font-size:.85rem;color:var(--text-secondary);display:flex;gap:var(--space-md)}.meta-gym,.meta-seat{display:inline-block}.meta-seat{font-weight:600;color:var(--primary-color)}.reservation-status{display:flex;align-items:center}.status-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);font-size:.75rem;font-weight:700;text-transform:capitalize}.status-success{background:#28a7451a;color:var(--success-color)}.status-failed{background:#dc35451a;color:var(--error-color)}.status-pending{background:#ffc1071a;color:var(--warning-color)}.status-cancelled{background:#6c757d1a;color:#6c757d}.reservations-table{overflow-x:auto}.table{width:100%;border-collapse:collapse;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;font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.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 (max-width: 768px){.profile-header{flex-direction:column;text-align:center;gap:var(--space-lg)}.profile-avatar{width:64px;height:64px;font-size:1.5rem}.profile-name{font-size:1.25rem}.stats-grid{grid-template-columns:1fr;gap:var(--space-md)}.stat-card{gap:var(--space-md)}.reservation-item{flex-wrap:wrap;gap:var(--space-sm)}.reservation-status{width:100%;justify-content:flex-end}.card-header{flex-direction:column;align-items:flex-start}.table{font-size:.8rem}.table th,.table td{padding:var(--space-sm)}}@media (max-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{margin:0;min-height:100vh;font-family:var(--font-family);background-color:var(--bg-secondary);color:var(--text-primary)}a{color:inherit;text-decoration:none}a:focus-visible{outline:none;box-shadow:0 0 0 4px var(--brand-focus-ring);border-radius:var(--radius-sm)}button{cursor:pointer;font-family:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}input,select,textarea{font-family:inherit;font-size:var(--font-size-base);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.65rem .9rem;background:var(--input-bg);color:var(--text-primary)}main.app-main{padding-top:4rem;padding-bottom:2rem;width:100%}.login-page{margin:0;padding:0;min-height:100vh;font-family:var(--font-family);overflow-x:hidden;display:flex;flex-direction:column;background:transparent}.login-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:var(--space-lg)}.login-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}.background-image{width:100%;height:100%;object-fit:cover}.background-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#2c3e50cc,#2c3e5099,#ff6b354d)}.login-card{background:var(--card-bg);border-radius:16px;box-shadow:0 20px 40px var(--shadow-color);padding:3rem 2.5rem;width:100%;max-width:420px;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.login-header{text-align:center;margin-bottom:var(--space-2xl)}.login-logo{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.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{position:relative;display:inline-block;background:linear-gradient(135deg,#ff6b35,#f7931e,#ff6b35);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 3s ease-in-out infinite;font-weight:var(--font-weight-extrabold);text-shadow:0 0 30px rgb(255 107 53 / 30%);transition:all .3s ease;cursor:default}.gym-name-animated:hover{transform:scale(1.02);filter:brightness(1.1)}.gym-name-animated:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(135deg,#ff6b35,#f7931e,#ff6b35);background-size:200% 200%;border-radius:4px;z-index:-1;opacity:.1;animation:gradientShift 3s ease-in-out infinite}.gym-name-animated.fade-out{animation:fadeOutUp .6s ease-in-out forwards}.gym-name-animated.fade-in{animation:fadeInDown .6s ease-in-out forwards}.gym-name-animated.scale-pulse{animation:scalePulse .8s ease-in-out forwards}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@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{overflow:hidden;border-right:2px solid #ff6b35;animation:typing 1.5s steps(20,end),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#ff6b35}}.gym-name-animated.slide-rotate{animation:slideRotate .8s ease-in-out forwards}@keyframes slideRotate{0%{transform:translate(0) rotate(0);opacity:1}50%{transform:translate(20px) rotate(5deg);opacity:.3}to{transform:translate(-20px) rotate(-2deg);opacity:0}}.gym-name-animated.bounce-in{animation:bounceIn .9s ease-out forwards}@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:glitch .6s ease-in-out}@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:"✨";position:absolute;top:-10px;right:-15px;font-size:12px;animation:sparkleFloat 2s ease-in-out infinite;opacity:.8}@keyframes sparkleFloat{0%,to{transform:translateY(0) rotate(0);opacity:.8}50%{transform:translateY(-8px) rotate(180deg);opacity:1}}.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{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.form-field{width:100%;padding:8px 2.5rem 8px 12px;height:44px;line-height:1.2;border:2px solid var(--border-color);border-radius:8px;font-size:var(--font-size-base);color:var(--text-primary);background:var(--input-bg);transition:all .3s ease;box-sizing:border-box}.form-field:focus{outline:none;border-color:var(--primary-color);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{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;font-size:var(--font-size-lg);color:var(--text-secondary);border-radius:4px;transition:color .2s ease}.password-toggle:hover{color:var(--primary-color)}.checkbox-group{margin-bottom:var(--space-lg)}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary)}.checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;position:relative;background:var(--input-bg);transition:all .2s ease}.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:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.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{background:#dc35451a;border:1px solid rgb(220 53 69 / 20%);border-radius:8px;padding:var(--space-md);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm)}.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{width:100%;background:var(--primary-color);color:#fff;border:none;border-radius:8px;padding:16px 24px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;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{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.spinner{width:16px;height:16px;border:2px solid rgb(255 255 255 / 30%);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{text-align:center}.help-section{margin-bottom:var(--space-lg)}.help-link{color:var(--primary-color);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color .2s ease}.help-link:hover{color:var(--primary-dark);text-decoration:underline}.divider{margin:var(--space-xl) 0;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.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);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color .2s ease}.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);text-decoration:none;font-size:var(--font-size-sm);transition:color .2s ease}.nav-link:hover{color:var(--primary-color)}.privacy-notice{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--gray-200);padding:var(--space-md);z-index:10}.privacy-content{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.privacy-icon{font-size:var(--font-size-sm)}.privacy-link{color:var(--primary-color);text-decoration:none}.privacy-link:hover{text-decoration:underline}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90vw;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xl);border-bottom:1px solid var(--gray-200)}.modal-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.modal-close{width:2rem;height:2rem;border-radius:50%;background:var(--gray-100);border:none;font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-fast);display:flex;align-items:center;justify-content:center}.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);display:flex;justify-content:flex-end;gap:var(--space-md)}.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{background:#ff6b351a;border:1px solid rgb(255 107 53 / 20%);border-radius:8px;padding:var(--space-md);margin:var(--space-md) 0;display:flex;align-items:flex-start;gap:var(--space-sm);line-height:var(--line-height-relaxed)}.tip-icon{font-size:var(--font-size-lg);flex-shrink:0}.help-options a{color:var(--primary-color);text-decoration:none;font-weight:var(--font-weight-medium)}.help-options a:hover{text-decoration:underline}.success-modal{display:flex;align-items:center;justify-content:center}.success-modal-content{text-align:center;max-width:360px;width:90%;background:var(--modal-bg);border-radius:12px;padding:2rem;box-shadow:0 10px 25px #00000026;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);overflow:hidden}.success-icon{font-size:3rem;margin-bottom:1rem}.animate-fade-in{animation:fadeInScale .3s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-fade-out{animation:fadeOutScale .3s ease forwards}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.success-actions{display:flex;justify-content:center;margin-top:1.5rem}@media (width <= 768px){.login-container{padding:var(--space-md)}.login-card{padding:2rem 1.5rem;margin-bottom:60px}.login-title{font-size:var(--font-size-2xl)}.privacy-notice{position:relative;margin-top:var(--space-lg)}.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{padding:1.5rem 1rem;border-radius:12px}.login-title{font-size:var(--font-size-xl)}.form-field{padding:12px 14px}.submit-button{padding:14px 20px}.privacy-content{flex-direction:column;gap:var(--space-xs)}}.footer{padding:var(--space-2xl) 0;background:#2c3e50f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;position:relative;z-index:2;border-top:1px solid rgb(255 255 255 / 10%)}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.footer-logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.footer-logo img{height:2rem;filter:brightness(1) invert(0)}.footer-links{display:flex;gap:var(--space-xl)}.footer-links a{color:#fffc;text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{text-align:center;padding-top:var(--space-lg);border-top:1px solid rgb(255 255 255 / 20%);color:#ffffffb3;font-size:var(--font-size-sm)}@media (width <= 768px){.footer{padding:var(--space-xl) 0}.footer-content{flex-direction:column;gap:var(--space-lg);text-align:center}.footer-links{flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.footer-bottom{padding-top:var(--space-md)}}@media (width <= 480px){.footer-links{flex-direction:column;gap:var(--space-sm)}}.spinner{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs)}.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);border-radius:50%;background-color:var(--primary-color);animation:spinnerBounce 1.4s infinite ease-in-out both}.spinner-circle:nth-child(1){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{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;margin-right:.5rem}.spinner-dot{width:.375rem;height:.375rem;border-radius:50%;background-color:currentColor;animation:spinnerDotBounce 1.4s infinite ease-in-out both}.spinner-dot:nth-child(1){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%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite;border-radius:var(--radius-md);margin-bottom:var(--space-md)}@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{animation:none;opacity:1;transform:scale(1)}.skeleton{animation:none;background:var(--gray-300)}[data-theme=dark] .skeleton{background:var(--gray-600)}}
