@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#090d1a;--bg-secondary:#0f1629;--bg-card:#131b2e;--bg-card-hover:#1a2540;--bg-input:#0f1629;--bg-sidebar:#0b1120;--accent:#7c5af0;--accent-hover:#9b7ff7;--accent-soft:#7c5af026;--accent-glow:#7c5af04d;--success:#22d3a8;--success-soft:#22d3a826;--danger:#f05a7c;--danger-soft:#f05a7c26;--warning:#f0a85a;--warning-soft:#f0a85a26;--text-primary:#f0f4ff;--text-secondary:#89b;--text-muted:#4a5a7a;--border:#7c5af026;--border-hover:#7c5af066;--border-input:#ffffff14;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 4px 24px #0006;--shadow-glow:0 0 40px #7c5af026;--shadow-btn:0 4px 20px #7c5af066;--sidebar-width:240px;--topbar-height:64px;--transition:.2s ease}[data-theme=light]{--bg-primary:#f4f6fc;--bg-secondary:#eaedf7;--bg-card:#fff;--bg-card-hover:#f8f9ff;--bg-input:#fff;--bg-sidebar:#fff;--text-primary:#0f172a;--text-secondary:#4a5a7a;--text-muted:#94a3b8;--border:#7c5af026;--border-hover:#7c5af066;--border-input:#0000001a;--shadow-card:0 4px 24px #00000014;--shadow-glow:0 0 40px #7c5af014}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-soft);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}h1{font-size:2.5rem;font-weight:800;line-height:1.1}h2{font-size:1.8rem;font-weight:700}h3{font-size:1.2rem;font-weight:600}p{line-height:1.6}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:none;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent), #9b7ff7);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7c5af080}.btn-primary:active{transform:translateY(0)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent)}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid #f05a7c4d}.btn-danger:hover{background:var(--danger);color:#fff}.btn-success{background:var(--success-soft);color:var(--success);border:1px solid #22d3a84d}.btn-success:hover{background:var(--success);color:#fff}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-icon{border-radius:var(--radius-sm);padding:8px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all var(--transition);padding:24px}.card:hover{border-color:var(--border-hover)}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.form-input,.form-select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition);outline:none;width:100%;padding:12px 16px;font-family:Inter,sans-serif;font-size:.9rem}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-input::placeholder{color:var(--text-muted)}.badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-accent{background:var(--accent-soft);color:var(--accent-hover)}.badge-muted{color:var(--text-muted);background:#ffffff0d}.table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 16px;font-size:.75rem;font-weight:600}tbody tr{transition:background var(--transition);border-bottom:1px solid #ffffff0a}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--bg-card-hover)}tbody td{color:var(--text-primary);padding:14px 16px;font-size:.875rem}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:0 24px 64px #00000080, var(--shadow-glow);padding:32px;animation:.25s slideUp}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-title{font-size:1.2rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition);background:0 0;border:none;padding:4px;font-size:1.2rem}.modal-close:hover{color:var(--text-primary)}.modal-body{flex-direction:column;gap:16px;display:flex}.modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.progress-bar{background:#ffffff14;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover));border-radius:3px;height:100%;transition:width .4s}.progress-fill.danger{background:linear-gradient(90deg, var(--danger), #ff8fa0)}.toggle{cursor:pointer;flex-shrink:0;align-items:center;width:52px;height:28px;display:inline-flex;position:relative}.toggle input{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;margin:0;position:absolute;inset:0}.toggle-track{border:1px solid var(--border);background:#ffffff14;border-radius:14px;transition:background .2s,border-color .2s;position:absolute;inset:0}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.toggle-thumb{pointer-events:none;z-index:1;background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #00000040}.toggle input:checked~.toggle-thumb{transform:translate(24px)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);flex-direction:column;gap:8px;padding:24px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent), transparent);height:2px;position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:4px;font-size:1.3rem;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.stat-sub{color:var(--text-secondary);font-size:.8rem}.page-header{margin-bottom:28px}.page-header h2{font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.empty-state-icon{opacity:.5;margin-bottom:16px;font-size:3rem}.empty-state h3{color:var(--text-primary);margin-bottom:8px;font-size:1.1rem}.empty-state p{font-size:.875rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active{animation:.25s slideUp}.slide-leave-active{animation:.25s reverse slideUp}.text-accent{color:var(--accent-hover)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.font-mono{font-family:Courier New,monospace;font-size:.85em}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.grid-4,.grid-3{grid-template-columns:1fr}}.chip-filter{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:999px;padding:6px 16px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600}.chip:hover{border-color:var(--accent);color:var(--accent-hover)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-text{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition);z-index:100;padding:6px 10px;font-size:.75rem;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip-wrap:hover .tooltip-text{opacity:1}.multiplier-table{flex-direction:column;gap:0;display:flex}.multiplier-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 0;display:flex}.multiplier-row:last-child{border-bottom:none}.multiplier-info strong{margin-bottom:3px;font-size:.95rem;display:block}.multiplier-info span{color:var(--text-secondary);font-size:.8rem}.multiplier-badge{background:var(--accent-soft);color:var(--accent-hover);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:4px 12px;font-size:.9rem;font-weight:700}.multiplier-badge.x1{background:var(--success-soft);color:var(--success)}.multiplier-badge.cheap{color:#22d3a8;background:#22d3a814}.multiplier-badge.expensive{background:var(--danger-soft);color:var(--danger)}@media (width<=768px){.modal-overlay{align-items:flex-end;padding:12px}.modal{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-sm);max-height:90dvh;padding:20px 16px;overflow-y:auto}.modal-footer{flex-direction:column-reverse;gap:8px}.modal-footer .btn{justify-content:center;width:100%}h1{font-size:1.8rem}h2{font-size:1.3rem}.page-header{margin-bottom:16px}.page-header-row{flex-direction:column;align-items:flex-start;gap:10px}.page-header-row .btn{justify-content:center;width:100%}.card{padding:16px}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr);gap:12px}.stat-value{font-size:1.5rem}.stat-icon{width:36px;height:36px;font-size:1.1rem}.chip-filter{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.chip-filter::-webkit-scrollbar{display:none}.chip{flex-shrink:0}}@media (width<=480px){.grid-4{grid-template-columns:repeat(2,1fr);gap:10px}.stat-value{font-size:1.3rem}.stat-card{padding:16px 12px}}
