/* GENERATED by tools/dark-css.mjs from app.css - don't edit by hand (run: node tools/dark-css.mjs) */
html[data-theme="dark"] { color-scheme: dark;
  --navy-text: #b7d2ee; --blue-text: #6cb6ea; --bg: #0c131b; --soft: #1a2a3c; --card: #152130; --text: #e3eaf3; --muted: #99a8ba; --line: #2b3b4e;
  --danger: #f2877b; --ok: #4cc38a; }
html:not([data-theme="dark"]) { --navy-text: var(--navy); --blue-text: var(--blue); }
html[data-theme="dark"] img:not([src$=".svg"]) { color-scheme: normal; }
/* the estimate / invoice "paper" stays light, like the printed copy */
html[data-theme="dark"] .pp-doc, html[data-theme="dark"] .pp-page { color-scheme: light; --navy: #0F2A4A; --blue: #2B7DB3; --bg: #EEF3F8; --soft: #E1EEF8; --card: #fff; --text: #1F2A37; --muted: #5B6778; --line: #D5DEE8; --danger: #B42318; --ok: #1E7F4F; --navy-text: #0F2A4A; --blue-text: #2B7DB3; }
html[data-theme="dark"] .pp-page { color: var(--text); }
html[data-theme="dark"] .hm-logo, html[data-theme="dark"] .nav-brand img, html[data-theme="dark"] .auth-logo { background: #fff; border-radius: 10px; padding: 4px 8px; }

html[data-theme="dark"] h2 { color: var(--navy-text); }
html[data-theme="dark"] a { color: var(--blue-text); }
html[data-theme="dark"] .nav { background: var(--card); }
html[data-theme="dark"] .nav-item[aria-current="page"] { color: var(--navy-text); }
html[data-theme="dark"] .icon-btn.plain { color: var(--navy-text); }
html[data-theme="dark"] .btn.ghost { background: var(--card); color: var(--navy-text); }
html[data-theme="dark"] .btn.danger-ghost { border-color: #422320; }
html[data-theme="dark"] .link { color: var(--blue-text); }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea { background: var(--card); }
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus { border-color: var(--blue-text); }
html[data-theme="dark"] .row-card { background: var(--card); }
html[data-theme="dark"] .row-card:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .pill.soft { color: var(--blue-text); }
html[data-theme="dark"] .chip { background: var(--card); color: var(--navy-text); }
html[data-theme="dark"] .chip.on { border-color: var(--navy-text); }
html[data-theme="dark"] .status { color: var(--navy-text); }
html[data-theme="dark"] .st-lead { background: #171e26; color: #acc0d8; }
html[data-theme="dark"] .st-inspection-scheduled { background: #352a0f; color: #ffd993; }
html[data-theme="dark"] .st-estimate-sent { background: #0d172d; color: #859fe6; }
html[data-theme="dark"] .st-sold { background: #1b2e23; }
html[data-theme="dark"] .st-scheduled { background: #192724; color: #a8f3e7; }
html[data-theme="dark"] .st-in-progress { background: #1a0c2a; color: #b186dd; }
html[data-theme="dark"] .st-complete { background: #192d19; color: #a9e3ad; }
html[data-theme="dark"] .st-lost { background: #2d1a18; }
html[data-theme="dark"] .qbtn { color: var(--navy-text); }
html[data-theme="dark"] .backdrop { background: rgba(141, 182, 232, 0.45); }
html[data-theme="dark"] .sheet { background: var(--card); }
html[data-theme="dark"] .dialog { background: var(--card); }
html[data-theme="dark"] .toast { background: #33465c; }
html[data-theme="dark"] .auth h1 { color: var(--navy-text); }
html[data-theme="dark"] .k-inspection { --k: #7fbae0; --kbg: #13212b; }
html[data-theme="dark"] .k-estimate { --k: #f6ad65; --kbg: #312211; }
html[data-theme="dark"] .k-install { --k: #9ee8c4; --kbg: #1b2e23; }
html[data-theme="dark"] .k-followup { --k: #a77ed3; --kbg: #1e1229; }
html[data-theme="dark"] .k-other { --k: #a8b1bd; --kbg: #1a1d21; }
html[data-theme="dark"] .kind-dot { background: var(--k, #79879a); }
html[data-theme="dark"] .appt-actions .btn { background: var(--card); }
html[data-theme="dark"] .seg { background: var(--card); }
html[data-theme="dark"] .seg-b { color: var(--navy-text); }
html[data-theme="dark"] .month { background: var(--card); }
html[data-theme="dark"] .mday.out { background: #11161b; }
html[data-theme="dark"] .mday.out .mnum { color: #76879c; }
html[data-theme="dark"] .mnum { color: var(--navy-text); }
html[data-theme="dark"] .more { color: var(--blue-text); }
@media (min-width: 900px) {
html[data-theme="dark"] .week { background: var(--card); }
}
html[data-theme="dark"] .wday { background: var(--card); }
html[data-theme="dark"] .wday.today { background: #0c1721; }
html[data-theme="dark"] .wh { color: var(--navy-text); }
html[data-theme="dark"] .wday.today .wh b { color: var(--blue-text); }
html[data-theme="dark"] .board::-webkit-scrollbar-thumb { background: #2e3d4f; }
html[data-theme="dark"] .board::-webkit-scrollbar-track { background: #1c232a; }
html[data-theme="dark"] .bcol { background: #1a2129; }
html[data-theme="dark"] .bcol.drop { background: #1b2735; }
html[data-theme="dark"] .bempty { color: #8794a6; border: 2px dashed #2b333c; }
html[data-theme="dark"] .bcard { background: var(--card); }
html[data-theme="dark"] .bcard:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .bc-top { color: var(--navy-text); }
html[data-theme="dark"] .files-card.drop-on { outline-color: var(--blue-text); }
html[data-theme="dark"] .pthumb .pcap { background: linear-gradient(transparent, rgba(215, 221, 229, 0.7)); }
html[data-theme="dark"] .pthumb:focus-visible { outline: 3px solid var(--blue-text); }
html[data-theme="dark"] .dtext b { color: var(--navy-text); }
html[data-theme="dark"] .v-cap { color: #526b83; }
html[data-theme="dark"] .m-row.m-total { color: var(--navy-text); }
html[data-theme="dark"] .timeline li.call .tl-body { border-left: 3px solid var(--blue-text); }
html[data-theme="dark"] .timeline li.call .tl-body::first-line { color: var(--navy-text); }
html[data-theme="dark"] .mdir.in { background: #0c1a2a; color: var(--blue-text); }
html[data-theme="dark"] .mdir.out { background: #16251c; }
html[data-theme="dark"] .mrow.failed .mdir { background: #270f0d; }
html[data-theme="dark"] .mrow.unread .mtop b,
html[data-theme="dark"] .mrow.unread .msub { color: var(--navy-text); }
html[data-theme="dark"] .pill.ok { background: #16251c; }
html[data-theme="dark"] .pill.bad { background: #270f0d; }
html[data-theme="dark"] .mail-quote summary { color: var(--blue-text); }
html[data-theme="dark"] button.qbtn { color: var(--navy-text); }
html[data-theme="dark"] .mlist.selecting .mrow::before { background: var(--card); }
html[data-theme="dark"] .mlist.selecting .mrow.picked { background: #0c1a2a; }
html[data-theme="dark"] .mlist.selecting .mrow.picked::before { border-color: var(--blue-text); }
html[data-theme="dark"] .pe-pg.sel { border-color: var(--blue-text); }
html[data-theme="dark"] .switch span { background: #2b323a; }
html[data-theme="dark"] .switch span::after { background: var(--card); }
html[data-theme="dark"] .switch input:focus-visible + span { outline: 3px solid var(--blue-text); }
html[data-theme="dark"] .pe-item.optional { background: #28220c; }
html[data-theme="dark"] .pe-line-total { color: var(--navy-text); }
html[data-theme="dark"] .pe-addopt { background: var(--card); }
html[data-theme="dark"] .pe-picker .pthumb.picked { outline: 4px solid var(--blue-text); }
html[data-theme="dark"] .mk-color { border: 3px solid rgba(16, 17, 20, 0.3); }
html[data-theme="dark"] .mk-color.on { border-color: #101114; }
html[data-theme="dark"] .mk-textbox { background: var(--card); }
html[data-theme="dark"] .mk-textbox input { color: #ced8e3; }
html[data-theme="dark"] .pe-mode-opt.on { border-color: var(--blue-text); background: #0b1726; }
html[data-theme="dark"] .pe-h3 { color: var(--navy-text); }
html[data-theme="dark"] .pe-head-total b { color: var(--navy-text); }
@media (min-width: 1250px) {
html[data-theme="dark"] .pe-live { background: #79879a; }
}
html[data-theme="dark"] .sheet.drop-on { outline: 3px dashed var(--blue-text); }
html[data-theme="dark"] .pe-pdf-show { background: #79879a; }
html[data-theme="dark"] body.cust { background: #79879a; }
html[data-theme="dark"] .pe-signed { background: #0f261b; border: 1px solid #22523c; }
html[data-theme="dark"] .pe-signed img { background: var(--card); }
html[data-theme="dark"] .mb.ok { background: #12301c; color: #adedc6; }
html[data-theme="dark"] .mb.warn { background: #3e3613; color: #f4b690; }
html[data-theme="dark"] .mb.info { background: #101e32; color: #8099e9; }
html[data-theme="dark"] .mb.soft { background: #161b21; color: #b1bbca; }
html[data-theme="dark"] .pill.warn { background: #3e3613; color: #f4b690; }
html[data-theme="dark"] .pay-row { background: var(--card); }
html[data-theme="dark"] .pe-dep { border-top: 1px solid #22523c; }
html[data-theme="dark"] .iv-tot b { color: var(--navy-text); }
html[data-theme="dark"] .ce-frame { background: #b5c0d0; }
html[data-theme="dark"] .ce-help { color: #617083; }
html[data-theme="dark"] .role-opt:has(input:checked) { border-color: var(--blue-text); background: #0b1726; }
html[data-theme="dark"] .rv-stars { color: #fed053; }
html[data-theme="dark"] .rv-card { border-left: 4px solid #f6b401; }
html[data-theme="dark"] .rv-banner { background: #2e270d; border: 1px solid #7d610d; }
html[data-theme="dark"] .rv-chip { background: var(--card); border: 1px solid #8a6b10; color: var(--navy-text); }
html[data-theme="dark"] .rv-warn { background: #2c1f0d; border: 1px solid #88580b; color: #ffd99c; }
html[data-theme="dark"] .rv-frame-wrap { background: #161b21; }
html[data-theme="dark"] .rv-inbox { background: var(--card); }
html[data-theme="dark"] .rv-frame { background: #161b21; }
html[data-theme="dark"] .rv-help summary { color: var(--blue-text); }
html[data-theme="dark"] .madd { color: var(--blue-text); }
html[data-theme="dark"] .mday.drop,
html[data-theme="dark"] .wday.drop { background: #1b2735 !important; }
html[data-theme="dark"] .ca-big { background: var(--card); }
html[data-theme="dark"] .ca-big:hover { border-color: var(--blue-text); background: #0f161d; }
html[data-theme="dark"] .ca-pick { background: var(--card); }
html[data-theme="dark"] .ca-pick:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .ca-job:has(input:checked) { border-color: var(--navy-text); background: #12171e; }
html[data-theme="dark"] .cf { background: var(--card); }
html[data-theme="dark"] .cf-check input { accent-color: var(--navy-text); }
html[data-theme="dark"] .cf-sw.status { border: 1px solid rgba(215, 221, 229, 0.12); }
html[data-theme="dark"] .cf-only { color: var(--blue-text); }
html[data-theme="dark"] .done-sum > div { background: var(--card); }
html[data-theme="dark"] .done-sum b { color: var(--navy-text); }
html[data-theme="dark"] .done-card { background: var(--card); }
html[data-theme="dark"] .done-card:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .board-tools .seg-b { background: var(--card); }
html[data-theme="dark"] .st-bar { background: #1a2027; }
html[data-theme="dark"] .mo-tile { background: var(--card); }
html[data-theme="dark"] .mo-tile:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .mo-tile b { color: var(--navy-text); }
html[data-theme="dark"] .mo-tile.warn b { color: #ffcf89; }
html[data-theme="dark"] .mo-ytd-nums b { color: var(--navy-text); }
html[data-theme="dark"] .mo-plot { background: linear-gradient(to bottom, transparent calc(50% - .5px), #171c21 calc(50% - .5px), #171c21 calc(50% + .5px), transparent calc(50% + .5px)); }
html[data-theme="dark"] .mo-col:focus-visible .mo-bars { outline: 2px solid var(--blue-text); }
html[data-theme="dark"] .s1 { background: #2770c8; }
html[data-theme="dark"] .s2 { background: #c34513; }
html[data-theme="dark"] .mo-table summary { color: var(--blue-text); }
html[data-theme="dark"] .mo-row { background: var(--card); }
html[data-theme="dark"] .mo-row:hover { border-color: var(--blue-text); }
html[data-theme="dark"] .mo-amt { color: var(--navy-text); }
html[data-theme="dark"] .section-h .seg-b { background: var(--card); }
html[data-theme="dark"] .pe-isearch input { border: 1px solid var(--line, #292d33); }
html[data-theme="dark"] .pe-logo-opt { border: 2px solid var(--line, #292d33); background: var(--card); color: var(--muted, #aab2bd); }
html[data-theme="dark"] .pe-logo-opt.on { border-color: var(--blue, #2770c8); color: var(--navy-text); }
html[data-theme="dark"] .pe-logo-lib img { background: var(--card); border: 1px solid var(--line, #292d33); }
html[data-theme="dark"] .mo-high { color: var(--muted, #aab2bd); }
html[data-theme="dark"] .pe-cover-details { border: 1px solid var(--line, #292d33); background: var(--card); }
html[data-theme="dark"] .pe-cv-ed { color: #f4b690; background: #3e3613; }
html[data-theme="dark"] .linkish { color: var(--blue, #6ea3e3); }
html[data-theme="dark"] .bk-due { background: #3e3613; color: #f4b690; }
html[data-theme="dark"] .bk-bar { background: #1d2227; }
html[data-theme="dark"] .bk-bar i { background: var(--blue, #2770c8); }
html[data-theme="dark"] .hm-hi { color: var(--navy-text); }
html[data-theme="dark"] .hm-ql { color: var(--navy-text); }
html[data-theme="dark"] .hm-h .hm-chev { color: var(--blue-text); }
html[data-theme="dark"] .hm-count { background: #2d1110; }
html[data-theme="dark"] .hm-chev { color: #7d8d9f; }
html[data-theme="dark"] .hm-time { color: var(--blue-text); }
html[data-theme="dark"] .hm-clear { background: linear-gradient(135deg, var(--card) 60%, var(--soft)); }
html[data-theme="dark"] .hm-clear b { color: var(--navy-text); }
html[data-theme="dark"] .hm-ico.rv { background: #3e3613; }
html[data-theme="dark"] .hm-ico.inv,
html[data-theme="dark"] .hm-ico.col { background: #2d1110; }
html[data-theme="dark"] .hm-ico.dep { background: #12301c; }
html[data-theme="dark"] .hm-job-img { background: linear-gradient(135deg, var(--soft), #212f3c); }
html[data-theme="dark"] .hm-job-t b { color: var(--navy-text); }
html[data-theme="dark"] .hm-tag { background: var(--card); color: var(--navy-text); }
html[data-theme="dark"] .ptr { background: var(--card); color: var(--navy-text); }
html[data-theme="dark"] .sec-2fa.on { background: #17271f; }
html[data-theme="dark"] .pill.ok { background: #12301c; }
html[data-theme="dark"] .sec-h { color: var(--navy-text); }
html[data-theme="dark"] .sec-ev.warn .sec-ico { background: #2d1110; }
html[data-theme="dark"] .sec-alert { background: #2d1110; }
@media (max-width: 899px) {
html[data-theme="dark"] .nav-item[aria-current="page"] { color: var(--navy-text); }
}
html[data-theme="dark"] .hm-ql span { color: var(--blue-text); }
html[data-theme="dark"] .off-bar { background: #a9b8ce; }
html[data-theme="dark"] .off-bar.bad { outline: 2px solid #531b1b; }
html[data-theme="dark"] .wt-row { border: 1px solid var(--line, #222327); }
html[data-theme="dark"] .wt-row.bad { border-color: #531b1b; background: #230c0c; }
html[data-theme="dark"] .prob { border: 1px solid var(--line, #222327); }
html[data-theme="dark"] .prob-k { color: #f8b17b; }
html[data-theme="dark"] .prob-pre { background: #181a1c; }
html[data-theme="dark"] .exp-sum > div { background: #14191f; }
html[data-theme="dark"] .exp-sum b { color: var(--navy-text); }
html[data-theme="dark"] .exp-profit .small { color: var(--muted, #a8b1bd); }
html[data-theme="dark"] .exp-row { background: var(--card); border: 1px solid #1e2329; }
html[data-theme="dark"] .exp-row:hover { border-color: #2e3d4f; }
html[data-theme="dark"] .exp-ic { background: #14191f; }
html[data-theme="dark"] .exp-amt { color: var(--navy-text); }
html[data-theme="dark"] .exp-photo { background: #14191f; }
html[data-theme="dark"] .exp-status { background: #111b23; color: var(--navy-text); }
html[data-theme="dark"] .exp-status.ok { background: #16261d; color: #adedcc; }
html[data-theme="dark"] .exp-status.warn { background: #2c210d; color: #ffd493; }
html[data-theme="dark"] .exp-view { background: rgba(215, 221, 229, 0.88); }
html[data-theme="dark"] .exp-view button { background: var(--card); }
html[data-theme="dark"] .exp-switch { border: 1px solid #1e2329; }
html[data-theme="dark"] .exp-switch .sw { background: #2b323a; }
html[data-theme="dark"] .exp-switch .sw::after { background: var(--card); }
html[data-theme="dark"] .exp-switch input:focus-visible + .sw { outline: 3px solid var(--blue-text); }
html[data-theme="dark"] .exp-bills { background: #11151c; border: 1px solid #1e2329; }
html[data-theme="dark"] .warn-text { color: #ffd493; }
html[data-theme="dark"] .theme-seg .seg-b { color: var(--navy-text); }
