/* Palette and type taken from the user's original Building App source.
   Keep Permit Digester's address/results layout; do not copy building content. */
:root {
  color-scheme: light;
  --bg:#E9E8E2; --panel:#FFFFFF; --panel-2:#F5F5F2;
  --text:#0E0D0B; --cream:#0E0D0B; --muted:#65666A;
  --line:#E3E3E3; --orange:#006875; --green:#006875;
  --yellow:#FFCE2D; --tint:#F4EFE0; --danger:#A5231B; --danger-bg:#FBEEEC;
  --focus:#006875; --mono:Consolas,ui-monospace,"SF Mono",Menlo,"Liberation Mono",monospace;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
@media (prefers-color-scheme:dark) {
  :root {
    color-scheme:dark; --bg:#050504; --panel:#0E0D0B; --panel-2:#171612;
    --text:#F4EFE0; --cream:#F4EFE0; --muted:#A6A49C; --line:#2D2C28;
    --orange:#5CC0CC; --green:#5CC0CC; --tint:#1D1B15; --focus:#5CC0CC;
    --danger:#F2A59C; --danger-bg:#2A1714;
  }
}
[hidden] { display:none !important; }
body { background:var(--bg); line-height:1.5; }
.shell { width:min(900px,calc(100% - 48px)); }
.app-header { border-bottom:1px solid var(--text); padding-bottom:20px; margin-bottom:50px; flex-wrap:wrap; }
.brand-mark { background:var(--yellow); color:#0E0D0B; transform:none; font-size:30px; width:30px; line-height:38px; text-align:center; }
.wordmark,.wordmark span { color:var(--text); }
.boundary i { background:var(--orange); box-shadow:none; }
h1,h2,.permit-number { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.eyebrow,.section-label > span,.count { color:var(--muted); }
.prompt-card,.results-card,.permit-hero,.detail-card,.pin-card { background:var(--panel); border:1px solid var(--line); border-radius:0; box-shadow:none; }
.prompt-card { border-top:5px solid var(--yellow); }
textarea,.pin-card input { background:var(--panel-2); color:var(--text); border:1px solid var(--line); border-radius:0; }
textarea::placeholder { color:var(--muted); }
textarea:focus,.pin-card input:focus { outline:2px solid var(--focus); outline-offset:2px; box-shadow:none; }
.pin-card label { color:var(--text); }
.pin-note { color:var(--muted); }
#pin-message { color:var(--danger); }
button { background:var(--yellow); border:1px solid #0E0D0B; color:#0E0D0B; border-radius:0; min-height:44px; }
button:hover { background:var(--yellow); filter:brightness(.96); }
.secondary-button { background:transparent; border-color:var(--text); color:var(--text); }
.secondary-button:hover { background:var(--panel-2); filter:none; }
.watch-state.active { color:var(--green); }
.watch-state.warning,.monitor-error { color:var(--danger); }
.alert-card { background:var(--tint); border:1px solid var(--line); border-radius:0; }
.lookup-summary { background:var(--panel-2); border-color:var(--line); border-radius:0; }
.source-link,.source-link:hover,.raw-source-link { color:var(--orange); }
.source-link { font-size:12px; min-height:32px; padding-block:5px; text-decoration:underline; text-underline-offset:3px; }
.status-pill { background:var(--tint); border-color:var(--line); color:var(--text); border-radius:0; }
.raw-source-link { border-radius:0; display:inline-block; margin-top:10px; }
.raw-source-link:hover { background:var(--panel-2); }
.detail-error { color:var(--danger); background:var(--danger-bg); border:1px solid var(--danger); border-radius:0; }
.record-preview { padding-top:32px; scroll-margin-top:24px; }
.preview-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; border-bottom:1px solid var(--text); padding-bottom:16px; }
.preview-heading h2 { margin:0; }
.preview-heading button { margin:0; width:auto; }
.detail-card h3 { margin:0 0 18px; font:400 22px/1.2 Georgia,"Times New Roman",serif; }
.source-fields,.technical-source { margin-top:20px; }
summary { cursor:pointer; padding:10px 0; font-size:14px; }
summary:focus-visible,a:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.source-table-wrap { max-width:100%; overflow-x:auto; }
.source-table { border-collapse:collapse; width:100%; table-layout:fixed; font-size:13px; }
.source-table caption { text-align:left; color:var(--muted); padding-block:12px; }
.source-table th,.source-table td { text-align:left; vertical-align:top; padding:12px; border:1px solid var(--line); overflow-wrap:anywhere; }
.source-table th { width:38%; font-weight:400; background:var(--panel-2); }
.technical-source { color:var(--muted); border-top:1px solid var(--line); }
@media (max-width:600px) {
  .shell { width:calc(100% - 28px); }
  .app-header { gap:14px; margin-bottom:34px; }
  .preview-heading { align-items:flex-start; flex-direction:column; }
  .preview-heading button { width:auto; }
  .source-table th,.source-table td { padding:9px; }
}
