/* Front Door app theme: design tokens from datarabbit.com (/callie/). Self-hosted fonts, no CDN.
   Shared header/nav styles apply to every page; everything else is scoped to body.dr so pages adopt it one by one. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/space-coast-hvac/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500 800;font-display:swap;src:url(/space-coast-hvac/fonts/inter-tight-latin.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url(/space-coast-hvac/fonts/jetbrains-mono-latin.woff2) format('woff2')}

:root{
  --dr-ground:#D6CAAD;--dr-ground-deep:#C9BC9B;--dr-card:#E3D9C1;--dr-ink:#1A1611;--dr-body:#3A3328;--dr-muted:#6B6236;
  --dr-line:rgba(26,22,17,.22);--dr-grid:rgba(242,92,5,.28);--dr-orange:#F25C05;--dr-orange-ink:#1A1611;
  --dr-dark:#1C1611;--dr-dark-text:#D6CAAD;--dr-dark-muted:#857A4C;--dr-dark-body:#BDB094;--dr-dark-line:rgba(214,202,173,.18);
  --dr-btn-bg:#1A1611;--dr-btn-text:#D6CAAD;
  --dr-ok:#2F6B2A;--dr-ok-bg:rgba(47,107,42,.14);--dr-bad:#A3260B;--dr-bad-bg:rgba(242,92,5,.16);--dr-info:#3B4B6B;--dr-info-bg:rgba(59,75,107,.12);
  --dr-display:'Inter Tight','Inter',system-ui,sans-serif;--dr-text:'Inter',system-ui,sans-serif;--dr-mono:'JetBrains Mono',ui-monospace,monospace;
  --dr-wrap:1180px;
}
:root[data-theme=dark]{
  --dr-ground:#1C1611;--dr-ground-deep:#14100C;--dr-card:#26201A;--dr-ink:#D6CAAD;--dr-body:#BDB094;--dr-muted:#857A4C;
  --dr-line:rgba(214,202,173,.18);--dr-grid:rgba(242,92,5,.22);--dr-dark:#0F0C09;--dr-btn-bg:#D6CAAD;--dr-btn-text:#1A1611;
  --dr-ok:#9BCB7E;--dr-ok-bg:rgba(155,203,126,.12);--dr-bad:#FF8A4C;--dr-bad-bg:rgba(242,92,5,.18);--dr-info:#AFC0DD;--dr-info-bg:rgba(175,192,221,.10);
}

/* ---- shared header (all pages) ---- */
header.dr-hdr{background:var(--dr-dark);color:var(--dr-dark-text);border-bottom:1px solid var(--dr-orange);padding:10px 22px;display:flex;gap:6px 20px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:10}
header.dr-hdr .brand{font-family:var(--dr-display);font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--dr-dark-text);text-decoration:none;display:inline-flex;align-items:center;gap:10px;margin-right:6px}
header.dr-hdr .brand i{font-style:normal;font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--dr-orange);text-transform:uppercase;padding-left:10px;border-left:1px solid var(--dr-dark-line)}
header.dr-hdr nav{display:flex;flex-wrap:wrap;gap:4px 18px}
header.dr-hdr nav a{font-family:var(--dr-mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-dark-text);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
header.dr-hdr nav a:hover{color:var(--dr-orange)}header.dr-hdr nav a.on{color:var(--dr-orange);border-bottom-color:var(--dr-orange)}
header.dr-hdr .themebtn{margin-left:auto;width:36px;height:36px;border:1px solid var(--dr-dark-line);background:transparent;color:var(--dr-dark-text);border-radius:0;padding:0;font-size:15px;cursor:pointer}
header.dr-hdr .themebtn:hover{color:var(--dr-orange);border-color:var(--dr-orange)}
@media(max-width:700px){header.dr-hdr{position:static;padding:10px 14px}header.dr-hdr nav{gap:2px 14px;order:3;width:100%}header.dr-hdr nav a{font-size:11px}}

/* ---- page body (opt-in: body.dr) ---- */
body.dr{background:var(--dr-ground);color:var(--dr-ink);font:16px/1.5 var(--dr-text);-webkit-font-smoothing:antialiased}
body.dr main{max-width:var(--dr-wrap);padding:28px 28px 64px}
body.dr a{color:var(--dr-ink)}body.dr a:hover{color:var(--dr-orange)}
body.dr .label{font-family:var(--dr-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-orange);margin:0 0 10px}
body.dr .muted{color:var(--dr-muted);font-size:13.5px}
body.dr .mono{font-family:var(--dr-mono)}
body.dr h1{font-family:var(--dr-display);font-weight:800;letter-spacing:-.04em;line-height:.95;font-size:clamp(34px,5vw,58px);margin:0;color:var(--dr-ink)}
body.dr h2{font-family:var(--dr-display);font-weight:800;letter-spacing:-.025em;line-height:1.05;font-size:24px;margin:0;color:var(--dr-ink)}
body.dr .sec{margin-top:44px;padding-top:18px;border-top:1px solid var(--dr-orange)}
body.dr .sec-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:16px}
body.dr .sec-hd .count{font-family:var(--dr-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted)}

/* grid of hairline-separated cells, like the site's .rules/.qa blocks */
body.dr .grid{display:grid;gap:1px;background:var(--dr-line);border:1px solid var(--dr-line)}
body.dr .grid>*{background:var(--dr-card);min-width:0}
body.dr .stats{grid-template-columns:repeat(6,1fr)}
body.dr .stat{padding:16px 18px 18px}
body.dr .stat .k{font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted)}
body.dr .stat .v{font-family:var(--dr-display);font-weight:800;font-size:40px;letter-spacing:-.04em;line-height:1;margin-top:10px}
body.dr .stat.hot .v{color:var(--dr-orange)}
@media(max-width:900px){body.dr .stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){body.dr .stats{grid-template-columns:repeat(2,1fr)}body.dr .stat .v{font-size:32px}}

body.dr .card{background:var(--dr-card);border:1px solid var(--dr-line);border-radius:0;box-shadow:none;padding:16px 18px}
body.dr .aside{background:var(--dr-card);border-left:4px solid var(--dr-orange);padding:18px 22px}
body.dr .empty{font-family:var(--dr-mono);font-size:13px;color:var(--dr-muted);padding:16px 18px;border:1px dashed var(--dr-line)}

/* list rows */
body.dr .rows{display:grid;gap:1px;background:var(--dr-line);border:1px solid var(--dr-line)}
body.dr .row{background:var(--dr-card);display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:6px 20px;padding:14px 18px;align-items:center}
body.dr .row time,body.dr .row .when{font-family:var(--dr-mono);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--dr-orange);white-space:nowrap}
body.dr .row .who{font-weight:600}body.dr .row .what{color:var(--dr-body)}
body.dr .row .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
@media(max-width:760px){body.dr .row{grid-template-columns:minmax(0,1fr)}body.dr .row .acts{justify-content:flex-start}}

/* tags (badges) */
body.dr .tag,body.dr .badge{display:inline-block;font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--dr-line);border-radius:0;color:var(--dr-ink);background:transparent;white-space:nowrap;vertical-align:1px}
body.dr .tag.hot,body.dr .b-Needs,body.dr .b-Passed{background:var(--dr-orange);border-color:var(--dr-orange);color:var(--dr-orange-ink)}
body.dr .b-Booked,body.dr .tag.ok{background:var(--dr-ok-bg);border-color:transparent;color:var(--dr-ok)}
body.dr .tag.web{background:#e7efff;border-color:transparent;color:#1f4fb3}
body.dr .tag.es{border-color:var(--dr-ink);color:var(--dr-ink)}
body.dr .b-In,body.dr .b-Noise,body.dr .b-Referred{color:var(--dr-muted)}

/* buttons */
body.dr button,body.dr a.btn{font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border:1px solid var(--dr-ink);background:transparent;color:var(--dr-ink);border-radius:0;text-decoration:none;cursor:pointer;line-height:1.2}
body.dr button:hover,body.dr a.btn:hover{background:var(--dr-orange);border-color:var(--dr-orange);color:var(--dr-orange-ink)}
body.dr a.btn.solid{background:var(--dr-btn-bg);border-color:var(--dr-btn-bg);color:var(--dr-btn-text)}
body.dr a.btn[aria-disabled]{opacity:.35;pointer-events:none}
body.dr button.good,body.dr button.bad{border-color:var(--dr-line)}
body.dr .fb-done{font-family:var(--dr-mono);font-size:11px;color:var(--dr-muted)}

/* Today header */
body.dr .today-hd{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px 40px;align-items:end;padding-bottom:28px}
body.dr .today-hd .date{font-family:var(--dr-mono);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted);margin-top:14px}
body.dr .guar .big{font-family:var(--dr-display);font-weight:800;font-size:26px;letter-spacing:-.025em;line-height:1.05}
body.dr .guar .bar{height:6px;background:var(--dr-line);margin:12px 0 10px}body.dr .guar .bar i{display:block;height:100%;background:var(--dr-orange)}
body.dr .guar ul{margin:10px 0 0;padding:0;list-style:none;font-family:var(--dr-mono);font-size:12px;color:var(--dr-body)}
body.dr .guar li{padding:4px 0;border-top:1px solid var(--dr-line)}
@media(max-width:860px){body.dr .today-hd{grid-template-columns:minmax(0,1fr)}}
body.dr .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}@media(max-width:860px){body.dr .two{grid-template-columns:minmax(0,1fr)}}
body.dr .two .sec{margin-top:44px}
body.dr .sms{font-family:var(--dr-mono);font-size:13px;line-height:1.55;color:var(--dr-body);border-left:3px solid var(--dr-orange);padding:2px 0 2px 12px;margin-top:6px;white-space:pre-wrap}
body.dr .filters{font-family:var(--dr-mono);font-size:12px;letter-spacing:.04em;color:var(--dr-muted)}

/* Conversation detail */
body.dr .conv-hd{padding-bottom:6px}
body.dr .conv-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:0 32px}
body.dr .conv-grid aside .card{margin-bottom:12px}
@media(max-width:960px){body.dr .conv-grid{grid-template-columns:minmax(0,1fr)}}
body.dr .kv{grid-template-columns:200px minmax(0,1fr)}
body.dr .kv .k{padding:12px 16px;font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted)}
body.dr .kv .v{padding:12px 16px;color:var(--dr-body)}
@media(max-width:600px){body.dr .kv{grid-template-columns:minmax(0,1fr)}body.dr .kv .k{padding-bottom:0}body.dr .kv .v{padding-top:4px}}
body.dr .timeline{display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--dr-line);padding-left:16px}
body.dr .turn{max-width:78%}body.dr .turn.cust{align-self:flex-end;text-align:left}
body.dr .turn .who{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted);margin-bottom:4px}
body.dr .turn.biz .who{color:var(--dr-orange)}
body.dr .turn .bubble{padding:10px 14px;background:var(--dr-card);border:1px solid var(--dr-line);color:var(--dr-ink);line-height:1.45}
body.dr .turn.biz .bubble{border-left:3px solid var(--dr-orange)}
body.dr .turn.cust .bubble{background:transparent;border-right:3px solid var(--dr-ink)}
@media(max-width:600px){body.dr .turn{max-width:94%}}
body.dr .vtag{font-family:var(--dr-mono);font-size:10px;color:var(--dr-muted);border:1px solid var(--dr-line);padding:0 4px;margin:0 2px;vertical-align:1px}
body.dr details.tr summary,body.dr details.decs summary{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted);cursor:pointer;margin-top:4px}
body.dr details.tr div{font-size:13.5px;color:var(--dr-body);padding:4px 0 0}
body.dr .chk{padding:5px 0;border-top:1px solid var(--dr-line);font-size:13.5px}
body.dr .fbform{display:flex;flex-direction:column;gap:8px}
body.dr .fbform input{font:14px var(--dr-text);padding:8px 10px;background:var(--dr-ground);color:var(--dr-ink);border:1px solid var(--dr-line);border-radius:0;width:100%;box-sizing:border-box}
body.dr .fbl{margin:10px 0 0;padding-left:18px;font-size:13.5px}
body.dr .dtab{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px;background:var(--dr-card)}
body.dr .dtab th,body.dr .dtab td{padding:6px 10px;border:1px solid var(--dr-line);text-align:left;color:var(--dr-body)}
body.dr .dtab th{font-family:var(--dr-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted)}

/* Follow-ups */
body.dr .fu-stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:520px){body.dr .fu-stats{grid-template-columns:repeat(2,1fr)}}
body.dr .toggles{grid-template-columns:1fr 1fr}
body.dr .toggle-cell{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 18px}
body.dr .toggle-cell.wide{grid-column:1/-1;flex-wrap:wrap}
body.dr .toggle-cell .muted{margin-top:3px}
@media(max-width:760px){body.dr .toggles{grid-template-columns:minmax(0,1fr)}}
body.dr button.sw{min-width:64px;border-color:var(--dr-line);color:var(--dr-muted)}
body.dr button.sw.on{background:var(--dr-orange);border-color:var(--dr-orange);color:var(--dr-orange-ink)}
body.dr form.nightly{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;font-family:var(--dr-mono);font-size:12px;color:var(--dr-body)}
body.dr form.nightly input[type=time],body.dr form.nightly select{font:13px var(--dr-mono);padding:6px 8px;background:var(--dr-ground);color:var(--dr-ink);border:1px solid var(--dr-line);border-radius:0}
body.dr .sms.cust{border-left-color:var(--dr-ink)}
/* follow-up rows: date label on its own line so it never collides with names */
body.dr .row.fu{grid-template-columns:minmax(0,1fr) auto;align-items:start}
body.dr .row.fu .when{grid-column:1/-1;white-space:normal}
body.dr .row.fu>div{min-width:0}
body.dr .row.fu .who,body.dr .row.fu .what,body.dr .row.fu .sms,body.dr .row.fu .muted{overflow-wrap:anywhere}

@media(max-width:760px){body.dr .row.fu{grid-template-columns:minmax(0,1fr)}}
/* Team & access */
body.dr .people{display:flex;flex-direction:column;gap:1px;background:var(--dr-line);border:1px solid var(--dr-line)}
body.dr .person{background:var(--dr-card);padding:16px 18px;display:grid;grid-template-columns:190px minmax(0,1fr) minmax(0,1fr) 260px;gap:12px 20px;align-items:start;min-width:0}
body.dr .p-hd{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
body.dr .p-hd .who{font-weight:600;font-size:16px}
body.dr .p-hd .tag{white-space:nowrap}
body.dr .p-grid{display:contents}
body.dr .p-f{min-width:0;display:flex;flex-direction:column;gap:6px}
body.dr .p-f .k{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted);height:16px;line-height:16px;white-space:nowrap}
body.dr .p-f .k b{color:var(--dr-ink)}
body.dr .p-f form{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px;align-items:stretch}
body.dr .p-f form .field{width:100%;min-width:0}
body.dr .p-f form button{width:92px}
body.dr .p-f .muted{font-size:12.5px}
body.dr .p-acts{display:flex;flex-direction:column;gap:6px;align-items:stretch;padding-top:22px}
body.dr .p-acts form{display:block;margin:0}
body.dr .p-acts button{width:100%}
body.dr .addform,body.dr form.search{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
body.dr button,body.dr a.btn{white-space:nowrap}
@media(max-width:1100px){body.dr .person{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body.dr .p-hd{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}
 body.dr .p-acts{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--dr-line)}body.dr .p-acts button{width:auto;min-width:120px}}
@media(max-width:600px){body.dr .person{grid-template-columns:minmax(0,1fr)}body.dr .p-acts form{flex:1 1 140px}body.dr .p-acts button{width:100%}}
body.dr .field{font:14px var(--dr-text);padding:7px 10px;background:var(--dr-ground);color:var(--dr-ink);border:1px solid var(--dr-line);border-radius:0;box-sizing:border-box;max-width:100%}
body.dr .addform .field{flex:1 1 160px}
body.dr form.search{margin-bottom:12px}body.dr form.search .field{flex:1 1 220px}
body.dr .roles{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
body.dr .role-cell{padding:14px 18px;color:var(--dr-body);font-size:14px}
body.dr .access label.toggle{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--dr-line)}
body.dr .access .t{display:block}body.dr .access .t .muted{display:block;margin-top:3px}
body.dr .access button{margin-top:12px}
body.dr .note{background:var(--dr-card);border:1px solid var(--dr-line);border-left:3px solid var(--dr-orange);border-radius:0;color:var(--dr-body);padding:12px 16px;margin:14px 0;box-shadow:none}
body.dr .access label.toggle{background:transparent;border-radius:0;box-shadow:none;border-left:0;border-right:0;border-top:0}
body.dr .p-f form .field,body.dr .p-f form button,body.dr .p-acts button{height:36px;box-sizing:border-box;padding-top:0;padding-bottom:0}
body.dr .p-f form .field{border-color:var(--dr-line)}
@media(max-width:600px){body.dr .p-hd{flex-direction:column;align-items:flex-start}}
body.dr .p-f form .field,body.dr .p-f form button{margin:0;align-self:stretch}
/* read-only principal (public demo) */
.demo-badge{font-family:var(--dr-mono,ui-monospace,monospace);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--dr-orange,#e8590c);color:var(--dr-orange,#e8590c);white-space:nowrap;margin-left:10px;align-self:center}
body.ro form[data-ro]{opacity:.6}
body.ro form[data-ro] button,body.ro form[data-ro] input,body.ro form[data-ro] select,body.ro form[data-ro] textarea{cursor:not-allowed}
body.ro form[data-ro] button:hover{background:transparent;color:inherit;border-color:var(--dr-line)}
/* --- polish 10/25: badges (3 styles), hero, demo banner, inert buttons --- */
body.dr .tag,body.dr .badge{background:transparent;border-color:var(--dr-line);color:var(--dr-muted)}
body.dr .tag.hot,body.dr .b-Needs,body.dr .b-Passed{background:var(--dr-orange);border-color:var(--dr-orange);color:var(--dr-orange-ink)}
body.dr .b-Booked,body.dr .tag.ok{background:var(--dr-ok-bg);border-color:transparent;color:var(--dr-ok)}
body.dr .tag.es,body.dr .b-In,body.dr .b-Noise,body.dr .b-Referred{background:transparent;border-color:var(--dr-line);color:var(--dr-muted)}
body.dr a.btn.lite,body.dr .btn.lite,body.dr .row .acts button.good,body.dr .row .acts button.bad{border-color:var(--dr-line);color:var(--dr-muted)}
body.dr .btn.inert{display:inline-block;font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border:1px dashed var(--dr-line);color:var(--dr-muted);opacity:.55;cursor:not-allowed;white-space:nowrap}
body.dr .today-hd{align-items:start}
body.dr .today-hd .hd-main{min-width:0}
body.dr .today-hd .hero-stats{grid-template-columns:repeat(3,1fr);margin-top:8px}
body.dr .today-hd .hero-stats .stat .v{font-size:34px}
body.dr .stats-per{font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted);margin-top:22px}
body.dr .yday{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;background:var(--dr-card);border:1px solid var(--dr-line);padding:10px 14px}
body.dr .yday .k{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted)}
body.dr .yday .sms-line{font-weight:600;color:var(--dr-ink);overflow-wrap:anywhere}
@media(max-width:520px){body.dr .today-hd .hero-stats{grid-template-columns:repeat(2,1fr)}}
body.dr .why{font-size:13.5px;color:var(--dr-body);margin-top:4px;font-style:italic}
body.dr .payload .k{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted);margin-top:8px}
body.dr .vt{display:none;font-size:12.5px;color:var(--dr-muted);margin-top:4px}
body.dr:has(#vt-on:checked) .vt{display:block}
body.dr .vt-toggle{display:inline-flex;gap:6px;align-items:center;font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dr-muted);margin-bottom:12px;cursor:pointer}
.demo-banner{background:var(--dr-card,#fff);border-bottom:1px solid var(--dr-line,#ddd);border-left:4px solid var(--dr-orange,#e8590c);padding:10px 24px;font-size:14px;color:var(--dr-body,#333)}
.demo-banner p{margin:2px 0}.demo-banner b{color:var(--dr-ink,#111)}
/* What Callie can do */
body.dr .lede{color:var(--dr-body);max-width:640px;margin:12px 0 0}
body.dr .acols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--dr-line);border:1px solid var(--dr-line)}
body.dr .acol{background:var(--dr-card);padding:16px 18px;border-top:4px solid var(--dr-line);min-width:0}
body.dr .acol.k-ok{border-top-color:var(--dr-ok)}body.dr .acol.k-hot{border-top-color:var(--dr-orange)}body.dr .acol.k-never{border-top-color:var(--dr-ink)}
body.dr .acol-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
body.dr .acol-hd .label{margin:0}body.dr .acol ul{margin:0;padding-left:18px;color:var(--dr-body)}body.dr .acol li{margin:6px 0;overflow-wrap:anywhere}
@media(max-width:900px){body.dr .acols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){body.dr .acols{grid-template-columns:minmax(0,1fr)}}
body.dr .rules{display:grid;gap:1px;background:var(--dr-line);border:1px solid var(--dr-line)}
body.dr .rule-row{background:var(--dr-card);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 24px;padding:14px 18px}
body.dr .rule-row .rk{font-family:var(--dr-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-orange)}
body.dr .rule-row .rv{color:var(--dr-ink);overflow-wrap:anywhere;margin-top:2px}
body.dr .rtags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}body.dr .rtags .tag{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){body.dr .rule-row{grid-template-columns:minmax(0,1fr)}}
/* reviewed flag = handled (grey) */
body.dr .b-Reviewed{background:transparent;border:1px solid var(--dr-line);color:var(--dr-muted)}
/* compact header under 1100px: brand + toggle on one row, nav one scrollable row */
@media(max-width:1100px){
header.dr-hdr{flex-wrap:wrap;row-gap:6px}
header.dr-hdr nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;gap:0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 92%,transparent)}
header.dr-hdr nav::-webkit-scrollbar{display:none}
header.dr-hdr nav a{white-space:nowrap;flex:none}
header.dr-hdr .themebtn{margin-left:auto;order:2;width:32px;height:32px}
}
/* rows: room for long weekday times; under 1100px the action buttons drop below the text instead of squeezing it */
body.dr .row{grid-template-columns:170px minmax(0,1fr) auto}
@media(max-width:1100px) and (min-width:761px){body.dr .row:not([style]){grid-template-columns:170px minmax(0,1fr)}body.dr .row:not([style]) .acts{grid-column:2;justify-content:flex-start}}
@media(max-width:760px){body.dr .row{grid-template-columns:minmax(0,1fr)}}

/* Today: calls+texts by hour */
body.dr .hourchart{margin-top:1px;background:var(--dr-card);border:1px solid var(--dr-line);padding:14px 18px 12px}
body.dr .hc-k{font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dr-muted)}
body.dr .hc-svg{display:block;width:100%;height:104px;margin-top:10px;shape-rendering:crispEdges}
body.dr .hc-shade{fill:var(--dr-ink);opacity:.08}
body.dr .hc-in{fill:var(--dr-muted)}
body.dr .hc-out{fill:var(--dr-orange)}
body.dr .hc-base{stroke:var(--dr-line);stroke-width:1;vector-effect:non-scaling-stroke}
body.dr .hc-x{display:grid;grid-template-columns:repeat(24,1fr);margin-top:4px;font-family:var(--dr-mono);font-size:10.5px;font-weight:700;color:var(--dr-muted)}
body.dr .hc-x span{white-space:nowrap;overflow:visible}
body.dr .hc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:10px;font-size:13.5px}
body.dr .hc-stat{font-weight:700;color:var(--dr-ink)}body.dr .hc-n{font-weight:400;color:var(--dr-muted)}
body.dr .hc-cap{font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dr-muted)}
@media(max-width:520px){body.dr .hc-x .m3{visibility:hidden}body.dr .hc-svg{height:96px}}

/* Schedule: fixed grid per visit so chips never push the assign controls around */
body.dr .sch-hd{grid-template-columns:minmax(0,1fr)}
body.dr .sch-note{margin:0 0 18px;font-family:var(--dr-mono);font-size:13px;color:var(--dr-ink)}
body.dr .sch-row{background:var(--dr-card);display:grid;grid-template-columns:170px minmax(0,1fr) 140px 270px;grid-template-areas:"when main chip act";gap:8px 20px;padding:14px 18px;align-items:center}
body.dr .sch-when{grid-area:when}body.dr .sch-main{grid-area:main;min-width:0}body.dr .sch-chip{grid-area:chip;min-width:0}body.dr .sch-act{grid-area:act;min-width:0}
body.dr .sch-when .when{font-family:var(--dr-mono);font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--dr-orange);white-space:nowrap}
body.dr .sch-win{font-family:var(--dr-mono);font-size:11px;color:var(--dr-muted);margin-top:2px}
body.dr .sch-main .who{font-weight:600;color:var(--dr-ink)}body.dr .sch-main .what{color:var(--dr-body);overflow-wrap:anywhere}
body.dr .sch-main a.who{text-decoration:underline;text-decoration-color:var(--dr-line,#ccc);text-underline-offset:3px}body.dr .sch-main a.who:hover{color:var(--dr-orange)}
body.dr .sch-sum{overflow-wrap:anywhere}
body.dr .sch-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
body.dr .sch-chip .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
body.dr .sch-form{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:6px;margin:0;width:100%}
body.dr .sch-form select{font:12px var(--dr-mono);padding:6px 8px;height:31px;background:var(--dr-ground);color:var(--dr-ink);border:1px solid var(--dr-line);border-radius:0;min-width:0;width:100%}
body.dr .sch-form button{height:31px;padding:0 8px;width:100%}
body.dr .sch-exp{display:block;font-family:var(--dr-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dr-muted);text-align:right}
@media(max-width:1100px){body.dr .sch-row{grid-template-columns:150px minmax(0,1fr) 270px;grid-template-areas:"when main main" "chip chip act"}
  body.dr .sch-chip{align-self:center}}
@media(max-width:1100px) and (min-width:761px){body.dr .sch-row{grid-template-areas:"when main main" "when chip act"}}
@media(max-width:760px){body.dr .sch-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"when" "main" "chip" "act"}body.dr .sch-exp{text-align:left}}
body.dr .sch-lede{max-width:none}
/* membership badge (Today, Schedule, call detail) */
.tag.member,body.dr .tag.member{background:var(--dr-info-bg);border-color:var(--dr-info);color:var(--dr-info);white-space:nowrap}
/* callback list */
body.dr .cb-age{font-family:var(--dr-mono);font-size:12px;font-weight:700;color:var(--dr-bad)}
body.dr .cb-why{font-size:12.5px;color:var(--dr-muted)}
body.dr .cb-preview{white-space:pre-wrap;font-family:var(--dr-mono);font-size:12.5px;background:var(--dr-card);border:1px dashed var(--dr-line);padding:12px 14px;color:var(--dr-body)}
/* t318: pills never sit inside a run of text. Fixed-height pills; anything that mixes text + pills is a flex row. */
body.dr .tag,body.dr .badge{display:inline-flex;align-items:center;box-sizing:border-box;height:20px;line-height:1;padding:0 7px;margin:0;vertical-align:middle}
body.dr .meta,body.dr .row .who,body.dr .sch-name,body.dr .p-hd .who{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:4px}
body.dr .meta{margin:0 0 4px}body.dr .meta:last-child{margin-bottom:0}body.dr .meta .what{margin:0}
body.dr .sch-name{font-weight:600;color:var(--dr-ink)}body.dr .sch-name .muted{font-weight:400}
body.dr .chk{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;align-items:center;margin:4px 0}body.dr .chk>.muted{grid-column:2}
body.dr .addr-chk{margin:6px 0 2px;font-size:13px;line-height:1.45}
body.dr .av-st{display:flex;align-items:center;gap:7px;font-weight:600;color:var(--dr-ink)}
body.dr .av-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--dr-muted)}
body.dr .av-ok .av-dot{background:#2f9e5b}body.dr .av-warn .av-dot{background:#d99a1e}body.dr .av-none .av-dot{background:#9a968c}
body.dr .av-x{font-weight:400;color:var(--dr-muted)}
body.dr .av-line{color:var(--dr-body);padding-left:15px;overflow-wrap:anywhere}body.dr .av-k{color:var(--dr-muted);margin-right:4px}

/* t319: no sideways scroll on phones */
body.dr .turn .bubble,body.dr .turn .vt,body.dr .turn details,body.dr .kv .v,body.dr .sec .v,body.dr .facts,body.dr .empty{overflow-wrap:anywhere;min-width:0}
body.dr .conv-grid>*{min-width:0}
@media(max-width:700px){table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}select,input,textarea{max-width:100%}label{overflow-wrap:anywhere}}
.fm-bar label{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0}.fm-bar select{min-width:0;flex:1 1 auto;width:auto}
