/* ===========================================================================
   PREPLANS - public-record facts sheet (auto-fill)  (Donald + Brad, 2026-09-29)
   ===========================================================================
   docs/preplans/autofill/SPEC.md; the real-data mockups B1/A2 on branch
   mock/preplans (realdata/*.png): confidence stripe green = primary record,
   amber = secondary / measured, orange = weak; dashed = unknown. APP TOKENS
   ONLY (frontend/shell/app.css :root): --assist green, --haz amber, --alarm
   orange, --fire red, --medical blue. A record fact has no tick; an
   on-scene fact has a 44 px circle (gloves). */
.pp-af-body{padding:0 16px 8px}
.pp-af-bar{display:flex;gap:8px;justify-content:flex-end;margin:0 0 10px}
.pp-af-legend{font-size:.8rem;color:var(--muted);line-height:1.45;margin:0 2px 10px}
.pp-af-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pp-af-card{position:relative;min-width:0;background:var(--card);border-radius:12px;padding:10px 10px 8px 13px;overflow:hidden}
.pp-af-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--muted)}
.pp-af-card.c-h::before{background:var(--assist)}
.pp-af-card.c-m::before{background:var(--haz)}
.pp-af-card.c-l::before{background:var(--alarm)}
.pp-af-card.mine{box-shadow:inset 0 0 0 1.5px var(--assist)}
.pp-af-card.unk{background:transparent;border:1.5px dashed var(--bdr);padding-left:10px}
.pp-af-card.unk::before{display:none}
.pp-af-card.unk .pp-af-v{font-style:italic;color:var(--muted2);font-weight:600}
.pp-af-card.water::before{background:var(--medical)}
.pp-af-k{display:flex;align-items:center;gap:6px;min-height:22px;font:700 .8rem/1.2 var(--font-mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
/* the on-scene circle: a 44 px hit area (9 px transparent border) around a
   26 px ring (inset shadow, drawn inside the border) */
.pp-af-tick{margin:-11px -9px -11px auto;width:44px;height:44px;flex-shrink:0;box-sizing:border-box;border:9px solid transparent;border-radius:50%;background:transparent;background-clip:padding-box;box-shadow:inset 0 0 0 2px var(--muted2);padding:0;color:var(--bg);font:800 .8125rem/1 var(--font);touch-action:manipulation}
.pp-af-tick.on{background-color:var(--assist);box-shadow:none}
.pp-af-tick:disabled{opacity:.55}
/* read-only (no permission, the station password): the state, not a button */
.pp-af-tick.ro{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-9px -7px -9px auto;border-width:8px;opacity:.7}
/* the CERS match: confidence and basis (server words), coloured by confidence */
.pp-af-match{font:600 .8rem/1.4 var(--font-mono);margin-top:4px;color:var(--muted2);overflow-wrap:anywhere}
.pp-af-match.c-l{color:var(--alarm)}
.pp-af-match.c-m{color:var(--haz)}
.pp-af-v{font-weight:700;font-size:.9375rem;color:var(--text);margin-top:6px;line-height:1.25;overflow-wrap:anywhere}
.pp-af-s{font-size:.8rem;color:var(--muted2);margin-top:3px;line-height:1.35;overflow-wrap:anywhere}
/* "From the record · County · 09/29" - tap for the source's name and link */
.pp-af-line{display:block;width:100%;text-align:left;border:none;background:transparent;padding:6px 0 0;color:var(--muted);font:600 .8rem/1.4 var(--font-mono);letter-spacing:.02em;overflow-wrap:anywhere}
.mine .pp-af-line{color:var(--assist)}
.pp-af-note{font-size:.8rem;color:var(--haz);margin-top:5px;line-height:1.4}
.pp-af-pub{font-size:.8rem;color:var(--muted2);margin-top:6px;line-height:1.4}
.pp-af-srcinfo{font:500 .8rem/1.4 var(--font-mono);color:var(--muted);margin-top:6px;overflow-wrap:anywhere}
.pp-af-srcinfo a{color:var(--acc)}
.pp-af-fix{display:flex;gap:6px;margin-top:8px}
.pp-af-fix[hidden]{display:none}
.pp-af-fix input{flex:1;min-width:0;min-height:44px;border:1.5px solid var(--bdr);border-radius:10px;background:var(--bg2);color:var(--text);padding:0 10px;font:600 16px/1 var(--font)}
.pp-af-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:8px}
.pp-af-foot .pp-act{min-height:44px;padding:0 12px;font-size:.8rem;background:var(--pill)}
.pp-af-rows{margin-top:6px;font-size:.8rem;color:var(--muted2)}
.pp-af-rows summary{cursor:pointer;color:var(--acc);font-weight:700}
.pp-af-rows ul{margin:6px 0 0;padding-left:14px;max-height:220px;overflow-y:auto}
.pp-af-rows li{margin:3px 0;line-height:1.35}
.pp-af-flag{display:block;color:var(--fire)}
.pp-af-tag{border:none;cursor:pointer}
/* a wide card (Tier II table, hospital buildings, water) takes the whole row */
.pp-af-card[data-field="hazmat.cers"],.pp-af-card[data-field="occ.hospital_buildings"],.pp-af-card.water{grid-column:1 / -1}
/* the aerial's parcel outline, over the photo (autofill-core.js outlineSvg) */
.pp-page .pp-af-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pp-lr .pp-af-autotag{color:var(--haz)}
