:root{--ink:#1b1f1d;--ink-2:#5b6360;--ink-3:#626a67;--ink-soft:#5b6360;--line-strong:#333;--page:#f4f6f5;--surface:#fff;--border:#e2e6e4;--border-strong:#cdd4d1;--nav:#232826;--nav-ink:#d9dedb;--green:#0f8a45;--green-dark:#0b6e36;--green-deep:#064020;--green-soft:#e7f4ec;--danger:#a32d2d;--danger-soft:#fceded;--warning:#b45309;--type-bg:#faeeda;--type-br:#ba7517;--type-ink:#412402;--pick-bg:#e6f1fb;--pick-br:#185fa5;--pick-ink:#0f3f70;--need-bg:#fcebeb;--need-br:#a32d2d;--need-ink:#791f1f;--calc-bg:#eaf3de;--calc-br:#3b6d11;--calc-ink:#173404;--block-bg:#1f4463;--block-ink:#cfe3f5;--frp-accent:#0e7a5f;--frp-block-bg:#0e7a5f;--frp-block-ink:#d7f0e6;--paint-accent:#7a4a1e;--paint-block-bg:#7a4a1e;--paint-block-ink:#f3e3d1;--act-accent:#2c5f8a;--act-block-bg:#2c5f8a;--act-block-ink:#cfe3f5;--framing-accent:#52667a;--framing-block-bg:#52667a;--framing-block-ink:#dbe3ea;--gyp-accent:#7a3a5c;--gyp-block-bg:#7a3a5c;--gyp-block-ink:#f0dbe8;--general-accent:#6b7280;--alternate-bg:#1b1f1d;--alternate-ink:#d9dedb;--radius:8px;--shadow:0 1px 2px #1018140f, 0 1px 3px #1018140a}:root.night-mode{--page:#232826;--surface:#f7efd9;--border:#e3d6ad;--border-strong:#cbb87e}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 Segoe UI,-apple-system,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::placeholder,textarea::placeholder{color:inherit;opacity:.45}.core-values-bar{z-index:30;background:var(--nav);color:#fff;white-space:nowrap;grid-template-columns:206px minmax(0,1fr) auto;align-items:center;gap:24px;height:60px;padding:0 24px 0 22px;display:grid;position:sticky;top:0;overflow:visible}.core-values-logo{object-fit:contain;justify-self:start;width:auto;max-width:100%;height:32px;display:block}.core-values-list{letter-spacing:.03em;text-transform:uppercase;justify-content:center;align-items:center;gap:40px;min-width:0;font-size:12px;font-weight:700;display:flex;overflow-x:auto}.core-value-item{align-items:center;gap:10px;display:inline-flex}.core-value-sep{background:#fff;width:2px;height:22px;margin-right:10px;display:inline-block}.core-values-actions{justify-self:end;align-items:center;gap:10px;display:flex}.core-values-bar .who{color:#fff;background:#ffffff14;border-color:#ffffff2e;justify-self:end}.core-values-bar .who:hover{color:#fff;background:#ffffff29;border-color:#fff}.notif-bell{position:relative}.notif-bell-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex;position:relative}.notif-bell-btn:hover{background:#ffffff29;border-color:#fff}.ai-assistant-menu{position:relative}.ai-assistant-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:flex;position:relative}.ai-assistant-btn:hover,.ai-assistant-btn.is-active{border-color:var(--green);color:#a7f3d0;background:#2e7d3240}.ai-assistant-dropdown{background:var(--surface);width:340px;color:var(--ink);border:1px solid var(--border);z-index:60;border-radius:12px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 48px #0000003d}.ai-assistant-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ai-assistant-model-pill{background:var(--green-soft);color:var(--green-dark);letter-spacing:.03em;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.ai-assistant-body{padding:12px}.ai-capability-list{flex-direction:column;gap:8px;display:flex}.ai-capability-item{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;cursor:pointer;font:inherit;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;transition:all .12s;display:flex}.ai-capability-item:hover{background:var(--page);border-color:var(--green);transform:translateY(-1px)}.ai-capability-icon{background:var(--green-soft);width:28px;height:28px;color:var(--green-dark);border-radius:6px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.ai-capability-content{flex:1}.ai-capability-title-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ai-capability-arrow{opacity:.4;transition:opacity .15s}.ai-capability-item:hover .ai-capability-arrow{opacity:1;color:var(--green-dark)}.ai-capability-content p{color:var(--ink-2);margin:3px 0 0;font-size:11px;line-height:1.35}.ai-assistant-footer{border-top:1px solid var(--border);background:var(--bg);text-align:center;padding:8px 14px}.notif-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notif-badge.is-dot{width:8px;min-width:8px;height:8px;padding:0;top:5px;right:5px}.notif-dropdown{background:var(--surface);width:360px;max-height:min(420px,100vh - 80px);color:var(--ink);border:1px solid var(--border);z-index:50;white-space:normal;border-radius:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 40px #00000038}.notif-item{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--page)}.notif-item-title{font-size:13px;font-weight:600;line-height:1.35}.notif-item-time{color:var(--ink-2);font-size:11px}.notif-empty{text-align:center;color:var(--ink-2);padding:28px 14px;font-size:13px}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 60px);display:grid}.sidebar{background:var(--nav);color:#fff;flex-direction:column;gap:22px;height:calc(100vh - 60px);padding:16px 12px 20px;display:flex;position:sticky;top:60px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar-link{appearance:none;color:var(--nav-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px;font-size:13px;font-weight:500;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{background:var(--green);color:#fff}.main-content{border-top:6px solid var(--nav);min-width:0}.page{max-width:1800px;margin:0 auto;padding:22px 32px 80px}.toolbar{align-items:center;gap:10px;margin-bottom:20px;display:flex}.toolbar .spacer{flex:1}.search{background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:8px;min-width:260px;padding:0 10px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:9px 0}.page-title{margin:0;font-size:20px;font-weight:600}.page-sub{color:var(--ink-2);margin:4px 0 0;font-size:13px}.who{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;display:flex}.who:hover{border-color:var(--green);color:var(--ink)}.btn{appearance:none;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;white-space:nowrap;color:inherit;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:#f7f9f8}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.btn-primary.gsr-save-saved{background:var(--green-soft);color:var(--green-dark);border-color:#9cc9ae;box-shadow:inset 0 1px 2px #0b6e3633}.btn-primary.gsr-save-saved:hover{background:#dceee3}.dashboard-header .header-actions .gsr-save-btn{box-sizing:border-box;flex-shrink:0;width:57px;min-width:57px;max-width:57px;height:36px;padding:8px 6px}.btn-danger{color:var(--danger);background:var(--surface);border-color:#e7c9c9}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{color:var(--ink-2);background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:4px 8px;font-size:13px;line-height:1;display:inline-flex}.btn-icon:hover{color:var(--ink);background:#eef1f0}.proj-head,.proj-row{grid-template-columns:minmax(220px,2.4fr) 150px 170px minmax(140px,1.2fr) 170px minmax(120px,1.4fr) 40px;align-items:center;gap:12px;display:grid}.proj-head{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:0 16px 10px;font-size:11px;font-weight:600}.proj-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:8px;padding:14px 16px}.proj-row:hover{border-color:var(--border-strong)}.proj-name{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.proj-name:hover{color:var(--green-dark);text-decoration:underline}.locked-tag{letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase;background:#eef1f0;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700}.cell-input,.table input.cell-input{border:1px solid var(--line-strong,#333);background:var(--surface);width:100%;color:var(--ink);box-sizing:border-box;border-radius:5px;padding:5px 7px;transition:border-color .1s,box-shadow .1s}.cell-input:hover,.table input.cell-input:hover{border-color:#111}.cell-input:focus,.table input.cell-input:focus{background:var(--surface);outline-offset:1px;border-color:#111;outline:2px solid #111}.pill{appearance:none;cursor:pointer;text-align:center;width:100%;color:var(--ink);border:none;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:filter .1s}.pill:hover{filter:brightness(.96)}.pill:focus-visible{outline:2px solid var(--pick-br);outline-offset:2px}.name-pill{border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--green-dark);color:#fff;border:1px solid var(--green-dark);align-items:center;gap:6px;width:auto;padding:4px 8px;font-size:12px;font-weight:600;transition:filter .1s,border-color .1s;display:inline-flex}.name-pill:hover{background:var(--green-deep);border-color:var(--green-deep);filter:none}.name-pill.editing{background:var(--surface);color:var(--ink);border-color:var(--green-dark);box-shadow:0 0 0 1px var(--green-dark);cursor:default;padding:2px 4px 2px 8px}.name-pill-input{font:inherit;color:var(--ink);background:0 0;border:none;outline:none;min-width:40px;max-width:260px;padding:2px 0;font-size:12px;font-weight:600}.status-picker{width:100%;position:relative}.status-picker-menu{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;gap:4px;min-width:100%;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 30px #1018142e}.status-picker-option{width:100%}.status-picker-option:hover{filter:brightness(.94)}.status-picker-option[aria-selected=true]{outline-offset:-2px;outline:2px solid #00000059}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:inline-grid}.assignee{align-items:center;gap:8px;min-width:0;display:flex}.assignee select{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:4px 2px}.assignee select:hover{border-color:var(--border)}.empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--ink-2);padding:44px 20px}.job-header{background:var(--green-deep);border:1px solid var(--green-deep);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:16px 18px}.job-header h1{color:#fff;margin:0 0 2px;font-size:20px}.job-header .meta{flex-wrap:wrap;gap:14px 22px;margin-top:14px;display:flex}.meta-field{flex-direction:column;gap:4px;min-width:170px;display:flex}.meta-field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--nav-ink);font-size:10px;font-weight:600}.meta-field input,.meta-field select{border:1px solid var(--border);background:var(--surface);border-radius:5px;padding:6px 8px}.job-header-v2{padding:20px 22px}.generate-estimate-pill{appearance:none;background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;flex:none;padding:16px 32px;font-size:15px;font-weight:700}.generate-estimate-pill:hover{background:#f0f0f0}.generate-estimate-pill:disabled{opacity:.65;cursor:wait}.job-title-input{color:#fff;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;margin:-4px 0 0 -6px;padding:4px 6px;font-size:24px;font-weight:700}.job-title-input:hover{border-color:#ffffff4d}.job-title-input:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0}.job-header-v2 .job-meta-row{flex-wrap:wrap;align-items:flex-end;gap:20px 32px;margin-top:16px;display:flex}.job-meta-field{flex-direction:column;gap:5px;min-width:150px;display:flex}.job-meta-field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--nav-ink);font-size:10px;font-weight:600}.job-meta-field input,.job-meta-field select{color:#fff;background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 0;font-size:14px;font-weight:600}.job-meta-field input:hover,.job-meta-field select:hover{border-color:#ffffff4d;padding:5px 6px}.job-meta-field input:focus,.job-meta-field select:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0;padding:5px 6px}.job-meta-field select option{color:var(--ink)}.job-meta-date{color:var(--nav-ink);align-items:center;gap:6px;display:flex}.job-meta-date input{flex:1}.job-meta-field .status-picker{width:auto}.job-meta-field .pill{text-align:left;width:auto;padding:6px 14px}.lock-banner{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);border-radius:6px;align-items:center;gap:10px;margin-top:14px;padding:9px 12px;font-size:13px;display:flex}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px}.section-sticky{z-index:15;position:sticky;bottom:0;box-shadow:0 -4px 16px #10181424}.section-sticky .section-header,.job-totals-section .section-header{min-height:84px;padding:14px 20px}.section-sticky .section-header h2,.job-totals-section .section-header h2{letter-spacing:-.01em;font-size:19px;font-weight:700}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:12px;padding:13px 16px;display:flex}.section-header:hover{filter:brightness(.97)}.section-header-right{align-items:center;gap:12px;display:flex}.section-header .chev{color:inherit;opacity:.7;width:12px;font-size:11px}.section-header h2{margin:0;font-size:15px;font-weight:600}.section-header .spacer{flex:1}.section-total{font-variant-numeric:tabular-nums;background:var(--surface);border-radius:8px;padding:4px 12px;font-weight:700;display:inline-block}.badge{border-radius:8px;padding:3px 9px;font-size:11px;font-weight:600}.badge-soon{color:var(--ink-2);background:#eef1f0}.badge-unsaved{background:var(--type-bg);color:var(--type-ink);border:1px solid var(--type-br)}.badge-need{background:var(--need-bg);color:var(--need-ink);border:1px solid var(--need-br)}.badge-added{background:var(--green-soft);color:var(--green-dark);border:1px solid #9cc9ae}.stack-import-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.stack-import-filetag{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);border-radius:8px;padding:6px 12px;font-size:13px}.stack-import-summary-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.stack-import-summary .generate-estimate-pill{background:var(--green-dark);color:#fff;border:1px solid var(--green-dark);padding:8px 18px;font-size:13px}.stack-import-summary .generate-estimate-pill:hover{background:var(--green-deep);border-color:var(--green-deep)}.page-header .generate-estimate-pill{border:1px solid var(--border)}.stack-import-counts{color:var(--ink-2);font-size:13px}.stack-import-counts strong{color:var(--ink)}.stack-import-table tr.stack-import-row-active td{background:var(--green-soft)}.stack-import-table td.stack-import-group-cell:hover{color:var(--green-deep);text-decoration:underline}.stack-import-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.stack-import-status-pending{color:var(--ink-2);font-size:12px}.stack-import-routed-label{color:var(--ink-2);margin-top:2px;font-size:11px}.stack-import-panel{z-index:100;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:380px;max-width:calc(100vw - 32px);padding:16px 18px;position:fixed;box-shadow:0 14px 32px #0f1e3033,0 2px 8px #0f1e3014}.stack-import-panel-steps{flex-direction:column;gap:12px;display:flex}.stack-import-panel-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.section-body{border-top:1px solid var(--border);padding:16px}.stub{color:var(--ink-2);padding:8px 2px}.block{border:2px solid var(--frp-block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.block-header{background:var(--frp-block-bg);color:var(--frp-block-ink);align-items:center;gap:10px;padding:10px 14px;display:flex}.block-header input{color:var(--frp-block-ink);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:4px 6px;font-size:13px;font-weight:600}.block-header input:hover:not(:disabled){border-color:#9fe1cb66}.block-header input:focus{border-color:var(--frp-block-ink);outline:0}.block-header .amount{background:var(--surface);color:var(--frp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:3px 10px;font-weight:600}.block-header .btn-icon{color:var(--frp-block-ink)}.block-header .btn-icon:hover{color:#fff;background:#ffffff1f}.block-body{background:#fbfcfb;padding:14px}.wall{background:var(--surface);border-radius:var(--radius);border:none;margin-bottom:12px;padding:12px}.act-section-body .wall,.paint-section-body .wall{border:none}.wall-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.paint-door-row{grid-template-columns:minmax(0,1.4fr) 80px minmax(160px,1.4fr) 130px 32px;align-items:start;gap:10px;display:grid}.paint-misc-row{grid-template-columns:minmax(0,1.6fr) 80px 110px 90px minmax(0,1fr) 32px;align-items:start;gap:10px;display:grid}.paint-arealine-row{grid-template-columns:minmax(0,1.6fr) 90px 130px 32px;align-items:start;gap:10px;display:grid}.paint-door-row .btn-icon,.paint-misc-row .btn-icon,.paint-arealine-row .btn-icon{margin-top:22px}.paint-door-row .chip,.paint-misc-row .chip{box-sizing:border-box;align-items:center;height:36px;padding:0 8px;font-size:13px;display:flex}.wall-tag{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}input.wall-tag{field-sizing:content;text-align:center;cursor:text;border:2px solid #0000;border-radius:6px;width:auto;min-width:140px;padding:7px 18px;font-size:13px}input.wall-tag:hover:not(:disabled){filter:brightness(.96)}input.wall-tag:focus{outline-offset:1px;outline:2px solid #00000059}.grid{gap:8px;display:grid}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1080px){.grid-5,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.f{flex-direction:column;gap:3px;min-width:0;display:flex}.f>label{color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;font-size:10px;font-weight:600}.f input,.f select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;outline:0;width:100%;min-width:0;padding:7px 8px}.f input:disabled,.f select:disabled{opacity:.75}.f-type input,.f-type select{background:var(--surface);border-color:var(--type-br);color:var(--type-ink)}.f-pick select{background:var(--pick-bg);border-color:var(--pick-br);color:var(--pick-ink)}.f-need select,.f-need input{background:var(--need-bg);border-color:var(--need-br);color:var(--need-ink)}.f input:focus,.f select:focus{box-shadow:0 0 0 2px #185fa540}.f-hint{color:var(--ink-3);min-height:13px;font-size:10px}.add-product-row{align-items:center;gap:6px;display:flex}.add-product-row input[placeholder=Product\ name]{flex:2;min-width:0}.add-product-row input[type=number]{flex:1;min-width:70px}.add-product-row .btn{white-space:nowrap;flex:none}.wall-derived{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.chip{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);font-variant-numeric:tabular-nums;border-radius:5px;padding:3px 8px;font-size:11px}.chip-muted{border-color:var(--border-strong);color:var(--ink-2);background:#f1f3f2}.wall-total{color:var(--calc-ink);font-variant-numeric:tabular-nums;background:#c0dd97;border-radius:6px;margin-left:auto;padding:4px 12px;font-weight:600}.sub-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:16px 0 8px;font-size:13px;font-weight:700}.manual-row{grid-template-columns:minmax(0,1.6fr) minmax(0,2fr) 90px 150px 32px;align-items:start;gap:8px;margin-bottom:6px;display:grid}.manual-material-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) 70px 80px 90px 70px 28px;align-items:start;gap:6px;margin-bottom:6px;display:grid}.framing-labor-row{grid-template-columns:minmax(180px,1fr) minmax(150px,1fr) minmax(90px,.6fr) minmax(140px,1fr);align-items:start;gap:6px;margin-bottom:6px;display:grid}.manual-material-row .f-check{color:var(--ink-3);flex-direction:row;align-items:center;gap:4px;padding-top:25px;font-size:10px}.manual-material-row .btn-icon{margin-top:21px}.scope-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.bom-scope+.bom-scope{margin-top:28px}.bom-scope h3{margin:0 0 10px;font-size:14px}.scope-footer-frp{background:var(--frp-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-frp .btn{color:#fff;background:#ffffff14;border-color:#ffffff80}.scope-footer-frp .btn:hover{background:#ffffff2e}.scope-footer-frp .btn-primary{background:var(--surface);color:var(--frp-accent);border-color:#fff}.scope-footer-frp .btn-primary:hover{background:#eafaf4}.scope-footer-frp .btn:disabled{opacity:.6}.scope-footer-paint{background:var(--paint-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-paint .btn{color:#fff;background:#ffffff14;border-color:#ffffff80}.scope-footer-paint .btn:hover{background:#ffffff2e}.scope-footer-paint .btn-primary{background:var(--surface);color:var(--paint-accent);border-color:#fff}.scope-footer-paint .btn-primary:hover{background:#fdf4ea}.scope-footer-paint .btn:disabled{opacity:.6}.scope-footer-act{background:var(--act-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-act .btn{color:#fff;background:#ffffff14;border-color:#ffffff80}.scope-footer-act .btn:hover{background:#ffffff2e}.scope-footer-act .btn-primary{background:var(--surface);color:var(--act-accent);border-color:#fff}.scope-footer-act .btn-primary:hover{background:#eaf2f8}.scope-footer-act .btn:disabled{opacity:.6}.scope-footer-framing{background:var(--framing-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-framing .btn{color:#fff;background:#ffffff14;border-color:#ffffff80}.scope-footer-framing .btn:hover{background:#ffffff2e}.scope-footer-framing .btn-primary{background:var(--surface);color:var(--framing-accent);border-color:#fff}.scope-footer-framing .btn-primary:hover{background:#eef1f4}.scope-footer-framing .btn:disabled{opacity:.6}.scope-footer-gyp{background:var(--gyp-accent);color:#fff;border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 16px}.scope-footer-gyp .btn{color:#fff;background:#ffffff14;border-color:#ffffff80}.scope-footer-gyp .btn:hover{background:#ffffff2e}.scope-footer-gyp .btn-primary{background:var(--surface);color:var(--gyp-accent);border-color:#fff}.scope-footer-gyp .btn-primary:hover{background:#f5eef1}.scope-footer-gyp .btn:disabled{opacity:.6}.sell-bar{background:var(--type-bg);border:1px solid var(--type-br);color:var(--type-ink);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:12px 16px;display:flex}.sell-bar .amount{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.sell-bar .breakdown{opacity:.85;font-size:12px}.sell-bar-total-group{align-items:center;gap:14px;display:flex}.sell-bar-markup{align-items:center;gap:6px;display:flex}.sell-bar-markup input{border:2px solid var(--type-br);background:var(--surface);width:56px;color:var(--type-ink);opacity:1;border-radius:5px;padding:4px 7px;font-size:13px;font-weight:700}.sell-bar-markup input:focus{outline:2px solid var(--type-br);outline-offset:1px}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:8px 10px;font-size:11px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:7px 10px}.table tfoot td{border-top:2px solid var(--border-strong);border-bottom:0;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table input{border:1px solid var(--border);background:var(--surface);border-radius:5px;width:100%;padding:5px 7px}.table input.num{text-align:right}.table tr.inactive td{opacity:.45}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.alt-summary-block{border-radius:var(--radius);background:#0000000f;border:1px solid #000;padding:10px}.alt-summary-block .table-wrap{border:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:16px 18px}.card h2{margin:0 0 4px;font-size:15px}.card p.hint{color:var(--ink-2);margin:0 0 14px;font-size:13px}.card-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.card-collapse-title{align-items:center;gap:6px;display:flex}.card-collapse-title h2{margin:0}.card-collapse-toggle{color:var(--ink-2);justify-content:center;align-items:center;padding:2px 4px;display:inline-flex}.card-collapse-toggle:hover{color:var(--ink)}.vendor-quote-split{grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);align-items:start;gap:16px;margin-top:14px;display:grid}.vendor-quote-pdf{border:1px solid var(--border);background:#fff;border-radius:8px;height:min(72vh,760px);position:sticky;top:12px;overflow:hidden}.vendor-quote-pdf iframe{border:0;width:100%;height:100%}.vendor-quote-cards{flex-direction:column;gap:12px;display:flex}.vendor-quote-line-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:0 10px 28px #1018140f}.vendor-quote-line-card.new{border-left:3px solid var(--green)}.vendor-quote-line-card.update{border-left:3px solid #3b6ea8}.vendor-quote-line-card.applied,.vendor-quote-line-card.skipped{opacity:.72}.vendor-quote-line-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.vendor-quote-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.vendor-quote-badge.new{background:var(--green-soft);color:var(--green-dark)}.vendor-quote-badge.update{color:#2a4d73;background:#e7eef6}.vendor-quote-line-summary strong{font-size:14px;display:block}.vendor-quote-line-summary p{margin:4px 0 0;font-size:12px}.vendor-quote-line-fields{gap:8px;display:grid}.vendor-quote-line-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.vendor-quote-line-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.vendor-quote-source{color:var(--ink-2);background:var(--green-soft);border-radius:999px;padding:2px 8px;font-size:12px}@media (width<=900px){.vendor-quote-split{grid-template-columns:1fr}.vendor-quote-pdf{height:40vh;position:static}}.rfp-intake-banner{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--green);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:10px 16px;display:flex;box-shadow:0 2px 8px #0000000a}.rfp-intake-banner-left{align-items:center;gap:12px;display:flex}.rfp-intake-banner-icon{background:var(--green-soft);width:32px;height:32px;color:var(--green-dark);border-radius:8px;place-items:center;display:grid}.rfp-intake-count{background:var(--green);color:#fff;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700}.rfp-intake-banner-actions{align-items:center;gap:8px;display:flex}.rfp-intake-split{grid-template-columns:1fr 1.15fr;align-items:start;gap:18px;display:grid}.rfp-intake-source{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:520px;padding:12px;display:flex}.rfp-intake-source-header{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.rfp-intake-email-body{white-space:pre-wrap;color:var(--ink);flex:1;font-size:13px;line-height:1.5;overflow-y:auto}.rfp-intake-form{flex-direction:column;gap:8px;display:flex}@media (width<=800px){.rfp-intake-split{grid-template-columns:1fr}}.modal-backdrop{z-index:50;background:#10181473;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal,.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 20px 50px #00000040}.modal input,.modal select,.modal textarea,.modal-card input,.modal-card select,.modal-card textarea{border:1px solid var(--ink);color:var(--ink);background:var(--surface)}.modal input:focus,.modal select:focus,.modal textarea:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--ink);outline:1px solid var(--ink);box-shadow:none}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h2,.modal-header h3{color:var(--ink);margin:0;font-size:18px;font-weight:700}.modal-header .btn-close{cursor:pointer;color:var(--ink-2);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.modal-header .btn-close:hover{background:var(--surface-hover,#0000000d);color:var(--ink)}.modal h2{margin:0 0 6px;font-size:18px}.modal p{color:var(--ink-2);margin:0 0 18px;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.pay-modal-meta{grid-template-columns:7.5rem 1fr;gap:6px 12px;margin:0 0 16px;font-size:13px;display:grid}.pay-modal-meta dt{color:var(--ink-2);font-weight:600}.pay-modal-meta dd{min-width:0;margin:0}.pay-modal .modal-actions{margin-top:16px}.login-page{background:var(--nav);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px;display:flex;box-shadow:0 20px 60px #00000059}.login-logo{object-fit:contain;align-self:center;width:auto;max-width:260px;height:90px;margin-bottom:4px}.login-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.login-profile-list{flex-direction:column;gap:8px;display:flex}.login-profile-item{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.login-profile-item:hover{border-color:var(--primary);background:var(--surface-hover,#00000005);transform:translateY(-1px)}.login-profile-item.locked{opacity:.75;background:#f59e0b0d;border-color:#f59e0b}.login-profile-avatar{color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.login-profile-info{flex-direction:column;flex:1;min-width:0;display:flex}.login-profile-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.login-profile-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.login-profile-arrow{color:var(--text-muted);font-size:16px;font-weight:700}.login-profile-status-badge{border-radius:12px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.login-profile-status-badge.locked{color:#92400e;background:#fef3c7}.login-back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;margin-bottom:12px;padding:4px 0;font-size:13px;transition:color .15s;display:inline-flex}.login-back-btn:hover{color:var(--primary)}.login-selected-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:16px;display:flex}.login-selected-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:8px;font-size:18px;font-weight:700;display:flex;box-shadow:0 4px 12px #00000026}.login-selected-name{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.login-selected-email{color:var(--text-muted);margin:2px 0 0;font-size:.8125rem}.login-lockout-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px;font-size:13px;display:flex}.login-pin-input{letter-spacing:12px;text-align:center;font-weight:700;padding:10px!important;font-size:22px!important}.user-mgmt-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.user-mgmt-table{border-collapse:collapse;width:100%;font-size:13px}.user-mgmt-table th{background:var(--surface-subtle,#00000008);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-weight:600}.user-mgmt-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.user-mgmt-table tr:last-child td{border-bottom:none}.user-mgmt-table tr:hover{background:var(--surface-hover,#00000004)}.user-row-deactivated{opacity:.6}.user-table-cell-profile{align-items:center;gap:10px;display:flex}.user-avatar-badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.user-table-name{color:var(--text-primary);font-weight:600}.user-table-id{color:var(--text-muted);font-size:11px}.user-table-email{color:var(--text-secondary)}.role-badge{letter-spacing:.3px;border-radius:12px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.role-badge-admin{color:#15803d;background:#22c55e26;border:1px solid #22c55e4d}.role-badge-member{background:var(--surface-subtle,#0000000d);color:var(--text-secondary);border:1px solid var(--border)}.status-badge{border-radius:12px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge-active{color:#16a34a;background:#22c55e1a}.status-badge-deactivated{color:#64748b;background:#64748b1a}.status-badge-locked{color:#b45309;background:#f59e0b26}.user-actions-row{justify-content:flex-end;gap:6px;display:flex}.role-select-cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.role-select-card{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;padding:12px;transition:all .15s;display:flex}.role-select-card:hover{border-color:var(--primary)}.role-select-card.active{border-color:var(--primary);background:var(--primary-soft,#22c55e0d)}.role-select-card strong{color:var(--text-primary);margin-bottom:2px;font-size:13px}.role-select-card p{color:var(--text-muted);margin:0;font-size:11px;line-height:1.3}.row-actions{align-items:center;gap:6px;display:flex}.muted{color:var(--ink-2)}.nowrap{white-space:nowrap}.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1080px){.grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1080px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.estimate-extra-row{grid-template-columns:minmax(0,2fr) 130px 90px 32px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.estimate-extra-row input[type=text],.estimate-extra-row input[type=number]{box-sizing:border-box;height:34px}.line-head{letter-spacing:.04em;color:var(--ink-3);gap:8px;margin-bottom:4px;font-size:10px;font-weight:600;display:grid}.settings-panel{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfb;margin-bottom:16px;padding:14px}.block-plain{border:2px solid var(--paint-block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.block-plain-header{background:var(--paint-block-bg);color:var(--paint-block-ink);align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.block-plain-header .amount{font-variant-numeric:tabular-nums;background:var(--surface);color:var(--paint-block-bg);border-radius:8px;padding:3px 10px;font-weight:700}.block-plain-body{padding:14px}.act-section-body .block-plain{border-color:var(--act-block-bg)}.act-section-body .block-plain-header{background:var(--act-block-bg);color:var(--act-block-ink)}.act-section-body .block-plain-header .amount{color:var(--act-block-bg)}.frp-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.frp-section-header{background:var(--frp-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.frp-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.frp-section-header input:hover:not(:disabled){border-color:#ffffff4d}.frp-section-header input:focus{border-color:var(--frp-accent);background:#ffffff14;outline:0}.frp-section-header .amount{background:var(--surface);color:var(--frp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.frp-section-header .btn-icon{color:#cfd6d2}.frp-section-header .btn-icon:hover{color:#fff;background:#ffffff1f}.paint-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.paint-section-header{background:var(--paint-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.paint-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.paint-section-header input:hover:not(:disabled){border-color:#ffffff4d}.paint-section-header input:focus{border-color:var(--paint-accent);background:#ffffff14;outline:0}.paint-section-header .amount{background:var(--surface);color:var(--paint-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.paint-section-header .btn-icon{color:#e5d3c2}.paint-section-header .btn-icon:hover{color:#fff;background:#ffffff1f}.paint-section-body{padding:14px}.act-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.act-section-header{background:var(--act-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.act-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.act-section-header input:hover:not(:disabled){border-color:#ffffff4d}.act-section-header input:focus{border-color:var(--act-accent);background:#ffffff14;outline:0}.act-section-header .amount{background:var(--surface);color:var(--act-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 12px;font-weight:700}.act-section-header .btn-icon{color:#c8dcec}.act-section-header .btn-icon:hover{color:#fff;background:#ffffff1f}.act-section-body{padding:14px}.framing-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.framing-section-header{background:var(--framing-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.framing-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.framing-section-header input:hover:not(:disabled){border-color:#ffffff4d}.framing-section-header input:focus{border-color:var(--framing-accent);background:#ffffff14;outline:0}.framing-section-header .amount{background:var(--surface);color:var(--framing-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 14px;font-weight:700}.framing-section-header .amount.amount-pending{color:var(--type-ink);background:var(--type-bg)}.framing-section-header .btn-icon{color:#d7dee4}.framing-section-header .btn-icon:hover{color:#fff;background:#ffffff1f}.gyp-section{border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin-bottom:20px}.gyp-section-header{background:var(--gyp-block-bg);color:#fff;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);align-items:center;gap:10px;padding:12px 14px;display:flex}.gyp-section-header input{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;min-width:0;padding:5px 7px;font-size:14px;font-weight:700}.gyp-section-header input:hover:not(:disabled){border-color:#ffffff4d}.gyp-section-header input:focus{border-color:var(--gyp-accent);background:#ffffff14;outline:0}.gyp-section-header .amount{background:var(--surface);color:var(--gyp-block-bg);font-variant-numeric:tabular-nums;border-radius:8px;padding:6px 14px;font-weight:700}.gyp-section-header .btn-icon{color:#e2cdd9}.gyp-section-header .btn-icon:hover{color:#fff;background:#ffffff1f}.gyp-area{background:var(--surface);border:1.5px solid var(--gyp-block-bg);border-radius:var(--radius);margin-bottom:12px;padding:12px}.gyp-area-row{grid-template-columns:minmax(140px,1.2fr) 80px 90px minmax(180px,1.4fr);align-items:start;gap:10px;display:grid}@media (width<=900px){.gyp-area-row{grid-template-columns:minmax(0,1fr) 1fr}}.gyp-area-row-independent{grid-template-columns:minmax(120px,1fr) 80px 80px 70px 70px minmax(160px,1.3fr) 28px}@media (width<=1080px){.gyp-area-row-independent{grid-template-columns:minmax(0,1fr) 1fr}}.act-arealine-row{grid-template-columns:minmax(140px,1.2fr) 90px 130px minmax(220px,1.6fr) 28px;align-items:start;gap:10px;display:grid}.gyp-area-row-independent .btn-icon,.act-arealine-row .btn-icon{margin-top:22px}@media (width<=900px){.act-arealine-row{grid-template-columns:minmax(0,1fr) 1fr}}.act-perimeter-row input{box-sizing:border-box;height:36px}.framing-section-body .f>label,.gyp-section-body .f>label,.act-section-body .f>label,.frp-section-body .f>label,.paint-section-body .f>label{color:var(--ink);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}.framing-section-body .f-type input,.framing-section-body .f-type select,.gyp-section-body .f-type input,.gyp-section-body .f-type select,.act-section-body .f-type input,.act-section-body .f-type select,.frp-section-body .f-type input,.frp-section-body .f-type select,.paint-section-body .f-type input,.paint-section-body .f-type select{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.framing-materials-box,.gyp-materials-box,.act-materials-box,.frp-materials-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:14px}.framing-materials-title,.gyp-materials-title,.act-materials-title,.frp-materials-title{letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin-bottom:12px;font-size:13px;font-weight:700}.framing-materials-grid{grid-template-columns:1.3fr 1.3fr .85fr .85fr .85fr 1fr 1fr .6fr;align-items:start;gap:8px;display:grid}@media (width<=1400px){.framing-materials-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.framing-materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gyp-materials-grid,.act-materials-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:start;gap:8px 10px;display:grid}.frp-materials-grid{align-items:start;gap:8px 10px;display:flex}.frp-materials-grid>*{flex:1 1 0;min-width:0}.framing-section-body,.gyp-section-body,.act-section-body,.frp-section-body{padding:14px}.two-col{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}@media (width<=1080px){.two-col{grid-template-columns:minmax(0,1fr)}}.side-rail{flex-direction:column;gap:12px;display:flex;position:sticky;top:72px}.plain-box{border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfb;padding:12px}.subpanel{border:2px solid var(--block-bg);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.subpanel-header{background:var(--block-bg);color:var(--block-ink);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:10px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.subpanel-header .amount{background:var(--surface);color:var(--block-bg);font-variant-numeric:tabular-nums;border-radius:8px;margin-left:auto;padding:3px 10px;font-weight:700}.subpanel-body{padding:14px}.framing-section-body .subpanel{border-color:var(--framing-block-bg)}.framing-section-body .subpanel-header{background:var(--framing-block-bg);color:var(--framing-block-ink)}.framing-section-body .subpanel-header .amount{color:var(--framing-block-bg)}.gyp-section-body .subpanel{border-color:var(--gyp-block-bg)}.gyp-section-body .subpanel-header{background:var(--gyp-block-bg);color:var(--gyp-block-ink)}.gyp-section-body .subpanel-header .amount{color:var(--gyp-block-bg)}.act-section-body .subpanel{border-color:var(--act-block-bg)}.act-section-body .subpanel-header{background:var(--act-block-bg);color:var(--act-block-ink)}.act-section-body .subpanel-header .amount{color:var(--act-block-bg)}.plain-box h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:12px}.framing-wallarea{background:var(--surface);border:1.5px solid var(--framing-block-bg);border-radius:var(--radius);margin-bottom:12px;padding:12px}.framing-wallarea-row{grid-template-columns:minmax(120px,1fr) 80px 80px 96px 96px 110px 64px minmax(170px,1.3fr) 28px 28px;align-items:start;gap:8px;display:grid}.framing-wallarea-row .framing-wallarea-strip,.framing-wallarea-row .btn-icon,.act-arealine-row .framing-wallarea-strip{margin-top:22px}@media (width<=1080px){.framing-wallarea-row{grid-template-columns:minmax(0,1fr) 1fr}}.framing-wallarea-detail{border-top:1px dashed var(--border-strong);margin-top:12px;padding-top:12px}.framing-wallarea-row .f input,.framing-wallarea-row .f select,.framing-wallarea-row .f-readout,.framing-wallarea-row .framing-wallarea-strip,.act-arealine-row .f input,.act-arealine-row .f select,.act-arealine-row .f-readout,.act-arealine-row .framing-wallarea-strip{box-sizing:border-box;height:36px}.f-readout{box-sizing:border-box;border:1px solid var(--border-strong);height:36px;color:var(--ink-2);background:#f1f3f2;border-radius:6px;align-items:center;padding:0 8px;font-size:13px;display:flex}.framing-wallarea-strip{background:var(--calc-bg);border:1px solid var(--calc-br);color:var(--calc-ink);font-variant-numeric:tabular-nums;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;padding:7px 10px;font-size:11px;display:flex}.framing-wallarea-strip strong{font-weight:700}.framing-openings-table{table-layout:fixed;border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.framing-openings-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:4px 6px;font-size:10px}.framing-openings-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:4px 6px;overflow:hidden}.framing-openings-table input,.framing-openings-table select{border:1px solid var(--border-strong);background:var(--surface);text-overflow:ellipsis;border-radius:5px;width:100%;min-width:0;max-width:100%;padding:4px 6px}.link-add{color:var(--pick-br);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:600;display:block}.link-add:hover{text-decoration:underline}.frp-section.section-is-alternate,.paint-section.section-is-alternate,.act-section.section-is-alternate,.framing-section.section-is-alternate,.gyp-section.section-is-alternate{border:none}.frp-section.section-is-alternate{--frp-accent:var(--alternate-bg);--frp-block-bg:var(--alternate-bg);--frp-block-ink:var(--alternate-ink)}.paint-section.section-is-alternate{--paint-accent:var(--alternate-bg);--paint-block-bg:var(--alternate-bg);--paint-block-ink:var(--alternate-ink)}.act-section.section-is-alternate{--act-accent:var(--alternate-bg);--act-block-bg:var(--alternate-bg);--act-block-ink:var(--alternate-ink)}.framing-section.section-is-alternate{--framing-accent:var(--alternate-bg);--framing-block-bg:var(--alternate-bg);--framing-block-ink:var(--alternate-ink)}.gyp-section.section-is-alternate{--gyp-accent:var(--alternate-bg);--gyp-block-bg:var(--alternate-bg);--gyp-block-ink:var(--alternate-ink)}.section-alt-checkbox{cursor:pointer;justify-content:center;align-items:center;display:flex}.section-alt-checkbox input[type=checkbox]{appearance:none;cursor:pointer;background:#fff3;border:2px solid #ffffffbf;border-radius:50%;outline:none;place-content:center;width:18px;height:18px;margin:0;transition:all .15s;display:grid}.section-alt-checkbox input[type=checkbox]:hover{background:#ffffff59;border-color:#fff}.section-alt-checkbox input[type=checkbox]:checked{background:#fff;border-color:#fff}.section-alt-checkbox input[type=checkbox]:checked:before{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px}.section-alt-checkbox input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #fff}.section-alt-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:default}.section-alt-radio-bullet{color:#fff;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.section-alt-radio-bullet input[type=checkbox]{appearance:none;cursor:pointer;background:#fff3;border:2px solid #ffffffbf;border-radius:50%;outline:none;place-content:center;width:17px;height:17px;margin:0;transition:all .15s;display:grid}.section-alt-radio-bullet input[type=checkbox]:hover{background:#ffffff59;border-color:#fff}.section-alt-radio-bullet input[type=checkbox]:checked{background:#fff;border-color:#fff}.section-alt-radio-bullet input[type=checkbox]:checked:before{content:"";background:var(--ink);border-radius:50%;width:7px;height:7px}.section-alt-radio-bullet input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #fff}.section-alt-radio-bullet input[type=checkbox]:disabled{opacity:.5;cursor:default}.section-alt-toggle{color:#fff;white-space:nowrap;cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.section-alt-toggle input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.section-alt-track{background:#ffffff40;border:1px solid #ffffff80;border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.section-alt-thumb{background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:1px;left:1px}.section-alt-toggle input:checked+.section-alt-track{background:var(--surface)}.section-alt-toggle input:checked+.section-alt-track .section-alt-thumb{background:var(--ink);transform:translate(16px)}.section-alt-toggle input:focus-visible+.section-alt-track{outline-offset:2px;outline:2px solid #fff}.section-alt-toggle input:disabled+.section-alt-track{opacity:.5;cursor:default}.section-alt-toggle.on-light{color:var(--ink)}.section-alt-toggle.on-light .section-alt-track{border-color:var(--border);background:#e4e7e5}.section-alt-toggle.on-light input:checked+.section-alt-track{background:var(--ink)}.section-alt-toggle.on-light input:checked+.section-alt-track .section-alt-thumb{background:var(--surface)}.section-alt-toggle.on-light input:focus-visible+.section-alt-track{outline:2px solid var(--ink);outline-offset:2px}.estimate-builder-page{max-width:none}.estimate-builder-page .builder-layout-left .f input,.estimate-builder-page .builder-layout-left .f select,.estimate-builder-page .builder-layout-left .f-type input,.estimate-builder-page .builder-layout-left .f-type select,.estimate-builder-page .builder-layout-left textarea{border:1px solid var(--line-strong,#333);background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:5px;transition:border-color .1s,box-shadow .1s}.estimate-builder-page .builder-layout-left .f input:hover,.estimate-builder-page .builder-layout-left .f select:hover,.estimate-builder-page .builder-layout-left .f-type input:hover,.estimate-builder-page .builder-layout-left .f-type select:hover,.estimate-builder-page .builder-layout-left textarea:hover{border-color:#111}.estimate-builder-page .builder-layout-left .f input:focus,.estimate-builder-page .builder-layout-left .f select:focus,.estimate-builder-page .builder-layout-left .f-type input:focus,.estimate-builder-page .builder-layout-left .f-type select:focus,.estimate-builder-page .builder-layout-left textarea:focus{background:var(--surface);outline-offset:1px;box-shadow:none;border-color:#111;outline:2px solid #111}.source-subitem-row{margin-top:4px;padding-left:62px}.builder-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);align-items:start;gap:16px;display:grid}.builder-layout-left{flex-direction:column;gap:16px;min-width:0;display:flex}.builder-preview{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:calc(100vh - 92px);max-height:calc(100vh - 92px);box-shadow:var(--shadow);flex-direction:column;display:flex;position:sticky;top:76px;overflow:hidden}.builder-preview-toolbar{border-bottom:1px solid var(--border);background:var(--page);flex:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.builder-preview-live{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 3px var(--green-soft);border-radius:50%;flex:none}.builder-preview-live.is-pending{background:var(--ink-2);box-shadow:none}.builder-preview-label{color:var(--ink-2);flex:1;font-size:12px;font-weight:600}.builder-preview-pages{color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:600}.builder-preview-frame{background:#e8ebe9;flex:1;min-height:0;position:relative}.builder-preview-pdf,.builder-preview-frame iframe{background:#e8ebe9;border:0;display:block;position:absolute;inset:0;width:100%!important;height:100%!important}@media (width<=1200px){.builder-layout{grid-template-columns:minmax(0,1fr)}.builder-preview{min-height:80vh;max-height:none;position:static}.builder-preview-frame{min-height:70vh}}.job-totals-pills,.job-pills{grid-template-columns:repeat(3,auto);justify-content:end;place-items:center stretch;gap:7px 8px;display:grid}.job-totals-pills.has-actions .job-pill-action-excel{grid-area:1/1}.job-totals-pills.has-actions .job-pill-action-bom{grid-area:1/2}.job-totals-pills.has-actions .job-pill-action-estimate{grid-area:1/3}.job-totals-pills.has-actions .job-pill-total-base{grid-area:2/1}.job-totals-pills.has-actions .job-pill-total-margin{grid-area:2/2}.job-totals-pills.has-actions .job-pill-total-price{grid-area:2/3}.job-pill{border-radius:var(--radius);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:center;box-sizing:border-box;border:1px solid #0000;justify-content:center;align-items:center;width:100%;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;display:inline-flex}.job-pill-sub{color:#fff;background:#ffffff2e;border:1px solid #ffffff26}.job-pill-main{color:var(--green-deep);background:#fff;border:1px solid #ffffffe6;font-weight:800;box-shadow:0 1px 3px #0000001f}.job-pill-btn{appearance:none;cursor:pointer;color:var(--green-deep);background:#fff;border:1px solid #ffffffe6;margin:0;font-weight:700;transition:background-color .15s,box-shadow .15s,transform .1s,border-color .15s;box-shadow:0 1px 3px #0000001f}.job-pill-btn:hover{color:var(--green-deep);background:#f0f7f3;border-color:#fff;box-shadow:0 2px 5px #0000002e}.job-pill-btn:active{background:#e4f3ea;transform:translateY(1px);box-shadow:0 1px 2px #00000024}.job-pill-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=700px){.section-sticky .section-header,.job-totals-section .section-header{min-height:auto;padding:10px 14px}.job-totals-pills,.job-pills{justify-content:flex-end}}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.page-header h1{color:var(--ink);letter-spacing:-.02em;margin:0 0 4px;font-size:26px;font-weight:700}.page-header p{color:var(--ink-2);margin:0;font-size:13px}.header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.gsr-builder-actions>.btn:not(.btn-primary){order:1}.gsr-builder-actions>.gsr-week-picker{order:2}.gsr-builder-actions>.gsr-person-picker:not(.gsr-week-picker){order:3}.gsr-builder-actions>.btn-primary{order:4}.search-box{border:1px solid var(--border-strong);background:var(--surface);width:280px;height:42px;color:var(--ink-3);border-radius:8px;align-items:center;gap:9px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--green)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.new-button{height:42px}.pipeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:visible}.pipeline-tabs{--pipeline-tab-cols:6;grid-template-columns:repeat(var(--pipeline-tab-cols), 1fr);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;display:grid;overflow:hidden}.pipeline-tab{appearance:none;border:0;border-right:1px solid var(--border);background:var(--surface);cursor:pointer;height:64px;color:var(--ink);border-bottom:3px solid #0000;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.pipeline-tab:last-child{border-right:0}.pipeline-tab:hover{background:var(--page)}.pipeline-tab.active{color:var(--green-dark);border-bottom-color:var(--green);background:var(--green-soft)}.tab-name{align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.tab-count{background:var(--page);color:var(--ink-2);border-radius:5px;padding:3px 7px;font-size:12px;font-weight:600}.pipeline-tab.active .tab-count{background:var(--surface);color:var(--green-dark)}@media (width<=900px){.pipeline-tabs{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.pipeline-tabs{display:flex;overflow-x:auto}.pipeline-tab{min-width:140px}}.estimate-table-wrap{overflow:visible}.estimate-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.estimate-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);white-space:nowrap;background:#fbfcfb;padding:14px;font-size:11px;font-weight:700}.estimate-table th.sortable{padding:0}.estimate-table th.sortable button{width:100%;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:14px;display:inline-flex}.estimate-table th.sortable button:hover{color:var(--ink)}.estimate-table th.sortable button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.estimate-table .sort-icon{color:var(--green-dark);flex-shrink:0}.estimate-table .sort-icon-idle{color:var(--ink-3);opacity:.55}.estimate-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px;font-size:13px}.estimate-table tbody tr:last-child td{border-bottom:0}.estimate-table tbody tr{cursor:pointer;background:var(--surface)}.estimate-table tbody tr:hover{background:var(--page)}.estimate-table td strong{margin-bottom:3px;font-size:13.5px;display:block}.estimate-table td>span{color:var(--ink-3);margin-top:2px;font-size:11.5px;display:block}.due-note{color:var(--ink-3)}.due-note.overdue{color:var(--danger);font-weight:600}.due-note.due-soon{color:var(--warning);font-weight:600}.value-cell{font-variant-numeric:tabular-nums;font-weight:600}.row-menu{position:relative}.icon-button{cursor:pointer;width:34px;height:34px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.icon-button:hover{background:var(--page)}.menu-popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:190px;padding:6px;position:absolute;top:36px;right:4px;box-shadow:0 14px 30px #0f1e302e}.menu-popover button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:8px 9px;font-size:12px;display:flex}.menu-popover button:hover{background:var(--page)}.menu-item-danger{color:var(--danger)!important}.menu-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:5px 9px;font-size:10px;font-weight:700}.menu-divider{background:var(--border);height:1px;margin:5px 0}.table-footer{color:var(--ink-2);justify-content:space-between;align-items:center;padding:14px;font-size:12px;display:flex}.pagination-controls{align-items:center;gap:6px;display:flex}.pagination-controls select{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--ink-2);border-radius:6px;padding:0 8px}.page-button{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;width:34px;height:34px;color:var(--ink-2);border-radius:6px;place-items:center;display:grid}.page-button.current{background:var(--green);border-color:var(--green);color:#fff}.page-button:disabled{opacity:.4;cursor:not-allowed}.empty-state{text-align:center;padding:70px 20px}.empty-state h3{margin:0 0 6px}.empty-state p{color:var(--ink-2);margin:0}.estimate-table .pill{text-align:left;width:auto;padding:5px 10px}.estimate-table .status-picker{width:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overview-header{align-items:flex-start}.overview-meta{flex-wrap:wrap;gap:16px 32px;margin-top:14px;display:flex}.overview-meta>div{flex-direction:column;gap:4px;min-width:110px;display:flex}.overview-meta span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.overview-meta strong{color:var(--ink);font-size:14px;font-weight:600}.overview-meta-input{min-width:180px;padding:2px 6px;font-size:14px;font-weight:600}.overview-body{flex-direction:column;gap:20px;margin-top:20px;display:flex}.overview-body h2{margin:0 0 12px;font-size:15px}.financial-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1100px){.financial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.financial-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:16px;display:flex}.financial-card small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.financial-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;display:block}.finance-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid}.finance-icon.blue{background:#0969da}.finance-icon.orange{background:#d97706}.finance-icon.purple{background:#7c3aed}.finance-icon.green{background:var(--green)}.finance-icon.teal{background:#0d9488}.scope-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.scope-row{grid-template-columns:minmax(0,1fr)}}.scope-side{flex-direction:column;gap:14px;display:flex}.go-to-estimate{justify-content:center;align-items:center;width:100%;height:72px;font-size:15px;display:flex}.estimate-status-panel h2{margin:0 0 12px;font-size:15px}.status-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.status-list li{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.status-ok svg{color:var(--green);flex:none}.status-warn svg{color:var(--warning);flex:none}.scope-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;display:grid}.scope-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;padding:16px;display:flex}.scope-icon{background:var(--page);width:38px;height:38px;color:var(--act-block-bg);border-radius:8px;place-items:center;display:grid}.scope-copy small{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.scope-copy{flex:1}.scope-copy strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;display:block}.scope-breakdown{color:var(--ink-2);flex-direction:column;gap:2px;margin-top:6px;font-size:11px;display:flex}.scope-status{align-items:center;gap:5px;margin-top:auto;font-size:12px;font-weight:600;display:flex}.scope-status svg{flex:none}.scope-status.not-started{color:var(--ink-2)}.scope-status.in-progress{color:#0874c9}.scope-status.review{color:#a55707}.scope-status.complete{color:var(--green-dark)}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1000px){.lower-grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.panel-heading h2{margin:0 0 3px;font-size:15px}.panel-heading p{color:var(--ink-2);margin:0;font-size:12px}.scope-color-rows{flex-direction:column;gap:16px;display:flex}.scope-color-row{align-items:center;gap:18px;display:flex}.scope-color-label{flex:none;width:130px;font-size:13px;font-weight:600}.scope-color-swatches{gap:8px;display:flex}.scope-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid}.scope-color-swatch:hover{border-color:var(--border-strong)}.scope-color-swatch.active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.proposal-table-wrap{box-shadow:none;border:0;border-radius:0;margin:0 -18px -18px}.proposal-table th,.proposal-table td{padding:12px 14px}.current-pill{color:#0874c9;background:#e5f2ff;border-radius:20px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.text-button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 6px;font-size:12px;font-weight:600;display:flex}.text-button:hover{color:var(--ink)}.notes-content{color:var(--ink);font-size:13px;line-height:1.5}.notes-content p{margin:0 0 8px}.notes-content p:last-child{margin-bottom:0}.note-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.modified{color:var(--ink-3);margin-top:12px;font-size:11px;display:block}.tracker-tabs-card{padding-bottom:4px}.tracker-tabs-card .pipeline-tabs{grid-template-columns:none;display:flex;overflow-x:auto}.tracker-tabs-card .pipeline-tab{flex:none;justify-content:center;height:36px;padding:0 14px}.tracker-tabs-card .tab-name{font-size:12px;font-weight:600}.tracker-tab-body{padding:20px 4px 4px}.tracker-overview{flex-direction:column;gap:20px;display:flex}.tracker-overview .card h2{margin-bottom:14px}.tracker-warning{border-radius:var(--radius);padding:10px 14px}.tracker-warning p{margin:0;font-size:12px}.tracker-warning p+p{margin-top:6px}.tracker-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1300px){.tracker-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.commission-card h2{margin:0 0 10px}.commission-lines{flex-direction:column;gap:10px;display:flex}.commission-line{align-items:center;gap:12px;display:flex}.commission-line small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700;display:block}.commission-line strong{font-variant-numeric:tabular-nums;font-size:18px;display:block}.commission-rate{color:var(--ink-2);font-size:11px}.commission-editor{flex-direction:column;gap:12px;min-width:0;display:flex}.commission-editor-row{align-items:center;gap:10px;min-width:0;display:flex}.commission-editor-row label{width:90px;color:var(--ink-2);flex:none;font-size:12px;font-weight:600}.commission-editor-row select,.commission-editor-row input{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex:1 1 0;width:0;min-width:0;padding:7px 9px;font-size:13px}.commission-notes{border:1px solid var(--border-strong);resize:vertical;border-radius:6px;min-height:60px;padding:8px 10px;font-family:inherit;font-size:13px}.tracker-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;gap:20px;display:grid}.tracker-top-grid>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.tracker-top-grid>.card .table-wrap{flex:1;min-height:0;overflow-y:auto}@media (width<=1100px){.tracker-top-grid{grid-template-columns:minmax(0,1fr)}}.tracker-mid-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.tracker-bottom-grid{grid-template-columns:minmax(0,3.45fr) minmax(240px,.8fr);align-items:start;gap:20px;display:grid}.tracker-bottom-cards{grid-template-columns:minmax(0,2fr) minmax(0,2.1fr);align-items:stretch;gap:20px;min-width:0;display:grid}.tracker-bottom-cards>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.tracker-bottom-cards>.card.tracker-budget-summary{min-width:min-content}.tracker-budget-summary .table-wrap{flex:1;overflow:visible}.tracker-budget-summary .tracker-table th,.tracker-budget-summary .tracker-table td{white-space:nowrap}.tracker-budget-summary .tracker-table td:not(:first-child){font-variant-numeric:tabular-nums}@media (width<=1400px){.tracker-bottom-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=1200px){.tracker-bottom-cards{grid-template-columns:minmax(0,1fr)}}.tracker-right-stack{flex-direction:column;gap:20px;min-width:0;display:flex}.tracker-hero{flex-wrap:wrap;align-items:stretch;gap:16px;margin-bottom:20px;display:flex}.tracker-identity-card{flex-direction:column;flex:0 360px;justify-content:center;min-width:min(320px,100%);max-width:420px;margin-bottom:0;display:flex}.tracker-hero-stats{flex:560px;grid-template-rows:1fr 1fr;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:min(560px,100%);display:grid}.tracker-hero-stats .financial-card{min-width:0;padding:12px}.tracker-hero-stats .financial-card>div{min-width:0}.tracker-hero-stats .financial-card small{line-height:1.25}.tracker-commission-tile{padding-right:52px;position:relative}.tracker-stat-edit{padding:2px 8px;font-size:11px;line-height:1.3;position:absolute;top:8px;right:8px}.tracker-percent-icon{overflow:hidden}.tracker-percent-icon svg{display:block}@media (width<=1100px){.tracker-hero-stats{min-width:100%}}@media (width<=900px){.tracker-hero-stats{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}.tracker-identity-title{flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.tracker-identity-title h1{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;margin:0;font-size:22px;font-weight:700;overflow:hidden}.tracker-identity-title .status-picker{flex:none;width:auto}.tracker-identity-title .pill{width:auto}.tracker-identity-fields{flex-direction:column;gap:14px;margin-top:16px;display:flex}.tracker-identity-fields>div{flex-direction:column;gap:4px;display:flex}.tracker-identity-fields span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:600}.tracker-identity-fields strong{color:var(--ink);font-size:14px;font-weight:600}.tracker-status-live{color:var(--green-dark);font-size:12px;font-weight:600}.tracker-status-muted{color:var(--ink-3);font-size:12px;font-weight:600}.tracker-activity{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tracker-activity li{align-items:flex-start;gap:10px;display:flex}.tracker-activity-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.tracker-activity p{color:var(--ink);margin:0;font-size:13px;font-weight:500}.tracker-activity small{color:var(--ink-3);margin-top:2px;font-size:11px;display:block}.tracker-donut-row{align-items:center;gap:24px;display:flex}.tracker-legend{color:var(--ink);flex-direction:column;gap:10px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.tracker-legend strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:4px}.tracker-legend-dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.tracker-bar-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.tracker-bar-list li{grid-template-columns:minmax(0,1.35fr) minmax(36px,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.tracker-bar-label{color:var(--ink-2);font-weight:600;line-height:1.25}.tracker-bar-track{background:var(--border);border-radius:6px;min-width:40px;height:8px;overflow:hidden}.tracker-bar-fill{border-radius:6px;height:100%;display:block}.tracker-bar-metrics{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.tracker-bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.tracker-bar-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:2.4em;color:var(--ink-2)}.tracker-bar-track-empty{background:0 0}.tracker-bar-total{border-top:1px solid var(--border);padding-top:4px}.tracker-bar-total .tracker-bar-label,.tracker-bar-total .tracker-bar-value,.tracker-bar-total .tracker-bar-pct{color:var(--ink);font-weight:700}.tracker-table{border-collapse:separate;border-spacing:0;width:100%}.tracker-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--border);white-space:nowrap;background:#fbfcfb;padding:10px 12px;font-size:10px;font-weight:700}.tracker-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px;font-size:13px}.tracker-table tbody tr:last-child td{border-bottom:0}.tracker-table tfoot td{border-top:2px solid var(--border-strong);padding:10px 12px;font-size:13px;font-weight:700}.tracker-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tracker-table-commitments th.num,.tracker-table-commitments td.num,.tracker-table-commitments th.col-fit,.tracker-table-commitments td.col-fit,.tracker-table-commitments th.pct,.tracker-table-commitments td.pct{white-space:nowrap;width:1%}.tracker-table-commitments thead th.num{text-align:left}.tracker-table-commitments th.pct,.tracker-table-commitments td.pct{text-align:left;padding-left:20px;padding-right:16px}:is(.tracker-table-commitments td.num:has(+.pct),.tracker-table-commitments th.num:has(+.pct)){padding-right:20px}.tracker-variance-bad{color:var(--danger);font-weight:600}.tracker-variance-good{color:var(--green-dark);font-weight:600}.tracker-stepper{align-items:flex-start;gap:0;padding:8px 4px 4px;display:flex;overflow-x:auto}.tracker-step{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:6px;min-width:120px;display:flex}.tracker-step-track{justify-content:center;align-items:center;width:100%;height:28px;display:flex}.tracker-step-rail{background:var(--border-strong);flex:1;height:2px}.tracker-step.complete .tracker-step-rail{background:var(--green)}.tracker-step:first-child .tracker-step-rail:first-child,.tracker-step:last-child .tracker-step-rail:last-child{visibility:hidden}.tracker-step-dot{appearance:none;border:2px solid var(--ink-3);background:var(--surface);cursor:pointer;width:24px;height:24px;color:var(--ink-3);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.tracker-step-dot:disabled{cursor:default}.tracker-step.complete .tracker-step-dot{border-color:var(--green);background:var(--green);color:#fff}.tracker-step strong{color:var(--ink);font-size:13px}.tracker-step>span{color:var(--ink-3);font-size:11px}.tracker-step-status{letter-spacing:.04em;text-transform:uppercase;font-weight:700;font-size:10px!important}.tracker-step.complete .tracker-step-status{color:var(--green-dark)!important}.tracker-add-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.tracker-add-row input,.tracker-add-row select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;flex:1;min-width:100px;padding:7px 9px;font-size:13px}.tracker-document-file-input{display:none}.tracker-document-pending{min-width:0;max-width:220px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:13px;overflow:hidden}.tracker-document-pending.is-empty{color:var(--ink-3)}.tracker-document-error{color:var(--danger);margin:0 0 12px;font-size:13px}.tracker-document-list li{justify-content:flex-start;align-items:center;gap:12px;display:flex}.tracker-document-list a{color:var(--green-dark);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.tracker-document-list a:hover{text-decoration:underline}.tracker-document-date{color:var(--ink-3);font-size:11px}.tracker-note-composer{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.tracker-note-composer textarea{border:1px solid var(--border-strong);resize:vertical;border-radius:6px;flex:1;min-height:44px;padding:8px 10px;font-family:inherit;font-size:13px}.tracker-note-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.tracker-note-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.tracker-note-list li>div{flex:1;min-width:0}.tracker-note-list li:last-child{border-bottom:0;padding-bottom:0}.tracker-note-list p{margin:0 0 4px;font-size:13px}.tracker-note-list span{color:var(--ink-3);font-size:11px}.cost-entry-card,.cost-entry-card .table-wrap{overflow:visible}.cost-entry-grid{min-width:1000px}.cost-entry-grid select,.cost-entry-grid input{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:100%;min-width:90px;padding:7px 8px;font-size:13px}.cost-entry-footer{align-items:center;gap:20px;margin-top:14px;display:flex}.cost-entry-total{color:var(--ink-2);margin-left:auto;font-size:13px}.cost-entry-total strong{font-variant-numeric:tabular-nums;color:var(--ink);margin-left:8px;font-size:17px}.follow-up-alerts{gap:10px;margin-bottom:18px;display:grid}.follow-up-alert-card{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-left:4px solid #0969da;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:14px 16px;display:flex}.follow-up-alert-card:hover{border-color:#0969da}.follow-up-alert-card strong{font-size:15px}.follow-up-alert-card span{color:var(--ink-2);font-size:13px}.follow-up-quick-row{flex-wrap:wrap;gap:8px;display:flex}.follow-up-draft-modal{max-width:560px}.follow-up-draft-body{resize:vertical;width:100%;min-height:180px}.follow-up-template-body{resize:vertical;width:100%;min-height:140px}.settings-flash{color:var(--ink-2);margin:0 0 12px;font-size:13px}.settings-flash.ok{color:var(--green-dark)}.settings-flash.err{color:var(--danger)}.dashboard-header p{color:var(--ink-2);margin:4px 0 0;font-size:13px}.dashboard-header{align-items:center}.dashboard-header-actions{position:relative}.dashboard-search-container{width:320px;position:relative}.dashboard-search-input-box{background:var(--surface);border:1px solid var(--border-strong);height:40px;color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0000000a}.dashboard-search-input-box:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.dashboard-search-icon{color:var(--ink-3);flex-shrink:0}.dashboard-search-input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-family:inherit;font-size:13px}.dashboard-search-input::placeholder{color:var(--ink-3);opacity:.85}.dashboard-search-clear-btn{appearance:none;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:0 -4px 0 0;padding:2px;transition:color .12s,background .12s;display:inline-flex}.dashboard-search-clear-btn:hover{color:var(--ink);background:var(--page)}.dashboard-search-dropdown{background:var(--surface);border:1px solid var(--border-strong);z-index:60;border-radius:10px;flex-direction:column;width:440px;max-width:90vw;max-height:400px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 32px #1018142e}.dashboard-search-header{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);background:var(--page);border-bottom:1px solid var(--border);z-index:2;padding:8px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.dashboard-search-list{margin:0;padding:0;list-style:none}.dashboard-search-item{cursor:pointer;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background .1s;display:flex}.dashboard-search-item:last-child{border-bottom:0}.dashboard-search-item:hover,.dashboard-search-item.is-selected{background:#f0f7f3}.dashboard-search-item-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dashboard-search-item-title-row{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-search-item-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.dashboard-search-item-number{color:var(--ink-2);background:var(--page);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:11px;font-weight:500}.dashboard-search-item-meta{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-search-item-stub{color:var(--ink-3);font-style:italic}.dashboard-search-item-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-search-item-pill{white-space:nowrap;border:1px solid;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.dashboard-search-item-arrow{color:var(--ink-3);transition:transform .15s,color .15s}.dashboard-search-item:hover .dashboard-search-item-arrow,.dashboard-search-item.is-selected .dashboard-search-item-arrow{color:var(--green);transform:translate(2px)}.dashboard-search-empty{text-align:center;color:var(--ink-2);padding:24px 16px;font-size:13px}@media (width<=768px){.dashboard-header{flex-direction:column;align-items:stretch;gap:16px}.dashboard-search-container{width:100%}.dashboard-search-dropdown{width:100%;max-width:100%;left:0;right:0}}.dashboard-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}@media (width<=1100px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-stats-grid .financial-card{flex-direction:column;align-items:flex-start;gap:10px}.dashboard-stats-grid .finance-icon{margin-bottom:2px}.dashboard-card-link{appearance:none;color:var(--green-dark);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;font-weight:600;display:block}.dashboard-card-link:hover{text-decoration:underline}.dashboard-full-width-link{text-align:center;width:100%;margin-top:14px}.dashboard-sub-stat{color:var(--ink-2);margin-top:4px;font-size:12px;display:block}.dashboard-sub-stat.is-positive{color:var(--green);font-weight:600}.dashboard-sold-card strong{font-size:22px}.dashboard-mid-grid{margin-bottom:20px}.dashboard-row{cursor:pointer}.dashboard-row:hover{background:var(--page)}.dashboard-row .is-due-soon{color:var(--danger)}.dashboard-showing{color:var(--ink-3);text-align:center;margin:10px 2px 0;font-size:12px}.dashboard-planner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-planner-item{border:1px solid var(--border);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;display:flex}.dashboard-planner-item small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.dashboard-planner-item strong{font-variant-numeric:tabular-nums;font-size:22px}.dashboard-planner-item span{color:var(--ink-2);font-size:11px}.finance-icon.red{background:var(--danger)}.reports-filter{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:9px 12px;font-size:13px}.reports-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-stat-grid .financial-card{padding:36px 16px}@media (width<=1000px){.reports-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-mid-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.reports-mid-grid>.card{flex-direction:column;margin-bottom:0;display:flex}.reports-chart-row>.card{min-height:360px}.reports-funnel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}@media (width<=1100px){.reports-funnel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-mini-stat{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:20px 16px 22px}.reports-mini-stat strong{font-size:28px}.reports-mini-donut{place-items:center;display:grid;position:relative}.reports-mini-donut-icon{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.reports-donut-wrap{flex:none;place-items:center;display:grid;position:relative}.reports-donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reports-donut-center strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px}.reports-donut-center span{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.reports-pipeline-card,.reports-trend-card{padding:22px 24px 26px}.reports-pipeline-card .tracker-donut-row{flex:1;gap:32px;min-height:300px}.reports-pipeline-donut .reports-donut-center strong{font-size:26px}.reports-pipeline-donut .reports-donut-center span{font-size:11px}.reports-trend-card .line-chart{flex:1;min-height:0}.reports-trend-card .line-chart svg{flex:auto;width:100%;min-height:248px}.reports-note{color:var(--ink-3);align-items:center;gap:6px;margin:20px 0 0;font-size:12px;display:flex}.line-chart{flex-direction:column;gap:6px;display:flex}.line-chart-values,.line-chart-labels{color:var(--ink-3);justify-content:space-between;font-size:11px;display:flex}.line-chart-values span{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.gsr-person-badge{box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);height:36px;color:var(--ink);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:5px 12px 5px 5px;font-size:13px;font-weight:600;display:flex}.gsr-week-picker-trigger{padding:5px 14px}.gsr-person-picker-trigger:hover,.gsr-person-option:hover{border-color:var(--green)}.dashboard-header .header-actions .btn{box-sizing:border-box;border-radius:8px;height:36px}.gsr-person-picker{flex-shrink:0;position:relative}.gsr-person-picker-trigger{appearance:none;cursor:pointer}.gsr-person-menu{z-index:40;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;gap:6px;min-width:100%;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #1018142e}.gsr-person-option{appearance:none;cursor:pointer;text-align:left;width:100%}.gsr-person-option[aria-selected=true]{border-color:var(--green);background:#eef7f1}.gsr-status-badge{box-sizing:border-box;border:1px solid var(--border-strong);letter-spacing:.02em;white-space:nowrap;border-radius:8px;align-items:center;height:36px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.gsr-status-badge[data-status=building]{color:var(--ink-2);background:var(--surface)}.gsr-status-badge[data-status=submitted]{color:#9a6700;background:#fff8c5;border-color:#d4a72c}.gsr-status-badge[data-status=approved]{color:#0e7a43;border-color:var(--green);background:#eef7f1}.gsr-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}@media (width<=1300px){.gsr-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.gsr-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gsr-stat-card{flex-direction:column;justify-content:space-between;gap:12px;display:flex}.gsr-stat-header{align-items:flex-start;gap:10px;display:flex}.gsr-stat-sublabel{color:var(--ink-3);margin-top:1px;font-size:11px;display:block}.gsr-stat-footer{border-top:1px solid var(--border);color:var(--ink-2);justify-content:space-between;align-items:center;width:100%;padding-top:8px;font-size:11px;display:flex}.gsr-stat-footer strong{color:var(--ink);font-size:12px;font-weight:700;display:inline}.gsr-progress-card{grid-column:span 2;flex-direction:row!important;align-items:center!important;gap:18px!important}.gsr-progress-card strong{white-space:nowrap}.gsr-progress-ring{justify-content:center;align-items:center;display:flex;position:relative}.gsr-progress-ring-label{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gsr-progress-ring-label strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.gsr-progress-ring-label small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.gsr-lists-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}@media (width<=1200px){.gsr-lists-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.gsr-lists-grid>.card{flex-direction:column;min-width:0;height:100%;margin-bottom:0;display:flex}.gsr-lists-grid .panel-heading{flex-shrink:0}.gsr-list-card{flex-direction:column;min-height:220px;display:flex}.gsr-lists-grid .gsr-item-list,.gsr-lists-grid .gsr-list-card>.stub{flex:1;min-height:0;overflow-y:auto}.gsr-list-card .panel-heading h2{align-items:center;gap:6px;font-size:14px;display:flex}.gsr-list-count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.gsr-item-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gsr-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.gsr-item.is-completed .gsr-item-label{color:var(--ink-3);text-decoration:line-through}.gsr-item-check{cursor:pointer;flex:1;align-items:flex-start;gap:8px;display:flex}.gsr-item-check input[type=checkbox]{margin-top:3px}.gsr-item-body{flex-direction:column;flex:1;gap:2px;display:flex}.gsr-item-label{color:var(--ink);font-size:13px;font-weight:600}.gsr-item-meta{color:var(--ink-3);font-size:11px}.gsr-item-meta.is-due-soon{color:var(--danger)}.gsr-prose-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gsr-prose-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 4px;font-size:11px;font-weight:700;display:block}.gsr-textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:160px;color:var(--ink);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px}.gsr-textarea-sm{min-height:60px}.gsr-prose-readout{white-space:pre-wrap;color:var(--ink);font:inherit;margin:0;line-height:1.45}.gsr-builder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1000px){.gsr-builder-grid{grid-template-columns:1fr}}.gsr-builder-manual-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:20px}.gsr-manual-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.gsr-manual-row input{border:1px solid var(--border);background:var(--surface);color:var(--ink);font:inherit;border-radius:8px;flex:180px;padding:8px 10px}.job-name-with-notes{align-items:center;gap:8px;min-width:0;display:flex}.job-name-with-notes strong{min-width:0;margin-bottom:0;display:block}.estimate-table .job-name-with-notes strong{margin-bottom:0}.job-header-title-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.job-title-wrapper{vertical-align:middle;align-items:center;display:inline-grid}.job-title-wrapper:after,.job-title-wrapper .job-title-input{width:auto;min-width:1ch;font-family:inherit;font-size:24px;font-weight:700;line-height:inherit;box-sizing:content-box;grid-area:1/2;margin:0;padding:4px 6px}.job-title-wrapper:after{content:attr(data-value) " ";visibility:hidden;white-space:pre}.job-title-wrapper .job-title-input{color:#fff;background:0 0;border:1px solid #0000;border-radius:6px;width:100%}.job-title-wrapper .job-title-input:hover{border-color:#ffffff4d}.job-title-wrapper .job-title-input:focus{border-color:var(--pick-br);background:var(--surface);color:var(--ink);outline:0}.job-header-title-row .page-title,.job-header-title-row h1{flex:1;min-width:0;margin:0}.tracker-identity-title .job-notes-btn{margin-left:auto}.job-notes-btn{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.job-notes-btn svg{fill:none;stroke:currentColor}.job-notes-btn:hover,.job-notes-btn.is-open{color:var(--ink);background:var(--page);border:none}.job-notes-btn.on-dark{color:#fff;background:#ffffff1a;border-color:#ffffff47}.job-notes-btn.on-dark:hover,.job-notes-btn.on-dark.is-open{color:#fff;background:#ffffff2e;border-color:#fff}.job-notes-unread{background:var(--green-deep,#0d543a);pointer-events:none;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}.job-notes-backdrop{z-index:60;background:#10181459;justify-content:flex-end;display:flex;position:fixed;inset:0}.job-notes-panel{background:var(--surface);width:min(440px,100%);height:100%;color:var(--ink);border-left:1px solid var(--border);flex-direction:column;padding:20px 18px 16px;display:flex;overflow:hidden;box-shadow:-12px 0 40px #0000002e}.job-notes-panel-header{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.job-notes-panel-header h2{margin:0;font-size:18px}.job-notes-panel-header p{color:var(--ink-3);margin:4px 0 0;font-size:12px;line-height:1.35}.job-notes-close{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;margin-left:auto;padding:0}.job-notes-close:hover{background:var(--page);color:var(--ink)}.job-notes-composer{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:10px 12px 8px;position:relative}.job-notes-composer.is-compact{border:0;align-items:flex-start;gap:8px;margin:0;padding:8px 0 0;display:flex}.job-notes-composer-main{flex:1;min-width:0;position:relative}.job-notes-composer textarea{resize:vertical;width:100%;min-height:64px;color:var(--ink);font:inherit;background:0 0;border:0;padding:0;font-size:13px}.job-notes-composer.is-compact textarea{border:1px solid var(--border-strong);resize:none;border-radius:8px;min-height:36px;padding:8px 10px}.job-notes-composer textarea:focus{outline:0}.job-notes-composer-tools{align-items:center;gap:4px;margin-top:8px;display:flex}.job-notes-composer-tools .spacer{flex:1}.job-notes-composer-tools button:not(.btn){width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0}.job-notes-composer-tools button:not(.btn):hover:not(:disabled){background:var(--page);color:var(--ink)}.job-notes-composer-tools button:disabled{opacity:.4;cursor:default}.job-notes-emoji-wrap{position:relative}.job-notes-emoji-menu{background:var(--surface);border:1px solid var(--border);z-index:2;border-radius:8px;gap:2px;padding:6px;display:flex;position:absolute;bottom:32px;left:0;box-shadow:0 8px 24px #0000001f}.job-notes-emoji-menu button{font-size:16px;width:28px!important}.job-notes-mention-menu{background:var(--surface);border:1px solid var(--border);z-index:3;border-radius:8px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #0000001f}.job-notes-mention-menu button{cursor:pointer;width:100%;font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.job-notes-mention-menu button:hover{background:var(--green-soft)}.job-notes-feed{flex-direction:column;flex:1;gap:18px;min-height:0;display:flex;overflow:auto}.job-notes-thread{border-bottom:1px solid var(--border);padding-bottom:12px}.job-notes-thread:last-child{border-bottom:0}.job-notes-post{align-items:flex-start;gap:10px;display:flex}.job-notes-post>.avatar{width:32px;height:32px;font-size:11px}.job-notes-post-main{flex:1;min-width:0}.job-notes-post-main header{align-items:baseline;gap:8px;display:flex}.job-notes-post-main header strong{font-size:13px}.job-notes-post-main header time{color:var(--ink-3);font-size:12px}.job-notes-body{white-space:pre-wrap;margin:4px 0 6px;font-size:13px;line-height:1.45}.job-notes-mention{color:#2563eb;font-weight:600}.job-notes-post-actions{gap:12px;display:flex}.job-notes-post-actions button{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.job-notes-post-actions button:hover{color:var(--ink)}.job-notes-post-actions button.is-liked{color:var(--warning)}.job-notes-replies{border-left:2px solid var(--border);flex-direction:column;gap:12px;margin-top:12px;padding-left:12px;display:flex}.job-notes-replies .avatar{width:26px;height:26px;font-size:10px}
