:root {
  --ink: oklch(25% 0.025 210);
  --ink-soft: oklch(44% 0.022 210);
  --petrol: oklch(35% 0.065 195);
  --petrol-deep: oklch(27% 0.052 195);
  --petrol-pale: oklch(93% 0.025 195);
  --paper: oklch(97% 0.012 78);
  --paper-deep: oklch(93% 0.018 78);
  --surface: oklch(99% 0.008 78);
  --line: oklch(84% 0.016 70);
  --line-strong: oklch(69% 0.025 70);
  --red: oklch(53% 0.19 27);
  --red-pale: oklch(94% 0.035 27);
  --amber: oklch(66% 0.14 72);
  --amber-pale: oklch(94% 0.04 75);
  --green: oklch(46% 0.1 150);
  --green-pale: oklch(93% 0.035 150);
  --blue: oklch(49% 0.1 235);
  --blue-pale: oklch(93% 0.03 235);
  --font-display: "Rockwell Nova", "Bookman Old Style", Georgia, serif;
  --font-body: Aptos, "Segoe UI Variable Text", "Trebuchet MS", sans-serif;
  --space-2xs: .25rem;
  --space-xs: .5rem;
  --space-sm: .75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --radius-sm: .25rem;
  --radius-md: .5rem;
  --shadow-lift: 0 .75rem 2rem color-mix(in oklch, var(--ink) 10%, transparent);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 20rem; background: var(--paper); color: var(--ink); font-family: var(--font-body); }
body { margin: 0; min-height: 100vh; background: var(--paper); font-size: 1rem; line-height: 1.5; }
button, input, select, textarea { color: inherit; font: inherit; }
button, select, input[type="file"] { cursor: pointer; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
[hidden] { display: none !important; }
:focus-visible { outline: .2rem solid var(--amber); outline-offset: .18rem; }
::selection { background: var(--amber-pale); color: var(--ink); }

.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: var(--space-sm); left: var(--space-sm); transform: translateY(-200%); background: var(--ink); color: var(--surface); padding: var(--space-sm) var(--space-md); }
.skip-link:focus { transform: translateY(0); }
.muted { color: var(--ink-soft); }

.topbar { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); padding: var(--space-sm) clamp(1rem, 4vw, 3rem); background: var(--petrol-deep); color: var(--surface); border-bottom: 1px solid color-mix(in oklch, var(--surface) 18%, transparent); }
.brand { display: inline-flex; align-items: center; gap: var(--space-sm); color: inherit; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; background: var(--red); color: var(--surface); border-radius: var(--radius-sm); font: 800 1.35rem/1 var(--font-display); }
.brand > span:last-child { display: grid; line-height: 1.1; }
.brand strong { font-family: var(--font-display); font-size: 1rem; letter-spacing: -.015em; }
.brand small { margin-top: .18rem; color: color-mix(in oklch, var(--surface) 72%, var(--petrol)); font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; }
.brand--large .brand-mark { width: 3rem; height: 3rem; font-size: 1.6rem; }
.brand--large strong { font-size: 1.25rem; }
.user-cluster { display: flex; align-items: center; gap: var(--space-md); font-size: .875rem; }
.top-nav { display: flex; align-items: center; gap: var(--space-xs); margin-right: auto; }
.top-nav__item { --nav-accent: var(--surface); min-height: 2.75rem; display: inline-flex; align-items: center; gap: .48rem; padding-inline: var(--space-sm); color: color-mix(in oklch, var(--nav-accent) 78%, var(--surface)); font-size: .82rem; font-weight: 800; text-decoration: none; transition: color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.top-nav__item::before { width: .42rem; height: .42rem; border-radius: 50%; background: var(--nav-accent); content: ""; }
.top-nav__item--transfers { --nav-accent: oklch(79% .105 235); }
.top-nav__item--stock { --nav-accent: oklch(80% .115 150); }
.top-nav__item--repasse { --nav-accent: oklch(83% .13 78); }
.top-nav__item--completed { --nav-accent: oklch(82% .12 150); }
.top-nav__item:hover { color: var(--surface); background: color-mix(in oklch, var(--nav-accent) 12%, transparent); }
.top-nav__item.is-active { color: var(--surface); background: color-mix(in oklch, var(--nav-accent) 18%, transparent); box-shadow: inset 0 -.2rem 0 var(--nav-accent); }
.user-name { color: color-mix(in oklch, var(--surface) 78%, var(--petrol)); }
.logout-form { margin: 0; }
.text-action { min-height: 2.75rem; display: inline-flex; align-items: center; border: 0; background: transparent; padding: 0; color: var(--surface); font-weight: 700; }

.page-shell { width: min(100%, 90rem); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 4vw, 3rem) 7rem; }
.page-shell--public { width: 100%; max-width: none; min-height: 100vh; padding: 0; }
.page-heading { display: grid; gap: var(--space-xs); margin-bottom: var(--space-xl); }
.page-heading--split { grid-template-columns: 1fr auto; align-items: end; }
.eyebrow, .section-index { margin: 0; color: var(--petrol); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { margin-block: 0; }
h1, h2, h3 { font-family: var(--font-display); letter-spacing: -.025em; line-height: 1.12; }
h1 { font-size: clamp(2rem, 6vw, 3.4rem); }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
.heading-note { max-width: 56ch; color: var(--ink-soft); }
.breadcrumb { display: flex; gap: var(--space-xs); align-items: center; margin-bottom: var(--space-lg); color: var(--ink-soft); font-size: .875rem; }
.breadcrumb a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--petrol); font-weight: 700; }

.button { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); border: 1px solid transparent; border-radius: var(--radius-sm); padding: .65rem 1rem; font-weight: 800; text-align: center; text-decoration: none; transition: transform .18s var(--ease-out), background-color .18s ease, color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.button--primary { background: var(--red); color: var(--surface); }
.button--primary:hover { background: color-mix(in oklch, var(--red) 88%, var(--ink)); }
.button--secondary { background: var(--surface); border-color: var(--line-strong); color: var(--petrol-deep); }
.button--secondary:hover, .button--quiet:hover { border-color: var(--petrol); background: var(--petrol-pale); }
.button--ghost { background: transparent; color: var(--ink-soft); }
.button--quiet { background: var(--paper); border-color: var(--line); color: var(--petrol-deep); }
.button--upload { min-width: 5.75rem; background: var(--surface); border-color: var(--line-strong); color: var(--petrol-deep); }
.button--primary.button--upload { background: var(--petrol-deep); border-color: var(--petrol-deep); color: var(--surface); }
.button--primary.button--upload:hover { background: var(--petrol); color: var(--surface); }
.button--upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.button--full { width: 100%; }
.button-row { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.icon-button { width: 2.75rem; height: 2.75rem; display: inline-grid; flex: 0 0 auto; place-items: center; border: 0; background: transparent; color: var(--petrol); text-decoration: none; }
.icon-button svg { width: 1.25rem; height: 1.25rem; }

.login-body { background: var(--petrol-deep); }
.login-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .85fr); }
.login-intro { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: var(--space-lg); padding: clamp(2rem, 7vw, 7rem); color: var(--surface); background: var(--petrol-deep); }
.login-intro::after { content: "ATPV"; position: absolute; right: -1.6rem; bottom: -3.2rem; color: color-mix(in oklch, var(--surface) 5%, transparent); font: 800 clamp(7rem, 18vw, 17rem)/.8 var(--font-display); letter-spacing: -.09em; pointer-events: none; }
.login-intro > * { position: relative; z-index: 1; }
.login-intro .eyebrow { margin-top: clamp(2rem, 8vh, 7rem); color: oklch(82% 0.08 75); }
.login-intro h1 { max-width: 12ch; font-size: clamp(2.8rem, 6vw, 5.8rem); }
.login-intro > p:not(.eyebrow) { max-width: 48ch; color: color-mix(in oklch, var(--surface) 78%, var(--petrol)); }
.login-steps { display: flex; flex-wrap: wrap; gap: var(--space-xl); margin: var(--space-xl) 0 0; padding: 0; list-style: none; }
.login-steps li { display: grid; gap: var(--space-xs); font-size: .84rem; font-weight: 700; }
.login-steps span { color: oklch(82% 0.08 75); font-size: .7rem; letter-spacing: .1em; }
.login-panel { display: flex; flex-direction: column; justify-content: center; gap: var(--space-xl); padding: clamp(2rem, 7vw, 6rem); background: var(--paper); }
.login-panel h2 { margin-top: var(--space-xs); font-size: 2.2rem; }
.login-panel > div > p:last-child, .login-help { color: var(--ink-soft); }
.login-help { font-size: .8rem; text-align: center; }

.form-stack, .field { display: grid; gap: var(--space-xs); }
.form-stack { gap: var(--space-md); }
.field > span:first-child { color: var(--ink-soft); font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.field small { color: var(--ink-soft); font-size: .76rem; }
input, select, textarea { width: 100%; min-height: 2.9rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); padding: .7rem .8rem; }
textarea { min-height: 5.8rem; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: var(--petrol); }
input::placeholder, textarea::placeholder { color: color-mix(in oklch, var(--ink-soft) 70%, var(--paper)); }
.password-wrap, .input-prefix { position: relative; display: flex; align-items: center; }
.reveal-password { position: absolute; right: .25rem; min-width: 4.3rem; min-height: 2.5rem; border: 0; background: transparent; color: var(--petrol); font-size: .78rem; font-weight: 800; }
.password-wrap input { padding-right: 5rem; }
.input-prefix b { position: absolute; left: .8rem; color: var(--ink-soft); font-size: .78rem; }
.input-prefix input { padding-left: 2.7rem; }
.alert { display: grid; gap: var(--space-xs); padding: var(--space-md); border: 1px solid; border-radius: var(--radius-sm); }
.alert--error { border-color: color-mix(in oklch, var(--red) 45%, var(--paper)); background: var(--red-pale); color: color-mix(in oklch, var(--red) 75%, var(--ink)); }
.alert--info { border-color: color-mix(in oklch, var(--blue) 35%, var(--line)); background: var(--blue-pale); color: var(--ink); }
.alert ul { margin: 0; padding-left: 1.1rem; }

.status-ledger { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); margin-bottom: var(--space-2xl); border-block: 1px solid var(--line-strong); }
.status-ledger > div { display: flex; flex-direction: column-reverse; gap: var(--space-xs); padding: var(--space-lg) clamp(.75rem, 2vw, 1.5rem); border-right: 1px solid var(--line); }
.status-ledger > div:last-child { border-right: 0; }
.status-ledger span { color: var(--ink-soft); font-size: .78rem; }
.status-ledger strong { font: 700 2.2rem/1 var(--font-display); }
.portal-role { color: var(--ink-soft); font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.attention-queue { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(22rem, 1.5fr); gap: var(--space-xl); align-items: start; margin-bottom: var(--space-2xl); border: 1px solid color-mix(in oklch, var(--blue) 38%, var(--line)); background: var(--blue-pale); padding: var(--space-lg); }
.attention-queue > div:first-child { display: grid; gap: var(--space-xs); }
.attention-queue > div:first-child p:last-child { max-width: 48ch; color: var(--ink-soft); }
.attention-queue__cases { display: grid; gap: 1px; background: color-mix(in oklch, var(--blue) 24%, var(--line)); }
.attention-queue__cases a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); background: var(--surface); color: var(--ink); padding: var(--space-sm); text-decoration: none; }
.attention-queue__cases a > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.attention-queue__cases a > span:last-child { color: var(--blue); font-size: .78rem; font-weight: 800; }
.case-workspace { display: grid; gap: var(--space-md); }
.workspace-tools { display: flex; align-items: end; justify-content: space-between; gap: var(--space-lg); }
.workspace-tools h2 { margin-top: var(--space-xs); }
.filter-row { display: flex; gap: var(--space-xs); }
.search-field { position: relative; }
.search-field svg { position: absolute; top: 50%; left: .8rem; width: 1.15rem; transform: translateY(-50%); color: var(--ink-soft); }
.search-field input { width: min(22rem, 42vw); padding-left: 2.5rem; }
.select-field select { min-width: 12rem; }
.case-list { border-top: 1px solid var(--line-strong); }
.case-row { border-bottom: 1px solid var(--line); transition: background .18s ease; }
.case-row:hover { background: var(--surface); }
.case-row[hidden] { display: none; }
.case-row__link { min-height: 6.2rem; display: grid; grid-template-columns: minmax(17rem, 2.2fr) minmax(10rem, 1fr) minmax(9rem, .8fr) 2rem; gap: var(--space-lg); align-items: center; padding: var(--space-md) var(--space-sm); text-decoration: none; }
.case-identity { min-width: 0; display: flex; align-items: center; gap: var(--space-md); }
.case-identity > div { min-width: 0; display: grid; gap: .16rem; }
.case-identity strong, .case-identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.case-identity > div > span, .case-state small { color: var(--ink-soft); font-size: .78rem; }
.stock-row__link { grid-template-columns: minmax(17rem, .8fr) minmax(18rem, 1.2fr) 2rem; gap: var(--space-lg); }
.stock-identity { gap: var(--space-sm); }
.stock-identity__copy { min-width: 0; display: grid; gap: .16rem; align-content: center; }
.stock-identity__copy .plate { margin-bottom: .2rem; }
.stock-identity__details { overflow: hidden; color: var(--ink-soft); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.source-note { display: inline-flex; align-items: center; gap: .3rem; color: var(--petrol); font-size: .7rem; font-weight: 800; }
.source-note i { width: .42rem; height: .42rem; border-radius: 50%; background: var(--petrol); }
.plate { display: inline-block; width: max-content; border: 2px solid var(--ink); border-radius: var(--radius-sm); background: var(--surface); padding: .3rem .55rem .24rem; font: 800 .9rem/1 var(--font-body); letter-spacing: .075em; }
.case-progress { display: grid; gap: .35rem; }
.case-progress > span { display: block; height: .28rem; overflow: hidden; background: var(--paper-deep); }
.case-progress i { display: block; width: var(--progress); height: 100%; background: var(--petrol); }
.case-progress small { color: var(--ink-soft); font-size: .75rem; }
.case-state { display: grid; justify-items: start; gap: .28rem; }
.status { display: inline-flex; width: max-content; min-height: 1.65rem; align-items: center; border-radius: 999px; padding: .22rem .55rem; background: var(--paper-deep); color: var(--ink-soft); font-size: .7rem; font-weight: 800; white-space: nowrap; }
.status--pending, .status--review { background: var(--red-pale); color: var(--red); }
.status--invalid { background: var(--red-pale); color: var(--red); }
.status--documents, .status--missing { background: var(--amber-pale); color: color-mix(in oklch, var(--amber) 72%, var(--ink)); }
.status--signature, .status--generation, .status--atpv { background: var(--blue-pale); color: var(--blue); }
.final-delivery { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-sm); align-items: center; margin-top: var(--space-md); padding: var(--space-md); border: 1px solid var(--line); background: var(--surface-soft); }
.final-delivery > span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--blue-pale); color: var(--blue); font-weight: 900; }
.final-delivery div { display: grid; gap: .2rem; }
.final-delivery small { color: var(--ink-soft); }
.final-delivery--sent { border-color: color-mix(in oklch, var(--petrol) 35%, var(--line)); background: var(--petrol-pale); }
.final-delivery--sent > span { background: var(--petrol); color: white; }
.final-delivery--error { border-color: color-mix(in oklch, var(--red) 35%, var(--line)); background: var(--red-pale); }
.final-delivery--error > span { background: var(--red); color: white; }
.document-preview--visible { display: block; }
.status--dispatcher, .status--sent { background: var(--petrol-pale); color: var(--petrol); }
.status--completed, .status--ready, .status--signed { background: var(--green-pale); color: var(--green); }
.row-arrow { width: 1.2rem; color: var(--petrol); }
.empty-state { min-height: 20rem; display: grid; place-items: center; align-content: center; gap: var(--space-sm); border: 1px dashed var(--line-strong); padding: var(--space-xl); text-align: center; }
.empty-state p { max-width: 48ch; color: var(--ink-soft); }
.empty-state__mark { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; background: var(--petrol-pale); color: var(--petrol); border-radius: 50%; font: 700 1rem var(--font-display); }

.case-form { display: grid; gap: var(--space-lg); }
.form-section { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(0, 2fr); gap: clamp(1.5rem, 4vw, 4rem); padding-block: var(--space-xl); border-top: 1px solid var(--line-strong); }
.form-section__intro { display: flex; gap: var(--space-md); align-items: start; }
.form-section__intro p { margin-top: var(--space-xs); color: var(--ink-soft); font-size: .88rem; }
.section-number { color: var(--red); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.field--wide { grid-column: span 2; }
.field--plate input { font-size: 1.2rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.choice-card { position: relative; min-height: 6.5rem; display: flex; align-items: flex-start; gap: var(--space-sm); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); padding: var(--space-md); cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--petrol); background: var(--petrol-pale); }
.choice-card input { width: 1.2rem; min-height: 1.2rem; margin: .15rem 0 0; accent-color: var(--petrol); }
.choice-card span { display: grid; gap: var(--space-xs); }
.choice-card small { color: var(--ink-soft); line-height: 1.35; }
.form-actions { position: sticky; z-index: 4; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-sm); margin-inline: calc(clamp(1rem, 4vw, 3rem) * -1); padding: var(--space-md) clamp(1rem, 4vw, 3rem); background: color-mix(in oklch, var(--paper) 96%, transparent); border-top: 1px solid var(--line); }

.case-header { display: flex; justify-content: space-between; gap: var(--space-xl); align-items: end; margin-bottom: var(--space-xl); }
.case-title { display: flex; gap: var(--space-lg); align-items: center; }
.plate--large { padding: .65rem .8rem .55rem; font-size: 1.2rem; }
.case-title h1 { margin-block: .3rem .2rem; font-size: clamp(1.75rem, 4vw, 2.7rem); }
.case-title > div > p:last-child { color: var(--ink-soft); }
.case-header__meta { display: grid; justify-items: end; gap: var(--space-xs); color: var(--ink-soft); font-size: .76rem; }
.stepper { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: var(--space-xl); }
.step { position: relative; display: grid; justify-items: center; gap: var(--space-xs); color: var(--line-strong); text-align: center; }
.step::before { content: ""; position: absolute; z-index: -1; top: 1.05rem; left: 0; width: 100%; height: 1px; background: var(--line); }
.step:first-child::before { left: 50%; width: 50%; }
.step:last-child::before { width: 50%; }
.step > span { display: grid; place-items: center; width: 2.15rem; height: 2.15rem; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--paper); font-size: .78rem; font-weight: 800; }
.step.is-current { color: var(--red); }
.step.is-current > span { border-color: var(--red); background: var(--red); color: var(--surface); }
.step.is-done { color: var(--petrol); }
.step.is-done > span { border-color: var(--petrol); background: var(--petrol); color: var(--surface); }
.step.is-done::before, .step.is-current::before { background: var(--petrol); }
.decision-banner { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-xl); border: 1px solid color-mix(in oklch, var(--red) 35%, var(--paper)); background: var(--red-pale); padding: var(--space-md); }
.decision-banner > span { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; background: var(--red); color: var(--surface); font-weight: 900; }
.decision-banner p { color: color-mix(in oklch, var(--red) 65%, var(--ink)); }
.waiting-state { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-md); background: var(--petrol-pale); }
.waiting-state > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--petrol); color: var(--surface); font-weight: 900; }
.waiting-state > div { display: grid; gap: .15rem; }
.waiting-state small { color: var(--ink-soft); }

.dispatcher-shell { max-width: 72rem; display: grid; gap: var(--space-xl); margin-inline: auto; }
.dispatcher-welcome { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: end; padding-block: var(--space-lg); border-bottom: 1px solid var(--line-strong); }
.dispatcher-welcome > div { display: grid; gap: var(--space-xs); }
.dispatcher-welcome p:last-child { max-width: 58ch; color: var(--ink-soft); }
.dispatcher-count { display: grid; justify-items: end; gap: .2rem; }
.dispatcher-count strong { font: 800 2.4rem/1 var(--font-display); color: var(--petrol); }
.dispatcher-count span { color: var(--ink-soft); font-size: .76rem; }
.dispatcher-list { display: grid; border-top: 1px solid var(--line-strong); }
.dispatcher-case-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-lg); min-height: 5.5rem; border-bottom: 1px solid var(--line); color: var(--ink); padding: var(--space-md) var(--space-xs); text-decoration: none; }
.dispatcher-case-row > div { min-width: 0; display: grid; gap: .2rem; }
.dispatcher-case-row > div span { overflow: hidden; color: var(--ink-soft); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.dispatcher-case-row > b { color: var(--petrol); }
.dispatcher-documents { display: grid; gap: var(--space-lg); }
.dispatcher-documents__list { display: grid; border-top: 1px solid var(--line-strong); }
.dispatcher-document { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-md); align-items: center; border-bottom: 1px solid var(--line); padding-block: var(--space-sm); }
.dispatcher-document > div:first-child { min-width: 0; display: grid; gap: .15rem; }
.dispatcher-document small { overflow: hidden; color: var(--ink-soft); text-overflow: ellipsis; white-space: nowrap; }
.dispatcher-document__actions { display: flex; gap: var(--space-xs); }
.dispatcher-atpv { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: center; border: 1px solid color-mix(in oklch, var(--petrol) 35%, var(--line)); background: var(--petrol-pale); padding: var(--space-lg); }
.dispatcher-atpv > div { display: grid; gap: .25rem; }
.dispatcher-atpv p { max-width: 58ch; color: var(--ink-soft); }
.dispatcher-atpv__actions { display: flex; gap: var(--space-xs); align-items: center; }
.source-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); margin-bottom: var(--space-lg); border: 1px solid color-mix(in oklch, var(--petrol) 32%, var(--paper)); background: var(--petrol-pale); padding: var(--space-md); }
.source-symbol { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; border-radius: 50%; background: var(--petrol); color: var(--surface); font: 800 .7rem var(--font-body); letter-spacing: .06em; }
.source-banner > div { display: grid; gap: .12rem; }
.source-banner small { color: var(--ink-soft); }
.dispatch-gate { display: grid; grid-template-columns: minmax(16rem, .85fr) minmax(25rem, 1.45fr) minmax(12rem, .55fr); gap: var(--space-lg); align-items: center; margin-bottom: var(--space-xl); border: 1px solid var(--line-strong); padding: var(--space-lg); }
.dispatch-gate--ready { border-color: color-mix(in oklch, var(--green) 55%, var(--paper)); background: var(--green-pale); }
.dispatch-gate--blocked { background: var(--amber-pale); }
.gate-summary { display: flex; align-items: flex-start; gap: var(--space-md); }
.gate-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; border-radius: 50%; background: var(--amber); color: var(--ink); font-weight: 900; }
.dispatch-gate--ready .gate-icon { background: var(--green); color: var(--surface); }
.gate-summary > div { display: grid; gap: .18rem; }
.gate-summary h2 { font-size: 1.25rem; }
.gate-summary p:not(.section-index) { color: var(--ink-soft); font-size: .8rem; }
.gate-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.gate-checklist li { min-width: 0; display: flex; align-items: flex-start; gap: var(--space-xs); }
.gate-checklist li > span { display: grid; place-items: center; width: 1.55rem; height: 1.55rem; flex: 0 0 auto; border-radius: 50%; background: color-mix(in oklch, var(--amber) 22%, var(--surface)); color: color-mix(in oklch, var(--amber) 72%, var(--ink)); font-size: .68rem; font-weight: 900; }
.gate-checklist li.is-ok > span { background: var(--green); color: var(--surface); }
.gate-checklist li > div { min-width: 0; display: grid; gap: .05rem; }
.gate-checklist strong { font-size: .78rem; }
.gate-checklist small { color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(17rem, .85fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.detail-main { display: grid; gap: var(--space-lg); min-width: 0; }
.operation-section { border-top: 1px solid var(--line-strong); background: var(--surface); }
.operation-section > summary, .section-heading { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-md); cursor: pointer; }
.operation-section > summary::-webkit-details-marker { display: none; }
.operation-section > summary > span, .section-heading > span { display: flex; align-items: center; gap: var(--space-md); }
.operation-section > summary b, .section-heading b { color: var(--red); font-size: .7rem; letter-spacing: .1em; }
.operation-section > summary small, .section-heading small { color: var(--petrol); font-size: .75rem; font-weight: 800; }
.section-content { display: grid; gap: var(--space-lg); padding: 0 var(--space-md) var(--space-lg); }
.mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
.review-confirm { display: flex; align-items: flex-start; gap: var(--space-sm); margin-inline: var(--space-md); border: 1px solid color-mix(in oklch, var(--amber) 55%, var(--paper)); background: var(--amber-pale); padding: var(--space-md); cursor: pointer; }
.review-confirm input { width: 1.25rem; min-height: 1.25rem; margin: .1rem 0 0; accent-color: var(--petrol); }
.review-confirm > span { display: grid; gap: .15rem; }
.review-confirm small { color: var(--ink-soft); }
.extracted-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: 0 var(--space-md) var(--space-md); }
.extracted-actions > span { color: var(--ink-soft); font-size: .76rem; }
.generation-warning { padding: var(--space-sm); border-radius: var(--radius-sm); background: var(--amber-pale); color: #765515; }
.generation-form { display: grid; gap: var(--space-md); padding-bottom: var(--space-md); }
.generation-group { min-width: 0; margin: 0 var(--space-md); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: var(--space-md); }
.generation-group legend { padding: 0 .4rem; color: var(--petrol-deep); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
.review-confirm--compact { margin: 0 0 var(--space-md); }
.generation-action { display: grid; gap: var(--space-xs); padding: 0 var(--space-md) var(--space-md); text-align: center; color: var(--ink-soft); }
.data-ledger { display: grid; gap: var(--space-sm); margin: 0; }
.data-ledger div { min-width: 0; display: grid; gap: .1rem; }
.data-ledger dt { color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.data-ledger dd { overflow-wrap: anywhere; margin: 0; font-size: .88rem; }
.form-grid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.inline-actions { display: flex; align-items: center; gap: var(--space-md); }
.save-hint { color: var(--green); font-size: .78rem; }
.document-summary { display: flex; flex-wrap: wrap; gap: var(--space-lg); margin: 0 var(--space-md); padding-block: var(--space-md); border-block: 1px solid var(--line); color: var(--ink-soft); font-size: .82rem; }
.document-summary span { display: inline-flex; align-items: baseline; gap: .35rem; }
.document-summary strong { font: 800 1.15rem/1 var(--font-display); }
.document-summary__missing strong { color: var(--red); }
.document-summary__review strong { color: color-mix(in oklch, var(--amber) 78%, var(--ink)); }
.document-summary__ready strong { color: var(--green); }
.document-checklist { margin: var(--space-2xl) 0; border-bottom: 1px solid var(--line-strong); }
.document-checklist > summary { list-style: none; }
.document-checklist > summary::-webkit-details-marker { display: none; }
.document-checklist > summary:focus-visible { outline: 2px solid var(--petrol); outline-offset: 2px; }
.document-checklist__summary-actions { gap: var(--space-md); margin-left: auto; }
.document-checklist__toggle { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: .4rem .65rem; color: var(--petrol); font-size: .78rem; font-weight: 800; white-space: nowrap; }
.document-checklist__toggle > span:last-child { display: inline-block; transition: transform .2s ease; }
.document-checklist[open] .document-checklist__toggle > span:last-child { transform: rotate(180deg); }
.document-checklist__collapse, .document-checklist[open] .document-checklist__expand { display: none; }
.document-checklist[open] .document-checklist__collapse { display: inline; }
.document-checklist__intro { max-width: 62ch; padding: 0 var(--space-md) var(--space-md); color: var(--ink-soft); }
.document-next-hint { max-width: 12rem; color: var(--ink-soft); font-size: .76rem; font-weight: 700; text-align: right; }
.document-group { margin-top: var(--space-xl); }
.document-group__heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-lg); padding: 0 var(--space-md) var(--space-sm); }
.document-group__heading h3 { font-size: 1.15rem; }
.document-group__heading p, .document-group summary small { color: var(--ink-soft); font-size: .78rem; }
.document-group__heading > strong, .document-group summary > b, .support-documents summary > b { min-width: 2rem; color: var(--ink-soft); font-size: .8rem; text-align: right; }
.document-list { border-top: 1px solid var(--line); }
.document-item { border-bottom: 1px solid var(--line); }
.document-row { min-height: 4.5rem; display: grid; grid-template-columns: 2rem minmax(10rem, 1fr) auto auto; gap: var(--space-sm); align-items: center; padding: var(--space-sm) var(--space-md); }
.document-state { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--line-strong); font-weight: 800; }
.document-row--ready .document-state, .document-row--signed .document-state, .document-row--sent .document-state { border-color: var(--green); background: var(--green); color: var(--surface); }
.document-row--review .document-state { border-color: var(--amber); background: var(--amber-pale); color: color-mix(in oklch, var(--amber) 78%, var(--ink)); }
.document-row--missing .document-state, .document-row--invalid .document-state { border-color: var(--red); background: var(--red); color: var(--surface); }
.document-row--authorization-inactive .document-state { border-color: var(--line-strong); background: var(--paper-deep); color: var(--ink-soft); }
.document-info { min-width: 0; display: grid; gap: .08rem; }
.document-info span, .document-info small { overflow: hidden; color: var(--ink-soft); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.document-row__action { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-xs); }
.authorization-controls { margin-top: var(--space-lg); border-block: 1px solid var(--line-strong); padding-block: var(--space-md); }
.authorization-controls .document-list { border-bottom: 1px solid var(--line); }
.authorization-add { min-height: 4.25rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); padding: var(--space-sm) var(--space-md) 0; }
.authorization-add > span { display: grid; gap: .08rem; }
.authorization-add small { color: var(--ink-soft); font-size: .76rem; }
.authorization-add__actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-xs); }
.authorization-add__actions form { display: flex; }
.authorization-add__actions .button > span { color: var(--green); font-size: 1.15rem; line-height: 1; }
.upload-form { display: flex; }
.upload-note { padding: var(--space-sm) var(--space-md) var(--space-md); color: var(--ink-soft); font-size: .76rem; }
.document-preview { display: grid; gap: var(--space-md); padding: var(--space-md); background: var(--paper-deep); }
.document-preview__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.document-preview__heading > div:not(.document-preview__tools) { display: grid; gap: .1rem; }
.document-preview__heading small { color: var(--ink-soft); }
.document-preview__tools { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-sm); }
.document-preview__tools .upload-form { flex: 0 0 auto; }
.document-preview__close { min-height: 2.75rem; }
.document-preview__zoom { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-xs); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: .55rem .8rem; background: var(--surface); color: var(--petrol-deep); font-size: .8rem; font-weight: 800; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s var(--ease-out); }
.document-preview__zoom:hover { border-color: var(--petrol); background: var(--petrol-pale); transform: translateY(-1px); }
.document-preview__zoom[aria-pressed="true"] { border-color: var(--petrol); background: var(--petrol); color: var(--surface); }
.document-preview__zoom svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.text-link { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--petrol); font-size: .8rem; font-weight: 800; }
.document-preview__canvas { position: relative; min-height: 15rem; display: grid; place-items: center; overflow: hidden; background: oklch(30% 0.018 210); }
.document-preview__canvas img { display: block; max-width: 100%; max-height: min(70vh, 56rem); object-fit: contain; box-shadow: 0 .5rem 1.5rem color-mix(in oklch, var(--ink) 24%, transparent); }
.document-preview__canvas--zoomed { max-height: min(78vh, 60rem); display: block; overflow: auto; padding: var(--space-md); overscroll-behavior: contain; }
.document-preview__canvas--zoomed img { width: auto; max-width: none; max-height: none; margin-inline: auto; object-fit: initial; }
.document-preview__loading { color: color-mix(in oklch, var(--surface) 78%, var(--ink)); font-size: .82rem; }
.document-preview__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-xs); }
.document-preview__warning { margin-right: auto; color: var(--red); font-size: .82rem; }
.document-group--ready > summary, .support-documents > summary { min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding-inline: var(--space-md); border-block: 1px solid var(--line); cursor: pointer; list-style: none; }
.document-group--ready > summary::-webkit-details-marker, .support-documents > summary::-webkit-details-marker { display: none; }
.document-group--ready summary > span, .support-documents summary > span { display: grid; gap: .1rem; }
.support-documents { margin-top: var(--space-xl); }
.support-documents ul { margin: 0; padding: 0; list-style: none; }
.support-documents li { min-height: 3.75rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--line); }
.support-documents li > span { min-width: 0; display: grid; gap: .08rem; }
.support-documents li small { overflow: hidden; color: var(--ink-soft); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.support-documents li.support-documents__preview { min-height: 0; display: block; padding: 0; }
.support-documents__preview .document-preview { width: 100%; }
.empty-inline { display: grid; gap: .15rem; padding: var(--space-lg); color: var(--ink-soft); }
.route-form { grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr); align-items: end; }
.route-form .button { justify-self: start; }
.detail-side { display: grid; gap: var(--space-xl); }
.side-section { display: grid; gap: var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--line-strong); }
.pending-list, .timeline { display: grid; gap: var(--space-md); margin: 0; padding: 0; list-style: none; }
.pending-list li { display: flex; align-items: flex-start; gap: var(--space-sm); }
.pending-list li > span { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; flex: 0 0 auto; border-radius: 50%; background: var(--red-pale); color: var(--red); font-size: .7rem; font-weight: 800; }
.pending-list div { display: grid; gap: .15rem; }
.pending-list small, .timeline small { color: var(--ink-soft); }
.clear-state { display: flex; gap: var(--space-sm); color: var(--green); }
.clear-state > span { font-weight: 900; }
.clear-state p { color: var(--ink-soft); font-size: .86rem; }
.clear-state strong { color: var(--green); }
.import-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-lg); padding: var(--space-lg); border-bottom: 1px solid var(--line); }
.import-row__info { flex: 1 1 24rem; min-width: 0; display: grid; gap: var(--space-xs); overflow-wrap: anywhere; }
.import-row__info .status { justify-self: start; }
.import-row__info p, .import-row__info small { color: var(--ink-soft); }
.import-row__actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.timeline { gap: 0; }
.timeline li { position: relative; display: grid; grid-template-columns: 1rem 1fr; gap: var(--space-sm); padding-bottom: var(--space-lg); }
.timeline li:not(:last-child)::after { content: ""; position: absolute; top: .8rem; bottom: 0; left: .24rem; width: 1px; background: var(--line); }
.timeline-dot { z-index: 1; width: .55rem; height: .55rem; margin-top: .25rem; border-radius: 50%; background: var(--petrol); }
.timeline div { display: grid; gap: .12rem; }
.timeline p, .timeline small { font-size: .77rem; }
.timeline p { color: var(--ink-soft); }
.note-form { display: grid; gap: var(--space-sm); padding-top: var(--space-md); border-top: 1px solid var(--line); }
.next-action { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); margin-top: var(--space-2xl); padding: var(--space-xl); background: var(--petrol-deep); color: var(--surface); }
.next-action .section-index { color: oklch(82% 0.08 75); }
.next-action h2 { margin-block: var(--space-xs); }
.next-action p:not(.section-index) { max-width: 58ch; color: color-mix(in oklch, var(--surface) 72%, var(--petrol)); }

.toast-stack { position: fixed; z-index: 100; top: 5rem; right: var(--space-md); width: min(24rem, calc(100% - 2rem)); display: grid; gap: var(--space-xs); }
.toast { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow-lift); padding: var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md); }
.toast--success { border-color: var(--green); }
.toast--error { border-color: var(--red); }
.loading-veil { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; align-content: center; gap: var(--space-md); background: color-mix(in oklch, var(--petrol-deep) 88%, transparent); color: var(--surface); }
.loader { width: 2rem; height: 2rem; border: .2rem solid color-mix(in oklch, var(--surface) 30%, transparent); border-top-color: var(--surface); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.error-page { min-height: 65vh; display: grid; place-items: start; align-content: center; gap: var(--space-md); max-width: 44rem; }
.error-code { color: var(--line-strong); font: 800 clamp(5rem, 20vw, 12rem)/.7 var(--font-display); letter-spacing: -.08em; }
.error-page > p:not(.eyebrow) { max-width: 55ch; color: var(--ink-soft); }
.bottom-nav { display: none; }

/* Arquivo documental do estoque */
.stock-status--complete, .stock-status--ready { background: var(--green-pale); color: var(--green); }
.stock-status--missing { background: var(--amber-pale); color: color-mix(in oklch, var(--amber) 72%, var(--ink)); }
.stock-status--review { background: var(--blue-pale); color: var(--blue); }
.stock-status--invalid { background: var(--red-pale); color: var(--red); }
.mobile-add-action { display: none; }
.stock-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-xl); padding-bottom: var(--space-xl); border-bottom: 1px solid var(--line-strong); }
.stock-hero h1 { margin-block: .2rem var(--space-xs); }
.stock-origin-edit { max-width: 76rem; margin: var(--space-sm) auto 0; }
.stock-origin-edit .compact-form { max-width: 24rem; }
.plate--large { font-size: 1rem; padding: .55rem .75rem .45rem; }
.stock-next-action { margin-block: var(--space-lg) var(--space-2xl); }
.stock-detail-grid { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(18rem, .8fr); gap: var(--space-2xl); align-items: start; }
.stock-documents { min-width: 0; display: grid; gap: var(--space-md); }
.owner-type-control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); padding: var(--space-sm) var(--space-md); border-bottom: 1px solid var(--line); }
.owner-type-control__copy { display: grid; gap: .2rem; }
.owner-type-control__copy p { color: var(--ink-soft); font-size: .78rem; }
.owner-type-control__actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-xs); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-lg); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--line-strong); }
.section-heading h2 { margin-top: var(--space-xs); }
.section-heading > strong { color: var(--petrol); font-size: .85rem; }
.stock-document-list { display: grid; }
.stock-document-row { min-height: 7rem; display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); padding-block: var(--space-md); border-bottom: 1px solid var(--line); }
.document-state-icon { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; background: var(--paper-deep); color: var(--ink-soft); font-weight: 900; }
.stock-document-row--ready .document-state-icon { background: var(--green-pale); color: var(--green); }
.stock-document-row--review .document-state-icon { background: var(--blue-pale); color: var(--blue); }
.stock-document-row--invalid .document-state-icon { background: var(--red-pale); color: var(--red); }
.stock-document-row--missing .document-state-icon { background: var(--amber-pale); color: color-mix(in oklch, var(--amber) 72%, var(--ink)); }
.stock-document-copy { min-width: 0; display: grid; gap: .32rem; }
.stock-document-copy p { overflow: hidden; color: var(--ink-soft); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.document-title-line { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs); }
.document-title-line h3 { font-size: 1rem; }
.required-chip, .optional-chip { border-radius: 999px; padding: .15rem .45rem; font-size: .63rem; font-weight: 800; }
.required-chip { background: var(--red-pale); color: var(--red); }
.optional-chip { background: var(--paper-deep); color: var(--ink-soft); }
.stock-document-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-xs); }
.stock-document-actions .text-action { color: var(--petrol); }
.stock-document-actions .text-action--danger { color: var(--red); }
.button--compact { min-height: 2.35rem; padding: .45rem .7rem; font-size: .78rem; }
.button--danger { border-color: color-mix(in oklch, var(--red) 60%, var(--line)); background: var(--red-pale); color: var(--red); }
.button--danger:hover { border-color: var(--red); background: color-mix(in oklch, var(--red-pale) 75%, var(--red)); }
.file-trigger { position: relative; }
.file-trigger input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.stock-sidebar { display: grid; gap: var(--space-md); }
.detail-panel { border-top: 1px solid var(--line-strong); }
.detail-panel > summary { min-height: 3.8rem; display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-family: var(--font-display); font-size: 1.05rem; font-weight: 800; list-style: none; }
.detail-panel > summary::after { content: "+"; color: var(--petrol); font: 400 1.45rem var(--font-body); }
.detail-panel[open] > summary::after { content: "−"; }
.detail-panel > summary::-webkit-details-marker { display: none; }
.compact-form { display: grid; gap: var(--space-sm); padding-bottom: var(--space-lg); }
.stock-timeline { display: grid; gap: 0; margin: 0; padding: 0 0 var(--space-lg); list-style: none; }
.stock-timeline li { display: grid; gap: .18rem; padding-block: var(--space-sm); border-bottom: 1px solid var(--line); }
.stock-timeline span, .stock-timeline small { color: var(--ink-soft); font-size: .76rem; }
.heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); }
.heading-actions .text-action { color: var(--petrol); }
.archive-action { display: grid; gap: var(--space-sm); }
.archive-action small { color: var(--ink-soft); line-height: 1.4; }
.archived-list { display: grid; margin-top: var(--space-xl); }
.archived-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-lg); padding-block: var(--space-md); border-bottom: 1px solid var(--line); }
.archived-row__identity { display: flex; align-items: center; gap: var(--space-md); }
.archived-row__identity > div { display: grid; gap: .2rem; }
.archived-row__identity small { color: var(--ink-soft); }
.preview-modal { width: min(64rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); padding: 0; box-shadow: var(--shadow-lift); }
.preview-modal::backdrop { background: color-mix(in oklch, var(--petrol-deep) 72%, transparent); }
.preview-modal__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--line); }
.preview-modal__header h2 { margin-top: .2rem; font-size: 1.15rem; }
.preview-modal__body { min-height: 18rem; display: grid; place-items: center; overflow: auto; padding: var(--space-md); background: var(--paper-deep); }
.preview-modal__body img { max-width: 100%; height: auto; background: white; box-shadow: 0 .35rem 1rem color-mix(in oklch, var(--ink) 14%, transparent); }
.preview-loading { display: grid; place-items: center; gap: var(--space-sm); }
.preview-loading .loader { border-color: var(--line); border-top-color: var(--petrol); }

/* Processo: uma decisão principal visível, detalhes sob demanda. */
.case-focus { max-width: 58rem; margin: 0 auto var(--space-xl); border: 1px solid var(--line-strong); background: var(--surface); box-shadow: var(--shadow-lift); padding: clamp(1.25rem, 3vw, 2rem); }
.atpv-final { max-width: 72rem; display: grid; gap: var(--space-lg); margin: 0 auto var(--space-2xl); border: 1px solid var(--line-strong); background: var(--surface); padding: clamp(1.25rem, 3vw, 2rem); }
.atpv-final__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-lg); }
.atpv-final__heading > div { display: grid; gap: .25rem; }
.atpv-final__heading p:not(.section-index) { max-width: 64ch; color: var(--ink-soft); }
.atpv-upload-callout, .atpv-external-step { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); background: var(--petrol-pale); padding: var(--space-md); }
.atpv-upload-callout > div, .atpv-external-step > div { display: grid; gap: .2rem; }
.atpv-upload-callout small, .atpv-external-step small { color: var(--ink-soft); }
.atpv-source-line { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); padding-block: var(--space-sm); border-block: 1px solid var(--line); }
.atpv-source-line > div:first-child { min-width: 0; display: grid; gap: .2rem; }
.atpv-source-line strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.atpv-source-line small { color: var(--ink-soft); }
.atpv-signers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.atpv-signers fieldset { display: grid; gap: var(--space-xs); border: 1px solid var(--line); padding: var(--space-md); }
.atpv-signers legend { padding-inline: var(--space-xs); font-family: var(--font-display); font-weight: 800; }
.atpv-signers label { display: flex; align-items: flex-start; gap: var(--space-sm); padding: var(--space-sm); cursor: pointer; }
.atpv-signers label:has(input:checked) { background: var(--petrol-pale); }
.atpv-signers label:has(input:disabled) { cursor: not-allowed; opacity: .58; }
.atpv-signers label > span { display: grid; gap: .18rem; }
.atpv-signers small { color: var(--ink-soft); }
.atpv-signers > .button { grid-column: 1 / -1; justify-self: end; }
.atpv-external-step { grid-template-columns: minmax(0, 1fr) auto auto; background: color-mix(in oklch, var(--amber) 7%, var(--surface)); border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); }
.atpv-final__actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs); }

.completion-gate { max-width: 72rem; display: grid; gap: var(--space-lg); margin: 0 auto var(--space-2xl); border: 1px solid var(--line-strong); background: var(--surface); padding: clamp(1.25rem, 3vw, 2rem); }
.completed-prior-steps-link { max-width: 72rem; margin: 0 auto; }
.completion-gate--ready { border-color: color-mix(in oklch, var(--green) 45%, var(--line-strong)); }
.completion-gate__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-lg); }
.completion-gate__heading > div { display: grid; gap: .25rem; }
.completion-gate__heading p:not(.section-index) { max-width: 64ch; color: var(--ink-soft); }
.completion-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-sm); }
.completion-option { min-height: 8rem; display: grid; place-items: center; align-content: center; gap: .25rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); padding: var(--space-md); color: var(--ink); text-align: center; cursor: pointer; transition: border-color .18s ease, background-color .18s ease, transform .18s var(--ease-out); }
.completion-option:hover { border-color: var(--petrol); background: var(--petrol-pale); transform: translateY(-2px); }
.completion-option > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--petrol); color: var(--surface); font-weight: 900; }
.completion-option small, .completion-gate__hint { color: var(--ink-soft); }
.completion-gate__hint { display: block; margin-top: var(--space-xs); text-align: center; }
.completion-legacy-note { display: grid; gap: .2rem; border-left: .25rem solid var(--amber); padding: var(--space-sm) var(--space-md); background: var(--amber-pale); }
.completion-gate__documents { border-top: 1px solid var(--line); }

.status-ledger--completed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.completed-list { display: grid; }
.completed-row { border-bottom: 1px solid var(--line); transition: background .18s ease; }
.completed-row:hover { background: var(--surface); }
.completed-row[hidden] { display: none; }
.completed-row > a { min-height: 6.4rem; display: grid; grid-template-columns: minmax(17rem, 1.5fr) minmax(24rem, 1.7fr) auto 2rem; align-items: center; gap: var(--space-lg); padding: var(--space-md) var(--space-sm); color: var(--ink); text-decoration: none; }
.completed-row__identity { min-width: 0; display: flex; align-items: center; gap: var(--space-md); }
.completed-row__identity > div { min-width: 0; display: grid; gap: .2rem; }
.completed-row__identity strong, .completed-row__identity span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.completed-row__identity span { color: var(--ink-soft); font-size: .82rem; }
.completed-row__dates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-md); margin: 0; }
.completed-row__dates div { display: grid; gap: .15rem; }
.completed-row__dates dt { color: var(--ink-soft); font-size: .72rem; }
.completed-row__dates dd { margin: 0; font-size: .82rem; font-weight: 800; }
.completion-proof { border-radius: 999px; padding: .45rem .7rem; background: var(--green-pale); color: var(--green); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.completion-proof--legacy { background: var(--paper-deep); color: var(--ink-soft); }
.case-focus__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-lg); margin-bottom: var(--space-lg); }
.case-focus__heading h2 { margin-block: .2rem var(--space-xs); font-size: clamp(1.45rem, 3vw, 2rem); }
.case-focus__heading p:not(.section-index) { color: var(--ink-soft); }
.case-focus__hint { display: block; margin-top: var(--space-sm); color: var(--ink-soft); }
.intention-route-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.intention-route-choices form { display: grid; }
.intention-route-choice { width: 100%; min-height: 8rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); padding: var(--space-md); text-align: left; cursor: pointer; }
.intention-route-choice:hover { border-color: var(--petrol); background: var(--petrol-pale); }
.intention-route-choice > span:nth-child(2) { display: grid; gap: .3rem; }
.intention-route-choice small { color: var(--ink-soft); line-height: 1.4; }
.intention-route-choice__icon { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; border-radius: 50%; background: var(--petrol-deep); color: var(--surface); font-weight: 900; }
.quick-generation-form { display: grid; gap: var(--space-md); }
.generation-autosave-status { color: var(--ink-soft); font-size: .8rem; }
.generation-autosave-status[data-state="error"], [data-autosave-status][data-state="error"] { color: var(--red); }
.quick-generation-form__value { max-width: 22rem; }
.quick-generation-form__email { max-width: 32rem; }
.quick-generation-form__email small { color: var(--ink-soft); font-size: .76rem; line-height: 1.4; }
.contract-prefill { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); margin-bottom: var(--space-lg); padding: var(--space-md); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.contract-prefill > div { display: grid; gap: .25rem; }
.contract-prefill small { color: var(--ink-soft); line-height: 1.4; }
.contract-prefill form { flex: none; }
@media (max-width: 640px) { .contract-prefill { align-items: stretch; flex-direction: column; } .contract-prefill form .button { width: 100%; } }
.quick-required-files { display: grid; gap: var(--space-sm); margin-bottom: var(--space-lg); padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); background: color-mix(in oklch, var(--amber) 7%, var(--surface)); }
.quick-required-files__heading, .quick-required-file { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); }
.quick-required-files__heading > div, .quick-required-file > div { display: grid; gap: .15rem; }
.quick-required-files__heading small, .quick-required-file small { color: var(--ink-soft); }
.quick-required-files__heading > span { color: #765515; font-size: .76rem; font-weight: 800; }
.quick-required-files__list { display: grid; gap: var(--space-xs); }
.generation-missing { display: grid; gap: .4rem; margin: var(--space-sm) 0; padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); background: color-mix(in oklch, var(--amber) 7%, var(--surface)); }
.generation-missing[hidden] { display: none; }
.generation-missing__context { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.45; }
.generation-missing .text-link { width: fit-content; }
.generation-missing details { color: var(--ink-soft); }
.generation-missing summary { cursor: pointer; }
.generation-missing ul { margin: .5rem 0 0; padding-left: 1.25rem; }
.quick-required-file { padding-top: var(--space-sm); border-top: 1px solid color-mix(in oklch, var(--amber) 28%, var(--line)); }
.quick-address { min-width: 0; margin: 0; border: 0; border-top: 1px solid var(--line); padding: var(--space-md) 0 0; }
.quick-address legend { padding-right: var(--space-sm); color: var(--petrol-deep); font: 800 .84rem var(--font-body); letter-spacing: .03em; text-transform: uppercase; }
.quick-address__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(7rem, .55fr) minmax(0, 1fr); gap: var(--space-sm); }
.quick-address__street { grid-column: span 2; }
.quick-address__complement { grid-column: span 2; }
.quick-generation-warning { border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); background: var(--amber-pale); padding: var(--space-sm); color: #765515; font-size: .82rem; }
.quick-generation-form__note { color: var(--ink-soft); text-align: center; }
.change-intention-route { display: flex; justify-content: center; margin-top: var(--space-sm); }
.manual-intention-upload { display: grid; gap: var(--space-md); }
.compact-success { display: flex; align-items: center; gap: var(--space-sm); background: var(--green-pale); padding: var(--space-sm); }
.compact-success > span { width: 2rem; height: 2rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--green); color: var(--surface); font-weight: 900; }
.compact-success > div { display: grid; gap: .12rem; }
.compact-success small { color: var(--ink-soft); }
.signature-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.signature-choices form { display: grid; align-content: start; gap: var(--space-xs); }
.signature-choice { width: 100%; min-height: 7.25rem; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-md); border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); padding: var(--space-md); text-align: left; cursor: pointer; }
.signature-choice:hover { border-color: var(--petrol); background: var(--petrol-pale); }
.signature-choice:disabled { cursor: not-allowed; opacity: .55; }
.signature-choice > span:nth-child(2) { display: grid; gap: .25rem; }
.signature-choice small, .signature-choice__warning { color: var(--ink-soft); line-height: 1.35; }
.signature-choice__warning { padding-inline: var(--space-xs); font-size: .75rem; }
.signature-choice__icon { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--petrol-deep); color: var(--surface); font-weight: 900; }
.authorization-needed { display: grid; gap: var(--space-md); padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--amber) 50%, var(--line)); background: color-mix(in oklch, var(--amber) 7%, var(--surface)); }
.authorization-needed > div:first-child { display: grid; gap: .2rem; }
.authorization-needed > div:first-child small { max-width: 62ch; color: var(--ink-soft); }
.signature-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-sm); margin: 0 0 var(--space-lg); padding: 0; list-style-position: inside; color: var(--ink-soft); font-size: .86rem; }
.signature-files, .owner-downloads { display: grid; gap: var(--space-xs); }
.signature-file { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); border-top: 1px solid var(--line); padding-block: var(--space-sm); }
.signature-file:first-child { border-top: 0; }
.signature-file > div:first-child { display: grid; gap: .18rem; }
.signature-file small { color: var(--ink-soft); }
.signature-file.is-received strong { color: var(--green); }
.signature-file__actions, .signature-footer { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs); }
.mobile-signing-guide, .mobile-signing-action, .mobile-copy { display: none; }
.signature-footer { justify-content: space-between; margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--line); }
.gov-assistant-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .45rem var(--space-md); margin-bottom: var(--space-md); padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--blue) 35%, var(--line)); border-radius: var(--radius-md); background: color-mix(in oklch, var(--blue) 5%, var(--surface)); }
.gov-assistant-card > div { display: grid; gap: .15rem; }
.gov-assistant-card small, .gov-assistant-status { color: var(--ink-soft); }
.gov-assistant-status { grid-column: 1 / -1; margin: 0; font-size: .78rem; }
.gov-assistant-card > a { grid-column: 1 / -1; justify-self: start; }
.mobile-signing-guide { gap: var(--space-sm); margin-bottom: var(--space-lg); padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--blue) 30%, var(--line)); background: color-mix(in oklch, var(--blue) 6%, var(--surface)); }
.mobile-signing-guide > div { display: flex; align-items: center; gap: var(--space-sm); }
.mobile-signing-guide > div > span { min-height: 2rem; display: inline-grid; place-items: center; padding-inline: var(--space-sm); border-radius: 999px; background: var(--petrol-deep); color: var(--surface); font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.mobile-signing-guide p { max-width: 46ch; color: var(--ink-soft); }
.signature-complete { display: flex; align-items: center; gap: var(--space-md); margin-bottom: var(--space-md); padding: var(--space-md); background: var(--green-pale); }
.signature-complete > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--surface); font-weight: 900; }
.signature-complete > div { display: grid; gap: .15rem; }
.signature-complete small { color: var(--ink-soft); }
.validation-next-step { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-sm); padding-top: var(--space-sm); }
.validation-next-step > div { display: grid; gap: .2rem; }
.validation-next-step small { color: var(--ink-soft); }
.validation-next-step form { display: contents; }
.dispatch-blockers { display: grid; gap: var(--space-sm); padding: var(--space-md); border: 1px solid color-mix(in oklch, var(--amber) 42%, var(--line)); background: color-mix(in oklch, var(--amber) 8%, var(--surface)); }
.dispatch-blockers > ul { display: grid; gap: var(--space-xs); margin: 0; padding-left: 1.25rem; color: var(--ink-soft); }
.dispatch-blockers__actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); padding-top: var(--space-xs); }
.download-card { min-height: 4.75rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-md); border-top: 1px solid var(--line); color: var(--ink); padding: var(--space-sm); text-decoration: none; }
.download-card:hover { background: var(--petrol-pale); }
.download-card > span:first-child { color: var(--red); font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.download-card > span:nth-child(2) { display: grid; gap: .15rem; }
.download-card small { color: var(--ink-soft); }
.signature-route-change { margin-top: var(--space-md); }
.case-advanced { margin-top: var(--space-xl); border-top: 1px solid var(--line-strong); }
.case-advanced > summary { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); cursor: pointer; list-style: none; }
.case-advanced > summary::-webkit-details-marker { display: none; }
.case-advanced > summary > span:first-child { display: grid; gap: .15rem; }
.case-advanced > summary small { color: var(--ink-soft); font-weight: 400; }
.case-advanced > summary > span:last-child { font-size: 1.5rem; transition: transform .2s ease; }
.case-advanced[open] > summary > span:last-child { transform: rotate(45deg); }
.case-advanced__content { display: grid; gap: var(--space-xl); padding-bottom: var(--space-xl); }

@media (max-width: 64rem) {
  .case-row__link { grid-template-columns: minmax(17rem, 2fr) minmax(9rem, 1fr) minmax(9rem, 1fr) 2rem; }
  .stock-row__link { grid-template-columns: minmax(15rem, .85fr) minmax(13rem, 1.15fr) 2rem; gap: var(--space-md); }
  .completed-row > a { grid-template-columns: minmax(15rem, 1.2fr) minmax(20rem, 1.6fr) 2rem; }
  .completion-proof { display: none; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .timeline-section { grid-column: span 1; }
  .dispatch-gate { grid-template-columns: 1fr 1.3fr; }
  .dispatch-gate > form { grid-column: 1 / -1; }
  .stock-detail-grid { grid-template-columns: 1fr; }
  .stock-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 48rem) {
  .topbar { position: sticky; z-index: 20; top: 0; min-height: 4rem; }
  .top-nav { display: none; }
  .user-name { display: none; }
  .page-shell { padding: var(--space-lg) var(--space-md) 7rem; }
  .page-heading--split { grid-template-columns: 1fr; }
  .desktop-cta { display: none; }
  h1 { font-size: 2rem; }
  .status-ledger { grid-template-columns: repeat(2, 1fr); }
  .status-ledger > div:nth-child(2) { border-right: 0; }
  .status-ledger > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .attention-queue, .dispatcher-welcome, .dispatcher-atpv { grid-template-columns: 1fr; }
  .attention-queue__cases a { grid-template-columns: auto minmax(0, 1fr); }
  .attention-queue__cases a > span:last-child { grid-column: 2; }
  .dispatcher-count { justify-items: start; }
  .dispatcher-case-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-sm); }
  .dispatcher-case-row .status { grid-column: 2; }
  .dispatcher-document { align-items: stretch; grid-template-columns: 1fr; }
  .dispatcher-document__actions, .dispatcher-atpv__actions { display: grid; grid-template-columns: 1fr; }
  .dispatcher-document__actions .button, .dispatcher-atpv__actions .button, .dispatcher-atpv__actions form, .dispatcher-atpv__actions label { width: 100%; }
  .workspace-tools { align-items: stretch; flex-direction: column; }
  .filter-row { flex-direction: column; }
  .search-field input, .select-field select { width: 100%; }
  .case-row__link { min-height: 8.2rem; grid-template-columns: 1fr auto; grid-template-areas: "identity arrow" "progress state"; gap: var(--space-sm); padding: var(--space-md) var(--space-xs); }
  .status-ledger--completed { grid-template-columns: 1fr; }
  .status-ledger--completed > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .status-ledger--completed > div:last-child { border-bottom: 0; }
  .completed-row > a { min-height: 10rem; grid-template-columns: 1fr auto; grid-template-areas: "completed-identity arrow" "completed-dates completed-dates"; gap: var(--space-sm); padding: var(--space-md) var(--space-xs); }
  .completed-row__identity { grid-area: completed-identity; }
  .completed-row__dates { grid-area: completed-dates; gap: var(--space-sm); }
  .completion-options { grid-template-columns: 1fr; }
  .completion-option { min-height: 5.5rem; grid-template-columns: auto 1fr; justify-items: start; text-align: left; }
  .completion-option small { grid-column: 2; }
  .completion-gate__heading { align-items: stretch; flex-direction: column; }
  .case-identity { grid-area: identity; align-items: flex-start; }
  .case-progress { grid-area: progress; }
  .case-state { grid-area: state; justify-items: end; }
  .row-arrow { grid-area: arrow; align-self: center; }
  .form-section { grid-template-columns: 1fr; gap: var(--space-lg); }
  .form-section__intro { max-width: 28rem; }
  .form-actions { bottom: 4.65rem; }
  .case-header { align-items: flex-start; flex-direction: column; }
  .case-title { align-items: flex-start; flex-direction: column; gap: var(--space-sm); }
  .case-header__meta { justify-items: start; }
  .case-focus__heading { display: grid; gap: var(--space-sm); }
  .atpv-final__heading, .atpv-source-line { align-items: stretch; flex-direction: column; }
  .atpv-upload-callout, .atpv-external-step, .atpv-signers { grid-template-columns: 1fr; }
  .atpv-signers > .button { grid-column: auto; justify-self: stretch; }
  .atpv-upload-callout .button, .atpv-upload-callout form, .atpv-external-step .button, .atpv-external-step form, .atpv-final__actions .button, .atpv-final__actions form { width: 100%; }
  .signature-choices, .signature-steps, .intention-route-choices { grid-template-columns: 1fr; }
  .quick-required-files__heading, .quick-required-file { align-items: stretch; flex-direction: column; }
  .quick-required-file form, .quick-required-file label { width: 100%; }
  .quick-address__grid { grid-template-columns: 1fr 8rem; }
  .quick-address__street { grid-column: 1 / -1; }
  .quick-address__complement { grid-column: auto; }
  .signature-file { align-items: stretch; flex-direction: column; }
  .signature-file__actions { align-items: stretch; }
  .signature-file__actions .button, .signature-file__actions form, .signature-file__actions label { width: 100%; }
  .signature-footer { align-items: stretch; flex-direction: column; }
  .signature-footer .button, .signature-footer form { width: 100%; }
  .validation-next-step { grid-template-columns: 1fr; }
  .validation-next-step .button, .validation-next-step form { width: 100%; }
  .dispatch-blockers__actions, .dispatch-blockers__actions .button { width: 100%; }
  .gov-assistant-card { grid-template-columns: 1fr; }
  .gov-assistant-card .button { width: 100%; }
  .source-banner { grid-template-columns: auto 1fr; }
  .source-banner > .status { grid-column: 2; }
  .dispatch-gate { grid-template-columns: 1fr; }
  .dispatch-gate > form { grid-column: auto; }
  .gate-checklist { grid-template-columns: 1fr; }
  .step small { font-size: .62rem; }
  .document-row { grid-template-columns: 2rem minmax(0, 1fr) auto; grid-template-areas: "state info badge" ". action action"; }
  .document-state { grid-area: state; }
  .document-info { grid-area: info; }
  .document-row > .status { grid-area: badge; }
  .document-row__action { grid-area: action; justify-content: stretch; }
  .document-row__action .button, .document-row__action form, .document-row__action label { width: 100%; }
  .authorization-add { align-items: stretch; flex-direction: column; gap: var(--space-sm); }
  .authorization-add__actions { display: grid; grid-template-columns: 1fr; }
  .authorization-add__actions .button, .authorization-add__actions form { width: 100%; }
  .document-preview__actions { align-items: stretch; flex-direction: column; }
  .document-preview__actions .button, .document-preview__actions form, .document-preview__actions label { width: 100%; }
  .route-form { grid-template-columns: 1fr; }
  .extracted-actions { align-items: stretch; flex-direction: column; }
  .extracted-actions .button { width: 100%; }
  .detail-side { grid-template-columns: 1fr; }
  .next-action { align-items: stretch; flex-direction: column; }
  .next-action .button { width: 100%; }
  .bottom-nav { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(4, 1fr); padding: .35rem max(.5rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); background: var(--petrol-deep); color: color-mix(in oklch, var(--surface) 72%, var(--petrol)); }
  .bottom-nav__item { --nav-accent: var(--surface); min-height: 4rem; display: grid; place-items: center; align-content: center; gap: .18rem; color: color-mix(in oklch, var(--nav-accent) 68%, var(--surface)); font-size: .68rem; font-weight: 700; text-decoration: none; }
  .bottom-nav__item--transfers { --nav-accent: oklch(79% .105 235); }
  .bottom-nav__item--stock { --nav-accent: oklch(80% .115 150); }
  .bottom-nav__item--repasse { --nav-accent: oklch(83% .13 78); }
  .bottom-nav__item--completed { --nav-accent: oklch(82% .12 150); }
  .bottom-nav__item svg { width: 1.35rem; height: 1.35rem; }
  .bottom-nav__item.is-active { color: var(--surface); background: color-mix(in oklch, var(--nav-accent) 17%, transparent); box-shadow: inset 0 .2rem 0 var(--nav-accent); }
  .stock-hero, .section-heading { align-items: flex-start; flex-direction: column; }
  .stock-document-row { grid-template-columns: 2.4rem minmax(0, 1fr); align-items: start; }
  .owner-type-control { grid-template-columns: 1fr; align-items: start; }
  .owner-type-control__actions { justify-content: flex-start; flex-wrap: wrap; }
  .stock-document-actions { grid-column: 1 / -1; justify-content: stretch; }
  .stock-document-actions .button, .stock-document-actions form, .stock-document-actions label { width: 100%; }
  .stock-sidebar { grid-template-columns: 1fr; }
  .heading-actions { width: 100%; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: .2rem; scrollbar-width: none; }
  .heading-actions::-webkit-scrollbar { display: none; }
  .heading-actions .text-action { flex: 0 0 auto; }
  .archived-row { grid-template-columns: 1fr; }
  .archived-row form, .archived-row .button { width: 100%; }
  .stock-page-heading { margin-bottom: var(--space-md); }
  .stock-page-heading .heading-note { font-size: .88rem; }
  .stock-ledger { display: flex; overflow-x: auto; gap: var(--space-xs); margin: 0 calc(var(--space-md) * -1) var(--space-lg); padding: 0 var(--space-md) var(--space-xs); border: 0; scroll-snap-type: x proximity; scrollbar-width: none; }
  .stock-ledger::-webkit-scrollbar { display: none; }
  .stock-ledger > div { min-width: 7.6rem; flex: 0 0 auto; gap: .2rem; border: 1px solid var(--line) !important; border-radius: var(--radius-md); background: var(--surface); padding: .75rem .85rem; scroll-snap-align: start; }
  .stock-ledger > div:nth-child(4), .stock-ledger > div:nth-child(5) { border-color: color-mix(in oklch, var(--amber) 45%, var(--line)) !important; background: color-mix(in oklch, var(--amber-pale) 55%, var(--surface)); }
  .stock-ledger strong { font: 800 1.55rem/1 var(--font-display); }
  .stock-ledger span { max-width: 10rem; font-size: .7rem; line-height: 1.25; }
  .case-workspace { gap: var(--space-sm); }
  .workspace-tools { gap: var(--space-sm); }
  .workspace-tools h2 { font-size: 1.3rem; }
  .filter-row { display: grid; grid-template-columns: minmax(0, 1fr) 2.9rem; }
  .select-field { position: relative; overflow: hidden; }
  .select-field::after { position: absolute; inset: 0; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--surface); color: var(--petrol); content: "≡"; font-size: 1.25rem; pointer-events: none; }
  .select-field select { min-width: 0; color: transparent; }
  .stock-row__link { min-height: 7.25rem; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "identity arrow" "state state"; gap: var(--space-sm); padding: var(--space-sm) var(--space-xs); }
  .stock-row__link .case-state { justify-items: start; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
  .stock-row__link .case-state small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .stock-row__link .case-identity { flex-direction: row; align-items: center; }
  .stock-row__link .case-identity strong { font-size: .92rem; }
  .stock-row__link .stock-identity__details { display: none; }
  .mobile-add-action { position: fixed; z-index: 32; right: var(--space-md); bottom: calc(4.85rem + env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: .45rem; min-height: 3rem; border-radius: 999px; background: var(--red); box-shadow: var(--shadow-lift); color: var(--surface); padding: .7rem 1rem; font-weight: 800; text-decoration: none; }
  .mobile-add-action span { font-size: 1.25rem; line-height: 1; }
  .status-ledger:not(.status-ledger--completed) { display: flex; overflow-x: auto; gap: var(--space-xs); margin: 0 calc(var(--space-md) * -1) var(--space-lg); padding: 0 var(--space-md) var(--space-xs); border: 0; scroll-snap-type: x proximity; scrollbar-width: none; }
  .status-ledger:not(.status-ledger--completed)::-webkit-scrollbar { display: none; }
  .status-ledger:not(.status-ledger--completed) > div { min-width: 7.6rem; flex: 0 0 auto; gap: .2rem; border: 1px solid var(--line) !important; border-radius: var(--radius-md); background: var(--surface); padding: .75rem .85rem; scroll-snap-align: start; }
  .status-ledger:not(.status-ledger--completed) strong { font: 800 1.55rem/1 var(--font-display); }
  .status-ledger:not(.status-ledger--completed) span { max-width: 10rem; font-size: .7rem; line-height: 1.25; }
}

@media (max-width: 48rem), (hover: none) and (pointer: coarse) {
  .desktop-signing-only, .desktop-copy { display: none !important; }
  .mobile-signing-guide { display: grid; }
  .mobile-signing-action, .mobile-copy { display: inline-flex; }
  .signature-file__actions .button, .signature-file__actions form, .signature-file__actions label { width: 100%; min-height: 3rem; }
  .signature-file__actions { display: grid; grid-template-columns: 1fr; }
  .signature-file { scroll-margin-top: 5rem; }
}

@media (max-width: 36rem) {
  .login-layout { display: block; background: var(--paper); }
  .login-intro { min-height: 18rem; justify-content: flex-start; padding: var(--space-lg); }
  .login-intro .eyebrow { margin-top: var(--space-xl); }
  .login-intro h1 { font-size: 2.35rem; }
  .login-intro > p:not(.eyebrow), .login-steps { display: none; }
  .login-intro::after { font-size: 7rem; bottom: -1.2rem; }
  .login-panel { min-height: calc(100vh - 18rem); padding: var(--space-xl) var(--space-lg); }
  .brand--large .brand-mark { width: 2.6rem; height: 2.6rem; }
  .status-ledger strong { font-size: 1.8rem; }
  .case-identity { flex-direction: column; gap: var(--space-xs); }
  .case-row__link { min-height: 10rem; }
  .form-grid, .form-grid--compact, .choice-grid { grid-template-columns: 1fr; }
  .quick-address__grid { grid-template-columns: 1fr; }
  .quick-address__street { grid-column: auto; }
  .field--wide { grid-column: span 1; }
  .stepper { margin-inline: -.5rem; }
  .step small { max-width: 6rem; }
  .document-summary { gap: var(--space-sm) var(--space-lg); }
  .document-row { padding-inline: var(--space-sm); }
  .document-row > .status { grid-column: 2; width: max-content; }
  .document-row { grid-template-columns: 2rem minmax(0, 1fr); grid-template-areas: "state info" ". badge" ". action"; }
  .document-preview { padding: var(--space-sm); }
  .document-preview__heading { align-items: flex-start; flex-direction: column; gap: var(--space-xs); }
  .document-preview__heading { position: sticky; top: 0; z-index: 2; padding: var(--space-xs); background: var(--paper-deep); border-bottom: 1px solid var(--line); }
  .document-preview__tools { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-preview__zoom { order: 1; }
  .document-preview__close { order: 2; }
  .document-preview__tools .text-link { order: 3; grid-column: 1 / -1; justify-content: center; }
  .document-preview__tools .upload-form { order: 4; grid-column: 1 / -1; }
  .document-preview__tools .button { width: 100%; justify-content: center; }
  .document-preview__canvas { min-height: 10rem; }
  .document-preview__canvas--zoomed { max-height: 72vh; padding: var(--space-xs); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .topbar, .bottom-nav, .form-actions, .button, .upload-form, .toast-stack { display: none !important; }
  body, .page-shell { background: white; color: black; }
  .page-shell { width: 100%; padding: 0; }
  .detail-layout { grid-template-columns: 1fr; }
}

/* Linguagem visual da Central de Atendimento: superfícies claras e azul documental. */
@media screen {
  :root {
    --ink: oklch(26% 0.035 235);
    --ink-soft: oklch(49% 0.025 235);
    --petrol: oklch(43% 0.095 242);
    --petrol-deep: oklch(31% 0.075 242);
    --petrol-pale: oklch(94% 0.027 235);
    --paper: oklch(97% 0.009 235);
    --paper-deep: oklch(93% 0.018 235);
    --surface: oklch(99% 0.004 235);
    --surface-soft: oklch(96% 0.012 235);
    --line: oklch(88% 0.017 235);
    --line-strong: oklch(78% 0.025 235);
    --blue: oklch(48% 0.11 242);
    --blue-pale: oklch(94% 0.03 240);
    --font-display: "Segoe UI Variable Display", "Segoe UI", sans-serif;
    --font-body: "Segoe UI Variable Text", "Segoe UI", sans-serif;
    --radius-sm: .5rem;
    --radius-md: .75rem;
    --shadow-lift: 0 .5rem 1.5rem color-mix(in oklch, var(--ink) 7%, transparent);
  }

  :focus-visible { outline-color: var(--blue); }
  ::selection { background: var(--blue-pale); }
  h1, h2, h3 { letter-spacing: -.045em; }
  h1 { font-size: clamp(1.8rem, 3vw, 2.45rem); }
  h2 { font-size: 1.35rem; }
  h3 { font-size: 1.1rem; }
  .eyebrow, .section-index { color: var(--blue); letter-spacing: .11em; }
  .page-heading { margin-bottom: var(--space-lg); }
  .page-shell { padding-top: clamp(1.5rem, 3vw, 2.5rem); }
  .button--primary { background: var(--petrol-deep); }
  .button--primary:hover { background: var(--petrol); }
  .button--secondary, .button--upload { border-color: var(--line); }
  .button--quiet { background: var(--surface-soft); }
  .section-number, .download-card > span:first-child { color: var(--blue); }
  .operation-section > summary b, .section-heading b { color: var(--blue); }
  .step.is-current { color: var(--blue); }
  .step.is-current > span { border-color: var(--blue); background: var(--blue); }
  .status-ledger { gap: .75rem; border: 0; }
  .status-ledger > div { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); padding: var(--space-md); }
  .status-ledger > div:last-child { border-right: 1px solid var(--line); }
  .status-ledger strong { font: 750 1.85rem/1 var(--font-display); }
  .status-ledger span { line-height: 1.3; }
  .workspace-tools { align-items: center; }
  .search-field input { border-color: var(--line); background: var(--surface); }
  .select-field select { border-color: var(--line); }
  .case-list { border-top-color: var(--line); }
  .case-row:hover, .completed-row:hover { background: var(--petrol-pale); }
  .case-row__link { min-height: 5.75rem; }
  .plate { border: 1px solid var(--line-strong); border-radius: .3rem; box-shadow: none; }
  .case-progress > span { border-radius: 999px; }
  .case-progress i { border-radius: inherit; }
  .brand-mark { background: var(--petrol-deep); }
  .login-body, .login-intro { background: var(--petrol-deep); }
  .login-intro::after { color: color-mix(in oklch, var(--surface) 4%, transparent); }
  .login-intro .eyebrow, .login-steps span { color: oklch(82% .065 235); }
  .completion-legacy-note { border: 1px solid color-mix(in oklch, var(--amber) 40%, var(--line)); }
}

@media screen and (min-width: 48.001rem) {
  body:has(.topbar) { padding-left: 5.5rem; }
  .topbar { position: fixed; z-index: 30; inset: 0 auto 0 0; width: 5.5rem; min-height: 100vh; flex-direction: column; justify-content: flex-start; gap: 1.75rem; padding: 1rem .45rem; background: var(--surface); color: var(--ink-soft); border-right: 1px solid var(--line); border-bottom: 0; }
  .brand { justify-content: center; width: 100%; }
  .brand-mark { width: 2.5rem; height: 2.5rem; border-radius: .55rem; font-family: var(--font-body); }
  .brand > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .top-nav { width: 100%; flex-direction: column; gap: .45rem; margin: 0; }
  .top-nav__item { width: 100%; min-height: 4.25rem; flex-direction: column; justify-content: center; gap: .2rem; border-radius: .6rem; padding: .35rem .1rem; color: var(--ink-soft); font-size: .64rem; font-weight: 700; text-align: center; }
  .top-nav__item::before { display: none; }
  .top-nav__item svg { width: 1.3rem; height: 1.3rem; }
  .top-nav__item:hover { background: var(--petrol-pale); color: var(--petrol-deep); }
  .top-nav__item.is-active { background: var(--blue-pale); color: var(--petrol-deep); box-shadow: none; }
  .user-cluster { width: 100%; margin-top: auto; justify-content: center; }
  .user-name { display: none; }
  .text-action { color: var(--petrol); }
  .topbar .text-action { color: var(--ink-soft); font-size: .75rem; }
  .topbar .text-action:hover { color: var(--petrol-deep); }
  .page-shell { width: min(100%, 88rem); }
}

@media screen and (max-width: 48rem) {
  .topbar { background: var(--surface); color: var(--ink); border-bottom: 1px solid var(--line); }
  .brand small { color: var(--ink-soft); }
  .topbar .text-action { color: var(--petrol); }
  .bottom-nav { background: var(--surface); color: var(--ink-soft); border-top: 1px solid var(--line); box-shadow: 0 -.35rem 1.5rem color-mix(in oklch, var(--ink) 8%, transparent); }
  .bottom-nav__item { color: var(--ink-soft); }
  .bottom-nav__item.is-active { background: var(--blue-pale); color: var(--petrol-deep); box-shadow: none; border-radius: .5rem; }
  .stock-ledger { gap: var(--space-xs); border: 0; }
  .stock-ledger > div { border: 1px solid var(--line) !important; background: var(--surface); }
  .stock-ledger > div:nth-child(4), .stock-ledger > div:nth-child(5) { border-color: var(--line) !important; background: var(--surface); }
  .mobile-add-action { background: var(--petrol-deep); }
}

/* Document checklist: keep file handling and approval as separate, readable steps. */
.stock-documents-intro { max-width: 64ch; margin: -.3rem 0 .25rem; color: var(--ink-soft); font-size: .9rem; }
.stock-document-list { gap: var(--space-sm); }
.stock-document-row {
  min-height: 0;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  align-items: start;
  gap: var(--space-sm) var(--space-md);
  padding: var(--space-md);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--surface);
}
.stock-document-row--review { border-color: color-mix(in oklch, var(--blue) 32%, var(--line)); }
.stock-document-row--invalid { border-color: color-mix(in oklch, var(--red) 36%, var(--line)); }
.stock-document-copy p.stock-document-file-name { overflow: visible; overflow-wrap: anywhere; text-overflow: clip; white-space: normal; }
.stock-document-file-name span { color: var(--ink-soft); }
.stock-document-actions {
  grid-column: 2;
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-lg);
  padding-top: var(--space-sm);
  border-top: 1px solid var(--line);
}
.stock-document-action-group { min-width: 0; display: grid; align-content: start; gap: .35rem; }
.stock-document-action-group--decision { margin-left: auto; }
.stock-document-action-group--digital small { max-width: 30ch; color: var(--ink-soft); font-size: .72rem; line-height: 1.35; }
.stock-status--external { background: var(--blue-pale); color: var(--blue); }
.stock-document-row--external .document-state-icon { background: var(--blue-pale); color: var(--blue); }
.stock-document-row--external .stock-document-copy p { overflow: visible; white-space: normal; }
.stock-document-action-label { color: var(--ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.stock-document-action-controls { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-xs); }
.stock-document-actions form { margin: 0; }
.stock-document-actions .button { min-height: 2.75rem; }
.stock-document-actions .file-trigger { border: 1px solid var(--line); background: var(--paper); color: var(--petrol-deep); }
.stock-document-actions .file-trigger:hover { border-color: var(--petrol); background: var(--petrol-pale); }
.button--approve { border-color: var(--green); background: var(--green); color: var(--surface); }
.button--approve:hover { border-color: var(--green); background: color-mix(in oklch, var(--green) 82%, var(--ink)); }
.stock-document-correction { flex-basis: 100%; color: var(--ink-soft); font-size: .78rem; }
.stock-document-correction summary { width: fit-content; color: var(--petrol-deep); font-weight: 700; cursor: pointer; }
.stock-document-correction[open] { display: grid; gap: var(--space-xs); }
.stock-document-correction p { margin: 0; }

/* Keep the document task in focus; editing metadata stays available on demand. */
.stock-detail-grid { display: block; max-width: 76rem; margin-inline: auto; }
.stock-utilities { max-width: 76rem; margin: var(--space-xl) auto 0; border-top: 1px solid var(--line); }
.stock-utilities > summary { width: fit-content; padding: var(--space-sm) 0; color: var(--ink-soft); font-size: .82rem; font-weight: 700; cursor: pointer; }
.stock-utilities > summary:hover { color: var(--petrol); }
.stock-utilities__body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); padding-block: var(--space-sm) var(--space-xl); }
.stock-utilities .detail-panel > summary { font-family: var(--font-body); font-size: .9rem; }
.stock-utilities .compact-form { max-width: 32rem; }

@media (max-width: 65rem) {
  .stock-document-actions { grid-column: 1 / -1; }
}

@media (max-width: 48rem) {
  .stock-document-row { padding: var(--space-sm); }
  .stock-document-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .stock-document-action-group--decision { margin-left: 0; }
  .stock-document-action-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stock-document-action-controls > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .stock-document-actions .button, .stock-document-actions form, .stock-document-actions label { width: 100%; }
  .stock-utilities__body { grid-template-columns: minmax(0, 1fr); }
}

/* Keep the document close control visible while the image scrolls. */
.preview-modal { max-height: calc(100dvh - 2rem); overflow: hidden; }
.preview-modal[open] { display: flex; flex-direction: column; }
.preview-modal__header { flex: 0 0 auto; }
.preview-modal__header > div { min-width: 0; overflow-wrap: anywhere; }
.preview-modal__header [data-preview-close] { flex: 0 0 2.75rem; font-size: 1.5rem; }
.preview-modal__body { flex: 1 1 auto; min-height: 0; min-width: 0; overscroll-behavior: contain; }