/* The shared visual system for every signed-in workflow. The tokens it reads
   (colour roles, type, radius, control height) are defined once, in the
   token block of app.html; this file defines none of its own. */
html { overflow-x:clip; }
/* Map controls share the same readable palette as the rest of the workspace. */
.leaflet-bar a { color:var(--text); background-color:var(--surface); }
.leaflet-bar a:hover { color:var(--text); background-color:var(--surface-2); }
.leaflet-bar a.leaflet-disabled { color:var(--text-3); background-color:var(--surface-2); }
.leaflet-draw-actions a { color:var(--on-brand); background-color:var(--brand); }
.leaflet-draw-actions a:hover { color:var(--on-brand); background-color:var(--brand-strong); }
.leaflet-error-draw-tooltip { color:var(--bad); background-color:var(--bad-soft); border-color:var(--bad); }
body.workspace { background:var(--bg); color:var(--text); font:14px/1.55 var(--sans); overflow-x:clip; }
.workspace *, .workspace *::before, .workspace *::after { box-sizing:border-box; }
.workspace [hidden] { display:none!important; }
/* Only the two inline icons drawn without a stroke attribute take the text
   colour. A blanket `svg { stroke }` also recoloured Sprig, the season
   charts and Leaflet's marker rings, because a stylesheet beats a
   presentation attribute. */
.workspace-search svg, .workspace .shipment-copy svg { stroke:currentColor; }
.workspace a { text-underline-offset:3px; }
.workspace :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.workspace button:disabled { opacity:.5; cursor:not-allowed; }
.workspace h1, .workspace h2, .workspace h3, .workspace .stat-card .v,
.workspace .verdict .v-title { font-family:var(--sans); }
.workspace .topbar { height:72px; min-height:72px; padding:0 28px; gap:22px; background:var(--surface); border-bottom:1px solid var(--line); box-shadow:none; }
.workspace .tb-brand { font:700 24px/1 var(--sans); letter-spacing:-1.1px; min-width:214px; gap:10px; }
.brand-domain { font-weight:400; color:var(--text-3); }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--brand); color:var(--on-brand); }
.brand-mark svg { width:23px; height:23px; }
.workspace .tb-section { font-size:13px; font-weight:500; }
.workspace .tb-chip { border:0; background:transparent; color:var(--text-3); padding:0; font-size:12px; white-space:nowrap; }
.workspace .tb-chip .dot { box-shadow:none; width:7px; height:7px; }
.workspace .tb-theme { padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text-2); white-space:nowrap; }
.workspace-search { display:flex; align-items:center; gap:10px; padding:9px 12px; width:266px; border:1px solid var(--line); border-radius:9px; background:var(--bg); color:var(--text-3); text-align:left; }
.workspace-search svg { width:17px; height:17px; fill:none; stroke-width:1.7; flex:none; }
.workspace-search span { flex:1; }
.workspace-search kbd { border:1px solid var(--line); border-radius:4px; padding:0 4px; font:11px/1.7 var(--sans); background:var(--surface); white-space:nowrap; }
.workspace-avatar { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); background:var(--surface-2); color:var(--brand); border-radius:50%; flex:none; }
.workspace-avatar svg { width:19px; height:19px; }
.workspace .shell { display:grid; grid-template-columns:252px minmax(0,1fr); background:linear-gradient(to right,var(--surface) 252px,transparent 252px); min-height:calc(100dvh - 72px); }
.workspace .shell > aside { padding:24px 16px 18px; background:var(--surface); top:72px; height:calc(100dvh - 72px); border-right:1px solid var(--line); gap:0; }
.workspace .org { display:flex; align-items:center; gap:10px; padding:12px 10px; border:1px solid var(--line); border-radius:10px; text-decoration:none; background:var(--bg); margin-bottom:22px; }
.workspace .org > span:nth-child(2) { min-width:0; flex:1; }
.workspace .org .label { display:block; color:var(--text-3); font-size:11px; line-height:1.4; margin-bottom:3px; }
.workspace .org .name { display:block; font-size:12px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.org-icon { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--brand); flex:none; }
.org-icon svg { width:18px; height:18px; }
.workspace #nav { gap:5px; }
.workspace #nav a { min-height:43px; padding:10px 12px; gap:12px; color:var(--text-2); border:0; border-radius:9px; font-size:13px; font-weight:500; }
.workspace #nav a.active { color:var(--brand); background:var(--good-soft); box-shadow:none; font-weight:600; }
.workspace #nav a:hover { background:var(--surface-2); color:var(--brand); }
.workspace #nav .icon { width:19px; height:19px; color:currentColor; }
.workspace #nav .group { padding:21px 12px 7px; font-size:11px!important; font-weight:600; color:var(--text-3); }
.workspace #nav .nav-more > summary { padding-top:16px; }
.nav-assistant-label { margin-left:auto; font-size:10px; font-weight:500; background:var(--surface-2); border:1px solid var(--line); border-radius:4px; padding:1px 5px; }
.workspace-help { margin-top:30px; padding:16px; border-radius:12px; background:var(--bg); border:1px solid var(--line); }
.workspace-help svg { width:21px; height:21px; color:var(--brand); display:block; margin-bottom:10px; }
.workspace-help strong { display:block; font-size:13px; }
.workspace-help p { font-size:12px; color:var(--text-3); margin:5px 0 13px; line-height:1.6; }
.workspace-help a { display:flex; justify-content:space-between; font-size:12px; font-weight:600; color:var(--brand); text-decoration:none; }
.workspace aside .footer { margin-top:auto; padding:22px 8px 0; border:0; }
.workspace aside .footer #signed-as { font-size:11px; overflow-wrap:anywhere; }
.workspace aside .footer a { display:inline-block; padding:6px 0; font-size:11px; }
.footer-links { display:flex; gap:14px; }
.workspace-content { min-width:0; }
.workspace .workspace-subnav { display:flex; flex-direction:row; align-items:center; gap:6px; min-height:62px; padding:0 32px; border-bottom:1px solid var(--line); background:var(--surface); overflow-x:auto; scrollbar-width:thin; }
.workspace-area { font-size:12px; color:var(--text-3); padding-right:20px; margin-right:12px; border-right:1px solid var(--line); white-space:nowrap; }
.workspace .workspace-subnav a { padding:18px 12px; min-height:62px; color:var(--text-3); font-size:12px; white-space:nowrap; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; }
.workspace .workspace-subnav a[aria-current="page"] { color:var(--brand); border-bottom-color:var(--brand); font-weight:600; }
.workspace .workspace-subnav a:hover { color:var(--brand); background:var(--bg); }
.workspace main { padding:32px 38px 72px; width:100%; max-width:1600px; margin:0 auto; }
.workspace .page-head { align-items:center; gap:18px; border:0; margin:0 0 28px; padding:0; }
.page-title { flex:1; min-width:200px; }
.workspace .page-head h1 { margin:0; font:600 28px/1.25 var(--sans); letter-spacing:-1px; }
.workspace .page-head .sub { color:var(--text-3); font-size:13px; line-height:1.6; margin-top:7px; max-width:780px; }
.workspace .page-head .head-actions { margin:0 0 0 auto; gap:8px; align-items:center; flex-wrap:wrap; }
.workspace :is(.btn,.btn-primary,.btn-danger) { display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:36px; padding:8px 13px; border-radius:8px!important; font:500 12px/1.4 var(--sans); text-decoration:none; transition:background .15s,border-color .15s,box-shadow .15s; }
.workspace .btn { background:var(--surface); border:1px solid var(--line-strong); color:var(--text-2); }
.workspace .btn:hover { color:var(--brand); background:var(--surface-2); border-color:var(--brand); }
.workspace .btn-primary { background:var(--brand); color:var(--on-brand); border:1px solid var(--brand); box-shadow:0 2px 3px #17331f08; }
.workspace .btn-primary:hover { background:var(--brand-strong); }
.workspace .page-head .btn-primary { min-height:41px; padding:9px 16px; }
.workspace .btn-danger { background:var(--surface); border:1px solid var(--bad-soft); color:var(--bad); }
.workspace .btn-danger:hover { background:var(--bad-soft); }
/* A tap shows it landed: the button darkens and sits a pixel lower,
   and without motion the colour change alone carries it. */
.workspace .btn:active { background:var(--surface-3); border-color:var(--brand); }
.workspace .btn-primary:active { background:var(--brand-strong); box-shadow:none; }
.workspace .btn-danger:active { background:var(--bad-soft); border-color:var(--bad); }
.workspace :is(.btn,.btn-primary,.btn-danger):active { transform:translateY(1px); }
@media (prefers-reduced-motion:reduce) { .workspace :is(.btn,.btn-primary,.btn-danger):active { transform:none; } }
/* A row that opens a record is reached by Tab, so it shows where focus is. */
.workspace tr[tabindex]:focus-visible { outline:2px solid var(--brand); outline-offset:-2px; background:var(--surface-2); }
.workspace :is(input,select,textarea) { border:1px solid var(--line-strong); border-radius:8px!important; background:var(--field); color:var(--text); font:13px/1.5 var(--sans); padding:10px 12px; min-height:41px; accent-color:var(--brand); }
.workspace input:is([type=checkbox],[type=radio]) { min-height:16px; width:16px; height:16px; padding:0; }
.workspace textarea { resize:vertical; }
.workspace label { line-height:1.6; }
.workspace main form > div > label[for] { display:block; margin-bottom:6px; color:var(--text-2); font-size:13px; font-weight:500; }
.workspace main form > div > label[for] + :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width:100%; max-width:100%; }
.workspace main :is(input,select,textarea) { max-width:100%; }
.workspace :is(.form-col,.form-row) label { color:var(--text-2); margin-bottom:6px; font-weight:500; font-size:12px; }
.workspace :is(.card,.connector-card,.stat-card,.verdict) { border:1px solid var(--line); border-radius:13px!important; background:var(--surface); box-shadow:var(--e-1); }
.workspace .card { margin-bottom:20px; }
.workspace .card-head { border-bottom:1px solid var(--line); background:transparent; padding:17px 20px; flex-wrap:wrap; gap:8px 12px; }
.workspace .card-head h2 { font-size:14px; font-weight:600; letter-spacing:-.2px; }
.workspace .card-head .muted { font-size:12px; }
.workspace .card-body { padding:20px; }
.workspace .card-body > p:first-child { margin-top:0; }
.workspace .stat-card { padding:18px 20px; }
.workspace .stat-card .k { font-size:12px; color:var(--text-3); }
.workspace .stat-card .v { font:600 29px/1.3 var(--sans); letter-spacing:-.9px; margin:9px 0 2px; }
.workspace .stat-grid { gap:14px; margin-bottom:22px; }
.workspace .stat-grid.ui-strip-row { gap:10px; padding:0 0 5px; }
.workspace .stat-grid.ui-strip-row > * { flex:1 0 150px; }
.workspace .tag { border:0; padding:4px 8px; border-radius:5px; font-size:11px!important; font-weight:500; line-height:1.4; white-space:normal; background:var(--surface-2); color:var(--text-2); }
.workspace .tag.green { background:var(--good-soft); color:var(--brand); }
.workspace .tag.amber { background:var(--warn-soft); color:var(--warn); }
.workspace .tag.red { background:var(--bad-soft); color:var(--bad); }
.workspace .tag.indigo { background:var(--info-soft); color:var(--info); }
.workspace .tag-ic { width:12px; height:12px; font-size:9px; }
.workspace .filter-bar { padding:16px 18px; gap:8px; border-bottom:1px solid var(--line); background:var(--surface); border-radius:13px 13px 0 0; }
.workspace .filter-bar input[type=search] { background:var(--bg); min-width:220px; flex:1 1 220px; }
.workspace .filter-bar .fb-chip { min-height:34px; padding:7px 11px; border-radius:7px; border:1px solid transparent; background:var(--surface-2); color:var(--text-2)!important; font-size:12px; }
.workspace .filter-bar .fb-chip.on { background:var(--good-soft)!important; border-color:var(--line-strong)!important; color:var(--brand)!important; font-weight:600; }
.workspace .filter-bar .fb-count { font-size:12px; }
.workspace table { border-collapse:collapse; width:100%; font:13px/1.6 var(--sans); }
.workspace thead th { padding:12px 16px; border-bottom:1px solid var(--line); background:var(--bg); font-size:11px!important; font-weight:500; color:var(--text-3); white-space:nowrap; }
.workspace .shipment-select-all { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0; color:var(--text-2); cursor:pointer; white-space:nowrap; }
.workspace .shipment-select-all input { margin:0; }
.workspace tbody td { padding:15px 16px; border-bottom:1px solid var(--line); border-top:0; color:var(--text-2); vertical-align:middle; }
.workspace tbody tr:last-child td { border-bottom:0; }
.workspace tbody tr:hover { background:var(--bg); }
.workspace tbody td a:not(.btn):not(.btn-primary) { color:var(--text); font-weight:500; text-decoration:none; }
.workspace tbody td a:not(.btn):hover { color:var(--brand); text-decoration:underline; }
.workspace .small { font:12px/1.65 var(--sans); color:var(--text-3); }
.workspace .empty, .workspace .ui-empty { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:48px 28px; color:var(--text-3); text-align:center; }
.workspace .empty h2, .workspace .ui-empty h2 { color:var(--text); font-size:21px; letter-spacing:-.5px; }
.workspace .ui-empty p { max-width:540px; margin:12px auto 20px; }
.workspace .ui-state-eyebrow, .workspace .empty .micro { display:none; }
.workspace .ui-obj-head { margin-bottom:22px; gap:18px; }
.workspace .ui-obj-title h2 { font-size:24px; letter-spacing:-.7px; }
.workspace .ui-facets { border-radius:12px; background:var(--surface); padding:18px 20px; gap:16px; margin-bottom:20px; }
.workspace .ui-facet .k { font-size:11px; }
.workspace .ui-facet .v { font-size:14px; font-weight:500; }
.workspace .tabs { flex-wrap:nowrap; overflow-x:auto; gap:6px; padding:0 0 1px; margin:0 0 24px; scrollbar-width:thin; }
.workspace .tabs [role=tab] { padding:12px 16px; white-space:nowrap; font-weight:500; }
.workspace .tabs [role=tab][aria-selected=true] { background:var(--good-soft); border-radius:8px 8px 0 0; color:var(--brand); }
.workspace .proc-row { padding-top:14px; padding-bottom:14px; gap:18px; }
.workspace .ui-wz-rail { gap:8px; padding:0 0 20px; margin-bottom:24px; }
.workspace .ui-wz-step { padding:9px 14px; border-radius:8px; }
.workspace .ui-wz-step.on { background:var(--good-soft); color:var(--brand); }
.workspace .ui-wz-n { width:24px; height:24px; }
.workspace .st-progress { padding:18px 20px; border-radius:12px; background:var(--surface); gap:14px; }
.workspace .st-steps li { padding-top:7px; padding-bottom:7px; }
.workspace .st-steps li.now { color:var(--brand); }
.workspace .ship-fs { padding:22px; margin:0 0 8px; border-color:var(--line); }
.workspace .ship-fs legend { font:600 15px var(--sans); color:var(--text)!important; }
.workspace .ship-fs label { font-size:12px; font-weight:500; color:var(--text-2); }
.workspace .ship-fs .row-2 { gap:16px; }
.workspace .ship-fs .field-gloss { margin:4px 0 0; color:var(--text-2); line-height:1.45; }
.workspace .ship-fs .field-gloss a { white-space:nowrap; }
.workspace .ship-fs input, .workspace .ship-fs select { margin-top:5px; }
.workspace .ship-map { border:1px solid var(--line); border-radius:12px; margin:10px 0; min-height:330px; }
.workspace .ship-cta { padding:20px 22px; gap:12px; background:var(--surface-2); border-radius:0 0 13px 13px; }
.workspace .ship-cta .btn-primary { min-height:44px; }
.workspace .ship-sample { border-radius:9px; border:1px solid var(--line); padding:14px; background:var(--surface); }
.workspace .ship-sample:hover, .workspace .ship-sample.sel { border-color:var(--brand); background:var(--good-soft); }
.workspace .check-row { padding:16px 0; gap:14px; }
.workspace .check-icon { width:30px; height:30px; padding:3px; }
.workspace .msg-strip { border-radius:9px; padding:14px 18px; }
.workspace .ask-dialog { border-radius:16px; padding:26px; box-shadow:var(--e-2); background:var(--surface); }
.workspace .ask-dialog::backdrop, .workspace-palette::backdrop { background:#10241966; backdrop-filter:blur(3px); }
.workspace .ui-overflow { z-index:5; }
.workspace .ui-overflow > div { border-radius:10px; background:var(--surface); box-shadow:var(--e-2); }
/* The review account says what it is in one line of the top bar; the full
   note opens below it, over the page, not in its flow (#248). */
.demo-note { position:relative; min-width:0; flex:none; }
.demo-note > summary { display:flex; align-items:center; gap:7px; list-style:none; cursor:pointer; white-space:nowrap; padding:5px 10px; border-radius:7px; font-size:12px; color:var(--warn); background:var(--warn-soft); border:1px solid color-mix(in srgb,var(--warn) 28%,transparent); }
.demo-note > summary::-webkit-details-marker { display:none; }
.demo-note > summary::after { content:"▾"; font-size:10px; }
.demo-note[open] > summary::after { content:"▴"; }
.demo-dot { width:6px; height:6px; border-radius:50%; background:var(--warn); flex:none; }
.demo-note .dn-more { color:var(--text-3); }
.demo-note .dn-body { position:absolute; top:calc(100% + 8px); left:0; z-index:60; width:min(460px,calc(100vw - 28px)); background:var(--surface); color:var(--text-2); border:1px solid var(--line); border-radius:12px; box-shadow:var(--e-2); padding:14px 16px; font-size:13px; line-height:1.7; }
.workspace-palette { width:min(620px,calc(100vw - 32px)); padding:22px; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 24px 80px #10241933; }
.palette-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.palette-head h2 { margin:0; font:600 18px var(--sans); letter-spacing:-.4px; }
.workspace #workspace-query { width:100%; min-height:48px; background:var(--bg); margin-bottom:14px; }
.palette-results { max-height:min(55dvh,440px); overflow-y:auto; }
.palette-results > a { display:flex; align-items:center; gap:14px; padding:12px; text-decoration:none; border-radius:8px; color:var(--text); }
.palette-results > a:hover, .palette-results > a:focus { background:var(--good-soft); }
.palette-results svg { width:21px; height:21px; color:var(--brand); flex:none; }
.palette-results a > span:nth-child(2) { flex:1; }
.palette-results strong { display:block; font-size:13px; font-weight:600; }
.palette-results small { display:block; font-size:12px; color:var(--text-3); margin-top:3px; }
.palette-hint { font-size:11px; color:var(--text-3); border-top:1px solid var(--line); padding-top:12px; margin-bottom:0; }
.palette-empty { font-size:13px; color:var(--text-3); padding:15px; }
.workspace main.main-chat { height:calc(100dvh - 72px); }
.workspace .cv-chatpage .cv-app { border:0; background:var(--surface); box-shadow:none; }
.workspace .cv-chatpage { padding:24px; }
.workspace .cv-app .cv-head-title { font-family:var(--sans); }
.workspace #consent-banner { background:var(--surface)!important; color:var(--text-2)!important; border-top:1px solid var(--line); box-shadow:0 -8px 30px #10241910!important; padding:18px 24px!important; }
.workspace #consent-banner strong { color:var(--text)!important; }
.workspace #consent-banner a { color:var(--brand)!important; }
.workspace #consent-banner button { background:var(--surface)!important; color:var(--text)!important; border:1px solid var(--line-strong)!important; border-radius:8px!important; min-height:40px; }
.compliance-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.compliance-summary .stat-card { text-decoration:none; }
.compliance-summary .stat-card:hover { border-color:var(--brand); }
.compliance-summary .compliance-attention { background:var(--warn-soft); border-color:color-mix(in srgb,var(--warn) 22%,var(--line)); }
.compliance-summary .compliance-attention .v { color:var(--warn); }
.compliance-guide, .workspace-insights { border:1px solid var(--line); border-radius:12px; background:var(--surface); margin-bottom:22px; padding:0 20px; }
.compliance-guide > summary, .workspace-insights > summary { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:17px 0; cursor:pointer; list-style:none; font-size:13px; }
.compliance-guide > summary::after, .workspace-insights > summary::after { content:"＋"; margin-left:auto; color:var(--text-3); }
.compliance-guide[open] > summary::after, .workspace-insights[open] > summary::after { content:"−"; }
.compliance-guide > summary span, .workspace-insights > summary span { font-size:12px; color:var(--text-3); }
.compliance-guide svg { width:20px; height:20px; color:var(--brand); }
.compliance-guide ol { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:20px 0; margin:0; list-style:none; border-top:1px solid var(--line); }
.compliance-guide li b { display:block; font-size:13px; color:var(--brand); margin-bottom:8px; }
.compliance-guide li span { font-size:12px; color:var(--text-3); }
.compliance-guide p { font-size:12px; color:var(--text-3); border-top:1px solid var(--line); padding-top:14px; padding-bottom:4px; }
.workspace .shipment-name { font-weight:600!important; font-size:13px; white-space:nowrap; display:inline-block; max-width:min(240px, 100%); overflow:hidden; text-overflow:ellipsis; vertical-align:bottom; }
.shipment-secondary { display:block; font-size:12px; color:var(--text-3); margin-top:5px; }
.shipment-proof { margin-top:5px; font-size:12px; color:var(--text-3); max-width:240px; }
.shipment-proof summary { cursor:pointer; font-size:11px; }
.shipment-proof code, .shipment-proof > span { display:block; white-space:normal; overflow-wrap:anywhere; margin-top:8px; font-size:11px; }
.shipment-proof .shipment-copy { display:inline-flex; gap:6px; align-items:center; margin-top:8px; font-size:12px; }
.shipment-copy svg { width:15px; height:15px; fill:none; stroke-width:1.5; }
.workspace #lots-list > section { border:1px solid var(--line); border-radius:13px; background:var(--surface); margin-bottom:22px; overflow:visible; }
.workspace #lots-list > section > h2 { padding:16px 20px; font:600 14px var(--sans); border-bottom:1px solid var(--line); margin:0; }
.workspace #lots-list .proc-row { padding:18px 20px; margin:0; border-top:1px solid var(--line); }
.workspace #lots-list .proc-row .what > b a { color:var(--text); text-decoration:none; font-size:14px; }
.workspace #lots-list .proc-row .what > b a:hover { color:var(--brand); text-decoration:underline; }
.workspace #lots-list .proc-row + div { padding-left:20px; padding-right:20px; }
.workspace #lots-bar .card { margin-bottom:18px; }
.workspace #lots-links:not(:empty) { margin-bottom:18px; }
.workspace .statement-wizard { scroll-margin-top:90px; overflow:visible; }
.statement-steps { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; margin:0; padding:16px 20px; gap:10px; border-bottom:1px solid var(--line); }
.statement-steps button { display:flex; align-items:center; justify-content:center; gap:10px; padding:12px 8px; width:100%; font:500 13px var(--sans); border:0; border-radius:9px; background:transparent; color:var(--text-3); }
.statement-steps button span { width:25px; height:25px; border:1px solid var(--line-strong); border-radius:50%; display:grid; place-items:center; font-size:12px; }
.statement-steps button[aria-current=step] { background:var(--good-soft); color:var(--brand); font-weight:600; }
.statement-steps button[aria-current=step] span { background:var(--brand); border-color:var(--brand); color:var(--on-brand); }
.statement-panel-intro { padding:26px 28px 4px; }
.statement-panel-intro > span { font-size:12px; color:var(--brand); font-weight:500; }
.statement-panel-intro h2 { font-size:23px; font-weight:600; letter-spacing:-.6px; margin:8px 0; }
.statement-panel-intro p { color:var(--text-3); font-size:13px; max-width:680px; margin:0 0 16px; }
.workspace .statement-panel > .ship-fs { border:0; padding:8px 28px 22px; }
.workspace .statement-panel > fieldset.ship-fs > legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.workspace .statement-panel #ns-from-farm { margin:0 28px 20px; background:var(--bg); }
.statement-samples { border-top:1px solid var(--line); margin:0 28px 20px; }
.statement-samples > summary, .statement-importer > summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; padding:15px 0; color:var(--text-2); font-size:13px; font-weight:500; }
.statement-samples > .card { box-shadow:none; margin-bottom:0; }
.statement-samples .ship-grid { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.statement-samples .card-head { display:none; }
.statement-navigation { padding:18px 28px; display:flex; align-items:center; gap:12px; border-top:1px solid var(--line); }
.statement-navigation > span { margin-right:auto; font-size:12px; color:var(--text-3); }
.statement-navigation .btn-primary { min-width:140px; }
.statement-review { margin:0 28px 24px; }
.statement-review dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.statement-review dl > div { display:grid; grid-template-columns:1fr auto; gap:5px 12px; border-bottom:1px solid var(--line); padding:16px 0; }
.statement-review dt { color:var(--text-3); font-size:12px; }
.statement-review dd { margin:0; font-size:14px; font-weight:500; grid-column:1; overflow-wrap:anywhere; }
.statement-review .btn { grid-column:2; grid-row:1 / 3; align-self:center; min-height:30px; padding:6px 10px; }
.statement-missing { color:var(--warn); }
.statement-importer, .statement-panel > details.ship-fs { margin:0 28px 18px!important; border:1px solid var(--line)!important; border-radius:9px; padding:0 16px!important; }
.workspace .statement-panel > details.ship-fs > summary { font:500 13px/1.5 var(--sans)!important; color:var(--text-2)!important; padding:16px 0!important; }
.workspace .statement-importer .ship-fs { padding:12px 0; }
.statement-scope { margin:0 28px 24px; padding:15px 16px; border-radius:8px; color:var(--info); background:var(--info-soft); font-size:12px; line-height:1.7; }
.workspace .statement-panel .ship-cta { border-radius:0; }
.statement-certificate { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:16px; border:1px solid var(--line); border-radius:9px; background:var(--bg); margin-bottom:14px; }
.statement-certificate input { display:block; width:100%; }
.statement-certificate button { justify-self:start; }
.statement-cert-advanced { font-size:12px; margin-top:18px; }
.statement-cert-advanced summary { cursor:pointer; color:var(--text-3); }
.workspace .ship-error-link { border:0; background:transparent; padding:0; color:inherit; text-decoration:underline; font:inherit; }
.workspace :is(.org .label, #nav .group, .nav-assistant-label, aside .footer a, aside .footer #signed-as, .tag, thead th, .ui-facet .k, .shipment-proof summary, .shipment-proof code, .shipment-proof > span, .palette-hint) { font-size:12px!important; }
@media (min-width:1600px) { .workspace main { padding-top:40px; } }
/* On a laptop-height window the menu, help box and footer ran 901px into
   an 828px column, so "Sign out" sat below the fold. The help box is the
   part that can go; the guide stays reachable from Home and the palette. */
@media (max-height:980px) { .workspace-help { display:none; } }
@media (max-width:1200px) {
  .compliance-summary { gap:10px; }
  .workspace .topbar { gap:14px; padding:0 22px; }
  .workspace .tb-brand { min-width:208px; }
  .workspace .tb-chip { display:none; }
  .workspace main { padding:28px; }
  .workspace-area { display:none; }
  .workspace .workspace-subnav { padding:0 20px; }
}
@media (max-width:900px) {
  .workspace .topbar { height:64px; min-height:64px; gap:14px; padding:0 18px; flex-wrap:nowrap; }
  .workspace .tb-brand { min-width:0; flex:none; font-size:22px; white-space:nowrap; }
  .workspace .tb-section { display:none; }
  .workspace .tb-menu { display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); }
  .workspace-search { width:230px; }
  .workspace .shell { grid-template-columns:minmax(0,1fr); background:none; }
  .workspace .shell > aside { display:none; position:fixed; z-index:45; top:64px; left:0; bottom:0; width:270px; height:calc(100dvh - 64px); box-shadow:20px 0 50px #10241933; overflow:auto; }
  .workspace .shell > aside.open { display:flex; }
  .workspace main { padding:26px 24px 64px; }
  .workspace .workspace-subnav { min-height:54px; padding:0 16px; }
  .workspace .workspace-subnav a { min-height:54px; padding:15px 11px; }
  .workspace main.main-chat { height:calc(100dvh - 64px); }
}
@media (max-width:600px) {
  .workspace { --ctl-h:44px; }
  .workspace .topbar { padding:0 12px; gap:9px; }
  .workspace .tb-brand { gap:7px; font-size:20px; }
  .workspace .brand-domain, .workspace-avatar { display:none; }
  /* With the review-account pill in the bar there is no room for the
     wordmark beside the mark; the pill says which account this is. */
  .workspace .topbar:has(.demo-note) .tb-brand > span:not(.brand-mark) { display:none; }
  .workspace .tb-menu { width:44px; height:44px; flex:none; }
  .brand-mark { width:28px; height:28px; border-radius:8px; }
  .brand-mark svg { width:20px; height:20px; }
  .workspace-search { justify-content:center; padding:8px; width:44px; height:44px; flex:none; }
  .workspace-search span, .workspace-search kbd { display:none; }
  .workspace .tb-theme { padding:6px; font-size:12px; min-height:44px; }
  .workspace-avatar { width:30px; height:30px; }
  .workspace main { padding:24px 16px 48px; }
  .workspace .page-head { margin-bottom:22px; gap:16px; }
  .workspace .page-head h1 { font-size:25px; letter-spacing:-.8px; }
  .workspace .page-head .sub { font-size:12px; }
  .workspace .page-head .head-actions { margin-left:0; width:100%; }
  .workspace .page-head .btn-primary { min-height:42px; }
  .workspace :is(input,select,textarea) { font-size:16px!important; }
  .workspace :is(.btn,.btn-primary,.btn-danger) { min-height:44px; }
  /* Map zoom buttons: Leaflet's touch size is 30 px. */
  .workspace .leaflet-touch .leaflet-bar a { width:44px; height:44px; line-height:44px; }
  .compliance-summary { grid-template-columns:1fr 1fr; }
  .compliance-guide ol { grid-template-columns:1fr 1fr; }
  .compliance-guide > summary > span { display:none; }
  .statement-steps { padding:12px; gap:4px; }
  .statement-steps button { flex-direction:column; gap:6px; font-size:12px; padding:10px 4px; }
  .statement-panel-intro { padding:20px 18px 4px; }
  .statement-panel-intro h2 { font-size:21px; }
  .workspace .statement-panel > .ship-fs { padding:8px 18px 20px; }
  .workspace .statement-panel #ns-from-farm { margin:0 18px 20px; }
  .statement-samples, .statement-review { margin-left:18px; margin-right:18px; }
  .statement-importer, .statement-panel > details.ship-fs { margin-left:18px!important; margin-right:18px!important; }
  .statement-review dl { grid-template-columns:1fr; }
  .statement-scope { margin-left:18px; margin-right:18px; }
  .statement-navigation { padding:16px 18px; flex-wrap:wrap; }
  .statement-navigation .btn-primary { min-width:100px; }
  .statement-certificate { grid-template-columns:1fr; }
  .workspace .card-head, .workspace .card-body { padding:16px; }
  .workspace .card-head .muted { margin-left:0; }
  .workspace .stat-grid { gap:10px; }
  .workspace .stat-card { padding:16px; }
  .workspace .stat-card .v { font-size:25px; }
  .workspace table.ui-table, .workspace table.ui-table tbody, .workspace table.ui-table tr { display:block; width:100%; }
  .workspace table.ui-table tr { border:0; border-bottom:1px solid var(--line); padding:10px 0; border-radius:0; margin:0; }
  .workspace table.ui-table td { padding:7px 16px; border:0; font-size:13px; }
  .workspace .filter-bar { padding:14px; }
  .workspace .filter-bar input[type=search] { min-width:100%; }
  .workspace .ship-fs { padding:16px; }
  .workspace .ship-fs .kv { grid-template-columns:1fr!important; }
  .workspace .ship-cta { padding:16px; }
  .workspace .ship-map { min-height:280px; }
  .workspace .ship-map-toolbar { flex-wrap:wrap; gap:10px; }
  .workspace .ship-map-toolbar > span:first-child { flex:1 1 100%; }
  .workspace .ship-map-toolbar > span:empty { display:none; }
  .workspace .ship-map-toolbar #ns-plot-count { margin-left:0!important; flex:1; }
  .workspace .date-range > div { display:grid!important; grid-template-columns:1fr 1fr; }
  .workspace .date-range label { min-width:0; }
  .workspace .date-range input { min-width:0; width:100%; }
  .workspace .proc-row { flex-wrap:wrap; gap:10px; }
  .workspace .proc-row .what { min-width:min(180px, 100%); }
  .demo-note > summary { padding:5px 8px; font-size:11px; }
  .demo-note .dn-more { display:none; }
  .demo-note .dn-body { position:fixed; top:64px; left:12px; right:12px; width:auto; }
  .workspace-help { margin-top:20px; }
  .workspace-palette { padding:18px; }
  .palette-head h2 { font-size:16px; }
  .workspace .cv-chatpage { padding:0; }
  .workspace .ui-facets { gap:14px; padding:16px; }
}
@media print {
  .workspace .topbar, .workspace .shell > aside, .workspace-subnav, .demo-note, .workspace-palette { display:none!important; }
  .workspace .shell { display:block; background:#fff; }
  .workspace main { padding:0; max-width:none; }
}
/* Statement records: working decisions first, evidence still one click away. */
.workspace .statement-disclosure { margin: 16px 0; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); overflow: clip; }
.workspace .statement-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; cursor: pointer; list-style: none; }
.workspace .statement-disclosure > summary::-webkit-details-marker { display: none; }
.workspace .statement-disclosure > summary strong { display: block; font-size: 15px; font-weight: 650; }
.workspace .statement-disclosure > summary small { display: block; margin-top: 4px; font-size: 12px; color: var(--text-3); }
.workspace .statement-disclosure-caret { font-size: 20px; color: var(--text-3); transition: transform .15s; }
.workspace .statement-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.workspace .statement-disclosure[open] .statement-disclosure-caret { transform: rotate(45deg); }
.workspace .statement-disclosure > .card { margin: 0 !important; border: 0; border-radius: 0 !important; box-shadow: none; }
.workspace .statement-disclosure .card-head > h2,
.workspace .statement-disclosure .card-head > h3 { font-size: 13px; color: var(--text-3); }
.workspace main[data-page="ship-detail"] > .verdict { border-radius: 16px; box-shadow: none; }
.workspace main[data-page="ship-detail"] .st-progress { margin: 18px 0; }
.workspace main[data-page="ship-detail"] .anchor-bar { flex-wrap: wrap; }
/* Detail a reader asks for once (keys, file formats): one click away, never a column. */
.workspace .statement-inspector { margin-top: 12px; font-size: 13px; }
.workspace .statement-inspector > summary { cursor: pointer; color: var(--text-3); }
.workspace .statement-inspector dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 16px; margin: 10px 0 0; }
.workspace .statement-inspector dt { font-weight: 600; }
.workspace .statement-inspector dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .workspace .statement-disclosure > summary { padding: 16px; }
  .workspace .statement-inspector dl { grid-template-columns: minmax(0, 1fr); }
  .workspace .statement-inspector dd { margin-bottom: 6px; }
}

/* Credits & billing: one hero figure, a same-ramp meter, then the ledger. */
.wallet-balance { display:flex; gap:32px; flex-wrap:wrap; align-items:flex-start; }
.wallet-hero { flex:1 1 260px; display:grid; gap:6px; }
.wallet-hero-value { font:600 48px/1.05 var(--sans); letter-spacing:-2px; font-variant-numeric:tabular-nums; }
.wallet-hero-label { font-size:12px; color:var(--text-3); }
.wallet-hero .viz-meter { margin-top:10px; max-width:380px; }
.wallet-hero .viz-meter-track { height:8px; border-radius:4px; }
.request-meter { display:inline-flex; vertical-align:middle; margin:0 4px; }
.request-meter .viz-meter-track { flex:0 0 120px; }
.audit-charts { grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); border-bottom:1px solid var(--line); }
.workspace .audit-charts > .viz { border:0; background:transparent; padding:4px 0; }
@media (max-width:700px) { .audit-charts { grid-template-columns:1fr; } }
.wallet-side { flex:0 1 240px; padding-left:28px; border-left:1px solid var(--line); }
.wallet-side-value { font:600 30px/1.1 var(--sans); letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.wallet-low { color:var(--bad); }
.wallet-in { color:var(--good-text); }
.wallet-side-label { font-size:12px; color:var(--text-3); margin-top:4px; }
.workspace .wallet-charts { grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); border-top:1px solid var(--line); }
.workspace .wallet-charts > .viz { border:0; padding:4px 0; background:transparent; }
/* Lots and statements at a glance, drawn from the rows on the page. */
.procurement-charts { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); margin-bottom:22px; }
.compliance-charts { grid-template-columns:minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); margin-bottom:22px; }
@media (max-width:1100px) { .compliance-charts { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:700px) { .procurement-charts, .compliance-charts, .workspace .wallet-charts { grid-template-columns:1fr; } .wallet-side { padding-left:0; border-left:0; } }
.decision-charts { grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); margin-bottom:20px; }
@media (max-width:700px) { .decision-charts { grid-template-columns:1fr; } }
