:root{--gap:10px;--sans:"Albert Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--serif:"Albert Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f5f4f0;--card:#fff;--card2:#faf9f6;--tx:#26231e;--mut:#8b877e;--line:#e6e3db;--lineSoft:#eeece5;--acc:#a5713c;--accSoft:#f2e8d9;--accText:#8a5a28;--teal:#4c7a72;--tealSoft:#e2edea;--ok:#3a8a5b;--okSoft:#e3f0e8;--warnC:#a5801a;--warnSoft:#f8efd8;--cardShadow:0 1px 2px #3c321e0d, 0 2px 8px #3c321e0a;--chartBar:#8fa89f;--chartBarHot:#a5713c;--panel:var(--card);--sidebar:var(--card2);--section-bg:var(--card2);--metric-bg:var(--card2);--border:var(--line);--border-strong:color-mix(in srgb, var(--line) 55%, var(--mut) 45%);--text:var(--tx);--text-soft:color-mix(in srgb, var(--tx) 75%, var(--mut) 25%);--muted:var(--mut);--dark:var(--tx);--accent:var(--acc);--accent-hover:color-mix(in srgb, var(--acc) 88%, black 12%);--accent-soft:var(--accSoft);--accent-soft-border:color-mix(in srgb, var(--acc) 38%, var(--card) 62%);--blue:var(--acc);--good:var(--ok);--warn:var(--warnC);--success:var(--ok);--danger:#b3402e;--btn-bg:var(--card2);--btn-text:var(--tx);--btn-border:var(--line);--btn-hover:var(--lineSoft);--btn-disabled-bg:var(--lineSoft);--btn-disabled-text:var(--mut);--input-bg:var(--card2);--input-border:var(--line);--table-head-bg:var(--card2);--table-head-text:var(--mut);--row-hover:var(--card2);--code-bg:#2b2a26;--code-text:#e8e6dc;--shadow:#3c321e12;--overlay-shadow:#32281938;--focus-ring:color-mix(in srgb, var(--acc) 45%, transparent)}:root[data-theme=dark]{--bg:#121212;--card:#1b1b1b;--card2:#232323;--tx:#ececea;--mut:#94918a;--line:#333330;--lineSoft:#2a2a28;--acc:#8a5a28;--accSoft:#332a1c;--accText:#d4a86b;--teal:#8ab3a9;--tealSoft:#223330;--ok:#68b389;--okSoft:#22362b;--warnC:#d4ab4a;--warnSoft:#38311e;--cardShadow:0 1px 2px #0000004d, 0 2px 10px #00000040;--chartBar:#5d8478;--chartBarHot:#c9995c;--panel:var(--card);--sidebar:var(--card2);--section-bg:var(--card2);--metric-bg:var(--card2);--border:var(--line);--border-strong:color-mix(in srgb, var(--line) 45%, var(--mut) 55%);--text:var(--tx);--text-soft:color-mix(in srgb, var(--tx) 80%, var(--mut) 20%);--muted:var(--mut);--dark:var(--tx);--accent:var(--acc);--accent-hover:color-mix(in srgb, var(--acc) 78%, white 22%);--accent-soft:var(--accSoft);--accent-soft-border:color-mix(in srgb, var(--acc) 45%, var(--card) 55%);--good:var(--ok);--warn:var(--warnC);--success:var(--ok);--danger:#e08573;--btn-bg:var(--card2);--btn-text:var(--tx);--btn-border:var(--line);--btn-hover:color-mix(in srgb, var(--card2) 70%, var(--line) 30%);--btn-disabled-bg:var(--lineSoft);--btn-disabled-text:var(--mut);--input-bg:var(--card2);--input-border:var(--line);--table-head-bg:var(--card2);--table-head-text:var(--mut);--row-hover:var(--card2);--code-bg:#1b1a19;--code-text:#d8d5cc;--shadow:#00000059;--overlay-shadow:#0000008c;--focus-ring:color-mix(in srgb, var(--acc) 55%, transparent)}:root[data-theme=dark] a{color:var(--accText)}:root[data-theme=dark] a:hover{color:color-mix(in srgb, var(--accText) 82%, white 18%)}:root[data-theme=dark] a:visited{color:var(--accText)}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body,.top-menu,.main-content,section{transition:background-color .18s,border-color .18s,color .18s}h1,h2,.login-logo-row h1,.maud-brand span{font-family:var(--serif);letter-spacing:-.01em;font-weight:800}h1{margin:0 0 8px;font-size:26px}h2{margin-top:0;font-size:15.5px;font-weight:700}h3{margin-bottom:8px}.small{color:var(--muted);font-size:14px}button{cursor:pointer;background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);font-size:15px;font-family:var(--sans);border-radius:6px;margin:5px 5px 5px 0;padding:10px}button:disabled{background:var(--btn-disabled-bg);color:var(--btn-disabled-text);border-color:var(--border);cursor:not-allowed}input,select,textarea{box-sizing:border-box;font-size:15px;font-family:var(--sans);background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:6px;padding:10px}input:focus,select:focus,textarea:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--accent)}input[type=number],input[type=password],input[type=text],input[type=email],select,textarea{width:100%}textarea{resize:vertical;min-height:110px}label{margin:14px 0 6px;font-weight:600;display:block}.hidden{display:none!important}.success{color:var(--success);font-weight:700}.error{color:var(--danger);font-weight:700}a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,.bom-row:focus-visible,.outline-item:focus-visible,.wf-cell:focus-visible,.kanban-card:focus-visible,.sop-list-item:focus-visible,.sop-outline-item:focus-visible,.notif-item:focus-visible,.gs-item:focus-visible,.workflow-progress-step:focus-visible,.portal-choice-card:focus-visible,.render-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.jobs-search:focus-within{box-shadow:0 0 0 2px var(--focus-ring)}button,a,summary,label,[role=button],.top-tab,.lifecycle-tab,.estimate-subtab,.bom-filter,.job-sched-view,input,select,textarea{touch-action:manipulation}button:disabled,button[disabled]{opacity:.55}.drawer-header button,.render-del-x,.proposal-image-remove,.compose-attachment-chip button,.sop-popout-head button{min-width:32px;min-height:32px}.summary-total strong,.summary-row span,.metric .value,.customer-line,.customer-total,.review-mini-grid strong,.dash-qrow-amt,.dash-kpi-num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-screen{background:var(--bg);box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-card{background:var(--panel);width:100%;max-width:420px;color:var(--text);border:1px solid var(--border);box-shadow:0 10px 40px var(--shadow);border-radius:16px;padding:32px}.login-logo-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-logo-row h1{margin:0;font-size:34px}.login-logo-row img{object-fit:contain;box-sizing:border-box;background:#fff;border-radius:10px;max-width:110px;max-height:64px;padding:6px}.login-card button{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;margin-top:16px;font-weight:600}.login-card button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.login-card button.secondary{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);font-weight:500}.login-card button.secondary:hover:not(:disabled){background:var(--btn-hover)}.login-card button.ghost{color:var(--text-soft);background:0 0;border:1px solid #0000;font-weight:500}.login-card button.ghost:hover:not(:disabled){background:var(--btn-hover)}.login-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.login-actions button{margin-top:10px}.login-error{color:var(--danger);margin-top:12px;font-weight:700}.login-success{color:var(--success);margin-top:12px;font-weight:700}.login-divider{border-top:1px solid var(--border);margin:18px 0}.app-shell{min-height:100dvh;display:flex}.main-content{box-sizing:border-box;width:calc(100% - 300px);margin-left:300px;padding:86px 24px 32px}.side-menu{background:var(--sidebar);width:300px;color:var(--text);box-sizing:border-box;z-index:100;border-right:1px solid var(--border);padding:18px 14px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.maud-brand{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.maud-brand span{letter-spacing:.01em;font-size:26px}.maud-brand img{object-fit:contain;background:#fff;border-radius:8px;max-width:70px;max-height:46px;padding:4px}.menu-title{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:600}.side-menu button{text-align:left;background:var(--panel);width:100%;color:var(--text);border:1px solid var(--border);margin:0 0 8px;font-size:14px;display:block}.side-menu button:hover{background:var(--btn-hover);border-color:var(--border-strong)}.side-menu .primary-action{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.side-menu .primary-action:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.warning-action{background:var(--warn)!important;border-color:var(--warn)!important;color:#fff!important}.danger-action{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.success-action{background:var(--success)!important;border-color:var(--success)!important;color:#fff!important}.top-menu{background:var(--card);border-bottom:1px solid var(--border);box-sizing:border-box;z-index:90;align-items:center;gap:16px;height:56px;padding:0 20px;display:flex;position:fixed;top:0;left:300px;right:0}.top-menu nav.pill-nav{flex:0 auto;gap:4px;min-width:0;font-size:13.5px;font-weight:500;display:flex;overflow:hidden}.top-tab{color:var(--mut);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;margin:0;padding:9px 16px;font-size:14px}.top-tab:hover:not(.active){background:var(--lineSoft);color:var(--tx);border-color:#0000}.top-tab.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}.top-spacer{flex:1}.top-menu-right{flex:0 auto;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.ck-logo-wrap{flex:none;align-items:center;display:flex}.ck-logo{width:auto;height:32px;display:block}:root[data-theme=dark] .ck-logo{filter:invert()}.search-pill{border:1px solid var(--line);color:var(--mut);background:var(--card2);white-space:nowrap;cursor:pointer;border-radius:99px;flex:0 220px;align-items:center;gap:8px;min-width:0;margin:0;padding:6px 14px;font-family:inherit;font-size:13px;display:flex;overflow:hidden}.search-pill:hover{border-color:var(--acc);color:var(--acc)}.search-pill-icon{flex:none}.search-pill-label{text-overflow:ellipsis;overflow:hidden}.icon-btn{border:1px solid var(--line);background:var(--card2);color:var(--tx);cursor:pointer;border-radius:99px;align-items:center;margin:0;padding:6px 11px;font-family:inherit;font-size:14px;display:flex;position:relative}.icon-btn:hover{border-color:var(--acc);color:var(--acc)}.staff-avatar{background:var(--teal);color:#fff;cursor:default;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.ck-ver{color:var(--mut);white-space:nowrap;font-size:11px}@media (width<=1080px){.ck-ver{display:none}}.pill{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-soft-border);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:420px;padding:8px 12px;font-size:13px;overflow:hidden}.staff-pill{background:var(--metric-bg);color:var(--text-soft);border-color:var(--border);max-width:260px}.logout-button{color:var(--danger);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:8px 12px;font-size:13px}.logout-button:hover{background:var(--danger);border-color:var(--danger);color:#fff}.page{display:none}.page.active-page{display:block}.card{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:var(--cardShadow);border-radius:8px;margin-bottom:20px;padding:20px}.selected-job{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-soft-border);border-radius:10px;margin-top:10px;padding:12px;font-weight:600}.two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.three-column{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.section-box{border:1px solid var(--border);background:var(--section-bg);border-radius:10px;margin-bottom:14px;padding:14px}.section-box h3{border-bottom:1px solid var(--border);margin-top:0;padding-bottom:8px}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.metric{background:var(--metric-bg);border-radius:10px;padding:16px}.metric .label{color:var(--muted);margin-bottom:6px;font-size:13px}.metric .value{color:var(--text);font-size:22px;font-weight:600;font-family:var(--serif)}.table-wrap{border:1px solid var(--border);background:var(--panel);border-radius:8px;max-height:520px;overflow:auto}table{border-collapse:collapse;background:var(--panel);width:100%;color:var(--text);font-size:12.5px}th,td{border:0;border-bottom:1px solid var(--lineSoft);text-align:left;vertical-align:top;padding:8px 18px}th{background:var(--table-head-bg);color:var(--table-head-text);z-index:1;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;font-weight:700;position:sticky;top:0}tbody tr:hover{background:var(--row-hover)}.open-btn{margin:0;padding:6px 10px;font-size:13px}.status-pill,.lead-status-badge{background:var(--metric-bg);color:var(--text-soft);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.status-good{color:#3f6236;background:#e3eddd}.status-review{color:#7a5d18;background:#f3e8cc}.lead-status-new{background:var(--accent-soft);color:#8c4830}.lead-status-contacted{color:#7a5d18;background:#f3e8cc}.lead-status-qualified{color:#3f6236;background:#e3eddd}.lead-status-unqualified{color:#8e3323;background:#f4dcd5}.lead-status-converted{color:#54427a;background:#e6dff2}.quote-status-new{background:var(--accent-soft);color:#8c4830}.quote-status-booked{color:#54427a;background:#e6dff2}.quote-status-measured{color:#3a5a72;background:#dce7ee}.quote-status-ready-for-proposal{color:#7a5d18;background:#f3e8cc}.quote-status-proposal-sent{color:#7c5218;background:#f3dfc4}.quote-status-accepted{color:#3f6236;background:#e3eddd}.quote-status-declined{color:#8e3323;background:#f4dcd5}.job-type-wo{background:var(--accent-soft);color:var(--text)}.col-pill{white-space:nowrap}.quote-status-design-required{color:#6b5d3f;background:#e8e4d8}.quote-status-concept-presented{color:#44603e;background:#e2eae0}.quote-status-design-agreement-sent{color:#33586b;background:#dfe8ec}.quote-status-in-detailed-design{color:#5c4374;background:#e9e1ef}:root[data-theme=dark] .status-good,:root[data-theme=dark] .lead-status-qualified,:root[data-theme=dark] .quote-status-accepted{color:#b9d6af;background:#3a4a35}:root[data-theme=dark] .status-review,:root[data-theme=dark] .lead-status-contacted,:root[data-theme=dark] .quote-status-ready-for-proposal{color:#e0c888;background:#4a4128}:root[data-theme=dark] .lead-status-new,:root[data-theme=dark] .quote-status-new{color:#ebae94;background:#463229}:root[data-theme=dark] .lead-status-unqualified,:root[data-theme=dark] .quote-status-declined{color:#efac9c;background:#4d2c24}:root[data-theme=dark] .lead-status-converted,:root[data-theme=dark] .quote-status-booked{color:#c8bbe8;background:#3b3350}:root[data-theme=dark] .quote-status-measured{color:#a9c6da;background:#2e3e4a}:root[data-theme=dark] .quote-status-proposal-sent{color:#e2c08c;background:#4a3b24}:root[data-theme=dark] .quote-status-design-required{color:#d6c9a3;background:#413b2c}:root[data-theme=dark] .quote-status-concept-presented{color:#b4cfac;background:#33412f}:root[data-theme=dark] .quote-status-design-agreement-sent{color:#a3c6d6;background:#2c3e47}:root[data-theme=dark] .quote-status-in-detailed-design{color:#c6b2dc;background:#3d3348}pre{background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;word-break:break-word;border-radius:10px;max-height:380px;padding:16px;overflow:auto}.lead-layout{grid-template-columns:1fr 1.2fr;gap:18px;display:grid}.lead-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.lead-actions button{margin:0}.labour-default-input{max-width:110px}.labour-result{background:var(--metric-bg);color:var(--text);border-radius:10px;margin-top:12px;padding:12px;font-weight:600}@media (width<=1100px){.lead-layout,.three-column{grid-template-columns:1fr}}@media (width<=900px){.side-menu,.top-menu{width:100%;display:block;position:static}.top-menu{flex-wrap:wrap;height:auto;padding:10px;left:0}.main-content{width:100%;margin-left:0;padding:20px}.app-shell{display:block}.two-column{grid-template-columns:1fr}}body{background:var(--bg);font-size:13.5px;line-height:1.3}h1{margin:0 0 4px;font-size:26px;font-weight:800}h2{margin:0 0 8px;font-size:15.5px;font-weight:700}h3{margin:8px 0 6px;font-size:13px}.small{font-size:12px}button{border-radius:6px;margin:3px 3px 3px 0;padding:6px 10px;font-size:12px;line-height:1.15}input,select,textarea{border-radius:6px;min-height:28px;padding:5px 7px;font-size:12px}textarea{min-height:70px}label{color:var(--text-soft);margin:6px 0 3px;font-size:11px}.card{box-shadow:var(--cardShadow);border-radius:8px;margin-bottom:12px;padding:14px}.main-content{padding:72px 28px 32px}.top-menu{height:56px}.top-tab{padding:6px 12px;font-size:12px}.pill{padding:5px 9px;font-size:12px}.side-menu{width:300px;padding:14px 12px}.main-content{width:calc(100% - 300px);margin-left:300px}.top-menu{left:300px}.maud-brand span{font-size:21px}.maud-brand img{max-width:58px}.side-menu button{border-radius:7px;margin-bottom:4px;padding:7px 9px;font-size:12px}.menu-section{margin-bottom:16px}.menu-title{font-size:10px}button{transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s,transform 60ms,opacity .14s;position:relative}button:hover:not(:disabled){background:var(--btn-hover);box-shadow:0 1px 3px var(--shadow)}.side-menu .primary-action:hover:not(:disabled),.login-card button:hover:not(:disabled):not(.secondary):not(.ghost){background:var(--accent-hover)}.warning-action:hover:not(:disabled){filter:brightness(1.1);background:var(--warn)!important}.danger-action:hover:not(:disabled){filter:brightness(1.1);background:var(--danger)!important}.success-action:hover:not(:disabled){filter:brightness(1.1);background:var(--success)!important}button:active:not(:disabled),button.is-pressed:not(:disabled){box-shadow:inset 0 1px 3px var(--shadow);transform:translateY(1px)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button.is-working{opacity:.95;background:var(--warn)!important;border-color:var(--warn)!important;color:#fff!important;cursor:wait!important}button.is-success{background:var(--success)!important;border-color:var(--success)!important;color:#fff!important}button.is-error{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.button-feedback-toast{z-index:500;color:#f5f3eb;box-shadow:0 6px 24px var(--overlay-shadow);opacity:0;pointer-events:none;background:#33322e;border-radius:10px;max-width:360px;padding:9px 12px;font-size:12px;transition:opacity .16s,transform .16s;position:fixed;bottom:16px;right:16px;transform:translateY(6px)}.button-feedback-toast.show{opacity:1;transform:translateY(0)}.button-feedback-toast.success{background:var(--success)}.button-feedback-toast.error{background:var(--danger)}.button-feedback-toast.working{background:var(--warn)}.workflow-progress-bar{background:var(--panel);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;align-items:center;gap:6px;margin:-2px 0 10px;padding:7px;display:flex}.workflow-progress-step{background:var(--metric-bg);color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:5px 7px;font-size:11px;font-weight:600;transition:background-color .14s,border-color .14s,color .14s;display:flex}.workflow-progress-step .step-dot{background:var(--border-strong);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;line-height:1;display:inline-flex}.workflow-progress-step.complete{color:#3f6236;background:#e3eddd;border-color:#bad3ae}.workflow-progress-step.complete .step-dot{background:#5c8a54}.workflow-progress-step.active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-hover)}.workflow-progress-step.active .step-dot{background:var(--accent)}.workflow-progress-step.pending{background:var(--metric-bg);color:var(--muted);border-color:#0000}:root[data-theme=dark] .workflow-progress-step.complete{color:#b9d6af;background:#3a4a35;border-color:#4e6247}:root[data-theme=dark] .workflow-progress-step.complete .step-dot{background:#5c8a54}.sticky-actions .wide-action{font-weight:600;background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important}.sticky-actions .wide-action:hover:not(:disabled){background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.sticky-actions .wide-action{grid-column:1/-1}@media (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.workflow-progress-bar{justify-content:flex-start;overflow:auto}.workflow-progress-step.pending{flex:none;min-width:92px}}.side-menu button.workflow-action{background:var(--metric-bg);border-color:var(--border);color:var(--text-soft);padding-left:24px;position:relative}.side-menu button.workflow-action:before{content:"●";opacity:.95;color:var(--danger);font-size:10px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.side-menu button.workflow-action.workflow-started{color:#7a5d18!important;background:#f3e8cc!important;border-color:#ddc98f!important}.side-menu button.workflow-action.workflow-started:before{content:"◐";color:#9c7b2d}.side-menu button.workflow-action.workflow-complete{color:#3f6236!important;background:#e3eddd!important;border-color:#bad3ae!important}.side-menu button.workflow-action.workflow-complete:before{content:"✓";color:#5c8a54}.side-menu button.workflow-action.workflow-skipped{background:var(--metric-bg)!important;border-color:var(--border)!important;color:var(--muted)!important}.side-menu button.workflow-action.workflow-skipped:before{content:"–";color:var(--muted)}.side-menu button.workflow-action.workflow-active{box-shadow:0 0 0 2px var(--focus-ring)}.workflow-hint{color:var(--text-soft);background:var(--section-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:8px;font-size:11px}.job-panel-card{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:10px}.job-panel-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px;font-size:10px;font-weight:600}.job-panel-title{background:var(--accent-soft);color:var(--text);border:1px solid var(--accent-soft-border);border-radius:8px;padding:7px;font-size:13px;font-weight:600;line-height:1.25}.summary-total{border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:6px}.summary-total span,.summary-row span{color:var(--muted)}.summary-total strong{color:var(--text);font-size:22px;font-family:var(--serif);display:block}.summary-row{justify-content:space-between;gap:8px;padding:3px 0;font-size:12px;display:flex}.review-mini-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;display:grid}.review-mini-grid div{background:var(--metric-bg);border-radius:7px;padding:6px}.review-mini-grid span{color:var(--muted);font-size:10px;display:block}.review-mini-grid strong{color:var(--text);font-size:16px}.sticky-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:7px;display:grid}.sticky-actions button{margin:0}.job-topbar{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.job-status-inline{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;min-width:220px;padding:7px 9px;font-size:12px}.lifecycle-tabs,.estimate-subtabs,.filter-row{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.lifecycle-tab,.estimate-subtab,.bom-filter,.job-sched-view{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:6px 11px}.lifecycle-tab:hover:not(.active),.estimate-subtab:hover:not(.active),.bom-filter:hover:not(.active),.job-sched-view:hover:not(.active){background:var(--btn-hover)}.lifecycle-tab.active,.estimate-subtab.active,.bom-filter.active,.job-sched-view.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}.job-section,.estimate-tab{display:none}.job-section.active-job-section,.estimate-tab.active-estimate-tab{display:block}.compact-grid{gap:8px;display:grid}.metrics-grid{grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:8px}.metric{border:1px solid var(--border);background:var(--panel);padding:10px}.metric .label{font-size:11px}.metric .value{font-size:18px}.compact-card{padding:12px}.checklist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;font-size:12px;display:grid}.quote-card{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.quote-card summary{cursor:pointer;border-bottom:1px solid #0000;padding:9px 11px;font-size:13px;font-weight:600}.quote-card[open] summary{border-bottom-color:var(--border);margin-bottom:8px}.quote-card>div,.quote-card>button,.quote-card>.labour-result{margin-left:11px;margin-right:11px}.quote-card>button:last-child,.quote-card>.labour-result:last-child{margin-bottom:11px}.compact-field-grid{gap:7px 9px;display:grid}.compact-field-grid.one-col{grid-template-columns:1fr}.compact-field-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-field-grid.three-cols-fixed{grid-template-columns:220px 1fr 1fr}.compact-field-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}.wide-2{grid-column:span 2}.button-field{flex-wrap:wrap;align-items:end;gap:5px;display:flex}.labour-result{padding:8px;font-size:12px}.table-wrap{border-radius:8px;max-height:520px}table{font-size:12.5px}th,td{padding:8px 18px}.compact-table-wrap{max-height:calc(100vh - 210px)}.bom-row{cursor:pointer}.bom-row:hover{background:var(--row-hover)}.edit-cell{white-space:nowrap}.customer-preview,.mock-card,.timeline-mock{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px}.customer-line,.customer-total{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;display:flex}.customer-subdetail{color:var(--muted);border-bottom:1px solid var(--border);margin:-3px 0 7px;padding:0 0 7px;font-size:12px;line-height:1.35}.customer-subdetail div{padding:2px 0}.customer-total{border-bottom:0;font-size:16px}.mock-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mock-card h2{font-size:13px}.mock-card p{color:var(--muted);margin:0}.timeline-mock{gap:8px;display:grid}.timeline-mock div{border-left:3px solid var(--border);background:var(--section-bg);justify-content:space-between;padding:8px;display:flex}.bom-edit-drawer{background:var(--panel);width:390px;color:var(--text);border-left:1px solid var(--border);box-shadow:-8px 0 30px var(--overlay-shadow);z-index:300;position:fixed;top:0;bottom:0;right:0;overflow:auto}.drawer-header{border-bottom:1px solid var(--border);background:var(--section-bg);z-index:2;justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.drawer-header button{color:var(--text-soft);border:1px solid var(--border);background:0 0;padding:2px 8px;font-size:18px}.drawer-body{padding:12px}.drawer-actions{background:var(--panel);border-top:1px solid var(--border);z-index:2;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px;padding:10px 0;display:grid;position:sticky;bottom:0}.drawer-actions button{margin:0}.drawer-actions #saveBomEditButton{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.drawer-actions #saveBomEditButton:hover:not(:disabled){background:var(--accent-hover)}.customer-preview h2{font-size:17px}.section-box{padding:10px}.selected-job{padding:8px;font-size:12px}.two-column,.three-column{gap:10px}.grid{gap:8px}.bom-version-list{gap:5px;margin-top:6px;display:grid}.bom-version-row{background:var(--metric-bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:44px 1fr auto;align-items:center;gap:6px;padding:6px;font-size:11px;display:grid}.review-action-btn{background:var(--btn-bg);color:var(--text);border:1px solid var(--btn-border);border-radius:6px;margin:0 3px 3px 0;padding:4px 7px;font-size:11px}.review-action-btn:hover{background:var(--btn-hover)}.estimate-version-list{gap:5px;margin-top:6px;display:grid}.estimate-version-row{background:var(--metric-bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:54px 1fr auto;align-items:center;gap:6px;padding:6px;font-size:11px;display:grid}.estimate-version-row.active-version{color:#33322e;background:#e3eddd;border-color:#bad3ae}.version-actions button{margin:0 0 0 4px;padding:4px 7px;font-size:11px}.bom-version-row.active-version{color:#33322e;background:#e3eddd;border-color:#bad3ae}.bom-version-row.unlinked-version{color:#33322e;background:#f3e8cc;border-color:#ddc98f}.bom-version-row .version-label{color:inherit;font-weight:600}.bom-version-row .version-meta{color:var(--text-soft);text-overflow:ellipsis;min-width:0;line-height:1.25;overflow:hidden}.bom-version-row .version-meta strong{color:inherit;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.bom-version-row button{margin:0;padding:4px 7px;font-size:11px}:root[data-theme=dark] .estimate-version-row.active-version,:root[data-theme=dark] .bom-version-row.active-version{color:#e8f0e2;background:#3a4a35;border-color:#4e6247}:root[data-theme=dark] .bom-version-row.unlinked-version{color:#f0e8d2;background:#4a4128;border-color:#6b5c34}#bomVersionsPanel{grid-column:span 2}#bomVersionsList{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:6px;max-height:180px;display:grid;overflow-y:auto}#bomVersionsList .bom-version-row{flex-direction:column;grid-template-columns:none;align-items:stretch;gap:3px;display:flex}#bomVersionsList .bom-version-row .version-meta{white-space:normal}#bomVersionsList .bom-version-row .version-meta strong{white-space:normal;word-break:break-word;text-overflow:clip;overflow:visible}#bomVersionsList .bom-version-row button{width:100%}.files-section-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:8px;display:grid}.file-panel{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:12px}.file-panel h2{margin:0 0 6px;font-size:13px}.file-panel .small{margin-bottom:8px}.file-placeholder-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.file-placeholder-list div{background:var(--section-bg);border:1px dashed var(--border-strong);border-radius:8px;padding:8px;font-size:12px}.file-placeholder-list strong{margin-bottom:2px;font-size:12px;display:block}.storage-path{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;display:block;overflow:hidden}@media (width<=1200px){.compact-field-grid.four-col,.mock-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.main-content{width:100%;margin-left:0;padding:12px}.top-menu{left:0}.compact-field-grid.two-col,.compact-field-grid.four-col,.compact-field-grid.three-cols-fixed{grid-template-columns:1fr}.wide-2{grid-column:auto}.bom-edit-drawer{width:100%}}.bom-supplier-group{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.bom-supplier-group summary{cursor:pointer;justify-content:space-between;gap:10px;padding:9px 11px;font-size:13px;font-weight:600;list-style:none;display:flex}.bom-supplier-group summary::-webkit-details-marker{display:none}.bom-supplier-group summary:before{content:"▸";color:var(--muted);margin-right:6px}.bom-supplier-group[open] summary:before{content:"▾"}.bom-supplier-group summary span:last-child{color:var(--muted);font-weight:400}.bom-supplier-group[open] summary{border-bottom:1px solid var(--border);margin-bottom:8px}.bom-supplier-group .table-wrap{max-height:280px;margin:0 10px 10px}.polytec-finish-breakdown{margin:-4px 0 3px}.polytec-finish-breakdown-row{color:var(--muted);justify-content:space-between;gap:8px;padding:1px 0 1px 10px;font-size:11px;display:flex}.dev-disclosure{margin-top:6px}.dev-disclosure summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:2px 0;font-size:10.5px;font-weight:600;list-style:none}.dev-disclosure summary::-webkit-details-marker{display:none}.dev-disclosure summary:before{content:"▸ ";color:var(--muted)}.dev-disclosure[open] summary:before{content:"▾ "}.dev-disclosure[open] summary{margin-bottom:6px}.dev-disclosure .compact-field-grid{margin-top:0}.cutlist-summary{margin-bottom:8px;font-size:12.5px;font-weight:600}.cutlist-unfit{color:#b3402e;margin-bottom:8px;font-size:12.5px}.cutlist-sheet{border:1px solid var(--border);background:#fdfcf8;border-radius:8px;margin-bottom:10px;padding:10px}.cutlist-sheet svg{width:100%;height:auto;display:block}.cutlist-caption{color:#3a3a35;margin-bottom:6px;font-size:12.5px;font-weight:600}.cutlist-editbar{background:var(--section-bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:12.5px;display:flex}.cutlist-editbar button{margin:0;padding:4px 10px;font-size:12px}.cutlist-sheet.drop-target{outline-offset:2px;outline:2px dashed #3d7a46}g.cutlist-piece{cursor:grab;touch-action:none}g.cutlist-piece.dragging{opacity:.45}g.cutlist-piece.selected rect,g.cutlist-piece.selected polygon{stroke:#a5713c;stroke-width:3px}.cutlist-drag-ghost{z-index:500;pointer-events:none;color:#2c2c28;box-shadow:0 6px 18px var(--overlay-shadow);opacity:.92;white-space:nowrap;background:#f6f3ea;border:1.5px solid #3a3a35;border-radius:6px;padding:4px 8px;font-size:12px;position:fixed}.rail-stick-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.rail-stick-cap{color:var(--text-soft);flex:none;min-width:34px;font-size:11px;font-weight:700}.rail-stick{background:#efece3;border:1.5px solid #3a3a35;border-radius:4px;flex:auto;height:26px;position:relative;overflow:hidden}.rail-cut{color:#2c2c28;white-space:nowrap;background:#f6f3ea;border-right:2px solid #3a3a35;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.rail-left{background:#3d7a4629;border-left:1.5px dashed #3d7a46;position:absolute;top:0;bottom:0;right:0}.rail-colour-block{border:1px solid var(--border);background:var(--section-bg);border-radius:6px;margin-bottom:8px;padding:8px 10px}.rail-colour-block+.rail-colour-block{margin-top:0}.rail-colour-head{margin-bottom:4px}.light-results{margin-top:4px}.light-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:700}.light-run{border:1px solid var(--border);background:var(--section-bg);border-radius:6px;margin-bottom:4px}.light-run>summary{cursor:pointer;align-items:center;gap:10px;padding:6px 9px;font-size:13px;font-weight:600;display:flex}.light-run-name{flex:auto}.light-run-del{border-radius:6px;flex:none;margin:0;padding:2px 9px;font-size:12px}.light-comp{border-top:1px solid var(--border);align-items:center;gap:10px;padding:5px 9px 5px 22px;font-size:13px;display:flex}.light-comp-name{flex:auto}.light-comp-sku{color:var(--muted);font-variant-numeric:tabular-nums;background:var(--metric-bg);border-radius:4px;margin-left:2px;padding:1px 5px;font-size:11px}.light-comp-qty{color:var(--muted);font-size:12px}.light-comp-money{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;flex:none}.light-comp-actions{flex:none;gap:4px;display:flex}.light-info,.light-edit{border-radius:6px;margin:0;padding:2px 9px;font-size:12px}.light-results>.light-comp{border:1px solid var(--border);background:var(--section-bg);border-radius:6px;margin-bottom:4px;padding-left:9px}.cutlist-notes{color:#2c2c28;background:#b8860b1a;border:1px solid #b8860b;border-radius:6px;margin-top:6px;padding:6px 9px;font-size:12px;line-height:1.55}.cutlist-notes summary{cursor:pointer;font-weight:600;list-style-position:inside}.cutlist-notes[open] summary{margin-bottom:4px}.cutlist-note-count{color:#8a6d1f;font-weight:600}.row-label-badge{background:var(--accent-soft,#a5713c24);color:#a5713c;border:1px solid var(--accent-soft-border,#a5713c59);white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:4px;padding:1px 8px;font-size:10.5px;font-weight:700;display:inline-block}.row-comment{color:#b8860b;white-space:normal;max-width:420px;margin-top:2px}td.polytec-item-code{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.bom-note-cell{white-space:normal;max-width:340px}.gm-warning{color:#8a6508;background:#b8860b1f;border:1px solid #b8860b73;border-radius:7px;margin-top:7px;padding:7px 9px;font-size:12px;line-height:1.35}#newVersionBanner{z-index:9999;background:var(--dark);color:var(--bg);box-shadow:0 6px 24px var(--overlay-shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}#newVersionBanner button{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:999px;margin:0;padding:5px 12px}tr.bom-row-nocost>td{background:#b8860b1f}tr.bom-row-nocost>td:first-child{box-shadow:inset 3px 0 #b8860b}.nocost-badge{color:#fff;letter-spacing:.02em;vertical-align:middle;white-space:nowrap;background:#b8860b;border-radius:999px;margin-left:5px;padding:0 6px;font-size:10px;font-weight:700;display:inline-block}#bomNoCostChipCount{font-variant-numeric:tabular-nums;opacity:.85}.profit-nocost-warn{background:#b8860b1f;border-left:3px solid #b8860b;border-radius:4px;margin-top:6px;padding:6px 8px}.profit-nocost-warn strong,.profit-margin-warn{color:#b8860b}label.inline-check{color:var(--text);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}label.inline-check input{flex:none;width:auto;margin:0}#newerImportPopup{z-index:9999;color:#f6f4ef;max-width:min(560px,92vw);box-shadow:0 6px 24px var(--overlay-shadow);background:#2b2a27;border-left:4px solid #e0a01e;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:13px;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}#newerImportPopup #newerImportPopupSwitch{color:#fff;white-space:nowrap;background:#b8860b;border:1px solid #b8860b;border-radius:999px;margin:0;padding:5px 12px}#newerImportPopup #newerImportPopupDismiss{color:#f6f4ef;opacity:.65;background:0 0;border:none;border-radius:6px;margin:0;padding:2px 7px;font-size:15px;line-height:1}#newerImportPopup #newerImportPopupDismiss:hover{opacity:1}.inc-gst-total{border-top:1px solid var(--border);margin-top:5px;padding-top:7px}.inline-status-select{width:auto;min-height:24px;padding:2px 6px;font-size:11px}.collapsible-table summary{cursor:pointer;color:var(--text-soft);padding:8px 2px;font-size:12px;font-weight:600}.collapsible-table summary:hover{color:var(--text)}.collapsible-table[open] summary{margin-bottom:6px}.quote-outline{gap:2px;font-size:12px;display:grid}.outline-item{cursor:pointer;color:var(--text-soft);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:5px 7px;display:flex}.outline-item:hover{background:var(--btn-hover)}.outline-child{margin-left:10px}.outline-child.open{color:var(--text);background:var(--metric-bg);font-weight:600}.outline-check{border:1.5px solid var(--border-strong);color:#0000;box-sizing:border-box;border-radius:999px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:9px;line-height:1;display:inline-flex}.outline-check:hover{border-color:var(--success)}.outline-item.done .outline-check{background:var(--success);border-color:var(--success);color:#fff}.outline-item.done .outline-label{color:var(--success)}.outline-item.edited .outline-check{background:var(--warn);border-color:var(--warn);color:#fff}.outline-item.edited .outline-label{color:var(--warn)}.contract-total-row td{border-top:2px solid var(--border-strong);font-size:13px}.job-detail-layout{grid-template-columns:210px minmax(0,1fr) 290px;align-items:start;gap:12px;display:grid}.job-detail-layout.diary-hidden{grid-template-columns:210px minmax(0,1fr)}.job-detail-layout.diary-hidden .job-diary-rail{display:none}.quote-outline-rail{position:sticky;top:72px}.quote-outline-rail .job-panel-card{margin-bottom:0}.lifecycle-tabs{display:none}.job-diary-rail{position:sticky;top:56px}.job-diary-rail .job-panel-card{flex-direction:column;max-height:calc(100vh - 72px);margin-bottom:0;display:flex}.job-diary-filters{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.job-diary-filter{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:4px 10px;font-size:11px}.job-diary-filter:hover:not(.active){background:var(--btn-hover)}.job-diary-filter.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}@media (width<=1100px){.job-detail-layout{grid-template-columns:1fr}.quote-outline-rail,.job-diary-rail{position:static}.job-diary-rail .job-panel-card{max-height:480px}}@media (width<=900px){#quoteOutlinePanel{padding:6px 8px}#quoteOutlinePanel .job-panel-eyebrow{display:none}#quoteOutline.quote-outline{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:4px;display:flex;overflow-x:auto}#quoteOutline .outline-item{white-space:nowrap;flex:none}#quoteOutline .outline-check{margin-left:4px}}.job-setup-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:12px;display:grid}.job-setup-grid .job-panel-card{margin-bottom:0}.job-topbar{background:0 0;border:none;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:9px;margin-bottom:0;padding:0;display:flex}.job-topbar-back{color:var(--mut);flex:none;font-size:12.5px;font-weight:600;text-decoration:none}.job-topbar-back:hover{color:var(--acc)}.job-topbar h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:800}.job-topbar-address{color:var(--mut);font-size:12.5px}.job-topbar .autosave-indicator{margin-left:auto}.job-topbar-undo{border:1px solid var(--line);background:var(--card);color:var(--tx);border-radius:99px;margin:0;padding:5px 14px;font-size:12px;font-weight:600}.job-topbar-undo:hover:not(:disabled){border-color:var(--acc);color:var(--acc);background:var(--card)}.job-topbar #status.job-status-inline{min-width:0;color:var(--mut);background:0 0;border:none;flex-basis:100%;margin:0;padding:0;font-size:12px}.job-topbar #status.job-status-inline.success{color:var(--ok)}.job-topbar #status.job-status-inline.error{color:var(--danger)}.job-topbar #status.job-status-inline.working{color:var(--accText)}.workflow-progress-bar{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:8px;gap:0;margin:0;padding:0;overflow:hidden;display:flex!important}.workflow-progress-step{border-right:1px solid var(--lineSoft);color:var(--tx);white-space:nowrap;cursor:pointer;background:0 0;flex:1;align-items:center;gap:8px;min-width:0;padding:10px 16px;font-size:12.5px;font-weight:600;display:flex}.workflow-progress-step:last-child{border-right:none}.workflow-progress-step:hover{background:var(--card2)}.workflow-progress-step .step-dot{background:var(--lineSoft);width:22px;height:22px;color:var(--mut);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.workflow-progress-step.complete{color:var(--tx)}.workflow-progress-step.complete .step-dot{background:var(--ok);color:#fff}.workflow-progress-step.pending{color:var(--mut)}.workflow-progress-step.active{background:var(--accSoft);color:var(--accText);font-weight:700}.workflow-progress-step.active:hover{background:var(--accSoft)}.workflow-progress-step.active .step-dot{background:var(--acc);color:#fff}.workflow-progress-step b{color:var(--accText)}.workflow-progress-step{transition:background-color .14s,color .14s}.workflow-progress-step .step-label{white-space:nowrap;opacity:1;max-width:160px;transition:max-width .22s,opacity .16s,margin-left .22s;display:inline-block;overflow:hidden}.workflow-progress-step.active{flex:200px;padding:10px 18px}.workflow-progress-step.pending{flex:0 auto}.workflow-progress-step.complete{flex:none;justify-content:center;padding:10px 12px}.workflow-progress-step.complete .step-label{opacity:0;max-width:0;margin-left:0}@media (prefers-reduced-motion:reduce){.workflow-progress-step,.workflow-progress-step .step-label{transition:none}}@media (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.workflow-progress-bar{overflow-x:auto}.workflow-progress-step.active{flex:170px}.workflow-progress-step.pending{min-width:100px}}.workflow-progress-compact{display:none}@media (width<=600px){.workflow-progress-bar{display:none!important}.workflow-progress-compact{background:var(--card);border:1px solid var(--line);width:100%;box-shadow:var(--cardShadow);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;display:flex!important}.workflow-progress-compact .wpc-dot{background:var(--accSoft);width:26px;height:26px;color:var(--accText);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.workflow-progress-compact.declined .wpc-dot{background:var(--warnSoft);color:var(--danger)}.workflow-progress-compact .wpc-text{flex-direction:column;gap:1px;min-width:0;display:flex}.workflow-progress-compact .wpc-label{color:var(--tx);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.workflow-progress-compact .wpc-count{color:var(--mut);font-size:11px;font-weight:600}}.workflow-progress-step.warranty-open{border-color:var(--danger);color:var(--danger);background:#fdeceb;font-weight:800}.workflow-progress-step.warranty-open .step-dot{background:var(--danger);color:#fff}.workflow-progress-step.warranty-clean{color:#3f6236;background:#e3eddd;border-color:#bad3ae}.workflow-progress-step.warranty-clean .step-dot{color:#fff;background:#5c8a54}.workflow-progress-step.warranty-expired{background:var(--lineSoft);color:var(--mut);border-color:#0000}.workflow-progress-step.warranty-expired .step-dot{background:var(--line);color:var(--mut)}:root[data-theme=dark] .workflow-progress-step.warranty-open{border-color:var(--danger);color:#ffb4a8;background:#4a2b27}:root[data-theme=dark] .workflow-progress-step.warranty-open .step-dot{background:var(--danger);color:#fff}:root[data-theme=dark] .workflow-progress-step.warranty-clean{color:#b9d6af;background:#3a4a35;border-color:#4e6247}:root[data-theme=dark] .workflow-progress-step.warranty-clean .step-dot{color:#fff;background:#5c8a54}.workflow-progress-compact.claim-open .wpc-dot{background:var(--danger);color:#fff}.workflow-progress-compact.claim-clean .wpc-dot{color:#fff;background:#5c8a54}.workflow-progress-compact.claim-expired .wpc-dot{background:var(--line);color:var(--mut)}.workflow-progress-step.proposal-blocked{border-color:var(--danger);color:var(--danger);background:#fdeceb;font-weight:800}.workflow-progress-step.proposal-blocked .step-dot{background:var(--danger);color:#fff}:root[data-theme=dark] .workflow-progress-step.proposal-blocked{border-color:var(--danger);color:#ffb4a8;background:#4a2b27}:root[data-theme=dark] .workflow-progress-step.proposal-blocked .step-dot,.workflow-progress-compact.blocked .wpc-dot{background:var(--danger);color:#fff}.quote-summary-strip{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);opacity:1;pointer-events:auto;border-radius:8px;align-items:stretch;gap:0;margin:0;padding:0;display:flex;position:static;overflow-x:auto;transform:none}.strip-item{border-right:1px solid var(--lineSoft);white-space:nowrap;flex-direction:column;gap:2px;padding:10px 18px;display:flex}.strip-item:last-child{border-right:none}.strip-item span{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.strip-item strong{color:var(--tx);font-size:17px;font-weight:800}.strip-total{background:var(--card2)}.strip-total strong{color:var(--accText)}.strip-sep{display:none}.lifecycle-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin-bottom:0;display:flex!important}.lifecycle-tab{color:var(--mut);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;border-radius:0;margin:0 0 -1px;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:700}.lifecycle-tab:hover:not(.active){color:var(--tx);background:0 0}.lifecycle-tab.active{color:var(--accText);border-bottom-color:var(--acc);background:0 0}.job-detail-layout.not-estimate{grid-template-columns:minmax(0,1fr) 300px}.job-detail-layout.not-estimate.diary-hidden{grid-template-columns:minmax(0,1fr)}.job-detail-layout.not-estimate .quote-outline-rail{display:none}.outline-item.later .outline-check{background:var(--warnC);border-color:var(--warnC);color:#fff}.outline-item.later .outline-label{color:var(--warnC)}.section-complete-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.section-complete-hint{color:var(--mut);font-size:12.5px}.finish-lock-btn{background:var(--ok);color:#fff;border:none;border-radius:6px;margin:0;padding:8px 18px;font-size:12.5px;font-weight:700}.finish-lock-btn:hover:not(:disabled){opacity:.9}.finish-later-btn{border:1px solid var(--warnC);background:var(--warnSoft);color:var(--warnC);border-radius:6px;margin:0;padding:8px 18px;font-size:12.5px;font-weight:700}.finish-later-btn:hover:not(:disabled){opacity:.85}.section-complete-note{color:var(--mut);font-size:12px}.job-diary-add-btn{background:var(--tx);color:var(--bg);border:none;border-radius:6px;margin:0;padding:7px 14px;font-size:12.5px;font-weight:700}.job-diary-add-btn:hover:not(:disabled){opacity:.9}.job-diary-reply-btn{border:1px solid var(--border);color:var(--tx);background:0 0;border-radius:6px;margin:0;padding:4px 10px;font-size:11.5px;font-weight:600}.job-diary-reply-btn:hover{background:var(--btn-hover)}.job-diary-reply-send{background:var(--tx);color:var(--bg);border:none;border-radius:6px;margin:0;padding:5px 12px;font-size:12px;font-weight:700}.job-diary-reply-send:hover:not(:disabled){opacity:.9}.job-diary-reply-form textarea{border:1px solid var(--border);font:inherit;background:var(--bg);color:var(--tx);border-radius:6px;padding:6px 8px}.estimate-subtabs{display:none}.estimate-stagebar{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.estimate-stage{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:7px 14px;font-size:12.5px;font-weight:600}.estimate-stage:hover:not(.active){background:var(--btn-hover)}.estimate-stage.active{background:var(--dark);color:var(--bg);border-color:var(--dark)}.stage-badge{background:var(--danger,#c0392b);color:#fff;text-align:center;border-radius:999px;min-width:17px;margin-left:4px;padding:1px 5px;font-size:10.5px;font-weight:700;line-height:1.4;display:inline-block}.stage-badge.hidden{display:none}.outline-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 3px;padding-left:2px;font-size:10px;font-weight:700}#quoteOutline .outline-group:first-child{margin-top:0}.mobile-only-tab,.jms-phone-note{display:none}.jms-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:8px;margin-bottom:10px;padding:12px 14px}.jms-contact-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.jms-contact-name{color:var(--tx);font-size:16px;font-weight:800}.jms-contact-actions{flex:none;gap:8px;display:flex}.jms-icon-btn{background:var(--card2);border:1px solid var(--line);border-radius:99px;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;text-decoration:none;display:flex}.jms-money-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.jms-money-tile{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:8px;padding:10px 14px}.jms-money-tile span{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.jms-money-tile strong{color:var(--tx);font-size:17px;font-weight:800}.jms-alert{border:1px solid var(--danger);cursor:pointer;background:#fdeceb;border-radius:8px;flex-direction:column;gap:2px;margin-bottom:10px;padding:10px 14px;display:flex}:root[data-theme=dark] .jms-alert{background:#4a2b27}.jms-alert strong{color:var(--danger)}.jms-section-head{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:700}.jms-list-row{border-top:1px solid var(--lineSoft);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.jms-list-row:first-of-type{border-top:none}.jms-done-btn{border:1px solid var(--line);background:var(--card2);color:var(--tx);cursor:pointer;border-radius:6px;margin:0;padding:5px 12px;font-size:12px;font-weight:700}.jms-desktop-note{color:var(--mut);text-align:center;padding:4px 6px 0}@media (width<=600px){.mobile-only-tab{align-items:center;display:inline-flex!important}.jms-phone-note{color:var(--danger);border:1px solid var(--danger);background:#fdeceb;border-radius:8px;margin-bottom:10px;padding:8px 12px;font-weight:600;display:block}:root[data-theme=dark] .jms-phone-note{background:#4a2b27}.job-detail-layout{flex-direction:column;align-items:stretch!important;display:flex!important}.quote-outline-rail{display:none!important}.job-workspace{order:1}.job-diary-rail{order:2;position:static}.job-diary-rail .job-panel-card{max-height:min(70vh,620px)!important}#jobActivityList{min-height:200px!important}}.quote-lock-pill{background:var(--warn);color:#fff;border-color:var(--warn);font-weight:600}body.quote-locked .estimate-tab :is(button,input,select,textarea){pointer-events:none;opacity:.55}body.quote-locked .estimate-tab :is([id^=download],.bom-filter,[id$=Filter],[id$=SearchFilter],[id$=SortSelect],[id*=Filters],#finaliseQuoteButton){pointer-events:auto;opacity:1}body.quote-locked #primaryActionsPanel :is(button,input),body.quote-locked .bom-edit-drawer :is(button,input,select,textarea){pointer-events:none;opacity:.55}body.quote-locked .bom-edit-drawer #closeBomDrawerButton,body.quote-locked .bom-edit-drawer #closeBomDrawerButton2{pointer-events:auto;opacity:1}.proposal-preview{gap:10px;display:grid}.proposal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;display:flex}.proposal-section{border:1px solid var(--border);border-radius:10px;padding:10px}.proposal-section-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.proposal-section-head h3{margin:0;font-size:13px}.proposal-section-head span{color:var(--muted);font-size:11px}.proposal-subtotal{justify-content:flex-end;gap:10px;margin-top:6px;font-size:12px;display:flex}.proposal-subtotal span{color:var(--muted)}.proposal-totals{background:var(--section-bg);border-radius:10px;justify-items:end;gap:4px;padding:8px 10px;display:grid}.proposal-totals div{gap:16px;font-size:12px;display:flex}.proposal-totals span{color:var(--muted);text-align:right;min-width:80px}.proposal-grand-total{font-size:14px!important}.proposal-grand-total strong{font-family:var(--serif);font-size:16px}.proposal-purpose{border-top:1px solid var(--border);padding-top:8px}.proposal-purpose h3{margin:8px 0 4px;font-size:13px}.selection-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.selection-tile{border:1px solid var(--border);background:var(--panel);border-radius:10px;overflow:hidden}.selection-tile img{object-fit:cover;width:100%;height:110px;display:block}.selection-swatch-placeholder{background:var(--metric-bg);width:100%;height:110px;color:var(--muted);letter-spacing:.05em;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:flex}.selection-meta{gap:2px;padding:8px;display:grid}.selection-meta strong{font-size:12px}.selection-meta span{color:var(--muted);font-size:11px}.outline-check-hidden{background:0 0!important;border-color:#0000!important}.proposal-shares-list{gap:6px;margin-top:8px;display:grid}.proposal-share-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;display:flex}.proposal-share-row.revoked{opacity:.55}.proposal-share-row .share-meta{gap:1px;font-size:12px;display:grid}.proposal-share-row .share-meta span{color:var(--muted);font-size:11px}.proposal-share-row .share-actions button{margin:0 0 0 4px;padding:4px 8px;font-size:11px}.proposal-share-row .share-meta .share-sent{color:#2f6a34;font-size:11.5px;font-weight:700}.proposal-share-row .share-meta .share-notsent{color:#9a7b22;font-weight:600}:root[data-theme=dark] .proposal-share-row .share-meta .share-sent{color:#8fd39a}:root[data-theme=dark] .proposal-share-row .share-meta .share-notsent{color:#d8c07a}.portal-vis-btn.on{color:#2f6a34;font-weight:600}:root[data-theme=dark] .portal-vis-btn.on{color:#8fd39a}.render-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-top:8px;display:grid}.render-tile{border:1px solid var(--border);aspect-ratio:1;background:var(--input-bg);cursor:pointer;border-radius:10px;margin:0;padding:0;position:relative;overflow:hidden}.render-tile img{object-fit:cover;width:100%;height:100%;display:block}.render-tile.on-proposal{border-color:#3f6236;box-shadow:0 0 0 2px #3f623633}.render-tile .render-badge{color:#fff;background:#3f6236;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex;position:absolute;top:4px;right:4px}.render-tile .render-del-x{color:#fff;cursor:pointer;background:#1e1c18b8;border:0;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;margin:0;padding:0;font-size:15px;line-height:1;display:flex;position:absolute;top:4px;left:4px}.render-tile .render-del-x:hover{background:#9a2f2f}.render-tile .render-del-x.armed{background:#9a2f2f;transform:scale(1.15);box-shadow:0 0 0 2px #9a2f2f66}.render-noimg{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.render-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:10px;display:grid}.render-gallery-tile{border:1px solid var(--border);background:var(--input-bg);border-radius:12px;overflow:hidden}.render-gallery-tile.on-proposal{border-color:#3f6236;box-shadow:0 0 0 2px #3f623833}.render-gallery-tile img{object-fit:cover;width:100%;height:170px;display:block}.render-gallery-tile .render-noimg{height:170px}.render-gallery-actions{gap:6px;padding:8px;display:flex}.render-gallery-actions button{flex:1;margin:0;padding:5px 6px;font-size:12px}.render-gallery-tile img{cursor:zoom-in}.render-viewer{z-index:500;background:#141311eb;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0}.render-viewer.hidden{display:none}.render-viewer-bar{box-sizing:border-box;color:#f5f3ef;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.render-viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.render-viewer-count{color:#c9c4bb}.render-viewer-dl{color:#1e1c18;white-space:nowrap;background:#f5f3ef;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.render-viewer-hero{color:#f5f3ef;white-space:nowrap;background:0 0;border:1px solid #6b675e;border-radius:8px;min-height:0;margin-right:8px;padding:7px 13px;font-size:13px;font-weight:600}.render-viewer-hero.on{background:var(--accent);border-color:var(--accent);color:#fff}.render-viewer-dl:not([href]){opacity:.5;pointer-events:none}.render-viewer-close{color:#f5f3ef;background:0 0;border:1px solid #6b6559;border-radius:999px;flex:none;width:34px;height:34px;margin:0;padding:0;font-size:18px;line-height:1}.render-viewer-stage{box-sizing:border-box;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0 14px 16px;display:flex}.render-viewer-stage img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.render-viewer-nav{color:#f5f3ef;background:#00000073;border:1px solid #6b6559;border-radius:999px;width:44px;height:44px;margin:0;padding:0;font-size:26px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.render-viewer-nav.prev{left:12px}.render-viewer-nav.next{right:12px}.render-viewer-nav.hidden{display:none}@media (width<=600px){.render-viewer-nav{width:38px;height:38px;font-size:22px}.render-viewer-title{font-size:13px}}.contract-lock-bar,.proposal-lock-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.contract-lock-bar button,.proposal-lock-bar button{margin:0}.contract-lock-pill{color:#3f6236;background:#e3eddd;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}:root[data-theme=dark] .contract-lock-pill{color:#b9d6af;background:#3a4a35}.sched-locked{color:#3f6236;font-weight:600}:root[data-theme=dark] .sched-locked{color:#8fd39a}.sched-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.sched-actions button{margin:0}.sched-warn{color:#9a2f2f;background:#f6e6e0;border:1px solid #e6b9a8;border-radius:8px;margin-bottom:6px;padding:6px 9px;font-weight:600}.sched-ok{color:#2f6a34;font-weight:600}.contract-price-compare{border:1px solid var(--border-strong);border-radius:8px;margin:0 0 10px;padding:8px 10px}.cpc-row{justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;font-size:13px;display:flex}.cpc-row>span{flex-direction:column;display:flex}.cpc-note{color:var(--mut);font-size:11px}.cpc-sum{border-top:1px solid var(--border-strong);margin-top:3px;padding-top:5px;font-weight:700}.cpc-off strong{color:var(--danger)}.sched-flag{color:#9a7b22;margin-right:2px;font-weight:600}:root[data-theme=dark] .sched-warn{color:#f0b8a6;background:#3a2a24;border-color:#5c3d33}:root[data-theme=dark] .sched-ok{color:#8fd39a}:root[data-theme=dark] .sched-flag{color:#d8c07a}.collapse-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.collapse-header h2{margin:0}.collapse-toggle{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text);border-radius:999px;flex:none;margin:0;padding:4px 11px;font-size:12px}.customer-proposal-body{background:var(--bg)}.customer-proposal-page{max-width:820px;margin:0 auto;padding:28px 18px 40px}.customer-proposal-header{text-align:center;border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:22px}.customer-proposal-logo{box-sizing:border-box;background:#fff;border-radius:12px;max-width:120px;margin:0 auto 10px;padding:8px;display:block}.customer-proposal-header h1,.customer-proposal-h2{font-family:Montserrat,Albert Sans,sans-serif}.customer-proposal-header h1{letter-spacing:-.01em;margin:0 0 8px;font-size:32px;font-weight:600}.customer-proposal-jobline{color:var(--mut);gap:2px;font-size:14px;display:grid}.customer-proposal-h2{margin:26px 0 12px;font-size:18px}.customer-proposal-loading,.customer-proposal-message{text-align:center;color:var(--muted);padding:60px 20px;font-size:15px}.customer-accept-box{border:1px solid var(--accent-soft-border);background:var(--accent-soft);border-radius:12px;margin-top:18px;padding:16px}.customer-accept-box h3{margin:0 0 4px}.customer-accept-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.customer-accept-row input{flex:1;min-width:200px;padding:9px;font-size:14px}.customer-accept-row button{background:var(--accent);border-color:var(--accent);color:#fff;margin:0;padding:9px 16px;font-size:14px;font-weight:600}.customer-accept-row button:hover:not(:disabled){background:var(--accent-hover)!important}.customer-accept-error{color:var(--danger);margin-top:6px}.customer-accept-done{border:1px solid var(--ok);background:var(--okSoft);color:var(--tx);border-radius:12px;margin-top:18px;padding:14px 16px;font-weight:600}.customer-proposal-footer{text-align:center;color:var(--muted);margin-top:26px}.customer-proposal-page .proposal-preview .table-wrap{max-height:none}.card-summary{cursor:pointer;font-size:16px;font-weight:600;font-family:var(--serif)}details.card[open] .card-summary{margin-bottom:6px}.proposal-images-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:8px;display:grid}.proposal-image-tile{border:1px solid var(--border);border-radius:10px;position:relative;overflow:hidden}.proposal-image-tile img{object-fit:cover;width:100%;height:100px;display:block}.proposal-image-remove{color:#fff;background:#1e1c18b8;border:0;border-radius:999px;width:22px;height:22px;margin:0;padding:0;font-size:13px;line-height:1;position:absolute;top:4px;right:4px}.customer-design-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0;display:grid}.customer-design-gallery img{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:100%;height:120px;display:block}.design-disclaimer{color:var(--muted);margin:8px 0 4px;font-style:italic}.proposal-image-tile embed.design-pdf{pointer-events:none;width:100%;height:100px;display:block}.customer-design-gallery embed.design-pdf{border:1px solid var(--border);pointer-events:none;background:#fff;border-radius:10px;width:100%;height:120px;display:block}.design-pdf-tile{display:block;position:relative}.design-pdf-open{color:#fff;background:#1e1c18c7;border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;bottom:8px;left:8px}.email-modal{z-index:400;background:#1e1c1873;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.email-modal-card{background:var(--panel);color:var(--text);border:1px solid var(--border);width:100%;max-width:720px;max-height:90vh;box-shadow:0 18px 60px var(--overlay-shadow);border-radius:14px;overflow:auto}.email-modal-body{padding:14px}.bom-info-modal-card{max-width:560px}.bom-info-grid{flex-direction:column;gap:0;display:flex}.bom-info-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:9px 0;display:flex}.bom-info-row:last-child{border-bottom:0}.bom-info-label{color:var(--muted);flex:none;font-size:13px}.bom-info-value{text-align:right;word-break:break-word;font-size:13px}.poly-stock-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 9px;display:grid}.poly-stock-grid label{display:block}.poly-stock-grid select,.poly-stock-grid input{box-sizing:border-box;width:100%}.poly-edges-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px;display:grid}.poly-edges-grid span{color:var(--muted);margin-bottom:1px;font-size:10px;display:block}.poly-edges-grid select{box-sizing:border-box;width:100%;padding:6px 4px}@media (width<=560px){#polytecStockModal.email-modal{padding:8px}#polytecStockModal .poly-stock-body{padding:12px}#polytecStockModal .poly-stock-body select,#polytecStockModal .poly-stock-body input,#polytecStockModal .poly-stock-body textarea{font-size:16px}.poly-edges-grid{grid-template-columns:repeat(2,1fr)}}.mat-list{flex-direction:column;gap:6px;display:flex}.mat-row{border:1px solid var(--border);background:var(--panel);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.mat-name{flex:150px;min-width:0}.mat-name strong{font-size:13px;line-height:1.2;display:block}.mat-name .small{color:var(--muted)}.mat-stepper{align-items:center;gap:4px;display:flex}.mat-step-btn{border-radius:9px;width:36px;height:36px;min-height:36px;margin:0;padding:0;font-size:20px;line-height:1}.mat-qty{text-align:center;min-width:42px;font-size:16px;font-weight:700}.mat-qty.mat-below{color:var(--danger)}.mat-meta{color:var(--muted);flex:none;font-size:11px}.mat-save{min-width:52px;color:var(--muted)}.mat-mini{border-radius:8px;width:32px;height:32px;min-height:32px;margin:0;padding:0;font-size:13px}@media (width<=560px){.mat-name{flex:100%}.mat-meta{order:5}}.mat-row.mat-flash{animation:1.6s ease-out matFlash}@keyframes matFlash{0%{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}to{background:var(--panel);box-shadow:none}}.barcode-video-wrap{aspect-ratio:4/3;background:#000;border-radius:10px;width:100%;position:relative;overflow:hidden}.barcode-video-wrap video{object-fit:cover;width:100%;height:100%;display:block}.barcode-reticle{pointer-events:none;border:2px solid #ffffffe6;border-radius:10px;position:absolute;inset:22% 12%}@media (width<=560px){#barcodeScanModal .email-modal-body input{font-size:16px}}.profit-panel{border-top:1px solid var(--border);margin-top:8px;padding-top:6px}.profit-panel>summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.profit-panel[open]>summary{margin-bottom:5px}.profit-panel .summary-total strong{color:var(--success);font-size:17px}.proposal-value-row input{min-height:auto;padding:3px 5px}.email-body-editor{border:1px solid var(--input-border);background:var(--input-bg);border-radius:8px;min-height:220px;max-height:44vh;padding:12px;font-size:13px;line-height:1.45;overflow:auto}.email-body-editor:focus{outline:2px solid var(--focus-ring)}#emailSendButton{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}#emailSendButton:hover:not(:disabled){background:var(--accent-hover)!important}#composeBody{font-size:13px;line-height:1.45}#composeSendButton{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}#composeSendButton:hover:not(:disabled){background:var(--accent-hover)!important}.compose-attachment-option{padding:2px 0;font-size:12px;display:block}.compose-attachment-chip{background:var(--metric-bg);border-radius:999px;align-items:center;gap:3px;margin:2px 4px 2px 0;padding:2px 8px;font-size:12px;display:inline-flex}.compose-attachment-chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 0 0 2px;font-size:13px}.compose-main-grid{grid-template-columns:1fr 240px;align-items:start;gap:14px;margin-top:6px;display:grid}.compose-body-col textarea{box-sizing:border-box;resize:vertical;width:100%}.compose-files-col{border:1px solid var(--border,var(--input-border));background:var(--panel,var(--card));border-radius:8px;padding:10px}.compose-files-col label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px;font-size:11px;display:block}#composeAttachSearch{box-sizing:border-box;border:1px solid var(--border,var(--input-border));background:var(--bg);width:100%;color:var(--text);border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:12.5px}#composeAttachmentsExisting{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}@media (width<=640px){.compose-main-grid{grid-template-columns:1fr}.compose-files-col{order:2}}.share-selections{color:var(--accent-hover);font-size:11px;font-weight:600;display:block}.customer-proposal-page .proposal-section,.customer-proposal-page .selection-tile,.customer-proposal-page .table-wrap{border-color:var(--line);background:var(--card);box-shadow:var(--cardShadow)}.customer-proposal-page .proposal-totals{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);padding:14px 18px}.customer-proposal-page .proposal-grand-total strong{font-size:24px}.customer-proposal-eyebrow{color:var(--acc);text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-size:12px;font-weight:700}.customer-proposal-page .customer-proposal-header h1{letter-spacing:-.01em;font-weight:600}.customer-proposal-page .customer-proposal-h2{text-transform:uppercase;letter-spacing:.08em;color:var(--tx);font-size:14px;font-weight:700}.benchtop-options{border:1px solid var(--line);background:var(--card);border-radius:10px;gap:4px;padding:9px;display:grid}.benchtop-option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-weight:400;display:flex}.benchtop-option:has(input:checked){border-color:var(--acc);background:var(--accSoft)}.benchtop-option input{width:auto;min-height:0}.benchtop-option-label{flex:1;font-weight:600}.benchtop-option-price{color:var(--mut);font-size:13px}.benchtop-colour-row{margin-top:4px}#saveSelectionsButton{justify-self:start;margin-top:6px}#saveSelectionsStatus{color:var(--ok);font-weight:600}.benchtop-picker{border:1px solid var(--line);background:var(--card);border-radius:10px;gap:10px;margin-top:8px;padding:11px;display:grid}.benchtop-range-group{margin-bottom:10px}.benchtop-range-group:last-child{margin-bottom:0}.benchtop-range-head{border-bottom:1px solid var(--lineSoft);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;padding-bottom:4px;display:flex}.benchtop-range-head strong{font-family:Montserrat,Albert Sans,sans-serif;font-size:14px}.benchtop-colour-grid .swatch-tile.selected{border-color:var(--acc);box-shadow:0 0 0 2px var(--accSoft)}.benchtop-chosen-card{border:1px solid var(--line);background:var(--section-bg);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.benchtop-chosen-swatch{background:var(--metric-bg);border-radius:8px;flex:none;width:44px;height:44px;overflow:hidden}.benchtop-chosen-swatch img{object-fit:cover;width:100%;height:100%;display:block}.benchtop-chosen-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.benchtop-change-btn{cursor:pointer;color:#3a3833;background:#fff;border:1px solid #d9d5cc;border-radius:8px;flex:none;margin:0;padding:6px 11px;font-size:12.5px;font-weight:600}.benchtop-change-btn:hover{color:#ff713d;border-color:#ff713d}.benchtop-thickness-options{gap:4px;display:grid}#benchtopSelectionNote{color:var(--acc);font-weight:600}.customer-accept-box{background:var(--code-bg);color:var(--code-text);border:none;border-radius:14px;margin-top:22px;padding:22px 26px}.customer-accept-box h3{font-family:var(--serif);color:var(--code-text);font-size:20px}.customer-accept-box .small{color:color-mix(in srgb, var(--code-text) 70%, transparent)}.customer-accept-box label.small{align-items:flex-start;gap:7px;display:flex}.customer-accept-row input{background:var(--card);color:var(--tx);border:1px solid #0000;border-radius:8px}.customer-accept-row button,#saveSelectionsButton{background:var(--acc);border:1px solid var(--acc);color:#fff;border-radius:999px;font-weight:700}.customer-accept-row button:hover:not(:disabled),#saveSelectionsButton:hover:not(:disabled){background:var(--accent-hover)!important}.customer-accept-error{color:#ff8a75}.autosave-indicator{color:var(--muted);border:1px solid var(--border);background:var(--panel);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.autosave-dot{background:var(--good);border-radius:999px;flex:none;width:8px;height:8px;transition:background .2s}.autosave-indicator.is-saving .autosave-dot{background:var(--warn);animation:1s ease-in-out infinite autosavePulse}.autosave-indicator.is-error .autosave-dot{background:var(--danger)}.autosave-indicator.is-saving{color:var(--warn)}.autosave-indicator.is-error{color:var(--danger)}@keyframes autosavePulse{0%,to{opacity:1}50%{opacity:.35}}.strip-sep{background:var(--border);align-self:stretch;width:1px;margin:0 2px}.fixture-mode{gap:16px;margin-bottom:10px;display:flex}.fixture-radio{align-items:center;gap:6px;margin:0;font-weight:500;display:flex}.fixture-radio input{width:auto;min-height:0}.fixture-new-form{border:1px dashed var(--border-strong);border-radius:8px;margin-top:8px;padding:10px}.fixture-selection{margin-top:10px}.fixture-chosen{border:1px solid var(--accent-soft-border);background:var(--accent-soft);border-radius:8px;gap:2px;padding:9px 11px;display:grid}.fixture-chosen span{color:var(--text-soft)}.proposal-lines{color:var(--text-soft);margin:6px 0 2px;padding-left:18px;font-size:12px}.proposal-lines li{margin:2px 0}.kanban-columns{grid-template-columns:repeat(7,minmax(150px,1fr));gap:8px;display:grid;overflow-x:auto}.kanban-col{background:var(--section-bg);border:1px solid var(--border);border-radius:10px;min-height:120px;padding:6px}.kanban-col.drag-over{border-color:var(--accent);background:var(--accent-soft)}.kanban-col-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;padding:2px 4px 6px;font-size:11px;font-weight:700;display:flex}.kanban-count{background:var(--metric-bg);border-radius:999px;padding:1px 7px}.kanban-cards{gap:6px;display:grid}.kanban-card{background:var(--panel);border:1px solid var(--border);cursor:grab;border-radius:8px;gap:2px;padding:8px;font-size:11px;display:grid}.kanban-card strong{font-size:11px;line-height:1.3}.kanban-card span{color:var(--muted)}.kanban-days{font-size:10px}.kanban-stale{font-weight:700;color:var(--danger)!important}.kanban-follow{font-weight:600;color:var(--warn)!important}.quotes-chip{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:6px 11px}.quotes-chip:hover:not(.active){background:var(--btn-hover)}.quotes-chip.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}.days-badge{background:var(--metric-bg);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.days-badge.days-stale{color:#8e3323;background:#f4dcd5}:root[data-theme=dark] .days-badge.days-stale{color:#efac9c;background:#4d2c24}#quotesTableHead th.sorted,#woTableHead th.sorted{color:var(--accent-hover)}.jobs-subtabs{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.jobs-subtab-btn{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:7px 14px;font-size:13px}.jobs-subtab-btn:hover:not(.active){background:var(--btn-hover)}.jobs-subtab-btn.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}.assign-chip{background:var(--accent-soft);border:1px solid var(--accent-soft-border);width:22px;height:22px;color:var(--text);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.assign-chip-none{background:var(--metric-bg);border-color:var(--border);color:var(--muted)}table.alloc-off .alloc-col{display:none}.wo-kanban-columns{grid-template-columns:repeat(12,minmax(150px,1fr))}.wf-cell{cursor:pointer;vertical-align:top;min-width:96px}.wf-cell:hover{background:var(--row-hover)}.wf-event{background:var(--accent-soft);border:1px solid var(--accent-soft-border);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;margin:1px 0;padding:2px 6px;font-size:10px;overflow:hidden}.wf-cap-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:7px 0;display:flex}.wf-cap-row strong{min-width:140px}.wf-cap-chips{flex-wrap:wrap;gap:5px;display:flex}.wf-cap-chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;margin:0;padding:3px 10px;font-size:11px}.wf-cap-chip.on{color:#3f6236;background:#e3eddd;border-color:#bad3ae;font-weight:600}:root[data-theme=dark] .wf-cap-chip.on{color:#b9d6af;background:#3a4a35;border-color:#4e6247}.mobile-menu-button{display:none}@media (width<=900px){body{overflow-x:clip}.top-menu{z-index:120;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;height:auto;min-height:46px;padding:8px 10px;display:flex;position:sticky;top:0}.top-menu .pill,.top-menu .staff-pill{max-width:46vw;font-size:11px}.top-spacer{display:none}.mobile-menu-button{justify-content:center;align-items:center;min-width:40px;margin:0;font-size:17px;display:inline-flex}#sidebarToggle{display:none}.side-menu{border-right:1px solid var(--border);width:min(82vw,320px);padding:calc(14px + env(safe-area-inset-top,0px)) 12px 14px;z-index:210;box-shadow:8px 0 30px var(--overlay-shadow);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-103%)}.side-menu.mobile-open{transform:translate(0)}.mobile-nav-backdrop{z-index:205;opacity:0;pointer-events:none;background:#0f0e0c73;transition:opacity .18s;position:fixed;inset:0}.mobile-nav-backdrop.show{opacity:1;pointer-events:auto}.kanban-columns{overflow-x:auto}.main-content{width:100%;margin-left:0;padding:12px}.job-topbar{flex-wrap:wrap}.job-detail-layout,.job-detail-layout.not-estimate,.job-detail-layout.diary-hidden,.job-detail-layout.not-estimate.diary-hidden{grid-template-columns:1fr}.quote-outline-rail,.job-diary-rail{position:static}.job-diary-rail .job-panel-card{max-height:400px}.quote-summary-strip{flex-wrap:nowrap;gap:12px;padding:6px 10px;top:0;left:0;overflow-x:auto}.kanban-columns{grid-template-columns:repeat(7,minmax(200px,1fr))}.wo-kanban-columns{grid-template-columns:repeat(12,minmax(200px,1fr))}button,.top-tab{min-height:38px}input,select{min-height:36px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.files-section-grid{grid-template-columns:1fr}}@media (width<=1200px) and (width>=901px){.job-detail-layout{grid-template-columns:160px minmax(0,1fr)}.job-diary-rail{grid-column:1/-1;position:static}.job-diary-rail .job-panel-card{max-height:480px}}.carousel-overlay{z-index:600;background:#0f0e0ce0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.carousel-overlay img{border-radius:10px;max-width:88vw;max-height:86vh;box-shadow:0 20px 80px #00000080}.carousel-media{justify-content:center;align-items:center;display:flex}.carousel-pdf{background:#fff;border:0;border-radius:10px;width:88vw;height:86vh;box-shadow:0 20px 80px #00000080}.carousel-prev,.carousel-next{color:#fff;background:#ffffff24;border:0;border-radius:999px;width:52px;height:52px;margin:0;font-size:34px;position:absolute;top:50%;transform:translateY(-50%)}.carousel-prev{left:16px}.carousel-next{right:16px}.carousel-close{color:#fff;background:0 0;border:0;margin:0;font-size:34px;position:absolute;top:14px;right:18px}.carousel-count{color:#fff;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.customer-design-gallery a{cursor:zoom-in}.colour-picker-row{align-items:center;gap:8px;margin-top:4px;display:flex}.colour-picker-row select{flex:1;min-width:0}.swatch-open-btn{white-space:nowrap;cursor:pointer;color:#3a3833;background:#fff;border:1px solid #d9d5cc;border-radius:8px;margin:0;padding:7px 12px;font-weight:600}.swatch-open-btn:hover{color:#ff713d;border-color:#ff713d}.swatch-overlay{z-index:650;background:#0f0e0c99;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.swatch-modal{background:#fff;border-radius:14px;width:100%;max-width:760px;max-height:84vh;padding:16px;overflow:auto;box-shadow:0 24px 90px #0006}.swatch-modal-head{color:#2a2822;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px;display:flex}.swatch-modal-head .swatch-close{cursor:pointer;color:#6f6d63;background:0 0;border:0;margin:0;padding:0 4px;font-size:26px;line-height:1}.maud-tour-popover.driver-popover{background:var(--panel);color:var(--text);border:1px solid var(--border);box-shadow:0 10px 40px var(--shadow);border-radius:12px;padding:14px}.maud-tour-popover .driver-popover-title{color:var(--text);font-size:15px;font-weight:600}.maud-tour-popover .driver-popover-description{color:var(--text-soft);font-size:13px;line-height:1.5}.maud-tour-popover .driver-popover-progress-text{color:var(--muted);font-size:11px}.maud-tour-popover .driver-popover-footer-btn{background:var(--panel);color:var(--text);border:1px solid var(--border);text-shadow:none;border-radius:7px;padding:6px 11px;font-size:12px}.maud-tour-popover .driver-popover-footer-btn:hover{background:var(--btn-hover)}.maud-tour-popover .driver-popover-next-btn{background:var(--accent);border-color:var(--accent);color:#fff}.maud-tour-popover .driver-popover-close-btn{color:var(--muted)}.maud-tour-popover .driver-popover-arrow{border-color:#0000}.maud-tour-popover .driver-popover-arrow-side-top{border-top-color:var(--panel)}.maud-tour-popover .driver-popover-arrow-side-bottom{border-bottom-color:var(--panel)}.maud-tour-popover .driver-popover-arrow-side-left{border-left-color:var(--panel)}.maud-tour-popover .driver-popover-arrow-side-right{border-right-color:var(--panel)}.driver-overlay{pointer-events:none}.sop-layout{grid-template-columns:320px 1fr;align-items:start;gap:12px;display:grid}.sop-list-card{padding:0;overflow:hidden}.sop-list-head{border-bottom:1px solid var(--lineSoft);gap:8px;margin:0;padding:12px 14px;display:flex}.sop-list-head input{flex:1;min-width:0}.sop-list-head button{white-space:nowrap;background:var(--acc);color:#fff;border:none;border-radius:6px;margin:0;padding:7px 14px;font-weight:700}.sop-list-head button:hover{opacity:.9;background:var(--acc);color:#fff}.sop-list-body{flex-direction:column;gap:0;max-height:calc(100vh - 240px);display:flex;overflow-y:auto}.sop-list-body>.small{padding:12px 14px}.sop-detail-card{padding:16px 18px}.sop-delete-confirm{border:1px solid var(--danger);background:var(--accent-soft);border-radius:8px;margin-top:12px;padding:10px 12px}.sop-delete-confirm p{margin:0 0 6px}.sop-delete-confirm input{width:100%;max-width:360px}.sop-list-item{border:0;border-bottom:1px solid var(--lineSoft);cursor:pointer;border-radius:0;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.sop-list-item:hover{background:var(--card2)}.sop-list-item.active{background:var(--accSoft)}.sop-list-item strong{font-size:13px}.sop-detail-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.sop-detail-head h2{margin:0 0 4px}.sop-detail-actions{gap:6px;display:flex}.sop-editor{width:100%;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.sop-rendered{line-height:1.6}.sop-rendered h1,.sop-rendered h2,.sop-rendered h3{margin:18px 0 8px}.sop-rendered h1:first-child,.sop-rendered h2:first-child,.sop-rendered h3:first-child{margin-top:0}.sop-rendered p{margin:0 0 10px}.sop-rendered ul,.sop-rendered ol{margin:0 0 10px;padding-left:22px}.sop-rendered li{margin:3px 0}.sop-rendered table{border-collapse:collapse;margin:0 0 10px}.sop-rendered th,.sop-rendered td{border:1px solid var(--border);padding:6px 8px}.sop-rendered code{background:var(--metric-bg);border-radius:4px;padding:1px 5px;font-size:12px}@media (width<=900px){.sop-layout{grid-template-columns:1fr}.sop-list-body{max-height:340px}}.sop-popout{z-index:400;background:var(--panel);width:380px;max-width:calc(100vw - 32px);height:min(70vh,640px);color:var(--text);border:1px solid var(--border);box-shadow:0 14px 50px var(--shadow);border-radius:12px;flex-direction:column;display:flex;position:fixed;top:70px;right:16px;overflow:hidden}.sop-popout-head{border-bottom:1px solid var(--border);background:var(--section-bg);cursor:move;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 8px 9px 14px;display:flex}.sop-popout-head strong{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.sop-popout-head button{color:var(--muted);cursor:pointer;background:0 0;border:0;margin:0;padding:4px 7px;font-size:16px;line-height:1}.sop-popout-head button:hover{color:var(--text)}.sop-popout-body{flex:1;padding:14px;overflow-y:auto}.sop-popout.collapsed .sop-popout-body{display:none}.sop-popout.collapsed{height:auto}.sop-popout .sop-rendered{font-size:13px}.sop-body-layout{grid-template-columns:1fr 220px;align-items:start;gap:16px;display:grid}.sop-rendered-wrap{min-width:0}.sop-outline-rail{position:sticky;top:72px}.sop-outline-rail .job-panel-card{margin-bottom:0}.sop-outline-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px;display:flex}.sop-outline-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;margin:0;padding:2px 4px;font-size:12px}.sop-outline-toggle:hover{color:var(--text)}.sop-outline{gap:2px;max-height:calc(100vh - 170px);font-size:12px;display:grid;overflow-y:auto}.sop-outline-item{cursor:pointer;color:var(--text-soft);-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:7px;align-items:center;padding:5px 7px;display:flex}.sop-outline-item:hover{background:var(--btn-hover)}.sop-outline-item.sub{margin-left:14px;font-size:11.5px}.sop-outline-item.active{color:var(--text);background:var(--metric-bg);font-weight:600}.sop-outline-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sop-outline-rail.collapsed .sop-outline{display:none}.sop-rendered mark,mark.sop-hit{background:var(--warnSoft);color:var(--text);border-radius:3px;padding:0 2px}@media (width<=900px){.sop-body-layout{grid-template-columns:1fr}.sop-outline-rail{position:static}}.sop-search-results{gap:10px;display:grid}.sop-search-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.sop-search-group-head{background:var(--section-bg);cursor:pointer;justify-content:space-between;gap:8px;padding:9px 12px;display:flex}.sop-search-group-head:hover{background:var(--btn-hover)}.sop-search-hit{border-top:1px solid var(--border);cursor:pointer;padding:9px 12px}.sop-search-hit:hover{background:var(--btn-hover)}.sop-search-hit-section{color:var(--muted);margin-bottom:2px;font-size:11px;font-weight:600}.sop-search-hit-snippet{color:var(--text-soft);font-size:12.5px;line-height:1.5}.sop-search-hit-snippet mark{background:var(--warnSoft);color:var(--text)}.sop-popout-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 14px;display:flex}.sop-popout-toolbar input{flex:1;min-width:0}.sop-popout-outline{border-bottom:1px solid var(--border);max-height:160px;padding:6px 14px;overflow-y:auto}.sop-popout-outline .sop-outline-item{font-size:12px}.sop-popout.collapsed .sop-popout-toolbar,.sop-popout.collapsed .sop-popout-outline{display:none}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.swatch-tile{cursor:pointer;text-align:center;background:#fff;border:1px solid #e8e6e1;border-radius:10px;padding:0;transition:border-color .12s;overflow:hidden}.swatch-tile:hover{border-color:#ff713d;box-shadow:0 4px 14px #0000001a}.swatch-tile img,.swatch-tile-blank{object-fit:cover;background:#f2f0ec;width:100%;height:92px;display:block}.swatch-tile span{color:#3a3833;padding:6px 4px;font-size:12px;font-weight:600;display:block}.reviews-widget{border:1px solid var(--line);background:var(--card2);border-radius:12px;margin-top:18px;padding:16px}.reviews-widget h3{color:var(--accText);letter-spacing:.03em;font-family:var(--serif);margin:0 0 8px}.reviews-widget blockquote{color:var(--tx);margin:8px 0;font-size:14px;font-style:italic}.reviews-widget blockquote span{color:var(--mut);margin-top:2px;font-size:12px;font-style:normal;display:block}.customer-actions-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.customer-action-btn{background:var(--card);border:1px solid var(--tx);color:var(--tx);border-radius:8px;padding:10px 16px;font-weight:600}.customer-action-btn:hover:not(:disabled){background:var(--tx)!important;color:var(--bg)!important}.customer-action-form{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:10px;padding:12px}.customer-messages-thread{margin-top:18px}.customer-message{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-top:10px;padding:12px 14px}.customer-message-you{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.customer-message-body{white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:14px}.customer-message-reply{border-top:1px dashed var(--lineSoft);margin-top:10px;padding-top:10px}.customer-message-pending{color:var(--mut);margin-top:6px}.contract-clause{border-bottom:1px solid var(--lineSoft);margin:10px 0;padding-bottom:8px}.contract-clause h3{color:var(--tx);margin:0 0 4px;font-size:13px}.initials-row{background:var(--accSoft);border:1px solid var(--accent-soft-border);border-radius:8px;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;display:flex}.initials-row label{color:var(--accText);margin:0;font-size:12px;font-weight:600}.initials-box{text-transform:uppercase;letter-spacing:.1em;text-align:center;font-weight:700;width:90px!important}.contract-warning-box{border:1px solid var(--warnC);background:var(--warnSoft);color:var(--tx);border-radius:6px;padding:8px}.sig-pad-canvas{border:1px solid var(--line);touch-action:none;background:#fff;border-radius:8px;width:100%;height:130px;display:block}.docview-body{background:#eceae5}.docview-body .customer-proposal-page{max-width:1520px;padding-left:14px;padding-right:78px}.docview-bar-slot{height:50px;margin:0}.docview-topbar{z-index:30;color:#f5f4f0;box-shadow:0 2px 10px var(--overlay-shadow);background:#26231e;align-items:center;gap:12px;padding:9px 16px;display:flex;position:fixed;top:0;left:0;right:0}.docview-bar-title{letter-spacing:.01em;white-space:nowrap;font-size:14px}.docview-bar-sub{color:#b9b4aa;white-space:nowrap;font-size:12px}.docview-progress{color:#e8e4dc;white-space:nowrap;font-size:12px;font-weight:700}.docview-bar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.docview-bar-chip{color:#e8e4dc;cursor:pointer;white-space:nowrap;border:1px solid #4a463e;border-radius:999px;padding:4px 11px;font-size:12px}.docview-bar-approved{color:#9cc98b;font-weight:700}.docview-finish{color:#fff;cursor:pointer;background:#a5713c;border:none;border-radius:6px;padding:8px 22px;font-size:13px;font-weight:700}.docview-bar-secondary{color:#e8e4dc;cursor:pointer;background:0 0;border:1px solid #4a463e;border-radius:6px;min-height:0;padding:7px 14px;font-size:13px;font-weight:600}.docview-bar-secondary:hover{border-color:#8b877e}.docview-finish:disabled{opacity:.5;cursor:default}.docview-rail{z-index:25;flex-direction:column;gap:4px;display:flex;position:fixed;top:64px;right:8px}.docview-rail button{color:#5b564c;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:3px;width:60px;min-height:0;padding:8px 2px;font-size:10px;display:flex}.docview-rail button:hover:not(:disabled){color:#26231e;background:#dfdcd4}.docview-rail svg{display:block}.docview-zoomstack{z-index:25;flex-direction:column;align-items:center;gap:5px;display:flex;position:fixed;bottom:20px;right:14px}.docview-zoomstack button{border:1px solid var(--line);color:#26231e;cursor:pointer;background:#fff;border-radius:50%;width:38px;height:38px;min-height:0;padding:0;font-size:18px;font-weight:700;box-shadow:0 2px 8px #00000024}.docview-zoom-pct{color:#5b564c;font-size:11px;font-weight:700}.docview-start-tag{z-index:25;color:#fff;box-shadow:0 2px 8px var(--overlay-shadow);cursor:pointer;background:#a5713c;border:none;border-radius:0 6px 6px 0;min-height:0;padding:9px 15px 9px 11px;font-size:13px;font-weight:700;position:fixed;top:118px;left:0}.docview-sheet{background:#fff;max-width:1400px;margin:0 auto;position:relative;box-shadow:0 1px 5px #00000029}.docview-page,.docview-body .pdf-page-card,#coverCard,#signBox,#contractIntro,#questionBox{scroll-margin-top:calc(var(--docview-bar-h,50px) + 12px)}.docview-intro{align-items:center;gap:16px;margin-top:14px;padding:12px 18px;display:flex}.docview-intro-logo{flex:none;width:72px;height:auto}.docview-cover-sheet{margin-top:14px;padding:26px 34px}.docview-cover-sheet h2{margin:0 0 10px;font-size:18px}.docview-sigtable{border-collapse:collapse;width:100%;margin-top:14px}.docview-sigtable td{border:1px solid var(--line);vertical-align:top;padding:9px 12px}.docview-sigtable td:first-child{width:130px;color:var(--mut);font-size:12px;font-weight:600}.docview-question{margin-top:16px;padding:16px 20px}.docview-page{margin-top:14px}.docview-canvas-wrap{background:#fff;overflow:auto}.docview-canvas-wrap canvas{height:auto;display:block}.docview-initial-slot{z-index:3;align-items:center;gap:7px;display:flex;position:absolute;top:10px;right:10px}.docview-initial-label{color:#26231e;font-size:13px}.docview-initial-tag{color:#fff;box-shadow:0 2px 8px var(--overlay-shadow);cursor:pointer;background:#a5713c;border:none;border-radius:6px;min-height:0;padding:8px 13px;font-size:12px;font-weight:700}.docview-initial-tag:disabled{opacity:.45;cursor:default}.docview-initial-tag.stamped{color:var(--tx);border:1.5px solid var(--ok);background:#fff;align-items:center;gap:7px;display:inline-flex}.docview-stamp-script{color:inherit;font-family:Snell Roundhand,Savoye LET,Segoe Script,Brush Script MT,cursive;font-size:19px;line-height:1}.docview-stamp-x{color:var(--mut);font-size:14px;font-weight:400}.docview-page-strip{color:#7a7468;align-items:center;gap:12px;max-width:1400px;margin:6px auto 0;padding:0 4px;font-size:11px;display:flex}.docview-page-note{text-align:center;flex:1}.docview-page-stamp{color:var(--ok);font-weight:700}.docview-page-failed{color:var(--danger);font-weight:600}.docview-body .pdf-page-card{border:none;border-radius:0;margin-top:14px;padding:0;box-shadow:0 1px 5px #00000029}.docview-body .pdf-page-card:not(.pdf-page-card--wide){max-width:1400px;margin-left:auto;margin-right:auto}.docview-body .pdf-page-card figcaption{color:#7a7468;padding:4px 8px 6px}.sign-gate{color:var(--mut);margin-bottom:10px;font-weight:700}.sign-gate.ok{color:var(--ok)}.notice-ack{border:1px solid var(--line);border-left:3px solid #a5713c;border-radius:9px;margin:12px 0;padding:11px 13px}.notice-ack p{margin:0 0 7px}.notice-download{color:var(--accText);font-weight:700;text-decoration:underline;display:inline-block}#noticeHint{color:var(--mut);margin:6px 0 0}.docview-body .sig-pad{border:1px dashed var(--line);touch-action:none;background:#fff;border-radius:8px;width:100%;height:120px;display:block}.adopt-modal-backdrop{z-index:60;background:#1e1b168c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.adopt-modal{background:#fff;border-radius:12px;width:100%;max-width:430px;padding:20px 22px;box-shadow:0 12px 40px #0000004d}.adopt-modal h3{margin:0 0 6px}.adopt-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.share-activity{color:var(--mut);font-size:11px}.drawing-activity-log{gap:3px;margin-top:8px;display:grid}.drawing-activity-row{background:var(--section-bg);color:var(--tx);border-radius:6px;padding:5px 9px;font-size:12px}.drawings-reply{background:var(--accSoft);white-space:pre-wrap;word-break:break-word;border-left:3px solid #a5713c;border-radius:7px;width:100%;margin-top:6px;padding:7px 10px;font-size:13px}.drawings-reply-meta{color:var(--accText);margin-bottom:2px;font-size:11px;font-weight:700;display:block}.drawing-reply-box{gap:6px;margin-top:6px;display:grid}.drawing-reply-box textarea{box-sizing:border-box;width:100%}.drawing-reply-actions{flex-wrap:wrap;gap:6px;display:flex}.dr-body{flex:1;gap:0;min-height:0;display:flex}.dr-frame{background:var(--card);border:0;flex:1;min-width:0;height:100%}.dr-panel{border-left:1px solid var(--line);background:var(--bg);flex-direction:column;flex:0 0 360px;width:360px;min-height:0;display:flex}.dr-panel-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.dr-panel-head .dr-count{font-size:13px}.dr-nav{gap:6px;margin-left:auto;display:flex}.dr-nav button{padding:5px 10px}.dr-list{flex:1;align-content:start;gap:10px;padding:10px 12px;display:grid;overflow-y:auto}.dr-item{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:9px;padding:9px 11px}.dr-item.current{box-shadow:0 0 0 2px var(--accSoft);border-color:#3f6236}.dr-item.done{opacity:.62}.dr-item-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.dr-item-text{white-space:pre-wrap;word-break:break-word;font-size:13px}.dr-item.has-draft{border-color:#a5713c;box-shadow:0 0 0 2px #a5713c2e}.dr-item.has-draft .drawing-reply-box{display:grid}.dr-draft-flag{color:#a5713c;font-weight:700}.dr-item .drawing-reply-box{display:none}.dr-item.current .drawing-reply-box{display:grid}@media (width<=900px){.dr-body{flex-direction:column}.dr-panel{border-left:0;border-top:1px solid var(--line);flex:0 0 45%;width:auto}}.drawing-review-comments{gap:6px;margin-top:8px;display:grid}.drawing-review-comment{background:var(--section-bg);white-space:pre-wrap;word-break:break-word;border-left:3px solid #3f6236;border-radius:7px;padding:7px 10px;font-size:12px}.drawings-comment-tag{color:#fff;box-shadow:0 2px 8px var(--overlay-shadow);cursor:pointer;background:#3f6236;border:none;border-radius:6px;min-height:0;padding:8px 13px;font-size:12px;font-weight:700}.drawings-comment-tag:disabled{opacity:.45;cursor:default}.drawings-comments{gap:6px;max-width:1400px;margin:4px auto 0;display:grid}.drawings-comment{background:var(--card);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-left:3px solid #3f6236;border-radius:8px;padding:8px 12px;font-size:13px}.drawings-comment-meta{color:var(--mut);margin-bottom:2px;font-size:11px;font-weight:600;display:block}.drawings-comment-form{background:var(--card);border:1px solid var(--line);border-radius:10px;max-width:1400px;margin:8px auto 0;padding:10px 12px}.drawings-comment-form textarea{box-sizing:border-box;width:100%}.drawings-comment-form-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.drawings-comment-form-row input{flex:1;min-width:140px}.drawings-pin-layer{cursor:crosshair;width:100%;line-height:0;display:block;position:relative}.drawings-pin-layer canvas{display:block}.drawings-pin{z-index:4;color:#fff;cursor:pointer;background:#3f6236;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;min-height:0;padding:0;font-size:12px;font-weight:800;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059}.drawings-pin.temp{background:#a5713c;animation:1s ease-in-out infinite drawingsPinPulse}@keyframes drawingsPinPulse{50%{transform:translate(-50%,-50%)scale(1.18)}}.drawings-pin-badge{color:#fff;background:#3f6236;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-right:8px;font-size:11px;font-weight:800;display:inline-flex}.drawings-comment{flex-wrap:wrap;align-items:flex-start;display:flex}.drawings-comment .drawings-comment-meta{width:100%}.drawings-comment-flash{animation:1.2s ease-out drawingsCoverFlash}.docview-adopt-overlay{z-index:60;background:#1e1b168c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.docview-adopt-card{background:#fff;border-radius:12px;width:100%;max-width:430px;padding:20px 22px;box-shadow:0 12px 40px #0000004d}.docview-adopt-card h3{margin:0 0 6px}.docview-adopt-preview{border:1px dashed var(--line);border-radius:8px;justify-content:center;align-items:center;min-height:64px;margin:12px 0;display:flex}.docview-adopt-preview .docview-stamp-script{font-size:38px}.docview-adopt-actions{justify-content:flex-end;gap:10px;display:flex}.docview-cover-flash{animation:1.2s ease-out drawingsCoverFlash}@keyframes drawingsCoverFlash{0%{box-shadow:0 0 0 3px var(--warnC)}to{box-shadow:0 1px 5px #00000029}}body.docview-fs .customer-proposal-page{max-width:none;padding:6px 78px 6px 8px}body.docview-fs #drawingsIntro,body.docview-fs #contractIntro,body.docview-fs #signBox,body.docview-fs #coverCard,body.docview-fs #changesCard,body.docview-fs #questionBox,body.docview-fs .customer-proposal-footer,body.docview-fs .customer-accept-done{display:none}@media (width<=900px){.docview-body .customer-proposal-page{padding-right:14px}body.docview-fs .customer-proposal-page{padding:6px 8px}.docview-rail{border:1px solid var(--line);background:#fff;border-radius:999px;flex-direction:row;padding:2px 6px;inset:auto auto 16px 10px;box-shadow:0 4px 16px #0000002e}.docview-rail button{flex-direction:row;gap:5px;width:auto;padding:7px 9px;font-size:11px}.docview-zoomstack{bottom:78px}.docview-start-tag{top:92px}.docview-bar-sub,.docview-strip-file{display:none}}.procurement-row{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:10px}.proc-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.proc-pos{gap:5px;margin-top:6px;display:grid}.proc-po-line{background:var(--section-bg);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 9px;font-size:12px;display:flex}.task-row-clickable{cursor:pointer}.po-detail{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.po-addline-suggestions{z-index:50;background:var(--panel);border:1px solid var(--border);max-height:240px;box-shadow:0 8px 24px var(--overlay-shadow);border-radius:6px;position:absolute;top:100%;left:0;right:0;overflow:auto}.po-addline-suggestions.hidden{display:none}.po-addline-suggestion{cursor:pointer;justify-content:space-between;gap:8px;padding:6px 8px;font-size:12px;display:flex}.po-addline-suggestion:hover{background:var(--row-hover)}input[type=file]{box-sizing:border-box;width:100%;max-width:100%;font-size:11px;overflow:hidden}.ptr-indicator{top:calc(env(safe-area-inset-top,0px) + 6px);z-index:400;background:var(--panel);border:1px solid var(--border);color:var(--text-soft);opacity:0;pointer-events:none;box-shadow:0 4px 14px var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.ptr-spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);box-sizing:border-box;border-radius:50%;width:12px;height:12px}.ptr-loading .ptr-spinner{animation:.8s linear infinite ptr-rot}@keyframes ptr-rot{to{transform:rotate(360deg)}}.pv2-hero{background-position:50%;background-size:cover;border-radius:14px;align-items:flex-end;min-height:340px;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.pv2-hero-shade{background:linear-gradient(#14110c00 48%,#14110c99);position:absolute;inset:0}.pv2-hero-logo{background:#fff;border-radius:10px;width:74px;height:auto;padding:6px;position:absolute;top:14px;left:14px}.pv2-hero-text{color:#fff;padding:18px 20px;position:relative}.pv2-hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ebd9c4;font-size:11px;font-weight:700}.pv2-hero-text h1{color:#fff;margin:2px 0;font-size:28px}.pv2-hero-sub{color:#e8e4dc;font-size:13px}.pv2-progress{margin-bottom:16px}.pv2-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pv2-segbar{gap:4px;margin:12px 0 14px;display:flex}.pv2-seg{background:var(--lineSoft);border-radius:5px;flex:1;height:10px}.pv2-seg.done{background:var(--ok)}.pv2-seg.current{background:var(--accent);opacity:.45}.pv2-stagecols{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pv2-stagecap{color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px}.pv2-body .customer-proposal-page{max-width:1440px}.pv2-grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.pv2-paid{color:var(--ok);white-space:nowrap;font-weight:600}.stage-paid{color:var(--ok);white-space:nowrap;font-weight:700}.stage-invoiced{color:var(--mut);white-space:nowrap;font-weight:600}.pv2-aside{gap:14px;display:grid;position:sticky;top:14px}.pv2-aside-card{margin:0}.pv2-aside-h{text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:13px}.pv2-act{border-bottom:1px solid var(--lineSoft);align-items:baseline;gap:10px;padding:5px 0;font-size:13px;display:flex}.pv2-act:last-child{border-bottom:none}.pv2-act-date{color:var(--mut);flex:0 0 46px}.pv2-sign-badge{background:var(--accent);color:#fff;border-radius:999px;padding:1px 9px;font-size:11px;font-weight:700;display:inline-block}.pv2-needs-sign{border:1.5px solid var(--accent);background:var(--accSoft);border-radius:10px;padding:10px 12px}.pv2-needs-sign.pv2-signed{border-color:var(--ok);background:0 0}@media (width<=900px){.pv2-grid{grid-template-columns:1fr}.pv2-aside{position:static}.pv2-stagecols{grid-template-columns:1fr;gap:6px}.pv2-hero{min-height:240px}}.customer-portal-btn{background:var(--accent);color:#fff;border:1px solid var(--accent);text-align:center;cursor:pointer;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.customer-portal-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.customer-portal-btn.done{background:var(--success);border-color:var(--success)}:root[data-theme=dark] .customer-portal-btn,:root[data-theme=dark] .customer-portal-btn:hover,:root[data-theme=dark] .customer-portal-btn:visited{color:#fff}.portal-choice-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:10px;display:grid}.portal-choice-card{border:2px solid var(--border);cursor:pointer;text-align:center;background:var(--panel);border-radius:10px;padding:8px}.portal-choice-card:hover{border-color:var(--accent)}.portal-choice-card.chosen{border-color:var(--success);box-shadow:0 0 0 2px var(--success)}.portal-choice-card img{object-fit:cover;border-radius:7px;width:100%;height:110px}.portal-choice-noimg{background:var(--metric-bg);width:100%;height:110px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;font-size:12px;display:flex}.portal-choice-name{margin-top:6px;font-size:13px;font-weight:600}.portal-choice-card.chosen .portal-choice-state{color:var(--success);font-weight:600}@media (width>=901px){body[data-sidebar=hidden] .side-menu,body[data-sidebar=collapsed] .side-menu{display:none}body[data-sidebar=hidden] .main-content,body[data-sidebar=collapsed] .main-content{width:100%;margin-left:0}body[data-sidebar=hidden] .top-menu,body[data-sidebar=collapsed] .top-menu{left:0}body[data-sidebar=hidden] #sidebarToggle{display:none}}#sidebarToggle{padding:6px 12px;font-size:16px}.sb-zoom-group{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.sb-zoom-btn{background:var(--panel);border:none;border-radius:0;margin:0;padding:4px 10px;font-size:11px}.sb-zoom-btn+.sb-zoom-btn{border-left:1px solid var(--border)}.sb-zoom-btn.active{background:var(--accent);color:#fff;font-weight:700}.sb-bar-cover{background:#a35c9c}.sb-bar-pe{background:#4a7fb5}.sb-bar-demo{background:#b55c4a}.sb-bar-skip{background:#8d8d8d;height:5px;top:14px}.sb-bar-plaster{background:#b58900}.sb-bar-assembly{background:#7a5cb5;height:8px;top:0}.sb-bar-delivery{background:#3f9d63}.sb-bar-install{background:#2c7a52}.sb-bar-bench{background:#5cb5a4}.sb-actions button{margin-right:4px;padding:2px 7px;font-size:10px}.sb-chip{border:1.5px solid var(--border);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:10px}.sb-chip.sb-booked{color:#2c7a52;border-color:#2c7a52;font-weight:700}.sb-chip.sb-pinned-chip{border-style:dashed;border-color:var(--accent-soft-border);background:var(--accent-soft);font-weight:600}.sb-chip.sb-unlink{color:var(--muted)}tr.sb-skipped td{opacity:.45}tr.sb-confirm-row td{background:#b55c4a14}.sb-confirm-label{color:#b55c4a;margin:10px 0;font-weight:700;display:block}#scheduleSidePanel{flex-direction:column;gap:8px;margin-top:10px;display:flex}.sb-side-title{margin:4px 0 0;font-size:13px}.sb-side-details{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:3px;padding:7px 9px;font-size:11px;display:flex}.sb-side-details div{justify-content:space-between;gap:8px;display:flex}.sb-side-details span{color:var(--muted);white-space:nowrap}.sb-side-details strong{text-align:right;overflow-wrap:anywhere}.sb-side-label{flex-direction:column;gap:2px;font-size:11px;font-weight:600;display:flex}.sb-side-label select,.sb-side-label input{width:100%}.sb-side-group{flex-direction:column;gap:3px;display:flex}.sb-side-check{align-items:center;gap:6px;font-size:11px;font-weight:400;display:flex}.sb-trade-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sb-trade-head .sb-trade-mode{width:auto;font-size:11px}.sb-trade-pick{flex-direction:column;gap:2px;margin-top:3px;display:flex}.sb-trade-pick[hidden]{display:none}.sb-trade-pick>span{color:var(--muted);font-size:10px;font-weight:400}.sb-trade-none{font-weight:400}.sb-bar-trade{background:#c47b3d}.sb-bar-po{background:#2f6f8f}.sb-side-check.sb-locked{opacity:.55}.sb-extra-add{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sb-extra-add select{flex:1;min-width:0}.sb-extra-del{margin-left:auto;padding:0 6px;font-size:10px}.sb-strip-click{cursor:pointer}.sb-strip-click:hover{outline:2px solid var(--text)}.sb-cancelb{cursor:pointer}.sb-cancelb:hover{border-color:var(--danger,#b55c4a);color:var(--danger,#b55c4a)}.sb-gantt-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 6px;display:flex}.sb-gantt-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;padding-bottom:4px;overflow-x:auto}.sb-gantt-inner{position:relative}.sb-gantt-header{background:var(--panel);z-index:3;border-bottom:1px solid var(--border-strong);display:flex;position:sticky;top:0}.sb-gantt-header .sb-gantt-label{background:var(--panel);z-index:4;width:170px;min-width:170px;position:sticky;left:0}.sb-gantt-days{display:flex}.sb-gantt-day{box-sizing:border-box;text-align:center;color:var(--muted);border-left:1px solid var(--border);flex-direction:column;flex:none;justify-content:center;height:34px;padding:3px 0;font-size:9px;display:flex}.sb-gantt-day small{opacity:.8;font-size:8px}.sb-gantt-day.sb-week-start{border-left:2px solid var(--text)}.sb-gantt-dow{letter-spacing:.5px;opacity:.75;font-size:8px;font-weight:700;display:block}.sb-gantt-day.sb-gantt-weekend{background:#d9775729}.sb-gantt-day.sb-gantt-weekend .sb-gantt-dow{color:var(--accent);opacity:1}.sb-gantt-weekend-stripe{pointer-events:none;z-index:0;background:#d977571a;position:absolute;top:0;bottom:0}.sb-gantt-body{position:relative}.sb-gantt-row{border-top:1px solid var(--border);align-items:center;height:34px;display:flex}.sb-gantt-row .sb-gantt-label{text-overflow:ellipsis;white-space:nowrap;background:var(--panel);z-index:2;align-items:center;width:170px;min-width:170px;height:100%;padding-right:8px;font-size:11px;font-weight:600;display:flex;position:sticky;left:0;overflow:hidden}.sb-gantt-track{height:100%;position:relative}.sb-gantt-bar{opacity:.94;cursor:grab;touch-action:none;border-radius:5px;align-items:center;height:22px;display:flex;position:absolute;top:6px;box-shadow:0 1px 2px #00000026}.sb-gantt-bar:active,.sb-gantt-bar.sb-gantt-dragging{cursor:grabbing;z-index:5;box-shadow:0 3px 8px #00000040}.sb-gantt-bar.sb-gantt-locked{cursor:default;opacity:.55}.sb-gantt-bar-label{color:#fff;white-space:nowrap;pointer-events:none;text-shadow:0 1px 1px #00000059;padding:0 6px;font-size:9px;overflow:hidden}.sb-gantt-handle{cursor:ew-resize;touch-action:none;width:8px;position:absolute;top:0;bottom:0;right:0}.sb-gantt-handle:after{content:"";background:#fff9;border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;right:2px}.sb-gantt-bar.sb-gantt-status-done{opacity:.5}.sb-gantt-bar.sb-gantt-status-in_progress{outline:2px solid var(--text);outline-offset:1px}.sb-gantt-bar.sb-gantt-booked:before{content:"📌";font-size:9px;position:absolute;top:-8px;left:-2px}.sb-gantt-bar.sb-gantt-pinned{outline-offset:-3px;outline:2px dashed #ffffffd9}.sb-gantt-bar.sb-gantt-crew-bar{cursor:default;opacity:.85}.sb-gantt-batch-bar{border-color:var(--accent-soft-border);background:var(--accent-soft)}.sb-gantt-crew-divider{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-top:1px solid var(--border-strong);margin-top:4px;padding:6px 0 2px 170px;font-size:10px;font-weight:700}.sb-gantt-connectors{pointer-events:none;z-index:1;position:absolute;overflow:visible}.sb-panels-row{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.sb-panel-box{border:1px solid var(--border);border-radius:8px;flex:1;min-width:220px;padding:10px}.sr-quickfill{margin:2px 0 8px}.sr-quickfill-btn{padding:4px 10px;font-size:11px}.sb-crew-task{border:1px solid var(--border);border-radius:8px;margin-bottom:8px;padding:8px}.sb-crew-task-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.sb-grid-collapsed{max-height:150px;overflow-y:auto}.sb-list-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.sb-list-row-click{cursor:pointer}.sb-files-expand td{background:var(--section-bg)}.sb-cal-grid{background:var(--border);border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-top:8px;display:grid;overflow:hidden}.sb-cal-cell{background:var(--panel);min-height:64px;padding:4px;font-size:11px}.sb-cal-head{text-align:center;min-height:auto;color:var(--muted);padding:6px 4px;font-weight:600}.sb-cal-empty{background:var(--section-bg)}.sb-cal-today{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--accent-soft)!important}.sb-cal-today .sb-cal-daynum{color:var(--accent-hover);font-weight:700}.sb-cal-blackout{background:repeating-linear-gradient(135deg,var(--section-bg),var(--section-bg) 6px,var(--border) 6px,var(--border) 12px)}.sb-cal-daynum{color:var(--muted);margin-bottom:3px;font-size:10px}.sb-cal-chip{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;margin-bottom:2px;padding:2px 4px;font-size:10px;overflow:hidden}.sb-cal-view-toggle{border:1px solid var(--border);border-radius:7px;display:inline-flex;overflow:hidden}.sb-cal-view-btn{background:var(--panel);border:none;border-radius:0;margin:0;padding:4px 10px;font-size:11px}.sb-cal-view-btn+.sb-cal-view-btn{border-left:1px solid var(--border)}.sb-cal-view-btn.active{background:var(--accent);color:#fff;font-weight:700}.sb-cal-legend{border:1px solid var(--border);background:var(--section-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;padding:6px 8px;display:flex}.sb-cal-legend-item{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;margin:0;padding:2px 4px;font-size:10px;display:inline-flex}.sb-cal-legend-item:hover{background:var(--btn-hover)}.sb-cal-legend-item.sb-cal-legend-hidden{opacity:.4;text-decoration:line-through}.sb-cal-legend-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.sb-cal-ghost-swatch{border:1.5px dashed var(--accent);background:#d977572e}.sb-cal-legend-note{color:var(--muted);margin-left:auto}.sb-cal-grid-head{background:var(--border);border:1px solid var(--border);border-radius:6px 6px 0 0;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-top:8px;display:grid;overflow:hidden}.sb-cal-weeks{background:var(--border);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.sb-cal-week{background:var(--panel);position:relative}.sb-cal-week-cells{background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;height:100%;display:grid}.sb-cal-week-bars{position:absolute;top:18px;left:0;right:0}.sb-cal-shadow{background:var(--section-bg);border:1px solid var(--border);cursor:pointer;border-radius:3px;height:15px;position:absolute}.sb-cal-pill{color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:3px;height:15px;padding:0 4px;font-size:9px;line-height:15px;position:absolute;overflow:hidden}.sb-cal-pill.sb-cal-ghost{color:var(--text);border:1.5px dashed var(--accent);background:#d977572e!important}.sb-cal-more{color:var(--muted);cursor:default;font-size:9px;position:absolute;left:2px}.sb-cal-pill-lg{height:24px;padding:0 6px;font-size:12px;line-height:24px}.sb-cal-shadow-lg{height:24px}.sb-cal-cell-lg{min-height:110px}.sb-cal-expand-arrow{z-index:6;box-sizing:border-box;text-align:center;width:14px;height:14px;color:var(--text);background:var(--section-bg);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:0;font-size:10px;line-height:12px;position:absolute}.sb-cal-expand-arrow:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.sb-cal-flow{gap:16px;margin-top:8px;display:grid}.sb-cal-month-tile-label{cursor:pointer;margin-bottom:2px;font-size:12px;font-weight:700}.sb-cal-month-tile-label:hover{color:var(--accent)}.sb-cal-pill.sb-pencilled{opacity:.55;background-image:repeating-linear-gradient(45deg,#ffffff59 0 4px,#0000 4px 8px)}.sb-pencil-chip{background:var(--accent-soft);border-color:var(--accent-soft-border);font-weight:600}.cal-actual-pill{background:var(--panel);color:var(--text);border:1.5px solid var(--teal);font-weight:600}.cal-page-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;display:flex}.cal-layer-toggle{cursor:pointer;align-items:center;gap:5px;font-size:12px;display:inline-flex}.cal-layer-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.cal-layer-swatch.plan{background:var(--acc)}.cal-layer-swatch.actual{background:var(--panel);border:1.5px solid var(--teal)}.sb-ghost-chip{background:var(--section-bg);color:var(--muted);border-style:dashed}.sb-side-group-head{cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 2px;font-weight:600}.sb-side-group-body{margin-bottom:6px}.sb-side-job{cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:flex}.sb-side-job:hover{background:var(--btn-hover)}.sb-side-job-active{background:var(--accent-soft);font-weight:600}.sb-status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:1px 7px;font-size:9px;font-weight:600}.sb-status-scheduled{color:var(--good);background:#5c8a5426;border-color:#5c8a5459}.sb-status-pencilled{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent-soft-border)}.sb-status-unscheduled{color:var(--warn);cursor:pointer;background:#9c7b2d26;border-color:#9c7b2d59}.sb-status-unscheduled:hover{background:#9c7b2d4d}.tel-link{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border,#7f7f7f80);text-decoration-color:var(--border,#7f7f7f80);white-space:nowrap}@media (width<=600px){.tel-link{min-height:24px;padding:2px 0;display:inline-block}input,select,textarea{font-size:16px}input,select,button,.top-tab,.lifecycle-tab,.estimate-subtab,.bom-filter,.job-sched-view,.quotes-chip,.jobs-subtab-btn,.job-diary-filter{min-height:40px}html,body{max-width:100%;overflow-x:hidden}.main-content{padding:10px}.card{border-radius:10px;padding:12px}.grid,.metrics-grid,.mock-grid,.checklist-grid,.review-mini-grid,.file-placeholder-list,.compact-field-grid.two-col,.compact-field-grid.four-col,.compact-field-grid.three-cols-fixed,.sticky-actions,.drawer-actions,.login-actions,.two-column,.three-column,.lead-layout{grid-template-columns:1fr}.wide-2{grid-column:auto}.email-modal{align-items:flex-end;padding:0}.email-modal-card{border-radius:14px 14px 0 0;max-width:100%;max-height:94vh}.bom-edit-drawer{width:100%}.customer-proposal-page{padding:16px 13px 30px}.customer-proposal-header h1{font-size:24px}.customer-proposal-h2{margin:18px 0 9px;font-size:16px}.selection-grid,.portal-choice-grid{grid-template-columns:1fr 1fr}.customer-accept-row{flex-direction:column;align-items:stretch}.customer-accept-row input{width:100%;min-width:0}.customer-accept-row button{width:100%}.customer-actions-row{flex-direction:column}.customer-actions-row .customer-action-btn{width:100%}.colour-picker-row{flex-wrap:wrap}.colour-picker-row select{flex:100%}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.swatch-tile img,.swatch-tile-blank{height:78px}.benchtop-option{flex-wrap:wrap;gap:6px}.proposal-share-row{flex-wrap:wrap}.carousel-prev,.carousel-next{width:44px;height:44px;font-size:28px}.carousel-prev{left:8px}.carousel-next{right:8px}}.selections-strip{margin-bottom:14px}.selections-strip.sel-strip-alert.sel-strip-open{border:1px solid var(--danger)}.selections-strip.sel-strip-alert h2:after{content:" ⚠";color:var(--danger)}.sel-strip-toggle{color:var(--ok);background:var(--okSoft);cursor:pointer;border:1px solid #0000;border-radius:99px;align-items:center;gap:5px;min-height:0;margin:0;padding:3px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.sel-strip-toggle:hover{border-color:currentColor}.sel-strip-toggle:after{content:"▸";opacity:.7;font-size:10px}.selections-strip.sel-strip-warn .sel-strip-toggle{color:var(--warnC);background:var(--warnSoft)}.selections-strip.sel-strip-alert .sel-strip-toggle{color:var(--danger);border-color:var(--danger);background:0 0}.selections-strip:not(.sel-strip-open){box-shadow:none;background:0 0;border:0;margin-bottom:10px;padding:0}.selections-strip:not(.sel-strip-open)>h2,.selections-strip:not(.sel-strip-open)>p,.selections-strip:not(.sel-strip-open)>.sel-strip-body{display:none}.selections-strip.sel-strip-open{border:1px solid var(--line);background:var(--panel);box-shadow:var(--cardShadow);padding:12px}.selections-strip.sel-strip-open .sel-strip-toggle{margin-bottom:8px}.selections-strip.sel-strip-open .sel-strip-toggle:after{content:"▾"}.sel-grid{grid-template-columns:110px repeat(4,minmax(140px,1fr));align-items:start;gap:6px 12px;display:grid}.sel-h{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:2px;font-size:11px;font-weight:600}.sel-rowlabel{padding-top:4px;font-size:13px;font-weight:600}.sel-cell{min-width:0;padding-top:4px;font-size:13px}.sel-sub{color:var(--muted);font-size:11px;font-weight:400}.sel-val{border:1px solid var(--line);background:var(--card2);border-radius:99px;align-items:center;gap:4px;margin:1px 4px 1px 0;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.sel-val.sel-neutral{color:var(--muted);background:0 0;border-style:dashed;font-weight:500}.sel-val.sel-mismatch{border-color:var(--acc);background:var(--accSoft);color:var(--accText);font-weight:700}.sel-val .sel-count{color:var(--muted);margin-left:1px;font-size:11px;font-weight:400}.sel-val.sel-mismatch .sel-count{color:var(--accText)}.sel-none{color:var(--muted)}.sel-cell select{max-width:100%;min-height:auto;margin-bottom:3px;padding:3px 6px;font-size:12px}.sel-mismatch-input{border-color:var(--danger)}.sel-door-editor select{display:block}.sel-accept-btn{margin-top:3px;padding:2px 8px;font-size:11px;display:block}.sel-strip-note{margin-top:8px}.sel-strip-alert .sel-strip-note{color:var(--danger)}.fx-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fx-pill{white-space:nowrap;border:1px solid;border-radius:99px;padding:2px 10px;font-size:11px;font-weight:700}.fx-pill.is-blocked{color:var(--danger);border-color:var(--danger);background:0 0}.fx-pill.is-warn{color:var(--warnC);border-color:var(--warnC);background:var(--warnSoft)}.fx-pill.is-ok{color:var(--ok);background:var(--okSoft);border-color:#0000}.fx-lede{color:var(--muted);margin:6px 0 12px;font-size:12.5px}.fx-dec{border:1px solid var(--border);background:var(--card2);border-radius:10px;margin-bottom:9px;padding:11px 12px}.fx-dec-q{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:9px;display:flex}.fx-dec-q b{font-size:13.5px}.fx-dec-q .fx-sub{color:var(--muted);font-size:12px}.fx-opts{grid-template-columns:1fr 1fr;gap:9px;display:grid}@media (width<=820px){.fx-opts{grid-template-columns:1fr}}.fx-opt{text-align:left;background:var(--panel);border:1px solid var(--border);font:inherit;color:var(--text);cursor:pointer;border-radius:9px;flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.fx-opt:hover:not(:disabled){border-color:var(--border-strong)}.fx-opt:disabled{opacity:.55;cursor:not-allowed}.fx-opt-body{padding:9px 11px 10px}.fx-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.fx-val{margin-bottom:5px;font-size:15px;font-weight:700;line-height:1.2;display:block}.fx-ev{color:var(--text-soft);font-size:11.5px;line-height:1.45;display:block}.fx-do{border-top:1px solid var(--border);background:var(--card2);padding:7px 11px;font-size:12px;font-weight:600;display:block}.fx-do .fx-then{color:var(--muted);margin-top:1px;font-size:11px;font-weight:400;display:block}.fx-opt:hover:not(:disabled) .fx-do{background:var(--btn-hover)}.fx-locked{background:var(--warnSoft);border:1px solid var(--warnC);color:var(--text);border-radius:8px;align-items:flex-start;gap:8px;margin-top:9px;padding:8px 10px;font-size:12px;line-height:1.5;display:flex}.fx-locked .fx-lk-actions{flex:none;gap:6px;margin-left:auto;display:flex}.fx-locked button{margin:0;padding:3px 9px;font-size:11px}.fx-note{color:var(--text-soft);align-items:flex-start;gap:8px;padding:7px 2px;font-size:12px;line-height:1.5;display:flex}.fx-note .fx-ico{color:var(--muted);flex:none}.fx-quiet,.fx-quiet .fx-ico{color:var(--muted)}.fx-audit{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.fx-audit summary{cursor:pointer;color:var(--muted);font-size:11.5px;font-weight:600;list-style:none}.fx-audit summary::-webkit-details-marker{display:none}.fx-audit summary:before{content:"▸ ";display:inline-block}.fx-audit[open] summary:before{content:"▾ "}.fx-audit summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.fx-audit .sel-grid{margin-top:9px}@media (width<=900px){.sel-grid{grid-template-columns:90px repeat(4,minmax(120px,1fr));overflow-x:auto}.selections-strip .sel-strip-body{overflow-x:auto}}#notifBellButton{position:relative}.notif-badge{background:var(--danger,#c0392b);color:#fff;text-align:center;pointer-events:none;border-radius:8px;min-width:15px;height:15px;padding:0 3px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:1px;right:1px}.notif-panel{background:var(--card);border:1px solid var(--line);width:360px;max-width:calc(100vw - 16px);max-height:min(72vh,560px);box-shadow:0 10px 30px var(--shadow);z-index:1250;border-radius:14px;flex-direction:column;display:flex;position:fixed;top:54px;right:10px;overflow:hidden}.notif-panel-head{border-bottom:1px solid var(--lineSoft);align-items:center;gap:8px;padding:12px 16px;display:flex}.notif-panel-head strong{font-size:14px}.notif-head-count{color:#fff;background:var(--acc);border-radius:99px;padding:1px 8px;font-size:11px;font-weight:800}.notif-head-spacer{flex:1}.notif-panel-head button{padding:3px 8px;font-size:12px}.notif-mark-all{color:var(--accText);cursor:pointer;background:0 0;border:none;margin:0;font-weight:600}.notif-mark-all:hover{background:0 0;text-decoration:underline}.notif-list{flex:1;min-height:60px;overflow-y:auto}.notif-empty{color:var(--muted);padding:14px 16px}.notif-item{border-bottom:1px solid var(--lineSoft);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 16px;display:flex}.notif-item.unread{background:var(--accSoft)}.notif-item:hover{background:var(--card2)}.notif-item.unread:hover{background:var(--accSoft);filter:brightness(1.03)}.notif-item.unread .notif-title{font-weight:700}.notif-text{flex-direction:column;flex:1;gap:1px;min-width:0;line-height:1.45;display:flex}.notif-title{font-size:13px}.notif-body{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.notif-time{color:var(--muted);font-size:11px}.notif-dot{background:var(--acc);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.notif-dot.read{background:var(--line)}.notif-panel-foot{border-top:1px solid var(--lineSoft);background:var(--card2);flex-direction:column;gap:7px;padding:9px 16px;display:flex}.notif-push-actions{flex-wrap:wrap;gap:7px;display:flex}.notif-push-actions button{padding:4px 9px;font-size:12px}@media (width<=600px){.notif-panel{top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));border-radius:14px 14px 0 0;width:auto;max-width:none;max-height:calc(78vh - 64px);left:0;right:0}}#dashboardMessageInboxList{max-height:440px;overflow-y:auto}.msg-inbox-row{border-top:1px solid var(--border);padding:8px 0}.msg-inbox-row:first-child{border-top:none;padding-top:2px}.msg-inbox-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.msg-inbox-who{overflow-wrap:anywhere;min-width:0}.msg-inbox-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.msg-more{margin-bottom:4px}.msg-inbox-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.msg-inbox-flash{animation:2.4s ease-out msgInboxFlash}@keyframes msgInboxFlash{0%,55%{background:var(--accent-soft)}to{background:0 0}}@media (width<=600px){.msg-inbox-head{flex-direction:column;align-items:flex-start;gap:2px}.msg-inbox-actions{gap:8px}.msg-inbox-actions button{flex:auto;min-width:calc(50% - 8px)}}.inbox-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.inbox-filter{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:6px 13px;font-size:12.5px}.inbox-filter:hover:not(.active){background:var(--btn-hover)}.inbox-filter.active{background:var(--dark);color:var(--bg);border-color:var(--dark);font-weight:600}.inbox-list{flex-direction:column;gap:8px;display:flex}.inbox-empty{text-align:center;color:var(--muted);padding:24px}.inbox-item{background:var(--card,var(--panel));border:1px solid var(--line,var(--border));cursor:pointer;border-left:3px solid #0000;border-radius:10px;padding:11px 14px}.inbox-item.unread{background:var(--accSoft,var(--accent-soft))}.inbox-item.unread .inbox-item-title{font-weight:700}.inbox-item-warn{border-left-color:var(--warn,#a5801a)}.inbox-item-stale{border-left-color:var(--danger,#b3261e)}.inbox-item-head{align-items:baseline;gap:8px;display:flex}.inbox-item-icon{flex:none}.inbox-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.inbox-item-time{white-space:nowrap;color:var(--muted)}.inbox-item-subtitle{color:var(--muted);margin-top:2px}.inbox-item-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px}.inbox-item-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.inbox-not-replyable{color:var(--muted);font-style:italic}.inbox-reply-form{width:100%;margin-top:4px}.inbox-reply-form textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;background:var(--bg);color:var(--text);border-radius:6px;padding:7px 9px}.inbox-reply-header{margin:0 0 4px;font-weight:700}.inbox-reply-caveat{color:var(--muted);margin:4px 0}.inbox-reply-actions{align-items:center;gap:8px;display:flex}.inbox-item-readmore{color:var(--accent,var(--accText));margin-top:6px;font-weight:600}.inbox-detail-card{max-width:640px}.inbox-detail-header{justify-content:flex-end;padding:8px 8px 0;display:flex}.inbox-detail-close{border:1px solid var(--border);width:32px;height:32px;color:var(--text-soft);background:0 0;border-radius:999px;margin:0;padding:0;font-size:15px;line-height:1}.inbox-detail-meta{margin-bottom:6px}.inbox-detail-subject{margin:8px 0 12px;font-size:16px}.inbox-detail-body{overflow-wrap:anywhere;line-height:1.5}.inbox-detail-quote{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.inbox-detail-quote summary{cursor:pointer;color:var(--muted);font-size:12.5px}.inbox-detail-quoted{color:var(--muted);margin-top:8px;font-size:12.5px}.email-body{overflow-wrap:anywhere;line-height:1.55}.email-body-p{max-width:68ch;margin:0 0 .85em}.email-body-p:last-child{margin-bottom:0}.email-body-list{max-width:68ch;margin:0 0 .85em;padding-left:1.35em}.email-body-list li{margin:0 0 .4em}.email-body-list li:last-child{margin-bottom:0}.email-body-cite{border-left:3px solid var(--border);color:var(--muted);padding-left:10px}.email-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.email-body-fold{border-top:1px solid var(--border);margin-top:12px;padding-top:8px}.email-body-fold summary{cursor:pointer;color:var(--muted);list-style:none}.email-body-fold summary::-webkit-details-marker{display:none}.email-body-fold summary:before{content:"▸ "}.email-body-fold[open] summary:before{content:"▾ "}.email-body-fold summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.email-body-quote>.email-body-p,.email-body-quote>.email-body-list{color:var(--muted);margin-top:8px;font-size:12.5px}.inbox-detail-attachments{flex-direction:column;gap:6px;margin-top:12px;display:flex}.inbox-detail-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 2px;font-size:10px}.inbox-attachment-btn{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:8px;align-self:flex-start;margin:0;padding:6px 10px;font-size:12.5px}.inbox-detail-actions{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.inbox-job-picker-card{max-width:520px}.inbox-job-picker-card [data-picker-input]{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;background:var(--bg);color:var(--text);border-radius:8px;margin-bottom:10px;padding:9px 11px;font-size:16px}.inbox-job-picker-results{flex-direction:column;gap:6px;max-height:50vh;display:flex;overflow-y:auto}.inbox-job-picker-row{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;font:inherit;border-radius:8px;margin:0;padding:9px 11px}.inbox-job-picker-row:hover{border-color:var(--accent);background:var(--accent-soft)}@media (width<=600px){.inbox-item-actions button{flex:auto;min-width:calc(50% - 6px)}.inbox-detail-modal{padding:0}.inbox-detail-card{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}.inbox-job-picker-modal{padding:0}.inbox-job-picker-card{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}}#dashboardPage{padding:0}.dash-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.dash-head h1{margin:0;font-size:26px}.dash-date{color:var(--mut);font-size:13.5px}.dash-sync{color:var(--mut);align-items:center;gap:6px;font-size:12.5px;display:flex}.dash-sync-dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dash-sync-dot.warn{background:var(--warnC)}.dash-scope{color:var(--mut);border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:99px;margin-left:auto;padding:4px 12px;font-family:inherit;font-size:12.5px}.dash-scope:hover{border-color:var(--acc);color:var(--acc)}#inboxComposeButton{order:-1;color:#fff!important;background:var(--accent)!important;border-color:var(--accent)!important;font-weight:600!important}#inboxComposeButton:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important;color:#fff!important}.dash-kpis{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px;display:grid}.dash-kpi{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:8px;padding:14px 18px}.dash-kpi.accent{border-color:var(--acc)}.dash-kpi-label{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px;font-weight:600}.dash-kpi.accent .dash-kpi-label{color:var(--accText)}.dash-kpi-row{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:4px;display:flex}.dash-kpi-value{font-size:30px;font-weight:800;line-height:1}.dash-kpi.accent .dash-kpi-value{color:var(--accText)}.dash-kpi-delta{color:var(--ok);background:var(--okSoft);border-radius:99px;padding:2px 8px;font-size:12.5px;font-weight:600}.dash-kpi-delta.down{color:var(--danger);background:color-mix(in srgb, var(--danger) 16%, var(--card))}.dash-kpi-sub{color:var(--mut);font-size:12.5px}.dash-kpi-link{color:var(--accText);cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:12.5px;font-weight:600}.dash-kpi-link:hover{background:0 0;text-decoration:underline}.dash-grid{grid-template-columns:1.25fr .75fr;align-items:start;gap:12px;display:grid}.dash-col{flex-direction:column;gap:12px;min-width:0;display:flex}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.dash-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:8px;overflow:hidden}.dash-card-head{border-bottom:1px solid var(--lineSoft);flex-wrap:wrap;align-items:baseline;gap:8px;padding:14px 18px;display:flex}.dash-card-head h2{margin:0;font-size:15.5px;font-weight:700}.dash-card-sub{color:var(--mut);font-size:12px}.dash-card-count{color:var(--accText);background:var(--accSoft);border-radius:99px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:700}.dash-card-link{color:var(--accText);cursor:pointer;background:0 0;border:none;margin-top:0;margin-left:auto;padding:0;font-family:inherit;font-size:12.5px;font-weight:600}.dash-card-link:hover{text-decoration:underline}.dash-card-icon{border:1px solid var(--line);background:var(--card2);color:var(--tx);cursor:pointer;border-radius:99px;justify-content:center;align-items:center;width:24px;height:24px;margin:0;padding:0;font-family:inherit;font-size:12px;display:inline-flex}.dash-card-icon:hover{border-color:var(--acc);color:var(--acc)}.dash-card-foot{text-align:left;border-top:1px solid var(--lineSoft);background:var(--card2);width:100%;color:var(--tx);cursor:pointer;border-bottom:0;border-left:0;border-right:0;padding:9px 18px;font-family:inherit;font-size:12.5px;font-weight:600;display:block}.dash-card-foot:hover{color:var(--accText)}.dash-empty{color:var(--mut);padding:14px 18px;font-size:13px}.dash-row{border-bottom:1px solid var(--lineSoft);align-items:center;gap:8px;padding:6px 18px;display:flex}.dash-row:last-child{border-bottom:0}.dash-row:hover{background:var(--card2)}.dash-row.hidden{display:none}.dash-badge{white-space:nowrap;border-radius:4px;flex:none;padding:2px 7px;font-size:10.5px;font-weight:700}.dash-badge-acc{color:#fff;background:var(--acc)}.dash-badge-warn{color:var(--warnC);background:var(--warnSoft)}.dash-badge-teal{color:var(--teal);background:var(--tealSoft)}.dash-badge-danger{color:#8c2f20;background:#f3ded9}.dash-badge-btn{font-family:inherit;line-height:inherit;cursor:pointer;border:0;margin:0}.dash-badge-btn:hover{filter:brightness(1.08);text-decoration:underline}.dash-row-body{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;overflow:hidden}.dash-row-body b{font-weight:700}.dash-row-body span{color:var(--mut)}.dash-row-btn{border:1px solid var(--line);background:var(--card2);color:var(--tx);cursor:pointer;border-radius:5px;flex:none;margin:0 0 0 auto;padding:2px 12px;font-family:inherit;font-size:12px;font-weight:600}.dash-row-btn:hover{border-color:var(--acc);color:var(--acc);background:var(--card2)}.dash-row-btn.done:hover{border-color:var(--ok);color:var(--ok)}.dash-sched-grid{grid-template-columns:repeat(3,1fr) .7fr;gap:9px;padding:14px 18px;display:grid}.dash-sched-card{border-left:3px solid var(--teal);min-width:0;padding:2px 0 2px 12px}.dash-sched-card.next{border-left-color:var(--acc)}.dash-sched-when{color:var(--teal);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:700}.dash-sched-card.next .dash-sched-when{color:var(--accText)}.dash-sched-job{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13.5px;font-weight:700;overflow:hidden}.dash-sched-job:hover{color:var(--accText)}.dash-sched-meta{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dash-sched-peek{border-left:3px dashed var(--line);color:var(--mut);cursor:pointer;flex-direction:column;justify-content:center;padding:2px 0 2px 12px;font-size:12.5px;display:flex}.dash-sched-peek:hover{color:var(--accText)}@media (width<=900px){.dash-sched-grid{grid-template-columns:1fr 1fr}}.dash-pills{flex-wrap:wrap;gap:6px;margin-left:auto;font-size:12px;font-weight:600;display:flex}.dash-pill{border:1px solid var(--line);color:var(--mut);cursor:pointer;background:0 0;border-radius:99px;margin:0;padding:3px 12px;font-family:inherit}.dash-pill:hover{background:var(--card2)}.dash-pill.active{background:var(--tx);color:var(--bg);border-color:var(--tx)}.dash-qtable{flex-direction:column;display:flex}.dash-qhead{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--lineSoft);grid-template-columns:56px 1.8fr 1fr 1.1fr .8fr;gap:8px;padding:8px 18px;font-size:11.5px;font-weight:700;display:grid}.dash-qrow{border-bottom:1px solid var(--lineSoft);grid-template-columns:56px 1.8fr 1fr 1.1fr .8fr;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;display:grid}.dash-qrow:last-child{border-bottom:0}.dash-qrow:hover{background:var(--card2)}.dash-qrow a{cursor:pointer;font-weight:700}.dash-qrow .dash-qclient{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dash-qrow .dash-qclient span{color:var(--mut)}.dash-qrow .dash-qnext{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.dash-qrow .dash-qvalue{text-align:right;font-weight:700}@media (width<=900px){.dash-qhead{display:none}.dash-qrow{grid-template-columns:1fr;gap:2px;padding:9px 18px}}.dash-backlog{color:var(--mut);padding:8px 18px 4px;font-size:12.5px}.dash-backlog a{cursor:pointer}.dash-cutoff-row{border-bottom:1px solid var(--lineSoft);align-items:center;gap:8px;padding:8px 18px;font-size:13px;display:flex}.dash-cutoff-row:last-child{border-bottom:0}.dash-cutoff-row:hover{background:var(--card2)}.dash-cutoff-row a{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;min-width:0;overflow:hidden}.dash-cutoff-row a span{color:var(--mut)}.dash-lead-row{border-bottom:1px solid var(--lineSoft);align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;display:flex}.dash-lead-row:last-child{border-bottom:0}.dash-lead-row:hover{background:var(--card2)}.dash-lead-row .dash-lead-suburb{color:var(--mut);font-size:12.5px}.dash-lead-row .dash-lead-overdue{color:var(--accText);background:var(--accSoft);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.dash-lead-row .dash-lead-phone{flex:none;margin-left:auto;font-size:12.5px}@media (width<=900px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-scope{margin-left:0}}.mobile-tab-bar,.icon-rail,.mobile-more-sheet{display:none}.po-page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.po-crumbs{color:var(--muted);align-items:center;gap:7px;min-width:0;font-size:13px;display:flex}.po-crumbs a{color:var(--muted)}.po-crumbs a:hover{color:var(--accent)}.po-crumbs strong{color:var(--accent-text,var(--accent));font-weight:600}.po-head-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.po-head-actions button{margin:0}body.popout .side-menu,body.popout .top-menu,body.popout .icon-rail,body.popout .mobile-tab-bar,body.popout .mobile-more-sheet,body.popout .side-context{display:none!important}body.popout .main-content{width:100%!important;margin-left:0!important;padding:14px 18px 24px!important}body.popout #stockPage>h1,body.popout #stockPage>p.small,body.popout #poPageBackButton,body.popout #poPagePopoutButton{display:none}body.popout .po-crumbs a{pointer-events:none;text-decoration:none}body.popout #jobTopbarBackLink,body.popout #jobTopbarPopoutButton{display:none}.po-drawer{flex-direction:column;width:640px;display:flex}.po-drawer.hidden{display:none}.po-drawer .drawer-header{gap:10px}.po-drawer-ident{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.po-drawer-ident strong{font-size:15px}.po-drawer-pill{white-space:nowrap;border:1.5px solid var(--muted);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:10px;font-weight:600}.po-drawer-total{white-space:nowrap;font-size:14px;font-weight:700}.po-drawer-head-actions{flex:none;align-items:center;gap:5px;display:flex}.po-drawer-head-actions button{margin:0}.po-drawer .drawer-body{flex:1;overflow:auto}.po-drawer-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-bottom:10px;font-size:12px;display:grid}.po-drawer-facts div{min-width:0}.po-drawer-facts span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600;display:block}.po-drawer-facts b{overflow-wrap:anywhere;font-weight:600}.po-drawer-actions{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.po-drawer-actions button{margin:0}.po-drawer-lines{border-collapse:collapse;width:100%;font-size:12px}.po-drawer-lines th{background:var(--table-head-bg);color:var(--table-head-text);text-align:left;text-transform:uppercase;letter-spacing:.05em;z-index:1;padding:5px 7px;font-size:10px;position:sticky;top:0}.po-drawer-lines td{border-bottom:1px solid var(--border);vertical-align:top;padding:5px 7px}.po-drawer-lines tr:last-child td{border-bottom:0}.po-drawer-lines .num{text-align:right;white-space:nowrap}.po-drawer-note{color:var(--muted);margin:0 0 10px;font-size:11.5px}#allPosBody tr.po-row-active{background:var(--accent-soft)}#allPosBody tr.po-row-active td:first-child{box-shadow:inset 3px 0 0 var(--accent)}@media (width<=900px){.po-drawer{width:100%}}.po-sect-tabs{flex-wrap:wrap;gap:5px;margin:10px 0 0;display:flex}.po-sect-tab{color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:999px;margin:0;padding:6px 13px;font-size:12.5px;font-weight:600}.po-sect-tab:hover:not(.active){background:var(--btn-hover)}.po-sect-tab.active{background:var(--dark);color:var(--bg);border-color:var(--dark)}.po-sect{display:none}.po-sect.active{display:block}.po-lines-wrap,.po-sheet-wrap{max-height:none}body:not(.popout) .po-lines-wrap,body:not(.popout) .po-sheet-wrap{max-height:min(62vh,760px)}.po-sheet-wrap table{font-size:11.5px}.po-sheet-wrap td,.po-sheet-wrap th{padding:4px 6px}.poly-spec-row>td{background:var(--section-bg)}.po-sheet-gap>td{background:color-mix(in srgb,var(--danger) 9%,transparent)}.mobile-menu-button{background:var(--tx);width:48px;height:48px;color:var(--bg);z-index:160;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:19px;display:none;position:fixed;left:14px;box-shadow:0 6px 20px #00000047}@media (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.top-menu,#sidebarToggle{display:none}.app-shell{display:block}.main-content{box-sizing:border-box;width:100%;margin-left:0}.side-menu{border-right:1px solid var(--border);width:min(82vw,320px);padding:calc(14px + env(safe-area-inset-top,0px)) 12px 14px;z-index:210;box-shadow:8px 0 30px var(--overlay-shadow);background:var(--sidebar);transition:transform .22s;top:0;bottom:0;transform:translate(-103%);position:fixed!important;left:0!important;right:auto!important}.side-menu.mobile-open{transform:translate(0)}.mobile-nav-backdrop{z-index:205;opacity:0;pointer-events:none;background:#0f0e0c73;transition:opacity .18s;position:fixed;inset:0}.mobile-nav-backdrop.show{opacity:1;pointer-events:auto}body:not([data-sidebar=hidden]) .mobile-menu-button{display:flex}button,.top-tab,.lifecycle-tab,.estimate-subtab,.bom-filter,.job-sched-view,.quotes-chip,.jobs-subtab-btn,.job-diary-filter,.mtb-btn,.ir-btn,.ir-bell,.mms-item,input,select{min-height:44px}.sb-icon-btn{min-width:44px}.stock-row-action{min-height:44px}}@media (width<=600px){.icon-rail{display:none!important}.mobile-tab-bar{background:var(--card);border-top:1px solid var(--line);padding:6px 2px calc(4px + env(safe-area-inset-bottom,0px));z-index:150;grid-template-columns:repeat(7,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.mtb-btn{color:var(--mut);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;margin:0;padding:6px 1px;font-family:inherit;font-size:10px;font-weight:600;display:flex;position:relative;overflow:hidden}.mtb-btn .mtb-badge{position:absolute;top:2px;right:calc(50% - 20px)}.mtb-btn .mtb-icon{justify-content:center;align-items:center;height:19px;font-size:19px;line-height:1;display:flex}.mtb-btn .mtb-icon svg{width:17px;height:17px;display:block}.mtb-btn.active{color:var(--accText)}.main-content{padding:12px 12px calc(78px + env(safe-area-inset-bottom,0px))}.mobile-menu-button{bottom:calc(70px + env(safe-area-inset-bottom,0px))}}@media (width>=601px) and (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.mobile-tab-bar{display:none!important}.icon-rail{background:var(--card);border-right:1px solid var(--line);z-index:150;flex-direction:column;align-items:center;gap:6px;width:72px;padding:16px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.ir-logo{margin-bottom:6px}.ir-logo img{width:auto;height:30px;display:block}.ir-btn{width:48px;height:48px;min-height:44px;color:var(--mut);background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:0;font-size:18px;display:flex}.ir-btn svg{width:18px;height:18px;display:block}.ir-btn:hover{background:var(--card2);color:var(--tx)}.ir-btn.active{background:var(--tx);color:var(--bg)}.ir-bell{width:48px;height:48px;min-height:44px;color:var(--mut);background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:0;font-size:16px;display:flex;position:relative}.ir-bell:hover{background:var(--card2);color:var(--tx)}.ir-bell .notif-badge{top:4px;right:4px}.ir-avatar{background:var(--teal);color:#fff;cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;margin-top:4px;font-size:13px;font-weight:800;display:flex}body[data-sidebar=hidden] .main-content,body[data-sidebar=collapsed] .main-content,body[data-sidebar=open] .main-content,body[data-sidebar] .main-content,body .main-content,.main-content{width:calc(100% - 72px)!important;margin-left:72px!important}.side-menu{left:72px!important}.mobile-menu-button{bottom:20px;left:86px}}.mobile-more-sheet.hidden{display:none}@media (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.mobile-more-sheet{z-index:300;display:block;position:fixed;inset:0}.mms-backdrop{background:#0f0e0c73;position:absolute;inset:0}.mms-panel{background:var(--card);max-height:82vh;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #00000038}.mms-handle{background:var(--line);border-radius:99px;width:36px;height:4px;margin:2px auto 12px}.mms-profile{align-items:center;gap:10px;margin-bottom:12px;display:flex}.mms-avatar{background:var(--teal);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:800;display:flex}.mms-name{font-size:15px;font-weight:800}.mms-email{color:var(--mut)}.mms-list{background:var(--card2);border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}.mms-item{text-align:left;border:none;border-bottom:1px solid var(--lineSoft);width:100%;color:var(--tx);background:0 0;border-radius:0;align-items:center;margin:0;padding:12px 14px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.mms-item:last-child{border-bottom:none}.mms-item:hover{background:var(--card2)}.mms-item .small{color:var(--mut);margin-left:auto;font-weight:400}.mms-logout{border:1px solid var(--line);background:var(--card2);width:100%;height:48px;color:var(--accText);border-radius:8px;margin:4px 0 0;font-size:13.5px;font-weight:700}.mms-version{text-align:center;color:var(--mut);padding:10px 0 0}}@media (width>=601px) and (width<=1210px),(width>=1211px) and (width<=1366px) and (pointer:coarse){.mms-pages{display:none}}@media (width<=600px){:is(table:has(#leadsTableBody) thead,table:has(#jobsTableBody) thead,table:has(#activeWorkOrdersBody) thead,table:has(#stockTableBody) thead){display:none}:is(table:has(#leadsTableBody),table:has(#jobsTableBody),table:has(#activeWorkOrdersBody),table:has(#stockTableBody)){background:0 0;border:none;width:100%;display:block}#leadsTableBody,#jobsTableBody,#activeWorkOrdersBody,#stockTableBody{display:block}#leadsTableBody tr,#jobsTableBody tr,#activeWorkOrdersBody tr,#stockTableBody tr{background:var(--card);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:3px 10px;margin-bottom:8px;padding:12px 14px;display:flex}#leadsTableBody td,#jobsTableBody td,#activeWorkOrdersBody td,#stockTableBody td{border:0;min-width:0;padding:2px 0;font-size:13px;display:block}#leadsTableBody td:empty,#jobsTableBody td:empty,#activeWorkOrdersBody td:empty,#stockTableBody td:empty{display:none}#activeWorkOrdersBody td:first-child{flex:100%;order:9}#activeWorkOrdersBody td:first-child .open-btn{width:100%;height:40px}#activeWorkOrdersBody td:nth-child(2){order:0}#leadsTableBody td:first-child{order:1}#leadsTableBody td:nth-child(2){flex:100%;order:0;font-size:14.5px}#leadsTableBody td:nth-child(3){order:2;margin-left:auto}#leadsTableBody td:nth-child(4){color:var(--mut);flex:100%;order:3}#leadsTableBody td:nth-child(4):before{content:"Suburb: "}#leadsTableBody td:nth-child(5){color:var(--mut);order:4;font-size:12px}#leadsTableBody td:nth-child(5):before{content:"Source: "}#leadsTableBody td:nth-child(6){color:var(--mut);order:5;margin-left:auto;font-size:12px}#leadsTableBody td:nth-child(7){flex:100%;order:6}#leadsTableBody td:nth-child(8){text-align:right;flex:100%;order:7}#jobsTableBody td:nth-child(2),#jobsTableBody td:nth-child(6),#jobsTableBody td:nth-child(7),#jobsTableBody td:nth-child(9),#jobsTableBody td:nth-child(12),#jobsTableBody td:nth-child(13),#jobsTableBody td:nth-child(15){display:none}#jobsTableBody td:nth-child(3){flex:100%;order:0;font-size:14.5px;font-weight:700}#jobsTableBody td:nth-child(4){order:1}#jobsTableBody td:nth-child(5){order:2;margin-left:auto}#jobsTableBody td:nth-child(8){flex:auto;order:3;font-weight:700}#jobsTableBody td:nth-child(10){text-align:right;color:var(--mut);flex:auto;order:4;font-size:12px}#jobsTableBody td:nth-child(10):before{content:"Updated ";text-transform:lowercase}#jobsTableBody td:nth-child(11){order:5}#jobsTableBody td:nth-child(14){color:var(--accText);order:6;font-weight:700}#jobsTableBody td:nth-child(14):not(:empty):before{content:"Review: "}#jobsTableBody td:first-child{flex:100%;order:7;margin-top:4px}#jobsTableBody td:first-child .open-btn{width:100%;height:40px}#stockTableBody td:first-child{color:var(--mut);order:1;font-size:11.5px}#stockTableBody td:nth-child(2){flex:100%;order:0;font-size:14.5px;font-weight:700}#stockTableBody td:nth-child(3){order:2}#stockTableBody td:nth-child(3):before{content:"On hand: "}#stockTableBody td:nth-child(4){order:3;margin-left:8px}#stockTableBody td:nth-child(4):before{content:"Allocated: "}#stockTableBody td:nth-child(5){order:4;margin-left:auto}#stockTableBody td:nth-child(5):before{content:"Avail: "}#stockTableBody td:nth-child(6){display:none}#stockTableBody td:nth-child(7){flex:100%;order:5}.mat-step-btn{width:44px;height:44px;min-height:44px;font-size:20px}.mat-mini{width:40px;height:40px;min-height:40px}}.jobs-page-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.jobs-page-head h1{letter-spacing:-.01em;margin:0;font-size:26px}.jobs-page-sub{color:var(--mut);font-size:13.5px}.recent-quotes-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.recent-quotes-label{color:var(--mut);flex:none;font-size:12px;font-weight:600}.recent-quotes-strip{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.recent-quotes-strip button{border:1px solid var(--line);background:var(--card);color:var(--tx);cursor:pointer;white-space:nowrap;border-radius:99px;margin:0;padding:4px 14px;font-family:inherit;font-size:12.5px;font-weight:600}.recent-quotes-strip button:hover{border-color:var(--acc);color:var(--acc)}@media (width<=600px){.recent-quotes-row{flex-wrap:nowrap}.recent-quotes-strip{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.recent-quotes-strip::-webkit-scrollbar{display:none}.recent-quotes-strip button{flex:none}}.jobs-subtabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.jobs-subtab-btn{border-radius:7px;padding:8px 20px;font-size:13.5px;font-weight:700}.jobs-subtabs-right{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.jobs-search{border:1px solid var(--line);background:var(--card);border-radius:99px;align-items:center;gap:6px;min-width:0;padding:0 12px;display:flex}.jobs-search-icon{color:var(--mut);font-size:14px}.jobs-search input{width:170px;max-width:40vw;min-height:30px;color:var(--tx);box-shadow:none;background:0 0;border:0;outline:none;padding:4px 0;font-size:12.5px}.jobs-search:focus-within{border-color:var(--acc)}.jobs-card{padding:0;overflow:hidden}.jobs-card-head{border-bottom:1px solid var(--lineSoft);flex-wrap:wrap;align-items:baseline;gap:8px;padding:14px 18px;display:flex}.jobs-card-head h2{margin:0;font-size:15.5px;font-weight:700}.jobs-card-sub{color:var(--mut);font-size:12px}.jobs-card .table-wrap{border:0;border-radius:0;max-height:calc(100vh - 320px)}.jobs-card table{font-size:13.5px}.jobs-card thead th{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:var(--card);z-index:2;padding:9px 12px;font-size:11.5px;font-weight:700;position:sticky;top:0}.jobs-card td{vertical-align:middle;padding:8px 12px}.jobs-card thead th:first-child,.jobs-card td:first-child{padding-left:18px}.jobs-card thead th .th-sort{display:inline-block}.jobs-card thead th .th-sort:focus-visible{outline:var(--focus-ring,2px solid var(--accent));outline-offset:2px;border-radius:4px}.col-filter-btn{min-height:auto;color:var(--mut);cursor:pointer;vertical-align:middle;background:0 0;border:1px solid #0000;border-radius:5px;margin:0 0 0 6px;padding:0 4px;font-size:10px;font-weight:700;line-height:1.5}.col-filter-btn:hover{background:var(--btn-hover);color:var(--text)}.col-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.jobs-card thead th.col-filtered{color:var(--accent-hover)}.col-filter-menu{z-index:400;background:var(--card);min-width:210px;max-width:320px;max-height:340px;color:var(--text);border:1px solid var(--border);box-shadow:0 12px 34px var(--overlay-shadow,#00000038);border-radius:10px;padding:5px;position:fixed;overflow:auto}.col-filter-opt{cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:5px 7px;font-size:12.5px;font-weight:400;display:flex}.col-filter-opt:hover{background:var(--row-hover)}.col-filter-opt input{flex:none;width:auto;min-height:auto;margin:0}.col-filter-opt-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.col-filter-opt-count{color:var(--mut);flex:none;font-size:11px}.col-filter-foot{border-top:1px solid var(--border);justify-content:flex-end;margin-top:4px;padding-top:4px;display:flex}.col-filter-foot button{min-height:auto;color:var(--text-soft);border:1px solid var(--border);background:0 0;border-radius:6px;margin:0;padding:4px 10px;font-size:12px}.col-filter-foot button:hover{background:var(--btn-hover);color:var(--text)}.jobs-card thead th:last-child,.jobs-card td:last-child{padding-right:18px}.jobs-card .col-num{text-align:right}.jobs-card .col-review:not(:empty){color:var(--accText);font-weight:700}.jobs-card .job-row{cursor:pointer}.jobs-card-foot{color:var(--mut);border-top:1px solid var(--lineSoft);background:var(--card2);flex-wrap:wrap;align-items:center;gap:8px;padding:9px 18px;font-size:12.5px;display:flex}.jobs-card-foot button{margin:0}@media (width>=601px){#quotesPage:not(.jobs-cols-full) .col-extra,#quotesPage:not(.jobs-cols-full) #quotesTableCard .col-open{display:none}}.leads-layout{grid-template-columns:1.55fr .85fr;align-items:start;gap:12px;display:grid}@media (width<=1100px){.leads-layout{grid-template-columns:1fr}}.leads-table-col{min-width:0}#leadsTableCard .table-wrap{max-height:calc(100vh - 250px)}#leadsTableCard tbody tr{cursor:pointer}@media (width>=601px){#leadsPage .col-extra{display:none}}.lead-filter-chip{border:1px solid var(--line);background:var(--card);color:var(--mut);border-radius:999px;margin:0;padding:4px 14px;font-size:12.5px;font-weight:600}.lead-filter-chip.on{font-weight:700}.lead-filter-chip.on.lead-chip-new{background:var(--tealSoft);border-color:var(--teal);color:var(--teal)}.lead-filter-chip.on.lead-chip-contacted{background:var(--warnSoft);border-color:var(--warnC);color:var(--warnC)}.lead-filter-chip.on.lead-chip-quoted{background:var(--okSoft);border-color:var(--ok);color:var(--ok)}.lead-filter-chip.on.lead-chip-won,.lead-filter-chip.on.lead-chip-lost,.lead-filter-chip.on.lead-chip-spam{background:var(--card2);border-color:var(--mut);color:var(--tx)}.lead-suburb-cell,.lead-received-cell{color:var(--mut)}.lead-received-cell{white-space:nowrap;font-size:12.5px}.lead-editor{align-self:start;max-height:calc(100vh - 90px);position:sticky;top:72px;overflow-y:auto}@media (width<=1100px){.lead-editor{max-height:none;position:static}}.lead-editor-head{border-bottom:1px solid var(--lineSoft);align-items:center;gap:8px;padding:14px 18px;display:flex}.lead-editor-avatar{background:var(--accSoft);width:36px;height:36px;color:var(--accText);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.lead-editor-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;overflow:hidden}.lead-editor-meta{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lead-editor-head .lead-status-badge{flex:none;margin-left:auto}.lead-editor-body{flex-direction:column;gap:9px;padding:14px 18px;display:flex}.lead-editor-body label{color:var(--text-soft);margin:0 0 3px;font-size:11px;display:block}.lead-field-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lead-field-grid input,.lead-field-grid select{box-sizing:border-box;width:100%}.lead-field-wide{grid-column:1/-1}.lead-followup-box{border:1px solid var(--acc);background:var(--accSoft);border-radius:7px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.lead-followup-current{color:var(--accText);font-size:12.5px;font-weight:700}.lead-followup-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lead-followup-controls input[type=date]{background:var(--card);flex:110px;width:auto;min-width:0}.lead-followup-controls input[type=text]{background:var(--card);flex:2 130px;width:auto;min-width:0}.lead-followup-controls button{margin:0}.lead-followup-save{background:var(--acc);color:#fff;border:none;font-weight:700}.lead-followup-save:hover{opacity:.9;background:var(--acc)}.lead-editor-actions{border-top:1px solid var(--lineSoft);flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.lead-editor-actions button{margin:0}.lead-save-btn{background:var(--tx);color:var(--bg);border:none;padding:8px 18px;font-weight:700}.lead-save-btn:hover{opacity:.9;background:var(--tx);color:var(--bg)}.lead-sm8-btn{border:1px solid var(--teal);background:var(--tealSoft);color:var(--teal);margin-left:auto;font-weight:700}.lead-sm8-btn:hover{opacity:.85;background:var(--tealSoft);color:var(--teal)}#quoteOutlinePanel{padding:8px}#quoteOutlinePanel .job-panel-eyebrow{letter-spacing:.07em;margin-bottom:0;padding:6px 12px;font-size:10.5px}#quoteOutline.quote-outline{gap:2px;font-size:12.5px}#quoteOutline .outline-item{color:var(--mut);border:none;border-radius:6px;gap:6px;padding:7px 12px;font-weight:600}#quoteOutline .outline-child{margin-left:0}#quoteOutline .outline-item:hover{background:var(--card2);color:var(--tx)}#quoteOutline .outline-child.open{background:var(--tx);color:var(--bg);font-weight:700}#quoteOutline .outline-child.open:hover{background:var(--tx);color:var(--bg)}#quoteOutline .outline-label{flex:auto;order:1;min-width:0}#quoteOutline .outline-check{color:#0000;background:0 0;border:none;border-radius:4px;order:2;width:auto;height:auto;margin-left:auto;padding:0 2px;font-size:11px;font-weight:800}#quoteOutline .outline-item:hover .outline-check{color:var(--mut)}#quoteOutline .outline-item.done .outline-check{color:var(--ok);background:0 0;border:none}#quoteOutline .outline-item.done .outline-label{color:inherit}#quoteOutline .outline-item.later .outline-check{color:var(--warnC);background:0 0;border:none}#quoteOutline .outline-item.later .outline-label{color:inherit}#quoteOutline .outline-child.open .outline-check{color:var(--bg)}#quoteOutline .outline-child.open.done .outline-check{color:var(--ok)}.settings-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (width<=900px){.settings-layout{grid-template-columns:1fr}}.settings-nav{flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:72px}@media (width<=900px){.settings-nav{flex-direction:row;position:static;overflow-x:auto}}.settings-nav-item{text-align:left;color:var(--mut);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600}.settings-nav-item:hover{background:var(--card2);color:var(--tx)}.settings-nav-item.active{background:var(--tx);color:var(--bg);font-weight:700}.settings-content{min-width:0}.theme-mode-buttons{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.theme-mode-buttons button{border:1px solid var(--line);background:var(--card2);color:var(--tx);border-radius:8px;margin:0;padding:9px 18px;font-size:13px;font-weight:600}.theme-mode-buttons button.active{background:var(--tx);color:var(--bg);border-color:var(--tx);font-weight:700}.team-add-btn{background:var(--acc);color:#fff;border:none;border-radius:6px;margin-left:auto;padding:7px 14px;font-size:12.5px;font-weight:700}.team-add-btn:hover{opacity:.9;background:var(--acc);color:#fff}.team-avatar{background:var(--tealSoft);width:26px;height:26px;color:var(--teal);vertical-align:middle;border-radius:50%;place-items:center;margin-right:4px;font-size:10.5px;font-weight:800;display:inline-grid}.team-role-chip{background:var(--tealSoft);color:var(--teal);white-space:nowrap;border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:700;display:inline-block}.team-role-chip.team-role-admin{background:var(--accSoft);color:var(--accText)}.team-role-chip.team-role-read_only{background:var(--card2);color:var(--mut);border:1px solid var(--line)}.team-role-chip.team-role-finance{background:var(--warnSoft);color:var(--warnC)}.team-role-chip.team-role-installer{background:var(--card2);color:var(--mut);border:1px dashed var(--line)}.team-status-chip{border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:700;display:inline-block}.team-status-chip.active{background:var(--okSoft);color:var(--ok)}.team-status-chip.inactive{background:color-mix(in srgb, var(--danger) 14%, var(--card));color:var(--danger)}.model-version-chip{background:var(--tealSoft);color:var(--teal);white-space:nowrap;border-radius:99px;margin-left:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}#teamManagementCard .table-wrap{max-height:none}.staff-modal-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;margin:2px 0 12px;padding-bottom:8px;display:flex}.staff-modal-tab{color:var(--mut);border:1px solid var(--line);background:0 0;border-radius:999px;margin:0;padding:6px 13px;font-size:12.5px;font-weight:600}.staff-modal-tab:hover:not(.active){background:var(--card2);color:var(--tx)}.staff-modal-tab.active{background:var(--tx);color:var(--bg);border-color:var(--tx)}.staff-modal-panel{display:none}.staff-modal-panel.active{display:block}.staff-leave-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:7px 10px;font-size:12.5px;display:flex}.staff-leave-row button{margin:0;padding:3px 9px;font-size:11.5px}.sched-suggest-btn{background:var(--acc);color:#fff;border:none;border-radius:99px;margin:0;padding:6px 16px;font-size:12.5px;font-weight:700}.sched-suggest-btn:hover{opacity:.9;background:var(--acc);color:#fff}.sched-card{margin-bottom:12px}.sb-wg-legend{color:var(--mut);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.sb-wg-legend>span{align-items:center;gap:6px;display:flex}.sb-gl-swatch{box-sizing:border-box;border-radius:3px;width:22px;height:10px;display:inline-block}.sb-wg-controls button{margin:0}.sb-wg-viewseg{background:var(--card2);border:1px solid var(--line);border-radius:99px;gap:2px;padding:2px;display:flex}.sb-wg-viewseg .sb-cal-view-btn{color:var(--mut);background:0 0;border:none;border-radius:99px;min-height:0;margin:0;padding:3px 12px;font-size:12px;font-weight:600}.sb-wg-viewseg .sb-cal-view-btn.active{background:var(--tx);color:var(--bg);font-weight:700}.sb-wg-scroll{border:1px solid var(--line);border-radius:8px;margin-top:8px;overflow-x:auto}.sb-wg{min-width:900px}.sb-wg-head{grid-template-columns:220px repeat(var(--gantt-weeks,6),1fr);border-bottom:1px solid var(--line);background:var(--card);display:grid}.sb-wg-headcell{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;text-align:center;border-left:1px solid var(--lineSoft);padding:10px 8px;font-size:11.5px;font-weight:700}.sb-wg-headcell:first-child{border-left:0}.sb-wg-jobhead{text-align:left;padding-left:18px}.sb-wg-row{border-bottom:1px solid var(--lineSoft);grid-template-columns:220px 1fr;align-items:center;display:grid}.sb-wg-row:last-child{border-bottom:0}.sb-wg-row:hover{background:var(--card2)}.sb-wg-jobcell{min-width:0;padding:8px 18px}.sb-wg-joblink{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.sb-wg-joblink:hover{color:var(--accText)}.sb-wg-jobmeta{color:var(--mut);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.sb-wg-barcell{border-left:1px solid var(--lineSoft);background-image:repeating-linear-gradient(to right,transparent,transparent calc(100%/var(--gantt-weeks,6) - 1px),var(--lineSoft) calc(100%/var(--gantt-weeks,6) - 1px),var(--lineSoft) calc(100%/var(--gantt-weeks,6)));position:relative}.sb-wg-bar{color:#fff;white-space:nowrap;box-sizing:border-box;cursor:pointer;background:var(--teal);border-radius:4px;align-items:center;padding:0 8px;font-size:10.5px;font-weight:700;display:flex;position:absolute;overflow:hidden}.sb-wg-bar.sb-bar-generic{background:var(--teal)}.sb-wg-bar.sb-pencilled{opacity:.6;background-image:repeating-linear-gradient(45deg,#ffffff59 0 4px,#0000 4px 8px)}.sb-wg-bar.sb-cal-ghost{background:var(--accSoft);color:var(--accText);border:1.5px dashed var(--acc)}@media (width<=900px){.sb-wg{min-width:760px}.sb-wg-head,.sb-wg-row{grid-template-columns:150px 1fr}.sb-wg-jobcell,.sb-wg-jobhead{padding-left:10px}}.email-tpl-toggle-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px;font-size:12px}.email-tpl-toggle-btn.active{background:var(--acc,#a5713c);border-color:var(--acc,#a5713c);color:#fff}.email-tpl-preview{border:1px solid var(--border);background:var(--panel);border-radius:10px;margin-top:10px;padding:14px 16px;font-size:13px;line-height:1.55}.email-tpl-preview p{margin:0 0 10px}.email-tpl-preview p:last-child{margin-bottom:0}.email-tpl-preview-btn{background:var(--acc,#a5713c);color:#fff;border-radius:999px;padding:9px 20px;font-size:13px;font-weight:700;display:inline-block}.agreement-clauses{margin:10px 0 4px}.agreement-clause{border-top:1px solid var(--border);padding:12px 0}.agreement-clause:first-child{border-top:none}.agreement-clause-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.agreement-clause-head input{flex:240px;margin:0;font-weight:600}.agreement-clause-head button{flex:none;padding:6px 11px;font-size:12px}.agreement-clause-no{text-align:right;min-width:24px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.agreement-clause-h{margin:0 0 5px;font-size:14px}.agreement-clause textarea{margin-top:7px}.agreement-adopt{border:1px solid var(--warnC,#b8860b);background:color-mix(in srgb,var(--warnC,#b8860b) 8%,transparent);border-radius:10px;margin:10px 0;padding:12px 14px}.onsite-markup-overlay{z-index:500;background:var(--bg,#111);flex-direction:column;display:flex;position:fixed;inset:0}.onsite-markup-toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.onsite-markup-colors{gap:6px;display:flex}.onsite-markup-color{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.onsite-markup-color.active{border-color:var(--text)}.onsite-markup-eraser.active{background:var(--accent);color:#fff;border-color:var(--accent)}.onsite-markup-canvas-wrap{background:#2a2a2a;flex:1;justify-content:center;align-items:flex-start;padding:10px;display:flex;position:relative;overflow:auto}.onsite-markup-canvas{touch-action:none;background:#fff;max-width:100%;height:auto;box-shadow:0 4px 20px #0006}@media (width<=600px){.onsite-markup-hint{display:none}}.onsite-markup-tool{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.onsite-markup-tool.active{background:var(--accent);color:#fff;border-color:var(--accent)}.onsite-dim-input{z-index:5;background:#fff;border:2px solid #e6431e;border-radius:10px;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000059}.onsite-dim-input input{text-align:right;color:#111;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:78px;font-size:18px;font-weight:700}.onsite-dim-input .onsite-dim-unit{color:#c0350f;font-size:13px;font-weight:700}.onsite-dim-input .onsite-dim-ok{color:#fff;cursor:pointer;background:#e6431e;border:none;border-radius:8px;width:30px;height:30px;font-size:16px;font-weight:800}.selc-page{max-width:1160px}.selc-header{margin-bottom:10px}.selc-lockednote{background:var(--accent-soft);border:1px solid var(--accent-soft-border);border-radius:10px;margin:0 0 14px;padding:8px 14px}.selc-reqcard{margin-bottom:16px}.selc-req-thumb{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:8px;flex:none;width:44px;height:44px}.proposal-section.selc-reccard{border-left:3px solid var(--accent);background:var(--accent-soft);margin-bottom:16px}.selc-recline{flex-wrap:wrap;align-items:center;gap:10px}.selc-rec-note{color:var(--text-soft);max-width:46ch;margin-top:2px;font-style:italic}.selc-side-recs{border-top:1px solid var(--border);color:var(--accent);border-radius:0;margin-top:6px;padding-top:12px;font-weight:700}.selc-pills{z-index:5;background:var(--bg);flex-wrap:wrap;gap:8px;margin:0 0 4px;padding:10px 0;display:flex;position:sticky;top:0}.selc-pill{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.selc-pill:hover{border-color:var(--accent)}.selc-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.selc-pill-count{opacity:.65;margin-left:2px;font-size:12px;font-weight:500}.selc-allowance{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:6px 0 10px;padding:8px 14px}.selc-chips{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.selc-chip{border:1px solid var(--border);background:var(--card);color:var(--text-soft);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px}.selc-chip:hover{border-color:var(--accent)}.selc-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:600}.selc-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.selc-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.selc-card:hover,.selc-card:focus-visible{border-color:var(--accent);box-shadow:0 2px 10px #00000014}.selc-card:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}.selc-card-nofit{opacity:.62}.selc-card-img{object-fit:contain;box-sizing:border-box;background:#fff;width:100%;height:150px;padding:8px;display:block}.selc-card-noimg{background:var(--panel);width:100%;height:150px;color:var(--mut);justify-content:center;align-items:center;font-size:12px;display:flex}.selc-card-body{padding:10px 12px 12px}.selc-card-name{min-height:2.6em;font-size:13px;font-weight:600;line-height:1.35}.selc-card-dims{color:var(--mut);min-height:1.2em;margin:3px 0 0}.selc-card-fit{margin:6px 0 0}.selc-card-price{margin-top:7px;font-size:14px;font-weight:700}.selc-card-price.selc-included{color:var(--success,#3f6236)}.selc-card-requested{color:var(--success,#3f6236);margin-top:3px;font-weight:600}.selc-heart{z-index:2;border:1px solid var(--border);background:var(--card);color:var(--text-soft);cursor:pointer;border-radius:999px;width:32px;height:32px;font-size:16px;line-height:1;position:absolute;top:8px;right:8px}.selc-heart:hover{border-color:var(--accent);color:var(--accent)}.selc-heart.on{color:#c0392b;border-color:#c0392b}.selc-badge{border:1px solid var(--border);background:var(--panel);color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:999px;max-width:100%;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.selc-badge-fits{color:var(--success,#3f6236);background:#3f62361f;border-color:#3f623666}.selc-badge-nofit{color:#963c28;background:#963c2814;border-color:#963c2859}:root[data-theme=dark] .selc-badge-nofit{color:#e58b70}.selc-badge-unknown,.selc-badge-wait{color:var(--text-soft)}.selc-drawerbar{z-index:20;position:fixed;bottom:18px;right:18px}.selc-drawerbtn{box-shadow:0 4px 16px #00000038}.selc-ghost{color:var(--accent);background:0 0}.selc-modal{z-index:40;background:#00000073;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.selc-modal-card{background:var(--card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:760px;max-height:88vh;padding:20px;position:relative;overflow:auto}.selc-modal-close{color:var(--text-soft);cursor:pointer;background:0 0;border:0;font-size:26px;line-height:1;position:absolute;top:10px;right:12px}.selc-modal-grid{grid-template-columns:280px 1fr;gap:18px;display:grid}.selc-modal-img{object-fit:contain;border:1px solid var(--border);box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-height:280px;padding:8px}.selc-modal-desc{color:var(--text-soft);margin-top:12px;line-height:1.55}.selc-dims-table{border-collapse:collapse;margin-top:6px;font-size:13px}.selc-dims-table td{color:var(--text-soft);padding:3px 14px 3px 0}.selc-dims-table td+td{color:var(--text)}@media (width<=700px){.selc-modal-grid{grid-template-columns:1fr}.selc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.selc-card-img,.selc-card-noimg{height:120px}}.selc-topbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;margin:0 0 6px;padding:10px 0;display:flex;position:sticky;top:0}.selc-topbar-title{text-align:center;flex:1;font-size:15px;font-weight:700}.selc-topbar-title .small{color:var(--mut);margin-left:8px;font-weight:400}.selc-back{white-space:nowrap}.selc-shell{grid-template-columns:1fr;align-items:start;gap:0 24px;display:grid}.selc-side{display:none}.selc-pills{top:52px}@media (width>=768px){.selc-shell{grid-template-columns:224px minmax(0,1fr)}.selc-pills{display:none}.selc-side{display:block;position:sticky;top:64px}.selc-sidenav{gap:4px;display:grid}.selc-sideitem{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.selc-sideitem:hover{background:var(--panel)}.selc-sideitem:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}.selc-sideitem.active{background:var(--accent);color:#fff}.selc-sideitem.active .selc-side-count{color:#ffffffbf}.selc-side-count{color:var(--mut);font-size:12px;font-weight:500}.selc-side-reqs{border-top:1px solid var(--border);border-radius:0;margin-top:6px;padding-top:12px}}@media (width<=520px){.selc-topbar-title{display:none}.selc-topbar{justify-content:space-between}}.jd-wrap{flex-direction:column;gap:16px;display:flex}.jd-empty{color:var(--mut);padding:18px 4px;font-size:14px}.jd-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.jd-title{letter-spacing:-.02em;margin:0;font-size:clamp(22px,3vw,29px);font-weight:600;line-height:1.15}.jd-sub{color:var(--mut);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:14px;display:flex}.jd-sub-dot{background:var(--mut);opacity:.6;border-radius:50%;width:3px;height:3px}.jd-value{color:var(--mut);text-align:right;font-size:13px}.jd-value strong{color:var(--tx);font-variant-numeric:tabular-nums}.jd-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--cardShadow);border-radius:12px;overflow:hidden}.jd-card-pad{padding:16px 18px}.jd-card-pad h3{margin:0 0 10px;font-size:15px;font-weight:600}.jd-card-head{justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px 12px;display:flex}.jd-card-head h3{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.jd-card-note{color:var(--mut);font-size:12.5px}.jd-card-note strong{color:var(--tx);font-variant-numeric:tabular-nums}.jd-card-foot{border-top:1px solid var(--lineSoft);padding:10px 20px 14px}.jd-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-size:11.5px;font-weight:600}.jd-next{padding:18px 20px}.jd-next-line{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:8px;display:flex}.jd-next-head{letter-spacing:-.01em;font-size:clamp(17px,2.1vw,21px);font-weight:600;line-height:1.3}.jd-chip{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.jd-chip-ok{background:var(--okSoft);color:var(--ok)}.jd-chip-warn{background:var(--warnSoft);color:var(--warnC)}.jd-chip-teal{background:var(--tealSoft);color:var(--teal)}.jd-chip-acc{background:var(--accSoft);color:var(--accText)}.jd-chip-danger{background:var(--accent-soft);color:var(--danger)}.jd-chip-mut{background:var(--lineSoft);color:var(--mut)}.jd-ladder-card{padding:22px 20px 18px}.jd-ladder{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:18px 0;display:grid}.jd-stage{min-width:0}.jd-stage-track{align-items:center;display:flex}.jd-stage-line{background:var(--line);flex:1;height:2px}.jd-stage-line-end{background:0 0}.jd-stage-dot{background:var(--card);border:2px solid var(--line);box-sizing:border-box;border-radius:50%;flex:none;width:11px;height:11px}.jd-stage-done .jd-stage-dot{background:var(--ok);border-color:var(--ok)}.jd-stage-done .jd-stage-line{background:var(--ok);opacity:.5}.jd-stage-done .jd-stage-line-end{background:0 0}.jd-stage-current .jd-stage-dot{background:var(--acc);border:4px solid var(--accSoft);width:16px;height:16px;box-shadow:0 0 0 2px var(--accSoft)}.jd-stage-current .jd-stage-line-l{background:var(--ok);opacity:.5}.jd-stage-label{padding:10px 12px 0 0;font-size:13px;font-weight:500;line-height:1.3}.jd-stage-meta{color:var(--mut);font-variant-numeric:tabular-nums;margin-top:2px;padding-right:12px;font-size:12.5px}.jd-stage-current .jd-stage-label{color:var(--accText);font-weight:700}.jd-stage-current .jd-stage-meta{color:var(--accText);font-weight:500}.jd-stage-todo .jd-stage-label{color:var(--mut);font-weight:400}.jd-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-items:start;gap:16px;display:grid}.jd-col{flex-direction:column;gap:16px;min-width:0;display:flex}.jd-grid-2{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px;display:grid}.jd-row{border-top:1px solid var(--lineSoft);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:11px 20px;display:flex}.jd-row-name{flex:140px;min-width:0;font-size:14px;font-weight:500}.jd-row-chip{flex:none}.jd-row-meta{color:var(--mut);flex:140px;min-width:0;font-size:13px}.jd-row-actions{gap:6px;margin-left:auto;display:flex}.jd-row-missing .jd-row-name{color:var(--mut);font-weight:400}.jd-row-portal{background:var(--card2)}.jd-doc-noaction{color:var(--mut);font-size:12.5px}.jd-pay-amount{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 84px;font-size:14px;font-weight:500}.jd-pay-state{flex:130px;justify-content:flex-end;display:flex}.jd-row-pay.jd-row-missing .jd-pay-amount{color:var(--mut);font-weight:400}.jd-paybar{background:var(--lineSoft);border-radius:999px;height:5px;margin:0 20px 12px;display:flex;overflow:hidden}.jd-paybar-paid{background:var(--ok)}.jd-paybar-inv{background:var(--warnC);opacity:.85}.jd-btn{cursor:pointer;border-radius:7px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.jd-btn-soft{background:var(--card2);border:1px solid var(--line);color:var(--tx)}.jd-btn-ghost{color:var(--mut);background:0 0;border:1px solid #0000}.jd-btn:hover{border-color:var(--acc);color:var(--accText);text-decoration:none}.jd-btn:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:2px}.jd-act{border-top:1px solid var(--lineSoft);gap:12px;padding:11px 20px;display:flex}.jd-act-dot{background:var(--line);border-radius:50%;flex:none;width:7px;height:7px;margin-top:6px}.jd-act-done .jd-act-dot{background:var(--ok)}.jd-act-attention{background:var(--warnSoft)}.jd-act-attention .jd-act-dot{background:var(--warnC)}.jd-act-attention .jd-act-when{color:var(--warnC);font-weight:500}.jd-act-attention .jd-act-title{font-weight:600}.jd-act-body{min-width:0}.jd-act-title{font-size:14px}.jd-act-when{color:var(--mut);margin-top:2px;font-size:12.5px}.jd-act-quote{color:var(--text-soft);margin-top:5px;font-size:13px;line-height:1.45}.jd-mat-chip{margin-bottom:10px}.jd-mat-ok{color:var(--mut);font-size:13.5px}.jd-blockers{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5}.jd-date-row{justify-content:space-between;gap:10px;padding:5px 0;font-size:13.5px;display:flex}.jd-date-row span:first-child{color:var(--mut)}.jd-date-row strong{font-variant-numeric:tabular-nums;font-weight:500}.selc-search{box-sizing:border-box;border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);font:inherit;border-radius:10px;margin:0 0 10px;padding:9px 12px;font-size:14px}.selc-search:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:1px}.selc-mobilefilters{margin:0 0 12px}.selc-side-refine{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-top:16px;padding:12px}.selc-side-refine .selc-search{background:var(--card)}.selc-refine-group summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);padding:8px 2px 4px;font-size:12px;font-weight:700;list-style:none}.selc-refine-group summary::-webkit-details-marker{display:none}.selc-refine-group summary:after{content:" ▾";font-size:10px}.selc-refine-group[open] summary:after{content:" ▴";font-size:10px}.selc-refine-list{gap:2px;padding:2px 0 6px;display:grid}.selc-refine-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.selc-refine-item:hover{background:var(--card)}.selc-refine-item:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:1px}.selc-refine-item.active{background:var(--accent-soft);font-weight:600}@media (width>=768px){.selc-mobilefilters{display:none}}@media (width<=767px){.selc-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-right:-13px;padding-right:13px;overflow-x:auto}.selc-pills::-webkit-scrollbar{display:none}.selc-pill{flex:none}.selc-header{margin-bottom:12px;padding-bottom:14px}.selc-header .customer-proposal-logo{max-width:84px;margin-bottom:6px}.selc-header h1{font-size:26px}.selc-card-name{min-height:0}}.selc-filterdrawer{margin-top:8px}.selc-filterdrawer>summary{cursor:pointer;color:var(--text);border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;list-style:none;display:inline-flex}.selc-filterdrawer>summary::-webkit-details-marker{display:none}.selc-filterdrawer>summary:after{content:"▾";font-size:10px}.selc-filterdrawer[open]>summary:after{content:"▴"}.selc-filtercount{background:var(--accent);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;line-height:18px}.selc-filterdrawer .selc-chips{margin-top:8px}@media (width>=768px){.selc-side{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100vh - 76px);padding-right:4px;overflow-y:auto}}@media (width>=1440px){.selc-page{max-width:1440px}}.selc-shell{grid-template-columns:minmax(0,1fr)}.selc-main,.selc-pills,.selc-mobilefilters{min-width:0}@media (width>=768px){.selc-shell{grid-template-columns:224px minmax(0,1fr)}}.selc-reqline-open{cursor:pointer;border-radius:10px;margin:0 -8px;padding-left:8px;padding-right:8px}.selc-reqline-open:hover{background:var(--panel)}.selc-reqline-open:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:-2px}.selc-rooms{border:1px solid var(--border);background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;display:flex}.selc-rooms-label{color:var(--mut);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.selc-rooms-chips{flex-wrap:wrap;gap:6px;display:flex}.selc-roomchip{border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.selc-roomchip:hover{border-color:var(--accent)}.selc-roomchip:focus-visible{outline:2px solid var(--focus-ring,var(--accent));outline-offset:1px}.selc-roomchip.active{background:var(--accent);border-color:var(--accent);color:#fff}.sp-list{flex-direction:column;gap:8px;max-width:1100px;display:flex}.sp-empty{color:var(--mut);text-align:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px 16px;font-size:14px}.sp-row{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.sp-row-open{border-color:var(--acc)}.sp-row-main{cursor:pointer;width:100%;font:inherit;color:var(--tx);text-align:left;background:0 0;border:0;grid-template-columns:minmax(150px,1.2fr) auto auto minmax(200px,2fr) auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.sp-row-main:hover{background:var(--card2)}.sp-row-main:focus-visible{outline:2px solid var(--focus-ring,var(--acc));outline-offset:-2px}.sp-job{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.sp-days{color:var(--mut);text-align:right;min-width:32px;font-size:12px;font-weight:700}.sp-needs{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.sp-value{color:var(--tx);white-space:nowrap;text-align:right;min-width:70px;font-size:13px;font-weight:700}.sp-clear{color:var(--mut);font-size:12px}.sp-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:280px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block;overflow:hidden}.sp-chip-acc{background:var(--accSoft);color:var(--accText)}.sp-chip-teal{background:var(--tealSoft);color:var(--teal)}.sp-chip-warn{background:var(--warnSoft,#f6ecd9);color:var(--warn,#9a6b1f)}.sp-chip-danger{background:var(--dangerSoft,#f3ded9);color:var(--danger)}.sp-chip-ok{background:var(--okSoft);color:var(--ok)}.sp-chip-mut{background:var(--card2);color:var(--mut)}.sp-expand{border-top:1px solid var(--lineSoft);background:var(--card2);padding:12px 14px}.sp-ladder{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 16px;display:grid}.sp-lstep{align-items:center;gap:8px;min-width:0;padding:3px 0;font-size:12.5px;display:flex}.sp-ldot{border:2px solid var(--line);background:var(--card);border-radius:50%;flex:none;width:10px;height:10px}.sp-lstep-done .sp-ldot{background:var(--ok);border-color:var(--ok)}.sp-lstep-current .sp-ldot{background:var(--acc);border-color:var(--acc);box-shadow:0 0 0 3px var(--accSoft)}.sp-lstep-skipped .sp-ldot{background:var(--lineSoft);border-color:var(--lineSoft)}.sp-llabel{color:var(--tx);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sp-lstep-current .sp-llabel{font-weight:700}.sp-lstep-skipped .sp-llabel,.sp-lstep-todo .sp-llabel{color:var(--mut)}.sp-lstep-skipped .sp-llabel{font-style:italic}.sp-lmeta{color:var(--mut);white-space:nowrap;margin-left:auto;font-size:11px}.sp-expand-foot{justify-content:flex-end;margin-top:10px;display:flex}.sp-open-job{font:inherit;color:var(--accText);background:var(--card);border:1px solid var(--acc);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:12.5px;font-weight:700}.sp-open-job:hover{background:var(--accSoft)}.sp-open-job:focus-visible{outline:2px solid var(--focus-ring,var(--acc));outline-offset:1px}@media (width<=760px){.sp-row-main{grid-template-columns:1fr auto;grid-auto-rows:auto;row-gap:6px}.sp-needs{grid-column:1/-1}.sp-value{display:none}.sp-ladder{grid-template-columns:1fr}}.rc-empty{color:var(--mut);text-align:center;padding:22px 14px;font-size:13.5px}.rc-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:12px;display:grid}.rc-card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:14px 16px}.rc-grid .rc-card{margin-bottom:0}.rc-card h3{margin:0 0 10px;font-size:14px}.rc-card h3 .rc-mut{font-weight:400}.rc-card-over{border-color:var(--danger)}.rc-kv{justify-content:space-between;align-items:center;gap:10px;padding:3px 0;font-size:13px;display:flex}.rc-kv span:first-child{color:var(--mut)}.rc-note{color:var(--mut);margin-top:8px;font-size:12.5px;font-style:italic}.rc-mut{color:var(--mut);font-size:12px;font-weight:400}.rc-warn-text{color:var(--danger);margin-top:8px;font-size:12.5px;font-weight:600}.rc-over-text{color:var(--danger)}.rc-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.rc-chip-acc{background:var(--accSoft);color:var(--accText)}.rc-chip-teal{background:var(--tealSoft);color:var(--teal)}.rc-chip-warn{background:var(--warnSoft,#f6ecd9);color:var(--warn,#9a6b1f)}.rc-chip-danger{background:var(--dangerSoft,#f3ded9);color:var(--danger)}.rc-chip-mut{background:var(--card2);color:var(--mut)}.rc-meter{background:var(--card2);border:1px solid var(--lineSoft);border-radius:999px;height:10px;margin-bottom:10px;overflow:hidden}.rc-meter-fill{background:var(--teal);height:100%;display:block}.rc-meter-over{background:var(--danger)}.rc-freeze-row{margin:10px 0}.rc-freeze-row label{color:var(--mut);flex-direction:column;gap:4px;max-width:420px;font-size:12.5px;display:flex}.rc-freeze-row input{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--tx);border-radius:6px;padding:7px 10px}.rc-freeze-hint{color:var(--mut);font-size:12px}.rc-btn{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:5px 11px;font-size:12.5px;font-weight:700}.rc-btn:hover{background:var(--card2);border-color:var(--acc)}.rc-btn:focus-visible{outline:2px solid var(--focus-ring,var(--acc));outline-offset:1px}.rc-btn:disabled{opacity:.5;cursor:default}.rc-btn-primary{background:var(--acc);border-color:var(--acc);color:#fff}.rc-btn-primary:hover{background:var(--accText);border-color:var(--accText)}.rc-btn-armed{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.rc-btn-ghost{color:var(--mut);border-color:#0000}.rc-delta{border-top:1px solid var(--lineSoft);grid-template-columns:minmax(180px,2fr) auto auto auto minmax(120px,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.rc-delta-name{min-width:0;font-size:13px;font-weight:600}.rc-delta-money{text-align:right;flex-direction:column;font-size:12.5px;display:flex}.rc-delta-labour{color:var(--mut);align-items:center;gap:6px;font-size:12px;display:flex}.rc-delta-labour input{width:90px;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--tx);border-radius:6px;padding:5px 8px}.rc-delta-note{font:inherit;border:1px solid var(--lineSoft);background:var(--card);color:var(--tx);border-radius:6px;min-width:0;padding:5px 8px;font-size:12px}.rc-delta-actions{flex-wrap:wrap;gap:5px;display:flex}.rc-ledger-row{border-top:1px solid var(--lineSoft);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;font-size:12.5px;display:flex}.rc-ledger-when{color:var(--mut);min-width:78px}.rc-ledger-name{font-weight:600}.rc-ledger-money{margin-left:auto}@media (width<=900px){.rc-delta{grid-template-columns:1fr auto;grid-auto-rows:auto;row-gap:6px}.rc-delta-actions,.rc-delta-note,.rc-delta-labour{grid-column:1/-1}.rc-ledger-money{margin-left:0}}.jd-sp-ladder{padding:14px 16px 6px}.jd-sp-step{font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:3px 6px}.jd-sp-step:hover{background:var(--card2)}.jd-sp-step:focus-visible{outline:2px solid var(--focus-ring,var(--acc));outline-offset:-2px}.jd-sp-selected,.jd-sp-selected:hover{background:var(--accSoft)}.jd-sp-count{color:var(--mut);background:var(--card2);border-radius:999px;flex:none;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700}.jd-sp-count-done{color:var(--ok);background:var(--okSoft)}.jd-sp-panel{border-top:1px solid var(--lineSoft);flex-direction:column;gap:4px;margin-top:8px;padding:12px 16px;display:flex}.jd-sp-panel-title{color:var(--mut);margin-bottom:4px;font-size:12.5px;font-weight:700}.jd-sp-item{cursor:pointer;align-items:center;gap:10px;padding:4px 0;font-size:13px;display:flex}.jd-sp-item input{accent-color:var(--acc);flex:none;width:15px;height:15px}.jd-sp-item-label{min-width:0}.jd-sp-item input:checked~.jd-sp-item-label{color:var(--mut);text-decoration:line-through;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.jd-sp-item-meta{color:var(--mut);white-space:nowrap;margin-left:auto;font-size:11px}.sp-editor{background:var(--card);border:1px solid var(--acc);border-radius:10px;max-width:1100px;margin-bottom:12px;padding:16px}.sp-editor-note{color:var(--mut);margin-bottom:10px;font-size:12.5px}.sp-editor-note code{background:var(--card2);border-radius:4px;padding:1px 5px}.sp-editor-phase{color:var(--tx);flex-direction:column;gap:4px;margin-bottom:10px;font-size:12.5px;font-weight:700;display:flex}.sp-editor-phase textarea{font:inherit;border:1px solid var(--line);background:var(--card2);color:var(--tx);resize:vertical;border-radius:6px;padding:8px 10px;font-size:12.5px;font-weight:400}.sp-editor-foot{justify-content:flex-end;gap:8px;display:flex}.selc-card-img{object-fit:contain;background:#fff;border-radius:8px;max-width:100%;height:210px;margin:0 auto 12px;padding:8px;display:block}.selc-card-rows{flex-direction:column;gap:2px;display:flex}.selc-card-row{border-bottom:1px solid var(--lineSoft);justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;display:flex}.selc-card-row span{color:var(--mut)}.selc-card-row strong{text-align:right}.selc-card-note{color:var(--mut);margin-top:10px;font-style:italic}.jd-act-click{cursor:pointer;border-radius:8px}.jd-act-click:hover{background:var(--card2)}.jd-act-click:focus-visible{outline:2px solid var(--focus-ring,var(--acc));outline-offset:-2px}.cf-controls{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.cf-controls .dash-scope{margin-left:0}select.dash-scope{appearance:auto;flex:none;width:auto;padding:3px 8px}.cf-host{flex-direction:column;gap:6px;display:flex}.cf-hint{border:1px dashed var(--line);color:var(--mut);background:var(--card);border-radius:10px;padding:6px 12px;font-size:13px}.cf-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:var(--card);border-radius:10px;max-height:calc(100dvh - 150px);overflow:auto}.cf-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px;font-family:var(--sans);line-height:1.2}.cf-table thead th{z-index:3;background:var(--card2);color:var(--mut);text-align:center;border-bottom:1px solid var(--line);white-space:nowrap;text-transform:none;letter-spacing:0;vertical-align:bottom;padding:4px 6px;font-size:11.5px;font-weight:600;position:sticky;top:0}.cf-table thead th.cf-first-head{z-index:6;text-align:left}.cf-col-label{display:block}.cf-col-sub{color:var(--mut);font-size:10.5px;font-weight:500;display:block}.cf-col-week{min-width:96px}.cf-col-day{min-width:72px}.cf-col-first{border-left:2px solid var(--line)}.cf-col-now{box-shadow:inset 0 -3px 0 var(--accText)}.cf-expand{float:left;color:var(--accText);cursor:pointer;background:0 0;border:none;border-radius:4px;margin:0 4px 0 -4px;padding:2px 4px;font-family:inherit;font-size:12px;line-height:1}.cf-expand:hover{background:var(--card)}.cf-first{z-index:2;background:var(--card);text-align:left;border-right:1px solid var(--line);border-bottom:1px solid var(--lineSoft);vertical-align:middle;min-width:300px;max-width:360px;padding:3px 8px;font-weight:400;position:sticky;left:0}.cf-line{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.cf-line .cf-toggle{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.cf-line .sp-chip{flex:none;padding:1px 6px;font-size:10px}.cf-cust{font-weight:400}.cf-first-sub{color:var(--mut);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:2px;font-size:11px;display:flex}.cf-cell{border-bottom:1px solid var(--lineSoft);border-right:1px solid var(--lineSoft);text-align:right;white-space:nowrap;vertical-align:top;font-variant-numeric:tabular-nums;padding:3px 6px}.cf-cell span{line-height:1.3;display:block}.cf-in{color:var(--ok);font-weight:600}.cf-out{color:var(--danger);font-weight:600}.cf-st-committed{text-underline-offset:3px;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cf-st-planned{font-weight:500}.cf-st-projection{opacity:.75;font-style:italic;font-weight:400}.cf-st-actual{font-weight:700}.cf-row-balance .cf-first,.cf-row-net .cf-first,.cf-row-total .cf-first,.cf-row-target .cf-first{background:var(--card2)}.cf-row-target .cf-cell{font-weight:700}.cf-target-ok{background:var(--okSoft);color:var(--ok)}.cf-target-low{background:var(--dangerSoft,#f3ded9);color:var(--danger)}:root[data-theme=dark] .cf-target-low{background:#3a2622}.cf-row-balance .cf-cell{background:var(--card2);cursor:pointer;font-weight:700;position:relative}.cf-row-balance .cf-cell:hover{outline:2px solid var(--accText);outline-offset:-2px}.cf-bal-neg{color:var(--danger)}.cf-bal-anchor{color:var(--accText)}.cf-anchor-dot{background:var(--accText);border-radius:50%;width:6px;height:6px;display:block;position:absolute;top:4px;right:4px}.cf-row-net .cf-cell{background:var(--card2)}.cf-row-net .cf-cell strong{color:var(--tx);display:block}.cf-net-neg strong{color:var(--danger)}.cf-row-section .cf-first{background:var(--bg);border-top:1px solid var(--line);padding:4px 8px}.cf-cell-section{background:var(--bg);border-top:1px solid var(--line);color:var(--mut);font-size:11px}.cf-rowsum{white-space:nowrap;gap:6px;margin-left:auto;font-size:11px;display:inline-flex}.cf-rowsum span{display:inline}.cf-toggle{font:inherit;color:var(--tx);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12.5px}.cf-toggle strong{color:var(--accText)}.cf-row-job .cf-first{background:var(--card)}.cf-cell-job{color:var(--mut)}.cf-row-stage .cf-first{background:var(--card);padding-left:22px}.cf-row-stage .cf-first-sub{margin-top:0}.cf-stage-label{font-size:12.5px}.cf-clickable{cursor:pointer}.cf-clickable:hover{outline:2px solid var(--accText);outline-offset:-2px;background:var(--accSoft)}.cf-here{background:var(--card2)}.cf-unplaced{color:var(--warnC);font-weight:600}.cf-orphan .cf-first{box-shadow:inset 3px 0 0 var(--danger)}.cf-dim{color:var(--mut);font-weight:400}.cf-link{color:var(--accText);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0 2px;font-size:11px;text-decoration:underline}.cf-link-danger{color:var(--danger)}.cf-row-total .cf-cell{background:var(--card2);font-weight:700}.cf-legend{color:var(--mut);flex-wrap:wrap;gap:14px;padding:0 4px;font-size:11.5px;display:flex}.cf-legend .cf-in{color:var(--ok)}.cf-panel{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-wrap:wrap;align-items:end;gap:8px 12px;padding:12px 14px;display:flex}.cf-panel strong{width:100%;font-size:14px}.cf-panel label{color:var(--mut);flex-direction:column;gap:3px;font-size:11.5px;display:flex}.cf-panel input,.cf-panel select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--tx);border-radius:6px;min-width:140px;padding:5px 8px;font-size:13px}.cf-panel .dash-scope{margin-left:0}.cf-terms{border-collapse:collapse;width:100%;font-size:12.5px}.cf-terms th,.cf-terms td{text-align:left;border-bottom:1px solid var(--lineSoft);text-transform:none;padding:4px 8px}.cf-terms input{width:70px;min-width:0}.cf-terms select{min-width:0}@media (width<=900px){.cf-first{min-width:200px;max-width:240px}.cf-scroll{max-height:calc(100dvh - 240px)}}.pdf-page-card{border:1px solid var(--lineSoft);background:#fff;border-radius:10px;margin:0 0 14px;padding:6px;box-shadow:0 1px 2px #0000000f}.pdf-page-card canvas{border-radius:6px;width:100%;height:auto;display:block}.pdf-page-card figcaption{text-align:right;color:var(--muted);padding:4px 6px 0}.final-change-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.final-change-list li{border:1px solid var(--lineSoft);background:var(--surfaceSoft,#00000005);border-radius:8px;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.final-change-list .chg-kind{text-transform:uppercase;letter-spacing:.04em;min-width:62px;font-size:11px;font-weight:700}.final-change-list .chg-kind.added{color:var(--ok)}.final-change-list .chg-kind.removed{color:var(--danger,#b23a48)}.final-change-list .chg-kind.changed{color:var(--accent)}.final-change-list .chg-name{flex:1}.final-change-list .chg-delta{font-variant-numeric:tabular-nums;white-space:nowrap}.final-contract-block{border-top:3px solid var(--accent);margin-top:28px;padding-top:18px}.final-contract-block .customer-proposal-header{margin-top:0}.final-contract-actions{flex-wrap:wrap;gap:10px;margin:8px 0 12px;display:flex}.final-contract-actions a,.final-contract-actions button{font-size:13px}.final-contract-divider{color:var(--mut);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:14px;margin:48px 0 18px;font-size:12px;display:flex}.final-contract-divider:before,.final-contract-divider:after{content:"";border-top:2px solid var(--line);flex:1}.final-contract-intro{background:var(--acc);color:#fff;border-radius:14px;margin:0 0 22px;padding:26px 28px}.final-contract-intro .customer-proposal-eyebrow{color:#fffc}.final-contract-intro h2{color:#fff;margin:4px 0 8px;font-size:26px}.final-contract-intro .small{color:#ffffffeb}.final-contract-intro a{color:#fff;text-decoration:underline}.pdf-page-slot{background:#fff;border-radius:6px;width:100%;position:relative;overflow:hidden}.pdf-page-slot canvas{width:100%;height:auto;position:absolute;inset:0}.pdf-page-wait{color:var(--muted);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pdf-sheet-viewer{z-index:9000;background:#1e1c18;flex-direction:column;display:none;position:fixed;inset:0}.pdf-sheet-viewer.open{display:flex}.pdf-sheet-viewer-bar{color:#fff;background:#26231e;flex:none;align-items:center;gap:12px;padding:10px 14px;display:flex}.pdf-sheet-viewer-bar .small{color:#ffffffb3;margin-left:auto}.pdf-sheet-viewer-title{font-weight:700}.pdf-sheet-viewer-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:8px;width:36px;height:36px;font-size:16px}.pdf-sheet-viewer-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;flex:auto;padding:12px;overflow:auto}.pdf-sheet-viewer-scroll canvas{background:#fff;border-radius:4px;display:block}.final-contract-start{color:var(--acc);cursor:pointer;background:#fff;border:0;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:700}.contract-guide-start{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;display:flex}.contract-guide-start .customer-action-btn.accent{background:var(--acc);color:#fff;border-color:var(--acc)}.contract-guide-bar{z-index:8000;color:#fff;background:#26231e;transition:transform .25s;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%);box-shadow:0 -6px 24px #00000040}.contract-guide-bar.open{transform:none}.contract-guide-inner{max-width:760px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));grid-template-columns:1fr auto;align-items:center;gap:8px 14px;margin:0 auto;display:grid}.contract-guide-progress{grid-column:1/-1;gap:6px;display:flex}.contract-guide-progress span{background:#ffffff38;border-radius:2px;flex:1;height:4px}.contract-guide-progress span.done{background:#7fb069}.contract-guide-progress span.now{background:var(--acc)}.contract-guide-text{flex-direction:column;gap:2px;min-width:0;display:flex}.contract-guide-text .small{color:#ffffffc7}.contract-guide-actions{align-items:center;gap:8px;display:flex}.contract-guide-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:9px 16px;font-weight:700}.contract-guide-actions .contract-guide-next,.contract-guide-actions .contract-guide-go{background:var(--acc);border-color:var(--acc)}.contract-guide-actions .contract-guide-next:disabled{opacity:.45;cursor:default}.contract-guide-actions .contract-guide-close{opacity:.8;border:0;padding:6px 8px;font-size:15px}body.contract-guide-on{padding-bottom:150px}.contract-guide-target{outline:3px solid var(--acc);outline-offset:6px;border-radius:10px;transition:outline-color .2s}@media (width<=600px){.contract-guide-inner{grid-template-columns:1fr}.contract-guide-actions{justify-content:flex-end}}.prx-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.prx-chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.prx-ok{background:var(--tealSoft);color:var(--teal)}.prx-warn{background:var(--warnSoft,#f6ecd9);color:var(--warn,#9a6b1f)}.prx-bad{background:var(--dangerSoft,#f3ded9);color:var(--danger)}.prx-mut{color:var(--mut);background:0 0;font-weight:400}span.prx-chip.prx-mut{background:var(--card2);font-weight:700}.prx-table{font-size:12px}.prx-table td{vertical-align:top}.prx-table .prx-code{white-space:nowrap;font-weight:700}.prx-table td .prx-chip{margin:1px 2px 1px 0}.prx-uncoded{margin-top:8px}.prx-uncoded summary{cursor:pointer;color:var(--mut);font-size:12px}.prx-inv{border:1px solid var(--lineSoft);background:var(--card2);border-radius:8px;margin-bottom:10px;padding:8px 10px}.prx-inv-head{align-items:center;gap:8px;margin-bottom:4px;font-size:12px;font-weight:700;display:flex}.prx-inv-row{padding:2px 0;font-size:12px}.prx-inv-row summary{cursor:pointer}.prx-inv-mark{width:14px;font-weight:700;display:inline-block}.prx-inv-ok{color:var(--teal)}.prx-inv-bad{color:var(--danger)}.prx-inv-fail .small{margin:4px 0 4px 14px}.prx-excl{margin-top:10px}.prx-excl summary{cursor:pointer;font-size:12px;font-weight:700}.prx-excl summary .prx-chip{margin-left:4px}.pdf-page-card--wide{width:min(100vw - 24px,1500px);max-width:none;margin-left:50%;transform:translate(-50%)}@media (width<=700px){.pdf-page-card--wide{width:calc(100vw - 12px)}}.file-panel-wide{grid-column:1/-1}.sm8-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:4px;display:grid}.sm8-tile{border:1px solid var(--border);aspect-ratio:1;background:var(--input-bg);cursor:zoom-in;border-radius:10px;min-height:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.sm8-tile img{object-fit:cover;width:100%;height:100%;display:block}.sm8-tile-ph{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.sm8-tile-cap{text-align:left;color:#f5f3ef;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#14131100,#141311c7);padding:4px 6px;font-size:11px;line-height:1.25;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.sm8-files-h{margin:14px 0 6px;font-size:12px}.sm8-file-rows{flex-direction:column;gap:4px;display:flex}.sm8-file-row{border:1px solid var(--border);background:var(--input-bg);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;display:flex}.sm8-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sm8-file-row button{flex:none;min-height:0;margin:0;padding:3px 9px;font-size:12px}.sm8-viewer{z-index:500;background:#141311eb;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0}.sm8-viewer.hidden{display:none}.sm8-viewer-bar{box-sizing:border-box;color:#f5f3ef;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.sm8-viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sm8-viewer-count{color:#c9c4bb;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sm8-viewer-dl{color:#1e1c18;white-space:nowrap;background:#f5f3ef;border:0;border-radius:8px;min-height:0;margin:0;padding:7px 13px;font-size:13px;font-weight:600}.sm8-viewer-dl:disabled{opacity:.5}.sm8-viewer-close{color:#f5f3ef;background:0 0;border:1px solid #6b6559;border-radius:999px;flex:none;width:34px;height:34px;min-height:0;margin:0;padding:0;font-size:18px;line-height:1}.sm8-viewer-stage{box-sizing:border-box;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0 14px 16px;display:flex}.sm8-viewer-stage img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.sm8-viewer-nav{color:#f5f3ef;background:#00000073;border:1px solid #6b6559;border-radius:999px;width:44px;height:44px;min-height:0;margin:0;padding:0;font-size:26px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.sm8-viewer-nav.prev{left:12px}.sm8-viewer-nav.next{right:12px}.sm8-viewer-nav.hidden{display:none}@media (width<=600px){.sm8-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.sm8-viewer-nav{width:38px;height:38px;font-size:22px}.sm8-viewer-title{font-size:13px}}.sm8-more{margin-top:8px}.sm8-more button{min-height:0;margin:0;padding:5px 12px;font-size:12px}
