.rec{max-width:1160px;margin:auto;padding:26px clamp(14px,3vw,32px) 50px;color:var(--ink);overflow-wrap:anywhere}
.rec h1,.rec h2,.rec h3{font-family:var(--display);line-height:1.18}
.rec h1{font-size:clamp(2rem,5vw,3.25rem);margin:.25em 0}
.rec h2{font-size:1.46rem;margin:0 0 .65em}
.rec h3{font-size:1.08rem;margin:.8em 0 .45em}
.rec-kicker{font-weight:700;color:var(--accent);letter-spacing:.035em;margin:0}
.rec-lede{font-size:1.16rem;max-width:70ch}
.rec-private,.rec-muted{color:var(--muted)}
.rec-steps{padding:0;margin:20px 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.rec-steps li{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:6px 10px;font-weight:600}
.rec-panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:clamp(12px,2.5vw,24px);margin:16px 0}
.rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rec-grid>*{min-width:0}
.rec-source,.rec-map{padding:12px;border:1px solid var(--line);border-radius:9px;margin-top:10px;min-width:0}
.rec-source h3,.rec-map h3{margin-top:0}
.rec-fields{gap:9px 12px}
.rec label,dialog label{display:grid;gap:4px;font-weight:600;min-width:0}
.rec input:not([type=checkbox]),.rec select,.rec textarea,dialog input,dialog select,dialog textarea{box-sizing:border-box;width:100%;min-width:0;min-height:40px;border:1px solid var(--line);border-radius:7px;padding:6px 8px;background:var(--bg);color:var(--ink);font:inherit}
.rec input[type=file]{border:none;background:transparent}
.rec button,dialog button{border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:var(--accent-ink,#fff);padding:8px 12px;min-height:40px;font:700 .92rem var(--body);cursor:pointer}
.rec button:disabled,dialog button:disabled{opacity:.55;cursor:default}
.rec .rec-secondary,dialog .rec-secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}
.rec :focus-visible,dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rec-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:12px}
.rec-actions>*{min-width:0}
.rec label.rec-check{display:flex;align-items:baseline;gap:8px;margin:12px 0;font-weight:500}
.rec-drop{border:1px dashed var(--accent);border-radius:8px;background:var(--accent-soft);padding:10px;margin:8px 0}
.rec-drop.rec-drag{outline:2px solid var(--accent)}
.rec-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:7px;margin:10px 0}
.rec table,dialog table{border-collapse:collapse;width:100%;font-size:.9rem}
.rec th,.rec td,dialog th,dialog td{padding:7px 9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.rec th,dialog th{background:var(--bg)}
#results table{min-width:870px}
.rec-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}
.rec-cards div{padding:9px 11px;border:1px solid var(--line);border-radius:7px}
.rec-cards strong{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums}
.rec-export{margin-top:22px!important}
.rec-error{color:#9b3031}
@media(prefers-color-scheme:dark){.rec-error{color:#ff9a9a}}
dialog{box-sizing:border-box;width:min(95vw,850px);max-height:90dvh;overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:16px}
dialog::backdrop{background:#0008}
.rec-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rec-dialog-head h2{margin:0}
.rec-record{padding:8px;margin:6px 0;border:1px solid var(--line);border-radius:7px;overflow-wrap:anywhere}
.rec-record p{margin:3px 0}
progress{width:min(100%,480px);display:block;margin-top:12px}
[hidden],#print-report{display:none!important}
@media(max-width:680px){.rec-grid{grid-template-columns:minmax(0,1fr)}}
@media print{
  body>*{display:none!important}
  #print-report{display:block!important;color:#000;font:11pt/1.45 system-ui,sans-serif}
  #print-report h1{font-size:21pt}
  #print-report li{break-inside:avoid;overflow-wrap:anywhere}
}
