:root { --ad-bg:#eef3f8; --ad-card:#fff; --ad-ink:#14233d; --ad-muted:#536278; --ad-line:#c7d2df; --ad-accent:#a71d36; --ad-soft:#f4f7fa; --ad-ok:#176b47; --ad-focus:#f2b705; }

* { box-sizing:border-box; } .ad-body { margin:0; background:var(--ad-bg); color:var(--ad-ink); }
.ad-shell { width:min(100% - 1rem,68rem); margin:1rem auto; padding:1rem; background:transparent; }
.ad-skip { position:absolute; left:-9999px; } .ad-skip:focus { left:.5rem; top:.5rem; z-index:3; background:var(--ad-card); padding:.7rem; }
.ad-lead,.ad-hint { color:var(--ad-muted); } .ad-lead { max-width:48rem; }
.ad-card { background:var(--ad-card); border:1px solid var(--ad-line); border-radius:1rem; padding:1rem; margin:1rem 0; box-shadow:0 .4rem 1.4rem #0001; }
.ad-alert { border:2px solid var(--ad-accent); border-radius:.75rem; padding:.8rem; font-weight:700; }
.ad-status { min-height:1.5rem; font-weight:700; } .ad-status[data-tone="error"],.ad-error { color:var(--ad-accent); font-weight:700; } .ad-error:empty { display:none; }
.ad-cases { display:grid; gap:.7rem; border:0; padding:0; margin:1rem 0; }
.ad-cases label { display:grid; grid-template-columns:auto 1fr; gap:.75rem; align-items:center; min-height:3.5rem; padding:.75rem; border:1px solid var(--ad-line); border-radius:.8rem; background:var(--ad-soft); }
.ad-cases input { width:1.4rem; height:1.4rem; } .ad-cases span { display:grid; gap:.15rem; } .ad-cases small { color:var(--ad-muted); }
.ad-progress { display:grid; grid-template-columns:repeat(6,1fr); list-style:none; gap:.25rem; padding:0; margin:1rem 0; }
.ad-progress li { min-width:0; padding:.5rem .25rem; text-align:center; border-bottom:.25rem solid var(--ad-line); color:var(--ad-muted); font-size:.78rem; }
.ad-progress li.current { border-color:var(--ad-accent); color:var(--ad-ink); font-weight:800; }
.ad-person,.ad-consent { border:1px solid var(--ad-line); border-radius:.8rem; padding:.8rem; margin:.7rem 0; background:var(--ad-soft); }
.ad-grid { display:grid; gap:.7rem; } .ad-field { display:grid; gap:.3rem; margin:.65rem 0; font-weight:700; }
.ad-field input,.ad-field select { width:100%; min-height:2.75rem; padding:.6rem .7rem; border:1px solid var(--ad-line); border-radius:.65rem; background:var(--ad-card); color:var(--ad-ink); font:inherit; }
.ad-check { display:grid; grid-template-columns:auto 1fr; gap:.7rem; align-items:center; min-height:2.75rem; margin:.45rem 0; } .ad-check input { width:1.4rem; height:1.4rem; }
.ad-signature-pad { border:1px solid var(--ad-line); border-radius:.8rem; padding:.8rem; margin:1rem 0; min-width:0; }
.ad-signature-pad legend { font-weight:800; padding:0 .3rem; }
.ad-signature-pad canvas { display:block; width:100%; height:13.75rem; border:2px solid var(--ad-line); border-radius:.65rem; background:#fff; touch-action:none; cursor:crosshair; }
.ad-signature-pad canvas:focus-visible { outline:3px solid var(--ad-focus); outline-offset:2px; }
.ad-photo-step { border:1px solid var(--ad-line); border-radius:.8rem; padding:.8rem; margin:1rem 0; }
.ad-photo-card { display:grid; gap:.65rem; padding:.8rem 0; border-top:1px solid var(--ad-line); }
.ad-photo-card:first-child { border-top:0; } .ad-photo-card h4 { margin:.2rem 0; }
.ad-photo-card input[type="file"] { max-width:100%; }
.ad-photo-preview { width:8rem; height:8rem; display:grid; place-items:center; overflow:hidden; border:1px solid var(--ad-line); border-radius:.75rem; background:var(--ad-soft); color:var(--ad-muted); text-align:center; }
.ad-photo-preview img { width:100%; height:100%; object-fit:cover; }
.ad-photo-actions { display:flex; flex-wrap:wrap; gap:.5rem; }
.ad-consent fieldset { border:0; padding:0; margin:.5rem 0; display:grid; gap:.35rem; } .ad-consent label { display:grid; grid-template-columns:auto 1fr; gap:.6rem; align-items:center; min-height:2.75rem; }
.ad-button { min-height:2.75rem; border:0; border-radius:.7rem; padding:.65rem 1rem; background:var(--ad-ink); color:var(--ad-card); font:inherit; font-weight:800; cursor:pointer; }
.ad-button.secondary { background:transparent; color:var(--ad-ink); border:1px solid var(--ad-ink); } .ad-button.ghost { background:var(--ad-soft); color:var(--ad-ink); } .ad-button:disabled { opacity:.5; cursor:not-allowed; }
.ad-actions { display:grid; gap:.5rem; margin-top:1rem; } .ad-list { margin:.4rem 0; padding-left:1.2rem; display:grid; gap:.35rem; }
.ad-summary { display:grid; grid-template-columns:max-content 1fr; gap:.35rem .8rem; } .ad-summary dt { font-weight:800; } .ad-summary dd { margin:0; }
.ad-confirmation { border:2px solid var(--ad-ok); } .ad-confirm-mark { color:var(--ad-ok); font-size:2.6rem; margin:0; }
.ad-shell :is(a,button,input,select,[tabindex="-1"]):focus-visible { outline:3px solid var(--ad-focus); outline-offset:2px; } [aria-invalid="true"] { outline:2px solid var(--ad-accent); }
@media (min-width:48rem) { .ad-shell { padding:1.5rem; } .ad-grid { grid-template-columns:repeat(2,1fr); } .ad-actions { grid-template-columns:auto auto 1fr; } .ad-actions .ad-button:last-child { justify-self:end; min-width:11rem; } }
@media (min-width:64rem) { .ad-card { padding:1.5rem; } .ad-cases { grid-template-columns:repeat(3,1fr); } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
