:root{--paper:#f6f4ef;--surface:#fff;--sunken:#efece5;--ink:#1f1d1a;--ink-2:#4a463f;--muted:#77716a;--line:#e2ddd3;--line-2:#d0c9bc;--accent:#0f5c4f;--accent-ink:#fff;--accent-soft:#e1eeea;--good:#2f7a3e;--good-soft:#e3f1e4;--warn:#9a6408;--warn-soft:#f8edd6;--bad:#b33a2c;--bad-soft:#f8e4e0;--info:#2c5d9e;--info-soft:#e3ebf6;--shadow:0 1px 2px #1f1d1a0d, 0 10px 30px #1f1d1a14;--f-sans:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--r:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#141412;--surface:#1c1c19;--sunken:#232320;--ink:#ece9e2;--ink-2:#c9c4ba;--muted:#9a958b;--line:#2f2e2a;--line-2:#3d3b36;--accent:#6cc4ad;--accent-ink:#0b211c;--accent-soft:#1b3330;--good:#7bc98a;--good-soft:#1c3021;--warn:#e3b35e;--warn-soft:#362a14;--bad:#f0897b;--bad-soft:#3a1f1b;--info:#8db4ea;--info-soft:#1d2a3d;--shadow:0 1px 2px #0006, 0 10px 30px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#141412;--surface:#1c1c19;--sunken:#232320;--ink:#ece9e2;--ink-2:#c9c4ba;--muted:#9a958b;--line:#2f2e2a;--line-2:#3d3b36;--accent:#6cc4ad;--accent-ink:#0b211c;--accent-soft:#1b3330;--good:#7bc98a;--good-soft:#1c3021;--warn:#e3b35e;--warn-soft:#362a14;--bad:#f0897b;--bad-soft:#3a1f1b;--info:#8db4ea;--info-soft:#1d2a3d;--shadow:0 1px 2px #0006, 0 10px 30px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-brand]{--accent:var(--brand-light);--accent-ink:var(--brand-light-ink);--accent-soft:color-mix(in srgb, var(--brand-light) 12%, var(--surface))}@media (prefers-color-scheme:dark){:root[data-brand]:not([data-theme=light]){--accent:var(--brand-dark);--accent-ink:var(--brand-dark-ink);--accent-soft:color-mix(in srgb, var(--brand-dark) 18%, var(--surface))}}:root[data-brand][data-theme=dark]{--accent:var(--brand-dark);--accent-ink:var(--brand-dark-ink);--accent-soft:color-mix(in srgb, var(--brand-dark) 18%, var(--surface))}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--f-sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.2}h1{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:10px;font-size:1.75rem;font-weight:800;display:flex}h2{font-size:1.05rem;font-weight:700}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem;font-weight:700}p{margin:0}a{color:var(--accent)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.92em}.muted{color:var(--muted)}.strong{font-weight:600}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.r{text-align:right}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:28px;height:60px;padding:0 max(16px,50% - 600px);display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;min-width:0;font-weight:800;text-decoration:none;display:flex}.brand-logo{object-fit:contain;width:auto;max-width:180px;height:48px}.brand span{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.tabs{gap:4px;height:100%;display:flex}.tabs a{white-space:nowrap;color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 12px;font-size:.93rem;font-weight:600;text-decoration:none;display:flex}.tabs a:hover{color:var(--ink)}.idea-btn{flex:none;margin-left:auto}.mini-row.idea{cursor:default;align-items:flex-start}.mini-row.idea .grow{white-space:normal;flex-direction:column;gap:2px;display:flex}.tabs a.on{color:var(--accent);border-bottom-color:var(--accent)}.view{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:28px 16px 64px;display:flex}.view>.seg{align-self:flex-start}.splash{background:#fff;place-content:center;justify-items:center;gap:18px;display:grid;position:fixed;inset:0;overflow:hidden}.splash-logo{clip-path:inset(100% 0 0);width:min(320px,72vw);height:auto;animation:.9s cubic-bezier(.2,.8,.2,1) .1s forwards splash-rise;transform:translateY(28px)}.splash-logo.icon{width:72px}.splash-bar{background:var(--brand-light,var(--accent));border-radius:3px;width:min(220px,50vw);height:3px;animation:.6s cubic-bezier(.2,.8,.2,1) .8s forwards splash-bar,1.2s ease-in-out 1.5s infinite splash-pulse;transform:scaleX(0)}@keyframes splash-rise{to{clip-path:inset(0);transform:none}}@keyframes splash-bar{to{transform:scaleX(1)}}@keyframes splash-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.splash-logo,.splash-bar{clip-path:none;animation:none;transform:none}}.boot{min-height:100vh;color:var(--muted);place-items:center;display:grid}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-h .sub,.card .sub{color:var(--muted);margin-top:4px;font-size:.88rem}.back{margin-bottom:6px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.btn{appearance:none;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:9px 15px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--accent-soft)}.btn.danger{color:var(--bad)}.btn.danger.armed{background:var(--bad);border-color:var(--bad);color:#fff}.btn.sm{padding:6px 11px;font-size:.84rem}.btn.block{width:100%}.btn.bill-next{white-space:normal;flex-direction:column;gap:2px}.billing{flex-direction:column;gap:8px;display:flex}.billing .mini-row{padding:7px 9px;font-size:.84rem}.billing p{margin:0}.btn:disabled{opacity:.55;cursor:default}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.88rem;font-weight:600}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.icon-btn.armed{background:var(--bad);color:#fff;width:auto;padding:0 8px;font-size:.78rem;font-weight:600}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:.8rem;font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;width:100%;min-width:0;padding:9px 11px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.full{grid-column:1/-1}.combo{gap:6px;display:flex}.form-err{color:var(--bad);font-size:.88rem}.bad-text{color:var(--bad)}.form-ok{color:var(--good);font-size:.88rem}.card-h{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-h h2 .muted,.seg .muted{font-size:.85em;font-weight:500}.notice.bad{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.notice{background:var(--warn-soft);color:var(--ink);border:1px solid color-mix(in srgb, var(--warn) 30%, transparent);border-radius:var(--r);padding:12px 14px;font-size:.9rem}.check{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}.check input{width:17px;height:17px;accent-color:var(--accent)}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.empty{background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r);text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty b{color:var(--ink);font-size:1.05rem}.empty p{max-width:420px}.empty .btn{margin-top:8px}.empty.small{padding:22px 16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.stat-l{color:var(--ink-2);font-size:.8rem;font-weight:600}.stat-v{font:600 1.55rem/1.15 var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat-s{color:var(--muted);font-size:.8rem}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar input[type=search]{flex:1;min-width:220px;max-width:420px}.seg{scrollbar-width:none;background:var(--sunken);border-radius:9px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:6px 12px;font-size:.86rem;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);padding:10px 14px;font-size:.74rem;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tbody tr:last-child td{border-bottom:0}.table th.r,.table td.r{text-align:right}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--sunken)}.cell-t{font-weight:600}.cell-s{color:var(--muted);font-size:.84rem}.table td.wrap{white-space:normal;min-width:180px}.group{flex-direction:column;gap:8px;display:flex}.group-h{align-items:baseline;gap:8px;font-size:.95rem;display:flex}.group-h .muted{font-size:.85rem;font-weight:500}.w-pick{width:40px}input.pick{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.table tr.picked td{background:var(--accent-soft)}.pick-bar{z-index:5;border-radius:var(--r);background:var(--surface);border:1px solid var(--accent);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex;position:sticky;top:68px}#invoiceList>.muted.small{margin-bottom:10px}.dupe-group{flex-direction:column;gap:6px;display:flex}.dupe-row{cursor:default}.dupe-row .grow{white-space:normal;flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.dupe-row .cell-s{flex-basis:100%}.pill{letter-spacing:.01em;white-space:nowrap;background:var(--sunken);color:var(--ink-2);border-radius:999px;align-items:center;padding:2px 9px;font-size:.74rem;font-weight:700;display:inline-flex}h1 .pill{font-size:.78rem}.s-sent,.s-started,.s-scheduled,.s-in-progress,.s-viewed,.s-billed,.s-contacted,.s-site-visit,.s-quoted{background:var(--info-soft);color:var(--info)}.s-approved,.s-paid,.s-completed,.s-done,.s-received,.s-won{background:var(--good-soft);color:var(--good)}.s-declined,.s-overdue,.s-cancelled,.s-lost{background:var(--bad-soft);color:var(--bad)}.s-on-hold,.s-pending,.s-unscheduled,.s-open,.s-new{background:var(--warn-soft);color:var(--warn)}.s-booked,.s-applied{background:var(--info-soft);color:var(--info)}.s-passed,.s-issued,.s-closed{background:var(--good-soft);color:var(--good)}.s-failed,.s-expired{background:var(--bad-soft);color:var(--bad)}.s-to-book,.s-to-apply,.s-partial,.s-expiring{background:var(--warn-soft);color:var(--warn)}.insp-row{align-items:center;gap:8px}.s-invited{background:var(--sunken);color:var(--muted)}.s-seen,.s-submitted{background:var(--info-soft);color:var(--info)}.s-awarded{background:var(--good-soft);color:var(--good)}.s-not-chosen{background:var(--sunken);color:var(--muted)}.pick-checks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;display:grid}.bid-table td{vertical-align:top}@media (width>=681px){.dialog:has(.bid-table){width:min(840px,100% - 24px)}}.pre{white-space:pre-wrap}.sc-money{background:var(--sunken);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px 12px;display:grid}.sc-money>div{flex-direction:column;gap:2px;display:flex}@media (width<=560px){.sc-money{grid-template-columns:1fr 1fr}}.sc-parties{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;padding:12px 0;display:grid}.sc-terms-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0;display:grid}.sc-terms-grid>div{flex-direction:column;gap:2px;display:flex}.sc-terms{font-size:.9rem}@media (width<=560px){.sc-parties{grid-template-columns:1fr}.sc-terms-grid{grid-template-columns:1fr 1fr}}.s-void{background:var(--sunken);color:var(--muted);text-decoration:line-through}.scrim{z-index:50;background:#14120f6b;position:fixed;inset:0}.dialog{z-index:51;background:var(--paper);width:min(560px,100% - 24px);max-height:84vh;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex;position:fixed;top:8vh;left:50%;overflow:hidden;transform:translate(-50%)}.dialog-h{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.dialog-b{flex-direction:column;gap:14px;padding:18px;display:flex;overflow-y:auto}.dialog-f{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.price-preview{color:var(--ink-2);background:var(--accent-soft);border-radius:8px;padding:10px 12px;font-size:.9rem}.mini-list{flex-direction:column;gap:4px;display:flex}.mini-row,.pick-row{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-size:.9rem;display:flex}.mini-row:hover,.pick-row:hover{border-color:var(--accent)}.mini-row .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sub-fields{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin:0;padding:10px 14px 12px;display:flex}.sub-fields legend{padding:0 4px;font-weight:700}.mini-row.stack .grow{white-space:normal;flex-direction:column;gap:2px;display:flex}.mini-row.is-done b{color:var(--muted)}a.mini-row{color:var(--ink);text-decoration:none}.pick-more{padding:8px 2px;font-size:.85rem}.pick-list{flex-direction:column;gap:4px;display:flex}.tpl-row{flex-wrap:nowrap;gap:4px}.tpl-row .pick-row{flex:1;min-width:0}.tpl-row .pick-row .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pick-cat{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 2px 2px;font-size:.74rem;font-weight:700}.toast{z-index:60;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);box-shadow:var(--shadow);border-radius:9px;max-width:calc(100% - 32px);padding:10px 16px;font-size:.9rem;font-weight:500;position:fixed;transform:translate(-50%)}.toast.bad{background:var(--bad);color:#fff}.editor{flex-direction:column;gap:20px;display:flex}#saveState[data-s=saving],#saveState[data-s=pending]{color:var(--ink-2)}#saveState[data-s=error]{color:var(--bad);font-weight:600}.editor-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.editor-main{flex-direction:column;gap:16px;min-width:0;display:flex}.editor-main>.btn.ghost{align-self:flex-start}.sticky{position:sticky;top:76px}.cust-line{color:var(--ink-2);font-size:.88rem}.qsection{flex-direction:column;gap:10px;display:flex}.qsection-h{align-items:center;gap:10px;display:flex}.section-name{flex:1;font-size:1.02rem;font-weight:700;background:0 0!important;border-color:#0000!important;padding-left:4px!important}.section-name:hover{border-color:var(--line-2)!important}.section-name:focus{border-color:var(--accent)!important;background:var(--surface)!important}.lines{min-width:760px}.lines td{padding:4px 6px}.lines th{padding:9px 8px}.lines td:first-child{min-width:280px;padding-left:8px}body.hide-owner .lines td:first-child{min-width:240px}.cell-in{background:0 0!important;border-color:#0000!important;border-radius:6px!important;padding:7px 8px!important}.cell-in:hover{border-color:var(--line)!important}.cell-in:focus{border-color:var(--accent)!important;background:var(--surface)!important}.cell-in.r{text-align:right;font-family:var(--f-mono);font-size:.88rem}.cell-in.unit{font-family:var(--f-mono);text-transform:uppercase;font-size:.85rem}.line-desc,.section-desc{resize:vertical;width:100%;min-height:0;color:var(--ink-2);font-size:.84rem;line-height:1.4;display:block}.line-desc:not(:focus):placeholder-shown{opacity:.55}.w-qty{width:76px}.w-unit{width:72px}.w-num{width:110px}.w-pct{width:86px}.w-x{width:40px}.owner{background:color-mix(in srgb, var(--sunken) 55%, transparent)!important}.no-lines td{color:var(--muted);text-align:center;font-size:.9rem;padding:16px!important}body.hide-owner .owner,body.hide-owner .tot-owner{display:none}body.hide-owner .lines{min-width:560px}.totals{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.tot-row{justify-content:space-between;gap:10px;font-size:.92rem;display:flex}.tot-row.grand{border-top:1px solid var(--line);margin-top:2px;padding-top:6px;font-size:1.1rem;font-weight:800}.tot-row.grand .mono{font-size:1.05rem}.tot-owner{background:var(--sunken);border-radius:8px;flex-direction:column;gap:4px;margin-top:8px;padding:10px 12px;display:flex}.tot-owner .tot-row{color:var(--ink-2);font-size:.86rem}.neg{color:var(--bad)}.bud-bar{background:var(--sunken);border-radius:8px;min-width:60px;height:8px;overflow:hidden}.bud-bar span{background:var(--good);border-radius:8px;height:100%;display:block}.bud-bar.near span{background:var(--warn)}.bud-bar.over span{background:var(--bad)}.table.bud tfoot td{border-top:1px solid var(--line);font-weight:700}.w-bar{width:22%}.admin-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.co-name{align-items:center;gap:10px;min-width:0;display:flex}.co-name img{object-fit:contain;max-width:90px;height:32px}.idea-list{flex-direction:column;gap:12px;max-width:820px;display:flex}.idea-body{font-size:.98rem}.idea-reply{flex-wrap:wrap;gap:8px;display:flex}.idea-reply select{width:auto}.idea-reply input{flex:1;min-width:180px}.admin-list .mini-row{cursor:default}.admin-list .mini-row .grow{white-space:normal;flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.co-dot{border-radius:50%;flex:none;width:16px;height:16px}.brand-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.logo-box{border:1px dashed var(--line-2);background:#fff;border-radius:10px;place-items:center;width:200px;height:90px;padding:8px;display:grid}.logo-box img{object-fit:contain;max-width:100%;max-height:100%}input[type=color]{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:8px;width:52px;height:40px;padding:3px}.swatch{border:3px solid var(--surface);width:36px;height:36px;box-shadow:0 0 0 1px var(--line-2);cursor:pointer;border-radius:50%}.swatch.on{box-shadow:0 0 0 2px var(--ink)}.brand-preview{background:var(--paper);pointer-events:none;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px;display:flex}.settings{flex-direction:column;gap:16px;max-width:760px;display:flex}.auth{place-items:center;min-height:100dvh;padding:32px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;padding:28px;display:flex}.auth-brand{color:var(--accent);align-items:center;gap:10px;font-weight:800;display:flex}.auth-logo{border-radius:var(--r);background:#fff;place-items:center;margin:-8px -8px 0;padding:12px;display:grid}.auth-logo img{object-fit:contain;max-width:100%;max-height:96px}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.print-doc{display:none}@media print{@page{margin:16mm}body{color:#000;background:#fff;font-size:11pt}.topbar,.editor,#modal,#toast{display:none!important}.view{max-width:none;padding:0}.print-doc{color:#111;display:block}.pd-head{border-bottom:2px solid var(--brand-light,#0f5c4f);justify-content:space-between;gap:24px;padding-bottom:14px;display:flex}.pd-co{color:var(--brand-light,#0f5c4f);font-size:18pt;font-weight:800}.pd-logo{object-fit:contain;max-width:220px;max-height:64px;margin-bottom:6px;display:block}.pd-small{color:#444;margin-top:4px;font-size:9.5pt;line-height:1.45}.pd-meta{text-align:right;font-size:10pt}.pd-title{text-transform:uppercase;letter-spacing:.08em;font-size:16pt;font-weight:800}.pd-to{margin:18px 0 8px;font-size:10.5pt;line-height:1.45}.pd-label{text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:3px;font-size:8.5pt;font-weight:700}.pd-job{margin:14px 0 10px;font-size:13pt}.pd-table{border-collapse:collapse;break-inside:auto;width:100%;margin-bottom:12px;font-size:10pt}.pd-table th{text-align:left;border-bottom:1px solid #999;padding:6px 4px;font-size:9.5pt}.pd-table td{border-bottom:1px solid #ddd;padding:6px 4px}.pd-table tr{break-inside:avoid}.pd-table .r{text-align:right;white-space:nowrap}.pd-desc{color:#444;margin-top:2px;font-size:9pt;line-height:1.4}.pd-totals{break-inside:avoid;width:260px;margin-left:auto;font-size:10.5pt}.pd-totals div{justify-content:space-between;padding:3px 0;display:flex}.pd-grand{border-top:2px solid #111;margin-top:4px;font-size:12.5pt;font-weight:800;padding-top:6px!important}.pd-block{break-inside:avoid;margin-top:16px;font-size:10pt;line-height:1.5}.pd-sign{color:#555;break-inside:avoid;grid-template-columns:2fr 1fr;gap:28px;margin-top:40px;font-size:9pt;display:grid}.pd-sign div{border-top:1px solid #333;padding-top:4px}}.stats6{grid-template-columns:repeat(6,minmax(0,1fr))}.stats6 .stat-v{font-size:1.3rem}select.auto{width:auto}.small{font-size:.84rem}.week-label{text-align:center;min-width:150px;font-size:.92rem}.week{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:8px;display:grid}.day{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:6px;min-width:0;min-height:140px;padding:8px;display:flex}.day.today{border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.day-h{color:var(--ink-2);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.day-h .icon-btn{width:26px;height:26px;font-size:1.1rem}.day-empty{color:var(--line-2);padding-left:2px;font-size:.85rem}.task-chip{text-align:left;border:0;border-left:3px solid var(--accent);background:var(--accent-soft);cursor:pointer;border-radius:7px;flex-direction:column;gap:1px;width:100%;padding:7px 8px;font-size:.82rem;display:flex}.task-chip:hover{filter:brightness(.97)}.task-chip.done{opacity:.55}.task-chip.done .task-t{text-decoration:line-through}.task-t{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.task-s{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}fieldset.field{border:0;margin:0;padding:0}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 14px;padding:4px 0;display:grid}.worker-sum{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.worker-sum .stat-v{font-size:1.2rem}label.btn{position:relative}label.btn.disabled{opacity:.55;pointer-events:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.photo{flex-direction:column;gap:4px;margin:0;display:flex}.photo>button{border:1px solid var(--line);background:var(--sunken);aspect-ratio:4/3;cursor:zoom-in;border-radius:8px;padding:0;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%;display:block}.photo figcaption{color:var(--muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.mini-row .link.grow{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.send-btns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.send-btns .btn{white-space:normal;text-align:center}.activity p{font-size:.9rem}.sig-img{object-fit:contain;object-position:left;border:1px solid var(--line);background:#fff;border-radius:8px;max-width:100%;height:90px}.cust-note{color:var(--ink-2);font-style:italic}body.shared{background:var(--sunken)}.sd{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:16px 16px 64px;display:flex}.sd-bar{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;display:flex}.sd-doc,.sd-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:24px}.sd-doc{flex-direction:column;gap:18px;display:flex}.sd-card{flex-direction:column;gap:14px;display:flex}.sd-answered{flex-direction:row;align-items:center;gap:12px}.sd-head{border-bottom:2px solid var(--accent);flex-wrap:wrap;justify-content:space-between;gap:20px;padding-bottom:16px;display:flex}.sd-logo{object-fit:contain;max-width:240px;max-height:72px;margin-bottom:8px;display:block}.sd-co{color:var(--accent);letter-spacing:-.01em;font-size:1.35rem;font-weight:800}.sd-small{color:var(--muted);font-size:.84rem;line-height:1.45}.sd-meta{text-align:right;font-size:.9rem}.sd-kind{text-transform:uppercase;letter-spacing:.08em;font-size:1.05rem;font-weight:800}.sd-to{flex-wrap:wrap;gap:32px;font-size:.92rem;display:flex}.sd-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px;font-size:.72rem;font-weight:700}.sd-title{font-size:1.3rem}.sd-block{font-size:.92rem;line-height:1.55}.sd-section{flex-direction:column;display:flex}.sd-desc{color:var(--ink-2);white-space:normal;margin-top:3px;font-size:.86rem;line-height:1.45}.sd-sec-h{border-bottom:1px solid var(--line-2);padding-bottom:6px;font-weight:700}.sd-line{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:9px 0;font-size:.93rem;display:flex}.sd-totals{flex-direction:column;align-self:flex-end;gap:4px;width:min(300px,100%);font-size:.93rem;display:flex}.sd-totals>div{justify-content:space-between;gap:12px;display:flex}.sd-grand{border-top:2px solid var(--ink);margin-top:2px;padding-top:6px;font-size:1.1rem;font-weight:800}.sd-btns{flex-wrap:wrap;gap:10px;display:flex}.sd-btns .btn{flex:1;min-width:140px;padding:12px 16px;font-size:1rem}.sig-pad{border:1px dashed var(--line-2);touch-action:none;cursor:crosshair;background:#fff;border-radius:10px;width:100%;height:160px}.sd-card .link{align-self:flex-start}@media print{body.shared{background:#fff}.sd-bar,.sd-card{display:none!important}.sd{max-width:none;padding:0}.sd-doc{box-shadow:none;border:0;padding:0}}@media (width<=960px){.editor-grid{grid-template-columns:minmax(0,1fr)}.sticky{position:static}.stats,.stats5{grid-template-columns:repeat(2,minmax(0,1fr))}.stats6{grid-template-columns:repeat(3,minmax(0,1fr))}.week{grid-template-columns:minmax(0,1fr)}.day{flex-flow:wrap;align-items:center;min-height:0}.day-h{width:100%}.day .task-chip{flex:220px}}@media (width<=680px){.topbar{flex-direction:column;align-items:stretch;gap:0;height:auto;padding:10px 16px 0;position:relative}.idea-btn{position:absolute;top:12px;right:16px}.tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;height:auto;margin:6px -8px 0;display:grid}.tabs a{justify-content:center;padding:9px 2px;font-size:.84rem}.tabs.solo{grid-template-columns:1fr}.admin-list{grid-template-columns:minmax(0,1fr)}.table:not(.lines) thead{display:none}.table:not(.lines),.table:not(.lines) tbody{display:block}.table:not(.lines) tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:2px 10px;padding:11px 14px;display:flex}.table:not(.lines) tbody tr:last-child{border-bottom:0}.table:not(.lines) td{border:0;padding:0;display:block}.table:not(.lines) td:has(.cell-t){flex:60%;order:-1;min-width:0}.pick-bar{top:8px}.table:not(.lines) td.w-pick{flex:none;order:-2;width:auto}.table:not(.lines) td.r,.table:not(.lines) td.nowrap{flex:28%;text-align:left!important}.table:not(.lines) td.r[data-label]:before,.table:not(.lines) td.nowrap[data-label]:before{content:attr(data-label);font:600 .68rem/1.3 var(--f-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:block}.table td.wrap{flex-basis:100%;min-width:0}.view{padding-top:20px}h1{font-size:1.45rem}.grid2,.grid3{grid-template-columns:minmax(0,1fr)}.stat-v{font-size:1.25rem}.toolbar input[type=search]{width:100%;min-width:0;max-width:none}.stats6{grid-template-columns:repeat(2,minmax(0,1fr))}.send-btns{grid-template-columns:minmax(0,1fr)}.sd-doc,.sd-card{border-radius:12px;padding:18px}.sd-meta{text-align:left}.dialog{border-radius:14px 14px 0 0;width:100%;max-height:92vh;top:auto;bottom:0;transform:translate(-50%)}}.settings .mini-row{cursor:default}.settings .mini-row .grow{white-space:normal;flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.role-help{gap:4px;margin:12px 0 0;padding-left:18px;display:grid}.admin-list .mini-row select{width:auto}fieldset.field .check{align-items:flex-start;margin-top:8px}fieldset.field .check input{flex:none;margin-top:2px}.clock-page{gap:16px;max-width:520px;display:grid}.clock{align-items:stretch}.clock.on{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.clock-l{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem;font-weight:700}.clock.on .clock-l{color:var(--accent)}.clock-v{font-family:var(--f-mono);font-size:2.4rem;line-height:1}.clock-btn{min-height:56px;font-size:1.1rem}.clock-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.on-clock{color:var(--good);font-weight:600}.team-row{flex-wrap:wrap}.team-add{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr auto auto;align-items:end;gap:10px;padding-top:6px;display:grid}@media (width<=680px){.team-add{grid-template-columns:1fr}}.demo-bar{background:var(--warn-soft);color:var(--ink);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 16px;font-size:.9rem;display:flex}.demo-switch{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.demo-switch a{border:1px solid var(--line-2);color:var(--ink);background:var(--surface);border-radius:999px;padding:3px 10px;text-decoration:none}.demo-switch a.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.log-row{align-items:flex-start}.log-row .grow,.punch-row .link.grow{white-space:normal;text-align:left;color:var(--ink);flex-direction:column;gap:2px;font-weight:500;display:flex}.warn-t{color:var(--warn);font-weight:600}.punch-row{cursor:default}.punch-check{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none}.punch-row.is-done .link.grow>span:first-child{color:var(--muted);text-decoration:line-through}.po-form .table-wrap{flex:none}.po-lines{min-width:520px}.po-lines td{padding:4px}.po-lines td:first-child{min-width:180px}.po-lines input{width:100%}.po-lines td:nth-child(2),.po-lines td:nth-child(3){width:70px}.po-lines td:nth-child(4){width:90px}#printArea{display:none}@media print{body.print-only #app{display:none!important}body.print-only #printArea,body.print-only #printArea .print-doc{display:block}}.lead-board{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.lead-col{background:var(--sunken);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.lead-col h3{margin:0 2px 2px;font-size:.9rem}.lead-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.lead-card .link.grow{text-align:left;color:var(--ink);flex-direction:column;gap:2px;font-weight:500;display:flex}.lead-card select{padding:4px 6px;font-size:.84rem}@media (width<=900px){.lead-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.lead-board{grid-template-columns:minmax(0,1fr)}}.stats5{grid-template-columns:repeat(5,minmax(0,1fr))}.stats5 .stat-v{font-size:1.2rem}@media (width<=760px){.stats5{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart{width:100%;height:auto;display:block}.chart .grid-l{stroke:var(--line);stroke-width:1px}.chart .axis-t{fill:var(--muted);font-family:inherit;font-size:11px}.chart .bar{fill:var(--accent)}.chart .hit{fill:#0000}.chart .bar-g:hover .bar{opacity:.8}.chart .bar-g:hover .hit{fill:var(--sunken)}@media (width<=560px){.chart .axis-t{font-size:20px}}.ai-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ai-notes{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:var(--accent-soft)}.ai-notes ul{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:20px;font-size:.92rem;display:flex}.needs-price td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.needs-price-tag{color:var(--warn);background:var(--warn-soft);border-radius:999px;margin:2px 0 0 8px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}.pk-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pk-opts{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.pk-opt{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.pk-opt.is-chosen{border:2px solid var(--accent)}.pk-opt.is-picking{grid-column:1/-1}.pk-opt-h{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pk-opt>.btn{align-self:flex-start}.pk-tag{color:var(--accent);font-weight:700}.pk-confirm{flex-direction:column;gap:10px;display:flex}.sel-opt{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:12px}.sel-opt .row{align-items:flex-end}.pt-head{justify-content:center;padding:8px 0 4px;display:flex}.pt-list{flex-direction:column;gap:8px;display:flex}.pt-row{border:1px solid var(--line);color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:12px;text-decoration:none;display:flex}.pt-row:hover{border-color:var(--accent)}.pt-row .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.pt-owed{margin:0;font-size:1.1rem}.pt-picks{flex-direction:column;gap:6px;display:flex}.pt-picks .mono{margin-left:auto}.pt-code{letter-spacing:.3em;text-align:center;font-size:1.6rem;font-family:var(--f-mono,monospace);max-width:220px}.pt-foot{text-align:center}.pt-link{color:var(--ink);flex-direction:row;justify-content:space-between;align-items:center;text-decoration:none}.pt-link>span:first-child{flex-direction:column;gap:2px;display:flex}.pt-link:hover{border-color:var(--accent)}@media print{.pt-link{display:none!important}}.ai-receipt{flex-direction:column;align-items:flex-start;gap:6px;margin-top:-4px;display:flex}.jb-money{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.jb-money>div{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:12px;display:flex}.jb-money b{font-size:1.25rem}.jb-tasks{flex-direction:column;display:flex}.jb-task{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;font-size:.93rem;display:flex}.jb-task:last-child{border-bottom:0}.jb-when{width:118px;color:var(--muted);flex:none;font-size:.86rem}.jb-done summary{cursor:pointer;color:var(--muted);font-size:.9rem}.photo>a{border:1px solid var(--line);background:var(--sunken);aspect-ratio:4/3;border-radius:8px;display:block;overflow:hidden}.photo .icon-btn.on{color:var(--accent)}.pay-math{flex-direction:column;gap:4px;max-width:360px;font-size:.95rem;display:flex}.pay-math div{justify-content:space-between;gap:12px;display:flex}.pay-total{border-top:1px solid var(--line);margin-top:2px;padding-top:6px;font-weight:800}.fee-in{width:80px}.s-new,.s-contacted{background:var(--info-soft);color:var(--info)}.s-demo-booked{background:var(--warn-soft);color:var(--warn)}.s-signed-up{background:var(--good-soft);color:var(--good)}.s-not-a-fit{background:var(--sunken);color:var(--muted)}@media (width<=1280px) and (width>=681px){.tabs a{padding:0 8px;font-size:.88rem}}@media (width<=1060px) and (width>=681px){.topbar{min-width:0}.tabs{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}}.cell-form{gap:6px;display:flex}.cell-form input{max-width:170px}.net-bar{background:var(--accent-soft);color:var(--ink);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:8px 16px;font-size:.9rem;display:flex}.net-bar.off{background:var(--warn-soft)}.net-bar[hidden],.lead-fields[hidden],.sub-fields[hidden],.field[hidden]{display:none}.net-bar .link{color:var(--bad);font-weight:600}.viewer{z-index:60;color:#f2f0eb;background:#0d0d0c;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-bar{padding:10px 12px;padding-top:max(10px, env(safe-area-inset-top));background:#1a1a18;border-bottom:1px solid #2f2e2a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-name{text-overflow:ellipsis;white-space:nowrap;flex:140px;min-width:0;overflow:hidden}.viewer .btn{color:#f2f0eb;background:#2a2a27;border-color:#3d3b36}.viewer .btn.primary{background:var(--brand-dark,#6cc4ad);color:var(--brand-dark-ink,#0b211c);border-color:#0000}.viewer .btn[disabled]{opacity:.45}.viewer-stage{min-height:0;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));flex:1;justify-content:center;align-items:center;display:flex}.viewer-stage img,.viewer-stage canvas{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%}.viewer-stage canvas{touch-action:none;cursor:crosshair}.viewer-msg{color:#bdb8ae}.viewer .seg{background:#2a2a27}.viewer .seg button{color:#d8d4cc;padding:7px 12px}.viewer .seg button.on{color:#111;background:#f2f0eb}.swatches{gap:8px;display:inline-flex}.swatch{cursor:pointer;border:2px solid #3d3b36;border-radius:50%;width:30px;height:30px;padding:0}.swatch.on{outline-offset:2px;outline:3px solid #f2f0eb}.viewer-note{background:#1a1a18;border-bottom:1px solid #2f2e2a;padding:8px 12px}.viewer-note input{color:#f2f0eb;width:100%;font:inherit;background:#0d0d0c;border:1px solid #3d3b36;border-radius:8px;padding:9px 12px;font-size:16px}.sync-list .mini-row>.grow{white-space:normal;flex-direction:column;min-width:0;display:flex}.sync-list .mini-row>.grow *{white-space:normal}.gantt-wrap{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow-x:auto}.gantt{font-size:.82rem;position:relative}.g-head{z-index:3;background:var(--paper);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.g-corner{flex:0 0 var(--label);background:var(--paper);z-index:2;border-right:1px solid var(--line);position:sticky;left:0}.g-scale{position:relative}.g-months{height:20px;position:relative}.g-month{color:var(--muted);white-space:nowrap;border-left:1px solid var(--line);padding-left:4px;font-weight:700;position:absolute;top:3px}.g-daynums{display:flex}.g-daynums span{flex:0 0 var(--w);text-align:center;color:var(--muted);padding:2px 0 4px;font-size:.72rem}.g-daynums span.we{color:var(--faint,var(--muted));opacity:.6}.g-daynums span.now{color:var(--accent);font-weight:800}.g-body{position:relative}.g-cols{top:0;bottom:0;left:var(--label);pointer-events:none;position:absolute}.g-cols i{width:var(--w);background:var(--sunken);opacity:.7;position:absolute;top:0;bottom:0}.g-today{background:var(--accent);opacity:.55;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.g-links{top:0;left:var(--label);pointer-events:none;position:absolute;overflow:visible}.g-links path{fill:none;stroke:var(--muted);stroke-width:1.4px}.g-links marker path{fill:var(--muted);stroke:none}.g-group{z-index:1;align-items:center;width:max-content;max-width:100vw;padding:0 10px;font-weight:700;display:flex;position:sticky;left:0}.g-group a{color:var(--ink)}.g-row{border-top:1px solid color-mix(in srgb, var(--line) 50%, transparent);align-items:center;display:flex}.g-label{flex:0 0 var(--label);width:var(--label);z-index:2;background:var(--paper);border:0;border-right:1px solid var(--line);text-align:left;cursor:pointer;height:100%;font:inherit;color:var(--ink);flex-direction:column;justify-content:center;min-width:0;padding:2px 10px;display:flex;position:sticky;left:0}.g-label:hover{background:var(--sunken)}.g-name,.g-who{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.g-who{color:var(--muted);font-size:.72rem}.g-track{flex:1;height:100%;position:relative}.g-bar{background:var(--accent);color:var(--accent-ink);white-space:nowrap;cursor:pointer;z-index:1;height:20px;border-radius:6px;align-items:center;padding:0 6px;font-size:.72rem;font-weight:600;display:flex;position:absolute;top:7px;overflow:hidden;box-shadow:0 1px 2px #00000026}.g-bar.s-done{background:var(--good);opacity:.65}.g-bar.s-in-progress{background:var(--info)}.g-bar.can-drag{cursor:grab}.g-bar.dragging{cursor:grabbing;opacity:.85;z-index:4;box-shadow:0 4px 10px #00000040}.g-bar-t{text-overflow:ellipsis;pointer-events:none;overflow:hidden}.g-grip{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:0}.g-grip:after{content:"";background:#fff9;border-radius:2px;width:2px;position:absolute;top:5px;bottom:5px;right:2px}.g-base{background:var(--muted);opacity:.35;border-radius:2px;height:4px;position:absolute;top:25px}.g-slip{color:var(--bad);white-space:nowrap;font-size:.7rem;font-weight:700;position:absolute;top:9px}.g-slip.ahead{color:var(--good)}@media (width<=680px){.gantt{--label:120px!important}}.seg.sm button{padding:4px 10px;font-size:.8rem}.g-foot{justify-content:space-between;margin-top:10px}.doc-body{white-space:normal;line-height:1.55}.nav-badge{background:var(--bad);color:#fff;text-align:center;vertical-align:1px;border-radius:9px;min-width:18px;margin-left:5px;padding:0 5px;font-size:.7rem;font-weight:800;line-height:18px;display:inline-block}.nav-badge[hidden]{display:none}.chat{grid-template-columns:280px 1fr;gap:14px;height:calc(100vh - 230px);min-height:420px;display:grid}.chat-list{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px;overflow-y:auto}.chat-sec{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:12px 10px 4px;font-size:.72rem;font-weight:800}.chat-ch{color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.chat-ch:hover{background:var(--sunken)}.chat-ch.on{background:var(--accent-soft)}.chat-ch .grow{flex-direction:column;min-width:0;display:flex}.chat-ch-t,.chat-ch .cell-s{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-ch-t{font-weight:600}.chat-pane{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.card .chat-pane{border:0;border-radius:0;height:min(70vh,640px);margin:-4px}.chat-none{justify-content:center;align-items:center}.chat-h{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex}.chat-h .back{margin:0}.chat-msgs{flex-direction:column;flex:1;gap:8px;padding:12px 14px;display:flex;overflow-y:auto}.chat-empty{text-align:center;max-width:320px;margin:auto}.chat-day{color:var(--muted);align-self:center;margin:6px 0 2px;font-size:.72rem;font-weight:700}.chat-msg{background:var(--sunken);border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:78%;padding:6px 10px 8px}.chat-msg.mine{background:var(--accent-soft);border-radius:12px 12px 4px;align-self:flex-end}.chat-msg.mention{box-shadow:inset 3px 0 0 var(--warn);background:var(--warn-soft)}.chat-meta{color:var(--muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.chat-meta b{color:var(--ink)}.chat-del{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;padding:0 2px;font-size:.7rem}.chat-msg:hover .chat-del,.chat-del:focus{opacity:1}.chat-body{overflow-wrap:anywhere;line-height:1.4}.chat-body .at{color:var(--accent)}.chat-form{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:10px;display:flex}.chat-form textarea{resize:none;field-sizing:content;flex:1;min-height:40px;max-height:140px}@media (width<=680px){.chat{grid-template-columns:1fr;height:calc(100vh - 260px)}.chat.has-open .chat-list,.chat:not(.has-open) .chat-none{display:none}.chat-del{opacity:1}}@media (width>=681px){.chat .chat-h .back{display:none}}.todos{flex-direction:column;display:flex}.todo{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent);align-items:flex-start;gap:10px;padding:8px 2px;display:flex}.todo:first-child{border-top:0}.todo-check{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.todo-t{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.todo.is-done .todo-t>span:first-child{color:var(--muted);text-decoration:line-through}.fm-fields{flex-direction:column;gap:6px;display:flex}.fm-check{border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);padding:6px 0}.fm-yesno .seg{display:inline-flex}.fm-yesno .seg label{cursor:pointer;border-radius:8px;padding:5px 12px}.fm-yesno .seg label:has(input:checked){background:var(--paper);font-weight:700;box-shadow:0 1px 2px #0000001f}.fm-yesno .seg input{opacity:0;pointer-events:none;position:absolute}.fb-list{flex-direction:column;gap:6px;display:flex}.fb-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fb-row .fb-label{flex:240px}.sm-points{background:var(--sunken);border-radius:10px;padding:8px 12px}.inc-office{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.inj-only[hidden]{display:none}.fin-card{border:2px solid var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.fin-card h2{margin-top:0}#takeoff .viewer.to{z-index:55}.to-body{flex:1;min-height:0;display:flex}.to-stage{background:#2a2a27;flex:1;overflow:auto}.to-stage canvas{cursor:crosshair;touch-action:pinch-zoom;display:block}.to-side{background:#1a1a18;border-left:1px solid #2f2e2a;flex-direction:column;flex:0 0 310px;gap:10px;padding:12px;display:flex;overflow-y:auto}.to-tools{flex-wrap:wrap;display:flex}.to-tools button{color:#f2f0eb}.to-tools button.on{background:#3d3b36}.to-hint{color:#cfcac0}.to-scale{background:#2a2a27;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}#takeoff .to-scale input{color:#fff;background:#111;border:1px solid #3d3b36;border-radius:6px;min-height:0;padding:6px}.to-items{flex-direction:column;gap:6px;display:flex}.to-item{align-items:center;gap:6px;display:flex}.to-dot{border-radius:50%;flex:none;width:10px;height:10px}#takeoff .to-label{color:#fff;width:auto;min-width:0;font:inherit;background:#111;border:1px solid #3d3b36;border-radius:6px;flex:1;min-height:0;padding:4px 6px}.to-side .icon-btn{color:#cfcac0}.to-q-list{flex-direction:column;gap:8px;display:flex}.to-q-row{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:8px;display:flex}@media (width<=900px){.to-body{flex-direction:column}.to-side{border-top:1px solid #2f2e2a;border-left:0;flex:none;max-height:42vh}}body.to-open #modal .scrim{z-index:70}body.to-open #modal .dialog{z-index:71}.today-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.today-grid>div{flex-direction:column;gap:16px;display:flex}a.stat{color:inherit;text-decoration:none}a.stat:hover{border-color:var(--accent)}.today-item{color:var(--ink);text-decoration:none}.today-ic{text-align:center;flex:none;width:24px}@media (width<=900px){.today-grid{grid-template-columns:1fr}}.task-chip.off{background:var(--sunken);color:var(--muted);border-style:dashed}.wo-item{grid-template-columns:minmax(0,1fr) 72px 72px auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.wo-signed{flex-direction:column;gap:4px;display:flex}@media (width<=560px){.wo-item{grid-template-columns:minmax(0,1fr) 60px 56px auto}}.rb-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.rb-cols{flex-wrap:wrap;gap:6px;display:flex}.rb-col{border:1px solid var(--line);background:var(--sunken);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.rb-col[draggable=true]{cursor:grab}.rb-col.drag-over{border-color:var(--accent)}.rb-col .icon-btn{min-width:26px;min-height:26px;padding:0}.rb-filter{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) auto;align-items:center;gap:6px;margin-bottom:6px;display:grid}.table tr.rb-total td,.table tr.rb-group td{background:var(--sunken);font-weight:600}@media (width<=700px){.rb-grid,.rb-filter{grid-template-columns:1fr}}.weekly{margin-bottom:16px}.weekly-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.weekly-cols ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}@media (width<=700px){.weekly-cols{grid-template-columns:1fr}}.voice-box{flex-direction:column;gap:8px;display:flex}.checks{border:0;flex-direction:column;gap:8px;margin:14px 0 0;padding:0;display:flex}.hook{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;margin:8px 0;padding:10px 12px;display:flex}.hook-url{overflow-wrap:anywhere}.hook-events{flex-wrap:wrap;gap:6px 14px;display:flex}.set-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.set-tile{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:14px 16px;text-decoration:none;display:grid}.set-tile:hover,.set-tile:focus-visible{border-color:var(--accent)}.set-ico{grid-row:1/3;font-size:1.4rem;line-height:1}.set-t{font-weight:600}.set-h{color:var(--muted);font-size:.82rem}.back-link{color:inherit;opacity:.6;text-decoration:none}.back-link:hover{opacity:1}@media (width<=560px){.set-grid{grid-template-columns:1fr 1fr;gap:8px}.set-tile{grid-template-columns:1fr;row-gap:4px;padding:12px}.set-ico{grid-row:auto;font-size:1.3rem}.set-t{font-size:.92rem}.set-h{display:none}}.as-parts{flex-direction:column;gap:8px;margin:6px 0;display:flex}.as-part{grid-template-columns:minmax(0,1fr) 150px auto auto;align-items:center;gap:8px;display:grid}.as-per{align-items:center;gap:6px;display:flex}.as-per input{flex:0 0 90px;width:90px}.as-per span{white-space:nowrap}@media (width<=560px){.as-part{grid-template-columns:1fr auto auto}.as-part select{grid-column:1/-1}}.ap-preview table{margin-top:4px}.cc-strip{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;font-size:.88rem;display:flex}.wo-stock{grid-template-columns:minmax(0,1fr) 80px auto;align-items:center;gap:6px;display:grid}.print-doc .wo-lines{border-bottom:1px solid #999;height:70px}.visit-bar{background:var(--accent-soft)}.delete-bar{background:var(--bad-soft)}.calc-rows{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.calc-row{grid-template-columns:minmax(0,1fr) 7.5rem auto;align-items:center;gap:8px;display:grid}.calc-row input[type=number]{text-align:right}@media (width<=560px){.calc-row{grid-template-columns:minmax(0,1fr) 5.5rem auto}}.calc-list{flex-direction:column;gap:4px;margin:0 0 12px;padding-left:1.2em;display:flex}@media screen{:root[data-look] body{background-image:var(--look-bg)}:root[data-look] .card{box-shadow:0 1px 2px #0000001a,0 6px 18px #00000014}:root[data-look=electric] .topbar{border-bottom:6px solid;border-image:repeating-linear-gradient(-45deg,#f5c400 0 12px,#1f1d1a 12px 24px) 6}}.look-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.look-tile{cursor:pointer;background:var(--paper) var(--look-bg,none);height:76px;color:var(--ink);border:2px solid var(--line-2);text-align:left;box-shadow:inset 0 -4px 0 var(--accent);border-radius:9px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;padding:8px 10px;font-size:.84rem;font-weight:700;display:flex}.look-tile[data-l=standard]{--paper:#f6f4ef;--surface:#fff;--ink:#1f1d1a;--look-bg:none}.look-tile .look-ic{font-size:1.3rem;line-height:1}.look-tile span:last-child{background:var(--surface,#fff);color:var(--ink);border-radius:5px;padding:1px 6px}.look-tile.on{border-color:var(--ink);outline:2px solid var(--accent);outline-offset:1px}
