:root{color:#1f2424;background:#f4f1eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: var(--fs-ink, #1f2424);--muted: var(--fs-muted, #6d746f);--line: var(--fs-line, #ddd8cf);--panel: var(--fs-panel, #fffdf8);--panel-strong: var(--fs-panel-strong, #f8f5ee);--teal: var(--fs-teal, #1b7f78);--teal-soft: var(--fs-teal-soft, #dff1ed);--gold: var(--fs-gold, #b9731f);--gold-soft: var(--fs-gold-soft, #f8e7c5);--rose: var(--fs-rose, #b54b4b);--rose-soft: var(--fs-rose-soft, #f5dddd);--green: var(--fs-green, #347a3b);--green-soft: var(--fs-green-soft, #e0efdf);--shadow: 0 18px 45px rgba(45, 38, 29, .06)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,48px);line-height:1.02}h2{font-size:19px;line-height:1.2}h3{font-size:15px;line-height:1.35}.app-shell{min-height:100vh}.sidebar{background:#232826;bottom:0;box-shadow:18px 0 42px #11161433;color:#faf7ee;display:flex;flex-direction:column;gap:28px;left:0;max-width:calc(100vw - 44px);overflow-y:auto;padding:24px 18px;position:fixed;top:0;transform:translate(-105%);transition:transform .18s ease;width:280px;z-index:70}.sidebar.is-open{transform:translate(0)}.sidebar-header{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 36px}.sidebar-close-button{background:transparent;border:0;color:#ece7dc;height:34px;width:34px}.floating-menu-button{background:transparent;border:0;box-shadow:none;color:#232826;height:36px;left:16px;position:fixed;top:16px;width:36px;z-index:60}.floating-menu-button:hover{color:var(--teal)}.sidebar-close-button:hover{color:#fff}.sidebar-backdrop{background:#11161461;border:0;border-radius:0;top:0;right:0;bottom:0;left:0;padding:0;position:fixed;width:100%;z-index:65}.brand{align-items:center;display:flex;gap:12px;min-width:0}.brand-button{background:transparent;border:0;color:inherit;padding:0;text-align:left;width:100%}.brand-button:hover{color:#fff}.brand-icon{display:block;height:42px;object-fit:contain;width:48px}.brand strong,.brand span{display:block}.brand strong{font-size:15px;line-height:1.2}.brand span{color:#c5c7be;font-size:12px;margin-top:3px}.nav-list{display:grid;gap:7px}.nav-button,.settings-panel button,.settings-link{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:#ece7dc;display:flex;gap:10px;min-height:42px;padding:0 10px;text-align:left;text-decoration:none;width:100%}.nav-button:hover,.nav-button.is-active,.settings-panel button:hover,.settings-link:hover{background:#313734;border-color:#49514d;color:#fff}.sidebar-settings{display:grid;gap:7px}.sync-nav-button{border-color:#dff1ed2e}.sync-icon.is-spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.settings-panel{display:grid;gap:5px;padding:0 0 0 32px}.settings-panel button,.settings-link{color:#c5c7be;min-height:38px}.sidebar-footer{align-items:center;color:#c5c7be;display:grid;gap:2px 8px;grid-template-columns:minmax(0,1fr) auto;margin-top:auto;min-width:0}.sidebar-footer-actions{align-items:center;display:flex;flex:0 0 auto;gap:7px;grid-column:2;grid-row:1}.sidebar-sync-time{color:#949b97;font-size:10px;grid-column:1 / -1;grid-row:2;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-footer-button{align-items:center;background:transparent;border:1px solid #49514d;border-radius:8px;color:#ece7dc;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.sync-footer-button:hover:not(:disabled){background:#313734;color:#fff}.sync-footer-button:disabled{cursor:wait;opacity:.65}.current-user{color:#ece7dc;font-size:14px;font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{align-items:center;background:transparent;border:1px solid #49514d;border-radius:8px;color:#ece7dc;display:inline-flex;gap:6px;min-height:30px;justify-content:center;padding:0 10px;width:auto}.sidebar-logout:hover{background:#313734;color:#fff}.workspace{min-width:0;padding:26px 26px 26px 72px}.topbar{align-items:center;display:flex;gap:20px;justify-content:flex-start;margin-bottom:22px}.topbar.has-title{justify-content:space-between}.topbar-actions{align-items:center;display:flex;gap:10px;min-width:min(560px,100%)}.topbar.has-title .topbar-actions{margin-left:auto}.topbar-title{margin:0}.search-box{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;gap:8px;min-height:42px;padding:0 12px;width:100%}.search-box input{background:transparent;border:0;color:var(--ink);min-width:0;outline:0;width:100%}input,select,textarea{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:8px 10px;width:100%}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid rgba(27,127,120,.16)}.eyebrow{color:var(--muted);display:block;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.notice{background:var(--gold-soft);border:1px solid #e4c076;border-radius:8px;color:#5c3f10;margin-bottom:18px;padding:12px 14px}.dashboard-grid,.dashboard-layout,.project-workspace,.documents-workspace{display:grid;gap:16px}.dashboard-layout{align-items:start;grid-template-columns:minmax(0,1fr)}.dashboard-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(180px,1fr))}.dashboard-kpi{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:8px;min-height:126px;padding:14px}.dashboard-kpi span,.dashboard-kpi small{color:var(--muted)}.dashboard-kpi span{font-size:12px;font-weight:800;text-transform:uppercase}.dashboard-kpi strong{font-size:27px;line-height:1.1}.dashboard-kpi.kpi-gold{border-color:#e4c076}.dashboard-kpi.kpi-green{border-color:#347a3b57}.documents-workspace{grid-template-columns:minmax(280px,.35fr) minmax(0,.65fr);align-items:start}.catalogue-workspace{grid-template-columns:minmax(0,1fr)}.catalogue-selector-panel{display:grid;gap:10px;padding:14px 18px}.catalogue-selector-row{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(240px,640px) auto;justify-content:space-between}.panel,.task-column{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.panel{padding:18px}.panel-large{grid-column:span 1}.mini-stat span,.project-row span,.table-row small,.task-card p,.document-card p,.stage-summary,.empty-state{color:var(--muted)}.panel-heading,.section-title-row{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.compact-heading{margin-bottom:12px}.text-button,.small-button{background:#232826;border:0;border-radius:8px;color:#fffdf8;min-height:38px;padding:0 14px}.small-button.secondary{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink)}.project-list,.stage-list,.note-list{display:grid;gap:10px}.project-row{align-items:center;background:var(--panel-strong);border:1px solid transparent;border-radius:8px;color:var(--ink);display:grid;gap:14px;min-height:74px;padding:13px;text-align:left;width:100%}.project-row:hover,.project-row.is-selected{border-color:#b8b0a4}.project-row strong,.project-row span{display:block}.project-progress-cell{align-items:center;display:grid;gap:6px}.progress-wrap{background:#e6e1d8;border-radius:999px;height:9px;overflow:hidden;width:100%}.progress-wrap span{background:linear-gradient(90deg,var(--teal),#71b35d);display:block;height:100%}.status-pill,.stage-status-pill,.count-label{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;line-height:1;padding:7px 9px;white-space:nowrap}.status-pill.pm-in-progress,.stage-status-pill.stage-in-progress,.stage-status-pill.stage-done{background:var(--teal-soft);color:var(--teal)}.status-pill.pm-on-hold,.stage-status-pill.stage-on-hold{background:var(--rose-soft);color:var(--rose)}.status-pill.pm-pending-customer,.stage-status-pill.stage-pending-customer,.stage-status-pill.stage-not-started,.count-label{background:var(--gold-soft);color:#74480f}.stage-status-pill.stage-skip{background:#e7e2d8;color:var(--muted)}.status-pill.pm-done{background:var(--green-soft);color:var(--green)}.project-table{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.table-row{align-items:center;background:var(--panel);border:0;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:14px;grid-template-columns:minmax(165px,1.45fr) minmax(82px,.65fr) minmax(90px,.65fr) minmax(90px,.7fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(150px,1.1fr) minmax(115px,.85fr) minmax(80px,.6fr);min-width:1030px;min-height:78px;padding:13px 15px;text-align:left;width:100%}.table-row:last-child{border-bottom:0}.table-row.is-selected,.table-row:not(.table-head):hover{background:var(--panel-strong)}.table-head{background:#232826;color:#fffdf8;font-size:12px;font-weight:800;min-height:44px;text-transform:uppercase}.table-row span,.table-row strong,.table-row small{display:block;min-width:0}.table-row small{margin-top:5px}.table-row:not(.table-head){cursor:pointer;font-size:14px}.table-row:not(.table-head):focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.table-row:not(.table-head) strong{font-weight:400}.dashboard-status-select{background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;font:inherit;font-size:13px;min-width:0;padding:7px 28px 7px 8px;width:100%}.dashboard-status-select:hover,.dashboard-status-select:focus-visible{border-color:var(--teal);outline:none}.table-dates-cell small{line-height:1.25}.project-page{display:grid;gap:18px}.project-detail-hero{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 280px}.project-detail-hero.no-picture{grid-template-columns:1fr}.customer-summary{align-items:center;display:flex;gap:14px;min-width:0}.project-header-row{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto}.project-heading-actions{display:flex;flex:0 0 auto;gap:8px;justify-self:end}.customer-summary p{color:var(--muted);margin-top:5px}.project-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.project-title-line h2{margin:0}.project-back-button{margin-bottom:12px}.customer-avatar{align-items:center;background:#e7e2d8;border-radius:50%;color:var(--ink);display:inline-flex;flex:0 0 auto;font-weight:800;height:58px;justify-content:center;width:58px}.project-contact-grid,.spec-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.project-contact-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.project-picture-panel{display:grid;gap:10px;justify-items:end}.project-picture-panel img,.picture-placeholder{aspect-ratio:4 / 3;background:#e7e2d8;border:1px solid var(--line);border-radius:8px;object-fit:cover;width:100%}.picture-placeholder{align-items:center;color:var(--muted);display:grid;gap:8px;justify-items:center;place-content:center}.edit-project-button{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;gap:8px;justify-content:center;min-height:38px;padding:0}.edit-project-button:hover{border-color:var(--teal)}.project-edit-panel{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px}.project-edit-actions{align-items:end;display:flex;gap:8px;justify-content:flex-end}.project-overview-card,.house-spec-panel,.contract-data-panel{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;padding:14px}.contract-description-summary{background:var(--panel);border-left:3px solid var(--teal);display:grid;gap:6px;padding:12px 14px}.contract-description-summary span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.contract-description-summary p{line-height:1.55;margin:0}.scope-row-long strong{line-height:1.5}.project-overview-card{display:grid;gap:14px}.project-status-bar{border-top:1px solid var(--line);display:grid;gap:14px;grid-template-columns:190px minmax(250px,auto) minmax(260px,1fr);padding-top:14px}.project-summary-strip{align-items:center;border-top:1px solid var(--line);display:grid;gap:6px;grid-template-columns:minmax(130px,150px) repeat(6,minmax(88px,1fr));padding-top:10px}.project-summary-strip>div:first-child{min-width:0}.project-workflow-controls{align-items:end;border-top:1px solid var(--line);display:grid;gap:12px;grid-template-columns:minmax(120px,.5fr) minmax(180px,.8fr) minmax(250px,1.2fr) minmax(130px,.5fr);padding-top:12px}.project-workflow-controls label{display:grid;gap:6px;min-width:0}.project-workflow-controls label>span{color:var(--muted);font-size:12px;font-weight:600}.project-workflow-controls select{min-height:38px;width:100%}.house-spec-panel{display:grid;gap:14px;grid-template-columns:240px minmax(0,1fr)}.contract-data-panel{display:grid;gap:12px}.ai-review-panel{gap:14px}.ai-review-heading,.ai-review-heading>div,.ai-analysis-row,.ai-question-form{align-items:center;display:flex}.ai-review-heading{justify-content:space-between}.ai-review-heading>div{gap:10px}.ai-state,.ai-reviewed{color:var(--muted);font-size:11px}.ai-state.is-ready,.ai-reviewed{color:var(--teal)}.ai-refresh-button{height:34px;width:34px}.ai-brief{border-left:3px solid var(--teal);display:grid;gap:6px;padding:4px 12px}.ai-brief p,.ai-finding p,.ai-answer p,.ai-error,.ai-clear-state{margin:0}.ai-brief ul{display:grid;gap:4px;margin:2px 0 0;padding-left:18px}.ai-findings{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ai-finding{background:var(--panel);border-left:3px solid var(--line-strong);display:grid;gap:4px;padding:10px 12px}.ai-finding.is-warning{border-left-color:var(--gold)}.ai-finding.is-critical{border-left-color:#b54b3c}.ai-analysis-list{border:1px solid var(--line);border-radius:6px;overflow:hidden}.ai-analysis-row{border-bottom:1px solid var(--line);gap:12px;justify-content:space-between;padding:9px 10px}.ai-analysis-row:last-child{border-bottom:0}.ai-analysis-row>div{display:grid;gap:2px;min-width:0}.ai-analysis-row span{text-transform:capitalize}.ai-analysis-row small,.ai-citations,.ai-clear-state{color:var(--muted)}.ai-question-form{border:1px solid var(--line);border-radius:6px;gap:8px;padding:5px 6px 5px 10px}.ai-question-form:focus-within{border-color:var(--teal)}.ai-question-form input{background:transparent;border:0;flex:1;min-width:0;outline:0;padding:7px 2px}.ai-question-form button{height:32px;width:32px}.ai-answer{background:var(--panel);display:grid;gap:8px;padding:12px}.ai-citations{display:grid;font-size:11px;gap:4px}.ai-error{color:#9f3f35;font-size:12px}.financial-panel{gap:20px}.financial-table-grid{display:grid;gap:14px;grid-template-columns:minmax(480px,.9fr) minmax(560px,1.1fr)}.financial-ledger-grid{grid-template-columns:minmax(600px,1.1fr) minmax(500px,.9fr)}.contract-payment-grid{border-top:1px solid var(--line);grid-template-columns:minmax(560px,1.25fr) minmax(420px,.75fr);padding-top:16px}.financial-table-grid h3{font-size:14px;margin:0 0 8px}.compact-section-heading{font-size:14px;margin:0}.scope-table,.payment-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.scope-row,.payment-row{background:var(--panel);border-bottom:1px solid var(--line);display:grid;gap:12px;min-width:0}.scope-row:last-child,.payment-row:last-child{border-bottom:0}.scope-row{grid-template-columns:160px minmax(0,1fr);padding:12px 14px}.scope-row span,.payment-head span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.scope-row strong,.payment-row strong,.payment-row small{display:block;min-width:0}.scope-row strong{font-weight:400}.payment-row{align-items:center;grid-template-columns:minmax(150px,1.4fr) minmax(82px,.7fr) 74px 88px;padding:9px 11px}.payment-row:not(.payment-head),.expense-row:not(.expense-head){font-size:13px}.payment-row small{color:var(--muted);margin-top:5px}.payment-head{background:#232826;min-height:44px}.payment-head span{color:#fffdf8;font-weight:400;text-transform:none}.payment-row strong{font-weight:400}.payment-name{align-items:baseline;display:flex;flex-wrap:wrap;gap:3px 7px;min-width:0}.payment-row .payment-qbo-reference{color:var(--muted);font-size:11px;margin-top:0;white-space:nowrap}.payment-empty{grid-template-columns:1fr}.compact-status{border-radius:999px;display:inline-flex;font-size:11px;font-weight:400;justify-content:center;justify-self:start;padding:5px 9px}.compact-status.payment-pending{background:var(--gold-soft);color:#74480f}.compact-status.payment-invoice{background:var(--teal-soft);color:var(--teal)}.compact-status.payment-paid{background:var(--green-soft);color:var(--green)}.income-table{border:1px solid var(--line);border-radius:8px;overflow:hidden}.income-row{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:86px 86px 102px minmax(0,1fr) 78px;padding:9px 11px}.income-row:not(.income-head){font-size:13px}.income-row:last-child{border-bottom:0}.income-row span,.income-row strong,.income-row small{display:block;min-width:0}.income-field-label{display:none!important}.income-invoice{color:var(--muted);font-size:12px;white-space:nowrap}.income-description{line-height:1.35;overflow-wrap:anywhere}.income-amount{font-size:13px;font-weight:400;text-align:right;white-space:nowrap}.income-head{background:#232826;min-height:44px}.income-head span{color:#fffdf8;font-size:12px;font-weight:400}.income-empty{grid-template-columns:1fr}.expense-table{border:1px solid var(--line);border-radius:8px;max-height:420px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.expense-row{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);display:grid;gap:10px;grid-template-columns:80px minmax(75px,.65fr) minmax(160px,1.8fr) 88px;padding:9px 11px}.expense-row:last-child{border-bottom:0}.expense-row span,.expense-row strong,.expense-row small{display:block;min-width:0}.expense-row small{color:var(--muted);line-height:1.35;margin-top:3px}.expense-vendor{font-weight:400}.expense-type{color:var(--ink);font-weight:400;line-height:1.35;overflow-wrap:anywhere}.expense-amount{font-size:13px;font-weight:400;text-align:right}.expense-head{background:#232826;min-height:44px;position:sticky;top:0;z-index:1}.expense-head span{color:#fffdf8;font-size:12px;font-weight:400;text-transform:none}.expense-empty{grid-template-columns:1fr}.source-file-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.source-file-row{align-items:center;background:var(--panel);border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:10px;grid-template-columns:20px minmax(0,1fr) 18px;padding:9px 11px;text-decoration:none}.source-file-row:last-child{border-bottom:0}.source-file-row:hover{background:var(--teal-soft)}.source-file-row strong,.source-file-row small{display:block}.source-file-row small{color:var(--muted);margin-top:2px}.payment-status-select{border:0;border-radius:999px;cursor:pointer;font-size:12px;font-weight:800;min-height:32px;padding:7px 28px 7px 10px;width:auto}.payment-status-select.payment-pending{background:var(--gold-soft);color:#74480f}.payment-status-select.payment-invoice{background:var(--teal-soft);color:var(--teal)}.payment-status-select.payment-paid{background:var(--green-soft);color:var(--green)}.status-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;border:0;border-radius:999px;box-sizing:border-box;color:var(--ink);cursor:pointer;display:block;font-size:12px;font-weight:800;line-height:1;margin-top:0;max-width:150px;min-height:32px;padding:7px 34px 7px 10px;width:100%}.status-select.pm-in-progress{background:var(--teal-soft);color:var(--teal)}.status-select.pm-on-hold{background:var(--rose-soft);color:var(--rose)}.status-select.pm-pending-customer{background:var(--gold-soft);color:#74480f}.status-select.pm-done{background:var(--green-soft);color:var(--green)}.stage-status-control{display:inline-flex;justify-self:end}.stage-status-select{border:0;border-radius:999px;cursor:pointer;font-size:12px;font-weight:800;min-height:32px;padding:7px 28px 7px 10px;width:auto}.stage-status-select.stage-in-progress,.stage-status-select.stage-done{background:var(--teal-soft);color:var(--teal)}.stage-status-select.stage-on-hold{background:var(--rose-soft);color:var(--rose)}.stage-status-select.stage-pending-customer,.stage-status-select.stage-not-started{background:var(--gold-soft);color:#74480f}.stage-status-select.stage-skip{background:#e7e2d8;color:var(--muted)}.status-progress-cell{min-width:0}.phase-grid{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(150px,1fr))}.phase-card{align-content:start;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:8px;min-height:168px;padding:13px;text-align:left}.phase-card.is-selected,.phase-card:hover{border-color:var(--teal);background:var(--teal-soft)}.phase-card strong,.phase-card span,.phase-card small,.phase-card em{display:block}.phase-number,.phase-card em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800;text-transform:uppercase}.stage-workspace{display:grid;gap:16px;grid-template-columns:minmax(280px,.36fr) minmax(0,.64fr);align-items:start}.stage-list-panel,.stage-detail-panel{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;padding:14px}.stage-row{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;min-height:68px;padding:10px;text-align:left}.stage-row.is-selected,.stage-row:hover{border-color:var(--teal)}.stage-row>span:nth-child(2){align-items:baseline;display:flex;gap:10px;min-width:0}.stage-row>span:nth-child(2) small{color:var(--muted)}.project-row .step-number,.stage-row .step-number,.step-number{align-items:center;background:#232826;border-radius:50%;color:#fffdf8;display:grid;flex:0 0 28px;font-size:12px;font-weight:800;height:28px;line-height:1;place-items:center;text-align:center;width:28px}.stage-detail-panel{display:grid;gap:14px}.detail-list{border-top:1px solid var(--line);display:grid}.detail-row{border-bottom:1px solid var(--line);display:grid;gap:12px;grid-template-columns:130px minmax(0,1fr);padding:10px 0}.detail-row span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.field-label{color:var(--muted);display:grid;font-size:12px;font-weight:800;gap:6px;text-transform:uppercase}.stage-section{border-top:1px solid var(--line);display:grid;gap:12px;padding-top:14px}.lead-intake-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px}.checklist-list{display:grid;gap:8px}.checklist-item{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:10px;min-height:42px;padding:10px}.checklist-item input{accent-color:var(--teal);height:17px;min-height:0;padding:0;width:17px}.checklist-item.is-complete{background:var(--teal-soft);border-color:#1b7f783d;color:var(--teal);font-weight:800}.stage-action-tabs{display:flex;flex-wrap:wrap;gap:8px}.stage-action-tabs .small-button{align-items:center;display:inline-flex;gap:8px}.stage-action-tabs .small-button span{align-items:center;background:#fff3;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;justify-content:center;min-width:22px;padding:3px 6px}.small-button.is-active{background:#232826;color:#fffdf8}.contract-spec-form{border-top:1px solid var(--line);display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px}.contract-spec-form>div,.contract-spec-form .wide-field,.catalogue-setup-form .wide-field{grid-column:1 / -1}.catalogue-setup-form{display:grid;gap:12px}.catalogue-customer-select select{width:100%}.catalogue-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.submit-button{background:var(--teal)}.catalogue-option-groups{display:grid;gap:12px;text-transform:none}.catalogue-stepper,.catalogue-step-groups{display:grid;gap:12px}.catalogue-step-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.catalogue-step-button{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;flex:0 0 auto;font-size:12px;font-weight:850;gap:8px;min-height:38px;padding:0 12px;text-transform:none}.catalogue-step-button span{align-items:center;background:#232826;border-radius:50%;color:#fffdf8;display:inline-flex;font-size:11px;height:22px;justify-content:center;width:22px}.catalogue-step-button.is-active{border-color:var(--teal);color:var(--ink)}.catalogue-step-button.is-complete{color:var(--teal)}.catalogue-step-button.is-complete span{background:var(--teal);color:#fffdf8}.catalogue-step-button:disabled{cursor:default}.catalogue-step-actions{align-items:center;display:flex;gap:10px;justify-content:space-between}.secondary-button{background:var(--panel-strong);border:1px solid var(--line);color:var(--ink)}.step-hint{color:var(--muted);font-size:12px;font-weight:800}.catalogue-option-group{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;padding:14px}.catalogue-option-heading{align-items:center;color:var(--ink);display:grid;font-size:14px;gap:10px;grid-template-columns:minmax(0,1fr);text-transform:none}.catalogue-option-heading div{display:grid;gap:2px}.catalogue-option-heading small{color:var(--muted);font-size:12px;font-weight:700}.catalogue-option-heading img{aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:6px;height:auto;object-fit:cover;object-position:top left;width:100%}.choice-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.choice-pill{align-items:start;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:12px;grid-template-columns:auto 170px minmax(0,1fr);min-height:128px;padding:12px;text-transform:none}.choice-pill input{accent-color:var(--teal);flex:0 0 auto;height:21px;min-height:0;padding:0;width:21px}.catalogue-choice{align-items:start}.catalogue-image-frame{display:inline-flex;position:relative;width:170px}.catalogue-image-button{background:transparent;border:0;cursor:zoom-in;display:block;padding:0;text-align:left;width:100%}.catalogue-choice-thumbnail{aspect-ratio:4 / 3;border:1px solid var(--line);border-radius:6px;height:auto;object-fit:cover;object-position:top left;width:170px}.catalogue-image-popover{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px #191f1d3d;display:grid;left:0;padding:10px;position:absolute;top:0;width:min(520px,72vw);z-index:30}.catalogue-image-popover img{border-radius:6px;max-height:min(68vh,560px);object-fit:contain;width:100%}.catalogue-image-close{align-items:center;background:#191f1de6;border:0;border-radius:50%;color:#fffdf8;cursor:pointer;display:inline-flex;font-size:12px;font-weight:900;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px;z-index:1}.catalogue-choice-copy{display:grid;gap:5px;min-width:0}.catalogue-choice-copy strong{color:var(--ink);font-size:15px;overflow-wrap:anywhere}.catalogue-choice-copy small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.catalogue-choice-copy .catalogue-dimension{color:var(--teal)}.countertop-form{background:var(--panel);display:grid;gap:14px}.countertop-fieldset,.appliance-row{border:0;display:grid;gap:10px;margin:0;padding:0}.countertop-fieldset legend,.appliance-row legend{color:var(--muted);font-size:12px;font-weight:900;padding:0;text-transform:uppercase}.countertop-backsplash-grid{display:inline-grid;gap:10px;justify-items:start;max-width:100%}.countertop-backsplash-option,.countertop-finish-card,.radio-choice-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer}.countertop-backsplash-option{align-items:center;display:flex;gap:12px;min-height:0;padding:10px 12px;width:fit-content;max-width:100%}.countertop-finish-grid,.radio-choice-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.setup-choice-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.countertop-finish-card,.radio-choice-card{align-items:start;display:grid;gap:12px;grid-template-columns:auto 150px minmax(0,1fr);min-height:0;padding:12px}.setup-choice-card{grid-template-columns:auto 150px minmax(0,1fr) 96px}.setup-choice-radio{cursor:pointer;display:contents}.setup-choice-controls{align-self:start;display:grid;gap:8px;justify-items:stretch}.setup-backsplash-card{align-items:center;display:inline-flex}.setup-backsplash-radio{align-items:center;cursor:pointer;display:inline-flex;gap:12px}.availability-mask-button{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850;line-height:1;padding:8px 10px}.availability-mask-button.is-available{background:#2f847d1f;border-color:#2f847d47;color:var(--teal)}.locked-selection-button{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;font-size:11px;font-weight:850;line-height:1;padding:8px 10px}.locked-selection-button.is-locked{background:#191f1deb;border-color:#191f1deb;color:#fffdf8}.locked-selection-button:disabled{cursor:not-allowed;opacity:.58}.is-locked-option{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.is-hidden-option{opacity:.55}.countertop-backsplash-option input,.countertop-finish-card input,.radio-choice-card input{accent-color:var(--teal);height:22px;min-height:0;padding:0;width:22px}.countertop-finish-card .catalogue-choice-thumbnail,.radio-choice-card .catalogue-choice-thumbnail,.countertop-finish-card .catalogue-image-frame,.radio-choice-card .catalogue-image-frame{width:150px}.countertop-backsplash-option:has(input:checked),.countertop-finish-card:has(input:checked),.radio-choice-card:has(input:checked){border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.appliance-preference-form{display:grid;gap:16px}.appliance-row.is-masked{opacity:.46}.appliance-row.is-masked .radio-choice-card{cursor:not-allowed}.send-catalogue-toggle{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:flex;font-weight:800;gap:10px;min-height:44px;padding:10px}.send-catalogue-toggle input{accent-color:var(--teal);height:18px;min-height:0;padding:0;width:18px}.customer-action-card{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:12px}.text-link-button{padding:0 12px;text-decoration:none;width:auto}.preference-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.document-form{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px;padding:14px}.document-form.compact{background:var(--panel);grid-template-columns:1fr}.document-form .text-button{align-self:end;justify-self:start;min-width:144px;white-space:nowrap}.document-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.document-card{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:12px;grid-template-columns:46px minmax(0,1fr) auto;min-height:112px;padding:14px}.document-icon{align-items:center;background:#e7e2d8;border-radius:8px;color:var(--teal);display:inline-flex;height:42px;justify-content:center;width:42px}.document-open{align-items:center;border:1px solid var(--line);border-radius:8px;color:var(--teal);display:inline-flex;height:38px;justify-content:center;width:38px}.note-form{display:grid;gap:10px}.note-form .text-button{justify-self:start}.note-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;gap:4px;padding:12px}.note-card span{color:var(--muted);font-size:12px}.task-board{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(210px,1fr))}.task-column{min-height:620px;padding:14px}.column-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.column-title span{align-items:center;background:var(--panel-strong);border-radius:50%;display:inline-flex;font-size:12px;font-weight:800;height:28px;justify-content:center;width:28px}.task-card{background:var(--panel-strong);border:1px solid transparent;border-radius:8px;color:var(--ink);display:grid;gap:10px;margin-bottom:10px;padding:13px;text-align:left;width:100%}.task-card:hover{border-color:var(--teal)}.task-card-top,.meta-line{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px}.task-card-top{color:var(--teal);font-size:12px;font-weight:800;text-transform:capitalize}.mini-stat{background:var(--panel-strong);border-radius:8px;padding:12px}.mini-stat strong{display:block;font-size:14px;margin-top:4px;overflow-wrap:anywhere}.customer-stage-panel{align-items:start}.customer-stage-content,.customer-catalogue-box{display:grid;gap:12px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.login-screen{align-items:center;background:var(--bg);display:grid;min-height:100vh;padding:20px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 45px #2d261d14;display:grid;gap:14px;margin:0 auto;padding:22px;width:min(100%,420px)}.profile-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;font-family:Figtree,Inter,Segoe UI,Arial,sans-serif;gap:14px;margin:0 auto;padding:18px;width:min(100%,460px)}.login-brand{align-items:center;display:flex;gap:12px;margin-bottom:4px}.login-brand h1{font-size:28px}.login-brand p,.managed-profile-note{color:var(--muted);font-size:13px;margin:0}.login-card button[type=submit]{align-items:center;background:#232826;border:1px solid #232826;border-radius:8px;color:#fffdf8;display:inline-flex;gap:8px;justify-content:center;min-height:42px;padding:0 12px;text-decoration:none}.form-error{color:var(--rose);font-size:13px;font-weight:700}.profile-page{background:#2f343742;display:grid;top:0;right:0;bottom:0;left:0;padding:20px;place-items:center;position:fixed;z-index:30}.profile-card label{color:var(--muted);display:grid;font-size:12px;font-weight:600;gap:6px}.profile-card input{background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--ink);min-height:42px;padding:8px 10px}.profile-card input.readonly-field,.profile-card input:disabled{background:var(--panel-strong);color:var(--muted);cursor:not-allowed}.profile-card-header{align-items:start;display:flex;gap:14px;justify-content:space-between;padding-bottom:4px}.profile-card-header h2{font-size:24px;font-weight:750;margin-top:4px}.icon-only{align-items:center;border-radius:8px;display:inline-flex;height:38px;justify-content:center;padding:0;width:38px}.close-detail-button{background:var(--teal-soft);border:1px solid var(--teal);border-radius:999px;color:var(--teal)}.toast{background:#232826;border-radius:8px;bottom:18px;box-shadow:0 18px 45px #2d261d1f;color:#fff;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;position:fixed;right:18px;z-index:40}@media(max-width:1240px){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.project-detail-hero,.project-status-bar,.house-spec-panel,.financial-table-grid,.payment-row,.stage-workspace,.documents-workspace{grid-template-columns:1fr}.project-contact-grid,.spec-grid,.document-grid,.project-workflow-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app-shell{overflow-x:hidden}.expense-table{max-height:340px}.sidebar{gap:28px;padding:24px 18px;width:280px}.sidebar-footer{margin-top:auto;width:100%}.nav-list{grid-template-columns:1fr}.nav-button{justify-content:flex-start}.nav-button span,.settings-panel span{display:block}.settings-panel{padding-left:0}.workspace{min-width:0;overflow-x:hidden;padding:70px 14px 14px}.topbar{align-items:stretch;flex-direction:column;padding-left:48px}.topbar-title{margin-left:0}.topbar-actions,.catalogue-selector-row,.dashboard-kpi-grid,.dashboard-layout,.task-board,.contract-spec-form,.document-form,.project-edit-panel,.spec-grid,.document-grid,.choice-grid,.setup-choice-grid,.countertop-backsplash-grid,.countertop-finish-grid,.preference-summary,.customer-action-card,.phase-grid{grid-template-columns:1fr}.topbar-actions{display:grid;min-width:0}.stage-row,.document-card,.detail-row{grid-template-columns:1fr}.project-table .table-row:not(.table-head){align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.project-table .table-row:not(.table-head)>span:before{color:var(--muted);content:attr(data-label);display:block;font-size:11px;font-weight:600;margin-bottom:4px}.payment-head{display:none}.project-contact-grid,.project-summary-strip,.project-workflow-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-row{align-items:start;grid-template-columns:minmax(0,1fr) auto}.expense-row{align-items:start;grid-template-columns:80px minmax(0,1fr)}.income-row{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.income-head{display:none}.income-field-label{color:var(--muted);display:block!important;font-size:10px;margin-bottom:2px}.income-invoice,.income-description,.income-amount{grid-column:1 / -1}.income-amount{margin-top:3px;text-align:left}.expense-head{display:none}.expense-date{grid-row:1 / span 3}.expense-vendor,.expense-type,.expense-amount{grid-column:2}.expense-amount{margin-top:3px;text-align:left}.expense-empty{grid-template-columns:1fr}.expense-empty>span{grid-column:1}.scope-row{grid-template-columns:1fr}.source-file-row{grid-template-columns:20px minmax(0,1fr) 18px}.catalogue-option-heading{grid-template-columns:minmax(0,1fr) auto}.catalogue-option-heading img{grid-column:1 / -1;max-height:220px}.choice-pill,.countertop-finish-card,.radio-choice-card,.setup-choice-card{grid-template-columns:auto minmax(0,1fr)}.setup-choice-controls{display:flex;flex-wrap:wrap;grid-column:1 / -1}.catalogue-choice-thumbnail,.catalogue-image-frame,.countertop-finish-card .catalogue-image-frame,.radio-choice-card .catalogue-image-frame,.countertop-finish-card .catalogue-choice-thumbnail,.radio-choice-card .catalogue-choice-thumbnail{grid-column:1 / -1;width:100%}.catalogue-image-popover{width:min(86vw,520px)}.panel,.project-overview-card,.house-spec-panel,.contract-data-panel,.project-detail-hero,.project-picture-panel,.customer-stage-panel{min-width:0;width:100%}.project-picture-panel{justify-items:stretch}.project-picture-panel img,.picture-placeholder{max-width:100%}.table-head{display:none}}@media(max-width:520px){.workspace,.panel{padding:10px}.project-workflow-controls{grid-template-columns:1fr}.project-table .table-row:not(.table-head){grid-template-columns:1fr}.project-overview-card,.house-spec-panel,.contract-data-panel,.customer-stage-panel{padding:10px}.customer-summary{align-items:flex-start}.picture-placeholder{aspect-ratio:16 / 10}}
