/* Shubh Muhrat admin console — the design system (docs/DESIGN.md, PM design.md 2026-10-10): ivory + Paper panels with a Petal Line,
   Sindoor Wine as the one action colour, Cormorant headings, Outfit UI. One navigation, a settings page per product.
   Loaded after admin.html's inline styles (which load brand.css first): §1 re-maps the page tokens to the --sm-* tokens (so
   every existing panel follows), §2 the console shell, §3 the shared surfaces (Paper cards, fields, chips, tables, status words),
   §4 Admins / history, §5 responsive (desktop sidebar ≥1025 · menu sheet ≤1024 · phones ≥16 px controls), §6 Matchmaker alerts.
   (Until 2026-10-12 this file painted the console espresso + gold.) */

/* §1 tokens */
body.adm {
  --ivory: var(--sm-bg); --cream: var(--sm-bg-alt); --sand: var(--sm-line);
  --gold: var(--sm-wine); --gold-dark: var(--sm-wine); --gold-l: var(--sm-wine); --rose: var(--sm-rose-text);
  --deep: var(--sm-ink); --brown: var(--sm-text); --muted: var(--sm-muted);
  --border: var(--sm-line); --line: var(--sm-line);
  --surface: var(--sm-surface); --surface-strong: var(--sm-surface);
  --success: var(--sm-ok); --warning: var(--sm-wait); --danger: var(--sm-no);
  --shadow: none;
  --adm-bg: var(--sm-bg);
  --font-serif: var(--sm-serif); --font-body: var(--sm-sans);
  background: var(--sm-bg) !important;
  color: var(--sm-text);
}
body.adm, body.adm button, body.adm input, body.adm select, body.adm textarea { font-family: var(--sm-sans); }

/* §2 the shell */
body.adm .chrome-tabs, body.adm #superadminPanel > .topbar, body.adm .layout > .sidebar, body.adm .m-sb, body.adm .m-tb { display: none !important; }
body.adm #superadminPanel, body.adm #managementPanel { display: none !important; }
body.adm .shell { max-width: none; padding: 0; margin: 0; }
.adm-console { display: grid; grid-template-columns: 248px minmax(0, 1fr); grid-template-rows: auto 1fr;
  grid-template-areas: "banner banner" "nav main"; gap: 0; min-height: calc(100vh - 68px); }
.adm-nav { grid-area: nav; } .adm-main { grid-area: main; }
.adm-nav { position: sticky; top: 68px; align-self: start; height: calc(100vh - 68px); overflow-y: auto; padding: 18px 12px 24px;
  border-right: 1px solid var(--sm-line); background: var(--sm-surface); scrollbar-width: thin; scrollbar-color: var(--sm-line) transparent; }
.adm-brand { display: flex; align-items: center; gap: 10px; padding: 4px 10px 16px; }
.adm-brand img { width: 30px; height: 30px; object-fit: contain; }
.adm-brand b { display: block; font-family: var(--sm-serif); font-size: 22px; font-weight: 600; color: var(--sm-wine); letter-spacing: .01em; }
.adm-brand b i { color: var(--sm-wine); font-weight: 500; }
.adm-brand small { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--sm-rose-text); margin-top: 1px; }
.adm-ng { margin: 6px 0 10px; }
.adm-nt { margin: 12px 10px 6px; font-size: 11.5px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--sm-rose-text); }
.adm-ni { display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 12px; color: var(--sm-ink); text-decoration: none;
  font-size: 14.5px; font-weight: 400; border: 1px solid transparent; transition: background .15s, border-color .15s, color .15s; }
.adm-ni svg { width: 18px; height: 18px; flex: none; fill: none; stroke: var(--sm-rose); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.adm-ni:hover { background: var(--sm-bg-alt); color: var(--sm-wine); }
.adm-ni.on { background: var(--sm-bg-alt); border-color: transparent; color: var(--sm-wine); font-weight: 500; box-shadow: inset 3px 0 0 var(--sm-wine); }
.adm-ni.on svg { stroke: var(--sm-wine); }
.adm-nav-foot { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--sm-line); }
.adm-main { min-width: 0; padding: 28px 32px 64px; }
.adm-head { display: flex; align-items: flex-start; gap: 18px; justify-content: space-between; margin: 0 0 24px; }
.adm-kicker { margin: 0 0 6px; font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--sm-rose-text); }
.adm-title { margin: 0; font-family: var(--sm-serif); font-weight: 600; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.05; color: var(--sm-wine); }
.adm-sub { margin: 8px 0 0; color: var(--sm-text); font-size: 15.5px; max-width: 720px; }
.adm-head-acts { display: flex; align-items: center; gap: 10px; flex: none; }
.adm-id { display: inline-flex; align-items: center; gap: 9px; padding: 6px 14px 6px 6px; border-radius: 999px; border: 1px solid var(--sm-line); background: var(--sm-surface); }
.adm-id b { display: block; font-size: 13.5px; font-weight: 500; color: var(--sm-ink); max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-id small { display: block; font-size: 11.5px; color: var(--sm-rose-text); letter-spacing: .06em; }
.adm-ava { display: inline-grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 50%; font-weight: 600; font-size: 13px;
  color: var(--sm-wine); background: var(--sm-icon-well); }
.adm-ava-sm { width: 30px; height: 30px; font-size: 11.5px; }
.adm-ava-dim { background: var(--sm-bg-alt); color: var(--sm-text); }
.adm-menu { display: none; }
.adm-scrim { display: none; }
.adm-view { animation: admIn .25s ease; }
@keyframes admIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.adm-view > .tab-panel, .adm-view > .m-pg { display: block !important; }
.adm-view > * + * { margin-top: 18px; }
.adm-prod-head { display: flex; justify-content: flex-end; margin: -8px 0 12px; }
.adm-open { display: inline-flex; align-items: center; gap: 8px; color: var(--sm-wine); font-size: 14px; font-weight: 500; text-decoration: none;
  border: 1.5px solid rgba(125, 46, 62, .35); padding: 8px 15px; border-radius: 999px; background: transparent; }
.adm-open svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.adm-open:hover { border-color: var(--sm-wine); background: #fff; }

/* §3 the shared surfaces: Paper + Petal Line, no glass, no glow */
body.adm .panel, body.adm .card, body.adm .detail-card, body.adm .stat-card, body.adm .bs-card, body.adm .m-card, body.adm .m-kcard,
body.adm .modal-card, body.adm .auth-card {
  background: var(--sm-surface) !important; border: 1px solid var(--sm-line) !important; box-shadow: none !important; color: var(--sm-text);
}
body.adm .panel, body.adm .bs-card, body.adm .modal-card { border-radius: var(--sm-r-card) !important; }
body.adm .stat-card, body.adm .m-kcard, body.adm .m-card, body.adm .detail-card { border-radius: var(--sm-r-tile) !important; }
body.adm .auth-card { border-radius: var(--sm-r-hero) !important; box-shadow: var(--sm-shadow-hero) !important; }
body.adm .panel-title, body.adm .bs-card h3, body.adm .m-ct, body.adm .modal-title, body.adm .auth-card h1, body.adm .empty-state h3 { color: var(--sm-wine) !important; font-weight: 600; }
body.adm .stat-value, body.adm .m-kval { color: var(--sm-ink) !important; font-family: var(--sm-serif); font-weight: 600; }
body.adm .stat-label, body.adm .identity-label, body.adm .detail-label { color: var(--sm-text); }
body.adm .panel-copy, body.adm .bs-desc, body.adm .muted, body.adm .m-cs, body.adm .m-klabel { color: var(--sm-muted) !important; }
body.adm table, body.adm .m-table { color: var(--sm-ink); }
body.adm th, body.adm .m-table th { background: var(--sm-bg-alt) !important; color: var(--sm-ink) !important; border-color: var(--sm-line) !important; font-weight: 500; letter-spacing: .1em; }
body.adm td, body.adm .m-table td { border-color: var(--sm-line) !important; }
body.adm tr:hover td, body.adm .m-table tr:hover td { background: rgba(245, 233, 227, .5) !important; }
body.adm .table-wrap { border: 1px solid var(--sm-line) !important; border-radius: var(--sm-r-tile); background: var(--sm-surface) !important; }
body.adm input, body.adm select, body.adm textarea, body.adm .toolbar select, body.adm .bs-row input[type=text], body.adm .bs-row input[type=number],
body.adm .bs-row textarea, body.adm .bs-money {
  background: var(--sm-surface) !important; color: var(--sm-ink) !important; border: 1px solid var(--sm-line) !important; border-radius: var(--sm-r-field);
}
body.adm .toolbar input, body.adm .toolbar select { min-height: 44px; border-radius: var(--sm-r-field); }
body.adm .bs-money input, body.adm .bs-money input[type=number] { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.adm input::placeholder, body.adm textarea::placeholder { color: var(--sm-muted); }
body.adm input:focus, body.adm select:focus, body.adm textarea:focus { border-color: var(--sm-wine) !important; box-shadow: 0 0 0 3px rgba(125, 46, 62, .12) !important; outline: none; }
body.adm .bs-money:focus-within { border-color: var(--sm-wine) !important; box-shadow: 0 0 0 3px rgba(125, 46, 62, .12); }
body.adm input[type=checkbox], body.adm input[type=radio] { accent-color: var(--sm-wine); }
body.adm select { appearance: none; -webkit-appearance: none; padding-right: 34px !important;
  background-image: linear-gradient(45deg, transparent 50%, #7D2E3E 50%), linear-gradient(135deg, #7D2E3E 50%, transparent 50%) !important;
  background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50% !important; background-size: 5px 5px, 5px 5px !important; background-repeat: no-repeat !important; }
body.adm .btn { border-radius: 999px; font-weight: 500; }
body.adm .btn-primary { background: var(--sm-wine) !important; color: #fff !important; border: 0 !important; box-shadow: var(--sm-shadow-btn); }
body.adm .btn-primary:hover:not(:disabled) { background: var(--sm-wine-hover) !important; }
body.adm .btn-secondary, body.adm .btn-ghost { background: transparent !important; color: var(--sm-wine) !important; border: 1.5px solid rgba(125, 46, 62, .35) !important; }
body.adm .btn-secondary:hover:not(:disabled), body.adm .btn-ghost:hover:not(:disabled) { background: #fff !important; border-color: var(--sm-wine) !important; }
body.adm .btn-danger { background: var(--sm-no-bg) !important; color: var(--sm-no) !important; border: 1px solid rgba(155, 44, 44, .3) !important; }
body.adm .btn:disabled { opacity: .45; }
body.adm .bs-chip, body.adm .bs-jump, body.adm .m-tf { background: var(--sm-surface) !important; color: var(--sm-ink) !important; border-color: var(--sm-line) !important; }
body.adm .bs-jump:hover { border-color: rgba(125, 46, 62, .45) !important; color: var(--sm-wine) !important; }
body.adm .bs-chip[aria-pressed="true"], body.adm .m-tf.on { background: var(--sm-wine) !important; color: #fff !important; border-color: var(--sm-wine) !important; }
body.adm .bs-switch { background: #CDB9B3 !important; }
body.adm .bs-switch:checked { background: var(--sm-wine) !important; }
body.adm .bs-switch::after { background: #fff !important; box-shadow: 0 1px 3px rgba(90, 30, 40, .3) !important; }
body.adm .bs-switch:focus-visible { outline: 2px solid var(--sm-wine); outline-offset: 3px; }
body.adm .bs-row.bs-toggle { border-color: var(--sm-line) !important; }
body.adm .bs-row.bs-toggle b, body.adm .bs-fh label { color: var(--sm-ink) !important; font-weight: 500; }
body.adm .bs-help, body.adm .bs-def { color: var(--sm-muted); opacity: 1; }
body.adm .bs-history { background: var(--sm-surface) !important; border-color: var(--sm-line) !important; }
body.adm .bs-reset { color: var(--sm-wine) !important; }
body.adm .bs-empty { text-align: left; }
body.adm #tab-business .panel { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.adm #tab-business .panel-header { position: sticky; top: 68px; z-index: 5; margin: 0 0 14px; padding: 12px 14px; border-radius: var(--sm-r-tile);
  background: var(--sm-surface) !important; border: 1px solid var(--sm-line); box-shadow: var(--sm-shadow-rest); }
body.adm #tab-business .panel-title { font-size: 18px !important; }
/* status words: tint + colour + the word itself (design.md §2.5) — neutral pills stay Petal */
body.adm .tier-pill, body.adm .status-chip, body.adm .m-badge, body.adm .m-tag, body.adm .m-tbadge {
  background: var(--sm-bg-alt) !important; color: var(--sm-ink) !important; border: 1px solid var(--sm-line) !important; font-weight: 500; }
body.adm .status-pending, body.adm .status-started, body.adm .status-draft, body.adm .status-created, body.adm .m-badge.warn, body.adm .m-tag-a, body.adm .m-tbadge-p {
  background: var(--sm-wait-bg) !important; color: var(--sm-wait) !important; border-color: rgba(138, 90, 18, .25) !important; }
body.adm .status-completed, body.adm .status-ai_completed, body.adm .status-paid, body.adm .status-published, body.adm .status-active, body.adm .m-badge.good, body.adm .m-tag-g {
  background: var(--sm-ok-bg) !important; color: var(--sm-ok) !important; border-color: rgba(47, 107, 69, .25) !important; }
body.adm .status-archived, body.adm .status-failed, body.adm .status-ai_failed, body.adm .status-inactive, body.adm .status-disabled, body.adm .m-badge.bad, body.adm .m-tag-r {
  background: var(--sm-no-bg) !important; color: var(--sm-no) !important; border-color: rgba(155, 44, 44, .25) !important; }
body.adm .m-tbadge-l, body.adm .m-tbadge-a { background: var(--sm-icon-well) !important; color: var(--sm-wine) !important; border-color: transparent !important; }
body.adm .m-ftrack, body.adm .m-feat-track, body.adm .m-pbar { background: var(--sm-bg-alt) !important; }
body.adm .m-fbartxt { color: #fff; }
body.adm .m-alert { color: var(--sm-ink); }
body.adm .m-alert-r { background: var(--sm-no-bg) !important; border-left-color: var(--sm-no) !important; }
body.adm .m-alert-a { background: var(--sm-wait-bg) !important; border-left-color: var(--sm-wait) !important; }
body.adm .m-alert-b { background: var(--sm-bg-alt) !important; border-left-color: var(--sm-wine) !important; }
body.adm .m-alert-g { background: var(--sm-ok-bg) !important; border-left-color: var(--sm-ok) !important; }
body.adm .m-ad { color: var(--sm-text); }
/* KPI cards: one accent per component — the number carries the status colour, the card keeps its Petal Line */
body.adm .m-kacl, body.adm .m-kacg, body.adm .m-kacb, body.adm .m-kacr, body.adm .m-kaca { border-top: 1px solid var(--sm-line) !important; }
body.adm .m-kdelta { color: var(--sm-muted); } body.adm .m-kdelta.up { color: var(--sm-ok); } body.adm .m-kdelta.dn { color: var(--sm-no); }
body.adm .m-grid2, body.adm .m-krow { gap: 16px; }
body.adm .adm-view .m-pg > * + * { margin-top: 16px; }   /* the re-homed management page is a block, so its flex gap is gone */
body.adm td select { min-height: 38px; padding: 6px 34px 6px 12px !important; font-size: 14px; min-width: 112px; }
body.adm .m-body { padding: 0 !important; background: transparent !important; }
body.adm .m-dash { display: contents; }
body.adm .toast { background: var(--sm-surface) !important; color: var(--sm-ink) !important; border: 1px solid var(--sm-line) !important; box-shadow: var(--sm-shadow-pop) !important; border-radius: var(--sm-r-field); }
body.adm .toast.success { background: var(--sm-ok-bg) !important; color: var(--sm-ok) !important; border-color: rgba(47, 107, 69, .25) !important; }
body.adm .toast.error { background: var(--sm-no-bg) !important; color: var(--sm-no) !important; border-color: rgba(155, 44, 44, .25) !important; }
body.adm .modal { background: rgba(58, 42, 47, .45) !important; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.adm .modal-card { box-shadow: var(--sm-shadow-pop) !important; }
body.adm pre { background: var(--sm-bg-alt) !important; color: var(--sm-ink) !important; border-color: var(--sm-line) !important; }
body.adm .bulk-bar { background: var(--sm-no-bg) !important; border-color: rgba(155, 44, 44, .25) !important; color: var(--sm-no) !important; box-shadow: none !important; }
body.adm .empty-state { color: var(--sm-muted); background: var(--sm-surface); border-color: var(--sm-line); box-shadow: none; }
/* links inside the console (never the shared header above it) */
body.adm .shell a:not([class]), body.adm .login-shell a:not([class]) { color: var(--sm-wine); }
body.adm .login-shell { background: var(--sm-bg) !important; }
body.adm .brand-kicker { color: var(--sm-rose-text); letter-spacing: .22em; }
body.adm :focus-visible { outline: 2px solid var(--sm-wine); outline-offset: 3px; }

/* §4 Admins + history */
.adm-card { background: var(--sm-surface); border: 1px solid var(--sm-line); border-radius: var(--sm-r-card);
  padding: 22px 24px; box-shadow: none; }
.adm-card h2 { margin: 0 0 6px; font-family: var(--sm-serif); font-size: 28px; font-weight: 600; color: var(--sm-wine); }
.adm-note { margin: 0 0 12px; color: var(--sm-text); font-size: 14.5px; line-height: 1.5; max-width: 760px; }
.adm-err { color: var(--danger); font-weight: 600; font-size: 14px; margin: 10px 0 0; }
.adm-err:empty { display: none; }
.adm-form { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.adm-form label span { display: block; font-size: 13.5px; font-weight: 500; color: var(--sm-ink); margin-bottom: 6px; }
.adm-form input { width: 100%; padding: 11px 13px; font-size: 15px; }
.adm-form .btn { padding: 11px 20px; min-height: 44px; }
.adm-list { display: grid; gap: 8px; }
.adm-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: var(--sm-r-field); border: 1px solid var(--sm-line); background: var(--sm-bg); }
.adm-row-sm { padding: 8px 12px; }
.adm-row-main { min-width: 0; flex: 1; }
.adm-row-main b { display: block; color: var(--sm-ink); font-weight: 500; font-size: 15px; overflow-wrap: anywhere; }
.adm-row-main small { display: block; color: var(--sm-muted); font-size: 12.5px; margin-top: 2px; overflow-wrap: anywhere; }
.adm-row-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.adm-sure { font-size: 13.5px; color: var(--sm-ink); }
.adm-you { font-style: normal; font-size: 11.5px; font-weight: 500; padding: 1px 8px; border-radius: 999px; background: var(--sm-icon-well); color: var(--sm-wine); margin-left: 4px; }
/* Admins: the role choice (chips, never a native select) + each person's role */
.adm-rolepick { grid-column: 1 / -1; }
.adm-rolepick-l { display: block; font-size: 13.5px; font-weight: 500; color: var(--sm-ink); margin-bottom: 6px; }
.adm-rolepick .bs-chip, .adm-row-acts .bs-chip { min-height: 38px; }
.adm-role-hint { margin: 8px 0 0; }
.adm-role { font-style: normal; font-size: 11px; font-weight: 600; letter-spacing: .03em; padding: 1px 8px; border-radius: 999px; margin-left: 4px; white-space: nowrap;
  border: 1px solid var(--sm-line); color: var(--sm-wine); background: var(--sm-icon-well); vertical-align: 1px; }
.adm-role-moderator { color: var(--sm-wait); background: var(--sm-wait-bg); border-color: rgba(138, 90, 18, .25); }
.adm-role-rm { color: var(--sm-ok); background: var(--sm-ok-bg); border-color: rgba(47, 107, 69, .25); }
/* Admins: per-product staff roles (Shubh Bazaar …) — toggle chips + the City manager's cities as a text field */
.adm-prod { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--sm-line); display: grid; gap: 8px; }
.adm-rolepick > .adm-prod { margin-top: 4px; }
.adm-prod-l { font-size: 13.5px; font-weight: 500; color: var(--sm-ink); }
.adm-prod .bs-chip { min-height: 38px; }
.adm-prod .bs-chip:disabled { opacity: .7; cursor: default; }
.adm-prod-city span { display: block; font-size: 13px; color: var(--sm-text); margin-bottom: 4px; }
.adm-prod-city input { width: 100%; max-width: 420px; padding: 10px 12px; font-size: 15px; }
.adm-prod-city[hidden] { display: none; }
.adm-prod-acts { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.adm-prod-msg { font-size: 13.5px; color: var(--sm-text); }
.adm-prod-msg.adm-err { margin: 0; }
.adm-dialog { position: fixed; inset: 0; z-index: 900; display: grid; place-items: center; padding: 16px; background: rgba(58, 42, 47, .45); }
.adm-dialog[hidden] { display: none; }
.adm-dialog-box { width: min(460px, 100%); padding: 26px; border-radius: var(--sm-r-card); border: 1px solid var(--sm-line);
  background: var(--sm-surface); box-shadow: var(--sm-shadow-pop); animation: admIn .2s ease; }
.adm-dialog-box h3 { margin: 0 0 8px; font-family: var(--sm-serif); font-size: 28px; font-weight: 600; color: var(--sm-wine); }
.adm-dialog-box p { margin: 0 0 18px; color: var(--sm-text); line-height: 1.55; }
.adm-dialog-acts { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }

/* §5 responsive */
@media (max-width: 1024px) {
  .adm-console { display: block; }
  .adm-nav { position: fixed; top: 0; left: 0; bottom: 0; z-index: 1000; width: min(320px, 86vw); height: 100vh; height: 100dvh; transform: translateX(-104%);
    transition: transform .25s ease; border-right: 1px solid var(--sm-line); box-shadow: none; }
  .adm-nav.open { transform: none; box-shadow: 30px 0 60px -30px rgba(90, 30, 40, .45); }
  .adm-scrim { display: block; position: fixed; inset: 0; z-index: 999; background: rgba(58, 42, 47, .45); opacity: 0; pointer-events: none; transition: opacity .2s; }
  body.adm-menu-open .adm-scrim { opacity: 1; pointer-events: auto; }
  .adm-main { padding: 14px 20px 56px; }
  .adm-menu { display: inline-flex; align-items: center; gap: 8px; position: sticky; top: 68px; z-index: 20; margin: 0 0 14px; padding: 10px 14px; min-height: 44px;
    border-radius: 999px; border: 1px solid var(--sm-line); background: var(--sm-surface); color: var(--sm-wine); font-weight: 500; font-size: 15px;
    box-shadow: var(--sm-shadow-rest); cursor: pointer; }
  .adm-menu svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  .adm-head { flex-direction: column; gap: 12px; }
  body.adm #tab-business .panel-header { top: 124px; }
}
@media (max-width: 767px) {
  .adm-main { padding: 10px 16px 48px; }
  .adm-title { font-size: 32px; }
  .adm-form { grid-template-columns: 1fr; }
  .adm-row { flex-wrap: wrap; }
  .adm-row-acts { width: 100%; justify-content: flex-start; }
  .adm-card { padding: 16px; }
  body.adm input, body.adm select, body.adm textarea { font-size: 16px !important; }
  body.adm .adm-rolepick .bs-chip, body.adm .adm-row-acts .bs-chip, body.adm .adm-prod .bs-chip { font-size: 16px; min-height: 44px; }
  .adm-prod-city input { max-width: none; }
  body.adm .table-wrap { overflow-x: auto; }
}

/* the vivah-host "moved to shubhmuhrat.com" strip (branding.js) lands inside the console grid — give it its own row */
.adm-console > .host-migration-banner { grid-area: banner; margin: 12px 24px 0; }
@media (max-width: 1024px) { .adm-console > .host-migration-banner { margin: 10px 16px 0; } }

/* product settings pages: the console header already names the page — keep only the save bar */
body.adm #tab-business .panel-header > div:first-child { display: none; }
body.adm #tab-business .panel-header { justify-content: flex-end; }
body.adm #tab-business .bs-actions { width: 100%; justify-content: flex-end; }
body.adm #tab-business .bs-state { margin-right: auto; }
body.adm .btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger) {
  background: transparent; color: var(--sm-wine); border: 1.5px solid rgba(125, 46, 62, .35); }
body.adm #bsChips.single { display: none; }
.adm-sec { margin: 30px 0 12px; font-family: var(--sm-serif); font-size: 26px; line-height: 1.15; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--sm-wine); }
.adm-console > .host-migration-banner { box-sizing: border-box; max-width: calc(100% - 48px); }
@media (max-width: 1024px) { .adm-console > .host-migration-banner { max-width: calc(100% - 32px); } }

/* §6 Matchmaker — email & WhatsApp alerts (owner 2026-10-01): the new settings field types (admin-settings.js: email,
   wa_target + "Our WhatsApp groups", multi) and the live panel inside that card (admin-comms.js: status strip, Try it,
   preview dialog, Recent alerts). Scoped to .bs-wa* / .bs-mono / .cm-*; colours come from the §1 tokens. */
body.adm .bs-row input[type=email] { width: 100%; padding: 10px 12px; font: inherit; font-size: 14px; outline: none; }
body.adm .bs-mono, body.adm .cm-mono, body.adm .bs-wa code, body.adm .cm-panel code, body.adm .cm-modal code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace; }
body.adm .bs-mono { letter-spacing: .01em; }
body.adm .bs-wa-fmt { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 2px 0 4px; font-size: 13px; color: var(--sm-text); line-height: 1.5; }
body.adm .bs-wa-fmt b { color: var(--sm-ink); font-weight: 500; }
body.adm .bs-wa-fmt code { font-size: 12px; padding: 1px 6px; border-radius: 6px; background: var(--sm-bg-alt); color: var(--sm-wine); overflow-wrap: anywhere; }
body.adm .bs-wa-h { margin: 8px 0 2px; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--sm-rose-text); }
body.adm .bs-wa-groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
body.adm .bs-wa-chip { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-height: 44px; min-width: 0; padding: 10px 12px; text-align: left;
  font: inherit; font-size: 13.5px; color: var(--sm-ink); cursor: pointer; border-radius: var(--sm-r-field); border: 1px solid var(--sm-line);
  background: var(--sm-surface); transition: border-color .15s, background .15s; }
body.adm .bs-wa-chip:hover:not(:disabled) { border-color: rgba(125, 46, 62, .45); }
body.adm .bs-wa-chip:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
body.adm .bs-wa-chip[aria-pressed="true"] { border-color: var(--sm-wine); background: var(--sm-bg-alt);
  box-shadow: 0 0 0 1px var(--sm-wine) inset; }
body.adm .bs-wa-chip:disabled { opacity: .5; cursor: not-allowed; }
body.adm .bs-wa-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; }
body.adm .bs-wa-top b { color: var(--sm-ink); font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
body.adm .bs-wa-chip[aria-pressed="true"] .bs-wa-top b::before { content: "✓ "; color: var(--sm-wine); }
body.adm .bs-wa-chip code { display: block; max-width: 100%; font-size: 12px; color: var(--sm-text); overflow-wrap: anywhere; }
body.adm .bs-wa-chip .bs-wa-alias { color: var(--sm-wine); }
body.adm .bs-wa-why { font-size: 11.5px; color: var(--warning); line-height: 1.35; }
body.adm .bs-wa-pill, body.adm .cm-pill, body.adm .cm-tag { flex: none; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 2px 9px; border-radius: 999px; border: 1px solid var(--sm-line); color: var(--sm-text); background: var(--sm-bg-alt); white-space: nowrap; }
body.adm .bs-wa-pill.is-active, body.adm .cm-pill.is-ok { color: var(--sm-ok); border-color: rgba(47, 107, 69, .25); background: var(--sm-ok-bg); }
body.adm .bs-wa-pill.is-test, body.adm .cm-pill.is-mid, body.adm .cm-tag { color: var(--sm-wait); border-color: rgba(138, 90, 18, .25); background: var(--sm-wait-bg); }
body.adm .bs-wa-pill.is-reserved, body.adm .cm-pill.is-off { color: var(--sm-text); }
body.adm .bs-wa-pill.is-do-not-post { color: var(--sm-no); border-color: rgba(155, 44, 44, .25); background: var(--sm-no-bg); }
body.adm .cm-pill.is-bad { color: var(--sm-no); border-color: rgba(155, 44, 44, .25); background: var(--sm-no-bg); }

body.adm .cm-panel { display: grid; gap: 14px; margin: 4px 0 14px; padding: 18px; border-radius: var(--sm-r-tile); border: 1px solid var(--sm-line);
  background: var(--sm-bg); }
body.adm .cm-panel h4 { margin: 0; font-family: var(--sm-serif); font-size: 24px; font-weight: 600; color: var(--sm-wine); }
body.adm .cm-note { margin: 0; font-size: 13.5px; color: var(--sm-text); line-height: 1.5; }
body.adm .cm-status { padding: 12px 14px; border-radius: var(--sm-r-field); border: 1px solid var(--sm-line); border-left-width: 4px; background: var(--sm-surface); }
body.adm .cm-status.is-test { border-color: rgba(138, 90, 18, .25); border-left-color: var(--sm-wait); background: var(--sm-wait-bg); }
body.adm .cm-status.is-live { border-color: rgba(47, 107, 69, .25); border-left-color: var(--sm-ok); background: var(--sm-ok-bg); }
body.adm .cm-status.is-err { border-left-color: var(--sm-no); background: var(--sm-no-bg); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: space-between; }
body.adm .cm-mode { margin: 0; font-size: 14.5px; color: var(--sm-ink); line-height: 1.5; overflow-wrap: anywhere; }
body.adm .cm-flag { letter-spacing: .08em; }
body.adm .cm-status.is-test .cm-flag { color: var(--sm-wait); }
body.adm .cm-status.is-live .cm-flag { color: var(--sm-ok); }
body.adm .cm-status.is-loading .cm-mode { color: var(--sm-muted); }
body.adm .cm-mono { font-size: .92em; color: var(--sm-wine); }
body.adm .cm-chans { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
body.adm .cm-chan { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13.5px; color: var(--sm-text); }
body.adm .cm-chan-n { font-weight: 500; color: var(--sm-ink); min-width: 74px; }
body.adm .cm-chan-c { color: var(--sm-text); }
body.adm .cm-chan-x { flex-basis: 100%; color: var(--sm-text); font-size: 12.5px; overflow-wrap: anywhere; }
body.adm .cm-chan-x .cm-warn { color: var(--sm-no); }
body.adm .cm-status .cm-note { margin-top: 8px; }
body.adm .cm-sec { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--sm-line); }
body.adm .cm-sec-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
body.adm .cm-seg { display: inline-flex; width: max-content; max-width: 100%; padding: 3px; gap: 3px; border-radius: 999px; border: 1px solid var(--sm-line); background: var(--sm-bg-alt); }
body.adm .cm-seg-b { min-height: 40px; padding: 8px 18px; border: 0; border-radius: 999px; font: inherit; font-size: 14px; font-weight: 500; cursor: pointer;
  color: var(--sm-text); background: transparent; }
body.adm .cm-seg-b[aria-pressed="true"] { background: var(--sm-surface); color: var(--sm-wine); box-shadow: 0 2px 8px -4px rgba(90, 30, 40, .35); }
body.adm .cm-kinds { display: flex; flex-wrap: wrap; gap: 6px; }
body.adm .cm-chip { min-height: 38px; padding: 7px 13px; border-radius: 999px; font: inherit; font-size: 13px; cursor: pointer;
  border: 1px solid var(--sm-line); background: var(--sm-surface); color: var(--sm-ink); }
body.adm .cm-chip[aria-pressed="true"] { background: var(--sm-wine); color: #fff; border-color: var(--sm-wine); font-weight: 500; }
body.adm .cm-seg-b:focus-visible, body.adm .cm-chip:focus-visible, body.adm .cm-btn:focus-visible, body.adm .cm-x:focus-visible,
body.adm .cm-table-wrap:focus-visible { outline: 2px solid var(--sm-wine); outline-offset: 2px; }
body.adm .cm-acts { display: flex; flex-wrap: wrap; gap: 10px; }
body.adm .cm-btn { min-height: 44px; padding: 10px 20px; font-size: 14.5px; white-space: nowrap; }
body.adm .cm-st .cm-cv { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
body.adm .cm-result { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
body.adm .cm-result:empty { display: none; }
body.adm .cm-result.is-ok { color: var(--sm-ok); }
body.adm .cm-result.is-bad { color: var(--sm-no); }
body.adm .cm-empty { margin: 0; padding: 14px; border-radius: var(--sm-r-field); border: 1px dashed var(--sm-line); color: var(--sm-text); font-size: 13.5px; }
body.adm .cm-empty.is-err { color: var(--sm-no); border-color: rgba(155, 44, 44, .3); }
body.adm .cm-table-wrap { max-height: 440px; overflow: auto; border-radius: var(--sm-r-field); border: 1px solid var(--sm-line); background: var(--sm-surface); }
body.adm .cm-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
body.adm .cm-table th { position: sticky; top: 0; z-index: 1; text-align: left; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; padding: 9px 10px;
  background: var(--sm-bg-alt) !important; }
body.adm .cm-table td { padding: 9px 10px; vertical-align: top; border-top: 1px solid var(--sm-line); overflow-wrap: anywhere; }
body.adm .cm-table td:first-child { white-space: nowrap; }
body.adm .cm-errtxt { color: var(--sm-no); }
body.adm .cm-dim { color: var(--sm-muted); }

body.cm-modal-open { overflow: hidden; }
body.adm .cm-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 16px; background: rgba(58, 42, 47, .45);
  --cm-wa-wall: #EFEAE2; --cm-wa-bubble: #D9FDD3; --cm-wa-text: #111B21; --cm-wa-meta: #667781; --cm-wa-link: #027EB5; }
body.adm .cm-modal[hidden] { display: none; }
body.adm .cm-modal-box { display: flex; flex-direction: column; width: min(720px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: hidden;
  border-radius: var(--sm-r-card); border: 1px solid var(--sm-line); background: var(--sm-surface); box-shadow: var(--sm-shadow-pop); animation: admIn .2s ease; }
body.adm .cm-modal-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px 12px; border-bottom: 1px solid var(--border); }
body.adm .cm-kick { margin: 0 0 2px; font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--sm-rose-text); }
body.adm .cm-modal-h h3 { margin: 0; font-family: var(--sm-serif); font-size: 28px; font-weight: 600; color: var(--sm-wine); }
body.adm .cm-x { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--sm-line); background: var(--sm-surface);
  color: var(--sm-text); font-size: 24px; line-height: 1; cursor: pointer; }
body.adm .cm-modal-body { min-height: 0; overflow: auto; padding: 14px 18px 18px; display: grid; gap: 12px; }
body.adm .cm-mail-meta { margin: 0; display: grid; gap: 6px; }
body.adm .cm-mail-meta div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; font-size: 14px; }
body.adm .cm-mail-meta dt { color: var(--sm-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding-top: 2px; }
body.adm .cm-mail-meta dd { margin: 0; color: var(--sm-ink); overflow-wrap: anywhere; }
body.adm .cm-mail-fit { position: relative; width: 100%; overflow: hidden; border-radius: var(--sm-r-field); background: var(--sm-bg-alt); border: 1px solid var(--sm-line); }
body.adm .cm-mail-frame { display: block; width: 600px; height: 640px; border: 0; transform-origin: 0 0; background: transparent; }
body.adm .cm-mail-text summary { cursor: pointer; color: var(--sm-wine); font-size: 13.5px; font-weight: 500; min-height: 32px; }
body.adm .cm-mail-text pre { margin: 8px 0 0; padding: 12px; max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12.5px; border-radius: 10px; }
body.adm .cm-wa { display: grid; gap: 10px; }
body.adm .cm-wa-head { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px 12px 0 0; background: #F0F2F5; }
body.adm .cm-wa-head b { display: block; color: #111B21; font-size: 14.5px; font-weight: 500; }
body.adm .cm-wa-head small { display: block; color: #54656F; font-size: 12px; }
body.adm .cm-wa-ava { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-size: 12px; font-weight: 600; color: var(--sm-wine);
  background: var(--sm-icon-well); }
body.adm .cm-wa-wall { margin-top: -10px; padding: 16px 12px 18px; border-radius: 0 0 12px 12px; background: var(--cm-wa-wall);
  border: 1px solid #E3DED5; border-top: 0; }
body.adm .cm-wa-bubble { position: relative; max-width: min(420px, 92%); margin-left: auto; padding: 8px 10px 20px; border-radius: 10px 2px 10px 10px;
  background: var(--cm-wa-bubble); color: var(--cm-wa-text); font-size: 14.5px; line-height: 1.45; overflow-wrap: anywhere; box-shadow: 0 1px .5px rgba(11, 20, 26, .13); }
body.adm .cm-wa-bubble a { color: var(--cm-wa-link); text-decoration: underline; }
body.adm .cm-wa-bubble code { font-size: 13px; }
body.adm .cm-wa-time { position: absolute; right: 9px; bottom: 4px; font-size: 11px; color: var(--cm-wa-meta); }

@media (max-width: 767px) {
  body.adm .bs-wa-groups { grid-template-columns: 1fr; }
  body.adm .bs-wa-chip, body.adm .cm-seg-b, body.adm .cm-chip, body.adm .cm-btn { font-size: 16px; min-height: 44px; }
  body.adm .cm-panel { padding: 12px; }
  body.adm .cm-seg { display: flex; width: 100%; }
  body.adm .cm-seg-b { flex: 1; }
  body.adm .cm-acts .cm-btn { flex: 1 1 140px; padding: 10px 14px; }
  body.adm .cm-kick { letter-spacing: .1em; }
  body.adm .cm-table-wrap { max-height: none; border: 0; background: transparent; overflow: visible; }
  body.adm .cm-table, body.adm .cm-table tbody, body.adm .cm-table tr, body.adm .cm-table td { display: block; width: 100%; }
  body.adm .cm-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  body.adm .cm-table tr { margin: 0 0 8px; padding: 8px 12px; border-radius: var(--sm-r-field); border: 1px solid var(--sm-line); background: var(--sm-surface); }
  body.adm .cm-table td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 8px; padding: 5px 0; border: 0 !important; white-space: normal !important; }
  body.adm .cm-table td > .cm-cv { min-width: 0; }
  body.adm .cm-st > .cm-cv { justify-self: start; }
  body.adm .cm-table td::before { content: attr(data-label); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sm-text); padding-top: 2px; }
  body.adm .cm-table td.cm-noerr { display: none; }
  body.adm .cm-table tr:hover td { background: transparent !important; }
  body.adm .cm-modal { padding: 0; place-items: end stretch; }
  body.adm .cm-modal-box { width: 100%; max-height: 100vh; max-height: 100dvh; border-radius: 18px 18px 0 0; }
  body.adm .cm-modal-body { padding: 12px 14px 18px; }
  body.adm .cm-mail-meta div { grid-template-columns: 1fr; gap: 2px; }
  body.adm .cm-mail-text summary { font-size: 16px; min-height: 44px; display: flex; align-items: center; }
}
