:root {
  color-scheme: light;
  --ink: #1c2939;
  --muted: #5a687b;
  --paper: #eef1f6;
  --surface: #ffffff;
  --line: #d5dce6;
  --nav: #172438;
  --accent: #2859ce;
  --accent-soft: #e9eefb;
  --success: #236b48;
  --green: var(--nav);
  --green-2: var(--accent);
  --lime: #dfe7f4;
  --lime-dark: #2859ce;
  --amber: #a85d0d;
  --amber-soft: #fff1d8;
  --red: #a43c32;
  --red-soft: #fbe4df;
  --blue: var(--accent);
  --blue-soft: var(--accent-soft);
  --mint: #e9eefb;
  --shadow: none;
  --status-positive-bg: #dff1e2;
  --status-positive-ink: #225d38;
  --status-info-bg: var(--accent-soft);
  --status-info-ink: var(--accent);
  --status-attention-bg: var(--amber-soft);
  --status-attention-ink: #81500f;
  --status-danger-bg: var(--red-soft);
  --status-danger-ink: var(--red);
  --status-neutral-bg: #edf0f4;
  --status-neutral-ink: var(--muted);
  --status-simulated-bg: #ece7f2;
  --status-simulated-ink: #604a75;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
p, h1, h2, h3, h4 { margin-top: 0; }
h1, h2 { font-family: inherit; letter-spacing: -.025em; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -60px; padding: 10px 14px; background: var(--ink); color: white; border-radius: 4px; }
.skip-link:focus { top: 16px; }
.ui-eyebrow, .eyebrow { margin: 0 0 5px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ui-eyebrow--inverse, .eyebrow.light { color: #aebbd0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:1px solid transparent; border-radius:4px; padding:10px 15px; background:var(--accent); color:white; font-size:14px; font-weight:700; text-decoration:none; transition:background .15s, border-color .15s, opacity .15s; }
.button:hover { background: #214bb0; }
.button:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.button.secondary { border-color:var(--line); background:white; color:var(--ink); }
.button.secondary:hover { border-color:#b8c6d9; background:#f4f6fa; }
.button.danger { border-color:var(--red); background:var(--red); color:white; }
.button.danger:hover { background:#873129; }
.button.secondary.danger { border-color:#dca9a3; background:white; color:var(--red); }
.button.secondary.danger:hover { border-color:var(--red); background:var(--red-soft); }
.button.glass { border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); }
.text-button { min-height:32px; border:0; padding:4px 0; background:transparent; color:var(--accent); font-size:12px; font-weight:700; }

/* Login */
.login-screen { min-height: 100vh; background: var(--paper); }
.login-brand { position: fixed; z-index: 3; top: 30px; left: 38px; display: grid; grid-template-columns: 44px auto; grid-template-rows: auto auto; align-items: center; column-gap: 11px; color: white; }
.login-brand .brand-mark { grid-row: 1 / 3; }
.login-brand strong { align-self: end; font-family: inherit; font-size: 22px; font-weight: 700; line-height: 1; }
.login-brand small { align-self:start; margin-top:4px; color:#aebbd0; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.login-layout { display: grid; grid-template-columns: minmax(480px, 1.08fr) minmax(430px, .92fr); min-height: 100vh; }
.login-story { position: relative; display: flex; align-items: flex-end; overflow: hidden; padding: 80px clamp(44px, 7vw, 100px) 86px; background: var(--green); color: white; }
.login-story::after { display: none; }
.login-orbit { display: none; }
.login-orbit.one { width: 460px; height: 460px; right: -80px; top: -70px; }
.login-orbit.two { width: 130px; height: 130px; left: -50px; bottom: 22%; }
.story-copy { position: relative; z-index: 1; max-width: 650px; }
.story-copy > p:first-child { color: #aebbd0; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.story-copy h1 { margin-bottom: 22px; font-size: clamp(36px, 3.7vw, 52px); line-height: 1.1; }
.story-copy > p { max-width: 550px; color: #c7d1e0; font-size: 16px; line-height: 1.7; }
.story-proof { display: flex; gap: 16px; align-items: flex-start; max-width: 440px; margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); }
.story-proof span { color: #aebbd0; font-size: 11px; font-weight: 700; }
.story-proof p { margin: 0; color: #b8c4d5; font-size: 12px; line-height: 1.55; }
.story-proof strong { color: white; }
.login-panel { display: flex; flex-direction: column; justify-content: center; padding: 60px clamp(34px, 7vw, 100px) 30px; }
.login-card { width: 100%; max-width: 440px; margin: auto; }
.login-card h2 { margin-bottom: 10px; font-size: 38px; }
.login-card > p:not(.eyebrow) { margin-bottom: 30px; color: var(--muted); }
.login-card form { display: grid; gap: 16px; }
.login-options { display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--muted); }
.login-options label { display: flex; align-items: center; gap: 7px; }
.login-options button { min-height:36px; border:0; background:none; color:var(--accent); font-size:13px; font-weight:700; }
.login-submit { margin-top: 4px; min-height: 48px; font-size: 13px; }
.login-guide { display:inline-block; margin-top:18px; color:var(--accent); font-size:13px; font-weight:700; text-decoration:none; }
.login-guide:hover { text-decoration: underline; }
.demo-advanced-actions { display:grid; gap:8px; margin-top:12px; }
.demo-advanced-actions > .button { justify-content:space-between; gap:16px; text-align:left; }
.login-demo { min-height: 48px; border: 1px solid var(--line); background: white; color: var(--ink); }
.demo-disclosure { display: flex; gap: 12px; margin-top: 24px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 4px; background: #f4f6fa; }
.demo-disclosure span { flex:0 0 auto; color:var(--accent); font-size:11px; font-weight:800; text-transform:uppercase; }
.demo-disclosure p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.login-footer { margin:34px auto 0; color:var(--muted); font-size:12px; }

/* App shell */
.app-shell { display: grid; grid-template-columns: 238px minmax(0, 1fr); min-height: 100vh; }
.rail { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 24px 16px 20px; overflow: hidden; background: var(--green); color: white; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 24px; }
.brand-mark { display: inline-block; width: 27px; height: 27px; border: 5px solid currentColor; border-left-width: 9px; border-radius: 0; color: #dfe7f4; transform: skewY(-15deg); }
.next-task { padding:20px; margin:16px 0; border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:4px; background:#f4f6fa; }
.next-task h3 { margin: 4px 0 12px; }
.evidence-form { display: grid; gap: 12px; margin: 16px 0; }
.evidence-form label { margin-bottom:0; }
.evidence-form p { font-size: 12px; }
.brand strong, .brand small { display: block; }
.brand strong { font-family: inherit; font-size: 20px; font-weight: 700; line-height: 1; }
.brand small { margin-top:4px; color:#9eacc1; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.store-switcher { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; margin-bottom: 24px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 4px; background: rgba(255,255,255,.05); }
.store-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 4px; background: #2a3b56; color: white; font-size: 10px; font-weight: 800; }
.store-switcher strong, .store-switcher small { display: block; }
.store-switcher strong { font-size:12px; }
.store-switcher small { margin-top:2px; color:#aebbd0; font-size:10px; }
.rail nav { display: grid; gap: 4px; }
.nav-link { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 12px; border: 0; border-radius: 3px; background: transparent; color: #c2cede; text-align: left; font-size: 11px; font-weight: 600; }
.nav-link span { display: inline-grid; place-items: center; width: 18px; color: #8999b1; font-size: 14px; }
.nav-link:hover, .nav-link.is-active { background: rgba(255,255,255,.09); color: white; }
.nav-link.is-active { box-shadow: inset 3px 0 var(--blue); }
.nav-link.is-active span { color: #fff; }
.rail-note { display: flex; gap: 10px; align-items: flex-start; margin-top: auto; padding: 15px 10px 0; border-top: 1px solid rgba(255,255,255,.12); }
.signal-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: #45a878; }
.rail-note strong, .rail-note small { display: block; }
.rail-note strong { font-size:11px; }
.rail-note small { margin-top:3px; color:#aebbd0; font-size:10px; line-height:1.45; }
.workspace { min-width: 0; }
.topbar { display: flex; justify-content: space-between; align-items: center; min-height: 88px; padding: 20px clamp(24px, 3.4vw, 48px); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.topbar h1 { margin: 0; font-size: clamp(26px, 2.5vw, 35px); }
.top-actions { display: flex; gap: 10px; align-items: center; }
.environment-pill { display:inline-flex; gap:7px; align-items:center; min-height:34px; padding:0 11px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.environment-pill i { width: 6px; height: 6px; border-radius: 50%; background: #e7a642; }
.avatar { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--muted); }
.avatar { border-color: #c8d1dd; background: #e9eefb; color: var(--blue); font-size: 9px; font-weight: 700; }
main { padding:28px clamp(24px,3.4vw,48px) 52px; }

/* Canonical application primitives. Domain selectors own composition only. */
.ui-page { display:grid; gap:18px; min-width:0; color:var(--ink); }
.ui-hero { display:flex; justify-content:space-between; gap:32px; align-items:flex-end; min-width:0; padding:30px 34px; border-radius:4px; background:var(--nav); color:white; }
.ui-hero__copy { min-width:0; }
.ui-hero h2 { max-width:760px; margin:3px 0 9px; font-size:clamp(25px,2.7vw,36px); line-height:1.1; }
.ui-hero__copy > p:last-child { max-width:760px; margin:0; color:#c7d1e0; font-size:14px; line-height:1.6; }
.ui-hero__aside { flex:0 0 195px; min-width:0; padding:15px; border:1px solid rgba(255,255,255,.18); border-radius:4px; background:rgba(255,255,255,.06); }
.ui-hero__aside > span, .ui-hero__aside > strong { display:block; }
.ui-hero__aside > span:not(.ui-status) { color:#aebbd0; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.ui-hero__aside > strong { margin:7px 0 10px; color:white; font-size:13px; }
.ui-hero--compact { padding:24px 28px; }
.ui-scope { display:inline-flex; align-items:center; width:max-content; max-width:100%; min-height:28px; padding:5px 9px; border:1px solid var(--line); border-radius:4px; background:var(--status-neutral-bg); color:var(--status-neutral-ink); font-size:11px; font-weight:750; }
.ui-hero .ui-scope { border-color:rgba(255,255,255,.2); background:transparent; color:#dbe3ef; text-transform:uppercase; }
.ui-card { min-width:0; padding:21px; border:1px solid var(--line); border-radius:4px; background:var(--surface); box-shadow:none; }
.ui-card__header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:16px; }
.ui-card__header h3 { margin:2px 0 0; font-size:17px; }
.ui-card--flush { overflow:hidden; padding:0; }
.ui-card--flush > .ui-card__header { margin-bottom:0; padding:18px 20px; border-bottom:1px solid var(--line); }
.ui-card--accent { border-left:4px solid var(--accent); }
.ui-card--attention { border-left:4px solid var(--amber); }
.ui-card--danger { border-left:4px solid var(--red); }
.ui-grid { display:grid; gap:16px; min-width:0; }
.ui-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ui-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ui-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ui-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; min-width:0; }
.ui-metric { min-width:0; min-height:118px; padding:18px; border:1px solid var(--line); border-radius:4px; background:var(--surface); }
.ui-metric[data-tone="positive"] { border-top:3px solid var(--success); }
.ui-metric[data-tone="attention"] { border-top:3px solid var(--amber); }
.ui-metric small { display:block; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ui-metric strong { display:block; margin:14px 0 7px; font-size:27px; font-weight:650; line-height:1; }
.ui-metric p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.ui-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:end; min-width:0; }
.ui-toolbar__controls { display:flex; flex:1; flex-wrap:wrap; gap:10px; align-items:end; min-width:0; }
.ui-toolbar__meta { margin:0 0 10px; color:var(--muted); font-size:12px; white-space:nowrap; }
.ui-field { display:grid; gap:6px; min-width:0; color:var(--muted); font-size:12px; font-weight:750; }
.ui-field > span { display:block; }
.ui-field:has(> input[type="checkbox"]) { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--ink); }
.ui-field > input[type="checkbox"] { flex:0 0 auto; width:auto; min-height:auto; }
.ui-field--wide { grid-column:1/-1; }
.ui-control { width:100%; min-width:0; min-height:44px; padding:9px 10px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); font-size:14px; }
.ui-control:disabled { cursor:not-allowed; background:#f4f6fa; color:var(--muted); opacity:.72; }
.ui-control--multiline { min-height:120px; resize:vertical; line-height:1.5; }
.ui-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ui-actions--end { justify-content:flex-end; }
.ui-link-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 15px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); font-size:14px; font-weight:700; text-decoration:none; }
.ui-link-button:hover { border-color:#b8c6d9; background:#f4f6fa; }
.ui-status { display:inline-flex; align-items:center; width:max-content; max-width:100%; min-height:26px; padding:5px 9px; border-radius:999px; background:var(--status-neutral-bg); color:var(--status-neutral-ink); font-size:10px; line-height:1; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.ui-status[data-tone="positive"] { background:var(--status-positive-bg); color:var(--status-positive-ink); }
.ui-status[data-tone="info"] { background:var(--status-info-bg); color:var(--status-info-ink); }
.ui-status[data-tone="attention"] { background:var(--status-attention-bg); color:var(--status-attention-ink); }
.ui-status[data-tone="danger"] { background:var(--status-danger-bg); color:var(--status-danger-ink); }
.ui-status[data-tone="simulated"] { background:var(--status-simulated-bg); color:var(--status-simulated-ink); }
.ui-status--evidence { letter-spacing:.055em; }
.ui-notice { display:flex; gap:12px; align-items:center; min-width:0; padding:13px 15px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:4px; background:#f4f6fa; color:var(--muted); }
.ui-notice[data-tone="info"] { border-color:#c5d3f1; border-left-color:var(--accent); background:var(--accent-soft); color:#294670; }
.ui-notice[data-tone="neutral"] { border-color:var(--line); border-left-color:#9ba8b8; background:#f4f6fa; color:var(--muted); }
.ui-notice[data-tone="positive"] { border-color:#b7dcc6; border-left-color:var(--success); background:#edf8f1; color:#205b3d; }
.ui-notice[data-tone="attention"] { border-color:#ebd5b6; border-left-color:var(--amber); background:var(--amber-soft); color:#755024; }
.ui-notice[data-tone="danger"] { border-color:#edc3bb; border-left-color:var(--red); background:var(--red-soft); color:#7f3028; }
.ui-notice__mark { display:grid; place-items:center; flex:0 0 auto; width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.72); color:currentColor; font-size:10px; font-weight:800; }
.ui-notice > span:not(.ui-notice__mark) { flex:0 0 auto; font-weight:800; }
.ui-notice > div { min-width:0; }
.ui-notice strong { color:var(--ink); font-size:13px; }
.ui-notice p, p.ui-notice { margin:0; font-size:13px; line-height:1.55; }
.ui-notice ul { margin:4px 0 0; padding-left:20px; font-size:13px; line-height:1.55; }
p.ui-notice { display:block; }
.ui-empty { padding:60px 24px; color:var(--muted); text-align:center; }
.ui-empty h2, .ui-empty h3 { margin-bottom:7px; color:var(--ink); }
.ui-empty p { margin:0; line-height:1.55; }
.ui-empty--compact { padding:24px 12px; }
.ui-empty--loading { min-height:180px; display:grid; place-items:center; }
.ui-definition-list { display:grid; gap:1px; margin:0; background:var(--line); }
.ui-definition-list > div { display:flex; justify-content:space-between; gap:18px; padding:12px; background:white; }
.ui-definition-list dt { color:var(--muted); font-size:12px; }
.ui-definition-list dd { margin:0; font-size:12px; font-weight:750; text-align:right; }
.ui-list { display:grid; min-width:0; }
.ui-list__row { min-width:0; padding:13px 0; border-top:1px solid var(--line); }
.ui-list__row:first-child { border-top:0; }
.ui-list__row strong, .ui-list__row small { display:block; }
.ui-list__row small { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.4; }
.ui-table { min-width:0; overflow:auto; }
.ui-table__head, .ui-table__row { display:grid; gap:14px; align-items:center; padding:14px 18px; }
.ui-table__head { position:sticky; z-index:1; top:0; background:#f4f6fa; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ui-table__row { min-height:70px; border-top:1px solid var(--line); font-size:13px; }
.ui-table__row strong, .ui-table__row small { display:block; }
.ui-table__row small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.4; }
.ui-table__row > [data-label]::before { content:attr(data-label); display:none; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.section-heading h2 { margin-bottom: 0; font-size: 20px; }

/* Customer experience */
.experience-toolbar { display: flex; justify-content: space-between; gap: 22px; align-items: center; margin-bottom: 16px; }
.experience-toolbar > div:first-child { display: flex; gap: 10px; align-items: center; }
.experience-toolbar p { margin:0; color:var(--muted); font-size:12px; }
.stepper { display:flex; align-items:center; color:var(--muted); font-size:11px; }
.stepper strong { display: grid; place-items: center; width: 20px; height: 20px; margin-right: 4px; border-radius: 4px; background: var(--blue); color: white; }
.stepper i { width: 32px; margin: 0 8px; border-top: 1px solid var(--line); }
.storefront-shell { overflow:hidden; border:1px solid var(--line); border-radius:4px; background:#f7f9fc; box-shadow:none; }
.consumer-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:17px 25px; border-bottom:1px solid var(--line); background:white; }
.consumer-brand { display: flex; gap: 9px; align-items: center; font-family: inherit; font-size: 13px; font-weight: 700; }
.consumer-brand > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e8a758; color: #3b2b13; font: 700 12px Georgia, serif; }
.consumer-brand.inverse { color: white; }
.delivery-chip { text-align: center; }
.delivery-chip small, .delivery-chip strong { display: block; }
.delivery-chip small { color:var(--muted); font-size:10px; text-transform:uppercase; }
.delivery-chip strong { margin-top:2px; font-size:12px; }
.bag-button { justify-self:end; min-height:40px; border:0; border-radius:4px; padding:8px 13px; background:var(--accent); color:white; font-size:12px; font-weight:700; }
.storefront-hero { position:relative; display:flex; justify-content:space-between; align-items:center; min-height:260px; padding:40px clamp(28px,6vw,78px); overflow:hidden; background:linear-gradient(120deg,#e9eefb 0%,#f5f7fc 62%,#dfe7f4 100%); }
.storefront-hero h2 { margin:7px 0 12px; color:var(--nav); font-size:clamp(31px,4.2vw,54px); line-height:1.06; }
.storefront-hero p { margin:0; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.storefront-hero > div > span { color:var(--muted); font-size:13px; }
.hero-orbit { position: relative; width: 230px; height: 180px; flex: 0 0 auto; }
.hero-orbit::before { content: ""; position: absolute; inset: 0; border: 1px dashed rgba(40,89,206,.3); border-radius: 50%; transform: rotate(-17deg); }
.hero-orbit i { position: absolute; left: 24px; bottom: 20px; display: grid; place-items: center; width: 78px; height: 78px; border-radius: 50%; background: #e9a95a; color: #523713; font: 700 31px Georgia, serif; }
.hero-orbit b { position: absolute; right: 13px; top: 12px; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 4px; background: var(--accent); color: white; font-size: 25px; box-shadow: none; }
.storefront-body { display: grid; grid-template-columns: 1fr 320px; gap: 28px; padding: 28px; }
.consumer-tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.consumer-tabs button { min-height:40px; border:1px solid var(--line); border-radius:4px; padding:7px 12px; background:white; color:var(--muted); font-size:12px; }
.consumer-tabs button.active { border-color: var(--blue); background: var(--blue); color: white; }
.consumer-menu h3 { margin-bottom: 5px; font-family: inherit; font-size: 20px; font-weight: 700; }
.consumer-menu > p { color:var(--muted); font-size:12px; }
.food-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 16px; }
.food-card { position: relative; overflow: hidden; padding: 0; border: 1px solid #e3e1d8; border-radius: 4px; background: white; color: var(--ink); text-align: left; }
.food-card.selected { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(40,89,206,.12); }
.food-card > div:last-of-type { padding: 13px; }
.food-card small { color:var(--accent); font-size:10px; font-weight:800; text-transform:uppercase; }
.food-card h4 { margin:6px 0; font-size:14px; }
.food-card p { min-height:34px; margin-bottom:10px; color:var(--muted); font-size:12px; line-height:1.45; }
.food-card strong { font-size:13px; }
.food-card > b { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 4px; background: var(--blue); color: white; }
.food-visual { position: relative; min-height: 95px; overflow: hidden; background: radial-gradient(circle at 50% 30%, #f6dc9f, #d89445); }
.food-visual.salmon { background: radial-gradient(circle at 50% 30%, #f2c5a0, #d97858); }
.food-visual.feast { background: radial-gradient(circle at 50% 30%, #dce8b3, #91aa67); }
.food-visual::before, .food-visual::after { content: ""; position: absolute; left: 50%; top: 50%; width: 70px; height: 33px; border-radius: 50%; background: rgba(255,255,255,.58); transform: translate(-50%, -50%) rotate(-7deg); box-shadow: 0 8px 0 rgba(88,54,25,.12); }
.food-visual::after { width: 47px; height: 19px; background: #805127; transform: translate(-50%, -50%) rotate(8deg); }
.food-visual span { position: absolute; z-index: 2; left: 9px; top: 9px; color: rgba(56,37,18,.65); font: italic 10px Georgia, serif; }
.checkout-card { align-self: start; position: sticky; top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 4px; background: white; box-shadow: var(--shadow); }
.checkout-card h3 { margin-bottom: 18px; font-family: inherit; font-size: 18px; font-weight: 700; }
.checkout-line, .checkout-total { display:flex; justify-content:space-between; gap:10px; padding:9px 0; font-size:13px; }
.checkout-line.muted { color: var(--muted); }
.checkout-total { margin-bottom: 16px; border-top: 1px solid var(--line); font-size: 12px; }
.checkout-card form { display: grid; gap: 11px; }
.availability { display: flex; gap: 9px; padding: 10px; border-radius: 4px; background: #eef6df; }
.availability > span { color: var(--green-2); font-weight: 800; }
.availability strong, .availability small { display: block; }
.availability strong { font-size:12px; }
.availability small { margin-top:2px; color:var(--muted); font-size:11px; }
.consumer-cta { width: 100%; min-height: 44px; background: var(--blue); }
.checkout-disclosure { margin:12px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.tracking-shell { display: grid; grid-template-columns: minmax(380px, .75fr) minmax(420px, 1.25fr); min-height: 650px; overflow: hidden; border-radius: 4px; background: var(--green); box-shadow: var(--shadow); }
.tracking-copy { padding: 42px; color: white; }
.tracking-kicker { margin:55px 0 7px; color:#aebbd0; font-size:11px; font-weight:700; text-transform:uppercase; }
.tracking-copy h2 { margin-bottom: 10px; font-size: 40px; }
.tracking-copy > p:not(.tracking-kicker) { color: #b8c4d5; font-size: 11px; }
.tracking-steps { display: grid; gap: 0; margin: 36px 0; }
.tracking-step { display: grid; grid-template-columns: 25px 1fr; gap: 12px; min-height: 56px; }
.tracking-step > span { position: relative; z-index: 1; display: grid; place-items: center; width: 23px; height: 23px; border: 2px solid #61718a; border-radius: 50%; color: var(--green); font-size: 9px; font-weight: 800; }
.tracking-step:not(:last-child) > span::after { content: ""; position: absolute; top: 22px; height: 34px; border-left: 1px solid #527267; }
.tracking-step.complete > span { border-color: #45a878; background: #45a878; }
.tracking-step strong, .tracking-step small { display: block; }
.tracking-step strong { font-size:13px; }
.tracking-step small { margin-top:3px; color:#aebbd0; font-size:11px; }
.tracking-map { position: relative; overflow: hidden; background: #e7ebf1; }
.map-grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(#9ba8b8 1px, transparent 1px), linear-gradient(90deg, #9ba8b8 1px, transparent 1px); background-size: 58px 58px; transform: rotate(8deg) scale(1.2); }
.map-store, .map-home { position: absolute; z-index: 2; display: grid; place-items: center; width: 42px; height: 42px; border: 5px solid white; border-radius: 50%; box-shadow: 0 10px 25px rgba(42,66,54,.18); }
.map-store { left: 18%; bottom: 22%; background: #e9a95a; color: #513815; }
.map-home { right: 18%; top: 20%; background: var(--blue); color: white; }
.flight-path { position: absolute; left: 25%; bottom: 27%; width: 55%; height: 46%; border-top: 3px dashed rgba(40,89,206,.55); border-radius: 50%; transform: rotate(-28deg); }
.drone-dot { position: absolute; z-index: 2; left: 52%; top: 42%; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 4px; background: var(--blue); color: white; box-shadow: none; }
.eta-card { position: absolute; z-index: 3; left: 24px; top: 24px; min-width: 185px; padding: 15px; border: 1px solid var(--line); border-radius: 4px; background: white; box-shadow: var(--shadow); }
.eta-card small, .eta-card strong, .eta-card span { display: block; }
.eta-card small { color:var(--muted); font-size:10px; text-transform:uppercase; }
.eta-card strong { margin: 5px 0; font-family: inherit; font-size: 20px; font-weight: 700; }
.eta-card span { color:var(--muted); font-size:11px; }

/* Operations */
.ops-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.filter-tabs { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 4px; background: white; }
.filter-tabs button { min-height:38px; border:0; border-radius:3px; padding:8px 11px; background:none; color:var(--muted); font-size:12px; font-weight:700; }
.filter-tabs button.active { background: var(--blue); color: white; }
.filter-tabs span { opacity: .65; margin-left: 4px; }
.desk-layout { display:grid; grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr); gap:20px; align-items:start; }
.order-panel { max-height: calc(100vh - 160px); overflow-y: auto; }
.order-panel > .ui-card__header { position:sticky; z-index:2; top:0; align-items:center; margin:0; padding:17px 19px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); }
.order-panel > .ui-card__header h2 { margin:0; font-size:19px; }
.order-panel > .ui-card__header p { margin:0; color:var(--muted); font-size:12px; }
.order-list { display: grid; }
.order-row { display: grid; grid-template-columns: 35px 1fr auto; gap: 7px 10px; align-items: center; width: 100%; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
.order-row:hover { background: #f4f6fa; }
.order-row.is-selected { background: var(--blue-soft); box-shadow: inset 3px 0 var(--blue); }
.order-source { display:grid; place-items:center; width:32px; height:32px; grid-row:1/3; border-radius:4px; background:#edf0f4; color:#697687; font-size:9px; font-weight:800; }
.order-source.sandbox { background: var(--blue-soft); color: var(--blue); }
.order-source.simulated { background: #ece7f2; color: #604a75; }
.order-primary strong, .order-primary small { display: block; }
.order-primary strong { font-size:13px; }
.order-primary small { margin-top:3px; color:var(--muted); font-size:11px; }
.order-row p { grid-column:2/-1; margin:0; color:var(--muted); font-size:11px; }
.detail { padding: 23px; }
.detail-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.detail-heading h2 { margin: 10px 0 5px; font-size: 25px; }
.detail-heading p { margin:0; color:var(--muted); font-size:12px; }
.source-line { display:flex; gap:8px; align-items:center; color:var(--muted); font-size:11px; }
.authority-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 19px 0; }
.authority-card { min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 4px; }
.authority-card small { display:block; margin-bottom:6px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.authority-card strong { display:block; overflow:hidden; margin-bottom:7px; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.decision-box { padding: 13px 14px; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 4px; background: #f7f9fc; }
.decision-box.review_required { border-left-color: var(--amber); }
.decision-box.ineligible { border-left-color: var(--red); }
.decision-box p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.eligibility-details { margin: 16px 0; border-top: 1px solid var(--line); }
.eligibility-details summary { display:flex; justify-content:space-between; padding:13px 0; font-size:13px; font-weight:700; cursor:pointer; list-style:none; }
.eligibility-details summary span { color:var(--muted); font-size:11px; }
.check-list { display: grid; }
.check { display: grid; grid-template-columns: 24px 1fr auto; gap: 9px; padding: 11px 0; border-top: 1px solid var(--line); }
.check-icon { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #dff1e2; color: #225d38; font-size: 9px; font-weight: 800; }
.check.fail .check-icon, .check.blocked .check-icon { background: var(--red-soft); color: var(--red); }
.check.review .check-icon { background: var(--amber-soft); color: var(--amber); }
.check strong { display:block; font-size:12px; }
.check p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.delivery-form { display: grid; grid-template-columns: 1fr auto; gap: 10px 12px; align-items: end; margin: 0 0 17px; padding: 14px; border: 1px solid #e8c995; border-radius: 4px; background: #fff8eb; }
.delivery-form > div:first-child, .delivery-form .full { grid-column: 1 / -1; }
.delivery-form strong { font-size:13px; }
.delivery-form p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.smallprint { margin:13px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }

/* Catalog, connections, activity */
.menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.menu-card { padding: 19px; border: 1px solid var(--line); border-radius: 4px; background: white; box-shadow: var(--shadow); }
.menu-card-head { display: flex; justify-content: space-between; gap: 11px; }
.menu-card h3 { margin-bottom: 4px; font-family: inherit; font-size: 16px; font-weight: 700; }
.menu-card .description { min-height:36px; color:var(--muted); font-size:12px; line-height:1.5; }
.package-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 15px 0; }
.provenance { padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.5; }
.menu-actions { margin-top: 11px; }
.connection-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: white; box-shadow: var(--shadow); }
.connection-row { display: grid; grid-template-columns: 46px 1.2fr 1.2fr .8fr auto; gap: 15px; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.connection-row:last-child { border-bottom: 0; }
.connection-logo { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 4px; background: var(--green); color: white; font-size: 9px; font-weight: 800; }
.connection-row h3 { margin:0 0 3px; font-size:14px; }
.connection-row p { margin:0; color:var(--muted); font-size:11px; }
.capabilities { display: flex; flex-wrap: wrap; gap: 5px; }
.capabilities span { padding:4px 6px; border:1px solid var(--line); border-radius:4px; color:var(--muted); font-size:10px; }
.connection-state strong { display:block; margin-bottom:5px; font-size:12px; }
.wing-preview { margin-top: 16px; overflow: hidden; border: 1px solid #31415a; border-radius: 4px; background: var(--green); color: white; box-shadow: var(--shadow); }
.wing-preview-head { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; padding: 25px 26px 21px; border-bottom: 1px solid rgba(255,255,255,.12); }
.wing-preview-head h2 { margin: 4px 0 8px; font-size: 24px; }
.wing-preview-head p { max-width:720px; margin:0; color:#b8c4d5; font-size:13px; line-height:1.55; }
.wing-preview .eyebrow { color: #aebbd0; }
.wing-contract-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.1); }
.wing-contract-facts > div { min-width: 0; padding: 13px 17px; background: #1e2e45; }
.wing-contract-facts > div.attention { background: #493b23; }
.wing-contract-facts small, .wing-contract-facts strong { display: block; }
.wing-contract-facts small { color:#aebbd0; font-size:10px; font-weight:700; text-transform:uppercase; }
.wing-contract-facts strong { overflow:hidden; margin-top:5px; font-size:11px; line-height:1.4; text-overflow:ellipsis; }
.network-lock { flex: 0 0 auto; min-width: 138px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: rgba(255,255,255,.06); text-align: right; }
.network-lock strong, .network-lock span, .network-lock small { display: block; }
.network-lock strong { color: white; font-family: inherit; font-size: 25px; font-weight: 700; }
.network-lock span { font-size:11px; font-weight:700; text-transform:uppercase; }
.network-lock small { margin-top:5px; color:#aebbd0; font-size:10px; }
.wing-flow { display: grid; grid-template-columns: repeat(4, 1fr); }
.wing-step { display: grid; grid-template-columns: 27px 1fr; gap: 10px; min-height: 148px; padding: 20px 16px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.wing-step:nth-child(4n) { border-right: 0; }
.wing-step > span { display: grid; place-items: center; align-self: start; width: 27px; height: 27px; border-radius: 50%; background: rgba(255,255,255,.1); color: #a9bdb6; font-size: 8px; font-weight: 800; }
.wing-step.ready > span, .wing-step.implementation-ready > span { background: var(--blue); color: white; }
.wing-step.blocked > span { background: #824238; color: #ffdcd4; }
.wing-step small, .wing-step strong { display: block; }
.wing-step small { margin-bottom:6px; color:#aebbd0; font-size:10px; font-weight:800; text-transform:uppercase; }
.wing-step.blocked small { color: #ffb6a8; }
.wing-step strong { font-size:12px; line-height:1.4; }
.wing-step p { margin:7px 0 0; color:#b8c4d5; font-size:11px; line-height:1.5; }
.wing-mapping { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 1px; background: rgba(255,255,255,.1); }
.wing-mapping > div { padding: 14px 17px; background: #1e2e45; }
.wing-mapping small, .wing-mapping strong { display: block; }
.wing-mapping small { color:#aebbd0; font-size:10px; font-weight:700; text-transform:uppercase; }
.wing-mapping strong { overflow:hidden; margin-top:5px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.wing-boundary { margin:0; padding:15px 20px; color:#b8c4d5; font-size:11px; line-height:1.5; }
.wing-gap { margin:0; padding:13px 20px; border-top:1px solid rgba(255,255,255,.1); background:#493b23; color:#eadcb8; font-size:11px; line-height:1.5; }
.provider-trace { margin: 16px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #f7f9fc; }
.provider-trace summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; background: #f1f4f8; }
.provider-trace summary strong, .provider-trace summary small { display: block; }
.provider-trace summary strong { font-size: 11px; }
.provider-trace summary small { margin-top:3px; color:var(--muted); font-size:11px; }
.provider-trace-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trace-stage { display: grid; grid-template-columns: 23px 1fr; gap: 9px; min-height: 105px; padding: 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trace-stage:nth-child(3n) { border-right: 0; }
.trace-stage > span { display: grid; place-items: center; align-self: start; width: 22px; height: 22px; border-radius: 50%; background: #e8eae6; color: var(--muted); font-size: 8px; font-weight: 800; }
.trace-stage.simulated_complete > span { background: #dff1e2; color: #225d38; }
.trace-stage.declined > span, .trace-stage.blocked > span { background: var(--red-soft); color: var(--red); }
.trace-stage small, .trace-stage strong { display: block; }
.trace-stage small { color:var(--accent); font-size:10px; font-weight:800; text-transform:uppercase; }
.trace-stage strong { margin-top:4px; font-size:12px; }
.trace-stage p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.trace-resources { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); }
.trace-resources > div { min-width: 0; padding: 12px 14px; background: white; }
.trace-resources small, .trace-resources strong { display: block; }
.trace-resources small { color:var(--muted); font-size:10px; text-transform:uppercase; }
.trace-resources strong { overflow:hidden; margin-top:4px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.provider-trace .wing-boundary { color: var(--muted); background: white; }
.audit-list { overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: white; box-shadow: var(--shadow); }
.audit-row { display: grid; grid-template-columns: 110px 16px 1fr 120px 120px; gap: 13px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.audit-row:last-child { border-bottom: 0; }
.audit-row time, .audit-row .authority { color:var(--muted); font-size:11px; }
.audit-dot { width: 7px; height: 7px; border: 2px solid white; border-radius: 50%; background: var(--green-2); box-shadow: 0 0 0 1px var(--green-2); }
.audit-row strong, .audit-row small { display: block; }
.audit-row strong { font-size:12px; }
.audit-row small { margin-top:3px; color:var(--muted); font-size:10px; }

/* Role workspace compositions */
.role-switcher { display:grid; gap:3px; min-width:180px; }
.role-switcher span { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.network-list, .decision-list, .tenant-list { display: grid; }
.network-row, .tenant-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 11px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.network-row strong, .network-row small, .tenant-row strong, .tenant-row small { display: block; }
.network-row strong, .tenant-row strong { font-size:13px; }
.network-row small, .tenant-row small { margin-top:3px; color:var(--muted); font-size:11px; }
.store-monogram, .tenant-row > span:first-child { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-size: 9px; font-weight: 800; }
.tenant-row { grid-template-columns: 38px 1fr auto auto; }
.decision-row { display: grid; grid-template-columns: 27px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid var(--line); }
.decision-row > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--amber-soft); color: var(--amber); font-size: 10px; font-weight: 800; }
.decision-row strong, .decision-row small { display: block; }
.decision-row strong { font-size:13px; }
.decision-row small { margin-top:4px; color:var(--muted); font-size:11px; }
.authority-footnote, .card-evidence { margin:14px 0 0; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.5; }
.readiness-bar { display: block; width: 100%; height: 5px; margin-top: 7px; overflow: hidden; border-radius: 3px; background: #e4e8ee; }
.readiness-bar { appearance: none; border: 0; color: var(--blue); }
.readiness-bar::-webkit-progress-bar { background: #e4e8ee; border-radius: 3px; }
.readiness-bar::-webkit-progress-value { background: var(--blue); border-radius: 3px; }
.readiness-bar::-moz-progress-bar { background: var(--blue); border-radius: 3px; }
.rollout-table { max-height: 70vh; overflow: auto; }
.rollout-table .ui-table__head,.rollout-table .ui-table__row { grid-template-columns:minmax(190px,1.2fr) minmax(120px,.9fr) minmax(130px,1fr) minmax(130px,.9fr) 180px; }
.rollout-table .ui-table__head { position: sticky; top: 0; z-index: 1; }
.case-card .ui-definition-list,.handoff-card .ui-definition-list,.security-card .ui-definition-list { margin-bottom:16px; }
.people-list { padding: 0 20px; }
.person-row { display:grid; grid-template-columns:38px minmax(180px,1fr) auto minmax(230px,auto); gap:13px; align-items:center; min-height:74px; border-top:1px solid var(--line); font-size:12px; }
.person-row:first-child { border-top: 0; }
.person-row strong, .person-row small { display: block; }
.person-row small { margin-top:3px; color:var(--muted); font-size:11px; }
.person-avatar { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 4px; background: var(--green); color: white; font-size: 9px; font-weight: 800; }
.person-row form { display: flex; gap: 7px; }
.station-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 15px; }
.task-list { padding: 17px; }
.station-task { display: grid; grid-template-columns: 28px 1fr; gap: 9px; align-items: center; width: 100%; padding: 11px 9px; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--ink); text-align: left; }
.station-task.active { border-radius: 3px; background: var(--blue-soft); box-shadow: inset 3px 0 var(--blue); }
.station-task > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 4px; background: var(--blue); color: white; font-size: 8px; font-weight: 800; }
.station-task strong, .station-task small { display: block; }
.station-task strong { font-size:12px; }
.station-task small { margin-top:2px; color:var(--muted); font-size:11px; }
.task-checklist { display: grid; margin-bottom: 14px; }
.packing-step { display: grid; grid-template-columns: 30px 1fr auto; gap: 11px; align-items: center; min-height: 69px; border-top: 1px solid var(--line); }
.packing-step > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #ecefeb; color: var(--muted); font-size: 9px; font-weight: 800; }
.packing-step.complete > span { background: #dff1e2; color: #225d38; }
.packing-step strong, .packing-step small { display: block; }
.packing-step strong { font-size:13px; }
.packing-step small { margin-top:3px; color:var(--muted); font-size:11px; }
.handoff-card header { display: grid; grid-template-columns: 42px 1fr auto; }
.package-mark { display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid var(--blue); border-radius: 4px; color: var(--blue); font-size: 8px; font-weight: 800; }
.boundary-list { display: grid; }
.boundary-list > div { display: grid; grid-template-columns: 24px 1fr; gap: 9px; padding: 11px 0; border-top: 1px solid var(--line); }
.boundary-list span { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #edf0eb; color: var(--green-2); font-size: 8px; font-weight: 800; }
.boundary-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.provider-columns { grid-template-columns: .8fr .9fr 1fr .8fr 1.3fr; }
.exception-code { margin-bottom:7px; color:var(--red); font-size:11px !important; }
.invoice-total { display: flex; justify-content: space-between; align-items: flex-end; margin: 18px 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.invoice-total span { color:var(--muted); font-size:12px; }
.invoice-total strong { font-family: inherit; font-size: 26px; font-weight: 700; }
.adapter-card header { display: grid; grid-template-columns: 42px 1fr auto; }
.adapter-card > p { color:var(--muted); font-size:12px; }
.adapter-icon { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 4px; background: var(--green); color: white; font-size: 9px; font-weight: 800; }
.zero-network { margin: 14px 0; padding: 12px; border-radius: 4px; background: #f1f4f8; }
.zero-network strong, .zero-network small { display: block; }
.zero-network strong { color:var(--accent); font-size:13px; }
.zero-network small { margin-top:3px; color:var(--muted); font-size:11px; }
.lock-mark { padding: 6px 9px; border-radius: 999px; background: var(--red-soft); color: var(--red); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.security-lock { padding: 20px; border: 1px solid #ebc6bf; border-radius: 4px; background: var(--red-soft); }
.security-lock strong { color: var(--red); font-size: 14px; }
.security-lock p { margin:8px 0 0; color:#75433d; font-size:12px; line-height:1.55; }
.toast { position:fixed; z-index:80; right:24px; bottom:24px; max-width:420px; padding:13px 16px; border-radius:4px; background:var(--ink); color:white; box-shadow:var(--shadow); font-size:12px; }
.toast.error { background: var(--red); }

@media (max-width: 1120px) {
  .ui-metrics,.ui-grid--4,.ui-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .menu-grid { grid-template-columns: repeat(2, 1fr); }
  .storefront-body { grid-template-columns: 1fr 290px; }
}

@media (max-width: 860px) {
  .login-layout { grid-template-columns: 1fr; }
  .login-brand { color: var(--ink); }
  .login-brand small { color: var(--muted); }
  .login-story { display: none; }
  .login-panel { min-height: 100vh; padding-top: 120px; }
  .app-shell { grid-template-columns: 1fr; }
  .rail { position: static; height: auto; padding: 14px; }
  .brand { padding-bottom: 11px; }
  .store-switcher, .rail-note { display: none; }
  .rail nav { display: flex; overflow-x: auto; }
  .nav-link { min-width: max-content; }
  .topbar { min-height: 78px; }
  .desk-layout, .tracking-shell { grid-template-columns: 1fr; }
  .order-panel { max-height: none; }
  .tracking-map { min-height: 430px; }
  .storefront-body { grid-template-columns: 1fr; }
  .checkout-card { position: static; }
  .connection-row { grid-template-columns: 42px 1fr auto; }
  .connection-row .capabilities { grid-column: 2 / -1; }
  .connection-state { grid-column: 2; }
  .wing-flow { grid-template-columns: repeat(2, 1fr); }
  .wing-step:nth-child(2n) { border-right: 0; }
  .wing-step:nth-child(2n + 1) { border-right: 1px solid rgba(255,255,255,.1); }
  .wing-mapping { grid-template-columns: repeat(2, 1fr); }
  .provider-trace-grid { grid-template-columns: repeat(2, 1fr); }
  .trace-stage:nth-child(3n) { border-right: 1px solid var(--line); }
  .trace-stage:nth-child(2n) { border-right: 0; }
  .trace-resources { grid-template-columns: repeat(2, 1fr); }
  .station-layout { grid-template-columns: 1fr; }
  .rollout-table .ui-table__head,.ui-table__head.provider-columns { display:none; }
  .rollout-table .ui-table__row,.ui-table__row.provider-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rollout-table .ui-table__row > [data-label]::before,.ui-table__row.provider-columns > [data-label]::before { display:block; }
  .person-row { grid-template-columns: 38px 1fr auto; padding: 12px 0; }
  .person-row form { grid-column: 2 / -1; }
}

@media (max-width: 600px) {
  .ui-notice:has(> span:not(.ui-notice__mark)) { flex-direction:column; align-items:flex-start; }
  main { padding: 19px 14px 40px; }
  .topbar { padding: 17px 15px; }
  .topbar .environment-pill { display:none; }
  .ops-toolbar { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; align-items:stretch; }
  .ops-toolbar .filter-tabs { width:100%; max-width:100%; flex-wrap:wrap; }
  .ops-toolbar .filter-tabs button { flex:1 1 auto; }
  .ui-card__header { display:grid; grid-template-columns:minmax(0,1fr); }
  .ui-card__header > .ui-status { grid-column:1; justify-self:start; max-width:100%; white-space:normal; line-height:1.25; }
  .handoff-card .ui-card__header,.adapter-card .ui-card__header { grid-template-columns:42px minmax(0,1fr); }
  .handoff-card .ui-card__header > .ui-status,.adapter-card .ui-card__header > .ui-status { grid-column:2; justify-self:start; }
  .ui-hero { display:block; padding:25px 22px; }
  .ui-hero__aside { width:100%; margin-top:20px; }
  .ui-metrics,.ui-grid--2,.ui-grid--3,.ui-grid--4,.menu-grid,.food-grid { grid-template-columns:1fr; }
  .experience-toolbar { display: block; }
  .stepper { margin-top: 12px; }
  .consumer-header { grid-template-columns: 1fr auto; }
  .delivery-chip { display: none; }
  .storefront-hero { min-height: 310px; padding: 28px 22px; }
  .hero-orbit { position: absolute; right: -70px; bottom: -30px; opacity: .55; }
  .storefront-body { padding: 18px; }
  .authority-grid { grid-template-columns: 1fr 1fr; }
  .check { grid-template-columns: 22px 1fr; }
  .check .ui-status--evidence { grid-column:2; justify-self:start; }
  .delivery-form, .package-form { grid-template-columns: 1fr; }
  .delivery-form > div:first-child, .delivery-form .full,.ui-field--wide { grid-column:auto; }
  .connection-row { grid-template-columns: 38px 1fr; }
  .connection-row > div:last-child { grid-column: 2; }
  .wing-preview-head { display: block; }
  .wing-contract-facts { grid-template-columns: 1fr; }
  .network-lock { margin-top: 16px; text-align: left; }
  .wing-flow, .wing-mapping { grid-template-columns: 1fr; }
  .provider-trace-grid, .trace-resources { grid-template-columns: 1fr; }
  .trace-stage, .trace-stage:nth-child(2n), .trace-stage:nth-child(3n) { border-right: 0; }
  .wing-step, .wing-step:nth-child(2n), .wing-step:nth-child(2n + 1) { border-right: 0; }
  .audit-row { grid-template-columns: 70px 12px 1fr; }
  .audit-row .authority,.audit-row .ui-status--evidence { grid-column:3; }
  .top-actions { gap: 6px; }
  .role-switcher { width:160px; min-width:0; max-width:100%; }
  .rollout-table .ui-table__row,.ui-table__row.provider-columns { grid-template-columns:1fr; gap:8px; }
  .person-row { grid-template-columns: 36px 1fr; }
  .person-row .ui-scope,.person-row > span:last-child,.person-row form { grid-column:2; }
  .packing-step { grid-template-columns: 28px 1fr; padding: 10px 0; }
  .packing-step .button { grid-column: 2; }
}
@media (max-width:760px) {
  .ui-table__row > [data-label]::before { display:block; }
}
.credential-panel { margin-bottom: 1rem; }
.assortment-control { margin:15px 0; padding:14px; border:1px solid var(--line); border-radius:4px; background:#f7f9fc; }
.assortment-control>div>small,.assortment-control>div>strong { display:block; }
.assortment-control>div>small { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.assortment-control>div>strong { margin:4px 0; font-size:13px; }
.assortment-control p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.assortment-control form { display:grid; grid-template-columns:1fr 1.4fr auto; gap:8px; margin-top:11px; }
.assortment-control form .button { align-self:end; }
.launch-step-action { display:flex; flex-direction:column; gap:7px; align-items:flex-end; justify-content:center; min-width:135px; }
.pilot-store-selection { display:grid; grid-template-columns:minmax(210px,1fr) auto; gap:8px; align-items:end; min-width:390px; }
.channel-contract { margin-top:18px; }
.channel-contract>header { display:flex; justify-content:space-between; gap:18px; }
.channel-contract>header p { margin:5px 0 0; color:var(--muted); font-size:12px; }
.channel-contract form { display:grid; grid-template-columns:1.1fr 1fr 1fr auto; gap:10px; align-items:end; margin:18px 0; padding:16px; border-radius:4px; background:#f4f6fa; }
.channel-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.channel-api-contract { margin:18px 0; padding:16px; display:grid; gap:7px; border:1px solid var(--line); border-radius:4px; background:#f7f9fc; }
.channel-api-contract>span { color:var(--nav); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.channel-api-contract code { width:fit-content; max-width:100%; padding:6px 9px; border-radius:3px; background:var(--accent-soft); color:var(--nav); font-size:11px; overflow-wrap:anywhere; }
.channel-api-contract p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.channel-flow>div { padding:14px; border:1px solid var(--line); border-radius:4px; }
.channel-flow span { display:grid; place-items:center; width:24px; height:24px; margin-bottom:10px; border-radius:3px; background:var(--accent); color:white; font-size:10px; font-weight:800; }
.channel-flow strong { font-size:13px; }
.channel-flow p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.launch-boundary { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.launch-boundary>div { padding:17px; border:1px solid #ebd5b6; border-radius:4px; background:#fff7e9; }
.launch-boundary strong { color:#7f5217; font-size:13px; }
.launch-boundary p { margin:6px 0 0; color:#765d3e; font-size:12px; line-height:1.5; }
.oauth-rehearsal { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:4px; background:#f7f9fc; }
.oauth-rehearsal p, .location-mapping p { margin:.25rem 0 0; color:var(--muted); }
.location-mapping { margin-top:1rem; border-top:1px solid #e5e5df; padding-top:1rem; }
.location-map-row { display:grid; grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(200px,1fr) auto; gap:.75rem; align-items:center; padding:.8rem 0; border-bottom:1px solid #ededE8; }
.location-map-row div small { display:block; color:var(--muted); margin-top:.2rem; }
.replace-approval { font-size:.78rem; color:var(--muted); }
.privacy-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1rem; margin:1rem 0; }
.privacy-form { display:grid; gap:.75rem; }
.privacy-form label { display:grid; gap:.35rem; font-size:.8rem; font-weight:700; }
.privacy-facts { display:flex; flex-wrap:wrap; gap:.45rem; margin:.75rem 0; }
.privacy-facts span { background:#f2f3ef; border-radius:999px; padding:.35rem .6rem; font-size:.75rem; }
.privacy-request .button + .button { margin-left:.5rem; }
.policy-row { display:flex; align-items:center; gap:1rem; padding:.8rem 0; border-bottom:1px solid #ecece7; }
.policy-row div { flex:1; }
.policy-row small { display:block; color:var(--muted); margin-top:.2rem; }
.retention-preview { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.signal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; margin:1rem 0; }
.signal-card > strong { font-size:1.8rem; display:block; margin:.65rem 0; }
.incident-card .button + .button { margin-left:.5rem; }
.credential-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.credential-facts div { padding: .8rem; border-radius: 4px; background: var(--surface-muted, #f4f6fa); }
.credential-facts small, .credential-facts strong { display: block; }
.credential-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; }
.credential-form label span { display: block; font-size: .78rem; font-weight: 700; margin-bottom: .35rem; }
.credential-secret, .credential-actions { grid-column: 1 / -1; }
.credential-actions { display: flex; gap: .6rem; align-items: center; }
@media (max-width: 760px) { .credential-facts, .credential-form, .location-map-row { grid-template-columns: 1fr; } .credential-secret, .credential-actions { grid-column: auto; } .oauth-rehearsal { align-items:flex-start; flex-direction:column; } }
@media (max-width: 900px) { .channel-contract form,.channel-flow { grid-template-columns:1fr 1fr; } }
@media (max-width: 600px) { .launch-step-action { align-items:flex-start; } .pilot-store-selection { grid-template-columns:1fr; min-width:0; width:100%; } .assortment-control form,.channel-contract form,.channel-flow,.launch-boundary { grid-template-columns:1fr; } }
.organization-page{min-height:100vh;background:linear-gradient(135deg,var(--nav) 0%,var(--nav) 48%,var(--paper) 48%,var(--paper) 100%);color:var(--ink)}
.organization-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr;padding:32px 48px}
.organization-shell .login-brand{color:#fff}
.organization-panel{align-self:center;justify-self:end;width:min(620px,48vw);padding:44px}
.organization-panel h1{font-size:42px;line-height:1.08;margin:6px 0 12px}
.organization-panel>p{color:var(--muted);font-size:14px;line-height:1.6}
.organization-list{display:grid;gap:12px;margin:28px 0}
.organization-choice{width:100%;min-height:78px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:18px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;text-align:left;align-items:center;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.organization-choice:hover,.organization-choice:focus-visible{border-color:var(--accent);background:#f7f9fc;box-shadow:none}
.organization-choice:disabled{opacity:.6;cursor:wait}
.organization-mark{width:48px;height:48px;border-radius:4px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}
.organization-choice strong,.organization-choice small{display:block}
.organization-choice strong{font-size:14px}
.organization-choice small{margin-top:4px;color:var(--muted);font-size:12px}
.organization-arrow{font-size:24px;color:var(--accent)}
.organization-boundary{font-size:13px}
.organization-error{padding:20px;border-radius:4px;background:var(--red-soft);border:1px solid #ecc5bb}
.organization-error p{margin:8px 0 18px}
@media(max-width:800px){.organization-page{background:var(--paper)}.organization-shell{padding:20px;gap:48px}.organization-shell .login-brand{color:var(--ink)}.organization-panel{justify-self:stretch;width:auto;padding:28px}.organization-panel h1{font-size:34px}}
.access-invite{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.8rem;align-items:end;margin:1rem 0}
.access-invite header,.access-reason{grid-column:1/-1}
.access-invite label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700}
.access-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:1rem}
.access-members{display:grid;gap:.8rem}
.access-member{background:#fff;border:1px solid var(--line);border-radius:4px;padding:1rem}
.access-member header{display:grid;grid-template-columns:40px 1fr auto;gap:.75rem;align-items:center}
.access-member small{display:block;color:var(--muted);margin-top:.2rem}
.access-grants{display:grid;gap:.45rem;margin:.85rem 0}
.access-grants>div{display:flex;justify-content:space-between;gap:.8rem;align-items:center;background:#f4f6fa;border-radius:4px;padding:.65rem .75rem}
.access-member-actions{display:flex;justify-content:flex-end}
.access-request{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}
.access-request>div{grid-column:1/-1;display:flex;gap:.5rem}
.access-request small{display:block;color:var(--muted);margin-top:.2rem}
@media(max-width:900px){.access-invite,.access-layout{grid-template-columns:1fr}.access-invite header,.access-reason{grid-column:auto}}
@media(max-width:600px){
  .access-member .ui-card__header{grid-template-columns:40px minmax(0,1fr)}
  .access-member .ui-card__header>.ui-status{grid-column:2;justify-self:start}
  .access-grants>div{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}
  .access-grants>div>form{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}
  .access-grants>div>form .ui-control,.access-grants>div>form .button,.access-grants>div>.button{width:100%}
}
/* Guided stories sit alongside the product, never replacing its workflow rules. */
.guided-tour { max-width:1100px; margin-bottom:22px; background:var(--accent-soft); }
.guided-tour h2 { margin: 12px 0; font-size: 23px; }
.guided-tour p { line-height: 1.6; max-width: 90ch; }
.tour-heading, .tour-controls, .tour-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.tour-heading { justify-content: space-between; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.tour-controls { margin: 16px 0 10px; }
.tour-controls span, .guided-tour small { font-size: 12px; color: var(--muted); }
.tour-links { margin-bottom: 20px; }
.tour-links button { background: white; border: 1px solid #b8c8ed; border-radius: 4px; padding: 8px 12px; cursor: pointer; }
.tour-point { border-left: 3px solid var(--accent); padding-left: 12px; }
.guided-entry { margin: 18px 0; display: grid; gap: 8px; }
.guided-entry .button { width: 100%; text-align: left; }
.demo-advanced { margin: 16px 0; }
.demo-advanced summary { cursor: pointer; margin-bottom: 12px; }

.order-evidence { margin: 16px 0; }
.order-evidence p { font-size: 12px; line-height: 1.5; }
.order-evidence h3 { font-size: 15px; margin: 0 0 10px; }
.order-evidence form { margin-top: 14px; }
.order-evidence label { display: grid; gap: 5px; font-size: 12px; margin: 7px 0; }
.order-evidence input[type=checkbox] { width: auto; justify-self: start; }
.order-evidence fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border: 1px solid var(--line); margin: 12px 0; padding: 12px; }
.order-evidence legend { font-size: 12px; padding: 0 5px; }

.basket-review { margin: 20px 0; border-top: 1px solid var(--line, #dce2da); padding-top: 12px; }
.basket-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(125px,1fr)); gap: 10px; margin: 12px 0; }
.basket-editor fieldset { margin: 12px 0; border: 1px solid var(--line); border-radius: 4px; min-width: 0; }
.basket-editor label { display: grid; gap: 5px; font-size: 12px; }
.basket-drawing { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px; background: #f4f6fa; border-radius: 4px; }
.basket-drawing svg { width: 100%; font-size: 11px; font-family: inherit; }
.basket-legend { font-size: 12px; }

/* Task-focused workspaces. */
.compact-progress { display:grid; gap:5px; padding-top:5px; white-space:normal; overflow-wrap:anywhere; }
.compact-progress strong { font-size:26px; }
.ui-hero .compact-progress span { color:#c7d1e0; font-size:11px; line-height:1.4; text-transform:uppercase; }
.nav-suite-label { color:#b8c4d5; font-size:11px; padding:2px 12px 10px; margin:0; }
.nav-more { margin-top:12px; border-top:1px solid #ffffff24; padding-top:8px; }
.nav-more summary { padding:12px; font-size:13px; cursor:pointer; color:#c7d1e0; }
.nav-link { font-size:13px; min-height:44px; }
.rail { overflow:auto; }
.demo-status { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; padding:0 0 14px; border-bottom:1px solid var(--line); }
.demo-status details { max-width:420px; }
.demo-status summary { cursor:pointer; text-align:right; }
.demo-status p { line-height:1.6; margin:14px 0; }
.demo-tools { margin:14px 0 20px; font-size:13px; color:var(--green-2); }
.demo-tools summary { cursor:pointer; width:fit-content; }
.demo-tools .tour-links { margin:12px 0; }
.supporting-detail { margin:16px 0; padding:14px 0; border-top:1px solid var(--line); font-size:14px; line-height:1.6; }
.supporting-detail > summary { cursor:pointer; font-weight:600; color:var(--green-2); }
.supporting-detail > p:first-of-type { margin-top:14px; }
.supporting-detail .decision-box { margin:14px 0 0; }
.launch-start { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; margin-bottom:24px; }
.launch-start h3 { font-size:21px; margin:0 0 8px; }
.launch-start p { margin:0; line-height:1.5; color:var(--muted); font-size:14px; }
.launch-groups { display:grid; gap:12px; }
.launch-group > summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 24px; cursor:pointer; list-style:none; }
.launch-group > summary::after { content:'+'; font-size:22px; }
.launch-group[open] > summary::after { content:'−'; }
.launch-group > summary > span:first-child { flex:1; }
.launch-group summary strong { display:block; font-size:17px; line-height:1.4; }
.launch-group summary small { display:block; margin-top:6px; font-size:13px; color:var(--muted); }
.launch-task-list { padding:0 20px 15px; }
.launch-task-link { display:flex; align-items:center; justify-content:space-between; text-align:left; gap:20px; border:0; border-top:1px solid var(--line); padding:16px 4px; background:transparent; color:var(--ink); width:100%; }
.launch-task-link strong { font-weight:500; font-size:14px; }
.launch-task-link small { display:block; margin-top:5px; font-size:12px; color:var(--muted); }
.launch-task-link:hover strong { text-decoration:underline; }
.launch-context { color:var(--muted); font-size:13px; line-height:1.6; margin:20px 0; }
.task-breadcrumb { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:20px 0; color:var(--muted); font-size:13px; }
.task-breadcrumb .text-button { padding:8px 0; font-size:14px; }
.ui-card:has(> .launch-task-detail) { max-width:900px; padding:30px; }
.launch-task-detail > .ui-card__header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 16px; }
.launch-task-detail > .ui-card__header .ui-eyebrow,.launch-task-detail > .ui-card__header h2 { grid-column:1; margin-bottom:0; }
.launch-task-detail > .ui-card__header .ui-status { grid-column:2; grid-row:1/3; }
.launch-task-detail header h2 { font-size:28px; line-height:1.25; margin:8px 0 16px; }
.launch-task-detail > p { font-size:16px; line-height:1.65; max-width:680px; margin:20px 0; }
.launch-step-action { display:block; margin:22px 0; }
.launch-step-action .pilot-store-selection { width:100%; min-width:0; max-width:650px; }
.launch-step-action .pilot-store-selection label { min-width:0; }
.selected-pilot-store { display:grid; gap:7px; padding:20px; border:1px solid #c9d5f1; background:var(--accent-soft); border-radius:4px; }
.selected-pilot-store strong { font-size:23px; }
.selected-pilot-store small, .selected-pilot-store span { font-size:13px; color:var(--muted); }
.task-blocker { border-left:3px solid var(--amber); background:var(--amber-soft); padding:14px 18px; font-size:14px; margin:20px 0; }
.task-blocker ul { margin-bottom:0; padding-left:20px; }
.task-blocker button { text-align:left; padding:7px 0; }
.ui-card:has(> .launch-task-detail) .channel-contract { border:0; padding:0; box-shadow:none; }
.channel-contract h3 { font-size:22px; }
.channel-contract form { grid-template-columns:1fr; max-width:600px; }
.channel-contract form label { font-size:14px; }
.channel-contract .supporting-detail .channel-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-layout { display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); gap:24px; align-items:start; }
.catalog-list { display:grid; gap:4px; align-content:start; max-height:70vh; overflow:auto; }
.catalog-row { display:grid; gap:7px; padding:18px; text-align:left; background:transparent; border:1px solid transparent; border-radius:4px; color:var(--ink); }
.catalog-row strong { font-size:15px; }
.catalog-row span { font-size:12px; color:var(--muted); }
.catalog-row.is-active { border-color:var(--green-2); background:var(--surface); }
.catalog-detail { min-width:0; }
.catalog-detail > .ui-card { padding:26px; }
.catalog-detail > .ui-card h3 { font-size:24px; }
.catalog-detail .package-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-detail label { font-size:13px; }
.catalog-detail .provenance { font-size:12px; }
.catalog-detail .assortment-control { margin-bottom:24px; }
.order-row .order-primary strong { font-size:14px; }
.order-row p { font-size:12px; }
.order-detail-panel { min-width:0; }
.detail h2 { font-size:26px; }
.detail h3 { font-size:18px; }
.detail p, .detail .smallprint { font-size:14px; line-height:1.6; }
.detail .smallprint { font-size:12px; }
.detail > .decision-box { display:block; font-size:14px; }
.order-evidence { display:block; margin:18px 0; }
.order-evidence > h3 { margin:0 0 16px; }
.order-evidence .supporting-detail:first-child { margin-top:0; }
.order-evidence form label { font-size:13px; }
.basket-editor > summary { cursor:pointer; font-size:14px; }
.station-detail { min-width:0; }
.station-detail h3 { font-size:22px; }
.station-detail .packing-step strong { font-size:14px; }
.station-detail .packing-step small { font-size:12px; line-height:1.5; }
.compact-selector { display:none; }
summary:focus-visible { border-radius:4px; }
@media (max-width:1100px) {
  .desk-layout, .catalog-layout { grid-template-columns:minmax(0,1fr); }
  .desk-layout > .order-panel, .catalog-list { display:none; }
  .compact-selector { display:grid; gap:8px; padding:18px 22px; font-size:13px; color:var(--muted); }
  .catalog-detail > .compact-selector { padding:0 0 16px; }
}
@media (max-width:860px) {
  .rail nav { display:flex; flex-wrap:wrap; overflow:visible; gap:5px; }
  .rail nav .nav-link { width:auto; }
  .nav-suite-label { flex-basis:100%; padding:2px 6px; }
  .nav-more { border:0; margin:0; padding:0; }
  .nav-more[open] { flex-basis:100%; }
  .nav-more[open] .nav-link { display:inline-flex; }
  .rail { overflow:visible; position:sticky; top:0; z-index:20; }
  .topbar { min-height:100px; }
  .station-layout > .task-list { display:flex; flex-wrap:wrap; gap:6px; }
  .station-layout > .task-list .station-task { width:auto; }
  .station-layout > .task-list > .eyebrow { flex-basis:100%; }
}
@media (max-width:600px) {
  #main { padding:18px 16px 40px; }
  .compact-progress { display:flex; align-items:baseline; gap:10px; }
  .launch-start { padding:20px; flex-direction:column; align-items:stretch; gap:16px; }
  .launch-group > summary { padding:18px; gap:10px; }
  .launch-group summary strong { font-size:15px; }
  .launch-group .ui-status { display:none; }
  .ui-card:has(> .launch-task-detail) { padding:22px 18px; }
  .launch-task-detail header h2 { font-size:24px; }
  .catalog-detail > .ui-card { padding:20px 18px; }
  .catalog-detail .package-form { grid-template-columns:1fr 1fr; }
  .catalog-detail .assortment-control form { display:grid; grid-template-columns:1fr; }
  .channel-contract .supporting-detail .channel-flow { grid-template-columns:1fr; }
  .demo-status { flex-wrap:wrap; }
  .detail { padding:20px 18px; }
  .topbar .top-actions { flex-wrap:wrap; }
  .station-detail .packing-step { grid-template-columns:26px minmax(0,1fr) auto; gap:10px; }
}
/* Contextual guide: the normal app remains behind a native modal and a spotlight. */
.journey-open #main { padding-bottom:60vh; }
.journey-dialog { position:fixed; margin:0; padding:22px; width:360px; max-width:calc(100vw - 28px); max-height:calc(100vh - 28px); border:1px solid var(--line); border-radius:4px; background:var(--surface); color:var(--ink); box-shadow:0 18px 50px #17243833; overflow:auto; }
.journey-dialog::backdrop { background:transparent; }
.journey-shade { position:fixed; inset:0; z-index:1000; pointer-events:none; }
.journey-shade i { position:fixed; background:#172438b8; }
.journey-focus { outline:3px solid var(--accent); outline-offset:5px; scroll-margin-top:22px; }
.journey-heading-line { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; }
.journey-heading-line button { font-size:25px; line-height:1; padding:0 5px; }
.journey-chapter { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--green-2); font-weight:700; margin:8px 0; }
.journey-story h2 { font-size:23px; line-height:1.23; margin:0 0 12px; }
.journey-narrative { font-size:14px; line-height:1.55; margin-bottom:18px; }
.journey-saved { color:var(--success); font-size:12px; }
.journey-controls { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.journey-primary .button { font-size:13px; }
.journey-primary { max-width:260px; }
.journey-context { font-size:12px; margin-top:18px; color:var(--muted); line-height:1.5; }
.journey-context summary { cursor:pointer; }
.journey-context p { margin-top:12px; }
.journey-fiction { display:block; font-size:10px; color:var(--muted); margin-top:12px; }
.journey-error { color:var(--red); font-size:13px; }
#journey-heading:focus { outline:none; }
@media(max-width:850px) { .journey-dialog { width:360px; max-height:48vh; padding:18px; } .journey-story h2 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } }

.catalog-detail .package-form > label:first-child:has(input[name="offerLabel"]) { grid-column:1/-1; }
.catalog-detail .package-form > p { grid-column:1/-1; font-size:13px; line-height:1.5; color:var(--muted); }
