/* _content/CitrineOS.Operator/Components/Layout/MainLayout.razor.rz.scp.css */
/* MainLayout scoped styles — global layout/theme is in wwwroot/app.css */

/* Blazor error UI (unscoped via ::deep or ID) */
#blazor-error-ui .dismiss[b-yqar8vs67h] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* _content/CitrineOS.Operator/Components/Layout/NavMenu.razor.rz.scp.css */
/* NavMenu scoped styles — sidebar tokens/layout are in wwwroot/app.css */
/* Inline nav-group / lang-btn styles live in NavMenu.razor <style> block  */
/* _content/CitrineOS.Operator/Components/Pages/Customers.razor.rz.scp.css */
/* Customers page — self-contained, scoped so it neither leaks nor inherits the
   global generic-button / unstyled-badge quirks. All spacing/colour comes from
   the design tokens in app.css. */

.cust[b-yl4d93hs8q] {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

/* ── Header ───────────────────────────────────────────── */
.cust-head[b-yl4d93hs8q] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    flex-wrap: wrap;
}
.cust-head h1[b-yl4d93hs8q] {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin: 0;
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-neutral-900);
}
.cust-head h1 i[b-yl4d93hs8q] { color: var(--color-primary-500); }
.cust-head .subtitle[b-yl4d93hs8q] {
    margin: var(--space-1) 0 0;
    color: var(--color-neutral-500);
    font-size: 0.875rem;
}

/* ── Stat cards ───────────────────────────────────────── */
.cust-stats[b-yl4d93hs8q] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-4);
}
.stat[b-yl4d93hs8q] {
    position: relative;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-5);
    box-shadow: var(--shadow-xs);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    overflow: hidden;
}
.stat[b-yl4d93hs8q]::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: var(--stat-accent, var(--color-primary-500));
}
.stat-ico[b-yl4d93hs8q] {
    position: absolute;
    right: var(--space-4);
    top: var(--space-4);
    font-size: 1.25rem;
    color: var(--stat-accent, var(--color-primary-500));
    opacity: 0.35;
}
.stat-label[b-yl4d93hs8q] { font-size: 0.8125rem; color: var(--color-neutral-500); }
.stat-value[b-yl4d93hs8q] {
    font-size: 1.75rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-neutral-900);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}
.stat-note[b-yl4d93hs8q] { font-size: 0.6875rem; color: var(--color-neutral-400); margin-top: var(--space-1); }
.stat.accent-blue[b-yl4d93hs8q]   { --stat-accent: var(--color-info); }
.stat.accent-green[b-yl4d93hs8q]  { --stat-accent: var(--color-success); }
.stat.accent-red[b-yl4d93hs8q]    { --stat-accent: var(--color-error); }
.stat.accent-amber[b-yl4d93hs8q]  { --stat-accent: var(--color-warning); }

/* ── Toolbar ──────────────────────────────────────────── */
.cust-toolbar[b-yl4d93hs8q] {
    display: flex;
    gap: var(--space-3);
    align-items: center;
    flex-wrap: wrap;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    padding: var(--space-3) var(--space-4);
    box-shadow: var(--shadow-xs);
}
.cust-searchbox[b-yl4d93hs8q] {
    position: relative;
    flex: 1;
    min-width: 240px;
    display: flex;
    align-items: center;
}
.cust-searchbox i[b-yl4d93hs8q] {
    position: absolute;
    left: var(--space-3);
    color: var(--color-neutral-400);
    pointer-events: none;
}
.cust-searchbox input[type="text"][b-yl4d93hs8q] {
    width: 100%;
    padding-left: 2.25rem;
}
.cust-toolbar select[b-yl4d93hs8q] { min-width: 150px; }
.cust-refresh[b-yl4d93hs8q] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem; height: 2.5rem;
    padding: 0;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    background: var(--card-bg);
    color: var(--color-neutral-600);
    cursor: pointer;
    transition: all var(--transition-fast);
}
.cust-refresh:hover[b-yl4d93hs8q] { background: var(--color-primary-50); color: var(--color-primary-600); border-color: var(--color-primary-200); }

/* ── Table shell ──────────────────────────────────────── */
.cust-panel[b-yl4d93hs8q] {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
    overflow: hidden;
}
.cust-empty[b-yl4d93hs8q] {
    padding: var(--space-12) var(--space-6);
    text-align: center;
    color: var(--color-neutral-400);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
}
.cust-empty i[b-yl4d93hs8q] { font-size: 2.5rem; opacity: 0.5; }
.cust-scroll[b-yl4d93hs8q] { overflow-x: auto; }

table.cust-table[b-yl4d93hs8q] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}
table.cust-table thead th[b-yl4d93hs8q] {
    text-align: left;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-neutral-500);
    background: var(--color-neutral-50);
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--card-border);
    white-space: nowrap;
}
table.cust-table thead th.num[b-yl4d93hs8q] { text-align: right; }
table.cust-table tbody td[b-yl4d93hs8q] {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--color-neutral-100);
    vertical-align: middle;
}
table.cust-table tbody td.num[b-yl4d93hs8q] { text-align: right; font-variant-numeric: tabular-nums; }
tr.cust-row[b-yl4d93hs8q] { cursor: pointer; transition: background var(--transition-fast); }
tr.cust-row:hover td[b-yl4d93hs8q] { background: var(--color-primary-50); }
tr.cust-row.open td[b-yl4d93hs8q] { background: var(--color-primary-50); }

/* Identity cell */
.cust-identity[b-yl4d93hs8q] { display: flex; align-items: center; gap: var(--space-3); }
.cust-caret[b-yl4d93hs8q] {
    color: var(--color-neutral-400);
    transition: transform var(--transition-fast);
    font-size: 0.875rem;
}
tr.cust-row.open .cust-caret[b-yl4d93hs8q] { transform: rotate(90deg); color: var(--color-primary-500); }
.cust-avatar[b-yl4d93hs8q] {
    width: 2.25rem; height: 2.25rem;
    border-radius: var(--radius-full);
    background: var(--color-primary-100);
    color: var(--color-primary-700);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: var(--font-weight-semibold);
    font-size: 0.8125rem;
    flex-shrink: 0;
}
.cust-avatar.blocked[b-yl4d93hs8q] { background: var(--color-error-light); color: var(--color-error); }
.cust-who[b-yl4d93hs8q] { display: flex; flex-direction: column; line-height: 1.3; }
.cust-phone[b-yl4d93hs8q] { font-weight: var(--font-weight-medium); color: var(--color-neutral-900); font-variant-numeric: tabular-nums; }
.cust-name[b-yl4d93hs8q] { font-size: 0.8125rem; color: var(--color-neutral-500); }

/* Status pill */
.pill[b-yl4d93hs8q] {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    padding: 0.2rem 0.6rem;
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
}
.pill[b-yl4d93hs8q]::before { content: ""; width: 0.4em; height: 0.4em; border-radius: 50%; background: currentColor; }
.pill.registered[b-yl4d93hs8q] { background: var(--color-success-light); color: var(--color-success); }
.pill.guest[b-yl4d93hs8q]      { background: var(--color-neutral-100);   color: var(--color-neutral-600); }
.pill.blocked[b-yl4d93hs8q]    { background: var(--color-error-light);   color: var(--color-error); }

.cust-money[b-yl4d93hs8q] { font-weight: var(--font-weight-semibold); color: var(--color-neutral-900); }
.cust-lastseen[b-yl4d93hs8q] { color: var(--color-neutral-500); font-size: 0.8125rem; white-space: nowrap; }

/* Row action buttons */
.row-btn[b-yl4d93hs8q] {
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    padding: 0.35rem 0.75rem;
    font-size: 0.8125rem;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: all var(--transition-fast);
    white-space: nowrap;
}
.row-btn.block[b-yl4d93hs8q]   { background: var(--color-error-light); color: var(--color-error); }
.row-btn.block:hover[b-yl4d93hs8q]   { background: var(--color-error); color: #fff; }
.row-btn.unblock[b-yl4d93hs8q] { background: var(--color-neutral-100); color: var(--color-neutral-700); border-color: var(--card-border); }
.row-btn.unblock:hover[b-yl4d93hs8q] { background: var(--color-success-light); color: var(--color-success); border-color: transparent; }

/* ── Detail drawer (slide-in right panel) ─────────────────
   Replaces the old inline expanding table row + cramped auto-fit grid. Sections
   now stack full-width in a scrollable panel so the 6-column ledger/consent tables
   get real room instead of being squeezed into a 300px grid track. */
.cd-veil[b-yl4d93hs8q] {
    position: fixed; inset: 0; z-index: 800;
    background: rgba(0, 0, 0, 0.4);
    animation: cd-fade-b-yl4d93hs8q var(--transition-fast) ease;
}
.cd-drawer[b-yl4d93hs8q] {
    position: fixed; z-index: 801;
    top: 0; right: 0; bottom: 0;
    width: min(720px, 96vw);
    background: var(--color-neutral-50);
    border-left: 1px solid var(--card-border);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.18);
    display: flex; flex-direction: column;
    animation: cd-slide-b-yl4d93hs8q 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes cd-fade-b-yl4d93hs8q  { from { opacity: 0; } }
@keyframes cd-slide-b-yl4d93hs8q { from { transform: translateX(100%); } }

.cd-head[b-yl4d93hs8q] {
    display: flex; align-items: center; gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    border-bottom: 1px solid var(--card-border);
    background: var(--card-bg);
    flex-shrink: 0;
}
.cd-avatar[b-yl4d93hs8q] { width: 2.75rem; height: 2.75rem; font-size: 0.95rem; }
.cd-idwrap[b-yl4d93hs8q] { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.cd-name[b-yl4d93hs8q] { font-weight: var(--font-weight-bold); font-size: 1.05rem; color: var(--color-neutral-900); font-variant-numeric: tabular-nums; }
.cd-sub[b-yl4d93hs8q] { display: flex; align-items: center; gap: var(--space-2); font-size: 0.8125rem; color: var(--color-neutral-500); flex-wrap: wrap; }
.cd-close[b-yl4d93hs8q] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.25rem; height: 2.25rem; flex-shrink: 0;
    border: 1px solid var(--card-border); border-radius: var(--radius-md);
    background: var(--card-bg); color: var(--color-neutral-500);
    cursor: pointer; font-size: 1.1rem; transition: all var(--transition-fast);
}
.cd-close:hover[b-yl4d93hs8q] { background: var(--color-error-light); color: var(--color-error); border-color: transparent; }

.cd-loading[b-yl4d93hs8q] {
    flex: 1; display: flex; align-items: center; justify-content: center; gap: var(--space-2);
    padding: var(--space-12); color: var(--color-neutral-500);
}
.cd-body[b-yl4d93hs8q] {
    flex: 1; overflow-y: auto;
    padding: var(--space-4) var(--space-5) var(--space-8);
    display: flex; flex-direction: column; gap: var(--space-4);
}

/* summary strip */
.cd-summary[b-yl4d93hs8q] { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-3); }
.cd-sum[b-yl4d93hs8q] {
    background: var(--card-bg); border: 1px solid var(--card-border);
    border-radius: var(--radius-md); padding: var(--space-3) var(--space-4);
    display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.cd-sum-lbl[b-yl4d93hs8q] { font-size: 0.7rem; color: var(--color-neutral-500); text-transform: uppercase; letter-spacing: 0.03em; }
.cd-sum-val[b-yl4d93hs8q] { font-size: 1.15rem; font-weight: var(--font-weight-bold); color: var(--color-neutral-900); font-variant-numeric: tabular-nums; }
.cd-sum-val small[b-yl4d93hs8q] { font-size: 0.7rem; font-weight: var(--font-weight-regular, 400); color: var(--color-neutral-400); }
.cd-sum-val.money[b-yl4d93hs8q] { color: var(--color-primary-600); }

/* action row */
.cd-actions[b-yl4d93hs8q] { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.cd-adjust[b-yl4d93hs8q] {
    display: inline-flex; align-items: center; gap: var(--space-2);
    padding: 0.5rem 1rem; border-radius: var(--radius-md);
    border: 1px solid var(--color-primary-200); background: var(--color-primary-50);
    color: var(--color-primary-600); font-weight: var(--font-weight-semibold); font-size: 0.8125rem;
    cursor: pointer; transition: all var(--transition-fast);
}
.cd-adjust:hover[b-yl4d93hs8q] { background: var(--color-primary-100); }
.cd-actions .row-btn[b-yl4d93hs8q] { padding: 0.5rem 1rem; font-size: 0.8125rem; }

/* cards inside the drawer — full width, breathing room (the mini-tables now get
   the whole panel width; wide ones still scroll inside their own .mini-wrap) */
.dcard[b-yl4d93hs8q] {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: var(--radius-md);
    padding: var(--space-4) var(--space-5);
    box-shadow: var(--shadow-xs);
    min-width: 0;
}

@media (max-width: 560px) {
    .cd-summary[b-yl4d93hs8q] { grid-template-columns: repeat(2, 1fr); }
}
.dcard h4[b-yl4d93hs8q] {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    font-size: 0.9375rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-neutral-800);
}
.dcard h4 i[b-yl4d93hs8q] { color: var(--color-primary-500); }
.dcard h4 .muted[b-yl4d93hs8q] { font-weight: var(--font-weight-normal); font-size: 0.8125rem; color: var(--color-neutral-500); margin-left: auto; }
.dcard em[b-yl4d93hs8q] { font-size: 0.8125rem; color: var(--color-neutral-400); }

/* definition list for profile */
.deflist[b-yl4d93hs8q] { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-4); font-size: 0.8125rem; }
.deflist dt[b-yl4d93hs8q] { color: var(--color-neutral-500); white-space: nowrap; }
.deflist dd[b-yl4d93hs8q] { margin: 0; color: var(--color-neutral-800); text-align: right; font-variant-numeric: tabular-nums; }

/* mini tables inside detail cards — each wrapped so it scrolls within its card
   instead of clipping against the card edge */
.mini-wrap[b-yl4d93hs8q] { overflow-x: auto; margin: 0 calc(-1 * var(--space-1)); }
.mini-wrap[b-yl4d93hs8q]::-webkit-scrollbar { height: 6px; }
.mini-wrap[b-yl4d93hs8q]::-webkit-scrollbar-thumb { background: var(--color-neutral-200); border-radius: 3px; }
table.mini[b-yl4d93hs8q] { width: 100%; border-collapse: collapse; font-size: 0.75rem; }
table.mini th[b-yl4d93hs8q] {
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-neutral-500);
    padding: 0.35rem 0.5rem;
    border-bottom: 1px solid var(--card-border);
    white-space: nowrap;
}
table.mini th.num[b-yl4d93hs8q] { text-align: right; }
table.mini td[b-yl4d93hs8q] { padding: 0.35rem 0.5rem; border-bottom: 1px solid var(--color-neutral-100); color: var(--color-neutral-700); }
table.mini td.num[b-yl4d93hs8q] { text-align: right; font-variant-numeric: tabular-nums; }
table.mini tr:last-child td[b-yl4d93hs8q] { border-bottom: none; }
table.mini td.desc[b-yl4d93hs8q] { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-dot[b-yl4d93hs8q] { color: var(--color-error); font-weight: var(--font-weight-semibold); white-space: nowrap; }

/* payment status chip — colour-codes Completed / Expired / Failed at a glance */
.ostatus[b-yl4d93hs8q] {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: var(--radius-full);
    font-size: 0.7rem;
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
    background: var(--color-neutral-100);
    color: var(--color-neutral-600);
}
.ostatus.completed[b-yl4d93hs8q] { background: var(--color-success-light); color: var(--color-success); }
.ostatus.expired[b-yl4d93hs8q],
.ostatus.failed[b-yl4d93hs8q],
.ostatus.canceled[b-yl4d93hs8q] { background: var(--color-error-light); color: var(--color-error); }
.ostatus.pending[b-yl4d93hs8q] { background: var(--color-warning-light, var(--color-neutral-100)); color: var(--color-warning); }

.tax-entry[b-yl4d93hs8q] { font-size: 0.8125rem; padding: var(--space-2) 0; border-bottom: 1px solid var(--color-neutral-100); }
.tax-entry:last-child[b-yl4d93hs8q] { border-bottom: none; }
.tax-entry .muted[b-yl4d93hs8q] { color: var(--color-neutral-500); }

/* ── Pager ────────────────────────────────────────────── */
.cust-pager[b-yl4d93hs8q] {
    display: flex;
    gap: var(--space-3);
    align-items: center;
    justify-content: flex-end;
    font-size: 0.8125rem;
    color: var(--color-neutral-500);
}
.cust-pager button[b-yl4d93hs8q] {
    border: 1px solid var(--card-border);
    background: var(--card-bg);
    border-radius: var(--radius-md);
    padding: 0.4rem 0.85rem;
    font-size: 0.8125rem;
    cursor: pointer;
    color: var(--color-neutral-700);
    transition: all var(--transition-fast);
}
.cust-pager button:hover:not(:disabled)[b-yl4d93hs8q] { background: var(--color-primary-50); border-color: var(--color-primary-200); color: var(--color-primary-600); }
.cust-pager button:disabled[b-yl4d93hs8q] { opacity: 0.45; cursor: not-allowed; }

/* ── Dark theme (operator .citrine-layout.dark) ────────────────
   This page is built light-first on neutral tokens. Dark mode redefines most
   neutrals but NOT --color-neutral-0/50/400 or --color-primary-50 — so the
   table headers, the selected/hover row and muted text render light (white
   header bands + a washed-out peach row with unreadable text). Re-map just
   those tokens for this page in dark, then pin the surfaces that need it.
   Ancestor selector .citrine-layout.dark is fine from scoped CSS: the scope
   attribute lands on .cust (this component), the layout class is a real DOM
   ancestor. Light mode is completely untouched. */
.citrine-layout.dark .cust[b-yl4d93hs8q] {
    --color-neutral-0:   #161B22;
    --color-neutral-50:  #1C2128;
    --color-neutral-400: #6E7681;
    --color-primary-50:  rgba(253, 133, 58, 0.12);
}
.citrine-layout.dark .cust table.cust-table thead th[b-yl4d93hs8q],
.citrine-layout.dark .cust table.mini th[b-yl4d93hs8q] { background: #1C2128; }
.citrine-layout.dark .cust td.cust-detail-cell[b-yl4d93hs8q] { background: var(--content-bg, #0D1117); }
.citrine-layout.dark .cust .cust-avatar:not(.blocked)[b-yl4d93hs8q] {
    background: rgba(253, 133, 58, 0.18);
    color: var(--color-primary-300);
}
/* The drawer renders OUTSIDE .cust (page-level sibling), so it needs its own dark
   token re-map — same set the .cust block patches. */
.citrine-layout.dark .cd-drawer[b-yl4d93hs8q] {
    --color-neutral-0:   #161B22;
    --color-neutral-50:  #1C2128;
    --color-neutral-400: #6E7681;
    --color-primary-50:  rgba(253, 133, 58, 0.12);
    background: var(--content-bg, #0D1117);
}
.citrine-layout.dark .cd-drawer table.mini th[b-yl4d93hs8q] { background: #1C2128; }
.citrine-layout.dark .cd-drawer .cust-avatar:not(.blocked)[b-yl4d93hs8q] {
    background: rgba(253, 133, 58, 0.18);
    color: var(--color-primary-300);
}

/* ── Wallet adjust button + modal ─────────────────────────────── */
.wallet-adjust-btn[b-yl4d93hs8q] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid var(--color-primary-200);
    border-radius: 999px;
    background: var(--color-primary-50);
    color: var(--color-primary-600);
    cursor: pointer;
    transition: all var(--transition-fast);
}
.wallet-adjust-btn:hover[b-yl4d93hs8q] { background: var(--color-primary-100); }
.dcard h4[b-yl4d93hs8q] { display: flex; align-items: center; gap: 6px; }

.adjust-veil[b-yl4d93hs8q] {
    position: fixed; inset: 0; z-index: 900;
    background: rgba(0, 0, 0, 0.45);
}
.adjust-modal[b-yl4d93hs8q] {
    position: fixed; z-index: 901;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(420px, 92vw);
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
    display: flex; flex-direction: column; gap: 8px;
}
.adjust-modal h3[b-yl4d93hs8q] { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 1.05rem; }
.adjust-sub[b-yl4d93hs8q] { margin: 0 0 6px; font-size: 0.8125rem; color: var(--color-neutral-500); }
.adjust-dir[b-yl4d93hs8q] { display: flex; gap: 8px; margin-bottom: 4px; }
.adjust-dir button[b-yl4d93hs8q] {
    flex: 1; padding: 8px; border-radius: 8px; cursor: pointer;
    border: 1px solid var(--color-neutral-200);
    background: var(--color-neutral-50); color: var(--color-neutral-600);
    font-weight: 600; font-size: 0.85rem;
    display: inline-flex; align-items: center; justify-content: center; gap: 4px;
}
.adjust-dir button.on.add[b-yl4d93hs8q] { border-color: #16a34a; background: rgba(22,163,74,0.12); color: #16a34a; }
.adjust-dir button.on.sub[b-yl4d93hs8q] { border-color: var(--color-error); background: var(--color-error-light); color: var(--color-error); }
.adjust-label[b-yl4d93hs8q] { font-size: 0.78rem; font-weight: 600; color: var(--color-neutral-600); margin-top: 4px; }
.adjust-label .req[b-yl4d93hs8q] { color: var(--color-error); }
.adjust-input[b-yl4d93hs8q] {
    width: 100%; box-sizing: border-box;
    padding: 8px 10px; border-radius: 8px;
    border: 1px solid var(--color-neutral-200);
    background: var(--color-neutral-0); color: var(--color-neutral-900);
    font-size: 0.875rem; font-family: inherit;
}
.adjust-err[b-yl4d93hs8q] { margin: 4px 0 0; color: var(--color-error); font-size: 0.8rem; }
.adjust-actions[b-yl4d93hs8q] { display: flex; gap: 10px; margin-top: 14px; }
.adjust-actions button[b-yl4d93hs8q] { flex: 1; padding: 9px; border-radius: 8px; font-weight: 600; cursor: pointer; border: 1px solid transparent; }
.adjust-actions .cancel[b-yl4d93hs8q] { background: var(--color-neutral-100); color: var(--color-neutral-700); border-color: var(--color-neutral-200); }
.adjust-actions .confirm.add[b-yl4d93hs8q] { background: #16a34a; color: #fff; }
.adjust-actions .confirm.sub[b-yl4d93hs8q] { background: var(--color-error); color: #fff; }
.adjust-actions button:disabled[b-yl4d93hs8q] { opacity: 0.6; cursor: not-allowed; }
