html{-webkit-text-size-adjust:100%}input,select,textarea{font-size:16px}@media(min-width:640px){input,select,textarea{font-size:.875rem}}@media(hover:none)and (pointer:coarse){.btn-primary,.btn-secondary,.btn-danger,.tab-button,.dropdown-item,button[aria-label],.modal-close{min-height:44px;min-width:44px}.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.scenario-card:hover,.chart-container:hover,.sankey-scenario:hover,.results-table tr:hover,.comparison-card:hover{transform:none}.tooltip:hover:after,.tooltip:hover:before,.diff-tooltip:hover:after,.diff-tooltip:hover:before{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.sankey-scenario,#results-table-view,#results-chart-view,#results-sankey-view{animation:none!important;opacity:1!important;transform:none!important}}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:#1e293b;color:#fff;padding:.75rem 1rem;border-radius:0 0 .5rem .5rem;font-weight:600}.skip-link:focus{left:0}.scroll-hint-right{position:relative}.scroll-hint-right:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1.5rem;background:linear-gradient(to right,transparent,rgba(255,255,255,.95));pointer-events:none}.tab-scroller{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.tab-scroller::-webkit-scrollbar{display:none}.tab-scroller>*{scroll-snap-align:start;flex-shrink:0}@media(max-width:480px){.sankey-svg-container svg text{font-size:10px}}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--primary-color: #3b82f6;--primary-hover: #2563eb;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--background-color: #f8fafc;--card-background: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--border-radius: .5rem;--transition: all .2s ease}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--background-color);margin:0;padding:0}.btn-primary{background-color:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;transition:var(--transition);text-decoration:none;font-size:.875rem}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background-color:#9ca3af}.btn-primary:disabled:hover{background-color:#9ca3af;transform:none;box-shadow:none}.btn-secondary{background-color:#fff;color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;transition:var(--transition);text-decoration:none;font-size:.875rem}.btn-secondary:hover{background-color:#f8fafc;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-secondary.active:hover{background-color:var(--primary-hover)}.btn-danger{background-color:var(--error-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;transition:var(--transition);font-size:.875rem}.btn-danger:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.tab-button{padding:.75rem 1rem;border:none;background:none;color:var(--text-secondary);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition);display:inline-flex;align-items:center;font-size:.875rem}.tab-button:hover,.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem}.form-input{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;transition:var(--transition);background-color:#fff}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-select{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;background-color:#fff;cursor:pointer;transition:var(--transition)}.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.scenario-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;transition:var(--transition);position:relative}.scenario-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.scenario-card.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.results-table{width:100%;border-collapse:collapse;font-size:.875rem}.results-table th{background-color:#f8fafc;padding:.75rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.results-table td{padding:.75rem;border-bottom:1px solid var(--border-color);transition:var(--transition)}.results-table tr:hover{background-color:#f8fafc}.results-table .sticky-col{position:sticky;left:0;background-color:#fff;z-index:5}.results-table th.sticky-col{z-index:15;background-color:#f8fafc}.results-table .diff-column{background-color:#eff6ff;border-left:2px solid #3b82f6;min-width:100px}.results-table .diff-header{background-color:#dbeafe;color:#1e40af;font-weight:600}.results-table .diff-positive{color:#059669;font-weight:500}.results-table .diff-negative{color:#dc2626;font-weight:500}.results-table .diff-neutral{color:#64748b}.diff-tooltip{position:relative;cursor:help}.diff-tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;white-space:nowrap;z-index:1000;margin-bottom:.25rem;box-shadow:0 4px 6px -1px #0000001a}.diff-tooltip:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1f2937;z-index:1000}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal.hidden{display:none}.modal-content{background:#fff;border-radius:var(--border-radius);max-width:500px;width:100%;margin:2rem auto;box-shadow:var(--shadow-lg);animation:modalSlideIn .3s ease;display:flex;flex-direction:column;max-height:calc(100vh - 4rem)}#settings-modal .modal-content,#scenario-builder-modal .modal-content,#analytics-modal .modal-content{max-width:64rem;width:90%;max-height:calc(100vh - 2rem)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0;background:#fff;border-radius:var(--border-radius) var(--border-radius) 0 0;position:sticky;top:0;z-index:10}.modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);flex-shrink:0;background:#fff;border-radius:0 0 var(--border-radius) var(--border-radius);position:sticky;bottom:0;z-index:10}.modal-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.modal-close:hover{background-color:#f1f5f9;color:var(--text-primary)}.status-positive{color:var(--success-color);font-weight:600}.status-negative{color:var(--error-color);font-weight:600}.status-neutral{color:var(--text-secondary);font-weight:500}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-primary{background-color:#3b82f61a;color:var(--primary-color)}.badge-success{background-color:#10b9811a;color:var(--success-color)}.badge-warning{background-color:#f59e0b1a;color:var(--warning-color)}.badge-error{background-color:#ef44441a;color:var(--error-color)}.progress-bar{width:100%;height:.5rem;background-color:#e2e8f0;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color);transition:width .3s ease}.tooltip{position:relative;cursor:help}.tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-primary);color:#fff;padding:.5rem;border-radius:var(--border-radius);font-size:.75rem;white-space:nowrap;z-index:1000;margin-bottom:.25rem}.tooltip:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--text-primary);z-index:1000}.chart-container{position:relative;height:400px;margin:1rem 0}@media(max-width:768px){.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1rem;font-size:.875rem}.tab-button{padding:.5rem .75rem;font-size:.75rem}.scenario-card{padding:1rem}.results-table th,.results-table td{padding:.5rem;font-size:.75rem}.modal-content{padding:1.5rem;margin:1rem}}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.fade-in{animation:fadeIn .3s ease-in}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.loading{opacity:.6;pointer-events:none}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.no-print{display:none!important}.scenario-card{border:1px solid #000;margin-bottom:1rem;page-break-inside:avoid}.results-table{border-collapse:collapse}.results-table th,.results-table td{border:1px solid #000}}.chart-container{position:relative;transition:all .3s ease}.chart-container:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.chart-container:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(59,130,246,.1),transparent);border-radius:16px;opacity:0;transition:opacity .3s ease;z-index:-1}.chart-container:hover:before{opacity:1}.sankey-scenario{transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform-style:preserve-3d}.sankey-scenario:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f60d,#9333ea0d,#ec48990d);opacity:0;transition:opacity .3s ease;border-radius:16px;z-index:1}.sankey-scenario:hover:before{opacity:1}.sankey-scenario:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #3b82f633,inset 0 1px #fff3}.sankey-svg-container{backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.sankey-svg-container:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.sankey-scenario:hover .sankey-svg-container:after{left:100%}.sankey-tooltip-enhanced{animation:tooltipSlideIn .3s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom left}@keyframes tooltipSlideIn{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}#sankey-diagram{padding:2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;position:relative}#sankey-diagram:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25% 25%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(147,51,234,.1) 0%,transparent 50%);border-radius:20px;z-index:0}.particle{filter:drop-shadow(0 0 6px rgba(59,130,246,.8));animation:particleGlow 2s ease-in-out infinite alternate}@keyframes particleGlow{0%{filter:drop-shadow(0 0 3px rgba(59,130,246,.5))}to{filter:drop-shadow(0 0 8px rgba(59,130,246,1))}}.results-table{border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.results-table th{background:linear-gradient(135deg,#f8fafc,#e2e8f0);position:relative}.results-table th:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899)}.results-table tr{transition:all .2s ease}.results-table tr:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:scale(1.01);box-shadow:0 2px 8px #0000001a}.btn-secondary.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 14px #3b82f666;transform:translateY(-1px)}.btn-secondary.active:hover{background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 6px 20px #3b82f699;transform:translateY(-2px)}#results-table-view,#results-chart-view,#results-sankey-view{animation:fadeInScale .6s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:6px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:6px;border:2px solid #f8fafc}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#2563eb,#7c3aed)}@media(max-width:1200px){#sankey-diagram{grid-template-columns:repeat(2,1fr)!important;gap:1.5rem}}@media(max-width:768px){#sankey-diagram{grid-template-columns:1fr!important;gap:1rem;padding:1rem}.sankey-scenario{min-height:380px!important}.sankey-svg-container{height:280px!important}.chart-container{margin-bottom:2rem}.chart-container:hover{transform:none}}.loading-chart{position:relative;overflow:hidden}.loading-chart:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.2),transparent);animation:shimmer 2s infinite;z-index:1}@keyframes shimmer{0%{left:-100%}to{left:100%}}button:focus,select:focus,input:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a,0 0 0 1px #3b82f633;border-color:#3b82f6}#storage-indicator{cursor:pointer;transition:var(--transition);border-radius:.375rem;padding:.25rem .5rem}#storage-indicator:hover{background-color:#f1f5f9;color:var(--primary-color)}#autosave-indicator{box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}.storage-low{color:var(--success-color)}.storage-medium{color:var(--warning-color)}.storage-high{color:var(--error-color)}.sankey-scenario{transition:var(--transition);position:relative;overflow:hidden}.sankey-scenario:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.sankey-svg-container{position:relative;border-radius:.375rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.sankey-tooltip{font-family:Inter,sans-serif;box-shadow:var(--shadow-lg);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}#sankey-diagram{padding:1rem}@media(max-width:1200px){#sankey-diagram{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:768px){#sankey-diagram{grid-template-columns:1fr!important;gap:15px}.sankey-scenario{min-height:320px!important}.sankey-svg-container{height:250px!important}}.sankey-scenario{animation:sankeySlideIn .5s ease-out forwards;opacity:0;transform:translateY(20px)}.sankey-scenario:nth-child(1){animation-delay:.1s}.sankey-scenario:nth-child(2){animation-delay:.2s}.sankey-scenario:nth-child(3){animation-delay:.3s}.sankey-scenario:nth-child(4){animation-delay:.4s}.sankey-scenario:nth-child(5){animation-delay:.5s}.sankey-scenario:nth-child(6){animation-delay:.6s}@keyframes sankeySlideIn{to{opacity:1;transform:translateY(0)}}.sankey-svg-container svg{overflow:visible}.sankey-svg-container .nodes rect{transition:all .2s ease}.sankey-svg-container .links path{transition:all .2s ease}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;right:0;top:100%;margin-top:.5rem;min-width:200px;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--border-color);overflow:hidden;z-index:1000;animation:dropdownSlideIn .2s ease-out}.dropdown-menu.hidden{display:none}.dropdown-item{display:flex;align-items:center;width:100%;padding:.75rem 1rem;font-size:.875rem;color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:var(--transition)}.dropdown-item:hover{background-color:#f8fafc;color:var(--primary-color)}.dropdown-item:first-child{border-radius:.75rem .75rem 0 0}.dropdown-item:last-child{border-radius:0 0 .75rem .75rem}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-section{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1rem;padding:1.5rem;border:1px solid var(--border-color);transition:var(--transition)}.settings-section:hover{border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a}.setting-group{margin-bottom:1rem}.setting-label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem}.setting-input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:.5rem;font-size:.875rem;transition:var(--transition);background:#fff}.setting-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.setting-help{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary);font-style:italic}.setting-checkbox{display:flex;align-items:center;cursor:pointer;font-weight:500;color:var(--text-primary)}.setting-checkbox input[type=checkbox]{display:none}.setting-checkmark{position:relative;display:inline-block;width:1.25rem;height:1.25rem;background:#fff;border:2px solid var(--border-color);border-radius:.25rem;margin-right:.75rem;transition:var(--transition)}.setting-checkmark:before{content:"";position:absolute;top:2px;left:6px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:var(--transition)}.setting-checkbox input[type=checkbox]:checked+.setting-checkmark{background:var(--primary-color);border-color:var(--primary-color)}.setting-checkbox input[type=checkbox]:checked+.setting-checkmark:before{opacity:1}#results-comparison-view,#results-optimization-view,#results-forecast-view,#results-ai-insights-view{min-height:500px}.comparison-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1rem;padding:1.5rem;border:2px solid var(--border-color);transition:var(--transition);position:relative;overflow:hidden}.comparison-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a}.comparison-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--success-color))}.optimization-recommendation{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #d1fae5;border-radius:.75rem;padding:1.25rem;margin-bottom:1rem;position:relative}.optimization-recommendation:before{content:"💡";position:absolute;top:1rem;right:1rem;font-size:1.5rem}.optimization-potential{display:inline-flex;align-items:center;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.5rem 1rem;border-radius:9999px;font-weight:600;font-size:.875rem;box-shadow:0 4px 6px -1px #0000001a}.forecast-chart{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1rem;padding:1.5rem;border:1px solid var(--border-color);margin-bottom:1.5rem;box-shadow:0 4px 6px -1px #0000000d}.forecast-year{background:linear-gradient(135deg,#dbeafe,#eff6ff);border:1px solid #bfdbfe;border-radius:.5rem;padding:1rem;margin-bottom:.75rem;transition:var(--transition)}.forecast-year:hover{border-color:var(--primary-color);transform:scale(1.02)}.ai-insight{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:1px solid #e9d5ff;border-radius:1rem;padding:1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.ai-insight:before{content:"🤖";position:absolute;top:1rem;right:1rem;font-size:2rem;opacity:.7}.ai-confidence{display:inline-flex;align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;margin-bottom:.75rem}.ai-risk-indicator{display:inline-block;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.ai-risk-low{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.ai-risk-medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.ai-risk-high{background:linear-gradient(135deg,#fed7d7,#fca5a5);color:#991b1b}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.analytics-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1rem;padding:1.5rem;border:1px solid var(--border-color);transition:var(--transition);position:relative;overflow:hidden}.analytics-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a}.analytics-metric{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.analytics-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.analytics-trend{display:inline-flex;align-items:center;margin-top:.5rem;font-size:.875rem;font-weight:500}.analytics-trend.positive{color:var(--success-color)}.analytics-trend.negative{color:var(--error-color)}.analytics-trend.neutral{color:var(--text-secondary)}.builder-progress{width:100%}.builder-step-indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background-color:#e2e8f0;color:#64748b;transition:all .3s ease}.builder-step-indicator.active{background-color:#3b82f6;color:#fff;transform:scale(1.1)}.builder-step-indicator.completed{background-color:#10b981;color:#fff}.builder-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.builder-option{border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#fff,#f8fafc);position:relative;overflow:hidden}.builder-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s ease}.builder-option:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 25px -8px #3b82f64d}.builder-option:hover:before{left:100%}.builder-option.selected{border-color:#3b82f6;background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:translateY(-2px);box-shadow:0 8px 25px -8px #3b82f666}.builder-option-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.builder-option-icon{font-size:1.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:#3b82f61a;border-radius:.5rem}.builder-option-footer{margin-top:1rem;text-align:right;opacity:.6;transition:opacity .2s ease}.builder-option:hover .builder-option-footer{opacity:1}.builder-field{position:relative}.builder-field label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.builder-field input,.builder-field select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;transition:all .2s ease;background-color:#fff}.builder-field input:focus,.builder-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.builder-field input[type=checkbox]{width:auto;margin-right:.5rem;accent-color:#3b82f6}.builder-step{opacity:0;transform:translate(20px);animation:slideInFade .5s ease forwards}.builder-step.active{opacity:1;transform:translate(0)}@keyframes slideInFade{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.builder-form{max-width:100%}.builder-form .grid{display:grid;gap:.5rem}.builder-form .grid.grid-cols-1{grid-template-columns:1fr}.builder-form .grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.builder-form .grid.grid-cols-2{grid-template-columns:1fr}}.builder-field label.flex{display:flex;align-items:center;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s ease;margin-bottom:0}.builder-field label.flex:hover{background-color:#f9fafb;border-color:#d1d5db}.builder-field label.flex:has(input:checked){background-color:#dbeafe;border-color:#3b82f6}@media(max-width:1024px){#settings-modal .modal-content,#scenario-builder-modal .modal-content,#analytics-modal .modal-content{width:95%}}@media(max-width:640px){.modal{padding:.5rem}.modal-content{margin:1rem auto}#settings-modal .modal-content,#scenario-builder-modal .modal-content,#analytics-modal .modal-content{width:100%;max-height:calc(100vh - 1rem)}.modal-header,.modal-body,.modal-footer{padding:1rem}}.analytics-dashboard{@apply max-w-full;}.analytics-card{@apply bg-white rounded-lg shadow-sm border border-gray-200 overflow-hidden;}.analytics-card-header{@apply flex items-center p-4 bg-gray-50 border-b border-gray-200;}.analytics-card-header i{@apply mr-3 text-lg;}.analytics-card-header h3{@apply font-semibold text-gray-800;}.analytics-card-body{@apply p-4;}.progress-bar{@apply w-full bg-gray-200 rounded-full h-2 overflow-hidden;}.progress-fill{@apply h-full bg-gradient-to-r from-green-400 to-green-600 rounded-full transition-all duration-500 ease-out;}.insight-card{@apply bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition-shadow duration-200;}.insight-card:hover{@apply border-gray-300;}.recommendation-card{@apply bg-white border border-gray-200 rounded-lg p-4 hover:shadow-md transition-shadow duration-200;}.recommendation-card:hover{@apply border-blue-200 shadow-lg;}.stat-card{@apply bg-gray-50 rounded-lg p-4 text-center hover:bg-gray-100 transition-colors duration-200;}.stat-card:hover{@apply transform scale-105;}.modal{@apply fixed inset-0 z-50 flex items-start justify-center bg-black bg-opacity-50;align-items:flex-start;padding-top:2rem;padding-bottom:2rem}.modal-content{@apply bg-white rounded-lg shadow-xl w-full mx-4;max-height:calc(100vh - 4rem);overflow-y:auto;display:flex;flex-direction:column}.modal-header{@apply flex-shrink-0 p-6 border-b border-gray-200;}.modal-body{@apply flex-1 p-6 overflow-y-auto;}.modal-footer{@apply flex-shrink-0 p-6 border-t border-gray-200 bg-gray-50;}.builder-progress{@apply mb-6;}.builder-step-indicator{@apply w-8 h-8 rounded-full border-2 border-gray-300 bg-white flex items-center justify-center text-sm font-medium text-gray-500;}.builder-step-indicator.active{@apply border-blue-500 bg-blue-500 text-white;}.builder-step-indicator.completed{@apply border-green-500 bg-green-500 text-white;}.builder-option{@apply border border-gray-200 rounded-lg p-4 cursor-pointer hover:border-blue-300 hover:shadow-md transition-all duration-200;}.builder-option.selected{@apply border-blue-500 bg-blue-50 shadow-md;}.builder-option-header{@apply flex items-center mb-2;}.builder-option-icon{@apply text-2xl mr-3;}.builder-option-footer{@apply flex justify-end mt-3 opacity-0 transition-opacity duration-200;}.builder-option:hover .builder-option-footer{@apply opacity-100;}.form-group{@apply mb-4;}.form-label{@apply block text-sm font-medium text-gray-700 mb-2;}.form-input,.form-select{@apply block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500;}.form-checkbox{@apply h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded;}.session-item{@apply p-4 border border-gray-200 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors duration-200;}.session-item:hover{@apply border-gray-300 shadow-sm;}.loading-overlay{@apply fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center;}.loading-spinner{@apply animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600;}.notification{@apply fixed top-4 right-4 z-50 max-w-sm w-full bg-white border border-gray-200 rounded-lg shadow-lg transform transition-all duration-300 ease-in-out;}.notification.success{@apply border-green-500 bg-green-50;}.notification.error{@apply border-red-500 bg-red-50;}.notification.warning{@apply border-yellow-500 bg-yellow-50;}.notification.info{@apply border-blue-500 bg-blue-50;}.chart-container{@apply relative bg-white rounded-lg shadow-sm border border-gray-200 p-4;}.chart-container:hover{@apply shadow-md border-gray-300;}@media(max-width:768px){.modal-content{@apply mx-2;max-height:calc(100vh - 2rem)}.modal{padding-top:1rem;padding-bottom:1rem}.analytics-dashboard .grid{@apply grid-cols-1;}.builder-option{@apply text-center;}}@media print{.modal{@apply static block bg-transparent;}.modal-content{@apply shadow-none max-h-none overflow-visible;}.modal-header,.modal-footer{@apply border-none;}.btn-primary,.btn-secondary{@apply hidden;}.analytics-dashboard{@apply text-black;}}[data-theme=dark]{.analytics-card{@apply bg-gray-800 border-gray-700;}.analytics-card-header{@apply bg-gray-700 border-gray-600;}.modal-content{@apply bg-gray-800 text-white;}.form-input,.form-select{@apply bg-gray-700 border-gray-600 text-white;}.session-item{@apply bg-gray-800 border-gray-700 text-white;}.session-item:hover{@apply bg-gray-700;}}
