[hidden]{display:none!important}
:root{
  --bg:#f5f6f8; --panel:#fff; --ink:#1d2433; --muted:#5b6475; --line:#e2e5ea;
  --accent:#1f4e79; --accent-2:#3b82c4; --accent-soft:#e8f0f8;
  --good:#1a7f4b; --bad:#b42318; --warn:#b54708; --warn-soft:#fff6e5; --bad-soft:#fdecea; --info-soft:#eef4fb;
  --radius:10px; --font: "Segoe UI", Tahoma, "Noto Sans Arabic", "Noto Sans", system-ui, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}
.num,.ltr{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
a{color:var(--accent)}
.skip{position:absolute;inset-inline-start:-999px}.skip:focus{inset-inline-start:8px;top:8px;background:#fff;padding:6px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}
.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center}
.brand-mark{width:34px;height:34px;border-radius:8px;background:var(--accent)}
.brand-name{font-weight:700;font-size:1.1rem}.brand-sub{color:var(--muted);font-size:.85rem}
.top-actions{display:flex;gap:10px;align-items:center}
.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 12px;border-radius:8px;cursor:pointer}
.btn:hover{border-color:var(--accent-2)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.ghost{background:transparent}.btn[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn:disabled{opacity:.55;cursor:not-allowed}
select,input{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.banner{padding:10px 20px;font-weight:600}.banner.danger{background:var(--bad-soft);color:var(--bad)}
.controls{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;padding:12px 20px}
.presets,.custom{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.freshness{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px}
.fresh{display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.85rem}
.dot{width:9px;height:9px;border-radius:50%;background:#98a2b3}
.dot.fresh-ok{background:var(--good)}.dot.stale{background:var(--warn)}.dot.fail{background:var(--bad)}
.notes{padding:8px 20px 0;display:grid;gap:6px}
.note{padding:8px 12px;border-radius:8px;font-size:.9rem}.note.warning{background:var(--warn-soft);color:#7a2e0e}.note.info{background:var(--info-soft)}
.tabs{display:flex;gap:4px;overflow-x:auto;padding:12px 20px 0;border-bottom:1px solid var(--line)}
.tab{border:0;background:none;padding:10px 14px;font:inherit;cursor:pointer;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);font-weight:700}
main{padding:18px 20px 40px}
h2{font-size:1.15rem;margin:22px 0 10px}h3{font-size:1rem;margin:14px 0 8px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.kpi .label{color:var(--muted);font-size:.85rem}.kpi .value{font-size:1.45rem;font-weight:700;margin-top:2px}
.kpi .delta{font-size:.82rem;margin-top:2px}.up{color:var(--good)}.down{color:var(--bad)}.flat{color:var(--muted)}
.kpi .hint{font-size:.75rem;color:var(--muted);margin-top:4px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-top:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
th{color:var(--muted);font-weight:600;background:#fafbfc;position:sticky;top:0}
td.n{direction:ltr;text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.meta-src{background:var(--accent-soft)}
.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.sw{display:inline-block;width:12px;height:3px;vertical-align:middle;margin-inline-end:4px}
.empty{padding:28px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius)}
.takeaways li{margin-bottom:6px}
.gal-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card .vis{aspect-ratio:1/1;background:#eef0f3;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;border:0;padding:0;width:100%}
.card .vis img{width:100%;height:100%;object-fit:cover}
.vis .fallback{padding:14px;color:var(--muted);font-size:.85rem;text-align:center}
.badges{position:absolute;top:8px;inset-inline-start:8px;display:flex;gap:4px;flex-wrap:wrap}
.badge{font-size:.72rem;background:rgba(29,36,51,.8);color:#fff;border-radius:999px;padding:2px 8px}
.badge.light{background:var(--accent-soft);color:var(--accent)}.badge.warn{background:var(--warn-soft);color:#7a2e0e}
.card .body{padding:10px 12px;display:grid;gap:6px}
.card .title{font-weight:700;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ids{font-size:.72rem;color:var(--muted);direction:ltr;text-align:end}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;font-size:.8rem}
.mini div span{display:block;color:var(--muted);font-size:.72rem}
.mini b{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.card .foot{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--line);font-size:.82rem}
.tags{display:flex;flex-wrap:wrap;gap:4px}
.tag{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.tag.proposed{border-style:dashed;color:var(--warn)}
.drawer{position:fixed;inset:0;background:rgba(15,20,30,.45);display:flex;justify-content:flex-start;z-index:20}
.drawer-panel{background:var(--bg);width:min(980px,100%);height:100%;overflow:auto;padding:16px 20px}
.drawer-head{display:flex;justify-content:space-between;align-items:center}
.detail{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:16px}
.detail .media img,.detail .media video{width:100%;border-radius:8px;background:#000}
.cards-row{display:flex;gap:6px;overflow-x:auto}.cards-row img{width:120px;height:120px;object-fit:cover;border-radius:6px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:.9rem}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.compare img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.bar{height:8px;background:var(--accent-soft);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent-2)}
.status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;background:#eef0f3}
.status.verified,.status.success,.status.fresh{background:#e7f6ee;color:var(--good)}
.status.failing,.status.failed,.status.stale_failing{background:var(--bad-soft);color:var(--bad)}
.status.stale,.status.running,.status.never{background:var(--warn-soft);color:var(--warn)}
.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:8px 0}
.form-row label{display:grid;gap:3px;font-size:.85rem}
.auth-page{display:flex;min-height:100vh;align-items:center;justify-content:center}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;width:min(420px,92vw)}
.auth-card form{display:grid;gap:12px}.auth-card label{display:grid;gap:4px}
.print-footer{display:none}
@media (max-width:760px){
  .grid2,.detail{grid-template-columns:1fr}
  .topbar{flex-wrap:wrap}.controls{padding:10px 12px}main{padding:12px}
  .kpis{grid-template-columns:repeat(2,1fr)}.kpi .value{font-size:1.2rem}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.mini{grid-template-columns:repeat(2,1fr)}
}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff;font-size:11px}
  .no-print,.drawer,.tabs,.gal-controls,.skip{display:none!important}
  .panel,.kpi,.card{break-inside:avoid;border-color:#ccc}
  .gallery{grid-template-columns:repeat(3,1fr)}
  th{position:static}
  .print-footer{display:block;position:fixed;bottom:0;font-size:9px;color:#555}
  a{color:inherit;text-decoration:none}
}
