:root {
  color-scheme: light;
  --ink: #17231d;
  --muted: #66736c;
  --canvas: #edf2ed;
  --soft: #f3f6f2;
  --surface: #fffdf8;
  --surface-raised: #ffffff;
  --line: #d7dfd9;
  --line-strong: #b9c8be;
  --green-950: #061b12;
  --green-900: #09271a;
  --green-800: #103a28;
  --green-700: #185239;
  --green-100: #dcece3;
  --gold: #d8a83f;
  --gold-dark: #946b19;
  --danger: #a63838;
  --danger-soft: #f9e8e7;
  --success: #24764e;
  --success-soft: #e3f3e9;
  --warning: #946b19;
  --warning-soft: #fff3d2;
  --focus-ring: rgba(24, 82, 57, .16);
  --shadow: 0 14px 36px rgba(17, 39, 27, .08);
}

* { box-sizing: border-box; }
html { min-width: 320px; overflow-x: hidden; background: var(--canvas); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; overflow-x: hidden; color: var(--ink); background: radial-gradient(circle at 100% 0, rgba(216,168,63,.06), transparent 28rem), var(--canvas); font: 15px/1.5 Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--green-700); text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(216,168,63,.42); outline-offset: 2px; }
img, svg, video, canvas { max-width: 100%; height: auto; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 276px; padding: 22px 16px 16px; display: flex; flex-direction: column; color: #fff; background: radial-gradient(circle at 0 0, rgba(216,168,63,.14), transparent 22rem), linear-gradient(180deg, var(--green-950), #082218); box-shadow: 8px 0 28px rgba(5,22,14,.12); }
.sidebar-brand { min-height: 56px; padding: 0 8px 18px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand-mark { width: 36px; height: 36px; flex: 0 0 auto; display: inline-grid; place-items: center; border-radius: 50%; color: var(--green-950); background: var(--gold); font: 600 22px/1 Georgia, "Times New Roman", serif; box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 7px 20px rgba(0,0,0,.16); }
.brand-mark.large { width: 62px; height: 62px; font-size: 38px; }
.brand-logo { width: 42px; height: 42px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 8px 16px rgba(0,0,0,.18)); }
.brand-logo.large { width: 84px; height: 84px; }
.sidebar-brand > div, .sidebar-account > div { min-width: 0; display: grid; gap: 2px; }
.sidebar-brand strong { font: 500 21px/1.1 Georgia, "Times New Roman", serif; }
.sidebar-brand div span, .sidebar-account div span { overflow: hidden; color: rgba(255,255,255,.57); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-nav { flex: 1; padding: 20px 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(216,168,63,.35) transparent; }
.nav-label { margin: 20px 11px 7px; color: rgba(255,255,255,.38); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nav-label:first-child { margin-top: 0; }
.nav-item { width: 100%; min-height: 44px; margin: 2px 0; padding: 8px 10px; display: flex; align-items: center; gap: 11px; border: 0; border-radius: 10px; color: rgba(255,255,255,.7); background: transparent; font-size: 13px; font-weight: 700; text-align: left; transition: color 140ms ease, background 140ms ease, transform 140ms ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.06); transform: translateX(2px); }
.nav-item.active { color: #fff; background: rgba(216,168,63,.16); box-shadow: inset 3px 0 0 var(--gold); }
.nav-icon { width: 28px; height: 28px; flex: 0 0 auto; display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; color: var(--gold); background: rgba(255,255,255,.03); font-size: 9px; font-weight: 900; }
.sidebar-account { min-height: 65px; padding: 12px 9px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.04); }
.sidebar-account strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.avatar { width: 39px; height: 39px; flex: 0 0 auto; display: inline-grid; place-items: center; border-radius: 12px; color: var(--green-900); background: var(--gold); font-size: 12px; font-weight: 900; }
.sidebar-scrim { position: fixed; z-index: 29; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(6,27,18,.58); backdrop-filter: blur(3px); }
.sidebar-scrim[hidden] { display: none !important; }

.app-stage { min-height: 100vh; margin-left: 276px; display: flex; flex-direction: column; }
.topbar { position: sticky; z-index: 20; top: 0; min-height: 78px; padding: 14px clamp(18px,3vw,38px); display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); background: rgba(255,253,248,.94); backdrop-filter: blur(16px); }
.topbar-title { min-width: 0; display: flex; align-items: center; gap: 12px; }
.topbar-title > div { min-width: 0; }
.topbar .eyebrow { margin: 0 0 2px; font-size: 9px; }
.topbar h1 { overflow: hidden; margin: 0; font: 800 23px/1.1 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.topbar nav { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.language-control { display: inline-flex; padding: 3px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); box-shadow: 0 4px 14px rgba(20,52,38,.06); }
.language-control button { min-width: 36px; min-height: 30px; padding: 5px 8px; border: 0; border-radius: 7px; color: var(--muted); background: transparent; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.language-control button:hover { color: var(--green-800); background: var(--soft); }
.language-control button.active { color: #fff; background: var(--green-800); box-shadow: 0 3px 9px rgba(24,82,57,.2); }
.global-language { position: absolute; z-index: 24; top: 14px; right: 14px; }
body:not(.auth-mode) .global-language, body.venue-site-active .global-language, body.floor-pos-active .global-language { display: none; }
.menu-button { display: none; }
.secure-pill { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 99px; color: var(--success); background: var(--success-soft); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.secure-pill::before { width: 6px; height: 6px; border-radius: 50%; background: #2f9d67; box-shadow: 0 0 0 4px rgba(47,157,103,.11); content: ""; }
.shell { width: 100%; max-width: 1616px; min-height: calc(100vh - 135px); margin: 0 auto; padding: clamp(24px,3vw,42px); flex: 1; }
footer { padding: 18px 38px; border-top: 1px solid var(--line); color: #89958e; background: rgba(255,253,248,.55); text-align: right; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }

h1 { margin: 0 0 14px; font: 500 clamp(34px,4vw,48px)/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
h2 { margin: 0 0 14px; font: 650 24px/1.12 Inter, ui-sans-serif, system-ui, sans-serif; letter-spacing: -.035em; }
h3 { margin: 0 0 8px; font-size: 16px; }
p { color: var(--muted); }
.eyebrow { margin: 0 0 8px; color: var(--gold-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.lead { max-width: 760px; margin-top: 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.muted { color: var(--muted); }
.good { color: var(--success); }
.warn { color: var(--warning); }
.bad { color: var(--danger); }
.accent { color: var(--green-700); }
.float-right { float: right; }

.grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.card { min-width: 0; grid-column: span 4; padding: 22px; border: 1px solid var(--line); border-radius: 15px; color: var(--ink); background: var(--surface); box-shadow: 0 7px 20px rgba(17,39,27,.045); }
a.card { display: block; transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease; }
a.card:hover { border-color: #a9bbae; transform: translateY(-3px); box-shadow: 0 16px 36px rgba(17,39,27,.1); }
.card.wide { grid-column: span 8; }
.card.full { grid-column: 1 / -1; }
.card > h2:first-child, .card > h3:first-child { color: var(--ink); }
.metric { margin: 8px 0 4px; color: var(--ink); font: 500 34px/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.metric-grid { margin: 18px 0 30px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.metric-grid .card { grid-column: auto; min-height: 132px; display: grid; align-content: space-between; }
.metric-grid .card > small { color: var(--muted); font-size: 11px; font-weight: 800; }
.metric-grid .card p { margin: 5px 0 0; color: #87928b; font-size: 11px; }
.command-heading { min-height: 96px; margin-bottom: 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.command-heading h1 { margin-bottom: 8px; }
.command-heading h1 { font-size: clamp(40px,5vw,60px); }
.command-heading .lead { margin-bottom: 0; }
.command-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.live-indicator { display: inline-flex; min-height: 38px; padding: 8px 12px; align-items: center; gap: 8px; border: 1px solid #9fbea9; border-radius: 999px; color: var(--success); background: rgba(255,255,255,.55); font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.live-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #2f9d67; box-shadow: 0 0 0 5px rgba(47,157,103,.11); animation: live-pulse 2s ease-in-out infinite; }
.section-head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-head > * { min-width: 0; }
.stack-links { display: grid; margin-top: 12px; }
.stack-links a { padding: 12px 0; display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 750; }
.stack-links a:last-child { border-bottom: 0; }
.module-card-grid { align-items: stretch; }
.operation-card { min-height: 230px; display: grid !important; align-content: space-between; overflow: hidden; position: relative; }
.operation-card::after { position: absolute; right: -42px; bottom: -62px; width: 150px; height: 150px; border: 1px solid rgba(24,82,57,.1); border-radius: 50%; content: ""; }
.operation-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.module-symbol { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid #c6d2ca; border-radius: 10px; color: var(--gold-dark); background: var(--soft); font-size: 10px; font-weight: 900; }
.operation-card h2 { margin: 25px 0 0; }
.operation-card .metric { font-size: 25px; }
.operation-card p { max-width: 310px; margin: 0; font-size: 12px; }

button, .button { min-height: 42px; padding: 10px 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--green-800); border-radius: 10px; color: #fff; background: var(--green-800); font-weight: 800; line-height: 1.15; cursor: pointer; transition: background 140ms ease, border-color 140ms ease, transform 140ms ease; }
button:hover, .button:hover { border-color: var(--green-700); background: var(--green-700); }
button:active, .button:active { transform: translateY(1px); }
button[disabled], .button[disabled] { opacity: .48; cursor: not-allowed; }
.button.primary { border-color: var(--green-800); color: #fff; background: var(--green-800); }
button.secondary, .button.secondary, .button.ghost, button.ghost { border-color: var(--line-strong); color: var(--green-700); background: var(--surface); }
button.secondary:hover, .button.secondary:hover, .button.ghost:hover, button.ghost:hover { border-color: #93a99b; background: var(--soft); }
.button.danger, button.danger { border-color: #d6a7a7; color: var(--danger); background: #fff8f7; }
.button.compact, button.compact { min-height: 36px; padding: 8px 12px; font-size: 11px; }
.button.full, button.full { width: 100%; }
.icon-button { width: auto; min-height: 40px; padding: 8px 11px; }
.text-button { padding: 0; border: 0; color: var(--green-700); background: none; font-size: 12px; font-weight: 800; }
.text-button:hover { color: var(--green-900); background: none; }
.actions { margin-top: 18px; display: flex; gap: 9px; flex-wrap: wrap; }
.wrap { flex-wrap: wrap; }

.form { width: min(650px,100%); display: grid; gap: 15px; }
.form.two { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }
label { min-width: 0; display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 800; }
input, select, textarea { width: 100%; min-width: 0; padding: 12px 13px; border: 1px solid var(--line-strong); border-radius: 9px; color: var(--ink); background: var(--surface-raised); outline: 0; }
input:hover, select:hover, textarea:hover { border-color: #93a99b; }
input:focus, select:focus, textarea:focus { border-color: var(--green-700); box-shadow: 0 0 0 3px var(--focus-ring); }
input::placeholder, textarea::placeholder { color: #87958d; }
textarea { min-height: 118px; resize: vertical; line-height: 1.5; }
pre, code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
code { padding: 2px 5px; border-radius: 5px; color: #244b37; background: var(--green-100); }
pre { overflow: auto; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }

.notice, .error { margin: 13px 0; padding: 13px 15px; border: 1px solid #c9d8cd; border-left: 4px solid var(--green-700); border-radius: 9px; color: var(--ink); background: #f7fbf8; }
.notice p { margin-bottom: 0; }
.error { border-color: #dfb8b8; border-left-color: var(--danger); color: #772c2c; background: var(--danger-soft); }
.status { padding: 5px 9px; display: inline-flex; align-items: center; border-radius: 999px; color: var(--muted); background: var(--soft); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.status.active, .status.live, .status.succeeded, .status.printed, .status.closed, .status.completed, .status.approved, .status.captured, .status.validation { color: var(--success); background: var(--success-soft); }
.status.failed, .status.past_due, .status.offline, .status.cancelled, .status.void, .status.refunded { color: var(--danger); background: var(--danger-soft); }
.status.open, .status.pending, .status.submitted, .status.partially_refunded { color: var(--warning); background: var(--warning-soft); }
.progress { height: 9px; overflow: hidden; border: 1px solid var(--line); border-radius: 99px; background: var(--soft); }
.progress div { height: 100%; background: var(--green-700); }
.empty-state { min-height: 150px; padding: 28px 16px; display: grid; place-content: center; justify-items: center; border: 1px dashed var(--line-strong); border-radius: 10px; color: var(--muted); background: var(--soft); text-align: center; }
.empty-state strong { color: var(--ink); font-size: 16px; }
.empty-state p { max-width: 580px; margin: 6px 0 12px; }
.loading { min-height: 420px; display: grid; place-items: center; color: var(--muted); }
.loading::before { width: 24px; height: 24px; margin-right: 10px; border: 2px solid var(--line); border-top-color: var(--green-700); border-radius: 50%; animation: spin .75s linear infinite; content: ""; }

.table-wrap { width: 100%; overflow-x: auto; scrollbar-width: thin; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 10px; border-bottom: 1px solid var(--line); color: var(--ink); text-align: left; vertical-align: top; }
th { color: var(--muted); background: var(--soft); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
tbody tr { transition: background 140ms ease; }
tbody tr:hover { background: rgba(220,236,227,.42); }
td .muted { font-size: 11px; }
.transaction-row .muted { max-width: 260px; display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.transaction-title { margin-bottom: 4px; }
.transaction-title h1 { margin-bottom: 5px; }
.timeline-row { padding: 11px 0; display: grid; grid-template-columns: 12px minmax(0,1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.timeline-row:last-child { border-bottom: 0; }
.timeline-row > i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-700); box-shadow: 0 0 0 4px rgba(24,82,57,.1); }
.timeline-row div { min-width: 0; display: grid; }
.timeline-row span, .timeline-row time { color: var(--muted); font-size: 11px; }

.chat { max-height: 470px; padding: 5px; display: grid; gap: 10px; overflow: auto; }
.bubble { max-width: 82%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px 13px 13px 4px; color: var(--ink); background: var(--soft); }
.bubble.customer { justify-self: end; border-color: #b9d4c2; border-radius: 13px 13px 4px 13px; color: #fff; background: var(--green-800); }
.code { color: var(--green-700); font: 800 30px/1.2 "SFMono-Regular", Consolas, monospace; letter-spacing: .12em; }
.question-options { display: flex; flex-wrap: wrap; gap: 8px; }
.question-options label { padding: 9px 11px; display: flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.question-options input { width: auto; }

.pos-layout { margin: 22px 0; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 18px; align-items: start; }
.floor-map { min-height: 500px; padding: 24px; display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 18px; align-content: start; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)), repeating-linear-gradient(0deg,transparent,transparent 31px,#e7ede8 32px), repeating-linear-gradient(90deg,transparent,transparent 31px,#e7ede8 32px); }
.floor-table { min-height: 132px; padding: 20px 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #b8c8bd; border-radius: 50%; color: var(--ink); background: var(--surface); box-shadow: 0 12px 30px rgba(17,39,27,.08); }
.floor-table:hover { color: var(--ink); border-color: var(--green-700); background: #f8fcf9; }
.floor-table strong { font-size: 15px; }
.floor-table small, .floor-table span { color: var(--muted); font-size: 10px; }
.floor-table.occupied { border-color: rgba(216,168,63,.72); background: #fff9e8; }
.floor-table.available { border-color: #88b49a; }
.floor-table.selected { box-shadow: 0 0 0 3px rgba(24,82,57,.16), 0 16px 34px rgba(17,39,27,.12); transform: translateY(-2px); }
.pos-check { position: sticky; top: 96px; }
.check-lines { max-height: 320px; padding: 12px 0; display: grid; gap: 4px; overflow: auto; border-block: 1px solid var(--line); }
.check-line { padding: 9px 4px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.check-line small { display: block; color: var(--muted); }
.check-line.voided { opacity: .48; text-decoration: line-through; }
.check-total { padding: 18px 0; display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; }
.check-total .accent { color: var(--green-700); font-size: 18px; }
.menu-grid { display: grid; gap: 9px; }
.menu-choice { padding: 13px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.menu-choice span { display: grid; }
.menu-choice .menu-description { max-width: 680px; margin-top: 4px; color: var(--muted); font-weight: 550; line-height: 1.4; }
.menu-choice input { width: 80px; }
.report-filter { margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.report-filter label { min-width: 170px; }

/* Full-screen Celtic-aligned Floor POS */
body.floor-pos-active, body.floor-pos-active .app-stage, body.floor-pos-active .shell { background: #07130e; }
body.floor-pos-active .app-stage > .topbar, body.floor-pos-active .app-stage > footer { display: none; }
body.floor-pos-active .shell { max-width: none; min-height: 100dvh; padding: 0; }
.pos-screen { min-height: 100dvh; display: flex; flex-direction: column; color: #17231d; background: #f6f1e4; }
.pos-command-bar { position: sticky; z-index: 18; top: 0; min-height: 82px; padding: 10px 14px; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 12px; border-bottom: 1px solid rgba(216,168,63,.28); color: #f8faf8; background: #0a1a12; }
.pos-command-bar > div:nth-child(2) { min-width: 0; }
.pos-command-bar span, .pos-command-bar h1, .pos-command-bar p { margin: 0; }
.pos-command-bar > div:nth-child(2) > span { color: #d8a83f; font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.pos-command-bar h1 { overflow: hidden; margin: 2px 0; color: #fff; font: 900 21px/1.05 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.pos-command-bar p { overflow: hidden; color: #8fa498; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.pos-icon-button, .pos-tool-button { min-width: 44px; min-height: 44px; padding: 8px 11px; border: 1px solid rgba(216,168,63,.28); border-radius: 7px; display: inline-grid; place-items: center; color: #f8faf8; background: #10271d; font-size: 10px; font-weight: 900; }
.pos-icon-button:hover, .pos-tool-button:hover { border-color: rgba(216,168,63,.68); color: #fff; background: #173a2a; }
.pos-tool-button.primary { border-color: #bd902e; color: #07130e; background: #d8a83f; }
.pos-command-actions { display: flex; align-items: center; justify-content: end; gap: 7px; }
.pos-command-actions.order-tools { flex-wrap: nowrap; }
.pos-command-bar .language-control { border-color: rgba(216,168,63,.34); background: #10271d; box-shadow: none; }
.pos-command-bar .language-control button { color: #afc0b6; }
.pos-command-bar .language-control button:hover { color: #fff; background: #173a2a; }
.pos-command-bar .language-control button.active { color: #07130e; background: #d8a83f; }
.pos-floor-content { min-height: calc(100dvh - 82px); padding: 12px; flex: 1; }
.pos-runtime-strip { min-height: 48px; margin-bottom: 12px; padding: 9px 12px; display: flex; align-items: center; gap: 14px; border: 1px solid #cbd6ce; border-radius: 8px; color: #647168; background: #fffdf8; font-size: 10px; font-weight: 800; }
.pos-runtime-strip span { display: inline-flex; align-items: center; gap: 6px; }
.pos-runtime-strip span:first-child { margin-right: auto; color: #24764e; }
.pos-runtime-strip i { width: 7px; height: 7px; border-radius: 50%; background: #2fbf70; box-shadow: 0 0 0 4px rgba(47,191,112,.12); }
.pos-runtime-strip button { min-height: 32px; }
.pos-qr-queue { margin-bottom: 12px; overflow: hidden; border: 1px solid #d7dfd9; border-radius: 8px; background: #fffdf8; }
.pos-qr-queue.has-orders { border-color: #cf7c70; box-shadow: 0 0 0 2px rgba(166,56,56,.08); }
.pos-queue-head { min-height: 52px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pos-queue-head > div { display: grid; gap: 2px; }
.pos-queue-head span { color: #946b19; font-size: 8px; font-weight: 950; letter-spacing: .1em; }
.pos-queue-head strong { font-size: 13px; }
.pos-queue-head a { color: #185239; font-size: 10px; font-weight: 850; }
.pos-qr-list { border-top: 1px solid #ead2cd; background: #fff7f5; }
.pos-qr-list article { min-height: 66px; padding: 10px 12px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; border-bottom: 1px solid #ead2cd; }
.pos-qr-list article:last-child { border-bottom: 0; }
.pos-qr-list article > div:first-child { min-width: 0; display: grid; gap: 3px; }
.pos-qr-list small { color: #946b19; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.pos-qr-list article strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.pos-qr-list article > b { color: #17231d; font-size: 15px; }
.pos-qr-list article > div:last-child { display: flex; gap: 6px; }
.pos-section-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.pos-section-card { position: relative; min-height: 150px; padding: 20px; border: 1px solid #d7dfd9; border-radius: 10px; display: grid; place-content: center; justify-items: center; gap: 8px; color: #17231d; background: #fffdf8; box-shadow: 0 8px 22px rgba(6,27,18,.05); }
.pos-section-card:hover { border-color: #79a78c; color: #17231d; transform: translateY(-2px); }
.pos-section-card.open { border-color: #70aa84; box-shadow: inset 0 0 0 2px rgba(36,118,78,.13); }
.pos-section-card.warning { border-color: #cb6c64; box-shadow: inset 0 0 0 2px rgba(166,56,56,.13); }
.pos-section-card > strong { font-size: clamp(28px,4vw,44px); font-weight: 950; line-height: 1; }
.pos-section-card > span:not(.pos-qr-badge) { color: #68746e; font-size: 12px; font-weight: 850; }
.pos-qr-badge { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 5px; color: #fff; background: #b83e38; font-size: 9px; font-weight: 950; }
.pos-section-count { position: absolute; top: 10px; right: 10px; min-width: 27px; height: 27px; display: grid !important; place-items: center; border-radius: 50%; color: #07130e !important; background: #d8a83f; font-size: 10px !important; }
.pos-table-section { margin-top: 4px; }
.pos-table-heading { min-height: 50px; margin-bottom: 10px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; }
.pos-table-heading > div { min-width: 0; }
.pos-table-heading span { color: #946b19; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.pos-table-heading h2 { margin: 0; font-size: 20px; }
.pos-table-heading > small { color: #68746e; font-size: 10px; font-weight: 850; }
.pos-table-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; }
.pos-table { position: relative; aspect-ratio: 1; min-height: 108px; padding: 10px 7px; border: 1px solid #d7dfd9; border-radius: 8px; display: grid; place-content: center; justify-items: center; gap: 5px; color: #17231d; background: #fffdf8; }
.pos-table:hover { border-color: #6f9d81; color: #17231d; background: #f7fbf8; }
.pos-table.open { border-color: #54a874; box-shadow: inset 0 0 0 2px rgba(36,118,78,.14); }
.pos-table.warning { border-color: #ce635d; box-shadow: inset 0 0 0 2px rgba(166,56,56,.14); }
.pos-table > strong { max-width: 100%; overflow-wrap: anywhere; font-size: 22px; font-weight: 950; line-height: 1; }
.pos-table > small { color: #7b887f; font-size: 8px; font-weight: 750; }
.pos-table > span:last-child { color: #24764e; font-size: 8px; font-weight: 900; }
.pos-table-alert { position: absolute; top: 5px; left: 5px; padding: 3px 5px; border-radius: 4px; color: #fff; background: #b83e38; font-size: 7px; font-weight: 950; }
.pos-table-count { position: absolute; top: 5px; right: 5px; min-width: 21px; height: 21px; border-radius: 50%; display: grid; place-items: center; color: #07130e; background: #d8a83f; font-size: 9px; font-weight: 950; }
.pos-empty { min-height: 120px; padding: 20px; display: grid; place-content: center; grid-column: 1/-1; color: #7b887f; text-align: center; }
.pos-check-tabs { min-height: 58px; padding: 8px 12px; display: flex; align-items: stretch; gap: 8px; overflow-x: auto; border-bottom: 1px solid #d7dfd9; background: #f6f1e4; }
.pos-check-chip { min-width: 120px; padding: 7px 11px; border: 1px solid #cbd6ce; border-radius: 8px; display: grid; align-content: center; color: #17231d; background: #fffdf8; }
.pos-check-chip strong, .pos-check-chip small { display: block; }
.pos-check-chip strong { font-size: 11px; }
.pos-check-chip small { margin-top: 2px; color: #68746e; font-size: 9px; }
.pos-check-chip.active { border-color: #b18527; color: #07130e; background: #d8a83f; }
.pos-check-chip.active small { color: #4b3913; }
.pos-check-count-controls { display: flex; gap: 6px; flex: 0 0 auto; }
.pos-check-add, .pos-check-remove { width: 42px; min-width: 42px; padding: 0; font-size: 22px; }
.pos-check-add { border-color: #79a78c; color: #24764e; background: #e3f3e9; }
.pos-check-remove { border-color: #d4aaa5; color: #9b3d38; background: #fff0ed; }
.pos-order-workspace { min-height: 0; display: grid; flex: 1; grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr); overflow: hidden; }
.pos-summary { min-height: 0; padding: 14px; overflow-y: auto; color: #f2f7f4; background: #0b1f14; }
.pos-summary-head { padding-bottom: 10px; border-bottom: 1px solid #234533; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.pos-summary-head span { color: #d8a83f; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.pos-summary-head h2 { margin: 2px 0 0; color: #fff; font-size: 18px; }
.pos-summary-head > strong { color: #fff; font-size: 22px; }
.pos-summary-head-actions { display: grid; justify-items: end; gap: 6px; }
.pos-summary-head-actions > strong { color: #fff; font-size: 22px; }
.pos-summary-head-actions button { min-height: 28px; padding: 4px 8px; border-color: #315342; color: #dce9e1; background: #10291e; font-size: 9px; }
.pos-summary .error { color: #ffd2ce; background: #421d1c; }
.pos-line-list { margin-top: 10px; display: grid; gap: 7px; }
.pos-line { padding: 9px; border: 1px solid #254535; border-radius: 8px; background: #10271d; }
.pos-line.voided { opacity: .58; }
.pos-line-main { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 8px; }
.pos-line-main > span { min-height: 30px; padding: 5px; border-radius: 7px; display: grid; place-items: center; color: #07130e; background: #d8a83f; font-weight: 950; }
.pos-line-main > div { min-width: 0; display: grid; gap: 3px; }
.pos-line-main strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.pos-line-main small { color: #f2c36a; font-size: 8px; }
.pos-line-main > b { font-size: 12px; white-space: nowrap; }
.pos-line-actions { margin-top: 8px; padding-left: 40px; display: flex; flex-wrap: wrap; gap: 5px; }
.pos-line-actions button { min-height: 29px; padding: 4px 8px; border-color: #315342; color: #eaf2ed; background: #173426; font-size: 10px; }
.pos-line-actions button.danger { border-color: #6e3432; color: #ffaaa2; background: #351817; }
.pos-void-label { display: block; margin-top: 6px; color: #ffaaa2; font-size: 8px; font-weight: 850; }
.pos-summary-totals { margin-top: 12px; padding-top: 10px; border-top: 1px solid #234533; display: grid; gap: 6px; }
.pos-summary-totals > div { display: flex; justify-content: space-between; gap: 12px; color: #a7b9ae; font-size: 11px; }
.pos-summary-totals b { color: #f1f6f3; }
.pos-summary-totals .due { margin-top: 4px; padding-top: 8px; border-top: 1px solid #315342; color: #f7cf7c; font-size: 16px; font-weight: 900; }
.pos-summary-totals .due b { color: #f7cf7c; }
.pos-summary-actions { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
.pos-summary-actions button { flex: 1 1 120px; min-height: 38px; }
.pos-summary-actions .ghost { border-color: #315342; color: #dce9e1; background: #10291e; }
.pos-security-note { margin: 12px 0 0; color: #738a7d; font-size: 8px; }
.pos-shop { min-height: 0; padding: 14px; overflow-y: auto; color: #17231d; background: #f6f1e4; }
.pos-shop .pos-qr-queue { margin-bottom: 10px; }
.pos-catalog-head { min-height: 48px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.pos-catalog-head span { color: #946b19; font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.pos-catalog-head h2 { margin: 2px 0 0; font-size: 22px; }
.pos-catalog-head > strong { color: #68746e; font-size: 10px; }
.pos-catalog-back { min-height: 38px; padding: 8px 11px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cbd6ce; border-radius: 7px; color: #17231d; background: #fffdf8; font-size: 10px; font-weight: 900; }
.pos-category-picker-head { min-height: 58px; margin-bottom: 10px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.pos-category-picker-head span { color: #946b19; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.pos-category-picker-head h2 { margin: 3px 0 0; font-size: 24px; }
.pos-category-picker-head > strong { color: #68746e; font-size: 10px; }
.pos-category-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding-bottom: 20px; }
.pos-category-card { min-height: 118px; padding: 15px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #d7dfd9; border-radius: 10px; color: #17231d; background: linear-gradient(145deg,#fffdf8,#f3ead6); box-shadow: 0 7px 20px rgba(6,27,18,.05); }
.pos-category-card:hover { border-color: #78a58a; color: #17231d; transform: translateY(-2px); }
.pos-category-card > span { min-width: 0; display: grid; gap: 7px; }
.pos-category-card strong { font-size: 17px; line-height: 1.1; }
.pos-category-card small { color: #7b887f; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.pos-category-card > b { color: #a77919; font-size: 25px; }
.pos-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding-bottom: 20px; }
.pos-product { min-height: 102px; padding: 12px; border: 1px solid #d7dfd9; border-radius: 9px; display: grid; align-content: space-between; gap: 14px; color: #17231d; background: #fffdf8; text-align: left; }
.pos-product:hover { border-color: #78a58a; color: #17231d; background: #f8fcf9; transform: translateY(-1px); }
.pos-product > span { display: grid; gap: 4px; }
.pos-product strong { font-size: 13px; }
.pos-product small { color: #7b887f; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.pos-product .pos-product-description { display: -webkit-box; overflow: hidden; color: #647269; font-size: 9px; font-weight: 600; line-height: 1.35; text-transform: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pos-product > b { color: #946b19; font-size: 15px; }
.pos-product > b small { margin-left: 3px; }
.pos-bottom-actions { min-height: 66px; padding: 9px 12px; border-top: 1px solid rgba(216,168,63,.28); display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #0a1a12; }
.pos-bottom-actions .button { min-height: 46px; }
.pos-tool-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pos-tool-choice button { min-height: 130px; padding: 18px; display: grid; align-content: center; justify-items: start; gap: 7px; text-align: left; }
.pos-tool-choice button span { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 600; }
.workspace-modal { position: fixed; z-index: 100; inset: 0; padding: 20px; display: grid; place-items: center; overflow-y: auto; background: rgba(5,18,12,.72); backdrop-filter: blur(5px); }
.workspace-dialog { width: min(680px,100%); max-height: calc(100dvh - 40px); padding: 20px; overflow-y: auto; border: 1px solid #b9c8be; border-radius: 14px; color: #17231d; background: #fffdf8; box-shadow: 0 30px 90px rgba(0,0,0,.34); }
.workspace-dialog-head { margin: -2px 0 18px; padding-bottom: 14px; border-bottom: 1px solid #d7dfd9; display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.workspace-dialog-head > div { min-width: 0; }
.workspace-dialog-head h2 { margin: 0 0 4px; font-size: 23px; }
.workspace-dialog-head p { margin: 0; font-size: 11px; }
.workspace-dialog-head .eyebrow { margin-bottom: 5px; color: #946b19; font-size: 8px; }
.dialog-actions { margin-top: 8px; display: flex; justify-content: flex-end; gap: 8px; }
.dialog-actions.full { grid-column: 1/-1; }
.checkbox-row { display: flex; align-items: center; gap: 9px; }
.checkbox-row input { width: 18px; height: 18px; }
.pos-choice-list { margin: 0; padding: 10px; border: 1px solid #d7dfd9; border-radius: 8px; display: grid; gap: 6px; }
.pos-choice-list legend { padding: 0 6px; color: #66736c; font-size: 10px; font-weight: 850; }
.pos-choice-list label { min-height: 42px; padding: 8px; border: 1px solid #e1e7e2; border-radius: 7px; display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 8px; color: #17231d; background: #f8faf7; }
.pos-choice-list input { width: 18px; height: 18px; }
.guest-receipt-preview { padding: 18px; border: 1px dashed #94a59a; background: #f7f5ed; }
.guest-receipt-preview pre { width: min(360px,100%); margin: auto; border: 0; color: #111; background: #fff; font-size: 11px; }
.pos-pin { padding: 18px; border: 1px solid #d7dfd9; border-radius: 8px; display: grid; justify-items: center; gap: 4px; background: #f3f6f2; }
.pos-pin span, .pos-pin small { color: #66736c; font-size: 9px; font-weight: 850; }
.pos-pin strong { color: #946b19; font-size: 44px; letter-spacing: .12em; }
.pos-qr-code { margin: 0; padding: 14px; display: grid; justify-items: center; gap: 10px; text-align: center; }
.pos-qr-code img { width: min(260px,100%); }
.pos-qr-code figcaption { display: grid; gap: 3px; }
.pos-qr-code small { color: #66736c; }

/* Celtic-style split authentication */
body.auth-mode { background: var(--surface); }
body.auth-mode .sidebar, body.auth-mode .topbar, body.auth-mode footer { display: none; }
body.auth-mode .app-stage { margin-left: 0; }
body.auth-mode .shell { width: min(1180px,92vw); max-width: 1180px; min-height: 100vh; padding: clamp(32px,6vw,76px) 0; }
body.login-screen-active .shell { width: 100%; max-width: none; padding: 0; }
.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(440px,.92fr); }
.auth-visual { position: relative; isolation: isolate; min-height: 100vh; padding: clamp(42px,7vw,104px); display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--green-950); }
.auth-visual::before { position: absolute; z-index: -2; inset: 0; background: linear-gradient(100deg,rgba(6,27,18,.98) 3%,rgba(6,27,18,.78) 56%,rgba(6,27,18,.38)), url("/assets/dramaudit-hero.webp") center/cover; content: ""; }
.auth-visual::after { position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 20% 15%,rgba(216,168,63,.22),transparent 34%), linear-gradient(0deg,rgba(6,27,18,.64),transparent 55%); content: ""; }
.auth-brand-lockup { width: min(660px,100%); display: grid; justify-items: start; }
.auth-brand-lockup > p { margin: 20px 0 12px; color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.auth-brand-lockup h1 { max-width: 650px; margin: 0 0 22px; color: #fff; font-size: clamp(48px,6vw,92px); line-height: .9; }
.auth-brand-lockup > span:not(.brand-mark) { max-width: 590px; color: rgba(255,255,255,.68); font-size: 17px; line-height: 1.65; }
.auth-signal { margin-top: 34px; padding: 9px 12px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 99px; color: rgba(255,255,255,.72); background: rgba(6,27,18,.4); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(12px); }
.auth-signal i { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(216,168,63,.12); }
.auth-form-wrap { min-height: 100vh; padding: clamp(28px,6vw,80px); display: grid; place-items: center; background: #f8f5ec; }
.auth-card { width: min(470px,100%); padding: clamp(26px,4vw,38px); border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: 0 24px 70px rgba(6,27,18,.16); }
.auth-card h2 { margin: 3px 0 6px; font: 500 40px/1 Georgia, "Times New Roman", serif; }
.auth-card > p { margin-top: 0; }
.mobile-auth-brand { margin-bottom: 26px; display: flex; align-items: center; gap: 10px; color: var(--ink); font: 500 20px Georgia, "Times New Roman", serif; }
.auth-link-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.auth-back { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 700; }
.auth-type-tabs { margin-bottom: 24px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: #f4f1e8; }
.auth-type-tabs button { min-height: 42px; border: 0; border-radius: 9px; color: var(--muted); background: transparent; box-shadow: none; }
.auth-type-tabs button.active { color: #fff; background: var(--green-900); }
.auth-type-panel { display: grid; gap: 14px; }
.auth-type-panel[hidden] { display: none; }
.auth-type-panel h2 { margin: 3px 0 0; }
.auth-venue-picker { display: grid; gap: 7px; font-weight: 750; }
.auth-choice-actions { display: grid; gap: 10px; }
.auth-choice-actions .button { justify-content: center; text-align: center; }

/* Celtic owner command-center treatment */
body.owner-dashboard-active, body.owner-dashboard-active .app-stage, body.owner-dashboard-active .shell { background: #06140f; }
body.owner-dashboard-active .topbar { border-color: #173b2c; color: #f4f8f5; background: rgba(7,23,18,.96); }
body.owner-dashboard-active .topbar .eyebrow, body.owner-dashboard-active .topbar h1 { color: #f4f8f5; }
body.owner-dashboard-active .topbar .button.ghost, body.owner-dashboard-active .topbar .secure-pill { border-color: #254a39; color: #dce8e1; background: #0b2118; }
body.owner-dashboard-active .language-control { border-color: #315543; background: #0b2118; }
body.owner-dashboard-active .language-control button { color: #adc6b7; }
body.owner-dashboard-active .language-control button.active { color: #10291d; background: #f2c26f; }
body.owner-dashboard-active footer { border-color: #173b2c; color: #70867a; background: #071712; }
.owner-dashboard-root { width: 100%; max-width: 1440px; margin: 0 auto; display: grid; gap: 16px; color: #f5f8f6; }
.owner-dashboard-head { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.owner-dashboard-head h2 { margin: 0 0 5px; color: #f7faf8; font: 850 32px/1.08 Inter,ui-sans-serif,system-ui,sans-serif; }
.owner-dashboard-head p { margin: 0; color: #91a79a; font-size: 13px; }
.owner-dashboard-kicker { margin-bottom: 5px !important; color: #58d98c !important; font-size: 9px !important; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.owner-dashboard-controls { display: flex; align-items: center; gap: 9px; }
.owner-date-control, .owner-refresh-button { min-height: 44px; padding: 0 14px; border: 1px solid #234533; border-radius: 7px; display: inline-flex; align-items: center; gap: 9px; color: #e9f1ec; background: #0b2118; font-size: 12px; }
.owner-refresh-button { border-color: #1f8554; background: #147747; font-weight: 800; }
.owner-refresh-button:hover { border-color: #249b63; background: #1a8b56; }
.owner-live-status { min-width: 0; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.owner-live-status::-webkit-scrollbar { display: none; }
.owner-status-pill { min-height: 30px; padding: 0 10px; border: 1px solid #274839; border-radius: 6px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; color: #9fb3a8; background: #0a1d15; font-size: 9px; font-weight: 800; }
.owner-status-pill i { width: 7px; height: 7px; border-radius: 50%; background: #6f8478; }
.owner-status-pill.good { border-color: #205d3d; color: #9fe3b8; background: #0c2a1c; }
.owner-status-pill.good i { background: #36d37b; }
.owner-status-pill.warning { border-color: #6c501c; color: #f4ca7c; background: #2d210c; }
.owner-status-pill.warning i { background: #f0a62b; }
.owner-status-pill.critical { border-color: #713331; color: #ffb1aa; background: #301513; }
.owner-status-pill.critical i { background: #ff6868; }
.owner-icon { display: block; flex: 0 0 auto; }
.owner-scoreboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.owner-scoreboard article { min-width: 0; min-height: 190px; padding: 17px; border: 1px solid #1b4130; border-radius: 8px; display: grid; grid-template-rows: 37px auto auto 1fr 27px; align-content: start; background: #0a2017; }
.owner-kpi-icon { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; }
.owner-kpi.sales .owner-kpi-icon { color: #75e59c; background: #12653d; }
.owner-kpi.tender .owner-kpi-icon { color: #80c3ff; background: #174a74; }
.owner-kpi.balance .owner-kpi-icon { color: #c9a4ff; background: #4d2d79; }
.owner-kpi.reconciliation .owner-kpi-icon { color: #9fe3b8; background: #16593a; }
.owner-kpi.reconciliation.warning .owner-kpi-icon { color: #f8c46b; background: #65440e; }
.owner-kpi-label { margin-top: 13px; color: #b5c5bc; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.owner-scoreboard article > strong { margin: 5px 0 3px; color: #fff; font-size: 28px; font-weight: 900; }
.owner-scoreboard article > small { min-height: 31px; color: #91a79a; font-size: 10px; line-height: 1.45; }
.owner-mini-trend { height: 25px; margin-top: 9px; display: flex; align-items: end; gap: 3px; }
.owner-mini-trend i { width: 100%; min-height: 2px; border-radius: 2px 2px 0 0; background: #2fbf70; }
.owner-kpi-split { margin-top: 7px; display: grid; gap: 4px; }
.owner-kpi-split > span { display: grid; grid-template-columns: 6px minmax(0,1fr) auto; gap: 6px; align-items: center; color: #91a79a; font-size: 9px; }
.owner-kpi-split i { width: 6px; height: 6px; border-radius: 50%; background: #3589e6; }
.owner-kpi-split i.cards { background: #3589e6; }
.owner-kpi-split i.cash { background: #27af69; }
.owner-kpi-split b { color: #eef5f1; font-size: 10px; }
.owner-kpi > a { width: max-content; max-width: 100%; margin-top: 9px; display: inline-flex; align-items: center; gap: 4px; color: #78dca0; font-size: 9px; font-weight: 850; }
.owner-command-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.owner-command-card { min-width: 0; min-height: 82px; padding: 13px; border: 1px solid #1f4935; border-radius: 8px; display: grid; grid-template-columns: 38px minmax(0,1fr) 18px; gap: 11px; align-items: center; color: #f3f7f4; background: #0b2218; transition: border-color 140ms ease,background 140ms ease,transform 140ms ease; }
.owner-command-card:hover { border-color: #34875e; color: #fff; background: #102c20; transform: translateY(-1px); }
.owner-command-card > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.owner-command-card small { color: #6fdc99; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.owner-command-card strong, .owner-command-card em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.owner-command-card strong { font-size: 13px; }
.owner-command-card em { color: #8da398; font-size: 9px; font-style: normal; }
.owner-command-icon { width: 38px; height: 38px; border-radius: 7px; display: grid; place-items: center; color: #72dfa0; background: #154c31; }
.owner-command-card.workforce .owner-command-icon { color: #80bfff; background: #194a75; }
.owner-command-card.systems .owner-command-icon { color: #ffc268; background: #67450d; }
.owner-analytics-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(280px,.85fr); gap: 12px; }
.owner-panel, .owner-attention-panel, .owner-snapshot, .owner-quick-section, .owner-control-panel { min-width: 0; padding: 18px; border: 1px solid #1b4130; border-radius: 8px; color: #f4f8f5; background: #0a2017; }
.owner-panel { min-height: 290px; }
.owner-panel-head { min-height: 38px; display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.owner-panel-head h3, .owner-section-title h3 { margin: 0; color: #f5f8f6; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.owner-panel-head span { display: block; margin-top: 4px; color: #80988a; font-size: 10px; font-weight: 700; }
.owner-panel-link { padding: 3px 0; color: #6edb96; font-size: 10px; font-weight: 800; }
.owner-chart-total { display: block; margin-top: 2px; color: #35c873; font-size: 28px; }
.owner-trend-chart { height: 205px; padding-top: 12px; display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; align-items: end; background-image: linear-gradient(to bottom,transparent 24%,#173b2c 25%,transparent 26%,transparent 49%,#173b2c 50%,transparent 51%,transparent 74%,#173b2c 75%,transparent 76%); }
.owner-trend-day { height: 100%; min-width: 0; display: grid; grid-template-rows: 20px 1fr 28px; gap: 4px; text-align: center; }
.owner-trend-value { overflow: hidden; color: #93a99c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.owner-trend-track { min-height: 100px; display: flex; align-items: end; justify-content: center; }
.owner-trend-track i { width: min(34px,68%); min-height: 3px; border-radius: 3px 3px 0 0; background: #1ba75c; }
.owner-trend-day b { color: #879d90; font-size: 10px; }
.owner-trend-day b span, .owner-trend-day b small { display: block; }
.owner-trend-day b small { margin-top: 1px; color: #5f776a; font-size: 8px; }
.owner-payment-panel { display: grid; grid-template-rows: auto 1fr auto; }
.owner-payment-chart { width: 154px; height: 154px; margin: 7px auto 12px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#27af69 0 var(--owner-cash-share),#3589e6 var(--owner-cash-share) 100%); }
.owner-payment-chart.empty { background: #173b2c; }
.owner-payment-chart::before { width: 102px; height: 102px; border-radius: 50%; content: ""; grid-area: 1/1; background: #0a2017; }
.owner-payment-chart > div { z-index: 1; grid-area: 1/1; display: grid; text-align: center; }
.owner-payment-chart strong { color: #fff; font-size: 21px; }
.owner-payment-chart span { color: #839a8d; font-size: 9px; text-transform: uppercase; }
.owner-payment-legend { display: grid; gap: 8px; }
.owner-payment-legend > div { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 8px; align-items: center; color: #a6b8ae; font-size: 10px; }
.owner-payment-legend i { width: 8px; height: 8px; border-radius: 50%; background: #27af69; }
.owner-payment-legend i.cards { background: #3589e6; }
.owner-payment-legend b { color: #f3f7f4; }
.owner-section-title { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.owner-section-title > b { color: #ffc875; font-size: 10px; }
.owner-snapshot-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.owner-snapshot-grid > div { min-width: 0; padding: 5px 18px; border-right: 1px solid #1b4130; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; }
.owner-snapshot-grid > div:first-child { padding-left: 0; }
.owner-snapshot-grid > div:last-child { padding-right: 0; border-right: 0; }
.owner-snapshot-icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #64df91; background: #145f3a; font-size: 9px; font-weight: 900; }
.owner-snapshot-icon.tax { color: #ffca6f; background: #6c460d; }
.owner-snapshot-icon.tips { color: #77b8ff; background: #173f74; }
.owner-snapshot-icon.adjustments { color: #ff9999; background: #662c2c; }
.owner-snapshot-grid span:last-child { min-width: 0; display: grid; gap: 2px; }
.owner-snapshot-grid small { overflow: hidden; color: #8fa699; font-size: 9px; font-weight: 800; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.owner-snapshot-grid strong { color: #fff; font-size: 18px; }
.owner-followup-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 12px; }
.owner-recent-list, .owner-attention-list { margin-top: 10px; display: grid; }
.owner-transaction-row { min-height: 58px; padding: 9px 0; border-bottom: 1px solid #1b4130; display: grid; grid-template-columns: minmax(0,1fr) auto 18px; gap: 12px; align-items: center; color: #f4f8f5; }
.owner-transaction-row:last-child { border-bottom: 0; }
.owner-transaction-row > span { min-width: 0; display: grid; gap: 2px; }
.owner-transaction-row > span:nth-child(2) { text-align: right; }
.owner-transaction-row strong, .owner-transaction-row b { overflow: hidden; color: #f5f8f6; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.owner-transaction-row small { color: #789184; font-size: 8px; }
.owner-attention-panel { min-height: 190px; }
.owner-attention-panel.has-alerts { border-color: #71312f; background: #281411; }
.owner-attention-row { width: 100%; min-height: 58px; padding: 9px 0; border-bottom: 1px solid #4f2926; display: grid; grid-template-columns: 38px minmax(0,1fr) auto 18px; gap: 10px; align-items: center; color: #f7f3f1; }
.owner-attention-row:last-child { border-bottom: 0; }
.owner-attention-row > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.owner-attention-row strong { font-size: 12px; }
.owner-attention-row small { color: #c19e98; font-size: 10px; }
.owner-attention-icon { width: 36px; height: 36px; border-radius: 7px; display: grid; place-items: center; color: #ffb14f; background: #613116; }
.owner-attention-row.critical .owner-attention-icon { color: #ff7c7c; background: #642829; }
.owner-attention-row > b { color: #fff; font-size: 18px; }
.owner-clear-state { min-height: 88px; display: grid; place-content: center; justify-items: center; color: #779083; font-size: 10px; text-align: center; }
.owner-clear-state strong { color: #eaf2ed; font-size: 12px; }
.owner-clear-state span { margin-top: 3px; }
.owner-quick-actions { margin-top: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.owner-quick-actions a { min-height: 82px; padding: 12px; border: 1px solid #1f4935; border-radius: 7px; display: grid; grid-template-columns: 34px minmax(0,1fr); column-gap: 10px; align-items: center; color: #f1f6f3; background: #0b2218; }
.owner-quick-actions a:hover { border-color: #34875e; background: #102c20; }
.owner-quick-actions .owner-quick-icon { width: 34px; height: 34px; grid-row: span 2; border-radius: 7px; display: grid; place-items: center; color: #72dfa0; background: #154c31; }
.owner-quick-actions strong { font-size: 11px; }
.owner-quick-actions small { align-self: start; color: #789184; font-size: 8px; }

/* Dense operational module shell shared by POS Setup and parity pages */
.module-page { width: 100%; }
.module-heading { min-height: 102px; margin-bottom: 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.module-heading h1 { margin: 0 0 6px; font: 800 clamp(34px,4vw,50px)/1 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing: -.055em; }
.module-heading p:not(.eyebrow) { max-width: 720px; margin: 0; }
.module-tabs { margin: 0 0 20px; display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.module-tabs a { min-height: 44px; padding: 12px 14px 10px; flex: 0 0 auto; border-bottom: 3px solid transparent; color: var(--muted); font-size: 11px; font-weight: 850; white-space: nowrap; }
.module-tabs a:hover { color: var(--ink); background: rgba(255,255,255,.45); }
.module-tabs a.active { border-bottom-color: var(--green-700); color: var(--green-800); }
.setup-kpi-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.setup-kpi-grid article, .setup-panel { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: 0 6px 18px rgba(17,39,27,.04); }
.setup-kpi-grid article { min-height: 128px; display: grid; align-content: space-between; }
.setup-kpi-grid span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.setup-kpi-grid strong { margin: 5px 0; font-size: 32px; line-height: 1; }
.setup-kpi-grid small { color: var(--muted); font-size: 10px; }
.setup-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: start; }
.setup-grid .span-2 { grid-column: span 2; }
.setup-panel h2 { font-size: 21px; }
.setup-toolbar { min-height: 70px; margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.setup-toolbar h2 { margin: 0 0 4px; }
.setup-toolbar p { margin: 0; font-size: 12px; }
.setup-checklist { margin-top: 15px; display: grid; }
.setup-checklist a { min-height: 65px; padding: 10px 2px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 11px; color: var(--ink); }
.setup-checklist i { width: 18px; height: 18px; border: 2px solid var(--line-strong); border-radius: 50%; }
.setup-checklist i.done { border-color: var(--success); background: radial-gradient(circle,var(--success) 0 42%,transparent 46%); }
.setup-checklist span { min-width: 0; display: grid; }
.setup-checklist small { color: var(--muted); font-size: 10px; }
.setup-checklist b { color: var(--green-700); font-size: 10px; }
.setup-table-cards, .directory-list { display: grid; }
.setup-table-cards article, .directory-list article { min-height: 70px; padding: 10px 2px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 13px; }
.setup-table-cards article:last-child, .directory-list article:last-child { border-bottom: 0; }
.setup-table-cards article > div, .directory-list article > div { min-width: 0; flex: 1; display: grid; }
.setup-table-cards small, .directory-list small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.setup-table-shape { width: 44px; height: 44px; flex: 0 0 auto; border: 2px solid #81a890; border-radius: 50%; display: grid; place-items: center; color: var(--green-800); background: var(--green-100); font-size: 8px; font-weight: 900; }
.setup-table-shape.square { border-radius: 7px; }
.setup-table-shape.rectangle { width: 58px; border-radius: 7px; }
.setup-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.setup-category-grid article > span { color: var(--success); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.setup-category-grid article h3 { margin-top: 14px; font-size: 19px; }
.setup-category-grid article p { margin: 0 0 14px; font-size: 11px; }
.setup-qr-mark { width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid #c4d4c9; border-radius: 8px; display: grid; place-items: center; color: var(--green-700); background: repeating-linear-gradient(45deg,#fff,#fff 3px,#e1ece4 3px,#e1ece4 6px); font-size: 10px; font-weight: 950; }
.setup-route-row { min-height: 76px; padding: 10px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 110px minmax(130px,1fr) minmax(130px,1fr) auto auto; align-items: center; gap: 8px; }
.setup-route-row:last-child { border-bottom: 0; }
.setup-route-row > div { display: grid; }
.setup-route-row small { color: var(--muted); font-size: 8px; }
.setup-route-row select { padding: 9px 10px; font-size: 11px; }
.receipt-sample { max-width: 360px; justify-self: stretch; color: #222; background: #fff; font-family: "SFMono-Regular",Consolas,monospace; box-shadow: 0 12px 30px rgba(17,39,27,.12); }
.receipt-sample > span, .receipt-sample > strong, .receipt-sample > small { display: block; text-align: center; }
.receipt-sample > strong { margin: 20px 0; }
.receipt-sample p, .receipt-sample h3 { display: flex; justify-content: space-between; color: #222; font: inherit; }
.receipt-sample hr { border: 0; border-top: 1px dashed #777; }
.profile-layout, .membership-layout, .website-editor-layout, .pilot-chat-layout, .my-shift-grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.55fr); gap: 16px; align-items: start; }
.profile-main, .membership-panels { display: grid; gap: 16px; }
.profile-card { position: sticky; top: 98px; text-align: center; }
.profile-avatar { width: 92px; height: 92px; margin: 0 auto 15px; border-radius: 26px; display: grid; place-items: center; color: #082218; background: linear-gradient(135deg,var(--gold),#f1cd72); font-size: 27px; font-weight: 950; box-shadow: 0 14px 32px rgba(148,107,25,.22); }
.profile-card h2 { margin-bottom: 3px; }
.profile-card > p { margin-top: 0; }
.profile-card dl { margin: 24px 0; text-align: left; }
.profile-card dl div { padding: 11px 0; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px; }
.profile-card dt { color: var(--muted); font-size: 10px; font-weight: 800; }
.profile-card dd { margin: 0; font-size: 11px; font-weight: 850; text-align: right; }
.profile-facts { margin: 12px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.profile-facts > div { min-height: 90px; padding: 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; align-content: center; gap: 5px; }
.profile-facts > div:nth-child(2n) { border-right: 0; }
.profile-facts > div:nth-last-child(-n+2) { border-bottom: 0; }
.profile-facts span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.profile-facts strong { font-size: 18px; }
.membership-card { min-height: 390px; padding: 27px; position: sticky; top: 98px; overflow: hidden; border-radius: 22px; color: #fff; background: radial-gradient(circle at 100% 0,rgba(216,168,63,.25),transparent 16rem),linear-gradient(150deg,#061b12,#123e2b); box-shadow: 0 25px 55px rgba(6,27,18,.24); }
.membership-card::after { width: 280px; height: 280px; position: absolute; right: 0; bottom: -140px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; }
.membership-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #d8a83f; font-size: 8px; font-weight: 900; letter-spacing: .11em; }
.membership-card-top img { width: 48px; }
.membership-card h2 { margin-top: 74px; color: #fff; font-size: 28px; }
.membership-card p { margin-bottom: 4px; color: rgba(255,255,255,.64); }
.membership-card > strong { font: 500 20px Georgia,serif; }
.membership-card > div:nth-last-of-type(1) { margin: 48px 0 8px; display: flex; gap: 8px; }
.membership-card > div:nth-last-of-type(1) span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.15); border-radius: 99px; font-size: 9px; font-weight: 850; }
.membership-card > small { color: rgba(255,255,255,.5); }
.audit-stream article { min-height: 64px; padding: 10px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 9px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.audit-stream article:last-child { border-bottom: 0; }
.audit-stream article > i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-700); box-shadow: 0 0 0 4px rgba(24,82,57,.1); }
.audit-stream article > div { min-width: 0; display: grid; }
.audit-stream small { overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.audit-stream time { color: var(--muted); font-size: 9px; white-space: nowrap; }
.my-shift-grid { grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); }
.shift-status-card { min-height: 420px; padding: 28px; border-radius: 20px; color: #fff; background: radial-gradient(circle at 100% 0,rgba(216,168,63,.2),transparent 15rem),#08271a; box-shadow: 0 24px 50px rgba(8,39,26,.2); }
.shift-status-card h2 { margin: 12px 0 5px; color: #fff; font-size: 31px; }
.shift-status-card > p:not(.eyebrow) { color: rgba(255,255,255,.61); }
.shift-live-dot { width: 18px; height: 18px; margin-top: 24px; border: 5px solid rgba(80,218,139,.2); border-radius: 50%; display: block; background: #38c77a; background-clip: padding-box; }
.shift-status-card .form { margin-top: 38px; }
.shift-status-card label { color: rgba(255,255,255,.65); }
.shift-status-card input { border-color: rgba(255,255,255,.2); color: #fff; background: rgba(255,255,255,.08); }
.shift-status-card button { border-color: var(--gold); color: #082218; background: var(--gold); }
.schedule-list article { min-height: 82px; padding: 11px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 13px; align-items: center; }
.schedule-list time { width: 58px; height: 58px; border-radius: 10px; display: grid; place-content: center; color: #fff; background: var(--green-800); text-align: center; }
.schedule-list time strong { font-size: 10px; text-transform: uppercase; }
.schedule-list time span { color: rgba(255,255,255,.65); font-size: 8px; }
.schedule-list article > div { min-width: 0; display: grid; }
.schedule-list small { color: var(--muted); font-size: 10px; }
.tracking-strip { margin-bottom: 16px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); }
.tracking-strip div { min-height: 90px; padding: 15px; border-right: 1px solid var(--line); display: grid; align-content: center; }
.tracking-strip div:last-child { border-right: 0; }
.tracking-strip span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.tracking-strip strong { font-size: 25px; }
.tracking-timeline { margin-top: 15px; }
.tracking-timeline article { min-height: 78px; display: grid; grid-template-columns: 150px 14px minmax(0,1fr); gap: 12px; align-items: stretch; }
.tracking-timeline time { padding-top: 8px; color: var(--muted); font-size: 9px; text-align: right; }
.tracking-timeline article > i { width: 10px; height: 10px; margin-top: 11px; border: 3px solid var(--surface); border-radius: 50%; background: var(--green-700); box-shadow: 0 0 0 2px var(--green-700),0 30px 0 -4px var(--line); }
.tracking-timeline article.sales > i { background: #307fc9; box-shadow: 0 0 0 2px #307fc9,0 30px 0 -4px var(--line); }
.tracking-timeline article.people > i { background: #ba8423; box-shadow: 0 0 0 2px #ba8423,0 30px 0 -4px var(--line); }
.tracking-timeline article > div { padding: 6px 0 16px; display: grid; }
.tracking-timeline span { color: var(--gold-dark); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.tracking-timeline small { color: var(--muted); font-size: 10px; }
.pilot-hero { min-height: 260px; margin-bottom: 16px; padding: 30px; display: grid; grid-template-columns: minmax(0,1fr) 260px; gap: 25px; align-items: center; border-radius: 18px; color: #fff; background: radial-gradient(circle at 85% 0,rgba(216,168,63,.28),transparent 22rem),linear-gradient(135deg,#061b12,#10472e); box-shadow: 0 18px 42px rgba(6,27,18,.16); }
.pilot-hero h2 { color: #fff; font-size: 33px; }
.pilot-hero p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.68); }
.pilot-orb { width: 52px; height: 52px; margin-bottom: 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; display: grid; place-items: center; color: #082218; background: var(--gold); font-weight: 950; box-shadow: 0 0 30px rgba(216,168,63,.2); }
.pilot-hero aside { min-height: 160px; padding: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; display: grid; align-content: center; gap: 9px; background: rgba(255,255,255,.06); }
.pilot-hero aside strong, .pilot-hero aside small { display: block; }
.pilot-hero aside small { color: rgba(255,255,255,.55); }
.pilot-chat-layout { grid-template-columns: minmax(0,1fr) 280px; }
.pilot-chat { min-height: 420px; max-height: 58vh; }
.pilot-composer { margin-top: 14px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.pilot-composer textarea { min-height: 56px; max-height: 140px; }
.pilot-prompts { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.inbox-list a { min-height: 76px; padding: 12px 2px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 80px minmax(0,1fr) auto; gap: 12px; align-items: center; color: var(--ink); }
.inbox-list a > span { color: var(--gold-dark); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.inbox-list a > div { min-width: 0; display: grid; }
.inbox-list small { color: var(--muted); font-size: 10px; }
.inbox-list b { color: var(--green-700); font-size: 10px; }
.task-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.task-board section { min-height: 280px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.task-board section > a { min-height: 64px; margin-top: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; display: flex; align-items: center; gap: 9px; color: var(--ink); background: var(--surface); }
.task-board a > i { width: 9px; height: 9px; border: 2px solid var(--green-700); border-radius: 50%; }
.task-board a > span { min-width: 0; display: grid; }
.task-board small { color: var(--muted); font-size: 9px; }
.workspace-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.workspace-link-grid a { color: var(--ink); }
.workspace-link-grid a > strong { display: block; margin: 20px 0 3px; font-size: 30px; }
.workspace-link-grid a > b { color: var(--green-700); font-size: 10px; }
.settings-check-grid { padding: 14px; border: 1px solid var(--line); border-radius: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.settings-check-grid label { display: flex; align-items: center; }
.settings-check-grid input { width: auto; }
.website-editor-layout { grid-template-columns: minmax(0,1.1fr) minmax(320px,.9fr); }
.venue-preview { min-height: 570px; padding: 34px; position: sticky; top: 98px; overflow: hidden; border-radius: 16px; color: #fff; background: linear-gradient(150deg,color-mix(in srgb,var(--venue-accent),#000 32%),var(--venue-accent)); box-shadow: 0 20px 50px rgba(17,39,27,.2); }
.venue-preview::after { width: 360px; height: 360px; position: absolute; right: 0; bottom: -160px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; }
.venue-preview > span { font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.venue-preview h2 { max-width: 480px; margin-top: 125px; color: #fff; font: 500 clamp(34px,5vw,58px)/.95 Georgia,serif; }
.venue-preview p { color: rgba(255,255,255,.72); }
.venue-preview button { margin: 20px 0 60px; border-color: #fff; color: var(--venue-accent); background: #fff; }
.venue-preview small { display: block; color: rgba(255,255,255,.62); }
.theme-swatch { min-height: 400px; padding: 30px; border-radius: 16px; display: grid; place-content: center; justify-items: center; color: #fff; background: var(--venue-accent); box-shadow: inset 0 0 0 14px rgba(255,255,255,.12),0 20px 50px rgba(17,39,27,.17); }
.theme-swatch i { width: 110px; height: 110px; border: 20px solid rgba(255,255,255,.17); border-radius: 50%; background: #fff; }
.theme-swatch span { margin-top: 20px; font-family: monospace; }
.theme-swatch strong { font: 500 28px Georgia,serif; }
.search-preview small { color: var(--success); }
.search-preview h3 { margin: 6px 0 2px; color: #315ea7; font-weight: 500; }
.setup-panel h2, .setup-panel h3 { overflow-wrap: anywhere; }
.profile-avatar.compact { width: 42px; height: 42px; margin: 0; flex: 0 0 auto; border-radius: 12px; font-size: 12px; box-shadow: none; }
.directory-actions { flex: 0 1 auto !important; display: flex !important; grid-template-columns: none !important; align-items: center; gap: 6px; }
.directory-actions select { width: 118px; padding: 8px; font-size: 10px; }
.permission-matrix { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.permission-matrix article { min-height: 118px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; display: grid; align-content: center; gap: 6px; background: var(--soft); }
.permission-matrix article > span { color: var(--gold-dark); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.permission-matrix article > strong { font-size: 13px; }
.permission-matrix article > small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.people-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.7fr); gap: 16px; align-items: start; }
.employee-directory { display: grid; }
.employee-directory article { min-height: 72px; padding: 10px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; }
.employee-directory article > div { min-width: 0; display: grid; }
.employee-directory small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.employee-directory article > b { color: var(--green-700); font-size: 10px; }
.inventory-order-list { display: grid; }
.inventory-order-row { min-height: 88px; padding: 12px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; }
.inventory-order-row > div:first-child { min-width: 0; display: grid; gap: 3px; }
.inventory-order-row > div:first-child > span { color: var(--gold-dark); font-size: 9px; font-weight: 900; }
.inventory-order-row small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.inventory-order-row .actions { margin: 0; justify-content: flex-end; }
.workflow-steps { margin: 16px 0 0; padding: 0; display: grid; list-style: none; }
.workflow-steps li { min-height: 52px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; }
.workflow-steps b { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: var(--green-700); background: var(--green-100); font-size: 9px; }
.workflow-steps span { font-size: 11px; font-weight: 800; }
.delivery-layout { margin-bottom: 16px; display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 16px; align-items: start; }
.delivery-board { min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(190px,1fr)); gap: 10px; overflow-x: auto; }
.delivery-board > .error-slot:empty { display: none; }
.delivery-board > .error-slot:not(:empty) { grid-column: 1 / -1; }
.delivery-board > section { min-height: 420px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.delivery-board > section > header { min-height: 40px; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.delivery-board > section > header b { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; color: var(--green-700); background: var(--green-100); }
.delivery-card { margin-top: 8px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 5px 13px rgba(17,39,27,.04); }
.delivery-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.delivery-card > div:first-child > span { color: var(--gold-dark); font-size: 8px; font-weight: 900; }
.delivery-card h3 { margin: 12px 0 4px; font-size: 12px; line-height: 1.35; }
.delivery-card p { margin: 0 0 9px; font-size: 9px; }
.delivery-card > strong { font-size: 16px; }
.delivery-card .actions { margin-top: 11px; gap: 5px; }
.delivery-empty { min-height: 90px; display: grid; place-content: center; color: var(--muted); font-size: 10px; text-align: center; }
.delivery-create { position: sticky; top: 98px; }
.order-board { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,minmax(210px,1fr)); gap: 10px; overflow-x: auto; }
.order-board > section { min-height: 390px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.order-board > section > header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.order-board > section > header b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: var(--green-700); background: var(--green-100); }
.order-control-card { margin-top: 8px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: 0 5px 13px rgba(17,39,27,.04); }
.order-control-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.order-control-card > div:first-child > span { color: var(--gold-dark); font-size: 8px; font-weight: 900; }
.order-control-card h3 { margin: 12px 0 4px; font-size: 12px; }
.order-control-card p { margin: 0 0 9px; font-size: 9px; }
.order-control-card > strong { font-size: 16px; }
.order-control-card .actions { margin-top: 11px; gap: 5px; }
.qr-approval-list, .invoice-directory, .printer-directory, .support-case-list { display: grid; }
.qr-approval-list article, .invoice-directory article, .printer-directory article, .support-case-list article { min-height: 76px; padding: 11px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto auto; align-items: center; gap: 12px; }
.qr-approval-list article > div:not(.actions), .invoice-directory article > div:not(.actions), .printer-directory article > div, .support-case-list article > div { min-width: 0; display: grid; }
.qr-approval-list small, .invoice-directory small, .printer-directory small, .support-case-list small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.qr-approval-list .actions, .invoice-directory .actions { margin: 0; }
.printer-directory article { grid-template-columns: 42px minmax(0,1fr) auto; }
.printer-directory article > span:last-child { color: var(--muted); font-size: 10px; font-weight: 800; }
.support-case-list article { grid-template-columns: 42px minmax(0,1fr) auto auto; }
.access-grant { margin-top: 10px; padding: 13px; display: grid; gap: 5px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.access-grant small { color: var(--muted); font-size: 10px; }
.access-grant button { margin-top: 5px; }
.onboarding-progress { margin-bottom: 16px; }
.onboarding-progress > div:first-child { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.onboarding-progress > div:first-child strong { color: var(--green-700); }
.onboarding-layout { margin-bottom: 16px; }
.onboarding-chat { max-height: 540px; min-height: 390px; align-content: start; }
.onboarding-action { position: sticky; top: 98px; }
.setup-profile-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--line); }
.setup-profile-grid article { min-height: 86px; padding: 13px; display: grid; align-content: center; gap: 6px; background: var(--soft); }
.setup-profile-grid span { color: var(--gold-dark); font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.setup-profile-grid strong { overflow-wrap: anywhere; font-size: 11px; }
.one-time-code { margin: 22px 0; padding: 22px; border: 1px dashed var(--green-700); border-radius: 10px; color: var(--green-800); background: var(--green-100); font: 900 clamp(21px,4vw,34px)/1 "SFMono-Regular",Consolas,monospace; letter-spacing: .12em; text-align: center; overflow-wrap: anywhere; }
.mini-record { min-height: 58px; padding: 9px 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--ink); }
.mini-record > span { min-width: 0; display: grid; }
.mini-record small { color: var(--muted); font-size: 9px; }
.mini-record b { font-size: 11px; white-space: nowrap; }
.hourly-chart { display: grid; }
.hourly-chart > div { min-height: 42px; display: grid; grid-template-columns: 54px minmax(100px,1fr) 90px 60px; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); }
.hourly-chart span, .hourly-chart small { color: var(--muted); font-size: 9px; }
.hourly-chart i { height: 8px; overflow: hidden; border-radius: 99px; background: var(--soft); }
.hourly-chart i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--green-700),var(--gold)); }
.hourly-chart strong { font-size: 10px; text-align: right; }
.attendance-stream { display: grid; }
.attendance-stream article { min-height: 68px; padding: 9px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 42px minmax(0,1fr) auto 145px; align-items: center; gap: 11px; }
.attendance-stream article > div { min-width: 0; display: grid; }
.attendance-stream small { color: var(--muted); font-size: 9px; }
.attendance-stream time { color: var(--muted); font-size: 9px; text-align: right; }
.policy-list { display: grid; }
.policy-list article { min-height: 126px; padding: 16px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: start; }
.policy-list article > div { min-width: 0; }
.policy-list article > div > span { color: var(--gold-dark); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.policy-list h3 { margin: 5px 0; }
.policy-list p { max-width: 900px; margin: 0 0 7px; color: var(--ink); font-size: 11px; line-height: 1.55; white-space: pre-line; }
.policy-list small { color: var(--muted); font-size: 9px; }
.notice.warning { border-color: #dec98f; border-left-color: #b47c18; background: #fffaf0; }

body.venue-site-active { background: #f7f2e8; }
body.venue-site-active .sidebar, body.venue-site-active .topbar, body.venue-site-active .app-stage > footer { display: none; }
body.venue-site-active .app-stage { margin-left: 0; }
body.venue-site-active .shell { max-width: none; min-height: 100vh; padding: 0; }
.public-venue-site { min-height: 100vh; color: #132219; background: #f7f2e8; }
.public-venue-site > nav { min-height: 78px; padding: 15px clamp(20px,6vw,90px); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(19,34,25,.12); }
.public-venue-site > nav > a { display: flex; align-items: center; gap: 9px; color: #132219; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.public-venue-site nav img { width: 36px; }
.public-venue-site .public-nav-actions { display: flex; align-items: center; gap: 18px; }
.public-nav-links { display: flex; gap: 22px; }
.public-nav-links a { color: #132219; font-size: 11px; font-weight: 800; }
.public-announcement { padding: 8px 20px; color: #fff; background: var(--venue-accent); text-align: center; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.public-venue-site > header { min-height: 650px; padding: clamp(50px,8vw,120px) clamp(20px,8vw,120px); display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 60px; align-items: center; color: #fff; background: radial-gradient(circle at 82% 20%,rgba(255,255,255,.12),transparent 18rem),linear-gradient(145deg,color-mix(in srgb,var(--venue-accent),#000 45%),var(--venue-accent)); }
.public-venue-site > header h1 { max-width: 900px; color: #fff; font-size: clamp(52px,8vw,105px); }
.public-venue-site > header p { color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.public-venue-site > header div > span { max-width: 690px; display: block; color: rgba(255,255,255,.7); font-size: 19px; }
.public-venue-site > header aside { min-height: 220px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: grid; place-content: center; text-align: center; }
.public-venue-site > header aside span, .public-venue-site > header aside small { color: rgba(255,255,255,.6); font-size: 9px; text-transform: uppercase; }
.public-venue-site > header aside strong { font-size: 62px; }
.public-story, .public-visit { padding: clamp(65px,10vw,150px) clamp(20px,9vw,140px); }
.public-story h2 { max-width: 1000px; font: 500 clamp(35px,5vw,70px)/1.1 Georgia,serif; }
.public-story > div { margin-top: 50px; display: flex; flex-wrap: wrap; gap: 9px; }
.public-story > div span, .public-story > div a { padding: 11px 15px; border: 1px solid rgba(19,34,25,.18); border-radius: 99px; color: #132219; font-size: 11px; font-weight: 800; }
.public-story span b { margin-left: 8px; color: var(--venue-accent); }
.public-story a b { margin-left: 8px; color: var(--venue-accent); }
.public-menu { padding: clamp(65px,9vw,130px) clamp(20px,9vw,140px); border-top: 1px solid rgba(19,34,25,.12); background: #fffdf8; }
.public-menu > header { max-width: 900px; margin-bottom: 55px; }
.public-menu > header h2 { margin-bottom: 12px; font: 500 clamp(34px,5vw,64px)/1.08 Georgia,serif; }
.public-menu > header > span { color: #7b6a48; font-size: 11px; font-weight: 750; }
.public-menu-groups { display: grid; gap: 54px; }
.public-menu-group { scroll-margin-top: 90px; display: grid; grid-template-columns: minmax(180px,.36fr) minmax(0,1fr); gap: clamp(28px,5vw,80px); }
.public-menu-group-title { position: sticky; top: 100px; height: max-content; padding-top: 9px; display: grid; gap: 7px; border-top: 2px solid var(--venue-accent); }
.public-menu-group-title > span { color: #aa7b20; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.public-menu-group-title h3 { margin: 0; font: 500 clamp(25px,3vw,39px)/1.05 Georgia,serif; }
.public-menu-group > div:last-child { border-top: 1px solid rgba(19,34,25,.16); }
.public-menu-item { min-height: 92px; padding: 18px 0; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 24px; border-bottom: 1px solid rgba(19,34,25,.13); }
.public-menu-item > div { min-width: 0; }
.public-menu-item strong { font: 700 17px/1.25 Inter,system-ui,sans-serif; }
.public-menu-item p { max-width: 720px; margin: 7px 0 0; color: #6d796f; font-size: 12px; line-height: 1.5; }
.public-menu-item > b { color: #8f6515; font-size: 16px; white-space: nowrap; }
.public-visit { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; color: #fff; background: #0a1c13; }
.public-visit h2 { color: #fff; }
.public-visit p { white-space: pre-line; }
.public-visit aside { display: grid; align-content: center; gap: 8px; text-align: right; }
.public-visit aside a { color: var(--gold); }
.public-venue-site > footer { padding: 30px clamp(20px,8vw,120px); display: flex; justify-content: space-between; color: #fff; background: #06130d; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes live-pulse { 50% { opacity: .42; transform: scale(.82); } }

@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .card { grid-column: span 6; }
  .card.wide { grid-column: span 12; }
  .owner-scoreboard { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .owner-command-grid { grid-template-columns: 1fr; }
  .owner-snapshot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 0; }
  .owner-snapshot-grid > div:nth-child(2) { border-right: 0; }
  .owner-snapshot-grid > div:nth-child(3) { padding-left: 0; }
  .pos-table-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .pos-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .setup-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .setup-route-row { grid-template-columns: 90px minmax(120px,1fr) minmax(120px,1fr) auto; }
  .setup-route-row .test-setup-printer { grid-column: 2/-1; justify-self: start; }
  .tracking-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tracking-strip div:nth-child(3) { border-right: 0; }
  .tracking-strip div:nth-child(n+4) { border-top: 1px solid var(--line); }
}

@media (max-width: 980px) {
  body.nav-open { overflow: hidden; }
  .sidebar { transform: translateX(-104%); transition: transform 220ms cubic-bezier(.2,.8,.2,1); }
  body.nav-open .sidebar { transform: translateX(0); }
  .app-stage { margin-left: 0; }
  .menu-button { display: inline-flex; }
  .auth-screen { grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); }
  .auth-visual { padding: 52px; }
}

@media (max-width: 760px) {
  .global-language { top: 8px; right: 8px; }
  body:not(.nav-open) .sidebar { visibility: hidden; }
  body.nav-open .sidebar { visibility: visible; }
  .topbar { min-height: 70px; padding: 11px 14px; }
  .topbar-title { gap: 8px; }
  .topbar h1 { font-size: 18px; }
  .topbar nav .secure-pill, .topbar nav a { display: none; }
  .topbar nav { gap: 5px; }
  .shell { min-height: calc(100vh - 120px); padding: 22px 14px 42px; }
  footer { padding: 16px; text-align: center; }
  h1 { font-size: 38px; }
  .command-heading { min-height: 0; align-items: flex-start; flex-direction: column; gap: 12px; }
  .command-actions { justify-content: flex-start; }
  .grid { grid-template-columns: 1fr; }
  .card, .card.wide, .card.full { grid-column: 1 / -1; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .metric-grid .card { min-height: 116px; padding: 16px; }
  .metric { font-size: 28px; }
  .operation-card { min-height: 200px; }
  .form.two { grid-template-columns: 1fr; }
  .section-head { align-items: flex-start; }
  .pos-layout { grid-template-columns: 1fr; }
  .pos-check { position: static; }
  .floor-map { min-height: 0; padding: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .floor-table { min-height: 112px; }
  .timeline-row { grid-template-columns: 12px minmax(0,1fr); }
  .timeline-row time { grid-column: 2; }
  .report-filter { display: grid; grid-template-columns: 1fr 1fr; }
  .report-filter label { min-width: 0; }
  .auth-screen { display: block; background: #f8f5ec; }
  .auth-visual { display: none; }
  .auth-form-wrap { min-height: 100vh; padding: 24px 16px; }
  .auth-card { padding: 25px 21px; }
  .auth-card h2 { font-size: 36px; }
  .owner-dashboard-head { align-items: stretch; flex-direction: column; }
  .owner-dashboard-head h2 { font-size: 27px; }
  .owner-dashboard-controls { width: 100%; }
  .owner-date-control { flex: 1; }
  .owner-scoreboard, .owner-analytics-grid, .owner-followup-grid, .owner-quick-actions { grid-template-columns: 1fr; }
  .owner-scoreboard article { min-height: 174px; }
  .owner-snapshot-grid { grid-template-columns: 1fr; gap: 0; }
  .owner-snapshot-grid > div { padding: 13px 0; border-right: 0; border-bottom: 1px solid #1b4130; }
  .owner-snapshot-grid > div:last-child { border-bottom: 0; }
  .owner-trend-value { display: none; }
  .owner-trend-day { grid-template-rows: 1fr 28px; }
  .pos-command-bar { min-height: 70px; padding: 7px; grid-template-columns: 42px minmax(70px,1fr) auto; gap: 6px; }
  .pos-command-bar.order { grid-template-columns: 42px minmax(0,1fr); }
  .pos-command-bar h1 { font-size: 16px; }
  .pos-command-bar p { font-size: 8px; }
  .pos-icon-button, .pos-tool-button { min-width: 40px; min-height: 40px; padding: 6px; font-size: 8px; }
  .pos-command-actions.order-tools { width: 100%; grid-column: 1/-1; justify-content: flex-start; gap: 5px; overflow-x: auto; scrollbar-width: none; }
  .pos-command-actions.order-tools::-webkit-scrollbar { display: none; }
  .pos-command-actions.order-tools .pos-tool-button { min-width: 68px; flex: 1 0 auto; }
  .pos-inline-language { flex: 0 0 auto; }
  .pos-floor-content { min-height: calc(100dvh - 70px); padding: 8px; }
  .pos-runtime-strip { overflow-x: auto; }
  .pos-runtime-strip span { flex: 0 0 auto; }
  .pos-runtime-strip span:first-child { margin-right: 0; }
  .pos-qr-list article { grid-template-columns: minmax(0,1fr) auto; }
  .pos-qr-list article > div:last-child { grid-column: 1/-1; }
  .pos-section-picker { grid-template-columns: 1fr; }
  .pos-section-card { min-height: 116px; }
  .pos-table-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .pos-table { min-height: 0; padding: 6px 3px; }
  .pos-table > strong { font-size: 17px; }
  .pos-table > small { display: none; }
  .pos-table > span:last-child { font-size: 6px; }
  .pos-check-tabs { min-height: 52px; padding: 6px 8px; }
  .pos-check-chip { min-width: 104px; }
  .pos-order-workspace { min-height: 0; grid-template-columns: 1fr; grid-template-rows: minmax(190px,42%) minmax(0,58%); }
  .pos-summary { padding: 10px; }
  .pos-shop { padding: 10px; }
  .pos-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .pos-category-picker { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .pos-category-card { min-height: 90px; padding: 11px; }
  .pos-category-card strong { font-size: 14px; }
  .pos-product { min-height: 86px; padding: 9px; }
  .pos-bottom-actions { min-height: 62px; padding: 7px 8px; }
  .workspace-modal { padding: 0; align-items: end; }
  .workspace-dialog { width: 100%; max-height: 88dvh; padding: 16px; border-radius: 16px 16px 0 0; }
  .module-heading, .setup-toolbar { min-height: 0; align-items: flex-start; flex-direction: column; }
  .module-heading .button, .setup-toolbar > .button, .setup-toolbar > button { width: 100%; }
  .module-tabs { margin-inline: -14px; padding-inline: 12px; }
  .setup-grid, .setup-category-grid { grid-template-columns: 1fr; }
  .people-layout, .delivery-layout { grid-template-columns: 1fr; }
  .delivery-create { position: static; }
  .delivery-board { grid-template-columns: repeat(4,minmax(230px,80vw)); }
  .order-board { grid-template-columns: repeat(4,minmax(230px,80vw)); }
  .permission-matrix { grid-template-columns: 1fr; }
  .directory-list article { flex-wrap: wrap; }
  .directory-actions { width: 100%; flex-basis: 100% !important; }
  .inventory-order-row { grid-template-columns: minmax(0,1fr) auto; }
  .inventory-order-row .actions { grid-column: 1/-1; justify-content: flex-start; }
  .attendance-stream article { grid-template-columns: 42px minmax(0,1fr) auto; }
  .attendance-stream time { grid-column: 2/4; text-align: left; }
  .setup-grid .span-2 { grid-column: auto; }
  .setup-route-row { grid-template-columns: 1fr 1fr; }
  .setup-route-row > div { grid-column: 1/-1; }
  .setup-route-row .test-setup-printer { grid-column: auto; }
  .onboarding-action { position: static; }
  .setup-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qr-approval-list article, .invoice-directory article, .support-case-list article { grid-template-columns: 42px minmax(0,1fr) auto; }
  .qr-approval-list article > b, .invoice-directory article > b { grid-column: 2; justify-self: start; }
  .qr-approval-list article > .actions, .invoice-directory article > .actions { grid-column: 2/4; justify-self: start; }
  .support-case-list article > .status:last-child { grid-column: 2; justify-self: start; }
  .receipt-sample { max-width: none; }
  .profile-layout, .membership-layout, .website-editor-layout, .pilot-chat-layout, .my-shift-grid { grid-template-columns: 1fr; }
  .profile-card, .membership-card, .venue-preview { position: static; }
  .membership-card { min-height: 340px; }
  .tracking-strip { grid-template-columns: 1fr 1fr; }
  .tracking-strip div { border-top: 1px solid var(--line); }
  .tracking-strip div:nth-child(-n+2) { border-top: 0; }
  .tracking-strip div:nth-child(2n) { border-right: 0; }
  .tracking-strip div:nth-child(3) { border-right: 1px solid var(--line); }
  .tracking-timeline article { grid-template-columns: 13px minmax(0,1fr); }
  .tracking-timeline time { grid-column: 2; grid-row: 2; padding: 0; text-align: left; }
  .tracking-timeline article > i { grid-row: 1/3; }
  .pilot-hero { padding: 22px; grid-template-columns: 1fr; }
  .pilot-hero aside { min-height: 130px; }
  .task-board, .workspace-link-grid { grid-template-columns: 1fr; }
  .pilot-composer { grid-template-columns: 1fr; }
  .venue-preview { min-height: 440px; }
  .venue-preview h2 { margin-top: 70px; }
  .public-venue-site > nav { min-height: 66px; padding: 12px 15px; }
  .public-nav-links { display: none; }
  .public-venue-site .public-nav-actions { display: flex; }
  .public-venue-site > header { min-height: 620px; padding: 62px 20px; grid-template-columns: 1fr; gap: 35px; }
  .public-venue-site > header aside { width: 180px; min-height: 180px; }
  .public-story, .public-menu, .public-visit { padding: 70px 20px; }
  .public-menu-group { grid-template-columns: 1fr; gap: 16px; }
  .public-menu-group-title { position: static; }
  .public-menu-groups { gap: 42px; }
  .public-menu-item { min-height: 78px; padding: 15px 0; gap: 15px; }
  .public-visit { grid-template-columns: 1fr; }
  .public-visit aside { text-align: left; }
  .public-venue-site > footer { align-items: flex-start; flex-direction: column; gap: 7px; }
}

@media (max-width: 480px) {
  .sidebar { width: min(286px,86vw); }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .report-filter { grid-template-columns: 1fr; }
  .auth-link-row { align-items: flex-start; flex-direction: column; }
  .transaction-row .muted { max-width: 190px; }
  .owner-dashboard-controls { align-items: stretch; flex-direction: column; }
  .owner-refresh-button { width: 100%; }
  .owner-command-card { grid-template-columns: 38px minmax(0,1fr) 14px; }
  .pos-command-actions.order-tools .pos-tool-button { min-width: 64px; padding-inline: 5px; font-size: 8px; }
  .pos-table-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pos-tool-choice { grid-template-columns: 1fr; }
  .setup-kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .setup-kpi-grid article, .setup-panel { padding: 15px; }
  .setup-kpi-grid article { min-height: 112px; }
  .hourly-chart > div { grid-template-columns: 46px minmax(80px,1fr) 72px; }
  .hourly-chart small { display: none; }
  .employee-directory article { grid-template-columns: 42px minmax(0,1fr); }
  .employee-directory article > .status, .employee-directory article > b { grid-column: 2; justify-self: start; }
  .setup-profile-grid { grid-template-columns: 1fr; }
  .printer-directory article { grid-template-columns: 42px minmax(0,1fr); }
  .printer-directory article > span:last-child { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (prefers-contrast: more) {
  :root { --line: #a8b8ae; --line-strong: #71877a; }
  button, .button, input, select, textarea { border-width: 2px; }
}
