/* =====================================================================
   Ghurra — application styles
   Palette: stable green-grey neutrals, saddle leather, hay gold.
   ===================================================================== */
:root{
  --bg:#f3f5f1; --surface:#ffffff; --surface-2:#eef1ec; --surface-3:#e4e8e1;
  --ink:#1b231f; --ink-2:#46514b; --muted:#6c7770; --line:#dbe0d7; --line-2:#c9d0c4;
  --leather:#6b3f23; --leather-2:#84502f; --hay:#a8761d; --hay-soft:#f4e9d0;
  --side:#1d2622; --side-ink:#d9e0da; --side-muted:#8d9a92; --side-active:#2a3530;
  --ok:#2f7a4f; --ok-soft:#e2f1e7; --warn:#9a6400; --warn-soft:#fbf0d9;
  --crit:#b3362c; --crit-soft:#f8e4e1; --info:#2f5f8a; --info-soft:#e3edf6;
  --focus:#a8761d;
  --radius:10px; --radius-sm:7px;
  --shadow:0 1px 2px rgba(20,30,25,.06), 0 4px 14px rgba(20,30,25,.05);
  --font:"IBM Plex Sans Arabic","IBM Plex Sans",Tahoma,"Segoe UI",sans-serif;
  --display:"Reem Kufi","IBM Plex Sans Arabic",sans-serif;
  --mono:"IBM Plex Mono",Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#111513; --surface:#191e1b; --surface-2:#1f2522; --surface-3:#28302b;
    --ink:#e5eae5; --ink-2:#b8c1bb; --muted:#8a958e; --line:#2c3430; --line-2:#3a443e;
    --leather:#b77a4f; --leather-2:#c98a5e; --hay:#dcaa4b; --hay-soft:#352c1c;
    --side:#0d110f; --side-ink:#d9e0da; --side-muted:#7f8b84; --side-active:#1d2622;
    --ok:#6cc08e; --ok-soft:#1b3024; --warn:#e2a93f; --warn-soft:#342917;
    --crit:#ee7d71; --crit-soft:#3a2220; --info:#7fb2e0; --info-soft:#1c2a38;
    --shadow:0 1px 2px rgba(0,0,0,.3);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#111513; --surface:#191e1b; --surface-2:#1f2522; --surface-3:#28302b;
  --ink:#e5eae5; --ink-2:#b8c1bb; --muted:#8a958e; --line:#2c3430; --line-2:#3a443e;
  --leather:#b77a4f; --leather-2:#c98a5e; --hay:#dcaa4b; --hay-soft:#352c1c;
  --side:#0d110f; --side-ink:#d9e0da; --side-muted:#7f8b84; --side-active:#1d2622;
  --ok:#6cc08e; --ok-soft:#1b3024; --warn:#e2a93f; --warn-soft:#342917;
  --crit:#ee7d71; --crit-soft:#3a2220; --info:#7fb2e0; --info-soft:#1c2a38;
  --shadow:0 1px 2px rgba(0,0,0,.3);
}

*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--leather);text-decoration:none}
a:hover{text-decoration:underline}
a.is-locked{color:inherit;cursor:default;text-decoration:none!important;pointer-events:none}
.btn.is-locked,a.chip.is-locked,.act.is-locked{display:none}
h1,h2,h3,h4{margin:0;line-height:1.3;text-wrap:balance}
img{max-width:100%}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mono,code{font-family:var(--mono);font-size:.9em;direction:ltr;unicode-bidi:isolate}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:.86rem}
[hidden]{display:none!important}

/* ---------- Shell ---------- */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}
.sidebar{background:var(--side);color:var(--side-ink);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:12px;padding:20px 20px 18px}
.brand img{width:40px;height:40px;flex:none}
.brand .ar{font-family:var(--display);font-size:1.55rem;font-weight:700;line-height:1;color:#f3efe6}
.brand .en{font-size:.68rem;letter-spacing:.24em;color:var(--side-muted);margin-top:4px;font-family:"IBM Plex Sans",sans-serif}
.nav{padding:6px 10px 20px;display:flex;flex-direction:column;gap:2px}
.nav .group{font-size:.72rem;letter-spacing:.06em;color:var(--side-muted);padding:16px 12px 6px}
.nav a{display:flex;align-items:center;gap:11px;color:var(--side-ink);padding:8px 12px;border-radius:8px;font-size:.93rem}
.nav a:hover{background:var(--side-active);text-decoration:none}
.nav a.active{background:var(--side-active);color:#fff;box-shadow:inset 3px 0 0 var(--hay)}
[dir="rtl"] .nav a.active{box-shadow:inset -3px 0 0 var(--hay)}
.nav a svg{width:18px;height:18px;flex:none;opacity:.85}
.nav a .soon{margin-inline-start:auto;font-size:.66rem;color:var(--side-muted);border:1px solid #3a4540;border-radius:99px;padding:0 7px}
.sidebar .foot{margin-top:auto;padding:14px 20px;font-size:.72rem;color:var(--side-muted);border-top:1px solid #2a3530}

.main{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:12px;padding:12px 28px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar .menu-btn{display:none}
.topbar .spacer{flex:1}
.stable-switch select{font:inherit;font-size:.9rem;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);border-radius:8px;padding:6px 10px;max-width:220px}
svg.small{width:15px;height:15px;vertical-align:-2px}
.support-bar svg{width:18px;height:18px;flex:none}
.support-bar{background:var(--hay-soft);color:var(--ink);font-size:.86rem;padding:7px 28px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line)}
.user-chip{display:flex;align-items:center;gap:9px;font-size:.9rem}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--leather);color:#fff;display:inline-grid;place-items:center;font-size:.8rem;font-weight:600;flex:none}
.content{padding:26px 28px 60px;max-width:1280px;width:100%}

/* ---------- Page header ---------- */
.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:20px}
.page-head h1{font-family:var(--display);font-weight:500;font-size:1.7rem}
.page-head .sub{color:var(--muted);font-size:.92rem;margin-top:2px}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:4px}
.crumbs a{color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.9rem;font-weight:500;border-radius:8px;padding:8px 15px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--surface-2);text-decoration:none}
.btn-primary{background:var(--leather);border-color:var(--leather);color:#fff}
.btn-primary:hover{background:var(--leather-2);border-color:var(--leather-2)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-danger{color:var(--crit);border-color:var(--crit-soft)}
.btn-sm{padding:4px 10px;font-size:.82rem}
.btn svg{width:16px;height:16px}
.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--leather);cursor:pointer}

/* ---------- Cards / KPIs ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.card-head h2{font-size:1.02rem;font-weight:600}
.card-body{padding:18px}
.stack{display:grid;gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.kpi .label{font-size:.82rem;color:var(--muted)}
.kpi .value{font-size:1.9rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;margin-top:4px}
.kpi .value small{font-size:.9rem;color:var(--muted);font-weight:400}
.kpi .meter{height:6px;border-radius:99px;background:var(--surface-3);margin-top:10px;overflow:hidden}
.kpi .meter i{display:block;height:100%;background:var(--hay);border-radius:99px}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto}
table.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{padding:10px 14px;text-align:start;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{font-size:.8rem;font-weight:600;color:var(--muted);background:var(--surface-2);white-space:nowrap}
.table tbody tr:hover{background:var(--surface-2)}
.table tr:last-child td{border-bottom:0}
.table td.num,.table th.num{text-align:end;font-variant-numeric:tabular-nums}
.row-link{color:var(--ink);font-weight:600}
.cell-sub{display:block;font-size:.8rem;color:var(--muted);font-weight:400}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}
.badge.plain::before{display:none}
.b-ok{background:var(--ok-soft);color:var(--ok)}
.b-warn{background:var(--warn-soft);color:var(--warn)}
.b-crit{background:var(--crit-soft);color:var(--crit)}
.b-info{background:var(--info-soft);color:var(--info)}
.b-hay{background:var(--hay-soft);color:var(--hay)}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 18px}
.form-grid .wide{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label,.label{font-size:.84rem;font-weight:600;color:var(--ink-2)}
.field .hint{font-size:.78rem;color:var(--muted)}
.req::after{content:" *";color:var(--crit)}
input:not([type]),input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],select,textarea{
  font:inherit;font-size:.93rem;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:8px 11px;width:100%;min-width:0}
textarea{min-height:84px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--hay);box-shadow:0 0 0 3px var(--hay-soft)}
.has-error input,.has-error select,.has-error textarea{border-color:var(--crit)}
.field-error{font-size:.8rem;color:var(--crit)}
.check{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}
.check input{width:16px;height:16px;accent-color:var(--leather)}
.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:6px}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px 18px;margin:0}
legend{font-weight:600;font-size:.92rem;padding:0 6px}
.inline-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.inline-form .field{flex:1 1 150px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.toolbar input[type=search]{max-width:280px}
.toolbar select{width:auto}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.tabs a{padding:10px 14px;color:var(--muted);font-weight:500;border-bottom:2px solid transparent;white-space:nowrap;margin-bottom:-1px}
.tabs a:hover{color:var(--ink);text-decoration:none}
.tabs a.active{color:var(--ink);border-bottom-color:var(--hay)}

/* ---------- Alerts / flash ---------- */
.flash{display:flex;gap:10px;align-items:flex-start;padding:11px 15px;border-radius:9px;margin-bottom:16px;font-size:.92rem;border:1px solid transparent}
.flash svg{width:18px;height:18px;flex:none;margin-top:2px}
.flash.success{background:var(--ok-soft);color:var(--ok)}
.flash.error{background:var(--crit-soft);color:var(--crit)}
.flash.info{background:var(--info-soft);color:var(--info)}
.credential{background:var(--hay-soft);border:1px dashed var(--hay);border-radius:10px;padding:14px 18px;margin-bottom:16px}
.credential .pair{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:6px}
.credential code{font-size:1rem;background:var(--surface);padding:3px 9px;border-radius:6px}

/* ---------- Empty state ---------- */
.empty{text-align:center;padding:40px 20px;color:var(--muted)}
.empty svg{width:46px;height:46px;opacity:.5;margin-bottom:8px}
.empty h3{color:var(--ink);font-size:1.02rem;margin-bottom:4px}

/* ---------- Horse profile ---------- */
.profile{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:20px}
.profile .photo{width:104px;height:104px;border-radius:14px;object-fit:cover;background:var(--surface-3);display:grid;place-items:center;overflow:hidden}
.profile .photo img{width:100%;height:100%;object-fit:cover}
.profile .photo svg{width:52px;height:52px;opacity:.35}
.profile h1{font-family:var(--display);font-weight:500;font-size:1.8rem}
.profile .meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);font-size:.9rem;margin-top:6px}
.dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:9px 18px;font-size:.92rem}
.dl dt{color:var(--muted)}
.dl dd{margin:0;font-weight:500}
.thumb{width:38px;height:38px;border-radius:9px;object-fit:cover;background:var(--surface-3);display:inline-grid;place-items:center;vertical-align:middle;flex:none}
.thumb svg{width:20px;height:20px;opacity:.4}
.name-cell{display:flex;align-items:center;gap:11px}
.spark{width:100%;height:120px}

/* ---------- Boxes grid ---------- */
.box-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.box-tile{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--surface);font-size:.86rem;display:flex;flex-direction:column;gap:3px;min-height:74px;cursor:pointer;text-align:start;font:inherit;color:inherit}
.box-tile:hover{border-color:var(--hay)}
.box-tile .code{font-weight:700;font-family:var(--mono);font-size:.95rem}
.box-tile.occupied{background:var(--hay-soft);border-color:transparent}
.box-tile.maintenance{background:var(--warn-soft);border-color:transparent}
.box-tile.inactive{opacity:.5}
.box-tile .who{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-title{font-weight:600;margin:18px 0 10px;display:flex;align-items:center;gap:8px}

dialog{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--surface);color:var(--ink);width:min(520px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.25)}
dialog::backdrop{background:rgba(15,20,18,.45)}
dialog .card-body{display:grid;gap:14px}

/* ---------- Permission matrix ---------- */
.perm-group{border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.perm-group h3{font-size:.92rem;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.perm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 16px}

/* ---------- Coming soon ---------- */
.soon-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.soon-list li{display:flex;gap:10px;align-items:flex-start}
.soon-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hay);margin-top:9px;flex:none}

/* ---------- Error page ---------- */
.center-page{min-height:100%;display:grid;place-items:center;padding:24px}
.center-card{max-width:460px;width:100%;text-align:center}
.center-card .code{font-family:var(--display);font-size:4rem;color:var(--hay);line-height:1}

/* ---------- Responsive ---------- */
@media (max-width: 960px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:264px;z-index:50;transform:translateX(-100%);transition:transform .2s ease}
  [dir="rtl"] .sidebar{transform:translateX(100%)}
  body.nav-open .sidebar{transform:none}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40}
  .topbar{padding:10px 16px}
  .topbar .menu-btn{display:inline-flex}
  .content{padding:18px 16px 50px}
  .support-bar{padding:7px 16px}
  .user-chip .name{display:none}
  .profile{grid-template-columns:auto 1fr}
  .profile .actions{grid-column:1/-1}
}
@media (max-width: 520px){
  .stable-switch select{max-width:150px}
  .page-head h1{font-size:1.4rem}
  .profile .photo{width:76px;height:76px}
  .dl{grid-template-columns:1fr}
  .dl dt{margin-top:6px}
}
@media (prefers-reduced-motion: reduce){ *{transition:none!important} }
@media print{
  .sidebar,.topbar,.actions,.tabs,.support-bar,.flash,.form-actions,dialog{display:none!important}
  .shell{display:block} .content{padding:0;max-width:none} .print-only{display:block!important}
  .card{box-shadow:none;break-inside:avoid} body{background:#fff}
  input,select{border:0!important;padding:0!important;background:none!important;-webkit-appearance:none;appearance:none}
}

/* =====================================================================
   Compact density + unified page header with statistics (v1.2)
   ===================================================================== */
body{font-size:13.5px;line-height:1.5}
.content{padding:16px 20px 40px;max-width:1440px}
.topbar{padding:8px 20px}
.nav a{padding:7px 12px;font-size:.9rem}
.nav .group{padding:12px 12px 4px}
.card-head{padding:10px 14px}
.card-head h2{font-size:.95rem}
.card-body{padding:14px}
.stack{gap:12px}
.grid-2,.grid-3{gap:12px}
.table th,.table td{padding:7px 10px}
.table th{font-size:.76rem}
.form-grid{gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.field{gap:3px}
.field label,.label{font-size:.78rem}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=time],input[type=search],input[type=tel],input:not([type]),select,textarea{padding:6px 9px;font-size:.88rem;border-radius:7px}
textarea{min-height:60px}
.btn{padding:6px 12px;font-size:.85rem}
.btn-sm{padding:3px 9px;font-size:.78rem}
.tabs{margin-bottom:12px}
.tabs a{padding:8px 12px;font-size:.88rem}
.toolbar{margin-bottom:10px;gap:8px}
.flash{padding:8px 12px;margin-bottom:10px;font-size:.86rem}
.kpis{gap:10px;margin-bottom:12px}
.kpi{padding:10px 14px}
.kpi .value{font-size:1.45rem}

/* Page header band */
.ph{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.ph-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:12px 16px}
.ph-title{display:flex;align-items:center;gap:12px;min-width:0}
.ph-icon{width:40px;height:40px;border-radius:10px;background:var(--hay-soft);color:var(--leather);display:grid;place-items:center;flex:none}
.ph-icon svg{width:20px;height:20px}
.ph h1{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.2;margin:0}
.ph .ph-sub{color:var(--muted);font-size:.8rem;margin-top:2px}
.ph .ph-crumbs{font-size:.76rem;color:var(--muted);margin-bottom:2px}
.ph .ph-crumbs a{color:var(--muted)}
.ph .ph-crumbs em{font-style:normal;margin:0 5px;opacity:.6}
.ph-actions{display:flex;flex-wrap:wrap;gap:6px}
.ph-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:1px solid var(--line);background:var(--surface-2)}
.ph-stat{padding:9px 16px;display:flex;align-items:center;gap:10px;border-inline-start:1px solid var(--line);min-width:0}
.ph-stat:first-child{border-inline-start:0}
.ph-stat .s-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface);color:var(--ink-2);flex:none}
.ph-stat .s-ic svg{width:16px;height:16px}
.ph-stat .s-val{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}
.ph-stat .s-val small{font-size:.72rem;font-weight:500;color:var(--muted)}
.ph-stat .s-lbl{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-stat.ok .s-ic{background:var(--ok-soft);color:var(--ok)}
.ph-stat.warn .s-ic{background:var(--warn-soft);color:var(--warn)}
.ph-stat.crit .s-ic{background:var(--crit-soft);color:var(--crit)}
.ph-stat.hay .s-ic{background:var(--hay-soft);color:var(--hay)}
.ph-stat.info .s-ic{background:var(--info-soft);color:var(--info)}
.ph-stat.warn .s-val{color:var(--warn)}
.ph-stat.crit .s-val{color:var(--crit)}
@media (max-width:640px){.ph-stats{grid-template-columns:repeat(2,1fr)}.ph-stat:nth-child(odd){border-inline-start:0}}

/* Document entry: one invoice card — header fields, lines, totals under the price columns, actions */
.invoice .head-grid{border-bottom:1px solid var(--line)}
.invoice .invoice-bar{border-bottom:0;padding-bottom:4px}
.head-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 12px}
.lines-table td{padding:5px 6px;vertical-align:top}
.lines-table input,.lines-table select{padding:5px 7px;font-size:.84rem}
.lines-table .cell-sub{font-size:.72rem}
.lines-table td.num{padding-top:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.inv-foot th,.inv-foot td{padding:5px 6px;border-top:1px solid var(--line);background:var(--surface-2,#f7f8f6);vertical-align:middle}
.inv-foot th{text-align:end;font-weight:500;color:var(--muted);font-size:.84rem}
.inv-foot th label{font:inherit;color:inherit;margin:0}
.inv-foot td.num{padding-top:5px;text-align:end}
.inv-foot input{padding:5px 7px;font-size:.84rem;width:100%}
.inv-foot .grand th,.inv-foot .grand td{color:var(--ink);font-weight:700;font-size:1rem;border-top:2px solid var(--ink)}
.invoice-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line)}
.invoice-actions p{margin:0 0 2px;max-width:70ch}
.invoice-actions .btns{display:flex;gap:8px;margin-inline-start:auto}

/* Every page header is a band; an optional statistics strip spans its bottom */
.page-head{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:12px;align-items:center;gap:8px 16px}
.page-head h1{font-size:1.3rem}
.page-head .sub{font-size:.8rem}
.page-head .crumbs{font-size:.76rem;margin-bottom:2px}
.page-head > .ph-stats{flex:1 1 100%;margin:4px -16px -12px;border-radius:0 0 12px 12px}

/* Number/date/time fields: Western digits (see app.js) and a small calendar */
.num-in{font-variant-numeric:tabular-nums}
[dir=rtl] .num-in{text-align:right}
.cal-pop{position:absolute;z-index:1000;width:236px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.16);padding:8px;font-size:.82rem}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cal-head strong{font-size:.86rem}
.cal-head button,.cal-foot button{border:0;background:none;cursor:pointer;color:var(--ink);padding:3px 9px;border-radius:6px;font:inherit}
.cal-head button{font-size:1.1rem;line-height:1}
.cal-head button:hover,.cal-foot button:hover{background:var(--surface-2)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-dn{color:var(--muted);font-size:.72rem;padding:2px 0}
.cal-d{border:0;background:none;cursor:pointer;padding:5px 0;border-radius:6px;font:inherit;color:var(--ink);font-variant-numeric:tabular-nums}
.cal-d:hover{background:var(--surface-2)}
.cal-d.today{box-shadow:inset 0 0 0 1px var(--line)}
.cal-d.sel{background:var(--leather);color:#fff}
.cal-d:disabled{opacity:.3;cursor:default;background:none}
.cal-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.cal-foot button{color:var(--muted)}

/* ===================== Feeding module ===================== */
.crit-text{color:var(--crit)!important}
.nowrap{white-space:nowrap}
.center{text-align:center}
.row-crit td{background:var(--crit-soft)}
.row-warn td{background:var(--warn-soft)}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin:2px;border-radius:999px;background:var(--surface-2);font-size:.78rem;color:var(--ink);text-decoration:none}
.chip b{font-variant-numeric:tabular-nums}
.chip.src-supplement{background:var(--info-soft)}
.chip.src-prescription{background:var(--crit-soft)}
.chips-wrap{display:flex;flex-wrap:wrap;gap:4px}
.ph-stats.standalone{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.restrict-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;margin-bottom:12px;border:1px solid var(--crit);background:var(--crit-soft);border-radius:10px;font-size:.84rem}
.restrict-bar svg{width:18px;height:18px;color:var(--crit)}
.date-nav{display:inline-flex;align-items:center;gap:8px}
.date-nav a{text-decoration:none;font-size:1.1rem;padding:0 6px}
.legend{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}

/* meal editor */
.meal-block{border:1px solid var(--line);border-radius:10px;margin-top:10px;overflow:hidden}
.meal-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;padding:8px 10px;background:var(--surface-2)}
.meal-ic{align-self:center;color:var(--hay)}
.meal-ic svg{width:20px;height:20px}
.mb-f{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--muted)}
.mb-f select,.mb-f input{min-width:0}
.day-chips{display:flex;flex-wrap:wrap;gap:3px}
.day-chips label{display:inline-flex;cursor:pointer;position:relative}
.day-chips input{position:absolute;opacity:0;pointer-events:none}
.day-chips span{padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:.75rem;background:var(--surface);color:var(--muted)}
.day-chips input:checked+span{background:var(--leather);border-color:var(--leather);color:#fff}
.day-chips input:focus-visible+span{outline:2px solid var(--focus)}
.meal-sum{margin-inline-start:auto;align-self:center;font-size:.8rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.meal-foot{padding:6px 10px;border-top:1px solid var(--line)}
.meals-add{display:flex;align-items:center;gap:10px;margin-top:10px}

/* ration summary */
.ration{border-top:1px solid var(--line);padding:10px 14px;background:var(--surface-2)}
.ration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.r-box{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 10px;display:flex;flex-direction:column;gap:1px;border-inline-start:3px solid var(--line)}
.r-box.ok{border-inline-start-color:var(--ok)}
.r-box.warn{border-inline-start-color:var(--warn);background:var(--warn-soft)}
.r-box.crit{border-inline-start-color:var(--crit);background:var(--crit-soft)}
.r-l{font-size:.72rem;color:var(--muted)}
.r-v{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}
.r-n{font-size:.72rem;color:var(--muted)}
.checks{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:4px}
.checks li{position:relative;padding:5px 10px;padding-inline-start:26px;border-radius:7px;font-size:.82rem;background:var(--surface)}
.checks li::before{position:absolute;inset-inline-start:9px;top:5px;font-weight:700}
.checks li.ok{background:var(--ok-soft)}.checks li.ok::before{content:"✓";color:var(--ok)}
.checks li.info{background:var(--info-soft)}.checks li.info::before{content:"i";color:var(--info)}
.checks li.warn{background:var(--warn-soft)}.checks li.warn::before{content:"!";color:var(--warn)}
.checks li.crit,.checks li.block{background:var(--crit-soft);color:var(--crit)}
.checks li.crit::before,.checks li.block::before{content:"✕";color:var(--crit)}
.checks.tight{margin:0;gap:2px}
.checks.tight li{padding-top:2px;padding-bottom:2px;font-size:.76rem}
.checks.tight li::before{top:2px}
.approve-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.approve-bar>span{flex:1;min-width:240px}
tr.grp-start td{border-top:2px solid var(--line-2)}
.tpl-meal{font-size:.8rem;display:flex;flex-wrap:wrap;gap:2px 8px;padding:4px 0;border-bottom:1px dashed var(--line)}
.tpl-meal strong{min-width:64px}

/* horse feeding tabs */
.timeline{display:grid}
.tl-row{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:9px 14px;border-top:1px solid var(--line);border-inline-start:3px solid transparent}
.tl-row.s-served{border-inline-start-color:var(--ok)}
.tl-row.s-prepared{border-inline-start-color:var(--info)}
.tl-row.s-skipped{border-inline-start-color:var(--warn);opacity:.75}
.tl-time{font-weight:600;padding-top:1px}
.tl-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.tl-items{margin:4px 0}
.intake{display:inline-block;min-width:40px;text-align:center;padding:1px 6px;border-radius:6px;font-weight:700;font-size:.8rem;color:#fff}
.intake.i100{background:var(--ok)}.intake.i75{background:#6f9a3b}.intake.i50{background:var(--warn)}.intake.i25{background:#c2622a}.intake.i0{background:var(--crit)}
.compact-t td{padding:6px 10px}
.plain-list{list-style:none;margin:0;padding:0}
.plain-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 14px;border-top:1px solid var(--line);font-size:.86rem;border-inline-start:3px solid transparent}
.plain-list li.sev-critical{border-inline-start-color:var(--crit);background:var(--crit-soft)}
.plain-list li.sev-important{border-inline-start-color:var(--warn)}
.plain-list li.sev-info{border-inline-start-color:var(--info)}
.add-box{border-top:1px solid var(--line)}
.add-box>summary{display:flex;align-items:center;gap:6px;padding:9px 14px;cursor:pointer;color:var(--leather);font-weight:600;font-size:.85rem;list-style:none}
.add-box>summary::-webkit-details-marker{display:none}
.add-box>summary svg{width:16px;height:16px}
.add-box>form{padding:0 14px 12px}
.table.heat th,.table.heat td{text-align:center;padding:5px 4px;font-size:.76rem;min-width:36px}
.table.heat th.today{color:var(--leather)}
.table.heat tbody th{text-align:start;white-space:nowrap}
.heat td{border:2px solid var(--surface);border-radius:6px;font-weight:600;color:#fff}
.heat td.none{background:transparent}
.i100{background:var(--ok)}.i75{background:#6f9a3b}.i50{background:var(--warn)}.i25{background:#c2622a}.i0{background:var(--crit)}
.isk{background:var(--line-2)}
.ino{background:repeating-linear-gradient(45deg,var(--surface-3),var(--surface-3) 3px,var(--surface) 3px,var(--surface) 6px)}
.ipend{background:var(--surface-2)}
.bars{position:relative;display:flex;align-items:flex-end;gap:4px;height:150px;padding-top:6px}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}
.bar span{display:block;width:100%;background:var(--info);border-radius:4px 4px 0 0;min-height:1px;max-height:calc(100% - 16px)}
.bar.low span{background:var(--crit)}
.bar em{font-style:normal;font-size:.66rem;color:var(--muted)}
.bars-target{position:absolute;inset-inline:0;bottom:calc((100% - 22px) * var(--target) / 100 + 16px);border-top:2px dashed var(--hay);pointer-events:none}
.history{display:grid}
.hist-row{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line)}
.hist-v a{font-weight:700;font-size:1rem}
.hist-change{margin:4px 0;font-size:.86rem}

/* board */
.rounds{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:12px}
.round-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:6px;border-top:3px solid var(--line-2)}
.round-card.st-prepared{border-top-color:var(--info)}
.round-card.st-done{border-top-color:var(--ok)}
.round-card.has-over{border-top-color:var(--crit)}
.rc-top{display:flex;justify-content:space-between}
.rc-prog{height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.rc-prog span{display:block;height:100%;background:var(--ok)}
.rc-meta{font-size:.76rem;color:var(--muted)}
.rc-act{display:flex;gap:4px}
.cell-pill{display:inline-block;min-width:52px;padding:3px 6px;border-radius:6px;font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums}
.c-done{background:var(--ok-soft);color:var(--ok)}
.c-low{background:var(--warn-soft);color:var(--warn)}
.c-prep{background:var(--info-soft);color:var(--info)}
.c-wait{background:var(--surface-2);color:var(--muted)}
.c-over{background:var(--crit);color:#fff}
.c-skip{background:var(--surface-3);color:var(--muted)}
.cell-pill sup{font-size:.62rem}

/* kitchen */
.buckets{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.bucket{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:6px;border-inline-start:4px solid var(--hay)}
.bucket.st-prepared{border-inline-start-color:var(--info)}
.bucket.st-served{border-inline-start-color:var(--ok);opacity:.7}
.bk-head{display:flex;align-items:center;gap:8px}
.bk-head .badge{margin-inline-start:auto}
.bk-box{font-size:1.05rem;font-weight:700;background:var(--surface-2);padding:2px 8px;border-radius:6px}
.bk-items{list-style:none;margin:0;padding:0;font-size:.84rem}
.bk-items li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;padding:3px 0;border-bottom:1px dotted var(--line)}
.bk-items li em{width:100%;font-style:normal;font-size:.74rem;color:var(--info)}
.bk-items li.src-prescription{color:var(--crit)}
.bk-note{font-size:.78rem;padding:4px 8px;border-radius:6px;background:var(--warn-soft)}
.bk-note.sev-critical{background:var(--crit-soft);color:var(--crit);font-weight:600}

/* groom screen */
.meal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:16px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;border-top:4px solid var(--hay);scroll-margin-top:70px}
.mcard.st-served{border-top-color:var(--ok)}
.mcard.st-skipped{border-top-color:var(--line-2);opacity:.75}
.mcard.st-prepared{border-top-color:var(--info)}
.mcard header{display:flex;align-items:center;gap:10px}
.mcard header .badge{margin-inline-start:auto}
.mc-box{font-size:1.3rem;font-weight:700;background:var(--surface-2);padding:4px 10px;border-radius:8px}
.mc-note{font-size:.82rem;padding:6px 9px;border-radius:7px;background:var(--warn-soft)}
.mc-note.sev-critical{background:var(--crit-soft);color:var(--crit);font-weight:600}
.mc-note svg{width:14px;height:14px;vertical-align:-2px}
.mc-items{list-style:none;margin:0;padding:0}
.mc-items li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.mc-items li em{width:100%;font-style:normal;font-size:.78rem;color:var(--info)}
.mc-items li.src-prescription{background:var(--crit-soft);padding-inline:6px;border-radius:6px}
.mc-items.done li{font-size:.85rem;padding:4px 0}
.mc-qty b{font-size:1.05rem}
.mc-qty .qty-edit{display:none;width:80px;margin-inline-end:6px}
form.edit-q .mc-qty .qty-edit{display:inline-block}
label.rx{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--crit)}
label.rx input{width:22px;height:22px}
.btn-big{width:100%;justify-content:center;padding:12px;font-size:1.05rem;margin-top:8px}
.mc-more summary,.mc-skip summary{cursor:pointer;font-size:.8rem;color:var(--muted);padding:4px 0}
.mc-more input{width:100%;margin-top:4px}
.mc-q{font-weight:600;margin-top:4px}
.pct-btns{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:6px}
.pct{border:0;border-radius:9px;padding:12px 0;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;font-family:inherit}
.pct.p100{background:var(--ok)}.pct.p75{background:#6f9a3b}.pct.p50{background:var(--warn)}.pct.p25{background:#c2622a}.pct.p0{background:var(--crit)}
.intake-done{font-size:.88rem}
.mc-undo{text-align:end}

/* water round */
.water-t td{padding:5px 6px;vertical-align:middle}
.water-t input[type=checkbox]{width:18px;height:18px}

/* alerts */
.alert-list{list-style:none;margin:0;padding:0}
.al{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-top:1px solid var(--line);border-inline-start:4px solid transparent}
.al:first-child{border-top:0}
.al.sev-critical{border-inline-start-color:var(--crit)}
.al.sev-warning{border-inline-start-color:var(--warn)}
.al.sev-info{border-inline-start-color:var(--info)}
.al.closed{opacity:.6}
.al-ic{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2)}
.al.sev-critical .al-ic{background:var(--crit-soft);color:var(--crit)}
.al.sev-warning .al-ic{background:var(--warn-soft);color:var(--warn)}
.al.sev-info .al-ic{background:var(--info-soft);color:var(--info)}
.al-ic svg{width:17px;height:17px}
.al-body{flex:1;min-width:0}
.al-title{font-weight:600;font-size:.9rem}
.al-act{display:flex;align-items:flex-start;gap:4px}
.al-close>summary{list-style:none}
.al-close>summary::-webkit-details-marker{display:none}
.al-close[open]>form{margin-top:6px}
.bell-btn{position:relative}
.bell-n{position:absolute;top:-2px;inset-inline-end:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--crit);color:#fff;font-size:.66rem;font-weight:700;line-height:17px;text-align:center}
@media (max-width:640px){.meal-cards{grid-template-columns:1fr}.tl-row{grid-template-columns:48px 1fr}.meal-sum{width:100%}}

/* ===================== Care & health ===================== */
.today-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}
.tt{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;border-inline-start:4px solid var(--line-2)}
.tt:hover{background:var(--surface-2)}
.tt-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2)}
.tt-ic svg{width:18px;height:18px}
.tt-b{display:flex;flex-direction:column;min-width:0}
.tt-v{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}
.tt-l{font-size:.76rem;color:var(--muted)}
.tt.tone-ok{border-inline-start-color:var(--ok)}.tt.tone-warn{border-inline-start-color:var(--warn)}.tt.tone-crit{border-inline-start-color:var(--crit)}
.tt.tone-hay{border-inline-start-color:var(--hay)}.tt.tone-info{border-inline-start-color:var(--info)}
.tt.tone-crit .tt-ic{background:var(--crit-soft);color:var(--crit)}.tt.tone-warn .tt-ic{background:var(--warn-soft);color:var(--warn)}
.tt.tone-ok .tt-ic{background:var(--ok-soft);color:var(--ok)}.tt.tone-hay .tt-ic{background:var(--hay-soft);color:var(--hay)}.tt.tone-info .tt-ic{background:var(--info-soft);color:var(--info)}
.due-group{border-top:1px solid var(--line)}
.dg-head{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--surface-2)}
.dg-head .btn{margin-inline-start:auto}
.daily-t td,.daily-t th{padding:5px 8px;font-size:.8rem}
.daily-t input[type=checkbox]{width:18px;height:18px}
.tick{color:var(--ok);font-weight:700}
.horse-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.hp{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:.85rem}
.hp:has(input:checked){border-color:var(--leather);background:var(--hay-soft)}
.detail-box{display:grid;gap:10px;border-top:1px solid var(--line);background:var(--surface-2)}
.guide{background:var(--info-soft);color:var(--ink);border-radius:8px;line-height:1.7}
.sched-t th,.sched-t td{padding:4px 5px;font-size:.78rem}
.sched-t td.sc{min-width:92px}
.sched-t td.sc input{width:100%;padding:3px 5px;font-size:.78rem}
.sched-t td.sc input+input{margin-top:3px}
.sched-t td.late{background:var(--crit-soft)}
.sched-t tbody th{text-align:start;white-space:nowrap;font-weight:500}

.grid-2>*,.grid-3>*,.stack>*{min-width:0}
.daily-t td:first-child{white-space:nowrap}
@media (max-width:1100px){.grid-2{grid-template-columns:minmax(0,1fr)!important}}

/* ===================== Sidebar sections ===================== */
.nav-sec{--tc:#9aa7a0;margin-top:10px}
.nav-sec.tone-leather{--tc:#d19a6e}.nav-sec.tone-hay{--tc:#e0b55a}.nav-sec.tone-rose{--tc:#ea8a8a}.nav-sec.tone-teal{--tc:#5cc2b3}
.nav-sec.tone-blue{--tc:#79aee2}.nav-sec.tone-violet{--tc:#b39ae6}.nav-sec.tone-slate{--tc:#a9b5ae}
.sec-head{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;cursor:pointer;
  background:rgba(255,255,255,.045);color:#f6f2e9;font:inherit;font-size:.98rem;font-weight:700;text-align:start;
  border-inline-start:3px solid var(--tc);transition:background .15s}
.sec-head:hover{background:rgba(255,255,255,.08)}
.sec-head:focus-visible{outline:2px solid var(--tc);outline-offset:2px}
.nav-sec.is-current .sec-head{background:color-mix(in srgb,var(--tc) 20%,transparent)}
.sec-ic{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 24%,transparent);color:var(--tc)}
.sec-ic svg{width:18px;height:18px}
.sec-t{flex:1;min-width:0}
.sec-n{font-size:.68rem;font-weight:600;color:var(--side-muted);background:rgba(255,255,255,.06);border-radius:99px;padding:1px 7px}
.sec-chev{width:16px;height:16px;flex:none;color:var(--side-muted);transition:transform .18s}
.nav-sec.collapsed .sec-chev{transform:rotate(90deg)}
[dir=rtl] .nav-sec.collapsed .sec-chev{transform:rotate(-90deg)}
.nav-sec.collapsed .sec-body{display:none}
.sec-body{display:flex;flex-direction:column;gap:1px;margin:4px 0 2px;margin-inline-start:24px;padding-inline-start:8px;border-inline-start:1px solid rgba(255,255,255,.08)}
.sec-body a{font-size:.9rem;padding:7px 10px}
.sec-body a svg{width:16px;height:16px;opacity:.7}
.nav-sec .sec-body a.active{box-shadow:inset 3px 0 0 var(--tc);color:#fff}
[dir=rtl] .nav-sec .sec-body a.active{box-shadow:inset -3px 0 0 var(--tc)}
.nav-sec .sec-body a.active svg{color:var(--tc);opacity:1}

.nav-sec.tone-amber{--tc:#f0a45a}.nav-sec.tone-pink{--tc:#e58fc0}.nav-sec.tone-green{--tc:#7cc97c}
.owner-horse{display:block;color:inherit;text-decoration:none}
.owner-horse:hover{border-color:var(--hay)}
.thumb.big{width:72px;height:72px;border-radius:12px;flex:none}
.preg-line{padding:0 0 4px}
.pl-bar{height:10px;margin:12px 14px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.pl-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--hay),var(--leather))}
.credential{padding:10px 12px;border:1px dashed var(--hay);background:var(--hay-soft);border-radius:8px;display:grid;gap:4px}

.row-acts{white-space:nowrap;text-align:end}
.row-acts .btn{margin-inline-start:4px}
@media (max-width:900px){.row-acts .btn span{display:none}}

/* ---------------------------------------------------------------- user guide */
.help-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
.help-toc{padding:8px;position:sticky;top:70px}
.help-toc-h{font-weight:600;color:var(--muted);font-size:.8rem;padding:4px 8px 8px}
.help-toc-a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-size:.9rem}
.help-toc-a svg{width:17px;height:17px;color:var(--leather);flex:none}
.help-toc-a .n{width:20px;text-align:center;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}
.help-toc-a:hover{background:var(--surface-2)}
.help-toc-a.active{background:var(--hay-soft);font-weight:600}
.help-main{display:grid;gap:16px;min-width:0}
.help-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.help-card{display:flex;gap:12px;padding:14px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.help-card:hover{border-color:var(--hay);transform:translateY(-1px)}
.help-card .t{font-weight:600;margin-bottom:3px}
.help-card .d{font-size:.84rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.help-ch{padding:18px 22px}
.help-ch-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.help-ch-h h2{margin:0;flex:1;font-size:1.25rem}
.help-intro{background:var(--hay-soft);border-radius:var(--radius-sm);padding:10px 14px;margin:0 0 12px}
.help-steps{margin:0;padding-inline-start:0;list-style:none;counter-reset:st;display:grid;gap:8px}
.help-steps li{counter-increment:st;display:flex;gap:10px;line-height:1.7}
.help-steps li::before{content:counter(st);flex:none;width:26px;height:26px;border-radius:50%;background:var(--leather);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:600;margin-top:2px}
.help-tips{margin-top:14px;border-inline-start:4px solid var(--hay);background:var(--surface-2);padding:10px 14px;border-radius:var(--radius-sm)}
.help-tips strong{display:flex;align-items:center;gap:6px}.help-tips svg{width:16px;height:16px;color:var(--leather)}
.help-tips ul{margin:6px 0 0;padding-inline-start:20px}
.help-nav{display:flex;gap:8px;margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.help-nav .spacer{flex:1}
.help-faq{padding:16px 18px}
.help-faq-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.help-faq-h h2{margin:0;flex:1;font-size:1.1rem;display:flex;gap:8px;align-items:center}.help-faq-h h2 svg{width:20px;height:20px;color:var(--leather)}
.help-faq-h input{flex:0 1 340px;min-width:0}
[data-faq-tabs]{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
[data-faq-tabs] .chip{border:1px solid var(--line);cursor:pointer;font:inherit;font-size:.82rem;padding:4px 12px}
[data-faq-tabs] .chip.on{background:var(--leather);color:#fff;border-color:var(--leather)}
.faq-list{display:grid;gap:6px}
.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}
.faq-item summary{cursor:pointer;padding:10px 12px;font-weight:500;display:flex;gap:8px;align-items:center;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";margin-inline-start:auto;color:var(--muted);font-weight:600}
.faq-item[open] summary::after{content:"\2212"}
.faq-item[open]{border-color:var(--hay)}
.faq-item p{margin:0;padding:0 12px 10px;line-height:1.8;color:var(--ink-2)}
.faq-item .btn{margin:0 8px 10px}
.faq-tag{font-size:.7rem;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);flex:none;font-weight:500}
.faq-tag.t-nutrition{background:var(--hay-soft);color:var(--leather)}.faq-tag.t-water{background:var(--info-soft);color:var(--info)}
.faq-tag.t-health{background:var(--crit-soft);color:var(--crit)}
.help-disclaimer{margin:12px 0 0}
.help-btn span{font-size:.85rem}
@media (max-width:1000px){.help-wrap{grid-template-columns:1fr}.help-toc{position:static;display:flex;flex-wrap:wrap}.help-toc-h{width:100%}.help-toc-a .n{display:none}}
@media (max-width:640px){.help-btn span{display:none}}

/* ---------------------------------------------------------------- smart assistant */
.assist{position:fixed;inset-inline-end:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.assist-fab{width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,var(--leather),var(--leather-2));color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.25);display:grid;place-items:center;transition:transform .15s}
.assist-fab:hover{transform:scale(1.06)}
.assist-fab svg{width:30px;height:30px}
.assist.open .assist-fab{transform:scale(.9)}
.assist-panel{width:min(400px,calc(100vw - 32px));height:min(600px,calc(100vh - 110px));background:var(--surface);border:1px solid var(--line);
  border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.assist-panel[hidden]{display:none}
.assist-h{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:linear-gradient(135deg,var(--leather),var(--leather-2));color:#fff}
.assist-h div{flex:1;min-width:0}.assist-h strong{display:block}.assist-h small{opacity:.85;font-size:.76rem}
.assist-h .btn{color:#fff}.assist-h .btn:hover{background:rgba(255,255,255,.15)}
.assist-av{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}.assist-av svg{width:22px;height:22px}
.assist-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.assist-msg{max-width:92%;padding:9px 12px;border-radius:14px;line-height:1.7;font-size:.9rem;overflow-wrap:anywhere}
.assist-msg.bot{background:var(--surface);border:1px solid var(--line);align-self:flex-start;border-start-start-radius:4px}
.assist-msg.me{background:var(--leather);color:#fff;align-self:flex-end;border-start-end-radius:4px}
.assist-msg.typing{color:var(--muted);font-style:italic}
.assist-msg p{margin:0 0 6px}.assist-msg p:last-child{margin-bottom:0}
.assist-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.assist-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-size:.78rem;cursor:pointer;text-decoration:none;text-align:start}
.assist-chip:hover{border-color:var(--hay);background:var(--hay-soft)}
.assist-card{border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin:4px 0;background:var(--surface)}
.assist-msg.bot .assist-card:first-child{margin-top:0}
.assist-card.faq{border-inline-start:3px solid var(--hay)}
.assist-card-h{font-weight:600;margin-bottom:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.assist-card ul{margin:0 0 6px;padding-inline-start:18px;font-size:.85rem}
.assist-rows{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:.84rem}
.assist-rows dt{color:var(--muted)}.assist-rows dd{margin:0;font-variant-numeric:tabular-nums}
.assist-rows dd.warn{color:var(--warn)}.assist-rows dd.crit{color:var(--crit);font-weight:600}.assist-rows dd.ok{color:var(--ok)}
.assist-stock{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:4px 0;border-top:1px dashed var(--line);font-size:.85rem}
.assist-stock:first-of-type{border-top:0}.assist-stock .q{font-variant-numeric:tabular-nums}.assist-stock small{color:var(--muted);width:100%}
.assist-pill{font-size:.72rem;padding:1px 8px;border-radius:999px;background:var(--surface-2)}
.assist-pill.ok{background:var(--ok-soft);color:var(--ok)}.assist-pill.warn{background:var(--warn-soft);color:var(--warn)}.assist-pill.crit{background:var(--crit-soft);color:var(--crit)}
.assist-link{color:var(--leather);font-weight:500;font-size:.84rem}
.assist-note{font-size:.74rem;color:var(--muted);margin:6px 0 0!important}
.assist-sub{font-size:.76rem;color:var(--muted);margin-top:8px}
.assist-live{border-top:1px solid var(--line);max-height:170px;overflow-y:auto;background:var(--surface)}
.assist-live[hidden]{display:none}
.assist-live-i{display:block;width:100%;text-align:start;border:0;background:none;padding:7px 14px;font:inherit;font-size:.84rem;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line)}
.assist-live-i:hover{background:var(--hay-soft)}
.assist-f{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:var(--surface)}
.assist-f input{flex:1;min-width:0}
.assist-f .btn svg{width:18px;height:18px}
[dir=rtl] .assist-f .btn svg{transform:scaleX(-1)}
.assist-f .btn-ai{background:linear-gradient(135deg,#7c5cff,#b06ab3);color:#fff;border:0;font-size:1.05rem;padding-inline:12px}
.assist-ai-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:5px 12px;border-radius:999px;border:1px solid #c9b8ff;background:#f5f1ff;color:#5b3fd1;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}
.assist-ai-btn.main{background:linear-gradient(135deg,#7c5cff,#b06ab3);color:#fff;border:0}
.assist-ai-btn:disabled{opacity:.5;cursor:default}
.assist-ai{border:1px solid #d9ccff;background:#faf8ff;border-radius:12px;padding:8px 11px}
.assist-ai-h{font-size:.75rem;font-weight:700;color:#5b3fd1;margin-bottom:4px}
.assist-ai p{margin:0 0 6px;line-height:1.6}
.assist-ai-note{font-size:.72rem;color:var(--muted);border-top:1px dashed #d9ccff;padding-top:5px;margin-top:4px}
.assist-ai-err{color:#b42318;margin:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .assist-ai{background:#221d33;border-color:#4a3d7a}:root:not([data-theme="light"]) .assist-ai-btn:not(.main){background:#2a2340;border-color:#4a3d7a;color:#c9b8ff}:root:not([data-theme="light"]) .assist-ai-h{color:#c9b8ff}}
:root[data-theme="dark"] .assist-ai{background:#221d33;border-color:#4a3d7a}:root[data-theme="dark"] .assist-ai-btn:not(.main){background:#2a2340;border-color:#4a3d7a;color:#c9b8ff}:root[data-theme="dark"] .assist-ai-h{color:#c9b8ff}
.assist-hint{font-size:.72rem;color:var(--muted);text-align:center;padding:0 10px 8px;background:var(--surface)}
@media (max-width:640px){.assist{inset-inline-end:12px;bottom:12px}.assist-fab{width:50px;height:50px}.assist-panel{height:calc(100vh - 90px)}}
@media print{.assist{display:none}}

/* ---------------------------------------------------------------- dashboard */
:root{--c-violet:#7c5cc4;--c-teal:#1f8a84;--c-amber:#d08b1c;--c-pink:#c9508a;--c-rose:#c0445a;--c-slate:#64748b;--c-green:#2f8f5b}
.ch-hay{--c:var(--hay)}.ch-leather{--c:var(--leather)}.ch-ok,.ch-green{--c:var(--ok)}.ch-warn{--c:var(--warn)}.ch-crit{--c:var(--crit)}.ch-info{--c:var(--info)}
.ch-violet{--c:var(--c-violet)}.ch-teal{--c:var(--c-teal)}.ch-amber{--c:var(--c-amber)}.ch-pink{--c:var(--c-pink)}.ch-rose{--c:var(--c-rose)}.ch-slate{--c:var(--c-slate)}
.t-hay{--c:var(--hay)}.t-leather{--c:var(--leather)}.t-ok,.t-green{--c:var(--ok)}.t-warn{--c:var(--warn)}.t-crit{--c:var(--crit)}.t-info{--c:var(--info)}
.t-violet{--c:var(--c-violet)}.t-teal{--c:var(--c-teal)}.t-amber{--c:var(--c-amber)}.t-pink{--c:var(--c-pink)}.t-rose{--c:var(--c-rose)}.t-slate{--c:var(--c-slate)}

/* charts */
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .ax{font-size:11px;fill:var(--muted);font-family:var(--font)}
.chart .ax.tgt{fill:var(--ok);font-weight:600}
.chart .target{stroke:var(--ok);stroke-dasharray:5 4;stroke-width:1.4}
.chart .ln{fill:none;stroke:var(--c);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chart .area{fill:var(--c);opacity:.14;stroke:none}
.chart .pt{fill:var(--surface);stroke:var(--c);stroke-width:2}
.chart .pt:hover{r:5}
.chart .bar{fill:var(--c)}.chart .bar:hover{opacity:.8}
.ch-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin-top:4px}
.ch-legend span{display:inline-flex;align-items:center;gap:5px}.ch-legend i,.ch-list i{width:10px;height:10px;border-radius:3px;background:var(--c);display:inline-block;flex:none}
.ch-empty{color:var(--muted);font-size:.85rem;text-align:center;padding:30px 10px}
.spark{width:100%;height:34px;display:block;margin-top:6px}
.spark .ln{fill:none;stroke:var(--c);stroke-width:2;vector-effect:non-scaling-stroke}
.spark .area{fill:var(--c);opacity:.12}.spark .dot{fill:var(--c)}
.donut-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.donut{width:150px;height:150px;flex:none}
.donut .track{fill:none;stroke:var(--surface-2);stroke-width:18}
.donut .seg{fill:none;stroke:var(--c);stroke-width:18}
.donut .c1,.gauge .c1{font-size:19px;font-weight:700;fill:var(--ink);font-family:var(--font)}
.donut .c2,.gauge .c2{font-size:10px;fill:var(--muted);font-family:var(--font)}
.ch-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.84rem;min-width:150px;flex:1}
.ch-list li{display:flex;align-items:center;gap:7px}.ch-list span{flex:1}.ch-list b{font-variant-numeric:tabular-nums}
.gauge{width:100%;max-width:220px;display:block;margin:4px auto}
.gauge .track{fill:none;stroke:var(--surface-2);stroke-width:14;stroke-linecap:round}
.gauge .val{fill:none;stroke:var(--c);stroke-width:14;stroke-linecap:round}
.hbars{display:grid;gap:8px}
.hb{display:grid;grid-template-columns:minmax(80px,34%) 1fr auto;gap:8px;align-items:center;font-size:.84rem}
.hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-l a{color:var(--ink)}
.hb-t{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.hb-t i{display:block;height:100%;border-radius:99px;background:var(--c)}
.hb b{font-variant-numeric:tabular-nums;font-size:.8rem;white-space:nowrap}

/* welcome band */
.db-hello{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-bottom:14px;align-items:stretch}
.db-hi{background:linear-gradient(135deg,var(--side),#2c3a33);color:#fff;border-radius:var(--radius);padding:18px 20px;position:relative;overflow:hidden}
.db-hi::after{content:"";position:absolute;inset-inline-end:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(212,169,90,.35),transparent 70%)}
.db-greet{font-family:var(--display);font-size:1.6rem;font-weight:700}
.db-date{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;font-size:.88rem;opacity:.9}
.db-date span{display:inline-flex;align-items:center;gap:6px}.db-date svg{width:15px;height:15px}
.db-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;position:relative;z-index:1}
.db-quick .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}
.db-quick .btn:hover{background:rgba(255,255,255,.2)}
.db-wx{width:330px;border-radius:var(--radius);padding:14px 16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;justify-content:space-between}
.db-wx.wx-caution{background:linear-gradient(135deg,var(--surface),var(--warn-soft))}
.db-wx.wx-danger,.db-wx.wx-extreme{background:linear-gradient(135deg,var(--surface),var(--crit-soft));border-color:var(--crit)}
.wx-top{display:flex;align-items:center;gap:12px}
.wx-ic{font-size:2.2rem;line-height:1}
.wx-t{font-size:2rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.wx-s{font-size:.76rem;color:var(--muted)}
.wx-dl{display:grid;grid-template-columns:auto auto;gap:1px 8px;margin:0 auto 0 0;font-size:.76rem}
[dir=rtl] .wx-dl{margin:0 0 0 auto}
.wx-dl dt{color:var(--muted)}.wx-dl dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.wx-risk{font-size:.8rem;line-height:1.6}

/* KPI cards */
.db-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:14px}
.kp{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px 8px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.kp:hover{border-color:var(--hay);box-shadow:var(--shadow)}
.kp-h{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--muted);font-weight:500}
.kp-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);flex:none}
.kp-ic svg{width:16px;height:16px}
.kp-v{font-size:1.6rem;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.kp-v small{font-size:.85rem;color:var(--muted);font-weight:500}
.kp-v.is-crit{color:var(--crit)}.kp-v.is-warn{color:var(--warn)}
.kp-s{font-size:.76rem;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.kp-tr{font-size:.72rem;font-weight:600;padding:1px 6px;border-radius:99px}
.kp-tr.up{color:var(--ok);background:var(--ok-soft)}.kp-tr.down{color:var(--crit);background:var(--crit-soft)}
.kp-pills{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.kp-pills .pl{font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--surface-2)}
.kp-pills .pl.crit{background:var(--crit-soft);color:var(--crit)}.kp-pills .pl.warn{background:var(--warn-soft);color:var(--warn)}

/* rows & cards */
.db-row{display:grid;gap:14px;margin-bottom:14px}
.db-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.db-card{padding:14px 16px;min-width:0}
.db-h{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.db-h h2{margin:0;font-size:1rem;display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.db-h h2 svg{width:18px;height:18px;color:var(--leather)}
.db-period{display:flex;align-items:center;gap:10px;margin:6px 0 10px;flex-wrap:wrap}
.db-sec{margin:0;font-size:1.05rem;display:flex;gap:8px;align-items:center;flex:1}.db-sec svg{width:19px;height:19px;color:var(--leather)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;background:var(--surface)}
.seg a{padding:4px 14px;font-size:.82rem;color:var(--ink);text-decoration:none}
.seg a.on{background:var(--leather);color:#fff}
.db-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}
.db-charts .db-wide{grid-column:span 2}
.db-gauge{text-align:center}

/* timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tl-i{display:grid;grid-template-columns:44px 14px 1fr;align-items:center;gap:6px}
.tl-t{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;color:var(--muted)}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--line-2);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line-2)}
.st-done .tl-dot{background:var(--ok);box-shadow:0 0 0 1px var(--ok)}
.st-late .tl-dot{background:var(--crit);box-shadow:0 0 0 1px var(--crit)}
.st-now .tl-dot{background:var(--hay);box-shadow:0 0 0 3px var(--hay-soft);animation:pulse 1.6s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px transparent}}
.tl-b{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr auto auto;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);text-decoration:none;font-size:.86rem}
.tl-b:hover{border-color:var(--hay)}
.st-late .tl-b{border-color:var(--crit);background:var(--crit-soft)}
.tl-l{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-l svg{width:15px;height:15px;color:var(--leather);flex:none}
.tl-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}
.tl-bar i{display:block;height:100%;background:var(--ok);border-radius:99px}
.st-late .tl-bar i{background:var(--crit)}.st-now .tl-bar i{background:var(--hay)}
.tl-n{font-variant-numeric:tabular-nums;font-size:.8rem}
.tl-st{font-size:.72rem;padding:1px 8px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
.st-done .tl-st{background:var(--ok-soft);color:var(--ok)}.st-late .tl-st{background:var(--crit);color:#fff}.st-now .tl-st{background:var(--hay-soft);color:var(--leather)}
.tl-work{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:12px}
.tl-work a{display:flex;flex-direction:column;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);text-decoration:none;font-size:.78rem;border-inline-start:3px solid var(--line-2)}
.tl-work a b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.tl-work a.ok{border-color:var(--ok)}.tl-work a.warn{border-color:var(--warn)}.tl-work a.crit{border-color:var(--crit);background:var(--crit-soft)}

/* attention */
.att{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.att-i{display:flex;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);border-inline-start:4px solid var(--warn)}
.att-i.lv-crit{border-inline-start-color:var(--crit);background:color-mix(in srgb,var(--crit-soft) 55%,transparent)}
.att-i .horse-thumb,.att-i img{width:38px;height:38px;flex:none}
.att-b{min-width:0;flex:1}
.att-n{font-weight:600;color:var(--ink)}.att-box{font-size:.75rem;color:var(--muted);margin-inline-start:6px}
.att-r{margin:3px 0 0;padding-inline-start:16px;font-size:.8rem;color:var(--ink-2)}
.db-allok{display:flex;align-items:center;gap:12px;padding:18px;background:var(--ok-soft);border-radius:var(--radius-sm);color:var(--ok)}
.db-allok span{font-size:1.8rem;font-weight:700}.db-allok p{margin:0}

/* stable map */
.db-mapcard{margin-bottom:14px}
.map-key{display:flex;gap:10px;flex-wrap:wrap;font-size:.74rem;color:var(--muted)}
.map-key span{display:inline-flex;align-items:center;gap:4px}.map-key i{width:12px;height:12px;border-radius:3px;display:inline-block}
.map-sec{font-weight:600;font-size:.85rem;margin:10px 0 6px}
.map{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
.bx{display:flex;flex-direction:column;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.78rem;min-height:48px;border:1px solid transparent}
.bx-c{font-family:var(--mono);font-size:.7rem;opacity:.75}
.bx-n{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.bx:hover{filter:brightness(.95);border-color:var(--ink-2)}
.bx-ok,.map-key .bx-ok{background:var(--ok-soft)}
.bx-away,.map-key .bx-away{background:var(--info-soft)}
.bx-case,.map-key .bx-case{background:var(--warn-soft)}
.bx-sick,.map-key .bx-sick{background:var(--crit-soft);border-color:var(--crit)}
.bx-iso,.map-key .bx-iso{background:repeating-linear-gradient(45deg,var(--crit-soft),var(--crit-soft) 6px,var(--surface) 6px,var(--surface) 12px);border-color:var(--crit)}
.bx-empty,.map-key .bx-empty{background:var(--surface);border:1px dashed var(--line-2);color:var(--muted)}
.bx-maint,.map-key .bx-maint{background:var(--surface-2);color:var(--muted)}

/* next days */
.up{list-style:none;margin:0;padding:0}
.up-d{font-size:.76rem;font-weight:600;color:var(--muted);margin:10px 0 4px;border-bottom:1px solid var(--line);padding-bottom:2px}
.up-d:first-child{margin-top:0}
.up-i{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.86rem}
.up-i a{color:var(--ink)}
.up-ic{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);flex:none}
.up-ic svg{width:14px;height:14px}

/* finance */
.fin{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.fin div{background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 10px}
.fin span{display:block;font-size:.74rem;color:var(--muted)}
.fin b{font-size:1.05rem;font-variant-numeric:tabular-nums}.fin b.ok{color:var(--ok)}.fin b.crit{color:var(--crit)}

@media (max-width:1200px){.db-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.db-charts .db-wide{grid-column:span 2}}
@media (max-width:900px){.db-hello{grid-template-columns:1fr}.db-wx{width:auto}.db-2{grid-template-columns:1fr}.db-charts{grid-template-columns:1fr}.db-charts .db-wide{grid-column:auto}.fin{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.tl-b{grid-template-columns:1fr auto;}.tl-bar{grid-column:1/-1;order:3}.tl-st{display:none}.db-greet{font-size:1.3rem}}
@media print{.db-quick,.db-period .seg,.db-period .btn{display:none}.db-hi{background:none;color:var(--ink);border:1px solid var(--line)}.db-card,.kp{break-inside:avoid}}
.sys .sys-dl{margin:0;font-size:.86rem;gap:6px 16px}
.sys-dl dd.ok{color:var(--ok)}.sys-dl dd.crit{color:var(--crit)}
/* dashboard fixes: svg text left-to-right, KPI cards in one row */
.chart,.donut,.gauge,.spark{direction:ltr}
.chart .vb{fill:var(--c)}.chart .vb:hover{opacity:.8}
.chart text{unicode-bidi:plaintext}
.db-kpis{grid-template-columns:repeat(var(--n,6),minmax(0,1fr))}
.kp{min-width:0;padding:11px 12px 6px}
.kp-h{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-v{font-size:1.45rem}
.kp-s{min-height:1.2em}
.kp .spark,.kp .kp-pills{margin-top:auto;padding-top:6px}
@media (max-width:1250px){.db-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.db-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------------------------------------------------------------- Cavalor welcome */
html.welcome-on{overflow:hidden}
.welcome{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;
  background:radial-gradient(circle at 50% 40%,rgba(246,168,33,.28),rgba(20,28,24,.92) 60%);backdrop-filter:blur(6px);
  animation:wIn .5s ease-out;transition:opacity .55s ease}
.welcome.out{opacity:0;pointer-events:none}
.welcome-card{background:#fff;border-radius:22px;padding:34px 44px 24px;text-align:center;max-width:460px;width:100%;
  box-shadow:0 30px 80px rgba(0,0,0,.45);border-top:6px solid #f6a821;animation:wUp .6s cubic-bezier(.2,.9,.3,1.2)}
.welcome-logo{width:190px;height:auto;display:block;margin:0 auto 14px}
.welcome-ar{font-family:var(--display);font-size:2.3rem;font-weight:700;color:#1a3a6b;line-height:1.3}
.welcome-en{font-size:1.15rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f08a00;margin-top:2px;direction:ltr}
.welcome-line{width:70px;height:3px;border-radius:3px;background:#f6a821;margin:14px auto}
.welcome-sub{display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:#555}
.welcome-hint{margin-top:18px;font-size:.74rem;color:#999;animation:wBlink 1.8s infinite}
@keyframes wIn{from{opacity:0}}
@keyframes wUp{from{opacity:0;transform:translateY(24px) scale(.94)}}
@keyframes wBlink{50%{opacity:.35}}
.has-tip{cursor:help;border-bottom:1px dotted var(--muted)}
@media print{.welcome{display:none}}

/* feeding board: all meal rounds on one line */
.rounds{grid-template-columns:repeat(var(--n,5),minmax(0,1fr))}
.round-card{min-width:0;padding:9px 10px}
.round-card .rc-act .btn{white-space:nowrap}
@media (max-width:1100px){.rounds{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.rounds{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* assistant button never covers page content: room at the page end, smaller, quieter button */
.content{padding-bottom:110px}
.assist{bottom:16px;inset-inline-end:16px}
.assist-fab{width:48px;height:48px;opacity:.9}
.assist-fab svg{width:25px;height:25px}
.assist-fab:hover,.assist.open .assist-fab{opacity:1}
html.typing .assist:not(.open){opacity:0;pointer-events:none;transition:opacity .2s}
@media (max-width:640px){.content{padding-bottom:96px}.assist-fab{width:44px;height:44px}}
@media print{.content{padding-bottom:0}.assist{display:none}}

/* vaccine programme: one box per dose */
.dose-boxes{display:flex;gap:6px;flex-wrap:wrap;min-width:300px}
.dose-box{display:flex;flex-direction:column;gap:2px;width:70px}
.dose-box small{font-size:.7rem;color:var(--muted);white-space:nowrap}
.dose-box input{width:100%;text-align:center;padding:6px 4px}
.dose-box.first b{display:block;padding:7px 4px;text-align:center;border:1px dashed var(--line-2);border-radius:8px;font-size:.8rem;background:var(--surface-2)}
.db-role{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.14);font-size:.82rem}
.db-role svg{width:14px;height:14px}

/* owner portal: WhatsApp button, settings, timeline */
.btn-wa{background:#1f9d55;border-color:#1f9d55;color:#fff}.btn-wa:hover{background:#18834a;color:#fff}
.portal-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.portal-opt{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.portal-opt:has(input:checked){border-color:var(--hay);background:var(--hay-soft)}
.owner-tl{list-style:none;margin:0;padding:6px 14px 12px}
.owner-tl li{display:grid;grid-template-columns:96px 26px 1fr;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed var(--line)}
.owner-tl li:last-child{border-bottom:0}
.owner-tl .tl-d{font-size:.78rem;color:var(--muted)}
.owner-tl .tl-i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2)}
.owner-tl .tl-i svg{width:15px;height:15px}
.owner-tl .tl-ok .tl-i{background:var(--ok-soft);color:var(--ok)}
.owner-tl .tl-crit .tl-i{background:var(--crit-soft);color:var(--crit)}
.owner-tl .tl-info .tl-i{background:var(--info-soft);color:var(--info)}

/* tabs: wrap onto a second line instead of hiding tabs off-screen */
@media (min-width:700px){.tabs{flex-wrap:wrap;overflow:visible;row-gap:2px}}

/* reports: landing grid, filters, print */
.rep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;align-items:start}
.rep-sec .card-head h2{display:flex;gap:8px;align-items:center}.rep-sec .card-head svg{width:18px;height:18px;color:var(--hay)}
.rep-list{list-style:none;margin:0;padding:4px 0}
.rep-list a{display:block;padding:8px 16px;color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.rep-list li:last-child a{border-bottom:0}
.rep-list a:hover{background:var(--surface-2)}
.rep-list b{display:block;font-size:.92rem}.rep-list span{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}
.rep-filters{flex-wrap:wrap;gap:8px;align-items:flex-end}
.rep-filters select{max-width:220px}
.rep-quick{display:inline-flex;gap:2px;flex-wrap:wrap}
.rep-print-head{display:none}
@media print{
  .no-print,.rep-filters,.bell-btn,.help-btn{display:none!important}
  .rep-print-head{display:block;margin:0 0 8px;font-size:.8rem}
  .rep-table{font-size:.78rem}.rep-table td,.rep-table th{padding:4px 6px}
}

/* reports landing v2: one clear band per section, even tiles */
.rep-block{--tc:#b8893a}
.rep-block.tone-leather{--tc:#8a5a34}.rep-block.tone-hay{--tc:#b8893a}.rep-block.tone-rose{--tc:#c45c5c}.rep-block.tone-teal{--tc:#2f9a8b}
.rep-block.tone-amber{--tc:#c98a1c}.rep-block.tone-pink{--tc:#c0608f}.rep-block.tone-green{--tc:#3d8b57}.rep-block.tone-blue{--tc:#3f74b5}.rep-block.tone-violet{--tc:#7a5cb5}
.rep-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.rep-jump a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:inherit;text-decoration:none;font-size:.85rem}
.rep-jump a:hover{border-color:var(--hay)}.rep-jump svg{width:15px;height:15px}.rep-jump b{font-size:.75rem;color:var(--muted)}
.rep-block{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;overflow:hidden;scroll-margin-top:80px}
.rep-block-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);border-inline-start:5px solid var(--tc);
  background:linear-gradient(90deg,color-mix(in srgb,var(--tc) 10%,transparent),transparent)}
.rep-block-h h2{margin:0;font-size:1.25rem;font-family:var(--display)}
.rep-block-h div{flex:1}.rep-block-h div span{font-size:.8rem;color:var(--muted)}
.rep-block-i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--tc);color:#fff;flex:none}.rep-block-i svg{width:22px;height:22px}
.rep-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:14px 18px}
.rep-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 14px;padding-inline-end:34px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;min-height:86px;transition:border-color .15s,box-shadow .15s}
.rep-tile:hover{border-color:var(--tc);box-shadow:0 4px 14px rgba(0,0,0,.06);text-decoration:none}
.rep-tile b{font-size:.95rem;color:var(--ink)}.rep-tile span{font-size:.78rem;color:var(--muted);line-height:1.6}
.rep-tile i{position:absolute;inset-inline-end:10px;top:12px;color:var(--tc)}.rep-tile i svg{width:16px;height:16px}
[dir=rtl] .rep-tile i svg{transform:scaleX(-1)}
.rep-note{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px dashed var(--line-2);border-radius:12px;font-size:.88rem}
.rep-note span{flex:1}.rep-note svg{width:18px;height:18px;color:var(--hay)}

/* Control: latest updates list */
.ctl-news .db-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.ctl-news .db-h h2{margin:0;font-size:1.05rem;display:flex;gap:8px;align-items:center}.ctl-news .db-h svg{width:18px;height:18px;color:var(--ok)}
.ctl-news-list{list-style:none;margin:0;padding:4px 18px 10px}
.ctl-news-list li{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line)}
.ctl-news-list li:last-child{border-bottom:0}
.ctl-news-list .d{font-size:.8rem;color:var(--muted);padding-top:2px}
.ctl-news-list b{display:block;font-size:.92rem}.ctl-news-list div span{display:block;font-size:.8rem;color:var(--muted);line-height:1.7;margin-top:2px}

/* "What's new" timeline (Control + stable dashboard) */
.wn{overflow:hidden;margin-bottom:16px;border:0;box-shadow:0 1px 0 var(--line),0 10px 30px rgba(40,30,10,.06)}
.wn-h{display:flex;align-items:center;gap:12px;padding:16px 20px;color:#fff;
  background:linear-gradient(120deg,var(--leather) 0%,#5a3a1f 55%,#3b2a17 100%);position:relative}
.wn-h::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(246,168,33,.35),transparent 55%);pointer-events:none}
.wn-h>*{position:relative;z-index:1}
.wn-h div{flex:1}.wn-h h2{margin:0;font-family:var(--display);font-size:1.3rem}.wn-h div span{font-size:.8rem;opacity:.8}
.wn-h .btn{background:rgba(255,255,255,.14);border-color:transparent;color:#fff}.wn-h .btn:hover{background:rgba(255,255,255,.25)}
.wn-spark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--hay);color:#2a1d0e;animation:wnPulse 2.4s ease-in-out infinite}
.wn-spark svg{width:22px;height:22px}
@keyframes wnPulse{0%,100%{box-shadow:0 0 0 0 rgba(246,168,33,.55)}50%{box-shadow:0 0 0 10px rgba(246,168,33,0)}}
.wn-body{padding:6px 20px 18px;max-height:560px;overflow:auto}
.wn-day{position:sticky;top:0;z-index:2;padding:12px 0 6px;background:var(--surface)}
.wn-day span{display:inline-block;font-size:.75rem;font-weight:700;color:var(--leather);background:var(--hay-soft);padding:3px 10px;border-radius:99px}
.wn-items{position:relative;display:grid;gap:8px;padding-inline-start:22px}
.wn-items::before{content:"";position:absolute;inset-inline-start:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--hay),transparent)}
.wn-item{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);
  opacity:0;transform:translateY(8px);animation:wnIn .45s ease-out forwards;animation-delay:var(--d);transition:transform .18s,box-shadow .18s,border-color .18s}
.wn-item::before{content:"";position:absolute;inset-inline-start:-19px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--hay);box-shadow:0 0 0 3px var(--surface)}
.wn-item:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(40,30,10,.08);border-color:var(--hay)}
@keyframes wnIn{to{opacity:1;transform:none}}
.wn-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--hay-soft);color:var(--leather)}.wn-ic svg{width:19px;height:19px}
.wn-tx b{display:block;font-size:.95rem}.wn-tx p{margin:3px 0 6px;font-size:.82rem;color:var(--muted);line-height:1.7}
.wn-where{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--leather);background:var(--surface-2);padding:2px 8px;border-radius:6px}
.wn-where svg{width:12px;height:12px}[dir=rtl] .wn-where svg{transform:scaleX(-1)}
.wn-go{align-self:center;white-space:nowrap}
@media (max-width:640px){.wn-item{grid-template-columns:32px 1fr}.wn-go{grid-column:2;justify-self:start}}
@media (prefers-reduced-motion:reduce){.wn-item{animation:none;opacity:1;transform:none}.wn-spark{animation:none}}

/* owner page: portal card */
.op-card{margin-bottom:14px;overflow:hidden;border-inline-start:5px solid var(--line-2)}
.op-card.op-none{border-inline-start-color:var(--hay)}.op-card.op-new,.op-card.op-active{border-inline-start-color:var(--ok)}.op-card.op-stopped{border-inline-start-color:var(--warn)}
.op-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.op-head>div{flex:1;min-width:240px}.op-head h2{margin:0;font-size:1.15rem}.op-head p{margin:3px 0 0;font-size:.82rem;color:var(--muted)}
.op-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--hay-soft);color:var(--leather)}.op-ic svg{width:22px;height:22px}
.op-steps{list-style:none;display:flex;gap:6px;margin:0;padding:12px 18px;flex-wrap:wrap;background:var(--surface-2)}
.op-steps li{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.op-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--ink);font-size:.75rem}
.op-steps li.done{color:var(--ok);border-color:var(--ok)}.op-steps li.done b{background:var(--ok);color:#fff}
.op-steps li.now{color:var(--ink);border-color:var(--hay);font-weight:600;animation:opNow 1.8s ease-in-out infinite}.op-steps li.now b{background:var(--hay);color:#2a1d0e}
@keyframes opNow{0%,100%{box-shadow:0 0 0 0 rgba(246,168,33,.45)}50%{box-shadow:0 0 0 6px rgba(246,168,33,0)}}
.op-body{padding:16px 18px}
.op-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.op-body>.op-actions:first-child{margin-top:0}
.op-more{margin-top:12px;font-size:.85rem}.op-more summary{cursor:pointer;color:var(--muted)}
.op-dl{margin:0}
.btn-lg{padding:10px 18px;font-size:1rem}

/* Control: type of stable */
.mode-card{margin:0}.mode-opts{display:grid;gap:8px}
.mode-opt{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.mode-opt input{grid-row:span 2}.mode-opt span{grid-column:2;font-size:.78rem;color:var(--muted)}
.mode-opt.on{border-color:var(--hay);background:var(--hay-soft)}

/* purchase plan */
.pp-sups{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}
.pp-sup .card-head{flex-wrap:wrap;gap:8px}.pp-sup .card-head h2{display:flex;gap:6px;align-items:center;flex:1}
.pp-list{list-style:none;margin:0;padding:6px 16px 12px}
.pp-list li{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.88rem}
.pp-list li:last-child{border-bottom:0}.pp-q{color:var(--muted);font-size:.8rem}.pp-c{font-weight:600;min-width:70px;text-align:end}
@media (max-width:640px){.pp-sups{grid-template-columns:1fr}.pp-list li{grid-template-columns:1fr auto}}

/* owner (private stable) dashboard */
.ow-sum{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.4fr) minmax(260px,1.2fr);gap:12px;margin-bottom:14px;align-items:start}
.ow-kpi{padding:16px 18px;display:grid;gap:6px;background:linear-gradient(135deg,var(--surface),var(--hay-soft))}
.ow-kpi>span{font-size:.82rem;color:var(--muted)}.ow-kpi b{font-size:1.9rem;font-family:var(--display)}.ow-kpi b small{font-size:.8rem;color:var(--muted)}
.ow-split{display:flex;flex-wrap:wrap;gap:6px}.ow-split span{font-size:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:2px 8px}
.ow-stock .card-head h2,.ow-coming .card-head h2{display:flex;gap:6px;align-items:center}
@media (max-width:1000px){.ow-sum{grid-template-columns:1fr}}

/* stable owner strip on the dashboard */
.own-strip{display:grid;grid-template-columns:minmax(320px,2fr) minmax(200px,1fr) minmax(200px,1fr);gap:12px;margin-bottom:16px;align-items:stretch}
.own-appr .card-head h2{display:flex;gap:6px;align-items:center}.own-appr .plain-list li{gap:8px;flex-wrap:wrap}
.own-tile{display:flex;flex-direction:column;gap:6px;padding:16px;color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.own-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(40,30,10,.08);text-decoration:none}
.own-tile b{font-size:1.05rem}.own-tile span:last-child{font-size:.8rem;color:var(--muted)}
.own-ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.own-ic svg{width:21px;height:21px}
.own-ic.t-warn{background:var(--warn-soft,#fff3d6);color:var(--warn)}.own-ic.t-ok{background:var(--ok-soft);color:var(--ok)}.own-ic.t-info{background:var(--info-soft);color:var(--info)}
@media (max-width:1000px){.own-strip{grid-template-columns:1fr}}

/* cameras */
.cam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.cam{overflow:hidden}.cam.off{opacity:.55}
.cam-view{position:relative;aspect-ratio:16/9;background:#141a17;display:grid;place-items:center}
.cam-view video{width:100%;height:100%;object-fit:cover;background:#000}
.cam-open{display:flex;flex-direction:column;align-items:center;gap:8px;color:#f6f2e9;text-decoration:none;font-weight:600}
.cam-open svg{width:46px;height:46px;opacity:.9}.cam-open:hover{color:var(--hay);text-decoration:none}
.cam-live{position:absolute;top:8px;inset-inline-start:8px;font-size:.72rem;color:#fff;background:rgba(200,40,40,.85);padding:2px 8px;border-radius:99px}
.cam-body{display:grid;gap:4px;padding:10px 14px}.cam-body svg{width:13px;height:13px;vertical-align:-2px}
.cam-acts{display:flex;gap:4px;margin-top:4px}

/* Maya products catalog */
.mc-brand{margin-bottom:14px}.mc-brand .card-head h2{font-family:var(--display);font-size:1.3rem}
.mc-cls{margin:12px 16px 6px;font-size:.95rem;color:var(--leather)}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;padding:0 16px 14px}
.mc-item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.mc-item:has(input:checked:not(:disabled)){border-color:var(--hay);background:var(--hay-soft)}
.mc-item.in{opacity:.7;cursor:default}
.mc-item span{flex:1;display:grid;gap:2px}.mc-item small{font-size:.75rem;color:var(--muted)}.mc-item .mc-price{color:var(--ink);font-weight:600}
.mc-bar{position:sticky;bottom:0;display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 -6px 18px rgba(0,0,0,.05);flex-wrap:wrap}

/* feeding settings: grouped options */
.set-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}
.set-group{border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:10px;align-content:start;background:var(--surface)}
.set-group h3{margin:0;font-size:1rem;display:flex;gap:6px;align-items:center}.set-group h3 svg{width:18px;height:18px;color:var(--hay)}
.set-group>p{margin:0;font-size:.8rem;color:var(--muted);line-height:1.7}
.set-group .field{margin:0}
@media (max-width:1000px){.set-groups{grid-template-columns:1fr}}

/* kitchen: how it works */
.kt-guide{margin-bottom:12px}.kt-guide summary{cursor:pointer;padding:12px 16px;font-weight:600;display:flex;gap:8px;align-items:center}
.kt-guide summary svg{width:18px;height:18px;color:var(--hay)}
.kt-steps{list-style:none;counter-reset:k;margin:0;padding:0 16px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kt-steps li{counter-increment:k;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:4px;position:relative;padding-top:30px}
.kt-steps li::before{content:counter(k);position:absolute;top:8px;inset-inline-start:10px;width:20px;height:20px;border-radius:50%;background:var(--hay);color:#2a1d0e;font-size:.75rem;font-weight:700;display:grid;place-items:center}
.kt-steps b{font-size:.88rem}.kt-steps span{font-size:.78rem;color:var(--muted);line-height:1.7}
@media (max-width:900px){.kt-steps{grid-template-columns:1fr 1fr}}

/* feeding settings: alert limits aligned in fixed columns */
.rule-lims{display:grid;grid-template-columns:repeat(2,140px);gap:8px;justify-content:start;align-items:end}
.rule-lim{display:grid;gap:3px;margin:0}.rule-lim span{font-size:.72rem;color:var(--muted);white-space:nowrap}
.rule-lim input{width:100%;text-align:center;padding:6px 8px}
.rule-none{grid-column:1/-1;align-self:center}
.invoice table select[name$="[severity]"]{width:130px}

/* ---- Training: daily list, week grid, plans, trainers, ratings ---- */
.tr-table td{vertical-align:top}
.tr-table tr.tr-rest td{color:var(--muted);background:var(--surface-2)}
.tr-acts{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}
.tr-skip{position:relative}
.tr-skip summary{list-style:none}.tr-skip summary::-webkit-details-marker{display:none}
.tr-skip[open] form{position:absolute;inset-inline-end:0;top:calc(100% + 4px);z-index:5;display:flex;flex-direction:column;gap:6px;min-width:220px;padding:10px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow)}
.tr-notes{margin:12px 0}
.tr-pill{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;line-height:1.2;padding:4px 8px;border-radius:7px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);text-decoration:none;margin:2px 0;white-space:nowrap}
a.tr-pill:hover{text-decoration:none;filter:brightness(.96)}
.tr-pill small{opacity:.75;font-size:.72rem}
.tr-pill.t-ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.tr-pill.t-warn{background:var(--warn-soft);color:var(--warn);border-color:transparent;font-weight:600}
.tr-pill.t-crit{background:var(--crit-soft);color:var(--crit);border-color:transparent}
.tr-pill.t-info{background:var(--info-soft);color:var(--info);border-color:transparent}
.tr-pill.t-rest{background:transparent;color:var(--muted);border-style:dashed}
.tr-legend{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.tr-wgrid th.is-today,.tr-wgrid td.is-today{background:var(--hay-soft)}
.tr-cell{min-width:96px;vertical-align:top}
.tr-cell .tr-pill{display:flex}
.tr-week7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:12px 12px}
.tr-d{background:var(--surface-2);border-radius:9px;padding:6px;min-height:74px;display:flex;flex-direction:column;gap:2px}
.tr-d.is-today{outline:2px solid var(--hay);background:var(--hay-soft)}
.tr-dh{display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--muted);margin-bottom:3px;line-height:1.25}
.tr-dh b{color:var(--ink)}
.tr-d .tr-pill{white-space:normal;justify-content:center;text-align:center;flex-wrap:wrap;padding:4px 5px}
.tr-plan-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px;align-items:start}
.tr-plan-who{display:flex;gap:14px;align-items:flex-start}
.tr-plan-who h3{margin:0}
.thumb.tr-photo{width:84px;height:84px;border-radius:12px;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2)}
.tr-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:8px 0 0;font-size:.88rem}
.tr-dl dt{color:var(--muted)}.tr-dl dd{margin:0}
.tr-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin-top:6px;flex:1}
.tr-bar span{display:block;height:100%;border-radius:99px;background:var(--hay)}
.tr-bar span.ok{background:var(--ok)}.tr-bar span.warn{background:var(--warn)}.tr-bar span.crit{background:var(--crit)}
.tr-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.tr-plan-tile{display:flex;flex-direction:column;gap:10px;padding:14px;color:var(--ink);text-decoration:none;transition:border-color .15s}
.tr-plan-tile:hover{border-color:var(--hay);text-decoration:none}
.tr-tile-h{display:flex;gap:10px;align-items:center}
.tr-tile-h>div{flex:1;min-width:0}
.tr-tile-h .thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none}
.tr-tile-b{display:grid;gap:4px;color:var(--ink-2)}
.tr-tile-b .ic,.tr-tile-b svg{width:14px;height:14px;vertical-align:-2px;opacity:.7}
.tr-tile-f{display:flex;align-items:center;gap:8px}
.tr-lines td{padding:6px 8px}.tr-lines select,.tr-lines input{width:100%;min-width:0}
.tr-lines input.w-xs{width:58px}.tr-lines input.w-sm{width:72px}
.tr-lines td.nowrap{display:flex;gap:4px}
.tr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tr-form-grid .card-head h2{display:flex;align-items:center;gap:8px;font-size:1rem}
.tr-form-grid .card-head h2 svg{width:20px;height:20px;flex:none;color:var(--hay)}
.tr-save{margin-top:12px;position:sticky;bottom:0;background:var(--bg);padding:10px 0;z-index:4}
.rate{display:flex;gap:6px;flex-wrap:wrap}
.rate input{position:absolute;opacity:0;pointer-events:none}
.rate label{min-width:40px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:9px;cursor:pointer;font-weight:600;background:var(--surface)}
.rate label:hover{border-color:var(--hay)}
.rate input:checked+label{background:var(--hay);border-color:var(--hay);color:#fff}
.rate input:focus-visible+label{outline:2px solid var(--info)}
.rate label.rate-none{min-width:34px;color:var(--muted);font-weight:400}
.rate input:checked+label.rate-none{background:var(--surface-3);color:var(--ink);border-color:var(--line-2)}
.tr-score{display:inline-block;min-width:34px;padding:2px 6px;border-radius:6px;font-weight:600;text-align:center;background:var(--surface-2)}
.tr-score.s5,.tr-score.s4{background:var(--ok-soft);color:var(--ok)}.tr-score.s3{background:var(--warn-soft);color:var(--warn)}.tr-score.s2,.tr-score.s1{background:var(--crit-soft);color:var(--crit)}
.tr-chart{width:100%;height:auto;display:block}
.tr-chart .gl{stroke:var(--line);stroke-width:1}
.tr-chart .ax{fill:var(--muted);font-size:11px}
.tr-chart .ln{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.tr-chart .s1{stroke:#3f74b5;fill:#3f74b5}.tr-chart .s2{stroke:#3d8b57;fill:#3d8b57}.tr-chart .s3{stroke:#d9822b;fill:#d9822b}
.tr-chart .ln.s1,.tr-chart .ln.s2,.tr-chart .ln.s3{fill:none}
.tr-key{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.tr-key i{display:inline-block;width:12px;height:4px;border-radius:2px}
.tr-key i.s1{background:#3f74b5}.tr-key i.s2{background:#3d8b57}.tr-key i.s3{background:#d9822b}
.tr-coach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.tr-coach{display:flex;flex-direction:column}
.tr-coach-h{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.tr-coach-k{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.tr-coach-k>div{background:var(--surface);padding:10px;text-align:center;display:flex;flex-direction:column}
.tr-coach-k b{font-size:1.15rem}.tr-coach-k span{font-size:.75rem;color:var(--muted)}
.tr-coach-horses{padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.tr-coach-f{display:flex;gap:6px;padding:10px 16px;border-top:1px solid var(--line);flex-wrap:wrap}
.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px}
@media (max-width:900px){
  .tr-plan-top,.tr-form-grid{grid-template-columns:1fr}
  .tr-week7{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:520px){.tr-week7{grid-template-columns:repeat(2,minmax(0,1fr))}.tr-coach-k{grid-template-columns:repeat(2,1fr)}}
@media print{.tr-save,.tr-skip,.tr-acts{display:none!important}.tr-plan-top{grid-template-columns:1fr 1fr}}

/* ---- Breeding: board, mare cards, programme tasks, advice, pedigree ---- */
.br-board{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;align-items:start}
.br-group .card-head h2::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:8px;background:var(--line-2)}
.br-group.t-crit .card-head h2::before{background:var(--crit)}.br-group.t-ok .card-head h2::before{background:var(--ok)}
.br-group.t-info .card-head h2::before{background:var(--info)}.br-group.t-violet .card-head h2::before{background:#7a5cb5}
.br-mares{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;padding:12px}
.br-mare{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--surface)}
.br-mare:hover{border-color:var(--hay);text-decoration:none}
.br-mh{display:flex;gap:10px;align-items:center}.br-mh .thumb{width:42px;height:42px;border-radius:10px;object-fit:cover;flex:none}
.br-mini{height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden}.br-mini span{display:block;height:100%;background:var(--ok)}
.br-mf{display:flex;justify-content:space-between;gap:6px;color:var(--ink-2)}
.br-next{color:var(--warn)}.br-next svg{width:13px;height:13px;vertical-align:-2px}
.br-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px 16px}
.br-facts>div{display:flex;flex-direction:column;gap:2px}.br-facts span{font-size:.75rem;color:var(--muted)}.br-facts b{font-size:.95rem}
.bt-list{list-style:none;margin:0;padding:0}
.bt{display:flex;gap:10px;align-items:flex-start;padding:9px 14px;border-top:1px solid var(--line);border-inline-start:3px solid transparent}
.bt-late{border-inline-start-color:var(--crit);background:var(--crit-soft)}.bt-now{border-inline-start-color:var(--warn)}
.bt-done .bt-t,.bt-skipped .bt-t{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line-2)}
.bt-k{flex:none;font-size:.72rem;padding:3px 7px;border-radius:6px;background:var(--surface-2);color:var(--ink-2);min-width:62px;text-align:center}
.bt-k.t-info{background:var(--info-soft);color:var(--info)}.bt-k.t-violet{background:#efe9fb;color:#6a4fb0}.bt-k.t-hay{background:var(--hay-soft);color:var(--hay)}
.bt-k.t-ok{background:var(--ok-soft);color:var(--ok)}.bt-k.t-warn{background:var(--warn-soft);color:var(--warn)}.bt-k.t-crit{background:var(--crit-soft);color:var(--crit)}
.bt-b{flex:1;min-width:0}.bt-t{font-size:.88rem;line-height:1.45}.bt-d{color:var(--muted);margin-top:2px}
.bt-a{display:flex;gap:4px;flex:none}.bt-a form{margin:0}
@media (max-width:600px){.bt-a .btn span{display:none}}
.br-track{padding:4px 0 6px}
.br-bar{position:relative;height:12px;border-radius:99px;background:var(--surface-3);margin:18px 0 8px}
.br-bar>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ok),var(--hay))}
.br-bar i{position:absolute;top:-4px;width:2px;height:20px;background:var(--ink-2);opacity:.45}
.br-bar i small{position:absolute;top:-16px;transform:translateX(-50%);font-size:.66rem;font-style:normal;color:var(--muted);white-space:nowrap}
[dir="rtl"] .br-bar i small{transform:translateX(50%)}
.br-track-l{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--ink-2)}
.br-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;align-items:start}
.br-advice{list-style:none;margin:0;padding:6px 0}
.br-advice li{display:flex;gap:10px;align-items:flex-start;padding:8px 14px;font-size:.86rem;border-inline-start:3px solid transparent}
.br-advice li svg{width:16px;height:16px;flex:none;margin-top:2px}
.br-advice li div{display:flex;flex-direction:column;gap:1px}.br-advice li b{font-size:.8rem}.br-advice li span{color:var(--ink-2);line-height:1.5}
.br-advice .a-ok svg{color:var(--ok)}.br-advice .a-info svg{color:var(--info)}
.br-advice .a-warn{border-inline-start-color:var(--warn);background:var(--warn-soft)}.br-advice .a-warn svg{color:var(--warn)}
.br-advice .a-crit{border-inline-start-color:var(--crit);background:var(--crit-soft)}.br-advice .a-crit svg{color:var(--crit)}
.br-advice.compact li{padding:6px 12px}
.br-checks{margin-bottom:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.br-score{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:4px solid var(--line-2);flex:none}
.br-score b{font-size:1.15rem;line-height:1}.br-score small{font-size:.62rem;color:var(--muted)}
.br-score.sok{border-color:var(--ok);color:var(--ok)}.br-score.swarn{border-color:var(--warn);color:var(--warn)}.br-score.scrit{border-color:var(--crit);color:var(--crit)}
.br-plan-h{display:flex;gap:14px;align-items:center}
.br-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.br-pc{display:flex;flex-direction:column}.br-pc-h{display:flex;gap:10px;align-items:center;padding:12px 14px}.br-pc-h>div:nth-child(2){flex:1;min-width:0}
.br-pc-h .thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;flex:none}
.br-pc-b{padding:0 14px 6px;color:var(--ink-2)}.br-pc .br-advice{flex:1}.br-pc-f{padding:8px 14px;border-top:1px solid var(--line)}
.br-pf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.br-gen{display:grid;gap:8px}.br-gen-r{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.86rem}
.br-gen-r select{max-width:170px}.br-gen-r select.g-carrier{border-color:var(--warn);background:var(--warn-soft)}.br-gen-r select.g-affected{border-color:var(--crit);background:var(--crit-soft)}
.br-gen-r select.g-clear,.br-gen-r select.g-verified{border-color:var(--ok)}
.br-ped{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:14px;align-items:center}
.br-ped .p-self{padding:14px;border-radius:10px;background:var(--hay-soft);text-align:center;display:flex;flex-direction:column}
.br-ped .p-col{display:grid;gap:8px}.br-ped .p-col>div{padding:8px 12px;border-radius:9px;border:1px solid var(--line);display:flex;flex-direction:column}
.br-ped .p-sire{border-inline-start:3px solid var(--info)!important}.br-ped .p-dam{border-inline-start:3px solid #c0608f!important}
.br-ped span,.br-ped small{font-size:.74rem;color:var(--muted)}
.br-birth .card-head h2{display:flex;align-items:center;gap:8px}.br-birth .card-head h2 svg{width:18px;height:18px;color:var(--hay)}
.br-ref{background:var(--surface-2)}
@media (max-width:1000px){.br-board,.br-two,.br-pf{grid-template-columns:1fr}}

/* ---- Horse file completeness ---- */
.hd-complete{padding:10px 16px;display:grid;gap:8px}
.hd-c-h{display:flex;align-items:center;gap:12px}.hd-c-h .tr-bar{margin:0;max-width:340px}
.hd-pct{font-weight:700}.hd-pct.ok{color:var(--ok)}.hd-pct.warn{color:var(--warn)}.hd-pct.crit{color:var(--crit)}
.hd-c-m{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hd-c-m .chip svg{width:12px;height:12px}
.br-gaps{border:1px solid var(--crit);background:var(--crit-soft);border-radius:var(--radius);padding:12px 16px;margin-bottom:12px}
.br-gaps ul{margin:6px 0 0;padding-inline-start:18px}
.cmp-chip{display:inline-block;min-width:44px;text-align:center;padding:2px 6px;border-radius:6px;font-weight:600;font-size:.8rem}
.cmp-chip.ok{background:var(--ok-soft);color:var(--ok)}.cmp-chip.warn{background:var(--warn-soft);color:var(--warn)}.cmp-chip.crit{background:var(--crit-soft);color:var(--crit)}
.br-gaps svg{width:16px;height:16px;vertical-align:-3px;color:var(--crit)}.br-gaps li{margin:3px 0}

/* ---- Section dashboards ---- */
.dh{--dc:var(--leather);position:relative;overflow:hidden;border-radius:16px;padding:22px 24px;margin-bottom:14px;color:#fff;
  background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--dc) 55%,#fff 0%) 0%,transparent 55%),linear-gradient(120deg,color-mix(in srgb,var(--dc) 88%,#000) 0%,color-mix(in srgb,var(--dc) 60%,#1b231f) 100%);
  display:grid;gap:14px;box-shadow:0 10px 30px -18px color-mix(in srgb,var(--dc) 80%,#000)}
.dh::after{content:"";position:absolute;inset-inline-end:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07)}
.dh.t-leather{--dc:var(--leather)}.dh.t-hay{--dc:var(--hay)}.dh.t-rose{--dc:var(--c-rose)}.dh.t-teal{--dc:var(--c-teal)}.dh.t-amber{--dc:var(--c-amber)}
.dh.t-green{--dc:var(--ok)}.dh.t-pink{--dc:var(--c-pink)}.dh.t-blue{--dc:var(--info)}.dh.t-violet{--dc:var(--c-violet)}
.dh-main{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.dh-ic{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none;backdrop-filter:blur(2px)}
.dh-ic svg{width:28px;height:28px}
.dh h1{margin:0;font-size:1.6rem;color:#fff}
.dh-date{opacity:.85;font-size:.85rem;display:flex;align-items:center;gap:6px;margin-top:2px}.dh-date svg{width:14px;height:14px}
.dh-say{position:relative;z-index:1;display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.14);border-radius:12px;padding:10px 14px;font-size:.95rem;line-height:1.5;max-width:900px}
.dh-say svg{width:18px;height:18px;flex:none;margin-top:2px}
.dh-say.a-crit{background:rgba(220,60,50,.35)}.dh-say.a-warn{background:rgba(240,170,40,.3)}
.dh-acts{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}
.dh-acts a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:99px;background:rgba(255,255,255,.14);color:#fff;font-size:.85rem;text-decoration:none;border:1px solid rgba(255,255,255,.22)}
.dh-acts a:hover{background:rgba(255,255,255,.26);text-decoration:none}.dh-acts a svg{width:15px;height:15px}
.dh-acts a.is-locked{display:none}
.dk-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.dk.dk-alarm{border-color:var(--crit);box-shadow:inset 0 0 0 1px var(--crit-soft)}
.dk-ins{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin-bottom:14px}
.dk-in{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--info);font-size:.88rem;line-height:1.5}
.dk-in svg{width:17px;height:17px;flex:none;margin-top:2px;color:var(--info)}
.dk-in.a-crit{border-inline-start-color:var(--crit);background:var(--crit-soft)}.dk-in.a-crit svg{color:var(--crit)}
.dk-in.a-warn{border-inline-start-color:var(--warn);background:var(--warn-soft)}.dk-in.a-warn svg{color:var(--warn)}
.dk-in.a-ok{border-inline-start-color:var(--ok)}.dk-in.a-ok svg{color:var(--ok)}
.dk-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}
.dk-chart.wide{grid-column:1/-1}
.dk-bottom{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;align-items:start}
.dk-bottom .card-head h2{display:flex;align-items:center;gap:8px}.dk-bottom .card-head h2 svg{width:17px;height:17px;color:var(--muted)}
.dk-tl{list-style:none;margin:0;padding:6px 0;max-height:520px;overflow:auto}
.dk-tl li a{display:flex;gap:12px;align-items:center;padding:8px 14px;color:var(--ink);text-decoration:none;border-inline-start:3px solid var(--line-2)}
.dk-tl li a:hover{background:var(--surface-2)}
.dk-tl li.t-crit a{border-inline-start-color:var(--crit)}.dk-tl li.t-warn a{border-inline-start-color:var(--warn)}.dk-tl li.t-rose a,.dk-tl li.t-pink a{border-inline-start-color:var(--c-pink)}
.dk-tl li.t-teal a{border-inline-start-color:var(--c-teal)}.dk-tl li.t-amber a,.dk-tl li.t-hay a{border-inline-start-color:var(--hay)}.dk-tl li.t-green a{border-inline-start-color:var(--ok)}.dk-tl li.t-info a{border-inline-start-color:var(--info)}
.dk-tl li.past a{opacity:.7}
.dk-day{width:42px;height:42px;border-radius:10px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1.05}
.dk-day b{font-size:1rem}.dk-day small{font-size:.66rem;color:var(--muted)}
.dk-txt{display:flex;flex-direction:column;font-size:.86rem;gap:2px}.dk-txt small{color:var(--muted);font-size:.74rem}
.dk-rows{list-style:none;margin:0;padding:0}
.dk-rows li>a,.dk-rows li>div{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 14px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;border-inline-start:3px solid transparent}
.dk-rows li>a:hover{background:var(--surface-2)}
.dk-rows li.t-crit>*{border-inline-start-color:var(--crit)}.dk-rows li.t-warn>*{border-inline-start-color:var(--warn)}.dk-rows li.t-ok>*{border-inline-start-color:var(--ok)}.dk-rows li.t-info>*{border-inline-start-color:var(--info)}
.dk-rt{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.86rem}.dk-rt small{color:var(--muted);font-size:.76rem}
.dk-rb{flex:none;font-size:.76rem;padding:3px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.dk-rows li.t-crit .dk-rb{background:var(--crit-soft);color:var(--crit)}.dk-rows li.t-warn .dk-rb{background:var(--warn-soft);color:var(--warn)}.dk-rows li.t-ok .dk-rb{background:var(--ok-soft);color:var(--ok)}
.dk-empty{padding:18px 14px;color:var(--ok);font-size:.88rem;display:flex;gap:8px;align-items:center}.dk-empty svg{width:16px;height:16px}
.dk-all{display:block;padding:9px 14px;border-top:1px solid var(--line);font-size:.84rem}
@media (max-width:900px){.dk-charts{grid-template-columns:1fr}.dh{padding:16px}.dh h1{font-size:1.3rem}}
.t-blue{--c:var(--info)}

/* ---- Section dashboards: fixed layout ---- */
.dk-kpis{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:0;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.dk-k{display:flex;flex-direction:column;padding:14px 16px 10px;color:var(--ink);text-decoration:none;border-inline-start:1px solid var(--line);min-width:0;transition:background .15s}
.dk-k:first-child{border-inline-start:0}
.dk-k:hover{background:var(--surface-2);text-decoration:none}
.dk-k.alarm{background:var(--crit-soft)}
.dk-k .kp-h{min-width:0}.dk-kl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-k .kp-s{font-size:.78rem;color:var(--muted);margin-top:2px;min-height:1.2em}
.dk-sp{margin-top:auto;min-height:34px}
.dk-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start;margin-bottom:14px}
.dk-main{display:grid;gap:14px;min-width:0}
.dk-side{position:sticky;top:76px;display:grid;gap:14px}
.dk-side .dk-tl{max-height:calc(100vh - 170px)}
.dk-notes ul{list-style:none;margin:0;padding:4px 0}
.dk-notes li{display:flex;gap:10px;align-items:flex-start;padding:9px 16px;font-size:.88rem;line-height:1.5;border-inline-start:3px solid var(--info)}
.dk-notes li+li{border-top:1px solid var(--line)}
.dk-notes li svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--info)}
.dk-notes li.a-crit{border-inline-start-color:var(--crit)}.dk-notes li.a-crit svg{color:var(--crit)}
.dk-notes li.a-warn{border-inline-start-color:var(--warn)}.dk-notes li.a-warn svg{color:var(--warn)}
.dk-notes li.a-ok{border-inline-start-color:var(--ok)}.dk-notes li.a-ok svg{color:var(--ok)}
.dk-notes .card-head h2,.dk-main .card-head h2{display:flex;align-items:center;gap:8px}.dk-main .card-head h2 svg{width:17px;height:17px;color:var(--muted)}
.dk-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.dk-chart{display:flex;flex-direction:column}.dk-chart.full{grid-column:1/-1}
.dk-chart .card-body{flex:1;display:flex;flex-direction:column;justify-content:center}
.dk-chart .donut-wrap{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.dk-chart .donut{width:150px;height:150px;flex:none}
.dk-chart .ch-list{flex:0 1 230px;max-width:230px;min-width:150px}
.dk-chart .hbars{max-width:640px;margin-inline:auto;width:100%}
.dk-lists{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px;align-items:stretch}
.dk-list{display:flex;flex-direction:column}
.dk-list .dk-rows{max-height:380px;overflow:auto;flex:1}
.dk-list .dk-empty{flex:1}
.dk-list .dk-all{margin-top:auto}
@media (max-width:1180px){.dk-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dk-k:nth-child(3n+1){border-inline-start:0}.dk-k:nth-child(n+4){border-top:1px solid var(--line)}
  .dk-layout{grid-template-columns:1fr}.dk-side{position:static}}
@media (max-width:760px){.dk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-k{border-inline-start:0!important;border-top:1px solid var(--line)}
  .dk-charts,.dk-lists{grid-template-columns:1fr}}

/* ---- Box map ---- */
.smap{display:grid;gap:16px}
.smap-sh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--line-2)}
.smap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.smap.compact .smap-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}
.smap-box{position:relative;display:flex;flex-direction:column;gap:6px;min-height:92px;padding:8px 9px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .12s,box-shadow .12s}
a.smap-box:hover{transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}
.smap-box.s-occupied{background:linear-gradient(180deg,var(--ok-soft),var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
.smap-box.s-away{background:repeating-linear-gradient(135deg,var(--info-soft) 0 8px,var(--surface) 8px 16px);border-color:color-mix(in srgb,var(--info) 35%,var(--line))}
.smap-box.s-free{border-style:dashed;background:var(--surface-2)}
.smap-box.s-maintenance{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}
.smap-code{font-family:ui-monospace,monospace;font-size:.78rem;font-weight:700;color:var(--ink-2)}.smap-code i{font-style:normal}
.smap-h{display:flex;align-items:center;gap:7px;min-width:0}.smap-h b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smap-ph{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:none;background:var(--surface-3);display:inline-grid;place-items:center}.smap-ph svg{width:16px;height:16px}
.smap-f{display:flex;align-items:center;gap:4px;margin-top:auto}.smap-f small{color:var(--muted);font-size:.7rem;margin-inline-start:auto}
.smap-empty{margin:auto 0;color:var(--muted);font-size:.8rem}
.smap-more{position:absolute;top:6px;inset-inline-end:8px;font-size:.7rem;background:var(--surface-3);border-radius:99px;padding:0 6px}
.smap i[class^="fl-"]{display:inline-block;width:9px;height:9px;border-radius:50%}
.fl-preg{background:var(--c-pink)}.fl-case{background:var(--crit)}.fl-foal{background:var(--hay)}.fl-away{background:var(--info)}
.smap-legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);align-items:center}.smap-legend span{display:inline-flex;align-items:center;gap:6px}
.smap-legend .lg{display:inline-block;width:14px;height:11px;border-radius:3px;border:1px solid var(--line-2)}
.lg.s-occupied{background:var(--ok-soft)}.lg.s-free{background:var(--surface-2);border-style:dashed}.lg.s-away{background:var(--info-soft)}.lg.s-maintenance{background:var(--warn-soft)}
.st-card{margin-bottom:14px;padding:0 0 16px}
.st-card>.smap{padding:0 18px}
.st-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) auto;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);margin-bottom:14px}
.st-id{display:flex;gap:12px;align-items:center}.st-id h2{margin:0;font-size:1.15rem;display:flex;gap:8px;align-items:center}
.st-ic{width:44px;height:44px;border-radius:12px;background:var(--hay-soft);color:var(--leather);display:grid;place-items:center;flex:none}.st-ic svg{width:22px;height:22px}
.st-occ{display:grid;gap:6px}.st-occ-n{display:flex;align-items:baseline;gap:8px}.st-occ-n b{font-size:1.4rem}
.st-bar{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden;display:flex}.st-bar .o{background:var(--ok)}.st-bar .mt{background:var(--warn)}
.st-nums{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted)}.st-nums b{color:var(--ink)}
.st-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:1000px){.st-head{grid-template-columns:1fr}.st-acts{justify-content:flex-start}}
.dk-lists .card-head h2,.dk-side .card-head h2{display:flex;align-items:center;gap:8px}
.dk-lists .card-head h2 svg,.dk-side .card-head h2 svg{width:17px;height:17px;flex:none;color:var(--muted)}
.dk-chart .chart{max-height:300px;width:100%}
.dk-chart.full .chart{max-height:230px}

/* ---- Pedigree tree ---- */
.pd-tree{display:grid;grid-template-columns:150px repeat(var(--pd-g,4),minmax(150px,1fr));gap:10px;padding:14px;overflow-x:auto}
.pd-tree.g5{--pd-g:5}.pd-tree.g4{--pd-g:4}
.pd-col{display:flex;flex-direction:column;min-width:0}.pd-cells{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:5px}
.br-score.pd-s b{font-size:.9rem}
.pd-gh{font-size:.72rem;color:var(--muted);text-align:center;font-weight:600;margin-bottom:2px}
.pd-cell{border:1px solid var(--line);border-radius:9px;padding:5px 9px;display:flex;flex-direction:column;background:var(--surface);min-height:34px;justify-content:center;line-height:1.3}
.pd-cell b{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-cell b a{color:inherit}
.pd-cell small{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-m{border-inline-start:3px solid var(--info)}.pd-f{border-inline-start:3px solid #c0608f}
.pd-none{opacity:.55;border-style:dashed}.pd-none span{color:var(--muted);font-size:.8rem}
.pd-self{background:var(--hay-soft);border-color:var(--hay);text-align:center;padding:14px 8px}.pd-self b{font-size:1rem;white-space:normal}
.pd-root{justify-content:center}
.pd-rep{box-shadow:inset 0 0 0 2px var(--pd-c)}.pd-rep b::after{content:" ●";color:var(--pd-c)}
.r0{--pd-c:#d9822b}.r1{--pd-c:#2a9d8f}.r2{--pd-c:#8e5ccf}.r3{--pd-c:#c94f4f}.r4{--pd-c:#4f7fc9}.r5{--pd-c:#7a9a2b}
.pd-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pd-c);margin-inline-end:6px}
.pd-edit .pd-cell{padding:5px;gap:3px}
.pd-edit input{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:3px 6px;font:inherit;font-size:.8rem;background:var(--surface);color:var(--ink)}
.pd-edit .pd-n{font-weight:600}
.pd-x{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:3px}.pd-x input{font-size:.7rem;padding:2px 4px}
.pd-edit.g5,.pd-edit.g4{grid-template-columns:150px repeat(var(--pd-g),minmax(190px,1fr))}
tr.row-sel td{background:var(--hay-soft)}
@media (max-width:700px){.pd-tree{grid-template-columns:110px repeat(var(--pd-g,4),minmax(130px,1fr))}}

/* ---- Control: errors and health ---- */
.nav .nav-count{margin-inline-start:auto;min-width:20px;height:20px;border-radius:10px;padding:0 6px;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;background:var(--crit);color:#fff}
.err-bars{display:flex;align-items:flex-end;gap:3px;height:50px;margin-top:12px}
.err-bars span{flex:1;background:var(--surface-3);border-radius:3px 3px 0 0}.err-bars span.on{background:var(--crit)}
.err-trace{margin:0;padding:14px 16px;font-family:'IBM Plex Mono',monospace;font-size:.76rem;line-height:1.6;white-space:pre-wrap;word-break:break-all;background:var(--surface-2);color:var(--ink);border-radius:0 0 var(--radius) var(--radius);text-align:left}
.hc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.hc{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none}
.hc div{display:flex;flex-direction:column;min-width:0}.hc span:not(.hc-dot){font-size:.75rem;color:var(--muted)}.hc b{font-size:.9rem;overflow-wrap:anywhere}
.hc-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:none;background:var(--muted)}
.hc-ok .hc-dot{background:var(--ok)}.hc-warn .hc-dot{background:var(--warn)}.hc-crit .hc-dot{background:var(--crit)}
.hc-crit{border-color:var(--crit);background:var(--crit-soft)}.hc-warn{border-color:var(--warn)}
@media (max-width:1000px){.hc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.hc-grid{grid-template-columns:1fr}}
.err-mail b{display:flex;align-items:center;gap:6px}.err-mail b svg{width:18px;height:18px;flex:none}
.bk-opt{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.bk-opt span{display:flex;flex-direction:column}.bk-opt small{color:var(--muted);font-size:.76rem}.bk-opt.is-off{opacity:.55;cursor:default}
.bk-steps{margin:0 0 10px;padding-inline-start:20px;display:grid;gap:6px;font-size:.88rem}
.bk-points{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.bk-points li{display:flex;gap:8px;align-items:flex-start}.bk-points svg{width:16px;height:16px;color:var(--ok);flex:none;margin-top:3px}
.pd-edit .pd-none{opacity:1;border-style:solid;background:var(--surface)}.pd-edit .pd-none input{background:var(--surface)}
/* pedigree identity */
.pd-v{font-style:normal;display:inline-block;font-size:.66rem;font-weight:700;line-height:1;padding:2px 4px;border-radius:5px;background:var(--ok-soft);color:var(--ok);vertical-align:middle}
.pd-v.dna{background:var(--info-soft);color:var(--info)}
.pd-x2{grid-template-columns:1.6fr .6fr auto auto;align-items:center}
.pd-x2 label{display:flex;align-items:center;gap:2px;font-size:.66rem;color:var(--muted);white-space:nowrap}.pd-x2 label input{width:auto;margin:0}
.pd-ask{box-shadow:0 0 0 2px var(--crit);background:var(--crit-soft)!important}
.pd-q{display:grid;gap:3px;margin-top:4px;font-size:.72rem}.pd-q b{color:var(--crit)}.pd-q label{display:flex;gap:4px;align-items:center}.pd-q input{width:auto}
.pd-edit .pd-cell{min-height:92px}
/* genetic tests guide */
.gen-guide>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.gen-guide>summary::-webkit-details-marker{display:none}
.gen-guide>summary h2{display:flex;align-items:center;gap:8px}.gen-guide>summary h2 svg{width:18px;height:18px;color:var(--hay)}
.gen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:10px 0}
.gen-item{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.gen-item b{display:flex;gap:6px;align-items:center;font-size:.88rem}.gen-item p{margin:6px 0 0;font-size:.82rem;color:var(--muted);line-height:1.6}
.gen-h{font-size:.92rem;margin:14px 0 8px}
.gen-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.gen-res p{margin:4px 0 0;font-size:.8rem;color:var(--muted)}
.gen-tbl td,.gen-tbl th{font-size:.82rem}
/* horse passport pages */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:10px}
.pp-page{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);display:flex;flex-direction:column}
.pp-page a{display:flex;align-items:center;justify-content:center;height:150px;background:var(--surface-3)}
.pp-page img{max-width:100%;max-height:150px;object-fit:contain;display:block}
.pp-pdf{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:700;color:var(--crit)}.pp-pdf svg{width:34px;height:34px}
.pp-page figcaption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;font-size:.76rem}
.pp-page figcaption form{margin:0}.pp-del{border:0;background:none;color:var(--muted);cursor:pointer;padding:2px;display:flex}.pp-del svg{width:14px;height:14px}.pp-del:hover{color:var(--crit)}
.pp-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pp-add select{max-width:200px}.pp-add input[type=file]{flex:1;min-width:180px;font-size:.8rem}
.pp-rows{display:grid;gap:6px}.pp-row{padding:6px 8px;border:1px dashed var(--line);border-radius:8px}
.pp-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pp-card{margin-top:14px}
.pp-up>summary{list-style:none;display:inline-flex;cursor:pointer}.pp-up>summary::-webkit-details-marker{display:none}
.pp-up[open]>summary{margin-bottom:8px}
/* AI advisor cards */
.ai-adv{border:1px solid #d9ccff;background:linear-gradient(180deg,#faf8ff,var(--surface));margin-bottom:12px}
.ai-adv-h{display:flex;align-items:center;gap:12px;padding:12px 14px;flex-wrap:wrap}
.ai-adv-i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff,#b06ab3);color:#fff;font-size:1.1rem;flex:none}
.ai-adv-h>div{flex:1;min-width:200px}
.ai-adv-h b{display:block}
.ai-adv-h small{color:var(--muted);font-size:.8rem}
.ai-adv-f{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.ai-adv-f select{min-width:150px}
.btn-ai{background:linear-gradient(135deg,#7c5cff,#b06ab3);color:#fff;border:0}
.btn-ai:hover{filter:brightness(1.08);color:#fff}
.btn-ai:disabled{opacity:.6}
.ai-adv-out{padding:0 14px 14px}
.ai-adv-out .assist-ai{padding:12px 14px}
.ai-adv-out .assist-ai p{line-height:1.8}
.ai-adv-wait{color:#5b3fd1;font-weight:600;padding:8px 0;animation:aiPulse 1.4s ease-in-out infinite}
@keyframes aiPulse{50%{opacity:.45}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ai-adv{background:var(--surface);border-color:#4a3d7a}}
:root[data-theme="dark"] .ai-adv{background:var(--surface);border-color:#4a3d7a}
/* My tasks today */
.td-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.td-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;border-top:4px solid var(--td,var(--leather))}
.td-card.t-hay{--td:#c08a2b}.td-card.t-rose{--td:#c2415d}.td-card.t-blue{--td:#2f6fb3}.td-card.t-violet{--td:#7a4fd0}.td-card.t-green{--td:#2f8a57}.td-card.t-pink{--td:#c24f9b}
.td-head{display:flex;align-items:center;gap:12px;padding:14px;color:inherit;text-decoration:none}
.td-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--td) 14%,transparent);color:var(--td);flex:none}
.td-ic svg{width:24px;height:24px}
.td-tt{flex:1;min-width:0}.td-tt b{display:block;font-size:1.05rem}.td-tt small{color:var(--muted);font-size:.82rem}
.td-n{min-width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--td);color:#fff;font-weight:800;font-size:1.15rem;padding:0 6px}
.td-list{list-style:none;margin:0;padding:0 10px;flex:1}
.td-list li a{display:flex;flex-direction:column;padding:9px 8px;border-top:1px solid var(--line);color:inherit;text-decoration:none;border-radius:8px}
.td-list li a:hover{background:var(--bg-soft,rgba(0,0,0,.03))}
.td-list li b{font-weight:600}.td-list li span{font-size:.82rem;color:var(--muted)}
.td-list li.a-crit b::before,.td-list li.a-warn b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-inline-end:6px;vertical-align:middle;background:#d97706}
.td-list li.a-crit b::before{background:#dc2626}
.td-list li.td-more a{color:var(--td);font-weight:600;font-size:.85rem}
.td-go{margin:10px 14px 14px;justify-content:center;min-height:46px;font-size:1rem}
.td-go svg{width:18px;height:18px}
[dir=rtl] .td-go svg{transform:scaleX(-1)}
@media (max-width:640px){.td-grid{grid-template-columns:1fr}}
.td-install{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px dashed var(--leather,#6b3f23);border-radius:16px;padding:12px 14px;margin-bottom:12px}
.td-install .td-ic{background:none;width:44px;height:44px}.td-install .td-ic img{width:44px;height:44px;border-radius:12px}
.td-install>div{flex:1;min-width:200px}.td-install b{display:block}.td-install small{display:block;color:var(--muted);font-size:.82rem}
.td-install .td-ios{display:none;font-weight:600;color:var(--leather,#6b3f23)}
.td-install.show-ios .td-ios{display:block}
/* Box card (QR on the box door) */
.bx-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:linear-gradient(135deg,#1d2622,#33302a);color:#fff;border-radius:18px;padding:16px;margin-bottom:12px}
.bx-code{background:#6b3f23;border-radius:14px;padding:8px 14px;text-align:center}.bx-code small{display:block;font-size:.7rem;opacity:.8}.bx-code b{font-size:1.6rem}
.bx-photo{width:64px;height:64px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:none}
.bx-photo img{width:100%;height:100%;object-fit:cover}.bx-photo svg{width:34px;height:34px}
.bx-name{flex:1;min-width:160px}.bx-name b{display:block;font-size:1.35rem}.bx-name small{opacity:.8}
.bx-head .btn{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}
.bx-note{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;margin-bottom:8px;background:#fff7e6;border:1px solid #f3d9a4;color:#7a4a00;text-decoration:none}
.bx-note.sev-critical{background:#fdecec;border-color:#f3b8b8;color:#8a1c1c}.bx-note.sev-info{background:#eef5ff;border-color:#c9dcf5;color:#204a7a}
.bx-note svg{width:18px;height:18px;flex:none}
.bx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.bx-card{padding:14px}.bx-card h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:0 0 6px}.bx-card h2 svg{width:20px;height:20px}
.bx-list{list-style:none;margin:0 0 8px;padding:0}.bx-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.bx-list li .badge{margin-inline-start:auto}
.bx-form{display:grid;gap:8px}.bx-form label span{display:block;font-size:.82rem;color:var(--muted);margin-bottom:2px}
.bx-form input[type=number],.bx-form input[type=text],.bx-form select{width:100%;min-height:46px;font-size:1.05rem}
.bx-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.bx-fields .wide,.bx-fields .bx-btn{grid-column:1/-1}
.bx-btn{min-height:50px;justify-content:center;font-size:1.02rem;width:100%}
.bx-ok{background:#2f8a57;color:#fff;border:0}.bx-ok:hover{color:#fff;filter:brightness(1.06)}
.bx-more{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
/* Bookings & occupancy */
.bk-nav{display:flex;gap:6px}
.bk-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:0 14px 8px;color:var(--muted)}
.bk-c{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--line);background:var(--surface);vertical-align:middle}
.bk-c.horse,.bk-grid td.bk-horse{background:#d9c3ad}.bk-c.booked,.bk-grid td.bk-booked{background:#bcd3f2}.bk-c.in,.bk-grid td.bk-in{background:#b9e0c6}
.bk-wrap{overflow-x:auto;padding:0 14px 14px}
.bk-grid{border-collapse:separate;border-spacing:2px;font-size:.75rem;min-width:100%}
.bk-grid th{font-weight:600;color:var(--muted);text-align:center;padding:2px;min-width:30px;line-height:1.1}
.bk-grid th small{display:block;font-weight:400;font-size:.65rem}
.bk-grid th.is-fri{color:#c2415d}.bk-grid th.is-today{color:var(--leather,#6b3f23);border-bottom:2px solid currentColor}
.bk-grid .bk-box{position:sticky;inset-inline-start:0;background:var(--surface);z-index:1;text-align:start;padding-inline:6px;min-width:56px}
.bk-grid td{height:28px;background:var(--bg-soft,#f3f4f1);border-radius:5px;position:relative;white-space:nowrap;overflow:visible}
.bk-grid td.is-today{outline:2px solid var(--leather,#6b3f23);outline-offset:-2px}
.bk-grid td span{position:absolute;inset-inline-start:4px;top:6px;font-size:.7rem;font-weight:600;color:#1d2622;pointer-events:none;z-index:1}
.bk-list{display:grid;gap:10px;padding:0 14px 14px}
.bk-item{border:1px solid var(--line);border-radius:14px;padding:12px;border-inline-start:4px solid var(--line)}
.bk-item.s-request{border-inline-start-color:#d97706}.bk-item.s-confirmed{border-inline-start-color:#2f6fb3}.bk-item.s-in{border-inline-start-color:#2f8a57}
.bk-item header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.bk-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;color:var(--muted)}.bk-meta span{display:inline-flex;gap:4px;align-items:center}.bk-meta svg{width:14px;height:14px}
.bk-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.bk-acts select{min-width:150px}
.bk-mine li{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 14px;border-top:1px solid var(--line)}

/* Guided tour */
.tour{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px;counter-reset:none}
.tour-stop{display:flex;gap:12px;align-items:flex-start}
.tour-n{width:38px;height:38px;border-radius:50%;background:var(--leather,#6b3f23);color:#fff;font-weight:800;display:grid;place-items:center;flex:none;margin-top:8px}
.tour-card{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.tour-h{display:flex;align-items:center;gap:10px}.tour-h h2{margin:0;font-size:1.08rem}
.tour-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--bg-soft,#f3f4f1);color:var(--leather,#6b3f23)}.tour-ic svg{width:20px;height:20px}
.tour-card p{margin:8px 0;line-height:1.7}
.tour-dec{background:var(--ok-soft);color:var(--ok);padding:8px 10px;border-radius:10px}
.tour-card .btn svg{width:16px;height:16px}[dir=rtl] .tour-card .btn svg{transform:scaleX(-1)}

/* Horse sale file */
.sf-page{background:#f3f1ec}
.sf-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;background:#1d2622;color:#fff;font-size:.9rem}
.sf-top a{color:#f0d9a8}.sf-brand{display:flex;align-items:center;gap:8px;font-weight:600}.sf-brand img{width:26px;height:26px}
.sf-main{max-width:980px;margin:0 auto;padding:16px}
.sf{display:grid;gap:12px}
.sf-hero{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#1d2622,#3a2a1c);color:#fff;border-radius:20px;padding:18px}
.sf-photo{width:170px;height:170px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none}
.sf-photo img{width:100%;height:100%;object-fit:cover}.sf-photo svg{width:70px;height:70px;opacity:.6}
.sf-id{flex:1;min-width:220px}.sf-id small{color:#f0d9a8;letter-spacing:.04em}
.sf-id h1{margin:4px 0;font-family:"Reem Kufi",var(--font,inherit);font-size:2rem;line-height:1.2}.sf-cc{font-size:1rem;opacity:.75}
.sf-en{opacity:.8;font-size:1.05rem}
.sf-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.sf-tags span{background:rgba(255,255,255,.12);border-radius:999px;padding:4px 12px;font-size:.85rem}
.sf-price{margin-top:12px;font-size:1.7rem;font-weight:800;color:#f0d9a8}.sf-price small{font-size:.9rem}
.sf-note{background:#fff7e6;border:1px solid #f3d9a4;border-radius:14px;padding:12px 14px;line-height:1.8}
.sf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.sf-card{background:var(--surface,#fff);border:1px solid var(--line,#e4e2dc);border-radius:16px;padding:14px 16px}
.sf-card h2{display:flex;align-items:center;gap:8px;font-size:1.05rem;margin:0 0 10px}.sf-card h2 svg{width:20px;height:20px;color:var(--leather,#6b3f23)}
.sf-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.sf-card dt{color:var(--muted)}.sf-card dd{margin:0;font-weight:600}
.sf-list{list-style:none;margin:0;padding:0}.sf-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line,#eee);font-size:.92rem}
.sf-ok{border-radius:10px;padding:8px 10px;margin:0 0 8px;font-weight:600}.sf-ok.ok{background:var(--ok-soft,#e7f5ec);color:var(--ok,#2f8a57)}.sf-ok.warn{background:#fff7e6;color:#9a5b00}
.t-ok{color:var(--ok,#2f8a57)}.t-warn{color:#b26a00}.t-crit{color:var(--crit,#c2415d)}
.sf-pedgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;font-size:.88rem}
.sf-pedgrid>div{display:grid;gap:4px}.sf-pedgrid .c1{grid-template-rows:1fr 1fr}.sf-pedgrid .c2{grid-template-rows:repeat(4,1fr)}.sf-pedgrid .c3{grid-template-rows:repeat(8,1fr)}
.sf-pedgrid .c1>div{background:#f3ece4;border-radius:10px;padding:8px;display:flex;flex-direction:column;justify-content:center}
.sf-pedgrid .c2>div{background:#f7f3ee;border-radius:10px;padding:6px 8px;display:flex;align-items:center}
.sf-pedgrid .c3>div{background:#fbf9f6;border-radius:8px;padding:5px 8px;color:var(--muted)}
.sf-pedgrid .k{font-size:.75rem;color:var(--muted)}
.sf-pedfacts{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:.85rem}
.sf-gen{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.sf-gen span{border:1px solid var(--line,#eee);border-radius:999px;padding:4px 12px;font-size:.85rem}
.sf-stats{display:flex;gap:10px;margin-bottom:8px}.sf-stats div{flex:1;background:#f7f3ee;border-radius:12px;padding:8px;text-align:center}.sf-stats b{display:block;font-size:1.4rem}.sf-stats span{font-size:.8rem;color:var(--muted)}
.sf-title{margin:4px 0;font-weight:600}
.sf-foot{background:var(--surface,#fff);border:1px solid var(--line,#e4e2dc);border-radius:16px;padding:14px 16px}
.sf-contact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.sl-list li{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--line)}
.sl-url{width:100%;margin-top:6px;font-size:.78rem}.sl-acts{display:flex;gap:4px;flex-wrap:wrap}.sl-acts form{margin:0}
@media (max-width:640px){.sf-pedgrid{grid-template-columns:1fr 1fr}.sf-pedgrid .c3{display:none}.sf-photo{width:120px;height:120px}.sf-id h1{font-size:1.6rem}}
@media print{.sf-top{display:none}.sf-page{background:#fff}.sf-main{padding:0}.sf-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sf-card,.sf-foot{break-inside:avoid}}

.card-head h2>svg{width:20px;height:20px;vertical-align:-4px;flex:none}

/* Weekly reports & contract */
.bk-contract{display:block!important;border-top:0!important;padding-top:0!important}
.bk-sign{display:grid;gap:8px;background:#faf8f4;border:1px solid var(--line);border-radius:12px;padding:12px}
.bk-text{white-space:pre-wrap;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.88rem;line-height:1.9}
