*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}:root{--bg:#0b1120;--panel:#111827;--panel-soft:#172033;--panel-line:#94a3b838;--text:#e2e8f0;--muted:#94a3b8;--gold:#d4af37;--gold-soft:#d4af3724;--green-soft:#22c55e1f;--green-text:#bbf7d0;--amber-soft:#fbbf241f;--amber-text:#fde68a;--red-soft:#f871711f;--red-text:#fca5a5}body{background:var(--bg);color:var(--text);overflow-wrap:break-word;word-wrap:break-word;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{grid-template-columns:minmax(420px,520px) 1fr;min-width:0;min-height:100vh;display:grid}.app-shell-phase2{position:fixed;inset:0}.sidebar,.preview-wrap{min-width:0}.app-shell-phase2>.sidebar,.app-shell-phase2>.preview-wrap{min-height:0}.sidebar{border-right:1px solid var(--panel-line);contain:inline-size;background:radial-gradient(circle at 0 0,#d4af371f,#0000 28rem),linear-gradient(#111827 0%,#0f172a 100%);max-height:100vh;padding:22px;overflow:hidden auto}.hero-card,.panel{border:1px solid var(--panel-line);background:#0f172ad1;border-radius:20px;box-shadow:0 18px 45px #0000002e}.hero-card{padding:20px}.sidebar h1{letter-spacing:-.03em;margin:4px 0 8px;font-size:28px}.sidebar p{color:var(--muted);margin:0;line-height:1.5}.eyebrow{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.panel{margin-top:16px;padding:16px}.panel-heading{align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.panel-heading svg{color:var(--gold);flex:none;margin-top:2px}.panel-heading>div{flex:1}.sample-add-button{white-space:nowrap;flex:none;margin-left:auto}.panel h2,.preview-toolbar h2{letter-spacing:-.02em;margin:0;font-size:16px}.panel-heading p{margin-top:3px;font-size:13px}.field-grid{gap:12px;display:grid}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:6px;display:grid}.field label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800}.sidebar input:not(.color-swatch-input):not(.job-dashboard-filter-field input),.sidebar select:not(.job-dashboard-filter-field select),.sidebar textarea{width:100%;color:var(--text);font:inherit;background:#020617;border:1px solid #334155;border-radius:12px;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.sidebar input:not(.color-swatch-input):focus,.sidebar select:focus,.sidebar textarea:focus{border-color:#d4af37b8;box-shadow:0 0 0 3px #d4af3721}.field textarea{resize:vertical;min-height:92px}.panel>label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.07em;margin:14px 0 6px;font-size:11px;font-weight:800;display:block}.panel>label:first-child{margin-top:0}.panel>select,.panel>textarea{width:100%;margin-bottom:12px;display:block}.panel>button{margin-top:12px}.lab-report-textarea{min-height:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.color-field{align-items:center;gap:8px;display:flex}.color-field input:not(.color-swatch-input){flex:1}.color-swatch-input{cursor:pointer;border-radius:10px;flex:none;width:44px;height:40px;padding:2px}.import-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.import-step{border-top:1px solid var(--panel-line);margin-top:16px;padding-top:16px}.import-step:first-of-type{border-top:none;margin-top:0;padding-top:0}.import-step-heading{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.import-step-heading h3{margin:0;font-size:15px}.import-step-heading p{margin-top:3px}.import-step-number{background:var(--gold);color:#1a1a1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.pdf-upload-box{border:1px dashed var(--panel-line);background:var(--panel-soft);border-radius:14px;margin-top:18px;padding:14px}.parsed-review{background:#d4af3714;border:1px solid #d4af3747;border-radius:16px;padding:14px}.parsed-review .import-step-heading{justify-content:space-between}.parsed-review-provider{color:var(--muted);white-space:nowrap;font-size:.75rem}.parsed-review h3{margin:0;font-size:15px}.parsed-review p{margin-top:3px;font-size:12px}.parsed-review-list{gap:12px;display:grid}.parsed-review-card{background:#02061757;border:1px solid #94a3b82e;border-radius:14px;padding:12px}.compact-grid .field:has(textarea){grid-column:1/-1}.recommendations-field textarea{min-height:170px}.generate-recommendation-btn{color:#fff;letter-spacing:.3px;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#a855f7 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:18px;padding:14px 24px;font-size:15px;font-weight:600;transition:opacity .18s,box-shadow .18s,transform .12s;display:flex;box-shadow:0 4px 18px #8b5cf661,inset 0 1px #ffffff1f}.generate-recommendation-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 6px 24px #8b5cf685,inset 0 1px #ffffff24}.generate-recommendation-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #8b5cf652}.generate-recommendation-btn:disabled{opacity:.55;cursor:default;transform:none}.ai-draft-confirmation{background:#78350f2e;border:1px solid #fbbf2459;border-radius:12px;margin:0 0 18px;padding:14px}.ai-draft-confirmation h3{margin:0 0 6px;font-size:15px}.ai-draft-confirmation p{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.5}.ai-draft-confirmation .actions{margin-top:0}.sample-rows{gap:14px;display:grid}.sample-row-card{background:#0206175c;border:1px solid #94a3b82e;border-radius:16px;padding:14px}.sample-row-header{color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sample-row-header strong{background:var(--gold-soft);color:#fde68a;border:1px solid #d4af373d;border-radius:999px;padding:5px 10px}.sample-row-header span{color:var(--muted);text-align:right;overflow-wrap:break-word;flex:1;min-width:0;font-size:13px}.sample-row-actions{flex:none;gap:6px;display:flex}.icon-button{color:var(--text);background:#1e293b;border:1px solid #334155;border-radius:10px;padding:7px;line-height:0}.icon-button:disabled{opacity:.35;cursor:not-allowed}.muted-note{color:var(--muted);margin:0;font-size:13px}.asset-upload-status{background:#b4963c1f;border-radius:6px;margin:4px 0 12px;padding:8px 10px;font-size:13px}.saved-jobs-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.saved-job-row{border:1px solid var(--panel-line);background:var(--panel-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.saved-job-info{flex-direction:column;gap:2px;min-width:0;display:flex}.saved-job-info strong{overflow-wrap:anywhere;font-size:14px}.saved-job-info span{color:var(--muted);font-size:12px}.saved-job-timestamp{font-style:italic}.saved-job-actions{flex:none;align-items:center;gap:6px;display:flex}.photo-thumbnail{border:1px solid var(--panel-line);object-fit:cover;border-radius:8px;max-width:160px;max-height:120px;margin-top:8px;display:block}.sample-photo-upload{margin-top:12px}.sample-photo-group-label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.sample-photo-slots{flex-wrap:wrap;gap:12px;display:flex}.sample-photo-slot{flex:160px;gap:6px;min-width:140px;display:grid}.sample-photo-slot label{color:#cbd5e1;letter-spacing:.04em;font-size:11px;font-weight:700}.sample-photo-slot-preview{align-items:flex-start;gap:6px;display:flex}.sample-photo-slot-preview .photo-thumbnail{margin-top:0}.visually-hidden-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-upload-card{gap:6px;display:grid}.photo-upload-card-label{color:#cbd5e1;letter-spacing:.04em;font-size:11px;font-weight:700}.photo-upload-button{border:1px dashed var(--panel-line);background:var(--panel-soft);color:var(--text);cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 14px;font-size:13px;font-weight:600;display:inline-flex}.photo-upload-button:hover{border-color:var(--gold);color:var(--gold)}.photo-upload-button-disabled{opacity:.45;cursor:not-allowed}.photo-upload-card-preview{flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;max-width:100%;display:flex}.photo-upload-card-preview .photo-thumbnail{flex:none;max-width:100%;margin-top:0}.photo-upload-card-preview-actions{flex-direction:column;flex:none;gap:6px;display:flex}.photo-upload-card-preview-actions label.icon-button{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.sketch-draw-field,.asset-preview{margin-top:12px}.floor-plan-tool{flex-direction:column;gap:10px;min-width:0;display:flex}.floor-plan-canvas-scroll{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;max-width:100%;max-height:480px;position:relative;overflow:auto}.floor-plan-canvas-sizer{position:relative}.floor-plan-canvas{border:1px solid var(--panel-line);touch-action:pan-x pan-y;background-color:#fff;background-image:linear-gradient(#0f172a14 1px,#0000 1px),linear-gradient(90deg,#0f172a14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:8px;width:100%;max-width:none;position:relative;overflow:hidden}.floor-plan-floor-tabs{flex-wrap:wrap;gap:6px;display:flex}.floor-plan-floor-tab{border:1px solid var(--panel-line);background:var(--panel-soft);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.floor-plan-floor-tab-active{color:#fff;background:#0f172a;border-color:#0f172a;font-weight:700;box-shadow:0 0 0 2px #0f172a59}.floor-plan-zoom-controls{background:#0f172a;border:1px solid #0f172a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;margin-bottom:10px;padding:8px 10px;display:flex;box-shadow:0 2px 6px #0f172a59}.floor-plan-zoom-btn{color:#fff;cursor:pointer;background:#1e293b;border:1px solid #ffffff59;border-radius:7px;width:30px;height:30px;padding:0;font-size:15px;font-weight:700;line-height:1}.floor-plan-zoom-btn:disabled{opacity:.4;cursor:default}.floor-plan-zoom-reset{white-space:nowrap;align-items:center;gap:4px;width:auto;padding:0 10px;font-size:12px;display:inline-flex}.floor-plan-zoom-readout{text-align:center;color:#fff;min-width:36px;font-size:12px;font-weight:700}.floor-plan-room-resize-handle{touch-action:none;z-index:2;background:#0f172a;border:1px solid #fff;border-radius:3px;width:12px;height:12px;position:absolute}.floor-plan-object-resize-handle{touch-action:none;z-index:2;background:#7c3aed;border:1px solid #fff;border-radius:3px;width:12px;height:12px;position:absolute}.floor-plan-resize-handle-nw{cursor:nwse-resize;top:-6px;left:-6px}.floor-plan-resize-handle-se{cursor:nwse-resize;bottom:-6px;right:-6px}.floor-plan-resize-handle-ne{cursor:nesw-resize;top:-6px;right:-6px}.floor-plan-resize-handle-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.floor-plan-wall{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:20px;display:flex;position:absolute}.floor-plan-wall:after{content:"";pointer-events:none;background:#0f172a;border-radius:2px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.floor-plan-wall-preview{z-index:1;pointer-events:none;height:20px;position:absolute}.floor-plan-wall-preview:after{content:"";background:#d4af37;border-radius:2px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 0 2px #d4af372e}.floor-plan-shared-wall{z-index:3;pointer-events:none;background:#2563eb;border-radius:4px;height:4px;position:absolute;box-shadow:0 0 0 1px #2563eb40}.floor-plan-dimension-leader{z-index:4;transform-origin:50%;pointer-events:none;background:#0f172a6b;height:1px;position:absolute}.floor-plan-dimension-label{z-index:6;color:#0f172a;text-align:center;white-space:nowrap;pointer-events:none;background:#fffffff5;border:1px solid #0f172a40;border-radius:4px;min-width:28px;padding:2px 4px;font-size:10px;font-weight:700;line-height:12px;position:absolute;box-shadow:0 1px 3px #0f172a29}.floor-plan-dimension-label-shared{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.floor-plan-dimension-label-wall{background:#fffffffa}.floor-plan-wall-drawing-label{z-index:5;color:#92400e;white-space:nowrap;pointer-events:none;background:#fffbebf7;border:1px solid #b4530973;border-radius:4px;padding:2px 5px;font-size:10px;font-weight:800;line-height:12px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 1px 3px #0f172a29}.floor-plan-wall-length-label{color:#0f172a;white-space:nowrap;pointer-events:none;background:#fffffff5;border:1px solid #0f172a2e;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:700;position:relative;transform:translateY(-16px);box-shadow:0 1px 3px #0f172a2e}.floor-plan-compass{z-index:4;color:#0f172a;pointer-events:none;background:#fffffff0;border:1px solid #0f172a2e;border-radius:999px;flex-direction:column;align-items:center;gap:1px;min-width:34px;padding:5px 7px;font-size:11px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 5px #0f172a1f}.floor-plan-compass-arrow{font-size:18px;line-height:.8}.floor-plan-wall-endpoint-handle{cursor:pointer;touch-action:none;z-index:2;background:#fff;border:2px solid #0f172a;border-radius:50%;width:10px;height:10px;margin:-5px;position:absolute}.floor-plan-door{transform-origin:50%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex;position:absolute}.floor-plan-door-swing .floor-plan-door-icon{background:#15803d;border-radius:2px;height:3px;position:relative}.floor-plan-door-swing .floor-plan-door-icon:after{content:"";border-top:1px dashed #15803d;border-bottom:none;border-left:none;border-right:1px dashed #15803d;border-radius:0 100% 0 0;width:16px;height:16px;position:absolute;bottom:0;left:0;transform:translate(0)}.floor-plan-door-opening .floor-plan-door-icon{background:#fff;border-top:1.5px dashed #b45309;border-bottom:1.5px dashed #b45309;height:3px}.floor-plan-door-label{color:#15803d;white-space:nowrap;background:#ffffffd9;border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700}.floor-plan-object{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#7c3aed14;border:1.5px solid #7c3aed;border-radius:3px;justify-content:center;align-items:center;display:flex;position:absolute}.floor-plan-object-label{color:#7c3aed;text-align:center;overflow-wrap:break-word;pointer-events:none;font-size:9px;font-weight:700}.floor-plan-room{color:#0f172a;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#0f172a0f;border:1.5px solid #0f172a;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;font-size:10px;display:flex;position:absolute}.floor-plan-room-dragging{cursor:grabbing;z-index:2;background:#eab30829;border-color:#b45309;box-shadow:0 0 0 2px #eab30866}.floor-plan-room-locked{cursor:default;border-style:dashed}.floor-plan-room-name{text-align:center;overflow-wrap:break-word;pointer-events:none;font-weight:700}.floor-plan-wall-label{color:#0f172a;white-space:nowrap;pointer-events:none;background:#ffffffe6;border:1px solid #0f172a40;border-radius:3px;padding:0 3px;font-size:9px;font-weight:700;position:absolute}.floor-plan-wall-top{top:3px;left:50%;transform:translate(-50%)}.floor-plan-wall-bottom{bottom:3px;left:50%;transform:translate(-50%)}.floor-plan-wall-left{top:50%;left:3px;transform:translateY(-50%)}.floor-plan-wall-right{top:50%;right:3px;transform:translateY(-50%)}.floor-plan-marker{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;transform:translate(-5px,-5px)}.floor-plan-marker-dot{background:#f59e0b;border:1px solid #b45309;border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:0}.floor-plan-marker-status-negative .floor-plan-marker-dot{background:#16a34a;border-color:#166534}.floor-plan-marker-status-positive .floor-plan-marker-dot{background:#dc2626;border-color:#7f1d1d}.floor-plan-marker-status-osha-trace .floor-plan-marker-dot{background:#7c3aed;border-color:#5b21b6}.floor-plan-marker-status-pending .floor-plan-marker-dot{background:#f59e0b;border-color:#b45309}.floor-plan-marker-status-unknown .floor-plan-marker-dot{background:#6b7280;border-color:#374151}.floor-plan-marker-status-negative:before{background:#16653499}.floor-plan-marker-status-positive:before{background:#7f1d1d99}.floor-plan-marker-status-osha-trace:before{background:#5b21b699}.floor-plan-marker-status-pending:before{background:#b4530999}.floor-plan-marker-status-unknown:before{background:#37415199}.floor-plan-marker-label{color:#0f172a;white-space:nowrap;background:#ffffffd9;border-radius:4px;padding:1px 4px;font-size:11px;font-weight:700;position:absolute;top:-14px;left:18px}.floor-plan-marker:before{content:"";transform-origin:0;background:#7f1d1d99;width:10px;height:1px;position:absolute;top:0;left:8px;transform:rotate(-24deg)}.floor-plan-add-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floor-plan-add-row select{flex:170px;min-width:150px}.floor-plan-add-row input{flex:1;min-width:90px}.floor-plan-workspace-toolbar{border:1px solid var(--panel-line);background:#0f172ab8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px;display:flex}.floor-plan-icon-toolbar{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.floor-plan-icon-group{background:var(--panel-soft);border:1px solid var(--panel-line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.floor-plan-icon-group input{flex:100px;min-width:90px}.floor-plan-icon-btn{color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.floor-plan-icon-btn:disabled{opacity:.45;cursor:default}.floor-plan-marker-picker{flex:280px;max-width:440px}.floor-plan-icon-btn-active{box-shadow:0 0 0 1px var(--gold);outline:3px solid #d4af3773}.floor-plan-draw-status{background:var(--gold-soft);color:var(--amber-text);border-radius:10px;margin:8px 0 12px;padding:8px 10px;font-size:12px;font-weight:700}.floor-plan-icon-glyph{font-size:14px;line-height:1}.floor-plan-icon-room,.floor-plan-icon-wall{background:#0f172a}.floor-plan-icon-door{background:#15803d}.floor-plan-icon-opening{background:#b45309}.floor-plan-icon-object{background:#7c3aed}.floor-plan-icon-marker{background:#b91c1c}.floor-plan-icon-floor{background:#475569}.floor-plan-room-list,.floor-plan-marker-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.floor-plan-management-panel{flex-direction:column;align-self:start;gap:10px;display:flex}.floor-plan-save-confirmed{color:#fff;background:#16a34a;border-color:#16a34ad9}.floor-plan-save-status{color:var(--green-text);background:#22c55e1f;border:1px solid #22c55e59;border-radius:10px;margin:0;padding:7px 10px;font-size:12px;font-weight:700}.floor-plan-room-list-item{border:1px solid var(--panel-line);background:var(--panel-soft);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.floor-plan-room-list-item .field{gap:4px}.floor-plan-room-walls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.floor-plan-room-list-actions{flex-wrap:wrap;gap:8px;display:flex}.floor-plan-marker-list-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floor-plan-marker-list-item input{flex:1;min-width:80px}.floor-plan-marker-sample-badge{color:#0f172a;white-space:nowrap;background:#0f172a14;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.floor-plan-wall-list,.floor-plan-door-list,.floor-plan-object-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.floor-plan-wall-list-item,.floor-plan-door-list-item,.floor-plan-object-list-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floor-plan-wall-list-item input,.floor-plan-door-list-item input,.floor-plan-object-list-item input{flex:1;min-width:80px}.floor-plan-note{color:#1d4ed8;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:3;background:#ffffffd9;border:1px dashed #1d4ed866;border-radius:3px;padding:1px 4px;font-size:11px;font-style:italic;position:absolute}.floor-plan-note:active{cursor:grabbing}.floor-plan-note-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.floor-plan-note-list-item{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floor-plan-note-list-item input{flex:1;min-width:80px}.floor-plan-note-list-item input[type=number]{flex:0 0 72px}.floor-plan-rotation-controls{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex}.floor-plan-rotation-controls input[type=range]{min-width:60px;accent-color:var(--brand-primary,#6366f1);flex:1}.floor-plan-rotation-controls span{color:var(--text-muted,#64748b);text-align:right;min-width:28px;font-size:11px}.floor-plan-icon-note{background:#0ea5e9}.floor-plan-tool-actions{flex-wrap:wrap;gap:8px;display:flex}.signature-draw-field{margin-top:12px}.signature-tool{flex-direction:column;gap:8px;display:flex}.signature-canvas{border:1px solid var(--panel-line);touch-action:none;cursor:crosshair;background:#fff;border-radius:8px;width:100%;max-width:480px}.signature-tool-actions{gap:8px;display:flex}.qa-review-panel .field-grid,.qa-review-panel .qa-status{margin-bottom:14px}.qa-review-submit{margin-bottom:12px}.qa-review-panel .workflow-history{margin-top:14px}.qa-status{border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-weight:600;display:flex}.qa-status-ready{color:#16a34a;background:#22c55e26}.qa-status-not-ready{color:#b45309;background:#eab30826}.qa-categories{flex-direction:column;gap:12px;display:flex}.qa-category{border:1px solid var(--panel-line);border-radius:8px;padding:10px 12px}.qa-category-heading{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.qa-category-badge{border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.qa-category-badge-complete{color:#16a34a;background:#22c55e26}.qa-category-badge-warning{color:#b45309;background:#eab30826}.qa-item-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.qa-item{align-items:center;gap:6px;font-size:.85rem;display:flex}.qa-item-met{color:#16a34a}.qa-item-missing{color:#b45309}.package-output-options{border:1px solid var(--panel-line);border-radius:8px;flex-direction:column;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.package-output-options legend{padding:0 4px;font-weight:600}.package-output-option{cursor:pointer;border:1px solid #94a3b82e;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.75rem;min-width:0;padding:10px 12px;transition:border-color .15s,background-color .15s;display:grid}.package-output-option:has(input[type=checkbox]:checked){background:var(--gold-soft);border-color:#d4af378c}.package-output-option-disabled{opacity:.6;cursor:not-allowed}.package-output-option input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:3px}.package-output-text{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.package-output-description{color:var(--muted-text,#64748b);font-size:.8rem}.package-output-unavailable{color:#b45309;font-size:.78rem}.package-checklist{flex-direction:column;gap:6px;margin-top:12px;display:flex}.package-panel-actions{flex-wrap:wrap;gap:10px;display:flex}.package-zip-results{flex-direction:column;gap:6px;margin-top:12px;display:flex}.package-zip-results .qa-item{align-items:flex-start}.zip-item-status-included{color:#16a34a}.zip-item-status-skipped{color:var(--muted)}.zip-item-status-unavailable{color:#b45309}.zip-item-status-failed{color:#dc2626}.workflow-stages{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.workflow-stage{border:1px solid var(--panel-line);color:var(--muted-text,#64748b);border-radius:999px;padding:4px 10px;font-size:.78rem}.workflow-stage-done{color:#16a34a;background:#22c55e1f;border-color:#22c55e66}.workflow-stage-current{color:#b45309;background:#eab30826;border-color:#eab30880;font-weight:600}.workflow-history{flex-direction:column;gap:6px;margin-top:14px;display:flex}.workflow-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.workflow-history-entry{border-left:2px solid var(--panel-line);flex-wrap:wrap;align-items:baseline;gap:8px;padding-left:8px;font-size:.85rem;display:flex}.workflow-history-status{font-weight:600}.workflow-history-time{color:var(--muted-text,#64748b);font-size:.78rem}.workflow-history-note{color:var(--muted-text,#64748b);flex-basis:100%;font-size:.82rem}.archive-confirm{background:#eab3081a;border:1px solid #eab30880;border-radius:8px;flex-direction:column;gap:8px;margin:8px 0;padding:10px 12px;display:flex}.archive-confirm-actions{gap:8px;display:flex}.storage-mode-badge{border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:10px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.storage-mode-checking{color:#64748b;background:#94a3b826}.storage-mode-connected{color:#16a34a;background:#22c55e26}.storage-mode-local{color:#2563eb;background:#3b82f626}.storage-mode-unavailable{color:#b45309;background:#eab30826}.panel-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.contact-source-badge{border-radius:999px;align-items:center;gap:6px;width:fit-content;margin:8px 0;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.contact-source-checking{color:#64748b;background:#94a3b826}.contact-source-backend{color:#16a34a;background:#22c55e26}.contact-source-demo{color:#2563eb;background:#3b82f626}.job-dashboard-panel{border:1px solid #3b82f659}.job-dashboard-filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0;display:flex}.job-dashboard-filter-field{color:var(--muted-text,#64748b);flex-direction:column;gap:4px;min-width:150px;font-size:.78rem;display:flex}.job-dashboard-filter-field input,.job-dashboard-filter-field select{border:1px solid var(--panel-line);border-radius:6px;padding:6px 8px}.job-dashboard-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.job-dashboard-row{border:1px solid var(--panel-line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.job-dashboard-info{flex-direction:column;gap:4px;min-width:0;display:flex}.job-discipline-badge{letter-spacing:.04em;text-transform:uppercase;color:#7c3aed;background:#8b5cf624;border-radius:999px;width:fit-content;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-block}.job-inspector-names{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.job-inspector-name{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.job-lead-badge{letter-spacing:.05em;text-transform:uppercase;color:#059669;background:#10b98124;border-radius:999px;flex:none;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.job-dashboard-status-badges{flex-wrap:wrap;gap:6px;display:flex}.job-dashboard-status-badge{color:#2563eb;background:#3b82f61f;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.readiness-panel{margin-top:10px}.readiness-strong-warning{align-items:center;gap:8px;font-weight:700;display:flex}.readiness-check-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.readiness-check-row{border:1px solid #94a3b840;border-radius:8px;padding:8px 10px}.readiness-check-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.readiness-check-label{font-size:13px;font-weight:600}.readiness-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.readiness-status-ready{color:#16a34a;background:#22c55e26}.readiness-status-warning{color:#b45309;background:#eab30826}.readiness-status-missing{color:#dc2626;background:#ef444426}.preview-mode-toggle{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.preview-mode-button{border:1px solid var(--panel-line);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}.preview-mode-button-active{background:var(--gold);color:#1a1a1a;border-color:#0000}.export-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.app-section-toggle{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.app-section-button{border:1px solid var(--panel-line);color:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:10px;flex:auto;padding:10px 14px;font-size:.85rem;font-weight:700}.app-section-button-active{background:var(--navy);color:#fff;border-color:#0000}.settings-section{margin-bottom:16px}.settings-subheading{text-transform:uppercase;letter-spacing:.06em;color:#cbd5e1;margin:16px 0 8px;font-size:12px;font-weight:800}.address-field-group{margin-bottom:4px}.address-autocomplete-field{position:relative}.address-suggestions{z-index:20;background:#0f1b33;border:1px solid #94a3b859;border-radius:8px;max-height:220px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000059}.address-suggestions li+li{margin-top:2px}.address-suggestions button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px;display:block}.address-suggestions button:hover,.address-suggestions button:focus-visible{background:#94a3b82e}.checkbox-field{cursor:pointer;align-items:center;gap:8px;margin:10px 0;font-size:13px;font-weight:600;display:flex}.certification-list{gap:12px;margin-bottom:8px;display:grid}.certification-row{overflow-wrap:anywhere;border:1px solid #94a3b82e;border-radius:12px;min-width:0;padding:10px 12px;transition:border-color .15s,background-color .15s}.certification-row:has(.certification-toggle-label input:checked){background:var(--gold-soft);border-color:#d4af378c}.certification-toggle-label{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:10px;width:100%;min-width:0;min-height:32px;margin:0;font-size:13px;font-weight:700;display:grid}.certification-toggle-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin:0}.certification-toggle-text{overflow-wrap:anywhere;min-width:0}.certification-detail{margin-top:10px}.inspector-primary-label{color:var(--text-muted,#64748b);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:600;display:inline-flex}.inspector-primary-label input[type=radio]{width:15px;height:15px;accent-color:var(--gold,#d4af37);cursor:pointer;margin:0}.inspector-primary-label:has(input:checked){color:var(--gold-dark,#b8940f);font-weight:700}.inspector-sig-status{overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:6px;min-width:0;margin-top:8px;padding:5px 9px;font-size:12px;font-weight:600;display:flex}.inspector-sig-status-signed{color:var(--green-text);background:var(--green-soft)}.inspector-sig-status-unsigned{color:var(--amber-text);background:var(--amber-soft)}.inspector-sig-status svg{flex-shrink:0}.sig-status-link-btn{all:unset;cursor:pointer;text-underline-offset:2px;color:inherit;font:inherit;line-height:inherit;text-decoration:underline}.sig-status-link-btn:hover{opacity:.8}.inspector-sig-thumbnail{object-fit:contain;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;flex-shrink:0;width:42px;height:26px;margin-left:auto}.cert-expiry-banner{border-left:4px solid var(--amber-text);background:var(--amber-soft)}.cert-expiry-banner.cert-expiry-banner-has-expired{border-left-color:var(--red-text);background:var(--red-soft)}.cert-expiry-alert-list{flex-direction:column;gap:6px;margin:8px 0 4px;padding:0;list-style:none;display:flex}.cert-expiry-alert-item{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.cert-expiry-alert-name{color:var(--text);font-weight:600}.cert-expiry-alert-type{color:var(--text-muted,#ffffff8c);font-size:12px}.cert-expiry-alert-badge{border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;font-weight:600;display:inline-flex}.cert-expiry-badge-expiring{color:var(--amber-text);background:#fbbf242e}.cert-expiry-badge-expired{color:var(--red-text);background:#f871712e}.cert-expiry-alert-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cert-expiry-affected-jobs{flex-direction:column;gap:4px;margin-top:5px;padding-left:4px;display:flex}.cert-expiry-affected-label{text-transform:uppercase;letter-spacing:.04em;opacity:.65;font-size:11px;font-weight:600}.cert-expiry-job-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cert-expiry-job-link{cursor:pointer;color:inherit;opacity:.8;background:0 0;border:1px solid;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;transition:opacity .15s,background .15s;display:inline-flex}.cert-expiry-job-link:hover{opacity:1;background:#ffffff1f}.certificate-badge{color:var(--green-text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;margin-top:6px;font-size:13px;display:flex}.certificate-badge-expiring{color:var(--amber-text);background:var(--amber-soft);border-radius:6px;padding:4px 8px}.certificate-badge-expired{color:var(--red-text);background:var(--red-soft);border-radius:6px;padding:4px 8px}.file-replace-button{color:var(--gold);border:1px solid var(--gold);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;width:fit-content;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.file-replace-button:hover{background:#c9a84c1f}.file-upload-badge{color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:#94a3b824;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}.plan-card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0;display:grid}.plan-card{background:#0206174d;border:1px solid #94a3b82e;border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.plan-card-selected{border-color:var(--gold)}.plan-card h3{margin:0}.plan-price{font-size:1.5rem;font-weight:900}.plan-price span{color:var(--muted);font-size:.85rem;font-weight:600}.plan-price-secondary{color:var(--muted);font-size:.85rem}.plan-seats{font-weight:700}.plan-excluded-features{color:var(--muted);margin:0;padding-left:18px;font-size:.8rem}.user-card-list{gap:14px;margin-bottom:14px;display:grid}.user-card .asset-preview{margin-top:8px}.view-mode-toggle{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.view-mode-button{border:1px solid var(--panel-line);color:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:10px;flex:auto;padding:8px 14px;font-size:.85rem;font-weight:600}.view-mode-button-active{background:var(--gold);color:#1a1a1a;border-color:#0000}.wizard-steps ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wizard-step-button{border:1px solid var(--panel-line);background:var(--panel-soft);width:100%;color:inherit;cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.85rem;display:flex}.wizard-step-active{border-color:var(--gold);background:var(--gold-soft)}.wizard-step-complete .wizard-step-icon{color:#16a34a}.wizard-step-incomplete .wizard-step-icon{color:#b45309}.wizard-step-number{background:var(--panel-line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:inline-flex}.wizard-step-label{font-weight:600}.wizard-step-panel .panel-heading h2{font-size:1rem}.wizard-export-note{margin-top:-4px}.wizard-step-controls{justify-content:space-between;gap:12px;margin-top:4px;display:flex}.range-tool{border:1px solid var(--panel-line);background:var(--panel-soft);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:16px;padding:14px;display:flex}.range-tool h3{margin:0;font-size:15px}.range-tool label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;flex-direction:column;gap:4px;font-size:12px;display:flex}.range-tool label input,.range-tool label select{color:var(--text);text-transform:none;letter-spacing:normal;border:1px solid var(--panel-line);background:var(--panel-bg,transparent);border-radius:8px;padding:8px 10px;font-size:14px}.contact-search-input{box-sizing:border-box;border:1px solid var(--panel-line);background:var(--panel-soft);width:100%;color:var(--text);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.contact-search-results{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.contact-result-row{border:1px solid var(--panel-line);background:var(--panel-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.contact-result-info{flex-direction:column;gap:2px;min-width:0;display:flex}.contact-result-info strong{overflow-wrap:anywhere;font-size:14px}.contact-result-info span{color:var(--muted);font-size:12px}.sample-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.asset-rows,.sample-photo-list{gap:14px;display:grid}.asset-card,.sample-photo-card{background:#0206174d;border:1px solid #94a3b82e;border-radius:16px;padding:14px}.asset-card-title{color:#fde68a;overflow-wrap:anywhere;margin-bottom:12px;font-size:13px;font-weight:900}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-grid .field:first-child,.property-photo-preview-field{grid-column:1/-1}.property-photo-preview-row{gap:8px;display:flex}.property-photo-preview-row .property-photo-preview-img{flex:1 1 0;width:0;min-width:0}.property-photo-preview-img{object-fit:cover;border:1px solid var(--panel-line);background:#0003;border-radius:6px;width:100%;max-height:180px;display:block}.property-photo-preview-fallback{text-align:center;min-width:0;height:120px;max-height:180px;color:var(--muted);background:var(--panel-soft);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12px;display:flex;overflow:hidden}.property-photo-preview-fallback span{overflow-wrap:anywhere}.property-photo-preview-fallback svg{flex:none}.actions{flex-wrap:wrap;gap:10px;display:flex}.action-bar{margin-top:14px}button{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-weight:800;transition:transform .15s,opacity .15s,box-shadow .15s;display:inline-flex}button:hover{transform:translateY(-1px)}button:disabled{opacity:.65;cursor:wait;transform:none}.primary{background:var(--gold);color:#111827;box-shadow:0 10px 24px #d4af372e}.secondary{color:var(--text);background:#1e293b;border:1px solid #334155}.ai-action{background:linear-gradient(135deg,#d4af37 0%,#f8d66d 100%)}.job-backup-actions{margin-top:10px}.file-button{cursor:pointer}.file-button-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.status{background:var(--green-soft);color:var(--green-text);border:1px solid #22c55e33;border-radius:14px;margin-top:14px;padding:12px 14px;font-size:13px}.warning{background:var(--amber-soft);color:var(--amber-text);border-color:#fbbf2433}.orphaned-job-links{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.link-button{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;border-radius:8px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;transition:opacity .15s;display:inline-flex}.link-button:hover{opacity:1}.preview-wrap{background:#263244;flex-direction:column;max-height:100vh;padding:22px;display:flex;overflow:hidden auto}.preview-wrap>:not(.preview-frame){flex:none}.preview-toolbar{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ae0;border:1px solid #e2e8f029;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex;position:sticky;top:0}.preview-toolbar h2{align-items:center;gap:8px;margin-top:4px;display:inline-flex}.preview-meta{background:var(--gold-soft);color:#fde68a;border:1px solid #d4af3759;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.preview-frame{background:#fff;border:0;border-radius:10px;flex:auto;width:100%;min-height:480px;box-shadow:0 18px 50px #00000061}@media (width<=1200px){.app-shell{grid-template-columns:1fr}.app-shell-phase2{position:static;inset:auto}.sidebar,.preview-wrap{max-height:none}}@media (width<=560px){.floor-plan-room-walls-grid{grid-template-columns:1fr}.floor-plan-room-list-actions button{flex:auto}}@media (width<=720px){.sidebar,.preview-wrap{padding:14px}.compact-grid,.sample-grid,.asset-grid{grid-template-columns:1fr}.preview-toolbar{flex-direction:column;align-items:flex-start}.panel-heading{flex-wrap:wrap}.panel,.field,.status,.muted-note{overflow-wrap:anywhere}}@media (width<=480px){.sidebar,.preview-wrap{padding:10px}.hero-card,.panel{border-radius:14px;padding:14px}.sidebar h1{font-size:22px}.panel-heading{flex-wrap:wrap}.sample-add-button{margin-left:0}.actions,.import-actions,.panel-actions,.package-panel-actions,.signature-tool-actions,.floor-plan-tool-actions,.floor-plan-add-row,.floor-plan-room-list-actions,.floor-plan-wall-list-item,.floor-plan-door-list-item,.floor-plan-object-list-item,.archive-confirm-actions,.wizard-step-controls{flex-direction:column;align-items:stretch}.actions button,.import-actions button,.panel-actions button,.package-panel-actions button,.signature-tool-actions button,.floor-plan-tool-actions button,.floor-plan-add-row button,.floor-plan-room-list-actions button,.floor-plan-wall-list-item button,.floor-plan-door-list-item button,.floor-plan-object-list-item button,.archive-confirm-actions button,.wizard-step-controls button{justify-content:center;width:100%}.floor-plan-add-row input,.floor-plan-add-row select{width:100%}.floor-plan-icon-toolbar{flex-wrap:wrap}.floor-plan-icon-group{flex:100%}.floor-plan-icon-group input{flex:100%;min-width:0}.floor-plan-icon-btn{flex:100%;justify-content:center}.floor-plan-workspace-toolbar{gap:6px;padding:8px}.floor-plan-workspace-toolbar .floor-plan-icon-toolbar{gap:6px}.floor-plan-workspace-toolbar .floor-plan-icon-group{flex:170px;padding:6px}.floor-plan-workspace-toolbar .floor-plan-icon-group input{flex:110px;min-width:100px}.floor-plan-workspace-toolbar .floor-plan-icon-btn,.floor-plan-workspace-toolbar .floor-plan-add-row button{flex:none;justify-content:center;width:auto;min-width:42px;height:32px;padding:0 8px;font-size:10px}.floor-plan-workspace-toolbar .floor-plan-add-row{flex-direction:row;align-items:center}.floor-plan-workspace-toolbar .floor-plan-add-row select{flex:130px;width:auto;min-width:130px}.job-dashboard-filters{flex-direction:column;align-items:stretch}.job-dashboard-filter-field{width:100%;min-width:0}.view-mode-toggle,.preview-mode-toggle{flex-direction:column}.view-mode-button,.preview-mode-button{text-align:center;width:100%}.preview-toolbar{border-radius:14px;padding:12px}.preview-frame{min-height:70vh}.sample-row-header,.job-dashboard-row,.saved-job-row{flex-wrap:wrap}.sample-row-header span{text-align:left;flex:100%}.contact-result-row{flex-direction:column;align-items:stretch}.contact-result-row button{width:100%}.saved-job-actions,.job-dashboard-status-badges,.readiness-check-heading{flex-wrap:wrap}.certificate-badge{flex-direction:column;align-items:flex-start}.certificate-badge button{justify-content:center;width:100%}}.phase-tab-bar{z-index:70;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:linear-gradient(#111827 85%,#11182700 100%);flex-wrap:nowrap;gap:4px;margin:8px -22px 0;padding:10px 22px 8px;display:flex;position:sticky;top:0;overflow-x:auto}.phase-tab-bar::-webkit-scrollbar{display:none}.phase-tab{border:1px solid var(--panel-line);background:var(--panel-soft);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:6px 13px;font-size:12px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.phase-tab:hover{color:var(--text);border-color:var(--gold)}.phase-tab-active{color:var(--gold);border-color:var(--gold);background:#d4af3721}.range-tool-toggle{align-items:center;gap:6px;margin:8px 0 2px;padding:5px 12px;font-size:12px;display:inline-flex}.range-tool-toggle .accordion-chevron{margin-left:auto}.range-tool{border:1px solid var(--panel-line);background:#0f172a80;border-radius:10px;margin-top:8px;padding:12px}.phase2-inspector-block{border:1px solid var(--panel-line);background:#0f172a73;border-radius:10px;margin-top:12px;padding:10px 12px}.phase2-inspector-block-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.phase2-inspector-block-label svg{color:var(--gold);flex-shrink:0}.inspector-row-locked{opacity:.9;cursor:default}.inspector-lock-badge{color:var(--gold);white-space:nowrap;background:#d4af3724;border:1px solid #d4af374d;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.phase2-inspector-contacts{margin-top:14px}.qa-drawer-status-pill{vertical-align:middle;border-radius:9999px;margin-left:.5rem;padding:.1em .5em;font-size:.75em;font-weight:600;display:inline-block}.qa-drawer-status-ready{color:#155724;background:#d4edda}.qa-drawer-status-not-ready{color:#721c24;background:#f8d7da}.qa-status-drawer{border:1px solid var(--panel-line);background:#0f172aa6;border-radius:10px;margin-top:10px;overflow:hidden}.qa-status-drawer-header{width:100%;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:9px 14px;font-size:11px;font-weight:700;transition:color .15s;display:flex}.qa-status-drawer-header:hover{color:var(--text)}.qa-status-drawer-header-open{color:var(--gold)}.qa-status-drawer-body{border-top:1px solid var(--panel-line);padding:0 2px 2px}.qa-status-drawer-body .panel{margin-top:6px}.section-chip-bar{z-index:50;background:linear-gradient(#111827 88%,#11182700 100%);margin:0 -22px;padding:8px 22px 6px;position:sticky;top:0}.section-chip-bar-inner{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-flow:row;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.section-chip-bar-inner::-webkit-scrollbar{display:none}.section-chip{border:1px solid var(--panel-line);background:var(--panel-soft);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:4px;padding:5px 11px;font-size:12px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.section-chip:hover{color:var(--text);border-color:var(--gold)}.section-chip-active{color:var(--gold);border-color:var(--gold);background:#d4af371a}.accordion-controls{gap:8px;margin:2px 0 4px;display:flex}.accordion-controls .secondary{padding:4px 10px;font-size:11px}.accordion-section{display:contents}.accordion-header{display:none}.accordion-body{display:contents}.accordion-body-collapsed{display:none}@media (width<=900px){.sidebar{max-height:none;overflow:clip visible}.section-chip-bar{display:block}.accordion-controls{display:flex}.accordion-section{margin-bottom:4px;scroll-margin-top:52px;display:block}.accordion-header{border:none;border-top:1px solid var(--panel-line);width:100%;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:10px 4px 6px;font-size:11px;font-weight:600;transition:color .15s;display:flex}.accordion-header:hover{color:var(--text)}.accordion-header-label{align-items:center;gap:6px;display:flex}.accordion-chevron{flex-shrink:0;transition:transform .2s}.accordion-chevron-open{transform:rotate(180deg)}.accordion-body{display:block}.accordion-body-collapsed{display:none}}@media (width>=901px){.section-chip-bar,.accordion-controls{display:none}.accordion-body-collapsed{display:contents!important}}.signature-tool-actions button{min-width:0}.batch-photo-upload{flex-direction:column;gap:12px;display:flex}.batch-upload-zone{border:2px dashed var(--panel-line,#ffffff1f);cursor:pointer;text-align:center;color:var(--text-muted,#ffffff8c);touch-action:manipulation;background:#ffffff05;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:24px 16px;font-size:.875rem;transition:border-color .15s,background .15s;display:flex}.batch-upload-zone:hover,.batch-upload-zone:focus-visible{border-color:var(--gold);background:var(--gold-soft);outline:none}.batch-upload-zone.drag-over{border-color:var(--gold);background:var(--gold-soft)}.batch-upload-zone svg{color:var(--gold)}.batch-photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.batch-photo-item{border:1px solid var(--panel-line,#ffffff1a);background:#ffffff0a;border-radius:8px;flex-direction:column;gap:4px;padding-bottom:6px;display:flex;position:relative;overflow:hidden}.batch-photo-item.batch-status-done{opacity:.6}.batch-photo-item.batch-status-error{border-color:#ef4444}.batch-photo-thumb{aspect-ratio:4/3;object-fit:cover;border-radius:6px 6px 0 0;width:100%;display:block}.batch-photo-badge{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.batch-badge-done{color:#fff;background:#22c55e}.batch-badge-error{color:#fff;cursor:help;background:#ef4444}.batch-badge-uploading{background:#0000008c}.batch-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite batch-spin;display:inline-block}@keyframes batch-spin{to{transform:rotate(360deg)}}.batch-photo-assignment{padding:0 6px}.batch-photo-assignment select{border:1px solid var(--panel-line,#ffffff1f);width:100%;color:var(--text);background:#ffffff0f;border-radius:4px;padding:3px 4px;font-size:.75rem}.batch-photo-item-actions{justify-content:center;gap:6px;padding:0 6px;display:flex}.batch-photo-error{color:#ef4444;word-break:break-word;padding:0 6px;font-size:.7rem}.batch-photo-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.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}.force-password-overlay{z-index:300;background:#0a0e1af5;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.force-password-card{background:#1a2235;border:1px solid #ffffff1f;border-radius:12px;width:min(440px,100%);padding:32px 28px;box-shadow:0 24px 64px #0009}.force-password-title{color:var(--text);margin:0 0 8px;font-size:1.25rem;font-weight:700}.force-password-subtitle{color:#fff9;margin:0 0 24px;font-size:.875rem;line-height:1.5}.force-password-form{flex-direction:column;gap:10px;display:flex}.force-password-form label{color:#ffffffa6;margin-bottom:2px;font-size:.8rem;font-weight:600}.force-password-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:opacity .15s}.force-password-submit:disabled{opacity:.5;cursor:not-allowed}.annotation-modal-overlay{z-index:200;background:#000000d1;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0;overflow:hidden}.annotation-modal{background:#1a2235;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:0;width:min(680px,100%);max-height:96vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.annotation-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.annotation-modal-title{color:var(--text);font-size:.95rem;font-weight:600}.annotation-toolbar{background:#ffffff08;border-bottom:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 12px;display:flex}.annotation-toolbar-group{align-items:center;gap:3px;display:flex}.annotation-toolbar-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:22px;margin:0 4px}.annotation-tool-btn{width:34px;height:34px;color:var(--text-muted,#fff9);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:flex}.annotation-tool-btn:hover:not(:disabled){color:var(--text);background:#ffffff14}.annotation-tool-btn.active{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}.annotation-tool-btn:disabled{opacity:.35;cursor:not-allowed}.annotation-color-group{gap:5px}.annotation-color-swatch{cursor:pointer;outline-offset:3px;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:22px;height:22px;padding:0;transition:transform .1s}.annotation-color-swatch:hover{transform:scale(1.15)}.annotation-canvas-wrapper{background:#111827;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.annotation-canvas{object-fit:contain;border-radius:4px;max-width:100%;max-height:55vh;display:block}.annotation-hint{color:var(--gold);background:var(--gold-soft);margin:0;padding:6px 16px;font-size:.78rem}.annotation-modal-footer{border-top:1px solid #ffffff14;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}@media (width<=600px){.annotation-toolbar{gap:3px}.annotation-tool-btn{width:30px;height:30px}.annotation-color-swatch{width:20px;height:20px}.annotation-canvas{max-height:42vh}.batch-photo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.diagram-launch-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.diagram-launch-row .primary{flex:none;margin-top:0}.diagram-workspace-backdrop{z-index:80;background:#020617db;padding:18px;position:fixed;inset:0}.diagram-workspace-shell{border:1px solid var(--panel-line);background:#0b1120;border-radius:22px;grid-template-rows:auto minmax(0,1fr);height:100%;display:grid;overflow:hidden;box-shadow:0 24px 80px #00000073}.diagram-workspace-header{border-bottom:1px solid var(--panel-line);background:#0f172af5;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.diagram-workspace-header h2,.diagram-workspace-header p{margin:0}.diagram-workspace-header p{color:var(--muted);margin-top:4px}.diagram-workspace-editor{-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:contain;min-height:0;padding:16px;overflow:auto}.diagram-workspace-editor .floor-plan-tool{grid-template-columns:minmax(0,1fr) clamp(260px,24vw,360px);grid-auto-flow:dense;align-items:start;gap:16px;min-height:0;display:grid}.diagram-workspace-editor .floor-plan-workspace-toolbar{z-index:6;grid-column:1/-1;position:sticky;top:0}.diagram-workspace-editor .floor-plan-zoom-controls,.diagram-workspace-editor .floor-plan-canvas-scroll,.diagram-workspace-editor .floor-plan-draw-status{grid-column:1}.diagram-workspace-editor .floor-plan-canvas-scroll{background:#0f172a8c;border-radius:14px;width:100%;min-height:calc(100vh - 330px);max-height:calc(100vh - 300px);padding:12px}.diagram-workspace-editor .floor-plan-management-panel{grid-area:2/2/span 3;min-width:0}.diagram-workspace-editor .floor-plan-icon-toolbar,.diagram-workspace-editor .floor-plan-room-list,.diagram-workspace-editor .floor-plan-wall-list,.diagram-workspace-editor .floor-plan-door-list,.diagram-workspace-editor .floor-plan-object-list,.diagram-workspace-editor .floor-plan-note-list,.diagram-workspace-editor .floor-plan-add-row,.diagram-workspace-editor .floor-plan-marker-list,.diagram-workspace-editor .floor-plan-tool-actions,.diagram-workspace-editor .floor-plan-floor-tabs,.diagram-workspace-editor .floor-plan-tool>.muted-note,.diagram-workspace-editor .floor-plan-tool>label,.diagram-workspace-editor .floor-plan-tool>input,.diagram-workspace-editor .floor-plan-tool>textarea,.diagram-workspace-editor .floor-plan-tool>select,.diagram-workspace-editor .floor-plan-tool>button{grid-column:2}.diagram-workspace-editor .floor-plan-icon-toolbar{position:static}@media (width<=1050px){.diagram-workspace-editor .floor-plan-tool{grid-template-columns:1fr}.diagram-workspace-editor .floor-plan-management-panel,.diagram-workspace-editor .floor-plan-zoom-controls,.diagram-workspace-editor .floor-plan-canvas-scroll,.diagram-workspace-editor .floor-plan-draw-status,.diagram-workspace-editor .floor-plan-icon-toolbar,.diagram-workspace-editor .floor-plan-room-list,.diagram-workspace-editor .floor-plan-wall-list,.diagram-workspace-editor .floor-plan-door-list,.diagram-workspace-editor .floor-plan-object-list,.diagram-workspace-editor .floor-plan-note-list,.diagram-workspace-editor .floor-plan-add-row,.diagram-workspace-editor .floor-plan-marker-list,.diagram-workspace-editor .floor-plan-tool-actions,.diagram-workspace-editor .floor-plan-floor-tabs,.diagram-workspace-editor .floor-plan-tool>.muted-note,.diagram-workspace-editor .floor-plan-tool>label,.diagram-workspace-editor .floor-plan-tool>input,.diagram-workspace-editor .floor-plan-tool>textarea,.diagram-workspace-editor .floor-plan-tool>select,.diagram-workspace-editor .floor-plan-tool>button{grid-column:1}}.sketch-diagram-card{border:1px solid var(--panel-line);background:#02061747;border-radius:16px;grid-column:1/-1;padding:14px}.diagram-embedded-editor{display:none}.diagram-saved-status{margin-top:0}@media (width<=700px){.diagram-workspace-backdrop{padding:0}.diagram-workspace-shell{border-radius:0}.diagram-workspace-header{flex-direction:row;align-items:center;padding:10px 12px}.diagram-workspace-header .eyebrow,.diagram-workspace-header p{display:none}.diagram-workspace-header h2{font-size:18px}.diagram-workspace-editor{padding:10px}.diagram-workspace-editor .floor-plan-canvas-scroll{min-height:calc(100vh - 270px);max-height:calc(100vh - 240px)}.diagram-launch-row{flex-direction:column}.diagram-launch-row .primary{width:100%}}.settings-section[data-collapsed=true]>:not(.panel-heading){display:none}.settings-collapse-toggle{border:1px solid var(--border);min-height:32px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:4px;flex:none;align-items:center;gap:4px;padding:5px 8px;font-size:12px;display:inline-flex}.settings-collapse-toggle:hover{color:var(--text);border-color:var(--gold)}.settings-collapse-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.settings-collapse-icon{transition:transform .12s}.settings-collapse-icon-closed{transform:rotate(-90deg)}.settings-single-line-input{min-width:0;max-width:100%;height:42px}.settings-section .address-field-group{grid-template-columns:minmax(0,2fr) minmax(130px,1fr) minmax(75px,.7fr) minmax(85px,.8fr)}.required-mark{color:var(--danger,#b42318);font-weight:700}.required-mark:after{content:" *"}.field-help{vertical-align:middle;margin-left:4px;display:inline-flex;position:relative}.field-help-button{width:22px;height:22px;color:var(--gold);cursor:help;background:0 0;border:0;padding:2px}.field-help-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}.field-help-text{z-index:30;border:1px solid var(--border);background:var(--panel,#fff);width:min(260px,100vw - 40px);color:var(--text);border-radius:4px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.35;display:none;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 4px 12px #00000024}.field-help:hover .field-help-text,.field-help:focus-within .field-help-text{display:block}.settings-member-actions{margin-top:12px;margin-bottom:10px}@media (width<=720px){.settings-section .address-field-group{grid-template-columns:1fr}.settings-collapse-toggle{margin-left:auto}}.settings-fieldset{border:0;min-width:0;margin:0 0 16px;padding:0}.settings-fieldset legend{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:700}.settings-checkbox-list{gap:8px;display:grid}.settings-checkbox-list .checkbox-field{align-items:center}.settings-checkbox-list .muted-note{margin-left:4px}.settings-info-note{border-left:3px solid var(--gold);color:var(--muted);background:#c9a84c17;margin:0 0 16px;padding:10px 12px;font-size:13px;line-height:1.45}.settings-info-note p{margin:0 0 6px}.settings-info-note p:last-child{margin-bottom:0}.organization-view{min-width:0}.organization-heading{margin:8px 0 16px}.organization-heading h2{margin:2px 0 6px}.organization-heading p:last-child{max-width:680px;color:var(--muted);margin:0}.organization-plan-section{min-width:0}@media (width<=700px){.organization-heading{margin-top:4px}.organization-plan-section .plan-card-grid{grid-template-columns:minmax(0,1fr)}}.access-gate-checking{color:#94a3b8;background:#0b1120;justify-content:center;align-items:center;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.access-gate{background:#0b1120;justify-content:center;align-items:center;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.access-gate-card{color:#e2e8f0;background:#111827;border:1px solid #94a3b838;border-radius:16px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:28px;display:flex}.access-gate-card h1{margin:0;font-size:20px}.access-gate-card p{color:#94a3b8;margin:0 0 8px;font-size:14px}.access-gate-card label{font-size:13px;font-weight:600}.access-gate-card input{color:#e2e8f0;background:#0b1120;border:1px solid #94a3b859;border-radius:10px;padding:10px 12px;font-size:14px}.access-gate-card button{color:#111827;cursor:pointer;background:#d4af37;border:none;border-radius:10px;margin-top:6px;padding:10px 14px;font-weight:700}.access-gate-card button:disabled{opacity:.6;cursor:not-allowed}.access-gate-error{color:#fca5a5;background:#f871711f;border:1px solid #f8717140;border-radius:8px;padding:8px 10px;font-size:13px}.access-gate-dev-notice{color:#fde68a;text-align:center;background:#fbbf2426;border-bottom:1px solid #fbbf244d;padding:10px 16px;font-size:13px}.login-gate-checking{color:#6b7280;justify-content:center;align-items:center;height:100vh;font-size:1rem;display:flex}.login-gate{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-gate-card{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;max-width:400px;padding:2.5rem 2rem;display:flex;box-shadow:0 20px 60px #0006}.login-gate-card h1{color:#f1f5f9;margin:0;font-size:1.5rem;font-weight:700}.login-gate-card p{color:#94a3b8;margin:0;font-size:.9rem}.login-gate-card label{color:#cbd5e1;margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.login-gate-card input{box-sizing:border-box;color:#f1f5f9;background:#0f172a;border:1px solid #475569;border-radius:8px;width:100%;padding:.65rem .85rem;font-size:1rem}.login-gate-card input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f640}.login-gate-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef444466;border-radius:8px;padding:.65rem .85rem;font-size:.875rem}.login-gate-card button[type=submit]{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:.7rem 1.25rem;font-size:1rem;font-weight:600;transition:background .15s}.login-gate-card button[type=submit]:hover:not(:disabled){background:#2563eb}.login-gate-card button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.login-gate-dev-notice{color:#fbbf24;text-align:center;background:#1c1c1c;border-bottom:2px solid #f59e0b;padding:.5rem 1rem;font-size:.8rem}.login-gate-success{color:#86efac;background:#22c55e1f;border:1px solid #22c55e59;border-radius:8px;padding:.65rem .85rem;font-size:.875rem;line-height:1.5}.login-gate-link-button{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem;transition:color .15s}.login-gate-link-button:hover{color:#94a3b8}.login-gate-cta-button{color:#fecaca;cursor:pointer;background:#ef44442e;border:1px solid #ef444480;border-radius:6px;margin-top:.6rem;padding:.45rem .75rem;font-size:.85rem;font-weight:600;transition:background .15s;display:block}.login-gate-cta-button:hover{background:#ef44444d}
