:root{--bg: #f4f4f5;--surface: #ffffff;--surface-2: #fafafa;--border: #d9d9de;--text: #18181b;--muted: #6b6b76;--accent: #e8590c;--accent-soft: #fff1e8;--ok: #1e8a3e;--ok-soft: #e8f6ec;--warn: #b45309;--warn-soft: #fbefe6;--bad: #c92a2a;--bad-soft: #fdecec;--info: #1c63c7;--info-soft: #e9f1fd;--podium: #fff8f2;--font: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45}h1{font-size:20px;font-weight:600;margin:0}a{color:inherit}code,.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:12px}.strong{font-weight:600}.content{padding:24px;max-width:1500px;margin:0 auto}.page-head{margin-bottom:16px}.page-head p{margin:4px 0 0}.loader,.empty{color:var(--muted);padding:24px;text-align:center}.btn{font:inherit;padding:6px 14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent);filter:brightness(1.05)}.btn:disabled{opacity:.6;cursor:default}.badge{display:inline-block;font-size:12px;padding:1px 7px;border:1px solid var(--border);color:var(--muted);background:var(--surface);white-space:nowrap}.badge-ok{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.badge-warn{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.badge-bad{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.badge-accent{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.alert{padding:10px 14px;border:1px solid var(--border);margin:12px 0}.alert-bad{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.alert-warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.alert-info{background:var(--info-soft);border-color:var(--info);color:var(--info)}.alert.flat{margin:0;border-width:0 0 1px}.brand{display:flex;align-items:center;gap:8px;font-weight:600}.brand-lg{font-size:18px}.env{font-family:var(--mono);font-size:11px;padding:1px 6px;border:1px solid var(--border);color:var(--muted)}.env-dev{color:var(--info);border-color:var(--info)}.env-stg{color:var(--warn);border-color:var(--warn)}.env-prod{color:var(--ok);border-color:var(--ok)}@media (max-width: 900px){.content{padding:16px}}.login-page{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);padding:28px;display:flex;flex-direction:column;gap:14px}.login-card p{margin:0}.login-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.login-card input{font:inherit;padding:8px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.login-card input:focus{outline:2px solid var(--accent);outline-offset:-1px}.header{display:flex;align-items:center;gap:24px;padding:10px 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;flex-wrap:wrap}.header-nav{display:flex;gap:4px}.header-nav a{text-decoration:none;padding:6px 12px;color:var(--muted);border:1px solid transparent}.header-nav a.active{color:var(--text);border-color:var(--border);background:var(--surface-2);font-weight:500}.header-user{margin-left:auto;display:flex;align-items:center;gap:12px}.header-email{color:var(--muted);font-size:13px}@media (max-width: 900px){.header{padding:10px 16px;gap:12px}.header-email{display:none}}.back{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:12px}.back:hover{color:var(--text)}.report-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:16px 0}.kpi{background:var(--surface);border:1px solid var(--border);padding:14px 16px}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.kpi-value{font-family:var(--mono);font-size:24px;margin-top:6px}.kpi-accent{color:var(--accent)}.kpi-ok{color:var(--ok)}.panel{background:var(--surface);border:1px solid var(--border)}.site-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--border)}.site-tabs button{font:inherit;background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;color:var(--muted);cursor:pointer;white-space:nowrap;display:flex;gap:6px;align-items:center}.site-tabs button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.count{font-family:var(--mono);font-size:11px;border:1px solid var(--border);padding:0 5px}.count-bad{color:var(--bad);border-color:var(--bad)}.pad{padding:10px 16px 0;margin:0 0 10px}.foot{margin-top:10px}@media (max-width: 900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border)}.panel .table-wrap{border:0}table{border-collapse:collapse;width:100%}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2)}.num{text-align:right;font-variant-numeric:tabular-nums}th.num .th-btn{justify-content:flex-end;width:100%}.th-btn{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.th-btn:focus-visible{outline:2px solid var(--accent)}.sort{opacity:.5;font-size:11px}.list tbody tr:hover{background:var(--surface-2)}.row-link{font-weight:500;font-family:var(--mono)}.ranking tr.podium{background:var(--podium)}.rank{display:inline-grid;place-items:center;min-width:24px;height:24px;font-family:var(--mono)}.rank-top{background:var(--accent);color:#fff}.offer-name{display:flex;gap:6px;align-items:center;font-weight:500}.offer-name .badge{font-size:11px}.offer-title{color:var(--muted);font-size:12px;max-width:340px;overflow:hidden;text-overflow:ellipsis}.ctr{color:var(--ok);font-family:var(--mono)}.epc{color:var(--info);font-family:var(--mono)}.score{display:flex;align-items:center;gap:8px;justify-content:flex-end}.score span:first-child{min-width:34px;text-align:right}.score-bar{width:110px;height:4px;background:var(--border);display:block}.score-bar span{display:block;height:100%;background:var(--accent)}
