@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-Regular-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-Regular-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexSans-Regular-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-Medium-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-Medium-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexSans-Medium-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-SemiBold-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-SemiBold-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexSans-SemiBold-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-Bold-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-Bold-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexSans-Bold-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold-Latin1.woff2) format("woff2");unicode-range:U+0000,U+000D,U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold-Latin2.woff2) format("woff2");unicode-range:U+0100-0101,U+0104-0130,U+0132-0151,U+0154-017F,U+018F,U+0192,U+01A0-01A1,U+01AF-01B0,U+01FA-01FF,U+0218-021B,U+0237,U+0259,U+1E80-1E85,U+1E9E,U+20A1,U+20A4,U+20A6,U+20A8-20AA,U+20AD-20AE,U+20B1-20B2,U+20B4-20B5,U+20B8-20BA,U+20BD,U+20BF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold-Latin3.woff2) format("woff2");unicode-range:U+0102-0103,U+01CD-01DC,U+1EA0-1EF9,U+20AB}:root{--bg: #f1f3f6;--panel: #ffffff;--panel-2: #f6f8fa;--line: #e6e9ee;--line-2: #d7dbe2;--ink: #191c22;--ink-2: #3d424b;--muted: #6b7280;--faint: #9aa0ab;--placeholder: #6b7280;--accent: #6bbf3a;--accent-hover: #5fad31;--accent-ink: #0a0b0d;--money: #3f9a2f;--accent-soft: rgba(107, 191, 58, .12);--accent-soft-2: rgba(107, 191, 58, .2);--accent-glow: rgba(107, 191, 58, .3);--side-bg: #15171c;--side-bg-2: #1d2027;--side-ink: #e8eaee;--side-muted: #8a8f9a;--side-line: #272b33;--side-active-bg: rgba(107, 191, 58, .16);--side-active-ink:#93d95f;--ok: #3f9a2f;--warn: #8A5D00;--bad: #C23A34;--info-bg: #e8f1ff;--info-fg: #2563a8;--control-bg: #ffffff;--surface-2: #f6f7f9;--warn-soft: #fbf1dc;--warn-line: #e6d3a6;--due-soft: #fdf9ef;--bad-soft: #fdf3f2;--info-soft: #e7eefc;--panel-3: #fafbfc;--blocked-bg: #fdf4f4;--cream: #fffdf6;--chip-day-bg: #e4f0dc;--chip-day-fg: #245b24;--tech-note-bg: #efeafc;--tech-note: #6a4fbf;--radius: 14px;--radius-sm: 9px;--radius-lg: 20px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .05);--shadow-lg: 0 10px 30px rgba(16, 24, 40, .1);color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg)}body{margin:0;font:14px/1.5 IBM Plex Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{letter-spacing:-.015em}button{font:inherit;font-weight:600;padding:8px 14px;border:1px solid var(--line-2);background:var(--control-bg);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .04s}button:hover:not(:disabled){border-color:var(--accent)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}.linkbtn{border:none;background:none;color:var(--accent);padding:2px 4px;font-weight:600;cursor:pointer}.linkbtn:hover{color:var(--accent-hover);text-decoration:underline}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.muted{color:var(--muted)}.small{font-size:12px}code{font-family:IBM Plex Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:12px}.brand{display:inline-flex;align-items:center;gap:10px}.brand__mark{display:inline-flex;align-items:flex-start;gap:5px;font-weight:900;font-size:22px;letter-spacing:.04em;color:#fff;line-height:1}.brand--lg .brand__mark{font-size:46px;letter-spacing:.03em}.shell{display:flex;min-height:100vh;align-items:stretch}.sidebar{width:236px;flex:0 0 236px;background:var(--side-bg);color:var(--side-ink);display:flex;flex-direction:column;padding:18px 14px 16px;position:sticky;top:0;height:100vh;border-right:1px solid var(--side-line)}.sidebar__brand{padding:4px 10px 22px}.sidebar__nav{display:flex;flex-direction:column;gap:3px}.navitem{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--side-muted);font-weight:600;font-size:14px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .14s,color .14s}.navitem:hover:not(:disabled){background:var(--side-bg-2);color:var(--side-ink);border-color:transparent}.navitem--on,.navitem--on:hover{background:var(--side-active-bg);color:var(--side-active-ink)}.navitem__icon{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center}.navitem__icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}.navitem--soon:hover{background:transparent;color:var(--side-muted)}.sidebar__spacer{flex:1}.sidebar__user{border-top:1px solid var(--side-line);padding-top:12px;margin-top:8px;display:flex;flex-direction:column;gap:6px}.sidebar__who{display:flex;align-items:center;gap:10px;padding:4px 10px}.sidebar__avatar{width:30px;height:30px;border-radius:50%;flex:0 0 auto;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;font-size:12px}.sidebar__name{font-size:13px;font-weight:600;color:var(--side-ink)}.sidebar__signout{background:transparent;border:none;color:var(--side-muted);text-align:left;padding:8px 12px;border-radius:10px;font-weight:600}.sidebar__signout:hover{background:var(--side-bg-2);color:var(--side-ink);border-color:transparent}.content{flex:1;min-width:0;display:flex;flex-direction:column}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 28px 8px}.pagehead__l{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pagehead h1{font-size:24px;font-weight:800;margin:0}.pagehead__r{display:flex;align-items:center;gap:10px}.rangepick{padding:8px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line-2);font-weight:600;color:var(--ink-2)}.dash{padding:12px 28px 40px;display:flex;flex-direction:column;gap:18px}.dash__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-height:118px;min-width:0}.metric__label{font-size:12px;color:var(--muted);font-weight:600}.metric__value{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.metric__value--money{color:var(--money)}.metric__value--warn{color:var(--warn)}.metric__link{margin-top:auto;font-size:12px;color:var(--accent);font-weight:700;background:none;border:none;padding:0;text-align:left;cursor:pointer}.metric__link:hover{color:var(--accent-hover);border-color:transparent}.dash__cols{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}.card2{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card2__head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 14px;border-bottom:1px solid var(--line)}.card2__head h3{margin:0;font-size:15px;font-weight:700}.card2__body{padding:8px}.card2__empty{padding:24px 18px;color:var(--muted);text-align:center;font-size:13px}.schedule__row{display:flex;gap:14px;align-items:center;padding:12px;border-radius:10px}.schedule__row:hover{background:var(--panel-2)}.schedule__time{min-width:74px;font-weight:700;font-size:13px;color:var(--ink)}.schedule__time small{display:block;color:var(--muted);font-weight:500}.schedule__what{min-width:0}.schedule__what strong{font-weight:600}.schedule__addr{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule__meta{margin-left:auto;text-align:right;white-space:nowrap}.schedule__pill{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--money)}.activity__row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px}.activity__row:hover{background:var(--panel-2)}.activity__dot{width:34px;height:34px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;background:var(--accent-soft);color:var(--money)}.activity__dot svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}.activity__dot--pay{background:var(--accent-soft);color:var(--money)}.activity__dot--inv{background:var(--info-bg);color:var(--info-fg)}.activity__dot--job{background:#f0eefb;color:#6a4fbf}.activity__txt{min-width:0}.activity__txt strong{font-weight:600}.activity__txt div{color:var(--muted);font-size:12px}.activity__amt{font-weight:700;color:var(--money)}.activity__when{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.board{display:flex;gap:14px;padding:12px 28px 28px;align-items:flex-start;overflow-x:auto}.col{flex:0 0 300px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;min-height:220px;box-shadow:var(--shadow)}.col--queue{background:var(--panel-2)}.col--ok{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 4px var(--accent-glow)}.col--blocked{outline:2px solid var(--bad);outline-offset:1px;background:var(--bad-soft)}.col__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.col__head strong{font-weight:700}.col__cap{font-size:12px;color:var(--muted)}.col__meta{display:flex;gap:10px;font-size:12px;color:var(--muted);margin:6px 0;flex-wrap:wrap}.col__stops{display:flex;flex-direction:column;gap:8px;margin-top:8px}.bar{height:6px;background:#edf0f3;border-radius:3px;overflow:hidden}.bar__fill{height:100%;background:var(--accent)}.bar__fill--over{background:var(--warn)}.card{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;background:var(--panel);cursor:grab;transition:border-color .15s,box-shadow .15s,transform .04s}.card:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.card:active{transform:scale(.99)}.card--fixed{cursor:default}.card--locked{border-left:3px solid var(--warn)}.card__head{display:flex;gap:8px;align-items:baseline}.card__seq{min-width:20px;height:20px;border-radius:10px;background:var(--panel-2);color:var(--muted);text-align:center;font-size:12px;font-weight:600}.card__title{display:flex;flex-direction:column;flex:1}.card__title strong{font-weight:600}.card__title .muted{font-size:12px}.card__mins{font-size:12px;color:var(--muted)}.card__addr{font-size:12px;color:var(--muted);margin:4px 0}.card__promise{font-size:12px;margin:6px 0 0;padding-top:6px;border-top:1px dashed var(--line-2);color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted)}.chip--hard_window{background:#efeafc;color:#6a4fbf}.chip--soft_window{background:var(--info-bg);color:var(--info-fg)}.chip--asap{background:#fdeceb;color:#c23b34}.chip--warn,.chip--over{background:var(--warn-soft);color:var(--warn)}.chip--lock{background:#f4ecd7;color:#8a6d1e}.chip--req{background:var(--accent-soft);color:var(--money)}.warn{font-size:12px;color:var(--warn);background:#fdf6e7;border:1px solid #f0e0bd;border-radius:var(--radius-sm);padding:5px 8px;margin:6px 0 0}.blockers{font-size:12px;background:var(--bad-soft);border:1px solid transparent;border-radius:var(--radius-sm);padding:8px;margin-top:6px;color:var(--bad)}.blockers ul{margin:4px 0 0;padding-left:16px}.conflict,.error{display:flex;justify-content:space-between;gap:12px;margin:12px 28px 0;padding:12px 14px;border-radius:var(--radius-sm)}.conflict{background:#fdf6e7;border:1px solid #f0e0bd;color:#8a6d1e}.error{background:var(--bad-soft);border:1px solid transparent;color:var(--bad)}.conflict__attempt{margin-top:8px;font-size:12px;padding:8px;background:var(--cream);border:1px dashed var(--warn-line);border-radius:var(--radius-sm)}.panel{margin:12px 28px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel h2{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 12px;font-weight:700}.review__row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.review__row:last-child{border-bottom:none}.review__actions{display:flex;gap:6px;align-items:center}.review__note{font-size:12px;color:var(--muted);width:100%;margin:4px 0 0}.pinform{display:flex;gap:4px}.pinform input{width:96px}.map{display:flex;flex-direction:column;gap:8px}.map--off{border:1px dashed var(--line-2);border-radius:var(--radius-sm);padding:16px;background:var(--panel-2);color:var(--muted)}.map__bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.map__draft{display:flex;gap:6px;align-items:center;margin-left:auto;font-size:12px;background:#fdf6e7;border:1px solid #f0e0bd;border-radius:var(--radius-sm);padding:4px 8px;color:#8a6d1e}.map__canvas{height:420px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#e9edf1;overflow:hidden}.panel__more{margin-top:12px}.panel__more summary{cursor:pointer;font-size:12px;color:var(--muted)}.panel__more summary:hover{color:var(--ink)}.draft{background:#fdf6e7;border:1px solid #f0e0bd;border-radius:var(--radius-sm);padding:8px}.draft__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.draft__row input{width:120px}.tabs{display:inline-flex;gap:4px}.tab{border-radius:8px}.tab--on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.newjob{max-width:760px}.newjob h2{margin:0 0 14px;font-size:18px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}.newjob fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 6px;margin:0 0 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:var(--panel-2)}.newjob legend{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--money);font-weight:700;padding:0 6px}.newjob label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:10px}.newjob label.wide{grid-column:1 / -1}.newjob input,.newjob select{color:var(--ink)}.newjob>button[type=submit]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:11px 24px;font-weight:700}.newjob>button[type=submit]:hover:not(:disabled){background:var(--accent-hover)}.newjob__ok{background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--money);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px;font-weight:600}.tech{max-width:480px;margin:0 auto;padding:12px}.tech__bar{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;position:sticky;top:0;background:var(--bg);padding:10px 0 12px;z-index:3}.tech__baractions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.tech__baractions input{padding:4px 6px}.tech__progress{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:var(--muted);margin-bottom:10px;box-shadow:var(--shadow)}.tech__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.stop{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.stop--completed{background:var(--panel-2);box-shadow:none;border-left:3px solid var(--chip-day-fg)}.stop__head{display:flex;align-items:center;gap:10px}.stop__seq{flex:0 0 auto;width:28px;height:28px;border-radius:14px;background:var(--panel-2);display:grid;place-items:center;font-weight:700}.stop__who{display:flex;flex-direction:column;flex:1;min-width:0}.stop__who strong{font-weight:600}.stop__who .muted{font-size:13px}.stop__status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--panel-2);white-space:nowrap}.stop__status--en_route{background:var(--info-bg);color:var(--info-fg)}.stop__status--arrived{background:var(--warn-soft);color:var(--warn)}.stop__status--in_progress{background:var(--tech-note-bg);color:var(--tech-note)}.stop__status--completed{background:var(--chip-day-bg);color:var(--chip-day-fg)}.stop__addr{font-size:14px;color:var(--ink-2);margin:10px 0 2px}.stop__promise{font-size:13px;color:var(--muted)}.stop__notes{font-size:13px;color:var(--warn);margin-top:4px}.stop__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.stop__error{margin-top:8px;font-size:13px;color:var(--bad);background:var(--bad-soft);border:1px solid transparent;border-radius:var(--radius-sm);padding:6px 8px}.btn{flex:1;text-align:center;padding:13px;border-radius:var(--radius);font-size:15px;font-weight:700;border:1px solid var(--line-2);text-decoration:none;color:var(--ink);background:var(--panel);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s,transform .04s}.btn:active{transform:translateY(1px)}.btn--ghost{flex:0 0 auto;padding:13px 16px;color:var(--accent);background:var(--panel)}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover)}.btn--done{background:var(--chip-day-bg);color:var(--chip-day-fg);border-color:transparent;flex:1}.stop__pay{margin-top:8px;font-size:13px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px}@media(max-width:520px){.tech{padding:8px}.btn{padding:14px}}.invoices__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.tile:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:transparent}.tile--ok:after{background:var(--accent)}.tile--warn:after{background:var(--warn)}.tile__label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.tile__value{font-size:26px;font-weight:800;margin:4px 0;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile--ok .tile__value{color:var(--money)}.tile--warn .tile__value{color:var(--warn)}.tile__sub{font-size:12px;color:var(--muted)}.invoices__controls{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.invoices__acct{margin-left:auto}.invoices__table{width:100%;border-collapse:collapse;font-size:14px}.invoices__table th,.invoices__table td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line)}.invoices__table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.invoices__table th.r,.invoices__table td.r{text-align:right;font-variant-numeric:tabular-nums}.invoices__row{cursor:pointer}.invoices__row:hover{background:var(--panel-2)}.chip--draft{background:var(--panel-2);color:var(--muted)}.chip--issued{background:var(--info-bg);color:var(--info-fg)}.chip--paid{background:var(--accent-soft);color:var(--money)}.chip--void{background:#f3ebeb;color:#8a6a6a}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#10162173;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:20}.modal__body{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;width:min(640px,92vw);max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal__actions{display:flex;gap:8px;align-items:center;margin-top:16px;flex-wrap:wrap}.invoice-doc__head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:12px}.invoice-doc__head h2{margin:0 8px 6px 0;display:inline-block}.invoice-doc__lines{width:100%;border-collapse:collapse}.invoice-doc__lines th,.invoice-doc__lines td{padding:7px 8px;border-bottom:1px solid var(--line)}.invoice-doc__lines th.r,.invoice-doc__lines td.r{text-align:right;font-variant-numeric:tabular-nums}.invoice-doc__lines tfoot td{border-bottom:none;font-weight:700}.login{max-width:440px;margin:8vh auto;padding:40px 34px 32px;background:#141519;border:1px solid #262a31;border-radius:var(--radius-lg);text-align:center;position:relative;overflow:hidden;color:#f2f4f7;box-shadow:0 24px 70px #00000080}.login:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,#9be60d,transparent)}.login .brand{justify-content:center;margin-bottom:10px}.login__tag{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#9be60d;font-weight:800;margin:0 0 6px}.login__lead{color:#9aa0aa;margin:0 0 8px;font-size:15px}.login h1{display:none}.login .muted{color:#7f8590}.login ul{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:8px;text-align:left}.login li{display:flex;align-items:center;gap:10px}.login li button{flex:1;text-align:left;padding:11px 14px;background:#1b1d22;border:1px solid #2b2f37;color:#f2f4f7;font-weight:600}.login li button:hover{border-color:#9be60d}.login li .muted{font-size:12px;white-space:nowrap}.login .error{background:#ff6b601f;border-color:#ff6b6059;color:#ffb0a8;margin:12px 0 0}.login__cta{width:100%;margin-top:16px;background:#1b1d22;border:1px solid #2b2f37;color:#93d95f;font-weight:700}.login__cta:hover{border-color:#9be60d;color:#9be60d}.login__cta--go{background:#9be60d;color:#0a0b0d;border-color:#9be60d}.login__cta--go:hover:not(:disabled){background:#b6f53f;color:#0a0b0d}.login__back{width:100%;margin-top:8px;background:transparent;border:none;color:#7f8590}.login__back:hover{color:#f2f4f7;background:transparent;border-color:transparent}.signup{text-align:left}.signup__field{display:flex;flex-direction:column;gap:5px;margin-top:12px;font-size:12px;color:#9aa0aa;font-weight:600}.signup__field span{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.signup__field{--placeholder: #9aa0ab}.signup__field input,.signup__field select{background:#1b1d22;border:1px solid #2b2f37;color:#f2f4f7}.signup__field input:focus,.signup__field select:focus{border-color:#9be60d;box-shadow:0 0 0 3px #9be60d40}@media(max-width:720px){.sidebar{width:72px;flex-basis:72px;padding:14px 8px}.sidebar__brand .brand__mark{font-size:0;gap:0}.navitem{justify-content:center;padding:12px 0}.navitem span:last-child{display:none}.sidebar__name{display:none}.sidebar__signout{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 0;text-align:center;font-size:0}.sidebar__signout:before{content:"⏻";font-size:18px;line-height:1}.sidebar__signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dash__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash__cols{grid-template-columns:1fr}}.wizard{display:grid;grid-template-columns:190px 1fr;gap:22px;align-items:start}.wizard__steps{display:flex;flex-direction:column;gap:3px;position:sticky;top:84px}.wizard__step{display:flex;align-items:center;gap:10px;text-align:left;width:100%;padding:9px 12px;border-radius:10px;border:none;background:transparent;color:var(--muted);font-weight:600}.wizard__step:hover{background:var(--panel-2);color:var(--ink);border-color:transparent}.wizard__step--on,.wizard__step--on:hover{background:var(--chip-day-bg);color:var(--chip-day-fg)}.wizard__step--done{color:var(--ink-2)}.wizard__num{width:22px;height:22px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--panel-2);color:var(--muted)}.wizard__step--on .wizard__num{background:var(--accent);color:var(--accent-ink)}.wizard__step--done .wizard__num{background:var(--chip-day-bg);color:var(--chip-day-fg)}.wizard__body{min-width:0}.wizard__title{font-size:20px;margin:0 0 6px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}.wizard__actions{display:flex;justify-content:space-between;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.btn--wizardnext{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.btn--wizardnext:hover:not(:disabled){background:var(--accent-hover)}.tradegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px}.tradecard{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:108px}.tradecard:hover:not(:disabled){border-color:var(--accent)}.tradecard--on,.tradecard--on:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.tradecard strong{font-size:15px}.tradecard__meta{margin-top:auto;font-size:11px;color:var(--money);font-weight:600}.fieldgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted);font-weight:600}.field span{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.svcgroup{margin-top:16px}.svcgroup__head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;margin:0 0 6px}.svcrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:6px}.svcrow--new{border-color:var(--accent);background:var(--accent-soft)}.svcrow__name{flex:1 1 180px;min-width:140px;font-weight:600}.svcrow select{flex:0 0 auto}.svcrow__price{display:inline-flex;align-items:center;gap:4px}.dollar{display:inline-flex;align-items:center;gap:2px;color:var(--muted)}.dollar input{width:78px}span.dash{color:var(--muted);display:inline;padding:0}.svcrow__unit{width:70px}.svcrow__dur{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.svcrow__dur input{width:52px}.svcrow__tax{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.teamlist{display:flex;flex-direction:column;gap:8px;margin-top:16px}.teamsec{margin-top:20px}.teamsec__head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.teamsec__head h3{margin:0;font-size:15px;font-weight:700}.teamrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:6px}.teamrow--new{border-color:var(--accent);background:var(--accent-soft)}.teamrow__name{flex:1 1 150px;min-width:110px;font-weight:600}.teamrow__who{display:flex;flex-direction:column;min-width:0;flex:1}.teamrow select{flex:0 0 auto}.invhead,.invrow{display:grid;grid-template-columns:2fr 1fr 1fr 1.1fr 1.1fr auto;gap:8px;align-items:center}.invhead{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:8px;margin-top:12px}.invrow{padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:6px}.invrow--low{border-color:var(--due-line);background:var(--due-soft)}.invrow input{width:100%}.invrow__name{font-weight:600}.invrow__actions{display:inline-flex;gap:6px}.connectcard{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-top:12px}.statuspill{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--panel-2);color:var(--muted);white-space:nowrap}.statuspill--on{background:var(--accent-soft);color:var(--money)}.checklist{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}.checklist li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-weight:500}.checklist li span{font-weight:800;width:18px;text-align:center}.checklist--ok span{color:var(--money)}.checklist--todo{color:var(--muted)}.checklist--todo span{color:var(--bad)}.checklist--opt{color:var(--muted)}@media(max-width:720px){.wizard{grid-template-columns:1fr}.wizard__steps{flex-direction:row;overflow-x:auto;position:static;min-width:0}.fieldgrid,.tradegrid{grid-template-columns:1fr}.invhead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.invrow{grid-template-columns:1fr 1fr}}.custresults{display:flex;flex-direction:column;gap:2px;margin-top:4px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.custresults button{border:none;border-radius:0;text-align:left;background:var(--panel)}.custresults button:hover{background:var(--panel-2)}.estdoc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.estdoc__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}.estdoc__total{font-size:24px;font-weight:800;margin-top:6px;color:var(--money)}.estphotos{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.estphotos img{width:92px;height:92px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.estphotos__add{width:92px;height:92px;border:1px dashed var(--line-2);border-radius:10px;display:grid;place-items:center;color:var(--muted);font-weight:600;font-size:13px;cursor:pointer}.estphotos__add:hover{border-color:var(--accent);color:var(--money)}.estactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.estactions__error{margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--bad-soft, #fdf3f2);border:1px solid transparent;border-left:4px solid var(--bad, #a5352e);color:var(--bad, #a5352e);font-weight:600}.estactions__site{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--cream);border:1px solid var(--warn-line);border-left:4px solid var(--warn, #b8892b)}.estactions__site p{margin:4px 0 10px}.estactions__notice{margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--surface-2, #f6f7f9);border:1px solid var(--line);border-left:4px solid var(--muted, #6b7280)}.estactions__success{margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--ok-soft, #e2f2e6);border:1px solid transparent;border-left:4px solid var(--ok, #2f7a35);font-weight:600}.convsec{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--panel-2);border-left:4px solid var(--ink-2)}.convsec--info{border-left-color:var(--accent)}.convsec--success{border-left-color:var(--money)}.convsec--warn{border-left-color:var(--warn, #b8860b)}.convsec--error{border-left-color:var(--bad, #b3261e)}.convsec__h{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.convsec__state{margin:0 0 4px;font-size:16px}.convsec__why{margin:0;font-size:14px;line-height:1.45;opacity:.85;max-width:62ch}.convsec__job{margin:10px 0 0}.convsec__notice{margin:10px 0 0;font-size:14px;line-height:1.45;max-width:62ch}.convsec__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.convsec__noretry{margin:0;font-size:13px;opacity:.75;max-width:62ch}.sendform{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:8px}.sendform__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px}.sendform__row input,.sendform__row select{flex:1 1 180px;min-width:0}.approve__terms{margin:12px 0;display:flex;flex-direction:column;gap:8px}.approve__term{display:flex;gap:12px;align-items:baseline;font-size:14px}.approve__term-label{flex:0 0 116px;opacity:.7}.approve__term-value{display:flex;flex-direction:column}.approve__term-line{display:block}.sendpanel{margin-top:14px;background:var(--accent-soft);border:1px solid var(--accent-soft-2);border-radius:var(--radius);padding:14px 16px}.sendpanel__link{font-family:IBM Plex Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--ink-2);word-break:break-all;margin:6px 0 10px}.sendpanel__row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sendpanel__row a{text-decoration:none}.sendpanel__row a.btn--wizardnext{padding:8px 14px;border-radius:var(--radius-sm)}.approve{min-height:100vh;display:grid;place-items:start center;padding:5vh 16px 40px;background:var(--bg)}.approve__card{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px}.approve__brand{text-align:center;margin-bottom:10px}.approve__brand .brand__mark{color:var(--ink);font-size:22px}.approve__biz{text-align:center;font-weight:700;color:var(--ink)}.approve__title{text-align:center;font-size:22px;margin:4px 0 2px}.approve__meta{text-align:center;color:var(--muted);font-size:13px;margin-bottom:16px}.approve__notes{color:var(--ink-2);background:var(--panel-2);border-radius:10px;padding:12px}.approve__photos{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.approve__photos img{width:100%;max-width:240px;border-radius:10px;border:1px solid var(--line)}.approve__lines{width:100%;border-collapse:collapse;margin:8px 0 4px}.approve__lines td{padding:10px 4px;border-bottom:1px solid var(--line)}.approve__lines td.r{text-align:right;font-variant-numeric:tabular-nums}.approve__lines tfoot td{border-bottom:none;font-size:18px;padding-top:12px}.approve__actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.approve__name{padding:12px;font-size:15px}.approve__approve{padding:15px;font-size:16px;font-weight:800;background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-radius:12px}.approve__approve:hover:not(:disabled){background:var(--accent-hover)}.approve__decline{padding:11px;background:transparent;border:none;color:var(--muted)}.approve__done{margin-top:16px;padding:16px;border-radius:12px;background:var(--panel-2);color:var(--ink-2);text-align:center;font-weight:600}.approve__done--ok{background:var(--accent-soft);color:var(--money)}.approve__pending{margin:10px 0 0;font-weight:400;font-size:14px;line-height:1.45}.approve__foot{text-align:center;color:var(--muted);font-size:11px;margin-top:18px;letter-spacing:.04em}.login .approve__foot{color:#9aa0aa}.rolodex__search{width:100%;max-width:360px;margin-bottom:12px}.cust__h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 8px;font-weight:700}.planrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin-bottom:8px}.planrow--due{border-color:var(--due-line);background:var(--due-soft)}.planrow__main{flex:1;min-width:160px}.recbuilder{border:1px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius);padding:14px;margin:8px 0}.recbuilder__row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.recbuilder__row .field{flex:1 1 160px}.recbuilder__cadence{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.recbuilder__unit{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px;height:fit-content}.daychips{display:flex;gap:4px}.daychip{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel);font-weight:700;font-size:12px;padding:0}.daychip--on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.helpfab{position:fixed;right:22px;bottom:22px;z-index:30;width:50px;height:50px;border-radius:50%;background:var(--accent);color:var(--accent-ink);border:none;font-size:22px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #6bbf3a66}.helpfab:hover{background:var(--accent-hover);border-color:transparent}.helpdrawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:31;background:#10162159;display:flex;justify-content:flex-end}.helpdrawer__panel{width:min(420px,100%);height:100%;background:var(--panel);border-left:1px solid var(--line);padding:20px;overflow-y:auto;box-shadow:-10px 0 40px #0000001f;display:flex;flex-direction:column;gap:12px}.helpdrawer__head{display:flex;justify-content:space-between;align-items:center}.helpdrawer__head h3{margin:0;font-size:18px}.helpdrawer__tour,.helpdrawer__search{width:100%}.helpdrawer__list{display:flex;flex-direction:column;gap:6px}.faq{border:1px solid var(--line);border-radius:10px;overflow:hidden}.faq--open{border-color:var(--accent)}.faq__q{width:100%;text-align:left;display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--panel);border:none;border-radius:0;padding:12px 14px;font-weight:600}.faq__q:hover{background:var(--panel-2);border-color:transparent}.faq__chev{color:var(--muted);font-weight:800}.faq__a{margin:0;padding:0 14px 14px;color:var(--ink-2);font-size:14px;line-height:1.55}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;background:#10162173;display:flex;align-items:flex-end;justify-content:center;padding:0 16px 28px}.tour__card{width:min(520px,100%);background:var(--panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:22px}.tour__step{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--money);font-weight:800}.tour__card h3{margin:6px 0;font-size:20px}.tour__card p{margin:0;color:var(--ink-2);line-height:1.6}.tour__actions{display:flex;align-items:center;gap:8px;margin-top:18px}.sched__day{margin-bottom:18px}.sched__date{font-weight:700;font-size:14px;padding:8px 0;border-bottom:2px solid var(--line);margin-bottom:4px}.sched__job{display:flex;align-items:center;gap:12px;padding:10px 6px;border-bottom:1px solid var(--line)}.sched__job:hover{background:var(--panel-2)}.sched__time{min-width:50px;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}.sched__what{flex:1;min-width:0}.sched__crew{min-width:88px}@media print{body *{visibility:hidden}.invoice-print,.invoice-print *{visibility:visible}.invoice-print{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:none;background:#fff!important;color:#000!important}.invoice-print *{color:#000!important}.invoice-print .chip{background:transparent!important;border:1px solid #000!important}.invoice-print .payments,.invoice-print .payments__row,.invoice-print .payments__form{background:transparent!important;border-color:#cfcfcf!important}.invoice-print .payments__row--reversed{opacity:1!important}.invoice-doc__head{border-color:#000!important}.invoice-doc__lines th,.invoice-doc__lines td{border-color:#cfcfcf!important}.modal{background:none;position:static}.modal__actions{display:none}}.jx{margin-top:10px;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.jx__cost{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px;margin-bottom:12px}.jx__clock{display:flex;align-items:center;gap:10px;margin-bottom:12px}.clock{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:12px 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.clock--on{border-color:var(--accent);background:var(--accent-soft)}.clock__info{display:flex;align-items:center;gap:10px}.clock__dot{width:10px;height:10px;border-radius:50%;background:var(--faint);flex:none}.clock--on .clock__dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.clock__text{display:flex;flex-direction:column;gap:1px}.clock__text strong{font-size:14px;color:var(--ink)}.clock__text .muted{font-size:12px}.jx__cost-cell{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.jx__cost-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jx__cost-val{font-size:17px;font-weight:700;color:var(--ink)}.jx__pos{color:var(--money)}.jx__neg{color:var(--bad)}.jx__list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.jx__empty{padding:6px 2px}.jx__row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm)}.jx__thumb{width:40px;height:40px;flex:none;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line)}.jx__thumb img{width:100%;height:100%;object-fit:cover}.jx__thumb--none{color:var(--faint)}.jx__row-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.jx__row-main strong{font-size:14px;color:var(--ink)}.jx__row-main .muted{font-size:12px}.jx__amt{font-weight:700;color:var(--ink);white-space:nowrap}.jx__form{display:flex;flex-direction:column;gap:8px}.jx__file{font-size:13px}.jx__fields{display:flex;flex-wrap:wrap;gap:8px}.jx__fields .input{flex:1 1 160px}.jx__fields .jx__vendor{flex:1 1 120px}.jx__fields .jx__amount{flex:0 0 100px}.jx__preview{font-size:12px;color:var(--money)}.jx__err{margin-top:8px}.teamrow__rate{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:var(--muted)}.teamrow__rate input{width:58px;text-align:right}.reports__bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:4px}.reports__presets{display:inline-flex;gap:6px;flex-wrap:wrap}.reports__dates{display:inline-flex;align-items:center;gap:8px}.chip{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--panel);border:1px solid var(--line-2);color:var(--ink-2)}.profit__totals{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.profit__totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.profit__totals{grid-template-columns:minmax(0,1fr)}}.ptable__wrap{overflow-x:auto}.ptable{width:100%;border-collapse:collapse;font-size:13px}.ptable th,.ptable td{padding:8px 10px;text-align:left;white-space:nowrap}.ptable thead th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line)}.ptable tbody tr{border-bottom:1px solid var(--line)}.ptable tbody tr:last-child{border-bottom:none}.ptable .num{text-align:right;font-variant-numeric:tabular-nums}.ptable .num--pos{color:var(--money);font-weight:600}.ptable .num--neg{color:var(--bad);font-weight:600}.addon{display:flex;flex-direction:column;gap:16px;margin-top:12px}.addon__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.addon__head h3{margin:0 0 4px;display:flex;align-items:center;gap:8px}.addon__head p{margin:0;max-width:60ch}.addon__tag{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);padding:2px 7px;border-radius:999px}.switch{display:inline-flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.switch input{width:18px;height:18px;accent-color:var(--accent)}.banner{padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.banner--warn{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn)}.addon__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.addon__grid .field--wide{grid-column:1 / -1}.addon__grid textarea{resize:vertical}.addon__grid .field small{margin-top:2px}.addon__grid em{color:var(--ink-2);font-style:italic}.cooldown{display:inline-flex;align-items:center;gap:8px}.cooldown input{width:90px}.addon__actions{display:flex;align-items:center;gap:12px}.addon__activity{margin-top:4px}.chip--sent{background:var(--accent-soft);border-color:var(--accent);color:var(--money)}.chip--failed{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.chip--skipped,.chip--pending{background:var(--panel-2);border-color:var(--line-2);color:var(--muted)}@media(max-width:640px){.addon__grid{grid-template-columns:1fr}}.banner--info{background:var(--info-soft);border:1px solid transparent;color:var(--info-fg)}.addon__divider{height:1px;background:var(--line);margin:28px 0}.blast{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.blast textarea{resize:vertical}.blast__row{display:flex;gap:8px;align-items:center}.blast__row select{flex:1}.jproof__cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.jproof__col{display:flex;flex-direction:column;gap:6px}.jproof__label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.jproof__thumbs{display:flex;flex-wrap:wrap;gap:6px;min-height:4px}.jproof__signoff{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.jproof__signrow{display:flex;gap:8px}.jproof__signrow .input{flex:1}.jproof__signed{color:var(--money);font-weight:600}@media(max-width:640px){.jproof__cols{grid-template-columns:1fr}}.cred--expired{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.cred--expiring{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.cred--ok{background:var(--accent-soft);border-color:var(--accent);color:var(--money)}.cred--none{background:var(--panel-2);border-color:var(--line-2);color:var(--muted)}.cred__alert{color:var(--warn)}.cred__exp{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.jproof__thumbwrap{position:relative;display:inline-block}.jproof__pin{position:absolute;bottom:-2px;right:-2px;font-size:12px;line-height:1;background:var(--panel);border:1px solid var(--line);border-radius:50%;padding:1px 2px;text-decoration:none}.book__form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:8px}.book__row{display:flex;gap:10px}.book__row .field{flex:1}.survey__stars{display:flex;gap:6px;justify-content:center;margin:8px 0 14px}.survey__star{font-size:34px;line-height:1;background:none;border:none;color:var(--line-2);cursor:pointer;padding:0}.survey__star--on{color:#f5b301}.survey__comment{width:100%}.card2__headactions{display:inline-flex;gap:12px;align-items:center}.card__open{padding:0;text-align:left}.card__open strong{text-decoration:underline dotted;text-underline-offset:3px}.jobdetail__facts{display:grid;gap:6px;margin:10px 0;font-size:14px}.jobdetail__facts .muted{display:inline-block;min-width:84px}.jobdetail__proof h4,.jobdetail__history h4,.jobdetail__form h4{margin:14px 0 6px}.jobdetail__photos{display:flex;gap:10px;flex-wrap:wrap}.jobdetail__photos figure{margin:0;width:120px}.jobdetail__photos img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.jobdetail__history ul{margin:4px 0 0;padding-left:18px;font-size:13px}.jobdetail__history li{margin:3px 0}.jobdetail__form{display:grid;gap:10px}.jobdetail__form label{display:grid;gap:4px;font-size:13px}.jobdetail__window{display:flex;gap:12px}.btn--danger{background:#b42318;color:#fff;border-color:#b42318}.btn--danger:hover:not(:disabled){background:#93200f}.notecapture{display:grid;gap:8px;margin-top:10px;padding:12px;background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius-sm)}.notecapture textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}.notecapture__kinds{display:flex;gap:6px;flex-wrap:wrap}.chipbtn{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-size:13px;cursor:pointer}.chipbtn--on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chipbtn--issue.chipbtn--on{background:#b42318;border-color:#b42318;color:#fff}.notecapture__saved{list-style:none;margin:4px 0 0;padding:0;font-size:13px;display:grid;gap:4px}.chip--issue{background:var(--bad-soft);color:var(--bad);border-color:transparent}.trendrow{display:flex;align-items:center;gap:8px;padding:3px 2px}.trendrow__label{flex:0 0 78px;font-size:12px}.trendrow__bar{flex:1 1 auto;height:14px;background:var(--surface-2);border-radius:4px;overflow:hidden}.trendrow__fill{display:block;height:100%;background:var(--accent, #1a7f37);border-radius:4px;min-width:2px}.trendrow__num{flex:0 0 70px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.firstrun{border-left:3px solid var(--accent, #1a7f37)}.firstrun__done{color:var(--muted, #667085);text-decoration:line-through;font-weight:500}.cust-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;align-items:center}.cust-actions button{flex:0 1 auto;min-width:0}.cust-site{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line, #2a2a2a)}.stop__actions{flex-wrap:wrap}.stop__actions .btn{min-width:0}.stop__actions .btn--primary{flex:1 1 100%;order:-1;padding:14px 16px}.btn--disabled{opacity:.5;pointer-events:none}.stop__instructions{display:grid;gap:4px;font-size:14px;margin:6px 0;overflow-wrap:anywhere}.stop__failform{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.stop__failform input{flex:1 1 200px;min-width:0;padding:12px}.stop__failform .btn--primary{flex:1 1 100%}.stop,.stop__addr,.stop__notes,.stop__promise{overflow-wrap:anywhere}.tech{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.refreshstate{white-space:nowrap}.refreshstate__warn{color:var(--warn)}.dash__refresh{min-height:18px;margin-bottom:4px}.chip--note{background:#e7eefc;color:#2f5cc4}.jobdetail__notes{margin:12px 0}.note{border:1px solid var(--line, #e4e7ec);border-radius:var(--radius-sm, 6px);padding:8px 10px;margin:6px 0}.note--customer{border-left:3px solid #2f5cc4;background:var(--info-soft)}.note--issue{border-left:3px solid var(--warn)}.note__meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.note__body{margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.chip--customer{background:#e7eefc;color:#2f5cc4}.chip--issue{background:var(--warn-soft);color:var(--warn)}.notecapture textarea{width:100%;box-sizing:border-box}.assignrow{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;border:1px solid var(--line, #e4e7ec);border-radius:var(--radius-sm, 6px);padding:8px 10px;margin:6px 0}.assignrow__who{min-width:0;flex:1 1 240px}.assignrow--blocked{opacity:.75;background:var(--bg-muted, var(--blocked-bg))}.assignrow__cap--ok{color:var(--accent, #1a7f37);font-size:13px}.assignrow__cap--no{color:var(--warn);font-size:13px}.assignrow__cap,.assignrow__avail{overflow-wrap:anywhere}.assignrow button{flex:0 0 auto}.assignmsg{color:var(--accent, #1a7f37)}.donestrip{margin-top:8px;border-top:1px dashed var(--line, #e4e7ec)}.donestrip__toggle{display:block;width:100%;text-align:left;background:none;border:0;color:var(--muted, #667085);font-size:13px;padding:10px 4px;cursor:pointer}.donestrip__toggle:hover{color:inherit}.donestrip__rows{list-style:none;margin:0;padding:0 4px 8px}.donestrip__row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:4px 0;font-size:13px;min-width:0}.donestrip__row>*{overflow-wrap:anywhere}.donestrip__when{margin-left:auto}.chip--completed{background:#e2f2e6;color:var(--accent, #1a7f37)}.chip--canceled{background:#f2f4f7;color:var(--muted, #667085);text-decoration:line-through}.pagehead__label{font-size:.85rem;color:var(--muted, #667085);margin-right:6px;white-space:nowrap}.ac{display:flex;flex-direction:column;gap:14px}.ac__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ac__baractions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ac__error{padding:12px 14px;border:1px solid var(--warn);border-radius:var(--radius);background:var(--warn-soft)}.ac__problem{padding:10px 12px;border-radius:var(--radius);background:var(--bad-soft, #fdeceb);color:var(--bad, #a3302a);margin:0 0 12px}.ac__empty{padding:28px 18px;color:var(--muted);text-align:center}.ac__disabled p{margin:0 0 12px}.ac__summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ac__tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.ac__tile--due{border-color:var(--warn)}.ac__tile--money{grid-column:span 1}.ac__tilelabel{font-size:12px;color:var(--muted);font-weight:600}.ac__tilevalue{font-size:20px;font-weight:700}.ac__tile--money .ac__tilevalue{font-size:14px}.ac__cats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.ac__filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.ac__field{display:flex;flex-direction:column;gap:4px;min-width:0}.ac__field label{font-size:12px;font-weight:600;color:var(--muted)}.ac__field select,.ac__field input,.ac__field textarea{padding:8px 10px;border:1px solid var(--line-2);border-radius:8px;font:inherit;max-width:100%;min-width:0}.ac__field input[type=number]{width:92px}.ac__queue{display:flex;flex-direction:column;gap:10px}.ac__card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;font:inherit;color:inherit;width:100%}.ac__card:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.ac__card--on{border-color:var(--accent)}.ac__cardhead{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ac__badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--ink-2)}.ac__badge--due_now{background:var(--bad-soft);color:var(--bad)}.ac__badge--snoozed_expired{background:var(--warn-soft);color:var(--warn)}.ac__badge--snoozed_future{background:var(--info-bg);color:var(--info-fg)}.ac__badge--future{background:var(--panel-2);color:var(--muted)}.ac__badge--terminal{background:var(--accent-soft);color:var(--money)}.ac__cat,.ac__prio{font-size:11px;color:var(--muted)}.ac__title{font-size:15px}.ac__who{font-weight:600}.ac__addr,.ac__reason{font-size:12px;color:var(--muted)}.ac__cardfoot{display:flex;justify-content:space-between;gap:10px;font-size:12px;flex-wrap:wrap}.ac__money{font-weight:700;color:var(--money)}.ac__assignee{color:var(--muted)}.ac__more{align-self:center}.ac__panelwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;justify-content:flex-end}.ac__panelscrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#10162159}.ac__panel{position:relative;width:min(520px,100%);height:100%;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;box-shadow:-10px 0 40px #0000001f}.ac__panelhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel);z-index:1}.ac__panelhead h2{margin:6px 0 2px;font-size:17px}.ac__close{border:1px solid var(--line-2);background:var(--panel);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px}.ac__panelbody{padding:18px;display:flex;flex-direction:column;gap:20px}.ac__sec h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ac__sec>*+*{margin-top:10px}.ac__dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px}.ac__dl dt{color:var(--muted);font-weight:600}.ac__dl dd{margin:0;word-break:break-word}.ac__contactrow{display:flex;gap:8px;flex-wrap:wrap}.ac__blocked{font-size:12px;color:#8a6d1e;background:var(--warn-soft);padding:6px 10px;border-radius:8px}.ac__outcome{border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;gap:8px;flex-wrap:wrap}.ac__outcome legend{font-size:12px;font-weight:700;padding:0 6px}.ac__confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ac__confirm p{margin:0 0 6px;flex-basis:100%}.ac__chosen{margin:0}.ac__matches{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.ac__events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ac__event{display:grid;grid-template-columns:1fr;gap:2px;border-left:2px solid var(--line-2);padding-left:10px;font-size:13px}.ac__eventwhen{font-size:11px;color:var(--muted)}.ac__diag{border:1px dashed var(--line-2);border-radius:var(--radius);padding:12px;margin-top:8px}.btn2{padding:9px 14px;border-radius:8px;border:1px solid var(--line-2);background:var(--panel);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;color:var(--ink);display:inline-block}.btn2:hover:not(:disabled){border-color:var(--accent)}.btn2:disabled{opacity:.55;cursor:not-allowed}.btn2--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.dash__acstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:6px}.dash__acoff{padding:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ac button:focus-visible,.ac a:focus-visible,.ac select:focus-visible,.ac input:focus-visible,.ac textarea:focus-visible,.ac__panel button:focus-visible,.ac__panel a:focus-visible,.ac__panel select:focus-visible,.ac__panel input:focus-visible,.ac__panel textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:720px){.ac__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ac__tile--money{grid-column:span 2}.ac__filters{flex-direction:column;align-items:stretch}.ac__filters>*{max-width:100%}.ac__field input[type=number]{width:100%}.ac__panel{width:100%;border-left:none}.ac__dl{grid-template-columns:1fr}.ac__dl dt{margin-top:6px}.ac__contactrow .btn2,.ac__outcome .btn2{flex:1 1 100%;text-align:center}.dash__acstats{grid-template-columns:repeat(2,minmax(0,1fr))}}html[data-theme=night] .shell{--bg: #0A0D13;--panel: #121722;--panel-2: #0E121B;--line: #262E3E;--line-2: #333D51;--ink: #EAEEF6;--ink-2: #C6CDD9;--muted: #A8B3C6;--faint: #7C88A0;--placeholder: #7C88A0;--accent: #93D95F;--accent-hover: #AFE87F;--accent-ink: #0A0D13;--money: #93D95F;--accent-soft: rgba(147, 217, 95, .14);--accent-soft-2: rgba(147, 217, 95, .22);--accent-glow: rgba(147, 217, 95, .32);--ok: #4FB477;--warn: #E0A83E;--bad: #EF6F6A;--info-bg: #14243C;--info-fg: #8FB4FF;--shadow: 0 0 0 1px rgba(255, 255, 255, .02);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55);--surface-hi: #1A2130;--control-bg: #1A2130;--surface-2: #1A2130;--warn-soft: #3A2E14;--warn-line: #4A3F1E;--due-soft: #2E2712;--bad-soft: #391D1B;--info-soft: #14243C;--panel-3: #0E121B;--blocked-bg: #0E121B;--cream: #241F10;--chip-day-bg: #1B2B12;--chip-day-fg: #93D95F;--chip-hard-bg: #231B38;--chip-hard-fg: #C9B8F8;--chip-asap-bg: #3A1714;--chip-asap-fg: #F2A69E;--chip-lock-bg: #322709;--chip-lock-fg: #E5C46A;--ok-soft: #122A1C;--danger-bg: #C0392B;--danger-hover: #A93226;--due-line: #8A7334;--chip-void-bg: #2E1D1D;--chip-void-fg: #D9A8A8;--chip-expired-bg: #2E2611;--chip-expired-fg: #D8B36A;--t-link: #6E9CF5;--t-focus: #AFE87F;color-scheme:dark}html[data-theme=fresh] .shell{--bg: #F2F5F8;--panel: #FFFFFF;--panel-2: #EDF1F5;--line: #DEE5EC;--line-2: #C3CEDA;--ink: #131820;--ink-2: #3A4454;--muted: #4E596B;--faint: #6B7686;--placeholder: #6B7686;--accent: #3F7A1C;--accent-hover: #336315;--accent-ink: #FFFFFF;--money: #2E7D2E;--accent-soft: rgba(63, 122, 28, .12);--accent-soft-2: rgba(63, 122, 28, .2);--accent-glow: rgba(63, 122, 28, .3);--ok: #2A7349;--warn: #8A5D00;--bad: #C23A34;--info-bg: #E8F1FF;--info-fg: #2C5FD0;--shadow: 0 1px 2px rgba(19, 24, 32, .06), 0 1px 1px rgba(19, 24, 32, .04);--shadow-lg: 0 18px 48px rgba(19, 24, 32, .18);--surface-hi: #F5F8FA;--control-bg: #FFFFFF;--surface-2: #F5F8FA;--warn-soft: #FBF1DC;--warn-line: #E6D3A6;--due-soft: #FDF9EF;--bad-soft: #FDF4F4;--info-soft: #EAF1FB;--panel-3: #F7FAFC;--blocked-bg: #F5F6F8;--cream: #FFFDF6;--chip-day-bg: #E4F0DC;--chip-day-fg: #245B24;--chip-hard-bg: #EFEAFC;--chip-hard-fg: #5B3FB8;--chip-asap-bg: #FDECEB;--chip-asap-fg: #B0362E;--chip-lock-bg: #F4ECD7;--chip-lock-fg: #6E570E;--ok-soft: #E2F2E6;--danger-bg: #C23A34;--danger-hover: #A93226;--due-line: #A87F1C;--chip-void-bg: #F3EBEB;--chip-void-fg: #6E4A4A;--chip-expired-bg: #F4ECD7;--chip-expired-fg: #6E570E;--t-link: #2C5FD0;--t-focus: #3F7A1C;color-scheme:light}html[data-theme] .shell{background:var(--bg);color:var(--ink);min-height:100vh}.shell .skiplink{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:0 0 10px;font-weight:700;text-decoration:none}.shell .skiplink:focus{left:0}.shell main:focus{outline:none}.shell :is(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--t-focus, var(--accent));outline-offset:2px}.sidebar__group{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--side-muted);margin:16px 0 4px;padding-left:12px}.sidebar__nav>div{display:flex;flex-direction:column;gap:3px}.sidebar--collapsed{width:72px;flex-basis:72px;padding:14px 8px}.sidebar--collapsed .navitem{justify-content:center;padding:12px 0}.sidebar--collapsed .navitem span:last-child{display:none}.sidebar--collapsed .sidebar__name,.sidebar--collapsed .signout__label{display:none}.sidebar--collapsed .sidebar__signout{padding:10px 0;text-align:center}.signout__icon{display:none}.sidebar--collapsed .signout__icon{display:inline}.sidebar--collapsed .sidebar__group{padding:0;margin:12px 4px 4px;height:1px;overflow:hidden;border-top:1px solid var(--side-line);color:transparent}.sidebar--collapsed .sidebar__brand .brand__word{display:none}.rail-toggle{margin-top:8px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 0;border-radius:10px;border:1px solid var(--side-line);background:transparent;color:var(--side-muted);font-size:12px;font-weight:600;cursor:pointer}.rail-toggle:hover{color:var(--side-ink);border-color:var(--side-muted)}.brand__badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;flex:none;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:800}.themebtn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line-2);background:var(--panel);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer}.themebtn:hover{color:var(--ink);border-color:var(--faint)}@media(prefers-reduced-motion:reduce){.shell *,.shell *:before,.shell *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:720px){.rail-toggle{display:none}.sidebar .sidebar__group{padding:0;margin:12px 4px 4px;height:1px;overflow:hidden;border-top:1px solid var(--side-line);color:transparent}}.dash--home .metric__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dash--home .metric__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dash--home .schedule__time{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.dash--home .schedule__pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}.dash--home .schedule__pill--in_progress,.dash--home .schedule__pill--en_route,.dash--home .schedule__pill--arrived{color:var(--info-fg)}.dash--home .schedule__pill--completed{color:var(--ok)}.dash--home .schedule__pill--canceled,.dash--home .schedule__pill--failed,.dash--home .schedule__pill--skipped{color:var(--bad)}.dash--home .schedule__pill--weather_delayed,.dash--home .schedule__pill--rescheduled{color:var(--warn)}.dash--home .activity__amt{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.ac__tilelabel{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.ac__tilevalue{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ac__tile--money .ac__tilevalue{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:15px}.ac__badge{display:inline-flex;align-items:center;gap:5px}.ac__card{position:relative;padding-left:16px}.ac__card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--line-2)}.ac__card--sev-due_now:before{background:var(--bad);width:4px}.ac__card--sev-snoozed_expired:before{background:var(--warn)}.ac__card--sev-snoozed_future:before{background:var(--info-fg)}.ac__card--sev-terminal:before{background:var(--ok)}.ac__card--sev-future:before,.ac__card--sev-undated:before{background:var(--line-2)}.ac__money{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.ac__sec h3{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 6px}.board{scrollbar-width:thin;scrollbar-color:var(--faint) var(--panel-2)}.board::-webkit-scrollbar{height:10px}.board::-webkit-scrollbar-track{background:var(--panel-2);border-radius:5px}.board::-webkit-scrollbar-thumb{background:var(--faint);border-radius:5px}.board::-webkit-scrollbar-thumb:hover{background:var(--muted)}.board .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.board .chip--route_day,.board .chip--soft_window{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.board .chip--hard_window{background:var(--chip-hard-bg);border-color:transparent;color:var(--chip-hard-fg)}.board .chip--asap{background:var(--chip-asap-bg);border-color:transparent;color:var(--chip-asap-fg)}.board .chip--lock{background:var(--chip-lock-bg);border-color:transparent;color:var(--chip-lock-fg)}.board .chip--warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.board .chip--over{background:var(--chip-asap-bg);border-color:transparent;color:var(--chip-asap-fg)}.board .chip--note{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.board .chip--req{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.board .chip--completed{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.board .chip--canceled{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.board .bar{background:var(--panel-2);border:1px solid var(--line)}.board .bar__fill{background:var(--accent)}.board .bar__fill--over{background:var(--warn)}.board .col__cap{font-variant-numeric:tabular-nums}.board .card__mins{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.board .card__seq{background:var(--chip-day-bg);color:var(--chip-day-fg)}.col__stoprow{display:flex;gap:6px;align-items:stretch}.col__stoprow>article{flex:1 1 auto;min-width:0}.col__movers{display:flex;flex-direction:column;gap:4px;justify-content:center;flex:none}.mover{width:24px;height:24px;padding:0;border-radius:6px;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);font-size:10px;line-height:1;cursor:pointer}.mover:hover:not(:disabled){color:var(--ink);border-color:var(--faint)}.mover:disabled{opacity:.35;cursor:not-allowed}.shell .warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.shell .blockers{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.shell .conflict{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.shell .error{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.shell .map__draft,.shell .draft{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.shell .map__canvas{background:var(--panel-2)}.modal__x{margin-left:auto;font-size:14px}.shell .btn--danger{background:var(--danger-bg);border-color:var(--danger-bg);color:#fff}.shell .btn--danger:hover:not(:disabled){background:var(--danger-hover)}.shell .chipbtn--issue.chipbtn--on{background:var(--danger-bg);border-color:var(--danger-bg);color:#fff}.modal .chip--issue{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.modal .chip--note,.modal .chip--customer{background:var(--info-soft);color:var(--info-fg)}.modal .note--customer{border-left-color:var(--info-fg)}.modal .chip--completed{background:var(--ok-soft);color:var(--ok)}.modal .chip--canceled{background:var(--panel-2);color:var(--muted)}.sched{padding:0 4px}.sched__date{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.sched .sched__time{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;font-variant-numeric:tabular-nums}.sched .stop__status{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:6px;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.sched .stop__status--in_progress,.sched .stop__status--en_route,.sched .stop__status--arrived{color:var(--info-fg)}.sched .stop__status--completed{color:var(--ok)}.sched .stop__status--canceled,.sched .stop__status--failed,.sched .stop__status--skipped{color:var(--bad)}.sched .stop__status--weather_delayed,.sched .stop__status--rescheduled{color:var(--warn)}.newjob--page fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 14px}.newjob--page legend{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 6px}.newjob--page label.wide{grid-column:1 / -1}@media(max-width:720px){.newjob--page fieldset{grid-template-columns:1fr}}.jobpage h2{margin-top:0}.jobpage .ac__dl{margin:12px 0}.estlist .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.estlist .chip--draft{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.estlist .chip--issued{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.estlist .chip--paid{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.estlist .chip--void{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.estlist .chip--expired{background:var(--chip-expired-bg);border-color:transparent;color:var(--chip-expired-fg)}.estlist .invoices__table th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.estlist .invoices__row td strong{font-variant-numeric:tabular-nums}.estlist td.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.newjob--estimate fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin:0 0 14px}.newjob--estimate legend{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 6px}.newjob--estimate label.wide{grid-column:1 / -1}@media(max-width:720px){.newjob--estimate fieldset{grid-template-columns:1fr}}.estedit{margin-top:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.estedit__lines{width:100%;border-collapse:collapse}.estedit__lines th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);text-align:left;padding:6px 8px 6px 0}.estedit__lines td{padding:4px 8px 4px 0;vertical-align:top}.estedit__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.estactions__edit{margin-top:12px}.estpage .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.estpage .chip--draft{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.estpage .chip--issued{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.estpage .chip--paid{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.estpage .chip--void{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.estpage .chip--expired{background:var(--chip-expired-bg);border-color:transparent;color:var(--chip-expired-fg)}.estpage .invoice-doc__lines th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.estpage .invoice-doc__lines td.r,.estpage .estdoc__total{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:600}.estpage .sendpanel{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm)}.custlist .chip,.custpage .chip,.dash--reports .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.custlist .chip--paid,.custpage .chip--paid{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.custlist .chip--draft,.custpage .chip--draft{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.custlist .chip--issued,.custpage .chip--issued{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.custlist .chip--void,.custpage .chip--void{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.custpage .chip--job-completed{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.custpage .chip--job-canceled,.custpage .chip--job-failed,.custpage .chip--job-skipped{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.custpage .chip--job-en_route,.custpage .chip--job-arrived,.custpage .chip--job-in_progress{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.custpage .chip--job-weather_delayed,.custpage .chip--job-rescheduled{background:var(--chip-expired-bg);border-color:transparent;color:var(--chip-expired-fg)}.dash--reports .chip--warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.dash--reports .chip--sent{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.dash--reports .chip--skipped,.dash--reports .chip--pending{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.dash--reports .chip--failed{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.custpage h2{font-size:20px;font-weight:800;letter-spacing:-.015em;text-transform:none;color:var(--ink)}.custlist .invoices__table th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.custpage .estdoc{background:var(--panel)}.custpage .sendpanel{background:var(--panel-2);border:1px solid var(--line)}.custpage .cust__h3{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.custpage .error,.custlist .error,.recbuilder .error{margin:0 0 8px}.addcust__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.addcust__grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.addcust__check{grid-column:1 / -1;display:inline-flex;flex-direction:row;align-items:center;gap:6px}@media(max-width:720px){.addcust__grid{grid-template-columns:1fr}}.opsbanner{position:sticky;top:0;z-index:60;padding:8px 14px;font-size:13px;line-height:1.4;border-bottom:1px solid var(--warn-line);background:var(--warn-soft);color:var(--ink)}.opsbanner--suspended{background:var(--bad-soft);border-bottom-color:var(--bad, #b42318)}.opsbanner__msg{color:var(--muted)}@media(max-width:480px){.opsbanner{padding:8px 10px;font-size:12px}}.sitetax{flex:1 1 100%;width:100%;grid-column:1 / -1;margin:12px 0 0;padding:10px 12px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);display:flex;flex-direction:column;gap:8px;min-width:0}.sitetax__legend{padding:0 4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.sitetax__choice{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink);line-height:1.35;cursor:pointer;min-height:24px}.sitetax__choice input{margin:2px 0 0;flex:0 0 auto}.sitetax__choice span{min-width:0}.sitetax__rate{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-left:24px}.sitetax__pct{display:inline-flex;align-items:center;gap:6px}.sitetax__pct input{width:7em;max-width:100%}.sitetax__effective{margin:2px 0 0;font-size:13px;color:var(--ink)}.sitetax__effective strong{font-weight:700}@media(max-width:480px){.sitetax__rate{margin-left:0}.sitetax__pct input{width:100%}}.dash--reports .metric__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dash--reports .metric__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dash--reports{padding:0}.dash--reports .schedule__pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:6px;white-space:nowrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2)}.dash--reports .ptable th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.dash--reports .schedule__row:hover .schedule__pill{border-color:var(--line-2)}.dash--reports .ptable td.num,.dash--reports .trendrow__num{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.reports__preset{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--panel);border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer}.reports__preset:hover{border-color:var(--accent)}.reports__preset--on,.reports__preset--on:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.wizard .wizard__title{font-size:20px;font-weight:800;letter-spacing:-.015em;text-transform:none;color:var(--ink);margin:0 0 14px}.wizard .wizard__step{border-radius:10px}.wizard .wizard__num{font-variant-numeric:tabular-nums}.wizard .svcgroup__head>h3,.wizard .teamsec__head>h3,.wizard .invhead{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}.wizard .teamrow{flex-wrap:wrap}.wizard .capedit{margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.wizard .capedit .chip button{padding:0 6px;font-size:11px;line-height:1;min-height:24px;min-width:24px}.wizard .error,.wizard .warn{margin:6px 0 0}.wizard .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.wizard .chip--sent{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.wizard .chip--failed{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.wizard .chip--skipped,.wizard .chip--pending{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.wizard .cred--ok{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.wizard .cred--expiring{background:var(--chip-expired-bg);border-color:transparent;color:var(--chip-expired-fg)}.wizard .cred--expired{background:var(--bad-soft);border-color:transparent;color:var(--bad)}.wizard .cred--none{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.wizard .statuspill{font-variant-numeric:tabular-nums}@media(max-width:720px){.wizard .wizard__step{position:relative}.wizard .wizard__step span:last-child{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}@media(prefers-color-scheme:dark){.tech{--bg: #0A0D13;--panel: #121722;--panel-2: #0E121B;--line: #262E3E;--line-2: #333D51;--ink: #EAEEF6;--ink-2: #C6CDD9;--muted: #A8B3C6;--faint: #7C88A0;--accent: #93D95F;--accent-hover: #AFE87F;--accent-ink: #0A0D13;--money: #93D95F;--accent-soft: rgba(147, 217, 95, .14);--accent-soft-2: rgba(147, 217, 95, .22);--ok: #4FB477;--warn: #E0A83E;--bad: #EF6F6A;--info-bg: #14243C;--info-fg: #8FB4FF;--warn-soft: #3A2E14;--bad-soft: #391D1B;--panel-3: #0E121B;--chip-day-bg: #1B2B12;--chip-day-fg: #93D95F;--tech-note-bg: #231B38;--tech-note: #C9B8F8;--control-bg: #1A2130;--surface-2: #1A2130;--placeholder: #8A94A8;--shadow: 0 0 0 1px rgba(255, 255, 255, .02);color-scheme:dark;background:var(--bg);color:var(--ink);min-height:100vh}.tech .tech__bar{background:var(--bg)}body:has(.tech){background:#0a0d13}}.stop__status{display:inline-flex;align-items:center;gap:5px}.invoices__table,.estlist .invoices__table,.custlist .invoices__table,.estpage .invoice-doc__lines,.custpage .invoice-doc__lines,.estedit__lines{width:100%}.estpage .invoice-doc__lines th,.estpage .invoice-doc__lines td:not(.r),.custpage .invoice-doc__lines th,.custpage .invoice-doc__lines td:not(.r),.estedit__lines th,.estedit__lines td:not(.r){overflow-wrap:anywhere;word-break:break-word}@media(max-width:720px){.invoices__summary{grid-template-columns:1fr;gap:10px}.invoices__controls{flex-wrap:wrap}.invoices__controls input[type=date],.invoices__controls select{flex:1 1 auto}.modal--invoice .invoice-doc__lines,.estpage .invoice-doc__lines{font-size:13px}.ptable__wrap{scrollbar-width:thin;scrollbar-color:var(--faint) var(--panel-2)}.ptable__wrap::-webkit-scrollbar{height:10px}.ptable__wrap::-webkit-scrollbar-track{background:var(--panel-2);border-radius:5px}.ptable__wrap::-webkit-scrollbar-thumb{background:var(--faint);border-radius:5px}.tablewrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--faint) var(--panel-2)}.tablewrap::-webkit-scrollbar{height:10px}.tablewrap::-webkit-scrollbar-track{background:var(--panel-2);border-radius:5px}.tablewrap::-webkit-scrollbar-thumb{background:var(--faint);border-radius:5px}.tablewrap .invoices__table{min-width:520px}.custpage .estdoc__head{flex-wrap:wrap;gap:6px}.estpage .invoices__controls,.custpage .invoices__controls{flex-wrap:wrap}}@media(max-width:720px){.pagehead{flex-wrap:wrap;padding:16px 14px 8px}.pagehead__r{flex-wrap:wrap;justify-content:flex-start}.dash,.board{padding-left:14px;padding-right:14px}.board{max-width:100%}.reports__bar{flex-wrap:wrap;gap:8px}.reports__dates{flex-wrap:wrap}.card2__head{flex-wrap:wrap;gap:6px}}@media(max-width:480px){.dash__metrics,.dash--reports .dash__metrics{grid-template-columns:1fr}}.invoices .tile__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.invoices .tile__value{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.invoices .invoices__table th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.invoices td.r{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.invoices .chip,.modal--invoice .chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.invoices .chip--draft,.modal--invoice .chip--draft{background:var(--panel-2);border-color:var(--line);color:var(--muted)}.invoices .chip--issued,.modal--invoice .chip--issued{background:var(--info-soft);border-color:transparent;color:var(--info-fg)}.invoices .chip--paid,.modal--invoice .chip--paid{background:var(--chip-day-bg);border-color:transparent;color:var(--chip-day-fg)}.invoices .chip--void,.modal--invoice .chip--void{background:var(--chip-void-bg);border-color:transparent;color:var(--chip-void-fg)}.invoices .chip--pricing,.modal--invoice .chip--pricing{background:var(--chip-expired-bg);border-color:transparent;color:var(--chip-expired-fg)}.modal--invoice .invoice-doc h2{font-size:20px;font-weight:800;letter-spacing:-.015em;text-transform:none;color:var(--ink);margin:0 8px 6px 0}.modal--invoice .invoice-doc__head{border-bottom:2px solid var(--line-2)}.modal--invoice .invoice-doc__lines th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.modal--invoice .invoice-doc__lines td.r{font-family:IBM Plex Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:600}.modal--invoice .payments{margin-top:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.modal--invoice .payments>h3{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.modal--invoice .payments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.modal--invoice .payments__row{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.modal--invoice .payments__row--reversed{background:var(--panel-2)}.modal--invoice .payments__form{margin-top:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;flex-direction:column;gap:8px}
