/* Fixed airy palette with square controls and the owned Chinese wordmark. */
:root {
  --pd-pay-blue: #0052d9;
  --pd-pay-blue-hover: #0046bb;
  --pd-pay-on-accent: #ffffff;
  --pd-pay-accent-soft: #f0f5ff;
  --pd-pay-accent-border: #dce8fc;
  --pd-pay-accent-ink: #0042ae;
  --pd-pay-surface: #ffffff;
  --pd-pay-canvas: #f5f7fb;
  --pd-pay-subtle: #edf2f8;
  --pd-pay-border: #e4e9f2;
  --pd-pay-line: #eef2f7;
  --pd-pay-ink: #192841;
  --pd-pay-muted: #64748b;
  --pd-pay-faint: #94a3b8;
  --pd-pay-ok: #0f8a5f;
  --pd-pay-ok-soft: #e8f6f0;
  --pd-pay-danger: #c52b35;
  --pd-pay-active-bg: #e7eefb;
  --pd-pay-active-fg: var(--pd-pay-blue);
  --pd-pay-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --pd-pay-heading-font: var(--pd-pay-font);
  --pd-pay-mono: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  --pd-pay-stroke: 1px;
  --pd-pay-card-shadow: 0 2px 12px rgb(24 54 99 / 3%);
  --pd-pay-float-shadow: 0 16px 48px rgb(24 54 99 / 6%);
  --pd-pay-radius: 0px;
  --pd-pay-card-radius: 0px;
  --background: var(--pd-pay-canvas);
  --foreground: var(--pd-pay-ink);
  --card: var(--pd-pay-surface);
  --card-foreground: var(--pd-pay-ink);
  --popover: var(--pd-pay-surface);
  --popover-foreground: var(--pd-pay-ink);
  --primary: var(--pd-pay-blue);
  --primary-foreground: var(--pd-pay-on-accent);
  --secondary: var(--pd-pay-subtle);
  --secondary-foreground: var(--pd-pay-ink);
  --muted: var(--pd-pay-subtle);
  --muted-foreground: var(--pd-pay-muted);
  --accent: var(--pd-pay-accent-soft);
  --accent-foreground: var(--pd-pay-accent-ink);
  --border: var(--pd-pay-border);
  --input: var(--pd-pay-border);
  --ring: var(--pd-pay-blue);
  --radius: var(--pd-pay-radius);
  --sidebar: var(--pd-pay-canvas);
  --sidebar-foreground: var(--pd-pay-ink);
  --sidebar-primary: var(--pd-pay-blue);
  --sidebar-primary-foreground: var(--pd-pay-on-accent);
  --sidebar-accent: var(--pd-pay-accent-soft);
  --sidebar-accent-foreground: var(--pd-pay-accent-ink);
  --sidebar-border: var(--pd-pay-border);
  --sidebar-ring: var(--pd-pay-blue);
}
/* The payment UI uses square edges, including upstream utility classes and inline styles. */
:where(*, *::before, *::after) { border-radius: var(--pd-pay-radius) !important; }
:root { color-scheme: light !important; }
body { font-family: var(--pd-pay-font); font-variant-numeric: tabular-nums; }
:is(h1, h2, h3, [data-slot="card-title"]) { font-family: var(--pd-pay-heading-font); }
[data-slot="card"] { border-radius: var(--pd-pay-card-radius); box-shadow: var(--pd-pay-card-shadow); }
[data-slot="sidebar-menu-button"][data-active="true"] { font-weight: 600; }
[data-slot="input"] { background: var(--pd-pay-surface); }
/* These attributes are attached only to brand elements, never amounts, addresses or QR codes. */
[data-pd-brand-logo] { object-fit: contain; background: transparent; border-radius: 0; }
/* The owned SVG wordmark replaces the Chinese product name; it takes the surrounding text colour. */
[data-pd-brand-wordmark] { font-size: 0 !important; line-height: 0 !important; letter-spacing: 0 !important; }
[data-pd-brand-wordmark]::after {
  content: ""; display: inline-block; vertical-align: middle;
  height: var(--pd-pay-wordmark-height, 1.05rem); aspect-ratio: 4036.201 / 976.6;
  background-color: currentColor;
  -webkit-mask: url(./wordmark-zh-0280679a5d33.svg) center / contain no-repeat; mask: url(./wordmark-zh-0280679a5d33.svg) center / contain no-repeat;
}
:is(h1, h2) [data-pd-brand-wordmark], :is(h1, h2)[data-pd-brand-wordmark] { --pd-pay-wordmark-height: 1.5rem; }
[data-pd-cashier] [data-slot="card"] { background: var(--pd-pay-surface); }


/* USDT and its contract are fixed; operators can still adjust confirmations and minimum amounts. */
[data-pd-usdt-config] button:has(svg.lucide-plus),
[data-pd-usdt-config] button:has(svg.lucide-trash),
[data-pd-usdt-config] button:has(svg.lucide-trash-2) { display: none !important; }

/* One admin layout: canvas sidebar, a single white content surface. */
[data-slot="sidebar-wrapper"] {
  --sidebar-width: 244px !important;
  background: var(--pd-pay-canvas);
  padding: 16px 16px 16px 0;
  align-items: stretch;
}
[data-slot="sidebar-container"] { border: 0 !important; }
[data-slot="sidebar-inner"] { background: transparent !important; border: 0 !important; box-shadow: none !important; }
[data-slot="sidebar-inset"] {
  background: var(--pd-pay-surface) !important;
  margin: 0 !important;
  min-height: calc(100svh - 32px);
  border: var(--pd-pay-stroke) solid var(--pd-pay-border);
  box-shadow: var(--pd-pay-card-shadow);
  overflow: clip;
}
[data-slot="sidebar-inset"] > header { background: var(--pd-pay-surface) !important; border-bottom: 1px solid var(--pd-pay-border); }
[data-slot="sidebar-footer"] { border-top: 1px solid var(--pd-pay-border); min-width: 0; }
[data-slot="sidebar-menu-button"][data-active="true"] { background: var(--pd-pay-active-bg); color: var(--pd-pay-active-fg); }
.pd-pay-admin-footer {
  display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 8px;
  width: 100%; min-width: 0; padding: 8px 10px 10px; font-size: 11px; line-height: 1.4;
}
.pd-pay-admin-copyright { white-space: nowrap; }
.pd-pay-admin-version {
  display: inline-flex; align-items: center; flex: none;
  padding: 1px 6px; font-family: var(--pd-pay-mono); font-size: 10px; line-height: 16px;
  letter-spacing: .02em; color: var(--pd-pay-accent-ink);
  background: var(--pd-pay-accent-soft); border: 1px solid var(--pd-pay-accent-border);
}

/* The centered logo is the only round surface; the card and form remain square. */
.pd-pay-login-layout { position: relative; display: grid; place-items: center; min-height: 100svh; padding: 104px 24px 88px; background: var(--pd-pay-canvas); }
.pd-pay-login-form { width: min(100%, 440px); padding: 40px; z-index: 1; background: var(--pd-pay-surface); border: var(--pd-pay-stroke) solid var(--pd-pay-border); box-shadow: var(--pd-pay-float-shadow); }
.pd-pay-login-identity { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 32px; }
.pd-pay-login-logo-badge { display: grid; place-items: center; width: 88px; height: 88px; margin-bottom: 20px; border: 1px solid var(--pd-pay-accent-border); background: var(--pd-pay-accent-soft); border-radius: 50% !important; }
.pd-pay-login-logo-badge img { display: block; object-fit: contain; }
.pd-pay-login-logo-badge:focus-visible { outline: 2px solid var(--pd-pay-blue); outline-offset: 4px; }
.pd-pay-login-title { margin: 0; font-size: 24px; line-height: 1.4; letter-spacing: -.02em; font-weight: 600; color: var(--pd-pay-ink); }
.pd-pay-login-wordmark { display: block; height: 28px; width: auto; max-width: 100%; }
.pd-pay-login-description { margin: 8px 0 0; font-size: 13px; line-height: 1.6; color: var(--pd-pay-muted); }
.pd-pay-login-methods { display: grid; gap: 20px; }
.pd-pay-email-auth { display: grid; }
.pd-pay-auth-field { display: grid; gap: 8px; }
.pd-pay-email-sent { display: grid; gap: 4px; color: var(--pd-pay-muted); font-size: 13px; line-height: 1.6; }
.pd-pay-email-sent p { margin: 0; }
.pd-pay-email-sent strong { color: var(--pd-pay-ink); font-weight: 500; overflow-wrap: anywhere; }
.pd-pay-email-hint { margin-top: 8px !important; }
.pd-pay-auth-error { margin: 0; color: var(--pd-pay-danger); font-size: 13px; line-height: 1.5; }
.pd-pay-auth-actions { display: flex; justify-content: space-between; gap: 4px; }
.pd-pay-auth-actions button { font-size: 12px; padding-inline: 0; min-height: 36px; }
.pd-pay-login-form form { gap: 16px; }
.pd-pay-login-form form input { min-height: 46px; padding-block: 0; padding-inline-start: 12px; background: var(--pd-pay-surface); box-shadow: none; }
.pd-pay-login-form form button:not([type="button"]) { min-height: 46px; margin-top: 8px; background: var(--pd-pay-blue); color: var(--pd-pay-on-accent); box-shadow: none; }
.pd-pay-login-form form button:not([type="button"]):hover { background: var(--pd-pay-blue-hover); }
.pd-pay-login-form form label { font-weight: 500; font-size: 13px; }
.pd-pay-login-footer { position: absolute; bottom: 28px; left: 20px; right: 20px; text-align: center; color: var(--pd-pay-muted); font-size: 12px; line-height: 1.6; }
@media (max-width: 767px) {
  [data-slot="sidebar-wrapper"] { padding: 10px; }
  [data-slot="sidebar-inset"] { min-height: calc(100svh - 20px); }
  .pd-pay-login-layout { padding: 88px 20px 80px; }
  .pd-pay-login-form { padding: 32px 24px; }
  .pd-pay-login-logo-badge { width: 80px; height: 80px; }
  .pd-pay-login-title { font-size: 22px; }
  .pd-pay-login-wordmark { height: 26px; }
}

/* Administration console in the same language as the payment slip: hairlines, no
   gradients or soft shadows, monospace figures, ledger-style tables and dot status
   labels. Colours and line weights come from the theme variables. */
:root {
  --pd-pay-warn: #b45f00;
  --pd-pay-row-rule: 1px dashed var(--pd-pay-border);
  --pd-pay-head-rule: 1px solid var(--pd-pay-ink);
  --pd-pay-table-font: var(--pd-pay-font);
  --chart-1: var(--pd-pay-blue);
  --chart-2: var(--pd-pay-ink);
  --chart-3: var(--pd-pay-ok);
  --chart-4: var(--pd-pay-warn);
  --chart-5: var(--pd-pay-faint);
}

[data-slot="sidebar-inset"] { --pd-pay-card-shadow: none; }
[data-slot="sidebar-inset"] main :is(h1, h2).font-bold {
  font-family: var(--pd-pay-heading-font); font-weight: 600; letter-spacing: -.01em;
}

/* Cards: flat hairline sheets */
[data-slot="sidebar-inset"] [data-slot="card"] {
  background: var(--pd-pay-surface);
  border: var(--pd-pay-stroke) solid var(--pd-pay-border);
  box-shadow: none !important;
}
[data-slot="sidebar-inset"] [data-slot="card-title"] {
  font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--pd-pay-ink);
}
[data-slot="sidebar-inset"] [data-slot="card-description"] { font-size: 12px; color: var(--pd-pay-muted); }
[data-slot="sidebar-inset"] [data-slot="card-header"] svg.lucide { color: var(--pd-pay-faint); }
[data-slot="sidebar-inset"] [data-slot="card"] :is(.text-2xl, .text-3xl, .font-bold.text-2xl) {
  font-family: var(--pd-pay-mono); font-weight: 500; letter-spacing: -.02em; color: var(--pd-pay-ink);
}

/* Overview figures: one ledger sheet instead of a wall of separate cards */
[data-slot="sidebar-inset"] .grid:has(> [data-slot="card"] :is(.text-2xl, .text-3xl, .font-bold)) {
  gap: 0 !important;
  background: var(--pd-pay-surface);
  border: var(--pd-pay-stroke) solid var(--pd-pay-border);
  border-top: var(--pd-pay-head-rule);
}
[data-slot="sidebar-inset"] .grid:has(> [data-slot="card"] :is(.text-2xl, .text-3xl, .font-bold)) > [data-slot="card"] {
  border: 0 !important;
  border-right: var(--pd-pay-row-rule) !important;
  border-bottom: var(--pd-pay-row-rule) !important;
  box-shadow: none !important;
  background: transparent !important;
}
[data-slot="sidebar-inset"] .grid:has(> [data-slot="card"] :is(.text-2xl, .text-3xl, .font-bold)) > [data-slot="card"] [data-slot="card-title"] {
  font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: none; color: var(--pd-pay-muted);
}

/* RPC / health tiles: same sheet, no tinted gradients */
[data-slot="sidebar-inset"] [class*="bg-gradient-to"] {
  background-image: none !important;
  background-color: var(--pd-pay-surface) !important;
  border-color: var(--pd-pay-border) !important;
  box-shadow: none !important;
  color: var(--pd-pay-ink) !important;
}
[data-slot="sidebar-inset"] [class*="bg-gradient-to"] :is(svg, .text-muted-foreground, [class*="text-amber-"], [class*="text-cyan-"], [class*="text-emerald-"]) {
  color: var(--pd-pay-faint) !important;
}
[data-slot="sidebar-inset"] [class*="bg-gradient-to"] .text-2xl,
[data-slot="sidebar-inset"] [class*="bg-gradient-to"] .text-foreground {
  color: var(--pd-pay-ink) !important;
  font-family: var(--pd-pay-mono);
  font-weight: 500;
}
[data-slot="sidebar-inset"] .grid:has(> [class*="bg-gradient-to"]) {
  gap: 0 !important;
  background: var(--pd-pay-surface);
  border: var(--pd-pay-stroke) solid var(--pd-pay-border);
  border-top: var(--pd-pay-head-rule);
}
[data-slot="sidebar-inset"] .grid:has(> [class*="bg-gradient-to"]) > [class*="bg-gradient-to"] {
  border: 0 !important;
  border-right: var(--pd-pay-row-rule) !important;
  border-bottom: var(--pd-pay-row-rule) !important;
}

/* Charts */
.recharts-cartesian-grid :is(line, path) { stroke: var(--pd-pay-line); }
.recharts-cartesian-axis-tick-value { font-family: var(--pd-pay-mono); font-size: 11px; fill: var(--pd-pay-muted); }
.recharts-area-area { fill-opacity: .08 !important; }
.recharts-legend-item-text { color: var(--pd-pay-muted) !important; font-size: 12px; }
.recharts-default-legend { padding-top: 8px !important; }
.recharts-tooltip-wrapper .rounded-lg,
.recharts-tooltip-wrapper [class*="shadow"] { box-shadow: none !important; border: 1px solid var(--pd-pay-border) !important; }

/* Tables: ledger rows, including wrappers that are not table-container */
[data-slot="sidebar-inset"] .overflow-hidden[class*="border"],
[data-slot="table-container"] {
  border: var(--pd-pay-stroke) solid var(--pd-pay-border) !important;
  background: var(--pd-pay-surface);
}
[data-slot="table"],
[data-slot="sidebar-inset"] table {
  font-family: var(--pd-pay-table-font);
  font-variant-numeric: tabular-nums;
}
[data-slot="table-header"],
[data-slot="table-header"] [data-slot="table-row"],
[data-slot="sidebar-inset"] thead,
[data-slot="sidebar-inset"] thead tr {
  background: var(--pd-pay-surface) !important;
}
[data-slot="table-header"] [data-slot="table-row"],
[data-slot="sidebar-inset"] thead tr {
  border-bottom: var(--pd-pay-head-rule) !important;
}
[data-slot="table-head"],
[data-slot="sidebar-inset"] th {
  height: 38px;
  font-family: var(--pd-pay-font);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  color: var(--pd-pay-muted) !important;
  background: var(--pd-pay-surface) !important;
}
[data-slot="table-head"] button { font-size: inherit; letter-spacing: inherit; font-weight: inherit; color: inherit; }
[data-slot="table-body"] [data-slot="table-row"],
[data-slot="sidebar-inset"] tbody tr {
  border-bottom: var(--pd-pay-row-rule) !important;
}
[data-slot="table-body"] [data-slot="table-row"]:last-child,
[data-slot="sidebar-inset"] tbody tr:last-child { border-bottom: 0 !important; }
[data-slot="table-cell"],
[data-slot="table-cell"].bg-background,
[data-slot="sidebar-inset"] td {
  background: var(--pd-pay-surface) !important;
  color: var(--pd-pay-ink);
  font-size: 13px;
}
[data-slot="table-body"] [data-slot="table-row"]:hover > [data-slot="table-cell"],
[data-slot="sidebar-inset"] tbody tr:hover td {
  background: var(--pd-pay-accent-soft) !important;
}
[data-slot="table-cell"] .text-muted-foreground {
  color: var(--pd-pay-faint) !important;
  font-family: var(--pd-pay-mono);
  font-size: 11px;
}

/* Status labels: a square dot and coloured text, no tinted pill */
[data-slot="badge"] {
  background: transparent !important;
  border-color: transparent !important;
  padding-inline: 0 !important;
  gap: 6px;
  font-weight: 500;
  box-shadow: none !important;
}
[data-slot="badge"]:not(:has(> span[class*="bg-"]))::before {
  content: ""; width: 6px; height: 6px; flex: none; background: currentColor;
}
[data-slot="badge"][class*="text-emerald-"], [data-slot="badge"][class*="text-green-"] { color: var(--pd-pay-ok) !important; }
[data-slot="badge"][class*="text-rose-"], [data-slot="badge"][class*="text-red-"] { color: var(--pd-pay-danger) !important; }
[data-slot="badge"][class*="text-amber-"], [data-slot="badge"][class*="text-orange-"] { color: var(--pd-pay-warn) !important; }
[data-slot="badge"][class*="text-cyan-"], [data-slot="badge"][class*="text-blue-"] { color: var(--pd-pay-blue) !important; }
[data-slot="badge"][class*="text-slate-"] { color: var(--pd-pay-faint) !important; }
[data-slot="badge"] span[class*="bg-emerald-"] { background: var(--pd-pay-ok) !important; }
[data-slot="badge"] span[class*="bg-amber-"] { background: var(--pd-pay-warn) !important; }
[data-slot="badge"] span[class*="bg-rose-"] { background: var(--pd-pay-danger) !important; }

[data-slot="sidebar-group-label"]:empty { display: none; }

/* Sidebar brand: fish mark and wordmark on one line; drop the console subtitle. */
[data-slot="sidebar-header"] [data-sidebar="menu-button"] {
  height: auto !important;
  min-height: 44px;
  align-items: center;
}
[data-slot="sidebar-header"] [data-sidebar="menu-button"] > .grid {
  display: flex;
  align-items: center;
  min-height: 22px;
}
[data-slot="sidebar-header"] [data-sidebar="menu-button"] .text-xs { display: none !important; }
[data-slot="sidebar-header"] [data-pd-brand-wordmark] { --pd-pay-wordmark-height: 20px; }
[data-slot="sidebar-header"] [data-sidebar="menu-button"] > .aspect-square {
  width: 28px !important;
  height: 28px !important;
  aspect-ratio: 1;
}
[data-slot="sidebar-header"] img[data-pd-brand-logo] {
  display: block;
  width: 28px !important;
  height: 28px !important;
  max-width: none;
  object-fit: contain;
  object-position: center;
}

/* Sidebar account + copyright */
[data-slot="sidebar-group-label"] { font-size: 11px; letter-spacing: .08em; color: var(--pd-pay-faint); }
[data-slot="sidebar-footer"] { min-width: 0; }
[data-slot="sidebar-footer"] [data-slot="avatar"],
[data-slot="sidebar-footer"] [data-slot="avatar"] img,
[data-slot="sidebar-footer"] [data-slot="avatar-fallback"] { border-radius: 0; }
[data-slot="sidebar-footer"] [data-slot="avatar"] { width: 32px; height: 32px; }
[data-slot="sidebar-footer"] [data-slot="avatar"] img { width: 100%; height: 100%; object-fit: cover; }

[data-slot="sidebar-footer"] [data-slot="avatar-fallback"] {
  background: var(--pd-pay-accent-soft); color: var(--pd-pay-accent-ink);
  font-family: var(--pd-pay-mono); font-size: 13px;
}
[data-slot="sidebar-footer"] [data-slot="dropdown-menu-trigger"] {
  height: auto !important; min-height: 48px; min-width: 0; overflow: visible !important; align-items: flex-start;
}
[data-slot="sidebar-footer"] [data-slot="dropdown-menu-trigger"] .truncate.font-semibold { font-size: 13px; }
[data-slot="sidebar-footer"] [data-slot="dropdown-menu-trigger"] .truncate {
  overflow: visible !important; text-overflow: unset !important; white-space: normal !important;
}
[data-slot="sidebar-footer"] [data-slot="dropdown-menu-trigger"] .truncate.text-xs {
  font-size: 11px; line-height: 1.35; color: var(--pd-pay-muted); font-variant-numeric: tabular-nums;
}

/* Fixed airy configuration layout. Labels, controls and help have consistent columns. */
.pd-config-layout { display: flex; flex-direction: column; flex: 1 1 0%; min-height: 0; }
.pd-config-layout > header { flex: none; }
.pd-config-shell { flex: 1 1 0%; height: 0; min-height: 0; padding: 28px 32px 0 !important; }
.pd-config-page-heading { flex: none; padding-bottom: 24px; }
.pd-config-page-heading h1 { margin: 0; color: var(--pd-pay-ink); font-size: 24px; line-height: 1.35; font-weight: 600; }
.pd-config-page-heading p { margin: 8px 0 0; color: var(--pd-pay-muted); font-size: 13px; line-height: 1.6; }
.pd-settings-navigation { position: relative; z-index: 2; display: flex; align-items: flex-end; flex: none; gap: 16px; border-bottom: 1px solid var(--pd-pay-border); }
.pd-settings-tabs { display: flex; align-items: stretch; gap: 28px; }
.pd-settings-tab { display: inline-flex; align-items: center; min-height: 46px; padding: 0 0 14px; border-bottom: 2px solid transparent; color: var(--pd-pay-muted); font-size: 14px; font-weight: 500; text-decoration: none; }
.pd-settings-tab:hover { color: var(--pd-pay-blue); }
.pd-settings-tab[aria-current="page"] { color: var(--pd-pay-blue); border-bottom-color: var(--pd-pay-blue); }
.pd-config-shell .pd-settings-advanced { position: relative; margin: 0 0 0 auto; padding: 0; border: 0; }
.pd-config-shell .pd-settings-advanced summary { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 0 14px; color: var(--pd-pay-muted); cursor: pointer; list-style: none; font-size: 13px; }
.pd-config-shell .pd-settings-advanced summary::-webkit-details-marker { display: none; }
.pd-config-shell .pd-settings-advanced summary::after { content: '⌄'; font-size: 16px; }
.pd-config-shell .pd-settings-advanced[open] summary,
.pd-config-shell .pd-settings-advanced[data-active="true"] summary { color: var(--pd-pay-blue); }
.pd-config-shell .pd-settings-advanced nav { position: absolute; top: calc(100% + 8px); right: 0; display: grid; width: 260px; max-width: calc(100vw - 48px); padding: 8px; gap: 2px; border: 1px solid var(--pd-pay-border); background: var(--pd-pay-surface); box-shadow: 0 8px 24px rgb(24 54 99 / 8%); }
.pd-config-shell .pd-settings-advanced-link { padding: 11px 12px; color: var(--pd-pay-muted); font-size: 13px; text-decoration: none; }
.pd-config-shell .pd-settings-advanced-link:hover,
.pd-config-shell .pd-settings-advanced-link[aria-current="page"] { color: var(--pd-pay-blue); background: var(--pd-pay-accent-soft); }
.pd-settings-tab:focus-visible,
.pd-settings-advanced summary:focus-visible,
.pd-settings-advanced-link:focus-visible { outline: 2px solid var(--pd-pay-blue); outline-offset: 3px; }
.pd-config-shell .pd-settings-content { flex: 1; min-height: 0; min-width: 0; overflow-y: auto; overscroll-behavior: contain; padding: 28px 4px 32px 0; scrollbar-gutter: stable; }
.pd-config-shell .pd-settings-content > * { max-width: 1040px; }
.pd-config-shell .pd-settings-content .faded-bottom { height: auto !important; overflow: visible !important; padding: 0 !important; mask-image: none !important; }
.pd-config-shell .pd-settings-content .faded-bottom::after { display: none !important; }
.pd-config-shell .pd-settings-content [class*="max-w-xl"] { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.pd-config-shell .pd-settings-content h3,
.pd-config-shell .pd-account-section-heading h2 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; color: var(--pd-pay-ink); }
.pd-config-shell .pd-settings-content h3 + p,
.pd-config-shell .pd-account-section-heading p { margin: 5px 0 0; font-size: 12px; line-height: 1.6; color: var(--pd-pay-muted); }
.pd-config-shell .pd-settings-content [data-slot="separator"] { margin: 18px 0 0; background: var(--pd-pay-border); }
.pd-config-shell .pd-settings-content form { width: 100%; max-width: 1040px !important; margin: 0; }
.pd-config-shell .pd-settings-content form > * { margin-block: 0; }
.pd-config-shell :is([data-slot="form-item"], .pd-account-field) { display: grid !important; grid-template-columns: minmax(140px, 190px) minmax(0, 1fr); gap: 7px 28px; align-items: start; padding: 20px 0; border: 0 !important; border-bottom: 1px solid var(--pd-pay-line) !important; background: transparent; }
.pd-config-shell :is([data-slot="form-item"], .pd-account-field) > :is([data-slot="form-label"], label) { grid-column: 1; grid-row: 1; margin: 0; padding-top: 12px; color: var(--pd-pay-ink); font-size: 13px; line-height: 1.5; font-weight: 500; }
.pd-config-shell :is([data-slot="form-item"], .pd-account-field) > :not([data-slot="form-label"], label, [aria-hidden="true"]) { grid-column: 2; min-width: 0; }
.pd-config-shell :is([data-slot="form-description"], [data-slot="form-message"]) { margin: 0; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.pd-config-shell [data-slot="form-message"],
.pd-config-shell [data-slot="form-label"][data-error="true"] { color: var(--pd-pay-danger); }
.pd-config-shell .pd-settings-content :is(input:not([type="file"], [aria-hidden="true"]), textarea, button[role="combobox"]) { min-width: 0; width: 100%; min-height: 44px; height: 44px; padding: 10px 12px; border: 1px solid #d8e1ed; background: #fafcff; color: var(--pd-pay-ink); font-size: 14px; line-height: 1.5; box-shadow: none; outline: none; transition: border-color .15s, background .15s; }
.pd-config-shell .pd-settings-content textarea { height: auto; min-height: 124px; resize: vertical; font-family: var(--pd-pay-mono); font-size: 12px; }
.pd-config-shell .pd-settings-content :is(input, textarea, button[role="combobox"]):focus-visible { border-color: var(--pd-pay-blue); background: var(--pd-pay-surface); box-shadow: 0 0 0 3px rgb(0 82 217 / 8%); }
.pd-config-shell .pd-settings-content :is(input, textarea, button[role="combobox"])[aria-invalid="true"] { border-color: var(--pd-pay-danger); }
.pd-config-shell .pd-settings-content :is(input, textarea, button[role="combobox"]):disabled { background: var(--pd-pay-canvas); color: var(--pd-pay-muted); cursor: not-allowed; }
.pd-config-shell [data-slot="form-item"]:has(> [role="switch"]) > [data-slot="form-label"] { padding-top: 2px; }
.pd-config-shell .pd-settings-content [role="switch"] { width: 42px; height: 24px; justify-self: start; padding: 2px; border: 1px solid var(--pd-pay-border); box-shadow: none; }
.pd-config-shell .pd-settings-content [role="switch"] [data-slot="switch-thumb"] { width: 18px; height: 18px; }
.pd-config-shell .pd-settings-content [data-slot="form-control"]:has(> [data-slot="popover-trigger"]) { align-items: center; }
.pd-config-shell .pd-settings-content [data-slot="popover-trigger"] { height: 44px; }
.pd-config-shell .pd-settings-content form > .flex:has(> button),
.pd-config-shell .pd-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 24px 0 12px 218px; }
.pd-config-shell .pd-settings-content form > .flex > button,
.pd-config-shell .pd-account-actions > button { min-height: 42px; padding-inline: 18px; box-shadow: none; }
.pd-config-shell .pd-settings-content form > button[type="submit"] { margin: 24px 0 12px 218px; min-height: 42px; padding-inline: 18px; box-shadow: none; }
.pd-config-shell .pd-settings-content [data-slot="card"] { padding-block: 20px; background: var(--pd-pay-canvas); border-color: var(--pd-pay-border); }
.pd-config-shell .pd-settings-content [data-slot="card-title"] { font-size: 14px; letter-spacing: 0; }
.pd-config-shell .pd-settings-content [data-slot="card-content"] { font-size: 13px; }
.pd-config-shell .pd-account-profile { display: block; padding: 0 0 28px; margin: 0 0 28px; border-bottom: 1px solid var(--pd-pay-border); }
.pd-account-avatar-row { display: flex; align-items: center; gap: 12px; }
.pd-account-avatar { width: 64px; height: 64px; object-fit: cover; background: var(--pd-pay-accent-soft); }
.pd-account-letter { display: grid; place-items: center; color: var(--pd-pay-accent-ink); font-family: var(--pd-pay-mono); font-size: 22px; }
.pd-account-upload { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border: 1px solid var(--pd-pay-line); cursor: pointer; }
.pd-account-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.pd-account-avatar-row button { margin-top: 8px; height: 32px; padding: 0 12px; border: 1px solid var(--pd-pay-line); background: transparent; }
.pd-account-actions p { margin: 0; font-size: 13px; }
.pd-account-error { color: var(--pd-pay-danger); }
.pd-config-shell .pd-account-section-heading { padding-bottom: 18px; border-bottom: 1px solid var(--pd-pay-border); }
.pd-config-shell .pd-account-field > label[for="pd-account-avatar"] { padding-top: 22px; }
.pd-config-shell .pd-account-avatar-row { margin: 0; }

@media (max-width: 767px) {
  .pd-config-shell { padding: 20px 18px 0 !important; }
  .pd-config-page-heading { padding-bottom: 18px; }
  .pd-config-page-heading h1 { font-size: 22px; }
  .pd-settings-navigation { display: block; }
  .pd-settings-tabs { gap: 22px; justify-content: space-between; }
  .pd-settings-tab { min-height: 42px; padding-bottom: 12px; font-size: 13px; white-space: nowrap; }
  .pd-config-shell .pd-settings-advanced { margin: 0; }
  .pd-config-shell .pd-settings-advanced summary { min-height: 36px; padding: 0 0 10px; width: fit-content; font-size: 12px; }
  .pd-config-shell .pd-settings-advanced nav { left: 0; right: auto; }
  .pd-config-shell .pd-settings-content { padding-top: 22px; scrollbar-gutter: auto; }
  .pd-config-shell :is([data-slot="form-item"], .pd-account-field) { grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 18px 0; }
  .pd-config-shell :is([data-slot="form-item"], .pd-account-field) > :is([data-slot="form-label"], label),
  .pd-config-shell :is([data-slot="form-item"], .pd-account-field) > :not([data-slot="form-label"], label, [aria-hidden="true"]) { grid-column: 1; grid-row: auto; padding-top: 0; }
  .pd-config-shell .pd-settings-content form > .flex:has(> button),
  .pd-config-shell .pd-account-actions { padding-left: 0; }
  .pd-config-shell .pd-settings-content form > button[type="submit"] { margin-left: 0; }
  .pd-config-shell .pd-settings-content :is(input:not([type="file"], [aria-hidden="true"]), textarea, button[role="combobox"]) { font-size: 16px; }
  .pd-config-shell .pd-settings-content textarea { font-size: 13px; }
  .pd-config-shell .pd-account-field > label[for="pd-account-avatar"] { padding-top: 0; }
}

/* Receipt cashier and checkout shell in the fixed airy palette. */
.pd-checkout { min-height: 100svh; background: var(--pd-pay-canvas); color: var(--pd-pay-ink); }
.pd-checkout-inner { margin: 0 auto; display: flex; min-height: 100svh; width: 100%; max-width: 440px; flex-direction: column; padding: 0 20px; }
.pd-checkout-header { display: flex; align-items: center; justify-content: space-between; padding: 28px 0 18px; }
.pd-checkout-brand { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 600; font-family: var(--pd-pay-heading-font); --pd-pay-wordmark-height: 19px; }
.pd-checkout-brand img { flex: none; object-fit: contain; }
.pd-checkout-support { display: inline-flex; align-items: center; gap: 4px; --pd-pay-wordmark-height: 15px; }
.pd-checkout-footer { padding: 28px 0; text-align: center; font-size: 12px; color: var(--pd-pay-faint); }
.pd-checkout-support { position: fixed; right: 20px; bottom: 20px; z-index: 20; padding: 12px 16px; font-size: 14px; background: var(--pd-pay-blue); color: var(--pd-pay-on-accent); box-shadow: var(--pd-pay-float-shadow); }

.pd-rc-mono { font-family: var(--pd-pay-mono); font-variant-numeric: tabular-nums; }
.pd-rc { position: relative; padding-bottom: 10px; background: var(--pd-pay-surface); border: var(--pd-pay-stroke) solid var(--pd-pay-border); border-bottom: 0; box-shadow: var(--pd-pay-float-shadow); margin-bottom: 12px; }
.pd-rc::after { content: ""; position: absolute; left: calc(var(--pd-pay-stroke) * -1); right: calc(var(--pd-pay-stroke) * -1); bottom: -10px; height: 10px;
  background: linear-gradient(-45deg, transparent 7px, var(--pd-pay-surface) 0) 0 0 / 14px 10px repeat-x, linear-gradient(45deg, transparent 7px, var(--pd-pay-surface) 0) 0 0 / 14px 10px repeat-x; }
.pd-rc-head { position: relative; padding: 22px 24px 18px; }
.pd-rc-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.pd-rc-title { font-family: var(--pd-pay-heading-font); font-size: 18px; font-weight: 600; }
.pd-rc-no { font-size: 11px; color: var(--pd-pay-faint); }
.pd-rc-name { margin-top: 4px; font-size: 13px; color: var(--pd-pay-muted); }
.pd-rc-amount { margin-top: 20px; }
.pd-rc-label { font-size: 12px; color: var(--pd-pay-muted); }
.pd-rc-value { margin-top: 4px; font-size: 36px; font-weight: 600; letter-spacing: -.02em; line-height: 1.15; word-break: break-all; }
.pd-rc-value em { font-style: normal; color: var(--pd-pay-blue); }
.pd-rc-unit { margin-left: 8px; font-family: var(--pd-pay-font); font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--pd-pay-muted); }
.pd-rc-tip { margin: 0 24px 18px; padding: 10px 12px; font-size: 12px; line-height: 1.65; background: var(--pd-pay-accent-soft); border-left: 3px solid var(--pd-pay-blue); color: var(--pd-pay-accent-ink); }
.pd-rc-qr { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin: 0 24px; padding: 18px 0; border-top: 1px dashed var(--pd-pay-border); border-bottom: 1px dashed var(--pd-pay-border); }
.pd-rc-qr-box { padding: 8px; border: 1px solid var(--pd-pay-border); background: #fff; line-height: 0; color: #111; }
.pd-rc-qr-code { display: block; width: 128px; height: 128px; }
.pd-rc-clock { margin: 2px 0 8px; font-size: 30px; font-weight: 600; color: var(--pd-pay-blue); }
.pd-rc-timer[data-urgent] .pd-rc-clock { color: var(--pd-pay-danger); }
.pd-rc-progress { position: relative; height: 4px; background: var(--pd-pay-line); }
.pd-rc-progress i { position: absolute; inset: 0 auto 0 0; background: var(--pd-pay-blue); transition: width 1s linear; }
.pd-rc-timer[data-urgent] .pd-rc-progress i { background: var(--pd-pay-danger); }
.pd-rc-hint { margin-top: 8px; font-size: 12px; color: var(--pd-pay-muted); }
.pd-rc-rows { margin: 4px 24px 0; }
.pd-rc-row { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px dashed var(--pd-pay-border); font-size: 13px; }
.pd-rc-row:last-child { border-bottom: 0; }
.pd-rc-row dt { color: var(--pd-pay-muted); white-space: nowrap; }
.pd-rc-row dd { margin: 0; text-align: right; word-break: break-all; }
.pd-rc-row dd.pd-rc-mono { font-size: 12px; }
.pd-rc-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px 24px 16px; }
.pd-rc-actions-single { grid-template-columns: 1fr; }
.pd-rc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; font: inherit; font-size: 14px; font-weight: 500; text-decoration: none;
  border: 1px solid var(--pd-pay-blue); background: var(--pd-pay-blue); color: var(--pd-pay-on-accent); cursor: pointer; transition: background .15s; }
.pd-rc-btn:hover { background: var(--pd-pay-blue-hover); }
.pd-rc-btn:disabled { opacity: .5; cursor: not-allowed; }
.pd-rc-btn-alt { background: var(--pd-pay-surface); color: var(--pd-pay-blue); border-color: var(--pd-pay-accent-border); }
.pd-rc-btn-alt:hover { background: var(--pd-pay-accent-soft); }
.pd-rc-btn[data-copied] { background: var(--pd-pay-ok); border-color: var(--pd-pay-ok); color: #fff; }
.pd-rc-status { display: flex; align-items: center; gap: 8px; margin: 0 24px 14px; font-size: 14px; font-weight: 600; }
.pd-rc[data-state="success"] .pd-rc-status { color: var(--pd-pay-ok); }
.pd-rc[data-state="success"] .pd-rc-status i { width: 8px; height: 8px; background: currentColor; }
.pd-rc[data-state="expired"] .pd-rc-value, .pd-rc[data-state="expired"] .pd-rc-value em { color: var(--pd-pay-faint); text-decoration: line-through; }
.pd-rc[data-state="loading"], .pd-rc[data-state="error"] { padding-bottom: 12px; }
.pd-rc-stamp { position: absolute; right: 22px; top: 64px; padding: 6px 12px; border: 2px solid var(--pd-pay-ok); color: var(--pd-pay-ok); font-weight: 700; font-size: 15px; letter-spacing: .2em; transform: rotate(-8deg); background: color-mix(in srgb, var(--pd-pay-surface) 70%, transparent); }
.pd-rc[data-state="expired"] .pd-rc-stamp { border-color: var(--pd-pay-faint); color: var(--pd-pay-faint); }
.pd-rc-help { margin: 22px 0 0; font-size: 13px; color: var(--pd-pay-muted); }
.pd-rc-help summary { cursor: pointer; list-style: none; text-align: center; }
.pd-rc-help summary::-webkit-details-marker { display: none; }
.pd-rc-help summary::after { content: " ›"; }
.pd-rc-help[open] summary::after { content: " ⌄"; }
.pd-rc-help form { display: grid; gap: 10px; margin-top: 12px; padding: 16px; background: var(--pd-pay-surface); border: var(--pd-pay-stroke) solid var(--pd-pay-border); }
.pd-rc-help p { margin: 0; line-height: 1.6; font-size: 12px; }
.pd-rc-help input { height: 42px; padding: 0 12px; font: inherit; font-family: var(--pd-pay-mono); font-size: 12px; border: 1px solid var(--pd-pay-border); background: var(--pd-pay-surface); color: var(--pd-pay-ink); outline: none; }
.pd-rc-help input:focus { border-color: var(--pd-pay-blue); }
.pd-rc-error { color: var(--pd-pay-danger); }
