:root{color:#1c2526;background:#f4f6f7;--highlight: #b8862b;--highlight-strong: #654813;--highlight-soft: #fff1c7;--highlight-border: #d8b458;--hover-soft: #f4f6f6;--hover-border: #cfd9d8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,select{font:inherit}button{cursor:pointer}.client-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;background:#eef2f4}.side-nav{display:flex;flex-direction:column;gap:22px;min-height:0;padding:22px 16px;color:#eef7f4;background:#172322}.brand-logo{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-logo.large{margin-bottom:28px}.brand-logo strong,.brand-logo span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo strong{color:#fff;font-size:20px;line-height:1}.brand-logo strong span{display:inline;font-weight:900}.brand-logo>div>span{margin-top:3px;color:#9fb5b0;font-size:12px;font-weight:700}.brand-logo.large strong{color:#14201f;font-size:26px}.brand-logo.large>div>span{color:#60746f}.logo-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid #6fc8ae;border-radius:8px;color:#dffaf1;background:#21413b}.brand-logo.large .logo-mark,.fullscreen-center .logo-mark{color:#fff;background:#1d5d51}.side-nav nav{display:grid;gap:4px}.nav-link{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:6px;color:#b6c8c4;background:transparent;text-align:left}.nav-link.active,.nav-link:hover{color:#fff;background:#253634}.logout-link{margin-top:auto}.workspace-shell{min-width:0;padding:24px}.product-bar{display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title h1{margin:0;color:#14201f;font-size:26px;line-height:1.2}.mobile-brand{display:none}.global-search{display:flex;align-items:center;gap:8px;width:min(440px,100%);min-height:38px;padding:0 10px;border:1px solid #cfd9d8;border-radius:6px;color:#60746f;background:#fff}.global-search input{min-width:0;flex:1;border:0;outline:0;color:#1f2c2b;background:transparent}.global-search input::placeholder{color:#7e908d}.product-actions,.auth-actions,.hero-actions{display:flex;align-items:center;gap:8px;min-width:0}.icon-button,.avatar-button,.primary-button,.secondary-button,.danger-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:6px;font-weight:800}.icon-button,.avatar-button{width:38px;border:1px solid #cfd9d8;color:#21302e;background:#fff}.avatar-button{border-color:#1d5d51;color:#fff;background:#1d5d51}.primary-button{padding:0 14px;border:1px solid #1d5d51;color:#fff;background:#1d5d51}.secondary-button{padding:0 14px;border:1px solid #cfd9d8;color:#21302e;background:#fff}.danger-button{padding:0 14px;border:1px solid #d84b44;color:#fff;background:#c93d36}.icon-button.danger{border-color:#f0cac6;color:#b33630;background:#fff7f6}.icon-button.danger:hover,.danger-button:hover{border-color:#c93d36}.text-button{min-height:34px;padding:0 8px;border:0;color:#1d5d51;background:transparent}.text-button.danger{color:#b33630}.primary-button:disabled,.primary-button.disabled,.secondary-button:disabled,.secondary-button.disabled,.danger-button:disabled,.danger-button.disabled{cursor:not-allowed;opacity:.72}.client-main{min-width:0;padding-top:20px}.view-stack{display:grid;gap:16px}.workspace-hero,.view-header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;min-height:90px;padding:18px 16px;border:1px solid #d8e1df;border-radius:8px;background:#fff}.workspace-hero h1,.view-header h1,.placeholder-view h1{margin:0;color:#14201f;font-size:24px;line-height:1.2}.workspace-hero p,.view-header p,.placeholder-view p{max-width:680px;margin:7px 0 0;color:#60746f}.eyebrow{margin:0 0 5px;color:#5d7470;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-row.compact .metric-tile{min-height:92px}.metric-row.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-tile,.panel,.placeholder-view{border:1px solid #d8e1df;border-radius:8px;background:#fff}.metric-tile{display:grid;gap:8px;min-height:118px;padding:16px}.metric-tile span{color:#5e716e;font-size:13px;font-weight:800}.metric-tile strong{color:#14201f;font-size:30px;line-height:1}.metric-tile small{color:#6f8581}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-site-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.workflow-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:16px;align-items:start}.document-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.report-workbench{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:16px;align-items:start}.report-detail-stack{display:grid;gap:16px;min-width:0}.report-workbench-focused,.stage-focus{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.stage-context-drawer{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #d8e1df;border-radius:8px;background:#fff}.stage-context-drawer summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#203532;cursor:pointer;list-style:none}.stage-context-drawer summary::-webkit-details-marker{display:none}.stage-context-drawer summary>span{display:grid;gap:2px;min-width:0}.stage-context-drawer summary strong,.stage-context-drawer summary small,.stage-context-drawer summary em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-context-drawer summary strong{color:#172724;font-size:14px}.stage-context-drawer summary small,.stage-context-drawer summary em{color:#60746f;font-size:12px;font-style:normal;font-weight:800}.stage-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.stage-context-section{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #e2e9e7;border-radius:8px;background:#f8fbfa}.stage-context-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-context-title strong{color:#172724;font-size:13px}.stage-context-title span{overflow:hidden;color:#60746f;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.workflow-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.workflow-path-step{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;padding:9px 10px;border:1px solid #d8e1df;border-radius:8px;color:#60746f;background:#fff}.workflow-path-step span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:999px;color:#60746f;background:#edf3f2;font-size:12px;font-weight:900}.workflow-path-step strong{overflow:hidden;color:#40514e;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.workflow-path-step.active{border-color:var(--highlight-border);background:var(--highlight-soft)}.workflow-path-step:hover:not(.active){border-color:var(--hover-border);background:var(--hover-soft)}.workflow-path-step.active span{color:#fff;background:var(--highlight)}.workflow-path-step.active strong{color:#3a2c09}.workflow-path-step.complete span{color:#fff;background:#1d5d51}.workflow-path-step.complete strong{color:#14201f}.flow-context{display:grid;gap:4px;margin-bottom:12px}.flow-context strong,.flow-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-context strong{color:#162321;font-size:14px}.flow-context span{color:#60746f;font-size:12px;font-weight:700}.document-list{display:grid;gap:14px;padding:12px}.document-card{display:grid;gap:12px;padding:16px;border:1px solid #aebfbb;border-left:4px solid #2f7b6b;border-radius:8px;background:#fff;box-shadow:0 10px 24px #1528251a}.document-card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px}.document-card-head strong,.document-card-head span,.artifact-row strong,.artifact-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-card-head strong{color:#14201f}.document-card-head span,.document-muted,.document-progress p,.artifact-row small{color:#60746f;font-size:13px}.document-card-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.document-summary-item{display:grid;gap:3px;min-width:0;min-height:54px;padding:9px 10px;border:1px solid #e1e9e7;border-radius:7px;background:#f8fbfa}.document-summary-item span,.document-summary-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-summary-item span{color:#60746f;font-size:11px;font-weight:850}.document-summary-item strong{color:#172724;font-size:13px}.panel-action-group{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.document-progress{display:grid;gap:7px;padding:10px 12px;border:1px solid #d2dfdc;border-radius:8px;background:#f7fbfa}.document-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#40514e;font-size:12px;font-weight:800}.progress-track{overflow:hidden;height:8px;border-radius:999px;background:#edf3f2}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--highlight)}.artifact-list{display:grid;gap:8px}.revision-strip{display:flex;flex-wrap:wrap;gap:6px}.revision-strip span,.revision-summary{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid #dce7e4;border-radius:999px;color:#40514e;background:#f7fbfa;font-size:12px;font-weight:800}.revision-summary{width:fit-content;max-width:100%;margin-top:5px}.revision-strip .revision-warning{border-color:#ead5a4;color:#7b5b13;background:#fff8e7}.document-guide{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #cfe4df;border-radius:8px;color:#234842;background:#f3fbf8;font-size:13px;font-weight:750}.document-guide.warning{border-color:#ead5a4;color:#6b5118;background:#fff9ea}.preflight-panel{display:grid;gap:10px;padding:10px;border:1px solid #d7e5e2;border-radius:8px;background:#fbfdfd}.preflight-panel.warning{border-color:#ead5a4;background:#fffaf0}.preflight-summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px}.preflight-summary strong,.preflight-summary span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preflight-summary strong{color:#172724;font-size:13px}.preflight-summary span{color:#60746f;font-size:12px;font-weight:750}.preflight-summary .preflight-copy{white-space:normal}.preflight-gate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preflight-gate-item{display:grid;gap:3px;min-height:58px;padding:9px 10px;border:1px solid #e2e9e7;border-radius:7px;background:#fff}.preflight-gate-item strong,.preflight-gate-item span{display:block;min-width:0}.preflight-gate-item strong{color:#223633;font-size:12px}.preflight-gate-item span{color:#60746f;font-size:12px;font-weight:750;line-height:1.35}.preflight-gate-item.pass{border-color:#cfe4df;background:#f3fbf8}.preflight-gate-item.blocking{border-color:#ead5a4;background:#fff8e8}.preflight-ai-banner{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #dde6e4;border-radius:7px;background:#fff}.preflight-ai-banner strong,.preflight-ai-banner span{display:block}.preflight-ai-banner strong{flex:0 0 auto;color:#223633;font-size:12px}.preflight-ai-banner span{color:#60746f;font-size:12px;font-weight:750;line-height:1.4}.preflight-ai-banner.fake{border-color:#ead5a4;background:#fff9ea}.preflight-ai-banner.real{border-color:#cfe4df;background:#f3fbf8}.preflight-ai-banner.skipped{background:#f7fbfa}.preflight-ai-meta{display:block;margin-top:2px;color:#7a6a31;font-size:11px;font-weight:700}.preflight-finding-list{display:grid;gap:7px}.preflight-finding{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:flex-start;gap:8px;padding:8px 9px;border:1px solid #e2e9e7;border-radius:6px;color:#38504c;background:#fff}.preflight-finding.blocking{border-color:#efd9a6;color:#6d5116;background:#fff8e8}.preflight-finding span,.preflight-finding strong,.preflight-finding small{display:block;min-width:0}.preflight-finding strong{color:inherit;font-size:12px}.preflight-finding small,.preflight-more{color:#60746f;font-size:11px;font-weight:800}.preflight-resolution{margin-top:3px}.preflight-finding-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.preflight-actions{display:flex;justify-content:flex-end}.document-history{display:grid;gap:10px}.document-history-title{display:flex;align-items:center;gap:7px;color:#263a37;font-size:13px}.document-history-title span{color:#60746f;font-size:12px;font-weight:800}.document-revision-section{display:grid;gap:8px;padding:10px;border:1px solid #d7e4e1;border-radius:8px;background:#fbfdfd}.document-detail-section{display:grid;gap:10px;padding:10px;border:1px solid #e2e9e7;border-radius:8px;background:#fbfdfd}.document-detail-section[open]{border-color:#ccdcd9}.document-detail-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#203532;cursor:pointer;list-style:none}.document-detail-section summary::-webkit-details-marker{display:none}.document-detail-section summary>span{display:grid;gap:2px;min-width:0;margin-right:auto}.document-detail-section summary strong,.document-detail-section summary small,.document-detail-section summary em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-detail-section summary strong{color:#172724;font-size:13px}.document-detail-section summary small,.document-detail-section summary em{color:#60746f;font-size:11px;font-style:normal;font-weight:800}.document-revision-section.latest{border-color:#8fbcb2;background:#f3fbf8;box-shadow:inset 3px 0 #2f7b6b}.document-revision-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;color:#203532;cursor:pointer;font-size:13px;list-style:none}.document-revision-section summary::-webkit-details-marker{display:none}.document-revision-section summary:before{content:">";display:inline-flex;width:14px;flex:0 0 14px;color:#60746f;font-size:12px}.document-revision-section[open] summary:before{content:"v"}.document-revision-section summary>span{display:grid;gap:2px;min-width:0;margin-right:auto}.document-revision-section summary small{color:#60746f;font-size:11px;font-style:normal;font-weight:800}.document-revision-section summary em{overflow:hidden;color:#60746f;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.artifact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:48px;padding:9px 11px;border:1px solid #d8e1df;border-radius:6px;color:#14201f;background:#f7fbfa;text-align:left}.artifact-row:hover{border-color:var(--hover-border);background:var(--hover-soft)}.artifact-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.compact-button{min-height:32px;padding:0 10px;font-size:12px}.document-actions{display:grid;gap:8px}.document-action-hint{color:#60746f;font-size:12px;font-weight:800}.document-action-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.document-action-buttons .primary-button,.document-action-buttons .secondary-button,.artifact-actions .secondary-button{min-width:0;padding-right:10px;padding-left:10px;white-space:nowrap}.document-action-buttons .primary-button,.document-action-buttons .secondary-button{justify-content:center;overflow:hidden;text-overflow:ellipsis}.document-preview-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:24px;background:#1018286b}.document-preview-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(860px,calc(100vh - 48px));overflow:hidden;border:1px solid #cfd9d8;border-radius:8px;background:#fff;box-shadow:0 24px 60px #0f172a38}.document-preview-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:14px 16px;border-bottom:1px solid #dde6e4;background:#f7fbfa}.document-preview-header>div{display:grid;gap:2px;min-width:0}.document-preview-header span{color:#1d5d51;font-size:12px;font-weight:900}.document-preview-header strong,.document-preview-header small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-preview-header small{color:#60746f;font-size:12px;font-weight:750}.document-preview-frame{width:100%;height:100%;border:0;background:#f6f7f9}.document-signature-dialog{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid #cfd9d8;border-radius:8px;background:#fff;box-shadow:0 24px 60px #0f172a38}.signature-dialog-body{display:grid;gap:16px;min-height:0;overflow:auto;padding:16px}.signature-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.signature-form-grid label{display:grid;gap:7px;min-width:0;color:#334642;font-size:12px;font-weight:850}.signature-form-grid input{width:100%;min-height:40px;padding:0 11px;border:1px solid #d4dfdc;border-radius:6px;background:#fbfdfc;color:#14201f;font:inherit}.signature-form-grid input:focus{outline:2px solid rgba(29,93,81,.14);border-color:#8fb8b0}.signature-pad-wrap{display:grid;gap:8px;min-width:0}.signature-pad-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#14201f;font-size:13px}.signature-pad{width:100%;height:190px;touch-action:none;border:1px dashed #b9c8c5;border-radius:8px;background:#fbfdfc;cursor:crosshair}.signature-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid #dde6e4;background:#f7fbfa}.document-action-hint{min-width:0;color:#60746f;font-size:12px;font-weight:750;text-align:right}.photo-workspace{display:grid;grid-template-columns:minmax(260px,.54fr) minmax(0,1fr) minmax(280px,.5fr);gap:16px;align-items:start}.photo-upload-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.photo-upload-zone strong,.photo-upload-zone span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-upload-zone strong{color:#14201f}.photo-upload-zone span{margin-top:4px;color:#60746f;font-size:12px;font-weight:800}.photo-upload-zone input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.photo-upload-task-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.photo-upload-task{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;width:min(240px,100%);min-height:58px;padding:6px 8px 6px 6px;border:1px solid #dce7e4;border-radius:8px;background:#fff}.photo-upload-task.failed{border-color:#efc9c4;background:#fff8f7}.photo-upload-task.cancelled{opacity:.72}.photo-upload-task.completed{border-color:#c9ded7;background:#f4fbf8}.photo-upload-task-thumb{position:relative;display:grid;width:52px;height:46px;overflow:hidden;place-items:center;border:1px solid #d8e1df;border-radius:7px;color:#60746f;background:#f7fbfa}.photo-upload-task-thumb img{display:block;width:100%;height:100%;object-fit:cover}.photo-upload-task-cancel{position:absolute;top:3px;right:3px;display:inline-grid;width:20px;height:20px;padding:0;place-items:center;border:1px solid rgb(20 32 31 / .18);border-radius:999px;color:#1f2f2c;background:#ffffffe0;box-shadow:0 2px 8px #14201f1f}.photo-upload-task-cancel:hover{border-color:#b9c7c4;background:#fff}.photo-upload-task-progress{position:absolute;right:0;bottom:0;left:0;height:3px;background:#14201f24}.photo-upload-task-progress span{display:block;height:100%;border-radius:0 999px 999px 0;background:#c49a36;transition:width .18s ease}.photo-upload-task.completed .photo-upload-task-progress span{background:#2a7f70}.photo-upload-task.failed .photo-upload-task-progress span{background:#c85d4f}.photo-upload-task-info{min-width:0}.photo-upload-task-info strong,.photo-upload-task-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-upload-task-info strong{color:#1d2b29;font-size:12px;font-weight:850}.photo-upload-task-info span{margin-top:3px;color:#60746f;font-size:11px;font-weight:750}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:14px}.photo-card{display:grid;gap:12px;min-width:0;padding:12px;border:1px solid #dce7e4;border-radius:8px;background:#fff}.photo-card-head{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:start;gap:12px}.photo-card-head strong,.photo-card-head span,.photo-card-foot span,.photo-card-foot strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-card-head strong{color:#14201f;font-size:14px}.photo-card-head span,.photo-card-foot{color:#60746f;font-size:12px}.photo-preview-placeholder{display:grid;width:92px;height:92px;place-items:center;border:1px dashed #d8e1df;border-radius:8px;color:#60746f;background:#f7fbfa}.photo-preview-button{width:92px;height:92px;padding:0;border:0;border-radius:8px;background:transparent}.photo-preview-button:disabled{cursor:default}.photo-preview-image{display:block;width:92px;height:92px;border:1px solid #d8e1df;border-radius:8px;object-fit:cover;background:#eef2f4}.photo-preview-button:not(:disabled):hover .photo-preview-image,.photo-preview-button:not(:disabled):hover .photo-preview-placeholder{border-color:var(--hover-border)}.photo-lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#121918a3}.photo-lightbox-panel{display:grid;gap:12px;width:min(920px,100%);max-height:min(86vh,820px);padding:14px;border:1px solid #d8e1df;border-radius:8px;background:#fff;box-shadow:0 20px 70px #10181747}.photo-lightbox-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-lightbox-panel header strong,.photo-lightbox-panel header span{display:block}.photo-lightbox-panel header strong{color:#14201f}.photo-lightbox-panel header span,.photo-lightbox-panel footer{color:#60746f;font-size:12px;font-weight:800}.photo-lightbox-panel>img{display:block;width:100%;max-height:68vh;border:1px solid #d8e1df;border-radius:8px;object-fit:contain;background:#101817}.photo-storage-row,.asset-chip-row,.photo-card-foot{display:flex;flex-wrap:wrap;gap:8px}.photo-storage-row span,.asset-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid #d8e1df;border-radius:999px;color:#40514e;background:#f7fbfa;font-size:12px;font-weight:800}.asset-chip{align-items:flex-start;flex-direction:column;gap:2px;min-height:46px;min-width:82px;padding:6px 9px;border-radius:8px}.asset-chip.ready{border-color:#bae2d4;color:#0d6c54;background:#ecfaf5}.asset-chip strong,.asset-chip small{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.asset-chip small{color:inherit;opacity:.78}.photo-pending-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:8px 10px;border:1px solid #ead8b7;border-radius:8px;color:#73571c;background:#fff8ea;font-size:12px;font-weight:800}.photo-pending-alert span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-card-foot{justify-content:space-between}.photo-card-foot strong{color:#0d6c54}.panel{min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 16px;border-bottom:1px solid #e8eeee}.panel-header h2{margin:0;color:#1d2b29;font-size:15px}.panel-context{color:#60746f;font-size:12px;font-weight:800}.panel-body{padding:16px;border-bottom:1px solid #e8eeee}.compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:12px;align-items:end}.compact-form label{display:grid;gap:6px;color:#40514e;font-size:12px;font-weight:800}.compact-form .wide{grid-column:span 2}.compact-form input,.compact-form select{width:100%;min-height:38px;padding:0 10px;border:1px solid #cfd9d8;border-radius:6px;outline:0;color:#1f2c2b;background:#fff}.compact-form input:focus,.compact-form select:focus{border-color:#2a7f70;box-shadow:0 0 0 3px #d9eee9}.document-type-summary{display:grid;gap:10px;padding:12px;border:1px solid #e1e7e5;border-radius:8px;background:#fafbfb}.document-type-summary strong,.document-type-summary span{display:block}.document-type-summary strong{color:#172321;font-size:14px}.document-type-summary span{margin-top:3px;color:#5c6e6a;font-size:12px;line-height:1.5}.document-type-meta,.document-type-steps{display:flex;flex-wrap:wrap;gap:6px}.document-type-meta span,.document-type-steps span{margin:0;padding:5px 8px;border-radius:999px;background:#eef2f1;color:#455956;font-size:11px;font-weight:800}.document-type-steps span{background:#f6f0dc;color:#6a5420}.wizard-shell{display:grid;gap:14px;padding:16px}.wizard-title-row{display:flex;align-items:start;justify-content:space-between;gap:16px}.wizard-title-row h2{margin:2px 0 0;color:#162321;font-size:22px}.context-strip{display:flex;flex-wrap:wrap;gap:8px}.context-strip span{min-height:30px;padding:7px 10px;border:1px solid #dce7e4;border-radius:999px;color:#40514e;background:#f7fbfa;font-size:12px;font-weight:800}.wizard-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:start}.step-rail{display:grid;gap:8px}.step-button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 10px;align-items:center;min-height:58px;padding:10px;border:1px solid #dce7e4;border-radius:8px;color:#40514e;background:#fff;text-align:left}.step-button span{display:grid;width:26px;height:26px;place-items:center;grid-row:span 2;border-radius:999px;color:var(--highlight-strong);background:#f7edd0;font-size:12px;font-weight:900}.step-button strong,.step-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-button strong{color:#1d2b29;font-size:13px}.step-button small{color:#758783;font-size:11px;font-weight:800}.step-button.active{border-color:var(--highlight-border);background:var(--highlight-soft);box-shadow:inset 3px 0 0 var(--highlight)}.step-button:hover:not(.active){border-color:var(--hover-border);background:var(--hover-soft)}.step-button.active span{color:#fff;background:var(--highlight)}.wizard-form{display:grid;gap:14px;min-width:0}.wizard-form-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.wizard-form-head h3{margin:0;color:#162321;font-size:18px}.wizard-form-head p{max-width:640px;margin:5px 0 0;color:#60746f;line-height:1.5}.wizard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wizard-fields label{display:grid;gap:7px;color:#40514e;font-size:12px;font-weight:800}.wizard-fields label.wide{grid-column:1 / -1}.wizard-fields input,.wizard-fields textarea{width:100%;min-height:40px;padding:0 11px;border:1px solid #cfd9d8;border-radius:6px;outline:0;color:#1f2c2b;background:#fff;font:inherit}.wizard-fields textarea{min-height:112px;padding:10px 11px;resize:vertical}.wizard-fields input:focus,.wizard-fields textarea:focus{border-color:#2a7f70;box-shadow:0 0 0 3px #d9eee9}.wizard-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.wizard-save-hint{margin:-4px 0 0;color:#60746f;font-size:12px;font-weight:750;text-align:right}.save-state{display:inline-flex;align-items:center;min-height:38px;margin-right:auto;color:#60746f;font-size:12px;font-weight:900}.save-state.dirty,.save-state.saving{color:#7b5b13}.save-state.saved{color:#14765f}.save-state.failed{color:#c83a32}.assignment-panel{display:grid;gap:12px;padding:14px}.assignment-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr) auto;gap:10px;align-items:end}.assignment-form label{display:grid;gap:6px;color:#40514e;font-size:12px;font-weight:800}.assignment-form select{width:100%;min-height:38px;padding:0 10px;border:1px solid #cfd9d8;border-radius:6px;color:#1f2c2b;background:#fff}.assignment-list{display:grid;gap:8px}.assignment-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid #e2ece9;border-radius:8px;background:#fff}.assignment-row strong,.assignment-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-row strong{color:#14201f;font-size:13px}.assignment-row span{margin-top:3px;color:#60746f;font-size:12px}.assignment-empty{display:flex;align-items:center;gap:8px;min-height:54px;padding:12px;border:1px dashed #cfd9d8;border-radius:8px;color:#60746f;background:#fff;font-size:13px;font-weight:800}.checklist-panel{display:grid;gap:12px;padding:14px;border:1px solid #dce7e4;border-radius:8px;background:#f7fbfa}.checklist-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.checklist-head strong,.checklist-head span{display:block}.checklist-head strong{color:#162321;font-size:15px}.checklist-head span{color:#60746f;font-size:12px;font-weight:800}.checklist-target-control{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.checklist-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.checklist-summary-tile{min-height:62px;padding:10px;border:1px solid #e1e9e7;border-radius:8px;background:#fff}.checklist-summary-tile span,.checklist-summary-tile strong{display:block}.checklist-summary-tile span{color:#60746f;font-size:11px;font-weight:800}.checklist-summary-tile strong{margin-top:5px;color:#1a2826;font-size:16px}.checklist-summary-tile.warning{border-color:#dfcf91;background:#fffaf0}.checklist-summary-tile.warning strong{color:#7a5d12}.checklist-summary-tile.dirty{border-color:#bed0da;background:#f3f8fb}.checklist-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2ece9;border-radius:8px;background:#fff}.checklist-toolbar span{color:#60746f;font-size:12px;font-weight:700;line-height:1.45}.checklist-target-control select,.checklist-item input,.checklist-item textarea{min-height:38px;border:1px solid #cfd9d8;border-radius:6px;color:#1f2c2b;background:#fff;font:inherit}.checklist-target-control select,.checklist-item input{padding:0 10px}.checklist-item textarea{min-height:70px;padding:9px 10px;resize:vertical}.checklist-items{display:grid;gap:10px}.checklist-item{display:grid;grid-template-columns:minmax(220px,1fr) minmax(230px,1.1fr) minmax(160px,.9fr) 24px;gap:10px;align-items:center;padding:12px;border:1px solid #e2ece9;border-radius:8px;background:#fff}.checklist-item.dirty{border-color:#bed0da;background:#fbfdff}.checklist-item.issue{border-color:#dfcf91}.checklist-item-main{display:grid;gap:8px}.checklist-item-main>div:first-child strong,.checklist-item-main>div:first-child span{display:block}.checklist-item-main strong{color:#1d2b29;font-size:13px}.checklist-item-main span{margin-top:4px;color:#60746f;font-size:12px;line-height:1.4}.checklist-item-status{display:flex;flex-wrap:wrap;gap:5px}.checklist-item-status span{margin:0;padding:4px 7px;border-radius:999px;background:#eef2f1;color:#536663;font-size:10px;font-weight:900}.checklist-item-status .required{color:#6a5420;background:#f6f0dc}.checklist-item-status .dirty{color:#365f74;background:#e5f0f6}.checklist-item-status .saved{color:#286554;background:#e0f1eb}.checklist-segmented{display:flex;flex-wrap:wrap;gap:6px}.checklist-answer-button{min-height:34px;padding:0 11px;border:1px solid #d5dfdd;border-radius:999px;color:#425550;background:#fff;font-size:12px;font-weight:900}.checklist-answer-button:hover:not(:disabled){border-color:#bccac7;background:#f6faf9}.checklist-answer-button.active{border-color:#b89a37;color:#5f4a12;background:#f6e7b0}.checklist-answer-button.active.ok{border-color:#89b7a9;color:#1f6655;background:#e0f1eb}.checklist-answer-button.active.warning{border-color:#cfa642;color:#725517;background:#f6dea0}.checklist-row-icon{color:#8ca19d}.checklist-row-spinner{color:#2a7f70}.checklist-item-photo-row{display:grid;grid-column:1 / -1;gap:8px;padding-top:10px;border-top:1px solid #eef3f2}.checklist-photo-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.checklist-photo-actions>span{display:inline-flex;align-items:center;gap:6px;color:#536663;font-size:12px;font-weight:900}.checklist-photo-actions input[type=file]{display:none}.checklist-photo-strip{display:flex;flex-wrap:wrap;gap:8px}.checklist-photo-thumb,.checklist-photo-more{display:inline-grid;align-items:center;justify-items:center;width:74px;height:58px;overflow:hidden;border:1px solid #dce7e4;border-radius:7px;background:#f8fbfa;color:#60746f;font-size:11px;font-weight:900}.checklist-photo-thumb{position:relative}.checklist-photo-thumb img{width:100%;height:100%;object-fit:cover}.checklist-photo-thumb.pending-upload{border-color:#ead8b7;background:#fff8ea}.checklist-photo-thumb.pending-upload img,.checklist-photo-thumb.pending-upload>span{opacity:.56}.checklist-photo-thumb>span{display:grid;place-items:center;width:100%;height:100%}.checklist-photo-cancel{position:absolute;top:3px;right:3px;display:inline-grid;width:19px;height:19px;padding:0;place-items:center;border:1px solid rgb(115 87 28 / .22);border-radius:999px;color:#73571c;background:#ffffffe6}.checklist-photo-thumb small{position:absolute;right:4px;bottom:4px;padding:2px 5px;border-radius:999px;color:#fff;background:#162321b8}.checklist-photo-more{width:48px}.checklist-photo-empty{color:#7a8b88;font-size:12px;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0f1b195c}.modal-panel{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(560px,100%);max-height:calc(100vh - 36px);overflow:hidden;border:1px solid #cfd9d8;border-radius:8px;background:#fff;box-shadow:0 20px 52px #14201f2e}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid #dde6e4}.modal-header strong{overflow:hidden;color:#14201f;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.modal-body{min-height:0;overflow:auto;padding:16px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.delete-confirm{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #f0d4d0;border-radius:8px;background:#fff8f7}.delete-confirm strong,.delete-confirm p,.delete-confirm span{display:block;overflow-wrap:anywhere}.delete-confirm strong{color:#14201f}.delete-confirm p{margin:5px 0;color:#69403c;font-size:13px;font-weight:800}.delete-confirm span{color:#8d5e59;font-size:12px;font-weight:800}.compact-context-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-context-row .flow-context{min-width:0;margin-bottom:0}.item-list{display:grid}.list-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:12px 16px;border-bottom:1px solid #e8eeee}button.list-row{width:100%;border-top:0;border-right:0;border-left:0;color:inherit;background:#fff;text-align:left}.list-row-shell{grid-template-columns:minmax(0,1fr) auto;gap:0;padding:0;background:#fff}.list-row-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0;min-height:68px;padding:12px 16px;border:0;color:inherit;background:transparent;text-align:left}.list-row-main.static{cursor:default}.list-row-shell>.icon-button{align-self:center;margin-right:12px}.list-row.selectable:hover{background:var(--hover-soft)}.list-row.selectable.active{background:var(--highlight-soft)}.list-row.selectable.active{box-shadow:inset 3px 0 0 var(--highlight)}.list-row:last-child{border-bottom:0}.row-icon,.placeholder-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;color:#14765f;background:#def5ec}.row-icon.blue{color:#235d9f;background:#e2eefb}.row-icon.amber{color:#7b5b13;background:#fff1c8}.row-icon.danger{color:#b33630;background:#fee4df}.list-row strong,.list-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row strong{color:#14201f}.list-row span{margin-top:3px;color:#60746f;font-size:13px}.list-row .revision-summary{display:inline-flex;width:fit-content;max-width:100%;margin-top:6px;font-size:12px}.status-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.status-badge.green{color:#0b6b56;background:#ddf4ed}.status-badge.amber{color:#8a5500;background:#fff0ce}.status-badge.red{color:#a92622;background:#fee4df}.status-badge.slate{color:#485b69;background:#e7edf1}.empty-state,.placeholder-view{display:grid;place-items:center;gap:8px;min-height:180px;padding:24px;color:#60746f;text-align:center}.empty-state strong{color:#14201f}.placeholder-view{min-height:420px}.settings-list{display:grid;gap:14px;padding:16px}.settings-list .secondary-button{justify-self:start}.settings-list strong,.settings-list span{display:block}.settings-list span{margin-top:4px;color:#60746f;font-size:13px}.auth-page,.fullscreen-center{display:grid;min-height:100vh;place-items:center;padding:24px;background:#eef2f4}.fullscreen-center{gap:10px;color:#14201f}.auth-panel{width:min(448px,100%);padding:30px;border:1px solid #d8e1df;border-radius:8px;background:#fff;box-shadow:0 18px 44px #1723221a}.auth-copy h1{margin:0;color:#14201f;font-size:24px;line-height:1.25}.auth-copy p{margin:9px 0 20px;color:#60746f}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:16px;padding:4px;border:1px solid #d8e1df;border-radius:8px;background:#f4f7f6}.segmented button{min-height:36px;border:0;border-radius:6px;color:#60746f;background:transparent;font-weight:900}.segmented button.active{color:#2b2108;background:#e2bd5e}.segmented button:hover:not(.active){color:#40514e;background:var(--hover-soft)}.segmented.compact{margin-bottom:0}.auth-form{display:grid;gap:13px}.invitation-summary{display:grid;gap:4px;padding:12px;border:1px solid #cfe1dd;border-radius:8px;background:#f4fbf8}.invitation-summary strong{color:#14201f;font-size:14px}.invitation-summary span{color:#60746f;font-size:12px;font-weight:800}.auth-form label{display:grid;gap:6px;color:#40514e;font-size:13px;font-weight:800}.auth-form input{width:100%;height:42px;padding:0 12px;border:1px solid #cfd9d8;border-radius:6px;outline:0;color:#1f2c2b;background:#fff}.auth-form input:focus{border-color:#2a7f70;box-shadow:0 0 0 3px #d9eee9}.inline-alert,.inline-notice{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:6px;font-size:13px}.inline-alert{border:1px solid #f1c0ba;color:#9f2d27;background:#fff0ee}.inline-notice{border:1px solid #bae2d4;color:#0d6c54;background:#ecfaf5}.bottom-nav{display:none}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1199px){.client-shell{grid-template-columns:78px minmax(0,1fr)}.side-nav{padding:18px 10px}.side-nav .brand-logo{justify-content:center}.side-nav .brand-logo>div,.nav-link span{display:none}.nav-link{justify-content:center;padding:0}.logout-link{display:none}.global-search{max-width:340px}}@media(max-width:767px){.client-shell{display:block;padding-bottom:70px}.side-nav{display:none}.workspace-shell{padding:14px}.product-bar{position:sticky;top:0;z-index:10;margin:-14px -14px 0;padding:12px 14px;border-bottom:1px solid #d8e1df;background:#fff}.topbar-title{align-items:flex-start;flex-direction:column;gap:8px}.mobile-brand{display:block}.mobile-brand .brand-logo strong{color:#14201f}.mobile-brand .logo-mark{width:32px;height:32px;flex-basis:32px;color:#dffaf1;background:#21413b}.topbar-title h1{font-size:21px}.global-search,.product-actions .icon-button{display:none}.client-main{padding-top:14px}.workspace-hero,.view-header{align-items:stretch;flex-direction:column;min-height:0;padding:16px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.metric-row,.split-grid,.project-site-grid,.workflow-board,.support-grid,.workflow-path,.document-workspace,.preflight-gate-grid,.photo-workspace,.report-workbench,.photo-grid,.wizard-grid,.wizard-fields,.checklist-summary-bar,.stage-context-grid,.document-action-buttons,.artifact-row,.preflight-summary,.preflight-finding{grid-template-columns:1fr}.document-card{padding:13px}.document-card-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.document-summary-item{min-height:44px;padding:7px 6px}.document-summary-item span{font-size:10px}.document-summary-item strong{font-size:11px}.document-card-head{grid-template-columns:38px minmax(0,1fr)}.document-card-head .status-badge{grid-column:2;justify-self:start}.artifact-actions,.preflight-actions,.preflight-finding-actions{justify-content:stretch}.artifact-actions{display:grid;grid-template-columns:1fr}.compact-form,.assignment-form,.assignment-row,.signature-form-grid{grid-template-columns:1fr}.assignment-row .row-icon,.assignment-row .icon-button,.assignment-row .status-badge{justify-self:start}.compact-form .wide,.wizard-fields label.wide{grid-column:auto}.wizard-title-row,.wizard-form-head,.checklist-head,.photo-upload-zone{flex-direction:column}.photo-upload-zone{align-items:stretch}.wizard-actions{display:grid;grid-template-columns:1fr 1fr}.save-state{grid-column:1 / -1;justify-content:center;margin-right:0}.checklist-target-control,.checklist-toolbar,.checklist-target-control select,.checklist-target-control button{width:100%}.checklist-toolbar{align-items:stretch;flex-direction:column}.checklist-item{grid-template-columns:1fr}.list-row:not(.list-row-shell){grid-template-columns:38px minmax(0,1fr)}.list-row-shell{grid-template-columns:minmax(0,1fr) auto}.list-row-main{grid-template-columns:38px minmax(0,1fr);padding:12px}.list-row .status-badge{grid-column:2;justify-self:start}.list-row-shell>.icon-button{width:34px;min-height:34px;margin-right:10px}.modal-backdrop{align-items:center;justify-items:center;padding:10px}.modal-panel{width:100%;max-height:calc(100vh - 20px)}.modal-actions{display:grid;grid-template-columns:1fr}.compact-context-row{align-items:stretch;flex-direction:column}.bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:64px;border-top:1px solid #d8e1df;background:#fff}.bottom-link{display:grid;place-items:center;gap:3px;border:0;color:#60746f;background:transparent;font-size:11px;font-weight:800}.bottom-link.active{color:var(--highlight-strong)}.auth-page{padding:16px}.auth-panel{padding:22px}.document-preview-backdrop{padding:10px}.document-signature-dialog{max-height:calc(100vh - 20px)}.signature-pad{height:160px}.signature-dialog-actions{display:grid;grid-template-columns:1fr}}
