/* Steam Dossier — dispute procedure and corrections log. Scoped to .dsp; uses casework tokens. */
.dsp {
  --d-surface: var(--cw-surface, #131e2a);
  --d-raised: var(--cw-raised, #192634);
  --d-line: var(--cw-line, #2c3d4e);
  --d-dim: var(--cw-dim, #7f93a8);
  --d-ink: #e8eef4;
  --d-input:#0b131d; --d-control:#3a4f63; --d-on-red:#12080a;
  --d-muted: #b4c2cf;
  --d-red: var(--cw-red, #ed6c73);
  --d-cyan: var(--cw-cyan, #8bc3cf);
  --d-green: var(--cw-green, #8dc0ab);
  --d-amber: var(--cw-amber, #d9b886);
  --d-mono: 'JetBrains Mono', Consolas, monospace;
  --d-content-max: clamp(720px, 90vw, 1400px);
  --d-gap: clamp(1rem, 2vw, 2rem);
  max-width: min(100%, var(--d-content-max));
  margin: 0 auto;
  padding: 2.5rem clamp(1rem, 4vw, 3rem) 4rem;
  color: var(--d-ink);
  font-size: 1.0625rem;
  line-height: 1.7;
}
.dsp a { color: var(--d-cyan); text-underline-offset: .2em; }
.dsp a:hover { color: var(--d-cyan); }
.dsp :focus-visible { outline: 2px solid var(--d-cyan); outline-offset: 2px; }
.dsp-skip { position: absolute; left: -999px; top: 0; z-index: 100; background: #fff; color: #000; padding: .5rem 1rem; }
.dsp-skip:focus { left: 1rem; top: 1rem; }

.dsp-eyebrow, .dsp-kicker, .dsp-preview-k, .dsp-label, .dsp-clock-lbl, .dsp-clock-ref, .dsp-badge, .dsp-pv dt, .dsp-table th[scope="col"] {
  font-family: var(--d-mono);
  text-transform: uppercase;
  letter-spacing: .12em;
}
.dsp-eyebrow { font-size: .72rem; color: var(--d-dim); margin: 0 0 .75rem; }
.dsp-eyebrow b { color: var(--d-ink); font-weight: 600; }
.dsp-h1 { font-size: clamp(2.4rem, 5.5vw, 4.25rem); line-height: 1.04; letter-spacing: -.02em; margin: 0; font-weight: 700; }
.dsp-dek { font-size: clamp(1.15rem, 2.2vw, 1.5rem); color: var(--d-red); margin: .9rem 0 1.1rem; font-weight: 600; letter-spacing: -.005em; }
.dsp-lede { max-width: 46rem; color: var(--d-muted); font-size: 1.125rem; margin: 0 0 2rem; }

.dsp-clocks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  border: 1px solid rgba(237, 108, 115, .55);
  border-radius: 14px;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(237, 108, 115, .07), rgba(237, 108, 115, .02));
  margin-bottom: 3rem;
}
.dsp-clock { display: flex; flex-direction: column; gap: .3rem; padding: .9rem 1rem; border: 1px solid var(--d-line); border-radius: 10px; background: color-mix(in srgb, var(--d-input) 85%, transparent); }
.dsp-clock-val { font-family: var(--d-mono); font-size: 1.9rem; font-weight: 700; line-height: 1.1; color: var(--d-ink); }
.dsp-clock.is-red .dsp-clock-val { color: var(--d-red); }
.dsp-clock-lbl { font-size: .68rem; color: var(--d-muted); line-height: 1.45; }
.dsp-clock-ref { font-size: .62rem; color: var(--d-dim); margin-top: auto; }
.dsp-chain { grid-column: 1 / -1; margin: .25rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; font-family: var(--d-mono); font-size: .74rem; color: var(--d-muted); }
.dsp-chain a { margin-left: auto; }
.dsp-chain-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--d-dim); flex: none; }
[data-chain-status="ok"] .dsp-chain-dot { background: var(--d-green); box-shadow: 0 0 0 4px rgba(141, 192, 171, .18); }
[data-chain-status="broken"] .dsp-chain-dot, [data-chain-status="error"] .dsp-chain-dot { background: var(--d-red); }

.dsp-section { margin: 0 0 3.25rem; max-width: 52rem; }
.dsp-form-section { max-width: none; }
.dsp-kicker { font-size: .7rem; color: var(--d-red); margin: 0 0 .35rem; }
.dsp-section h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.2; margin: 0 0 1rem; letter-spacing: -.01em; }
.dsp-section p { margin: 0 0 1rem; color: var(--d-muted); }
.dsp-section p strong, .dsp-section p b { color: var(--d-ink); }
.dsp-callout { border-left: 3px solid var(--d-red); padding: .25rem 0 .25rem 1rem; color: var(--d-ink) !important; font-weight: 500; }
.dsp-triad { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-family: var(--d-mono); font-size: .95rem; text-transform: uppercase; letter-spacing: .08em; color: var(--d-ink) !important; }
.dsp-triad span::before { content: '■ '; color: var(--d-red); }
.dsp-note { font-size: .92rem; color: var(--d-dim) !important; border: 1px dashed var(--d-line); border-radius: 8px; padding: .7rem .9rem; }
.dsp-fn { font-size: .85rem; color: var(--d-dim) !important; }

.dsp-table-wrap { overflow-x: auto; border: 1px solid var(--d-line); border-radius: 12px; margin: 0 0 .75rem; background: var(--d-surface); }
.dsp-table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 40rem; }
.dsp-table th, .dsp-table td { text-align: left; vertical-align: top; padding: .8rem 1rem; border-bottom: 1px solid var(--d-line); }
.dsp-table tbody tr:last-child > * { border-bottom: 0; }
.dsp-table th[scope="col"] { font-size: .66rem; color: var(--d-dim); font-weight: 600; background: color-mix(in srgb, var(--d-input) 75%, transparent); }
.dsp-table th[scope="row"] { color: var(--d-ink); font-weight: 600; width: 26%; }
.dsp-table th[scope="row"] small { display: block; font-weight: 400; color: var(--d-dim); font-size: .82rem; margin-top: .2rem; }
.dsp-table td { color: var(--d-muted); }
.dsp-t-clock { font-family: var(--d-mono); font-weight: 700; white-space: nowrap; color: var(--d-ink) !important; }
.dsp-t-clock.is-red { color: var(--d-red) !important; }
.dsp-table sup a { text-decoration: none; }

.dsp-defs { margin: 0 0 1.25rem; display: grid; gap: .75rem; }
.dsp-defs > div { border: 1px solid var(--d-line); border-radius: 10px; padding: .9rem 1.1rem; background: var(--d-surface); }
.dsp-defs dt { color: var(--d-ink); font-weight: 600; margin-bottom: .3rem; }
.dsp-defs dd { margin: 0; color: var(--d-muted); }
.dsp-defs.is-tight > div { padding: .7rem .9rem; }

.dsp-matrix { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 0 0 1rem; }
.dsp-matrix-col { border: 1px solid var(--d-line); border-radius: 12px; padding: 1rem 1.1rem; background: var(--d-surface); }
.dsp-matrix h3 { font-family: var(--d-mono); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; color: var(--d-cyan); margin: 0 0 .7rem; }
.dsp-matrix ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; font-size: .92rem; color: var(--d-muted); }
.dsp-matrix li b { color: var(--d-ink); }
.dsp-matrix em { color: var(--d-red); font-style: normal; font-weight: 600; }

.dsp-steps { list-style: none; counter-reset: step; margin: 0 0 1rem; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.dsp-steps li { counter-increment: step; border: 1px solid var(--d-line); border-radius: 12px; padding: 1rem 1.1rem; background: var(--d-surface); display: flex; flex-direction: column; gap: .35rem; }
.dsp-steps li::before { content: counter(step, decimal-leading-zero) ' · AUTO'; font-family: var(--d-mono); font-size: .62rem; letter-spacing: .14em; color: var(--d-green); }
.dsp-steps b { color: var(--d-ink); }
.dsp-steps span { font-size: .9rem; color: var(--d-muted); line-height: 1.55; }

/* ---------- form ---------- */
.dsp-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: 1.5rem; align-items: start; }
.dsp-fs { border: 1px solid var(--d-line); border-radius: 14px; padding: 1.1rem 1.25rem 1.25rem; margin: 0 0 1rem; background: var(--d-surface); min-width: 0; }
.dsp-fs legend { font-weight: 700; font-size: 1.05rem; padding: 0 .4rem; color: var(--d-ink); display: flex; align-items: center; gap: .55rem; }
.dsp-step { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid var(--d-red); color: var(--d-red); font-family: var(--d-mono); font-size: .8rem; }
.dsp-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .5rem; }
.dsp-cards.is-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.dsp-card { position: relative; display: block; cursor: pointer; }
.dsp-card[hidden] { display: none; }
.dsp-card input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.dsp-card-body { display: flex; flex-direction: column; gap: .35rem; height: 100%; border: 1px solid var(--d-line); border-radius: 10px; padding: .8rem .9rem; background: color-mix(in srgb, var(--d-input) 75%, transparent); transition: border-color .15s, background-color .15s; }
.dsp-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem; }
.dsp-card b { color: var(--d-ink); line-height: 1.35; }
.dsp-card-text { font-size: .86rem; color: var(--d-dim); line-height: 1.5; }
.dsp-card:hover .dsp-card-body { border-color: #46607a; }
.dsp-card input:checked + .dsp-card-body { border-color: var(--d-red); background: rgba(237, 108, 115, .08); box-shadow: inset 0 0 0 1px var(--d-red); }
.dsp-card input:focus-visible + .dsp-card-body { outline: 2px solid var(--d-cyan); outline-offset: 2px; }
.dsp-card input:disabled + .dsp-card-body { opacity: .4; cursor: not-allowed; }
.dsp-badge { flex: none; font-size: .6rem; padding: .2rem .45rem; border-radius: 999px; border: 1px solid var(--d-line); color: var(--d-muted); white-space: nowrap; }
.dsp-badge.is-red { border-color: rgba(237, 108, 115, .6); color: var(--d-red); }
.dsp-badge.is-green { border-color: rgba(141, 192, 171, .6); color: var(--d-green); }

.dsp-field { display: flex; flex-direction: column; gap: .35rem; margin: 0 0 1rem; min-width: 0; }
.dsp-field[hidden], .dsp-sub[hidden], .dsp-check[hidden] { display: none; }
.dsp-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.dsp-field label, .dsp-label { font-size: .9rem; font-weight: 600; color: var(--d-ink); }
.dsp-label { display: block; font-size: .68rem; color: var(--d-dim); font-weight: 600; margin: .25rem 0 .1rem; }
.dsp-opt { font-family: var(--d-mono); font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; color: var(--d-dim); font-weight: 400; margin-left: .35rem; }
.dsp-opt[hidden] { display: none; }
.dsp input[type="text"], .dsp input[type="email"], .dsp input[type="date"], .dsp input[type="password"], .dsp select, .dsp textarea {
  width: 100%;
  background: var(--d-input);
  color: var(--d-ink);
  border: 1px solid var(--d-control);
  border-radius: 8px;
  padding: .6rem .75rem;
  font: inherit;
  font-size: .97rem;
  line-height: 1.5;
}
.dsp textarea { resize: vertical; min-height: 4.5rem; }
.dsp input[type="date"] { color-scheme: inherit; }
.dsp select { color-scheme: inherit; }
.dsp input:focus, .dsp select:focus, .dsp textarea:focus { border-color: var(--d-cyan); outline: none; box-shadow: 0 0 0 3px rgba(139, 195, 207, .18); }
.dsp [aria-invalid="true"] { border-color: var(--d-red) !important; }
.dsp input[type="file"] { color: var(--d-muted); font-size: .9rem; }
.dsp input[type="file"]::file-selector-button { font: inherit; font-size: .85rem; margin-right: .8rem; padding: .5rem .9rem; border-radius: 8px; border: 1px solid var(--d-control); background: var(--d-raised); color: var(--d-ink); cursor: pointer; }
.dsp-hint { font-size: .82rem !important; color: var(--d-dim) !important; margin: 0 !important; line-height: 1.5; }
.dsp-hint.is-over { color: var(--d-amber) !important; }
.dsp-err { font-size: .85rem !important; color: var(--d-red) !important; margin: .2rem 0 0 !important; }
.dsp-err[hidden] { display: none; }
.dsp-hash { font-size: .8rem !important; color: var(--d-green) !important; margin: .2rem 0 0 !important; font-family: var(--d-mono); word-break: break-all; }
.dsp-hash code { color: var(--d-ink); }
.dsp-inline { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.dsp-inline label { font-weight: 400; display: flex; align-items: center; gap: .45rem; color: var(--d-muted); }
.dsp-check { display: flex; gap: .65rem; align-items: flex-start; margin: 0 0 .8rem; color: var(--d-muted); font-size: .93rem; line-height: 1.55; cursor: pointer; }
.dsp-check input { margin-top: .3rem; flex: none; width: 1.05rem; height: 1.05rem; accent-color: var(--d-red); }
.dsp-inline input { accent-color: var(--d-red); }
.dsp-sub { margin: .25rem 0 0 1.7rem; display: flex; flex-direction: column; gap: .35rem; }
.dsp-sub label { font-size: .9rem; font-weight: 600; }
.dsp-captcha { min-height: 78px; margin-top: .5rem; }
.dsp-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

.dsp-submit { display: grid; gap: .6rem; justify-items: start; margin-top: .5rem; grid-column: 1; }
.dsp-submit[hidden] { display: none; }
.dsp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font: inherit; font-weight: 600; font-size: .95rem; padding: .7rem 1.2rem; border-radius: 10px; border: 1px solid var(--d-control); background: var(--d-raised); color: var(--d-ink) !important; cursor: pointer; text-decoration: none; }
.dsp-btn:hover { border-color: var(--d-cyan); }
.dsp-btn.is-primary { background: var(--d-red); border-color: var(--d-red); color: var(--d-on-red) !important; }
.dsp-btn.is-primary:hover { background: color-mix(in srgb, var(--d-red) 84%, var(--d-ink)); }
.dsp-btn.is-small { padding: .35rem .7rem; font-size: .8rem; }
.dsp-btn:disabled { opacity: .6; cursor: progress; }
.dsp-alert { border: 1px solid rgba(237, 108, 115, .6); background: rgba(237, 108, 115, .08); color: var(--d-red) !important; border-radius: 10px; padding: .7rem .9rem; margin: 0 !important; }
.dsp-alert[hidden] { display: none; }

.dsp-preview { position: sticky; top: 5.5rem; border: 1px solid rgba(237, 108, 115, .55); border-radius: 14px; padding: 1rem 1.1rem; background: var(--d-input); }
.dsp-preview-k { font-size: .66rem; color: var(--d-red); margin: 0 0 .6rem; }
.dsp-pv { margin: 0; display: grid; gap: .55rem; }
.dsp-pv > div { border-top: 1px solid var(--d-line); padding-top: .5rem; }
.dsp-pv > div:first-child { border-top: 0; padding-top: 0; }
.dsp-pv dt { font-size: .6rem; color: var(--d-dim); margin-bottom: .15rem; }
.dsp-pv dd { margin: 0; font-size: .88rem; color: var(--d-ink); line-height: 1.5; word-break: break-word; }
.dsp-pv dd[data-pv="due"] { font-family: var(--d-mono); color: var(--d-red); font-weight: 700; }
.dsp-preview-foot { font-size: .75rem; color: var(--d-dim); margin: .8rem 0 0; line-height: 1.5; }

.dsp-receipt { border: 1px solid var(--d-green); border-radius: 14px; padding: 1.25rem 1.4rem; background: var(--d-input); max-width: 46rem; }
.dsp-receipt[hidden] { display: none; }
.dsp-receipt:focus { outline: none; }
.dsp-receipt .dsp-preview-k { color: var(--d-green); }
.dsp-rc-id { font-family: var(--d-mono); font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 .4rem; letter-spacing: .02em; }
.dsp-rc-lead { color: var(--d-muted); margin: 0 0 .8rem; }
.dsp-rc-due { display: flex; align-items: baseline; gap: .8rem; font-family: var(--d-mono); margin: 0 0 1rem; }
.dsp-rc-due span { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--d-dim); }
.dsp-rc-due b { color: var(--d-red); font-size: 1.2rem; }
.dsp-rc-key { border: 1px dashed var(--d-amber); border-radius: 10px; padding: .8rem .9rem; margin: 0 0 1rem; display: grid; gap: .45rem; justify-items: start; }
.dsp-rc-key code { font-size: 1.05rem; color: var(--d-amber); word-break: break-all; }
.dsp-rc-files { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.dsp-rc-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; }
.dsp code, .dsp-mono { font-family: var(--d-mono); font-size: .82em; word-break: break-all; }
.dsp-ok { color: var(--d-green); font-weight: 600; }
.dsp-bad { color: var(--d-red); font-weight: 600; }
.dsp-dim { color: var(--d-dim) !important; font-size: .82rem; }

.dsp-track-form { max-width: 40rem; }
.dsp-track-form .dsp-btn { margin-bottom: .8rem; }
.dsp-status { border: 1px solid var(--d-line); border-radius: 12px; padding: 1rem 1.1rem; background: var(--d-surface); margin: 0 0 1rem; max-width: 40rem; }
.dsp-status[hidden] { display: none; }
.dsp-status-head { display: flex; justify-content: space-between; align-items: center; font-family: var(--d-mono); margin-bottom: .7rem; }
.dsp-timeline { list-style: none; margin: 1rem 0 0; padding: 0 0 0 1rem; border-left: 2px solid var(--d-line); display: grid; gap: .8rem; }
.dsp-timeline li { position: relative; display: grid; gap: .1rem; }
.dsp-timeline li::before { content: ''; position: absolute; left: -1.38rem; top: .45rem; width: .6rem; height: .6rem; border-radius: 50%; background: var(--d-green); }
.dsp-timeline li.is-red::before { background: var(--d-red); }
.dsp-timeline time { font-family: var(--d-mono); font-size: .72rem; color: var(--d-dim); }
.dsp-timeline b { color: var(--d-ink); }
.dsp-timeline p { margin: 0 !important; font-size: .9rem; }

.dsp-fine details { border: 1px solid var(--d-line); border-radius: 12px; background: var(--d-surface); padding: .2rem 1.1rem; margin: 0 0 .75rem; }
.dsp-fine summary { cursor: pointer; font-weight: 600; padding: .7rem 0; color: var(--d-ink); }
.dsp-fine details[open] summary { border-bottom: 1px solid var(--d-line); margin-bottom: .8rem; }
.dsp-fine .dsp-defs > div { background: transparent; }
.dsp-list { margin: 0 0 1rem; padding-left: 1.2rem; color: var(--d-muted); display: grid; gap: .5rem; }

.dsp-close { border-top: 1px solid var(--d-line); border-bottom: 1px solid var(--d-line); padding: 1.75rem 0 .75rem; }
.dsp-close p { color: var(--d-ink) !important; font-size: 1.15rem; line-height: 1.65; }
.dsp-close p:last-child { color: var(--d-muted) !important; }

.dsp-policy { border: 1px solid var(--d-line); border-radius: 14px; padding: 1.1rem 1.25rem; background: var(--d-surface); max-width: 52rem; margin: 0 0 2.5rem; }
.dsp-policy-h { font-family: var(--d-mono); text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; color: var(--d-green); margin: 0 0 .8rem; }
.dsp-pv.is-policy dd { font-size: .85rem; }
.dsp-pre { margin: 1rem 0 0; padding: .8rem 1rem; background: var(--d-input); border: 1px solid var(--d-line); border-radius: 10px; font-family: var(--d-mono); font-size: .76rem; color: var(--d-muted); overflow-x: auto; white-space: pre; line-height: 1.7; }

.dsp-footer { border-top: 1px solid var(--d-line); padding-top: 1.25rem; font-size: .85rem; color: var(--d-dim); }
.dsp-footer nav { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-bottom: .6rem; }
.dsp-footer p { margin: 0; font-family: var(--d-mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- corrections log ---------- */
.dsp-log-tools { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: 0 0 1rem; }
.dsp-log-tools select { width: auto; }
.dsp-log { display: grid; gap: .6rem; margin: 0 0 2rem; }
.dsp-entry { border: 1px solid var(--d-line); border-radius: 12px; padding: .85rem 1rem; background: var(--d-surface); display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: .25rem 1rem; scroll-margin-top: 6rem; }
.dsp-entry:target { border-color: var(--d-cyan); box-shadow: 0 0 0 1px var(--d-cyan); }
.dsp-entry.is-overdue { border-color: rgba(237, 108, 115, .7); }
.dsp-entry-seq { font-family: var(--d-mono); color: var(--d-dim); font-size: .85rem; grid-row: span 3; }
.dsp-entry-head { display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: baseline; }
.dsp-entry-head b { color: var(--d-ink); }
.dsp-entry-head time { font-family: var(--d-mono); font-size: .75rem; color: var(--d-dim); }
.dsp-entry-meta { font-size: .88rem; color: var(--d-muted); }
.dsp-entry-hash { font-family: var(--d-mono); font-size: .72rem; color: var(--d-dim); word-break: break-all; }
.dsp-entry details { grid-column: 2; font-size: .8rem; }
.dsp-entry summary { cursor: pointer; color: var(--d-dim); }
.dsp-entry pre { white-space: pre-wrap; word-break: break-all; font-family: var(--d-mono); font-size: .75rem; color: var(--d-muted); background: var(--d-input); border: 1px solid var(--d-line); border-radius: 8px; padding: .6rem .7rem; margin: .4rem 0 0; }
.dsp-verify-out { font-family: var(--d-mono); font-size: .8rem; }

@media (max-width: 1023px) {
  .dsp-form-grid { grid-template-columns: minmax(0, 1fr); }
  .dsp-preview { position: static; }
  .dsp-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .dsp { font-size: 1rem; padding-top: 1.5rem; }
  .dsp-clocks { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .75rem; }
  .dsp-clock-val { font-size: 1.5rem; }
  .dsp-matrix, .dsp-steps, .dsp-cards, .dsp-cards.is-compact, .dsp-row { grid-template-columns: minmax(0, 1fr); }
  .dsp-fs { padding: .9rem .9rem 1rem; }
  .dsp-chain a { margin-left: 0; }
  .dsp-entry { grid-template-columns: minmax(0, 1fr); }
  .dsp-entry-seq { grid-row: auto; }
  .dsp-entry details { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .dsp-card-body { transition: none; }
}
@media print {
  .dsp-form-grid, .dsp-track-form, #track, .dsp-clocks, header, #dossier-hud, .dsp-rc-actions, .dsp-btn { display: none !important; }
  .dsp, .dsp-receipt { color: #000 !important; background: #fff !important; border-color: #000 !important; }
  .dsp * { color: #000 !important; }
}

/* The policy is final and signed: the dossier's sitewide "Draft" chip must not suggest otherwise here. */
.dsp-page .dossier-draft-dot { display: none !important; }
.dsp-field label.dsp-check { font-weight: 400; color: var(--d-muted); font-size: .93rem; }
.dsp ::placeholder { color: #5f7488; opacity: 1; }
.dsp-receipt:focus-visible { outline: none; }
/* main.casework-main is a grid in the dossier shell: let children shrink below their min-content width. */
.dsp > * { min-width: 0; max-width: 100%; }
.dsp-pre { max-width: 100%; }
.dsp-pv { grid-template-columns: minmax(0, 1fr); }
.dsp-pv > div, .dsp-pv dd { min-width: 0; overflow-wrap: anywhere; }
/* dossier-design.css paints every unclassed button with !important; restate ours with the same weight. */
.dsp .dsp-btn { background: var(--d-raised) !important; border: 1px solid var(--d-control) !important; color: var(--d-ink) !important; }
.dsp .dsp-btn:hover { border-color: var(--d-cyan) !important; }
.dsp .dsp-btn.is-primary { background: var(--d-red) !important; border-color: var(--d-red) !important; color: var(--d-on-red) !important; }
.dsp .dsp-btn.is-primary:hover { background: color-mix(in srgb, var(--d-red) 84%, var(--d-ink)) !important; }

/* File intake: per-file check readout, the hash pair shown before submit, gated button. */
.dsp .dsp-filecheck { margin: .45rem 0 0; display: grid; gap: .3rem; padding: .6rem .75rem; border: 1px solid var(--d-line); border-radius: 8px; background: rgba(0,0,0,.18); }
.dsp .dsp-filecheck > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .6rem; align-items: baseline; }
.dsp .dsp-filecheck dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: var(--d-dim); }
.dsp .dsp-filecheck dd { margin: 0; font-size: .84rem; color: var(--d-ink); min-width: 0; overflow-wrap: anywhere; }
.dsp .dsp-filecheck code, .dsp .dsp-hashpair code { font-family: var(--d-mono); font-size: .78rem; word-break: break-all; }
.dsp .dsp-hashpair { margin-top: 1rem; padding: .8rem .9rem; border: 1px solid var(--d-green); border-radius: 10px; }
.dsp .dsp-hashpair-h { margin: 0 0 .6rem !important; font-size: .88rem !important; font-weight: 600; color: var(--d-ink) !important; }
.dsp .dsp-hashpair-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.dsp .dsp-hashpair-grid span { display: block; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; color: var(--d-dim); margin-bottom: .2rem; }
.dsp .dsp-hashpair-grid code { color: var(--d-green); }
@media (max-width: 639px) { .dsp .dsp-hashpair-grid { grid-template-columns: minmax(0, 1fr); } }
.dsp .dsp-gate { margin: .5rem 0 0 !important; font-size: .85rem !important; color: var(--d-dim) !important; }
.dsp .dsp-gate[hidden] { display: none !important; }
.dsp .dsp-btn:disabled, .dsp .dsp-btn.is-primary:disabled { opacity: .45; cursor: not-allowed; }
.dsp .dsp-to-you { border-left: 2px solid var(--d-cyan); padding-left: .6rem; }
.dsp .dsp-to-you span { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--d-cyan); }

/* Policy v2: shorter entry points and a form that uses the available space. */
.dsp .dsp-quick { display:flex; flex-wrap:wrap; gap:.75rem; margin:0 0 2rem; }
.dsp .dsp-wide { max-width:none; }
.dsp .dsp-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dsp .dsp-policy-detail { border-block:1px solid var(--d-line); padding:1rem 0; margin-block:1rem; }
.dsp .dsp-policy-detail summary { color:var(--d-ink); cursor:pointer; font-weight:600; padding:.25rem 1.75rem .25rem 0; }
.dsp .dsp-policy-detail[open] summary { margin-bottom:1rem; }
.dsp .dsp-matrix h3 { font-size:1rem; line-height:1.4; text-transform:none; letter-spacing:0; }
.dsp .dsp-matrix-col p { font-size:.98rem; line-height:1.65; }
.dsp .dsp-steps li::before { content:counter(step,decimal-leading-zero); }
.dsp input[type="url"], .dsp input[type="datetime-local"] { box-sizing:border-box; max-width:100%; min-width:0; padding:.65rem .75rem; border:1px solid var(--d-line); border-radius:8px; background:var(--d-surface); color:var(--d-ink); font:inherit; }
.dsp [data-issuer-country][hidden] { display:none; }
.dsp .dsp-form-grid { grid-template-columns:minmax(0,1fr) minmax(15rem,20rem); }
@media (max-width:1023px) { .dsp .dsp-form-grid { grid-template-columns:minmax(0,1fr); } .dsp .dsp-preview { position:static; grid-row:auto; } }
@media (max-width:639px) { .dsp .dsp-two { grid-template-columns:minmax(0,1fr); } .dsp .dsp-quick { flex-direction:column; align-items:stretch; } .dsp .dsp-cards { grid-template-columns:minmax(0,1fr); } .dsp .dsp-card-top { flex-wrap:wrap; } }

@media screen {
html[data-ed-theme="light"] body.dsp-page { background:#f6f3ed; color:#1c252e; }
html[data-ed-theme="light"] .dsp { --d-surface:#fffdf9; --d-raised:#ebe7df; --d-input:#fffdf9; --d-line:#c7cbd0; --d-control:#81909c; --d-ink:#1c252e; --d-muted:#4d5b68; --d-dim:#596778; --d-red:#a33048; --d-on-red:#fffdf9; --d-cyan:#245875; --d-green:#14664f; --d-amber:#805216; }
html[data-ed-theme="light"] body.dsp-page>header { background:#f6f3ed; border-bottom:1px solid #c7cbd0; color:#4d5b68; }
html[data-ed-theme="light"] body.dsp-page>header a,html[data-ed-theme="light"] body.dsp-page>header span { color:#4d5b68; }
html[data-ed-theme="light"] .dsp .dsp-preview { background:var(--d-input); }
html[data-ed-theme="light"] .dsp :is(.dsp-pre,.dsp-filecheck,.dsp-hashpair,.dsp-receipt,.dsp-status) { background:var(--d-surface); color:var(--d-ink); }
html[data-ed-theme="light"] .dsp .dsp-btn.is-primary:hover { background:#8c283e; }
html[data-ed-theme="light"] .dsp .dsp-ok { color:var(--d-green); }
html[data-ed-theme="light"] .dsp .dsp-bad { color:var(--d-red); }
}
.dsp-page>header>div { flex-wrap:wrap; }
.dsp-page>header .dossier-header-actions { margin-inline-start:auto; }

/* A single shared palette applies to open log details and every form state. */
.dsp [hidden] { display:none !important; }
.dsp input[type="file"] { max-width:100%; min-width:0; }
@media (min-width:640px) and (max-width:1023px) { .dsp-clocks { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Policy pages offer their current signed text, rather than a stale dossier export. */
.dsp-page [data-dossier-json], .dsp-page [data-action="export-pdf"] { display:none !important; }
.dsp-page .dossier-header-actions > a.dossier-action-btn:not([data-dossier-json]) { display:inline-flex !important; }
.dsp.casework-main .dsp-lede, .dsp.casework-main .dsp-section:not(.dsp-form-section) > p { max-width:65ch !important; }
.dsp [id] { scroll-margin-top:6rem; }
