:root{--bg: #0c110f;--surface: #161d1a;--sunk: #111714;--raised: #1e2622;--frame-hover: #161d1a;--ink: #f1f5f2;--muted: #9aa7a0;--line: #28312d;--primary: #3ee07f;--primary-strong: #3ee07f;--primary-hover: color-mix(in srgb, var(--primary) 82%, white);--primary-ink: #04200f;--primary-soft: #173426;--attn: #f6be55;--attn-soft: #352a12;--good: #3ee07f;--good-soft: #173426;--bad: #ff8b80;--bad-soft: #3a1a17;--info: #9db7ff;--info-soft: #1a2142;--telus: #cdb8f5;--telus-soft: #2b2242;--rogers: #ff9cab;--rogers-soft: #3d1a21;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--radius: 22px;--shadow: none;color-scheme:dark}:root[data-theme=ocean]{--bg: #0b1018;--surface: #141b26;--frame-hover: #141b26;--raised: #1c2533;--sunk: #0f151f;--ink: #eef3fa;--muted: #98a6b8;--line: #263142;--primary: #4cb2ff;--primary-strong: #4cb2ff;--primary-ink: #031a2e;--primary-soft: #13283d}:root[data-theme=sunset]{--bg: #120e0b;--surface: #1d1712;--frame-hover: #1d1712;--raised: #261e18;--sunk: #17120e;--ink: #f7f1ec;--muted: #ab9d92;--line: #33291f;--primary: #ff9a3d;--primary-strong: #ff9a3d;--primary-ink: #2a1300;--primary-soft: #3a2414}:root[data-theme=violet]{--bg: #0d0b16;--surface: #171425;--frame-hover: #171425;--raised: #211d31;--sunk: #12101d;--ink: #f3f1fa;--muted: #a29db8;--line: #2c2840;--primary: #a78bfa;--primary-strong: #a78bfa;--primary-ink: #160a33;--primary-soft: #2a2148}:root[data-theme=rose]{--bg: #120b0e;--surface: #1d1418;--frame-hover: #1d1418;--raised: #271b21;--sunk: #170f13;--ink: #f8eff2;--muted: #b09aa3;--line: #35252c;--primary: #ff7aa8;--primary-strong: #ff7aa8;--primary-ink: #2e0616;--primary-soft: #3d1a28}:root[data-theme=light]{--bg: #f3f6f4;--surface: #ffffff;--frame-hover: #e8ede9;--raised: #eef2ef;--sunk: #e8ede9;--ink: #101814;--muted: #56635c;--line: #d8e0db;--primary: #13883f;--primary-strong: #13883f;--primary-hover: color-mix(in srgb, var(--primary) 85%, black);--primary-ink: #ffffff;--primary-soft: #dcf3e5;--attn: #9a5a00;--attn-soft: #fff0d2;--good: #1e7a4c;--good-soft: #e0f2e7;--bad: #c0262d;--bad-soft: #fde6e5;--info: #3557a6;--info-soft: #e5ebf9;--telus: #4b2a85;--telus-soft: #ece6f6;--rogers: #b3122b;--rogers-soft: #fbe5e8;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;line-height:1.25;text-wrap:balance}h1{font-size:34px;font-weight:300;letter-spacing:-.6px;line-height:1.18}h2{font-size:18px}h3{font-size:17px}p{margin:0}.muted{color:var(--muted)}.small{font-size:14px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:68px auto;min-height:100%}.menu{grid-row:1 / span 2;background:var(--bg);border-right:1px solid var(--line);padding:14px 16px 18px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 6px 12px;min-height:44px}.brand-mark{width:36px;height:36px;border-radius:50%;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;flex:none}.brand-name{font-size:18px;font-weight:800;line-height:1.15;letter-spacing:-.3px}.brand-sub{font-size:13px;font-weight:600;color:var(--muted)}.menu-group{display:grid;gap:2px;margin-top:18px}.menu-group-name{font-size:12.5px;font-weight:600;color:var(--muted);padding:0 10px 6px}.menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:var(--muted);padding:10px 14px;border-radius:999px;font-weight:700;font-size:14.5px;position:relative;min-height:44px}.menu a:hover{color:var(--ink)}.menu-label{display:flex;align-items:center;gap:10px}.menu a .icon{color:var(--muted);flex:none}.menu a:hover{background:var(--frame-hover)}.menu a.on{background:var(--primary-soft);color:var(--primary)}.menu a.on .icon{color:var(--primary)}.menu a.menu-card{margin-top:auto;display:grid;justify-items:center;gap:6px;text-align:center;text-decoration:none;color:var(--ink);padding:18px 14px 16px;border-radius:22px;border:1px solid var(--line);background:var(--surface)}.menu a.menu-card .menu-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--primary-soft);color:var(--primary);margin-bottom:4px}.menu a.menu-card>span:not(.menu-card-icon):not(.btn){color:var(--muted);font-size:13px}.menu a.menu-card .btn{margin-top:6px;width:100%}.menu a.menu-card:hover .btn{background:var(--primary-hover)}.menu .who{margin-top:auto;padding:16px 10px 0;font-size:14px;display:none;gap:6px}.menu-find{display:block;margin:2px 0 0}.theme-pick{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px}.theme-pick button{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer}.theme-pick button[aria-checked=true]{border-color:var(--primary)}.theme-pick button span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line)}.theme-pick button span i{width:13px;height:13px;border-radius:50%}.menu-find .quick-find{margin:0;flex:1}.topbar{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 0 32px;position:sticky;top:0;z-index:6;background:var(--bg);border-bottom:1px solid var(--line)}.topbar-title{display:grid;min-width:0}.topbar-title strong{font-size:24px;font-weight:300;line-height:1.2;letter-spacing:-.4px}.topbar-title span{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-find{position:relative;display:flex;align-items:center}.quick-find svg{position:absolute;left:14px;color:var(--muted);pointer-events:none}.quick-find input[type=search]{min-height:42px;height:42px;padding:6px 38px!important;border-radius:999px;background:var(--raised);font-size:14px}.quick-find kbd{position:absolute;right:10px;font:700 12px/18px var(--font);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 6px;background:var(--sunk);pointer-events:none}.quick-find input:focus+kbd,.quick-find input:not(:placeholder-shown)+kbd{display:none}.account{display:flex;align-items:center;gap:12px;font-size:14px;white-space:nowrap}.account-name{font-weight:700}.icon-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}.icon-btn:hover{background:var(--raised)}button.icon-btn{cursor:pointer;padding:0}.bell-chip{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;flex:none}.bell-chip:hover{background:var(--raised)}.bell-chip.has-new:after{content:"";position:absolute;top:9px;right:10px;width:10px;height:10px;border-radius:50%;background:var(--bad);border:2px solid var(--surface)}.me-chip{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary-soft);border:2px solid var(--primary);color:var(--primary);font-weight:800;font-size:14px;text-decoration:none;flex:none;padding:0;cursor:pointer}.profile{display:flex;align-items:center;gap:10px;padding-left:4px}.profile-text{display:grid;line-height:1.25}.profile-text strong{font-size:14px}.profile-text span{font-size:12px;color:var(--muted)}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;border:1px solid;font-weight:700;letter-spacing:.02em}.icon-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--bad);color:var(--bg);font-size:11px;line-height:18px;text-align:center}.menu-items{display:contents}.phone-actions,.tabbar{display:none}main.sheet{grid-column:2;min-width:0;padding:26px max(20px,2.2vw) 64px 32px}.page{max-width:1200px;margin:0 auto;display:grid;gap:20px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:4px}.page-head p{color:var(--muted);margin-top:4px;max-width:70ch;font-size:15px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spread{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;min-width:0}.card-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.card-head p{color:var(--muted);font-size:14px}.card-body{padding:20px;grid-template-columns:minmax(0,1fr)}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.sticky{position:sticky;top:20px}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface)}.figure{padding:16px 20px 18px;display:grid;gap:2px;align-content:start;box-shadow:-1px 0 0 var(--line),0 -1px 0 var(--line)}.figure .label{color:var(--muted);font-size:13px;font-weight:600}.figure .value{font-size:32px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-1px}.figure .note{display:block;padding:0;border:0;border-radius:0;font-size:13px;color:var(--muted)}a.figure{color:inherit;text-decoration:none}a.figure:hover{background:var(--sunk)}a.figure .note{color:var(--primary);font-weight:700}.figure.attn{background:var(--attn-soft)}.figure.attn .value,.figure.attn .label,.figure.attn .note{color:var(--attn)}.todo{display:grid;grid-template-columns:minmax(0,1fr)}.todo>*{display:flex;gap:14px;overflow-wrap:anywhere;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid var(--line)}.todo>*:first-child{border-top:0}.todo .what{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.todo .what span{color:var(--muted);font-size:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:13px;font-weight:700;color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface)}td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}td.r,th.r{text-align:right}td.nowrap{white-space:nowrap}td .sub{display:block;font-size:14px;color:var(--muted);margin-top:2px}td .sub.needs{color:var(--attn, #9a5b00);font-weight:600}tr.click{cursor:pointer}tr.click:hover td,tbody tr:hover td{background:var(--sunk)}td.money{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.empty{padding:36px 20px;text-align:center;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:5px 12px 5px 10px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--muted)}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status.good{background:var(--good-soft);color:var(--good)}.status.info{background:var(--info-soft);color:var(--info)}.status.attn{background:var(--attn-soft);color:var(--attn)}.status.bad{background:var(--bad-soft);color:var(--bad)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:10px 20px;min-height:44px;font-weight:800;cursor:pointer;text-decoration:none;background:var(--primary-strong);color:var(--primary-ink);line-height:1.2;transition:background-color .12s,border-color .12s}.btn:active{transform:translateY(1px)}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.quiet{background:var(--raised);color:var(--ink);border-color:var(--line);font-weight:700}.btn.quiet:hover{background:var(--line)}.btn.danger{background:transparent;color:var(--bad);border-color:var(--bad)}.btn.small{padding:6px 14px;font-size:14px;min-height:34px}.link-btn{background:none;border:0;padding:0;color:var(--primary);font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.field{display:grid;gap:6px;min-width:0;align-content:start}.field>span:first-child{font-weight:600;font-size:14px;color:var(--muted)}.field .hint{font-size:14px;color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;padding:11px 16px;border:1px solid var(--line);border-radius:16px;background:var(--raised);min-height:48px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid var(--primary-soft);outline-offset:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:1px}textarea{line-height:1.5}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:16px}.check{display:flex;align-items:center;gap:10px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--primary)}fieldset{border:0;padding:0;margin:0;min-width:0}.money-input{position:relative}.money-input:before{content:"$";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.money-input input{padding-left:24px!important;text-align:right}.segmented{display:inline-flex;gap:8px;flex-wrap:wrap}.segmented button{border:1px solid var(--line);background:var(--surface);padding:8px 18px;min-height:40px;border-radius:999px;cursor:pointer;font-weight:700;color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.msg{padding:12px 16px;border-radius:14px;font-weight:600}.msg.bad{background:var(--bad-soft);color:var(--bad)}.msg.good{background:var(--good-soft);color:var(--good)}.msg.attn{background:var(--attn-soft);color:var(--attn)}.msg ul{margin:8px 0 0;padding-left:20px}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px 20px}.fact .k{color:var(--muted);font-size:14px}.fact .v{overflow-wrap:anywhere}.pay-total{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.lines{display:grid;gap:10px}.lines .line{display:flex;justify-content:space-between;gap:12px}.lines .line small{display:block;color:var(--muted);font-size:13px}.steps{display:flex;gap:0;list-style:none;padding:0;margin:0}.steps li{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700}.steps li+li:before{content:"";width:36px;height:2px;background:var(--line);margin:0 10px}.steps .dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px}.steps li.done{color:var(--good)}.steps li.done .dot{background:var(--good);border-color:var(--good);color:var(--primary-ink)}.steps li.now{color:var(--ink)}.steps li.now .dot{border-color:var(--primary);color:var(--primary)}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f161c73;z-index:10}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--bg);border-left:1px solid var(--line);z-index:11;overflow-y:auto;padding:28px;display:grid;gap:18px;align-content:start;box-shadow:-12px 0 32px #0000002e}.drawer:focus{outline:none}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login form{width:100%;max-width:400px;display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px}details.more>summary{cursor:pointer;font-weight:700;color:var(--primary);list-style:none}details.more>summary::-webkit-details-marker{display:none}details.more[open]>summary{margin-bottom:16px}@media (max-width: 980px){.split{grid-template-columns:1fr}.sticky{position:static}}@media (max-width: 780px){.shell{grid-template-columns:1fr;grid-template-rows:auto}.topbar{display:none}.menu-find{display:block;padding:4px 0 2px}.menu-find .quick-find{flex:1}.menu-find kbd{display:none}.menu-group{margin-top:10px}main.sheet{grid-column:1;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}.menu a.menu-card{display:none}.menu{grid-row:auto;position:sticky;top:0;z-index:20;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 16px 6px;border-right:0}.menu .brand{flex:1;min-width:0;padding:0}.menu .brand>div{min-width:0}.brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-actions{display:flex;gap:10px;align-items:center}.menu-items{display:none;position:fixed;left:0;right:0;top:66px;bottom:calc(66px + env(safe-area-inset-bottom));flex-direction:column;gap:2px;padding:8px 16px 20px;overflow-y:auto;background:var(--bg)}.menu-items.open{display:flex}.menu a{padding:12px 14px}.menu .who{margin-top:8px;padding:12px 14px 4px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--sunk);border-top:1px solid var(--line);padding:6px 0 calc(4px + env(safe-area-inset-bottom))}.tabbar a,.tabbar button{flex:1;min-width:0;min-height:52px;display:grid;justify-items:center;align-content:start;gap:3px;padding:4px 0;border:0;background:none;color:var(--muted);text-decoration:none;font:700 12px/1.2 var(--font);cursor:pointer}.tabbar .tab-icon{position:relative;display:grid;place-items:center;padding:4px 16px;border-radius:999px}.tabbar .on{color:var(--primary)}.tabbar .on .tab-icon{background:var(--primary-soft)}.tabbar .tab-icon b{position:absolute;top:-2px;right:4px;min-width:18px;padding:0 5px;border-radius:999px;background:var(--bad);color:var(--bg);font-size:11px;line-height:16px;text-align:center}.page-head h1.visually-hidden{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}h1{font-size:34px}}.map-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}.map-side{display:grid;gap:16px;max-height:calc(100vh - 150px);overflow-y:auto;padding-right:2px}.map-canvas{height:calc(100vh - 150px);min-height:480px;border-radius:var(--radius);border:1px solid var(--line);position:sticky;top:20px;z-index:0}.stage-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:700;color:var(--muted)}.stage-chip i{width:10px;height:10px;border-radius:50%;opacity:.35}.stage-chip.on{color:var(--ink);border-color:var(--ink)}.stage-chip.on i{opacity:1}.job-list{list-style:none;margin:0;padding:0}.job-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 20px;border-top:1px solid var(--line)}.job-list li:first-child{border-top:0}.job-list input[type=checkbox]{width:18px;height:18px;margin-top:3px;accent-color:var(--primary);flex:none}.job-list .dot{width:12px;height:12px;border-radius:50%;margin-top:6px;flex:none}.map-legend{display:flex;flex-wrap:wrap;gap:6px 14px}.map-legend .dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:4px}.stop-num{flex:none;width:26px;height:26px;border-radius:50%;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;font-weight:700;font-size:14px}.route-pin{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;font:700 13px/1 var(--font);border:2px solid #fff;box-shadow:0 1px 4px #00000059}.start-pin{display:inline-block;background:#18212b;color:#fff;font:700 13px/1 var(--font);padding:6px 10px;border-radius:999px;border:2px solid #fff;box-shadow:0 1px 4px #00000059}.leaflet-container{font:15px/1.5 var(--font)}.pop{display:grid;gap:4px;min-width:200px}.pop .muted{color:#56616e;font-size:14px}.pop-stages{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.pop-stages button{border:1px solid #d3dbd9;background:#fff;border-radius:6px;padding:3px 8px;cursor:pointer;font:700 13px/1.3 var(--font);color:#18212b}.pop-stages button:disabled{background:#0f5f73;color:#fff;border-color:#0f5f73;cursor:default}@media (max-width: 980px){.map-layout{grid-template-columns:1fr}.map-side{max-height:none;overflow:visible}.map-canvas{position:static;height:65vh;order:-1}}.start-box{padding:10px 12px;border-radius:8px;border:1px dashed var(--line);color:var(--muted)}.start-box.set{border-style:solid;border-color:var(--primary);background:var(--primary-soft);color:var(--ink)}.start-note{padding:8px 10px;border-radius:6px;background:var(--sunk)}.start-note.good{background:var(--good-soft);color:var(--good)}.start-note.bad{background:var(--bad-soft);color:var(--bad)}.addr{position:relative;width:100%;min-width:0}.addr-list{position:absolute;z-index:1000;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0f161c29;max-height:320px;overflow-y:auto}.addr-list li{display:grid;gap:1px;padding:9px 12px;border-radius:7px;cursor:pointer}.addr-list li small{color:var(--muted);font-size:13px}.addr-list li.on{background:var(--primary-soft)}.addr-list li.addr-note{cursor:default;color:var(--muted);font-size:14px}.crew-block{padding:18px 20px;border-top:1px solid var(--line);display:grid;gap:14px}.crew-block:first-of-type{border-top:0}.crew-head{border-bottom:1px solid var(--line);padding-bottom:8px}.what{display:grid;gap:2px;min-width:0}.what>span{color:var(--muted);font-size:14px}.sub{display:block;font-size:14px;color:var(--muted);margin-top:2px}.week-block{display:grid;gap:12px;padding:14px 16px;background:var(--bg);border-radius:8px}.breakdown{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.breakdown h4{margin:0 0 8px;font-size:15px;color:var(--muted)}ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:4px}.order-lines{gap:8px}.pay-table td{padding:6px 0 6px 12px;border-bottom:1px solid var(--line)}.pay-table td:first-child{padding-left:0}.pay-table tr:last-child td{border-bottom:0}.pay-table .pay-total-row td{font-weight:700;font-size:17px}@media (max-width: 700px){.breakdown{grid-template-columns:1fr}}.client-tag{display:inline-block;font-size:12px;font-weight:700;padding:1px 7px;border-radius:5px;vertical-align:1px;letter-spacing:.02em}.client-tag.telus{background:var(--telus-soft);color:var(--telus)}.client-tag.rogers{background:var(--rogers-soft);color:var(--rogers)}.client-block{display:grid;gap:6px;margin-bottom:12px}tr.client-row td{padding-top:12px;border-bottom:0}tr.client-subtotal td{color:var(--muted);font-size:14px}input.pick{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}tr.picked td{background:var(--primary-soft)}td.pick-cell{cursor:pointer}.select-bar{position:sticky;top:56px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 16px;background:var(--primary-soft);border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.select-bar-move{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.select-bar-move select{width:auto;min-width:200px;min-height:34px;padding:4px 10px}.select-bar .msg{flex-basis:100%}.note{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.note-who{font-size:14px}.note-text{white-space:pre-wrap;overflow-wrap:anywhere}.get-app{background:var(--primary-soft);color:var(--ink)}.get-app-login{display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 0;color:var(--muted);font-size:14px}.new-version{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto 18px}.note-files{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.note-files img{display:block;width:150px;height:112px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.note-files figure{margin:0;display:grid;gap:4px}.note-files video{display:block;width:min(360px,100%);max-height:260px;border-radius:8px;background:#000}.office-notes{border-color:var(--primary)}.office-notes .card-head{background:var(--primary-soft)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 32px}.summary-grid h3{margin:0 0 8px;font-size:16px}.tally{list-style:none;margin:0;padding:0;display:grid}.tally li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.tally li:last-child{border-bottom:0}.tally .num{font-weight:700;font-variant-numeric:tabular-nums}.tally .indent{padding-left:16px}.attn-text{color:var(--attn)}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:color-mix(in srgb,var(--bg, #000) 70%,transparent);pointer-events:none}.drop-overlay>div{display:grid;gap:6px;max-width:420px;padding:28px 32px;text-align:center;background:var(--surface);border:2px dashed var(--primary);border-radius:var(--radius)}.drop-overlay strong{font-size:20px}.file-drop{display:grid;gap:4px;justify-items:center;text-align:center;padding:22px 16px;border:2px dashed var(--line);border-radius:var(--radius);cursor:pointer}.file-drop:hover,.file-drop.over{border-color:var(--primary)}.file-drop.has-file{border-style:solid}.file-drop:focus-within{outline:2px solid var(--primary);outline-offset:2px}.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}.filter-top{grid-template-columns:minmax(240px,2fr) repeat(var(--cols),minmax(170px,1fr))}@media (max-width: 780px){.filter-top{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-top>:first-child{grid-column:1 / -1}}@media (max-width: 780px){.todo>*{flex-wrap:wrap;padding:14px 16px}}fieldset{min-width:0;grid-template-columns:minmax(0,1fr)}select{max-width:100%}.weights{display:grid;gap:12px}.weight{display:grid;gap:4px}.weight input[type=range]{width:100%;accent-color:var(--primary)}.job-list .why{color:var(--ink)}.job-list .show-on-map{display:flex;gap:14px;align-items:baseline;margin:2px 0}.job-list .show-on-map .link-btn{padding:0}.pop-links{display:flex;gap:14px}.street-view{width:100%;aspect-ratio:4 / 3;border:0;border-radius:var(--radius);background:var(--sunk)}.contact-log{list-style:none;margin:0;padding:0;display:grid;gap:8px}.contact-log li{padding:8px 0;border-top:1px solid var(--line)}.contact-log li:first-child{border-top:0;padding-top:0}td.needs{color:var(--attn);font-weight:700}.plan-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.plan-pool{position:sticky;top:20px;max-height:calc(100vh - 140px);overflow-y:auto}.plan-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.plan-day{padding:12px;display:grid;gap:10px;align-content:start;min-height:160px}.plan-day.today{border-color:var(--primary)}.plan-day-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.plan-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plan-card{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--surface);cursor:grab;display:grid;gap:2px}.plan-card.dragging{opacity:.4}.plan-card select{margin-top:4px;font-size:12px;padding:4px 6px}.plan-card .needs,.plan-list .needs{color:var(--attn);font-weight:600}@media (max-width: 980px){.plan-layout{grid-template-columns:1fr}.plan-pool{position:static;max-height:none}}.note-files figcaption{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.note-file-delete{color:var(--bad)!important;padding:0}.text-stops{list-style:none;margin:0;padding:0;display:grid;gap:8px}.text-stops li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.text-stops .needs,.contact-log .needs{color:var(--attn);font-weight:600}.text-stops .good{color:var(--good);font-weight:600}.text-actions{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.text-actions select{font-size:13px;padding:5px 8px}.contact-log li.text-in{background:var(--info-soft);border-radius:8px;padding:8px 10px}.text-preview{background:var(--sunk);border-radius:8px;padding:8px 10px;font-size:13px;margin-top:4px}.danger-card{border-color:var(--bad)}.unread-count{display:inline-block;margin-left:8px;min-width:20px;padding:0 6px;border-radius:999px;background:var(--bad);color:var(--bg);font-size:12px;line-height:20px;text-align:center;vertical-align:1px}.chat-page{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:18px;align-items:start}.chat-list nav{display:grid;border-top:1px solid var(--line);max-height:560px;overflow-y:auto}.chat-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}.chat-item-text{display:grid;gap:2px;min-width:0}.chat-item-top{display:flex;align-items:center;gap:8px;min-width:0}.chat-item-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-item-side{display:grid;justify-items:end;gap:4px}.chat-item-side .unread-count{margin:0}.chip{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;white-space:nowrap}.chip-all{background:var(--primary-soft);color:var(--primary)}.chip-job{background:var(--good-soft);color:var(--good)}.chat-item:hover{background:var(--sunk)}.chat-item.on{background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.chat-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat{display:grid;gap:10px}.chat-log{overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px}.chat-msg{max-width:78%;align-self:flex-start;display:flex;align-items:flex-end;gap:8px}.chat-msg.mine{align-self:flex-end;text-align:right}.chat-day{align-self:center;margin:6px 0}.chat-day span{display:inline-block;font-size:12px;font-weight:600;color:var(--muted);background:var(--sunk);border:1px solid var(--line);border-radius:999px;padding:3px 12px}.chat-who{font-size:12px;color:var(--muted);margin-bottom:2px}.chat-body{display:inline-block;text-align:left;background:var(--raised);border-radius:14px 14px 14px 4px;padding:9px 14px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg.mine .chat-body{background:var(--primary-strong);color:var(--primary-ink);border-radius:14px 14px 4px}.chat-send{display:flex;gap:8px;align-items:flex-end}.chat-send textarea{flex:1;min-width:0;resize:vertical}@media (max-width: 760px){.chat-page{grid-template-columns:minmax(0,1fr)}.chat-list nav{max-height:260px}}@media (max-width: 780px){.plan-card select,.text-actions select{font-size:16px}}@media (max-width: 780px){.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figure .value{font-size:24px}}.sheet-head h1{font-size:26px}.sheet-head p{color:var(--muted)}.sheet-stops{margin:0;padding-left:26px;display:grid;gap:12px}.sheet-stops>li{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:grid;gap:6px;break-inside:avoid}.sheet-stops>li::marker{font-weight:800;color:var(--primary)}.sheet-order{font-size:17px}.sheet-address{font-size:16px;font-weight:600}.sheet-facts{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--muted);font-size:14px}.sheet-needs{color:var(--attn);font-weight:700;font-size:14px}.sheet-notes{font-size:14px;white-space:pre-wrap}.sheet-write{font-size:13px;color:var(--muted);padding-top:6px;border-top:1px dashed var(--line)}@media print{.menu,.topbar,.tabbar,.no-print,.new-version,.get-app{display:none!important}.shell{display:block}body,main.sheet{background:#fff!important;color:#000;padding:0!important}.sheet-stops>li{border-color:#999;background:#fff}.sheet-facts,.sheet-write,.sheet-head p{color:#333}.sheet-needs{color:#000}}
