:root { --bg-deep: #0b0d12; --bg-card: #121722; --bg-card-strong: #171d29; --border-subtle: rgba(255, 255, 255, 0.07); --border-hover: rgba(249, 115, 22, 0.22); --accent: #f97316; --accent-deep: #ea580c; --accent-glow: rgba(249, 115, 22, 0.12); } [v-cloak] { display: none; } body { background: var(--bg-deep); color: #e2e8f0; font-family: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif; min-height: 100vh; } body::before { content: none; } .glass { background: var(--bg-card); border: 1px solid var(--border-subtle); box-shadow: none; } .glass:hover { border-color: var(--border-subtle); } .hero-panel { background: var(--bg-card-strong); border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: none; } .brand-mark { background: linear-gradient(135deg, #fb923c, #dc2626 70%), var(--accent); box-shadow: none; } .metric-card, .surface-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 1.2rem; padding: 1rem; } .metric-card { min-height: 92px; } .surface-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 1rem; padding: 0.95rem 1rem; } .metric-label, .section-kicker { font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: #64748b; } .metric-value { margin-top: 0.45rem; font-size: 1.7rem; line-height: 1; font-weight: 900; } .status-pill { display: inline-flex; align-items: center; gap: 0.25rem; border: 1px solid; border-radius: 999px; padding: 0.38rem 0.72rem; font-size: 10px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; } .quick-action { width: 100%; text-align: left; background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 1rem; padding: 0.95rem 1rem; font-size: 0.82rem; font-weight: 700; color: #cbd5e1; transition: border-color 0.2s ease, color 0.2s ease; } .quick-action:hover { border-color: var(--border-hover); color: #fff; } .accent-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.8rem 1.15rem; border-radius: 1rem; background: linear-gradient(135deg, var(--accent), var(--accent-deep)); color: white; font-size: 12px; font-weight: 900; letter-spacing: 0.16em; text-transform: uppercase; box-shadow: none; transition: filter 0.18s ease; } .accent-button:hover { filter: brightness(1.04); } .accent-button:disabled { filter: saturate(0.3); box-shadow: none; } .group-active { border-color: rgba(249, 115, 22, 0.24); box-shadow: none; } .active-tab { background: var(--accent); box-shadow: none; } .empty-state { border: 1px dashed rgba(148, 163, 184, 0.28); border-radius: 1.2rem; padding: 2.4rem 1.2rem; text-align: center; color: #64748b; font-size: 0.92rem; } .ui-table { border-collapse: collapse; } .ui-table th { padding: 0.8rem 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, 0.08); font-size: 10px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #64748b; text-align: left; } .ui-table td { padding: 0.95rem 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, 0.05); vertical-align: middle; } .ui-table tbody tr:hover { background: rgba(255, 255, 255, 0.02); } input[type="range"] { -webkit-appearance: none; height: 6px; border-radius: 999px; background: #1e293b; outline: none; } input[type="range"]:disabled { opacity: 0.25; cursor: not-allowed; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; background: white; border-radius: 50%; cursor: pointer; border: 3px solid var(--accent); box-shadow: 0 0 10px rgba(0, 0, 0, 0.42); transition: transform 0.15s ease; } input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.12); } input[type="range"]:disabled::-webkit-slider-thumb { border-color: #475569; cursor: not-allowed; transform: none; } .temp-gradient { background: linear-gradient(to right, #ffcc66, #ffffff, #99ccff) !important; } select { appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 0.75rem center; background-size: 1em; } .mono { font-family: "JetBrains Mono", "SFMono-Regular", "Cascadia Code", monospace; } @keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } } .fade-up, .toast-enter { animation: none; } @keyframes pulse-dot { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } } .pulse-on { animation: none; } @keyframes spin { to { transform: rotate(360deg); } } .spinner { animation: spin 0.8s linear infinite; }