@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--accent: #5da9ff}body{font-family:Inter,system-ui,sans-serif}.landing-page{min-height:100vh;background-image:url(/images/background.jpg);background-size:cover;background-position:center;background-attachment:fixed;position:relative}.landing-header{position:absolute;top:0;right:0;padding:2rem 3rem;z-index:10}.auth-buttons{display:flex;gap:2rem}.auth-button{background:transparent;color:#fff;font-size:1rem;font-weight:500;border:none;padding:.5rem 1rem;cursor:pointer;transition:all .3s ease;text-transform:capitalize;opacity:.85}.auth-button:hover{color:var(--accent);opacity:1}.landing-overlay{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,#0000008c,#00000059 40%,#000000a6)}.landing-content{max-width:1200px;width:100%}.hero-section{max-width:720px;margin:0 auto;padding-top:4vh;text-align:center;color:#fff;animation:fadeInUp 1s ease-out}.welcome-text{font-size:.9rem;font-weight:400;margin-bottom:1.5rem;letter-spacing:.02em;color:#fff;text-transform:none;opacity:.9}.main-title{font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2.4rem,3.8vw,3.2rem);font-weight:600;margin-bottom:1.8rem;letter-spacing:.05em;text-transform:uppercase;color:#fff}.main-title span{display:block;font-size:.75em;font-weight:500;opacity:.85;letter-spacing:.04em}.subtitle{font-size:1rem;opacity:.75;max-width:520px;margin:0 auto 2rem;line-height:1.6;font-weight:400;letter-spacing:.02em}.cta-button{background:#ffffff1f;color:#fff;padding:.9rem 2.8rem;font-size:1rem;font-weight:500;border:1px solid rgba(255,255,255,.35);border-radius:999px;cursor:pointer;transition:all .3s ease;text-transform:capitalize;margin-top:2rem;letter-spacing:.05em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cta-button:hover{background:#ffffff38;transform:translateY(-2px)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;animation:fadeInUp 1s ease-out .3s backwards}.feature-card{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:2rem;text-align:center;color:var(--text-light);transition:all .3s ease}.feature-card:hover{background:#ffffff26;transform:translateY(-10px);box-shadow:0 20px 40px #0000004d}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.3rem;margin-bottom:.5rem;font-weight:600}.feature-card p{color:#cbd5e1;font-size:.95rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.landing-header{padding:1rem 1.5rem}.auth-buttons{gap:1rem}.auth-button{font-size:.9rem}.welcome-text{font-size:.8rem;letter-spacing:.01em}.main-title{font-size:clamp(2.2rem,8vw,2.8rem);letter-spacing:.04em}.cta-button{padding:.7rem 2rem;font-size:.9rem}.features-grid{grid-template-columns:1fr}}.navbar{position:fixed;top:0;left:0;right:0;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,.1);z-index:1000;padding:0 2rem}.navbar-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:70px}.navbar-actions{display:flex;align-items:center;gap:1rem}.user-settings-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#cbd5e1;cursor:pointer;transition:all .3s ease}.user-settings-btn:hover{background:#fff3;color:#fff;border-color:#fff6}.navbar-brand{font-size:1.25rem;font-weight:700;letter-spacing:1px}.brand-link{color:#60a5fa;text-decoration:none;transition:color .3s ease}.brand-link:hover{color:#93c5fd}.nav-menu{display:flex;list-style:none;gap:2rem;margin:0;padding:0;align-items:center}.nav-item{position:relative}.nav-link{color:#cbd5e1;text-decoration:none;font-size:.95rem;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .3s ease;display:block;letter-spacing:.5px}.nav-link:hover{color:#fff;background:#60a5fa1a}.nav-link.active{color:#fff;background:#60a5fa4d;border:1px solid rgba(96,165,250,.4);position:relative;box-shadow:0 2px 8px #60a5fa33}.nav-link.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:60%;height:2px;background:#60a5fa;border-radius:1px}@media(max-width:768px){.navbar{padding:0 1rem}.navbar-container{height:60px}.navbar-brand{font-size:1.2rem}.nav-menu{gap:.5rem}.nav-link{font-size:.85rem;padding:.4rem .6rem}}@media(max-width:480px){.nav-menu{gap:.3rem}.nav-link{font-size:.75rem;padding:.3rem .5rem}.navbar-brand{font-size:1rem}}:root{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--card: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--purple: #8b5cf6;--teal: #14b8a6;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 2px 4px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 2px 4px rgba(15, 23, 42, .06);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .12), 0 4px 8px rgba(15, 23, 42, .08);--shadow-xl: 0 12px 32px rgba(15, 23, 42, .16), 0 6px 12px rgba(15, 23, 42, .1);--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font-xs: .6875rem;--font-sm: .75rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.5rem;--font-2xl: 2rem;--font-3xl: 2.5rem}.overview-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding-top:70px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif}.overview-container{max-width:1400px;margin:0 auto;padding:var(--space-xl)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:2px solid var(--border-light)}.page-title-section{display:flex;flex-direction:column;gap:var(--space-xs)}.page-title-section h1{font-size:var(--font-xl);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.page-subtitle{color:var(--text-secondary);font-size:var(--font-base);font-weight:500;display:flex;align-items:center;gap:var(--space-sm)}.header-controls{display:flex;align-items:center;gap:var(--space-md)}.sim-status-pill{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;border-radius:24px;font-size:var(--font-sm);font-weight:600;box-shadow:var(--shadow-sm);letter-spacing:.02em}.sim-status-pill:before{content:"";width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse-glow 2s ease-in-out infinite;box-shadow:0 0 #ffffffb3}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.sim-control-btn{padding:var(--space-sm) var(--space-lg);border:2px solid transparent;background:linear-gradient(135deg,#1e293b,#0f172a);color:#fff;font-weight:600;font-size:var(--font-base);border-radius:var(--radius-md);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);letter-spacing:.02em;min-width:100px}.sim-control-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#334155,#1e293b)}.sim-control-btn.stop{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);border-color:transparent}.sim-control-btn.stop:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.sim-control-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.kpi-section{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.kpi-card{position:relative;background:linear-gradient(135deg,#fff,#fafbfc);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0f172a0f,0 1px 3px #0f172a14;padding:var(--space-xl) var(--space-lg);transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--info),transparent);opacity:0;transition:opacity .3s}.kpi-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(59,130,246,.02) 0%,transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}.kpi-card:hover:after{opacity:0}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0f172a1f,0 2px 6px #0f172a14;border-color:#3b82f626}.kpi-card:hover:before{opacity:.7}.kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.kpi-label{font-size:var(--font-xs);font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0;line-height:1.2}.kpi-accent{position:absolute;top:16px;right:16px;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 4px #3b82f61a}.kpi-card:hover .kpi-accent{transform:scale(1.15);box-shadow:0 0 0 5px #3b82f61f}.kpi-value{font-size:2.2rem;font-weight:800;line-height:1;color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.03em;display:flex;align-items:baseline;gap:var(--space-sm)}.kpi-context{font-size:var(--font-sm);color:var(--text-secondary);font-weight:600;line-height:1.5;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kpi-mode{font-size:var(--font-xl);font-weight:700;color:var(--text-primary);text-transform:capitalize;letter-spacing:-.01em;line-height:1.2}.trend-icon{font-size:var(--font-xl);margin-left:var(--space-xs);transition:transform .3s}.kpi-card.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fafbfc,#f1f5f9)}.skeleton-text{background:linear-gradient(90deg,#e2e8f0,#cbd5e1,#e2e8f0);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}.kpi-label.skeleton-text{height:14px;width:70%;margin-bottom:var(--space-md)}.kpi-value.skeleton-text{height:44px;width:80%;margin-bottom:var(--space-md)}.kpi-context.skeleton-text{height:14px;width:60%}.skeleton-accent{background:var(--border-medium)!important;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.error-banner{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff;padding:var(--space-md) 0;position:sticky;top:70px;z-index:100;box-shadow:var(--shadow-md);border-bottom:3px solid rgba(0,0,0,.1)}.error-content{max-width:1400px;margin:0 auto;padding:0 var(--space-xl);display:flex;align-items:center;gap:var(--space-md)}.error-icon{font-size:var(--font-lg);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-text{flex:1;font-weight:600;font-size:var(--font-base);letter-spacing:.01em}.error-retry{background:#fff3;border:2px solid rgba(255,255,255,.4);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-base);font-weight:600;transition:all .3s;letter-spacing:.02em}.error-retry:hover{background:#ffffff4d;border-color:#fff9;transform:translateY(-2px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:280px;color:var(--text-muted);text-align:center;background:var(--bg-secondary);border-radius:var(--radius-md)}.empty-state-icon{font-size:3.5rem;margin-bottom:var(--space-md);opacity:.4;filter:grayscale(.5)}.empty-state-text{font-size:var(--font-lg);font-weight:700;margin-bottom:var(--space-sm);color:var(--text-secondary);letter-spacing:-.01em}.empty-state-subtext{font-size:var(--font-base);max-width:350px;line-height:1.5;color:var(--text-muted)}.main-content{display:grid;grid-template-columns:1fr 400px;gap:var(--space-xl);align-items:start}.trend-analytics-panel{background:linear-gradient(135deg,#fff,#fafbfc);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0f172a0f,0 1px 3px #0f172a14;padding:var(--space-xl);transition:all .3s}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:2px solid var(--border-light)}.analytics-header h2{font-size:var(--font-md);font-weight:700;letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase;margin:0}.timeframe-controls{display:flex;gap:4px;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-sm);box-shadow:inset 0 1px 3px #0000000d}.timeframe-btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:60px;letter-spacing:.02em}.timeframe-btn:hover{color:var(--text-primary);background:#ffffffb3}.timeframe-btn.active{color:#fff;background:linear-gradient(135deg,var(--info) 0%,#2563eb 100%);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.metric-chart-wrapper{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border-light)}.metric-chart-wrapper:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-light)}.metric-chart-heading{font-size:var(--font-md);font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.01em}.range-summary{font-size:var(--font-xs);color:var(--text-muted);text-align:right;line-height:1.6;font-weight:500;letter-spacing:.01em}.metric-chart-canvas{width:100%;background:linear-gradient(135deg,#fafbfc 0%,var(--card) 100%);border:1.5px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);overflow:hidden;transition:all .3s;box-shadow:inset 0 1px 3px #0f172a0a}.metric-chart-canvas:hover{border-color:var(--border-medium);box-shadow:inset 0 1px 3px #0f172a0a,0 2px 6px #0f172a0f}.trend-graph{width:100%;height:auto;display:block;overflow:visible}.warnings-section{background:linear-gradient(135deg,#fff,#fafbfc);border:1.5px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0f172a0f,0 1px 3px #0f172a14;padding:var(--space-lg);height:fit-content;position:sticky;top:100px}.warnings-header{margin-bottom:var(--space-md)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:2px solid var(--border-light)}.section-header h2{font-size:var(--font-md);font-weight:700;letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase;margin:0;display:flex;align-items:center;gap:var(--space-xs)}.critical-count{color:var(--danger);font-weight:700;font-size:var(--font-sm);animation:pulse-critical 2s ease-in-out infinite}@keyframes pulse-critical{0%,to{opacity:1}50%{opacity:.7}}.warning-filters{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.filter-chip{padding:6px var(--space-md);font-size:var(--font-xs);font-weight:600;color:var(--text-muted);background:transparent;border:1.5px solid var(--border-light);border-radius:20px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.03em;text-transform:uppercase}.filter-chip:hover{background:var(--bg-secondary);border-color:var(--border-medium);transform:translateY(-1px)}.filter-chip.active{background:linear-gradient(135deg,var(--text-primary) 0%,#1e293b 100%);color:#fff;border-color:var(--text-primary);box-shadow:var(--shadow-sm)}.warnings-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:600px;overflow-y:auto;padding-right:var(--space-xs)}.warnings-list::-webkit-scrollbar{width:6px}.warnings-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.warnings-list::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:3px}.warnings-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.warning-item{position:relative;border-left:4px solid var(--border-light);padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-sm);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.warning-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(59,130,246,.03) 100%);opacity:0;transition:opacity .3s}.warning-item:hover{background:var(--card);box-shadow:var(--shadow-md);transform:translate(4px)}.warning-item:hover:before{opacity:1}.warning-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.severity-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px #3b82f61a;flex-shrink:0}.severity-label{font-size:var(--font-xs);font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.warning-category{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);margin-left:auto;padding:2px var(--space-sm);background:#3b82f614;border-radius:4px}.warning-title{font-size:var(--font-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm);line-height:1.5;letter-spacing:-.01em}.warning-time{font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--space-md);font-weight:500}.warning-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.action-btn{padding:6px var(--space-md);font-size:var(--font-xs);font-weight:600;border:1.5px solid var(--border-medium);background:#fff;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;letter-spacing:.02em;text-transform:uppercase}.action-btn:hover{background:var(--bg-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn.acknowledge{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;border-color:var(--success)}.action-btn.acknowledge:hover{background:linear-gradient(135deg,#059669,#047857)}.recommended-action{font-size:var(--font-xs);color:var(--text-muted);font-style:italic;font-weight:500;flex:1;text-align:right}.warnings-footer{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border-light);text-align:center}.view-all-btn{font-size:var(--font-base);color:var(--text-primary);background:transparent;border:2px solid var(--border-medium);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:all .3s;font-weight:600;letter-spacing:.02em;width:100%}.view-all-btn:hover{background:var(--text-primary);color:#fff;border-color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(min-width:1600px){.kpi-section{grid-template-columns:repeat(5,minmax(220px,1fr))}}@media(max-width:1600px){.kpi-section{gap:var(--space-md)}}@media(max-width:1400px){.overview-container{max-width:1200px}.kpi-section{grid-template-columns:repeat(3,1fr)}.main-content{grid-template-columns:1fr}.warnings-section{position:relative;top:0;margin-top:var(--space-lg)}.warnings-list{max-height:none}}@media(max-width:1024px){.overview-container{padding:var(--space-lg)}.kpi-section{grid-template-columns:repeat(2,1fr)}.main-content{gap:var(--space-md)}}@media(max-width:768px){.overview-container{padding:var(--space-md)}.kpi-section{grid-template-columns:1fr;gap:var(--space-sm)}.kpi-value{font-size:2rem}.kpi-mode{font-size:var(--font-lg)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.header-controls{width:100%;flex-direction:column}.sim-control-btn{width:100%}.analytics-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.timeframe-controls{width:100%}.timeframe-btn{flex:1}.trend-analytics-panel,.warnings-section{padding:var(--space-md)}}@media(max-width:480px){.page-title-section h1{font-size:var(--font-md)}.page-subtitle{font-size:var(--font-sm);flex-direction:column;align-items:flex-start;gap:4px}.kpi-card{padding:var(--space-md)}.kpi-value{font-size:1.75rem}.warning-actions{flex-direction:column;align-items:stretch}.recommended-action{text-align:center}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.kpi-card,.trend-analytics-panel,.warnings-section{animation:fade-in .6s ease-out}.kpi-card:nth-child(1){animation-delay:.05s}.kpi-card:nth-child(2){animation-delay:.1s}.kpi-card:nth-child(3){animation-delay:.15s}.kpi-card:nth-child(4){animation-delay:.2s}.kpi-card:nth-child(5){animation-delay:.25s}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}@media print{.overview-page{background:#fff}.page-header,.sim-control-btn,.sim-status-pill,.error-banner{display:none}.kpi-card,.trend-analytics-panel,.warnings-section{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}.main-content{grid-template-columns:1fr}}.prediction-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.page-container{padding:2rem;max-width:1600px;margin:0 auto}.page-header{text-align:center;margin-bottom:2rem}.page-title{font-size:2.5rem;font-weight:700;color:#0f172a;margin-bottom:.5rem}.page-subtitle{font-size:1.1rem;color:#475569}.dev-panel{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;padding:1rem;margin-bottom:2rem;box-shadow:0 4px 6px #0000004d}.dev-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:#78350f}.close-btn{background:none;border:none;font-size:1.5rem;color:#78350f;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#451a03}.dev-panel-content{display:flex;align-items:center;gap:1rem}.dev-panel-content label{color:#78350f;font-weight:500}.dev-panel-content select{padding:.5rem 1rem;border-radius:8px;border:2px solid #78350f;background:#fff;color:#78350f;font-weight:600;cursor:pointer;font-size:.95rem}.error-banner{background:#dc2626;color:#fff;padding:1rem;border-radius:8px;margin-bottom:2rem}.loading{text-align:center;color:#475569;padding:3rem;font-size:1.1rem}.forecast-section{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;margin-bottom:2rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px #0000000d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{font-size:1.75rem;color:#0f172a;margin:0}.section-subtitle{color:#475569;font-size:.95rem;margin-top:.25rem}.horizon-tabs{display:flex;gap:.5rem;background:#f1f5f9;padding:.25rem;border-radius:10px}.horizon-tabs button{padding:.5rem 1.5rem;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font-weight:600;transition:all .3s ease}.horizon-tabs button:hover{color:#0f172a;background:#e2e8f0}.horizon-tabs button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f666}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem}.chart-card{background:#f8fafc;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0}.chart-card h3{color:#0f172a;font-size:1.25rem;margin-bottom:1rem}.chart-container{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #e2e8f0}.chart-svg{width:100%;height:auto}.chart-legend{display:flex;gap:1.5rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;color:#475569;font-size:.9rem}.legend-line{width:30px;height:3px;border-radius:2px}.legend-line.baseline{background:#3b82f6}.legend-line.scenario{background:#8b5cf6;background-image:repeating-linear-gradient(90deg,#8b5cf6,#8b5cf6 5px,transparent 5px,transparent 10px)}.scenario-section{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;margin-bottom:2rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px #0000000d}.scenario-controls{display:grid;gap:2rem}.control-group{display:flex;flex-direction:column;gap:.75rem}.control-group label{color:#0f172a;font-size:1rem;display:flex;justify-content:space-between;align-items:center}.control-group label strong{color:#3b82f6;font-size:1.1rem}.slider{width:100%;height:8px;border-radius:4px;background:#e2e8f0;outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);cursor:pointer;box-shadow:0 2px 8px #3b82f680}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);cursor:pointer;border:none;box-shadow:0 2px 8px #3b82f680}.range-labels{display:flex;justify-content:space-between;color:#475569;font-size:.85rem}.scenario-actions{display:flex;gap:1rem;margin-top:1rem}.btn-primary,.btn-secondary{padding:.75rem 2rem;border:none;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f666}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f680}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#f1f5f9;color:#0f172a;border:2px solid #cbd5e1}.btn-secondary:hover{background:#e2e8f0;border-color:#94a3b8}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.threshold-card{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px #0000000d}.threshold-card h3{color:#0f172a;font-size:1.5rem;margin-bottom:1.5rem}.threshold-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.threshold-item{display:flex;align-items:center;gap:1rem}.threshold-bar{width:40px;height:20px;border-radius:4px}.threshold-item.good .threshold-bar{background:#10b981}.threshold-item.caution .threshold-bar{background:#f59e0b}.threshold-item.warning .threshold-bar{background:#ef4444}.threshold-item.critical .threshold-bar{background:#dc2626}.threshold-info{display:flex;justify-content:space-between;flex:1;align-items:center}.threshold-label{color:#0f172a;font-weight:600}.threshold-value{color:#475569;font-family:monospace}.current-status{padding-top:1.5rem;border-top:1px solid #e2e8f0}.current-status h4{color:#475569;font-size:.9rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.status-badge{display:inline-block;padding:.75rem 1.5rem;border-radius:10px;font-weight:700;font-size:1rem}.drivers-card{background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 4px 6px #0000000d}.drivers-card h3{color:#0f172a;font-size:1.5rem;margin-bottom:.5rem}.drivers-subtitle{color:#475569;font-size:.9rem;margin-bottom:1.5rem}.drivers-list{display:flex;flex-direction:column;gap:1.5rem}.driver-item{background:#f8fafc;border-radius:10px;padding:1.25rem;border:1px solid #e2e8f0}.driver-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.driver-name{color:#0f172a;font-weight:600;font-size:1rem}.driver-impact{font-weight:700;font-size:1.1rem;font-family:monospace}.driver-reason{color:#475569;font-size:.9rem;margin-bottom:.75rem;line-height:1.5}.driver-bar-container{background:#e2e8f0;height:8px;border-radius:4px;overflow:hidden}.driver-bar{height:100%;border-radius:4px;transition:width .5s ease}@media(max-width:1200px){.charts-grid,.insights-grid{grid-template-columns:1fr}}@media(max-width:768px){.page-container{padding:1rem}.page-title{font-size:1.75rem}.section-header{flex-direction:column;align-items:flex-start}.scenario-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.report-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-top:70px}.report-content-wrapper{max-width:1600px;margin:0 auto;padding:0}.report-top-bar{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid #e2e8f0;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;box-shadow:0 2px 8px #0000000d;position:sticky;top:70px;z-index:100}.top-bar-left{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.top-bar-right{display:flex;align-items:center}.unit-selector-group{display:flex;align-items:center;gap:.75rem}.unit-label{font-size:.875rem;font-weight:600;color:#64748b}.unit-select{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-weight:600;color:#0f172a;background:#fff;cursor:pointer;transition:all .3s ease}.unit-select:hover{border-color:#3b82f6}.unit-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.status-group{display:flex;align-items:center;gap:.5rem}.status-label{font-size:.875rem;font-weight:600;color:#64748b}.status-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-chip.status-healthy{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.status-chip.status-warning{background:#fbbf241a;color:#d97706;border:1px solid rgba(251,191,36,.3)}.status-chip.status-critical{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.status-icon{font-size:1rem}.update-time-group{display:flex;align-items:center;gap:.5rem}.update-label{font-size:.875rem;font-weight:600;color:#64748b}.update-time{font-size:.875rem;font-weight:600;color:#0f172a;font-family:Courier New,monospace}.sim-indicator{color:#10b981;font-weight:600;animation:pulse 2s infinite}.generate-report-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d}.generate-report-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.generate-report-btn:active{transform:translateY(0)}.btn-icon{font-size:1rem}.btn-text{letter-spacing:.3px}.report-content{padding:2rem}.report-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0}.section-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.report-builder{background:linear-gradient(135deg,#fff,#f8fafc)}.builder-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-label{font-size:.875rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.date-range-selector{display:flex;gap:.5rem}.range-btn{flex:1;padding:.625rem 1rem;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.range-btn:hover{border-color:#3b82f6;color:#3b82f6}.range-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.custom-date-inputs{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.date-input{flex:1;padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;transition:all .3s ease}.date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-separator{color:#64748b;font-weight:500}.form-select{padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#0f172a;background:#fff;cursor:pointer;transition:all .3s ease}.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem;color:#475569}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.executive-summary{background:linear-gradient(135deg,#fefce8,#fef3c7);border:2px solid #fbbf24}.sensor-trends{background:#fff}.sensor-graphs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem}.sensor-graph-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;transition:all .3s ease}.sensor-graph-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.sensor-graph-title{font-size:.9375rem;font-weight:700;color:#0f172a;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.sensor-graph{background:#fff;border-radius:8px;padding:1rem;min-height:200px;display:flex;align-items:center;justify-content:center}.graph-svg{width:100%;height:200px}.graph-label{font-size:12px;fill:#64748b;font-weight:600}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.kpi-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;border:2px solid transparent;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.kpi-card.kpi-healthy{border-color:#22c55e;background:linear-gradient(135deg,#fff,#f0fdf4)}.kpi-card.kpi-warning{border-color:#fbbf24;background:linear-gradient(135deg,#fff,#fefce8)}.kpi-card.kpi-critical{border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.kpi-icon{font-size:2.5rem;line-height:1}.kpi-content{flex:1}.kpi-label{font-size:.875rem;color:#64748b;font-weight:600;margin-bottom:.5rem}.kpi-value{font-size:2rem;font-weight:700;color:#0f172a;line-height:1;margin-bottom:.25rem}.kpi-status{font-size:.8125rem;color:#475569;font-weight:500}.warning-history{background:#fff}.warning-filters{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.severity-filters{display:flex;gap:.5rem}.filter-chip{padding:.5rem 1rem;border:2px solid transparent;border-radius:20px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#f1f5f9;color:#64748b}.filter-chip:hover{transform:translateY(-1px)}.filter-chip.active{color:#fff}.filter-chip.severity-critical{border-color:#ef4444}.filter-chip.severity-critical.active{background:#ef4444}.filter-chip.severity-warning{border-color:#fbbf24}.filter-chip.severity-warning.active{background:#fbbf24}.filter-chip.severity-info{border-color:#3b82f6}.filter-chip.severity-info.active{background:#3b82f6}.filter-controls{display:flex;gap:.75rem}.category-filter{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer;transition:all .3s ease}.category-filter:focus{outline:none;border-color:#3b82f6}.search-input{padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.875rem;min-width:250px;transition:all .3s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.warning-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.warning-table{width:100%;border-collapse:collapse;font-size:.875rem}.warning-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.warning-table th{padding:1rem;text-align:left;font-weight:600;color:#475569;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.warning-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .3s ease}.warning-row{cursor:pointer}.warning-row:hover{background:#f8fafc}.warning-table td{padding:1rem;color:#0f172a}.time-cell{font-family:Courier New,monospace;color:#64748b;white-space:nowrap}.category-cell{font-weight:600;color:#475569}.severity-chip{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.severity-chip.severity-critical{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.severity-chip.severity-warning{background:#fbbf241a;color:#d97706;border:1px solid rgba(251,191,36,.3)}.severity-chip.severity-info{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3)}.title-cell{font-weight:600}.action-cell{color:#64748b}.status-chip{display:inline-block;padding:.375rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-chip.status-open{background:#ef44441a;color:#dc2626}.status-chip.status-acknowledged{background:#fbbf241a;color:#d97706}.status-chip.status-resolved{background:#22c55e1a;color:#16a34a}.warning-drawer-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;justify-content:flex-end;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.warning-drawer{width:500px;max-width:90vw;background:#fff;box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:#f8fafc}.drawer-title{font-size:1.25rem;font-weight:700;color:#0f172a;margin:0;flex:1}.drawer-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .3s ease}.drawer-close:hover{background:#e2e8f0;color:#0f172a}.drawer-content{flex:1;overflow-y:auto;padding:1.5rem}.drawer-section{margin-bottom:2rem}.drawer-section:last-child{margin-bottom:0}.drawer-section-title{font-size:1rem;font-weight:700;color:#0f172a;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.drawer-text{font-size:.9375rem;color:#475569;line-height:1.6}.drawer-list{list-style:none;padding:0;margin:0}.drawer-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;font-size:.9375rem;color:#475569;line-height:1.5}.drawer-list li:before{content:"•";position:absolute;left:.5rem;color:#3b82f6;font-weight:700}.drawer-list.recommendations li:before{content:"✓";color:#22c55e}.signals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.signal-item{display:flex;justify-content:space-between;padding:.75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.signal-label{font-size:.875rem;font-weight:600;color:#64748b}.signal-value{font-size:.875rem;font-weight:700;color:#0f172a;font-family:Courier New,monospace}.drawer-actions{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;gap:1rem;background:#f8fafc}.drawer-btn{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-acknowledge{background:#3b82f6;color:#fff}.btn-acknowledge:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-add-note{background:#fff;color:#3b82f6;border:2px solid #3b82f6}.btn-add-note:hover{background:#eff6ff}.prediction-snapshot{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6}.prediction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.prediction-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.prediction-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0}.prediction-values{display:flex;flex-direction:column;gap:.75rem}.prediction-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px}.prediction-label{font-size:.875rem;font-weight:600;color:#64748b}.prediction-value{font-size:1rem;font-weight:700;color:#0f172a;font-family:Courier New,monospace}.prediction-value.trend-down{color:#dc2626}.prediction-value.trend-up{color:#16a34a}.prediction-value.trend-stable{color:#3b82f6}.prediction-summary{background:#fff;padding:1.25rem;border-radius:8px;border:2px solid #3b82f6}.summary-text{font-size:1rem;color:#0f172a;margin:0;line-height:1.6}.summary-text strong{color:#3b82f6}.notes-actions{background:#fff}.add-note-section{display:flex;gap:1rem;margin-bottom:1.5rem}.note-textarea{flex:1;padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9375rem;font-family:inherit;resize:vertical;transition:all .3s ease}.note-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-note-btn{padding:.875rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-note-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{padding:1.25rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;transition:all .3s ease}.note-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.note-type{font-size:.875rem;font-weight:700;color:#3b82f6;text-transform:uppercase;letter-spacing:.5px}.note-timestamp{font-size:.8125rem;color:#64748b;font-family:Courier New,monospace}.note-content{font-size:.9375rem;color:#0f172a;line-height:1.6;margin-bottom:.75rem}.note-footer{display:flex;justify-content:flex-end}.note-owner{font-size:.8125rem;color:#64748b;font-style:italic}.export-footer{position:sticky;bottom:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:2px solid #e2e8f0;padding:1.5rem 2rem;display:flex;justify-content:center;gap:1rem;box-shadow:0 -4px 12px #0000000d;margin-top:2rem}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:2px solid transparent;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.export-pdf{background:#dc2626;color:#fff;border-color:#dc2626}.export-pdf:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.export-excel{background:#16a34a;color:#fff;border-color:#16a34a}.export-excel:hover{background:#15803d;transform:translateY(-2px);box-shadow:0 4px 12px #16a34a4d}.export-share{background:#fff;color:#3b82f6;border-color:#3b82f6}.export-share:hover{background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.export-icon{font-size:1.125rem}@media(max-width:1024px){.report-content{padding:1.5rem}.report-top-bar{padding:1rem 1.5rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}.prediction-grid,.sensor-graphs-grid{grid-template-columns:1fr}}@media(max-width:768px){.report-content{padding:1rem}.report-top-bar{padding:1rem;flex-direction:column;align-items:stretch;gap:1rem}.top-bar-left{flex-direction:column;align-items:stretch;gap:1rem}.top-bar-right{width:100%}.generate-report-btn{width:100%;justify-content:center}.unit-selector-group,.status-group,.update-time-group{width:100%;justify-content:space-between}.unit-select{flex:1}.report-section{padding:1.5rem}.section-title{font-size:1.25rem}.kpi-grid{grid-template-columns:1fr}.warning-filters{flex-direction:column;align-items:stretch}.filter-controls{flex-direction:column}.search-input{min-width:100%}.warning-table{font-size:.8125rem}.warning-table th,.warning-table td{padding:.75rem .5rem}.warning-drawer{width:100%}.add-note-section{flex-direction:column}.export-footer{flex-direction:column;padding:1rem}.export-btn{width:100%;justify-content:center}}@media(max-width:480px){.form-row{grid-template-columns:1fr}.date-range-selector{flex-direction:column}.kpi-card{flex-direction:column;text-align:center}.signals-grid{grid-template-columns:1fr}.btn-text{display:none}.btn-icon{font-size:1.25rem}}.ai-mode-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding-top:70px}.page-container{max-width:1400px;margin:0 auto;padding:3rem 2rem}.page-header{text-align:center;margin-bottom:3rem}.page-title{font-size:2.5rem;font-weight:700;color:#0f172a;margin-bottom:.5rem;letter-spacing:1px}.page-subtitle{font-size:1.1rem;color:#475569;margin:0}.ai-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.ai-chat-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:700px;box-shadow:0 4px 6px #0000000d}.chat-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.chat-title{font-size:1.4rem;color:#3b82f6;margin:0 0 .5rem;font-weight:600}.unit-selector{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem 1rem;color:#0f172a;font-size:.875rem;cursor:pointer;transition:all .3s ease}.unit-selector:hover:not(:disabled){background:#fff;border-color:#3b82f6}.unit-selector:disabled{opacity:.5;cursor:not-allowed}.status-indicator{display:flex;align-items:center;gap:.5rem;color:#10b981;font-size:.9rem}.status-indicator.offline{color:#ef4444}.status-indicator.offline .status-dot{background:#ef4444;animation:none}.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;background:#f8fafc}.message{display:flex;flex-direction:column;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-message,.assistant-message{align-items:flex-start}.user-message{align-items:flex-end}.message-content{max-width:80%;padding:1rem;border-radius:12px;line-height:1.6}.message-content p{margin:.5rem 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content strong{font-weight:700;color:#1e40af}.ai-message .message-content,.assistant-message .message-content{background:#fff;border:1px solid #e2e8f0;color:#0f172a;box-shadow:0 2px 4px #0000000d}.user-message .message-content{background:#3b82f6;border:1px solid #2563eb;color:#fff}.message-timestamp{font-size:.75rem;color:#94a3b8;margin-top:.25rem;padding:0 .5rem}.typing-indicator{display:flex;gap:.5rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:#94a3b8;border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-10px);opacity:1}}.example-questions{padding:1rem 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid #e2e8f0;background:#fff}.example-question{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem 1rem;color:#475569;font-size:.8rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.example-question:hover:not(:disabled){background:#e0f2fe;border-color:#3b82f6;color:#1e40af;transform:translateY(-1px)}.example-question:disabled{opacity:.3;cursor:not-allowed}.chat-input-container{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;gap:1rem;background:#fff}.chat-input{flex:1;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:.75rem 1rem;color:#0f172a;font-size:1rem;outline:none;transition:border-color .3s ease}.chat-input:focus{border-color:#3b82f6;background:#fff}.chat-input::placeholder{color:#94a3b8}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #3b82f666}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-features{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:fit-content;box-shadow:0 4px 6px #0000000d}.features-title{font-size:1.4rem;color:#3b82f6;margin-bottom:1.5rem;font-weight:600}.feature-list{display:flex;flex-direction:column;gap:1.5rem}.feature-item{display:flex;gap:1rem;align-items:flex-start}.feature-icon{font-size:2rem;flex-shrink:0}.feature-text h4{color:#0f172a;margin:0 0 .5rem;font-size:1.1rem}.feature-text p{color:#475569;margin:0;font-size:.9rem;line-height:1.5}@media(max-width:1024px){.ai-content{grid-template-columns:1fr}.ai-chat-container{height:600px}}@media(max-width:768px){.page-container{padding:2rem 1rem}.page-title{font-size:2rem}.chat-input-container{flex-direction:column}.send-button{width:100%}.example-questions{flex-direction:column}.example-question{white-space:normal}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1a365d;--secondary-color: #2563eb;--accent-color: #0ea5e9;--danger-color: #dc2626;--warning-color: #f59e0b;--success-color: #10b981;--text-light: #f8fafc;--text-dark: #1e293b;--bg-overlay: rgba(0, 0, 0, .6)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-dark);overflow-x:hidden}#root{min-height:100vh}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .3s ease}button:hover{transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}
