:root{
  --bg:#f6f4ef;--surface:#fff;--ink:#1f2421;--muted:#68706a;--line:#e2ded4;
  --accent:#7a4a22;--accent-soft:#f1e6d9;
  --horse:#7a4a22;--feed:#5d7a1f;--sport:#1f5f7a;--farm:#6b5a2e;--vet:#6a3d7a;--none:#d4cfc3;
  --warn:#b4541a;--warn-soft:#fbe9dc;--crit:#a3262a;--crit-soft:#f8e1e1;--ok:#2f6b3a;--ok-soft:#e2f0e4;
  --font:"Vazirmatn",Tahoma,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#141714;--surface:#1d211d;--ink:#ebe8e0;--muted:#a2a89f;--line:#30352f;
  --accent:#e0a56c;--accent-soft:#3a2a1c;
  --horse:#e0a56c;--feed:#a9c95e;--sport:#6fbad8;--farm:#d1b878;--vet:#c79ad8;--none:#3a3f39;
  --warn:#f0a06a;--warn-soft:#3b2618;--crit:#f08a8d;--crit-soft:#3d1d1f;--ok:#8fcf99;--ok-soft:#1f3323;color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.75}
a{color:var(--accent)}
.top{background:var(--surface);border-bottom:1px solid var(--line)}
.top .in{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.brand{font-weight:800;font-size:1.15rem;color:var(--ink);text-decoration:none}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:.92rem}
.nav a{color:var(--ink);text-decoration:none;padding:2px 0;border-bottom:2px solid transparent}
.nav a.on{border-color:var(--accent)}
.bell{background:var(--crit);color:#fff;border-radius:999px;font-size:.72rem;padding:0 7px;margin-inline-start:4px}
.me{margin-inline-start:auto;display:flex;gap:10px;align-items:center;font-size:.88rem;color:var(--muted)}
.linkbtn{background:none;border:none;color:var(--accent);font:inherit;cursor:pointer;padding:0}
main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:1.45rem;margin:0 0 4px;font-weight:800}
h2{font-size:1.1rem;margin:24px 0 8px}
.muted{color:var(--muted)}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.92rem;overflow-wrap:anywhere}
.flash.ok{background:var(--ok-soft);color:var(--ok)} .flash.error{background:var(--crit-soft);color:var(--crit)}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:14px 0}
.sum{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-decoration:none;color:inherit}
.sum b{display:block;font-size:1.3rem;font-variant-numeric:tabular-nums}
.sum span{font-size:.8rem;color:var(--muted)}
.sum.on{border-color:var(--ink)} .sum.horse b{color:var(--horse)}
form.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--bg);position:sticky;top:0;padding:8px 0;border-bottom:1px solid var(--line);z-index:3}
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 10px;min-width:0}
textarea{width:100%;min-height:70px}
form.filters input[type=search]{flex:1 1 220px}
label.inline{display:inline-flex;gap:6px;align-items:center;font-size:.9rem;color:var(--muted)}
.btn{font:inherit;background:var(--ink);color:var(--bg);border:none;border-radius:8px;padding:6px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.light{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:var(--crit)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 16px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;border-inline-start:4px solid var(--c,var(--none))}
.card[data-t=h]{--c:var(--horse)}.card[data-t=feed]{--c:var(--feed)}.card[data-t=s]{--c:var(--sport)}.card[data-t=f]{--c:var(--farm)}.card[data-t=v]{--c:var(--vet)}
.card.past{opacity:.55}
.card h3{font-size:1rem;margin:0;line-height:1.65;overflow-wrap:anywhere}
.card h3 a{color:var(--ink);text-decoration:none} .card h3 a:hover{text-decoration:underline}
.card .main{min-width:0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}
.tag{font-size:.74rem;padding:0 8px;border-radius:999px;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.tag.cat{color:var(--c);border-color:var(--c)} .tag.new{background:var(--ok);color:var(--bg);border-color:var(--ok)}
.sub{color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:.84rem;color:var(--muted)}
.meta b{color:var(--ink);font-weight:500}
.side{display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:left}
.price{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap} .price small{font-weight:400;color:var(--muted)}
.dl{font-size:.78rem;padding:1px 10px;border-radius:999px;white-space:nowrap}
.dl.crit{background:var(--crit-soft);color:var(--crit)}.dl.warn{background:var(--warn-soft);color:var(--warn)}.dl.ok{background:var(--bg);color:var(--ok)}.dl.gone{background:var(--bg);color:var(--muted)}
.num{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:16px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.field>span{font-size:.88rem;color:var(--muted)}
.checks{display:flex;flex-wrap:wrap;gap:6px 14px}
.checks label{display:inline-flex;gap:6px;align-items:center;font-size:.9rem}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th,.tbl td{text-align:right;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{color:var(--muted);font-weight:500}
.scroll{overflow-x:auto}
.pill{font-size:.76rem;padding:1px 9px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.pill.ok{color:var(--ok)}.pill.failed{color:var(--crit)}.pill.partial{color:var(--warn)}.pill.running{color:var(--sport)}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}
dl.kv dt{color:var(--muted)} dl.kv dd{margin:0;overflow-wrap:anywhere}
.login{max-width:380px;margin:8vh auto}
@media (max-width:640px){.card{grid-template-columns:1fr}.side{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.me{margin-inline-start:0}}
/* v2: inline details, favourites, hide */
.card .open{all:unset;cursor:pointer;color:var(--ink);font-weight:700;line-height:1.65}
.card .open:hover{text-decoration:underline}
.card .open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.card .slot{grid-column:1/-1;border-top:1px dashed var(--line);margin-top:8px;padding-top:10px}
.card.expanded{box-shadow:0 2px 10px rgba(0,0,0,.06)}
.card.is-fav{background:linear-gradient(0deg,var(--surface),var(--surface)),var(--surface);outline:1px solid var(--accent-soft)}
.card.gone{opacity:0;transition:opacity .25s}
.acts{display:flex;gap:4px}
.icon{font:inherit;font-size:1.05rem;line-height:1;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
.icon:hover{color:var(--ink);border-color:var(--muted)}
.icon.on{color:#c98a00;border-color:#e6c066}
.note-line{font-size:.85rem;color:var(--accent);margin-top:2px;overflow-wrap:anywhere}
.detail .kv{font-size:.9rem}
.changes{font-size:.85rem;color:var(--muted);margin:8px 0}
.note-form{margin-top:8px}
.note-form textarea{min-height:56px}
.copy{font:inherit;font-size:.85rem;background:none;border:1px dashed var(--line);border-radius:6px;padding:0 8px;cursor:pointer;color:var(--ink);font-variant-numeric:tabular-nums}
.small{font-size:.82rem}
form.filters .more-f{display:flex;flex-wrap:wrap;gap:8px;width:100%}
form.filters input.num-in{width:9.5em}
.views{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 2px}
.views a{font-size:.88rem;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:2px 12px;background:var(--surface)}
.views a.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
form.filters{position:static}
form.filters input.num-in{width:11.5em}
form.filters input[name=org]{flex:1 1 220px}
.expansion{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:.88rem;color:var(--muted)}
.xt{padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.xt.q{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.xt.concept{border-color:var(--accent);color:var(--accent)}
.xt.learned{border-style:dashed}
.invite-ready{border-color:var(--ok);margin-bottom:16px}
.linkrow{display:flex;gap:8px;flex-wrap:wrap}
.linkrow input{flex:1 1 320px;font-size:.85rem}
.btn.wa{background:#1f8f4e;color:#fff}
