:root{--bg:#0b1020;--panel:#131a2c;--panel-2:#1a2238;--border:#233052;--text:#e6ebf5;--text-dim:#93a1bf;--primary:#5b8cff;--primary-2:#4a76e0;--success:#34d399;--danger:#f87171;--warn:#fbbf24;--radius:12px;--radius-sm:8px;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:light){:root{--bg:#f6f8fc;--panel:#fff;--panel-2:#f1f5fb;--border:#e2e8f0;--text:#0f172a;--text-dim:#64748b;--primary:#2563eb;--primary-2:#1d4ed8;--success:#059669;--danger:#dc2626;--warn:#d97706;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-shell{gap:18px;max-width:1480px;margin:0 auto;padding:24px clamp(12px,3vw,32px);display:grid}header.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.app-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.app-title h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2vw + 1rem,2rem)}.app-title .subtitle{color:var(--text-dim);font-size:.95rem}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}button,.button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;cursor:pointer;border:0;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:background .15s,transform 50ms;display:inline-flex}button:hover,.button:hover{background:var(--primary-2)}button:active,.button:active{transform:translateY(1px)}button.ghost{color:var(--text);border:1px solid var(--border);background:0 0}button.ghost:hover{background:var(--panel-2)}button:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel h2{letter-spacing:.02em;color:var(--text);margin:0 0 12px;font-size:1.05rem}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}label{color:var(--text-dim);gap:6px;font-size:.85rem;display:grid}input,select{border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);border-radius:var(--radius-sm);padding:9px 10px;font-size:.95rem}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:6px;padding:14px 16px;display:grid}.metric-label{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.metric-value{font-size:1.25rem;font-weight:600}.layout{grid-template-columns:minmax(320px,460px) 1fr;gap:16px;display:grid}.product-list-panel{flex-direction:column;max-height:78vh;display:flex}.product-list{gap:8px;margin:0;padding:0 4px 0 0;list-style:none;display:grid;overflow-y:auto}.product-list li button{text-align:left;background:var(--panel-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;padding:10px 12px;display:grid}.product-list li button:hover{background:var(--bg)}.product-list li button.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--panel-2))}.product-name{margin-bottom:2px;font-weight:600}.product-meta{color:var(--text-dim);font-size:.78rem}.product-sources{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.source-chip{background:color-mix(in srgb, var(--primary) 14%, transparent);color:color-mix(in srgb, var(--primary) 70%, var(--text));border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:500;display:inline-block}.unmatched-table{border-collapse:collapse;width:100%;font-size:.85rem}.unmatched-table th,.unmatched-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.unmatched-table th{color:var(--text-dim);text-transform:uppercase;font-size:.78rem;font-weight:500}.unmatched-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;max-width:480px;overflow:hidden}.product-price{font-variant-numeric:tabular-nums;justify-items:end;gap:2px;display:grid}.product-price .change{font-size:.78rem;font-weight:600}.detail-panel{gap:16px;display:grid}.chart-wrap{width:100%;height:360px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--border);text-align:left;padding:9px 10px}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:500}.tag{background:var(--panel-2);color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}.tag.green{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, transparent)}.tag.red{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.empty-state{color:var(--text-dim);padding:12px 8px}.error-banner{background:color-mix(in srgb, var(--danger) 12%, var(--panel));color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius-sm);padding:10px 14px}.success-banner{background:color-mix(in srgb, var(--success) 12%, var(--panel));color:var(--success);border:1px solid color-mix(in srgb, var(--success) 40%, transparent);border-radius:var(--radius-sm);padding:10px 14px}.progress-list{gap:6px;display:grid}.progress-row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 10px;font-size:.9rem;display:grid}.progress-name{font-weight:500}.alerts-grid{gap:8px;display:grid}.alert-row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 12px;display:grid}@media (width<=1024px){.layout{grid-template-columns:1fr}.product-list-panel{max-height:50vh}}
