@import url("./saved-quote.css");
@import url("./quote-navigation.css");
@import url("./quote-workspace.css");
.synthetic-banner{background:var(--chrome-bg);color:var(--chrome-text);text-align:center;font-size:0.8125rem;font-weight:600;letter-spacing:0.06em;padding:0.45rem 1rem;}
.synthetic-banner span{opacity:0.85;font-weight:500;margin-left:0.5rem;}
.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 34px);}
.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--chrome-border);color:var(--text-on-dark);padding:1.1rem 0.9rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem;}
.role-switch,.pref-switch{display:flex;flex-direction:column;gap:0.35rem;padding:0 0.5rem;}
.role-switch label,.pref-switch label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);}
.role-switch [data-role-preview-note]{margin:0.2rem 0 0;line-height:1.35;max-width:18rem;}
.role-switch select,.pref-switch select,.pref-switch input[type="search"]{border:1px solid var(--border-strong);border-radius:6px;padding:0.45rem 0.5rem;font:inherit;background:var(--bg-surface);color:var(--text-primary);min-height:var(--touch);width:100%;}
.nav{display:flex;flex-direction:column;gap:0.25rem;}
.nav a{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.55rem 0.65rem;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-weight:600;font-size:0.9375rem;min-height:var(--touch);}
.nav a:hover{background:var(--bg-surface);color:var(--text-primary);}
.nav a[aria-current="page"]{background:var(--brand-primary);color:var(--chrome-text);}
.nav .count{font-size:0.75rem;font-weight:700;background:var(--warning-bg);color:var(--warning);border-radius:999px;padding:0.1rem 0.45rem;}
.nav a[aria-current="page"] .count{background:var(--chrome-selected-pill);color:var(--chrome-text);}
.nav-note{margin-top:auto;font-size:0.75rem;color:var(--text-muted);padding:0.5rem;line-height:1.4;}
.main{padding:1.35rem 1.5rem 3rem;max-width:1180px;min-width:0;width:100%;}
.mobile-role-switch{display:none;margin-bottom:0.85rem;padding:0.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);}
.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-card-opaque);border-top:1px solid var(--border);justify-content:space-around;padding:0.35rem;padding-bottom:calc(0.35rem + env(safe-area-inset-bottom, 0px));z-index:40;}
.mobile-nav a{flex:1;text-align:center;text-decoration:none;color:var(--text-caption);font-size:0.7rem;font-weight:600;padding:0.45rem 0.25rem;min-height:48px;display:flex;flex-direction:column;justify-content:center;}
.mobile-nav a[aria-current="page"]{color:var(--brand-primary);}
.page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:0.75rem;margin-bottom:1rem;}
.page-header h1{margin:0;font-size:1.35rem;color:var(--text-primary);}
.page-header .lede{margin:0.25rem 0 0;color:var(--text-caption);max-width:52ch;font-size:0.9375rem;}
.actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
[hidden]{display:none !important;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem;min-height:var(--touch);min-width:var(--touch);padding:0.45rem 0.9rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-primary);font:inherit;font-weight:600;font-size:0.875rem;cursor:pointer;text-decoration:none;}
.btn:hover:not(:disabled){border-color:var(--brand-primary);}
.btn:disabled{opacity:0.55;cursor:not-allowed;}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);}
.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-text);}
.btn-quiet{background:transparent;}
.grid{display:grid;gap:var(--density-gap);}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:var(--density-pad);box-shadow:var(--elevation-2);min-width:0;}
.card h2,.card h3{margin:0 0 0.5rem;color:var(--text-primary);font-size:1rem;}
.card-meta{font-size:0.8125rem;color:var(--text-caption);margin-bottom:0.65rem;}
.section-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-muted);font-weight:700;margin:0 0 0.5rem;}
.badge{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.72rem;font-weight:700;letter-spacing:0.02em;padding:0.15rem 0.45rem;border-radius:999px;border:1px solid transparent;vertical-align:middle;}
.badge-draft,.badge-stopped,.badge-queued{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text-secondary);}
.badge-ready,.badge-running{background:var(--chip-info-bg);border-color:var(--chip-info-border);color:var(--ink-info);}
.badge-waiting,.badge-stale,.badge-review{background:var(--chip-warning-bg);border-color:var(--chip-warning-border);color:var(--ink-warning);}
.badge-failed{background:var(--chip-error-bg);border-color:var(--chip-error-border);color:var(--ink-error);}
.badge-recovered,.badge-delivered{background:var(--chip-success-bg);border-color:var(--chip-success-border);color:var(--ink-success);}
.badge-issued{background:var(--brand-primary);color:var(--chrome-text);}
.badge-synthetic{background:transparent;border-color:var(--border-strong);color:var(--text-caption);}
.badge-agent{background:transparent;border-color:var(--brand-accent);color:var(--brand-accent);}
.attention-list,.activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--density-row);}
.attention-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.75rem;align-items:start;padding:0.85rem 0.95rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);}
.attention-item h3{margin:0.2rem 0;font-size:0.98rem;color:var(--text-primary);}
.attention-item p{margin:0.2rem 0 0;font-size:0.875rem;color:var(--text-caption);}
.pulse{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.65rem;}
.pulse-stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:0.75rem;}
.pulse-stat .n{font-size:1.35rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;}
.pulse-stat .l{font-size:0.75rem;color:var(--text-caption);}
.workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:var(--density-gap);align-items:start;}
.workbench > *{min-width:0;}
.quote-record > .intelligence-panel,
.quote-record > .anthony-intelligence,
.quote-record > .site-context-panel,
.quote-record .supplier-pricelist-panel,
.quote-record .price-evidence-panel{grid-column:1 / -1;}
.quote-record > .quote-pricing-surface{grid-column:1;}
.quote-record > .quote-review-surface{grid-column:2;}
.job-header{grid-column:1 / -1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow);}
.job-header-top{display:flex;flex-wrap:wrap;gap:0.5rem 0.75rem;align-items:center;justify-content:space-between;}
.job-id{margin:0;font-size:0.8125rem;color:var(--text-caption);font-family:var(--mono);}
.job-title{margin:0.15rem 0 0;font-size:1.25rem;color:var(--text-primary);}
.job-meta{display:flex;flex-wrap:wrap;gap:0.35rem 1rem;margin-top:0.65rem;font-size:0.8125rem;color:var(--text-caption);}
.stage-rail{display:flex;flex-wrap:nowrap;gap:0.35rem;overflow-x:auto;margin-top:0.85rem;padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;}
.stage{flex:0 0 auto;font-size:0.75rem;font-weight:600;padding:0.35rem 0.55rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-caption);white-space:nowrap;}
.stage.done{color:var(--ink-success);background:var(--chip-success-bg);border-color:var(--chip-success-border);}
.stage.warn{color:var(--ink-warning);background:var(--chip-warning-bg);border-color:var(--chip-warning-border);}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;}
table.figures{width:100%;border-collapse:collapse;font-size:0.9rem;font-variant-numeric:tabular-nums;}
table.figures th,table.figures td{padding:0.55rem 0.65rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;}
table.figures th{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted);background:var(--bg-surface);}
table.figures .num,table.figures th.num{text-align:right;}
.decision-card{border:1px solid var(--border);border-radius:8px;padding:0.85rem;background:var(--bg-surface);margin-bottom:var(--density-row);}
.decision-card h3{margin:0.35rem 0 0.55rem;font-size:0.98rem;}
.decision-card dl{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:0.35rem 0.65rem;margin:0 0 0.75rem;font-size:0.875rem;}
.decision-card dt{color:var(--text-muted);font-weight:600;}
.decision-card dd{margin:0;color:var(--text-secondary);min-width:0;}
.decision-actions{display:flex;flex-wrap:wrap;gap:0.4rem;}
.exact-decision-edit,[data-conflict-edit-form]{display:flex;gap:0.5rem;align-items:end;margin-top:0.5rem;}
.exact-decision-edit label,[data-conflict-edit-form] label{flex:1;}
.exact-decision-edit input,[data-conflict-edit-form] input{width:100%;min-height:var(--touch);font:inherit;}
.mobile-decision-trigger,.mobile-sheet-controls{display:none;}
.storage-warning{padding:0.65rem 1rem;background:var(--error-bg);color:var(--ink-error);}
.callout{border:1px solid var(--border);border-left:3px solid var(--brand-accent);background:var(--brand-accent-subtle);border-radius:8px;padding:0.75rem 0.85rem;font-size:0.875rem;margin:0.75rem 0;}
.callout.warn{border-left-color:var(--warning);background:var(--warning-bg);}
.callout.error{border-left-color:var(--error);background:var(--error-bg);}
.diff{font-family:var(--mono);font-size:0.8125rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:0.75rem;overflow-x:auto;white-space:pre;margin:0;}
.diff .add{color:var(--ink-success);background:var(--chip-success-bg);}
.segmented{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;margin-bottom:0.65rem;}
.segmented button{min-height:var(--touch);border:0;background:var(--bg-card);padding:0.45rem 0.85rem;font:inherit;font-weight:600;cursor:pointer;color:var(--text-secondary);}
.segmented button[aria-pressed="true"]{background:var(--accent);color:var(--accent-text);}
.output-panel{border:1px solid var(--border);border-radius:8px;padding:0.85rem;background:var(--bg-card);}
.output-panel.recipient{background:var(--bg-surface);}
.watermark{margin:0 0 0.5rem;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;color:var(--text-muted);}
.source-span,.evidence-compare{margin-top:0.75rem;padding:0.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);}
.source-span blockquote,.evidence-compare blockquote{margin:0.35rem 0;padding-left:0.75rem;border-left:3px solid var(--brand-accent);color:var(--text-primary);font-size:0.9rem;}
.controls-band{display:grid;gap:0.65rem;}
.control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0.75rem;align-items:center;padding:0.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);}
.live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.filter-bar{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:0.85rem;align-items:end;}
.filter-bar label{display:flex;flex-direction:column;gap:0.25rem;font-size:0.75rem;font-weight:600;color:var(--text-muted);}
.filter-bar select,.filter-bar input{min-height:var(--touch);border:1px solid var(--border-strong);border-radius:6px;padding:0.4rem 0.55rem;font:inherit;background:var(--bg-card);}
.job-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:0.65rem;padding:var(--density-row) 0.85rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);align-items:center;}
.job-row h3{margin:0;font-size:0.95rem;color:var(--text-primary);}
.empty-state{padding:1.25rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-surface);color:var(--text-caption);text-align:center;}
.receipt{border:1px solid var(--border-strong);border-radius:8px;padding:0.85rem;background:var(--bg-surface);font-family:var(--mono);font-size:0.8125rem;}
.ops-message-list{display:grid;gap:0.65rem;margin-top:0.75rem;}
.ops-message{border:1px solid var(--border);border-radius:8px;padding:0.75rem 0.85rem;background:var(--bg-elevated);}
.ops-message-head{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center;margin-bottom:0.35rem;}
.ops-delivery-summary{margin:0.65rem 0;}
.conflict-card .decision-actions button[disabled]{opacity:0.55;}
.pipeline-chart{list-style:none;margin:0;padding:0;display:grid;gap:0.55rem;}
.pipeline-bar{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 2rem;gap:0.55rem;align-items:center;font-size:0.875rem;}
.pipeline-label{font-weight:600;color:var(--text-primary);}
.pipeline-track{display:block;height:0.65rem;border-radius:999px;background:var(--bg-surface);border:1px solid var(--border);}
.pipeline-fill{display:block;height:100%;border-radius:inherit;background:var(--brand-accent);}
.pipeline-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;}
.run-steps{list-style:none;margin:0;padding:0;display:grid;gap:0.45rem;}
.run-step{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center;padding:0.55rem 0.65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);font-size:0.875rem;}
.run-step code{font-size:0.75rem;color:var(--text-muted);}
.run-step[data-status="succeeded"]{border-color:var(--border-strong);}
.run-step[data-status="running"]{border-color:var(--brand-accent);}
.run-step[data-status="failed"]{border-color:var(--status-danger);}
.table-wrap{overflow-x:auto;}
form.card label,form.card fieldset{display:block;margin:0.55rem 0;font-size:0.875rem;}
form.card input[type="text"],form.card textarea{width:100%;min-height:var(--touch);border:1px solid var(--border-strong);border-radius:6px;padding:0.45rem 0.6rem;font:inherit;background:var(--bg-card);}
form.card textarea{min-height:6rem;}
@media (max-width:1000px){.workbench{grid-template-columns:1fr;}.quote-record > .quote-pricing-surface,.quote-record > .quote-review-surface{grid-column:1;}}
@media (max-width:900px){.app-shell{grid-template-columns:1fr;}
.sidebar{display:none;}
.main{padding:1rem 0.85rem 5.5rem;}
/* ENG-1533: a section focused by a jump stops above the fixed bottom nav, not under it. */
html{scroll-padding-bottom:5.5rem;}
.mobile-nav,.mobile-role-switch,.mobile-brand{display:flex;}
.grid-2,.grid-3,.pulse{grid-template-columns:1fr;}
.attention-item,.control-row,.job-row{grid-template-columns:1fr;}
.decision-card dl{grid-template-columns:1fr;}
.decision-card dt{margin-top:0.35rem;}
table.figures thead{display:none;}
table.figures tr{display:block;border-bottom:1px solid var(--border);padding:0.55rem 0;}
table.figures td{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:0.35rem;border:0;padding:0.2rem 0.65rem;}
table.figures td::before{content:attr(data-label);font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted);}
table.figures .num{text-align:left;}}
@media (max-width:600px){
.mobile-nav{height:var(--mobile-nav-height);}}
@media (max-width:390px){.main{padding-left:0.65rem;padding-right:0.65rem;}
.page-header h1{font-size:1.15rem;}
.btn{width:100%;}
.decision-actions .btn{flex:1 1 calc(50% - 0.4rem);}
.mobile-decision-trigger{display:inline-flex;}
.decision-sheet{position:fixed;inset:0;z-index:200;display:none;flex-direction:column;min-width:0;padding:0.65rem;background:var(--bg-page);}
.decision-sheet.is-open{display:flex;}
.decision-sheet #decision-grid{flex:1;min-height:0;overflow-y:auto;}
.decision-sheet .decision-card{min-height:100%;margin:0;}
.mobile-sheet-controls{display:grid;grid-template-columns:1fr 1fr;gap:0.4rem;align-items:center;padding-top:0.5rem;}
.mobile-sheet-controls span{text-align:center;}}
@media (max-width:320px){.main{padding-left:0.5rem;padding-right:0.5rem;}
.card,.attention-item,.job-header{padding:0.7rem;}}

/* Brand chrome: navy shell, electric-blue action (ENG-716). */
body{background:var(--bg-page-accent);}
.brand{display:flex;flex-direction:column;align-items:stretch;gap:0.7rem;padding:0.35rem 0.45rem 0.85rem;border-bottom:1px solid var(--chrome-border);margin-bottom:0.25rem;}
.brand-lockup{display:block;background:var(--bg-card-opaque);border-radius:8px;padding:0.4rem 0.55rem 0.35rem;line-height:0;}
/* Half the 286x98 source: an exact 2x render on HiDPI keeps the mark crisp. */
.brand-mark{display:block;width:143px;max-width:100%;height:auto;max-height:49px;border-radius:0;object-fit:contain;object-position:left center;}
.mobile-brand{display:none;}
.brand-copy{min-width:0;}
.brand-kicker{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-on-dark-muted);margin:0;font-weight:600;}
.brand-title{margin:0.1rem 0 0;font-family:var(--font-heading);font-size:1.15rem;font-weight:800;letter-spacing:-0.02em;color:var(--chrome-text);line-height:1.15;}
.brand-subtitle{margin:0.15rem 0 0;font-size:0.75rem;color:var(--text-on-dark-muted);font-weight:500;}
.role-switch label,.pref-switch label{color:var(--text-on-dark-muted);}
.role-switch select,.pref-switch select{background:var(--chrome-raised);border-color:var(--chrome-border);color:var(--chrome-text);}
.nav a{color:var(--text-on-dark-muted);border-radius:10px;}
.nav a:hover{background:var(--chrome-hover);color:var(--chrome-text);}
.nav a[aria-current="page"]{background:var(--accent);color:var(--accent-text);box-shadow:var(--accent-shadow);}
.nav .count{background:var(--warning);color:var(--accent-text);}
.nav a[aria-current="page"] .count{background:var(--chrome-selected-pill);color:var(--accent-text);}
.nav-note{color:var(--chrome-muted-text);}
.page-header h1{font-family:var(--font-heading);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:800;}
.page-header .lede{font-size:1rem;color:var(--text-caption);max-width:58ch;}
.btn{border-radius:10px;font-weight:650;transition:transform var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out), background var(--motion-base) var(--ease-out);}
.btn-primary{background:var(--accent);border-color:var(--accent);box-shadow:var(--accent-shadow);}
.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);}
.btn-lg{min-height:48px;padding:0.7rem 1.15rem;font-size:0.98rem;}
.section-label{font-size:0.78rem;letter-spacing:0.08em;color:var(--text-muted);}
.pulse{gap:0.85rem;}
.pulse-stat{border-radius:12px;background:var(--bg-card-opaque);padding:1rem;}
.pulse-stat .n{font-family:var(--font-heading);font-size:1.75rem;font-weight:800;}
.attention-item{border-radius:14px;box-shadow:var(--shadow);border-color:var(--border-subtle);gap:1rem;padding:1rem 1.1rem;}
.attention-item h3{font-size:1.05rem;font-weight:750;}
.hero-panel{position:relative;overflow:hidden;border-radius:18px;padding:1.6rem 1.7rem 1.5rem;background:var(--hero-gradient);color:var(--chrome-text);box-shadow:var(--shadow-lg);margin-bottom:1.25rem;}
.hero-panel::after{content:"";position:absolute;inset:auto -10% -40% 40%;height:180px;background:var(--hero-glow);pointer-events:none;}
.hero-kicker{margin:0;font-size:0.75rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--chrome-accent-text);}
.hero-panel h1{margin:0.45rem 0 0;font-family:var(--font-heading);font-size:clamp(1.85rem,3vw,2.45rem);font-weight:800;color:var(--chrome-text);max-width:18ch;}
.hero-lede{margin:0.65rem 0 0;font-size:1.05rem;color:var(--text-on-dark-muted);max-width:54ch;}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.65rem;margin-top:1.15rem;position:relative;z-index:1;}
.hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.65rem;margin-top:1.25rem;position:relative;z-index:1;}
.hero-metric{background:var(--hero-metric-bg);border:1px solid var(--hero-metric-border);border-radius:12px;padding:0.85rem;}
.hero-metric .n{font-family:var(--font-heading);font-size:var(--fs-figure-sm);font-weight:800;color:var(--chrome-text);font-variant-numeric:tabular-nums;}
.hero-metric .l{font-size:0.78rem;color:var(--hero-metric-text);margin-top:0.15rem;}
.cta-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.85rem;margin:0 0 1.25rem;}
.cta-card{border-radius:14px;padding:1.05rem 1.1rem;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);min-height:100%;}
.cta-card h3{margin:0.35rem 0;font-family:var(--font-heading);font-size:1.05rem;color:var(--text-primary);}
.cta-card p{margin:0;color:var(--text-caption);font-size:0.9rem;}
.cta-card .btn{margin-top:0.85rem;}
.cta-card[data-tone="intake"]{border-top:3px solid var(--success);}
.cta-card[data-tone="quote"]{border-top:3px solid var(--accent);}
.cta-card[data-tone="review"]{border-top:3px solid var(--warning);}
.stage-rail{display:flex;gap:0.4rem;flex-wrap:wrap;margin:0.75rem 0 1rem;}
.stage-chip{font-size:0.78rem;font-weight:700;padding:0.35rem 0.65rem;border-radius:999px;background:var(--stage-bg);color:var(--stage);border:1px solid var(--chip-info-border);}
.stage-chip.is-active{background:var(--accent);color:var(--accent-text);border-color:var(--accent-hover);}
@media (max-width:900px){
  .sidebar{display:none;}
  .app-shell{grid-template-columns:1fr;}
  .hero-metrics,.cta-strip{grid-template-columns:1fr;}
  .main{padding:1rem 0.9rem 5.5rem;}
}
/* ENG-1649: the message index.html ships inside #app, so a page whose scripts never load is not a
   blank screen. The mount replaces it. The reload line appears after 8 s by CSS alone: the CSP
   allows no inline script. tokens.css turns animation off under reduced motion; this is a timed
   switch, not motion, so it is kept there. */
.app-boot{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:28rem;margin:min(20vh,var(--space-16)) auto 0;padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-secondary);}
.app-boot__mark{width:56px;height:56px;}
.app-boot__title{margin:0;color:var(--text-primary);font-size:var(--fs-body);font-weight:var(--fw-semibold);}
.app-boot__slow{margin:0;font-size:var(--fs-body-sm);visibility:hidden;animation:app-boot-reveal 0s linear 8s forwards;}
.app-boot__slow a{color:var(--accent-hover);font-weight:var(--fw-semibold);}
@keyframes app-boot-reveal{to{visibility:visible;}}
@media (prefers-reduced-motion: reduce){.app-boot__slow{animation:app-boot-reveal 0s linear 8s forwards !important;}}
@media (scripting: none){.app-boot{display:none;}}
