.models-panel{margin-top:var(--spacing-3xl);width:min(900px,100%);text-align:left;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.models-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.models-count{background:var(--color-bg-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted)}.models-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.model-card{display:flex;justify-content:space-between;gap:var(--spacing-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);flex-wrap:wrap}.model-main{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:240px;flex:1}.model-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600}.model-task{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.model-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.model-metric{display:flex;gap:var(--spacing-sm);align-items:baseline;color:var(--color-text-primary)}.model-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.model-delete{border-color:#ff475766;color:var(--color-warning)}.model-delete:hover{border-color:#ff4757cc;color:var(--color-warning)}.models-empty{color:var(--color-text-muted);margin:0}@media (max-width: 768px){.model-card{flex-direction:column}.model-actions,.model-actions .btn{width:100%}}.site-footer{width:100%;display:flex;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);border-top:1px solid var(--color-border);background:#10101cbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1}.site-footer-inner{width:min(1200px,100%);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap}.site-footer-brand{display:flex;flex-direction:column;gap:var(--spacing-xs)}.site-footer-logo{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-primary)}.site-footer-tagline{font-size:var(--font-size-sm);color:var(--color-text-muted)}.site-footer-links{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);flex-wrap:wrap;justify-content:center}.site-footer-links a{color:var(--color-text-secondary)}.site-footer-links a:hover{color:var(--color-text-primary)}.site-footer-contact{font-size:var(--font-size-sm);color:var(--color-text-muted)}.site-footer-contact a{color:var(--color-accent-primary)}@media (max-width: 768px){.site-footer-inner{flex-direction:column;align-items:flex-start}}.home-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xl);position:relative;overflow:hidden}.home-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);z-index:1;width:100%}.home-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--spacing-3xl);align-items:start;width:min(1200px,100%);margin-top:var(--spacing-2xl);padding:0 var(--spacing-xl)}.home-main{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.logo-container{position:relative;margin-bottom:var(--spacing-lg)}.logo-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(0,212,255,.15) 0%,rgba(123,47,247,.1) 50%,transparent 70%);filter:blur(40px);animation:pulseGlow 4s ease-in-out infinite}@keyframes pulseGlow{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.7}}.logo-text{font-size:5rem;font-weight:700;letter-spacing:-.02em;position:relative}.logo-v{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(0,212,255,.3)}.logo-rest{color:var(--color-text-primary)}.tagline{font-size:var(--font-size-xl);color:var(--color-text-secondary);font-weight:400;margin:0}.subtitle{font-size:var(--font-size-base);color:var(--color-text-muted);max-width:400px;margin:0}.get-started-btn{margin-top:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.get-started-btn svg{transition:transform var(--transition-fast)}.get-started-btn:hover svg{transform:translate(4px)}.features{display:flex;gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.pro-tools{width:min(900px,100%);margin-top:var(--spacing-3xl);text-align:left}.pro-tools-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.pro-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg)}.pro-tool-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.pro-tool-card h3{margin:0}.pro-tool-card p{margin:0;color:var(--color-text-secondary)}.pro-pill{padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--color-accent-gradient);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em}.home-models-side{position:absolute;top:calc(var(--spacing-xl) + 56px + var(--spacing-lg));right:var(--spacing-xl);width:min(360px,90vw);z-index:1}.home-models-side .models-panel{width:100%;margin-top:0}.home-top-actions{position:absolute;top:var(--spacing-xl);right:var(--spacing-xl);display:flex;gap:var(--spacing-sm)}.home-pricing-btn,.home-auth-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.feature{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-accent-primary);transition:all var(--transition-normal)}.feature:hover .feature-icon{border-color:var(--color-accent-primary);box-shadow:var(--glow-primary);transform:translateY(-2px)}.feature span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.home-footer{position:absolute;bottom:var(--spacing-xl);left:50%;transform:translate(-50%);width:min(1100px,100%);background:transparent;border-top:none;padding:var(--spacing-sm) var(--spacing-lg);-webkit-backdrop-filter:none;backdrop-filter:none}.home-footer .site-footer-inner{justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.home-footer .site-footer-brand{align-items:center}@media (max-width: 768px){.home-page{justify-content:flex-start;padding-top:calc(var(--spacing-xl) + 60px);padding-bottom:var(--spacing-3xl);min-height:auto}.logo-text{font-size:3.5rem}.features{flex-direction:row;gap:var(--spacing-lg);flex-wrap:nowrap;justify-content:space-evenly;width:100%}.feature{flex:1;max-width:100px}.feature-icon{width:40px;height:40px}.feature-icon svg{width:20px;height:20px}.feature span{font-size:var(--font-size-xs);text-align:center}.tagline{font-size:var(--font-size-lg)}.home-layout{grid-template-columns:1fr;padding:0 var(--spacing-md)}.home-models-side{position:static;width:100%;margin-top:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.home-footer{position:static;transform:none;width:100%;margin-top:var(--spacing-xl)}.home-top-actions{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:10}}.mode-page{min-height:100vh;padding:var(--spacing-xl) 0;position:relative}.mode-content{position:relative;z-index:1}.mode-header{text-align:center;margin-bottom:var(--spacing-3xl)}.mode-header h1{margin-bottom:var(--spacing-md)}.mode-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);max-width:800px;margin:0 auto}@media (max-width: 700px){.mode-cards{grid-template-columns:1fr;max-width:400px}}.mode-card{display:flex;flex-direction:column;padding:var(--spacing-xl);text-align:center}.mode-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00d4ff1a,#7b2ff71a);border-radius:var(--radius-lg);margin:0 auto var(--spacing-lg);color:var(--color-accent-primary)}.mode-card:hover .mode-card-icon{background:linear-gradient(135deg,#00d4ff33,#7b2ff733);box-shadow:var(--glow-primary)}.mode-card-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.mode-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.5}.mode-card-features{list-style:none;margin-bottom:var(--spacing-xl);flex:1}.mode-card-features li{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-sm);justify-content:center}.mode-card-features li svg{color:var(--color-accent-tertiary);flex-shrink:0}.mode-card-action{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast)}.mode-card:hover .mode-card-action{background:var(--color-accent-gradient);color:var(--color-text-primary)}.mode-card:hover .mode-card-action svg{transform:translate(4px)}.mode-card-action svg{transition:transform var(--transition-fast)}.mode-card-recommended{position:relative}.mode-card-recommended:after{content:"Recommended";position:absolute;top:12px;right:12px;padding:4px 10px;background:var(--color-accent-gradient);border-radius:var(--radius-full);font-size:10px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #00d4ff4d}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg)}.loading-spinner{position:relative;display:flex;align-items:center;justify-content:center}.loading-spinner-sm{width:32px;height:32px}.loading-spinner-md{width:64px;height:64px}.loading-spinner-lg{width:96px;height:96px}.spinner-ring{position:absolute;border:2px solid transparent;border-radius:50%;animation:spin 1.5s linear infinite}.loading-spinner-sm .spinner-ring{border-width:1px}.spinner-ring:nth-child(1){width:100%;height:100%;border-top-color:var(--color-accent-primary);animation-duration:1.5s}.spinner-ring:nth-child(2){width:75%;height:75%;border-right-color:var(--color-accent-secondary);animation-duration:2s;animation-direction:reverse}.spinner-ring:nth-child(3){width:50%;height:50%;border-bottom-color:var(--color-accent-primary);animation-duration:1s}.spinner-core{width:20%;height:20%;background:var(--color-accent-gradient);border-radius:50%;box-shadow:var(--glow-primary);animation:pulse 1s ease-in-out infinite}.loading-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);animation:fadeIn .3s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-3xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:#00d4ff05;position:relative;overflow:hidden}.dropzone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(0,212,255,.05) 0%,transparent 70%);opacity:0;transition:opacity var(--transition-normal)}.dropzone:hover,.dropzone.drag-active{border-color:var(--color-accent-primary);background:#00d4ff0d}.dropzone:hover:before,.dropzone.drag-active:before{opacity:1}.dropzone.drag-active{box-shadow:inset 0 0 30px #00d4ff1a;transform:scale(1.01)}.dropzone.drag-reject{border-color:var(--color-error);background:#ff47570d}.dropzone.has-file{border-style:solid;border-color:var(--color-accent-primary);background:#00d4ff08}.dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);position:relative;z-index:1}.dropzone-icon{color:var(--color-accent-primary);opacity:.8;transition:all var(--transition-normal)}.dropzone:hover .dropzone-icon,.dropzone.drag-active .dropzone-icon{opacity:1;transform:translateY(-4px)}.dropzone-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0}.dropzone-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.dropzone-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-md)}.dropzone-file{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-lg);position:relative;z-index:1}.file-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00d4ff26,#7b2ff726);border-radius:var(--radius-md);color:var(--color-accent-primary)}.file-info{flex:1;text-align:left}.file-name{display:block;font-size:var(--font-size-base);font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.file-size{font-size:var(--font-size-sm);color:var(--color-text-muted)}.file-remove{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.file-remove:hover{border-color:var(--color-error);color:var(--color-error);background:#ff47571a}.usage-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.usage-banner.near-limit{border-color:#fbbf2480;background:#fbbf240d}.usage-banner.at-limit{border-color:#ef444480;background:#ef44440d}.usage-content{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.usage-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-muted);flex-shrink:0}.usage-banner.near-limit .usage-icon{background:#fbbf241a;color:#fbbf24}.usage-banner.at-limit .usage-icon{background:#ef44441a;color:#ef4444}.usage-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.usage-banner.near-limit .usage-text{color:#fbbf24}.usage-banner.at-limit .usage-text{color:#ef4444}.usage-progress{flex:1;max-width:150px;height:6px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.usage-progress-bar{height:100%;background:var(--color-accent-primary);border-radius:var(--radius-full);transition:width .3s ease}.usage-banner.near-limit .usage-progress-bar{background:#fbbf24}.usage-banner.at-limit .usage-progress-bar{background:#ef4444}@media (max-width: 768px){.usage-banner{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.usage-content{flex-wrap:wrap}.usage-progress{width:100%;max-width:none}.usage-banner .btn{width:100%;justify-content:center}}.upload-page{min-height:100vh;padding:var(--spacing-xl) 0;position:relative}.upload-content{position:relative;z-index:1;max-width:700px}.back-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-xl)}.back-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.upload-header{text-align:center;margin-bottom:var(--spacing-2xl)}.mode-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--color-accent-gradient);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em}.upload-header h1{margin-bottom:var(--spacing-sm)}.upload-header p{color:var(--color-text-secondary);margin:0}.error-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#ff47571a;border:1px solid rgba(255,71,87,.3);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--spacing-xl)}.error-banner svg{flex-shrink:0}.error-banner-action{margin-left:auto}.upload-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-section{display:flex;flex-direction:column}.form-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.form-section .input-label{margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.sheets-link-btn{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);white-space:nowrap;border-color:#00d4ff99;color:var(--color-text-primary);background:#00d4ff14;box-shadow:0 0 18px #00d4ff1f}.sheets-link-btn:hover{border-color:#00d4ffe6;background:#00d4ff24;box-shadow:0 0 26px #00d4ff40}.required{color:var(--color-error)}.optional{color:var(--color-text-muted);font-weight:400}.input-hint{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.submit-btn{margin-top:var(--spacing-lg);width:100%}.submit-btn svg{transition:transform var(--transition-fast)}.submit-btn:hover:not(:disabled) svg{transform:scale(1.1)}.processing-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);text-align:center;z-index:1}.processing-title{font-size:var(--font-size-2xl);margin:0}.processing-step{font-size:var(--font-size-base);color:var(--color-accent-primary);margin:0}.processing-percent,.processing-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.forecast-config{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.forecast-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-label-small{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.frequency-buttons{display:flex;gap:var(--spacing-sm)}.frequency-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.frequency-btn:hover{border-color:var(--color-accent-primary);color:var(--color-text-primary)}.frequency-btn.active{background:#667eea26;border-color:var(--color-accent-primary);color:var(--color-accent-primary)}@media (max-width: 768px){.upload-content{padding:0 var(--spacing-md)}.forecast-grid{grid-template-columns:1fr}}.figure-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.figure-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-normal)}.figure-card:hover{border-color:var(--color-border-hover);box-shadow:var(--glow-primary);transform:translateY(-2px)}.figure-card img{width:100%;height:auto;display:block}.figure-info{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);border-top:1px solid var(--color-border)}.figure-type{font-size:var(--font-size-xs);color:var(--color-accent-primary);text-transform:uppercase;letter-spacing:.05em}.figure-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-xl);animation:fadeIn var(--transition-fast) ease-out}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;background:var(--color-bg-secondary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl)}.lightbox-content img{max-width:100%;max-height:calc(90vh - 80px);display:block}.lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#00000080;border:none;border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);z-index:1}.lightbox-close:hover{background:#000000b3}.lightbox-info{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--color-bg-tertiary)}.metrics-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.metrics-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.metrics-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.metrics-table th,.metrics-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.metrics-table th{background:var(--color-bg-tertiary);font-weight:600;color:var(--color-text-primary);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.05em}.metrics-table tbody tr:hover{background:var(--color-bg-secondary)}.metrics-table tbody tr:last-child td{border-bottom:none}.metric-name{font-weight:500;color:var(--color-text-secondary)}.metrics-table td{font-family:var(--font-mono);color:var(--color-text-primary)}.metric-excellent{color:var(--color-success)!important;font-weight:600}.metric-good{color:var(--color-accent-primary)!important}.metric-ok{color:var(--color-warning)!important}.metrics-legend{display:flex;gap:var(--spacing-xl);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.legend-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-text-muted)}.legend-dot.metric-excellent{background:var(--color-success)}.legend-dot.metric-good{background:var(--color-accent-primary)}.legend-dot.metric-ok{background:var(--color-warning)}.empty-state p{margin:0;color:var(--color-text-secondary)}.empty-state span{font-size:var(--font-size-sm)}.summary-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl)}.summary-content{color:var(--color-text-secondary);line-height:1.7}.summary-content h1,.summary-content h2,.summary-content h3,.summary-content h4{color:var(--color-text-primary);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.summary-content h1:first-child,.summary-content h2:first-child{margin-top:0}.summary-content h2{font-size:var(--font-size-xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.summary-content h3{font-size:var(--font-size-lg);color:var(--color-accent-primary)}.summary-content p{margin-bottom:var(--spacing-md)}.summary-content ul,.summary-content ol{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-md)}.summary-content li{margin-bottom:var(--spacing-sm)}.summary-content li::marker{color:var(--color-accent-primary)}.summary-content strong{color:var(--color-text-primary);font-weight:600}.summary-content em{color:var(--color-text-secondary);font-style:italic}.summary-content code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-secondary);padding:.1em .4em;border-radius:var(--radius-sm);color:var(--color-accent-primary)}.summary-content pre{background:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}.summary-content pre code{background:none;padding:0}.summary-content blockquote{border-left:3px solid var(--color-accent-primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-text-muted);font-style:italic}.summary-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-xl) 0}.summary-content a{color:var(--color-accent-primary);text-decoration:underline}.summary-content a:hover{color:var(--color-text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);color:var(--color-text-muted);text-align:center;gap:var(--spacing-md)}.empty-state svg{opacity:.5}.empty-state p{margin:0}.plan-viewer{display:flex;flex-direction:column;gap:var(--spacing-xl)}.plan-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.plan-section h3{font-size:var(--font-size-lg);margin:0}.step-count{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg-secondary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full)}.steps-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.step-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.step-item:hover{background:var(--color-bg-tertiary)}.step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-gradient);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-primary);flex-shrink:0}.step-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-accent-primary);flex-shrink:0}.step-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.step-action{font-weight:500;color:var(--color-text-primary)}.step-section{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.step-params{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-muted);word-break:break-word}.notes-list{padding-left:var(--spacing-lg);margin:0}.notes-list li{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.notes-list li::marker{color:var(--color-accent-primary)}.errors-section{border-color:#ff47574d}.errors-section h3{color:var(--color-warning)}.errors-list{list-style:none;padding:0;margin:0}.errors-list li{display:flex;align-items:flex-start;gap:var(--spacing-sm);color:var(--color-warning);padding:var(--spacing-sm) 0;font-size:var(--font-size-sm)}.errors-list li svg{flex-shrink:0;margin-top:2px}.toggle-raw{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.toggle-raw:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.toggle-raw svg{transition:transform var(--transition-fast)}.raw-json{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);max-height:400px;overflow-y:auto}.predict-panel{display:flex;justify-content:center}.predict-card{width:min(720px,100%);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.predict-header h3{margin-bottom:var(--spacing-xs)}.predict-header p{color:var(--color-text-secondary);margin:0}.predict-body{margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.predict-upload{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#ffffff05}.predict-upload input{display:none}.predict-upload span{color:var(--color-text-secondary)}.predict-error{padding:var(--spacing-md);background:#ff484214;border:1px solid rgba(255,72,66,.35);border-radius:var(--radius-md);color:#ff4842}.missing-columns{margin-top:var(--spacing-xs);color:var(--color-text-secondary)}.btn-glow{box-shadow:0 0 18px #00d4ff59;border-color:#00d4ff80}.predict-preview{display:flex;flex-direction:column;gap:var(--spacing-sm)}.predict-preview h4{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.preview-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;background:var(--color-bg-secondary)}.preview-table table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.preview-table th,.preview-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.preview-table th{color:var(--color-text-muted);font-weight:600;background:#00d4ff0d}.results-page{min-height:100vh;padding:var(--spacing-xl) 0 var(--spacing-3xl);position:relative}.results-content{position:relative;z-index:1}.results-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-2xl);gap:var(--spacing-xl)}.header-left h1{margin-bottom:var(--spacing-sm)}.results-summary{color:var(--color-text-secondary);margin:0}.success-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500;color:var(--color-success);margin-bottom:var(--spacing-md)}.header-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.header-actions .pro-badge{display:inline-flex;align-items:center;padding:2px 6px;background:var(--color-accent-gradient);border-radius:var(--radius-sm);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-left:var(--spacing-xs)}.header-actions .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;margin-right:var(--spacing-sm)}.results-tabs{display:flex;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.results-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.results-tab:hover{color:var(--color-text-secondary)}.results-tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.results-tab svg{opacity:.7}.results-tab.active svg{opacity:1}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-xs);background:var(--color-bg-secondary);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-muted)}.results-tab.active .tab-badge{background:#00d4ff33;color:var(--color-accent-primary)}.results-tab-content{min-height:400px}@media (max-width: 768px){.results-header{flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1}.results-tab span{display:none}.results-tab{padding:var(--spacing-md)}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative;overflow:hidden}.auth-container{width:100%;max-width:400px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);z-index:1;box-shadow:0 4px 24px #0000004d}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-logo{display:inline-block;font-size:2rem;font-weight:700;text-decoration:none;margin-bottom:var(--spacing-lg)}.auth-logo .logo-v{background:linear-gradient(180deg,#00d4ff,#7b2ff7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-logo .logo-rest{color:var(--color-text-primary)}.auth-header h1{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.form-group input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.auth-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm)}.auth-submit{margin-top:var(--spacing-md);width:100%;justify-content:center}.auth-submit .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;margin-right:var(--spacing-sm)}.auth-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.auth-footer p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.auth-link{color:var(--color-accent-primary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-accent-secondary)}.success-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto var(--spacing-lg);background:#22c55e1a;border-radius:50%;color:#22c55e}.setup-instructions{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:left}.setup-instructions p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.setup-instructions code{background:var(--color-bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-accent-primary)}.setup-instructions pre{background:var(--color-bg-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-primary);overflow-x:auto;margin:0}@media (max-width: 480px){.auth-container{padding:var(--spacing-lg)}.auth-logo{font-size:1.5rem}}.pricing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-2xl) var(--spacing-xl);position:relative;overflow:hidden;gap:var(--spacing-3xl)}.pricing-content{width:100%;max-width:900px;z-index:1}.pricing-content .back-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-xl)}.pricing-content .back-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.demo-banner{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.demo-pill{padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--color-accent-gradient);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em}.demo-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pricing-header{text-align:center;margin-bottom:var(--spacing-2xl)}.pricing-header h1{font-size:2.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.pricing-header p{font-size:var(--font-size-lg);color:var(--color-text-muted);margin:0}.pricing-error{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl)}.pricing-tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.pricing-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);position:relative;transition:all var(--transition-normal)}.pricing-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px)}.pricing-card.highlighted{border-color:var(--color-accent-primary);box-shadow:var(--glow-primary)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-accent-gradient);color:#fff;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.card-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card-header h2{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.price{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.price .amount{font-size:3rem;font-weight:700;color:var(--color-text-primary)}.price .period{font-size:var(--font-size-sm);color:var(--color-text-muted)}.description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.features-list{list-style:none;padding:0;margin:0 0 var(--spacing-xl) 0}.features-list li{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.features-list li svg{color:var(--color-accent-primary);flex-shrink:0}.pricing-card .btn{width:100%;justify-content:center}.pricing-card .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;margin-right:var(--spacing-sm)}.pricing-faq{text-align:center}.pricing-faq h3{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);text-align:left}.faq-item{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.faq-item h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.faq-item p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.5}@media (max-width: 768px){.pricing-header h1{font-size:2rem}.pricing-tiers,.faq-grid{grid-template-columns:1fr}.price .amount{font-size:2.5rem}}.legal-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl) var(--spacing-xl);position:relative;overflow:hidden}.legal-content{width:min(900px,100%);z-index:1;background:#1f1f3ad9;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.legal-content .back-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-xl)}.legal-content .back-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.legal-header{margin-bottom:var(--spacing-2xl)}.legal-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.legal-header p{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0}.legal-section{margin-bottom:var(--spacing-xl)}.legal-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.legal-section p{margin:0 0 var(--spacing-sm) 0}.legal-section ul{margin:0;padding-left:var(--spacing-lg);color:var(--color-text-secondary)}.legal-section li{margin-bottom:var(--spacing-xs)}.legal-page .site-footer{margin-top:var(--spacing-2xl)}@media (max-width: 768px){.legal-content{padding:var(--spacing-xl)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;transition:color .2s}.modal-close:hover{color:var(--text-primary)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.form-group .input{width:100%;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group .input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #667eea1a}.form-group .select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a0a0c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:18px;padding-right:2.5rem}.form-group .select option{background:#1a1a2e;color:#fff}.frequency-options{display:flex;gap:.5rem}.frequency-btn{flex:1;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.frequency-btn:hover{border-color:var(--primary);color:var(--text-primary)}.frequency-btn.active{background:#667eea1a;border-color:var(--primary);color:var(--primary)}.loading-select,.no-models{padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.875rem}.no-models{border-color:#fbbf2480;background:#fbbf241a;color:#fbbf24}.form-hint{font-size:.85rem;color:var(--text-secondary);margin-top:.75rem;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(0,212,255,.25);background:#00d4ff14}.form-hint .link-btn{margin-left:.5rem;padding:0;border:none;background:none;color:var(--primary);font-size:inherit;cursor:pointer;text-decoration:underline}.form-hint .link-btn:hover{color:var(--text-primary)}.frequency-btn:disabled{opacity:.5;cursor:not-allowed}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;font-size:.875rem;margin-bottom:1.25rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.schedules-page{min-height:100vh;padding:2rem;position:relative}.schedules-content{position:relative;z-index:1;max-width:1000px}.schedules-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.schedules-header h1{font-size:2rem;margin:0 0 .5rem}.schedules-header p{color:var(--text-secondary);margin:0}.empty-state{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px}.empty-icon{color:var(--text-muted);margin-bottom:1.5rem}.empty-state h3{font-size:1.5rem;margin:0 0 .75rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem;max-width:400px;margin-left:auto;margin-right:auto}.schedules-list{display:flex;flex-direction:column;gap:1rem}.schedule-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s ease}.schedule-card:hover{border-color:var(--primary)}.schedule-card.paused{opacity:.7}.schedule-card.flash-success{animation:flashSuccess .5s ease}@keyframes flashSuccess{0%,to{background:var(--card-bg)}50%{background:#10b98133}}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schedule-name{display:flex;align-items:center;gap:.75rem}.schedule-name h3{font-size:1.1rem;margin:0}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.status-badge.paused{background:#fbbf2433;color:#fbbf24}.schedule-actions{display:flex;gap:.5rem}.btn-action{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-radius:6px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.btn-action:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action.loading{background:#667eea1a;border-color:var(--primary);color:var(--primary)}.btn-action .btn-spinner{width:14px;height:14px;border:2px solid rgba(102,126,234,.3);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.btn-action.danger:hover{background:#ef44441a;color:#ef4444;border-color:#ef4444}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--hover-bg);color:var(--text-primary);border-color:var(--primary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.danger:hover{background:#ef44441a;color:#ef4444;border-color:#ef4444}.schedule-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9rem;color:var(--text-primary)}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#f87171;margin-bottom:1.5rem}.error-dismiss{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.error-dismiss:hover{opacity:1}@media (max-width: 640px){.schedules-header{flex-direction:column}.schedule-details{grid-template-columns:1fr 1fr}}.sheets-page{min-height:100vh;padding:2rem;position:relative}.sheets-content{position:relative;z-index:1;max-width:1200px}.page-nav{display:flex;justify-content:flex-start;margin-bottom:1.5rem}.home-btn{padding:.5rem 1rem;font-size:.9rem;gap:.5rem}.sheets-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.sheets-header h1{font-size:2rem;margin:0 0 .5rem}.sheets-header p{color:var(--text-secondary);margin:0}.loading-state{text-align:center;padding:4rem 2rem}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.connect-prompt{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;max-width:500px;margin:2rem auto}.google-icon{margin-bottom:1.5rem}.connect-prompt h2{font-size:1.75rem;margin:0 0 1rem}.connect-prompt p{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.6}.config-warning{color:#fbbf24!important;background:#fbbf241a;padding:1rem;border-radius:8px;border:1px solid rgba(251,191,36,.3)}.google-btn{display:inline-flex;align-items:center;gap:.75rem}.upgrade-prompt{text-align:center;padding:4rem 2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;max-width:500px;margin:4rem auto}.upgrade-icon{color:var(--primary);margin-bottom:1.5rem}.upgrade-prompt h2{font-size:1.75rem;margin:0 0 1rem}.upgrade-prompt p{color:var(--text-secondary);margin:0 0 2rem;line-height:1.6}.sheets-browser{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;min-height:500px}.browser-sidebar{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;overflow-y:auto;max-height:600px}.browser-sidebar h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 1rem}.no-sheets{color:var(--text-muted);font-size:.9rem;text-align:center;padding:2rem 0}.spreadsheet-list{display:flex;flex-direction:column;gap:.5rem}.spreadsheet-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);transition:all .2s;width:100%}.spreadsheet-item:hover{background:var(--hover-bg);border-color:var(--border-color)}.spreadsheet-item.selected{background:#667eea1a;border-color:var(--primary)}.spreadsheet-item svg{color:var(--primary);flex-shrink:0}.spreadsheet-info{display:flex;flex-direction:column;min-width:0}.spreadsheet-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spreadsheet-date{font-size:.75rem;color:var(--text-muted)}.browser-main{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column}.select-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);padding:3rem}.select-prompt svg{margin-bottom:1rem;opacity:.5}.preview-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.preview-header h3{margin:0 0 1rem;font-size:1.1rem}.sheet-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.sheet-tab{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s}.sheet-tab:hover{border-color:var(--primary);color:var(--text-primary)}.sheet-tab.active{background:#667eea1a;border-color:var(--primary);color:var(--primary)}.preview-table-wrapper{flex:1;overflow:auto;padding:1rem}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.preview-table th{background:var(--hover-bg);font-weight:600;color:var(--text-secondary);position:sticky;top:0}.preview-table tr:hover td{background:var(--hover-bg)}.preview-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--hover-bg)}.row-count{color:var(--text-muted);font-size:.875rem}.error-banner,.success-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.success-banner{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#34d399}.error-dismiss,.success-dismiss{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;opacity:.7;transition:opacity .2s}.error-dismiss:hover,.success-dismiss:hover{opacity:1}.btn-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem}@media (max-width: 768px){.sheets-browser{grid-template-columns:1fr}.browser-sidebar{max-height:300px}}:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #16213e;--color-bg-card: #1f1f3a;--color-bg-elevated: #252545;--color-accent-primary: #00d4ff;--color-accent-secondary: #7b2ff7;--color-accent-tertiary: #00ff88;--color-accent-gradient: linear-gradient(135deg, #00d4ff 0%, #7b2ff7 100%);--color-accent-gradient-hover: linear-gradient(135deg, #00e5ff 0%, #8b3fff 100%);--color-text-primary: #ffffff;--color-text-secondary: #a0a0c0;--color-text-muted: #6a6a8a;--color-text-accent: #00d4ff;--color-success: #00ff88;--color-warning: #ffcc00;--color-error: #ff4757;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(0, 212, 255, .3);--color-border-active: rgba(0, 212, 255, .5);--glow-primary: 0 0 20px rgba(0, 212, 255, .3);--glow-secondary: 0 0 30px rgba(123, 47, 247, .2);--glow-strong: 0 0 40px rgba(0, 212, 255, .4), 0 0 80px rgba(123, 47, 247, .2);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", 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: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-gradient);color:var(--color-text-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){background:var(--color-accent-gradient-hover);box-shadow:var(--glow-primary),var(--shadow-lg);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text-primary);background:#00d4ff0d}.btn-large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-accent-gradient);opacity:0;transition:opacity var(--transition-normal)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--glow-primary);transform:translateY(-4px)}.card:hover:before{opacity:1}.card-clickable{cursor:pointer}.input-group{margin-bottom:var(--spacing-lg)}.input-label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.input{width:100%;padding:var(--spacing-md);font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #00d4ff1a}.input::placeholder{color:var(--color-text-muted)}.textarea{min-height:120px;resize:vertical}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent-primary)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid;gap:var(--spacing-lg)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid-3{grid-template-columns:1fr}}.page{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:var(--spacing-2xl) 0}.page-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.progress-bar{height:4px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-accent-gradient);transition:width var(--transition-slow);box-shadow:var(--glow-primary)}.tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl)}.tab{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--color-text-secondary)}.tab.active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:#00d4ff4d;color:var(--color-text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}
