*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ant-color-text);background:var(--ant-color-bg-layout);font-family:var(--ant-font-family);font-size:var(--ant-font-size);line-height:var(--ant-line-height);letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .16s ease,color .16s ease}button,input,select,textarea{font:inherit}button{color:inherit}h1,h2,h3,h4{margin:0;line-height:var(--ant-line-height-lg);letter-spacing:normal;font-weight:600}table{width:100%;border-collapse:collapse}td,th{font-feature-settings:"tnum"}pre,code{font-family:var(--ant-font-family-code)}#app{min-height:100vh}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.theme-switching *{transition:none!important}.sidebar{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:var(--ant-padding);height:100vh;padding:var(--ant-padding-sm) var(--ant-padding-xs) var(--ant-padding);border-right:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-container)}.brand-block{display:flex;align-items:center;gap:var(--ant-margin-xs);justify-content:space-between;padding:0 var(--ant-padding-xxs)}.brand-identity{display:flex;align-items:center;gap:var(--ant-margin-sm);min-width:0}.brand-copy{min-width:0}.brand-mark{display:inline-grid;place-items:center;width:20px;height:20px;flex-shrink:0;border-radius:var(--ant-border-radius-sm);background:var(--ant-color-primary-base);color:var(--ant-color-text-on-primary);font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-sm);font-weight:600;line-height:1}.brand-title{font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-h5);font-weight:600;letter-spacing:-.01em}.brand-subtitle,.eyebrow,.table-subtitle,.hint,.panel-header p{color:var(--ant-color-text-secondary)}.hint-error{color:var(--ant-color-error-text)}.icon-btn{display:inline-grid;place-items:center;min-width:32px;width:32px;height:32px;padding:0}.sidebar-toggle{display:inline-grid;place-items:center;width:32px;min-width:32px;height:32px;padding:0;border:none;border-radius:var(--ant-border-radius);background:transparent;color:var(--ant-color-text-tertiary);cursor:pointer}.sidebar-toggle:hover{background:var(--ant-color-fill-tertiary);color:var(--ant-color-text)}.nav{display:grid;gap:var(--ant-margin-xxs)}.nav-btn{display:flex;align-items:center;gap:var(--ant-padding-sm);min-height:var(--ant-control-height);padding:0 var(--ant-padding-xs);border:none;border-radius:var(--ant-border-radius);background:transparent;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size);font-weight:500;line-height:1.2;text-align:left;cursor:pointer}.nav-btn-icon{display:inline-grid;place-items:center;width:16px;min-width:16px;color:inherit}.nav-btn-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-btn:hover{background:var(--ant-color-fill-tertiary);color:var(--ant-color-text)}.nav-btn.is-active{background:var(--ant-color-fill-secondary);color:var(--ant-color-text)}.nav-btn-kbd{margin-left:auto}.shell.sidebar-collapsed .nav-btn-kbd{display:none}.nav-btn.is-active .nav-btn-icon{color:inherit}.ghost-btn,.primary-btn,.input,.row-link{border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius);background:transparent;color:var(--ant-color-text);transition:background var(--ant-motion-fast) ease,border-color var(--ant-motion-fast) ease,color var(--ant-motion-fast) ease}.ghost-btn,.primary-btn{min-height:var(--ant-control-height);cursor:pointer;padding:var(--ant-padding-xxs) var(--ant-padding-sm);font-weight:500;font-size:var(--ant-font-size);line-height:1.2}.ghost-btn:hover,.row-link:hover{border-color:var(--ant-color-border);background:var(--ant-color-fill-tertiary)}.primary-btn{border-color:var(--ant-color-primary-base);background:var(--ant-color-primary-base);color:var(--ant-color-text-on-primary)}.primary-btn:hover{background:var(--ant-color-primary-hover);border-color:var(--ant-color-primary-hover)}.primary-btn:active{background:var(--ant-color-primary-active);border-color:var(--ant-color-primary-active)}.primary-btn:disabled,.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.danger-text{color:var(--ant-color-error-text)}.row-link{padding:0;border:none;background:none;text-align:left;cursor:pointer}.toolbar-actions,.mode-switch,.topbar-actions,.quote-alert-strip,.topbar-meta{display:flex;gap:var(--ant-margin-sm);flex-wrap:wrap;align-items:center}.shell.sidebar-collapsed .sidebar{padding-inline:var(--ant-padding-xs)}.shell.sidebar-collapsed .brand-copy,.shell.sidebar-collapsed .nav-btn-label{display:none}.shell.sidebar-collapsed .brand-block{flex-direction:column;gap:var(--ant-margin-xs);padding:0}.shell.sidebar-collapsed .brand-mark{width:24px;height:24px}.shell.sidebar-collapsed .nav-btn{justify-content:center;padding-inline:0}.main{padding:var(--ant-padding-lg) var(--ant-padding-xl) 96px;min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;gap:var(--ant-margin-md);align-items:center;margin-bottom:var(--ant-margin-lg)}.topbar-heading{min-width:0}.topbar h1{margin:0 0 var(--ant-margin-xxs);font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-h2);font-weight:600;line-height:1.2;letter-spacing:-.02em}.scope-switch{flex-shrink:0}.scope-switch .segmented-option{min-height:28px;padding:0 var(--ant-padding-sm)}.topbar p{margin:0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.topbar-meta{margin-top:var(--ant-padding-sm)}.topbar-meta-subtle{margin-top:var(--ant-margin-sm);opacity:.72}.topbar-workzone{display:flex;flex-wrap:wrap;gap:var(--ant-padding-xs);align-items:flex-end;padding:var(--ant-padding-xs);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-container)}.topbar-workzone-field{display:grid;gap:var(--ant-margin-xs);flex:1 1 340px;min-width:280px}.topbar-workzone-actions{justify-content:flex-end}.topbar-workzone-label{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.justify-end{justify-content:flex-end}.view-stack,.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ant-padding)}.overview-grid,.quote-grid,.feature-grid,.detail-grid,.stats-grid,.form-grid{display:grid;gap:var(--ant-padding)}.overview-grid{grid-template-columns:.85fr 1.15fr}.overview-workspace{gap:var(--ant-margin)}.overview-panel-header{align-items:center;gap:var(--ant-padding-sm)}.overview-panel-headline{display:grid;gap:var(--ant-padding-xxs);min-width:0}.overview-panel-headline p{margin:0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:1.4}.overview-files-panel,.overview-products-panel{padding:var(--ant-padding)}.overview-imports-table{margin-top:var(--ant-margin-sm)}.overview-toolbar-actions{gap:var(--ant-padding-xs)}.overview-summary-inline{display:flex;gap:var(--ant-padding-xs);flex-wrap:wrap;align-items:center}.compact-stat{display:grid;gap:var(--ant-padding-xxs);min-height:72px;padding:var(--ant-padding-sm) var(--ant-padding-sm);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-fill-tertiary)}.compact-stat span{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.compact-stat strong{font-size:var(--ant-font-size-lg);line-height:1.2}.compact-stat-inline{min-height:0;padding:var(--ant-padding-xs) var(--ant-padding-sm)}.compact-stat-inline span{margin:0;font-size:var(--ant-font-size-sm)}.compact-stat-inline strong{font-size:var(--ant-font-size)}.overview-summary-meta{display:grid;gap:var(--ant-padding-xs);align-content:start}.compact-action-btn{min-height:32px;padding:var(--ant-padding-xxs) var(--ant-padding-sm);font-size:var(--ant-font-size-sm);line-height:1.2;border-radius:var(--ant-border-radius);font-weight:500}.overview-table-wrap{margin-top:var(--ant-padding-sm)}.table-wrap:has(.column-menu){padding-bottom:260px}.overview-table-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:var(--ant-padding-xs);justify-content:space-between;padding:var(--ant-padding-xs) 0;background:var(--ant-color-bg-container)}.overview-table-actions{display:flex;align-items:center;gap:var(--ant-padding-xxs);flex-wrap:wrap}.overview-selection-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--ant-padding-xs);color:var(--ant-color-text-secondary);font-size:var(--ant-font-size);font-weight:500;white-space:nowrap}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ant-margin-xs);height:32px;min-width:32px;padding:0 var(--ant-padding-sm);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius);background:transparent;color:var(--ant-color-text);cursor:pointer;font-size:var(--ant-font-size);font-weight:500;transition:background var(--ant-motion-fast) ease,color var(--ant-motion-fast) ease,border-color var(--ant-motion-fast) ease}.toolbar-btn:hover{background:var(--ant-color-fill-tertiary)}.toolbar-btn:active{background:var(--ant-color-fill-secondary)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.toolbar-btn svg{flex-shrink:0}.toolbar-btn span{white-space:nowrap}.toolbar-btn-danger{color:var(--ant-color-error-text);border-color:var(--ant-color-border)}.toolbar-btn-danger:hover{background:var(--ant-color-error-bg);color:var(--ant-color-error-text);border-color:var(--ant-color-error-base)}.toolbar-btn-primary{background:var(--ant-color-primary-base);color:var(--ant-color-text-on-primary);border-color:var(--ant-color-primary-base);font-weight:600}.toolbar-btn-primary:hover{background:var(--ant-color-primary-hover);border-color:var(--ant-color-primary-hover)}.toolbar-btn-primary:active{background:var(--ant-color-primary-active);border-color:var(--ant-color-primary-active)}.toolbar-btn-accent{color:var(--ant-color-text);border-color:var(--ant-color-primary-border)}.toolbar-btn-accent:hover{background:var(--ant-color-fill-tertiary)}.toolbar-divider{width:1px;height:20px;background:var(--ant-color-border-secondary);margin:0 var(--ant-padding-xxs);flex-shrink:0}.toolbar-search{display:flex;align-items:center;gap:var(--ant-padding-xs);background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius);padding:0 var(--ant-padding-sm);min-width:240px;max-width:340px;transition:border-color .2s}.toolbar-search:focus-within{border-color:var(--ant-color-primary-base);background:var(--ant-color-bg-container)}.toolbar-search-icon{color:var(--ant-color-text-secondary);flex-shrink:0}.toolbar-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--ant-color-text);font-size:var(--ant-font-size);font-family:inherit;padding:var(--ant-padding-xs) 0;min-width:0}.toolbar-search-input::placeholder{color:var(--ant-color-text-secondary)}.icon-action-btn{min-width:34px;padding-inline:0;justify-content:center;font-size:var(--ant-font-size)}.table-icon-btn{width:34px;min-width:34px;height:34px;border-radius:12px;background:var(--ant-color-fill-quaternary)}.table-add-btn{font-size:var(--ant-font-size-lg);font-weight:500}.table-action-btn{min-height:34px;padding-inline:12px}.table-row-btn{min-height:36px;padding:var(--ant-padding-xs) var(--ant-padding);border-radius:14px;font-size:var(--ant-font-size-sm);font-weight:650}.table-row-btn-danger{color:var(--ant-color-error-text)}.btn-with-icon{display:inline-flex;align-items:center;gap:var(--ant-padding-xs)}.btn-icon-glyph{display:inline-grid;place-items:center;width:16px;min-width:16px;font-size:var(--ant-font-size);line-height:1;font-weight:700}.icon-action-good{color:var(--ant-color-success-text)}.icon-action-bad{color:var(--ant-color-error-text)}.column-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ant-margin-xs)}.filterable-th{position:sticky;z-index:6;overflow:visible}.column-filter-btn{display:inline-grid;place-items:center;width:20px;min-width:20px;height:20px;padding:0;border:none;border-radius:var(--ant-border-radius-sm);background:transparent;color:var(--ant-color-text-quaternary);cursor:pointer}.column-filter-btn:hover{color:var(--ant-color-text);background:var(--ant-color-fill-tertiary)}.column-filter-btn.is-active{color:var(--ant-color-primary-text);background:var(--ant-color-primary-bg)}.column-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:280px;padding:var(--ant-padding-sm);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-elevated);box-shadow:var(--ant-box-shadow);font-family:var(--ant-font-family);font-size:var(--ant-font-size);font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ant-color-text);white-space:normal}.column-menu-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ant-padding-sm);margin-bottom:var(--ant-padding-xs);padding-bottom:var(--ant-padding-xs);border-bottom:1px solid var(--ant-color-border-secondary)}.column-menu-header strong{font-size:var(--ant-font-size);font-weight:600}.column-menu-sort,.column-menu-search,.column-menu-list{display:grid;gap:var(--ant-padding-xs)}.column-menu-footer{display:flex;justify-content:flex-end;margin-top:var(--ant-margin-sm)}.column-menu-list{max-height:240px;overflow:auto}.column-menu-option{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:var(--ant-margin-sm);align-items:center;min-height:36px;padding:var(--ant-padding-xxs);border-bottom:1px solid var(--ant-color-border-secondary);border-radius:0;background:transparent}.column-menu-option input{margin:0}.column-menu-option span{color:var(--ant-color-text);font-weight:400}.column-menu-option .ghost-btn{min-height:28px;padding:0 var(--ant-padding-xs);font-size:var(--ant-font-size-sm)}.jobs-panel{padding:var(--ant-padding) var(--ant-padding-md)}.jobs-panel .panel-header h2{font-size:var(--ant-font-size-lg)}.jobs-actions .ghost-btn{min-height:34px;padding:var(--ant-padding-xs) var(--ant-padding-sm);font-size:var(--ant-font-size-sm)}.jobs-table-wrap{margin-top:var(--ant-margin-sm)}.jobs-table-wrap thead th,.jobs-table-wrap tbody td{font-size:var(--ant-font-size-sm)}.jobs-table-wrap .table-title{margin-bottom:0}.column-menu .compact-action-btn.is-active{border-color:var(--ant-color-primary-base);background:var(--ant-color-primary-base);color:var(--ant-color-text-on-primary)}.quote-workspace{min-height:0;display:grid;gap:var(--ant-margin-md)}.quote-list-panel{display:grid;gap:var(--ant-margin)}.quote-list-wrap{position:relative;max-height:320px;overflow:auto}.quote-items-panel{padding:var(--ant-padding);gap:var(--ant-margin)}.quote-panel-header{align-items:flex-start;gap:var(--ant-margin);margin-bottom:0}.quote-panel-headline{display:grid;gap:var(--ant-padding-xxs);min-width:0}.quote-panel-header p{font-size:var(--ant-font-size-sm);line-height:1.45;margin:0}.quote-actions,.quote-chip-actions,.quote-mode-switch{display:flex;gap:var(--ant-padding-xs);flex-wrap:wrap;align-items:center}.quote-actions{justify-content:flex-end;min-width:260px}.quote-items-hint{margin-top:-4px}.action-group{display:inline-flex;align-items:center;gap:var(--ant-padding-xs);flex-wrap:wrap;padding:var(--ant-padding-xxs);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-container)}.action-divider{width:1px;height:24px;background:var(--ant-color-border)}.soft-danger-btn{border-color:var(--ant-color-error-bg);color:var(--ant-color-error-text);background:var(--ant-color-error-bg)}.soft-danger-btn:hover{border-color:var(--ant-color-error-text);background:var(--ant-color-error-bg)}.quote-chip-actions{justify-content:flex-end}.quote-mode-switch{margin-top:var(--ant-margin-xxs)}.client-picker{position:relative;min-width:0}.client-picker-trigger{width:100%;min-height:88px;padding:var(--ant-padding-sm) var(--ant-padding);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-fill-quaternary);color:var(--ant-color-text);text-align:left;display:grid;gap:var(--ant-padding-xxs);cursor:pointer}.client-picker-trigger:hover{border-color:var(--ant-color-border);background:var(--ant-color-fill-tertiary)}.client-picker-label,.client-picker-hint{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.client-picker-value{display:-webkit-box;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.client-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:8;display:grid;gap:var(--ant-padding-xs);padding:var(--ant-padding-sm);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-layout);box-shadow:var(--ant-box-shadow)}.client-picker-input{min-height:40px}.client-picker-options{display:grid;gap:var(--ant-margin-xs);max-height:240px;overflow:auto}.client-option{width:100%;padding:var(--ant-padding-sm) var(--ant-padding-sm);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-fill-tertiary);color:var(--ant-color-text);text-align:left;display:grid;gap:var(--ant-padding-xxs);cursor:pointer}.client-option:hover,.client-option.is-active{border-color:var(--ant-color-primary-border);background:var(--ant-color-fill-tertiary)}.client-option-name{font-weight:700;line-height:1.35}.client-option-meta{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.compact-empty{padding:var(--ant-padding-sm) var(--ant-padding)}.segmented-control{display:inline-grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:fit-content;gap:2px;padding:2px;border-radius:var(--ant-border-radius);background:var(--ant-color-fill-secondary)}.segmented-option{min-height:28px;padding:0 var(--ant-padding-sm);border:none;border-radius:var(--ant-border-radius-sm);background:transparent;color:var(--ant-color-text-secondary);font-weight:500;cursor:pointer;transition:background var(--ant-motion-fast) ease,color var(--ant-motion-fast) ease}.segmented-option:hover{color:var(--ant-color-text)}.segmented-option.is-active{color:var(--ant-color-text);background:var(--ant-segmented-item-selected-bg);box-shadow:var(--ant-segmented-item-selected-shadow)}.settings-theme-block{display:grid;gap:var(--ant-padding-sm)}.settings-theme-option:hover{color:var(--ant-color-text);background:var(--ant-color-primary-bg)}.quote-items-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.quote-items-panel .table-wrap{margin-top:0;min-height:0;max-height:calc(100vh - 430px)}.quote-alternatives-card{padding:var(--ant-padding) var(--ant-padding);background:var(--ant-color-fill-quaternary)}.quote-alternatives-header{align-items:center}.quote-alternatives-headline{display:grid;gap:var(--ant-padding-xxs)}.quote-alternatives-headline strong{font-size:var(--ant-font-size)}.quote-alternatives-empty{margin:0}.quote-alternatives-table{margin-top:var(--ant-margin-sm)}.quote-alternatives-table thead th{padding:var(--ant-padding-sm) var(--ant-padding-sm);font-size:var(--ant-font-size-sm)}.quote-alternatives-table tbody td{padding:var(--ant-padding-sm);vertical-align:middle}.quote-alternatives-table tr.is-best-alternative{background:var(--ant-color-primary-bg)}.quote-alternatives-table .table-title{margin-bottom:var(--ant-margin-xxs)}.quote-alternative-match{display:grid;gap:var(--ant-padding-xxs);justify-items:start}.quote-workspace .ghost-btn,.quote-workspace .primary-btn{min-height:36px;padding:var(--ant-padding-xs) var(--ant-padding-sm);line-height:1.2}.quote-workspace thead th{vertical-align:middle}.table-head-cell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--ant-margin-xs);min-height:18px}.table-head-cell.is-blank{justify-content:flex-end}.column-resize-handle{width:10px;min-width:10px;align-self:stretch;margin-right:-6px;border:none;border-radius:999px;background:transparent;cursor:col-resize;position:relative}.column-resize-handle:before{content:"";position:absolute;top:2px;bottom:2px;left:4px;width:2px;border-radius:999px;background:var(--ant-color-border);opacity:0;transition:opacity .15s}thead:hover .column-resize-handle:before{opacity:1}.column-resize-handle:hover:before{background:var(--ant-color-primary-base)}.quote-workspace tbody td{padding:var(--ant-padding-xxs) var(--ant-padding-sm);font-size:var(--ant-font-size-sm);vertical-align:middle}.quote-workspace .pill,.quote-workspace .status-pill{font-size:var(--ant-font-size-sm)}.quote-workspace .table-title{margin-bottom:var(--ant-margin-xxs)}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-theme-switch{margin-top:var(--ant-padding-sm)}.settings-view .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.settings-theme-panel{max-width:760px}.settings-code{display:inline-block;max-width:100%;overflow-wrap:anywhere}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid.two-columns,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.feature-card,.detail-card,.inline-card,.note-card,.workflow-banner{min-width:0;border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-container)}.panel,.detail-card,.feature-card,.inline-card,.note-card,.workflow-banner{padding:var(--ant-padding-md)}.workflow-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ant-padding-sm);margin-top:var(--ant-margin);padding:var(--ant-padding);border-radius:var(--ant-border-radius-lg)}.workflow-stat,.note-card{display:grid;gap:var(--ant-margin-xs);padding:var(--ant-padding-sm) var(--ant-padding);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-fill-tertiary)}.workflow-stat span,.note-card span{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}.workflow-stat strong,.note-card strong{font-size:var(--ant-font-size)}.workflow-hint{display:flex;align-items:center;padding:0 var(--ant-padding-xs);color:var(--ant-color-text-secondary);font-size:var(--ant-font-size)}.resource-banner{display:flex;gap:var(--ant-margin-sm);flex-wrap:wrap;align-items:center;margin-top:var(--ant-padding-sm)}.form-stack{display:grid;gap:var(--ant-padding-xs)}.field-label{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}.compact-textarea{min-height:72px;margin-top:0}.match-card{display:grid;gap:var(--ant-padding-sm);padding:var(--ant-padding);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-fill-tertiary)}.match-card-header{display:flex;justify-content:space-between;gap:var(--ant-padding-sm);align-items:center}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ant-margin-sm)}.match-grid span{display:block;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);margin-bottom:var(--ant-padding-xxs)}.panel-header,.inline-card-header{display:flex;justify-content:space-between;gap:var(--ant-padding);align-items:flex-start;flex-wrap:wrap}.panel-header h2,.detail-card h3,.feature-card h3,.preview-sheet h3{margin:0 0 var(--ant-margin-xxs);font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-lg);line-height:1.3;font-weight:600;letter-spacing:-.01em}.settings-view .feature-card{min-height:176px}.settings-user-chip{min-height:32px;padding:var(--ant-padding-xs) var(--ant-padding-sm);font-size:var(--ant-font-size-sm);border-radius:999px}.settings-user-chip.is-good{color:var(--ant-color-success-text)}.settings-user-chip.is-warn{color:var(--ant-color-warning-text)}.settings-user-actions{display:flex;justify-content:flex-end}.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ant-margin-sm)}.meta-row,.stat-box,.pill,.status-pill{border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-sm);background:transparent}.meta-row,.stat-box{padding:var(--ant-padding-sm) var(--ant-padding)}.meta-row{display:flex;justify-content:space-between;gap:var(--ant-padding-sm)}.stat-box span{display:block;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);margin-bottom:var(--ant-padding-xs)}.stat-box strong{font-size:var(--ant-font-size-lg)}.pill,.status-pill{display:inline-flex;align-items:center;gap:var(--ant-margin-xs);min-height:24px;padding:0 var(--ant-padding-xs);color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:1.2;white-space:nowrap}.pill-good,.pill-success,.pill-warn,.pill-bad,.pill-danger,.status-good,.status-warn,.status-bad{color:var(--ant-color-text)}.pill-good:before,.pill-success:before,.pill-warn:before,.pill-bad:before,.pill-danger:before,.status-good:before,.status-warn:before,.status-bad:before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%}.pill-good:before,.pill-success:before,.status-good:before{background:var(--ant-color-success-base)}.pill-warn:before,.status-warn:before{background:var(--ant-color-warning-base)}.pill-bad:before,.pill-danger:before,.status-bad:before{background:var(--ant-color-error-base)}.status-pill-processing:before{display:none}.pill-accent{color:var(--ant-color-text);border-color:var(--ant-color-primary-border)}td .pill,td .status-pill{min-height:0;padding:0;border:none}.filters-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ant-padding-sm)}.input{width:100%;min-height:var(--ant-control-height);padding:var(--ant-padding-xxs) var(--ant-padding-sm);outline:none}.input::placeholder{color:var(--ant-color-text-quaternary)}.input:focus{border-color:var(--ant-color-primary-base)}.textarea{min-height:98px;resize:vertical;margin-top:var(--ant-padding-sm)}.input-compact{min-width:92px;min-height:28px;padding:0 var(--ant-padding-xs)}.quote-alert-strip{margin-top:0;gap:var(--ant-padding-xs)}.table-wrap{position:relative;z-index:1;overflow-x:auto;overflow-y:visible;margin-top:var(--ant-margin-sm)}.overview-products-panel,.overview-files-panel,.quote-list-panel,.quote-items-panel{position:relative;z-index:2}.compact-table{max-height:320px}thead th{position:sticky;top:0;z-index:2;height:var(--ant-control-height);padding:0 var(--ant-padding-sm);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-label);font-weight:500;letter-spacing:var(--ant-letter-spacing-label);text-transform:uppercase;color:var(--ant-color-text-tertiary);text-align:left;white-space:nowrap;background:var(--ant-color-bg-container);border-bottom:1px solid var(--ant-color-border)}thead th.is-num{text-align:right}thead th.is-num .column-header{justify-content:flex-end}table{font-variant-numeric:tabular-nums}.cell-code{font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}tbody td{height:40px;padding:0 var(--ant-padding-sm);font-size:var(--ant-font-size);vertical-align:middle;white-space:nowrap;border-bottom:1px solid var(--ant-color-border-secondary)}tbody tr:hover{background:var(--ant-color-fill-quaternary)}tbody tr.is-active{background:var(--ant-color-fill-tertiary);box-shadow:inset 2px 0 0 var(--ant-color-primary-base)}tbody tr.is-selected{background:var(--ant-color-fill-tertiary)}.subtable-row td{background:var(--ant-color-fill-quaternary)}.cell-num{text-align:right}.cell-strong{font-weight:500}.cell-secondary{color:var(--ant-color-text-secondary)}.cell-muted{color:var(--ant-color-text-tertiary)}.cell-count{font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-sm)}.cell-inline{display:flex;align-items:baseline;gap:var(--ant-margin-xs);min-width:0;max-width:320px}.cell-inline-wide{max-width:560px}.cell-fill{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-tail{flex-shrink:0;color:var(--ant-color-text-tertiary)}.cell-name{font-weight:500}.cell-name-sub{flex-shrink:100;color:var(--ant-color-text-tertiary)}.table-title{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.detail-list,.future-stack,.preview-company,.preview-meta{display:grid;gap:var(--ant-margin-sm)}.issue-row{display:flex;gap:var(--ant-padding-sm);align-items:flex-start;padding:var(--ant-padding-sm) 0;border-top:1px solid var(--ant-color-border-secondary)}.empty-block{display:grid;justify-items:center;gap:var(--ant-margin-xxs);padding:var(--ant-padding-xl) var(--ant-padding-md);text-align:center;color:var(--ant-color-text-secondary);border:1px dashed var(--ant-color-border);border-radius:var(--ant-border-radius-lg);background:transparent}.empty-block:before{content:"";width:40px;height:40px;margin-bottom:var(--ant-margin-xs);border-radius:50%;background:var(--ant-color-fill-secondary);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center / 22px no-repeat,linear-gradient(#000,#000);-webkit-mask-composite:xor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E") center / 22px no-repeat,linear-gradient(#000,#000);mask-composite:exclude}.row-detail-dialog{width:min(940px,94vw);max-height:88vh;margin:auto;border-radius:var(--ant-border-radius-lg);overflow:hidden;display:flex;flex-direction:column}.row-detail-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ant-padding);padding:var(--ant-padding-md) var(--ant-padding-lg) var(--ant-padding);background:var(--ant-color-bg-elevated);border-bottom:1px solid var(--ant-color-border-secondary);flex-shrink:0}.row-detail-header-actions{align-items:center}.row-detail-summary-wrap{margin-top:var(--ant-margin-md)}.row-detail-heading{display:grid;gap:var(--ant-padding-xxs)}.row-detail-heading h3{margin:0;font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-h2);line-height:1.2;letter-spacing:-.02em}.row-detail-heading p{margin:0;color:var(--ant-color-text-secondary)}.row-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ant-padding-sm)}.row-detail-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:var(--ant-padding);padding:var(--ant-padding-md) var(--ant-padding-lg) var(--ant-padding-lg);overflow-y:auto;flex:1;min-height:0}.row-detail-main,.row-detail-side{min-height:0}.detail-properties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ant-padding-sm)}.detail-property-card{display:grid;gap:var(--ant-margin-xs);padding:var(--ant-padding) var(--ant-padding);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-bg-container)}.detail-property-card.is-editable{border-color:var(--ant-color-primary-bg);background:var(--ant-color-bg-container)}.detail-property-card span,.detail-photo-copy span{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm)}.detail-property-card strong,.detail-photo-copy strong,.detail-photo-placeholder strong{font-size:var(--ant-font-size)}.detail-property-card p{margin:0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:1.45}.detail-property-input{min-height:42px;padding:var(--ant-padding-xs) var(--ant-padding-sm);font-size:var(--ant-font-size);font-weight:650}.detail-photo-grid{display:grid;gap:var(--ant-margin-sm)}.detail-photo-card{display:grid;gap:var(--ant-margin-sm);padding:var(--ant-padding-sm);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius);background:var(--ant-color-bg-container)}.detail-photo-image,.detail-photo-placeholder{width:100%;min-height:180px;border-radius:14px}.detail-photo-image{display:block;object-fit:cover;background:var(--ant-color-bg-container)}.detail-photo-placeholder{display:grid;align-content:end;gap:var(--ant-margin-xs);padding:var(--ant-padding);background:var(--ant-color-fill-quaternary)}.detail-photo-copy{display:grid;gap:var(--ant-padding-xxs)}.row-detail-card-header{display:grid;gap:var(--ant-padding-xxs);margin-bottom:var(--ant-margin)}.row-detail-card-header h3{margin:0}.detail-card.is-collapsed{display:none}.row-detail-empty{min-height:96px;display:grid;align-items:center}.clean-dialog{max-width:900px!important;padding:var(--ant-padding-xl) 40px!important}.clean-dialog .row-detail-dialog-header{margin:0 var(--ant-padding-lg);padding-left:0;padding-right:0}.clean-shell{display:flex!important;flex-direction:column;gap:var(--ant-padding-xl);margin-top:var(--ant-padding-lg)}@media(min-width:800px){.clean-shell{flex-direction:row;align-items:flex-start}}.clean-card{flex:1;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.side-card{flex:0 0 320px}.clean-card-header{margin-bottom:var(--ant-padding-lg);border-bottom:1px solid var(--ant-color-text-tertiary);padding-bottom:var(--ant-padding-sm)}.clean-card-header h3{font-size:var(--ant-font-size-lg);font-weight:650;color:var(--ant-color-text)}.clean-property-list{display:flex;flex-direction:column}.clean-property-row{display:flex;align-items:center;justify-content:space-between;padding:var(--ant-padding) 0;border-bottom:1px solid var(--ant-color-text-tertiary);transition:background-color .15s ease}.clean-property-row:last-child{border-bottom:none}.clean-property-row:hover{background-color:var(--ant-color-text-tertiary)}.clean-property-row.is-editable{background-color:var(--ant-color-primary-bg);padding:var(--ant-padding-xs) var(--ant-padding-sm);border-radius:8px;border:1px dashed var(--ant-color-primary-bg);margin-bottom:var(--ant-padding-xxs)}.property-label{font-size:var(--ant-font-size);color:var(--ant-color-text-secondary);flex:0 0 40%}.property-value{font-size:var(--ant-font-size);font-weight:600;text-align:right;flex:1;color:var(--ant-color-text)}.minimal-input{width:100%;text-align:right;padding:var(--ant-padding-xs) var(--ant-padding-sm);font-size:var(--ant-font-size);background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border)}.minimal-match{margin-top:var(--ant-padding);box-shadow:none!important;background:var(--ant-color-fill-quaternary)!important}.preview-sheet{--paper: #ffffff;--paper-ink: #0a0a0b;--paper-rule: #e4e4e7;--paper-head: #f4f4f5;padding:var(--ant-padding-md);border-radius:var(--ant-border-radius-lg);background:var(--paper);color:var(--paper-ink)}.preview-header{display:flex;justify-content:space-between;gap:var(--ant-padding);margin-bottom:var(--ant-margin);align-items:flex-start;flex-wrap:wrap}.preview-table{margin-top:var(--ant-margin);border-collapse:collapse;width:100%}.preview-table th,.preview-table td{padding:var(--ant-padding-sm) var(--ant-padding-xs);border:1px solid var(--paper-rule);text-align:left}.preview-table th{position:static;background:var(--paper-head);color:var(--paper-ink)}.preview-total{margin-top:var(--ant-padding);font-weight:800;font-size:var(--ant-font-size-lg)}.quote-workspace .panel-header h2{margin-bottom:0;font-size:var(--ant-font-size-lg);font-weight:700}.quote-workspace .toolbar-actions .ghost-btn,.quote-workspace .toolbar-actions .primary-btn,.quote-workspace .mode-switch .ghost-btn,.quote-workspace .mode-switch .primary-btn{flex:0 0 auto}.quote-workspace .resource-banner{margin-top:0;gap:var(--ant-padding-xs)}.quote-workspace .table-subtitle{line-height:1.4}.quote-workspace .input-compact{min-width:90px;min-height:36px;padding:var(--ant-padding-xs) var(--ant-padding-sm)}.quote-workspace .empty-block{padding:var(--ant-padding-md)}.quote-items-panel .toolbar-actions{align-self:start}.users-table tbody td{vertical-align:middle}@media(max-width:1320px){.settings-view .settings-grid{grid-template-columns:1fr}}@media(max-width:1320px){.overview-grid,.detail-grid,.feature-grid,.filters-grid,.stats-grid,.workflow-banner{grid-template-columns:1fr}.quote-items-panel .table-wrap{max-height:none}.quote-actions{min-width:0;justify-content:flex-start}.quote-chip-actions{justify-content:flex-start}.client-picker-dropdown{position:static}.topbar-workzone{grid-template-columns:1fr}.overview-filters-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-request-banner{align-items:flex-start;flex-direction:column}}@media(max-width:960px){.shell,.shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;padding-bottom:var(--ant-padding-lg)}.shell.sidebar-collapsed .sidebar{padding-inline:20px}.shell.sidebar-collapsed .brand-copy,.shell.sidebar-collapsed .nav-btn-label{display:initial}.shell.sidebar-collapsed .brand-block,.shell.sidebar-collapsed .brand-identity,.shell.sidebar-collapsed .nav-btn{justify-content:initial;flex-direction:row}.main{padding:var(--ant-padding-md) var(--ant-padding) 96px}.topbar{flex-direction:column}.topbar-workzone{width:100%;align-items:stretch}.form-grid,.meta-grid{grid-template-columns:1fr}.quote-panel-header{flex-direction:column;align-items:stretch}.quote-actions,.quote-chip-actions,.quote-mode-switch{justify-content:flex-start}.row-detail-summary,.row-detail-shell,.detail-properties-grid{grid-template-columns:1fr}.overview-table-actions{justify-content:flex-start}}.boot-screen{min-height:100vh;display:grid;place-items:center;padding:var(--ant-padding-lg);background:var(--ant-color-bg-layout)}.boot-card{display:grid;justify-items:center;gap:var(--ant-margin);width:min(360px,100%);padding:var(--ant-padding-xl) var(--ant-padding-lg);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-container);box-shadow:var(--ant-box-shadow);animation:boot-fade-in .4s ease both}.boot-mark{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--ant-color-border-secondary)}.boot-brand{font-size:var(--ant-font-size-h4);font-weight:600}.boot-status{display:grid;gap:var(--ant-margin-xxs);text-align:center}.boot-status strong{font-weight:500}.boot-status span{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height)}.boot-status.is-error strong{color:var(--ant-color-error-text)}.boot-progress{width:100%;height:3px;overflow:hidden;border-radius:999px;background:var(--ant-color-fill-secondary)}.boot-progress-fill{width:40%;height:100%;border-radius:999px;background:var(--ant-color-primary-base);animation:boot-progress-slide 1.4s ease-in-out infinite}@keyframes boot-progress-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@keyframes boot-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes boot-spin{to{transform:rotate(360deg)}}.boot-loader{width:20px;height:20px;border:3px solid var(--ant-color-border);border-top-color:var(--ant-color-primary-base);border-radius:50%;animation:boot-spin .8s linear infinite}.status-pill-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:boot-spin .75s linear infinite;opacity:.7;flex-shrink:0}.status-pill-processing{animation:processing-pulse 2s ease-in-out infinite}@keyframes processing-pulse{0%,to{opacity:1}50%{opacity:.65}}.import-confirm-progress{display:flex;align-items:center;gap:var(--ant-margin-xs);min-width:80px}.import-confirm-bar{flex:1;height:5px;border-radius:3px;background:var(--line, var(--ant-color-border-secondary));overflow:hidden}.import-confirm-fill{height:100%;border-radius:3px;background:var(--ant-color-primary-base);transition:width .3s ease}.import-confirm-fill-done{background:var(--ant-color-success-base)}.import-confirm-label{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ant-color-text-tertiary);white-space:nowrap;flex-shrink:0}.import-processing-banner{display:flex;align-items:center;gap:var(--ant-padding-sm);padding:var(--ant-padding-sm) var(--ant-padding-md);border-bottom:1px solid var(--ant-color-border-secondary);background:var(--ant-color-primary-bg)}.import-processing-banner-copy{display:flex;flex-direction:column;gap:var(--ant-margin-xxs)}.import-processing-banner-copy strong{font-size:var(--ant-font-size);color:var(--ant-color-primary-base);font-weight:600}.import-processing-banner-copy span{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}.import-error-banner{display:flex;align-items:flex-start;gap:var(--ant-padding-sm);padding:var(--ant-padding) var(--ant-padding-md);border-bottom:1px solid var(--ant-color-error-base);background:var(--ant-color-error-bg)}.import-error-banner-icon{font-size:18px;line-height:1;flex-shrink:0;margin-top:var(--ant-margin-xxs);color:var(--ant-color-error-text)}.import-error-banner-copy{display:flex;flex-direction:column;gap:var(--ant-padding-xxs);flex:1;min-width:0}.import-error-banner-copy strong{font-size:var(--ant-font-size);color:var(--ant-color-error-text);font-weight:600}.import-error-banner-copy span{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary);line-height:1.5;word-break:break-word}.import-confirmed-banner{display:flex;align-items:center;gap:var(--ant-padding-sm);padding:var(--ant-padding-sm) var(--ant-padding-md);border-bottom:1px solid var(--ant-color-success-base);background:var(--ant-color-success-bg);color:var(--ant-color-success-text)}.import-confirmed-banner svg{flex-shrink:0;color:var(--ant-color-success-text)}.import-confirmed-banner-copy{display:flex;flex-direction:column;gap:var(--ant-margin-xxs)}.import-confirmed-banner-copy strong{font-size:var(--ant-font-size);color:var(--ant-color-success-text);font-weight:600}.import-confirmed-banner-copy span{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary)}.import-not-ready-empty{display:flex;align-items:center;justify-content:center;gap:var(--ant-padding-md);padding:60px var(--ant-padding-lg);color:var(--ant-color-text-secondary);text-align:center}.import-not-ready-empty div{display:flex;flex-direction:column;gap:var(--ant-margin-xs);max-width:360px}.import-not-ready-empty strong{font-size:var(--ant-font-size);color:var(--ant-color-text);font-weight:600}.import-not-ready-empty p{font-size:var(--ant-font-size);color:var(--ant-color-text-secondary);margin:0;line-height:var(--ant-line-height)}@keyframes progress-shimmer{0%{filter:brightness(1)}50%{filter:brightness(1.3)}to{filter:brightness(1)}}.upload-import-ref-row{margin-top:var(--ant-padding-xs)}.upload-success-banner{display:flex;align-items:flex-start;gap:var(--ant-padding);padding:var(--ant-padding-md);border-radius:var(--ant-border-radius);border:1px solid var(--ant-color-success-base);background:color-mix(in srgb,var(--ant-color-success-base) 8%,transparent);margin:var(--ant-padding-xs) 0}.upload-success-copy{display:flex;flex-direction:column;gap:var(--ant-padding-xxs)}.upload-success-copy strong{font-size:var(--ant-font-size);color:var(--ant-color-success-text);font-weight:600}.upload-import-ref{font-size:var(--ant-font-size);color:var(--ant-color-text)}.upload-success-copy span:last-child{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary);margin-top:var(--ant-margin-xxs);line-height:var(--ant-line-height)}.quote-files-panel{display:flex;flex-direction:column;min-height:0}.quote-files-table-wrap{overflow-y:auto}.quote-files-empty{padding:var(--ant-padding-lg) var(--ant-padding-md);text-align:center;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size)}.table-subtitle{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ant-font-size-sm);color:var(--ant-color-text-tertiary);margin-top:0}.quote-markup-toolbar{display:flex;align-items:center;gap:var(--ant-padding-xxs)}.markup-btn{display:inline-flex;align-items:center;padding:var(--ant-padding-xxs) var(--ant-padding-sm);border-radius:6px;border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-bg-elevated);color:var(--ant-color-text);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.markup-btn:hover{background:var(--ant-color-fill-secondary);border-color:var(--ant-color-border)}.markup-btn-custom{border-style:dashed;color:var(--ant-color-text-secondary)}.markup-btn-custom:hover{background:var(--surface-3, var(--ant-color-bg-elevated));color:var(--ant-color-text);border-color:var(--ant-color-border-secondary)}#bahus-auth-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center}.auth-gate__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ant-color-bg-layout);opacity:.96}.auth-gate__card{position:relative;display:flex;flex-direction:column;gap:var(--ant-margin-sm);width:min(380px,calc(100vw - 32px));padding:28px;background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border-secondary);border-radius:var(--ant-border-radius-lg);box-shadow:var(--ant-box-shadow)}.auth-gate__card h2{margin:0;font-size:var(--ant-font-size-lg);color:var(--ant-color-text)}.auth-gate__hint{margin:0 0 var(--ant-margin-xs);font-size:var(--ant-font-size);color:var(--ant-color-text-secondary);line-height:var(--ant-line-height)}.auth-gate__google{display:flex;flex-direction:column;gap:var(--ant-margin-sm)}.auth-gate__google[hidden]{display:none}.auth-gate__divider{display:flex;align-items:center;gap:var(--ant-margin-sm);font-size:var(--ant-font-size-sm);color:var(--ant-color-text-tertiary)}.auth-gate__divider:before,.auth-gate__divider:after{content:"";flex:1;height:1px;background:var(--ant-color-border-secondary)}.auth-gate__label{font-size:var(--ant-font-size-sm);color:var(--ant-color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.auth-gate__input{padding:var(--ant-padding-sm) var(--ant-padding-sm);font-size:var(--ant-font-size);font-family:var(--ant-font-family);color:var(--ant-color-text);background:var(--ant-color-bg-elevated);border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-sm)}.auth-gate__input:focus-visible{outline:2px solid var(--ant-color-primary-base);outline-offset:1px}.auth-gate__submit{margin-top:var(--ant-margin-xs);padding:var(--ant-padding-sm) var(--ant-padding);font-size:var(--ant-font-size);font-family:var(--ant-font-family);color:var(--ant-color-text-on-primary);background:var(--ant-color-primary-base);border:none;border-radius:var(--ant-border-radius-sm);cursor:pointer}.auth-gate__submit:hover{filter:brightness(1.08)}.auth-gate__submit:focus-visible{outline:2px solid var(--ant-color-text);outline-offset:2px}.action-error{display:flex;align-items:center;gap:var(--ant-padding-sm);margin:0 0 var(--ant-padding-sm);padding:var(--ant-padding-sm) var(--ant-padding);background:var(--ant-color-error-bg);box-shadow:inset 2px 0 0 var(--ant-color-error-base);color:var(--ant-color-text);border-radius:var(--ant-border-radius-sm);font-size:var(--ant-font-size);line-height:var(--ant-line-height)}.action-error-text{flex:1}.action-error-close{flex:none;color:inherit;border-color:var(--ant-color-border);padding:var(--ant-padding-xxs) var(--ant-padding-xs);line-height:1}.empty-block strong{display:block;color:var(--ant-color-text);font-size:var(--ant-font-size);font-weight:600;margin-bottom:var(--ant-padding-xxs)}.empty-block span{display:block;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size);line-height:var(--ant-line-height)}.quote-items-table{table-layout:fixed;min-width:100%}.quote-items-table th,.quote-items-table td{overflow:hidden;text-overflow:ellipsis}.quote-items-table td .table-title,.quote-items-table td .table-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-items-table th .table-head-cell{overflow:visible}.rows-sentinel-row td{text-align:center;padding:var(--ant-padding-sm) var(--ant-padding-xs)}.rows-sentinel-note{margin-left:var(--ant-margin-xs);color:var(--ant-color-text-tertiary);font-size:var(--ant-font-size-sm)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--ant-padding-xxs);border:1px solid var(--ant-color-border);border-bottom-width:2px;border-radius:var(--ant-border-radius-sm);background:var(--ant-color-bg-container);color:var(--ant-color-text-tertiary);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-label);font-weight:500;line-height:1}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;display:inline-block;flex-shrink:0;width:16px;height:16px;margin:0;vertical-align:middle;border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-sm);background:var(--ant-color-bg-container);cursor:pointer;transition:background var(--ant-motion-fast) ease,border-color var(--ant-motion-fast) ease}input[type=checkbox]:hover{border-color:var(--ant-color-text-tertiary)}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{border-color:var(--ant-color-primary-base);background:var(--ant-color-primary-base)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--ant-color-text-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:indeterminate:after{content:"";position:absolute;left:3px;top:6px;width:8px;height:2px;background:var(--ant-color-text-on-primary)}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}:where(button,a,summary,[tabindex],input[type=checkbox]):focus-visible{outline:2px solid var(--ant-color-primary-base);outline-offset:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:var(--ant-padding-lg) var(--ant-padding);background:var(--ant-color-bg-mask);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto}.app-dialog{display:flex;flex-direction:column;width:min(960px,94vw);max-height:calc(100vh - 48px);margin:auto;border:1px solid var(--ant-color-border);border-radius:var(--ant-border-radius-lg);background:var(--ant-color-bg-elevated);color:var(--ant-color-text);box-shadow:var(--ant-box-shadow);overflow:hidden;animation:dialog-in .14s var(--ant-motion-ease) both}.dialog-sm{width:min(440px,94vw)}.dialog-md{width:min(720px,94vw)}.dialog-lg{width:min(960px,94vw)}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px) scale(.995)}}@media(prefers-reduced-motion:reduce){.app-dialog{animation:none}}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ant-padding);padding:var(--ant-padding-md) var(--ant-padding-lg) var(--ant-padding);border-bottom:1px solid var(--ant-color-border-secondary)}.dialog-heading{min-width:0}.dialog-heading h3{margin:0;font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-lg);font-weight:600;line-height:1.3;letter-spacing:-.01em}.dialog-heading p{margin:var(--ant-margin-xxs) 0 0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.dialog-close,.dialog-icon-btn{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:var(--ant-border-radius-sm);background:transparent;color:var(--ant-color-text-tertiary);cursor:pointer;transition:background var(--ant-motion-fast) ease,color var(--ant-motion-fast) ease}.dialog-close:hover,.dialog-icon-btn:hover{background:var(--ant-color-fill-tertiary);color:var(--ant-color-text)}.dialog-icon-btn:disabled{opacity:.35;cursor:not-allowed;background:transparent}.dialog-header>.dialog-close{margin:-4px -8px 0 0}.dialog-body{flex:1;min-height:0;padding:var(--ant-padding-md) var(--ant-padding-lg);overflow-y:auto}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ant-margin-xs);padding:var(--ant-padding) var(--ant-padding-lg);border-top:1px solid var(--ant-color-border-secondary)}.dialog-section{display:grid;gap:var(--ant-padding-sm)}.dialog-section+.dialog-section{margin-top:var(--ant-margin-md);padding-top:var(--ant-padding-md);border-top:1px solid var(--ant-color-border-secondary)}.dialog-section-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ant-margin-xs);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-label);font-weight:500;letter-spacing:var(--ant-letter-spacing-label);text-transform:uppercase;color:var(--ant-color-text-tertiary)}.dialog-section-meta{letter-spacing:normal;text-transform:none;font-size:var(--ant-font-size-sm)}.dialog-section .textarea{margin-top:0}.dialog-text{margin:0;line-height:var(--ant-line-height)}.dialog-note{margin:0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.dialog-text+.dialog-note,.dialog-note+.column-settings-list{margin-top:var(--ant-margin-sm)}.dialog-file{padding:0 var(--ant-padding-xxs);border-radius:var(--ant-border-radius-sm);background:var(--ant-color-fill-tertiary);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-sm);overflow-wrap:anywhere}.dialog-alert{display:flex;align-items:flex-start;gap:var(--ant-margin-xs);padding:var(--ant-padding-xs) var(--ant-padding-sm);border-radius:var(--ant-border-radius-sm);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.dialog-alert svg{flex-shrink:0;margin-top:2px}.dialog-alert.is-error{background:var(--ant-color-error-bg);box-shadow:inset 2px 0 0 var(--ant-color-error-base)}.dialog-alert.is-error svg{color:var(--ant-color-error-text)}.dialog-alert.is-warning{background:var(--ant-color-warning-bg);box-shadow:inset 2px 0 0 var(--ant-color-warning-base)}.dialog-alert.is-warning svg{color:var(--ant-color-warning-text)}*+.dialog-alert{margin-top:var(--ant-margin-sm)}.dialog-table td.cell-wrap{padding-top:var(--ant-padding-xs);padding-bottom:var(--ant-padding-xs);white-space:normal;line-height:var(--ant-line-height-sm)}.danger-btn{min-height:var(--ant-control-height);padding:var(--ant-padding-xxs) var(--ant-padding-sm);border:1px solid var(--ant-color-error-solid);border-radius:var(--ant-border-radius);background:var(--ant-color-error-solid);color:var(--ant-color-text-on-error);font-weight:500;font-size:var(--ant-font-size);line-height:1.2;cursor:pointer;transition:background var(--ant-motion-fast) ease,border-color var(--ant-motion-fast) ease}.danger-btn:hover{border-color:var(--ant-color-error-solid-hover);background:var(--ant-color-error-solid-hover)}.danger-btn:disabled{opacity:.4;cursor:not-allowed}.dialog-status{position:relative;align-items:center;gap:var(--ant-margin-xs);padding:var(--ant-padding-xl) var(--ant-padding-lg) var(--ant-padding-lg);text-align:center}.dialog-status>.dialog-close{position:absolute;top:var(--ant-padding-sm);right:var(--ant-padding-sm)}.dialog-status h3{margin:0;font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-lg);font-weight:600;letter-spacing:-.01em}.dialog-status p{margin:0;color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.dialog-status-mark{display:grid;place-items:center;width:40px;height:40px;margin-bottom:var(--ant-margin-xs);border-radius:50%}.dialog-status-mark.is-success{background:var(--ant-color-success-bg);color:var(--ant-color-success-text)}.dialog-status-mark.is-error{background:var(--ant-color-error-bg);color:var(--ant-color-error-text)}.dialog-status-spinner,.upload-step-spinner{display:block;border:2px solid var(--ant-color-border);border-top-color:var(--ant-color-primary-base);border-radius:50%;animation:boot-spin .8s linear infinite}.dialog-status-spinner{width:28px;height:28px;margin-bottom:var(--ant-margin-sm)}.upload-step-spinner{width:12px;height:12px;border-width:1.5px}.dialog-status-actions{display:flex;justify-content:center;gap:var(--ant-margin-xs);margin-top:var(--ant-margin-sm)}.upload-dropzone{position:relative;display:grid;justify-items:center;gap:var(--ant-margin-xxs);padding:var(--ant-padding-lg) var(--ant-padding);border:1px dashed var(--ant-color-border);border-radius:var(--ant-border-radius-lg);text-align:center;cursor:pointer;transition:border-color var(--ant-motion-fast) ease,background var(--ant-motion-fast) ease}.upload-dropzone:hover{border-color:var(--ant-color-text-tertiary);background:var(--ant-color-fill-quaternary)}.upload-dropzone.is-dragover{border-style:solid;border-color:var(--ant-color-primary-base);background:var(--ant-color-fill-tertiary)}.upload-dropzone:focus-within{outline:2px solid var(--ant-color-primary-base);outline-offset:2px}.upload-dropzone strong{font-weight:500}.upload-dropzone>span:last-child{color:var(--ant-color-text-tertiary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.upload-dropzone-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:var(--ant-margin-xxs);border-radius:50%;background:var(--ant-color-fill-tertiary);color:var(--ant-color-text-secondary)}.upload-dropzone-disabled{opacity:.6;cursor:progress}.upload-dropzone-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-file-list{display:grid}.upload-file-row{display:flex;align-items:center;gap:var(--ant-margin-sm);min-height:44px;border-bottom:1px solid var(--ant-color-border-secondary)}.upload-file-row:last-child{border-bottom:none}.upload-file-icon{display:grid;color:var(--ant-color-text-tertiary)}.upload-file-info{display:grid;flex:1;min-width:0}.upload-file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.upload-file-info span{color:var(--ant-color-text-tertiary);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-sm)}.upload-progress-card{display:grid;gap:var(--ant-margin-xs)}.upload-progress-header{display:flex;justify-content:space-between;gap:var(--ant-margin-sm);font-size:var(--ant-font-size-sm)}.upload-progress-header strong{font-weight:500}.upload-progress-header span{color:var(--ant-color-text-secondary);font-family:var(--ant-font-family-code)}.upload-progress-bar{height:2px;overflow:hidden;border-radius:999px;background:var(--ant-color-fill-secondary)}.upload-progress-bar span{display:block;height:100%;background:var(--ant-color-primary-base);transition:width var(--ant-motion-mid) ease}.upload-log-list{display:grid;gap:var(--ant-margin-xxs)}.upload-log-entry{color:var(--ant-color-text-secondary);font-size:var(--ant-font-size-sm);line-height:var(--ant-line-height-sm)}.upload-log-entry-success{color:var(--ant-color-success-text)}.upload-log-entry-error{color:var(--ant-color-error-text)}.upload-steps,.upload-progress-list{display:grid;margin:0;padding:0;list-style:none}.upload-step{display:flex;align-items:center;gap:var(--ant-margin-sm);min-height:36px;color:var(--ant-color-text-secondary)}.upload-step.is-done,.upload-step.is-active{color:var(--ant-color-text)}.upload-step.is-error{color:var(--ant-color-error-text)}.upload-step-mark{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border:1px solid var(--ant-color-border);border-radius:50%;color:var(--ant-color-text-tertiary)}.is-done>.upload-step-mark{border-color:transparent;background:var(--ant-color-success-bg);color:var(--ant-color-success-text)}.is-error>.upload-step-mark{border-color:transparent;background:var(--ant-color-error-bg);color:var(--ant-color-error-text)}.is-active>.upload-step-mark{border-color:transparent}.upload-steps+.dialog-note,.upload-steps+.dialog-alert{margin-top:var(--ant-margin)}.upload-result{display:flex;align-items:baseline;gap:var(--ant-margin-sm);margin-top:var(--ant-margin);padding-top:var(--ant-padding);border-top:1px solid var(--ant-color-border-secondary)}.upload-result strong{font-family:var(--ant-font-family-display);font-size:var(--ant-font-size-h1);font-weight:600;line-height:1.1;letter-spacing:-.02em}.upload-result span{color:var(--ant-color-text-secondary)}.upload-progress-item{display:flex;align-items:flex-start;gap:var(--ant-margin-sm);padding:var(--ant-padding-sm) 0;border-bottom:1px solid var(--ant-color-border-secondary)}.upload-progress-item:first-child{padding-top:0}.upload-progress-item:last-child{border-bottom:none}.upload-progress-info{display:grid;flex:1;gap:var(--ant-margin-xs);min-width:0}.upload-progress-line{display:flex;align-items:baseline;gap:var(--ant-margin-xs)}.upload-progress-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.upload-progress-size,.upload-progress-state{flex-shrink:0;color:var(--ant-color-text-tertiary);font-family:var(--ant-font-family-code);font-size:var(--ant-font-size-sm)}.upload-progress-item.is-done .upload-progress-state{color:var(--ant-color-success-text)}.upload-progress-item.is-done .upload-progress-bar span{background:var(--ant-color-success-base)}.column-settings-list{display:grid;margin:0;padding:0;list-style:none}.column-setting-item{display:flex;align-items:center;justify-content:space-between;gap:var(--ant-margin-xs);min-height:40px;border-bottom:1px solid var(--ant-color-border-secondary)}.column-setting-item:last-child{border-bottom:none}.column-setting-label{display:flex;align-items:center;flex:1;gap:var(--ant-margin-sm);min-width:0;cursor:pointer;-webkit-user-select:none;user-select:none}.column-setting-actions{display:flex;gap:2px}.quote-client-meta{display:flex;flex-wrap:wrap;gap:var(--ant-margin-xs)}.quote-request-textarea{min-height:120px;resize:vertical}.quote-preview-dialog .dialog-body{background:var(--ant-color-fill-quaternary)}.quote-preview-dialog .preview-company,.quote-preview-dialog .preview-meta{gap:var(--ant-margin-xs)}.detail-checked-badge{display:inline-flex;align-items:center;gap:6px;color:var(--ant-color-text)}.detail-checked-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ant-color-success-base)}.detail-photo-search{justify-self:start;margin-top:var(--ant-margin-sm)}
