:root { --accent:#2563eb; --bg:#0f1420; --card:#1a2130; --text:#e6e9f0; --muted:#8b93a5; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.45 system-ui, sans-serif; }
a { color:var(--accent); }

.top { display:flex; align-items:center; gap:16px; padding:12px 20px; background:var(--card);
  border-bottom:1px solid #2a3348; position:sticky; top:0; }
.brand { font-weight:700; font-size:17px; }
.brand .sub { color:var(--muted); font-size:12px; margin-left:8px; }
.top nav { display:flex; gap:10px; margin-left:auto; align-items:center; }
.top nav form.inline { display:inline; }

main { padding:20px; max-width:1500px; margin:0 auto; }

.card { background:var(--card); border:1px solid #2a3348; border-radius:8px; padding:14px 16px; }
.filters { display:flex; gap:10px; align-items:center; margin-bottom:14px; }
.filters input, .filters select, .st-select, .st-comment {
  background:#101a2a; color:var(--text); border:1px solid #33405e; border-radius:6px; padding:6px 8px; }
.st-comment { width:120px; }

.stats { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; align-items:center; }
.stat { background:var(--card); border-radius:6px; padding:4px 10px; font-size:13px; }
.stat b { font-size:15px; }
.stat-new b { color:#f59e0b; } .stat-watched b { color:#3b82f6; }
.stat-submitted b { color:#10b981; } .stat-skipped b { color:#64748b; }
.muted, a.muted { color:var(--muted); }

.btn { background:var(--accent); color:#fff; border:0; border-radius:6px; padding:7px 14px; cursor:pointer; }
.btn:disabled { opacity:.5; }
.btn-ghost, .btn-sm { background:transparent; color:var(--muted); border:1px solid #33405e; }
.btn-sm { padding:3px 8px; font-size:12px; }

table.tenders { width:100%; border-collapse:collapse; background:var(--card); font-size:13px; }
th, td { padding:7px 9px; border-bottom:1px solid #2a3348; text-align:left; vertical-align:top; }
th { color:var(--muted); font-weight:600; }
td.title { width:34%; }
td.title .desc { color:var(--muted); font-size:12px; margin-top:2px; }
.mono { font-family:ui-monospace, monospace; font-size:12px; }
.num { text-align:right; white-space:nowrap; }
.num.soon, .row-soon td.title { color:#f59e0b; }
.row-overdue td { color:#ef4444; }

.tag { display:inline-block; background:#22304d; color:#a8c0e8; border-radius:4px;
  padding:1px 6px; font-size:11px; margin-right:4px; }
.tag-smp { background:#1d4a2f; color:#7ee787; }

.verdict { display:inline-block; padding:2px 8px; border-radius:4px; font-size:12px; font-weight:600; }
.verdict-ok { background:#123c26; color:#7ee787; }
.verdict-maybe { background:#3d3410; color:#e3c565; }
.verdict-no { background:#3a1c1d; color:#f08787; }
.verdict-err { background:#2a2f3a; color:#9aa4b5; }
.ai { white-space:nowrap; }

/* переключатель площадки (как в SmartGate) */
.switch { position:relative; display:inline-block; width:44px; height:24px; vertical-align:middle; margin-right:8px; }
.switch input { opacity:0; width:0; height:0; }
.slider { position:absolute; cursor:pointer; inset:0; background:#39425c; border-radius:24px; transition:background .2s; }
.slider:before { content:""; position:absolute; height:18px; width:18px; left:3px; bottom:3px; background:#a9b6d0; border-radius:50%; transition:transform .2s; }
.switch input:checked + .slider { background:#2ea043; }
.switch input:checked + .slider:before { transform:translateX(20px); background:#fff; }
.switch input:disabled + .slider { opacity:.5; cursor:default; }
.src-state { font-size:12px; }

.error { color:#ef4444; }
.empty { text-align:center; padding:30px; color:var(--muted); }