/* ---------- Inter (Latin UI font, SIL OFL) — INLINED ----------
   Was loaded from fonts.googleapis.com, which made the app depend on the internet
   for its own typeface: offline (or on a blocked network) all Latin text fell back
   to a generic system sans. Inlined here so the app has ZERO external requests and
   renders identically with no connection — important for a workshop floor where
   wifi drops. Subset to Latin only; Arabic is served by ArabicUI below/above.
   Three cuts (400/600/800) because the app uses 400,500,600,700,800,900 — shipping
   only 400+700 would let the browser synthesise the heavy weights. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 500;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 501 700;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 701 900;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
}

/* ---------- Arabic / Persian UI font (Noto SANS Arabic, SIL OFL) ----------
   Inter has no Arabic glyphs, so Arabic/Farsi fell back to whatever the device
   provided — which differed per element and per device. Amin wanted the flat,
   geometric face (the one his device used for body copy), NOT the calligraphic
   Naskh it used for headings. Noto Sans Arabic is that face.
   Real Regular + Bold cuts are shipped so headings at font-weight 700/800/900
   use a genuine bold rather than a browser-synthesised (smeared) one.
   Subset to Arabic + Latin + ZWNJ (U+200C — Persian needs it: ثبت‌شده, می‌کنیم)
   and inlined, since CDNs are blocked on this network. unicode-range keeps Latin
   on Inter — the Arabic font is only ever fetched for Arabic/Persian glyphs. */
@font-face {
    font-family: 'ArabicUI';
    font-style: normal;
    /* ranges, not single values: the app uses 400/500/600/700/800/900. Declaring
       only 400+700 would let the browser synthesise 800/900 on top of the real
       bold — the smearing we are fixing. 100-500 -> Regular. */
    font-weight: 100 500;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
    unicode-range: U+0600-06FF, U+200C-200F, U+2066-2069, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
    font-family: 'ArabicUI';
    font-style: normal;
    /* ranges, not single values: the app uses 400/500/600/700/800/900. Declaring
       only 400+700 would let the browser synthesise 800/900 on top of the real
       bold — the smearing we are fixing. 600-900 -> Bold. */
    font-weight: 600 900;
    font-display: swap;
    src: url(data:font/woff2;base64,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) format('woff2');
    unicode-range: U+0600-06FF, U+200C-200F, U+2066-2069, U+FB50-FDFF, U+FE70-FEFF;
}


:root {
    --accent: #06b6d4;
    --accent-2: #0ea5e9;
    --accent-glow: rgba(6, 182, 212, 0.35);
    --radius: 18px;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);

    /* status colours (theme-independent) */
    --ok: #10b981;        --ok-bg: rgba(16, 185, 129, 0.12);
    --warn: #f59e0b;      --warn-bg: rgba(245, 158, 11, 0.12);
    --danger: #ef4444;    --danger-bg: rgba(239, 68, 68, 0.12);
}

[data-theme="dark"] {
    --bg: #0a0f1a;
    --bg-2: #0e1626;
    --surface: rgba(255, 255, 255, 0.04);
    --surface-hover: rgba(255, 255, 255, 0.07);
    /* Opaque card surface. --surface is 4% white, so the fixed .bg-grid layer shows
       straight through every card. These are the same tint resolved against --bg,
       but solid — the grid stays on the page background where it belongs. */
    --surface-solid: #121a27;
    --surface-solid-hover: #18212f;
    --border: rgba(255, 255, 255, 0.08);
    --border-strong: rgba(255, 255, 255, 0.16);
    --text: #f1f5f9;
    --text-muted: #94a3b8;
    --shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.7);
    --grid: rgba(255, 255, 255, 0.025);
}

[data-theme="light"] {
    --bg: #eef2f7;
    --bg-2: #f8fafc;
    --surface: rgba(255, 255, 255, 0.85);
    --surface-hover: #ffffff;
    --border: rgba(15, 23, 42, 0.08);
    --border-strong: rgba(15, 23, 42, 0.14);
    --text: #0f172a;
    --text-muted: #64748b;
    --surface-solid: #ffffff;
    --surface-solid-hover: #f1f5f9;
    --shadow: 0 20px 45px -15px rgba(15, 23, 42, 0.25);
    --grid: rgba(15, 23, 42, 0.03);
}

[data-theme="premium"] {
    --accent: #fb923c;
    --accent-2: #f97316;
    --accent-glow: rgba(249, 115, 22, 0.38);
    --bg: #0a0805;
    --bg-2: #161009;
    --surface: rgba(255, 255, 255, 0.035);
    --surface-hover: rgba(251, 146, 60, 0.07);
    --border: rgba(251, 146, 60, 0.12);
    --border-strong: rgba(251, 146, 60, 0.28);
    --text: #faf4ec;
    --text-muted: #a89880;
    --surface-solid: #1c150d;
    --surface-solid-hover: #241b10;
    --shadow: 0 22px 55px -12px rgba(0, 0, 0, 0.85);
    --grid: rgba(251, 146, 60, 0.035);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

/* Form controls do NOT inherit font-family from their parent — the UA sheet gives
   them a system default (Arial). Since Inter carries no Arabic glyphs, an unstyled
   <button> fell back to Arial's Arabic while the rest of the page used the system
   Arabic fallback behind Inter — two different Arabic faces on one screen.
   Inheriting the FAMILY here fixes it once for every control, present and future.
   Deliberately not inheriting font-size: that would bump every unstyled control
   from the 13.3px UA default to the 16px body size and resize existing buttons.
   Anything that wants a different face (e.g. .winput's JetBrains Mono for
   plate/VIN) still overrides this further down. */
button, input, select, textarea, optgroup {
    font-family: inherit;
}

/* ---------- Theme-matched scrollbars ---------- */
* { scrollbar-width: thin; scrollbar-color: var(--accent) transparent; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--bg-2); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(var(--accent), var(--accent-2));
    border-radius: 99px;
    border: 3px solid var(--bg);
}
::-webkit-scrollbar-thumb:hover { filter: brightness(1.15); }
::-webkit-scrollbar-corner { background: var(--bg); }

body {
    font-family: 'Inter', 'ArabicUI', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.28s var(--ease), color 0.28s var(--ease);
    -webkit-font-smoothing: antialiased;
}

.bg-grid {
    position: fixed;
    inset: 0;
    background-image:
        linear-gradient(var(--grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 75%);
    pointer-events: none;
    z-index: 0;
}
.bg-glow {
    position: fixed;
    top: -25%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 700px;
    background: radial-gradient(circle, var(--accent-glow), transparent 60%);
    filter: blur(40px);
    opacity: 0.6;
    pointer-events: none;
    z-index: 0;
}

/* ---------- Brand mark ---------- */
.brand-mark { display: inline-flex; align-items: center; gap: 14px; }
.brand-logo {
    width: 56px; height: 56px;
    border-radius: 16px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 10px 30px -6px var(--accent-glow);
    flex-shrink: 0;
}
.brand-logo svg { width: 32px; height: 32px; stroke: #fff; }
.brand-text { line-height: 1; }
.brand-text .name {
    font-size: 1.6rem; font-weight: 900; letter-spacing: 0.04em;
}
.brand-text .name span { color: var(--accent); }
.brand-text .sub {
    font-size: 0.7rem; font-weight: 600; letter-spacing: 0.42em;
    color: var(--text-muted); text-transform: uppercase; margin-top: 6px;
}

/* ---------- Screens ---------- */
.screen {
    position: fixed; inset: 0;
    display: flex; align-items: center; justify-content: center;
    z-index: 2;
    opacity: 0; visibility: hidden;
    /* leaves fast, and is pulled behind the incoming screen so it can't ghost over it */
    transition: opacity 0.14s ease-in, visibility 0.14s, transform 0.14s ease-in;
}
.screen.active {
    opacity: 1; visibility: visible;
    z-index: 4;                       /* incoming screen always paints on top */
    transition: opacity 0.22s cubic-bezier(0.22, 1, 0.36, 1),
                visibility 0.22s,
                transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}
/* ---------- Wizard: native bottom-sheet motion ---------- */
#wizard {
    /* full-height sheet that slides up from the bottom edge */
    transform: translateY(100%);
    background: var(--bg);
    border-radius: 22px 22px 0 0;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45);
    /* exit: quick slide down, no fade (a sheet doesn't dissolve — it leaves) */
    opacity: 1;
    transition: transform 0.26s cubic-bezier(0.4, 0, 1, 1), visibility 0.26s;
}
#wizard.active {
    transform: translateY(0);
    /* enter: slightly slower, decelerating — the sheet "settles" */
    transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.36s;
}
/* grab handle */
#wizard::before {
    content: '';
    position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
    width: 40px; height: 4px; border-radius: 99px;
    background: var(--border-strong);
    z-index: 20; pointer-events: none;
}
.wiz-top { padding-top: 22px !important; }
@media (prefers-reduced-motion: reduce) {
    #wizard, #wizard.active { transition: transform 0.12s linear, visibility 0.12s; }
}
@media (prefers-reduced-motion: reduce) {
    .screen, .screen.active { transition: opacity 0.1s linear, visibility 0.1s; transform: none; }
}

/* ---------- Splash ---------- */
#splash { flex-direction: column; gap: 40px; background: var(--bg); z-index: 50; }
#splash .splash-brand { transform: scale(1.25); opacity: 0; animation: splashIn 1s var(--ease) 0.15s forwards; }
.splash-bar {
    width: 200px; height: 4px; border-radius: 99px;
    background: var(--border); overflow: hidden;
    opacity: 0; animation: fadeIn 0.5s ease 0.8s forwards;
}
.splash-bar i {
    display: block; height: 100%; width: 0;
    background: linear-gradient(90deg, var(--accent), var(--accent-2));
    border-radius: 99px;
    animation: load 1.8s var(--ease) 0.9s forwards;
}
@keyframes splashIn { to { transform: scale(1); opacity: 1; } }
@keyframes load { to { width: 100%; } }
@keyframes fadeIn { to { opacity: 1; } }

/* ---------- Login ---------- */
.card {
    position: relative;
    width: 100%; max-width: 410px;
    margin: 24px;
    padding: 40px 36px;
    background: var(--surface);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.login-head { text-align: center; margin-bottom: 30px; }
.login-head .brand-mark { flex-direction: column; gap: 16px; }
.login-head h2 { font-size: 1.3rem; font-weight: 700; margin-top: 22px; }
.login-head p { color: var(--text-muted); font-size: 0.88rem; margin-top: 6px; }

.field { margin-bottom: 16px; }
.field label {
    display: block; font-size: 0.78rem; font-weight: 600;
    color: var(--text-muted); margin-bottom: 8px; letter-spacing: 0.02em;
}
.input-wrap { position: relative; display: flex; align-items: center; }
.input-wrap svg {
    position: absolute; inset-inline-start: 14px; width: 18px; height: 18px;
    stroke: var(--text-muted); pointer-events: none;
}
.field input {
    width: 100%;
    padding-block: 13px;
    padding-inline: 44px 14px;
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    font-size: 0.95rem; font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}
.field input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--accent-glow);
}
.field input::placeholder { color: var(--text-muted); opacity: 0.6; }

/* remember-me row + switch */
.remember-row {
    display: flex; align-items: center; justify-content: space-between;
    margin: 4px 0 20px;
}
.switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch .track {
    width: 40px; height: 23px; border-radius: 99px;
    background: var(--bg-2); border: 1px solid var(--border-strong);
    position: relative; transition: background 0.25s, border-color 0.25s;
    flex-shrink: 0;
}
.switch .track::after {
    content: ''; position: absolute; top: 2px; left: 2px;
    width: 17px; height: 17px; border-radius: 50%;
    background: var(--text-muted);
    transition: transform 0.25s var(--ease), background 0.25s;
}
.switch input:checked + .track {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    border-color: transparent;
}
.switch input:checked + .track::after { transform: translateX(17px); background: #fff; }
.switch .switch-label { font-size: 0.82rem; font-weight: 600; color: var(--text-muted); }
.login-link { font-size: 0.8rem; font-weight: 600; color: var(--accent); cursor: pointer; }

.btn-primary {
    width: 100%; margin-top: 0;
    padding: 14px;
    border: none; border-radius: 12px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff; font-size: 0.98rem; font-weight: 700; font-family: inherit;
    cursor: pointer;
    box-shadow: 0 10px 24px -8px var(--accent-glow);
    transition: transform 0.15s var(--ease), box-shadow 0.2s, filter 0.2s;
}
.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.07); }
.btn-primary:active { transform: translateY(0); }

.login-error {
    display: none;
    margin-bottom: 16px; padding: 11px 14px;
    background: var(--danger-bg);
    border: 1px solid rgba(239, 68, 68, 0.35);
    color: #f87171; border-radius: 10px;
    font-size: 0.85rem; font-weight: 500;
    align-items: center; gap: 8px;
}
.login-error.show { display: flex; animation: shake 0.4s; }
@keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }

/* ---------- Login footer: network status + credit ---------- */
.login-foot {
    display: flex; flex-direction: column; align-items: center; gap: 12px;
    margin-top: 24px; padding-top: 20px;
    border-top: 1px solid var(--border);
}
.net-pill {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 5px 12px 5px 10px; border-radius: 999px;
    background: var(--ok-bg); border: 1px solid transparent;
    font-size: 0.74rem; font-weight: 600; color: var(--ok);
    letter-spacing: 0.01em;
    transition: color .2s ease, background .2s ease;
}
.net-pill i {
    width: 7px; height: 7px; border-radius: 50%; flex: none;
    background: var(--ok); box-shadow: 0 0 0 3px var(--ok-bg);
    animation: netPulse 2.4s ease-in-out infinite;
}
.net-pill.is-off { background: var(--danger-bg); color: var(--danger); }
.net-pill.is-off i {
    background: var(--danger); box-shadow: 0 0 0 3px var(--danger-bg);
    animation: none;
}
@keyframes netPulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.35; }
}
@media (prefers-reduced-motion: reduce) {
    .net-pill i { animation: none; }
}
.made-by {
    font-size: 0.72rem; color: var(--text-muted);
    letter-spacing: 0.01em; text-align: center;
}
.made-by b { color: var(--text); font-weight: 600; }

/* ---------- Shared app shell (owner + staff) ---------- */
.app-screen { display: block; overflow-y: auto; padding: 0; }
.topbar {
    position: sticky; top: 0; z-index: 10;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px;
    padding: 16px 28px;
    background: var(--surface);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
}
.topbar .brand-text .name { font-size: 1.15rem; }
.topbar .brand-logo { width: 42px; height: 42px; border-radius: 12px; }
.topbar .brand-logo svg { width: 24px; height: 24px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
/* .tb-desktop only exists so the mobile query can hide three buttons at once.
   `display: contents` dissolves the wrapper so its buttons remain direct flex
   items of .topbar-actions — without it the span becomes a single flex item and
   the buttons stack vertically inside it. */
.tb-desktop { display: contents; }

/* ---------- Headers stay LTR in every language ----------
   The topbar and the login card-actions hold only chrome — brand logo, language
   toggle, theme toggles, fullscreen, logout. No Arabic text runs through them,
   and RTL flex was reversing them (logo jumping right, buttons mirroring). Pin
   them LTR so the header is in the same place whichever language the shop is
   using. Note: direction is inherited — if you ever add an element here that
   DOES hold Arabic text, restore `direction: rtl` on it explicitly. */
[dir="rtl"] .topbar,
[dir="rtl"] .topbar-actions,
[dir="rtl"] .card-actions,
[dir="rtl"] .ca-group { direction: ltr; }

.icon-btn {
    width: 42px; height: 42px;
    display: grid; place-items: center;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; cursor: pointer; color: var(--text);
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.icon-btn:hover { background: var(--surface-hover); border-color: var(--border-strong); transform: translateY(-1px); }
.icon-btn svg { width: 20px; height: 20px; stroke: currentColor; }
.icon-btn.active {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    border-color: transparent; color: #fff;
    box-shadow: 0 8px 20px -8px var(--accent-glow);
}
.icon-btn.active:hover { filter: brightness(1.08); }
.icon-btn.danger:hover { border-color: var(--danger); color: var(--danger); }

/* ============================================================
   Module view + Dashboard
   ============================================================ */
/* `display:flex/grid` on an element beats the `hidden` attribute, so hidden
   would otherwise do nothing on #moduleGrid. Force it. */
[hidden] { display: none !important; }

.module-view { animation: mvIn 0.32s cubic-bezier(0.22, 1, 0.36, 1); }
@keyframes mvIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ============================================================
   iOS-style push / pop for the header (brand  ⇄  back + title)
   ------------------------------------------------------------
   The two blocks share ONE grid cell so they can cross-animate.
   Both travel the SAME direction (that's what makes it read as a
   navigation push rather than a crossfade), the title travels
   further than the chevron (parallax — the chevron feels anchored),
   and the outgoing element fades faster than the incoming one.
   RTL mirrors every X translation.
   ============================================================ */
.tb-lead { display: grid; min-width: 0; }
.tb-lead > * {
    grid-area: 1 / 1;                 /* stack brand + nav in the same cell */
    align-self: center;
}

/* Apple's navigation curve: quick out, long soft settle. */
.brand-mark, .tb-nav {
    transition: opacity 0.3s cubic-bezier(0.32, 0.72, 0, 1),
                transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
    will-change: transform, opacity;
}

/* ---- resting state: grid showing ---- */
.brand-mark { opacity: 1; transform: none; pointer-events: auto; }
.tb-nav {
    opacity: 0; pointer-events: none;
    transform: translateX(22px);       /* waiting off to the trailing side */
}
[dir="rtl"] .tb-nav { transform: translateX(-22px); }
.tb-nav .tb-back, .tb-nav .tb-nav-txt {
    transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1),
                opacity 0.3s cubic-bezier(0.32, 0.72, 0, 1);
}

/* ---- PUSH: module open ---- */
#owner.in-module .brand-mark {
    opacity: 0; pointer-events: none;
    transform: translateX(-26px);      /* exits toward the leading edge */
}
[dir="rtl"] #owner.in-module .brand-mark { transform: translateX(26px); }

#owner.in-module .tb-nav {
    opacity: 1; pointer-events: auto;
    transform: translateX(0);
}
/* parallax: the title starts further out than the chevron and catches up,
   so the chevron reads as fixed furniture and the title as the thing moving */
.tb-nav-txt { transform: translateX(14px); opacity: 0; }
[dir="rtl"] .tb-nav-txt { transform: translateX(-14px); }
#owner.in-module .tb-nav-txt { transform: translateX(0); opacity: 1; }

.tb-back { transform: scale(0.86); opacity: 0; }
#owner.in-module .tb-back { transform: scale(1); opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    .brand-mark, .tb-nav, .tb-nav-txt, .tb-back { transition: none; }
    .tb-nav, .brand-mark, .tb-nav-txt, .tb-back { transform: none !important; }
}

/* Back + module title live in the TOPBAR (they replace the brand block while a
   module is open). The topbar is pinned `direction: ltr` so its chrome never
   mirrors — which means the Arabic title inside it needs rtl restored, and the
   back arrow must be flipped manually. */
.tb-nav { display: flex; align-items: center; gap: 12px; min-width: 0; }
.icon-btn.tb-back { flex: none; }
[dir="rtl"] .icon-btn.tb-back svg { transform: scaleX(-1); }
.tb-nav-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
[dir="rtl"] .tb-nav-txt { direction: rtl; text-align: right; }
.tb-nav-title {
    font-size: 1.05rem; font-weight: 800; letter-spacing: -0.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.tb-nav-sub {
    font-size: 0.75rem; color: var(--text-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

@media (max-width: 560px) {
    .tb-nav-sub { display: none; }   /* no room next to 3 controls + burger */
    .tb-nav { gap: 8px; }
    .tb-nav-title { font-size: 0.95rem; }
}

.kpi-row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px; margin-bottom: 22px;
}
.kpi {
    display: flex; flex-direction: column; gap: 5px;
    padding: 18px; border-radius: var(--radius);
    background: var(--surface); border: 1px solid var(--border);
    border-top: 3px solid var(--border-strong);
}
.kpi.good { border-top-color: var(--ok); }
.kpi.warn { border-top-color: var(--warn); }
.kpi-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
[dir="rtl"] .kpi-label { text-transform: none; letter-spacing: 0; font-size: 0.8rem; }
/* money is Latin — never let RTL reorder it */
.kpi-value { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; direction: ltr; text-align: start; }
.kpi-sub { font-size: 0.76rem; color: var(--text-muted); }

.db-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.db-card {
    padding: 20px; border-radius: var(--radius);
    background: var(--surface); border: 1px solid var(--border);
}
.db-h { font-size: 0.95rem; font-weight: 700; margin-bottom: 16px; }
.db-empty { color: var(--text-muted); font-size: 0.85rem; padding: 8px 0; }

.fstats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.fstat {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 12px 6px; border-radius: 12px;
    background: var(--bg-2); border: 1px solid var(--border);
}
.fs-n { font-size: 1.35rem; font-weight: 800; direction: ltr; }
.fs-l { font-size: 0.68rem; color: var(--text-muted); text-align: center; }
.fstat.wait .fs-n { color: var(--warn); }
.fstat.live .fs-n { color: var(--accent); }
.fstat.ready .fs-n { color: var(--ok); }

.db-list { display: flex; flex-direction: column; }
.db-row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 11px 0; border-bottom: 1px solid var(--border);
}
.db-row:last-child { border-bottom: 0; padding-bottom: 0; }
.dbr-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.dbr-name { font-size: 0.86rem; font-weight: 600; }

/* share-of-sales badge on payment methods + top services */
.pct-pill {
    display: inline-block; margin-inline-start: 6px;
    font-size: 0.68rem; font-weight: 700;
    padding: 1px 6px; border-radius: 99px;
    background: var(--bg-2); border: 1px solid var(--border);
    color: var(--text-muted);
    direction: ltr;   /* "45%" must never be reordered under RTL */
}
.svc-rank {
    display: inline-grid; place-items: center;
    width: 17px; height: 17px; border-radius: 5px;
    margin-inline-end: 6px; vertical-align: middle;
    background: var(--bg-2); border: 1px solid var(--border);
    font-size: 0.64rem; font-weight: 800; color: var(--text-muted);
    direction: ltr;
}
.db-row:first-child .svc-rank {
    background: var(--accent); border-color: var(--accent); color: #fff;
}
/* ---------- Dashboard period filter (dropdown) ---------- */
.db-filter { margin-bottom: 20px; }
.period-picker { position: relative; display: inline-block; }

.period-btn {
    display: flex; align-items: center; gap: 11px;
    min-width: 230px; padding: 10px 14px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; cursor: pointer;
    font-family: inherit; color: var(--text); text-align: start;
    transition: border-color 0.18s, background 0.18s;
}
.period-btn:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.pb-cal { width: 17px; height: 17px; flex: none; color: var(--text-muted); }
.pb-txt { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.pb-label { font-size: 0.85rem; font-weight: 700; }
/* the active range is always visible — no need to open the menu to see it */
.pb-range { font-size: 0.7rem; color: var(--text-muted); }
.pb-chev {
    width: 15px; height: 15px; flex: none; color: var(--text-muted);
    transition: transform 0.22s var(--ease);
}
/* the open state now lives on the SHEET, not the picker — drive the chevron off
   the button's own aria-expanded instead */
.period-btn[aria-expanded="true"] .pb-chev { transform: rotate(180deg); }
.period-btn[aria-expanded="true"] { border-color: var(--accent); }

/* ============================================================
   CUSTOMERS
   Built for shop staff: big targets, no table, obvious actions.
   ============================================================ */
.cust-top { display: flex; gap: 10px; align-items: stretch; }
.cust-search { position: relative; display: flex; align-items: center; flex: 1; min-width: 0; }
.btn-add {
    flex: none; display: inline-flex; align-items: center; gap: 8px;
    padding: 0 18px; min-height: 51px; border-radius: 13px; border: 0;
    background: var(--accent); color: #fff;
    font-family: inherit; font-size: 0.88rem; font-weight: 700;
    cursor: pointer; white-space: nowrap;
    transition: filter 0.18s;
}
.btn-add:hover { filter: brightness(1.08); }
.btn-add svg { width: 17px; height: 17px; }
.cs-ico {
    position: absolute; inset-inline-start: 15px;
    width: 18px; height: 18px; color: var(--text-muted); pointer-events: none;
}
.cust-search input {
    width: 100%; padding: 15px 46px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 13px; color: var(--text);
    font-family: inherit; font-size: 0.95rem;
    transition: border-color 0.18s;
}
.cust-search input::placeholder { color: var(--text-muted); }
.cust-search input:focus { outline: none; border-color: var(--accent); }
.cust-search input::-webkit-search-cancel-button { display: none; }
.cs-clear {
    position: absolute; inset-inline-end: 10px;
    width: 30px; height: 30px; display: grid; place-items: center;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 8px;
    color: var(--text-muted); cursor: pointer;
}
.cs-clear svg { width: 14px; height: 14px; }
.cust-hint { margin: 8px 2px 0; font-size: 0.75rem; color: var(--text-muted); }
.cust-count { margin: 18px 2px 10px; font-size: 0.8rem; color: var(--text-muted); }
.cust-count b { color: var(--text); font-size: 0.95rem; margin-inline-end: 4px; }

.cust-list { display: flex; flex-direction: column; gap: 8px; }
.cust-row {
    display: flex; align-items: center; gap: 13px;
    width: 100%; padding: 14px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 14px; cursor: pointer;
    font-family: inherit; color: var(--text); text-align: start;
    transition: border-color 0.18s, background 0.18s, transform 0.18s;
}
.cust-row:hover { border-color: var(--border-strong); background: var(--surface-hover); }
.cust-row:active { transform: scale(0.99); }

.cav {
    flex: none; width: 44px; height: 44px; border-radius: 50%;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #fff; font-weight: 800; font-size: 0.9rem;
    direction: ltr;
}
.cav.big { width: 56px; height: 56px; font-size: 1.15rem; }

.cr-main { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.cr-name { font-size: 0.95rem; font-weight: 700; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.cr-last {
    display: flex; align-items: center; gap: 5px;
    font-size: 0.78rem; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cr-last svg { width: 13px; height: 13px; flex: none; opacity: 0.75; }
.cr-last.never { color: var(--warn); opacity: 0.9; }
.cr-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; }
[dir="rtl"] .cr-right { align-items: flex-start; }
.cr-phone { font-size: 0.82rem; font-weight: 600; }
.cr-visits { font-size: 0.72rem; color: var(--text-muted); }
.cr-chev { width: 17px; height: 17px; flex: none; color: var(--text-muted); opacity: 0.6; }
[dir="rtl"] .cr-chev { transform: scaleX(-1); }

.cust-empty { text-align: center; padding: 44px 20px; }
.cust-empty p { font-size: 1rem; font-weight: 700; margin-bottom: 6px; }
.cust-empty span { font-size: 0.83rem; color: var(--text-muted); }

.cd-top { display: flex; align-items: center; gap: 14px; padding: 6px 6px 18px; }
.cd-id { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cd-name { font-size: 1.1rem; font-weight: 800; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cd-phone { font-size: 0.88rem; color: var(--text-muted); font-weight: 600; }

.cd-actions { display: flex; gap: 10px; margin-bottom: 18px; }
.cd-btn {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px; border-radius: 12px; border: 1px solid var(--border);
    background: var(--surface); color: var(--text);
    font-size: 0.88rem; font-weight: 700; text-decoration: none;
    transition: filter 0.18s, border-color 0.18s;
}
.cd-btn svg { width: 18px; height: 18px; }
.cd-btn.wa { background: #25D366; border-color: #25D366; color: #062e16; }
.cd-btn.call { background: var(--accent); border-color: var(--accent); color: #fff; }
.cd-btn:hover { filter: brightness(1.07); }

.cd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 20px; }
.cd-stat {
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 13px 6px; border-radius: 12px;
    background: var(--bg-2); border: 1px solid var(--border);
}
.cds-n { font-size: 0.95rem; font-weight: 800; }
.cds-l { font-size: 0.68rem; color: var(--text-muted); }
.cd-stat.owes { border-color: var(--warn); }
.cd-stat.owes .cds-n { color: var(--warn); }

.cd-h {
    display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
    font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--text-muted);
    margin: 4px 2px 10px;
}
[dir="rtl"] .cd-h { text-transform: none; letter-spacing: 0; font-size: 0.86rem; }
.cd-since { margin-inline-start: auto; font-weight: 600; letter-spacing: 0; text-transform: none; opacity: 0.8; }
.cd-since-d { font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--text); }

.cd-cars { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.cd-car {
    padding: 8px 12px; border-radius: 9px;
    background: var(--bg-2); border: 1px solid var(--border);
    font-size: 0.82rem; font-weight: 600;
}

.cd-car.muted { color: var(--text-muted); font-weight: 500; }

.cd-meta {
    display: flex; flex-direction: column; gap: 1px;
    margin-bottom: 18px; border-radius: 12px; overflow: hidden;
    border: 1px solid var(--border);
}
.cd-metarow {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 13px 14px; background: var(--bg-2);
    font-size: 0.82rem; color: var(--text-muted);
}
.cd-metarow b { color: var(--text); font-size: 0.86rem; }

.cd-edit {
    width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px; border-radius: 12px;
    background: var(--surface); border: 1px solid var(--border-strong);
    color: var(--text); font-family: inherit; font-size: 0.88rem; font-weight: 700;
    cursor: pointer; transition: background 0.18s, border-color 0.18s;
}
.cd-edit:hover { background: var(--surface-hover); border-color: var(--accent); }
.cd-edit svg { width: 17px; height: 17px; }

/* danger variant — delete customer */
.cd-edit.danger { margin-top: 10px; color: var(--danger); }
.cd-edit.danger:hover { background: var(--danger-bg); border-color: var(--danger); }

/* ---- add / edit form ---- */
.cf-field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 16px; }
/* Two fields side by side on one line (e.g. the supplier phone pairs).
   Each child .cf-field keeps its own bottom margin, so the row itself adds none. */
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cf-row .cf-field { margin-bottom: 16px; min-width: 0; }
@media (max-width: 420px) { .cf-row { grid-template-columns: 1fr; gap: 0; } }
.cf-field label {
    font-size: 0.8rem; font-weight: 700; color: var(--text);
    display: flex; align-items: center; gap: 7px;
}
.cf-field label .opt {
    font-size: 0.7rem; font-weight: 600; color: var(--text-muted);
    background: var(--bg-2); border: 1px solid var(--border);
    padding: 1px 7px; border-radius: 99px;
}
.cf-field input,
.cf-field textarea {
    width: 100%; padding: 14px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; color: var(--text);
    font-family: inherit; font-size: 0.95rem;
    transition: border-color 0.18s;
}
.cf-field textarea { resize: vertical; min-height: 76px; line-height: 1.45; }
.cf-field input:focus,
.cf-field textarea:focus { outline: none; border-color: var(--accent); }
.cf-field input.bad,
.cf-field textarea.bad { border-color: var(--danger); }
.cf-field input::placeholder,
.cf-field textarea::placeholder { color: var(--text-muted); opacity: 0.7; }
.cf-help { font-size: 0.73rem; color: var(--text-muted); }

/* Suppliers — list amount that turns amber when money is owed, and the
   detail-sheet notes row that keeps its line breaks. Reuses the customer
   card/sheet classes for everything else. */
.cr-visits.owes { color: var(--warn); font-weight: 700; }
.cr-visits.muted { opacity: 0.75; }
.cd-metarow b.sd-pre { white-space: pre-wrap; text-align: right; max-width: 62%; font-weight: 600; }
[dir="rtl"] .cd-metarow b.sd-pre { text-align: left; }
a.sd-tel { color: inherit; text-decoration: none; }
a.sd-tel:hover { text-decoration: underline; }

/* the "payments made" breakdown row reads as a credit */
.cd-metarow.sup-pay-row b { color: #16a34a; }

/* ---- supplier payments ledger (detail sheet) ---- */
.sup-pay-head {
    display: flex; align-items: center; justify-content: space-between;
    margin: 22px 0 10px;
}
.sup-pay-head .cd-h { margin: 0; }
.sup-pay-add {
    display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px;
    border-radius: 9px; cursor: pointer; font-family: inherit; font-size: 0.78rem; font-weight: 700;
    background: color-mix(in srgb, #16a34a 12%, transparent);
    border: 1px solid color-mix(in srgb, #16a34a 40%, transparent); color: #16a34a;
    transition: background 0.14s;
}
.sup-pay-add:hover { background: color-mix(in srgb, #16a34a 20%, transparent); }
.sup-pay-add svg { width: 15px; height: 15px; }

.sup-pay-list { display: flex; flex-direction: column; gap: 8px; }
.sup-pay-empty { padding: 4px 2px 6px; font-size: 0.85rem; color: var(--text-muted); }
.sup-pay-item {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 12px;
}
.sup-pay-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.sup-pay-amt { font-size: 0.98rem; font-weight: 800; color: #16a34a; }
.sup-pay-meta { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--text-muted); }
.sup-pay-method {
    padding: 1px 7px; border-radius: 6px; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.02em;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted);
}
.sup-pay-note { font-size: 0.82rem; color: var(--text); word-break: break-word; }
.sup-pay-del {
    flex: none; width: 34px; height: 34px; display: grid; place-items: center;
    border-radius: 9px; cursor: pointer; background: none;
    border: 1px solid var(--border); color: var(--text-muted);
    transition: border-color 0.14s, color 0.14s, background 0.14s;
}
.sup-pay-del:hover { border-color: var(--danger); color: var(--danger); background: var(--danger-bg); }
.sup-pay-del svg { width: 16px; height: 16px; }

/* ---------- Products / Inventory ----------
   Reuses the customer list rows (.cust-row), detail sheet (.cd-*) and form
   (.cf-*). Extras below: a generic product avatar, stock badges, and the
   category picker (search + pick + inline rename/delete + add-if-missing). */

/* generic product glyph avatar in place of the letter avatar */
.cav.prod-cav { background: var(--bg-2); color: var(--accent); }
.cav.prod-cav svg { width: 20px; height: 20px; }
.cav.big.prod-cav svg { width: 26px; height: 26px; }

/* Arabic name shown beside the English one on the list row */
.prod-namear { margin-inline-start: 7px; color: var(--text-muted); font-weight: 600; font-size: 0.92em; }

/* stock badge on the list row + sku dimming */
.prod-badge {
    display: inline-block; margin-inline-start: 7px; padding: 1px 7px;
    border-radius: 99px; font-size: 0.62rem; font-weight: 800;
    letter-spacing: 0.02em; text-transform: uppercase; vertical-align: middle;
    background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border);
}
.prod-badge.low { color: var(--warn); border-color: color-mix(in srgb, var(--warn) 45%, transparent); }
.prod-badge.out { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, transparent); }
.prod-badge.tax {
    text-transform: none; letter-spacing: 0;
    color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, transparent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.prod-sku { color: var(--text-muted); margin-inline-start: 5px; font-size: 0.9em; }

/* Category filter pills below the product search — horizontal scroll strip */
.cat-pills {
    display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 6px;
    margin: 6px 0 2px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    cursor: grab;
}
.cat-pills.dragging { cursor: grabbing; scroll-behavior: auto; }
.cat-pills.dragging .cat-pill { pointer-events: none; }   /* no hover flicker mid-drag */
.cat-pills::-webkit-scrollbar { display: none; }
.cat-pill {
    flex: none; display: inline-flex; align-items: center; gap: 6px;
    padding: 7px 14px; border-radius: 999px; cursor: pointer;
    background: var(--surface, var(--bg-2)); border: 1px solid var(--border);
    color: var(--text-muted); font-family: inherit; font-size: 0.82rem; font-weight: 700;
    white-space: nowrap; transition: background 0.14s, color 0.14s, border-color 0.14s;
}
.cat-pill:hover { border-color: var(--border-strong); color: var(--text); }
.cat-pill.on {
    background: var(--accent); border-color: var(--accent);
    color: #fff;
}
.cat-pill.manage {
    color: var(--accent); border-style: dashed;
    border-color: color-mix(in srgb, var(--accent) 50%, transparent);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.cat-pill.manage:hover { background: color-mix(in srgb, var(--accent) 15%, transparent); }
.cat-pill svg { width: 15px; height: 15px; flex: none; }
/* per-category product count inside a filter pill */
.cat-pill-count {
    flex: none; min-width: 18px; padding: 0 6px; height: 18px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; font-size: 0.7rem; font-weight: 800; line-height: 1;
    background: color-mix(in srgb, var(--text-muted) 20%, transparent);
    color: var(--text-muted);
}
.cat-pill.on .cat-pill-count {
    background: color-mix(in srgb, #fff 30%, transparent); color: #fff;
}
/* detail-sheet stock tile colouring (reuse .owes for the "out" red) */
.cd-stat.low-stat { border-color: var(--warn); }
.cd-stat.low-stat .cds-n { color: var(--warn); }

/* ---------- Company Info (single-record settings page) ---------- */
.comp-wrap { max-width: 640px; margin: 0 auto; padding: 4px 0 24px; }
.comp-hero { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.comp-brand { display: inline-flex; align-items: baseline; gap: 8px; font-size: 1.35rem; }
.comp-tag {
    font-size: 0.85rem; font-weight: 600;
    background: linear-gradient(135deg, #ff6b2c, #ff8c52);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.comp-namear { font-weight: 600; }
.comp-note {
    margin: 14px 0 18px; padding: 10px 13px; border-radius: 10px;
    font-size: 0.82rem; color: var(--text-muted);
    background: color-mix(in srgb, var(--accent) 8%, transparent);
    border-inline-start: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
}
/* logo tile on the read-only card */
.comp-logo {
    width: 56px; height: 56px; flex: none; border-radius: 14px; overflow: hidden;
    display: grid; place-items: center; background: var(--bg-2);
    border: 1px solid var(--border);
}
.comp-logo img { width: 100%; height: 100%; object-fit: contain; }
/* logo uploader in the edit form */
.comp-logo-row { display: flex; align-items: center; gap: 14px; }
.comp-logo-preview {
    width: 72px; height: 72px; flex: none; border-radius: 14px; overflow: hidden;
    display: grid; place-items: center; background: var(--bg-2);
    border: 1px solid var(--border); color: var(--text-muted); position: relative;
}
.comp-logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.comp-logo-preview svg { width: 30px; height: 30px; }
.comp-logo-preview.busy::after {
    content: ''; position: absolute; inset: 0;
    background: color-mix(in srgb, var(--bg-2) 60%, transparent);
    background-image: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 25%, transparent), transparent);
    background-size: 200% 100%; animation: compShimmer 1s linear infinite;
}
@keyframes compShimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.comp-logo-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.comp-logo-btn {
    display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px;
    border-radius: 10px; cursor: pointer; font-family: inherit;
    font-size: 0.85rem; font-weight: 700;
    background: var(--surface, var(--bg-2)); border: 1px solid var(--border); color: var(--text);
    transition: border-color 0.14s, color 0.14s, background 0.14s;
}
.comp-logo-btn:hover { border-color: var(--border-strong); }
.comp-logo-btn svg { width: 16px; height: 16px; }
.comp-logo-btn.danger { color: var(--danger); }
.comp-logo-btn.danger:hover { border-color: var(--danger); }

/* ---------- Business hours (read card + editor) ---------- */
.hrs-card {
    margin-top: 14px; padding: 4px 14px; border-radius: 13px;
    background: var(--surface); border: 1px solid var(--border);
}
.hrs-cardtitle { font-size: 0.82rem; font-weight: 800; color: var(--text-muted); padding: 10px 0 4px; }
.hrs-row b { font-weight: 700; }
.hrs-times { display: inline-flex; flex-wrap: wrap; gap: 2px 6px; justify-content: flex-end; }
.hrs-sep { color: var(--text-muted); padding: 0 2px; }
.hrs-closed { color: var(--text-muted); font-weight: 600; }

.hrs-field > label { margin-bottom: 8px; }
.hrs-day {
    padding: 10px 13px; border-radius: 12px; margin-bottom: 8px;
    background: var(--surface); border: 1px solid var(--border);
}
.hrs-day.off { opacity: 0.75; }
.hrs-dayhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hrs-dayname { font-size: 0.88rem; font-weight: 800; }
.hrs-toggle {
    display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
    font-size: 0.8rem; font-weight: 700; color: var(--text-muted);
}
.hrs-toggle input { accent-color: var(--accent); width: 16px; height: 16px; cursor: pointer; }
.hrs-day:not(.off) .hrs-toggle span { color: var(--accent); }
.hrs-ranges { margin-top: 9px; display: flex; flex-direction: column; gap: 7px; }
.hrs-range { display: flex; align-items: center; gap: 8px; }
.hrs-range input[type="time"] {
    padding: 7px 9px; border-radius: 9px; font: inherit; font-size: 0.86rem;
    background: var(--bg-2); border: 1px solid var(--border); color: var(--text);
    color-scheme: dark;
}
.hrs-range input[type="time"]:focus { outline: none; border-color: var(--accent); }
[data-theme="light"] .hrs-range input[type="time"] { color-scheme: light; }
.hrs-dash { color: var(--text-muted); }
.hrs-del {
    display: grid; place-items: center; width: 28px; height: 28px; flex: none;
    border-radius: 8px; cursor: pointer;
    background: none; border: 1px solid var(--border); color: var(--text-muted);
}
.hrs-del:hover { border-color: var(--danger); color: var(--danger); }
.hrs-del svg { width: 13px; height: 13px; }
.hrs-add {
    align-self: flex-start; padding: 7px 12px; border-radius: 9px; cursor: pointer;
    background: none; border: 1px dashed var(--border-strong); color: var(--text-muted);
    font-family: inherit; font-size: 0.8rem; font-weight: 700;
}
.hrs-add:hover { border-color: var(--accent); color: var(--accent); }

/* ---------- Settings (app preferences hub) ---------- */
.set-wrap { max-width: 640px; margin: 0 auto; padding: 4px 0 24px; }
.set-h { margin: 8px 0 2px; }
.set-wrap .set-h:not(:first-child) { margin-top: 30px; }
.set-sub { margin: 0 0 14px; font-size: 0.82rem; color: var(--text-muted); }
.set-actions { display: flex; justify-content: flex-end; margin: 4px 0 8px; }
.set-actions .set-save { min-width: 120px; }

/* preference rows (theme / language / version / premium toggle) */
.set-rows { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.set-row {
    width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 13px;
    color: var(--text); font-family: inherit; text-align: start; cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}
.set-row:not(.static):hover { background: var(--surface-hover); border-color: var(--border-strong); }
.set-row.static { cursor: default; }
.set-row.on { border-color: color-mix(in srgb, #ff8c52 60%, transparent); }
.set-ic {
    width: 38px; height: 38px; flex: none; border-radius: 10px; display: grid; place-items: center;
    background: var(--bg-2); color: var(--text-muted);
}
.set-ic svg { width: 19px; height: 19px; }
.set-rmain { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.set-rlbl { font-size: 0.92rem; font-weight: 700; }
.set-rval { font-size: 0.82rem; color: var(--text-muted); }
.set-rhint { flex: none; font-size: 0.76rem; font-weight: 600; color: var(--text-muted); opacity: 0.8; }

/* the premium on/off pill toggle */
.set-toggle {
    flex: none; width: 42px; height: 24px; border-radius: 999px; position: relative;
    background: var(--border-strong); transition: background 0.18s;
}
.set-toggle::after {
    content: ''; position: absolute; top: 3px; inset-inline-start: 3px;
    width: 18px; height: 18px; border-radius: 50%; background: #fff;
    transition: inset-inline-start 0.18s;
}
.set-row.on .set-toggle { background: linear-gradient(135deg, #ff6b2c, #ff8c52); }
.set-row.on .set-toggle::after { inset-inline-start: 21px; }

/* A permission the ROLE grants rather than the toggle: still shown on, so the
   owner can see the account has it, but visibly not theirs to switch off. */
.set-row.is-locked { cursor: default; opacity: 0.72; }
.set-row.is-locked:hover { background: var(--surface); border-color: color-mix(in srgb, #ff8c52 60%, transparent); }
/* the permission rows sit inside a form field, which already owns the gap below */
.uf-perms { margin-bottom: 6px; }
.uf-perms .set-row { padding: 10px 12px; }
.uf-perms .set-ic { width: 32px; height: 32px; }
.uf-perms .set-ic svg { width: 16px; height: 16px; }

.set-signout { margin-top: 20px; }

/* ---------- VAT & Tax (return summary) ---------- */
.vat-wrap { max-width: 640px; margin: 0 auto; padding: 4px 0 24px; }

/* period segmented control */
.vat-periods {
    display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 8px;
    -ms-overflow-style: none; scrollbar-width: none;
}
.vat-periods::-webkit-scrollbar { display: none; }
.vat-per {
    flex: none; padding: 8px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap;
    font-family: inherit; font-size: 0.82rem; font-weight: 700;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted);
    transition: background 0.14s, border-color 0.14s, color 0.14s;
}
.vat-per:hover { border-color: var(--border-strong); }
.vat-per.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.vat-range { margin: 0 0 16px; font-size: 0.82rem; color: var(--text-muted); }

/* headline net position */
.vat-net {
    display: flex; flex-direction: column; align-items: center; gap: 4px;
    padding: 22px 16px; border-radius: 16px; margin-bottom: 16px; text-align: center;
    background: var(--bg-2); border: 1px solid var(--border);
}
.vat-net.pay     { background: color-mix(in srgb, var(--danger) 10%, transparent); border-color: color-mix(in srgb, var(--danger) 35%, transparent); }
.vat-net.reclaim { background: color-mix(in srgb, #16a34a 10%, transparent);       border-color: color-mix(in srgb, #16a34a 35%, transparent); }
.vat-net-l { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); }
.vat-net-n { font-size: 2rem; font-weight: 800; color: var(--text); line-height: 1.1; }
.vat-net.pay .vat-net-n     { color: var(--danger); }
.vat-net.reclaim .vat-net-n { color: #16a34a; }
.vat-net-sub { font-size: 0.76rem; color: var(--text-muted); }

/* output / input cards */
.vat-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.vat-card {
    display: flex; flex-direction: column; gap: 7px; padding: 14px;
    border-radius: 14px; background: var(--surface); border: 1px solid var(--border);
}
.vat-card-h { display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; font-size: 0.9rem; font-weight: 700; }
.vat-card-tag {
    font-size: 0.66rem; font-weight: 700; letter-spacing: 0.02em; padding: 1px 6px; border-radius: 6px;
    background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border);
}
.vat-card-n { font-size: 1.35rem; font-weight: 800; color: var(--text); }
.vat-card.out .vat-card-n { color: var(--accent); }
.vat-card.in  .vat-card-n { color: #16a34a; }
.vat-card-meta { display: flex; flex-direction: column; gap: 2px; font-size: 0.76rem; color: var(--text-muted); }

.vat-note {
    margin: 0 0 18px; padding: 10px 13px; border-radius: 10px; font-size: 0.8rem; line-height: 1.5;
    color: var(--text-muted); background: var(--bg-2);
    border-inline-start: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
}
.vat-meta { margin-bottom: 18px; }
.vat-link {
    background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit;
    font-size: inherit; font-weight: 700; color: var(--accent); text-decoration: underline;
}

@media (max-width: 420px) {
    .vat-cards { grid-template-columns: 1fr; }
}

/* custom date range (shown when the Custom period pill is active) */
.vat-custom {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px;
    padding: 12px; margin-bottom: 16px; border-radius: 12px;
    background: var(--bg-2); border: 1px solid var(--border);
}
.vat-custom-f { display: flex; flex-direction: column; gap: 5px; flex: 1 1 130px; font-size: 0.78rem; color: var(--text-muted); }
.vat-custom-f input {
    padding: 9px 11px; border-radius: 9px; font-family: inherit; font-size: 0.9rem;
    background: var(--surface); border: 1px solid var(--border); color: var(--text);
}
.vat-custom-f input:focus { outline: none; border-color: var(--accent); }
.vat-apply {
    flex: none; padding: 10px 18px; border-radius: 9px; cursor: pointer;
    font-family: inherit; font-size: 0.85rem; font-weight: 700;
    background: var(--accent); border: 1px solid var(--accent); color: #fff;
    transition: filter 0.14s;
}
.vat-apply:hover { filter: brightness(1.07); }

/* VAT calculator */
.vat-calc-h { margin: 30px 0 2px; }
.vat-calc-sub { margin: 0 0 14px; font-size: 0.82rem; color: var(--text-muted); }
.vat-calc {
    padding: 14px; border-radius: 14px;
    background: var(--surface); border: 1px solid var(--border);
}
.vat-calc-rate { max-width: 160px; margin-bottom: 4px; }
.vat-calc-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.vat-calc .cf-field { margin-bottom: 10px; }
.vat-calc input {
    padding: 10px 12px; border-radius: 9px; font-family: inherit; font-size: 0.95rem;
    background: var(--bg-2); border: 1px solid var(--border); color: var(--text);
}
.vat-calc input:focus { outline: none; border-color: var(--accent); }
.vat-calc-note {
    margin: 4px 0 0; min-height: 1.2em; font-size: 0.9rem; font-weight: 700; color: var(--accent);
}
@media (max-width: 460px) {
    .vat-calc-row { grid-template-columns: 1fr; }
}

/* ---------- Services (+ Warranties) ---------- */
/* sub-tabs */
.svc-subtabs { display: flex; gap: 6px; margin-bottom: 14px; }
.svc-subtab {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px;
    border-radius: 10px; cursor: pointer; font-family: inherit; font-size: 0.86rem; font-weight: 700;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); transition: border-color 0.14s, color 0.14s, background 0.14s;
}
.svc-subtab.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); }
.svc-subtab-n { font-size: 0.72rem; font-weight: 700; padding: 1px 6px; border-radius: 6px; background: var(--bg-2); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.svc-subtab.on .svc-subtab-n { background: color-mix(in srgb, var(--accent) 22%, transparent); color: var(--accent); }

/* group heading (per category) */
.svc-grp { margin: 20px 2px 9px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }
[dir="rtl"] .svc-grp { letter-spacing: 0; text-transform: none; font-size: 0.86rem; }
.svc-gc { width: 8px; height: 8px; border-radius: 3px; flex: none; }

/* service row: accent left rail + code chip + sub line */
.svc-row { position: relative; overflow: hidden; }
.svc-row::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 3px; background: var(--bar, var(--accent)); }
.svc-cav { color: var(--bar, var(--accent)); background: color-mix(in srgb, var(--bar, var(--accent)) 14%, transparent) !important; }
.svc-cav svg { stroke: currentColor; }
.svc-name-row { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.svc-code { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 0.64rem; font-weight: 700; padding: 2px 6px; border-radius: 6px; background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border); }
.svc-off { font-size: 0.62rem; font-weight: 700; padding: 1px 7px; border-radius: 6px; background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border); }
/* the sub-line reuses .cr-last, which is nowrap+ellipsis for a single value —
   the service row carries several chips, so let it wrap and show fully */
.svc-sub { display: flex; align-items: center; gap: 6px 10px; flex-wrap: wrap; white-space: normal; overflow: visible; color: var(--text-muted); }
.svc-ar { color: var(--text-muted); min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.svc-warr { display: inline-flex; align-items: center; gap: 4px; color: #38bdf8; font-weight: 600; font-size: 0.75rem; }
.svc-warr-ic { width: 12px; height: 12px; fill: currentColor; stroke: none; }
.svc-specn { display: inline-flex; align-items: center; gap: 4px; color: var(--accent); font-weight: 600; font-size: 0.72rem; }
.svc-specn-ic { width: 12px; height: 12px; }
.svc-price { font-weight: 750; font-size: 1rem; font-variant-numeric: tabular-nums; }
.svc-row.inactive { opacity: 0.62; }
.svc-row.inactive .svc-cav { background: var(--bg-2) !important; color: var(--text-muted); }

/* detail sheet */
.svc-stats2 { grid-template-columns: 1fr 1fr; }   /* only 2 stats here, not 3 */
.cav.big.svc-cav { color: var(--bar, var(--accent)); }
.svc-on { color: #16a34a; }
.svc-off-t { color: var(--text-muted); }
.svc-names { font-weight: 600; max-width: 62%; text-align: end; }
.svc-spec-wrap { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.svc-spec-chip { display: inline-flex; align-items: center; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 0.72rem; padding: 3px 9px; border-radius: 7px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); }

/* service form bits */
.svc-idrow { grid-template-columns: 64px 1fr; }
.svc-colorf input[type="color"] { width: 100%; height: 44px; padding: 4px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--border); cursor: pointer; }
.svc-vatline { display: flex; align-items: baseline; justify-content: space-between; padding: 11px 13px; border-radius: 11px; margin-bottom: 16px; background: color-mix(in srgb, var(--accent) 11%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); }
.svc-vatline .l { font-size: 0.8rem; color: var(--text-muted); }
.svc-vatline .n { font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; }

/* net/gross segmented control reuses .prf-methods, which is a 4-col grid —
   this control only has 2 options, so make it 2 columns */
#svcForm .prf-methods { grid-template-columns: 1fr 1fr; }

/* the category / warranty picker buttons reuse .period-btn but with a plain
   <span> + bare chevron <svg> (no .pb-txt/.pb-chev children) — size the direct
   children so the chevron doesn't stretch to fill the button. Scoped to the
   service form so the dashboard's .period-btn is untouched. */
#svcForm .period-btn { width: 100%; min-width: 0; justify-content: space-between; }
#svcForm .period-btn > span { flex: 1; min-width: 0; font-size: 0.9rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#svcForm .period-btn > svg { width: 17px; height: 17px; flex: none; color: var(--text-muted); }

/* "show on staff menu" toggle row (own classes — the base .switch is a
   different inline-flex component used elsewhere) */
.svc-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--border); margin: 16px 0 14px; }
.svc-tl { min-width: 0; }
.svc-tl b { font-size: 0.9rem; font-weight: 680; display: block; }
.svc-tl span { font-size: 0.76rem; color: var(--text-muted); }
.svc-switch { width: 44px; height: 26px; flex: none; border-radius: 99px; position: relative; cursor: pointer; background: linear-gradient(135deg, var(--accent), var(--accent-2)); transition: background 0.16s; }
.svc-switch::after { content: ""; position: absolute; top: 3px; inset-inline-start: 21px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: inset-inline-start 0.16s; }
.svc-switch.off { background: var(--border-strong); }
.svc-switch.off::after { inset-inline-start: 3px; }

/* spec-schema editor rows */
.sf-specs { display: flex; flex-direction: column; gap: 7px; margin-bottom: 8px; }
.sf-spec-row { display: grid; grid-template-columns: 1fr 0.9fr 1fr 30px; gap: 7px; align-items: center; }
.sf-spec-row input { padding: 8px 10px; border-radius: 8px; background: var(--bg-2); border: 1px solid var(--border); color: var(--text); font-size: 0.82rem; font-family: inherit; min-width: 0; }
.sf-spec-rm, .wt-clause-row .sf-spec-rm { width: 28px; height: 28px; flex: none; border: 0; background: none; color: var(--text-muted); cursor: pointer; border-radius: 7px; display: grid; place-items: center; }
.sf-spec-rm:hover { background: var(--danger-bg); color: var(--danger); }
.sf-spec-rm svg { width: 15px; height: 15px; }
.add-row { width: 100%; padding: 9px; border: 1px dashed var(--border); border-radius: 10px; background: none; color: var(--text-muted); font-weight: 650; font-size: 0.82rem; cursor: pointer; font-family: inherit; transition: border-color 0.14s, color 0.14s; }
.add-row:hover { border-color: var(--accent); color: var(--accent); }

/* category picker rename/delete buttons (self-contained sheet) */
.cat-row-ed, .cat-row-del { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 9px; border: 1px solid var(--border); background: none; color: var(--text-muted); cursor: pointer; }
.cat-row-ed:hover { border-color: var(--accent); color: var(--accent); }
.cat-row-del:hover:not([disabled]) { border-color: var(--danger); color: var(--danger); background: var(--danger-bg); }
.cat-row-ed svg, .cat-row-del svg { width: 16px; height: 16px; }
.cat-row-del[disabled] { cursor: default; }
.cat-usen { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.cat-empty { padding: 14px 4px; font-size: 0.85rem; color: var(--text-muted); }

/* warranty picker rows */
.wt-pick-row { width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin-bottom: 7px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-align: start; cursor: pointer; font-family: inherit; font-size: 0.92rem; font-weight: 600; }
.wt-pick-row > span { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wt-pick-per { font-size: 0.76rem; font-weight: 500; color: var(--text-muted); }
.wt-pick-row .pm-tick { width: 18px; height: 18px; flex: none; opacity: 0; color: var(--accent); }
.wt-pick-row.on { border-color: var(--accent); }
.wt-pick-row.on .pm-tick { opacity: 1; }

/* warranties tab header (hint + add button on one row) */
.wt-tophead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.wt-tophead .cust-hint { margin: 0; flex: 1; min-width: 0; }
/* the "optional/hint" chip reused inside .wa-ph-label section labels */
.wa-ph-label .opt { font-weight: 500; font-size: 0.9em; color: var(--text-muted); text-transform: none; letter-spacing: 0; }

/* warranties tab cards */
.wt-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.wt-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; }
.wt-card-h { display: flex; align-items: flex-start; gap: 10px; }
.wt-card-h b { font-size: 0.98rem; font-weight: 720; flex: 1; }
.wt-card-edit { margin-inline-start: auto; padding: 5px 11px; border-radius: 8px; border: 1px solid var(--border); background: none; color: var(--text-muted); font-weight: 650; font-size: 0.76rem; cursor: pointer; font-family: inherit; }
.wt-card-edit:hover { border-color: var(--accent); color: var(--accent); }
.wt-card-meta { display: flex; gap: 6px; flex-wrap: wrap; }
.wt-chip { font-size: 0.7rem; font-weight: 650; padding: 3px 9px; border-radius: 99px; background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border); display: inline-flex; align-items: center; gap: 4px; }
.wt-chip.warr { background: color-mix(in srgb, #38bdf8 12%, transparent); color: #38bdf8; border-color: color-mix(in srgb, #38bdf8 30%, transparent); }
.wt-chip.mono { font-family: 'Geist Mono', ui-monospace, monospace; }
.wt-chip-ic { width: 12px; height: 12px; fill: currentColor; stroke: none; }
.wt-clause { padding: 9px 11px; border-radius: 9px; background: var(--bg-2); border: 1px solid var(--border); }
.wt-clause-en { color: var(--text); font-size: 0.84rem; line-height: 1.45; }
.wt-clause-ar { color: var(--text-muted); font-size: 0.8rem; margin-top: 3px; text-align: right; }
.wt-used { margin-top: 2px; padding-top: 9px; border-top: 1px dashed var(--border); font-size: 0.78rem; color: var(--text-muted); }

/* warranty form clause rows */
.wt-clauses { display: flex; flex-direction: column; gap: 7px; margin-bottom: 8px; }
.wt-clause-row { display: grid; grid-template-columns: 1.4fr 1fr 1fr 30px; gap: 7px; align-items: center; }
.wt-clause-row input { padding: 8px 10px; border-radius: 8px; background: var(--bg-2); border: 1px solid var(--border); color: var(--text); font-size: 0.82rem; font-family: inherit; min-width: 0; }

/* ---------- Reports (insights & analytics) ----------
   Reuses the dashboard's card system (.db-cols/.db-card/.db-row/.mini-bar/
   .pct-pill/.kpi) — only the period pills, the demo labelling and the P&L
   lines are new. */
.rep-wrap { max-width: 900px; margin: 0 auto; padding: 4px 0 24px; }

/* period pills — same shape as the VAT module's */
.rep-periods {
    display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 8px;
    -ms-overflow-style: none; scrollbar-width: none;
}
.rep-periods::-webkit-scrollbar { display: none; }
.rep-per {
    flex: none; padding: 8px 14px; border-radius: 999px; cursor: pointer; white-space: nowrap;
    font-family: inherit; font-size: 0.82rem; font-weight: 700;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted);
    transition: background 0.14s, border-color 0.14s, color 0.14s;
}
.rep-per:hover { border-color: var(--border-strong); }
.rep-per.on { background: var(--accent); border-color: var(--accent); color: #fff; }
.rep-range { margin: 0 0 14px; font-size: 0.82rem; color: var(--text-muted); }

/* custom date range — same shape as the VAT module's picker */
.rep-custom {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px;
    padding: 12px; margin-bottom: 16px; border-radius: 12px;
    background: var(--bg-2); border: 1px solid var(--border);
}
.rep-custom-f { display: flex; flex-direction: column; gap: 5px; flex: 1 1 130px; font-size: 0.78rem; color: var(--text-muted); }
.rep-custom-f input {
    padding: 9px 11px; border-radius: 9px; font-family: inherit; font-size: 0.9rem;
    background: var(--surface); border: 1px solid var(--border); color: var(--text);
}
.rep-custom-f input:focus { outline: none; border-color: var(--accent); }
.rep-apply {
    flex: none; padding: 10px 18px; border-radius: 9px; cursor: pointer;
    font-family: inherit; font-size: 0.85rem; font-weight: 700;
    background: var(--accent); border: 1px solid var(--accent); color: #fff;
    transition: filter 0.14s;
}
.rep-apply:hover { filter: brightness(1.07); }

/* the demo-data banner — amber, not the muted accent of .vat-note: this one
   is a warning about truthfulness, not a footnote. */
.rep-demo {
    margin: 0 0 18px; padding: 11px 14px; border-radius: 10px;
    font-size: 0.8rem; line-height: 1.5; color: var(--text-muted);
    background: color-mix(in srgb, var(--warn) 10%, transparent);
    border-inline-start: 3px solid color-mix(in srgb, var(--warn) 60%, transparent);
}
/* per-card chip so a card is never read out of the banner's context */
.rep-tag {
    margin-inline-start: 8px; padding: 2px 7px; border-radius: 999px;
    font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
    vertical-align: middle; direction: ltr; white-space: nowrap;
    background: color-mix(in srgb, var(--warn) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--warn) 40%, transparent);
    color: var(--warn);
}
.rep-tag.mixed { background: var(--bg-2); border-color: var(--border); color: var(--text-muted); }
[dir="rtl"] .rep-tag { letter-spacing: 0; }
.db-card .db-h { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }

/* P&L lines */
.rep-pl-line {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    padding: 9px 0; border-bottom: 1px solid var(--border);
    font-size: 0.86rem;
}
.rep-pl-l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rep-pl-note { font-size: 0.72rem; color: var(--text-muted); }
.rep-pl-v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rep-pl-line.minus .rep-pl-v { color: var(--danger); }
.rep-pl-total {
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
    margin-top: 12px; padding: 12px 14px; border-radius: 12px;
    font-size: 0.92rem; font-weight: 800;
    background: var(--bg-2);
}
.rep-pl-total span:last-child { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.rep-pl-total.good { background: color-mix(in srgb, var(--ok) 12%, transparent); color: var(--ok); }
.rep-pl-total.bad { background: var(--danger-bg); color: var(--danger); }
.rep-pl-card .db-live { margin-top: 10px; }
.rep-err { color: var(--danger); opacity: 1; }

/* ---------- Expenses (monthly accounts × categories) ---------- */
.exp-tophint { margin: 0; flex: 1; min-width: 0; align-self: center; }
.exp-catbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 2px 4px; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
[dir="rtl"] .exp-catbar { letter-spacing: 0; text-transform: none; font-size: 0.85rem; }
.exp-catmanage { padding: 5px 11px; border-radius: 8px; border: 1px dashed var(--border); background: none; color: var(--text-muted); font-weight: 650; font-size: 0.74rem; letter-spacing: 0; text-transform: none; cursor: pointer; font-family: inherit; }
.exp-catmanage:hover { border-color: #f43f5e; color: #f43f5e; }

/* account rows — the period as a monospace "07.2026" avatar */
.exp-cav { background: linear-gradient(135deg, #f43f5e, #e11d48) !important; font-family: 'Geist Mono', ui-monospace, monospace; font-size: 0.72rem; letter-spacing: -0.02em; }
.exp-acc-sub { color: var(--text-muted); }
.exp-acc-total { font-weight: 750; font-size: 1rem; font-variant-numeric: tabular-nums; }

/* account detail header */
.exp-acc-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.exp-back, .exp-acc-del { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--border); background: var(--surface); color: var(--text-muted); cursor: pointer; }
.exp-back:hover { border-color: var(--border-strong); color: var(--text); }
.exp-acc-del:hover { border-color: var(--danger); color: var(--danger); background: var(--danger-bg); }
.exp-back svg, .exp-acc-del svg { width: 18px; height: 18px; }
.exp-acc-htext { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.exp-acc-hname { font-size: 1.1rem; font-weight: 750; letter-spacing: -0.01em; }
.exp-acc-hlabel { font-size: 0.8rem; color: var(--text-muted); }

/* total card */
.exp-total-card { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 16px 18px; border-radius: 16px; margin-bottom: 16px; background: color-mix(in srgb, #f43f5e 10%, transparent); border: 1px solid color-mix(in srgb, #f43f5e 32%, transparent); }
.exp-total-l { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text-muted); }
.exp-total-n { font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text); }

/* category lines: [−]  name / amount  [+] */
.exp-lines { display: flex; flex-direction: column; gap: 9px; margin-bottom: 14px; }
.exp-line { display: flex; align-items: stretch; gap: 10px; padding: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; }
.exp-line-mid { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center; }
.exp-line-name { font-size: 0.86rem; font-weight: 650; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.exp-line-amt { font-size: 1.15rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text); }
.exp-adj { width: 52px; flex: none; display: grid; place-items: center; border-radius: 11px; cursor: pointer; border: 1px solid var(--border); background: var(--bg-2); color: var(--text); transition: background 0.14s, border-color 0.14s, color 0.14s; }
.exp-adj svg { width: 20px; height: 20px; }
.exp-adj.plus { color: #16a34a; }
.exp-adj.plus:hover { background: color-mix(in srgb, #16a34a 14%, transparent); border-color: color-mix(in srgb, #16a34a 45%, transparent); }
.exp-adj.set { color: var(--text-muted); }
.exp-adj.set:hover { background: color-mix(in srgb, var(--accent) 12%, transparent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent); }
.exp-adj.set svg { width: 17px; height: 17px; }
.exp-adj:active { transform: scale(0.94); }

.exp-manage-inline { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border-radius: 12px; background: none; border: 1px dashed var(--border); color: var(--text-muted); font-weight: 650; font-size: 0.85rem; cursor: pointer; font-family: inherit; }
.exp-manage-inline:hover { border-color: #f43f5e; color: #f43f5e; }
.exp-manage-inline svg { width: 16px; height: 16px; }

/* amount-adjust dialog — a compact centered popup, not a full bottom sheet */
.exp-adj-sheet .psheet-panel.exp-adj-panel { max-width: 380px; margin: 0 auto; border-radius: 20px; }
.exp-adj-body { padding: 6px 22px 22px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.exp-adj-sign { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 1.8rem; font-weight: 800; margin-bottom: 4px; background: color-mix(in srgb, #16a34a 15%, transparent); color: #16a34a; }
.exp-adj-sheet.setmode .exp-adj-sign { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.exp-adj-sheet.setmode .exp-adj-sign svg { width: 24px; height: 24px; }
.exp-adj-title { font-size: 1.05rem; font-weight: 750; }
.exp-adj-current { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 8px; }
.exp-adj-inputwrap { display: flex; align-items: center; gap: 8px; width: 100%; padding: 12px 14px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--border); }
.exp-adj-inputwrap:focus-within { border-color: var(--accent); }
.exp-adj-cur { font-size: 0.85rem; font-weight: 700; color: var(--text-muted); }
.exp-adj-inputwrap input { flex: 1; min-width: 0; border: 0; background: none; outline: none; color: var(--text); font-family: inherit; font-size: 1.3rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.exp-adj-inputwrap input.bad { color: var(--danger); }
.exp-adj-err { width: 100%; margin: 2px 0 0; }
.exp-adj-actions { display: flex; gap: 10px; width: 100%; margin-top: 12px; }
.exp-adj-actions .cf-cancel { flex: 1; }
.exp-adj-actions .cf-save { flex: 1; }

/* ---------- WhatsApp templates ---------- */
.wa-cav { color: #16a34a; }
.wa-cav svg, .cav.wa-cav svg { stroke: currentColor; }
/* EN/AR language chips on a list row */
.wa-lang {
    display: inline-block; margin-inline-start: 6px; padding: 1px 6px;
    border-radius: 6px; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.03em;
    vertical-align: middle; background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border);
}
.wa-prev { color: var(--text-muted); }
/* detail sheet: one block per language */
.wa-body-block { margin: 14px 0; }
.wa-body-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 6px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--text-muted);
}
.wa-copy {
    display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px;
    border-radius: 8px; cursor: pointer; font-family: inherit; font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0; text-transform: none;
    background: none; border: 1px solid var(--border); color: var(--text-muted);
    transition: border-color 0.14s, color 0.14s;
}
.wa-copy:hover { border-color: color-mix(in srgb, #16a34a 55%, transparent); color: #16a34a; }
.wa-copy svg { width: 14px; height: 14px; }
.wa-body-text {
    padding: 12px 14px; border-radius: 12px; white-space: pre-wrap; word-break: break-word;
    background: var(--bg-2); border: 1px solid var(--border);
    font-size: 0.92rem; line-height: 1.7; color: var(--text);
}
.wa-body-text[dir="rtl"] { text-align: right; }
.wa-ph-note, .wa-ph-label { display: block; font-size: 0.8rem; color: var(--text-muted); }
.wa-ph-note { margin: 14px 0 4px; }
.wa-ph-label { margin: 6px 0 8px; font-weight: 700; }
/* placeholder chip row in the editor */
.wa-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.wa-chip {
    padding: 5px 11px; border-radius: 999px; cursor: pointer; font-family: 'Geist Mono', ui-monospace, monospace;
    font-size: 0.76rem; font-weight: 600;
    background: color-mix(in srgb, #16a34a 10%, transparent);
    border: 1px solid color-mix(in srgb, #16a34a 35%, transparent); color: #16a34a;
    transition: background 0.14s;
}
.wa-chip:hover { background: color-mix(in srgb, #16a34a 20%, transparent); }

/* ---- WhatsApp SEND flow: green button on the customer sheet, picker + preview ---- */
/* "Send WhatsApp message" action on the customer detail sheet */
.cd-edit.wa-send-btn {
    color: #062e16; background: #25D366; border-color: #25D366;
}
.cd-edit.wa-send-btn:hover { filter: brightness(1.07); background: #25D366; border-color: #25D366; }
.cd-edit.wa-send-btn svg { width: 18px; height: 18px; }

.wa-pick-hint { margin: 2px 0 14px; font-size: 0.85rem; color: var(--text-muted); }

/* preview sheet: who it's going to */
.wa-pv-to {
    display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px;
    padding: 10px 14px; margin-bottom: 16px; border-radius: 12px;
    background: var(--bg-2); border: 1px solid var(--border);
}
.wa-pv-tolbl { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.wa-pv-to b { font-size: 0.95rem; color: var(--text); }
.wa-pv-tophone { margin-inline-start: auto; font-size: 0.85rem; color: var(--text-muted); }

.wa-pv-langrow { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.wa-pv-lbl { font-size: 0.8rem; font-weight: 700; color: var(--text-muted); }
.wa-pv-langs { display: inline-flex; gap: 4px; }
.wa-pv-lang {
    padding: 3px 10px; border-radius: 8px; cursor: pointer; font-family: inherit;
    font-size: 0.7rem; font-weight: 800; letter-spacing: 0.03em;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted);
    transition: border-color 0.14s, color 0.14s, background 0.14s;
}
.wa-pv-lang.on { background: color-mix(in srgb, #16a34a 14%, transparent); border-color: color-mix(in srgb, #16a34a 45%, transparent); color: #16a34a; }

.wa-pv-text {
    width: 100%; padding: 12px 14px; border-radius: 12px; resize: vertical;
    background: var(--bg-2); border: 1px solid var(--border);
    color: var(--text); font-family: inherit; font-size: 0.92rem; line-height: 1.7;
}
.wa-pv-text[dir="rtl"] { text-align: right; }
.wa-pv-text:focus { outline: none; border-color: color-mix(in srgb, #16a34a 55%, transparent); }

.wa-pv-warn {
    margin: 9px 0 4px; padding: 9px 12px; border-radius: 10px;
    font-size: 0.8rem; line-height: 1.5;
    background: var(--danger-bg); border: 1px solid color-mix(in srgb, var(--danger) 40%, transparent);
    color: var(--danger);
}
.wa-pv-actions .wa-pv-send { background: #25D366; border-color: #25D366; color: #062e16; }
.wa-pv-actions .wa-pv-send:hover { filter: brightness(1.07); }

/* margin hint under the price row */
#pfMarginHint { display: block; margin-top: -6px; }
#pfMarginHint.bad-margin { color: var(--danger); font-weight: 700; }

/* ---- category picker sheet: search box + rows + add button ---- */
.cat-pick-search { padding: 4px 16px 10px; }
.cat-list { display: flex; flex-direction: column; gap: 7px; }
/* rows render straight into the picker's scroll area */
#catPickList { display: flex; flex-direction: column; gap: 7px; }
.cat-row {
    display: flex; align-items: center; gap: 8px; padding: 5px 8px 5px 5px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
}
.cat-row.on { border-color: var(--accent); }
.cat-row.editing { border-color: var(--accent); padding: 7px 8px; }
/* the tappable pick area (name + tick), fills the row */
.cat-row-pick {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 10px;
    padding: 9px 8px; border: 0; background: none; cursor: pointer;
    color: var(--text); text-align: start; border-radius: 9px;
    transition: background 0.14s;
}
.cat-row-pick:active { background: var(--surface-hover); }
@media (hover: hover) { .cat-row-pick:hover { background: var(--surface-hover); } }
.cat-row-name {
    flex: 1 1 auto; min-width: 0; font-weight: 600; font-size: 0.92rem;
    display: flex; align-items: baseline; gap: 8px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cat-row.on .cat-row-name { color: var(--accent); }
.cat-row-ar { color: var(--text-muted); font-weight: 600; font-size: 0.9em; }
.cat-row-pick .pm-tick { width: 17px; height: 17px; flex: none; opacity: 0; color: var(--accent); }
.cat-row.on .cat-row-pick .pm-tick { opacity: 1; }
/* inline-edit inputs replacing the name area */
.cat-edit-fields { flex: 1 1 auto; min-width: 0; display: flex; gap: 8px; }
.cat-edit-in {
    flex: 1 1 50%; min-width: 0; padding: 9px 10px;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 9px;
    color: var(--text); font-family: inherit; font-size: 0.9rem;
}
.cat-edit-in:focus { outline: none; border-color: var(--accent); }
/* the pencil / trash / save / cancel square buttons */
.cat-row-btn {
    flex: none; width: 34px; height: 34px; display: grid; place-items: center;
    background: none; border: 1px solid var(--border); border-radius: 9px;
    color: var(--text-muted); cursor: pointer; transition: border-color 0.14s, color 0.14s;
}
.cat-row-btn svg { width: 16px; height: 16px; }
.cat-row-btn:hover { border-color: var(--border-strong); color: var(--text); }
.cat-row-btn.ok { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.cat-row-btn.ok:hover { border-color: var(--accent); }
.cat-row-btn.danger:hover { border-color: var(--danger); color: var(--danger); }
/* a delete button disabled because the category is in use */
.cat-row-btn[disabled] { opacity: 0.38; cursor: not-allowed; }
.cat-row-btn[disabled]:hover { border-color: var(--border); color: var(--text-muted); }
/* product-count chip beside a category name in the manager list */
.cat-row-count {
    flex: none; margin-inline-start: 8px; min-width: 20px; padding: 1px 7px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; font-size: 0.72rem; font-weight: 800; line-height: 1.4;
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
/* "Add "X"" affordance shown when the typed name has no match */
.cat-add-btn {
    display: flex; align-items: center; gap: 9px; width: 100%; margin-top: 4px;
    padding: 13px 14px; border-radius: 12px; cursor: pointer;
    background: color-mix(in srgb, var(--accent) 12%, transparent);
    border: 1px dashed color-mix(in srgb, var(--accent) 55%, transparent);
    color: var(--accent); font-family: inherit; font-size: 0.92rem; font-weight: 700;
    text-align: start;
}
.cat-add-btn:hover { background: color-mix(in srgb, var(--accent) 18%, transparent); }
.cat-add-btn svg { width: 18px; height: 18px; flex: none; }
.cat-empty { padding: 18px 6px; text-align: center; color: var(--text-muted); font-size: 0.86rem; }

/* Tax rate badges inside a picker row (rate · incl/excl · default) */
.tax-badges { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tax-badge {
    flex: none; padding: 2px 8px; border-radius: 999px;
    font-size: 0.72rem; font-weight: 700; line-height: 1.5;
    background: var(--bg-2); color: var(--text-muted);
    border: 1px solid var(--border);
}
.tax-badge.incl { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.tax-badge.excl { color: var(--text-muted); }
.tax-badge.def  {
    color: #b8860b; background: color-mix(in srgb, #f5c518 18%, transparent);
    border-color: color-mix(in srgb, #f5c518 45%, transparent);
}
/* the tax name row can wrap so its badges stay visible */
.cat-row-name:has(.tax-badges) { white-space: normal; flex-wrap: wrap; }

/* read-only "sell price after tax" box in the product form */
.pf-aftertax-box {
    display: flex; flex-direction: column; gap: 3px;
    padding: 11px 13px; border-radius: 11px;
    background: color-mix(in srgb, var(--accent) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}
.pf-aftertax-box b { font-size: 1.05rem; font-weight: 800; color: var(--accent); }
.pf-aftertax-note { font-size: 0.78rem; color: var(--text-muted); }

/* ---------- Purchases ----------
   Reuses the customer list rows (.cust-row), detail sheet (.cd-*) and form
   (.cf-*). Extras: a two-cell summary strip, a line-item editor, a live totals
   block with a VAT switch, and a payment-method segmented control. */

/* summary strip above the list */
.pur-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 14px; }
.pur-sum-cell {
    display: flex; flex-direction: column; gap: 3px; align-items: center;
    padding: 13px 10px; background: var(--surface);
    border: 1px solid var(--border); border-radius: 14px;
}
.pur-sum-cell.owes { border-color: var(--warn); }
.psum-n { font-size: 1.15rem; font-weight: 800; }
.pur-sum-cell.owes .psum-n { color: var(--warn); }
.psum-l { font-size: 0.7rem; color: var(--text-muted); }

/* paid/due badge on the row */
.prod-badge.paidok { color: var(--ok, #10b981); border-color: color-mix(in srgb, var(--ok, #10b981) 45%, transparent); }
.cr-visits.owes { color: var(--warn); font-weight: 700; }

/* ---- detail sheet: item lines + strong total row ---- */
.pur-view-lines { display: flex; flex-direction: column; gap: 8px; margin-bottom: 6px; }
.pur-view-line {
    display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: baseline;
    padding: 10px 12px; background: var(--surface);
    border: 1px solid var(--border); border-radius: 11px;
}
.pvl-name { font-weight: 600; font-size: 0.92rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pvl-qty { font-size: 0.8rem; color: var(--text-muted); }
.pvl-total { font-weight: 700; font-size: 0.9rem; }
.cd-metarow.strong { border-top: 1px solid var(--border); padding-top: 12px; margin-top: 4px; }
.cd-metarow.strong span, .cd-metarow.strong b { font-size: 1rem; font-weight: 800; }
.pur-del-note { margin: 10px 4px 0; font-size: 0.76rem; color: var(--text-muted); text-align: center; }

/* ---- form: line-item editor ---- */
.pur-lines-label, .cf-field > label.pur-lines-label { /* section heading */
    display: block; margin: 4px 2px 9px; font-size: 0.8rem; font-weight: 700; color: var(--text);
}
#prfLines { display: flex; flex-direction: column; gap: 10px; }
.pur-line {
    padding: 11px; background: var(--bg-2);
    border: 1px solid var(--border); border-radius: 13px;
}
.pur-line-prod {
    width: 100%; display: flex; align-items: center; gap: 8px;
    padding: 11px 12px; margin-bottom: 9px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
    color: var(--text); font-family: inherit; font-size: 0.92rem; font-weight: 600;
    cursor: pointer; text-align: start;
}
.pur-line-prod:hover { border-color: var(--accent); }
.pur-line-prod .plp-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pur-line-prod .plp-name.muted { color: var(--text-muted); }
.pur-line-prod .pb-chev { width: 18px; height: 18px; flex: none; color: var(--text-muted); }
.pur-line-nums { display: flex; align-items: flex-end; gap: 9px; }
.pln-field { display: flex; flex-direction: column; gap: 4px; }
.pln-field:first-child { width: 68px; flex: none; }
.pln-field:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.pln-field span { font-size: 0.68rem; font-weight: 600; color: var(--text-muted); }
.pln-field input {
    width: 100%; padding: 9px 10px; background: var(--surface);
    border: 1px solid var(--border); border-radius: 9px;
    color: var(--text); font-family: inherit; font-size: 0.9rem;
}
.pln-field input:focus { outline: none; border-color: var(--accent); }
.pln-total { flex: none; min-width: 74px; text-align: end; font-weight: 700; font-size: 0.86rem; padding-bottom: 9px; }
.pln-del {
    flex: none; width: 34px; height: 34px; display: grid; place-items: center;
    background: none; border: 1px solid var(--border); border-radius: 9px;
    color: var(--text-muted); cursor: pointer;
}
.pln-del svg { width: 15px; height: 15px; }
.pln-del:hover:not(:disabled) { border-color: var(--danger); color: var(--danger); }
.pln-del:disabled { opacity: 0.35; cursor: default; }

.pur-addline {
    display: flex; align-items: center; gap: 8px; width: 100%; margin: 11px 0 4px;
    padding: 11px 13px; border-radius: 11px; cursor: pointer;
    background: none; border: 1px dashed var(--border-strong);
    color: var(--accent); font-family: inherit; font-size: 0.88rem; font-weight: 700;
    justify-content: center;
}
.pur-addline:hover { background: var(--surface-hover); }
.pur-addline svg { width: 17px; height: 17px; }

/* ---- form: totals block + VAT switch ---- */
.pur-totals {
    margin: 16px 0; padding: 14px; border-radius: 13px;
    background: var(--surface); border: 1px solid var(--border);
    display: flex; flex-direction: column; gap: 2px;
}
.pur-total-row { display: flex; justify-content: space-between; align-items: center; padding: 6px 2px; font-size: 0.9rem; }
.pur-total-row span { color: var(--text-muted); }
.pur-total-row.strong { border-top: 1px solid var(--border); margin-top: 4px; padding-top: 11px; }
.pur-total-row.strong span, .pur-total-row.strong b { font-size: 1.05rem; font-weight: 800; color: var(--text); }
.pur-vat-toggle-row {
    display: flex; justify-content: space-between; align-items: center;
    width: 100%; padding: 8px 2px; background: none; border: 0; cursor: pointer;
    color: var(--text); font-family: inherit; font-size: 0.9rem;
}
.pvt-left { display: flex; align-items: center; gap: 10px; }
.pvt-amt { color: var(--text-muted); }
/* the small VAT on/off switch */
.prf-switch {
    position: relative; width: 40px; height: 23px; flex: none;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 99px;
    transition: background 0.16s, border-color 0.16s;
}
.prf-switch i {
    position: absolute; top: 2px; inset-inline-start: 2px; width: 17px; height: 17px;
    background: var(--text-muted); border-radius: 50%; transition: transform 0.16s, background 0.16s;
}
.prf-switch.on { background: color-mix(in srgb, var(--accent) 30%, transparent); border-color: var(--accent); }
.prf-switch.on i { background: var(--accent); transform: translateX(17px); }
[dir="rtl"] .prf-switch.on i { transform: translateX(-17px); }

/* ---- form: payment method segmented control ---- */
.prf-methods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.prf-method-opt {
    padding: 11px 6px; border-radius: 10px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border);
    color: var(--text-muted); font-family: inherit; font-size: 0.82rem; font-weight: 700;
    transition: border-color 0.14s, color 0.14s, background 0.14s;
}
.prf-method-opt:hover { border-color: var(--border-strong); color: var(--text); }
.prf-method-opt.on { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); }

/* ---- product picker rows (line item chooser) ---- */
.pm-item .pp-main { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; text-align: start; }
.pm-item .pp-name { font-weight: 600; }
.pm-item .pp-sub { font-size: 0.74rem; color: var(--text-muted); }

/* PIN field with an in-field "suggest an unused PIN" button.
   Pattern mirrors .cust-search: the input reserves space for the button on ONE
   side and the digits sit on the OTHER, in both LTR and RTL. Direction is pinned
   explicitly (not via logical properties) so the button and the reserved padding
   always land on the same physical side. LTR: button right, digits left.
   RTL: button left, digits right. */
.cf-pin { position: relative; display: flex; align-items: center; }
.cf-pin input {
    width: 100%; letter-spacing: 0.18em;
    padding-left: 14px; padding-right: 118px;   /* button on the right by default */
    text-align: left; direction: ltr;           /* PIN digits always read L→R */
}
[dir="rtl"] .cf-pin input {
    padding-left: 118px; padding-right: 14px;    /* RTL: button on the left */
    text-align: right;                           /* digits sit on the right edge */
}
.cf-pin-gen {
    position: absolute; right: 8px;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 12px; border-radius: 9px;
    background: var(--bg-2); border: 1px solid var(--border);
    color: var(--text-muted); font-family: inherit; font-size: 0.76rem; font-weight: 700;
    cursor: pointer; white-space: nowrap;
    transition: color 0.18s, border-color 0.18s, background 0.18s;
}
[dir="rtl"] .cf-pin-gen { right: auto; left: 8px; }
.cf-pin-gen:hover { color: var(--accent); border-color: var(--accent); }
.cf-pin-gen svg { width: 14px; height: 14px; }
.cf-pin-gen.spin svg { animation: cf-pin-spin 0.5s var(--ease); }
@keyframes cf-pin-spin { to { transform: rotate(360deg); } }

/* form selects (country picker, role picker, …) */
#cfCc, .cf-field select {
    width: 100%; padding: 14px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; color: var(--text);
    font-family: inherit; font-size: 0.95rem;
    cursor: pointer;
    /* the native arrow is invisible on a dark select in some browsers */
    appearance: none; -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                      linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position: calc(100% - 19px) 22px, calc(100% - 14px) 22px;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
    padding-inline-end: 38px;
}
[dir="rtl"] #cfCc, [dir="rtl"] .cf-field select {
    background-position: 19px 22px, 14px 22px;
    padding-inline-end: 14px; padding-inline-start: 38px;
}
#cfCc:focus { outline: none; border-color: var(--accent); }

/* A form field whose value is chosen from a bottom-sheet (like the dashboard
   period filter), instead of a native <select>. The trigger reuses .period-btn;
   this just makes it fill the field width and carry a single-line label. */
.cf-field .period-btn { width: 100%; min-width: 0; }
.cf-field .period-btn .pb-txt { justify-content: center; }
.cf-field .period-btn .pb-label { font-size: 0.95rem; }
#cfCc option, .cf-field select option { background: var(--surface-solid, var(--bg-2)); color: var(--text); }

/* phone row: fixed "+968" prefix glued to the input */
.cf-phone, .cf-cc {
    display: flex; align-items: stretch; gap: 8px;
    direction: ltr;   /* a phone number must never be reordered by RTL */
}
.cf-prefix, .cf-plus {
    flex: none; display: grid; place-items: center;
    min-width: 62px; padding: 0 12px;
    background: var(--bg-2); border: 1px solid var(--border);
    border-radius: 12px; color: var(--text-muted);
    font-size: 0.9rem; font-weight: 700;
}
.cf-plus { min-width: 46px; }
.cf-phone input, .cf-cc input { flex: 1; min-width: 0; }

.cf-error {
    padding: 11px 13px; margin-bottom: 14px; border-radius: 10px;
    background: rgba(239, 68, 68, 0.12); border: 1px solid var(--danger);
    color: var(--danger); font-size: 0.82rem; font-weight: 600;
}

.cf-actions { display: flex; gap: 10px; margin-top: 4px; }
.cf-cancel, .cf-save {
    flex: 1; padding: 15px; border-radius: 12px;
    font-family: inherit; font-size: 0.9rem; font-weight: 700; cursor: pointer;
}
.cf-cancel {
    background: var(--surface); border: 1px solid var(--border); color: var(--text-muted);
}
.cf-cancel:hover { color: var(--text); }
.cf-save { background: var(--accent); border: 0; color: #fff; }
.cf-save:hover { filter: brightness(1.08); }

@media (max-width: 560px) {
    .cr-right { display: none; }
    .cust-row { padding: 13px 12px; }
    /* the label would push the search box too narrow on a phone */
    .btn-add span { display: none; }
    .btn-add { padding: 0 16px; }
}

/* ---------- Period bottom sheet ----------
   Lives at screen level (outside #mvBody) so a dashboard re-render can't destroy
   it mid-animation. Visibility-based, like the drawer — `display:none` cannot be
   transitioned, so the exit would snap. */
.psheet {
    position: fixed; inset: 0; z-index: 130;
    visibility: hidden; pointer-events: none;
    transition: visibility 0s linear 0.36s;
}
.psheet.open {
    visibility: visible; pointer-events: auto;
    transition: visibility 0s linear 0s;
}
.psheet-scrim {
    position: absolute; inset: 0;
    background: rgba(2, 6, 16, 0.74);
    opacity: 0; transition: opacity 0.32s var(--ease);
}
.psheet.open .psheet-scrim { opacity: 1; }

.psheet-panel {
    position: absolute; inset-inline: 0; bottom: 0;
    margin-inline: auto; width: 100%; max-width: 520px;
    max-height: 86vh; display: flex; flex-direction: column;
    background: var(--surface-solid, var(--bg-2));
    border: 1px solid var(--border-strong); border-bottom: 0;
    border-radius: 24px 24px 0 0;
    box-shadow: 0 -18px 60px rgba(0, 0, 0, 0.45);
    padding-bottom: env(safe-area-inset-bottom);
    transform: translateY(100%);
    /* iOS sheet curve: quick lift, long soft settle */
    transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}
.psheet.open .psheet-panel { transform: translateY(0); }

.psheet-handle {
    width: 40px; height: 4px; border-radius: 99px; flex: none;
    background: var(--border-strong); margin: 10px auto 4px;
}
.psheet-head {
    flex: none; display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 8px 14px 12px 18px;
    border-bottom: 1px solid var(--border);
}
.psheet-title { font-size: 1rem; font-weight: 800; }
.psheet-scroll {
    flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch;
    padding: 8px; overscroll-behavior: contain;
}

.pm-item {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    width: 100%; padding: 13px 12px; border: 0; border-radius: 11px;
    background: none; cursor: pointer;
    font-family: inherit; font-size: 0.9rem; font-weight: 600;
    color: var(--text); text-align: start;
    transition: background 0.14s;
}
.pm-item:active { background: var(--surface-hover); }
@media (hover: hover) { .pm-item:hover { background: var(--surface-hover); } }
.pm-item.on { color: var(--accent); }
.pm-tick { width: 17px; height: 17px; flex: none; opacity: 0; color: var(--accent); }
.pm-item.on .pm-tick { opacity: 1; }
.pm-sep { height: 1px; margin: 6px 10px; background: var(--border); }

.pm-custom {
    display: none; flex-wrap: wrap; gap: 9px;
    margin: 4px 6px 6px; padding: 13px;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 12px;
}
.pm-custom.open { display: flex; }
.pm-custom label {
    display: flex; flex-direction: column; gap: 5px; flex: 1 1 44%;
    font-size: 0.72rem; font-weight: 600; color: var(--text-muted);
}
.pm-custom input[type="date"] {
    width: 100%; padding: 9px 10px; border-radius: 9px;
    background: var(--surface); border: 1px solid var(--border);
    color: var(--text); font-family: inherit; font-size: 0.85rem;
    color-scheme: dark;
}
[data-theme="light"] .pm-custom input[type="date"] { color-scheme: light; }
.btn-apply {
    flex: 1 1 100%; padding: 12px 16px; border-radius: 10px; border: 0;
    background: var(--accent); color: #fff;
    font-family: inherit; font-size: 0.85rem; font-weight: 700; cursor: pointer;
}
.btn-apply:hover { filter: brightness(1.08); }

@media (prefers-reduced-motion: reduce) {
    .psheet-panel, .psheet-scrim, .pb-chev { transition: none; }
}

/* the Floor + Outstanding cards ignore the filter — say so, or the owner will
   assume they're filtered and misread them */
.db-live {
    margin: -10px 0 14px; font-size: 0.7rem; color: var(--text-muted); opacity: 0.75;
}

@media (max-width: 560px) {
    .period-picker { display: block; }
    .period-btn { width: 100%; min-width: 0; }
}

.dbr-sub { font-size: 0.74rem; color: var(--text-muted); }

/* date · how long ago — sits under the car on outstanding balances */
.dbr-when {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    margin-top: 3px; font-size: 0.71rem; color: var(--text-muted);
}
/* the date is Latin digits — never let RTL reorder dd/mm/yyyy */
.when-date { direction: ltr; opacity: 0.85; }
.when-dot { opacity: 0.45; }
.when-ago { font-weight: 600; }
/* a debt more than a week old is worth chasing — make it impossible to miss */
.when-ago.stale {
    color: var(--warn);
    background: rgba(245, 158, 11, 0.14);
    padding: 1px 7px; border-radius: 99px;
}
.dbr-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; }
[dir="rtl"] .dbr-right { align-items: flex-start; }
.dbr-amt { font-size: 0.86rem; font-weight: 700; direction: ltr; }
.dbr-meta { font-size: 0.72rem; color: var(--text-muted); direction: ltr; }

.mini-bar {
    width: 68px; height: 5px; border-radius: 99px; flex: none;
    background: var(--bg-2); overflow: hidden; direction: ltr;
}
.mini-bar.wide { width: 100%; margin-top: 5px; }
.mini-bar i {
    display: block; height: 100%; border-radius: 99px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

.db-foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border);
    font-size: 0.82rem; color: var(--text-muted);
}
.db-foot b { color: var(--text); font-size: 0.95rem; }

.tier {
    font-size: 0.6rem; font-weight: 800; letter-spacing: 0.06em;
    padding: 2px 6px; border-radius: 5px; vertical-align: middle;
}
.tier.vip { background: rgba(239, 68, 68, 0.15); color: #ef4444; }
.tier.gold { background: rgba(245, 158, 11, 0.15); color: #f59e0b; }

@media (max-width: 560px) {
    .kpi-row { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .kpi { padding: 14px; }
    .kpi-value { font-size: 1.2rem; }
    .db-cols { grid-template-columns: 1fr; }
}

/* ---------- Owner mobile drawer ----------
   The burger and the drawer exist only below 560px. Above that the header
   still holds theme / premium / sign-out, so the drawer must never appear.

   NOTE: `display` cannot be transitioned. Toggling display:none/block makes the
   panel snap open and disappear instantly on close (no exit animation). So the
   drawer stays in the layout and we animate visibility + opacity + transform;
   `visibility` is what keeps it non-interactive while closed, and it transitions
   discretely at the END of the delay, so the slide-out is fully visible. */
.icon-btn.burger { display: none; }
.drawer {
    position: fixed; inset: 0; z-index: 120;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear 0.3s;   /* wait for the slide-out to finish */
}
.drawer.open {
    visibility: visible;
    pointer-events: auto;
    transition: visibility 0s linear 0s;     /* show immediately on open */
}

.drawer-scrim {
    position: absolute; inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0; transition: opacity 0.3s var(--ease);
}
.drawer-panel {
    position: absolute; inset-block: 0; inset-inline-start: 0;
    width: min(86vw, 340px);
    display: flex; flex-direction: column;
    background: var(--surface-solid, var(--bg-2));
    border-inline-end: 1px solid var(--border);
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.5);
    /* slide in from the leading edge — negative X in LTR, positive in RTL */
    transform: translateX(-100%);
    transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
    padding-bottom: env(safe-area-inset-bottom);
}
[dir="rtl"] .drawer-panel { transform: translateX(100%); }

/* burger tints + rotates while its drawer is open */
.icon-btn.burger[aria-expanded="true"] {
    border-color: var(--border-strong);
    color: var(--accent);
}
.icon-btn.burger svg { transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1); }
.icon-btn.burger[aria-expanded="true"] svg { transform: rotate(90deg); }

.drawer.open .drawer-scrim { opacity: 1; }
.drawer.open .drawer-panel,
[dir="rtl"] .drawer.open .drawer-panel { transform: translateX(0); }

/* stagger the rows in behind the panel so it feels like content arriving,
   not a static image sliding */
.drawer.open .drawer-item {
    animation: drawerRowIn 0.32s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}
.drawer.open .drawer-item:nth-child(1)  { animation-delay: 0.05s; }
.drawer.open .drawer-item:nth-child(2)  { animation-delay: 0.08s; }
.drawer.open .drawer-item:nth-child(3)  { animation-delay: 0.11s; }
.drawer.open .drawer-item:nth-child(4)  { animation-delay: 0.14s; }
.drawer.open .drawer-item:nth-child(5)  { animation-delay: 0.17s; }
.drawer.open .drawer-item:nth-child(6)  { animation-delay: 0.20s; }
.drawer.open .drawer-item:nth-child(7)  { animation-delay: 0.23s; }
.drawer.open .drawer-item:nth-child(8)  { animation-delay: 0.26s; }
.drawer.open .drawer-item:nth-child(n+9) { animation-delay: 0.29s; }
@keyframes drawerRowIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.drawer-head {
    flex: 0 0 auto;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 16px 16px 12px;
    border-bottom: 1px solid var(--border);
}
.drawer-title { font-size: 1.05rem; font-weight: 800; letter-spacing: -0.01em; }
.drawer-scroll {
    flex: 1 1 auto; overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 14px 12px 24px;
}
.drawer-label {
    font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em;
    text-transform: uppercase; color: var(--text-muted);
    padding: 10px 8px 8px;
}
[dir="rtl"] .drawer-label { text-transform: none; letter-spacing: 0; font-size: 0.72rem; }
.drawer-list { display: flex; flex-direction: column; gap: 2px; }

.drawer-item {
    display: flex; align-items: center; gap: 12px;
    width: 100%; padding: 11px 8px;
    background: none; border: 0; border-radius: 12px;
    cursor: pointer; text-align: start;
    font-family: inherit; color: var(--text);
    transition: background 0.18s;
}
.drawer-item:active { background: var(--surface-hover); }
@media (hover: hover) {
    .drawer-item:hover { background: var(--surface-hover); }
}
.di-icon {
    flex: 0 0 auto;
    width: 36px; height: 36px; border-radius: 10px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--ic1), var(--ic2));
    box-shadow: 0 6px 14px -8px var(--ic1);
}
.di-icon svg { width: 18px; height: 18px; stroke: #fff; stroke-width: 2; }
/* settings rows have no brand colour — plain bordered tile instead */
.di-icon.plain {
    background: var(--bg-2); border: 1px solid var(--border);
    box-shadow: none; color: var(--text-muted);
}
.di-icon.plain svg { stroke: currentColor; width: 17px; height: 17px; }
.di-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.di-title { font-size: 0.88rem; font-weight: 600; }
.di-desc {
    font-size: 0.72rem; color: var(--text-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.drawer-item.danger .di-title { color: var(--danger); }
.drawer-item.danger .di-icon.plain { color: var(--danger); border-color: var(--danger); }
/* premium active state, lifted from the icon span up to the whole row */
.js-premium-toggle-row.on .di-icon.plain {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    border-color: transparent; color: #fff;
}
.js-premium-toggle-row.on .di-title { color: var(--accent); }

body.drawer-lock { overflow: hidden; }

/* The drawer is no longer display:none (so it can animate), which means it is
   ALWAYS in the layout. Above the mobile breakpoint it must be removed outright
   — otherwise an invisible fixed overlay sits on top of the dashboard. */
@media (min-width: 561px) {
    .drawer { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .drawer-panel, .drawer-scrim { transition: none; }
    .drawer.open .drawer-item { animation: none; }
}

/* ---------- Owner dashboard ---------- */
.dash-body { max-width: 1180px; margin: 0 auto; padding: 40px 28px 80px; }
.dash-hero { margin-bottom: 32px; }
.dash-hero h1 { font-size: 1.9rem; font-weight: 800; letter-spacing: -0.02em; }
.dash-hero h1 .accent { color: var(--accent); }
.dash-hero p { color: var(--text-muted); margin-top: 8px; font-size: 0.95rem; }

/* #moduleGrid is now a vertical stack of labelled sections; the tile columns
   moved down to .grid-tiles inside each section. */
.grid { display: flex; flex-direction: column; gap: 34px; }
.grid-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 18px;
}
.section-label {
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--text-muted);
    margin-bottom: 14px; padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}
/* uppercase + wide tracking are Latin-only — they just smear Arabic glyphs */
[dir="rtl"] .section-label {
    text-transform: none; letter-spacing: 0; font-size: 0.85rem;
}

.tile {
    position: relative;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    cursor: pointer;
    overflow: hidden;
    text-align: center;
    font-family: inherit; color: var(--text);
    transition: transform 0.3s var(--ease), border-color 0.3s, background 0.3s, box-shadow 0.3s;
    opacity: 0; transform: translateY(16px);
    animation: tileIn 0.5s var(--ease) forwards;
}
@keyframes tileIn { to { opacity: 1; transform: translateY(0); } }
.tile::after {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(circle at 50% 0%, var(--accent-glow), transparent 70%);
    opacity: 0; transition: opacity 0.35s;
}
.tile:hover {
    transform: translateY(-5px);
    border-color: var(--border-strong);
    background: var(--surface-hover);
    box-shadow: var(--shadow);
}
.tile:hover::after { opacity: 0.5; }
.tile:hover .tile-icon { transform: scale(1.06) rotate(-3deg); }

/* ---------- Locked modules (not built yet) ----------
   Renders exactly like a normal tile — full colour, normal hover. The lock badge
   in the corner is the only marker. */
.tile.locked { cursor: pointer; }

/* the lock sits where the arrow would be */
.tile .lock {
    position: absolute; top: 22px; inset-inline-end: 22px; z-index: 1;
    color: var(--text-muted); opacity: 0.75;
    display: grid; place-items: center;
    transition: color 0.3s, opacity 0.3s;
}
.tile.locked:hover .lock { color: var(--accent); opacity: 1; }
.tile .lock svg { width: 15px; height: 15px; }

/* drawer row */
.di-lock {
    flex: none; display: grid; place-items: center;
    color: var(--text-muted); opacity: 0.7;
}
.di-lock svg { width: 15px; height: 15px; }

.tile-icon {
    position: relative; z-index: 1;
    width: 54px; height: 54px;
    display: grid; place-items: center;
    border-radius: 14px;
    /* text-align doesn't move a block box — it needs auto side margins.
       margin-inline (logical) keeps this correct under RTL too. */
    margin-inline: auto;
    margin-bottom: 18px;
    background: linear-gradient(135deg, var(--ic1), var(--ic2));
    box-shadow: 0 8px 20px -8px var(--ic1);
    transition: transform 0.35s var(--ease);
}
.tile-icon svg { width: 26px; height: 26px; stroke: #fff; stroke-width: 2; }
.tile h3 { position: relative; z-index: 1; font-size: 1.05rem; font-weight: 700; }
.tile p { position: relative; z-index: 1; font-size: 0.8rem; color: var(--text-muted); margin-top: 5px; }
.tile .arrow {
    /* logical, not `right:` — otherwise it stays stuck on the right in RTL
       instead of following the trailing corner. */
    position: absolute; top: 22px; inset-inline-end: 22px; z-index: 1;
    color: var(--text-muted); opacity: 0;
    transform: translateX(-6px); transition: opacity 0.3s, transform 0.3s, color 0.3s;
}
.tile:hover .arrow { opacity: 1; transform: translateX(0); color: var(--accent); }
/* the arrow glyph points right; mirror it and its slide-in under RTL */
[dir="rtl"] .tile .arrow { transform: translateX(6px) scaleX(-1); }
[dir="rtl"] .tile:hover .arrow { transform: translateX(0) scaleX(-1); }


/* ---------- Staff floor view ---------- */
.staff-body { max-width: 1100px; margin: 0 auto; padding: 32px 24px 120px; }

.chip {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 13px; border-radius: 99px;
    background: var(--surface); border: 1px solid var(--border);
    font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em;
    color: var(--text-muted);
}
.chip .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 3px var(--ok-bg); }

.staff-hero { margin: 18px 0 26px; }
.staff-hero h1 { font-size: 1.85rem; font-weight: 800; letter-spacing: -0.02em; }
.staff-hero h1 .accent { color: var(--accent); }
.staff-hero p { color: var(--text-muted); margin-top: 6px; font-size: 0.92rem; }

.stats-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
    margin-bottom: 26px;
}
.stat-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius); padding: 18px;
    transition: border-color 0.25s, transform 0.25s;
    /* centre the chip, number and note horizontally */
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
}
.stat-card:hover { border-color: var(--border-strong); transform: translateY(-2px); }
.stat-chip {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 0.72rem; font-weight: 600; color: var(--text-muted); margin-bottom: 12px;
}
.stat-chip i { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.stat-chip i.g { background: var(--ok); box-shadow: 0 0 0 3px var(--ok-bg); }
.stat-chip i.a { background: var(--warn); box-shadow: 0 0 0 3px var(--warn-bg); }
.stat-num { font-size: 2.1rem; font-weight: 800; line-height: 1; letter-spacing: -0.03em; }
.stat-num .ghost { color: var(--text-muted); opacity: 0.5; font-size: 1.2rem; }
.stat-note { font-size: 0.74rem; color: var(--text-muted); margin-top: 6px; }

.floor-tabs {
    display: flex; gap: 6px; padding: 5px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 14px; margin-bottom: 18px;
}
.floor-tab {
    flex: 1; min-width: 0;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 12px; border: none; border-radius: 10px;
    background: transparent; color: var(--text-muted);
    font-family: inherit; font-size: 0.85rem; font-weight: 600; cursor: pointer;
    white-space: nowrap; transition: background 0.2s, color 0.2s;
}
.floor-tab .ft-dot { width: 8px; height: 8px; border-radius: 50%; }
.floor-tab .ft-dot.g { background: var(--ok); }
.floor-tab .ft-dot.a { background: var(--warn); }
.floor-tab .ft-count {
    background: var(--bg-2); color: var(--text-muted);
    font-size: 0.72rem; font-weight: 700; padding: 1px 8px; border-radius: 99px;
}
.floor-tab.on {
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff;
    box-shadow: 0 8px 20px -10px var(--accent-glow);
}
.floor-tab.on .ft-count { background: rgba(255, 255, 255, 0.25); color: #fff; }
.floor-tab.on .ft-dot { background: rgba(255, 255, 255, 0.9); }

.tab-panel { display: none; }
.tab-panel.on { display: block; animation: fadeUp 0.3s var(--ease); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.job-card {
    background: var(--surface-solid); border: 1px solid var(--border);
    border-left: 3px solid var(--border-strong);
    border-radius: 14px; padding: 16px 18px; margin-bottom: 12px;
    transition: border-color 0.25s, transform 0.2s, box-shadow 0.25s;
}
.job-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.job-card.live { border-left-color: var(--ok); }
.job-card.queue { border-left-color: var(--warn); }
.job-card.ready { border-left-color: var(--accent); }

.job-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.job-customer { font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.job-car { font-size: 0.78rem; color: var(--text-muted); margin-top: 3px; }
.tier-badge {
    font-size: 0.6rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 99px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff;
}
.tier-badge.vip { background: linear-gradient(135deg, #a855f7, #7c3aed); }

.job-badge {
    font-size: 0.65rem; font-weight: 700; letter-spacing: 0.04em;
    padding: 5px 11px; border-radius: 99px; white-space: nowrap;
}
.job-badge.live { background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok); }
.job-badge.wait { background: var(--warn-bg); color: var(--warn); border: 1px solid var(--warn); }
.job-badge.rdy  { background: var(--accent-glow); color: var(--accent); border: 1px solid var(--accent); }
.job-badge.muted { background: var(--bg-2); color: var(--text-muted); border: 1px solid var(--border-strong); }

.job-service {
    font-size: 0.85rem; font-weight: 600; padding: 9px 0; margin-bottom: 8px;
    border-top: 1px dashed var(--border); border-bottom: 1px dashed var(--border);
}
.job-prog { display: flex; align-items: center; gap: 12px; margin-bottom: 9px; }
.job-prog-bar { flex: 1; height: 7px; background: var(--bg-2); border-radius: 99px; overflow: hidden; }
.job-prog-bar i { display: block; height: 100%; border-radius: 99px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width 0.5s var(--ease); }
.job-prog-bar i.green { background: linear-gradient(90deg, var(--ok), #34d399); }
.job-pct { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); min-width: 60px; text-align: right; }
.job-meta {
    display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    font-size: 0.76rem; color: var(--text-muted);
}
.job-meta strong { color: var(--text); font-weight: 600; }
.job-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

.btn-sm {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: 10px;
    border: 1px solid var(--border-strong); background: var(--surface);
    color: var(--text); font-family: inherit; font-size: 0.78rem; font-weight: 600; cursor: pointer;
    transition: border-color 0.2s, background 0.2s, transform 0.12s;
}
.btn-sm:hover { border-color: var(--accent); transform: translateY(-1px); }
.btn-sm:active { transform: translateY(0); }
.btn-sm.solid { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }
.btn-sm.ghost { background: transparent; color: var(--text-muted); }

.floor-hint {
    margin-top: 14px; padding: 13px 16px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
    font-size: 0.8rem; color: var(--text-muted); line-height: 1.6;
}
.floor-hint strong { color: var(--text); }

.bottom-bar {
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 20;
    background: var(--surface); backdrop-filter: blur(20px);
    border-top: 1px solid var(--border);
    padding: 14px 24px;
    box-shadow: 0 -10px 40px -20px rgba(0, 0, 0, 0.5);
}
.bottom-bar-inner {
    max-width: 1100px; margin: 0 auto;
    display: flex; align-items: center; gap: 12px;
}
.bottom-bar .spacer { flex: 1; }
.btn-lg {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 22px; border-radius: 12px; border: none;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff;
    font-family: inherit; font-size: 0.92rem; font-weight: 700; cursor: pointer;
    box-shadow: 0 10px 24px -10px var(--accent-glow);
    transition: transform 0.15s var(--ease), filter 0.2s;
}
.btn-lg:hover { transform: translateY(-2px); filter: brightness(1.07); }
.btn-lg:active { transform: translateY(0); }
/* Disabled (e.g. Complete intake before both parties have signed). Without this a
   disabled button is visually identical to a live one, which reads as "broken". */
.btn-lg:disabled,
.btn-lg[disabled] {
    background: var(--surface-2, #1a1a1f);
    color: var(--text-muted);
    cursor: not-allowed;
    filter: none;
    opacity: 0.55;
}
.btn-lg:disabled:hover,
.btn-lg[disabled]:hover { transform: none; filter: none; }

/* ---------- Toast ---------- */
#toast {
    position: fixed; bottom: 28px; left: 50%;
    transform: translate(-50%, 200%);
    z-index: 100;
    display: flex; align-items: center; gap: 14px;
    padding: 14px 20px 14px 16px;
    background: var(--surface);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border-strong);
    border-radius: 14px;
    box-shadow: var(--shadow);
    transition: transform 0.5s var(--ease);
    max-width: 90vw;
}
#toast.show { transform: translate(-50%, 0); }
#toast .toast-icon {
    width: 40px; height: 40px; flex-shrink: 0;
    display: grid; place-items: center; border-radius: 11px;
    background: linear-gradient(135deg, #f59e0b, #f97316);
}
#toast .toast-icon svg { width: 22px; height: 22px; stroke: #fff; }
#toast .toast-title { font-weight: 700; font-size: 0.92rem; }
#toast .toast-sub { font-size: 0.8rem; color: var(--text-muted); margin-top: 2px; }

/* ---------- Intake wizard ---------- */
#wizard {
    display: flex; flex-direction: column;
    overflow: hidden;                 /* the sheet itself never scrolls */
    padding: 0;
    align-items: stretch; justify-content: flex-start;
}
#wizard .progress-wrap { flex: 0 0 auto; width: 100%; }
.wizard {                              /* the scrollable content area */
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    width: 100%;
}
.wiz-top {
    position: relative; flex: 0 0 auto; z-index: 10; gap: 12px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 24px;
    background: var(--surface); backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
}
.wiz-mini {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 6px 13px; border-radius: 99px;
    background: var(--surface); border: 1px solid var(--border);
    font-size: 0.72rem; font-weight: 700; color: var(--text-muted);
}
.wiz-mini .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); }

.progress-wrap { max-width: 620px; margin: 0 auto; padding: 18px 24px 0; }
.progress-head { display: flex; justify-content: space-between; align-items: baseline;
    gap: 14px; flex-wrap: wrap;
    font-size: 0.74rem; font-weight: 600; color: var(--text-muted); margin-bottom: 8px; }
.progress-head .cur { color: var(--accent); font-weight: 700; }
/* the step name — distinct from the "Step n of 9" counter */
.progress-head #wStepName {
    color: var(--text); font-weight: 700;
    white-space: nowrap;
}
.progress-bar { height: 7px; background: var(--bg-2); border-radius: 99px; overflow: hidden; }
.progress-fill { height: 100%; border-radius: 99px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width 0.4s var(--ease); }

.wizard { padding: 26px 24px 40px; }
.wizard > .wstep { max-width: 620px; margin-inline: auto; }
.wstep { display: none; animation: fadeUp 0.3s var(--ease); }
.wstep.on { display: block; }
.step-label { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.step-title { font-size: 1.6rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; margin-bottom: 8px; }
.step-title em { font-style: normal; color: var(--accent); }
.step-sub { color: var(--text-muted); font-size: 0.92rem; margin-bottom: 22px; }

.wfield { margin-bottom: 18px; }
.wfield > label { display: block; font-size: 0.76rem; font-weight: 600; color: var(--text-muted); margin-bottom: 8px; letter-spacing: 0.02em; }
.wfield .req { color: var(--accent); }
.winput, .wselect, .wtextarea {
    width: 100%; padding: 13px 15px;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 12px;
    color: var(--text); font-family: inherit; font-size: 0.95rem; outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.winput:focus, .wselect:focus, .wtextarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.winput.big { font-size: 1.25rem; font-weight: 700; text-align: center; letter-spacing: 0.04em; }
.wtextarea { resize: vertical; min-height: 80px; }
.whint { font-size: 0.74rem; color: var(--text-muted); margin-top: 6px; }
.phone-row { display: flex; gap: 8px; }
.phone-row .wselect { flex: 0 0 110px; }
.phone-row .winput { flex: 1; }

.wdivider { display: flex; align-items: center; gap: 14px; margin: 18px 0; color: var(--text-muted); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; }
.wdivider::before, .wdivider::after { content: ''; flex: 1; height: 1px; background: var(--border); }

.found-card { text-align: center; padding: 24px 20px; margin-bottom: 18px;
    background: var(--surface); border: 1.5px solid var(--accent); border-radius: 18px; }
.found-avatar { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 12px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff;
    display: grid; place-items: center; font-weight: 800; font-size: 1.4rem; }
.found-name { font-size: 1.25rem; font-weight: 800; }
.found-tier { display: inline-block; margin-top: 6px; padding: 3px 12px; border-radius: 99px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; }
.found-stats { display: flex; justify-content: center; gap: 18px; margin-top: 14px; padding-top: 14px;
    border-top: 1px dashed var(--border); font-size: 0.78rem; color: var(--text-muted); flex-wrap: wrap; }
.found-stats strong { color: var(--text); }

.choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(95px, 1fr)); gap: 10px; }
.choice-card { padding: 14px 10px; text-align: center; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); border-radius: 14px;
    color: var(--text); font-family: inherit; transition: border-color 0.2s, transform 0.15s, background 0.2s; }
.choice-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.choice-card.on { border-color: var(--accent); background: var(--accent-glow); }
.choice-card .ci { font-size: 1.4rem; display: block; margin-bottom: 5px; }
.choice-card .cl { font-size: 0.82rem; font-weight: 600; }
.choice-card .cs { font-size: 0.66rem; color: var(--text-muted); margin-top: 2px; }

.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip-pick { padding: 9px 15px; border-radius: 99px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: var(--text);
    font-family: inherit; font-size: 0.82rem; font-weight: 600; transition: all 0.15s; }
.chip-pick:hover { border-color: var(--accent); }
.chip-pick.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.photo-slot { position: relative; aspect-ratio: 4/3; border-radius: 12px; cursor: pointer; overflow: hidden;
    border: 2px dashed var(--border-strong); background: var(--bg-2);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: var(--text); transition: border-color 0.2s; }
.photo-slot:hover { border-color: var(--accent); }
.photo-slot.filled { border-style: solid; border-color: var(--accent); }
.photo-slot input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.photo-slot .ps-ico { font-size: 1.3rem; opacity: 0.5; }
.photo-slot .ps-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.photo-slot.filled .ps-lbl { color: var(--accent); }
.photo-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-slot .ps-x { position: absolute; top: 5px; right: 5px; width: 22px; height: 22px; border-radius: 50%;
    background: rgba(0,0,0,0.6); color: #fff; border: none; cursor: pointer; display: none;
    align-items: center; justify-content: center; font-size: 0.8rem; z-index: 2; }
.photo-slot.filled .ps-x { display: flex; }
.photo-count { margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: var(--bg-2); font-size: 0.74rem; color: var(--text-muted); text-align: center; }

.car-wrap { display: grid; gap: 16px; }
@media (min-width: 680px) { .car-wrap { grid-template-columns: 230px 1fr; align-items: start; } }
.car-diagram { position: relative; aspect-ratio: 4/5; max-width: 230px; margin: 0 auto; cursor: crosshair;
    background: var(--bg-2); border: 2px dashed var(--border-strong); border-radius: 14px; padding: 12px; }
.car-diagram svg { width: 100%; height: 100%; display: block; }
.car-diagram .marks { position: absolute; inset: 0; pointer-events: none; }
.car-hint { text-align: center; font-size: 0.68rem; color: var(--text-muted); margin-top: 6px; letter-spacing: 0.06em; text-transform: uppercase; }
.car-hint.live { color: var(--accent); font-weight: 700; }
.dmg-empty { padding: 16px; text-align: center; font-size: 0.78rem; color: var(--text-muted); line-height: 1.6;
    background: var(--bg-2); border: 1.5px dashed var(--border-strong); border-radius: 12px; }
.dmg-card { display: grid; grid-template-columns: 28px 1fr 30px; gap: 10px; align-items: start;
    padding: 12px; margin-bottom: 8px; border-radius: 12px;
    background: var(--danger-bg); border: 1.5px solid var(--danger); animation: fadeUp 0.2s; }
.dmg-num { width: 26px; height: 26px; border-radius: 50%; background: var(--danger); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 0.72rem; }
.dmg-chips { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 7px; }
.dmg-chip { padding: 4px 10px; border-radius: 99px; font-size: 0.64rem; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border-strong); color: var(--text-muted); }
.dmg-chip.on { background: var(--danger); color: #fff; border-color: var(--danger); }
.dmg-desc { width: 100%; padding: 7px 10px; border-radius: 8px; font-size: 0.78rem; font-family: inherit;
    background: var(--bg-2); border: 1px solid var(--border-strong); color: var(--text); }
.dmg-x { width: 28px; height: 28px; border-radius: 50%; cursor: pointer;
    background: var(--bg-2); border: 1px solid var(--border-strong); color: var(--danger); font-size: 0.85rem; }

.svc-card { display: flex; align-items: center; gap: 12px; cursor: pointer;
    padding: 13px 15px; margin-bottom: 9px; border-radius: 12px;
    background: var(--bg-2); border: 1.5px solid var(--border); transition: border-color 0.2s, background 0.2s; }
.svc-card:hover { border-color: var(--accent); }
.svc-card.on { border-color: var(--accent); background: var(--accent-glow); }
.svc-check { width: 24px; height: 24px; border-radius: 7px; flex-shrink: 0; border: 2px solid var(--border-strong);
    display: grid; place-items: center; transition: all 0.15s; }
.svc-card.on .svc-check { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }
.svc-card.on .svc-check::after { content: '✓'; color: #fff; font-weight: 800; font-size: 0.75rem; }
.svc-body { flex: 1; min-width: 0; }
.svc-name { font-size: 0.9rem; font-weight: 600; }
.svc-meta { font-size: 0.72rem; color: var(--text-muted); margin-top: 2px; }
.svc-warr { display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 99px; font-size: 0.6rem; font-weight: 700;
    background: var(--ok-bg); color: var(--ok); border: 1px solid var(--ok); }
/* "OMR 185.000" is a Latin currency run — keep it LTR inside RTL cards, and use
   logical margin so the gap after OMR lands on the correct side. */
.svc-price { font-size: 1rem; font-weight: 800; white-space: nowrap; direction: ltr; }
.svc-price .u { font-size: 0.62rem; color: var(--text-muted); font-weight: 600; margin-inline-end: 2px; }
.qty-group { display: none; align-items: center; gap: 7px; }
.svc-card.on .qty-group { display: flex; }
.qty-btn { width: 26px; height: 26px; border-radius: 7px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border-strong); color: var(--text); font-size: 0.9rem; font-weight: 700; }
.qty-num { min-width: 22px; text-align: center; font-weight: 700; font-size: 0.85rem; }

.total-banner { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 14px 16px; margin-top: 14px; border-radius: 12px; background: var(--accent-glow); border: 1.5px solid var(--accent); }
.total-banner .tl { font-size: 0.72rem; color: var(--text-muted); }
.total-banner .ta { font-size: 1.4rem; font-weight: 800; direction: ltr; }
.total-banner .ta .u { font-size: 0.7rem; color: var(--text-muted); margin-inline-end: 3px; }

.eta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.eta-card { text-align: center; padding: 16px 10px; border-radius: 14px; background: var(--bg-2); border: 1.5px solid var(--border); }
.eta-card.hl { background: var(--accent-glow); border-color: var(--accent); }
.eta-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 5px; }
.eta-val { font-size: 1.3rem; font-weight: 800; line-height: 1; }
.eta-card.hl .eta-val { color: var(--accent); }
.eta-note { font-size: 0.66rem; color: var(--text-muted); margin-top: 4px; }
.floor-snap { margin-top: 14px; padding: 14px 16px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); }
.snap-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 0.8rem; color: var(--text-muted); }
.snap-row .v { color: var(--text); font-weight: 600; }

.pay-summary { padding: 16px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--border); margin-bottom: 18px; }
.pay-row { display: flex; justify-content: space-between; padding: 7px 0; font-size: 0.85rem; }
.pay-row .pl { color: var(--text-muted); }
/* the amount is the trailing span in each row — keep the OMR figure LTR */
.pay-row > span:last-child { direction: ltr; white-space: nowrap; }
.pay-row.total { border-top: 1px solid var(--border); margin-top: 6px; padding-top: 13px; font-size: 1.15rem; font-weight: 800; }

.sig-grid { display: grid; gap: 12px; }
@media (min-width: 560px) { .sig-grid { grid-template-columns: 1fr 1fr; } }
.sig-pad { padding: 12px; border-radius: 14px; background: var(--bg-2); border: 1.5px dashed var(--border-strong); }
.sig-pad.signed { border-style: solid; border-color: var(--accent); }
.sig-lbl { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.sig-canvas { width: 100%; aspect-ratio: 3/1; border-radius: 8px; background: #fff; touch-action: none; cursor: crosshair; display: block; }
.sig-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 7px; font-size: 0.7rem; color: var(--text-muted); }
.sig-clear { background: none; border: none; color: var(--danger); cursor: pointer; font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }

.success-icon { width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 18px;
    display: grid; place-items: center; font-size: 2.4rem; color: var(--accent);
    background: var(--accent-glow); border: 3px solid var(--accent); }
.success-title { text-align: center; font-size: 1.8rem; font-weight: 800; }
.success-sub { text-align: center; color: var(--text-muted); margin: 6px 0 22px; }
.success-card { padding: 16px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--border); margin-bottom: 16px; }
.success-r { display: flex; justify-content: space-between; padding: 8px 0; font-size: 0.82rem; border-bottom: 1px solid var(--border); }
.success-r:last-child { border-bottom: none; }
.success-r .sl { color: var(--text-muted); }
.success-r .sv { font-weight: 600; }
.success-actions { display: grid; gap: 8px; }

.wiz-nav { position: relative; flex: 0 0 auto; z-index: 20;
    display: flex; gap: 10px; padding: 14px 24px;
    background: var(--surface); backdrop-filter: blur(20px); border-top: 1px solid var(--border); }
.wiz-nav .btn-lg { flex: 1; justify-content: center; }
.wiz-nav .btn-back { flex: 0 0 auto; }

@media (max-width: 720px) {
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .step-title { font-size: 1.35rem; }
}
@media (max-width: 560px) {
    .grid-tiles { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
    .grid { gap: 26px; }
    .dash-hero h1, .staff-hero h1 { font-size: 1.5rem; }
    .topbar { padding: 12px 14px; gap: 8px; }
    .floor-tab span.lbl { display: none; }
    .bottom-bar { padding: 12px 16px; }
    .btn-lg { padding: 13px 16px; font-size: 0.86rem; }

    /* Owner header on phones: theme / premium / sign-out move into the drawer,
       leaving fullscreen + language + burger. */
    .tb-desktop { display: none; }
    .icon-btn.burger { display: grid; }

    /* 4 icon buttons + sign-out must fit a 360px bar. */
    .topbar-actions { gap: 6px; }
    .topbar-actions .icon-btn { width: 36px; height: 36px; border-radius: 11px; }
    .topbar-actions .icon-btn svg { width: 17px; height: 17px; }
    /* .lang-btn is text, so it sizes to its content (45px) unless pinned. */
    .topbar-actions .lang-btn { width: 36px; min-width: 36px; padding: 0; font-size: 0.68rem; }
    /* brand-mark was 121px — the biggest single item in the bar. */
    .topbar .brand-mark { gap: 8px; }
    .topbar .brand-logo { width: 34px; height: 34px; border-radius: 10px; }
    .topbar .brand-logo svg { width: 22px; height: 22px; }
    .brand-text .name { font-size: 0.95rem; }
}
@media (max-width: 340px) {
    /* Only the very narrowest phones (SE-class, 320px) still overflow — measured
       22px over. Everything from 360px up fits the wordmark now that the user
       chip is gone, so keep the brand visible there. */
    .topbar .brand-text { display: none; }
}
/* ============================================================
   ====  STAFF PANEL — FULL-PARITY ADDITIONS  ================
   ============================================================ */

/* ---------- Login: PIN button + secondary actions ---------- */
.btn-secondary {
    width: 100%; margin-top: 12px; padding: 13px;
    border: 1px solid var(--border-strong); border-radius: 12px;
    background: var(--surface); color: var(--text);
    font-size: 0.95rem; font-weight: 700; font-family: inherit; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    transition: border-color 0.2s, background 0.2s, transform 0.15s;
}
.btn-secondary:hover { border-color: var(--accent); background: var(--surface-hover); transform: translateY(-1px); }
.btn-secondary svg { width: 18px; height: 18px; stroke: currentColor; }
.input-wrap svg.pw-eye {
    inset-inline-start: auto;          /* cancel the leading-icon offset */
    inset-inline-end: 12px;
    width: 20px; height: 20px;
    cursor: pointer; pointer-events: auto;   /* the generic rule disables clicks */
    stroke: var(--text-muted);
    transition: stroke 0.15s;
}
.input-wrap svg.pw-eye:hover, .input-wrap svg.pw-eye:active { stroke: var(--accent); }
/* keep the typed text clear of the eye */
.input-wrap:has(.pw-eye) input { padding-inline-end: 44px; }

/* ---------- Generic modal overlay ---------- */
.modal-overlay {
    position: fixed; inset: 0; z-index: 120;
    display: none; align-items: center; justify-content: center;
    padding: 20px;
    /* Dim only — no backdrop-filter. blur() forces the GPU to re-raster everything
       behind the overlay every frame; when the invoice opens ON TOP of the full-screen
       All Orders sheet that is a whole-screen, content-heavy layer, and it stutters on
       phone GPUs. A slightly deeper dim gives the same depth cue for free. */
    background: rgba(2, 6, 16, 0.74);
    opacity: 0;
    transition: opacity 0.16s ease-in, display 0.16s allow-discrete;
}
.modal-overlay.open {
    display: flex; opacity: 1;
    transition: opacity 0.22s cubic-bezier(0.22, 1, 0.36, 1), display 0.22s allow-discrete;
}
.modal-box {
    width: 100%; max-width: 480px;
    background: var(--bg-2); border: 1px solid var(--border-strong);
    border-radius: 22px; box-shadow: var(--shadow);
    padding: 24px; transform: translateY(12px) scale(0.97);
    transition: transform 0.16s ease-in; max-height: 92vh; overflow-y: auto;
}
.modal-overlay.open .modal-box {
    transform: translateY(0) scale(1);
    transition: transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}
@starting-style {
    .modal-overlay.open { opacity: 0; }
    .modal-overlay.open .modal-box { transform: translateY(12px) scale(0.97); }
}
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.modal-title { font-size: 1.15rem; font-weight: 800; }
.modal-sub { font-size: 0.84rem; color: var(--text-muted); margin-bottom: 16px; }
.modal-x {
    width: 34px; height: 34px; flex-shrink: 0; border-radius: 10px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text);
    display: grid; place-items: center; font-size: 1rem;
}
.modal-x:hover { border-color: var(--danger); color: var(--danger); }

/* ---------- Signature tap-cards (step 10) ---------- */
.sig-grid { display: grid; gap: 12px; }
@media (min-width: 560px) { .sig-grid { grid-template-columns: 1fr 1fr; } }
.sig-tap-card {
    padding: 16px; border-radius: 16px; cursor: pointer;
    background: var(--bg-2); border: 1.5px dashed var(--border-strong);
    transition: border-color 0.2s, background 0.2s, transform 0.15s;
    display: flex; flex-direction: column; gap: 10px; min-height: 150px;
}
.sig-tap-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.sig-tap-card.signed { border-style: solid; border-color: var(--accent); background: var(--accent-glow); }
.sig-tap-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sig-tap-lbl { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); }
.sig-tap-card.signed .sig-tap-lbl { color: var(--accent); }
.sig-tap-pen {
    width: 34px; height: 34px; border-radius: 10px; flex-shrink: 0;
    display: grid; place-items: center;
    background: var(--surface); border: 1px solid var(--border); color: var(--accent);
}
.sig-tap-preview {
    flex: 1; border-radius: 10px; background: #fff; min-height: 78px;
    display: grid; place-items: center; overflow: hidden;
}
.sig-tap-preview img { width: 100%; height: 100%; object-fit: contain; }
.sig-tap-preview .ghosthint { color: #94a3b8; font-size: 0.78rem; font-weight: 600; padding: 8px; text-align: center; }
.sig-tap-status { font-size: 0.72rem; color: var(--text-muted); }

/* ---------- Full-screen signature modal ---------- */
#sigModal .modal-box { max-width: 720px; }
.sig-big-wrap {
    position: relative; width: 100%; aspect-ratio: 16/7; min-height: 200px;
    border-radius: 14px; background: #fff; overflow: hidden;
    border: 1.5px solid var(--border-strong); touch-action: none;
}
#sigBigCanvas { width: 100%; height: 100%; display: block; touch-action: none; cursor: crosshair; }
.sig-big-placeholder {
    position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; pointer-events: none; color: #b6c0cf;
}
.sig-big-placeholder .sbp-line { width: 60%; max-width: 280px; border-bottom: 2px dashed #cbd5e1; margin-bottom: 8px; }
.sig-big-placeholder span { font-size: 0.82rem; font-weight: 600; }
.sig-big-foot { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.sig-big-foot .btn-sm, .sig-big-foot .btn-lg { flex: 1; justify-content: center; }

/* ---------- Per-damage close-up photo ---------- */
.dmg-card { grid-template-columns: 28px 1fr auto; }
.dmg-photo-btn {
    position: relative; width: 46px; height: 46px; border-radius: 10px; overflow: hidden; cursor: pointer;
    border: 1.5px dashed var(--border-strong); background: var(--bg-2);
    display: grid; place-items: center; font-size: 1rem; color: var(--text-muted); align-self: start;
}
.dmg-photo-btn.filled { border-style: solid; border-color: var(--accent); }
.dmg-photo-btn img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dmg-photo-btn input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.dmg-side { display: flex; flex-direction: column; gap: 6px; align-items: center; }

/* ---------- Window tint per-zone config ---------- */
.tint-config {
    display: none; margin-top: 12px; padding: 16px;
    border-radius: 14px; background: var(--bg-2); border: 1.5px solid var(--accent);
    animation: fadeUp 0.25s var(--ease);
}
.tint-config.show { display: block; }
.tint-zone { padding: 11px 0; border-bottom: 1px dashed var(--border); }
.tint-zone:last-of-type { border-bottom: none; }
.tint-zone-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.tint-zone-name { font-size: 0.85rem; font-weight: 600; }
.tint-zone-val { font-size: 0.78rem; font-weight: 700; color: var(--accent); }
.tint-pct-group { display: flex; gap: 6px; flex-wrap: wrap; }
.tint-pct {
    flex: 1; min-width: 44px; padding: 7px 4px; border-radius: 9px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border-strong); color: var(--text-muted);
    font-family: inherit; font-size: 0.74rem; font-weight: 700; transition: all 0.15s;
}
.tint-pct:hover { border-color: var(--accent); }
.tint-pct.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }
.tint-summary { margin-top: 12px; padding: 9px 12px; border-radius: 10px; font-size: 0.76rem; background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); }
.tint-summary.ok { color: var(--ok); }
.tint-summary.warn { color: var(--warn); }

/* ---------- PIN pad ---------- */
#pinModal .modal-box { max-width: 360px; text-align: center; }
.pin-dots { display: flex; justify-content: center; gap: 14px; margin: 20px 0; }
.pin-dot { width: 15px; height: 15px; border-radius: 50%; background: var(--bg-2); border: 1.5px solid var(--border-strong); transition: all 0.15s; }
.pin-dot.filled { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }
.pin-error { color: var(--danger); font-size: 0.8rem; font-weight: 600; min-height: 18px; margin-bottom: 8px; }
.pin-error.shake { animation: shake 0.4s; }
.pin-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pin-key {
    padding: 16px 0; border-radius: 14px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text);
    font-family: inherit; font-size: 1.3rem; font-weight: 700;
    transition: background 0.15s, transform 0.1s;
}
.pin-key:hover { background: var(--surface-hover); }
.pin-key:active { transform: scale(0.95); }
.pin-key.ghost { background: transparent; border: none; font-size: 0.8rem; font-weight: 700; color: var(--text-muted); }

/* ---------- Language modal ---------- */
.lang-list { display: flex; flex-direction: column; gap: 9px; }
.lang-opt {
    display: flex; align-items: center; gap: 13px; padding: 13px 15px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); border-radius: 13px;
    color: var(--text); font-family: inherit; transition: border-color 0.2s, background 0.2s;
}
.lang-opt:hover { border-color: var(--accent); }
.lang-opt.on { border-color: var(--accent); background: var(--accent-glow); }
.lang-opt .lflag { font-size: 1.5rem; }
.lang-opt .lname { font-weight: 700; font-size: 0.95rem; }
.lang-opt .lnative { font-size: 0.78rem; color: var(--text-muted); }
.lang-opt .lcheck { margin-left: auto; color: var(--accent); opacity: 0; font-weight: 800; }
.lang-opt.on .lcheck { opacity: 1; }

/* ---------- Invoice modal ---------- */
/* superseded by .inv-box */
.inv-doc { background: #ffffff; color: #0f172a; border-radius: 12px; padding: 22px; font-size: 0.84rem; }
.inv-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid #0f172a; padding-bottom: 14px; margin-bottom: 14px; }
.inv-brand { font-size: 1.3rem; font-weight: 900; letter-spacing: 0.03em; }
.inv-brand span { color: #06b6d4; }
.inv-meta { text-align: right; font-size: 0.74rem; color: #475569; line-height: 1.6; }
.inv-row { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid #e2e8f0; }
.inv-row.tot { border-bottom: none; border-top: 2px solid #0f172a; margin-top: 6px; padding-top: 10px; font-size: 1.05rem; font-weight: 800; }
.inv-sec-title { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #64748b; margin: 14px 0 6px; }
.inv-foot { margin-top: 16px; font-size: 0.72rem; color: #64748b; text-align: center; }

/* ---------- Payment advance chips ---------- */
.adv-chips { display: flex; gap: 8px; margin-top: 10px; }
.adv-chip {
    flex: 1; padding: 9px 6px; border-radius: 10px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: var(--text-muted);
    font-family: inherit; font-size: 0.8rem; font-weight: 700; transition: all 0.15s;
}
.adv-chip:hover { border-color: var(--accent); }
.adv-chip.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

/* ---------- Language pill button (topbar) ---------- */
.icon-btn.lang-btn { width: auto; padding: 0 12px; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; }

/* ---------- RTL adjustments ---------- */
[dir="rtl"] .input-wrap svg:not(.pw-eye) { left: auto; right: 14px; }
[dir="rtl"] .field input { padding: 13px 44px 13px 14px; }
/* pw-eye uses logical properties — RTL mirrors automatically */
[dir="rtl"] .tile .arrow { right: auto; left: 22px; }
[dir="rtl"] .photo-slot input { right: 0; }
[dir="rtl"] .step-title, [dir="rtl"] .step-sub, [dir="rtl"] .staff-hero, [dir="rtl"] .dash-hero { text-align: right; }
[dir="rtl"] .modal-head { flex-direction: row-reverse; }
[dir="rtl"] .lang-opt .lcheck { margin-left: 0; margin-right: auto; }

/* ---------- Success thumbnails ---------- */
.success-thumbs { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.success-thumbs img { width: 38px; height: 30px; object-fit: cover; border-radius: 6px; border: 1px solid var(--border); }

/* ============================================================
   ====  FULL A4 INVOICE DOCUMENT (preview)  ================
   ============================================================ */
/* superseded by .inv-box */
#invoiceModal .invoice-doc-wrap { padding: 8px 0; }
/* The preview is an A4 *document*, not UI chrome — it is laid out LTR in every
   language (same reasoning as the plate row). Pin direction:ltr here, otherwise
   the RTL layout box starts at the right edge while transform-origin:top left
   scales from the left corner, dragging the page ~480px off-screen. */
.invoice-doc-wrap { width: 100%; overflow: hidden; direction: ltr; }
.invoice-doc {
    background: #ffffff; color: #0a0b0f;
    font-family: 'Inter', 'ArabicUI', -apple-system, sans-serif;
    padding: 56px 48px; width: 794px; max-width: none; min-height: 1123px;
    box-sizing: border-box;
    box-shadow: 0 10px 40px rgba(10, 11, 15, 0.15), 0 2px 8px rgba(10, 11, 15, 0.08);
    margin: 0; line-height: 1.5;
    direction: ltr; text-align: left;
    transform-origin: top left;
}
.invoice-header { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding-bottom: 18px; border-bottom: 2px solid #0a0b0f; margin-bottom: 20px; position: relative; }
.invoice-header::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 80px; height: 2px; background: linear-gradient(90deg, #ff6b2c, #ff8c52); }
.invoice-brand { font-size: 26px; font-weight: 800; letter-spacing: -0.04em; color: #0a0b0f; margin-bottom: 8px; line-height: 1; }
.invoice-brand-em { font-weight: 600; background: linear-gradient(135deg, #ff6b2c, #ff8c52); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-left: 8px; font-size: 17px; }
.invoice-contact { font-size: 10.5px; color: #666; line-height: 1.6; }
.invoice-header-right { text-align: right; }
.invoice-chip { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #ff6b2c; font-weight: 700; margin-bottom: 2px; }
.invoice-num { font-size: 22px; font-weight: 700; color: #0a0b0f; margin: 2px 0; line-height: 1; }
.invoice-date { font-size: 11px; color: #666; margin: 4px 0 8px; }
.invoice-section-head { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #0a0b0f; border-bottom: 1.5px solid #ff6b2c; padding-bottom: 3px; margin: 16px 0 10px; display: inline-block; padding-right: 24px; }
.invoice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 14px; }
.invoice-main-line { font-size: 17px; font-weight: 600; color: #0a0b0f; margin-bottom: 3px; line-height: 1.25; }
.invoice-sub-line { font-size: 12px; color: #666; margin-bottom: 2px; }
.invoice-table { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.invoice-table th { background: #f5f1e4; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: #888; padding: 8px; text-align: left; font-weight: 600; }
.invoice-table th.right, .invoice-table td.right { text-align: right; }
.invoice-table td { padding: 10px 8px; border-bottom: 1px solid #eae4d4; font-size: 13px; color: #0a0b0f; }
.invoice-table .mono-inv { font-family: 'Geist Mono', ui-monospace, monospace; font-size: 12px; }
.invoice-totals-box { background: #f9f9fb; color: #0a0b0f; padding: 18px 20px; border-radius: 10px; border: 1px solid #e7e7ec; border-left: 4px solid #ea580c; }
.invoice-total-row { display: flex; justify-content: space-between; padding: 5px 0; font-size: 12px; }
.invoice-total-row.gold { color: #c2410c; }
.invoice-total-row.big { font-size: 22px; font-weight: 700; padding-top: 10px; border-top: 1px solid #e7e7ec; margin-top: 8px; color: #0a0b0f; }
.invoice-total-row.big .mono-inv { color: #b45309; }
.invoice-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.invoice-photo-item { display: flex; flex-direction: column; }
.invoice-photo-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 6px; border: 1px solid #e8e2d2; display: block; }
.invoice-photo-empty { width: 100%; aspect-ratio: 4/3; background: #f5f1e4; border: 1px dashed #d0c8b0; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #b5aa8a; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.invoice-photo-label { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #0a0b0f; margin-top: 5px; }
.invoice-photo-status { font-size: 9px; color: #999; margin-top: 1px; }
.invoice-note-box { background: #faf7f0; border-left: 3px solid #ff6b2c; padding: 12px 14px; font-size: 12.5px; color: #555; line-height: 1.6; border-radius: 4px; margin-bottom: 14px; }
.invoice-sig-box { border: 1.5px solid #e8e2d2; border-radius: 10px; padding: 12px; }
.invoice-sig-box .inv-sig-pad { width: 100%; aspect-ratio: 3/1; background: #fff; border: 1px solid #f0ead8; border-radius: 6px; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.invoice-sig-box img { max-width: 100%; max-height: 100%; object-fit: contain; }
.invoice-sig-empty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #c0c0c0; }
.invoice-sig-name { font-size: 14px; font-weight: 600; color: #0a0b0f; margin-bottom: 2px; }
.invoice-sig-role { font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: #888; margin-bottom: 3px; }
.invoice-sig-time { font-size: 10px; color: #999; }
.invoice-divider-thick { margin: 24px -48px; height: 2px; background: #0a0b0f; }
.invoice-footer { margin-top: 24px; padding-top: 14px; border-top: 2px solid #0a0b0f; text-align: center; font-size: 10px; color: #888; line-height: 1.9; }
[dir="rtl"] .invoice-doc { direction: ltr; text-align: left; }

/* ============================================================
   ====  STAFF FLOOR — STAT CARDS AS TABS  ==================
   ============================================================ */
.stat-card {
    cursor: pointer;
    font-family: inherit;
    color: var(--text);
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    overflow: hidden;
}
.stat-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.stat-card.on {
    border-color: var(--accent);
    background: var(--surface-hover);
    box-shadow: 0 0 0 1px var(--accent), 0 14px 30px -18px var(--accent-glow);
}
.stat-card.on .stat-num { color: var(--accent); }
.stat-card.on::after {
    content: '';
    position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

/* extra stat-chip dot colours */
.stat-chip i.b { background: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.stat-chip i.p { background: #a855f7; box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.16); }

/* handover / delivery job styling */
.job-card.handover { border-left-color: #a855f7; }
.job-badge.hand {
    background: rgba(168, 85, 247, 0.14);
    color: #a855f7;
    border: 1px solid #a855f7;
}

/* ============================================================
   ====  REMOVE MOBILE TAP HIGHLIGHT (blue rectangle)  ======
   ============================================================ */
* { -webkit-tap-highlight-color: transparent; }
button, a, label, input, select, textarea, [onclick], [role="button"],
.stat-card, .tile, .icon-btn, .btn-sm, .btn-lg, .btn-primary, .btn-secondary,
.floor-tab, .choice-card, .chip-pick, .svc-card, .photo-slot, .sig-clear,
.qty-btn, .dmg-chip, .switch, .login-link {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
}

/* ---------- Multi-service list inside a job card ---------- */
.job-service ul.svc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.job-service ul.svc-list li { display: flex; align-items: center; gap: 9px; font-weight: 600; line-height: 1.3; }
.job-service ul.svc-list li::before {
    content: ''; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
}

/* ============================================================
   ====  WORKING-ON CHECKLIST + READY REVEAL + BOTTOM SHEET  =
   ============================================================ */
.work-list {
    margin: 4px 0 12px; padding: 8px 0;
    border-top: 1px dashed var(--border); border-bottom: 1px dashed var(--border);
    display: flex; flex-direction: column; gap: 2px;
}
.work-svc {
    display: flex; align-items: center; gap: 11px;
    padding: 7px 6px; border-radius: 9px; cursor: pointer;
    transition: background 0.18s; user-select: none;
}
.work-svc:hover { background: var(--surface-hover); }
.work-svc input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.work-box {
    width: 22px; height: 22px; border-radius: 7px; flex-shrink: 0;
    border: 2px solid var(--border-strong); display: grid; place-items: center;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.work-svc input:checked + .work-box { background: linear-gradient(135deg, var(--ok), #34d399); border-color: transparent; transform: scale(1.05); }
.work-svc input:checked + .work-box::after { content: '✓'; color: #fff; font-weight: 800; font-size: 0.8rem; line-height: 1; }
.work-svc input:focus-visible + .work-box { box-shadow: 0 0 0 3px var(--accent-glow); }
.work-name { font-size: 0.88rem; font-weight: 600; transition: color 0.2s; }
.work-svc.done .work-name { color: var(--text-muted); text-decoration: line-through; text-decoration-color: var(--ok); }

/* Ready button hidden until 100% */
.btn-ready { display: none; }
.btn-ready.show { display: inline-flex; animation: readyPop 0.45s var(--ease); }
@keyframes readyPop {
    0%   { opacity: 0; transform: translateY(10px) scale(0.85); }
    60%  { transform: translateY(0) scale(1.05); }
    100% { opacity: 1; transform: none; }
}

/* Bottom sheet */
.sheet-overlay {
    position: fixed; inset: 0; z-index: 130;
    display: flex; align-items: flex-end; justify-content: center;
    /* dim only, no blur — see .modal-overlay */
    background: rgba(2, 6, 16, 0.74);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.32s var(--ease), visibility 0s linear 0.42s;
}
.sheet-overlay.open {
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: opacity 0.32s var(--ease), visibility 0s;
}
.sheet {
    width: 100%; max-width: 520px;
    background: var(--bg-2); border: 1px solid var(--border-strong); border-bottom: none;
    border-radius: 24px 24px 0 0; box-shadow: var(--shadow);
    padding: 14px 24px 30px; text-align: center;
    transform: translateY(100%); transition: transform 0.38s var(--ease);
}
.sheet-overlay.open .sheet { transform: translateY(0); }
.sheet-handle { width: 44px; height: 5px; border-radius: 99px; background: var(--border-strong); margin: 0 auto 18px; }
.sheet-icon {
    width: 62px; height: 62px; margin: 0 auto 14px; border-radius: 50%;
    display: grid; place-items: center; font-size: 1.5rem;
    background: var(--accent-glow); border: 2px solid var(--accent); color: var(--accent);
}
.sheet-title { font-size: 1.22rem; font-weight: 800; }
.sheet-msg { font-size: 0.9rem; color: var(--text-muted); margin: 8px 0 22px; line-height: 1.5; }
.sheet-actions { display: flex; gap: 10px; }
.sheet-actions .sheet-cancel { flex: 0 0 auto; padding: 14px 22px; }
.sheet-actions .btn-lg { flex: 1; justify-content: center; }

/* ---------- Timeline (order / started events) ---------- */
.timeline { margin: 6px 0 12px; padding: 10px 2px 2px; }
.tl-item { position: relative; display: flex; gap: 13px; padding-bottom: 16px; }
.tl-item:last-child { padding-bottom: 0; }
.tl-item:not(:last-child)::before {
    content: ''; position: absolute; left: 6px; top: 17px; bottom: -1px; width: 2px;
    background: linear-gradient(var(--accent), var(--warn), var(--ok)); opacity: 0.5;
}
.tl-marker {
    position: relative; z-index: 1; flex-shrink: 0;
    width: 14px; height: 14px; margin-top: 2px; border-radius: 50%;
    background: var(--accent); border: 2px solid var(--accent);
    box-shadow: 0 0 0 3px var(--accent-glow);
}
    .tl-marker.order { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow); }
.tl-marker.start { background: var(--warn); border-color: var(--warn); box-shadow: 0 0 0 3px var(--warn-bg); }
.tl-marker.finish { background: var(--ok); border-color: var(--ok); box-shadow: 0 0 0 3px var(--ok-bg); }
.tl-marker.finish::after { content: '✓'; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 8px; font-weight: 900; line-height: 1; }
.tl-content { flex: 1; min-width: 0; }
.tl-title { font-size: 0.82rem; font-weight: 700; color: var(--text); line-height: 1.3; }
.tl-by { font-weight: 600; color: var(--text-muted); }
.tl-time { font-size: 0.74rem; color: var(--text-muted); margin-top: 3px; }
.tl-ago { color: var(--accent); font-weight: 700; }
[dir="rtl"] .tl-item:not(:last-child)::before { left: auto; right: 6px; }

/* ---------- Ready: balance row ---------- */
.ready-balance {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    margin: 4px 0 12px; padding: 9px 13px; border-radius: 11px;
    background: var(--surface); border: 1px solid var(--border-strong);
    font-size: 0.78rem;
}
.ready-balance span { color: var(--text-muted); font-weight: 600; }
.ready-balance strong { color: var(--text); font-weight: 800; font-size: 0.92rem; }

/* ============================================================
   ====  MOBILE RESPONSIVE PASS + FULLSCREEN TOGGLE  =========
   ============================================================ */

/* ---------- Fullscreen toggle icon states ---------- */
.js-fs-toggle .fs-ico-exit { display: none; }
.js-fs-toggle.fs-on .fs-ico-enter { display: none; }
.js-fs-toggle.fs-on .fs-ico-exit { display: block; }
.js-fs-toggle.fs-on { border-color: var(--accent); color: var(--accent); }

/* ---------- Touch devices: comfortable targets, no hover-lift ---------- */
@media (hover: none) and (pointer: coarse) {
    .btn-sm { min-height: 42px; padding: 10px 14px; }
    .modal-x, .sig-tap-pen { width: 40px; height: 40px; }
    .photo-slot .ps-x { width: 30px; height: 30px; }
    .pin-key { padding: 18px 0; }
    button, .icon-btn, .btn-sm, .pin-key, .sig-tap-card, .photo-slot { touch-action: manipulation; }
    /* 16px inputs prevent iOS focus zoom */
    .field input, .winput, .wselect, .wtextarea { font-size: 16px; }
    .winput.big { font-size: 1.35rem; }
}

/* ---------- Safe areas (gesture nav / notch) ---------- */
.wiz-nav { padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
.bottom-bar { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
.wizard { padding-bottom: 40px; }
.modal-overlay { padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
.topbar, .wiz-top { padding-top: calc(14px + env(safe-area-inset-top, 0px)); }

/* ---------- Small phones ---------- */
@media (max-width: 420px) {
    .card { padding: 30px 22px; margin: 16px; }
    .login-head h2 { font-size: 1.3rem; }
    .step-title { font-size: 1.25rem; }
    .wizard { padding-left: 16px; padding-right: 16px; }
    .wiz-nav { padding-left: 16px; padding-right: 16px; }
    .modal-box { padding: 20px 16px; }
    .photo-grid { gap: 8px; }
    .stats-grid { gap: 10px; }
}
@media (max-width: 360px) {
    .card { padding: 26px 18px; }
    .photo-slot .ps-lbl { font-size: 0.56rem; }
}

/* ---------- Login card action row (in-card, split L/R) ---------- */
.card-actions { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ca-group { display: flex; align-items: center; gap: 8px; }
@media (max-width: 360px) {
    .card-actions .icon-btn { width: 38px; height: 38px; }
}

/* ---------- Theme switch: fast whole-page cross-fade ---------- */
::view-transition-old(root), ::view-transition-new(root) {
    animation-duration: 0.22s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
    .modal-overlay, .modal-overlay.open, .modal-box, .modal-overlay.open .modal-box { transition: none; }
}

/* ---------- Payment chip on Ready cards ---------- */
.pay-row { margin: 10px 0 4px; }
.pay-chip {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 0.74rem; font-weight: 700; letter-spacing: 0.01em;
    padding: 5px 11px; border-radius: 999px; border: 1px solid;
}
.pay-chip.paid { color: var(--success, #34d399); border-color: color-mix(in srgb, var(--success, #34d399) 45%, transparent); background: color-mix(in srgb, var(--success, #34d399) 10%, transparent); }
.pay-chip.part { color: var(--warning, #fbbf24); border-color: color-mix(in srgb, var(--warning, #fbbf24) 45%, transparent); background: color-mix(in srgb, var(--warning, #fbbf24) 10%, transparent); }
.pay-chip.due  { color: var(--danger, #f87171); border-color: color-mix(in srgb, var(--danger, #f87171) 45%, transparent); background: color-mix(in srgb, var(--danger, #f87171) 10%, transparent); }

/* ---------- Settle & handover modal ---------- */
.settle-label { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin: 14px 0 8px; }
.settle-svcs { list-style: none; margin: 0 0 6px; padding: 0; }
.settle-svcs li { padding: 7px 0; font-size: 0.9rem; border-bottom: 1px dashed var(--border); }
.settle-svcs li:last-child { border-bottom: 0; }
.settle-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; font-size: 0.9rem; color: var(--text-muted); }
.settle-row strong { color: var(--text); font-variant-numeric: tabular-nums; }
.settle-row.big { border-top: 1px solid var(--border-strong); margin-top: 4px; padding-top: 13px; font-size: 1rem; }
.settle-row.big strong { font-size: 1.25rem; font-weight: 800; color: var(--accent); }
.method-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.method-btn {
    padding: 11px 6px; border-radius: 12px; font-size: 0.82rem; font-weight: 700; cursor: pointer;
    background: var(--surface); border: 1.5px solid var(--border); color: var(--text-muted);
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.method-btn.on { border-color: var(--accent); color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); }
.settle-fullpaid {
    margin-top: 14px; padding: 12px; border-radius: 12px; text-align: center;
    font-size: 0.86rem; font-weight: 700; color: var(--success, #34d399);
    background: color-mix(in srgb, var(--success, #34d399) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--success, #34d399) 30%, transparent);
}
.settle-confirm { width: 100%; margin-top: 16px; }
.settle-confirm[disabled] { opacity: 0.45; pointer-events: none; }

/* ---------- Add service modal ---------- */
.addsvc-list { display: flex; flex-direction: column; gap: 8px; max-height: 44vh; overflow-y: auto; margin-bottom: 6px; }
.addsvc-item {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer;
    border: 1.5px solid var(--border); border-radius: 14px; background: var(--surface);
    transition: border-color 0.15s, background 0.15s;
}
.addsvc-item.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.addsvc-item input { position: absolute; opacity: 0; pointer-events: none; }
.addsvc-check {
    width: 20px; height: 20px; flex-shrink: 0; border-radius: 7px;
    border: 1.5px solid var(--border-strong); display: grid; place-items: center;
    font-size: 0.7rem; color: transparent; transition: all 0.15s;
}
.addsvc-item.on .addsvc-check { background: var(--accent); border-color: var(--accent); color: #fff; }
.addsvc-item.on .addsvc-check::after { content: '✓'; }
.addsvc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.addsvc-name { font-size: 0.88rem; font-weight: 700; }
.addsvc-meta { font-size: 0.72rem; color: var(--text-muted); }
.addsvc-price { font-size: 0.82rem; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }

[dir="rtl"] .settle-row, [dir="rtl"] .settle-svcs li { text-align: right; }

/* ---------- Service details modal ---------- */
.tab-panel .job-card { cursor: pointer; }
.det-stage { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.det-count { font-size: 0.8rem; font-weight: 700; color: var(--text-muted); }
.det-prog { margin-bottom: 14px; }
.det-svcs { display: flex; flex-direction: column; margin-bottom: 8px; }
.det-svc {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 2px; border-bottom: 1px dashed var(--border);
}
.det-svc:last-child { border-bottom: 0; }
.det-check {
    width: 22px; height: 22px; flex-shrink: 0; border-radius: 8px;
    border: 1.5px solid var(--border-strong); display: grid; place-items: center;
    font-size: 0.72rem; color: #fff;
}
.det-svc.done .det-check { background: var(--success, #34d399); border-color: var(--success, #34d399); }
.det-name { flex: 1; min-width: 0; font-size: 0.9rem; font-weight: 600; }
.det-svc.done .det-name { color: var(--text-muted); }
.det-state { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted); }
.det-svc.done .det-state { color: var(--success, #34d399); }
.det-timeline { margin-top: 14px; }
[dir="rtl"] .det-svc, [dir="rtl"] .det-stage { text-align: right; }

/* ---------- Custom country code (Other) ---------- */
.phone-code-custom { display: none; max-width: 96px; text-align: center; font-weight: 700; }
.phone-code-custom.show { display: block; }
.phone-code-custom.err { border-color: var(--danger) !important; animation: shakeX 0.4s; }
@keyframes shakeX { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }

/* ---------- Returning-customer garage picker ---------- */
.garage-grid { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.garage-card {
    display: flex; align-items: center; gap: 14px; width: 100%;
    padding: 14px 16px; cursor: pointer; text-align: start;
    background: var(--surface); border: 1.5px solid var(--border); border-radius: 16px;
    color: var(--text); transition: border-color 0.15s, background 0.15s, transform 0.15s;
}
.garage-card:active { transform: scale(0.985); }
.garage-card.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.gc-icon { font-size: 1.6rem; flex-shrink: 0; }
.gc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gc-name { font-size: 0.95rem; font-weight: 800; }
.gc-meta { font-size: 0.76rem; color: var(--text-muted); }
.gc-plate {
    font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; font-weight: 700;
    padding: 5px 10px; border-radius: 8px; white-space: nowrap;
    background: var(--bg-2); border: 1px solid var(--border-strong);
}
.garage-card.newcar { border-style: dashed; }
.garage-card.newcar .gc-icon { color: var(--accent); font-weight: 800; }

/* ---------- Step 4: plate row + odometer unit toggle ---------- */
.plate-row { display: flex; gap: 10px; }
/* A plate always reads [country] [1234] [AB] left-to-right, whatever the UI
   language. Without this, RTL flex reverses it to [AB] [1234] [country]. */
[dir="rtl"] .plate-row { direction: ltr; }
[dir="rtl"] .odo-wrap { direction: ltr; }
.plate-row .wselect { flex: 0 0 auto; max-width: 128px; }
.plate-num { flex: 1.3; min-width: 0; }
.plate-let { flex: 0.8; min-width: 0; text-align: center; text-transform: uppercase; letter-spacing: 0.12em; }
.odo-wrap { position: relative; display: flex; align-items: center; }
.odo-wrap .winput { padding-inline-end: 64px; }
.odo-unit {
    position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%);
    padding: 7px 14px; border-radius: 10px; cursor: pointer;
    font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em;
    background: var(--surface); border: 1.5px solid var(--border-strong); color: var(--accent);
    transition: border-color 0.15s, background 0.15s;
}
.odo-unit:active { transform: translateY(-50%) scale(0.95); }

/* ---------- VIN counter + validation ---------- */
/* The VIN field is dir="ltr" in every language (Latin alphanumeric, scanned off
   the car), so its counter must stay pinned right. Logical properties would
   flip it to the left in RTL and collide with the placeholder. */
.vin-wrap { position: relative; display: flex; align-items: center; direction: ltr; }
.vin-wrap .winput { padding-right: 74px; padding-left: 16px; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.06em; }
.vin-count {
    position: absolute; right: 10px; left: auto; top: 50%; transform: translateY(-50%);
    font-size: 0.72rem; font-weight: 800; font-variant-numeric: tabular-nums;
    padding: 5px 10px; border-radius: 9px; pointer-events: none;
    color: var(--text-muted); background: var(--surface); border: 1px solid var(--border);
    transition: color 0.15s, border-color 0.15s;
}
.vin-count.warn { color: var(--warning, #fbbf24); border-color: color-mix(in srgb, var(--warning, #fbbf24) 45%, transparent); }
.vin-count.ok { color: var(--success, #34d399); border-color: color-mix(in srgb, var(--success, #34d399) 45%, transparent); }

/* ---------- Progressive photo grid (up to 12) ---------- */
.photo-slot.add-slot { border-style: dashed; }
.photo-slot.add-slot .ps-ico { color: var(--accent); font-weight: 800; }
.ps-num {
    position: absolute; top: 6px; inset-inline-start: 6px;
    min-width: 20px; height: 20px; padding: 0 5px; border-radius: 7px;
    display: grid; place-items: center;
    font-size: 0.62rem; font-weight: 800; font-variant-numeric: tabular-nums;
    background: rgba(0, 0, 0, 0.55); color: #fff; backdrop-filter: blur(3px);
    pointer-events: none; z-index: 2;
}

/* ---------- Photo viewer (lightbox) ---------- */
.pv-overlay {
    position: fixed; inset: 0; z-index: 160;
    display: none; align-items: center; justify-content: center;
    background: rgba(0, 0, 3, 0.92); backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity 0.14s ease-in, display 0.14s allow-discrete;
}
.pv-overlay.open {
    display: flex; opacity: 1;
    transition: opacity 0.2s cubic-bezier(0.22, 1, 0.36, 1), display 0.2s allow-discrete;
}
@starting-style { .pv-overlay.open { opacity: 0; } }
.pv-overlay img {
    max-width: 94vw; max-height: 76vh; border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
    transform: scale(0.96); transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.pv-overlay.open img { transform: scale(1); }
@starting-style { .pv-overlay.open img { transform: scale(0.96); } }
.pv-x {
    position: absolute; top: calc(16px + env(safe-area-inset-top, 0px)); inset-inline-end: 16px;
    width: 44px; height: 44px; border-radius: 14px; cursor: pointer; font-size: 1.1rem;
    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); color: #fff;
    display: grid; place-items: center; z-index: 2;
}
.pv-counter {
    position: absolute; top: calc(26px + env(safe-area-inset-top, 0px)); left: 50%; transform: translateX(-50%);
    font-size: 0.85rem; font-weight: 800; color: #fff; letter-spacing: 0.06em;
    font-variant-numeric: tabular-nums;
}
.pv-nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 46px; height: 64px; border-radius: 14px; cursor: pointer; font-size: 1.8rem; line-height: 1;
    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); color: #fff;
    display: grid; place-items: center;
}
.pv-prev { left: 10px; }
.pv-next { right: 10px; }
.pv-del {
    position: absolute; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%);
    padding: 12px 20px; border-radius: 999px; cursor: pointer;
    font-size: 0.84rem; font-weight: 700;
    background: rgba(239, 68, 68, 0.16); border: 1px solid rgba(239, 68, 68, 0.5); color: #ff8f8f;
    display: flex; align-items: center; gap: 8px;
}

/* ---------- Category pills (services & products) ---------- */
.cat-pills {
    display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 12px;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.cat-pills::-webkit-scrollbar { display: none; }
.cat-pill {
    flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; cursor: pointer;
    font-size: 0.8rem; font-weight: 700; white-space: nowrap;
    background: var(--surface); border: 1.5px solid var(--border); color: var(--text-muted);
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.cat-pill.on {
    border-color: var(--accent); color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}

/* ---------- Doc-type segmented (Order / Invoice) ---------- */
.doc-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.doc-btn {
    padding: 13px 14px; border-radius: 14px; cursor: pointer; text-align: start;
    background: var(--surface); border: 1.5px solid var(--border); color: var(--text-muted);
    display: flex; flex-direction: column; gap: 4px;
    transition: border-color 0.15s, background 0.15s, color 0.15s;
}
.doc-btn .db-t { font-size: 0.9rem; font-weight: 800; color: var(--text); }
.doc-btn .db-s { font-size: 0.68rem; line-height: 1.45; }
.doc-btn.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, transparent); }
.doc-btn.on .db-t { color: var(--accent); }


/* ---------- All orders (delivered history) ---------- */
.ord-custom { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.ord-custom .winput { flex: 1; padding: 10px 12px; font-size: 0.82rem; }
.ord-dash { color: var(--text-muted); }
.ord-summary { font-size: 0.86rem; color: var(--text-muted); padding: 4px 2px 12px; }
.ord-summary strong { color: var(--accent); font-variant-numeric: tabular-nums; }
.ord-list { display: flex; flex-direction: column; gap: 8px; max-height: 46vh; overflow-y: auto; }
.ord-row {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; padding: 12px 14px; cursor: pointer; text-align: start;
    background: var(--surface); border: 1.5px solid var(--border); border-radius: 14px; color: var(--text);
    transition: border-color 0.15s, background 0.15s;
}
.ord-row:active { background: color-mix(in srgb, var(--accent) 6%, var(--surface)); }
.ord-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ord-name { font-size: 0.92rem; font-weight: 800; }
.ord-car { font-size: 0.74rem; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46vw; }
.ord-when { font-size: 0.7rem; color: var(--text-muted); opacity: 0.8; }
.ord-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex-shrink: 0; }
.ord-total { font-size: 0.9rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ord-method { font-size: 0.7rem; font-weight: 700; color: var(--text-muted); }
.ord-empty { text-align: center; padding: 30px 10px; font-size: 0.86rem; color: var(--text-muted); }
[dir="rtl"] .ord-side { align-items: flex-start; }

/* ---------- Add items modal extras ---------- */
.addsvc-note {
    margin-top: 10px; padding: 10px 12px; border-radius: 12px;
    font-size: 0.76rem; font-weight: 700; color: var(--warning, #fbbf24);
    background: color-mix(in srgb, var(--warning, #fbbf24) 8%, transparent);
    border: 1px solid color-mix(in srgb, var(--warning, #fbbf24) 30%, transparent);
}
.addsvc-qty { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.addsvc-qty .qty-num { min-width: 18px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.det-add { width: 100%; justify-content: center; margin: 12px 0 4px; }
#addSvcModal .addsvc-list { max-height: 42vh; }

/* ---------- Add-items tabs ---------- */
.add-tabs {
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
    padding: 4px; margin-bottom: 12px;
    background: var(--bg-2); border: 1px solid var(--border); border-radius: 14px;
}
.add-tab {
    padding: 10px 8px; border-radius: 10px; cursor: pointer;
    font-size: 0.84rem; font-weight: 800; white-space: nowrap;
    background: transparent; border: none; color: var(--text-muted);
    transition: background 0.15s, color 0.15s;
}
.add-tab.on { background: var(--surface); color: var(--accent); box-shadow: 0 1px 6px rgba(0,0,0,0.25); }

/* ---------- Amount input with currency affix ---------- */
/* Money inputs are Latin decimal runs in every language: pin them LTR so the
   OMR / % badge stays on the right and digits don't reorder under RTL bidi. */
.amt-wrap { position: relative; display: flex; align-items: center; direction: ltr; }
.amt-wrap .winput { padding-right: 82px; padding-left: 16px; font-variant-numeric: tabular-nums; }
.amt-cur {
    position: absolute; right: 12px; left: auto; top: 50%; transform: translateY(-50%);
    font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em;
    padding: 6px 12px; border-radius: 10px; pointer-events: none;
    color: var(--text-muted); background: var(--surface); border: 1px solid var(--border);
}

/* ---------- Split payment table ---------- */
.split-table { display: flex; flex-direction: column; gap: 8px; }
.split-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.split-m { font-size: 0.86rem; font-weight: 700; white-space: nowrap; }
.amt-wrap.sm { max-width: 170px; flex: 1; }
.amt-wrap.sm .winput {
    padding-block: 11px;
    padding-inline: 12px 78px;   /* pill ≈50px + 12px offset + 16px breathing room */
    font-size: 16px; text-align: end;
}
.split-summary {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin-top: 12px; padding: 11px 14px; border-radius: 12px;
    font-size: 0.8rem; color: var(--text-muted);
    background: var(--bg-2); border: 1px solid var(--border);
}
.split-summary strong { color: var(--accent); font-variant-numeric: tabular-nums; }
.split-summary .over { color: var(--danger); font-weight: 700; }

/* ---------- Split payment: states ---------- */
.split-amt.over { border-color: var(--danger) !important; color: var(--danger); }
.split-amt.exact { border-color: var(--success, #34d399) !important; }
.split-amt.short { border-color: var(--warning, #fbbf24) !important; }
.split-amt::selection { background: color-mix(in srgb, var(--accent) 35%, transparent); }
.split-row.pickup { opacity: 0.85; }
.split-row.pickup .winput { background: var(--bg-2); color: var(--text-muted); cursor: default; border-style: dashed; }
.split-summary.is-over { border-color: color-mix(in srgb, var(--danger) 45%, transparent); background: color-mix(in srgb, var(--danger) 8%, transparent); }
.split-summary.is-exact { border-color: color-mix(in srgb, var(--success, #34d399) 40%, transparent); background: color-mix(in srgb, var(--success, #34d399) 7%, transparent); }
.split-summary .exact { color: var(--success, #34d399); font-weight: 700; }
.split-summary .exact strong { color: var(--success, #34d399); }
.split-summary .short { color: var(--warning, #fbbf24); font-weight: 700; }
.split-summary .over strong { color: var(--danger); }

/* required-field error state on wizard inputs */
.winput.err { border-color: var(--danger) !important; animation: shakeX 0.4s; }

/* step 3: no car icons */
.wstep[data-step="3"] .choice-card { padding-top: 16px; padding-bottom: 16px; }
.gc-plus { font-size: 1.3rem; font-weight: 800; color: var(--accent); flex-shrink: 0; }

/* ---------- Brand grid (text-only, no trademarked logos) ---------- */
.brand-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; max-height: 40vh; overflow-y: auto; padding: 2px; }
.brand-grid .choice-card { padding: 14px 8px; min-height: 0; }
.brand-grid .cl { font-size: 0.82rem; font-weight: 700; text-align: center; line-height: 1.25; }
@media (max-width: 360px) { .brand-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Damage marking toggle ---------- */
.dmg-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0 8px; }
.dmg-body { transition: opacity 0.22s var(--ease), filter 0.22s var(--ease); }
.dmg-body.off { opacity: 0.34; filter: grayscale(0.7); }
.dmg-body.off .wfield, .dmg-body.off .car-hint { pointer-events: none; }
.dmg-body.off .car-diagram { cursor: not-allowed; }

/* damage toggle: make the switch unmistakable */
.dmg-switch { gap: 8px; }
.dmg-switch .switch-label { min-width: 26px; text-align: end; }
.dmg-switch input:checked ~ .switch-label { color: var(--accent); }

/* ---------- Discount control (payment step) ---------- */
.disc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.disc-seg { display: flex; gap: 4px; padding: 4px; background: var(--bg-2); border: 1px solid var(--border); border-radius: 12px; }
.disc-mode {
    padding: 8px 16px; border-radius: 9px; cursor: pointer;
    font-size: 0.8rem; font-weight: 800;
    background: transparent; border: none; color: var(--text-muted);
    transition: background 0.15s, color 0.15s;
}
.disc-mode.on { background: var(--surface); color: var(--accent); }
.disc-note { margin-top: 8px; font-size: 0.76rem; font-weight: 700; color: var(--accent); min-height: 1em; }

/* handover signature card (reuses the step-9 tap-to-sign pattern) */
#sigDeliveryCard { margin-top: 4px; }
/* Unsigned-pad feedback: red border + shake. Applies to the intake pads
   (#sigCustCard / #sigStaffCard) as well as the handover one. */
.sig-tap-card.err,
#sigDeliveryCard.err { border-color: var(--danger) !important; animation: shakeX 0.4s; }

/* signature modal must sit above the settle modal that launched it */
#sigModal { z-index: 200; }

/* ---------- Settle: order financial history ---------- */
.settle-sub-head {
    margin: 12px 0 2px; font-size: 0.7rem; font-weight: 800;
    letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted);
    padding-top: 10px; border-top: 1px dashed var(--border);
}
.settle-row.sub { padding: 5px 0 5px 12px; font-size: 0.84rem; }
.settle-row.sub strong { font-weight: 700; }
.settle-stackwarn {
    margin-top: 8px; padding: 10px 12px; border-radius: 10px;
    font-size: 0.76rem; font-weight: 700; line-height: 1.4;
    color: var(--warning, #fbbf24);
    background: color-mix(in srgb, var(--warning, #fbbf24) 9%, transparent);
    border: 1px solid color-mix(in srgb, var(--warning, #fbbf24) 32%, transparent);
}

/* scrim behind the wizard sheet — dims the floor screen underneath */
.sheet-scrim {
    position: fixed; inset: 0; z-index: 3;
    background: rgba(0, 0, 4, 0.55);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.2s ease-in, visibility 0.2s;
}
.sheet-scrim.on {
    opacity: 1; visibility: visible;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s;
}


/* ---------- Fullscreen bottom-sheet modifier ----------
   Turns a .modal-overlay into a full-height sheet that slides up from the bottom
   edge, matching the intake wizard's motion. Applied to All Orders and the invoice
   preview: both are browse/read surfaces that want the whole screen on a phone,
   not a centred card. Kept as a modifier so both share one implementation. */
.modal-overlay.as-sheet {
    align-items: flex-end;
    justify-content: center;
    padding: 0;
}
.modal-overlay.as-sheet .modal-box {
    max-width: 560px;
    width: 100%;
    height: 100dvh;                       /* dvh: excludes the mobile URL bar */
    max-height: 100dvh;
    border-radius: 22px 22px 0 0;
    border-bottom: none;
    padding: 0;                            /* head/body/foot own their padding */
    display: flex;
    flex-direction: column;
    overflow: hidden;
    /* enter/exit as a sheet: slide, don't scale */
    transform: translateY(100%);
    transition: transform 0.26s cubic-bezier(0.4, 0, 1, 1);
}
.modal-overlay.as-sheet.open .modal-box {
    transform: translateY(0);
    transition: transform 0.36s cubic-bezier(0.16, 1, 0.3, 1);
}
@starting-style {
    .modal-overlay.as-sheet.open .modal-box { transform: translateY(100%); }
}
/* grab handle, same as the wizard's */
.modal-overlay.as-sheet .modal-box::before {
    content: '';
    position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
    width: 40px; height: 4px; border-radius: 99px;
    background: var(--border-strong);
    z-index: 2;
}
.modal-overlay.as-sheet .modal-head {
    flex: 0 0 auto;
    padding: 22px 22px 14px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-2);
    margin: 0;
}
/* the scrolling middle region */
.modal-overlay.as-sheet .sheet-scroll {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 14px 20px calc(20px + env(safe-area-inset-bottom, 0px));
}
@media (prefers-reduced-motion: reduce) {
    .modal-overlay.as-sheet .modal-box,
    .modal-overlay.as-sheet.open .modal-box { transition: none; }
}

/* The invoice preview can open ON TOP of the All Orders sheet (reprint flow),
   so it must stack above it. #sigModal (200) stays above both. */
#ordersModal { z-index: 120; }
#invoiceModal { z-index: 140; }
/* The confirm bottom-sheet (#confirmSheet, e.g. "Delete this invoice?") is a
   STATIC element early in the DOM, so at the shared .sheet-overlay z-index (130)
   it lost to the later-injected .psheet dialogs (#invPvSheet / #arSheet) and
   rendered BEHIND them. Lift it above every owner dialog so a confirmation is
   always on top of whatever opened it. */
#confirmSheet { z-index: 210; }

/* ---------- All Orders: search box ---------- */
.ord-search { position: relative; display: flex; align-items: center; margin-bottom: 10px; }
.ord-search .winput {
    padding-inline-start: 38px;
    padding-inline-end: 38px;
}
.ord-search-ico {
    position: absolute; inset-inline-start: 12px; top: 50%; transform: translateY(-50%);
    font-size: 0.85rem; pointer-events: none; opacity: 0.65;
}
.ord-search-x {
    position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%);
    width: 24px; height: 24px; display: none; place-items: center;
    border: none; border-radius: 50%; cursor: pointer;
    background: var(--surface-hover); color: var(--text-muted); font-size: 0.7rem;
}
.ord-search-x.on { display: grid; }
.ord-search-x:hover { color: var(--text); }

/* ---------- All Orders: labelled From / To dates ----------
   Two bare date inputs give no clue which is which — label them. */
.ord-date { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.ord-date-lbl {
    font-size: 0.64rem; font-weight: 700; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--text-muted);
}
.ord-date .winput { width: 100%; }
#ordersModal .ord-custom { align-items: flex-end; }
#ordersModal .ord-dash { padding-bottom: 12px; }

/* All Orders: filters stay pinned under the header, only the list scrolls */
#ordersModal .ord-filters {
    flex: 0 0 auto;
    padding: 14px 20px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-2);
}
#ordersModal .ord-filters .cat-pills { margin-bottom: 10px; }
#ordersModal .ord-filters .ord-summary { margin-bottom: 0; }
#ordersModal .sheet-scroll { padding-top: 12px; }
/* .ord-list carries max-height:46vh + overflow for the old centred card. Inside a
   fullscreen sheet the .sheet-scroll wrapper is the scroller, so drop both —
   otherwise the list is capped at 46% of the screen with a nested scrollbar. */
#ordersModal .ord-list {
    margin: 0;
    max-height: none;
    overflow: visible;
}

/* ---------- Invoice preview: fullscreen sheet, fixed header + footer ----------
   Sizing (height, radius, slide-in) now comes from .as-sheet — these rules only
   describe the head / scrolling body / pinned footer inside it. */
#invoiceModal .inv-head {
    flex: 0 0 auto;
    padding: 22px 22px 16px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-2);
    margin: 0;
}
#invoiceModal .inv-body {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 16px 18px;
}
#invoiceModal .inv-foot {
    flex: 0 0 auto;
    display: flex; gap: 10px;
    padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--border);
    background: var(--bg-2);
}
#invoiceModal .inv-btn { flex: 1; justify-content: center; }

/* year "Other" input — revealed like the brand one */
.year-other { display: none; margin-top: 10px; max-width: 160px; }
.year-other.show { display: block; }
.year-other.err { border-color: var(--danger) !important; animation: shakeX 0.4s; }


/* stat cards: keep every line centred */
.stat-card .stat-chip { justify-content: center; }
.stat-card .stat-num { display: flex; align-items: baseline; justify-content: center; gap: 4px; }
.stat-card .stat-note { text-align: center; }

/* timeline stamp: keep the date+time block in LTR reading order even in RTL */
.tl-stamp { unicode-bidi: isolate; }
[dir="rtl"] .tl-time { direction: rtl; }

/* phone row: a phone number is LTR data — code always left, number always right */
.phone-row { direction: ltr; }
.phone-row .wselect, .phone-row .winput { text-align: left; }
.phone-row .winput.big { text-align: center; }
[dir="rtl"] .wstep[data-step="1"] .whint,
[dir="rtl"] .wstep[data-step="1"] label { text-align: right; }

/* ============================================================
   ====  Confirm bottom-sheet (shared UX with staff panel)  ==
   Ported from the staff panel so both panels ask for
   confirmation the same way. Buttons are self-contained here.
   ============================================================ */
.sheet-overlay {
    position: fixed; inset: 0; z-index: 130;
    display: flex; align-items: flex-end; justify-content: center;
    background: rgba(2, 6, 16, 0.74);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 0.32s var(--ease), visibility 0s linear 0.42s;
}
.sheet-overlay.open {
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: opacity 0.32s var(--ease), visibility 0s;
}
.sheet {
    width: 100%; max-width: 520px;
    background: var(--bg-2); border: 1px solid var(--border-strong); border-bottom: none;
    border-radius: 24px 24px 0 0; box-shadow: var(--shadow);
    padding: 14px 24px 30px; text-align: center;
    transform: translateY(100%); transition: transform 0.38s var(--ease);
}
.sheet-overlay.open .sheet { transform: translateY(0); }
.sheet-handle { width: 44px; height: 5px; border-radius: 99px; background: var(--border-strong); margin: 0 auto 18px; }
.sheet-icon {
    width: 62px; height: 62px; margin: 0 auto 14px; border-radius: 50%;
    display: grid; place-items: center; font-size: 1.5rem;
    background: var(--accent-glow); border: 2px solid var(--accent); color: var(--accent);
}
/* danger tint — destructive confirmations (delete) */
.sheet-icon.danger { background: var(--danger-bg); border-color: var(--danger); color: var(--danger); }
.sheet-title { font-size: 1.22rem; font-weight: 800; }
.sheet-msg { font-size: 0.9rem; color: var(--text-muted); margin: 8px 0 22px; line-height: 1.5; }
.sheet-actions { display: flex; gap: 10px; }
.sheet-btn {
    flex: 1; display: flex; align-items: center; justify-content: center;
    padding: 15px 18px; border-radius: 14px;
    font-family: inherit; font-size: 0.92rem; font-weight: 700;
    cursor: pointer; transition: filter 0.18s, background 0.18s, border-color 0.18s, transform 0.12s;
}
.sheet-btn:active { transform: translateY(1px); }
.sheet-btn.ghost {
    flex: 0 0 auto; padding: 15px 24px;
    background: transparent; border: 1px solid var(--border-strong); color: var(--text-muted);
}
.sheet-btn.ghost:hover { border-color: var(--text); color: var(--text); }
.sheet-btn.confirm {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    border: 1px solid transparent; color: #fff;
}
.sheet-btn.confirm:hover { filter: brightness(1.07); }
.sheet-btn.confirm.danger { background: var(--danger); }


/* ==========================================================================
   ACCOUNTS RECEIVABLE — owner Customers page (summary, aging, ledger,
   invoice preview, statement). Appended by the AR feature.
   ========================================================================== */

/* ---- date filter bar ---- */
.ar-datebar { display: flex; gap: 6px; margin: 12px 0 10px; flex-wrap: wrap; }
.ar-datebar.ar-datebar-sheet { margin-top: 4px; }
.ar-dchip { flex: 1; min-width: 74px; padding: 8px 6px; border-radius: 10px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: var(--text-muted);
    font: inherit; font-size: .78rem; font-weight: 700; transition: all .15s; }
.ar-dchip:hover { border-color: var(--accent); }
.ar-dchip.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }
.ar-range-row { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.ar-range-row input[type=date] { flex: 1; min-width: 130px; padding: 8px 10px; border-radius: 10px;
    background: var(--bg-2); border: 1.5px solid var(--border); color: inherit; font: inherit; font-size: .82rem; }
.ar-range-dash { color: var(--text-muted); }
.ar-range-apply { padding: 8px 16px; border-radius: 10px; border: none; cursor: pointer;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; font: inherit; font-weight: 700; font-size: .82rem; }

/* ---- summary cards ---- */
.ar-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.ar-card { text-align: start; padding: 12px 12px 11px; border-radius: 14px; cursor: pointer;
    background: var(--surface); border: 1.5px solid var(--border); transition: all .15s; display: flex; flex-direction: column; gap: 3px; }
.ar-card:hover { border-color: var(--accent); }
.ar-card.on { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); }
.ar-card-l { font-size: .72rem; color: var(--text-muted); font-weight: 600; }
.ar-card-v { font-size: 1.12rem; font-weight: 800; letter-spacing: -.01em; color: var(--text); }
.ar-card-sub { font-size: .68rem; color: var(--text-muted); }
.ar-card.outstanding .ar-card-v { color: var(--danger); }
.ar-card.paid .ar-card-v { color: var(--ok); }

/* ---- aging strip ---- */
.ar-aging { margin-bottom: 12px; }
.ar-aging-head { font-size: .72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.ar-aging-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.ar-agecell { text-align: center; padding: 9px 4px; border-radius: 11px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); transition: all .15s; display: flex; flex-direction: column; gap: 2px; }
.ar-agecell:hover { border-color: var(--accent); }
.ar-agecell.on { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent); }
.ar-agecell-v { font-size: .92rem; font-weight: 800; color: var(--text); }
.ar-agecell-l { font-size: .62rem; color: var(--text-muted); }
.ar-agecell.d30 .ar-agecell-v { color: var(--warn); }
.ar-agecell.d60 .ar-agecell-v { color: #f97316; }
.ar-agecell.d90 .ar-agecell-v { color: var(--danger); }

/* ---- count row + active filter chips ---- */
.cust-count-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ar-fchips { display: flex; gap: 6px; flex-wrap: wrap; }
.ar-fchip { padding: 4px 10px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 700;
    background: color-mix(in srgb, var(--accent) 14%, transparent); border: 1px solid var(--accent); color: var(--accent); }

/* ---- per-row balance badge ---- */
.cr-owe { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.cr-owe-amt { font-size: .86rem; font-weight: 800; color: var(--danger); }
.ar-age { font-size: .6rem; font-weight: 700; padding: 1px 6px; border-radius: 999px; background: var(--warn-bg); color: var(--warn); }
.ar-age.age60 { background: rgba(249,115,22,.14); color: #f97316; }
.ar-age.age90 { background: var(--danger-bg); color: var(--danger); }

/* ---- detail sheet: AR summary + aging + buttons ---- */
.cd-stats.ar3 .cd-stat { position: relative; }
.cd-stat .cds-sub { display: block; font-size: .62rem; color: var(--text-muted); margin-top: 1px; }
.cd-stat.ok .cds-n { color: var(--ok); }
.cd-stat.owes .cds-n { color: var(--danger); }
.cd-aging { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 4px 0 14px; }
.cda-cell { text-align: center; padding: 8px 3px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 2px; }
.cda-v { font-size: .82rem; font-weight: 800; }
.cda-l { font-size: .6rem; color: var(--text-muted); }
.cda-cell.age30 .cda-v { color: var(--warn); }
.cda-cell.age60 .cda-v { color: #f97316; }
.cda-cell.age90 .cda-v { color: var(--danger); }
.cd-arbtns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 16px; }
.cd-arbtn { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px 8px; border-radius: 12px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: inherit; font: inherit; font-weight: 700; font-size: .82rem; }
.cd-arbtn svg { width: 17px; height: 17px; flex: none; }
.cd-arbtn:hover { border-color: var(--accent); }
.cd-arbtn.accent { grid-column: 1 / -1; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

/* ---- full-screen sheet variant ---- */
.psheet.ar-full .psheet-panel.full { max-width: 760px; width: 100%; height: 94vh; max-height: 94vh; border-radius: 20px 20px 0 0; }
.ar-loading { padding: 40px; text-align: center; color: var(--text-muted); }

/* ---- sheet summary tiles ---- */
.ar-sheet-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0 14px; }
.arss { text-align: center; padding: 10px 6px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); }
.arss span { display: block; font-size: 1.02rem; font-weight: 800; }
.arss label { display: block; font-size: .64rem; color: var(--text-muted); margin-top: 2px; }
.arss.ok span { color: var(--ok); }
.arss.owes span { color: var(--danger); }

/* ---- invoice list (history) ---- */
.ar-invlist { display: flex; flex-direction: column; gap: 8px; }
.ar-invrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-radius: 12px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: inherit; font: inherit; text-align: start; }
.ar-invrow:hover { border-color: var(--accent); }
.ar-invrow-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ar-invnum { font-weight: 800; font-size: .9rem; }
.ar-invsub { display: flex; gap: 8px; font-size: .72rem; color: var(--text-muted); }
.ar-invcar { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.ar-invrow-right { text-align: end; display: flex; flex-direction: column; gap: 3px; flex: none; }
.ar-invtotal { font-weight: 800; font-size: .9rem; }
.ar-invstatus { font-size: .68rem; font-weight: 700; }
.ar-invstatus.paidfull { color: var(--ok); } .ar-invstatus.partial { color: var(--warn); } .ar-invstatus.unpaid { color: var(--danger); }

/* ---- ledger table ---- */
.ar-ledger-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.ar-lbtn { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 6px; border-radius: 11px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: inherit; font: inherit; font-weight: 700; font-size: .78rem; }
.ar-lbtn svg { width: 16px; height: 16px; flex: none; }
.ar-lbtn:hover { border-color: var(--accent); }
.ar-lbtn.accent { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }
.ar-lbtn.wa { color: #25d366; } .ar-lbtn.wa:hover { border-color: #25d366; }
.ar-lbtn.danger { color: var(--danger); } .ar-lbtn.danger:hover { border-color: var(--danger); }
.ar-ledger { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; font-size: .8rem; }
.ar-ltrow { display: grid; grid-template-columns: 66px 1fr 66px 66px 74px; gap: 6px; padding: 8px 10px; border-bottom: 1px solid var(--border); align-items: start; }
.ar-ltrow:last-child { border-bottom: none; }
.ar-ltrow.head { background: var(--bg-2); font-size: .64rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); font-weight: 700; }
.ar-ltrow.op, .ar-ltrow.total { background: var(--surface); font-weight: 700; }
.ar-ltrow.total { border-top: 2px solid var(--text-muted); }
.ar-ltrow .r { text-align: end; }
.ar-ltrow .r.ok { color: var(--ok); }
.ar-ltrow .bal { font-weight: 700; }
.ar-ltdate { font-size: .72rem; color: var(--text-muted); }
.ar-ltdesc { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ar-ltdesc b { font-size: .8rem; }
.ar-ltdesc em { font-style: normal; font-size: .7rem; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; }
.ar-payedit { display: flex; gap: 10px; margin-top: 3px; }
.ar-payedit button { background: none; border: none; padding: 0; cursor: pointer; font: inherit; font-size: .68rem; font-weight: 700; color: var(--accent); }
.ar-payedit button.danger { color: var(--danger); }

/* ---- invoice preview card ---- */
.inv-pv { border: 1px solid var(--border); border-radius: 14px; padding: 16px; background: var(--surface); }
.inv-pv-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid var(--text-muted); padding-bottom: 10px; margin-bottom: 12px; }
.inv-pv-brand { font-size: 1.3rem; font-weight: 800; }
.inv-pv-brand small { display: block; font-size: .72rem; color: var(--accent); font-weight: 600; }
.inv-pv-meta { text-align: end; display: flex; flex-direction: column; gap: 2px; }
.inv-pv-meta b { font-size: .92rem; }
.inv-pv-meta span { font-size: .72rem; color: var(--text-muted); }
.inv-pv-status { font-weight: 800; font-size: .72rem; }
.inv-pv-status.paidfull { color: var(--ok); } .inv-pv-status.partial { color: var(--warn); } .inv-pv-status.unpaid { color: var(--danger); }
.inv-pv-parties { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.inv-pv-parties label { display: block; font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); margin-bottom: 2px; }
.inv-pv-parties b { font-size: .92rem; }
.inv-pv-parties span { display: block; font-size: .74rem; color: var(--text-muted); }
.inv-pv-tbl { width: 100%; border-collapse: collapse; font-size: .82rem; margin-bottom: 12px; }
.inv-pv-tbl td { padding: 6px 0; border-bottom: 1px solid var(--border); }
.inv-pv-tbl td.r { text-align: end; }
.inv-pv-tot div { display: flex; justify-content: space-between; padding: 4px 0; font-size: .84rem; }
.inv-pv-tot .grand { font-size: 1rem; font-weight: 800; border-top: 2px solid var(--text-muted); margin-top: 4px; padding-top: 7px; }
.inv-pv-tot .ok b { color: var(--ok); } .inv-pv-tot .owes b { color: var(--danger); }
.ar-pv-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }

/* inline button spinner (invoice PDF share/download) — ported from the staff app */
.btn-spin { display: inline-block; width: 13px; height: 13px; border: 2px solid color-mix(in srgb, currentColor 30%, transparent);
    border-top-color: currentColor; border-radius: 50%; animation: btnspin 0.7s linear infinite; vertical-align: -2px; }
@keyframes btnspin { to { transform: rotate(360deg); } }

/* ==========================================================================
   INVOICES / ALERTS / PAYROLL sections (owner). Reuse AR list + summary CSS;
   these are the deltas.
   ========================================================================== */

/* ---- Invoices ---- */
.inv-statusbar { margin-top: 2px; }
.inv-row .ar-invrow-main { gap: 2px; }
.inv-cust { font-size: .82rem; font-weight: 700; color: var(--text); }
.inv-row .ar-invnum { font-size: .82rem; color: var(--text-muted); font-weight: 700; }
.inv-row .ar-invcar { max-width: 340px; }
.inv-sortrow { display: flex; align-items: center; gap: 10px; margin: 4px 0 10px; flex-wrap: wrap; }
.inv-sort-lbl { font-size: .72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; }
.inv-sort-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.inv-sort-chip { padding: 5px 12px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .74rem; font-weight: 700;
    background: var(--bg-2); border: 1.5px solid var(--border); color: var(--text-muted); transition: all .15s; }
.inv-sort-chip:hover { border-color: var(--accent); }
.inv-sort-chip.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

/* ---- Alerts (dormant customers) ---- */
.alert-thresh-lbl { font-size: .72rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .05em; margin: 6px 0; }
.alert-sum { grid-template-columns: 1fr 1fr; }
.alert-list { gap: 8px; }
.alert-row { display: flex; align-items: stretch; gap: 8px; }
.alert-main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-radius: 14px; cursor: pointer;
    background: var(--surface); border: 1.5px solid var(--border); color: inherit; font: inherit; text-align: start; transition: border-color .15s; }
.alert-main:hover { border-color: var(--accent); }
.alert-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.alert-name { font-size: .92rem; font-weight: 700; display: flex; align-items: center; gap: 7px; }
.alert-sub { display: flex; align-items: center; gap: 7px; font-size: .74rem; color: var(--text-muted); }
.alert-days { font-size: .68rem; font-weight: 800; padding: 1px 7px; border-radius: 999px; background: var(--warn-bg); color: var(--warn); }
.alert-days.warm { background: rgba(249,115,22,.14); color: #f97316; }
.alert-days.hot { background: var(--danger-bg); color: var(--danger); }
.alert-phone { font-size: .74rem; color: var(--text-muted); }
.alert-owe { font-size: .84rem; font-weight: 800; color: var(--danger); flex: none; }
.alert-wa { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    padding: 8px 12px; border-radius: 14px; cursor: pointer; font: inherit; font-size: .66rem; font-weight: 700;
    background: color-mix(in srgb, #25d366 14%, transparent); border: 1.5px solid #25d366; color: #25d366; transition: filter .15s; }
.alert-wa svg { width: 20px; height: 20px; }
.alert-wa:hover { filter: brightness(1.08); }

/* ---- Payroll ---- */
.pay-periodbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 8px 10px; }
.pay-navbtn { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 11px; cursor: pointer;
    background: var(--bg-2); border: 1.5px solid var(--border); color: var(--text); transition: border-color .15s; }
.pay-navbtn:hover { border-color: var(--accent); }
.pay-navbtn svg { width: 20px; height: 20px; }
.pay-period { text-align: center; }
.pay-period-m { display: block; font-size: 1.05rem; font-weight: 800; }
.pay-period-s { display: block; font-size: .64rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .06em; margin-top: 1px; }
.pay-actions { margin-top: 4px; }
.pay-list { gap: 8px; }
.pay-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 13px; border-radius: 14px; cursor: pointer;
    background: var(--surface); border: 1.5px solid var(--border); color: inherit; font: inherit; text-align: start; transition: border-color .15s; }
.pay-row:hover { border-color: var(--accent); }
.pay-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.pay-name { font-size: .92rem; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.pay-role { font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 1px 7px; border-radius: 999px;
    background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); }
.pay-sub { font-size: .74rem; color: var(--text-muted); }
.pay-right { text-align: end; display: flex; flex-direction: column; gap: 3px; flex: none; }
.pay-net { font-weight: 800; font-size: .96rem; }
.pay-status { font-size: .68rem; font-weight: 800; }
.pay-status.paid { color: var(--ok); } .pay-status.partial { color: var(--warn); } .pay-status.unpaid { color: var(--text-muted); }
.pay-netbox { display: flex; align-items: center; justify-content: space-between; margin: 4px 0 14px; padding: 12px 14px; border-radius: 12px;
    background: color-mix(in srgb, var(--accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); }
.pay-netbox span { font-size: .82rem; font-weight: 700; color: var(--text-muted); }
.pay-netbox b { font-size: 1.15rem; font-weight: 800; color: var(--accent); }
.pay-paidtoggle { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; cursor: pointer; font-size: .9rem; font-weight: 600; }
.pay-paidtoggle input { width: 20px; height: 20px; accent-color: var(--ok); cursor: pointer; }
.pay-cfactions { flex-wrap: wrap; }
.pay-cfactions .ar-lbtn { flex: 1; min-width: 120px; }

/* =====================================================================
   ACCOUNT BOOK  (module: accountbook)
   Every class is prefixed .ab- to stay out of the way in this stylesheet.
   Physical left/right is avoided throughout — logical properties only, so
   Arabic and Farsi mirror correctly without a second set of rules.
   ===================================================================== */

/* The eight card swatches are stored as a SEMANTIC key and resolved here per
   theme. The original app stored dark-tuned hexes; on the light theme they
   made white card text unreadable, and on premium they fought the amber. */
[data-theme="dark"], [data-theme="premium"] {
    --ab-default: #222831;  --ab-midnight: #1a2639; --ab-forest: #1e3a29;
    --ab-crimson: #3a1e1e;  --ab-slate: #2c3e50;    --ab-royal: #331e3a;
    --ab-coffee: #3e2c1e;   --ab-teal: #163636;     --ab-ink: #f8fafc;
    --ab-ink-dim: rgba(248, 250, 252, 0.66);
}
[data-theme="light"] {
    /* Saturated enough to read as identity at avatar size, still light enough
       that --ab-ink (#0f172a) clears contrast on top of it. */
    --ab-default: #cbd5e1;  --ab-midnight: #b6cbee; --ab-forest: #a8dcbc;
    --ab-crimson: #f2b8b8;  --ab-slate: #bcd0e0;    --ab-royal: #d3b8ea;
    --ab-coffee: #e6cba4;   --ab-teal: #a3d8d8;     --ab-ink: #0f172a;
    --ab-ink-dim: rgba(15, 23, 42, 0.62);
}
.ab-c-default  { --ab-card: var(--ab-default); }
.ab-c-midnight { --ab-card: var(--ab-midnight); }
.ab-c-forest   { --ab-card: var(--ab-forest); }
.ab-c-crimson  { --ab-card: var(--ab-crimson); }
.ab-c-slate    { --ab-card: var(--ab-slate); }
.ab-c-royal    { --ab-card: var(--ab-royal); }
.ab-c-coffee   { --ab-card: var(--ab-coffee); }
.ab-c-teal     { --ab-card: var(--ab-teal); }

/* ---- book / account rows ----------------------------------------------
   Same shell as the Expenses month list (.cust-row + .cav + .cr-right), so
   the two pages read as one family. The colour a book or account carries is
   a tint on the avatar rather than a full card background — a full-bleed
   card was unreadable on the light theme. */
.ab-listrow { position: relative; }
.ab-cav {
    background: var(--ab-card, var(--ab-default));
    color: var(--ab-ink);
    border: 1px solid var(--border);
}
/* a period avatar echoes the Expenses "07.2026" monospace code */
.ab-cav-period { font-family: 'Geist Mono', ui-monospace, monospace; font-size: .72rem; letter-spacing: -.02em; }
.ab-listrow.is-current { border-color: var(--accent); }
.ab-listrow.is-current .ab-cav { border-color: var(--accent); }

.ab-nowpill {
    padding: 2px 8px; border-radius: 999px;
    background: var(--accent); color: #fff;
    font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
}
[dir="rtl"] .ab-nowpill { letter-spacing: 0; text-transform: none; }

.ab-rowbadge {
    display: inline-flex; align-items: center; gap: 2px;
    padding: 2px 6px; border-radius: 999px;
    background: var(--surface-hover); color: var(--text-muted);
    font-size: .6rem; font-weight: 700;
}
.ab-rowbadge svg { width: 11px; height: 11px; }
.ab-rowbadge.link { color: #60a5fa; background: rgba(59, 130, 246, .14); }
.ab-rowbadge.lock { color: var(--accent); background: var(--accent-glow); }
.ab-rowbadge i { font-style: normal; }

/* quiet until you look for it — the row itself is the primary target */
.ab-gear {
    flex: none; width: 30px; height: 30px; display: grid; place-items: center;
    border: 1px solid transparent; border-radius: 9px;
    background: transparent; color: var(--text-muted);
    opacity: .55; cursor: pointer; transition: opacity .15s, border-color .15s, color .15s;
}
.ab-gear:hover { opacity: 1; border-color: var(--border); color: var(--text); background: var(--surface-hover); }
.ab-gear:focus-visible { opacity: 1; outline: 2px solid var(--accent); outline-offset: 1px; }
.ab-gear svg { width: 15px; height: 15px; }
.ab-headgear:hover { border-color: var(--border-strong); color: var(--text); }

/* The balance is forced back on below 560px (see the media query further
   down), which leaves the name column tight. Truncate the name rather than
   let it wrap to two lines — the badges beside it must stay put. */
.ab-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-listrow .cr-name { flex-wrap: nowrap; min-width: 0; }

.ab-catbar { margin-block-end: 4px; }
.ab-catmanage:hover { border-color: var(--accent); color: var(--accent); }

/* ---- empty states ---- */
.ab-empty .ab-empty-ico { display: block; width: 40px; height: 40px; margin: 0 auto 10px; opacity: .35; color: var(--text-muted); }
.ab-empty .ab-empty-ico svg { width: 100%; height: 100%; }
.ab-empty-btn { margin-block-start: 14px; }

/* ---- ledger: search, summary, count ---- */
.ab-searchbar { position: relative; display: flex; align-items: center; margin-block-end: 10px; }
.ab-searchbar input {
    width: 100%; padding: 10px 12px; padding-inline-start: 38px; padding-inline-end: 36px;
    border: 1px solid var(--border); border-radius: 12px;
    background: var(--surface); color: var(--text); font-size: .9rem;
}
.ab-searchbar input:focus { outline: none; border-color: var(--accent); }
.ab-search-ico { position: absolute; inset-inline-start: 12px; width: 16px; height: 16px; color: var(--text-muted); pointer-events: none; }
.ab-search-clear {
    position: absolute; inset-inline-end: 8px; width: 24px; height: 24px;
    display: grid; place-items: center; border: 0; border-radius: 50%;
    background: transparent; color: var(--text-muted); cursor: pointer;
}
.ab-search-clear svg { width: 14px; height: 14px; }
.ab-sum { margin-block-end: 8px; }
.ab-sum .arss.ab-bal span { color: var(--accent); }   /* balance is amber even when negative */
.ab-mirrornote {
    margin: 0 0 8px; padding: 7px 10px;
    border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text-muted); font-size: .72rem;
}
.ab-count { display: flex; align-items: center; gap: 10px; margin: 12px 0 6px; color: var(--text-muted); font-size: .74rem; }
.ab-count::before, .ab-count::after { content: ''; flex: 1; height: 1px; background: var(--border); }

/* ---- floating date pill ---- */
.ab-pill {
    position: sticky; inset-block-start: 6px; z-index: 6;
    width: max-content; margin-inline: auto; padding: 4px 12px;
    border-radius: 999px; border: 1px solid var(--border-strong);
    background: var(--surface-solid); color: var(--text);
    font-size: .7rem; font-weight: 700;
    opacity: 0; transform: translateY(-6px);
    transition: opacity .2s var(--ease), transform .2s var(--ease);
    pointer-events: none;
}
.ab-pill.on { opacity: 1; transform: translateY(0); }
.ab-pill.swap span { opacity: 0; transform: translateY(-8px); }
.ab-pill span { display: inline-block; transition: opacity .18s var(--ease), transform .18s var(--ease); }

/* ---- the list ---- */
.ab-list { display: flex; flex-direction: column; gap: 6px; padding-block-end: 76px; }
.ab-spacer { display: grid; place-items: start center; overflow: hidden; }
.ab-spacer-btn {
    margin-block-start: 6px; padding: 6px 12px;
    border: 1px dashed var(--border-strong); border-radius: 999px;
    background: var(--surface); color: var(--text-muted); font-size: .72rem; cursor: pointer;
}
.ab-daysep { display: flex; align-items: center; gap: 10px; margin: 10px 0 2px; }
.ab-daysep span {
    padding: 3px 10px; border-radius: 999px;
    background: var(--surface); border: 1px solid var(--border);
    color: var(--text-muted); font-size: .68rem; font-weight: 700;
}
.ab-daysep::after { content: ''; flex: 1; height: 1px; background: var(--border); }

.ab-row {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 12px;
    /* the 4px type rail is on the INLINE start edge, so it flips in RTL */
    border: 1px solid var(--border);
    border-inline-start: 4px solid var(--border-strong);
    border-radius: 10px;
    background: var(--surface); cursor: pointer; text-align: start;
    transition: background .15s var(--ease), border-color .15s var(--ease);
}
.ab-row:hover { background: var(--surface-hover); }
.ab-row:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.ab-row.in  { border-inline-start-color: var(--ok); }
.ab-row.out { border-inline-start-color: var(--danger); }
.ab-row.is-mirror { opacity: .92; }
.ab-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.ab-row-title { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ab-desc { font-weight: 700; font-size: .88rem; color: var(--text); word-break: break-word; }
.ab-desc.none { font-weight: 400; opacity: .5; }
.ab-mirror-pill {
    padding: 1px 7px; border-radius: 999px;
    background: rgba(59, 130, 246, .16); color: #60a5fa;
    font-size: .62rem; font-weight: 700;
}
.ab-row-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.ab-bdg {
    display: inline-flex; align-items: center; gap: 3px;
    padding: 2px 7px; border-radius: 999px;
    font-size: .65rem; font-weight: 600;
    background: var(--ab-bdg-bg, var(--surface-hover));
    color: var(--ab-bdg-fg, var(--text-muted));
}
.ab-bdg svg { width: 10px; height: 10px; }
.ab-bdg-none { background: var(--surface-hover); color: var(--text-muted); opacity: .8; font-style: italic; }
/* a stable colour per classifier NAME, so "Fuel" reads the same on every row */
.ab-h0 { --ab-bdg-bg: rgba(59,130,246,.16);  --ab-bdg-fg: #60a5fa; }
.ab-h1 { --ab-bdg-bg: rgba(16,185,129,.16);  --ab-bdg-fg: #34d399; }
.ab-h2 { --ab-bdg-bg: rgba(245,158,11,.16);  --ab-bdg-fg: #fbbf24; }
.ab-h3 { --ab-bdg-bg: rgba(239,68,68,.16);   --ab-bdg-fg: #f87171; }
.ab-h4 { --ab-bdg-bg: rgba(139,92,246,.16);  --ab-bdg-fg: #a78bfa; }
.ab-h5 { --ab-bdg-bg: rgba(6,182,212,.16);   --ab-bdg-fg: #22d3ee; }
.ab-h6 { --ab-bdg-bg: rgba(236,72,153,.16);  --ab-bdg-fg: #f472b6; }
.ab-h7 { --ab-bdg-bg: rgba(132,204,22,.16);  --ab-bdg-fg: #a3e635; }
.ab-h8 { --ab-bdg-bg: rgba(249,115,22,.16);  --ab-bdg-fg: #fb923c; }
.ab-h9 { --ab-bdg-bg: rgba(100,116,139,.20); --ab-bdg-fg: #94a3b8; }
.ab-row-foot { display: flex; flex-direction: column; gap: 1px; }
.ab-attr { font-size: .62rem; font-style: italic; color: var(--text-muted); opacity: .8; }
.ab-attr.edited { color: var(--accent); opacity: .95; }
.ab-attr.linked { color: #60a5fa; opacity: .95; }
.ab-row-amt { flex-shrink: 0; font-weight: 800; font-size: .95rem; align-self: center; }
.ab-row.in  .ab-row-amt { color: var(--ok); }
.ab-row.out .ab-row-amt { color: var(--danger); }
.ab-sentinel { height: 1px; }

/* ---- the two footer buttons ---- */
.ab-footer {
    position: sticky; inset-block-end: 0; z-index: 5;
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    padding: 10px 0 12px;
    background: linear-gradient(to top, var(--bg) 60%, transparent);
}
.ab-fbtn {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 12px; border: 0; border-radius: 12px;
    font-size: .9rem; font-weight: 700; color: #fff; cursor: pointer;
}
.ab-fbtn svg { width: 16px; height: 16px; }
.ab-fbtn.out { background: var(--danger); }
.ab-fbtn.in  { background: var(--ok); }
.ab-fbtn:hover { filter: brightness(1.08); }

/* ---- option / manager sheets ---- */
.ab-opts { display: flex; flex-direction: column; gap: 2px; }
.ab-opt {
    display: flex; align-items: center; gap: 12px;
    width: 100%; padding: 13px 6px;
    border: 0; border-block-end: 1px solid var(--border);
    background: transparent; color: var(--text);
    font-size: .9rem; text-align: start; cursor: pointer;
}
.ab-opt:last-child { border-block-end: 0; }
.ab-opt:hover { background: var(--surface-hover); }
.ab-opt.danger { color: var(--danger); }
.ab-opt-ico { width: 18px; height: 18px; flex-shrink: 0; opacity: .8; }
.ab-opt-ico svg { width: 100%; height: 100%; }
.ab-sheet-hint { margin: 0 0 12px; color: var(--text-muted); font-size: .76rem; }

.ab-manage-top { display: flex; gap: 8px; margin-block-end: 12px; }
.ab-manage-top input {
    flex: 1; padding: 10px 12px;
    border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text); font-size: .88rem;
}
.ab-manage-top input:focus { outline: none; border-color: var(--accent); }
.ab-manage-add {
    width: 42px; flex-shrink: 0; display: grid; place-items: center;
    border: 0; border-radius: 10px; background: var(--accent); color: #fff; cursor: pointer;
}
.ab-manage-add svg { width: 18px; height: 18px; }
.ab-manage-list { display: flex; flex-direction: column; }
.ab-manage-row { display: flex; align-items: center; gap: 8px; padding: 10px 4px; border-block-end: 1px solid var(--border); }
.ab-manage-name { flex: 1; min-width: 0; font-size: .88rem; color: var(--text); overflow: hidden; text-overflow: ellipsis; }
.ab-mini {
    width: 30px; height: 30px; display: grid; place-items: center;
    border: 1px solid var(--border); border-radius: 8px;
    background: var(--surface); color: var(--text-muted); cursor: pointer;
}
.ab-mini svg { width: 14px; height: 14px; }
.ab-mini.danger { color: var(--danger); }
.ab-mini:hover { background: var(--surface-hover); }

/* ---- colour swatches ---- */
.ab-swatches { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-block-end: 16px; }
.ab-swatch {
    height: 56px; border: 2px solid var(--border); border-radius: 12px;
    background: var(--ab-card, var(--ab-default)); cursor: pointer;
    display: grid; place-items: center; color: var(--ab-ink);
}
.ab-swatch .ab-swatch-tick { width: 18px; height: 18px; opacity: 0; }
.ab-swatch.on { border-color: var(--accent); }
.ab-swatch.on .ab-swatch-tick { opacity: 1; }

/* ---- transaction sheet ---- */
.ab-typetoggle { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-block-end: 14px; }
.ab-tt {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 11px; border: 1px solid var(--border); border-radius: 12px;
    background: var(--surface); color: var(--text-muted);
    font-size: .88rem; font-weight: 700; cursor: pointer;
}
.ab-tt svg { width: 15px; height: 15px; }
.ab-tt.out.on { background: var(--danger); border-color: var(--danger); color: #fff; }
.ab-tt.in.on  { background: var(--ok); border-color: var(--ok); color: #fff; }

.ab-dt { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-block-end: 14px; }
.ab-dtbtn {
    display: flex; align-items: center; justify-content: center; gap: 7px;
    padding: 10px; border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text); font-size: .82rem; cursor: pointer;
}
.ab-dtbtn svg { width: 15px; height: 15px; color: var(--text-muted); }

.ab-amountwrap { position: relative; display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-block-end: 4px; }
.ab-amount {
    width: 100%; padding: 6px 0; border: 0; background: transparent;
    font-size: 2.1rem; font-weight: 800; text-align: center; letter-spacing: .01em;
    direction: ltr;   /* an amount must never be reordered by bidi */
}
.ab-amount:focus { outline: none; }
.ab-amountwrap.out .ab-amount { color: var(--danger); }
.ab-amountwrap.in  .ab-amount { color: var(--ok); }
.ab-amount-cur { position: absolute; inset-inline-end: 0; font-size: .78rem; font-weight: 700; color: var(--text-muted); }
.ab-calchint { margin: 0 0 14px; text-align: center; color: var(--text-muted); font-size: .68rem; }

.ab-pickrow {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 11px 4px; margin-block-end: 2px;
    border: 0; border-block-end: 1px solid var(--border);
    background: transparent; text-align: start; cursor: pointer;
}
.ab-pick-ico { width: 18px; height: 18px; flex-shrink: 0; color: var(--text-muted); }
.ab-pick-ico svg { width: 100%; height: 100%; }
.ab-pick-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.ab-pick-text label { font-size: .68rem; color: var(--text-muted); cursor: pointer; }
.ab-pick-val { font-size: .88rem; color: var(--text); }
.ab-pick-val i { font-style: normal; color: var(--text-muted); opacity: .7; }
.ab-pick-chev { width: 15px; height: 15px; flex-shrink: 0; color: var(--text-muted); opacity: .6; }
.ab-pickrow.set .ab-pick-ico { color: var(--accent); }
.ab-txnactions { margin-block-start: 18px; }

.ab-picklist { display: flex; flex-direction: column; gap: 4px; }
.ab-pickitem {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text);
    font-size: .88rem; text-align: start; cursor: pointer;
}
.ab-pickitem.none { font-style: italic; color: var(--text-muted); }
.ab-pickitem .ab-pickitem-tick { width: 15px; height: 15px; opacity: 0; flex-shrink: 0; }
.ab-pickitem.on { border-color: var(--accent); background: var(--accent-glow); font-weight: 700; }
.ab-pickitem.on .ab-pickitem-tick { opacity: 1; color: var(--accent); }
.ab-pickfoot { margin-block-start: 14px; padding-block-start: 12px; border-block-start: 1px solid var(--border); }
.ab-managebtn {
    display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%;
    padding: 10px; border: 1px dashed var(--border-strong); border-radius: 10px;
    background: transparent; color: var(--text-muted); font-size: .82rem; cursor: pointer;
}
.ab-managebtn svg { width: 15px; height: 15px; }

/* ---- calendar ---- */
.ab-calhead { display: flex; align-items: center; justify-content: space-between; margin-block-end: 10px; }
.ab-calmonth { font-weight: 700; font-size: .95rem; color: var(--text); }
.ab-caldow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-block-end: 6px; }
.ab-caldow span { text-align: center; font-size: .64rem; font-weight: 700; color: var(--text-muted); }
.ab-calgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.ab-day {
    aspect-ratio: 1; display: grid; place-items: center;
    border: 1px solid transparent; border-radius: 9px;
    background: transparent; color: var(--text); font-size: .82rem; cursor: pointer;
}
.ab-day:hover { background: var(--surface-hover); }
.ab-day.out { opacity: .3; }
.ab-day.today { border-color: var(--accent); }
.ab-day.on { background: var(--accent); color: #fff; font-weight: 700; border-color: var(--accent); }
.ab-today {
    width: 100%; margin-block-start: 14px; padding: 11px;
    border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text); font-size: .85rem; font-weight: 600; cursor: pointer;
}

/* ---- time picker ---- */
.ab-timewrap { position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; height: 210px; direction: ltr; }
.ab-timehl {
    position: absolute; inset-inline: 0; inset-block-start: 50%;
    height: 40px; transform: translateY(-50%);
    border-block: 1px solid var(--border-strong); border-radius: 8px;
    background: var(--surface-hover); pointer-events: none;
}
.ab-timecol { overflow-y: auto; scroll-snap-type: y mandatory; scrollbar-width: none; }
.ab-timecol::-webkit-scrollbar { display: none; }
.ab-timepad { height: 85px; }
.ab-timeitem {
    display: block; width: 100%; height: 40px;
    border: 0; background: transparent; color: var(--text-muted);
    font-size: 1rem; scroll-snap-align: center; cursor: pointer;
}
.ab-timeitem.on { color: var(--accent); font-weight: 700; }
.ab-timeok { width: 100%; margin-block-start: 16px; }

/* ---- narrow phones: the header bar already runs tight at 360px ---- */
@media (max-width: 380px) {
    .ab-row { padding: 9px 10px; }
    .ab-row-amt { font-size: .86rem; }
    .ab-amount { font-size: 1.8rem; }
}

/* The global rule hides .cr-right under 560px, because on the Customers list
   it squeezed the search box. An account row without its balance is useless,
   so Account Book opts back in and just shrinks the number. */
/* The balance lives in the right-hand column on desktop, exactly as the
   Expenses months do. On a phone that column costs 112px and the name was
   being squeezed to "Cash…" — measured, not guessed — so below 560px the
   balance moves onto the sub-line beside the entry count, where there is
   room to spare, and the name gets the whole column back. Same information,
   no truncation, and the wide layout is untouched. */
.ab-inlinebal { display: none; }
@media (max-width: 560px) {
    .ab-listrow .cr-right { display: none; }
    .ab-listrow .ab-inlinebal {
        display: inline; margin-inline-start: 6px;
        color: var(--text); font-weight: 700;
    }
    .ab-listrow .ab-inlinebal::before { content: '·'; margin-inline-end: 6px; opacity: .55; font-weight: 400; }
    .ab-gear { width: 26px; height: 26px; }
    .ab-listrow { gap: 10px; }
}

/* =====================================================================
   ACCOUNT BOOK — motion
   ---------------------------------------------------------------------
   Reuses the stylesheet's own vocabulary: --ease (0.22,1,0.36,1), capped
   nth-child stagger, and a reduced-motion block that keeps the fades and
   drops the movement.

   What deliberately does NOT animate:
     * a search keystroke — the ledger repaints on a 250ms debounce, and a
       stagger replaying under the cursor would be miserable. The stagger is
       gated on entering a screen, never on refreshing one.
     * the summary totals — they change on every filter change, so a number
       transition would fire constantly and read as noise.
     * page 2, 3, 4… of the ledger — only the rows that just arrived move;
       re-animating the mounted ones would look like a full repaint.
   ===================================================================== */

/* Screens enter from the side they were reached from: forward from the
   inline-end, back from the inline-start. Small on purpose — 14px reads as
   direction without turning navigation into a slideshow. Pairs with the
   header's existing iOS push. */
.ab-in-fwd  { animation: abInFwd  0.24s var(--ease) both; }
.ab-in-back { animation: abInBack 0.24s var(--ease) both; }
@keyframes abInFwd  { from { opacity: 0; transform: translateX(14px); }  to { opacity: 1; transform: none; } }
@keyframes abInBack { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: none; } }
[dir="rtl"] .ab-in-fwd  { animation-name: abInBack; }
[dir="rtl"] .ab-in-back { animation-name: abInFwd; }

/* Rows cascade in on a fresh screen. 30ms steps, capped at the 8th so a
   940-row ledger does not spend 30 seconds arriving — the same shape the
   drawer rows use. */
.ab-stagger > * {
    opacity: 0;
    animation: abRowIn 0.26s var(--ease) forwards;
}
.ab-stagger > *:nth-child(1) { animation-delay: 0s; }
.ab-stagger > *:nth-child(2) { animation-delay: 0.03s; }
.ab-stagger > *:nth-child(3) { animation-delay: 0.06s; }
.ab-stagger > *:nth-child(4) { animation-delay: 0.09s; }
.ab-stagger > *:nth-child(5) { animation-delay: 0.12s; }
.ab-stagger > *:nth-child(6) { animation-delay: 0.15s; }
.ab-stagger > *:nth-child(7) { animation-delay: 0.18s; }
.ab-stagger > *:nth-child(n+8) { animation-delay: 0.21s; }
@keyframes abRowIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes abFade  { from { opacity: 0; } to { opacity: 1; } }

/* a page appended by the infinite scroll */
.ab-justin { animation: abRowIn 0.26s var(--ease) both; }

/* ---- press feedback: the interface confirming it heard the tap ---- */
.ab-listrow { transition: border-color .18s, background .18s, transform .14s var(--ease); }
.ab-row     { transition: background .15s var(--ease), border-color .15s var(--ease), transform .14s var(--ease); }
.ab-row:active     { transform: scale(0.994); }
.ab-fbtn    { transition: filter .16s, transform .14s var(--ease); }
.ab-fbtn:active     { transform: scale(0.97); }
.ab-opt     { transition: background .15s, transform .14s var(--ease); }
.ab-opt:active      { transform: scale(0.99); }
.ab-pickitem { transition: border-color .16s, background .16s, transform .14s var(--ease); }
.ab-pickitem:active { transform: scale(0.985); }
.ab-day     { transition: background .14s, border-color .14s, color .14s, transform .12s var(--ease); }
.ab-day:active      { transform: scale(0.9); }
.ab-mini, .ab-manage-add, .ab-swatch { transition: border-color .16s, background .16s, color .16s, transform .14s var(--ease); }
.ab-mini:active, .ab-manage-add:active, .ab-swatch:active { transform: scale(0.94); }
.ab-gear:active     { transform: scale(0.9); }
.ab-empty-btn, .ab-today, .ab-managebtn, .ab-spacer-btn { transition: border-color .16s, background .16s, filter .16s, transform .14s var(--ease); }
.ab-empty-btn:active, .ab-today:active, .ab-managebtn:active, .ab-spacer-btn:active { transform: scale(0.98); }

/* ---- the in / out toggle ----
   Colour and fill transition because abSetType flips classes in place
   instead of repainting the sheet — nothing can transition across an
   innerHTML swap. */
.ab-tt { transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .14s var(--ease); }
.ab-tt:active { transform: scale(0.97); }
.ab-amount { transition: color .2s ease; }
.ab-amountwrap.out .ab-amount, .ab-amountwrap.in .ab-amount { transition: color .2s ease; }

/* ---- calendar: the grid slides the way the month moved ---- */
.ab-cal-next { animation: abCalNext .22s var(--ease) both; }
.ab-cal-prev { animation: abCalPrev .22s var(--ease) both; }
@keyframes abCalNext { from { opacity: 0; transform: translateX(18px); }  to { opacity: 1; transform: none; } }
@keyframes abCalPrev { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
[dir="rtl"] .ab-cal-next { animation-name: abCalPrev; }
[dir="rtl"] .ab-cal-prev { animation-name: abCalNext; }

/* ---- the floating date pill ----
   Exit is quicker than entry: the old date is on its way out and should not
   hold the eye, the new one is the answer and can afford to settle. */
.ab-pill { transition: opacity .18s var(--ease), transform .22s var(--ease); }
.ab-pill span { transition: opacity .12s ease, transform .12s var(--ease); }

/* the classifier badges are a hover target for the tooltip, nothing more */
@media (hover: hover) and (pointer: fine) {
    .ab-listrow:hover .ab-cav { transform: scale(1.04); }
    .ab-cav { transition: transform .18s var(--ease), border-color .18s; }
}

@media (prefers-reduced-motion: reduce) {
    /* Keep the fades — they explain that content changed. Drop every
       movement, which is what actually causes motion sickness. */
    .ab-in-fwd, .ab-in-back { animation: abFade .18s ease both; }
    .ab-stagger > *, .ab-justin { animation: abFade .18s ease both; animation-delay: 0s; }
    .ab-cal-next, .ab-cal-prev { animation: abFade .18s ease both; }
    .ab-row:active, .ab-fbtn:active, .ab-opt:active, .ab-pickitem:active, .ab-day:active,
    .ab-mini:active, .ab-manage-add:active, .ab-swatch:active, .ab-gear:active,
    .ab-tt:active, .ab-empty-btn:active, .ab-today:active, .ab-managebtn:active,
    .ab-spacer-btn:active { transform: none; }
    .ab-listrow:hover .ab-cav { transform: none; }
    .ab-pill { transition: opacity .18s ease; }
}

/* =====================================================================
   ACCOUNT BOOK — statement sheet + visual polish
   ===================================================================== */

/* ---- the fullscreen statement sheet ---- */
.ab-fullsheet .psheet-panel {
    top: 0; height: 100dvh; max-height: 100dvh; max-width: 640px;
    border-radius: 0; border-block-start: 0;
}
.ab-fullsheet .psheet-handle { display: none; }
.ab-fullsheet .psheet-head {
    padding-block: 18px 14px;
    border-block-end: 1px solid var(--border);
}
.ab-fullsheet .psheet-scroll { flex: 1; padding-block-end: 8px; }

.ab-rephint { margin: 0 0 18px; color: var(--text-muted); font-size: .76rem; }
.ab-repsec { margin-block-end: 20px; }
.ab-repsec h4 {
    margin: 0 0 9px;
    font-size: .68rem; font-weight: 800; letter-spacing: .08em;
    text-transform: uppercase; color: var(--text-muted);
}
[dir="rtl"] .ab-repsec h4 { letter-spacing: 0; text-transform: none; font-size: .8rem; }

.ab-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.ab-chip {
    padding: 8px 13px; border-radius: 999px;
    border: 1px solid var(--border); background: var(--surface);
    color: var(--text-muted); font-family: inherit; font-size: .8rem; font-weight: 600;
    cursor: pointer;
    transition: border-color .16s, background .16s, color .16s, transform .14s var(--ease);
}
.ab-chip:active { transform: scale(0.96); }
.ab-chip.on {
    border-color: var(--accent); background: var(--accent-glow);
    color: var(--accent); font-weight: 700;
}
.ab-linkbtn {
    margin-block-start: 9px; padding: 0; border: 0; background: none;
    color: var(--accent); font-family: inherit; font-size: .76rem; font-weight: 600;
    cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}

/* live preview of exactly what the PDF will contain */
.ab-repprev {
    margin-block-start: 4px; padding: 14px;
    border: 1px solid var(--border-strong); border-radius: 14px;
    background: var(--surface);
}
.ab-repprev.busy {
    display: flex; align-items: center; justify-content: center; gap: 9px;
    color: var(--text-muted); font-size: .8rem;
}
.ab-repprev-head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
    margin-block-end: 11px; font-size: .76rem; color: var(--text-muted);
}
.ab-repprev-head b { color: var(--text); font-size: .88rem; }
.ab-repprev .ab-sum { margin: 0; }
.ab-repnote { margin: 11px 0 0; font-size: .68rem; color: var(--text-muted); line-height: 1.5; }
.ab-repnote.warn { color: var(--warn); }

.ab-repfoot {
    flex: 0 0 auto; display: flex; gap: 8px;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    border-block-start: 1px solid var(--border);
    background: var(--surface-solid, var(--bg-2));
}
.ab-repfoot .ab-repgo { flex: 1; }
.ab-repfoot button[disabled] { opacity: .45; pointer-events: none; }
/* The primary button reuses .cf-save, which sets no icon size, so an inline
   SVG defaults to its intrinsic box and stretches the whole row. Constrain
   every icon in the footer, whatever class the button carries. */
.ab-repfoot button {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 46px; padding-inline: 14px;
    font-size: .84rem; font-weight: 650; white-space: nowrap;
}
.ab-repfoot svg { width: 16px; height: 16px; flex: none; }
.ab-lbtn {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 12px 14px; border-radius: 12px;
    border: 1px solid var(--border); background: var(--surface);
    color: var(--text); font-family: inherit; font-size: .84rem; font-weight: 650;
    cursor: pointer;
    transition: border-color .16s, background .16s, filter .16s, transform .14s var(--ease);
}
.ab-lbtn:active { transform: scale(0.97); }
.ab-lbtn svg { width: 15px; height: 15px; }
.ab-lbtn.ghost { color: var(--text-muted); }
.ab-lbtn.wa { color: #22c55e; border-color: color-mix(in srgb, #22c55e 34%, transparent); }
.ab-lbtn.accent { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 34%, transparent); }
.ab-multifoot { margin-block-start: 16px; }

.ab-ledgeractions { display: flex; gap: 8px; margin-block: 10px 2px; }
.ab-ledgeractions .ab-lbtn { flex: 1; }

/* =====================================================================
   Polish — tighter type, real depth, calmer colour. Everything stays
   inside the Expenses row shell; this is refinement, not a redesign.
   ===================================================================== */

/* Every money run is tabular, so digits line up down a column instead of
   shimmying as the values change. */
.ab-listrow .exp-acc-total, .ab-inlinebal, .ab-row-amt,
.ab-sum .arss span, .ab-repprev-head b, .ab-amount {
    font-variant-numeric: tabular-nums;
    font-feature-settings: 'tnum' 1;
}

/* The avatar carries the book's colour, so give it a little dimension —
   a soft top light and a hairline ring rather than a flat disc. */
.ab-cav {
    background-image: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(0, 0, 0, .06));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 2px rgba(0, 0, 0, .18);
    font-weight: 800; letter-spacing: .01em;
}
[data-theme="light"] .ab-cav {
    background-image: linear-gradient(160deg, rgba(255, 255, 255, .55), rgba(0, 0, 0, .04));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 1px 2px rgba(15, 23, 42, .08);
}

/* Rows sit on a solid surface with a hairline, and lift very slightly under
   the pointer — enough to read as a target, not enough to bounce. */
.ab-listrow { background: var(--surface-solid, var(--surface)); }
@media (hover: hover) and (pointer: fine) {
    .ab-listrow:hover { transform: translateY(-1px); box-shadow: 0 6px 18px -12px rgba(0, 0, 0, .55); }
}

/* the summary trio reads as one instrument rather than three loose boxes */
.ab-sum {
    padding: 4px; border-radius: 16px;
    background: var(--surface); border: 1px solid var(--border);
}
.ab-sum .arss { border: 0; background: transparent; }
.ab-sum .arss + .arss { border-inline-start: 1px solid var(--border); }
.ab-sum .arss span { font-size: 1.06rem; letter-spacing: -.01em; }
.ab-sum .arss label { font-size: .64rem; letter-spacing: .05em; text-transform: uppercase; opacity: .8; }
[dir="rtl"] .ab-sum .arss label { letter-spacing: 0; text-transform: none; }

/* the day separator: a quiet rule with the date riding on it */
.ab-daysep span {
    background: var(--surface-solid, var(--surface));
    letter-spacing: .02em;
}

/* the amount is the thing the eye goes to — let it be the largest thing */
.ab-row-amt { font-size: 1rem; letter-spacing: -.01em; }
.ab-row { background: var(--surface-solid, var(--surface)); }

/* badges: slightly tighter, with the icon carrying the colour */
.ab-bdg { padding: 2px 8px; letter-spacing: .01em; }

/* empty states get real breathing room and a soft disc behind the glyph */
.ab-empty .ab-empty-ico {
    width: 64px; height: 64px; padding: 18px;
    border-radius: 50%; background: var(--surface); border: 1px solid var(--border);
    opacity: 1; color: var(--text-muted);
}
.ab-empty .ab-empty-ico svg { opacity: .55; }

@media (prefers-reduced-motion: reduce) {
    .ab-listrow:hover { transform: none; }
    .ab-chip:active, .ab-lbtn:active { transform: none; }
}

/* ---------------------------------------------------------------------
   Account Book — sheet stacking order
   ---------------------------------------------------------------------
   Every .psheet shares z-index 130, so which one wins is decided by DOM
   order, and DOM order here is whichever ensureX() happened to run first.
   That is a coin toss: open a transaction once and #abSheetB exists before
   #abRepSheet, so the category picker opened BEHIND the fullscreen
   statement. (#confirmSheet was lifted to 210 for exactly this reason.)

   An explicit ladder instead, so the answer never depends on what the owner
   happened to tap first. Each layer is the one that can open on top of the
   layer below it:

     150  abTxnSheet   the transaction form
     152  abSheetA     options / single-select, opens over the form
     154  abRepSheet   the fullscreen statement
     156  abSheetB     multi-select + list manager, opens over A and over the
                       statement, so it must beat both
     158  abDateSheet / abTimeSheet   reachable from the form AND the
                       statement, so they sit above everything here

   All of it stays under #confirmSheet (210): a confirmation must always be
   on top of whatever opened it.
   --------------------------------------------------------------------- */
#abTxnSheet  { z-index: 150; }
#abSheetA    { z-index: 152; }
#abRepSheet  { z-index: 154; }
#abSheetB    { z-index: 156; }
#abDateSheet { z-index: 158; }
#abTimeSheet { z-index: 158; }

/* ---------- Export-to-PDF button (Reports · VAT & TAX · Invoices) ----------
   One button style for all three pages so "export" looks like one feature
   rather than three. It sits on the row that already carries the range/count
   label, pushed to the far end — no new band of chrome above the data. */
.rpt-exportrow {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; flex-wrap: wrap;
}
.rpt-exportrow > :first-child { margin-bottom: 0; }
.rpt-export {
    flex: none; display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 13px; border-radius: 10px; cursor: pointer;
    font-family: inherit; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.01em;
    background: var(--surface); color: var(--text);
    border: 1px solid var(--border-strong);
    transition: background 0.15s, border-color 0.15s, opacity 0.15s;
}
.rpt-export svg { width: 15px; height: 15px; }
.rpt-export:hover:not(:disabled) { background: var(--surface-hover); border-color: #ff8c52; color: #ff8c52; }
.rpt-export:disabled { opacity: 0.45; cursor: not-allowed; }
/* the PDF engine swaps in its own spinner markup while building */
.rpt-export .btn-spin { width: 14px; height: 14px; }

/* ---------- Settings → Shop data ----------
   The counts read out what a reset would remove, so the confirmation is about
   something concrete rather than a bare "are you sure?". */
.set-counts { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 14px; }
.set-count { display: flex; align-items: baseline; gap: 6px; font-size: 0.8rem; color: var(--text-muted); }
.set-count b { font-size: 1rem; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.set-danger { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 8px; }
.set-danger > button { flex: 1 1 200px; margin: 0; }
.set-sample { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.set-sample svg { width: 17px; height: 17px; }
.set-reset { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
/* Both shop-data buttons the same height and padding: .cf-save and .cd-edit
   come from different families and looked mismatched sitting side by side. */
.set-danger { align-items: stretch; }
.set-danger > button { min-height: 48px; padding: 12px 16px; font-size: 0.88rem; }
/* the typed reset confirmation, inline rather than a browser prompt */
.set-resetbox { margin: 2px 0 10px; }
.set-resetbox label { display: block; font-size: 0.8rem; font-weight: 700; color: var(--danger, #f87171); margin-bottom: 8px; }
.set-resetrow { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.set-resetrow input {
    flex: 1 1 130px; min-width: 0; padding: 11px 13px; border-radius: 11px;
    background: var(--surface); border: 1.5px solid var(--border-strong); color: var(--text);
    font-family: inherit; font-size: 0.9rem; font-weight: 700; letter-spacing: 0.12em;
}
.set-resetrow input:focus { outline: none; border-color: var(--danger, #f87171); }
.set-resetrow > button { flex: 0 1 auto; margin: 0; min-height: 44px; }
.set-resetrow > button:disabled { opacity: 0.45; cursor: not-allowed; }

/* ---------- Prompt sheet (the in-app replacement for prompt()) ----------
   One above #confirmSheet (210) so a text question can be raised from inside
   another sheet — every .psheet shares z-index 130, so the ladder is explicit. */
#promptSheet { z-index: 212; }
.sheet-fields { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 18px; }
.sheet-flabel {
    font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--text-muted); margin-top: 4px;
}
.sheet-input {
    width: 100%; padding: 13px 14px; border-radius: 12px;
    background: var(--surface); border: 1.5px solid var(--border-strong); color: var(--text);
    font-family: inherit; font-size: 0.95rem;
    transition: border-color 0.15s;
}
.sheet-input:focus { outline: none; border-color: #ff8c52; }
.sheet-err { color: var(--danger, #f87171); font-size: 0.82rem; font-weight: 600; margin: -10px 0 14px; }
