@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.app-shell{max-width:1400px;margin:0 auto;padding:32px 40px 48px;min-height:100vh;transition:margin-right .3s cubic-bezier(.16,1,.3,1)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px;padding:24px 32px;background:var(--bg-surface);border-radius:16px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid var(--border-light)}.header-content{display:flex;align-items:center;gap:16px}.header-actions{display:flex;align-items:center;gap:12px}.user-info{font-size:.875rem;font-weight:600;color:var(--text-secondary);padding:8px 12px;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border-light)}.page-nav{display:flex;align-items:center;gap:8px;background:var(--bg-elevated);padding:4px;border-radius:10px;border:1px solid var(--border-light)}.nav-btn{padding:8px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;letter-spacing:-.01em}.nav-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.nav-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:0 2px 8px #1e40af33}.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#fff;box-shadow:0 4px 16px #1e40af40,0 2px 8px #0ea5e933;transition:transform .2s ease}.logo-icon:hover{transform:scale(1.05)}.logo-img{width:100%;height:100%;object-fit:contain;border-radius:14px}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.65rem;font-weight:600;color:var(--accent);margin-bottom:2px}h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.subtitle{color:var(--text-secondary);font-size:.875rem;margin-top:4px;font-weight:400}.theme-toggle{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--border);background:var(--bg-surface);font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.theme-toggle:hover{background:var(--bg-elevated);border-color:var(--text-muted);transform:scale(1.05)}.ask-btn{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border:none;border-radius:12px;color:var(--text-on-primary);padding:12px 28px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #1e40af40,0 2px 8px #1e40af26;display:flex;align-items:center;gap:8px;transition:all .2s ease;letter-spacing:-.01em}.ask-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #1e40af59,0 4px 12px #1e40af33}.ask-btn:active{transform:translateY(0)}.ask-btn:before{content:"✨"}.chat-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;color:#fff;padding:12px 28px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #10b98140,0 2px 8px #10b98126;display:flex;align-items:center;gap:8px;transition:all .2s ease;letter-spacing:-.01em;cursor:pointer}.chat-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #10b98159,0 4px 12px #10b98133}.chat-btn:active{transform:translateY(0)}.chat-btn:before{content:"💬"}.chat-btn.disabled,.chat-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;background:linear-gradient(135deg,#6b7280,#9ca3af)}.chat-btn.disabled:hover,.chat-btn:disabled:hover{transform:none;box-shadow:none}.faq-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:12px;color:#fff;padding:12px 28px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #6366f140,0 2px 8px #6366f126;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.admin-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;color:#fff;padding:12px 28px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #f59e0b40,0 2px 8px #f59e0b26;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.admin-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f59e0b59,0 4px 12px #f59e0b33}.admin-btn:active{transform:translateY(0)}.admin-btn:before{content:"⚙️"}.logout-btn-header{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;padding:12px 28px;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #ef444440,0 2px 8px #ef444426;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease}.logout-btn-header:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ef444459,0 4px 12px #ef444433}.logout-btn-header:active{transform:translateY(0)}.logout-btn-header:before{content:"🚪"}} .faq-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #6366f159,0 4px 12px #6366f133}.faq-btn:active{transform:translateY(0)}.faq-btn:before{content:"❓";margin-right:4px}.status-banner{background:var(--success-bg);border:1.5px solid var(--success-border);color:var(--success);padding:14px 20px;border-radius:12px;margin-bottom:24px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #10b98126;animation:slideIn .3s ease}.status-banner:before{content:"✓";background:var(--success);color:var(--bg-surface);width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.summary-card{display:flex;gap:32px;background:linear-gradient(135deg,var(--primary) 0%,#1e3a5f 100%);color:#e2e8f0;border-radius:18px;padding:24px 32px;margin-bottom:24px;box-shadow:0 10px 32px #1e40af33,0 4px 16px #0000001a;border:1px solid rgba(255,255,255,.1)}.summary-card>div{flex:1;text-align:center;padding:0 16px;border-right:1px solid rgba(255,255,255,.1)}.summary-card>div:last-child{border-right:none}.summary-label{text-transform:uppercase;font-size:.65rem;letter-spacing:.1em;color:#94a3b8;margin-bottom:4px;font-weight:500}.summary-label-row{display:flex;align-items:center;gap:6px;justify-content:center}.summary-label-row .warning-indicator{width:16px;height:16px;font-size:.7rem}.summary-card h3{font-size:1.35rem;font-weight:800;margin:0;color:#fff;letter-spacing:-.02em}.badge-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.badge{padding:3px 10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:.75rem;font-weight:500}.optimizer-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;align-items:start;transition:all .3s ease}@media (max-width: 1400px){.optimizer-layout{grid-template-columns:1fr}}.app-shell.chat-open{margin-right:420px;transition:margin-right .3s cubic-bezier(.16,1,.3,1)}.app-shell.chat-open .optimizer-layout{grid-template-columns:1fr}.app-shell.chat-open .sliders-container{order:1}.app-shell.chat-open .live-saturation-curves{order:2}.sliders-container{background:var(--bg-surface);border-radius:18px;box-shadow:0 4px 20px #0000000a,0 1px 4px #0000000f;overflow:visible;border:1px solid var(--border-light);transition:all .3s ease;padding:1rem;max-height:calc(100vh - 200px);overflow-y:auto}.sliders-container:hover{box-shadow:0 8px 32px #0000000f,0 2px 8px #00000014}.live-prediction{color:var(--accent)!important;text-shadow:0 0 20px var(--accent-glow)}.section-title{font-size:1.125rem;font-weight:800;color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:10px;letter-spacing:-.01em}.warnings-section{margin-top:24px;background:var(--bg-surface);border-radius:18px;padding:24px;border:1px solid var(--border-light);box-shadow:0 4px 20px #0000000a,0 1px 4px #0000000f}.warnings-list{display:flex;flex-direction:column;gap:10px}.warning-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:10px;transition:transform .2s ease}.warning-item:hover{transform:translate(4px)}.warning-caution{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.warning-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #ef4444}[data-theme=dark] .warning-caution{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);border-color:#f59e0b80}[data-theme=dark] .warning-error{background:linear-gradient(135deg,#ef444433,#ef44441a);border-color:#ef444480}.warning-icon{font-size:1.2rem;flex-shrink:0}.warning-content{flex:1}.warning-message{font-weight:600;color:var(--text-primary);margin:0 0 2px;font-size:.85rem}.warning-detail{color:var(--text-secondary);font-size:.75rem;margin:0}.actions-section{margin-top:20px;display:flex;justify-content:center}.report-btn{background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:12px;color:#fff;padding:14px 36px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 4px 16px #0596694d,0 2px 8px #05966933;transition:all .2s ease;letter-spacing:-.01em}.report-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #05966966}.report-btn:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.report-section{margin-top:24px;background:var(--bg-surface);border-radius:18px;padding:32px;border:1px solid var(--border-light);box-shadow:0 8px 32px #0000000f,0 2px 8px #00000014;animation:slideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.close-report-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-report-btn:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-muted)}.report-block{margin-bottom:24px}.report-block:last-child{margin-bottom:0}.report-block-title{font-size:.9rem;font-weight:700;color:var(--primary);margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--accent);display:inline-block}.report-content{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin:0}.report-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border-light)}.report-table{width:100%;border-collapse:collapse;font-size:.8rem}.report-table th{background:var(--bg-elevated);padding:12px 16px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border);white-space:nowrap}.report-table td{padding:10px 16px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.report-table tbody tr:hover{background:var(--bg-elevated)}.report-table tbody tr:last-child td{border-bottom:none}.risk-badge{padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.risk-badge.risk-high{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:1px solid #fca5a5}.risk-badge.risk-medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706;border:1px solid #fcd34d}.risk-badge.risk-low{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669;border:1px solid #6ee7b7}[data-theme=dark] .risk-badge.risk-high{background:#dc262633;border-color:#dc262666}[data-theme=dark] .risk-badge.risk-medium{background:#d9770633;border-color:#d9770666}[data-theme=dark] .risk-badge.risk-low{background:#05966933;border-color:#05966966}.report-list{margin:0;padding-left:0;list-style:none}.report-list li{padding:8px 12px;background:var(--bg-elevated);border-radius:8px;margin-bottom:8px;font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--accent)}.report-list li:last-child{margin-bottom:0}.report-table tbody td{font-size:.85rem}.report-table tbody td:last-child{font-weight:600}@media (max-width: 900px){.app-shell{padding:16px}.app-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:flex-end}.summary-card{flex-wrap:wrap;gap:16px}.summary-card>div{flex:1 1 45%;border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.report-table{font-size:.75rem}.report-table th,.report-table td{padding:8px 10px}}.slider-row{display:grid;grid-template-columns:180px 40px 1fr 60px 85px 28px;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border-light);transition:all .2s ease;position:relative;overflow:visible}.slider-row:hover{background-color:var(--bg-elevated);z-index:10}.slider-row:last-child{border-bottom:none}.slider-row:first-child{border-radius:18px 18px 0 0}.slider-row:last-child{border-radius:0 0 18px 18px}.slider-label{font-size:.8rem;font-weight:600;color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;flex:1;min-width:0}.slider-row .warning-tooltip-wrapper{display:flex;align-items:center;justify-content:center;width:100%}.slider-min,.slider-max{font-size:.7rem;color:var(--text-muted);text-align:center;font-weight:500}.slider-track{width:100%;position:relative}.slider-track input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:999px;cursor:pointer;transition:all .2s ease}.slider-track input[type=range]:hover{background:var(--text-muted)}.slider-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);cursor:pointer;border:3px solid var(--bg-surface);box-shadow:0 2px 8px #1e40af4d,0 1px 4px #0000001a;transition:all .2s ease}.slider-track input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 10px #1e3a5f66}.slider-track input[type=range]::-moz-range-thumb{-webkit-appearance:none;appearance:none;-moz-appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);cursor:pointer;border:3px solid var(--bg-surface);box-shadow:0 2px 8px #1e40af4d,0 1px 4px #0000001a;transition:all .2s ease}.slider-track input[type=range]:disabled{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%)}.slider-track input[type=range]:disabled::-webkit-slider-thumb{background:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.slider-input input[type=number]{width:100%;padding:8px 10px;border-radius:8px;border:1.5px solid var(--border);font-size:.875rem;font-weight:600;text-align:center;background-color:var(--bg-input);color:var(--text-primary);transition:all .2s ease}.slider-input input[type=number]:hover{border-color:var(--text-muted);background-color:var(--bg-elevated)}.slider-input input[type=number]:disabled{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-color:var(--primary);font-weight:700}.slider-input input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background-color:var(--bg-surface)}.slider-input input[type=number]::-webkit-outer-spin-button,.slider-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slider-input input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.slider-row.animating{background-color:var(--bg-elevated);animation:sliderPulse 1s ease-out}@keyframes sliderPulse{0%{background-color:#1e3a5f26;box-shadow:0 0 #1e3a5f66}50%{background-color:#1e3a5f1a;box-shadow:0 0 0 8px #1e3a5f00}to{background-color:var(--bg-elevated);box-shadow:0 0 #1e3a5f00}}.slider-row.animating .slider-track input[type=range]::-webkit-slider-thumb{animation:thumbGlow 1s ease-out}.slider-row.animating .slider-track input[type=range]::-moz-range-thumb{animation:thumbGlow 1s ease-out}@keyframes thumbGlow{0%,to{box-shadow:0 2px 6px #1e3a5f4d}50%{box-shadow:0 0 20px #1e3a5f99,0 0 30px var(--accent-glow);transform:scale(1.2)}}.slider-row.animating .slider-input input[type=number]{animation:valueHighlight 1s ease-out}@keyframes valueHighlight{0%{background-color:#1e3a5f33;border-color:var(--primary);color:var(--primary)}to{background-color:var(--bg-input);border-color:var(--border);color:var(--text-primary)}}@media (max-width: 800px){.slider-row{grid-template-columns:140px 35px 1fr 50px 70px;gap:6px;padding:8px 12px}.slider-label{font-size:.75rem}.slider-min,.slider-max{font-size:.7rem}}.warning-tooltip-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%}.warning-indicator{position:relative;font-size:.75rem;font-weight:800;cursor:help;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;transition:all .2s ease;flex-shrink:0;line-height:1}.warning-indicator.warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;box-shadow:0 2px 6px #f59e0b4d}.warning-indicator.error{background:linear-gradient(135deg,#f87171,#ef4444);color:#7f1d1d;box-shadow:0 2px 6px #ef44444d}.warning-indicator:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003}.warning-indicator.warning:hover{box-shadow:0 4px 12px #f59e0b66}.warning-indicator.error:hover{box-shadow:0 4px 12px #ef444466}.warning-tooltip{position:fixed;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:12px;padding:0;min-width:300px;max-width:400px;box-shadow:0 12px 40px #0003,0 4px 16px #0000001a;opacity:0;visibility:hidden;pointer-events:none;transition:all .2s ease;z-index:9999}.warning-tooltip.visible{opacity:1;visibility:visible;pointer-events:auto;animation:tooltipFadeIn .2s ease forwards}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--bg-surface);filter:drop-shadow(0 2px 1px rgba(0,0,0,.1))}.tooltip-content{padding:0;max-height:300px;overflow-y:auto}.tooltip-warning-item{padding:14px 16px;border-radius:0}.tooltip-warning-item:first-child{border-radius:12px 12px 0 0}.tooltip-warning-item:last-child{border-radius:0 0 12px 12px}.tooltip-warning-item:only-child{border-radius:12px}.tooltip-warning-item.error{background:linear-gradient(135deg,#fee2e2,#fecaca);border-bottom:1px solid rgba(239,68,68,.15)}.tooltip-warning-item.error:last-child{border-bottom:none}[data-theme=dark] .tooltip-warning-item.error{background:linear-gradient(135deg,#ef444440,#ef444426);border-bottom:1px solid rgba(239,68,68,.2)}.tooltip-warning-item.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid rgba(245,158,11,.15)}.tooltip-warning-item.warning:last-child{border-bottom:none}[data-theme=dark] .tooltip-warning-item.warning{background:linear-gradient(135deg,#f59e0b40,#f59e0b26);border-bottom:1px solid rgba(245,158,11,.2)}.tooltip-warning-message{font-weight:600;font-size:.85rem;color:var(--text-primary);margin-bottom:6px;line-height:1.4}.tooltip-warning-detail{font-size:.8rem;color:var(--text-secondary);line-height:1.5;margin-top:4px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.warning-tooltip{left:auto;right:0;transform:none;bottom:calc(100% + 8px)}.warning-tooltip:after,.warning-tooltip:before{left:auto;right:20px;transform:none}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.dialog-card{width:min(480px,92vw);background:var(--bg-surface);border-radius:20px;padding:32px;box-shadow:0 32px 96px #00000040,0 8px 24px #00000026;animation:slideUp .3s cubic-bezier(.16,1,.3,1);border:1px solid var(--border-light)}.dialog-card header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog-card h3{margin:0;font-size:1.4rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:12px;letter-spacing:-.02em}.dialog-card h3:before{content:"✨";font-size:1.4rem}.close-btn{background:var(--bg-elevated);border:1px solid var(--border);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.close-btn:hover{background:var(--border);color:var(--text-primary)}.dialog-question{font-size:.95rem;font-weight:500;color:var(--text-secondary);margin-bottom:14px}.dialog-card input[type=number]{width:100%;padding:16px 20px;border-radius:12px;border:2px solid var(--border);font-size:1.15rem;font-weight:600;background:var(--bg-input);color:var(--text-primary);transition:all .2s ease;letter-spacing:-.01em}.dialog-card input[type=number]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:var(--bg-surface)}.radio-group{display:flex;gap:12px}.radio-option{flex:1;position:relative}.radio-option input[type=radio]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.radio-option label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s ease;font-weight:600;font-size:.9rem;color:var(--text-secondary);background:var(--bg-elevated)}.radio-option label .icon{font-size:1.5rem}.radio-option input[type=radio]:checked+label{border-color:var(--primary);background:linear-gradient(135deg,#1e3a5f1a,#0ea5e91a);color:var(--primary)}.radio-option input[type=radio]:hover+label{border-color:var(--text-muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{padding:10px 20px;border-radius:10px;border:none;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .15s ease}.dialog-actions button.ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.dialog-actions button.ghost:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.dialog-actions button.primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;box-shadow:0 4px 16px #1e40af4d,0 2px 8px #1e40af33;letter-spacing:-.01em}.dialog-actions button.primary:hover{box-shadow:0 6px 16px #1e3a5f59}.dialog-actions button:disabled{opacity:.6;cursor:not-allowed}.dialog-error{color:var(--error);font-size:.85rem;margin-top:12px;padding:10px 14px;background:#dc26261a;border-radius:8px;border:1px solid rgba(220,38,38,.2)}.dialog-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.dialog-loading p{font-weight:600;color:var(--text-secondary)}@keyframes slideUp{0%{transform:translateY(24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.sales-ranges-container{margin-top:16px;display:flex;flex-direction:column;gap:12px}.sales-range-info{padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;text-align:center}.sales-range-info.loading{color:var(--text-muted);font-size:.85rem;font-style:italic}.sales-range-info.warning{background:#eab3081a;border-color:#eab3084d;color:#ca8a04;font-size:.85rem}.sales-range-info .range-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px;font-weight:600}.sales-range-info .range-values{font-size:.95rem;font-weight:700;color:var(--primary);margin:0}.chat-overlay{position:fixed;top:0;left:0;right:420px;bottom:0;background:transparent;opacity:0;visibility:hidden;transition:all .3s ease;z-index:998;pointer-events:none}.chat-overlay.visible{opacity:1;visibility:visible;pointer-events:none}.chat-sidebar{position:fixed;top:0;right:0;width:420px;max-width:100vw;height:100vh;background:var(--bg-surface);box-shadow:-8px 0 32px #00000026;display:flex;flex-direction:column;z-index:999;transform:translate(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.chat-sidebar.open{transform:translate(0)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,var(--primary) 0%,#1e3a5f 100%);border-bottom:1px solid rgba(255,255,255,.1)}.chat-title{display:flex;align-items:center;gap:12px}.chat-icon{font-size:1.5rem}.chat-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-.01em}.chat-header-actions{display:flex;align-items:center;gap:8px}.clear-chat-btn,.close-sidebar-btn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-chat-btn:hover,.close-sidebar-btn:hover{background:#fff3;border-color:#ffffff4d}.chat-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;height:100%}.empty-icon{font-size:3.5rem;margin-bottom:16px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-empty-state h4{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.chat-empty-state p{margin:0 0 24px;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.context-status{margin-bottom:20px;padding:12px 16px;border-radius:10px;font-size:.85rem}.context-ready{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981;margin:0}.context-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b;margin:0}.suggested-questions{display:flex;flex-direction:column;gap:8px;width:100%}.suggested-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 4px}.suggested-questions button{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s ease;text-align:left}.suggested-questions button:hover{background:var(--bg-surface);border-color:var(--primary);color:var(--primary);transform:translate(4px)}.chat-message{display:flex;gap:12px;max-width:90%;animation:messageSlide .3s ease}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.message-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.chat-message.user .message-avatar{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%)}.chat-message.assistant .message-avatar{background:linear-gradient(135deg,#10b981,#059669)}.assistant-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:10px}.message-content{padding:14px 18px;border-radius:16px;font-size:.9rem;line-height:1.6;word-wrap:break-word}.chat-message.user .message-content{white-space:pre-wrap}.chat-message.assistant .message-content{white-space:normal}.chat-message.user .message-content{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .message-content{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-light);border-bottom-left-radius:4px}.thinking-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-left:8px;vertical-align:middle}.chat-input-container{display:flex;gap:12px;padding:20px 24px;background:var(--bg-surface);border-top:1px solid var(--border-light)}.chat-input-container textarea{flex:1;padding:14px 18px;border:1.5px solid var(--border);border-radius:14px;background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:none;outline:none;transition:all .2s ease;min-height:48px;max-height:120px}.chat-input-container textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e40af1a}.chat-input-container textarea::placeholder{color:var(--text-muted)}.send-btn{width:48px;height:48px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 16px #1e40af4d}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 500px){.chat-sidebar{width:100vw}.chat-header{padding:16px 20px}.chat-messages{padding:16px}.chat-input-container{padding:16px 20px}.message-content{padding:12px 14px;font-size:.85rem}}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:16px 0 8px;font-weight:700;line-height:1.3;color:var(--text-primary)}.message-content h1{font-size:1.5rem}.message-content h2{font-size:1.3rem}.message-content h3{font-size:1.1rem}.message-content h4{font-size:1rem}.message-content h5{font-size:.95rem}.message-content h6{font-size:.9rem}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child,.message-content h4:first-child,.message-content h5:first-child,.message-content h6:first-child{margin-top:0}.message-content p{margin:8px 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:700;color:var(--text-primary)}.message-content em{font-style:italic}.message-content code{padding:2px 6px;border-radius:4px;background:#0000001a;font-family:Consolas,Monaco,Courier New,monospace;font-size:.85em}.message-content pre{padding:12px;border-radius:8px;background:#0000000d;overflow-x:auto;margin:12px 0}.message-content pre code{padding:0;background:none}.message-content ul,.message-content ol{margin:8px 0;padding-left:24px}.message-content li{margin:4px 0}.message-content blockquote{margin:12px 0;padding-left:16px;border-left:3px solid var(--primary);color:var(--text-secondary);font-style:italic}.message-content hr{border:none;border-top:1px solid var(--border-light);margin:16px 0}.message-content a{color:var(--primary);text-decoration:underline}.message-content a:hover{color:var(--primary-light)}.chat-message.user .message-content strong{color:#fffffff2}.chat-message.user .message-content code{background:#fff3;color:#fff}.chat-message.user .message-content a{color:#ffffffe6}[data-theme=dark] .chat-overlay{background:#0009}[data-theme=dark] .chat-sidebar{box-shadow:-8px 0 48px #0006}[data-theme=dark] .chat-message.assistant .message-content{background:var(--bg-elevated);border-color:var(--border)}[data-theme=dark] .message-content code{background:#ffffff1a}[data-theme=dark] .message-content pre{background:#ffffff0d}.faq-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.faq-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;max-height:85vh;background:var(--bg-surface);border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:1001;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.faq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border-light);background:linear-gradient(135deg,var(--primary) 0%,#1e3a5f 100%)}.faq-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.01em}.faq-close-btn{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.faq-close-btn:hover{background:#fff3;border-color:#ffffff4d}.faq-modal-content{flex:1;overflow-y:auto;padding:24px 28px;display:flex;flex-direction:column;gap:24px}.faq-item{padding-bottom:24px;border-bottom:1px solid var(--border-light)}.faq-item:last-child{border-bottom:none;padding-bottom:0}.faq-question{margin:0 0 12px;font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.4}.faq-answer{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.faq-answer p{margin:0 0 12px}.faq-answer p:last-child{margin-bottom:0}.faq-modal-content::-webkit-scrollbar{width:8px}.faq-modal-content::-webkit-scrollbar-track{background:var(--bg-elevated);border-radius:4px}.faq-modal-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.faq-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 768px){.faq-modal{width:95%;max-height:90vh}.faq-modal-header{padding:20px 24px}.faq-modal-header h2{font-size:1.25rem}.faq-modal-content{padding:20px 24px;gap:20px}.faq-question{font-size:1rem}.faq-answer{font-size:.9rem}}[data-theme=dark] .faq-modal{box-shadow:0 20px 60px #00000080}[data-theme=dark] .faq-overlay{background:#000000b3}.saturation-curves-page{max-width:1400px;margin:0 auto;padding:2rem}.plotly-chart-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;max-width:100%;margin:0 auto;height:700px}.saturation-curves-compact{height:100%;display:flex;flex-direction:column}.plotly-chart-compact{background:#fff;border-radius:12px;padding:.5rem;box-shadow:0 2px 8px #0000001a;height:calc(100vh - 200px);flex:1}.live-saturation-curves{position:sticky;top:2rem;height:fit-content;max-height:calc(100vh - 4rem);overflow:hidden}.page-header{margin-bottom:2rem;padding:24px 32px;background:var(--bg-surface);border-radius:16px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-light)}.page-header h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0 0 8px}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin:0}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;background:var(--bg-surface);border-radius:16px;padding:2rem;border:1px solid var(--border-light)}.spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.error-state button{padding:.5rem 1rem;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:opacity .2s}.error-state button:hover{opacity:.9}.combined-chart-container{background:#fff;border-radius:16px;padding:2rem;border:1px solid var(--border-light);box-shadow:0 4px 20px #0000000a;display:flex;flex-direction:column;align-items:center}.saturation-chart{display:block;margin:0 auto}.chart-legend-combined{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-light);width:100%}.legend-section{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.legend-title{font-weight:600;font-size:.85rem;color:var(--text-secondary);margin-right:.5rem}.legend-item-btn{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;background:transparent;border:1px solid var(--border-light);border-radius:4px;cursor:pointer;font-size:.8rem;color:var(--text-primary);transition:all .2s}.legend-item-btn:hover{border-color:var(--legend-color);background:color-mix(in srgb,var(--legend-color) 10%,transparent)}.legend-item-btn.active{border-color:var(--legend-color);background:color-mix(in srgb,var(--legend-color) 15%,transparent)}.legend-item-btn .legend-line{width:20px;height:3px;background:var(--legend-color);border-radius:2px}.legend-section.markers{gap:1rem}.marker-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-primary)}.marker-circle{width:10px;height:10px;border-radius:50%;background:#333}.marker-triangle{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:10px solid #333}.marker-square{width:10px;height:10px;background:#333}.marker-star{width:16px;height:16px;background:gold;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}[data-theme=dark] .combined-chart-container{background:var(--bg-surface)}[data-theme=dark] .saturation-chart text{fill:var(--text-primary)}[data-theme=dark] .saturation-chart line{stroke:var(--border-light)}[data-theme=dark] .marker-circle,[data-theme=dark] .marker-triangle,[data-theme=dark] .marker-square{background:var(--text-primary);border-bottom-color:var(--text-primary)}[data-theme=dark] .marker-star{background:gold}.curves-container-with-nav{display:flex;align-items:stretch;gap:1rem;height:auto;max-height:calc(100vh - 180px);width:100%;position:relative}.side-nav-arrow{width:44px;height:44px;min-width:44px;border-radius:10px;border:2px solid #d1d5db;background:#fff;color:#4f46e5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 6px #0000001a}.side-nav-arrow:hover:not(:disabled){background:#4f46e5;color:#fff;border-color:#4f46e5;box-shadow:0 6px 12px #4f46e54d;transform:translateY(-2px)}.side-nav-arrow:active:not(:disabled){transform:scale(.95) translateY(0)}.side-nav-arrow:disabled{opacity:.3;cursor:not-allowed;color:#9ca3af}.side-nav-arrow.left:hover:not(:disabled) svg{transform:translate(-2px)}.side-nav-arrow.right:hover:not(:disabled) svg{transform:translate(2px)}.side-nav-arrow svg{transition:transform .2s ease}[data-theme=dark] .side-nav-arrow{background:#374151;border-color:#4b5563;color:#818cf8}[data-theme=dark] .side-nav-arrow:hover:not(:disabled){background:#6366f1;border-color:#6366f1;color:#fff}.curve-main-display{flex:1;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:auto;min-height:0;opacity:1;transform:scale(1);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.curve-main-display.transitioning{opacity:0;transform:scale(.97)}[data-theme=dark] .curve-main-display{background:#1f2937;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .channel-title-bar{border-bottom-color:#374151}[data-theme=dark] .channel-badge{background:#374151;color:#9ca3af}.channel-title-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);flex-shrink:0;background:#fff;z-index:10}.channel-title-bar h3{font-size:1.125rem;font-weight:700;color:#111827;margin:0;line-height:1.4}[data-theme=dark] .channel-title-bar{background:#1f2937}[data-theme=dark] .channel-title-bar h3{color:#f9fafb}.channel-badge{font-size:.75rem;color:var(--text-muted);background:var(--bg-elevated);padding:.25rem .625rem;border-radius:12px;font-weight:600}.plot-wrapper{flex:0 0 auto;padding:.5rem 1rem;overflow:hidden;display:flex;flex-direction:column;position:relative}.curve-controls-bottom{display:flex;gap:.875rem;justify-content:center;align-items:center;padding:1rem 1.25rem;border-top:2px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px;flex-shrink:0;position:relative;z-index:10}.marker-toggle-btn{padding:.5rem 1rem;border-radius:8px;border:2px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.85rem;white-space:nowrap;box-shadow:0 2px 6px #0000001a;min-width:85px;pointer-events:auto;position:relative;z-index:10}.marker-toggle-btn:hover{border-color:#4f46e5;color:#4f46e5;background:#fff;transform:translateY(-2px);box-shadow:0 4px 10px #4f46e540}.marker-toggle-btn.active{background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:#4f46e5;color:#fff;box-shadow:0 4px 12px #4f46e566;transform:scale(1.02)}[data-theme=dark] .curve-controls-bottom{background:#1f2937;border-top-color:#374151}[data-theme=dark] .marker-toggle-btn{background:#374151;border-color:#4b5563;color:#e5e7eb}[data-theme=dark] .marker-toggle-btn:hover{border-color:#6366f1;color:#818cf8;background:#4b5563}[data-theme=dark] .marker-toggle-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);border-color:#6366f1;color:#fff}@media (max-width: 960px){.saturation-curves-page{padding:1rem}.combined-chart-container{padding:1rem;overflow-x:auto}.saturation-chart{min-width:900px}.chart-legend-combined{flex-direction:column;align-items:flex-start}.curves-container-with-nav{height:auto;min-height:500px}.side-nav-arrow{width:38px;height:38px;min-width:38px}.channel-title-bar{padding:.75rem 1rem}.channel-title-bar h3{font-size:1rem}.curve-controls-bottom{gap:.625rem;flex-wrap:wrap;padding:.875rem}.marker-toggle-btn{padding:.45rem .85rem;font-size:.8rem;min-width:75px}.plot-wrapper{padding:.5rem .75rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/download.png);background-size:cover;background-position:center;opacity:.1;z-index:0}.login-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eeaf2,#764ba2f2)}.login-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:30px 40px;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease-out}.login-header{text-align:center;margin-bottom:24px}.login-logo{margin-bottom:12px;display:flex;justify-content:center}.login-logo-img{width:80px;height:80px;object-fit:contain;animation:pulse 2s ease-in-out infinite}.login-title{font-size:24px;font-weight:700;margin:0 0 6px;color:#1a202c}.login-subtitle{font-size:13px;color:#718096;margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.login-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center}.login-message.error{background-color:#fed7d7;color:#c53030;border:1px solid #fc8181}.login-message.success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.login-btn{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:4px}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:20px;text-align:center;padding-top:20px;border-top:1px solid #e2e8f0}.login-footer p{font-size:14px;color:#718096;margin:0 0 10px}.waitlist-link-btn{background:none;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;transition:color .2s ease}.waitlist-link-btn:hover{color:#764ba2}@media (max-width: 600px){.login-card{padding:30px 20px;margin:20px;max-width:100%}.login-title{font-size:24px}.login-subtitle{font-size:13px}}.waitlist-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.waitlist-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/download.png);background-size:cover;background-position:center;opacity:.1;z-index:0}.waitlist-bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eeaf2,#764ba2f2)}.waitlist-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:30px 40px;width:100%;max-width:500px;box-shadow:0 20px 60px #0000004d;animation:fadeInUp .6s ease-out}.waitlist-card.success-card{text-align:center;padding:40px}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#4ade80,#22c55e);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;margin:0 auto 20px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.waitlist-header{text-align:center;margin-bottom:24px}.waitlist-logo{margin-bottom:12px;display:flex;justify-content:center}.waitlist-logo-img{width:80px;height:80px;object-fit:contain;animation:pulse 2s ease-in-out infinite}.waitlist-title{font-size:24px;font-weight:700;margin:0 0 6px;color:#1a202c}.waitlist-subtitle{font-size:13px;color:#718096;margin:0;line-height:1.5}.success-message{font-size:15px;color:#4a5568;line-height:1.5;margin:0 0 20px}.waitlist-features{background:#f7fafc;border-radius:12px;padding:20px;margin-bottom:30px;display:flex;flex-direction:column;gap:15px}.feature-item{display:flex;align-items:center;gap:12px;font-size:14px;color:#2d3748}.feature-icon{font-size:24px;flex-shrink:0}.waitlist-form{display:flex;flex-direction:column;gap:16px}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.waitlist-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center}.waitlist-message.error{background-color:#fed7d7;color:#c53030;border:1px solid #fc8181}.waitlist-message.success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.waitlist-btn,.back-to-login-btn{padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:4px}.waitlist-btn:hover:not(:disabled),.back-to-login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.waitlist-btn:active:not(:disabled),.back-to-login-btn:active{transform:translateY(0)}.waitlist-btn:disabled{opacity:.6;cursor:not-allowed}.waitlist-footer{margin-top:20px;text-align:center;padding-top:20px;border-top:1px solid #e2e8f0}.waitlist-footer p{font-size:14px;color:#718096;margin:0 0 10px}.login-link-btn{background:none;border:none;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;text-decoration:underline;transition:color .2s ease}.login-link-btn:hover{color:#764ba2}@media (max-width: 600px){.waitlist-card{padding:30px 20px;margin:20px;max-width:100%}.waitlist-card.success-card{padding:40px 20px}.waitlist-title{font-size:24px}.waitlist-subtitle{font-size:13px}.success-icon{width:80px;height:80px;font-size:40px}}.admin-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.admin-header{background:#fff;padding:20px 40px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.admin-header-content{display:flex;align-items:center;gap:20px}.admin-logo{display:flex;align-items:center}.admin-logo-img{width:150px;height:150px;object-fit:contain}.admin-header h1{margin:0;font-size:24px;color:#1a202c}.admin-subtitle{margin:5px 0 0;font-size:14px;color:#718096}.admin-header-actions{display:flex;align-items:center;gap:15px}.admin-email{font-size:14px;color:#4a5568;font-weight:500}.goto-app-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.goto-app-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.logout-btn{padding:10px 20px;background:#e53e3e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:#c53030;transform:translateY(-2px);box-shadow:0 4px 12px #e53e3e66}.admin-content{max-width:1400px;margin:40px auto;padding:0 40px}.admin-message{padding:16px 20px;border-radius:10px;margin-bottom:20px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-message.error{background-color:#fed7d7;color:#c53030;border:1px solid #fc8181}.admin-message.success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.close-message-btn{background:none;border:none;font-size:18px;cursor:pointer;opacity:.7;transition:opacity .2s}.close-message-btn:hover{opacity:1}.admin-tabs{display:flex;gap:10px;margin-bottom:20px}.tab-btn{padding:12px 24px;background:#fff;border:2px solid #e2e8f0;border-radius:10px 10px 0 0;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#4a5568}.tab-btn:hover{border-color:#cbd5e0}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.loading-container{text-align:center;padding:80px 20px}.spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.loading-container p{color:#718096;font-size:16px}.users-section{background:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 20px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.section-header h2{margin:0;font-size:20px;color:#1a202c}.refresh-btn{padding:10px 16px;background:#edf2f7;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#4a5568}.refresh-btn:hover{background:#e2e8f0;transform:translateY(-2px)}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:60px;margin-bottom:20px;opacity:.5}.empty-state p{font-size:16px;color:#718096}.users-table{overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table thead{background:#f7fafc}.users-table th{padding:16px;text-align:left;font-size:14px;font-weight:600;color:#2d3748;border-bottom:2px solid #e2e8f0}.users-table td{padding:16px;font-size:14px;color:#4a5568;border-bottom:1px solid #f7fafc}.users-table tbody tr{transition:background-color .2s ease}.users-table tbody tr:hover{background-color:#f7fafc}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.action-buttons{display:flex;gap:8px;align-items:center}.approve-btn{padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.approve-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.approve-btn:active{transform:translateY(0)}.delete-btn{padding:8px 16px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.delete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.delete-btn:active{transform:translateY(0)}@media (max-width: 768px){.admin-header{padding:20px}.admin-content{padding:0 20px;margin:20px auto}.users-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:15px}.users-table{font-size:13px}.users-table th,.users-table td{padding:12px 8px}}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#1e293b,#0f172a)}.admin-login-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/download.png);background-size:cover;background-position:center;opacity:.05;z-index:0}.admin-login-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1e293bfa,#0f172afa)}.admin-login-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:50px;width:100%;max-width:450px;box-shadow:0 20px 60px #00000080;animation:fadeInUp .6s ease-out;border:2px solid #f59e0b}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-login-header{text-align:center;margin-bottom:40px}.admin-login-logo{margin-bottom:20px;display:flex;justify-content:center}.admin-logo-img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(245,158,11,.3));animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.admin-login-title{font-size:28px;font-weight:700;margin:0 0 10px;color:#1a202c}.admin-login-subtitle{font-size:14px;color:#718096;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .3s ease;outline:none}.form-group input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.form-group input:disabled{background-color:#f7fafc;cursor:not-allowed}.admin-login-message{padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;text-align:center}.admin-login-message.error{background-color:#fed7d7;color:#c53030;border:1px solid #fc8181}.admin-login-message.success{background-color:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.admin-login-btn{padding:16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.admin-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #f59e0b66}.admin-login-btn:active:not(:disabled){transform:translateY(0)}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-login-footer{margin-top:30px;text-align:center;padding-top:30px;border-top:1px solid #e2e8f0}.admin-note{font-size:13px;color:#e53e3e;margin:0 0 15px;font-weight:600}.back-to-main-link{color:#f59e0b;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s ease}.back-to-main-link:hover{color:#d97706;text-decoration:underline}@media (max-width: 600px){.admin-login-card{padding:30px 20px;margin:20px;max-width:100%}.admin-login-title{font-size:24px}.admin-login-subtitle{font-size:13px}}:root,[data-theme=light]{--primary: #1e40af;--primary-light: #3b82f6;--accent: #0ea5e9;--accent-glow: rgba(14, 165, 233, .3);--bg-page: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-input: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-on-primary: #ffffff;--border: #e2e8f0;--border-light: #f1f5f9;--success: #10b981;--success-bg: #ecfdf5;--success-border: #a7f3d0;--warning: #f59e0b;--error: #ef4444;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;color:var(--text-primary);background-color:var(--bg-page);line-height:1.6}[data-theme=dark]{--primary: #60a5fa;--primary-light: #93c5fd;--accent: #22d3ee;--accent-glow: rgba(34, 211, 238, .4);--bg-page: #0a0f1a;--bg-surface: #1a1f2e;--bg-elevated: #252b3d;--bg-input: #2a3142;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-on-primary: #0f172a;--border: #334155;--border-light: #1e293b;--success: #34d399;--success-bg: #064e3b;--success-border: #065f46;--warning: #fbbf24;--error: #f87171}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--bg-page);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s ease}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}input,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}
