/* Shared type and spacing contract for the two internal collector tools only.
   Loaded last to replace legacy per-section and inline presentation sizes. */
.collector-tools {
  --collector-title: 24px;
  --collector-section: 18px;
  --collector-heading: 16px;
  --collector-body: 14px;
  --collector-help: 13px;
  --text-muted: #64748b;
  font-size: var(--collector-body);
  line-height: 1.6;
}
.collector-tools .wrap { max-width:1120px; }
.collector-tools .topbar .wrap { max-width:1180px; gap:16px; }
.collector-tools .brand { flex-shrink:0; white-space:nowrap; }
.collector-tools .tool-nav { min-width:0; overflow-x:auto; }
.collector-tools .tool-nav > :not([hidden]) { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.collector-tools main.wrap { padding-top:24px; padding-bottom:40px; }
.collector-tools main > :is(.card,.panel,.day0) { margin:0 0 24px !important; padding:24px !important; border-radius:12px; }
.collector-tools main h1 { font-size:var(--collector-title) !important; line-height:1.3; font-weight:700; white-space:normal !important; margin:0 0 8px; }
.collector-tools main h2 { font-size:var(--collector-section) !important; line-height:1.4; font-weight:700; margin:0 0 12px !important; }
.collector-tools main h3 { font-size:var(--collector-heading) !important; line-height:1.45; font-weight:650; }
.collector-tools main :is(p,li,label,legend,pre,.review-ui,.rd-case,.day-body,.dt,.tpl-head .tt,.rd-script-lead,.rd-script ol) {
  font-size:var(--collector-body) !important; line-height:1.6 !important;
}
.collector-tools main :is(.sub,.hero-sub,.review-meta,.review-technical,.rd-capture-hint,.rd-followup-note,.rd-wait,.rd-case .veh,.rd-script p,.rd-stat .s,.rd-stat .k,.provenance,.small-note,.hint,.rd-opt) {
  font-size:var(--collector-help) !important; line-height:1.6 !important; color:var(--text-secondary,#6b7280);
}
.collector-tools main :is(.review-badge,.review-stat > span,.review-stat > small,.rd-tag,.rd-window,.rd-handoff,.rd-have,.rd-miss,.rd-done,.rd-over,.rd-ready-banner,.rd-docs-done,.rd-script-h,.dnum,.tpl-head .who) {
  font-size:var(--collector-help) !important; line-height:1.5 !important;
}
.collector-tools main :is(ol,ul) { padding-inline-start:24px; margin:12px 0 16px; }
.collector-tools main li { margin:0 0 10px !important; padding-inline-start:4px; }
.collector-tools main :is(p,li) { overflow-wrap:anywhere; }
.collector-tools main :is(p,ol,ul) + :is(form,.review-toolbar,.rd-views) { margin-top:20px; }
.collector-tools main :is(button,.btn,.rd-btn,.rd-save,summary,.rd-view),
.collector-tools .tool-nav > *, .collector-tools .lang-toggle button {
  font-size:var(--collector-body) !important; line-height:1.4 !important; min-height:44px;
}
.collector-tools main :is(button,.btn,.rd-btn,.rd-save) { padding:10px 16px; border-radius:8px; }
.collector-tools main :is(input:not([type=checkbox]),select,textarea) {
  font-size:var(--collector-body) !important; line-height:1.5 !important; min-height:44px; padding:10px 12px; max-width:100%;
}
.collector-tools main label { display:inline-block; margin-bottom:6px; }
.collector-tools :is(button,a,input,select,textarea,summary,[role=button]):focus-visible { outline:3px solid #2264e5; outline-offset:3px; }
.collector-tools main summary { display:list-item; cursor:pointer; padding:12px 0; font-weight:600; }
.collector-tools main details[open] > summary { margin-bottom:12px; }
.collector-tools main :is(section,[id],.desk-grid) { scroll-margin-top:88px; }
.collector-tools .collector-jumps { display:flex; flex-wrap:wrap; gap:8px; padding-top:16px; margin-top:16px; border-top:1px solid var(--border); }
.collector-jumps a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--border); border-radius:8px; color:var(--primary); text-decoration:none; font-weight:600; font-size:14px; }
.collector-jumps a:hover { background:var(--primary-soft); }
.collector-skip { position:fixed; left:16px; top:-100px; z-index:100; padding:12px 16px; background:#fff; border:2px solid var(--primary); }
.collector-skip:focus { top:12px; }
.collector-tools .collector-guide { border:1px solid var(--border); border-radius:10px; padding:0 16px; margin:12px 0 20px; background:#f8fafc; }
.collector-tools .collector-guide > ol { max-width:88ch; }
.collector-tools .review-toolbar, .collector-tools .review-actions { gap:12px; margin:20px 0; }
.collector-tools .review-toolbar label { margin-bottom:0; }
.collector-tools .review-row { padding:20px; margin:12px 0; gap:24px; }
.collector-tools .review-row h3 { margin:0 0 8px; }
.collector-tools .review-row .review-actions { margin:0; }
.collector-tools main .review-inventory { list-style:none; padding:0; }
.collector-tools main .review-inventory > li { padding:16px; }
.collector-tools .review-inventory details { padding:0; margin:4px 0 0; }
.collector-tools .review-inventory summary { min-height:32px; padding:6px 0; font-size:var(--collector-help) !important; }
.collector-tools .review-stats { gap:12px; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.collector-tools .review-stat { padding:16px; }
.collector-tools .review-stat > b { font-size:var(--collector-section); }
.collector-tools #acceptance-controls > label { margin:12px 0; }
.collector-tools #acceptance-controls fieldset label { display:flex; align-items:flex-start; gap:8px; min-height:32px; margin:6px 0; }
.collector-tools #acceptance-controls fieldset br { display:none; }
.collector-tools #acceptance-checklist label { padding:8px 0; }
.collector-tools #acceptance-controls input[type=checkbox] { margin-top:4px; }
.collector-tools .desk-grid { gap:24px; margin:24px 0; }
.collector-tools .desk-grid .panel { padding:24px; margin-bottom:24px; }
.collector-tools .day-head { border:0; width:100%; text-align:left; color:inherit; border-radius:0; }
.collector-tools .day-head::after { content:'+'; margin-left:auto; font-size:18px; }
.collector-tools .day.open > .day-head::after { content:'-'; }
.collector-tools .day-body { padding:16px; }
.collector-tools .section-h { margin-top:0; }
.collector-tools .tpl-head { padding:12px 16px; flex-wrap:wrap; }
.collector-tools .tpl pre { padding:16px; }
.collector-tools .rd-case { padding:24px; margin:16px 0; border-radius:12px; }
.collector-tools .rd-row { gap:12px; margin-top:16px; }
.collector-tools .rd-capture { gap:16px; margin-top:16px; }
.collector-tools .rd-capture label { display:block; }
.collector-tools .rd-capture-hint { margin:12px 0; }
.collector-tools .rd-desk { margin-top:20px; padding-top:20px; }
.collector-tools .rd-script { padding:16px; margin:16px 0; }
.collector-tools .rd-script-h { margin-bottom:12px; letter-spacing:0; text-transform:none; }
.collector-tools .rd-stat .v { font-size:24px; }
.collector-tools #rc-body :is(div,span,small) { font-size:var(--collector-help) !important; line-height:1.6; }
.collector-tools main .rd-search-wrap input { padding-left:44px; padding-right:40px; }
.collector-tools .rd-search-wrap input::placeholder { color:#64748b; }
.collector-tools .rd-view { white-space:normal; text-align:left; }
.collector-tools .rd-btn:disabled { opacity:1; color:#64748b; background:#f1f5f9; cursor:not-allowed; }
.collector-tools #records-quickstart > ol { max-width:88ch; }
.collector-tools #fr-modal > div { max-height:calc(100dvh - 40px); overflow:auto; }
@media(max-width:700px) {
  .collector-tools main.wrap { padding:16px; }
  .collector-tools main > :is(.card,.panel,.day0), .collector-tools .desk-grid .panel { padding:16px !important; margin-bottom:16px !important; }
  .collector-tools .wrap { width:100%; }
  .collector-tools .topbar { position:static; }
  .collector-tools main :is(section,[id],.desk-grid) { scroll-margin-top:16px; }
  .collector-tools main :is(input:not([type=checkbox]),select,textarea) { font-size:16px !important; }
  .collector-tools .rd-capture, .collector-tools .review-checks { grid-template-columns:minmax(0,1fr); }
  .collector-tools .rd-case { padding:16px; }
  .collector-tools .review-row { flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
  .collector-tools .review-toolbar label { min-width:0; }
  .collector-tools .review-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collector-tools .collector-jumps { gap:8px; }
  .collector-tools .collector-jumps a { flex:1 1 140px; }
  .collector-tools #sop > div { grid-template-columns:minmax(0,1fr) !important; }
}
@media(prefers-reduced-motion:reduce) { .collector-tools *, .collector-tools *::before, .collector-tools *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
