*{box-sizing:border-box;margin:0;padding:0}body{color:#374151;background-color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.grid{gap:24px;display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (width>=769px) and (width<=1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:box-shadow .2s;box-shadow:0 1px 3px #0000001a}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background-color:#2563eb}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{color:#374151;background-color:#f3f4f6}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-sm{padding:6px 12px;font-size:12px}.nav{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 20px;display:flex}.nav-brand{color:#111827;font-size:20px;font-weight:700}.nav-links{gap:32px;display:flex}.nav-link{color:#6b7280;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{color:#111827;background-color:#f3f4f6}.nav-link.active{color:#2563eb;background-color:#dbeafe}.form-group{margin-bottom:16px}.form-label{color:#374151;margin-bottom:8px;font-weight:500;display:block}.form-input,.form-select{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-checkbox{margin-right:8px}.stat-card{text-align:center;padding:20px}.stat-value{color:#111827;margin-bottom:8px;font-size:32px;font-weight:700}.stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:14px}.stat-change{margin-top:4px;font-size:12px;font-weight:500}.trend-up{color:#dc2626}.trend-down{color:#16a34a}.spinner{border:2px solid #f3f3f3;border-top-color:#2563eb;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.service-tag{color:#1e40af;background-color:#dbeafe;border-radius:16px;align-items:center;margin:2px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.service-tag-remove{cursor:pointer;opacity:.7;margin-left:4px}.service-tag-remove:hover{opacity:1}.chart-container{width:100%;height:300px;position:relative}@media (width<=768px){.nav-links{display:none}.container{padding:0 16px}.card{padding:16px}.stat-value{font-size:24px}}.text-center{text-align:center}.text-right{text-align:right}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.p-4{padding:16px}.hidden{display:none}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:16px}.w-full{width:100%}.chart-container{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:12px;position:relative}.chart-container canvas{max-width:100%!important;height:auto!important}.service-card{background:#fff;border-radius:12px;margin-bottom:24px;transition:all .2s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.service-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.service-card-header{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #e5e7eb;padding:24px}.service-card-content{padding:24px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.metric-card:hover{border-color:#3b82f6}.status-indicator{border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.status-indicator.very-stable{color:#166534;background:#dcfce7}.status-indicator.stable{color:#1e40af;background:#dbeafe}.status-indicator.moderate{color:#92400e;background:#fef3c7}.status-indicator.volatile{color:#991b1b;background:#fef2f2}.explorer-grid{gap:24px;display:grid}.explorer-grid.cards-view{grid-template-columns:1fr}.explorer-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.chart-large{height:320px;min-height:320px}.chart-medium{height:200px;min-height:200px}.chart-small{height:120px;min-height:120px}.chart-mini{height:80px;min-height:80px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.summary-stat{background:#fff;border-left:4px solid #3b82f6;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.summary-stat h3{color:#6b7280;margin:0 0 8px;font-size:14px;font-weight:500}.summary-stat .value{color:#111827;margin:0 0 4px;font-size:24px;font-weight:700}.summary-stat .subtitle{color:#6b7280;margin:0;font-size:14px}.filter-sidebar{background:#fff;border-radius:12px;height:fit-content;padding:20px;position:sticky;top:20px;box-shadow:0 1px 3px #0000001a}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-group label{color:#374151;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.filter-group select,.filter-group input{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.filter-group select:focus,.filter-group input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}@media (width<=1280px){.explorer-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (width<=1024px){.service-card-header,.service-card-content{padding:20px}.chart-large{height:240px;min-height:240px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}}@media (width<=768px){.service-card-header,.service-card-content{padding:16px}.explorer-grid.compact-view{grid-template-columns:1fr}.chart-large,.chart-medium{height:180px;min-height:180px}.summary-stats{grid-template-columns:repeat(2,1fr)}.filter-sidebar{margin-bottom:20px;position:static}}@media (width<=640px){.service-card-header,.service-card-content{padding:12px}.summary-stats{grid-template-columns:1fr}.chart-large,.chart-medium,.chart-small{height:150px;min-height:150px}}.loading-state,.error-state,.empty-state{text-align:center;background:#fff;border-radius:12px;padding:48px 24px;box-shadow:0 1px 3px #0000001a}.loading-state p,.error-state p,.empty-state p{color:#6b7280;margin:16px 0 0}.error-state{background:#fef2f2;border:1px solid #fecaca}.error-state p{color:#991b1b}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.service-card{animation:.4s ease-out fadeIn}.metric-card{animation:.3s ease-out fadeIn}.trend-increasing{color:#dc2626}.trend-decreasing{color:#16a34a}.trend-stable{color:#6b7280}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-gradient{background:linear-gradient(135deg,#3b82f6 0%,#1e40af 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk", var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--background-color:#f1f5f9;--surface-color:#fff;--surface-hover-color:#f1f5f9;--surface-active-color:#e2e8f0;--text-color:#111827;--text-muted:#64748b;--text-light:#94a3b8;--prose-text:#2a2d34;--primary-color:#3b82f6;--primary-hover:#2563eb;--primary-light:#dbeafe;--accent-color:#8b5cf6;--success-color:#10b981;--success-light:#d1fae5;--warning-color:#f59e0b;--warning-light:#fef3c7;--error-color:#ef4444;--error-light:#fecaca;--border-color:#e2e8f0;--border-light:#eef2f7;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 1px 3px #0f172a14, 0 1px 2px #0f172a0d;--shadow-md:0 4px 8px -2px #0f172a14, 0 2px 4px -2px #0f172a0d;--shadow-lg:0 16px 32px -8px #0f172a1f, 0 4px 8px -4px #0f172a0f;--chart-primary:#3b82f6;--chart-primary-bg:#3b82f61a;--chart-grid:#f3f4f6;--chart-text:#6b7280;--trend-up:#dc2626;--trend-down:#16a34a;--trend-stable:#6b7280;--nav-background:#fff;--nav-text:#374151;--nav-active:#3b82f6;--nav-active-bg:#eff6ff;--cta-color:#f97316;--cta-hover:#ea580c;--cta-light:#ffedd5;--screenshot-frame-bg:#1d1f24;--screenshot-chrome-bg:#2a2d33;--screenshot-chrome-line:#ffffff0f;--screenshot-image-shadow:inset 0 0 0 1px #ffffff0a;--screenshot-dot-red:#ff5f57;--screenshot-dot-amber:#febc2e;--screenshot-dot-green:#28c840;--chart-1:#4f86f7;--chart-2:#34a853;--chart-3:#a142f4;--chart-4:#f9ab00;--chart-5:#ea4335;--chart-6:#00897b;--chart-7:#7e57c2}:root.dark-theme,[data-theme=dark]{--background-color:#0f172a;--surface-color:#1e293b;--surface-hover-color:#334155;--surface-active-color:#475569;--text-color:#f8fafc;--text-muted:#cbd5e1;--text-light:#94a3b8;--prose-text:#bdbdb8;--primary-color:#60a5fa;--primary-hover:#3b82f6;--primary-light:#1e3a8a;--accent-color:#a78bfa;--success-color:#34d399;--success-light:#064e3b;--warning-color:#fbbf24;--warning-light:#78350f;--error-color:#f87171;--error-light:#7f1d1d;--border-color:#374151;--border-light:#4b5563;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--chart-primary:#60a5fa;--chart-primary-bg:#60a5fa33;--chart-grid:#374151;--chart-text:#cbd5e1;--trend-up:#f87171;--trend-down:#34d399;--trend-stable:#cbd5e1;--nav-background:#1e293b;--nav-text:#cbd5e1;--nav-active:#60a5fa;--nav-active-bg:#1e3a8a;--cta-color:#fb923c;--cta-hover:#f97316;--cta-light:#7c2d12;--screenshot-frame-bg:var(--surface-color);--screenshot-chrome-bg:var(--surface-hover-color);--screenshot-chrome-line:var(--border-color);--screenshot-image-shadow:inset 0 0 0 1px #ffffff08;--screenshot-dot-red:#ff5f57;--screenshot-dot-amber:#febc2e;--screenshot-dot-green:#28c840;--chart-1:#6ea8ff;--chart-2:#4cc66a;--chart-3:#c07cff;--chart-4:#ffc233;--chart-5:#ff6b5e;--chart-6:#26a89a;--chart-7:#9c7be0}body{background-color:var(--background-color);color:var(--text-color);transition:background-color .3s,color .3s}.min-h-screen{background-color:var(--background-color);color:var(--text-color)}.card{background-color:var(--surface-color);border:1px solid var(--border-color);box-shadow:var(--shadow);transition:all .3s}.card:hover{box-shadow:var(--shadow-md)}.nav{background-color:var(--nav-background);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.nav-link{color:var(--nav-text);transition:all .2s}.nav-link:hover{background-color:var(--surface-hover-color);color:var(--primary-color)}.nav-link.active{background-color:var(--nav-active-bg);color:var(--nav-active)}.nav-brand{color:var(--text-color);font-weight:700}.btn{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);transition:all .2s}.btn:hover{background-color:var(--surface-hover-color);border-color:var(--primary-color)}.btn-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--surface-hover-color);color:var(--text-color)}.btn-secondary:hover{background-color:var(--surface-active-color)}.btn-danger{background-color:var(--error-color);color:#fff;border-color:var(--error-color)}.form-select,.form-input,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);transition:all .2s}.form-select:focus,.form-input:focus,input:focus,select:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-label{color:var(--text-color);font-weight:500}.cost-data-table,table{background-color:var(--surface-color);color:var(--text-color)}.cost-data-table th,table th{background-color:var(--surface-hover-color);color:var(--text-color);border-bottom:1px solid var(--border-color)}.cost-data-table td,table td{border-bottom:1px solid var(--border-light)}.service-row:hover,.table-row:hover{background-color:var(--surface-hover-color)}.trend-up,.text-red-600{color:var(--trend-up)!important}.trend-down,.text-green-600{color:var(--trend-down)!important}.trend-stable,.text-gray-600{color:var(--trend-stable)!important}.settings-nav,.settings-content{background-color:var(--surface-color);border:1px solid var(--border-color);box-shadow:var(--shadow)}.nav-tab{color:var(--text-color);transition:all .2s}.nav-tab:hover{background-color:var(--surface-hover-color)}.nav-tab.active{background-color:var(--primary-light);color:var(--primary-color)}.chart-container{background-color:var(--surface-hover-color);border:1px solid var(--border-color)}.loading-state,.error-state,.empty-state{background-color:var(--surface-color);color:var(--text-muted);border:1px solid var(--border-color)}.error-state{background-color:var(--error-light);color:var(--error-color);border-color:var(--error-color)}.stat-card{background-color:var(--surface-color);border:1px solid var(--border-color)}.stat-value{color:var(--text-color)}.stat-label{color:var(--text-muted)}.service-tag{background-color:var(--primary-light);color:var(--primary-color)}.status-indicator.very-stable{background-color:var(--success-light);color:var(--success-color)}.status-indicator.stable{background-color:var(--primary-light);color:var(--primary-color)}.status-indicator.moderate{background-color:var(--warning-light);color:var(--warning-color)}.status-indicator.volatile{background-color:var(--error-light);color:var(--error-color)}.text-muted{color:var(--text-muted)!important}.text-light{color:var(--text-light)!important}.text-primary{color:var(--primary-color)!important}.text-success{color:var(--success-color)!important}.text-warning{color:var(--warning-color)!important}.text-error{color:var(--error-color)!important}.dark-theme .text-gray-900,[data-theme=dark] .text-gray-900{color:var(--text-color)!important}.dark-theme .text-gray-600,[data-theme=dark] .text-gray-600{color:var(--text-muted)!important}.dark-theme .text-gray-500,[data-theme=dark] .text-gray-500{color:var(--text-light)!important}.text-3xl,.text-xl,.text-lg,.container{color:var(--text-color)}.dark-theme h1,.dark-theme h2,.dark-theme h3,.dark-theme h4,.dark-theme h5,.dark-theme h6,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-color)!important}.dark-theme p,[data-theme=dark] p{color:var(--text-color)}.bg-surface{background-color:var(--surface-color)!important}.bg-surface-hover{background-color:var(--surface-hover-color)!important}.dark-theme .bg-white,[data-theme=dark] .bg-white{background-color:var(--surface-color)!important}.dark-theme .bg-gray-50,[data-theme=dark] .bg-gray-50{background-color:var(--surface-hover-color)!important}.dark-theme .bg-gray-100,[data-theme=dark] .bg-gray-100{background-color:var(--surface-active-color)!important}@media (width<=768px){.theme-toggle-btn{width:36px;height:36px;font-size:16px}}@media print{:root{--background-color:#fff!important;--surface-color:#fff!important;--text-color:#000!important;--text-muted:#666!important;--border-color:#ccc!important}}@media (prefers-reduced-motion:reduce){.theme-transition,.card,.btn,.nav-link,.form-select,.form-input,input,select,textarea{transition:none!important}}@media (prefers-contrast:high){:root{--border-color:#000;--text-muted:#000}.dark-theme{--border-color:#fff;--text-muted:#fff}}@media (width<=768px){html{transition:background-color .15s,color .15s}body{min-height:100vh;min-height:-webkit-fill-available}}@supports (-webkit-touch-callout:none){body{min-height:-webkit-fill-available}}html.theme-transitioning,html.theme-transitioning *{transition:none!important}
