/* Whole-product additions; ListingLab tokens and seed primitives remain canonical. */
body { color:var(--fg); }
.meta,.lead,.field label,.sample-label,.footnote,.breadcrumb,.ds-table th { color:color-mix(in oklch,var(--muted) 87%,var(--fg)); }
.btn:active:not(:disabled) { transform:translateY(1px); }
.sidebar { overflow-y:auto;gap:24px; }
.brand img { filter:brightness(0) invert(1); }
.page-header { padding-block:32px 24px; }
h1 { font-size:28px; }
h2 { font-size:20px; }
.main-split {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px;align-items:start;}
.panel-head {display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border);}
.panel-head p {margin:4px 0 0;}
.form-stack {display:grid;gap:20px;}
.form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.action-row {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;}
.subnav {margin-bottom:24px;flex-wrap:wrap;}
.source-row,.list-row {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--border);}
.source-row:last-child,.list-row:last-child {border-bottom:0;}
.source-row>div,.list-row>div,.row>div {min-width:0;overflow-wrap:anywhere;}
.source-row p,.list-row p {margin:5px 0 0;}
.row-actions {display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.check-list {list-style:none;padding:0;margin:0;}
.check-list li {display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);}
.check-list li:last-child {border:0;}
.check-list p {margin:4px 0 0;}
.status-glyph {font-family:var(--font-mono);display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--bg);color:var(--muted);}
.status-glyph.clear {color:var(--success);background:color-mix(in oklch,var(--success) 7%,var(--surface));}
.status-glyph.blocked {color:var(--danger);background:color-mix(in oklch,var(--danger) 6%,var(--surface));}
.upload-zone {padding:32px 20px;border:1px dashed var(--muted);border-radius:var(--radius);background:var(--bg);text-align:center;}
.upload-zone input {max-width:100%;font:inherit;min-height:44px;}
.upload-zone h3 {font-size:20px;margin-bottom:8px;}
.field input[type=file] {max-width:100%;}
fieldset {min-width:0;margin:0;padding:16px;border:1px solid var(--border);border-radius:var(--radius);}
fieldset>label {display:flex;align-items:center;gap:10px;min-height:44px;}
fieldset legend {padding-inline:8px;}
:where(a,button,input,textarea,select,summary):focus-visible {box-shadow:var(--focus-ring);}
#source-status,#job-label {overflow-wrap:anywhere;}
body[data-screen=verify-maps] .pin.subject {background:var(--accent);color:var(--navy);border-color:var(--navy);}
.progress-track,progress {width:100%;height:8px;accent-color:var(--navy);}
.inline-error {color:var(--danger);font-size:14px;}
.capability {font-size:12px;color:var(--muted);line-height:1.65;}
.option-card {display:flex;align-items:flex-start;gap:12px;min-height:72px;padding:16px;border:1px solid var(--border);border-radius:8px;cursor:pointer;}
.option-card:has(input:checked) {border-color:var(--navy);background:var(--bg);}
.option-card input {margin-top:4px;accent-color:var(--navy);}
.option-card span {display:block;}
.option-card small {display:block;color:var(--muted);margin-top:4px;}
.table-scroll {max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.table-scroll .ds-table {min-width:600px;}
.template-sheet {border:1px solid var(--border);background:var(--surface);padding:24px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;color:var(--navy);}
.template-sheet .cover-title {font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.2;}
.template-sheet .cover-rule {height:5px;background:var(--navy);width:48px;margin:20px 0;}
.screen-status {margin-bottom:20px;}
.details-grid {display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1fr);gap:12px 20px;font-size:14px;}
.details-grid dt {color:var(--muted);}
.details-grid dd {margin:0;overflow-wrap:anywhere;}
@media(max-width:1100px) {.main-split {grid-template-columns:minmax(0,1fr);} }
@media(max-width:639px) {
  .form-grid {grid-template-columns:1fr;}.card{padding:20px;}.panel-head,.source-row,.list-row{flex-wrap:wrap;}.row-actions{width:100%;}.sample-label{max-width:120px;}.source-row .btn{flex:1;}.tabs{gap:16px;}.table-scroll .ds-table,.table-scroll .ds-table tbody{display:table;width:100%;}.table-scroll .ds-table tbody{display:table-row-group;}.table-scroll .ds-table thead{position:static;display:table-header-group;width:auto;height:auto;clip-path:none;overflow:visible;}.table-scroll .ds-table tr{display:table-row;}.table-scroll .ds-table td,.table-scroll .ds-table td:nth-child(3){display:table-cell;padding:16px;border-bottom:1px solid var(--border);}.table-scroll .ds-table th{padding:16px;} .page-header-actions{flex-shrink:1;} .page-header-actions .btn {white-space:normal;} .topnav-inner>.row{gap:8px;} .main-split{gap:20px;}
}
/* Whole-product polish: shared chrome, legible controls, and bounded workspaces.
 * Brand values remain in listinglab.css; document theme and workflow state stay separate. */
h2 { color:var(--navy); }
.meta,.badge,.field label,.sample-label,.breadcrumb,.footnote,.table-foot,.ds-table th,.capability {
  font-size:13px;letter-spacing:.01em;
}
.lead { max-width:65ch; }
.page-header { align-items:flex-start;flex-wrap:wrap;gap:20px; }
.page-header>div:first-child { flex:1 1 300px; }
.page-header-actions { flex-shrink:1;flex-wrap:wrap;max-width:100%; }
.page-header-actions:empty { display:none; }
.page-header h1 { overflow-wrap:anywhere;letter-spacing:-.02em; }
.page-header .eyebrow { margin-bottom:8px; }
.topnav-inner>.row,.breadcrumb,.top-actions { min-width:0; }
.topnav-inner>.row { flex:1; }
.breadcrumb a { display:inline-flex;align-items:center;min-height:44px; }
.breadcrumb strong,.eyebrow { overflow-wrap:anywhere; }
.topnav-inner>.sample-label { max-width:188px; }
.nav-link { transition:background 150ms cubic-bezier(.23,1,.32,1),color 150ms cubic-bezier(.23,1,.32,1); }
.nav-link[aria-current=step] { color:var(--surface);background:color-mix(in oklch,var(--surface) 11%,var(--navy));font-weight:600; }
.nav-link[aria-current] .step-number { background:var(--surface);color:var(--navy);border-color:var(--surface); }
.nav-link:active { background:color-mix(in oklch,var(--surface) 20%,var(--navy)); }
.tabs { flex-wrap:wrap;column-gap:24px;row-gap:0; }
.tab { font-size:14px; }
.btn { min-width:44px;max-width:100%;text-align:center;letter-spacing:.01em; }
.btn-secondary:active:not(:disabled),.btn-ghost:active:not(:disabled) { background:var(--border); }
.btn-secondary[aria-pressed=true] { background:var(--navy);color:var(--surface);border-color:var(--navy); }
.btn:disabled { opacity:1;background:var(--bg);color:var(--muted);border-color:var(--border);box-shadow:none;transform:none; }
.input,.textarea,select { border-color:color-mix(in oklch,var(--muted) 75%,var(--border)); }
.input::placeholder,.textarea::placeholder { color:var(--muted);opacity:1; }
.input:hover:not(:disabled),.textarea:hover:not(:disabled),select:hover:not(:disabled) { border-color:var(--muted); }
.input[aria-invalid=true],.textarea[aria-invalid=true] { border-color:var(--danger); }
.input:disabled,.textarea:disabled,select:disabled { color:var(--muted);background:var(--bg);cursor:not-allowed; }
.input[readonly],.textarea[readonly] { background:var(--bg); }
.field label { color:var(--fg);font-weight:500; }
.field>p { margin:0; }
:is(.input,.textarea,select):focus-visible { border-color:var(--navy); }
.panel-head { align-items:flex-start;flex-wrap:wrap;gap:16px; }
.panel-head>div { flex:1 1 200px;min-width:0; }
.panel-head>.btn { flex-shrink:0; }
.main-split>*,.form-grid>*,.editor>*,.proof-layout>*,.settings-layout>* { min-width:0; }
.notice { font-size:14px;line-height:1.6;flex-wrap:wrap; }
.notice>span { flex:1 1 240px;min-width:0;overflow-wrap:anywhere; }
.notice .btn { flex-shrink:0; }
.source-row,.list-row { flex-wrap:wrap; }
.source-row>div:first-child,.list-row>div:first-child { flex:1 1 220px; }
.row-actions { flex-shrink:0; }
.check-list li>div { min-width:0; }
.status-glyph { flex-shrink:0; }
a.touch-link:not(.property-name) { text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px; }
a.touch-link:not(.property-name):hover { color:var(--navy);text-decoration-thickness:2px; }
.empty { padding:32px 24px; }
.empty h2,.empty h3 { color:var(--navy); }
.empty p { max-width:52ch;margin:8px auto 20px; }
.empty .btn { margin-top:4px; }
.upload-label { display:block;font-weight:500;margin:20px 0 8px; }
.upload-zone input[type=file] { display:block;width:100%;background:var(--surface); }
input[type=file]::file-selector-button { font:inherit;padding:8px 12px;min-height:44px;margin-right:12px;border:1px solid var(--muted);border-radius:var(--radius);color:var(--navy);background:var(--bg);cursor:pointer; }
input[type=file]:disabled::file-selector-button { cursor:not-allowed;color:var(--muted); }
.upload-zone .capability { margin-bottom:0; }
.inline-error:empty { display:none; }
.inspector .field label,.inspector .textarea,.inspector p { font-size:14px; }
.compose-layout .page-rail { background:var(--bg); }
.page-rail .rail-title h2,.inspector>h2 { font-size:16px;letter-spacing:0; }
.page-item button { font-size:13px; }
.page-item.active { border-color:var(--navy);background:var(--surface); }
.page-item.active .page-no { background:var(--navy);border-color:var(--navy);color:var(--surface); }
.page-item.active button { color:var(--navy);font-weight:600; }
.page-item .meta { font-size:12px; }
.canvas-toolbar { flex-wrap:wrap; }
.paper .doc-running,.paper .doc-footer { letter-spacing:.06em; }
.proof-rail #page-nav { gap:6px;scrollbar-gutter:stable;padding:4px; }
.proof-rail #page-nav .btn { justify-content:flex-start;text-align:left;font-size:13px; }
.proof-rail .action-row .btn { width:100%; }
.proof-page .row-between { flex-wrap:wrap; }
#job-label { font-size:14px; }
#progress { display:block;margin-top:16px; }
.toast { width:max-content;font-size:14px;overflow-wrap:anywhere; }
dialog { overflow-y:auto;overscroll-behavior:contain; }
dialog header { align-items:flex-start; }
dialog header>h2 { flex:1;min-width:0; }
dialog header>.btn { flex-shrink:0; }
dialog footer { flex-wrap:wrap; }
@media(min-width:640px) and (max-width:1100px) {
  .compose-layout { grid-template-columns:168px minmax(0,1fr); }
  .canvas-area { padding:16px; }
  .paper { padding:24px; }
}
@media(max-width:639px) {
  .page-header { padding-block:24px 20px; }
  .page-header-actions { gap:8px; }
  .topnav-inner { align-items:center; }
  .topnav-inner>.sample-label { max-width:104px;font-size:12px; }
  .breadcrumb { font-size:12px; }
  .tabs { column-gap:16px; }
  .tab { white-space:normal;text-align:left; }
  .input,.textarea,select,.inspector .textarea { font-size:16px; }
  .panel-head>.btn { width:100%; }
  .notice { padding:16px; }
  .notice>.btn { width:100%; }
  .table-shell .ds-table td:nth-child(3) { display:block;grid-column:1/-1;grid-row:3;color:var(--muted);font-size:13px; }
  .table-shell .ds-table td:nth-child(3)::before { content:'Stage · '; }
  .table-shell .stage-line { display:inline-flex;margin:0 0 0 8px;vertical-align:middle; }
  .table-shell .badge { white-space:normal; }
  .table-shell .ds-table tr { grid-template-columns:minmax(0,1fr) auto; }
  .table-shell .property { align-items:flex-start; }
  .table-shell .property-name { min-height:44px; }
  .filterbar .result-count { width:100%;margin:0; }
  .action-row>.btn { flex:1 1 140px; }
  .details-grid { grid-template-columns:minmax(88px,.7fr) minmax(0,1fr);gap:12px; }
  .empty { padding:28px 20px; }
  dialog { padding:20px; }
  .toast { bottom:16px; }
}
@media(prefers-reduced-motion:reduce){.btn:active:not(:disabled){transform:none;}}
