*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#374151;background-color:#f9fafb}.container{max-width:1200px;margin:0 auto;padding:0 20px}.grid{display:grid;gap:24px}.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 (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;padding:24px;transition:box-shadow .2s ease}.card:hover{box-shadow:0 4px 6px #0000001a}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-secondary{background-color:#f3f4f6;color:#374151}.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{display:flex;justify-content:space-between;align-items:center;height:64px;max-width:1200px;margin:0 auto;padding:0 20px}.nav-brand{font-size:20px;font-weight:700;color:#111827}.nav-links{display:flex;gap:32px}.nav-link{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#6b7280;text-decoration:none;font-weight:500;border-radius:8px;transition:all .2s ease}.nav-link:hover{color:#111827;background-color:#f3f4f6}.nav-link.active{color:#2563eb;background-color:#dbeafe}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.form-input,.form-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-checkbox{margin-right:8px}.stat-card{text-align:center;padding:20px}.stat-value{font-size:32px;font-weight:700;color:#111827;margin-bottom:8px}.stat-label{font-size:14px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stat-change{font-size:12px;font-weight:500;margin-top:4px}.trend-up{color:#dc2626}.trend-down{color:#16a34a}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.service-tag{display:inline-flex;align-items:center;padding:4px 8px;background-color:#dbeafe;color:#1e40af;border-radius:16px;font-size:12px;font-weight:500;margin:2px}.service-tag-remove{margin-left:4px;cursor:pointer;opacity:.7}.service-tag-remove:hover{opacity:1}.chart-container{position:relative;height:300px;width:100%}@media (max-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{position:relative;width:100%;background:#fafafa;border-radius:8px;padding:12px;border:1px solid #e5e7eb}.chart-container canvas{max-width:100%!important;height:auto!important}.service-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s ease;margin-bottom:24px}.service-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.service-card-header{padding:24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.service-card-content{padding:24px}.metric-card{background:#fff;border-radius:8px;padding:16px;border:1px solid #e5e7eb;transition:all .2s ease}.metric-card:hover{border-color:#3b82f6}.status-indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-indicator.very-stable{background:#dcfce7;color:#166534}.status-indicator.stable{background:#dbeafe;color:#1e40af}.status-indicator.moderate{background:#fef3c7;color:#92400e}.status-indicator.volatile{background:#fef2f2;color:#991b1b}.explorer-grid{display:grid;gap:24px}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.summary-stat{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border-left:4px solid #3b82f6}.summary-stat h3{font-size:14px;font-weight:500;color:#6b7280;margin:0 0 8px}.summary-stat .value{font-size:24px;font-weight:700;color:#111827;margin:0 0 4px}.summary-stat .subtitle{font-size:14px;color:#6b7280;margin:0}.filter-sidebar{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;height:fit-content;position:sticky;top:20px}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.filter-group select,.filter-group input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 1280px){.explorer-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-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 (max-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{position:static;margin-bottom:20px}}@media (max-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{background:#fff;border-radius:12px;padding:48px 24px;text-align:center;box-shadow:0 1px 3px #0000001a}.loading-state p,.error-state p,.empty-state p{margin:16px 0 0;color:#6b7280}.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:fadeIn .4s ease-out}.metric-card{animation:fadeIn .3s ease-out}.trend-increasing{color:#dc2626}.trend-decreasing{color:#16a34a}.trend-stable{color:#6b7280}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-gradient{background:linear-gradient(135deg,#3b82f6,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root{--background-color: #f9fafb;--surface-color: #ffffff;--surface-hover-color: #f3f4f6;--surface-active-color: #e5e7eb;--text-color: #111827;--text-muted: #6b7280;--text-light: #9ca3af;--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: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--chart-primary: #3b82f6;--chart-primary-bg: rgba(59, 130, 246, .1);--chart-grid: #f3f4f6;--chart-text: #6b7280;--trend-up: #dc2626;--trend-down: #16a34a;--trend-stable: #6b7280;--nav-background: #ffffff;--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: rgba(255, 255, 255, .06);--screenshot-image-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);--screenshot-dot-red: #ff5f57;--screenshot-dot-amber: #febc2e;--screenshot-dot-green: #28c840}: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 rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--chart-primary: #60a5fa;--chart-primary-bg: rgba(96, 165, 250, .2);--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 rgba(255, 255, 255, .03);--screenshot-dot-red: #ff5f57;--screenshot-dot-amber: #febc2e;--screenshot-dot-green: #28c840}body{background-color:var(--background-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}.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 ease}.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 ease}.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 ease}.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 ease}.form-select:focus,.form-input:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.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 ease}.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 (max-width: 768px){.theme-toggle-btn{width:36px;height:36px;font-size:16px}}@media print{:root{--background-color: #ffffff !important;--surface-color: #ffffff !important;--text-color: #000000 !important;--text-muted: #666666 !important;--border-color: #cccccc !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: #000000;--text-muted: #000000}.dark-theme{--border-color: #ffffff;--text-muted: #ffffff}}@media (max-width: 768px){html{transition:background-color .15s ease,color .15s ease}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}
