@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/f263782c6a4bddee-s.1gyfqm5yhhzs7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/85e86a88f68a624a-s.357dd_6abeqge.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/c6a5c2fdc12da45c-s.p.17-aodiw50953.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}._8YhNJG_className{font-family:Archivo,Archivo Fallback;font-style:normal}._8YhNJG_variable{--font-archivo:"Archivo", "Archivo Fallback"}
:root{--navy:#1f3a5f;--navy-dark:#152a46;--amber:#f28c28;--hivis:#ffc20e;--hazard-black:#111;--hazard-stripe:repeating-linear-gradient(-45deg, var(--hivis) 0 8px, var(--hazard-black) 8px 16px);--bg:#f3f5f8;--card:#fff;--text:#1b2430;--muted:#5b6675;--border:#dbe1e8;--ok:#1e7b45;--warn:#9a6400;--bad:#b3261e;--radius:10px;--nav-h:64px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:16px/1.45 var(--font-archivo), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;-webkit-text-size-adjust:100%;margin:0}a{color:var(--navy)}h1{margin:0;font-size:1.5rem}h2{margin:0 0 10px;font-size:1.1rem}.muted{color:var(--muted)}.small{font-size:.8rem}.loading{text-align:center;color:var(--muted);padding:48px 16px}.topbar{z-index:10;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--navy);color:#fff;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{flex-shrink:0;display:flex}.brand img{width:auto;height:32px;display:block}.home-legal{text-align:center;color:var(--muted);margin:24px 0 8px;font-size:13px}.home-legal a{color:var(--muted);text-decoration:underline}.topnav{flex:1;gap:4px;display:none}.topnav a{color:#dbe6f3;border-radius:6px;padding:6px 12px;text-decoration:none}.topnav a.active,.topnav a:hover{color:#fff;background:#ffffff24}.page{max-width:900px;padding:16px 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}.bottomnav{z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fff;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.62rem;text-decoration:none;display:flex}.bottomnav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.bottomnav a.active{color:var(--navy);font-weight:600}@media (min-width:760px){.topnav{display:flex}.bottomnav{display:none}.page{padding-bottom:48px}}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 12px;display:flex}.back{margin-bottom:4px;font-size:.9rem;text-decoration:none;display:inline-block}.head-total{text-align:right;font-size:1.4rem;font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:14px 16px}.card.highlight{border-color:var(--navy);box-shadow:0 0 0 2px #1f3a5f1f}.notice{border-radius:var(--radius);background:#fff7e0;border:1px solid #f0d58a;margin-bottom:16px;padding:12px 16px}.update-banner{background:var(--amber);justify-content:center;align-items:center;gap:12px;padding:8px 16px;font-weight:600;display:flex}.btn{border:1px solid var(--navy);background:var(--navy);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--navy-dark)}.btn.secondary{color:var(--navy);background:#fff}.btn.secondary:hover{background:#eef2f7}.btn.small{min-height:32px;padding:0 12px}.btn.full{width:100%}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}.link.danger{color:var(--bad)}.icon-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;width:36px;height:36px;font-size:1rem}.icon-btn:disabled{opacity:.35}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.save-bar{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex;position:static;box-shadow:0 4px 16px #00000014}.save-bar.top{position:static}.terms-box{min-height:240px;font-size:.95rem;line-height:1.45}.line-markup{margin:2px 0 6px}.markup-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.92rem}.markup-table th,.markup-table td{text-align:right;border-bottom:1px solid var(--line,#e3e7ee);padding:6px 4px}.markup-table th:first-child,.markup-table td:first-child{text-align:left}.markup-total td{border-bottom:0;font-weight:700}.seats{border:1px solid var(--line,#d0d7e1);background:#f3f6fa;border-radius:10px;padding:10px 12px}.seats.full{background:#fff7e6;border-color:#f3c56b}.plan-toggle{border:1px solid var(--line,#d0d7e1);border-radius:999px;margin:4px 0 14px;padding:3px;display:inline-flex}.plan-toggle button{font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 14px}.plan-toggle button.active{background:var(--navy,#1f3a5f);color:#fff}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:10px;display:grid}.plan-tile{border:1px solid var(--line,#d0d7e1);border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex;position:relative}.plan-tile.popular{border-color:var(--navy,#1f3a5f);border-width:2px}.plan-tile h3{margin:0}.plan-tile .pill{align-self:flex-start}.plan-price{margin:2px 0 0;font-size:1.5rem;font-weight:700}.plan-tile .btn{margin-top:auto}.plan-tile.current{border-color:var(--navy);background:#f1f5fa;border-width:2px}.plan-tile.current .pill.ok{background:var(--navy);color:#fff}.pill.ok{color:#14603a;background:#dff3e7}.plan-others{margin:18px 0 4px}.plan-users{margin:2px 0 0;font-weight:700}.plan-plus{margin:6px 0 0}.plan-gets{margin:4px 0 12px;padding-left:18px;font-size:.9rem;line-height:1.45}.plan-founding{color:var(--navy);margin:0;font-weight:600}.plan-compare{margin:12px 0}.plan-compare summary{cursor:pointer;color:var(--navy,#1f3a5f);padding:6px 0;font-weight:700}.plan-compare-wrap{overflow-x:auto}.plan-compare table{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}.plan-compare th,.plan-compare td{border-bottom:1px solid var(--line,#e3e7ee);text-align:center;padding:7px 6px}.plan-compare th:first-child,.plan-compare td:first-child{text-align:left}.plan-compare td.yes{color:var(--ok,#1d7a46);font-weight:700}.plan-compare td.no{color:#9aa4b2}.plan-sms{border-top:1px solid var(--line,#e3e7ee);padding-top:10px}.plan-addon{border:1px solid var(--line,#d0d7e1);border-radius:10px;margin:14px 0 4px;padding:10px 14px}.plan-addon h3{margin:0 0 4px}.plan-subs-pick{margin:6px 0 10px}.plan-offer{background:#fff7e6;border:1px solid #f3c56b;border-radius:10px;padding:10px 12px}.danger-zone{flex-wrap:wrap;gap:24px;display:flex}input,select,textarea{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:8px 10px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:2px solid #1f3a5f59}input[type=file]{border:0;padding:8px 0}.field{margin-bottom:10px;display:block}.field-label{color:var(--muted);margin-bottom:4px;font-size:.85rem;font-weight:600;display:block}.field-hint{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.grid2{grid-template-columns:1fr;column-gap:16px;display:grid}@media (min-width:600px){.grid2{grid-template-columns:1fr 1fr}.span2{grid-column:span 2}}.filters{gap:8px;margin-bottom:12px;display:flex}.filters select{width:auto;min-width:120px}.error{color:var(--bad)}.success{color:var(--ok);font-weight:600}.tabs{background:#e5e9ef;border-radius:10px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.tabs button{min-height:38px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;font-weight:600}.tabs button.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px #0000001f}.logo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.logo-preview{border:1px solid var(--border);background:#fff;border-radius:6px;max-width:180px;max-height:60px;padding:4px}.pay-row{flex-wrap:wrap;gap:8px;display:flex}.pay-row input{flex:1;min-width:140px}.modal-backdrop{z-index:50;background:#0f19288c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:560px;max-height:92vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:14px 14px 0 0;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head h2{margin:0}@media (min-width:600px){.modal-backdrop{align-items:center}.modal{border-radius:14px;padding:20px}}.customer-card{margin-top:16px}.customer-card h2{margin-bottom:4px}.customer-code-row{gap:8px;display:flex}.code-input{letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:18px}.portal-box{border:1px dashed var(--border);border-radius:var(--radius);background:#f8fafc;margin:8px 0 16px;padding:12px 14px}.portal-box h3{margin:0 0 6px;font-size:.95rem}.portal-box .actions{margin:8px 0 0}.code-display{letter-spacing:.1em;color:var(--navy);margin:4px 0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:1.4rem;font-weight:700}.portal-page{background:var(--bg);min-height:100vh}.portal-head{border-bottom:3px solid var(--navy);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;display:flex}.portal-logo{max-width:200px;max-height:48px;margin-bottom:6px;display:block}.portal-business{color:var(--navy);font-size:1.15rem;font-weight:700}.portal-page .page{padding-bottom:48px}.portal-page .list-title{white-space:normal}.portal-page .stats{grid-template-columns:1fr}.portal-page .stats>.stat:last-child:nth-child(odd){grid-column:auto}.pay-card .doc-meta{margin-left:0}.pay-card .doc-meta td{text-align:left}.picker{position:relative}.picker-list{z-index:20;border:1px solid var(--border);background:#fff;border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% - 8px);left:0;right:0;box-shadow:0 8px 24px #0000001f}.picker-list button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;padding:8px 10px;display:flex}.picker-list button:hover{background:#eef2f7}.picker-list span{color:var(--muted);font-size:.82rem}.linked-customer{color:var(--ok);background:#e2f4e8;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:6px 12px;display:flex}.save-customer{margin:0 0 16px}.auth-page{background:var(--navy);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:24px}.auth-card h1{margin-bottom:4px}.auth-logo img{width:auto;height:44px;margin-bottom:8px;display:block}.legal-logo{width:auto;height:36px;margin:16px 0 8px;display:block}.auth-footer{color:var(--muted);margin:16px 0 0;font-size:.82rem}.legal-page{background:#fff;min-height:100vh;padding:24px 16px 48px}.legal{max-width:720px;margin:0 auto;line-height:1.6}.legal h1{margin-top:8px;font-size:1.8rem}.legal h2{color:var(--navy);margin-top:28px;font-size:1.2rem}.legal h3{margin:16px 0 4px;font-size:1rem}.legal li{margin-bottom:6px}.topbar-right{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.logout-btn{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.78rem}.logout-btn:hover{background:#ffffff24}.sync-badge{text-overflow:ellipsis;color:#fff;min-width:0;font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;display:inline-flex;overflow:hidden}.sync-badge .dot{background:#5fd38d;border-radius:50%;width:8px;height:8px}.sync-badge.busy .dot{background:#9cc3ff}.sync-badge.warn .dot{background:var(--amber)}.sync-badge.bad .dot{background:#ff7b72}.stats{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (min-width:760px){.stats{grid-template-columns:repeat(3,1fr)}.stats>.stat:last-child:nth-child(odd){grid-column:auto}}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat-label{color:var(--muted);font-size:.8rem;font-weight:600}.stat-value{font-size:1.35rem;font-weight:700}.stat-sub{color:var(--muted);font-size:.78rem}.stat.bad .stat-value{color:var(--bad)}.chart-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.chart-grid .card{margin-bottom:0}@media (min-width:760px){.chart-grid{grid-template-columns:1fr 1fr}}.chart-note{margin:12px 0 0}.ring-wrap{align-items:center;gap:20px;display:flex}.ring{flex-shrink:0;width:150px;height:150px}.ring-big{fill:var(--text);font-size:30px;font-weight:700}.ring-small{fill:var(--muted);font-size:12px}.chart-legend{flex:1;margin:0;padding:0;list-style:none}.chart-legend li{cursor:default;border-radius:6px;align-items:center;gap:8px;padding:6px 4px;display:flex}.chart-legend li.active,.chart-legend li:hover{background:#f1f4f8}.legend-label{flex:1}.legend-value{font-weight:700}.swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.bars{flex-direction:column;gap:14px;display:flex}.bar-row{grid-template-columns:84px 1fr auto;align-items:center;gap:10px;display:grid}.bar-label{align-items:center;gap:6px;font-size:.9rem;font-weight:600;display:flex}.bar-track{height:16px}.bar{border-radius:0 4px 4px 0;height:16px}.bar-value{flex-direction:column;align-items:flex-end;min-width:96px;line-height:1.2;display:flex}.list{margin:0;padding:0;list-style:none}.list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.list li:first-child{border-top:0}.list-main{min-width:0;color:inherit;flex-direction:column;flex:1;text-decoration:none;display:flex}.list-main.as-button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.list-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.list-sub{color:var(--muted);font-size:.82rem}.list-side{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.list-side .link{padding:0;font-size:.85rem}.list-amount{white-space:nowrap;font-weight:700}.pill{color:var(--muted);white-space:nowrap;vertical-align:middle;background:#e8edf3;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.pill.bad{color:var(--bad);background:#fde8e6}.pill.warn{color:var(--warn);background:#fff1cc}.pill.s-sent{color:#1d4f91;background:#e3edfb}.pill.s-accepted,.pill.s-paid{color:var(--ok);background:#e2f4e8}.pill.s-declined,.pill.s-void{color:#777;background:#eee}.pill.s-part_paid{color:var(--warn);background:#fff1cc}.line{border-top:1px solid var(--border);padding:12px 0}.line:first-child{border-top:0;padding-top:0}.line-name{margin-bottom:8px;font-weight:600}.line-row{grid-template-columns:70px 80px 1fr auto;align-items:end;gap:8px;display:grid}.line-row label{color:var(--muted);font-size:.75rem;font-weight:600}.line-row input{font-size:16px}.line-total{text-align:right;min-width:84px;padding-bottom:10px;font-weight:700}.line-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.line-actions select{width:auto;min-height:36px;padding:4px 8px}.add-line{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.add-line select{flex:1;min-width:200px}.totals-box{max-width:320px;margin-top:16px;margin-left:auto}.totals-box div{justify-content:space-between;padding:4px 0;display:flex}.totals-box .grand{border-top:2px solid var(--text);margin-top:4px;padding-top:8px;font-size:1.15rem;font-weight:700}.doc-meta{border-collapse:collapse;margin-left:auto}.doc-meta th{text-align:left;color:#555;padding:1px 10px 1px 0;font-weight:600}.doc-meta td{text-align:right;padding:1px 0}@media print{html,body{background:#fff;width:100%}.no-print,.topbar,.bottomnav,.update-banner{display:none!important}.page{max-width:none;padding:0}}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.plain-fieldset:disabled{opacity:.55}.activation-card{border-color:var(--amber);box-shadow:0 0 0 2px #f28c2826}.activation-card.done{border-color:var(--border);box-shadow:none}.activation-card .customer-code-row{margin:8px 0}.bell{color:#fff;flex-shrink:0;padding:4px;display:inline-flex;position:relative}.bell svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.bell-count{background:var(--amber);color:#1b2430;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-2px;right:-4px}.activation-card .customer-code-row{flex-wrap:wrap}.activation-card .code-input{letter-spacing:.04em;flex:240px}.key-display{background:var(--bg);text-align:center;word-break:break-all;border-radius:8px;margin:12px 0;padding:12px;font-size:1.25rem}.steps{margin:16px 0;padding-left:20px}.steps li{margin-bottom:6px}.sub-head{align-items:center;gap:8px;margin:18px 0 4px;font-size:1rem;display:flex}.pin-gate{text-align:center;max-width:380px;margin:24px auto}.pin-gate form{text-align:left}.pin-lock{font-size:2rem}.pin-gate h1{margin-bottom:4px}.pin-input{letter-spacing:.5em;text-align:center;font-size:24px}.warning-box{border-radius:var(--radius);background:#fff4e5;border:1px solid #f0c48a;margin-bottom:12px;padding:12px 14px}.warning-box p{margin:6px 0 0}.check-row{align-items:center;gap:10px;margin:12px 0;font-weight:600;display:flex}.check-row input{width:22px;height:22px;min-height:22px}.history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-head h2{margin:0}.role-picker{grid-template-columns:1fr;gap:8px;display:grid}@media (min-width:600px){.role-picker{grid-template-columns:1fr 1fr}}.role-option{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.role-option.on{border-color:var(--navy);background:#eef2f7}.role-option input{width:20px;height:20px;min-height:20px;margin-top:2px}.role-option span{flex-direction:column;display:flex}.role-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.pill.role-admin{color:#fff;background:#1f3a5f}.pill.role-staff{color:#1d4f91;background:#e3edfb}.pill.role-tech{color:#9a4c00;background:#fff1e0}.pill.role-subcontractor{color:#555;background:#eee}.team-row .team-edit{flex:1}.history-list{margin:12px 0 8px;padding:0;list-style:none}.history-list>li{border-top:1px solid var(--border);padding:10px 0}.history-when{color:var(--muted);font-size:.85rem}.history-when strong{color:var(--text,inherit)}.history-item{margin-top:2px;font-size:.85rem;font-weight:600}.history-changes{overflow-wrap:anywhere;margin:4px 0 0;padding-left:18px}.note-form{flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0;display:flex}.note-form textarea{width:100%}.note-list{margin:8px 0;padding:0;list-style:none}.note-list>li{border-top:1px solid var(--border);padding:10px 0}.note-body{white-space:pre-wrap;overflow-wrap:anywhere}.home-head .home-lines{gap:2px;margin:-4px 0 0;display:grid}.home-head .home-name{font-size:1.15rem;font-weight:600}.home-abn{color:var(--muted);font-size:.9rem;font-weight:400}@media (min-width:1100px){.page:has(.edit-grid){max-width:1240px}.edit-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:0 16px;display:grid}}.wizard-steps{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.wizard-steps li{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);min-width:0;color:var(--muted);flex:1;align-items:center;gap:6px;padding:8px 10px;font-size:.85rem;display:flex}.wizard-steps li.current{border-color:var(--navy);color:var(--navy);font-weight:600}.wizard-steps li.done{color:var(--ok)}.wizard-num{background:var(--bg);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:.75rem;display:inline-grid}.wizard-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:599px){.wizard-steps li:not(.current) .wizard-label{display:none}.wizard-steps li:not(.current){flex:none}}.sample-list{margin:0 0 12px;padding:0;list-style:none}.sample-list li{padding:4px 0}.edit-grid{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #1018280a}.edit-grid .card{background:0 0;border:0;border-radius:0;margin:0;padding:18px 20px}.edit-grid .edit-main>*+*,.edit-grid .edit-side>*+*{border-top:1px solid var(--border)}.edit-side{border-top:1px solid var(--border);background:#f8fafc}.edit-side>.danger-zone,.edit-side>.link{padding:14px 20px;display:flex}.edit-side>.link{text-align:left;border-radius:0;width:100%}.edit-grid .card h2{font-size:1rem}@media (min-width:1100px){.edit-grid{align-items:stretch;gap:0}.edit-side{border-top:0;border-left:1px solid var(--border)}}.tabs:has(+.edit-grid){margin-bottom:12px}.customer-delete{margin:0 0 12px;padding:0 4px}:root{--job-unscheduled:#64748b;--job-assigned:#a67c00;--job-released:#1d4ed8;--job-accepted:#7c3aed;--job-completed:#15803d;--job-cancelled:#dc2626}.pill.j-unscheduled{color:var(--job-unscheduled);background:#eef1f5}.pill.j-assigned{color:var(--job-assigned);background:#fbf1cc}.pill.j-released{color:var(--job-released);background:#e3ebfd}.pill.j-completed{color:var(--job-completed);background:#e2f4e8}.pill.j-cancelled{color:var(--job-cancelled);background:#fde2e2;text-decoration:line-through}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.cancel-box{width:100%}.read-only-details p{margin:0 0 4px}.bottomnav button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.62rem;display:flex}.bottomnav button.active{color:var(--navy);font-weight:600}.bottomnav button svg{stroke-width:3px}.more-backdrop{z-index:11;background:#0f172a40;position:fixed;inset:0}.more-menu{right:8px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 8px);z-index:12;border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;width:min(330px,100vw - 16px);padding:8px;display:grid;position:fixed;box-shadow:0 8px 24px #0f172a2e}.more-menu a{color:var(--text);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;font-size:.8rem;text-decoration:none;display:flex}.more-menu a.active{background:var(--bg);color:var(--navy);font-weight:600}.more-menu svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}@media (min-width:760px){.more-menu,.more-backdrop{display:none}}.grid3{grid-template-columns:1fr;column-gap:12px;display:grid}@media (min-width:600px){.grid3{grid-template-columns:2fr 1fr 1.5fr}}.origin-hint{margin:-4px 0 12px}input.invalid{border-color:var(--bad);box-shadow:0 0 0 2px #b3261e26}.topbar{border-bottom:3px solid #0000;border-image:var(--hazard-stripe) 3}.diary-head{flex-wrap:wrap;align-items:center}.diary-day{align-items:center;gap:6px;display:flex}.diary-date{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-weight:600;position:relative}.diary-date input{opacity:0;cursor:pointer;position:absolute;inset:0}.diary-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:10px;font-size:.8rem;display:flex}.diary-legend .btn{margin-left:auto}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-left:4px solid;border-radius:4px;width:14px;height:14px}.legend-swatch.j-assigned,.booking.j-assigned,.diary-job.j-assigned{color:var(--job-assigned);background:#fbf1cc}.legend-swatch.j-released,.booking.j-released,.diary-job.j-released{color:var(--job-released);background:#e3ebfd}.legend-swatch.j-completed,.booking.j-completed{color:var(--job-completed);background:#e2f4e8}.legend-swatch.j-cancelled{color:var(--job-cancelled);background:#fde2e2}.diary-message{cursor:pointer}.diary-body{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}@media (min-width:1100px){.diary-body{grid-template-columns:minmax(0,1fr) 300px}.diary-side{max-height:calc(100vh - 100px);position:sticky;top:80px;overflow:auto}}.diary-board{padding:0;overflow:hidden}.diary-board>.muted{padding:16px}.diary-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.diary-grid{position:relative}@media (max-width:599px){.diary{--name-w:92px}.legend-item .muted{display:none}}.diary-hours{height:28px;margin-left:var(--name-w);border-bottom:1px solid var(--border);color:var(--muted);font-size:.72rem;position:relative}.diary-hours span{white-space:nowrap;position:absolute;top:7px;transform:translate(4px)}.diary-row{border-bottom:1px solid var(--border);display:flex}.diary-person{z-index:3;flex:0 0 var(--name-w);border-right:1px solid var(--border);background:#fff;align-items:center;gap:6px;padding:8px 10px;font-size:.9rem;font-weight:600;display:flex;position:sticky;left:0}.p-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diary-lane{background:#fcfcfd;flex-shrink:0;height:76px;position:relative}.hour-line{background:#eef1f5;width:1px;position:absolute;top:0;bottom:0}.booking{z-index:2;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-left:4px solid;border-radius:6px;flex-direction:column;gap:1px;padding:4px 10px 4px 8px;font-size:.72rem;line-height:1.25;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.booking>*{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking .b-time{color:currentColor;font-weight:700}.booking.moving{opacity:.35}.booking.preview{z-index:4;color:var(--navy);border:2px dashed var(--navy);pointer-events:none;background:#1f3a5f1f}.b-resize{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:0}.b-resize:after{content:"";opacity:.5;background:currentColor;border-radius:2px;width:2px;position:absolute;top:35%;bottom:35%;right:2px}.dj-name{font-weight:700}.dj-meta,.dj-addr{color:var(--muted)}.diary-side input[type=search]{width:100%}.diary-tip{margin:6px 0 8px}.diary-jobs{gap:8px;margin:0;padding:0;list-style:none;display:grid}.diary-job{border:1px solid var(--border);border-left:4px solid var(--job-unscheduled);cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:.85rem;display:flex}.diary-job.j-assigned,.diary-job.j-released{border-left-color:currentColor}.diary-job>*{color:var(--text)}.diary-job .dj-meta,.diary-job .dj-addr{color:var(--muted)}.diary-job .pill{align-self:flex-start}.dragging,.dragging *{cursor:grabbing!important}.drag-ghost{z-index:50;background:var(--navy);color:#fff;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:.8rem;position:fixed;box-shadow:0 6px 18px #0f172a40}@media (pointer:coarse){.only-mouse{display:none}}.sheet-backdrop{z-index:40;background:#0f172a59;position:fixed;inset:0}.sheet{z-index:41;background:#fff;border-radius:14px;width:min(560px,100vw - 24px);max-height:calc(100vh - 40px);padding:18px 20px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 16px 40px #0f172a4d}@media (max-width:599px){.sheet{width:100vw;padding-bottom:calc(18px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;top:auto;bottom:0;transform:translate(-50%)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sheet-head h2{margin:0}.sheet-desc{margin:4px 0 12px;font-size:.9rem}.sheet-more{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.who-list{border:1px solid var(--border);border-radius:8px;margin:8px 0 10px;padding:8px 12px}.who-list legend{color:var(--muted);padding:0 4px;font-size:.85rem;font-weight:600}.page:has(.diary){max-width:none;padding-left:12px;padding-right:12px}.diary-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:8px;display:flex}.diary-head .diary-legend{flex:1;margin:0}.diary-day{flex-wrap:wrap}.diary-date{font:inherit;color:var(--text);font-weight:600}.diary-picker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.diary-body{gap:10px}@media (min-width:1100px){.diary-body{grid-template-columns:minmax(0,1fr) 280px}.diary-side{position:static}}.diary-board{flex-direction:column;display:flex}.diary-scroll{flex:1;overflow:auto}.diary-grid{flex-direction:column;min-height:100%;display:flex}.diary-top{z-index:5;border-bottom:1px solid var(--border);background:#fff;display:flex;position:sticky;top:0}.diary-corner{z-index:6;flex:0 0 var(--name-w);border-right:1px solid var(--border);color:var(--muted);background:#fff;align-items:flex-end;padding:0 10px 6px;font-size:.75rem;font-weight:600;display:flex;position:sticky;left:0}.diary-timehead{flex-shrink:0}.diary-days{border-bottom:1px solid var(--border);height:30px;position:relative}.diary-dayname{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:#f8fafc;border:0;border-left:2px solid #cbd5e1;padding:0;font-size:.85rem;font-weight:700;position:absolute;top:0;bottom:0}.diary-dayname span{left:calc(var(--name-w) + 8px);padding:0 8px;position:sticky}.diary-dayname.chosen{background:#eef3fb}.diary-dayname.today{color:var(--navy);background:#e3ebfd}.diary-dayname.today span:after{content:" · Today";font-weight:600}.diary .diary-hours{border-bottom:0;height:22px;margin-left:0}.diary .diary-hours span{border-left:1px solid #e5e9f0;padding:4px 0 0 4px;top:0;bottom:0;transform:none}.diary .diary-hours span.midnight{color:var(--text);font-weight:700}.diary-row{flex:none}.diary .diary-lane{background:#fff}.day-line{background:#cbd5e1;width:2px;position:absolute;top:0;bottom:0}.now-line{z-index:3;background:#166534;width:2px;position:absolute;top:0;bottom:0}.now-line:before{content:"";background:#166534;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-3px}.diary-side{overflow:auto}@media (max-width:1099px){.diary:not(.rotated):not(.phone-full) .diary-side{max-height:none!important}}.diary.rotated{z-index:30;background:var(--bg);transform-origin:0 0;width:100dvh;height:100vw;padding:8px 12px;position:fixed;top:0;left:100vw;overflow:auto;transform:rotate(90deg)}.diary.rotated .diary-head{margin-bottom:6px}.diary.rotated .diary-head h1{font-size:1.15rem}.diary.rotated .legend-item .muted{display:none}.diary.rotated .diary-side{overflow:auto}.diary.rotated .diary-message{margin:0 0 6px}.diary.rotated .sheet{border-radius:14px;width:min(560px,100dvh - 24px);max-height:calc(100vw - 24px);padding-bottom:18px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.attach-row{align-self:center;font-size:.9rem}body.diary-sideways .topbar,body.diary-sideways .bottomnav,body.diary-sideways .update-banner{display:none}.topnav{scrollbar-width:none;min-width:0;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav a{white-space:nowrap;flex-shrink:0}@media (max-width:1600px){.topnav{gap:1px}.topnav a{padding:6px 8px;font-size:.93rem}}@media (min-width:760px){.topbar-right{flex-shrink:0}}@media (max-width:1100px){.topbar .sync-badge{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}}@media (max-width:1099px){.diary .legend-item .muted{display:none}}.diary .diary-person{gap:8px;padding:6px 10px}.p-avatar{height:30px;color:var(--navy);background:#e8eef7;border-radius:50%;flex:0 0 30px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.diary-person.sub .p-avatar{color:#7e22ce;background:#f3e8ff}.p-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.diary .p-name{font-size:.85rem}.p-role{color:var(--muted);font-size:.7rem;font-weight:500}.diary .hour-line{background:#e5e9f0}.diary .booking{justify-content:center;gap:0;padding:3px 10px 3px 8px;bottom:auto}@media (max-width:599px){.diary .p-avatar{display:none}}@media (max-width:599px){.diary{--name-w:96px}.diary .p-name{font-size:.78rem}}.diary{--name-w:180px}.diary .diary-person{width:var(--name-w);min-width:var(--name-w);max-width:var(--name-w);overflow:hidden}.diary .p-name{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.diary-row .now-line:before{display:none}.diary-top+.diary-row .now-line:before{display:block}@media (max-width:599px){.diary{--name-w:96px}.diary .p-name{font-size:.78rem}}.tech-details{grid-template-columns:auto 1fr;gap:6px 14px;margin:8px 0 12px;display:grid}.tech-details dt{color:var(--muted);font-size:.85rem;font-weight:600}.tech-details dd{overflow-wrap:anywhere;margin:0}@media (min-width:1100px){.diary-body{grid-template-columns:280px minmax(0,1fr)}.diary-side{order:-1}}.diary.rotated .diary-body{grid-template-columns:210px minmax(0,1fr)}.diary.rotated .diary-side{order:-1}.diary.mine .diary-body{grid-template-columns:1fr}.diary .diary-row{border-bottom-color:#d5dce6}.diary .diary-lane{align-self:stretch;height:auto}.diary .diary-row{border-bottom:1px solid #cfd6e0}.pill.j-accepted,.legend-swatch.j-accepted,.booking.j-accepted,.diary-job.j-accepted{color:var(--job-accepted);background:#ede9fe}.diary-job.j-accepted{border-left-color:currentColor}.diary .booking>.b-onsite{background:var(--job-accepted);color:#fff;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:700;position:absolute;top:4px;right:12px;overflow:visible}.clock-now{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.clock-now p{margin:0}.clock-now.on{color:var(--job-accepted);background:#ede9fe;border-radius:10px;padding:10px 12px}.clock-btn{background:var(--job-accepted);border-color:var(--job-accepted);min-height:52px;padding:0 28px;font-size:1.1rem}.clock-btn.off{background:#111;border-color:#111}.clock-now:not(.on) .clock-btn{width:100%}.clock-times{margin:0 0 8px;padding:0;font-size:.9rem;list-style:none}.clock-times li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 0;display:flex}.clock-mins{margin-left:auto;font-weight:600}.report-btn{justify-content:center;align-items:center;width:100%;margin-top:8px;text-decoration:none;display:flex}.report-list{margin:0 0 8px;padding:0;list-style:none}.report-list li{border-bottom:1px solid var(--border);padding:6px 0}.report-job p{margin:0 0 4px}.report-form .card textarea{width:100%}.report-parts{margin:0 0 10px;padding:0;list-style:none}.report-parts li{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.report-parts .part-name{flex:1;min-width:0}.report-parts .part-qty{text-align:right;width:70px}.part-matches{border:1px solid var(--border);border-radius:8px;margin:4px 0 8px;padding:0;list-style:none;overflow:hidden}.part-matches button{border:0;border-bottom:1px solid var(--border);width:100%;font:inherit;text-align:left;cursor:pointer;background:#fff;padding:10px 12px}.report-form input[type=search]{width:100%}.choices{margin-bottom:12px}.choice-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.choice{border:1px solid var(--border);min-height:44px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 16px;font-weight:600}.choice.on{border-color:var(--navy);background:var(--navy);color:#fff}.asset{border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:12px}.asset-head{justify-content:space-between;margin-bottom:8px;display:flex}.sig canvas{aspect-ratio:3;touch-action:none;background:#fff;border:1px dashed #94a3b8;border-radius:8px;width:100%;max-width:600px;display:block}.sig-actions{justify-content:space-between;max-width:600px;margin:4px 0 12px;display:flex}.sig-done img,.sig-view img{border-bottom:1px solid var(--border);width:100%;max-width:300px;display:block}.sig-done{margin-bottom:12px}.sig-view{flex-wrap:wrap;gap:24px;display:flex}.site-ask{margin:12px 0}.report-finish{align-items:center;margin:12px 0 24px}.booking.j-unscheduled{color:var(--job-unscheduled);background:#eef1f5}.booking.j-cancelled{color:var(--job-cancelled);background:#fde2e2}.crew-tabs{border:1px solid var(--border);background:#fff;border-radius:10px;padding:3px;display:inline-flex}.crew-tabs button{min-height:34px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-weight:600}.crew-tabs button.active{background:var(--navy);color:#fff}.crew-count{opacity:.8;margin-left:4px;font-size:.75rem}.who-group+.who-group{margin-top:8px}.who-group-name{color:var(--muted);text-transform:uppercase;margin:4px 0;font-size:.75rem;font-weight:700}.photo-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 12px;padding:0;list-style:none;display:grid}.photo-list li{flex-direction:column;gap:6px;display:flex}.photo-list input{width:100%}.photo-thumb{aspect-ratio:4/3;object-fit:cover;cursor:pointer;background:#eef1f5;border-radius:8px;width:100%;display:block}.photo-thumb.empty{color:var(--muted);text-align:center;cursor:default;place-items:center;padding:8px;font-size:.75rem;display:grid}.photo-actions{justify-content:space-between;display:flex}.report-photo-btn{width:100%;min-height:52px;font-size:1.05rem}.markup{z-index:60;background:#111;flex-direction:column;display:flex;position:fixed;inset:0}.markup-bar{background:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.markup-spacer{flex:1}.markup-stage{flex:1;place-items:center;min-height:0;padding:8px;display:grid}.markup-stage canvas{touch-action:none;background:#fff;max-width:100%;max-height:100%}.status-pick{align-items:center;gap:8px;margin:0 0 8px;display:inline-flex}.status-pick .field-label{margin:0}.prev-summary{white-space:pre-wrap;margin:2px 0 0}.prev-detail{background:#f6f8fb;border-radius:8px;margin-top:6px;padding:8px 10px}.prev-detail p{margin:0 0 4px}.prev-detail ul{margin:2px 0 4px;padding-left:18px}.checklist-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.checklist-edit{border:1px solid var(--border);border-radius:10px;margin:8px 0 12px;padding:12px}.checklist-items{margin:8px 0;padding-left:22px}.checklist-items li{align-items:center;gap:6px;margin-bottom:6px;display:flex}.checklist-items input{flex:1;min-width:0}.asset-checks{margin-top:8px}.check-q{border-top:1px solid var(--border);padding:8px 0}.check-question{margin:0 0 6px;font-weight:600}.check-comment{width:100%;margin-top:6px}.check-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.85rem}.check-table caption{text-align:left;padding-bottom:4px;font-weight:700}.check-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:4px 6px}.check-table .ans{white-space:nowrap;font-weight:700}.ans-yes{color:var(--job-completed)}.ans-no{color:var(--bad)}.ans-maybe{color:var(--job-assigned)}.whats-new-btn{cursor:pointer;background:0 0;border:0}.whats-new-i{border:1.8px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-family:Georgia,serif;font-size:14px;font-style:italic;font-weight:700;line-height:1;display:grid}.whats-new-dot{border:2px solid var(--navy);background:var(--amber);border-radius:50%;width:9px;height:9px;position:absolute;top:1px;right:1px}.whats-new{max-height:min(80vh,640px);color:var(--text);text-align:left;white-space:normal;font-weight:400;overflow:auto}.whats-new-update ul{margin:4px 0 12px;padding-left:20px}.whats-new-update li{margin-bottom:4px}.day-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.day-pick{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;align-items:center;min-height:36px;padding:0 12px;font-weight:600;display:inline-flex;position:relative}.day-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.day-time{color:var(--text);font-weight:600}.stat-link{color:inherit;text-decoration:none}.stat-link:hover{border-color:var(--navy)}.stat.warn .stat-value{color:var(--job-assigned)}.diary-person.tappable{cursor:pointer}.diary-person.tappable:hover .p-name{text-decoration:underline}.sheet-backdrop:has(+.whats-new){z-index:70}.sheet.whats-new{z-index:71;max-height:min(85dvh,640px);padding-bottom:calc(20px + env(safe-area-inset-bottom))}.book{max-width:640px;margin:0 auto;padding:16px}.book-head{text-align:center;margin:8px 0 16px}.book-head h1{margin:8px 0 2px}.book-logo{object-fit:contain;max-width:200px;max-height:80px}.book-form textarea,.book-form input{width:100%}.book-send{width:100%;min-height:54px;margin-top:12px;font-size:1.1rem}.book-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.book-powered{text-align:center;color:var(--muted);margin:16px 0;font-size:.8rem}.slide-check{margin:16px 0 4px}.slide-help{margin:0 0 8px;font-size:.9rem}.slide-track{border:1px solid var(--border);-webkit-user-select:none;user-select:none;touch-action:none;background:#f6f8fb;border-radius:12px;height:68px;position:relative;overflow:hidden}.slide-track.done{border-color:var(--job-completed);background:#e2f4e8}.slide-word{letter-spacing:-.01em;color:var(--navy);pointer-events:none;font-size:2rem;font-weight:800;position:absolute;top:50%;transform:translateY(-50%)}.slide-gap{border:2px dashed #94a3b8;border-radius:6px;width:22px;margin-left:-11px;position:absolute;top:12px;bottom:12px}.slide-track.done .slide-gap{border-color:#0000}.slide-i{color:#111;width:44px;font:inherit;cursor:grab;touch-action:none;background:#ffc20e;border:0;border-radius:10px;margin-left:-22px;font-size:2rem;font-weight:800;line-height:1;position:absolute;top:8px;bottom:8px;box-shadow:0 2px 6px #0f172a40}.slide-i.dragging{cursor:grabbing}.slide-track.done .slide-i{width:22px;box-shadow:none;color:var(--navy);background:0 0;margin-left:-11px}.pill.online{color:#0e6f86;background:#dff3f8}.booking-share{margin-top:8px}.booking-share input{width:100%}:root{--leave-annual:#0d9488;--leave-sick:#db2777;--leave-other:#8b5e3c}.leave-block{z-index:1;border-left:3px solid var(--leave-other);background:repeating-linear-gradient(135deg,#f4ebe1 0 10px,#eadcca 10px 20px);position:absolute;top:0;bottom:0;overflow:clip}.leave-block.leave-sick,.legend-swatch.leave-sick{border-left-color:var(--leave-sick);color:var(--leave-sick);background:repeating-linear-gradient(135deg,#fce7f3 0 10px,#f8d2e6 10px 20px)}.leave-block.leave-annual,.legend-swatch.leave-annual{border-left-color:var(--leave-annual);color:var(--leave-annual);background:repeating-linear-gradient(135deg,#dcf5f1 0 10px,#c8ece6 10px 20px)}.leave-block.leave-other,.legend-swatch.leave-other{border-left-color:var(--leave-other);color:var(--leave-other);background:repeating-linear-gradient(135deg,#f4ebe1 0 10px,#eadcca 10px 20px)}.legend-swatch.leave-sick,.legend-swatch.leave-annual,.legend-swatch.leave-other{background-size:6px 6px}.leave-block.tappable{cursor:pointer}.leave-label{left:calc(var(--name-w) + 8px);color:var(--text);white-space:nowrap;background:#ffffffd9;border-radius:6px;margin:6px 8px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block;position:sticky}.leave-note{color:var(--muted);font-weight:500}.stock-scroll{overflow-x:auto}.stock-table{border-collapse:collapse;width:100%;font-size:.9rem}.stock-table th,.stock-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 10px}.stock-table th{color:var(--muted);font-size:.8rem}.stock-table .num{text-align:right;font-variant-numeric:tabular-nums}.stock-table .strong{font-weight:700}.stock-name{text-align:left;white-space:normal;font-weight:600}.stock-low{color:var(--bad);font-weight:700}.stock-actions{justify-content:flex-end;gap:10px;display:flex}.stock-in{color:var(--job-completed)}.stock-out{color:var(--bad)}.report-parts .part-ours{white-space:nowrap;margin:0;font-size:.85rem}.stock-few{color:var(--job-assigned);font-weight:700}.stock-qty-row{align-items:center;gap:8px;display:flex}.stock-qty-row input{flex:1}.diary-map{z-index:80;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.map-bar{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 16px;display:flex}.map-bar h2{margin:0}.map-day{font-weight:600}.map-bar .btn:last-child{margin-left:auto}.map-body{flex:1;grid-template-columns:300px minmax(0,1fr);min-height:0;display:grid}.map-side{border-right:1px solid var(--border);background:#fff;padding:12px 16px;overflow:auto}.map-box{min-height:0}.map-pick-all{gap:12px;margin-bottom:6px;display:flex}.map-person{border-bottom:1px solid var(--border);padding:6px 0}.map-swatch{border-radius:50%;width:14px;height:14px;display:inline-block}.map-stops{margin:4px 0 4px 26px;padding-left:18px;font-size:.85rem}.map-missing{background:#fde2e2;border-radius:8px;margin-top:12px;padding:8px 10px}.map-missing ul{margin:4px 0 0;padding-left:18px}.map-note{margin-top:12px}.map-pin span{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid;box-shadow:0 1px 4px #0006}@media (max-width:759px){.map-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.map-side{border-right:0;border-bottom:1px solid var(--border);max-height:38vh}}.map-route{color:var(--text);margin:2px 0 4px 26px;font-weight:600}.address-input{position:relative}.address-input input{width:100%}.address-list{z-index:30;border:1px solid var(--border);background:#fff;border-radius:8px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;box-shadow:0 8px 20px #0f172a26}.address-list button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px;display:block}.address-list button:hover,.address-list button.active{background:#eef3fb}.map-pin span.wide{white-space:nowrap;border-radius:14px;width:auto;padding:0 8px}.map-stops .pill{margin-left:4px;font-size:.7rem}.import-map{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px;display:grid}.import-map select{width:100%}.import-preview td{text-overflow:ellipsis;max-width:260px;overflow:hidden}.import-problems{margin:10px 0}.import-problems ul{margin:6px 0 0;padding-left:20px}.list-title .pill{vertical-align:1px;margin-left:8px}:root{--bg:#f2f4f8;--border:#e1e6ee;--radius:12px;--shadow:0 1px 2px #1018280d, 0 1px 3px #1018280a;--shadow-up:0 6px 20px #10182814;--row-hover:#f5f7fb;--gutter:16px}@media (min-width:760px){:root{--gutter:24px}}@media (min-width:1400px){:root{--gutter:32px}}h1{letter-spacing:-.01em;font-size:1.55rem;font-weight:700}h2{letter-spacing:-.005em;font-size:1.08rem;font-weight:700}.page{max-width:1920px;padding-left:var(--gutter);padding-right:var(--gutter);padding-top:20px}.page:has(.edit-grid){max-width:1920px}.page:has(.diary){max-width:none}.topbar{padding-left:var(--gutter);padding-right:var(--gutter);gap:20px;box-shadow:0 2px 10px #0a14232e}.topnav{gap:2px}.topnav a{border-radius:8px;padding:7px 12px;font-size:.95rem;font-weight:500;position:relative}.topnav a.active{background:#ffffff1f}.topnav a.active:after{content:"";background:var(--amber);border-radius:2px;height:2px;position:absolute;bottom:2px;left:12px;right:12px}.bottomnav{border-top:1px solid var(--border);box-shadow:0 -4px 16px #1018280f}.bottomnav a{font-size:.66rem;font-weight:500;position:relative}.bottomnav a.active:before{content:"";background:var(--amber);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:28%;right:28%}.card,.stat{border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card{margin-bottom:16px;padding:18px 20px}@media (max-width:599px){.card{margin-bottom:12px;padding:14px}}.page-head{margin-bottom:16px}.btn{border-radius:10px;transition:background-color .12s,box-shadow .12s}.btn:not(.secondary):not(:disabled){box-shadow:0 1px 2px #1018281f}.btn.secondary{border-color:#c9d3e0}.btn:focus-visible,.link:focus-visible,.topnav a:focus-visible{outline-offset:2px;outline:3px solid #f28c288c}input,select,textarea{border-color:#d3dbe6;border-radius:10px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #1f3a5f26}input[type=checkbox],input[type=radio]{width:auto;min-height:0;box-shadow:none}.field-label{letter-spacing:.01em;font-size:.82rem}@media (min-width:1200px){.grid2{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2>.span2{grid-column:1/-1}.edit-grid .grid2{grid-template-columns:1fr 1fr}.edit-grid .grid2>.span2{grid-column:span 2}}.filters{flex-wrap:wrap}.filters input{flex:260px}.stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.stats>.stat:last-child:nth-child(odd){grid-column:auto}@media (max-width:599px){.stats{grid-template-columns:1fr 1fr;gap:10px}.stats>.stat:last-child:nth-child(odd){grid-column:span 2}}.stat{padding:14px 16px}.stat-value{letter-spacing:-.01em;font-size:1.5rem}.stat-link{transition:box-shadow .12s,border-color .12s}.stat-link:hover{box-shadow:var(--shadow-up)}.home-grid{gap:0 16px;display:grid}@media (min-width:1100px){.home-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));align-items:start}}.list li{border-top-color:#edf0f5;border-radius:8px;margin:0 -6px;padding:12px 6px}.list li:hover{background:var(--row-hover)}.list li:hover+li{border-top-color:#0000}.list-sub{font-size:.84rem}.pill{letter-spacing:.01em;padding:2px 9px;font-size:.74rem}@media (min-width:900px){.page>.card>.list .list-main,.page>section.card .list .list-main{flex-flow:wrap;align-items:baseline;gap:2px 20px}.page>section.card .list .list-title{flex:0 0 clamp(200px,24vw,380px);min-width:200px}.page>section.card .list .list-sub{flex:200px}.page>section.card .list .list-side{flex-direction:row;align-items:center;gap:12px}.page>section.card .list .list-amount{text-align:right;order:2;min-width:110px}.home-grid .list .list-main{flex-direction:column}.home-grid .list .list-title{flex:none}}@media (max-width:599px){.topbar{gap:10px}.topbar .sync-badge{white-space:normal;text-align:left;max-width:120px;padding:4px 9px;font-size:.72rem;line-height:1.15;overflow:visible}.sync-badge .dot{flex-shrink:0}}.modal{box-shadow:0 20px 50px #0a142340}.home-legal{margin-top:28px}.btn-icon{gap:6px}.btn-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.ring{overflow:visible}.support-btn{cursor:pointer;background:0 0;border:0}.support-mark{border:1.8px solid;border-radius:50%;place-items:center;width:22px;height:22px;font-size:14px;font-weight:800;line-height:1;display:grid}.support-shot{align-items:center;gap:12px;display:flex}.support-shot img{border:1px solid var(--border);border-radius:6px;max-width:160px;max-height:100px}.diary.phone-full{z-index:30;padding:8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));background:var(--bg);position:fixed;inset:0;overflow:auto}.diary.phone-full .diary-head{margin-bottom:6px}.diary.phone-full .diary-head h1{font-size:1.15rem}.diary.phone-full .legend-item .muted{display:none}.diary.phone-full .diary-body{grid-template-columns:210px minmax(0,1fr)}.diary.phone-full .diary-side{order:-1;overflow:auto}.diary.phone-full .diary-message{margin:0 0 6px}.diary.mine.phone-full .diary-body{grid-template-columns:1fr}.mfa-setup ol{margin:8px 0;padding-left:20px}.mfa-qr{border:1px solid var(--border);background:#fff;border-radius:10px;width:200px;height:200px;margin:8px 0;padding:8px;display:block}.mfa-secret{letter-spacing:.06em;word-break:break-all;color:var(--text);font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.auth-or{color:var(--muted);align-items:center;gap:10px;margin:14px 0;font-size:.85rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.btn-icon svg.ms-mark{stroke:none}.more-menu button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;font-size:.8rem;display:flex}.more-menu .support-mark{width:24px;height:24px}@media (max-width:380px){.topbar{gap:6px;padding-left:10px;padding-right:10px}.brand img{height:26px}.topbar-right{gap:4px}.topbar .sync-badge{max-width:92px;padding:3px 7px}.logout-btn{padding:4px 8px}}.pin-gate .grid2{align-items:end}.bottom-actions{margin-top:20px}.input-tag{background:#fff;border:1px solid #d3dbe6;border-radius:10px;align-items:center;transition:border-color .12s,box-shadow .12s;display:flex}.input-tag:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #1f3a5f26}.input-tag.invalid{border-color:var(--bad);box-shadow:0 0 0 2px #b3261e26}.input-tag input,.input-tag input:focus{min-width:0;box-shadow:none;border:0;flex:1}.input-tag span{color:var(--muted);white-space:nowrap;padding:0 12px 0 4px}.site-drop>summary{cursor:pointer;flex-direction:column;gap:2px;padding-right:28px;list-style:none;display:flex;position:relative}.site-drop>summary::-webkit-details-marker{display:none}.site-drop>summary:after{content:"";border-right:2px solid var(--navy);border-bottom:2px solid var(--navy);width:9px;height:9px;transition:transform .15s;position:absolute;top:10px;right:6px;transform:rotate(45deg)}.site-drop[open]>summary:after{top:14px;transform:rotate(-135deg)}.site-drop>summary h2{margin:0}.site-drop[open]>summary{margin-bottom:12px}.expired-lock{z-index:300;align-items:center}.oidc-link{text-align:center;margin:14px auto 0;display:block}.doc-title{color:var(--navy);margin:2px 0 0;font-weight:600}.dj-title{text-overflow:ellipsis;white-space:nowrap;font-size:.78em;font-weight:600;display:block;overflow:hidden}.details-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 16px;margin:12px 0 0;display:grid}.details-list dt{color:var(--muted);font-size:.8rem}.details-list dd{margin:0}.refresh-btn{cursor:pointer;background:0 0;border:0}.refresh-btn.spinning svg{animation:.9s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}@media (max-width:380px){.topbar .bell{padding:2px}}.accounting-sent{align-self:center}.accounting-error{flex-basis:100%;margin:0}.report-choices{margin:12px 0 0;padding:0;list-style:none}.report-choices li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.report-choices li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.report-choices .btn{flex-shrink:0}.add-stage{gap:8px;margin-top:12px;display:flex}.add-stage input{flex:1;min-width:0}.add-stage .btn{flex-shrink:0}.incidents-btn svg{stroke-width:2px}@media (max-width:759px){.topbar .incidents-btn{display:none}}.incident-list{margin:8px 0 0;padding:0;list-style:none}.incident-list>li{border-top:1px solid var(--border)}.incident-head{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:12px 0;display:flex}.incident-title{flex:200px;font-weight:600}.pill.incident{color:#9b1c12;background:#fde8e6}.incident-detail{padding:0 0 14px}.incident-comments{border-left:3px solid var(--border);margin:8px 0;padding:0 0 0 12px;list-style:none}.incident-comments li+li{margin-top:8px}.incident-comments p{margin:2px 0 0}.licences{margin:12px 0}.licence-list{margin:8px 0;padding:0;list-style:none}.licence-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0;display:flex}.licence-name{flex-direction:column;flex:200px;display:flex}.licence-list input[type=date]{width:auto}.licence-expiry.warn{color:#a66300;font-weight:600}.licence-expiry.bad{color:var(--bad);font-weight:600}.licence-add{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (min-width:760px){.licence-add{grid-template-columns:2fr 1.5fr 1fr auto}}.bad-text{color:var(--bad);font-weight:600}.equipment-edit{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.notice.warn{background:#fff4e5;border-color:#f0c48a}.more-menu a{text-align:center;line-height:1.2}.incident-files{margin:6px 0 10px;padding:0;list-style:none}.incident-files li{overflow-wrap:anywhere;padding:4px 0}@media (max-width:759px){.topbar .support-btn{display:none}}.maint-actions{justify-content:flex-end;gap:10px;display:flex}.file-pick{cursor:pointer}.file-pick.disabled{opacity:.5;pointer-events:none}.file-picker .incident-files{margin-top:6px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e141c;--card:#18212d;--text:#e7edf4;--muted:#a3b1c2;--border:#2e3b4c;--navy:#9ec5f5;--navy-dark:#c7ddf8;--ok:#6fdc9b;--warn:#f5c95a;--bad:#ff8a80;--job-unscheduled:#b4c0ce;--job-assigned:#f3d36b;--job-released:#9cbcff;--job-accepted:#c9b2ff;--job-completed:#6fdc9b;--job-cancelled:#ff8a80;--leave-annual:#5eead4;--leave-sick:#f9a8d4}html[data-theme=dark] body{background:var(--bg);color:var(--text)}html[data-theme=dark] .topbar,html[data-theme=dark] .auth-page{background:#121b27}html[data-theme=dark] .topbar{border-bottom:1px solid #243041}html[data-theme=dark] .btn,html[data-theme=dark] .plan-toggle button.active,html[data-theme=dark] .choice.on,html[data-theme=dark] .crew-tabs button.active,html[data-theme=dark] .drag-ghost,html[data-theme=dark] .pill.role-admin,html[data-theme=dark] .plan-tile.current .pill.ok{color:#fff;background:#2f62a3;border-color:#2f62a3}html[data-theme=dark] .btn:hover{background:#3a72b8}html[data-theme=dark] .btn.danger{background:#b3261e;border-color:#b3261e}html[data-theme=dark] .card,html[data-theme=dark] .bottomnav,html[data-theme=dark] .btn.secondary,html[data-theme=dark] .icon-btn,html[data-theme=dark] .save-bar,html[data-theme=dark] .modal,html[data-theme=dark] .portal-head,html[data-theme=dark] .picker-list,html[data-theme=dark] .auth-card,html[data-theme=dark] .legal-page,html[data-theme=dark] .more-menu,html[data-theme=dark] .diary-date,html[data-theme=dark] .diary-person,html[data-theme=dark] .sheet,html[data-theme=dark] .diary-top,html[data-theme=dark] .diary-corner,html[data-theme=dark] .part-matches button,html[data-theme=dark] .choice,html[data-theme=dark] .crew-tabs,html[data-theme=dark] .markup-bar,html[data-theme=dark] .day-pick,html[data-theme=dark] .map-bar,html[data-theme=dark] .map-side,html[data-theme=dark] .address-list,html[data-theme=dark] .tabs button.active,html[data-theme=dark] .plan-tile{background:var(--card);color:var(--text);border-color:var(--border)}html[data-theme=dark] .btn.secondary{color:var(--navy);border-color:#3a4a5f}html[data-theme=dark] .btn.secondary:hover,html[data-theme=dark] .picker-list button:hover,html[data-theme=dark] .chart-legend li:hover,html[data-theme=dark] .role-option.on,html[data-theme=dark] .address-list button.active{background:#23303f}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .input-tag{color:var(--text);background:#101822;border-color:#3a4a5f}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#7d8a9a}html[data-theme=dark] .input-tag input{background:0 0}html[data-theme=dark] .tabs,html[data-theme=dark] .portal-box,html[data-theme=dark] .edit-side,html[data-theme=dark] .prev-detail,html[data-theme=dark] .slide-track,html[data-theme=dark] .seats,html[data-theme=dark] .plan-tile.current,html[data-theme=dark] .diary-lane,html[data-theme=dark] .diary .diary-lane,html[data-theme=dark] .diary-dayname,html[data-theme=dark] .photo-thumb,html[data-theme=dark] .p-avatar{color:var(--text);background:#141c27}html[data-theme=dark] .list li,html[data-theme=dark] .diary .diary-row{border-color:#263243}html[data-theme=dark] .hour-line,html[data-theme=dark] .diary .hour-line{background:#233041}html[data-theme=dark] .diary .diary-hours span{border-left-color:#2b394b}html[data-theme=dark] .diary-dayname{border-left-color:#3a4757}html[data-theme=dark] .day-line{background:#3a4757}html[data-theme=dark] .diary-dayname.chosen{background:#1b2a3d}html[data-theme=dark] .diary-dayname.today{background:#1a3157}html[data-theme=dark] .now-line,html[data-theme=dark] .now-line:before{background:#4ade80}html[data-theme=dark] .doc-meta th,html[data-theme=dark] .plan-compare td.no{color:var(--muted)}html[data-theme=dark] .notice,html[data-theme=dark] .warning-box,html[data-theme=dark] .notice.warn,html[data-theme=dark] .seats.full,html[data-theme=dark] .plan-offer{color:#f4e7c2;background:#2b2412;border-color:#6b5a1e}html[data-theme=dark] .pill{color:#d5dde7;background:#273241}html[data-theme=dark] .pill.ok,html[data-theme=dark] .pill.s-paid,html[data-theme=dark] .linked-customer,html[data-theme=dark] .slide-track.done{color:#7ee2a6;background:#143523}html[data-theme=dark] .pill.bad,html[data-theme=dark] .pill.incident,html[data-theme=dark] .map-missing{color:#ff9b93;background:#3d1815}html[data-theme=dark] .pill.warn,html[data-theme=dark] .pill.s-part_paid{color:#f5c95a;background:#3a2e0c}html[data-theme=dark] .pill.s-sent,html[data-theme=dark] .pill.role-staff{color:#a9c8f5;background:#16294a}html[data-theme=dark] .pill.s-void,html[data-theme=dark] .pill.role-subcontractor{color:#c3c9d1;background:#2a2f36}html[data-theme=dark] .pill.role-tech{color:#ffb86b;background:#3a2410}html[data-theme=dark] .pill.online{color:#7fd6ea;background:#10303a}html[data-theme=dark] .booking,html[data-theme=dark] .diary-job,html[data-theme=dark] .legend-swatch,html[data-theme=dark] .leave-block,html[data-theme=dark] .leave-label,html[data-theme=dark] .pill.j-unscheduled,html[data-theme=dark] .pill.j-assigned,html[data-theme=dark] .pill.j-released,html[data-theme=dark] .pill.j-accepted,html[data-theme=dark] .pill.j-completed,html[data-theme=dark] .pill.j-cancelled{--text:#1b2430;--muted:#5b6675;--border:#dbe1e8;--job-unscheduled:#64748b;--job-assigned:#a67c00;--job-released:#1d4ed8;--job-accepted:#7c3aed;--job-completed:#15803d;--job-cancelled:#dc2626;--leave-annual:#0d9488;--leave-sick:#db2777}html[data-theme=dark] .diary-job{color:#1b2430;background:#fff}html[data-theme=dark] .pill.j-unscheduled{color:var(--job-unscheduled);background:#eef1f5}html[data-theme=dark] .pill.j-assigned{color:var(--job-assigned);background:#fbf1cc}html[data-theme=dark] .pill.j-released{color:var(--job-released);background:#e3ebfd}html[data-theme=dark] .pill.j-accepted{color:var(--job-accepted);background:#ede9fe}html[data-theme=dark] .pill.j-completed{color:var(--job-completed);background:#e2f4e8}html[data-theme=dark] .pill.j-cancelled{color:var(--job-cancelled);background:#fde2e2}html[data-theme=dark] .diary-person.sub .p-avatar{color:#d4b5ff;background:#2a1f3d}html[data-theme=dark] .clock-btn.off{color:#0e141c;background:#e7edf4;border-color:#e7edf4}html[data-theme=dark] .sig canvas,html[data-theme=dark] .markup-stage canvas,html[data-theme=dark] .logo-preview{background:#fff}.theme-btn{cursor:pointer;background:0 0;border:0}.theme-btn .half{fill:currentColor;stroke:none}@media (max-width:759px){.topbar .theme-btn{display:none}}svg .half{fill:currentColor;stroke:none}html[data-theme=dark] img[src="/brand/tradiko-logo.svg"]{content:url(/brand/tradiko-logo-white.svg)}.zoom-tabs{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:3px;display:inline-flex}.zoom-tabs button{min-height:30px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-weight:600}.zoom-tabs button.active{color:#fff;background:#1f3a5f}html[data-theme=dark] .zoom-tabs button.active{background:#2f62a3}.booking-peek{z-index:60;border:1px solid var(--border);background:var(--card);width:280px;color:var(--text);pointer-events:none;border-radius:10px;padding:12px 14px;font-size:.85rem;position:fixed;box-shadow:0 10px 30px #10182840}.booking-peek .peek-title{color:var(--navy);margin:0 0 8px;font-weight:700}.booking-peek dl{grid-template-columns:auto 1fr;gap:4px 10px;margin:0;display:grid}.booking-peek dt{color:var(--muted)}.booking-peek dd{margin:0}.update-btn{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.78rem;display:inline-flex}.update-btn:hover{background:#ffffff24}.update-btn:disabled{opacity:.7;cursor:default}.update-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (max-width:759px){.update-btn{padding:4px}.update-btn .update-label{display:none}}.sheet-desc-edit{margin:8px 0 12px;display:block}.sheet-desc-edit textarea{width:100%}.update-banner{color:#1b2430;flex-wrap:wrap}.update-banner .update-later{color:#1b2430;text-decoration:underline}@media (max-width:759px){.topbar .update-btn{display:none}}.more-menu button .update-label{display:inline}.topbar .update-btn{border:0;padding:4px}.topbar .update-btn .update-label{display:none}.topbar .update-btn svg{width:22px;height:22px}.file-picker{border-radius:10px}.file-picker.drop-over{outline:2px dashed var(--navy);outline-offset:4px}.billing-fields summary{cursor:pointer;margin:6px 0;font-weight:600}.diary-side.drop-here{outline:2px dashed var(--navy);outline-offset:-4px}.diary-side .drop-note{margin:4px 0 8px;font-weight:600}.save-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 14px;display:flex}.save-bar.unsaved .muted{color:var(--text);font-weight:600}.flash{z-index:60;color:#fff;background:#1f3a5f;border:1px solid #ffffff40;border-radius:10px;max-width:calc(100vw - 32px);padding:8px 14px;font-size:.92rem;font-weight:600;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}.flash a{color:#ffc20e;margin-left:6px}.quote-photos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0 0 10px;padding:0;list-style:none;display:grid}.quote-photos li{flex-direction:column;gap:4px;display:flex}.quote-photos img{aspect-ratio:1;object-fit:cover;border:1px solid var(--border);border-radius:8px;width:100%}.file-note{width:100%;max-width:420px;margin:4px 0 8px;display:block}.file-note-row{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.file-note-row .file-note{flex:220px;margin:0}.chat-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-layout{grid-template-columns:minmax(240px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.chat-side{max-height:75vh;overflow:hidden auto}.chat-side .list-title{white-space:normal;overflow-wrap:anywhere}.chat-side .list-sub{overflow-wrap:anywhere}.chat-side .list-title.unread{font-weight:700}.unread-dot{vertical-align:1px;background:#e5484d;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.chat-side .list li.active{outline:2px solid var(--navy,#1f3a5f);border-radius:8px}.conversation{background:#fff;border:1px solid #d9dee6;border-radius:10px;flex-direction:column;height:75vh;display:flex}.conversation-head{border-bottom:1px solid #d9dee6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.messages{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.bubble{background:#f1f4f8;border-radius:12px;align-self:flex-start;max-width:75%;padding:8px 10px}.bubble.mine{background:#dbe7f5;align-self:flex-end}.bubble-name{margin-bottom:2px;font-size:12px;font-weight:600}.bubble-body{white-space:pre-wrap;word-break:break-word}.bubble-time{color:#6b7280;margin-top:4px;font-size:11px}.composer{border-top:1px solid #d9dee6;gap:8px;padding:10px;display:flex}.composer textarea{resize:none;flex:1}@media (max-width:760px){.chat-layout{grid-template-columns:1fr}.chat-side{max-height:none}.conversation{height:70vh}}.bubble-photo img{border-radius:8px;max-width:260px;max-height:260px;margin-top:4px;display:block}.bubble-file{word-break:break-all;margin-top:4px;text-decoration:underline;display:inline-block}.deliveries-filters{flex-wrap:wrap;gap:10px;margin:0 0 12px;display:flex}.deliveries-filters .search{flex:1;min-width:180px}.delivery-add{border-top:1px solid var(--border);gap:10px;margin-top:12px;padding-top:12px;display:grid}
