:root{color:#1f2933;background:#edf2f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}.app{min-height:100vh}.app-header{align-items:center;background:#172033;color:#f8fafc;display:flex;gap:16px;justify-content:space-between;min-height:64px;padding:10px 20px}.app-header h1{font-size:20px;line-height:1.2;margin:2px 0 0}.app-brand{align-items:baseline;display:flex;gap:10px;white-space:nowrap}.app-brand span{color:#9fb3c8;font-size:11px}.header-subtitle{color:#cbd5e1;font-size:13px;margin:6px 0 0}.eyebrow{color:#9fb3c8;font-size:12px;margin:0;text-transform:uppercase}.header-metrics{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(96px,1fr));max-width:620px}.metric{background:#ffffff1a;border:1px solid rgb(255 255 255 / 14%);border-radius:8px;padding:5px 8px}.metric span{color:#bcccdc;display:block;font-size:12px}.metric strong{display:block;font-size:14px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{display:grid;gap:16px;grid-template-columns:minmax(320px,380px) minmax(420px,1fr) minmax(300px,360px);padding:16px}.quote-report-band{padding:10px 16px 0}.quote-report-band>.section,.quote-status-panel{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;padding:10px 12px}.quote-status-main{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(220px,.7fr) minmax(0,1.5fr)}.quote-status-main h2{color:#172033;font-size:17px;margin:0}.quote-status-project{align-items:center;display:flex;gap:10px;min-width:0}.quote-status-project h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-status-pill{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#047857;display:inline-flex;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}.quote-status-pill.warning-state{background:#fff7ed;border-color:#fdba74;color:#9a3412}.quote-status-grid{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr))}.quote-status-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px}.quote-status-metric span,.quote-status-metric strong{display:block}.quote-status-metric span{color:#64748b;font-size:12px}.quote-status-metric strong{color:#172033;font-size:14px;margin-top:2px}.quote-flow-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.quote-flow-step{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#475569;font-size:12px;padding:5px 9px}.quote-flow-step.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.quote-tabs{display:grid;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr));padding:8px 16px 0}.quote-tab{background:#fff;border:1px solid #d9e2ec;border-radius:8px;color:#475569;cursor:pointer;min-height:40px;padding:7px 10px;text-align:center}.quote-tab strong,.quote-tab span{display:block}.quote-tab strong{color:#172033;font-size:13px}.quote-tab span{color:#64748b;font-size:10px;margin-top:3px}.quote-tab.is-active{background:#eff6ff;border-color:#2563eb}.quote-tab.is-active strong{color:#1d4ed8}.quote-workspace{padding:10px 16px 16px}.quote-tab-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,380px)}.setup-workspace{display:grid;gap:12px}.setup-focus-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}.setup-card,.project-toolbar{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;padding:14px}.setup-card>.section{border-bottom:0;padding-bottom:0}.setup-utility-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.disclosure-summary{align-items:center;display:flex;justify-content:space-between}.disclosure-summary small{color:#64748b;font-size:11px;font-weight:600}.setup-settings-content{padding:12px 0 14px}.setup-settings-content>.section{padding-bottom:12px}.setup-settings-content>.section:last-child{padding-bottom:0}.setup-settings-content .section-heading{margin-bottom:8px}.setup-settings-content .section-heading h2{font-size:13px}.quote-primary,.quote-side{min-width:0}.quote-primary.stack,.quote-side.stack{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;max-height:none;padding:16px}.fabric-tab-layout{grid-template-columns:minmax(560px,1fr) minmax(300px,360px)}.fabric-workspace,.marker-panel-stack{display:grid;gap:12px;min-width:0;width:100%}.marker-control-frame,.marker-canvas-frame{min-width:0;width:100%}.marker-canvas-frame{contain:inline-size;overflow:hidden}.marker-settings-disclosure{border-top:1px solid #d9e2ec;padding:0 14px 12px}.marker-settings-disclosure>summary{color:#475569;cursor:pointer;font-size:13px;font-weight:700;padding:12px 0 0}.marker-settings-disclosure[open]>summary{margin-bottom:12px}.quantity-disclosure>.section{max-width:760px}.panel,.marker-control-frame,.marker-canvas-frame{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f}.canvas-column{min-width:0}.stack{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 120px);overflow:auto;padding:16px}.section{border-bottom:1px solid #e4e7eb;padding-bottom:16px}.section:last-child{border-bottom:0;padding-bottom:0}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-heading h2{font-size:16px;margin:0}.grid{display:grid;gap:10px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.source-fields{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.pieces-workspace{display:grid;gap:12px}.pieces-primary.stack{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;max-height:none;padding:14px}.source-panel-actions{display:flex;gap:8px}.pieces-tools-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.tool-disclosure{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:0 14px}.tool-disclosure>summary{color:#172033;cursor:pointer;font-size:14px;font-weight:700;padding:12px 0}.tool-disclosure[open]>summary{border-bottom:1px solid #e4e7eb}.tool-disclosure>.section{border-bottom:0;padding:12px 0 14px}.settings-rail{display:grid;gap:10px;align-content:start}.settings-rail>.section,.settings-rail>.tool-disclosure{background:#fff}.settings-rail>.section{border:1px solid #d9e2ec;border-radius:8px;padding:14px}.tool-disclosure .section+.section{border-top:1px solid #e4e7eb;padding-top:12px}.section-subtitle{color:#64748b;font-size:12px;margin:3px 0 0}.field{display:flex;flex-direction:column;gap:4px}.field span{color:#52606d;font-size:12px}.field input,.field textarea,.field select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;min-height:36px;padding:7px 9px;width:100%}.source-textarea{min-height:92px;resize:vertical}.external-ai-settings{margin-bottom:10px}.external-ai-settings-content{display:grid;gap:8px;padding:10px}.field.has-error input{border-color:#dc2626}.field-error{color:#b91c1c;font-size:11px}.action-feedback{color:#047857;font-size:12px;min-height:18px;margin:6px 0}.validation-box{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.validation-box div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.validation-box span,.validation-box strong{display:block}.validation-box span{color:#64748b;font-size:11px}.validation-box strong{color:#172033;font-size:14px;margin-top:2px}.signal-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.signal-list span{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:12px;padding:4px 8px}.full-width-button{width:100%}.source-fields .field span{font-size:11px}.source-fields .field input{min-height:32px;padding:5px 7px}.button{border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;min-height:34px;padding:6px 12px}.button.primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.button.ghost{background:#fff;color:#475569;margin-top:10px}.button.danger{border-color:#fecaca;color:#b91c1c;margin-top:0}.button:disabled{cursor:not-allowed;opacity:.45}.project-toolbar{display:grid;gap:12px}.project-toolbar-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.project-toolbar-heading h2{color:#172033;font-size:16px;margin:0}.project-toolbar-heading p{color:#64748b;font-size:12px;margin:2px 0 0}.autosave-status{color:#047857;font-size:11px;font-weight:700;white-space:nowrap}.project-core-grid{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr))}.project-span-two{grid-column:span 2}.project-name-field input{font-weight:700}.project-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:10px}.upload-button{align-items:center;background:#fff;color:#475569;display:inline-flex;justify-content:center;position:relative}.upload-button input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.dxf-upload{align-self:end}.project-meta{color:#64748b;display:flex;font-size:12px;gap:8px;justify-content:space-between}.project-detail-disclosure{border-top:1px solid #e4e7eb}.project-detail-disclosure>summary{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:12px;justify-content:space-between;padding-top:10px}.project-detail-disclosure>summary small{color:#64748b;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-contact-grid{display:grid;gap:9px;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:10px}.project-file-disclosure{margin-top:-2px}.project-meta strong{color:#334155;font-weight:600}.project-error{background:#fff7ed;border:1px solid #fdba74;border-radius:6px;color:#9a3412;font-size:12px;padding:8px 10px}.piece-dimension-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.piece-dimension-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;min-width:0;padding:8px}.piece-dimension-chip strong,.piece-dimension-chip span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.piece-dimension-chip strong{color:#172033;font-size:12px}.piece-dimension-chip span{color:#64748b;font-size:11px;margin-top:2px}.piece-table-wrap{border:1px solid #d9e2ec;border-radius:6px;overflow:auto}.source-filter-bar{align-items:end;display:flex;gap:10px;justify-content:flex-end;margin-bottom:8px}.source-filter-bar .field{margin-right:auto;width:180px}.source-filter-bar>span{color:#64748b;font-size:12px;padding-bottom:8px}.piece-source-table{border-collapse:collapse;min-width:760px;width:100%}.piece-source-table th,.piece-source-table td{border-bottom:1px solid #e2e8f0;padding:6px;text-align:left;vertical-align:middle}.piece-source-table th{background:#f8fafc;color:#475569;font-size:11px;font-weight:700;white-space:nowrap}.piece-source-table tr:last-child td{border-bottom:0}.piece-source-table input,.piece-source-table select{background:#fff;border:1px solid #cbd5e1;border-radius:5px;font-size:12px;min-height:30px;padding:5px 6px;width:100%}.piece-name-cell{min-width:230px}.piece-identity-cell{align-items:center;display:flex;gap:8px}.piece-preview{background:#f8fafc;border:1px solid #d9e2ec;border-radius:4px;flex:0 0 62px;height:46px;width:62px}.piece-preview-bound{fill:#e8eef5;stroke:#94a3b8;stroke-width:1.2}.piece-preview.is-dxf .piece-preview-bound{fill:#f8fafc;stroke-dasharray:3 2}.piece-preview-contour{fill:#2563eb14;stroke:#2563eb;stroke-linejoin:round;stroke-width:1.8}.piece-name-stack{display:grid;gap:3px;min-width:0;width:100%}.piece-source-badge{color:#64748b;font-size:10px;line-height:1}.piece-source-badge.is-dxf{color:#1d4ed8}.piece-fabric-cell{min-width:58px;width:58px}.piece-size-cell{min-width:76px;width:76px}.piece-fabric-cell select{font-weight:700;text-align:center}.compact-number-input{min-width:64px}.piece-table-actions{display:flex;gap:6px;white-space:nowrap}.measurement-size-control{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(160px,240px) auto;justify-content:start;margin-bottom:8px}.measurement-size-input{min-width:0}.measurement-size-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.size-tab{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;min-height:32px;min-width:48px;padding:4px 10px}.size-tab.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.helper-text{color:#64748b;font-size:12px;margin:10px 0 0}.section-badge{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;color:#047857;font-size:12px;font-weight:700;padding:4px 8px}.construction-options{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.check-field.compact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;min-height:34px;padding:6px 8px}.operation-list{counter-reset:none;display:grid;gap:8px;list-style:none;margin:12px 0 0;padding:0}.operation-list li{align-items:center;border:1px solid #e2e8f0;border-radius:6px;display:grid;gap:8px;grid-template-columns:28px minmax(0,1fr);padding:8px}.operation-list li>span{align-items:center;background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.operation-list strong,.operation-list small{display:block}.operation-list strong{color:#172033;font-size:13px}.operation-list small{color:#64748b;font-size:11px;margin-top:2px}.warning.compact{font-size:12px;margin-top:8px;padding:6px 8px}.toolbar{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));padding:16px}.fabric-settings{border-top:1px solid #e2e8f0;margin-top:12px;padding:12px 16px 0}.fabric-identity{display:grid;gap:10px;grid-template-columns:120px minmax(160px,1fr) auto auto}.fabric-identity .button{align-self:end;margin-top:0;white-space:nowrap}.fabric-toolbar{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 0 0}.fabric-tabs{display:flex;gap:8px;padding:12px 16px 0}.fabric-tab{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;gap:8px;min-height:38px;padding:7px 12px}.fabric-tab strong{color:#172033;font-size:15px}.fabric-tab span{font-size:12px}.fabric-tab.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.fabric-tab.is-active strong{color:#1d4ed8}.fabric-note{align-self:end;color:#52606d;font-size:13px;padding-bottom:7px}.marker-controls{border-top:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:160px minmax(260px,1fr) minmax(160px,auto);padding:12px 16px}.mode-controls{align-items:end;display:flex;gap:8px}.mode-button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;min-height:34px;padding:6px 12px}.mode-button.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.manual-settings{align-items:end;border-top:1px solid #e2e8f0;display:grid;gap:12px;grid-template-columns:auto minmax(120px,180px) auto minmax(120px,180px) minmax(150px,auto);padding:12px 16px}.manual-settings-wrap{border-top:1px solid #e2e8f0}.manual-settings-wrap .manual-settings{border-top:0}.manual-layout-warning{align-items:center;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;display:flex;gap:10px;padding:8px 16px}.manual-layout-warning strong{font-size:12px;white-space:nowrap}.manual-layout-warning span{font-size:11px}.fabric-cost-editor{border:1px solid #d9e2ec;border-radius:6px;margin-bottom:14px;overflow-x:auto}.fabric-cost-header,.fabric-cost-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(100px,.8fr) minmax(150px,1.2fr) minmax(120px,.8fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(110px,.8fr);min-width:820px;padding:8px 10px}.fabric-cost-header{background:#f8fafc;color:#475569;font-size:11px;font-weight:700}.fabric-cost-row{border-top:1px solid #e2e8f0;font-size:12px}.fabric-cost-row .field>span{display:none}.fabric-cost-row .field input{min-height:32px}.costing-inputs{margin-top:12px}.manual-reset-button{margin-top:0;white-space:nowrap}.check-field{align-items:center;color:#475569;display:inline-flex;gap:8px;min-height:36px}.check-field input{height:16px;width:16px}.marker-frame{min-width:0;padding:16px;width:100%}.marker-ruler{color:#52606d;display:grid;font-size:13px;grid-template-columns:1fr auto 1fr;margin-bottom:10px}.marker-ruler>:last-child{text-align:right}.marker-instance-legend{color:#64748b;font-size:11px}.marker-svg{background:#f8fafc;display:block;max-width:none;touch-action:none}.marker-scroll{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable;width:100%}.marker-svg.is-draggable .marker-piece.can-drag{cursor:grab}.marker-svg.is-draggable .marker-piece.can-drag:active{cursor:grabbing}.marker-piece-contour{filter:drop-shadow(0 0 1px rgba(15,23,42,.5))}.manual-snap-hint{color:#64748b;flex-basis:100%;font-size:11px;margin:0}.warning{background:#fff7ed;border:1px solid #fdba74;border-radius:6px;color:#9a3412;margin-top:10px;padding:8px 10px}.best-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:12px 0;padding:12px}.best-box span,.best-box strong{display:block}.best-box span{color:#475569;font-size:12px}.best-box strong{color:#1d4ed8;margin-top:2px}.result-table{border-collapse:collapse;font-size:13px;width:100%}.result-table th,.result-table td{border-bottom:1px solid #e2e8f0;padding:8px 6px;text-align:right}.result-table th:first-child,.result-table td:first-child{text-align:left}.result-table .is-best{background:#ecfdf5;color:#047857;font-weight:700}.compact-table{font-size:12px;margin-top:12px}.compact-table th,.compact-table td{padding:6px 4px}.cost-summary{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;justify-content:space-between;margin-top:10px;padding:8px 10px}.cost-summary span{color:#64748b;font-size:12px}.cost-summary strong{color:#172033;font-size:14px}.inline-button{margin-top:0}.compact-action{font-size:12px;min-height:28px;padding:4px 8px}.review-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.review-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.review-summary span,.review-summary strong{display:block}.review-summary span{color:#64748b;font-size:11px}.review-summary strong{color:#172033}.review-list{display:grid;gap:8px;margin-top:10px}.review-item{border:1px solid #e2e8f0;border-radius:6px;padding:8px}.review-item-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.review-item strong{color:#172033;font-size:13px}.review-item p,.review-item small{color:#64748b;display:block;font-size:11px;margin:4px 0 0}.status-pill{border-radius:999px;font-size:11px;font-weight:700;padding:3px 7px}.status-pass{background:#ecfdf5;color:#047857}.status-warning,.status-needs_review{background:#fff7ed;color:#9a3412}.status-fail{background:#fef2f2;color:#b91c1c}.task-router-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.task-router-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.task-router-summary span,.task-router-summary strong{display:block}.task-router-summary span{color:#64748b;font-size:11px}.task-router-summary strong{color:#172033;font-size:13px;margin-top:2px}.task-route-list{display:grid;gap:8px;margin-top:10px}.task-route-item{border:1px solid #e2e8f0;border-radius:6px;padding:8px}.task-route-item.ready{background:#f8fffb;border-color:#bbf7d0}.task-route-item.blocked{background:#fffaf5;border-color:#fed7aa}.task-route-title{align-items:center;display:flex;gap:8px;justify-content:space-between}.task-route-title strong{color:#172033;font-size:13px}.task-route-title span{border-radius:999px;font-size:11px;font-weight:700;padding:3px 7px}.task-route-item.ready .task-route-title span{background:#ecfdf5;color:#047857}.task-route-item.blocked .task-route-title span{background:#fff7ed;color:#9a3412}.task-route-item small{color:#64748b;display:block;font-size:11px;margin-top:4px}.task-route-action{margin-top:8px}.report-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.report-actions{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:10px}.report-actions .button{margin-top:0}.quote-version-toolbar{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;padding:10px 12px}.quote-version-toolbar span,.quote-version-toolbar strong{display:block}.quote-version-toolbar span{color:#64748b;font-size:12px}.quote-version-toolbar strong{color:#172033;font-size:16px;margin-top:2px}.quote-version-table{margin-bottom:12px}.quote-version-diff{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px;padding:10px}.quote-version-diff.has-change{background:#fff7ed;border-color:#fdba74}.quote-version-diff div{min-width:0}.quote-version-diff span,.quote-version-diff strong{display:block}.quote-version-diff span{color:#64748b;font-size:11px}.quote-version-diff strong{color:#172033;font-size:13px;margin-top:2px}.quote-version-diff p{color:#475569;font-size:12px;grid-column:1 / -1;margin:0}.quote-version-diff.has-change p{color:#9a3412}.approval-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.approval-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.approval-summary span,.approval-summary strong{display:block}.approval-summary span{color:#64748b;font-size:11px}.approval-summary strong{color:#172033;font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.approval-actions .button{margin-top:0}.report-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.report-metric span,.report-metric strong{display:block}.report-metric span{color:#64748b;font-size:11px}.report-metric strong{color:#172033;font-size:14px;margin-top:2px}.report-thumbnail{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:10px;overflow:auto;padding:8px}.report-thumbnail svg{display:block;height:auto;max-width:100%;width:100%}.report-mini-tables{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.report-mini-tables h3{color:#172033;font-size:12px;margin:0 0 4px}.report-mini-table{border-collapse:collapse;font-size:11px;width:100%}.report-mini-table td{border-bottom:1px solid #e2e8f0;color:#475569;padding:4px 0;vertical-align:top}.report-mini-table td:last-child{color:#172033;font-weight:700;text-align:right}.quote-setting-fields,.quote-term-fields{margin-bottom:10px}.quote-remarks-field{grid-column:1 / -1}.quote-remarks-field textarea{min-height:64px;resize:vertical}.quote-result-strip{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.quote-result-strip div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.quote-result-strip span,.quote-result-strip strong{display:block}.quote-result-strip span{color:#64748b;font-size:11px}.quote-result-strip strong{color:#172033;font-size:13px;margin-top:2px}.quote-tier-note{color:#64748b;display:block;font-size:10px;font-weight:400;margin-top:2px}.quote-tier-input{margin-bottom:10px}.customer-profile-editor{display:grid;gap:10px}.customer-profile-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.customer-profile-actions .button{margin-top:0}.section-badge.success{background:#dcfce7;color:#166534}.section-badge.danger{background:#fee2e2;color:#991b1b}.production-fields{margin-bottom:10px}.production-summary{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.production-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.production-summary span,.production-summary strong{display:block}.production-summary span{color:#64748b;font-size:11px}.production-summary strong{color:#172033;font-size:13px;margin-top:2px}.material-profile-editor{display:grid;gap:10px}.material-profile-editor small{color:#64748b;font-size:11px}.material-profile-actions{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.material-profile-actions .button{margin-top:0}.report-details{color:#64748b;font-size:12px;margin-top:10px}.report-details p{margin:4px 0}.report-details strong{color:#172033}@media(max-width:1180px){.workspace,.quote-tab-grid,.fabric-tab-layout,.setup-focus-grid{grid-template-columns:1fr}.workspace{width:100%}.workspace{display:flex;flex-direction:column}.quote-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{max-height:none}}@media(max-width:900px){.app-header{align-items:flex-start;flex-direction:column}.header-metrics{width:100%}.quote-status-main{grid-template-columns:1fr}.quote-tabs{grid-template-columns:repeat(6,minmax(120px,1fr));overflow-x:auto}.pieces-tools-grid{grid-template-columns:1fr}.project-core-grid,.project-contact-grid,.setup-utility-grid,.manual-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-reset-button{grid-column:1 / -1}}@media(max-width:680px){.app-header,.workspace{padding:12px}.quote-result-strip,.project-actions,.customer-profile-actions,.material-profile-actions,.report-actions,.fabric-identity,.marker-controls,.manual-settings,.approval-actions,.quote-version-diff,.grid.two,.grid.three,.piece-dimension-summary,.source-fields,.toolbar,.project-core-grid,.project-contact-grid,.setup-utility-grid{grid-template-columns:1fr}.project-span-two,.manual-reset-button{grid-column:auto}.project-toolbar-heading,.project-detail-disclosure>summary,.disclosure-summary{align-items:flex-start;flex-direction:column;gap:3px}.header-metrics,.quote-status-grid{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.app-header{gap:8px}.metric,.quote-status-metric{min-width:0}.mode-controls,.source-filter-bar,.manual-layout-warning{align-items:stretch;flex-direction:column}.source-filter-bar .field{width:100%}.source-filter-bar>span{padding-bottom:0}.report-mini-tables{grid-template-columns:1fr}.quote-version-toolbar{align-items:stretch;flex-direction:column}}
