/* MOG admin — soft white surface, navy ink, same tokens as the site */
body.adm{background:var(--ink);color:var(--bg);min-height:100svh}
.adm h2{font-family:var(--f-display);font-size:2rem;margin-bottom:16px}
.adm .pill{border-color:var(--line);height:38px}
.adm .pill:hover{border-color:var(--bg)}
.card-box{background:#fff8;border:1px solid var(--line);border-radius:22px;padding:24px}
.field input,.field select,.field textarea{width:100%;background:#fff9;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.field.inline{display:flex;flex-direction:column;margin:0;min-width:150px}

.login{min-height:100svh;display:grid;place-items:center;padding:16px}
.login[hidden],#app[hidden],[data-pane][hidden],.toast[hidden]{display:none}
.login form{width:min(420px,100%)}
.login .display{font-size:3rem;margin-bottom:6px}
.back{display:block;text-align:center;margin-top:16px;font-size:.9rem;opacity:.7}

.adm-top{position:sticky;top:0;z-index:20;background:var(--bg);color:var(--ink)}
.adm-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.adm-top .pill{border-color:color-mix(in srgb,var(--ink) 25%,transparent)}
.adm-top .brand-name{font-size:1.8rem}
.adm-tabs{display:flex;gap:4px;padding:4px;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);border-radius:999px}
.adm-tabs button{border:0;background:none;border-radius:999px;height:38px;padding:0 18px;color:var(--ink)}
.adm-tabs button.on{background:var(--ink);color:var(--bg)}
.adm-user{display:flex;align-items:center;gap:8px}
.adm-main{padding-block:32px 80px}

.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.toolbar .pill.on{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.toolbar h2{margin:0 0 0 auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.stat{background:var(--bg);color:var(--ink);border-radius:18px;padding:16px 18px}
.stat b{display:block;font-family:var(--f-display);font-size:2.2rem;line-height:1.1}
.stat span{font-size:.85rem;opacity:.75}

.list{display:grid;gap:10px}
.empty{padding:40px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--dim)}
.bk{display:grid;grid-template-columns:110px 1.3fr 1.2fr 1fr auto;gap:14px;align-items:center;background:#fff8;border:1px solid var(--line);border-radius:18px;padding:14px 18px}
.bk .time{font-family:var(--f-display);font-size:1.5rem;font-weight:700;line-height:1.1}
.bk .time small{display:block;font-family:var(--f-body);font-size:.75rem;font-weight:400;opacity:.65}
.bk .who b{display:block}
.bk .who a{font-size:.85rem;opacity:.8;text-decoration:underline}
.bk .meta2{font-size:.85rem;color:var(--dim)}
.bk .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.bk .acts button{height:36px;border-radius:999px;padding:0 14px;border:1px solid var(--line);background:transparent;font-size:.85rem}
.bk .acts .ok{background:var(--bg);color:var(--ink);border-color:var(--bg)}
.bk .acts .no:hover{border-color:#b3261e;color:#b3261e}
.badge{display:inline-block;font-size:.75rem;border-radius:999px;padding:2px 10px;margin-top:4px}
.badge.pending{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.badge.confirmed{background:var(--bg);color:var(--ink)}
.badge.cancelled{background:var(--line);text-decoration:line-through}

.crt{display:grid;grid-template-columns:1fr 1fr 130px 110px 80px 70px auto;gap:10px;align-items:end;background:#fff8;border:1px solid var(--line);border-radius:18px;padding:14px 18px}
.crt .field{margin:0}
.crt .chk{display:flex;align-items:center;gap:6px;height:44px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.grid2 .field{margin-top:10px}
.span2{grid-column:1/-1}
.usr{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:10px;align-items:center;background:#fff8;border:1px solid var(--line);border-radius:18px;padding:12px 18px}

/* segmented views (bookings status, report range) */
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;margin-bottom:16px}
.seg button{border:0;background:none;border-radius:999px;height:38px;padding:0 16px;color:inherit;display:inline-flex;align-items:center;gap:6px}
.seg button.on{background:var(--bg);color:var(--ink)}
.seg .cnt{font-size:.75rem;opacity:.7}
.seg .cnt:empty{display:none}
.toolbar .seg{margin:0}

/* charts: one series per chart → petrol ink bars, values in text ink */
.chart-card{background:#fff8;border:1px solid var(--line);border-radius:20px;padding:18px 20px;margin-bottom:14px}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.chart-head h3{font-size:1.05rem;font-family:var(--f-body);font-weight:600}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chart-grid .chart-card{margin:0}
.vbars{display:flex;align-items:stretch;gap:2px;height:220px;border-bottom:1px solid var(--line);padding-bottom:0;margin-bottom:28px}
.vcol{flex:1;position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;cursor:default}
.vcol:hover{background:color-mix(in srgb,var(--bg) 5%,transparent)}
.vbar{background:var(--bg);border-radius:4px 4px 0 0;min-height:0}
.vcol:hover .vbar{background:var(--accent)}
.vlab{position:absolute;top:100%;inset-inline-start:0;margin-top:6px;font-size:.7rem;color:var(--dim);white-space:nowrap}
.hbars{display:grid;gap:8px}
.hrow{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;font-size:.88rem;cursor:default}
.hl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.htrack{height:14px;display:flex}
.hbar{display:block;height:100%;background:var(--bg);border-start-end-radius:4px;border-end-end-radius:4px;min-width:2px}
.hrow:hover .hbar{background:var(--accent)}
.hv{font-variant-numeric:tabular-nums;min-width:48px;text-align:end}
.tbl summary{cursor:pointer;font-size:.85rem;color:var(--dim)}
.tbl table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.88rem}
.tbl td,.tbl th{padding:6px 4px;border-bottom:1px solid var(--line);text-align:start}
.tbl div{max-height:260px;overflow:auto}
.tip{position:fixed;z-index:95;pointer-events:none;background:var(--bg);color:var(--ink);font-size:.82rem;padding:6px 12px;border-radius:10px;white-space:nowrap}
.tip[hidden]{display:none}
@media(max-width:860px){.chart-grid{grid-template-columns:1fr}.vbars{height:170px}.hrow{grid-template-columns:90px 1fr auto}}

.toast{position:fixed;bottom:20px;inset-inline:0;margin:0 auto;width:max-content;max-width:90vw;background:var(--bg);color:var(--ink);padding:12px 20px;border-radius:999px;z-index:90;box-shadow:0 8px 24px rgba(0,0,0,.25)}

@media(max-width:860px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .bk{grid-template-columns:1fr 1fr}
  .bk .acts{grid-column:1/-1;justify-content:flex-start}
  .crt{grid-template-columns:1fr 1fr}
  .crt .save{grid-column:1/-1}
  .usr{grid-template-columns:1fr 1fr}
  .adm-tabs{order:3;width:100%;overflow-x:auto}
  .adm-tabs button{flex:1;white-space:nowrap}
  .grid2{grid-template-columns:1fr}
}
.rates{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;align-items:end;background:var(--bg);color:var(--ink);border-radius:18px;padding:16px 18px;margin-bottom:14px}
.rates small{display:block;opacity:.75;font-size:.82rem;margin-top:4px}
.rates .field{margin:0}.rates .field input{background:#fff;color:#0e2a30}
.crt .eq{grid-column:1/-1;font-size:.82rem;opacity:.7;margin-top:-4px}
@media (max-width:760px){.rates{grid-template-columns:1fr}}

.adm-brand{display:flex;align-items:center}
/* the logo is white; on the light login card it is shown in navy */
.login-logo{height:44px;width:auto;display:block;margin-bottom:18px;filter:brightness(0);opacity:.88}
.badge.requested{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.badge.awaiting_payment{background:linear-gradient(135deg,#3c83f6,#9952e0);color:#fff}
.badge.paid{background:#21c45d;color:#06210f}
.badge.rejected,.badge.expired{background:var(--line)}
.stat.hot{background:linear-gradient(135deg,#3c83f6,#9952e0)}
.bk.st-paid{box-shadow:inset 4px 0 0 #21c45d}.bk.st-requested{box-shadow:inset 4px 0 0 var(--accent)}
[dir=rtl] .bk.st-paid{box-shadow:inset -4px 0 0 #21c45d}[dir=rtl] .bk.st-requested{box-shadow:inset -4px 0 0 var(--accent)}
.due{color:#7a3fc4;font-weight:600}
.pill.wa{text-decoration:none}
.pill.wa.hot{background:#25d366;border-color:#25d366;color:#06210f;font-weight:600}
.pill.xl{border-color:#21c45d}
.xsheet{display:grid;gap:14px}
.xsheet .seg{flex-wrap:wrap}
.xdates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.xdates .field{margin:0}
.chk{display:flex;align-items:center;gap:8px;font-size:.92rem}
