:root{--primary-teal: #14b8a6;--primary-teal-dark: #0d9488;--text-dark: #0f172a;--text-medium: #334155;--text-light: #64748b;--error-red: #dc2626;--error-bg: #fef2f2;--success-green: #059669;--success-bg: #ecfdf5;--border-color: #e2e8f0;--border-color-hover: #cbd5e1;--focus-ring: #14b8a6;--disabled-opacity: .6;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 5px 15px rgba(0, 0, 0, .15);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .3);--transition-fast: .2s ease;--transition-normal: .3s ease}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-teal-dark);color:#fff;padding:12px 24px;text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 8px;transition:top var(--transition-fast)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--primary-teal) 0%,var(--primary-teal-dark) 100%)}.auth-container{background:#fff;border-radius:16px;padding:40px;max-width:480px;width:100%;box-shadow:var(--shadow-lg)}header[role=banner]{text-align:center;margin-bottom:32px}.logo{display:flex;flex-direction:column;align-items:center;gap:16px}.logo-icon{width:64px;height:64px;display:block}.logo-text{font-size:28px;font-weight:700;color:var(--text-dark);margin:0}.subtitle{text-align:center;color:var(--text-light);margin-top:16px;margin-bottom:32px;font-size:15px}.features-box{background:linear-gradient(135deg,var(--success-bg) 0%,#d1fae5 100%);border:2px solid var(--success-green);border-radius:12px;padding:20px;margin-bottom:24px}.features-title{font-size:16px;font-weight:700;color:#065f46;margin-bottom:12px;display:flex;align-items:center;gap:8px}.features-list{list-style:none;padding:0;margin:0}.features-list li{padding:6px 0;color:#047857;font-size:14px;display:flex;align-items:center;gap:8px}.features-list li:before{content:"✓";color:var(--success-green);font-weight:700}[role=tablist]{display:flex;gap:8px;margin-bottom:32px;background:#f1f5f9;padding:4px;border-radius:12px}[role=tab]{flex:1;padding:12px 24px;border:none;background:transparent;border-radius:8px;font-size:15px;font-weight:600;color:var(--text-light);cursor:pointer;transition:all var(--transition-fast)}[role=tab]:hover{color:var(--text-medium)}[role=tab]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;z-index:1}[role=tab][aria-selected=true],[role=tab].active{background:#fff;color:var(--primary-teal);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:24px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--text-medium);margin-bottom:8px}.form-label .required{color:var(--error-red);margin-left:4px}.form-input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;transition:all var(--transition-fast);background:#fff;color:var(--text-dark)}.form-input::placeholder{color:var(--text-light)}.form-input:hover:not(:disabled){border-color:var(--border-color-hover)}.form-input:focus{outline:none;border-color:var(--focus-ring);box-shadow:0 0 0 3px #14b8a61a}.form-input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.form-input:disabled{background:#f8fafc;cursor:not-allowed;opacity:var(--disabled-opacity)}.form-input[aria-invalid=true]{border-color:var(--error-red);background:var(--error-bg)}.form-input[aria-invalid=true]:focus{border-color:var(--error-red);box-shadow:0 0 0 3px #dc26261a}.error-message{display:flex;align-items:center;margin-top:8px;font-size:14px;color:var(--error-red);padding:8px 12px;background:var(--error-bg);border-radius:6px;border-left:3px solid var(--error-red)}.error-icon{margin-right:6px}.password-strength{margin-top:8px;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.password-strength-bar{height:100%;width:0%;transition:all var(--transition-normal);border-radius:2px}.password-strength-bar.weak{width:33%;background:var(--error-red)}.password-strength-bar.medium{width:66%;background:#f59e0b}.password-strength-bar.strong{width:100%;background:var(--success-green)}.password-strength-text{font-size:12px;margin-top:4px;color:var(--text-light)}.btn-primary{width:100%;padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary-teal) 0%,var(--primary-teal-dark) 100%);cursor:pointer;transition:all var(--transition-fast);position:relative}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #14b8a64d}.btn-primary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn-primary:disabled{cursor:not-allowed;opacity:var(--disabled-opacity);transform:none!important}.btn-primary[aria-busy=true]{color:transparent}.btn-primary[aria-busy=true]:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.form-footer{margin-top:16px;text-align:center}.link-button{background:none;border:none;color:var(--primary-teal-dark);font-size:14px;cursor:pointer;text-decoration:underline;padding:0;transition:color var(--transition-fast)}.link-button:hover{color:var(--primary-teal)}.link-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.sr-announcements{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:640px){.auth-container{padding:24px}.logo-icon{width:48px;height:48px}.logo-text{font-size:24px}[role=tab]{padding:10px 16px;font-size:14px}}@media(hover:none)and (pointer:coarse){[role=tab],.btn-primary,.link-button{min-height:48px}.form-input{font-size:16px}}@media(prefers-contrast:high){.form-input{border-width:3px}[role=tab][aria-selected=true],.btn-primary{outline:2px solid var(--text-dark)}}.form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.forgot-link{background:none;border:none;color:#667eea;font-size:.8rem;font-weight:600;cursor:pointer;padding:0;font-family:inherit;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#764ba2}.btn-secondary{display:block;width:100%;padding:13px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;color:#6b7280;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:10px;font-family:inherit;transition:all .2s}.btn-secondary:hover{background:#f9fafb;color:#374151}.reset-info{background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:12px;padding:14px;font-size:.875rem;color:#1d4ed8;font-weight:500;margin-bottom:20px;line-height:1.5}.login-alert{border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:.875rem;font-weight:500;display:flex;align-items:flex-start;gap:8px}.login-alert--error{background:#fef2f2;border:1.5px solid #fecaca;color:#b91c1c}.login-alert--success{background:#f0fdf4;border:1.5px solid #bbf7d0;color:#15803d}.signup-prompt{text-align:center;margin-top:20px;font-size:.875rem;color:#6b7280}.signup-link{color:#667eea;font-weight:700;text-decoration:none;transition:color .2s}.signup-link:hover{color:#764ba2}:root{--primary: #8b5cf6;--primary-dark: #7c3aed;--secondary: #ec4899;--success: #22c55e;--danger: #ef4444;--text: #1f2937;--text-muted: #6b7280;--bg: #f8fafc;--card: #ffffff;--border: #e5e7eb;--transition-fast: .2s ease;--transition-normal: .3s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--transition-fast: 0s;--transition-normal: 0s}}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-dark);color:#fff;padding:12px 24px;text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 8px;transition:top var(--transition-fast)}.skip-link:focus{top:0;outline:3px solid white;outline-offset:-3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.subscription-page{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(145deg,#5b21b6,#7c3aed 35%,#db2777);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;position:relative;overflow-x:hidden}.subscription-page:before{content:"";position:fixed;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);top:-200px;right:-200px;pointer-events:none}.subscription-page:after{content:"";position:fixed;width:400px;height:400px;background:radial-gradient(circle,rgba(236,72,153,.2) 0%,transparent 70%);bottom:-100px;left:-100px;pointer-events:none}.subscription-page .container{width:100%;max-width:520px;animation:slideUp .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes slideUp{0%{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.subscription-page .card{background:var(--card);border-radius:28px;box-shadow:0 32px 64px -12px #00000059,0 0 0 1px #ffffff1a;overflow:hidden}.subscription-page .card-header{background:linear-gradient(145deg,#7c3aed,#db2777);padding:44px 36px 36px;text-align:center;color:#fff;position:relative;overflow:hidden}.subscription-page .card-header:before{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.12);border-radius:50%;top:-120px;right:-80px}.subscription-page .card-header:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.08);border-radius:50%;bottom:-60px;left:-40px}.subscription-page .logo{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:20px;position:relative;z-index:1}.subscription-page .logo-icon-wrap{width:84px;height:84px;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.3);border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0003,inset 0 1px #fff3}.subscription-page .logo-icon{width:52px;height:52px;display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.subscription-page .premium-badge{display:inline-flex;align-items:center;gap:6px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);padding:5px 14px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.subscription-page .premium-badge:before{content:"✦";font-size:9px}.subscription-page .card-header h1{font-family:"DM Serif Display",Georgia,serif;font-size:34px;margin-bottom:10px;font-weight:400;letter-spacing:-.02em;position:relative;z-index:1}.subscription-page .card-header .subtitle{font-size:15px;opacity:.88;color:#fff!important;line-height:1.6;font-weight:400;position:relative;z-index:1}.subscription-page .card-body{padding:32px}.subscription-page .benefits{background:linear-gradient(135deg,#8b5cf60f,#ec48990f);border:1.5px solid rgba(139,92,246,.25);border-radius:20px;padding:24px;margin-bottom:28px}.subscription-page .price{text-align:center;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(139,92,246,.15)}.subscription-page .price-tag{display:inline-flex;align-items:flex-start;gap:2px;line-height:1}.subscription-page .price-currency{font-size:20px;font-weight:700;color:var(--primary);margin-top:8px}.subscription-page .price-amount{font-family:"DM Serif Display",Georgia,serif;font-size:64px;font-weight:400;color:var(--primary);line-height:1;letter-spacing:-.03em}.subscription-page .price-period{font-size:13px;color:var(--text-muted);margin-top:6px;font-weight:500;letter-spacing:.3px}.subscription-page .price-note{font-size:12px;color:var(--success);margin-top:4px;font-weight:600}.subscription-page .benefit-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.subscription-page .benefit-list li{padding:10px 12px;font-size:13px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:8px;background:#fff;border-radius:10px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000a}.subscription-page .benefit-list li:before{content:"✓";color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));font-weight:700;font-size:10px;flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.subscription-page .tabs{display:flex;gap:0;margin-bottom:28px;background:#f1f5f9;padding:4px;border-radius:14px;position:relative}.subscription-page [role=tab]{flex:1;padding:13px 12px;border:none;background:transparent;border-radius:10px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);position:relative;z-index:1}.subscription-page [role=tab]:hover{color:var(--text)}.subscription-page [role=tab]:focus-visible{outline:3px solid var(--primary);outline-offset:2px;z-index:2}.subscription-page [role=tab][aria-selected=true]{background:#fff;color:var(--primary-dark);box-shadow:0 2px 10px #0000001a,0 0 0 1px #8b5cf61a;font-weight:700}.subscription-page .form-group{margin-bottom:18px}.subscription-page .form-label{display:block;margin-bottom:7px;font-weight:600;color:var(--text);font-size:13px;letter-spacing:.2px}.subscription-page .form-label .required{color:var(--danger);margin-left:4px}.subscription-page .form-input{width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font-family:DM Sans,sans-serif;font-size:15px;color:var(--text);background:var(--bg);transition:all var(--transition-fast)}.subscription-page .form-input::placeholder{color:#b0b8c4}.subscription-page .form-input:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #8b5cf61f}.subscription-page .form-input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.subscription-page .form-input[aria-invalid=true]{border-color:var(--danger);background:#fef2f2}.subscription-page .error-message{display:none;margin-top:8px;font-size:13px;color:var(--danger);padding:8px 12px;background:#fef2f2;border-radius:8px;border-left:3px solid var(--danger)}.subscription-page .error-message.show{display:block}.subscription-page .password-strength-wrap{margin-top:8px}.subscription-page .password-strength-track{height:5px;background:#e5e7eb;border-radius:3px;overflow:hidden}.subscription-page .password-strength-bar{height:100%;width:0%;border-radius:3px;transition:width .3s ease,background-color .3s ease}.subscription-page .password-strength-bar.weak{width:33%;background:#ef4444}.subscription-page .password-strength-bar.medium{width:66%;background:#f59e0b}.subscription-page .password-strength-bar.strong{width:100%;background:#22c55e}.subscription-page .password-strength-label{font-size:12px;margin-top:5px;min-height:18px;font-weight:600;transition:color .3s ease;color:var(--text-muted)}.subscription-page .password-strength-label.weak{color:#ef4444}.subscription-page .password-strength-label.medium{color:#d97706}.subscription-page .password-strength-label.strong{color:#16a34a}.subscription-page .referral-toggle{font-size:13px;color:var(--primary);background:none;border:none;cursor:pointer;text-decoration:none;font-weight:600;padding:4px 0;margin-top:-6px;margin-bottom:14px;display:inline-flex;align-items:center;gap:4px;transition:color var(--transition-fast);font-family:DM Sans,sans-serif}.subscription-page .referral-toggle:before{content:"🎁";font-size:12px}.subscription-page .referral-toggle:hover{color:var(--primary-dark)}.subscription-page .referral-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:2px}.subscription-page .referral-input-group{display:none}.subscription-page .referral-input-group.active{display:block;animation:fadeDown .2s ease both}@keyframes fadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.subscription-page .btn{width:100%;padding:16px;border:none;border-radius:14px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);position:relative;letter-spacing:.2px}.subscription-page .btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#a855f7 50%,var(--secondary) 100%);background-size:200% auto;color:#fff;box-shadow:0 6px 20px #8b5cf666}.subscription-page .btn-primary:hover:not(:disabled){background-position:right center;transform:translateY(-2px);box-shadow:0 10px 28px #8b5cf680}.subscription-page .btn-primary:active:not(:disabled){transform:scale(.98)}.subscription-page .btn-primary:focus-visible{outline:3px solid white;outline-offset:2px}.subscription-page .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.subscription-page .btn-primary[aria-busy=true]{color:transparent}.subscription-page .btn-primary[aria-busy=true]:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.subscription-page .message{padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;font-weight:500}.subscription-page .message.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.subscription-page .message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.subscription-page .links{margin-top:18px;text-align:center}.subscription-page .links a{color:var(--text-muted);text-decoration:none;font-size:13px;font-weight:500;transition:color var(--transition-fast)}.subscription-page .links a:hover{color:var(--primary)}.subscription-page .links a:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:2px}.subscription-page .trust-badges{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;gap:0;justify-content:center;flex-wrap:wrap}.subscription-page .trust-badge{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--text-muted);padding:6px 12px;border-radius:8px;transition:background var(--transition-fast)}.subscription-page .trust-badge:hover{background:var(--bg)}@media(max-width:640px){.subscription-page{padding:16px 12px 32px}.subscription-page .card-header{padding:32px 24px 28px}.subscription-page .card-header h1{font-size:28px}.subscription-page .card-body{padding:24px 20px}.subscription-page .benefit-list{grid-template-columns:1fr}.subscription-page .price-amount{font-size:52px}}@media(hover:none)and (pointer:coarse){.subscription-page [role=tab],.subscription-page .btn,.subscription-page .referral-toggle,.subscription-page .links a{min-height:48px}.subscription-page .form-input{font-size:16px}}.subscription-page .card-header,.subscription-page .card-header h1,.subscription-page .card-header .subtitle,.subscription-page .premium-badge,.subscription-page .logo{color:#fff!important}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;min-height:100vh}.z-form-panel{padding:24px;background:#fff;border-left:1px solid #f0f0f5;box-shadow:-4px 0 24px #667eea0f}.z-section-title{font-size:.95rem;font-weight:800;color:#1f2937;margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid #f3f4f6;position:relative}.z-section-title:after{content:"";position:absolute;bottom:-2px;left:0;width:32px;height:2px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.z-form-group{margin-bottom:16px}.z-label{display:block;font-size:.7rem;font-weight:800;color:#4b5563;margin-bottom:6px;text-transform:uppercase;letter-spacing:.6px}.z-input{width:100%;padding:10px 13px;border:1.5px solid #e9ecef;border-radius:9px;font-size:.875rem;background:#fdfdff;color:#1f2937;box-sizing:border-box;box-shadow:inset 0 1px 3px #0000000d;transition:border-color .2s,box-shadow .2s;font-family:inherit}.z-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:inset 0 1px 3px #0000000a,0 0 0 3px #667eea1f}.z-input::placeholder{color:#c4c9d4}.z-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.z-chips{display:flex;flex-wrap:wrap;gap:7px}.z-chip{padding:6px 13px;border-radius:20px;border:1.5px solid #e5e7eb;background:#fff;font-size:.75rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 3px #0000000d;-webkit-user-select:none;user-select:none}.z-chip:hover{border-color:#667eea;color:#667eea;background:#f5f3ff}.z-chip.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 2px 8px #667eea4d}.z-slider-row{display:flex;align-items:center;gap:10px}.z-slider-row input[type=range]{flex:1}.z-slider-val{font-weight:800;font-size:.95rem;min-width:24px;text-align:center}.z-btn-save{width:100%;padding:13px;border:none;border-radius:11px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.92rem;font-weight:800;cursor:pointer;transition:all .2s ease;margin-top:6px;letter-spacing:.2px;box-shadow:0 4px 14px #667eea4d}.z-btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #667eea66}.z-btn-save:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #667eea4d}.z-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.z-right-panel{background:#fff;box-shadow:-6px 0 32px #667eea12,inset 1px 0 #f0f0f5}.z-info-card{background:#f8f7ff;border:1.5px solid #e9d5ff;border-radius:12px;padding:14px 16px;font-size:.82rem;color:#4c1d95;line-height:1.6;margin-bottom:14px}.z-error{color:#dc2626;font-size:.85rem;padding:11px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;margin:12px 20px}.z-loading{text-align:center;padding:48px 20px;color:#9ca3af;font-size:.9rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
