@layer layout, typography, components, responsive;
/* Existing dossier palette, type and controls; additions scoped to this form. */
@layer layout {
  .pc-progress { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pc-field-pair { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--d-gap); }
  .pc-form h3 { margin:0 0 .7rem; }
  .pc-form .dsp-field { margin-block:1.4rem; }
  .pc-example { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,5rem); }
  .pc-process { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--d-gap);list-style:none;padding:0;margin:2rem 0; }
  .pc-process li { padding:1.25rem 1.25rem 0 0;border-top:1px solid var(--d-line); }
  .pc-track-form { max-width:none; }
  .pc-receipt { max-width:58rem;margin:2rem auto;padding:clamp(1.2rem,3vw,2.5rem);background:var(--d-surface);border:1px solid var(--d-rule);border-radius:var(--d-radius); }
  .pc .dsp-footer nav { display:flex;flex-wrap:wrap;gap:1rem 1.5rem; }
}
@layer typography {
  .pc-form > section > h3 { font-family:var(--d-editorial);font-weight:400;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.35;letter-spacing:-.025em; }
  .pc-optional { font-size:.8rem;font-weight:400;color:var(--d-dim);margin-inline-start:.35rem; }
  .pc-prewrap,.pc-review dd { white-space:pre-wrap;overflow-wrap:anywhere; }
  .pc-boundary dt { font-weight:600;font-size:.88rem;margin-bottom:.35rem; }
  .pc-boundary dd { margin:0;color:var(--d-muted);font-size:.88rem;line-height:1.7; }
  .pc-example blockquote { font-family:var(--d-editorial);font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.85;max-width:65ch;margin:1rem 0 0;padding:0;border:0;color:var(--d-ink); }
  .pc-example > div > p,.pc-process-note { color:var(--d-muted);max-width:70ch; }
  .pc-process h3 { font-size:1.1rem;margin:.75rem 0; }
  .pc-process p { color:var(--d-muted);font-size:.92rem;line-height:1.75; }
}
@layer components {
  .pc-boundary > div { padding-block:1.15rem;border-bottom:1px solid var(--d-rule); }
  .pc-intro-note .dsp-kicker { margin:0 0 .5rem; }
  .pc-note-panel { margin-block:1.5rem;padding:1.25rem;background:var(--d-accent-wash);border:1px solid var(--d-rule);border-left:2px solid var(--d-red);border-radius:3px; }
  .pc-note-panel > summary { padding-block:.25rem; }
  .pc-note-panel > summary > span { display:block;font-size:.8rem;font-weight:400;color:var(--d-muted);margin-top:.3rem; }
  .pc-note-panel textarea { background:var(--d-input); }
  .pc-retention { border:0;padding:0;margin:1.25rem 0 0;display:flex;gap:1.5rem;flex-wrap:wrap; }
  .pc-retention legend { font-size:.85rem;font-weight:600;margin-bottom:.6rem; }
  .pc-retention label { display:inline-flex;align-items:center;gap:.6rem;min-height:44px; }
  .pc-retention input,.pc-confirmations input { accent-color:var(--d-red); }
  .pc-upload { border-block:1px solid var(--d-rule);padding-block:1.3rem; }
  .pc-upload input[type=file] { border:0;padding:.75rem 0;background:transparent;min-width:0;max-width:100%;color:var(--d-muted);font-size:.85rem; }
  .pc-upload input::file-selector-button { padding:.7rem 1rem;border:1px solid var(--d-control);border-radius:4px;color:var(--d-ink);background:var(--d-surface);font:inherit;margin-right:1rem;cursor:pointer;transition:border-color .2s ease; }
  .pc-upload input:hover::file-selector-button { border-color:var(--d-red); }
  .pc-file-list { list-style:none;padding:0;margin:0;font: .8rem/1.7 var(--d-mono);color:var(--d-muted);overflow-wrap:anywhere; }
  .pc-confirmations .dsp-check { margin-block:1rem; }
  .pc-review dl { margin:1rem 0; }
  .pc-review dl > div { padding:1rem 0;border-bottom:1px solid var(--d-rule); }
  .pc-review dt { font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--d-dim);margin-bottom:.5rem; }
  .pc-review dd { margin:0;font-size:.94rem;line-height:1.75; }
  .pc-example-note { border-top:1px solid var(--d-rule);padding-top:1.5rem;margin-top:2rem; }
  .pc-example-note blockquote { font-family:var(--d-font);font-size:1rem;color:var(--d-muted); }
  .pc-track-result { margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--d-line); }
  .pc #pc-captcha { min-height:78px;max-width:100%; }
  .pc .dsp-alert { overflow-wrap:anywhere; }
  .pc-form[aria-busy=true] { cursor:progress; }
  .pc-form button:disabled { cursor:wait;opacity:.65; }
  .pc [tabindex='-1']:focus { outline:none; }
}
@layer responsive {
 @media(max-width:1023px){.pc-example{grid-template-columns:1fr}.pc-process{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-process li:last-child{grid-column:1/-1}.pc-side{position:static}.pc-editorial .dsp-header-links{gap:.35rem 1rem}}
 @media(max-width:639px){.pc-field-pair,.pc-process{grid-template-columns:minmax(0,1fr)}.pc-process li:last-child{grid-column:auto}.pc .dsp-progress{gap:.5rem}.pc-progress button{font-size:.78rem}.pc .dsp-progress button>span{display:none}.pc-note-panel{padding:1rem}.pc .dsp-form-actions{display:flex;flex-wrap:wrap;gap:.65rem}.pc .dsp-form-actions>.dsp-btn{flex:1 1 180px;justify-content:center}.pc-editorial .dsp-header-inner{grid-template-columns:1fr auto}.pc-editorial .dsp-header-links{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;font-size:.75rem;gap:.2rem .7rem}.pc-editorial .dossier-header-actions{grid-column:2;grid-row:1}.pc-editorial .dsp-header-links a{min-height:36px;display:flex;align-items:center}.pc .dsp-footer{align-items:start}}
 @media(prefers-reduced-motion:reduce){.pc *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
 @media print{.pc-form,.pc-track-form,.pc-side,.dsp-header,.pc .dsp-footer,#pc-captcha,#pc-withdraw-panel{display:none!important}.pc [hidden]{display:none!important}.pc-receipt{border:0;margin:0;padding:0}.pc-receipt button,.pc-receipt .dsp-form-actions{display:none!important}}
}
@layer components {
 .pc .dsp-form-actions {display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
 .pc-form {scroll-margin-top:calc(var(--d-header) + 1rem)}
 .pc .dsp-pv code {overflow-wrap:anywhere;word-break:break-word}
 .pc .pc-note-panel > summary {display:block;position:relative;padding-right:1.5rem}
 .pc .pc-note-panel > summary::after {position:absolute;right:0;top:.25rem}
}
@layer responsive { @media(max-width:639px){.pc-editorial .dsp-header-links a{min-height:44px}} }
