:root{--bg: #f6f7fb;--surface: #ffffff;--fg: #1a1f2e;--muted-bg: #f0f2f8;--muted-fg: #64748b;--border: #e2e8f0;--border-strong: #ccd1de;--primary: #01a982;--primary-hover: color-mix(in srgb, var(--primary) 88%, black);--primary-soft: color-mix(in srgb, var(--primary) 12%, white);--primary-strong: color-mix(in srgb, var(--primary) 75%, black);--danger: #d83a52;--danger-hover: color-mix(in srgb, var(--danger) 85%, black);--success: #1f9f6e;--warning: #d59800;--info: #1e88e5;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--radius-sm: .25rem;--radius: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--shadow-sm: 0 1px 2px rgb(20 26 50 / .06);--shadow: 0 4px 14px rgb(20 26 50 / .08);--shadow-lg: 0 18px 44px rgb(20 26 50 / .18);--transition-fast: .1s ease;--transition: .15s ease;--transition-slow: .3s ease;--sidebar-w: 264px;--topbar-h: 64px;--pager-h: 56px;--drawer-w: 560px}[data-theme=dark]{--bg: #0f172a;--surface: #1e293b;--fg: #f8fafc;--muted-bg: #1e293b;--muted-fg: #94a3b8;--border: #334155;--border-strong: #475569;--primary: #34d399;--primary-soft: color-mix(in srgb, var(--primary) 18%, transparent);--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.45;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}#app{height:100%}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}img,video{max-width:100%;display:block}.hidden{display:none!important}.need-purchase-pill{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.5;background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe;white-space:nowrap;vertical-align:middle}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;height:100vh}.main{display:grid;grid-template-rows:var(--topbar-h) 1fr var(--pager-h);min-width:0}.sidebar{background:#11141d;color:#d6d9e3;display:flex;flex-direction:column;border-right:1px solid #1d2230}.sidebar-header{padding:18px 18px 14px;border-bottom:1px solid #1d2230}.logo{display:flex;align-items:center;gap:var(--space-2)}.logo-mark{font-size:28px;color:var(--primary);line-height:1}.logo-text{font-size:var(--text-base);font-weight:600;color:#fff}.logo-text small{font-size:var(--text-xs);font-weight:400;color:#98a0b3}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 0}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{background:#2a3142;border-radius:4px}.sidebar-loading{padding:14px 18px;color:#98a0b3;font-size:var(--text-xs)}.nav-group{margin:var(--space-1) 0 var(--space-3)}.nav-group-title{padding:10px 18px 4px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6b7385}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:7px 18px;cursor:pointer;border-left:2px solid transparent;color:#aab0c0;font-size:var(--text-sm);transition:background var(--transition-fast),color var(--transition-fast)}.nav-item:hover{background:#181c27;color:#e8eaf2}.nav-item.active{background:#1c2335;color:#fff;border-left-color:var(--primary);font-weight:500}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{padding:12px 18px;border-top:1px solid #1d2230;font-size:11px;color:#98a0b3}.api-status{display:inline-flex;align-items:center;gap:6px}.api-status .dot{width:8px;height:8px;border-radius:50%;background:#98a0b3}.api-status.ok .dot{background:var(--success)}.api-status.err .dot{background:var(--danger)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-left{display:flex;flex-direction:column;gap:2px}.page-title{margin:0;font-size:var(--text-lg);font-weight:600}.page-subtitle{font-size:var(--text-xs);color:var(--muted-fg)}.topbar-right{display:flex;align-items:center;gap:var(--space-2)}.search-wrap{position:relative}.search-input{width:320px;height:36px;padding:0 32px 0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted-bg);font-size:var(--text-sm);transition:border var(--transition),background var(--transition)}.search-input:focus{outline:none;border-color:var(--primary);background:var(--surface)}.search-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:11px;color:var(--muted-fg);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:34px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font-size:var(--text-sm);line-height:1;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}a.btn-ghost,a.btn-ghost:visited{color:var(--fg);text-decoration:none}.btn-ghost:hover:not(:disabled){background:var(--muted-bg);border-color:var(--border-strong)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 0 8px;margin-top:8px;border-top:1px solid var(--border)}.btn-icon{width:32px;height:32px;border:none;background:transparent;color:var(--muted-fg);border-radius:var(--radius-sm);font-size:var(--text-lg)}.btn-icon:hover{background:var(--muted-bg);color:var(--fg)}.grid-wrap{background:var(--surface);margin:12px 16px 0;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;min-height:0;display:flex;flex-direction:column}.grid-scroll{flex:1;overflow:auto;position:relative}.grid-scroll::-webkit-scrollbar{height:10px;width:10px}.grid-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px}.grid{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.grid thead th{position:sticky;top:0;z-index:2;background:var(--muted-bg);border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;font-weight:600;font-size:11.5px;color:var(--muted-fg);letter-spacing:.02em;white-space:nowrap;user-select:none}.grid thead th[data-action=sort]{cursor:pointer}.grid thead th[data-action=sort]:hover{background:color-mix(in srgb,var(--muted-bg) 70%,var(--primary));color:var(--fg)}.grid thead th .sort-arrow{font-size:10px;margin-left:4px;color:var(--muted-fg);opacity:.5}.grid thead th.sorted .sort-arrow{color:var(--primary);opacity:1}.grid tbody td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid tbody tr{cursor:pointer;transition:background .08s}.grid tbody tr:hover{background:var(--primary-soft)}.cell-mono{font-family:var(--font-mono);font-size:11.5px}.cell-numeric{display:block;text-align:center;font-variant-numeric:tabular-nums}.grid thead th[data-type=num]{text-align:center}.cell-bool{display:inline-block;text-align:center;font-size:14px}.cell-bool.true{color:var(--success)}.cell-bool.false{color:var(--muted-fg);opacity:.6}.cell-empty{color:var(--muted-fg);opacity:.5}.chip{display:inline-block;background:var(--muted-bg);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:11px;color:var(--fg);margin-right:4px;line-height:1.6}.chip-primary{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary-strong)}.chip-success{background:color-mix(in srgb,var(--success) 14%,white);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:color-mix(in srgb,var(--success) 80%,black)}.chip-warning{background:color-mix(in srgb,var(--warning) 18%,white);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:color-mix(in srgb,var(--warning) 80%,black)}.chip-muted{opacity:.7}.chip-json{background:#232a3a;border-color:#232a3a;color:#d4daff;cursor:pointer}.grid-empty{padding:40px 20px;text-align:center;color:var(--muted-fg)}.grid-loading{position:absolute;inset:0;background:#ffffffb8;display:none;align-items:center;justify-content:center;gap:var(--space-2);color:var(--muted-fg);z-index:5}.grid-wrap.is-loading .grid-loading{display:flex}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grid-error{margin:20px;padding:14px 16px;background:color-mix(in srgb,var(--danger) 12%,white);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:color-mix(in srgb,var(--danger) 75%,black);border-radius:var(--radius);font-size:var(--text-sm)}.pager{display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--surface);border-top:1px solid var(--border)}.pager-info{font-size:var(--text-xs);color:var(--muted-fg)}.pager-controls{display:flex;align-items:center;gap:6px}.page-size{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--muted-fg);margin-right:6px}.page-size select{height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 8px;background:var(--surface);font-size:var(--text-xs)}.page-indicator{font-size:var(--text-xs);color:var(--fg);min-width:88px;text-align:center;font-variant-numeric:tabular-nums}.drawer{position:fixed;inset:0;z-index:100}.drawer-overlay{position:absolute;inset:0;background:#0f121e5c;backdrop-filter:blur(2px);animation:fadein .18s ease}.drawer-panel{position:absolute;top:0;right:0;height:100%;width:var(--drawer-w);max-width:92vw;background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slidein .22s ease}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.drawer-title{margin:0 0 2px;font-size:var(--text-lg);font-weight:600}.drawer-subtitle{font-size:var(--text-xs);color:var(--muted-fg);font-family:var(--font-mono)}.drawer-body{overflow-y:auto;padding:4px 0;flex:1}.drawer-section{padding:12px 20px;border-bottom:1px solid var(--border)}.drawer-section:last-child{border-bottom:0}.drawer-section-title{margin:0 0 10px;font-size:var(--text-sm);font-weight:600;color:var(--muted-fg);letter-spacing:.02em}.drawer-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.drawer-table thead th{text-align:left;padding:6px 8px;background:var(--muted-bg);color:var(--muted-fg);font-weight:600;font-size:10.5px;border-bottom:1px solid var(--border)}.drawer-table tbody td{padding:6px 8px;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);vertical-align:top}.drawer-prose{margin:0;padding:8px 10px;background:var(--muted-bg);border-radius:var(--radius);font-family:inherit;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word}.kv-row{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:5px 0;font-size:var(--text-sm);align-items:start}.kv-row:not(:last-child){border-bottom:1px dashed var(--border)}.kv-key{color:var(--muted-fg);font-weight:500}.kv-key-raw{display:block;font-family:var(--font-mono);font-size:10.5px;opacity:.6;margin-top:2px}.kv-val{word-break:break-word;white-space:pre-wrap}.kv-val pre{margin:4px 0 0;background:var(--muted-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:var(--font-mono);font-size:11.5px;overflow-x:auto;white-space:pre;max-height:280px;overflow-y:auto}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app-shell.is-nav-hidden{grid-template-columns:1fr}.app-shell.is-nav-hidden .app-sidebar{display:none}.route-outlet{min-width:0;display:block}.app-sidebar{background:#11141d;color:#d6d9e3;display:flex;flex-direction:column;border-right:1px solid #1d2230;position:sticky;top:0;height:100vh}.app-sidebar-header{padding:18px 18px 14px;border-bottom:1px solid #1d2230}.app-logo{display:flex;align-items:center;gap:var(--space-2)}.app-logo-mark{font-size:28px;color:var(--primary);line-height:1}.app-logo-text{font-size:var(--text-base);font-weight:600;color:#fff}.app-logo-text small{font-size:var(--text-xs);font-weight:400;color:#98a0b3}.app-sidebar-nav{flex:1;overflow-y:auto;padding:10px 0;display:flex;flex-direction:column}.app-nav-item{display:flex;align-items:center;gap:10px;padding:10px 18px;text-decoration:none;color:#aab0c0;font-size:var(--text-sm);border-left:3px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.app-nav-item:hover{background:#181c27;color:#e8eaf2}.app-nav-item.active{background:#1c2335;color:#fff;border-left-color:var(--primary);font-weight:500}.app-nav-icon{font-size:16px;width:20px;text-align:center}.app-sidebar-footer{padding:12px 18px;border-top:1px solid #1d2230;font-size:11px;color:#98a0b3}.page{display:flex;flex-direction:column;min-height:100vh;padding:0}.page-header{padding:24px 28px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.page-header h1{margin:0;font-size:var(--text-xl);font-weight:600}.page-body{flex:1;padding:24px 28px}.settings-card{max-width:640px;margin:0 auto 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 32px;box-shadow:var(--shadow-sm)}.settings-card h2{margin:0 0 12px;font-size:var(--text-lg);color:var(--primary)}.settings-account-email{margin:0 0 16px;color:var(--muted-fg);font-size:var(--text-sm)}.settings-logout-btn{color:#b91c1c;border-color:#ef444466}.settings-logout-btn:hover:not(:disabled){background:#ef444414;border-color:#ef444499}.settings-card-desc{margin:0 0 16px;color:var(--muted-fg);font-size:var(--text-sm);line-height:1.6}.settings-card-desc code{background:var(--muted-bg, #f3f4f6);padding:1px 6px;border-radius:4px;font-size:12px}.settings-members-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.settings-members-table th,.settings-members-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.settings-members-table th{font-weight:600;color:var(--muted-fg);font-size:12px}.settings-members-table tbody tr:last-child td{border-bottom:none}.settings-reset-done{font-size:12px;color:#b45309;margin-right:6px;white-space:nowrap}.settings-form{display:flex;flex-direction:column;gap:14px;max-width:360px}.settings-field{display:flex;flex-direction:column;gap:5px}.settings-field>span{font-size:var(--text-sm);color:var(--fg)}.settings-hint{font-size:12px;color:var(--muted-fg)}.settings-pw-error,.settings-pw-success{font-size:var(--text-sm)}.settings-pw-submit{align-self:flex-start}.placeholder-card{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;box-shadow:var(--shadow-sm)}.placeholder-card h2{margin:0 0 12px;font-size:var(--text-lg);color:var(--primary)}.placeholder-card ul{margin:8px 0 0;padding-left:20px;color:var(--muted-fg);line-height:1.8}.placeholder-hint{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border);font-size:var(--text-xs);color:var(--muted-fg)}.page-404{display:grid;place-items:center;min-height:100vh;background:var(--bg)}.not-found{text-align:center;padding:40px}.not-found h1{font-size:80px;margin:0;color:var(--primary)}.not-found p{margin:12px 0 24px;color:var(--muted-fg)}.page-route-error{display:grid;place-items:center;min-height:calc(100vh - 80px);padding:40px 20px}.route-error{text-align:center;max-width:480px}.route-error-code{font-size:56px;font-weight:700;color:var(--primary, #01a982);letter-spacing:-1px;margin-bottom:8px}.route-error-title{font-size:22px;font-weight:600;margin:0 0 8px;color:var(--text, #111827)}.route-error-subtitle{font-size:14px;color:var(--muted-fg, #6b7280);margin:0 0 28px;line-height:1.5}.route-error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.route-error-actions .btn-secondary{padding:10px 20px;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:var(--radius, 6px);color:var(--text, #111827);font-weight:500;cursor:pointer;transition:background var(--transition-fast, .15s)}.route-error-actions .btn-secondary:hover{background:var(--muted-bg, #f9fafb)}.route-error-detail{font-size:12px;text-align:left;margin-top:16px;color:var(--muted-fg, #6b7280)}.route-error-detail summary{cursor:pointer;user-select:none;margin-bottom:8px}.route-error-detail pre{background:var(--muted-bg, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:4px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;white-space:pre-wrap;word-break:break-word;margin:0;color:var(--text, #111827)}.btn-primary{display:inline-block;padding:10px 20px;background:var(--primary);color:#fff;text-decoration:none;border-radius:var(--radius);font-weight:500;transition:background var(--transition-fast)}a.btn-primary,a.btn-primary:visited{color:#fff;text-decoration:none}.btn-primary:hover{background:var(--primary-hover)}.page-catalog{display:grid;grid-template-columns:240px 1fr;height:100vh;padding:0}.catalog-sidebar{background:var(--muted-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.catalog-sidebar-header{padding:14px 16px;border-bottom:1px solid var(--border)}.catalog-sidebar-title{font-size:var(--text-sm);font-weight:600;color:var(--muted-fg)}.catalog-sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.catalog-sidebar-nav .nav-group{margin-bottom:var(--space-2)}.catalog-sidebar-nav .nav-group-title{padding:10px 16px 4px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-fg)}.catalog-sidebar-nav .nav-item{display:block;padding:6px 16px;text-decoration:none;color:var(--fg);font-size:var(--text-sm);border-left:2px solid transparent;transition:background var(--transition-fast),color var(--transition-fast)}.catalog-sidebar-nav .nav-item:hover{background:var(--surface);color:var(--primary-strong)}.catalog-sidebar-nav .nav-item.active{background:var(--surface);color:var(--primary-strong);border-left-color:var(--primary);font-weight:500}.catalog-sidebar-nav .sidebar-loading{padding:14px 16px;color:var(--muted-fg);font-size:var(--text-xs)}.catalog-sidebar-footer{padding:10px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted-fg)}.catalog-main{display:grid;grid-template-rows:var(--topbar-h) 1fr var(--pager-h);min-width:0;background:var(--bg)}.catalog-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--surface);border-bottom:1px solid var(--border)}.catalog-topbar-left{display:flex;flex-direction:column;gap:2px}.catalog-topbar-right{display:flex;align-items:center;gap:var(--space-2)}.app-hamburger,.app-nav-overlay,.app-nav-close{display:none}@media(max-width:767px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;inset:0 auto 0 0;width:240px;max-width:82vw;transform:translate(-100%);z-index:200;transition:transform .2s ease}.app-shell.menu-open .app-sidebar{transform:translate(0)}.app-hamburger{display:block;position:fixed;top:10px;left:12px;z-index:150;width:40px;height:40px;border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:20px;line-height:1;cursor:pointer}.app-shell.is-nav-hidden .app-hamburger{display:none}.app-shell:not(.is-nav-hidden) .page-header{padding-left:62px}.app-shell.menu-open .app-nav-overlay{display:block;position:fixed;inset:0;background:#00000073;z-index:150}.app-shell.menu-open .app-nav-close{display:block;position:fixed;top:12px;right:14px;z-index:210;width:40px;height:40px;border:none;border-radius:8px;background:#222;color:#fff;font-size:18px;line-height:1;cursor:pointer}.page-catalog{grid-template-columns:200px 1fr}}@media(max-width:640px){.page-catalog{grid-template-columns:1fr}.catalog-sidebar{display:none}.search-input{width:180px}}.page-rfq-list .page-header,.page-rfq-create .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-rfq-list .page-subtitle,.page-rfq-create .page-subtitle{margin:4px 0 0;color:var(--muted-fg);font-size:var(--text-sm)}.banner{margin:12px 28px 0;padding:10px 14px;border-radius:var(--radius);font-size:var(--text-sm);display:flex;align-items:center;gap:10px}.banner.hidden{display:none}.banner-success{background:color-mix(in srgb,var(--success, #16a34a) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--success, #16a34a) 40%,transparent);color:var(--success, #16a34a)}.banner-error{background:color-mix(in srgb,var(--danger, #dc2626) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,transparent);color:var(--danger, #dc2626)}.rfq-banner{margin:12px 28px 0;padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--danger, #dc2626) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,transparent);color:var(--danger, #dc2626);font-size:var(--text-sm)}.rfq-banner.hidden{display:none}.btn-link{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;font-size:var(--text-sm);padding:0;margin-left:auto}.filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.filter-tabs{display:inline-flex;background:var(--muted-bg);border-radius:var(--radius);padding:3px;gap:2px}.filter-tab{background:none;border:none;padding:6px 14px;font-size:var(--text-sm);color:var(--muted-fg);cursor:pointer;border-radius:calc(var(--radius) - 3px);transition:background .1s,color .1s}.filter-tab:hover{color:var(--fg)}.filter-tab.active{background:var(--surface);color:var(--primary);font-weight:600;box-shadow:var(--shadow-sm)}.meta-info{color:var(--muted-fg);font-size:var(--text-xs)}.rfq-list-table{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.rfq-list-table th,.rfq-list-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.rfq-list-table th{background:var(--muted-bg);font-weight:600;color:var(--muted-fg);font-size:11.5px}.rfq-list-table th.num,.rfq-list-table td.num{text-align:center;font-variant-numeric:tabular-nums}.rfq-list-table tbody tr{cursor:pointer;transition:background .08s}.rfq-list-table tbody tr:hover{background:var(--primary-soft)}.row-no{text-align:center;color:var(--muted-fg);font-size:12px}.page-rfq-create{padding-bottom:80px}.form-card{margin:16px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-sm)}.form-card h2{margin:0 0 14px;font-size:var(--text-base);font-weight:600;color:var(--fg)}.form-card h2 small{color:var(--muted-fg);font-weight:400;margin-left:6px;font-size:var(--text-xs)}.form-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.form-card-head h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field-wide{grid-column:span 3}.form-label{font-size:var(--text-xs);color:var(--muted-fg);font-weight:500}.form-field input[type=text],.form-field input[type=number],.form-field input[type=date],.form-field select,.form-field textarea{border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:var(--text-sm);background:var(--surface);color:var(--fg);font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-hint{margin:10px 0 0;color:var(--muted-fg);font-size:var(--text-xs)}.input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);padding:8px 11px;font-size:var(--text-sm);font-family:inherit;line-height:1.4;background:var(--surface);color:var(--fg);transition:border-color .12s ease,box-shadow .12s ease}.input::placeholder{color:var(--muted-fg)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.input:disabled{background:var(--surface-muted, #f3f4f6);color:var(--muted-fg);cursor:not-allowed}select.input{cursor:pointer}textarea.input{line-height:1.5;resize:vertical}.rfq-bubble-supplier{font-weight:600}.rfq-bubble-main{display:inline-flex;gap:5px;margin-left:5px}.rfq-bubble-part{white-space:nowrap}.rfq-bubble-tags{margin-left:5px;font-size:11px;color:var(--muted-fg, #6b7280);white-space:nowrap}.rfq-bubble-memo{margin-left:4px;color:var(--muted-fg, #6b7280)}.quote-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.quote-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.quote-table thead th{background:var(--muted-bg);text-align:left;padding:8px 10px;font-weight:600;font-size:11.5px;color:var(--muted-fg);border-bottom:1px solid var(--border);white-space:nowrap}.quote-table tbody td{padding:5px 6px;border-bottom:1px solid var(--border);vertical-align:middle}.quote-table tbody tr:last-child td{border-bottom:none}.quote-table input,.quote-table select{width:100%;border:1px solid transparent;border-radius:4px;padding:5px 7px;font-size:var(--text-sm);background:var(--surface);color:var(--fg);font-family:inherit;min-width:70px}.quote-table input:hover,.quote-table select:hover{border-color:var(--border)}.quote-table input:focus,.quote-table select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.quote-table input[type=number]{text-align:center;font-variant-numeric:tabular-nums}.quote-table .row-no{text-align:center;color:var(--muted-fg);font-size:12px;padding:0 8px}.page-rfq-queue{padding:24px;max-width:1280px;margin:0 auto}.rfq-queue-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 20px;padding:12px 16px;margin:12px 0 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.rfq-queue-date,.rfq-queue-cat{display:flex;flex-direction:column;gap:4px}.rfq-queue-label{font-size:var(--text-xs);color:var(--muted-fg);font-weight:500}.rfq-queue-date input,.rfq-queue-cat select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font-size:var(--text-sm);font-family:inherit;min-width:160px}.rfq-summary{display:flex;gap:8px;margin-left:auto}.rfq-summary-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:var(--text-sm);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.rfq-summary-chip strong{font-weight:700;font-variant-numeric:tabular-nums}.rfq-summary-chip:hover{background:var(--muted-bg)}.rfq-summary-chip.active{background:var(--fg);color:var(--surface);border-color:var(--fg)}.rfq-summary-chip.is-pending:not(.active){color:#6b7280}.rfq-summary-chip.is-sent:not(.active){color:#2563eb;border-color:color-mix(in srgb,#2563eb 30%,var(--border))}.rfq-summary-chip.is-quoted:not(.active){color:#16a34a;border-color:color-mix(in srgb,#16a34a 30%,var(--border))}.rfq-summary-chip.is-pending.active{background:#6b7280;border-color:#6b7280}.rfq-summary-chip.is-sent.active{background:#2563eb;border-color:#2563eb}.rfq-summary-chip.is-quoted.active{background:#16a34a;border-color:#16a34a}.rfq-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.rfq-group-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--muted-bg);border-bottom:1px solid var(--border)}.rfq-group-toggle{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:none;background:transparent;cursor:pointer;flex:1;text-align:left;font-family:inherit;color:var(--fg)}.rfq-group-toggle:hover{color:var(--accent, #2563eb)}.rfq-group-arrow{font-size:10px;color:var(--muted-fg);width:12px;display:inline-block}.rfq-group-title{font-weight:600;font-size:var(--text-base)}.rfq-group-count{font-size:var(--text-xs);color:var(--muted-fg);padding:2px 8px;background:var(--surface);border:1px solid var(--border);border-radius:9999px}.rfq-group-send-all{padding:8px 14px;font-size:var(--text-sm)}.rfq-group-done{font-size:var(--text-sm);font-style:italic}.rfq-group-body{padding:0}.rfq-queue-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.rfq-queue-table th{text-align:left;font-weight:600;color:var(--muted-fg);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--muted-bg) 50%,var(--surface))}.rfq-queue-table th.num,.rfq-queue-table td.num{text-align:right;font-variant-numeric:tabular-nums}.rfq-queue-table th.col-actions,.rfq-queue-table td.col-actions{width:110px;text-align:center}.rfq-queue-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.rfq-queue-row.is-sent{background:color-mix(in srgb,#2563eb 4%,transparent)}.rfq-queue-row.is-quoted{background:color-mix(in srgb,#16a34a 4%,transparent)}.rfq-row-desc{margin-top:4px;font-size:var(--text-xs);color:var(--muted-fg)}.rfq-chip{display:inline-block;padding:3px 10px;border-radius:9999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.rfq-chip.is-pending{background:color-mix(in srgb,#6b7280 12%,transparent);color:#4b5563;border:1px solid color-mix(in srgb,#6b7280 25%,transparent)}.rfq-chip.is-sent{background:#2563eb;color:#fff}.rfq-chip.is-quoted{background:#16a34a;color:#fff}.btn-link{background:none;border:none;padding:0;color:var(--accent, #2563eb);cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--primary-hover, #1d4ed8)}.rfq-queue-table .dim,.rfq-modal .dim,.placeholder-card .dim{color:var(--muted-fg);font-size:var(--text-xs)}.rfq-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center}.rfq-modal-overlay{position:absolute;inset:0;background:#00000073}.rfq-modal-panel{position:relative;width:min(560px,92vw);max-height:86vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px #0000004d}.rfq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.rfq-modal-header h3{margin:0;font-size:var(--text-lg, 1.1rem);font-weight:600}.rfq-modal-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.rfq-modal-section{display:flex;flex-direction:column;gap:6px}.rfq-modal-preview{margin:0;padding:8px 12px;list-style:none;background:var(--muted-bg);border:1px solid var(--border);border-radius:var(--radius);max-height:140px;overflow-y:auto;font-size:var(--text-sm)}.rfq-modal-preview li{padding:4px 0;border-bottom:1px dashed var(--border)}.rfq-modal-preview li:last-child{border-bottom:none}.rfq-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--muted-bg) 30%,var(--surface))}.quote-table .btn-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid transparent;background:none;color:var(--muted-fg);cursor:pointer;font-size:16px}.quote-table .btn-icon:hover{background:color-mix(in srgb,var(--danger, #dc2626) 12%,transparent);color:var(--danger, #dc2626);border-color:color-mix(in srgb,var(--danger, #dc2626) 30%,transparent)}.quote-table .empty-row{text-align:center;padding:28px;color:var(--muted-fg)}.btn-secondary{border:1px solid var(--primary);background:var(--surface);color:var(--primary);padding:6px 14px;border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:background .1s,color .1s}.btn-secondary:hover{background:var(--primary-soft)}.page-footer{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:14px 28px;display:flex;justify-content:flex-end;gap:10px;z-index:5}button.btn-primary{border:none;cursor:pointer;font-size:var(--text-sm);font-family:inherit}button.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}.form-field-wide{grid-column:span 2}}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:span 1}}.catalog-sidebar-nav .nav-group-search{margin:6px 8px 12px;padding:0 0 10px;border-bottom:1px solid var(--border)}.catalog-sidebar-nav .nav-item-search{border-left:2px solid transparent;border-radius:var(--radius);padding:8px 12px;font-weight:500;background:color-mix(in srgb,var(--primary-soft) 60%,transparent)}.catalog-sidebar-nav .nav-item-search:hover{background:var(--primary-soft)}.catalog-sidebar-nav .nav-item-search.active{background:var(--primary-soft);color:var(--primary-strong);border-left-color:var(--primary)}.page-catalog-search .search-wrap-wide .search-input{width:340px;max-width:50vw}.search-subtitle.status-loading{color:var(--primary-strong)}.search-subtitle.status-err{color:var(--danger, #dc2626)}.search-grid thead th.col-source{width:150px}.search-grid thead th.col-option-part{width:220px}.search-grid tbody td.col-extras{white-space:normal;max-width:none;color:var(--muted-fg);font-size:12px;line-height:1.5}.source-chip{background:color-mix(in srgb,var(--primary-soft) 80%,transparent);color:var(--primary-strong);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);font-size:11px;font-weight:500}.extra-pair{display:inline-block;margin-right:2px}.extra-key{color:var(--fg);font-weight:500;margin-right:4px}.extra-sep{color:var(--border);margin:0 2px}@media(max-width:800px){.page-catalog-search .search-wrap-wide .search-input{width:200px}}.autocomplete-wrap{position:relative;display:inline-block;width:100%}.autocomplete-input{width:100%;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font-size:var(--text-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.autocomplete-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.autocomplete-listbox{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:50;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #00000014;font-size:var(--text-sm)}.autocomplete-item{padding:8px 12px;cursor:pointer;user-select:none;border-left:2px solid transparent;transition:background var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-item.active,.autocomplete-item:hover{background:var(--primary-soft);border-left-color:var(--primary)}.autocomplete-item .ac-dim{color:var(--muted-fg);font-size:11.5px;margin-left:6px}.autocomplete-separator{height:1px;background:var(--border);margin:4px 0}.autocomplete-free-text{color:var(--primary-strong);font-weight:500}.autocomplete-status{padding:8px 12px;color:var(--muted-fg);font-size:var(--text-xs);font-style:italic}.datasheet{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:visible}.datasheet-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.datasheet-thead{background:var(--muted-bg)}.datasheet-thead th{padding:8px 10px;text-align:left;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--muted-fg);border-bottom:1px solid var(--border);user-select:none}.datasheet-col-num,.datasheet-cell-num{width:36px;text-align:center;color:var(--muted-fg);font-variant-numeric:tabular-nums;font-size:11.5px;padding:6px 4px;background:var(--muted-bg);border-right:1px solid var(--border)}.datasheet-col-actions,.datasheet-cell-actions{width:56px;padding:0 4px;text-align:center;white-space:nowrap}.datasheet-rowadd-btn,.datasheet-rowdelete-btn{visibility:hidden;width:22px;height:22px;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:13px;line-height:1;transition:background var(--transition-fast),color var(--transition-fast);padding:0}.datasheet-rowadd-btn{color:var(--primary-strong)}.datasheet-rowadd-btn:hover{background:var(--primary-soft)}.datasheet-row{border-bottom:1px solid var(--border);transition:background var(--transition-fast)}.datasheet-row.active{background:color-mix(in srgb,var(--primary-soft) 30%,transparent)}.datasheet-row:hover .datasheet-rowadd-btn,.datasheet-row:hover .datasheet-rowdelete-btn,.datasheet-row.active .datasheet-rowadd-btn,.datasheet-row.active .datasheet-rowdelete-btn{visibility:visible}.datasheet-cell{padding:0;border-right:1px solid color-mix(in srgb,var(--border) 50%,transparent);position:relative}.datasheet-cell.active{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.datasheet-cell.active.editing{outline-color:var(--primary-strong);outline-width:3px}.datasheet-input{caret-color:transparent}.datasheet-cell.editing .datasheet-input{caret-color:auto}.datasheet-cell.selected{background:color-mix(in srgb,var(--primary-soft) 70%,transparent)}.datasheet-cell.selected.active{background:color-mix(in srgb,var(--primary-soft) 100%,transparent)}.datasheet-cell.center{text-align:center}.datasheet-cell.right{text-align:right}.datasheet-input{width:100%;height:32px;padding:0 8px;border:0;background:transparent;color:var(--fg);font-size:var(--text-sm);outline:none;font-family:inherit}.datasheet-input:focus{background:var(--surface)}.datasheet-cell-dropdown select.datasheet-input{appearance:auto;padding-right:24px;cursor:pointer}.datasheet-cell-number .datasheet-input{text-align:center;font-variant-numeric:tabular-nums}.datasheet-match-ok{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--success, #16a34a);font-weight:700;pointer-events:none}.datasheet-rowdelete-btn{color:var(--muted-fg);font-size:14px}.datasheet-rowdelete-btn:hover{background:color-mix(in srgb,var(--danger, #dc2626) 12%,transparent);color:var(--danger, #dc2626)}.datasheet-search-listbox{position:fixed;z-index:200;max-height:280px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;font-size:var(--text-sm)}.datasheet-hint{margin:8px 0 0;font-size:var(--text-xs);color:var(--muted-fg);line-height:1.6}.datasheet-cell-toggle{text-align:center;padding:0}.datasheet-toggle{position:relative;display:inline-block;width:38px;height:20px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;vertical-align:middle;outline:none;-webkit-tap-highlight-color:transparent}.datasheet-toggle-track{position:absolute;inset:2px 0;border-radius:9999px;background:color-mix(in srgb,var(--muted-fg) 40%,transparent);transition:background-color .14s ease}.datasheet-toggle-thumb{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .14s ease,background-color .14s ease}.datasheet-toggle.on .datasheet-toggle-track{background:var(--accent, #2563eb)}.datasheet-toggle.on .datasheet-toggle-thumb{transform:translate(18px)}.datasheet-toggle:focus-visible .datasheet-toggle-track{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent, #2563eb) 40%,transparent)}.datasheet-cell-readonly{background:color-mix(in srgb,var(--muted-fg) 5%,transparent)}.datasheet-readonly{display:block;padding:6px 10px;font-size:var(--text-sm);color:var(--muted-fg);font-variant-numeric:tabular-nums;text-align:inherit;outline:none;user-select:none;cursor:default}.datasheet-cell-readonly.center .datasheet-readonly{text-align:center}.datasheet-cell-readonly.right .datasheet-readonly{text-align:right}.chip-on{background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent);color:var(--accent, #2563eb);border-color:color-mix(in srgb,var(--accent, #2563eb) 28%,transparent);font-weight:600}.grid th.col-actions,.grid td.col-actions{width:78px;text-align:center;white-space:nowrap}.btn-row-edit{padding:4px 10px;font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);cursor:pointer;line-height:1.2;transition:background-color .1s ease,border-color .1s ease}.btn-row-edit:hover{background:color-mix(in srgb,var(--accent, #2563eb) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent, #2563eb) 40%,var(--border));color:var(--accent, #2563eb)}.btn-row-edit:active{transform:translateY(1px)}.datasheet-hint strong{color:var(--fg);font-weight:600;background:var(--muted-bg);padding:1px 6px;border-radius:4px;border:1px solid var(--border);font-family:var(--font-mono);font-size:11px}.page-lead-create,.page-lead-list{padding:24px 28px;max-width:1280px;width:100%}.form-section{margin:20px 0;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.form-section-title{margin:0 0 12px;font-size:var(--text-sm);font-weight:600;color:var(--muted-fg);letter-spacing:.02em}.form-section-count{font-weight:400;color:var(--muted-fg);margin-left:6px}.customer-label{display:block;margin-top:4px;color:var(--success, #16a34a);font-size:var(--text-xs);min-height:1em}.form-error{display:block;margin-top:4px;color:var(--danger, #dc2626);font-size:var(--text-xs);min-height:1em}.form-error:empty{display:none}.form-error-banner{margin:12px 0;padding:10px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--danger, #dc2626) 10%,var(--surface));border-left:3px solid var(--danger, #dc2626);color:var(--fg);font-size:var(--text-sm)}.form-error-banner:empty{display:none}.filter-bar{display:flex;gap:6px;margin:12px 0}.filter-btn{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.filter-btn:hover{background:var(--muted-bg)}.filter-btn.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);font-weight:500}.lead-summary{max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted-fg)}.page-rental-preset .settings-card{max-width:980px}.page-header-desc{margin:6px 0 0;color:var(--muted-fg);font-size:var(--text-sm)}.rp-tabs{max-width:980px;margin:0 auto 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rp-chip{display:inline-flex;align-items:center;gap:6px}.rp-chip-tag{font-size:11px;padding:0 5px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong)}.rp-chip-off{font-size:11px;opacity:.7}.rp-inactive-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--muted-fg);cursor:pointer}.rp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px 20px}.rp-unit{color:var(--muted-fg);font-weight:400}.rp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.rp-danger{color:var(--danger);border-color:var(--danger)}.rp-items-table{table-layout:fixed}.rp-items-table .rp-col-no{width:36px}.rp-items-table .rp-col-value{width:150px}.rp-items-table td:last-child{width:74px}.rp-items-table .input{width:100%}.rp-col-value{white-space:nowrap}.rp-col-value .rp-value{width:104px;display:inline-block}.rp-col-value .rp-unit{margin-left:6px}.page-rental-preset .btn-sm{padding:4px 10px;font-size:var(--text-sm)}.rp-preview-out{margin-top:18px}.rp-preview-table{margin-bottom:14px}.rp-preview-table td:first-child{width:60%}.rp-preview-sum td{border-top:1px solid var(--border-strong);background:var(--muted-bg, #f9fafb)}.rp-preview-basis td{background:var(--muted-bg, #f9fafb);color:var(--muted-fg)}.rp-preview-warn{margin:0 0 12px}.rp-badge-on{margin-left:6px;padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:11px}.page-auth{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--color-bg, #f6f7f9);padding:var(--space-6, 24px)}.auth-card{width:100%;max-width:420px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .08));padding:var(--space-7, 32px) var(--space-6, 24px)}.auth-card-wide{max-width:480px}.auth-card-header{text-align:center;margin-bottom:var(--space-6, 24px)}.auth-card-header h1{font-size:28px;font-weight:700;letter-spacing:.5px;margin:0 0 var(--space-2, 8px) 0;color:var(--color-text, #111827)}.auth-subtitle{font-size:14px;color:var(--color-text-muted, #6b7280);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2, 6px)}.auth-field label{font-size:13px;font-weight:600;color:var(--color-text, #111827)}.auth-field input{font-size:15px;padding:var(--space-3, 10px) var(--space-3, 12px);border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, 8px);background:var(--color-input, #ffffff);color:var(--color-text, #111827);transition:border-color .12s ease,box-shadow .12s ease}.auth-field input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px var(--color-primary-soft, rgba(37, 99, 235, .15))}.auth-field input:disabled{background:var(--color-bg, #f3f4f6);color:var(--color-text-muted, #9ca3af);cursor:not-allowed}.auth-hint{font-size:12px;color:var(--color-text-muted, #6b7280);margin-top:2px}.auth-error{font-size:13px;color:var(--color-danger, #b91c1c);background:var(--color-danger-soft, #fee2e2);border:1px solid var(--color-danger-border, #fca5a5);border-radius:var(--radius-md, 8px);padding:var(--space-3, 10px) var(--space-3, 12px)}.auth-error.hidden{display:none}.auth-field.has-error label{color:var(--color-danger, #b91c1c)}.auth-field.has-error input{border-color:var(--color-danger, #b91c1c);background:var(--color-danger-soft, #fef2f2)}.auth-field.has-error input:focus{border-color:var(--color-danger, #b91c1c);box-shadow:0 0 0 3px #b91c1c26}.auth-submit{margin-top:var(--space-2, 6px);padding:var(--space-3, 12px);font-size:15px;font-weight:600;background:var(--color-primary, #2563eb);color:var(--color-on-primary, #ffffff);border:0;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .12s ease,transform 80ms ease}.auth-submit:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{background:var(--color-disabled, #9ca3af);cursor:not-allowed}.auth-footer{margin-top:var(--space-6, 24px);padding-top:var(--space-4, 16px);border-top:1px solid var(--color-border, #e5e7eb);text-align:center}.auth-footer .auth-hint{font-size:12px;line-height:1.5}.page-deal-list{font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--c-fg, #1a1a1a)}.page-deal-list .page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.page-deal-list .page-header h1{margin:0 0 4px;font-size:24px;font-weight:600;letter-spacing:-.3px}.page-deal-list .page-subtitle{margin:0;font-size:13px;color:var(--c-fg-muted, #6b7280)}.page-deal-list .filter-bar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap;padding:10px 12px;background:var(--c-bg-card, #ffffff);border:1px solid var(--c-border, #e5e7eb);border-radius:8px}.page-deal-list .filter-bar-spacer{flex:1}.page-deal-list .filter-btn{padding:6px 14px;border:1px solid var(--c-border, #d1d5db);border-radius:6px;background:#fff;color:#374151;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.page-deal-list .filter-btn:hover{background:#f9fafb;border-color:#9ca3af}.page-deal-list .filter-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.page-deal-list .filter-search{min-width:260px;padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.page-deal-list .filter-search::placeholder{color:#9ca3af}.page-deal-list .filter-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.page-deal-list .btn-secondary{padding:7px 14px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;cursor:pointer;font-size:13px;font-weight:500}.page-deal-list .btn-secondary:hover{background:#f3f4f6}.page-deal-list .grid-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.page-deal-list .grid-table{width:100%;border-collapse:collapse;font-size:13px}.page-deal-list .grid-table th{padding:10px 14px;text-align:left;font-weight:500;font-size:12px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap}.page-deal-list .grid-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.page-deal-list .grid-table tbody tr:last-child td{border-bottom:none}.page-deal-list .grid-table .num{text-align:right;font-variant-numeric:tabular-nums}.grid-table-clickable tbody tr{cursor:pointer;transition:background .1s}.grid-table-clickable tbody tr:hover{background:#f9fafb}.deal-row-name{font-weight:500;color:#111827}.deal-row-cls{display:inline-block;margin-top:4px;padding:2px 8px;font-size:11px;background:#f3f4f6;color:#6b7280;border-radius:10px}.page-deal-list .list-footer{margin-top:12px;padding:0 4px;font-size:12px;color:#6b7280}.page-deal-list .empty{padding:60px 0;text-align:center;color:#9ca3af}.page-deal-list .banner-loading,.page-deal-list .banner-error{padding:10px 14px;border-radius:6px;margin-bottom:10px;font-size:13px}.page-deal-list .banner-loading{background:#f3f4f6;color:#6b7280}.page-deal-list .banner-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.page-deal-list .banner-loading.hidden,.page-deal-list .banner-error.hidden{display:none}.page-deal-list .chip,.deal-drawer .chip{display:inline-block;padding:3px 10px;font-size:12px;font-weight:500;border-radius:12px;border:1px solid transparent;white-space:nowrap}.chip-primary{background:#dbeafe;color:#1e40af;border-color:#bfdbfe}.chip-info{background:#fef3c7;color:#92400e;border-color:#fde68a}.chip-success{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.chip-warning{background:#fee2e2;color:#991b1b;border-color:#fecaca}.deal-drawer.hidden{display:none}.deal-drawer{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;font-family:inherit}.deal-drawer-backdrop{position:absolute;inset:0;background:#0f172a80;cursor:pointer}.deal-drawer-panel{position:relative;width:min(900px,100vw);height:100vh;background:#fff;color:#1f2937;overflow:hidden;display:flex;flex-direction:column;box-shadow:-8px 0 24px #00000026}.deal-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #e5e7eb}.deal-drawer-header h2{margin:0 0 4px;font-size:18px;font-weight:600}.deal-drawer-subtitle{margin:0;font-size:12px;color:#6b7280}.deal-drawer-close{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#9ca3af;padding:0 4px}.deal-drawer-close:hover{color:#1f2937}.deal-drawer-body{flex:1;overflow-y:auto;padding:18px 22px}.deal-drawer-section{margin-bottom:28px}.deal-drawer-section h3{margin:0 0 12px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.6px}.badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;background:#f3f4f6;border-radius:10px;color:#6b7280;font-weight:400}.deal-info-grid{display:grid;grid-template-columns:110px 1fr;gap:10px 16px;margin:0;font-size:13px}.deal-info-grid dt{font-size:12px;color:#6b7280;padding-top:2px}.deal-info-grid dd{margin:0;line-height:1.6}.deal-items-table-wrap{overflow-x:auto}.deal-items-table th,.deal-items-table td{padding:8px 12px;border-bottom:1px solid #f3f4f6;text-align:left}.deal-items-table th{color:#6b7280;font-weight:500;font-size:12px;background:#f9fafb}.deal-items-table .num{text-align:right;font-variant-numeric:tabular-nums}.chat-thread-block{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;background:#fff;overflow:hidden}.chat-thread-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:13px}.chat-msg-list{padding:12px 14px}.chat-msg{margin-bottom:14px;padding:10px 12px;border-radius:8px}.chat-msg-user{background:#eff6ff;border:1px solid #dbeafe}.chat-msg-assistant{background:#f9fafb;border:1px solid #f3f4f6}.chat-msg-header{display:flex;justify-content:space-between;font-size:11px;color:#6b7280;margin-bottom:6px}.chat-msg-role{font-weight:500}.chat-msg-content{font-size:13px;white-space:pre-wrap;word-break:break-word;line-height:1.5}.chat-msg-attachment{margin-top:8px;font-size:12px}.chat-msg-attachment summary{cursor:pointer;color:#6b7280}.chat-msg-attachment pre{background:#0f172a0a;padding:8px;border-radius:4px;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;margin:6px 0 0;font-size:11px}.deal-progress-section{margin-bottom:28px}.deal-progress-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.deal-status-select{padding:7px 32px 7px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%236b7280' d='M6 9L1 4h10z'/></svg>") no-repeat right 10px center;color:#1f2937;font-size:13px;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;min-width:160px}.deal-status-select:hover{border-color:#9ca3af}.deal-status-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.deal-progress-stepper{display:flex;align-items:center;gap:2px;margin-bottom:8px;flex-wrap:nowrap;overflow-x:auto;padding:4px 0}.deal-progress-stepper .step{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1.5px solid #d1d5db;background:#fff;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;transition:all .15s;cursor:default}.deal-progress-stepper .step .step-num{line-height:1}.deal-progress-stepper .step.done{background:#2563eb;border-color:#2563eb;color:#fff}.deal-progress-stepper .step.current{background:#dbeafe;border-color:#2563eb;color:#1e40af;box-shadow:0 0 0 3px #2563eb26}.deal-progress-stepper .step-line{flex:1 1 auto;height:2px;background:#e5e7eb;min-width:8px}.deal-progress-meta{margin:6px 0 0}.deal-assignee-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.deal-assignee-select,.deal-meta-select{padding:5px 28px 5px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%236b7280' d='M6 9L1 4h10z'/></svg>") no-repeat right 8px center;color:#1f2937;font-size:13px;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;min-width:130px}.deal-assignee-select:hover,.deal-meta-select:hover{border-color:#9ca3af}.deal-assignee-select:focus,.deal-meta-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.deal-assignee-label{font-size:13px;color:#4b5563}.deal-assignee-phone-input{padding:5px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;font-size:13px;outline:none;min-width:180px}.deal-assignee-phone-input:hover{border-color:#9ca3af}.deal-assignee-phone-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.deal-info-muted{font-size:13px;color:#9ca3af}.deal-inline-edit-row{display:flex;gap:8px;align-items:center;max-width:180px}.deal-inline-edit-row .deal-assignee-phone-input{flex:1 1 auto;min-width:0}.deal-inline-edit-row .btn{flex:0 0 auto;white-space:nowrap}.deal-contact-view{position:relative}.deal-contact-edit-btn{border:0;background:transparent;cursor:pointer;color:#9ca3af;font-size:13px;padding:2px 6px;margin-left:6px;border-radius:5px;vertical-align:baseline}.deal-contact-edit-btn:hover{color:#2563eb;background:#eff6ff}.deal-contact-edit{display:flex;flex-direction:column;gap:6px;max-width:320px}.deal-contact-input{width:100%;font-size:13px;padding:6px 10px}.deal-contact-err{font-size:12px;color:#dc2626}.deal-inline-edit-actions{display:flex;gap:6px;margin-top:2px}.deal-item-menu{position:fixed;z-index:51;min-width:120px;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #00000024;padding:4px}.deal-item-menu .deal-tag-opt{padding:8px 12px;border-radius:6px;cursor:pointer}.deal-item-menu .deal-tag-opt:hover{background:var(--surface-muted, #f3f4f6)}.deal-original-text{margin-bottom:10px;border:1px solid #e5e7eb;border-radius:6px;background:#fafafa}.deal-original-text>summary{padding:8px 12px;cursor:pointer;font-size:12px;font-weight:500;color:#4b5563;user-select:none;list-style:none}.deal-original-text>summary::-webkit-details-marker{display:none}.deal-original-text>summary:before{content:"▸ ";color:#9ca3af}.deal-original-text[open]>summary:before{content:"▾ "}.deal-original-text>summary:hover{background:#f3f4f6;border-radius:6px 6px 0 0}.deal-original-text-content{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6;color:#1f2937;background:#fff;border-top:1px solid #e5e7eb;font-family:ui-monospace,SFMono-Regular,Pretendard,Apple SD Gothic Neo,monospace;max-height:400px;overflow-y:auto}.text-muted{color:#9ca3af}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-right{text-align:right}.text-center{text-align:center}.deal-detail-loading,.deal-detail-error{padding:48px 24px;text-align:center;color:var(--text-muted, #6b7280);font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,sans-serif}.deal-detail-error h2{font-size:18px;margin:0 0 8px;color:var(--text, #1a1a1a)}.btn-link{color:var(--primary);text-decoration:none;font-weight:500}.btn-link:hover{text-decoration:underline}.deal-detail-page{font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text, #1a1a1a);background:var(--bg, #fff);height:100vh;overflow:hidden;display:flex;flex-direction:column}.deal-detail-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ddb-header,.ddb-modals{display:contents}.deal-detail-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 32px;background:var(--bg, #fff);border-bottom:1px solid var(--border, #e5e7eb)}.deal-detail-title h1{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.01em}.deal-detail-subtitle{font-size:12px}.deal-detail-actions{display:flex;gap:8px;flex-shrink:0}.deal-detail-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;padding:24px 32px;align-items:stretch;overflow:hidden}.deal-detail-main{display:flex;flex-direction:column;gap:24px;min-width:0;min-height:0;overflow-y:auto;padding-right:4px}.deal-region{min-width:0}.deal-cancel-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border, #e5e7eb);display:flex;justify-content:flex-start;align-items:center}.deal-cancel-btn{font:inherit;font-size:14px;padding:8px 16px;border:1px solid #dc2626;color:#dc2626;background:#fff;border-radius:8px;cursor:pointer}.deal-cancel-btn:hover{background:#fef2f2}.deal-cancel-note{font-size:14px;color:#6b7280}.deal-cancel-note strong{color:#dc2626;font-weight:600}.deal-cancel-dialog{max-width:460px}.deal-cancel-desc{font-size:14px;color:var(--text, #374151);margin:0 0 14px;line-height:1.6}.deal-cancel-reasons{display:flex;flex-direction:column;gap:8px}.deal-cancel-reason{font:inherit;font-size:14px;text-align:left;padding:10px 14px;border:1px solid var(--border, #e5e7eb);background:#fff;border-radius:8px;cursor:pointer}.deal-cancel-reason:hover{border-color:#9ca3af;background:#f9fafb}.deal-cancel-reason.is-selected{border-color:#dc2626;background:#fef2f2;color:#b91c1c;font-weight:600}.deal-cancel-error{font-size:13px;color:#dc2626;margin:12px 0 0}.deal-cancel-dialog .deal-rfq-modal-footer{display:flex;justify-content:flex-end;gap:8px}.deal-cancel-cancel-btn{font:inherit;font-size:14px;padding:8px 16px;border:1px solid var(--border, #e5e7eb);background:#fff;border-radius:8px;cursor:pointer}.deal-cancel-cancel-btn:hover{background:#f9fafb}.deal-cancel-confirm-btn{font:inherit;font-size:14px;padding:8px 18px;border:1px solid #dc2626;background:#dc2626;color:#fff;border-radius:8px;cursor:pointer}.deal-cancel-confirm-btn:hover{background:#b91c1c}.deal-cancel-confirm-btn:disabled{opacity:.5;cursor:default}.deal-detail-side{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:hidden}.deal-section{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:20px 24px}.deal-section-stub{background:var(--muted-bg, #f9fafb);border-style:dashed}.deal-section-title{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text, #1a1a1a)}.deal-section-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.deal-section-header .deal-section-title{margin:0}.deal-items-header-action{margin-left:auto;display:flex;gap:8px;align-items:center}.deal-section-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border, #e5e7eb)}.deal-config-chip{display:inline-block;padding:2px 10px;font-size:12px;color:var(--primary-strong, #016b54);background:var(--primary-soft, #e6f8f3);border-radius:999px}.deal-config-tabs{display:flex;flex-wrap:wrap;gap:6px;flex:1}.deal-config-tab{display:inline-flex;align-items:center;font-size:13px;line-height:1.4;color:var(--text-muted, #6b7280);background:var(--surface-muted, #f3f4f6);border:1px solid var(--border, #e5e7eb);border-radius:999px;overflow:hidden;transition:background .12s,color .12s,border-color .12s}.deal-config-tab-label{padding:4px 12px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.deal-config-tab-del{border:0;background:transparent;color:inherit;opacity:.5;font-size:14px;line-height:1;padding:4px 9px 4px 2px;cursor:pointer;transition:opacity .12s,color .12s}.deal-config-tab-del:hover{opacity:1;color:#dc2626}.deal-config-tab.is-active .deal-config-tab-del:hover{color:#fecaca}.deal-config-tab:hover{background:#eceef1}.deal-config-tab.is-active{color:#fff;background:#374151;border-color:#374151;font-weight:600}.deal-config-tab.is-confirmed{border-color:var(--primary, #02a07c)}.deal-config-confirmed-badge{display:inline-flex;align-items:center;padding:0 10px;height:100%;border-left:1px solid var(--primary, #02a07c);color:var(--primary-strong, #016b54);background:var(--primary-soft, #e6f8f3);font-size:11px;font-weight:800;white-space:nowrap}.deal-config-bar{display:flex;align-items:center;gap:8px;margin:-8px 0 12px;padding:8px 12px;background:var(--surface-muted, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px}.deal-config-bar-spacer{flex:1}.deal-config-bar-label{font-size:12px;font-weight:600;color:var(--text-muted, #6b7280)}.deal-items-table.is-confirmed tbody td{background:#f4f5f7;color:#9ca3af}.deal-items-table.is-confirmed tbody td code{background:#e9ebef;color:#6b7280}.deal-items-table.is-confirmed tbody .deal-items-drag{color:#cbd0d6}.deal-items-table.is-confirmed tbody td .deal-sell-price-input{background:var(--surface, #fff);color:var(--text, #111827)}.item-action-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.item-action-left,.item-action-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deal-edit-context{margin-left:auto;font-size:12px;font-weight:600;color:var(--text-muted, #6b7280);white-space:nowrap}.deal-edit-input{width:100%;min-height:32px;padding:4px 8px;font-size:13px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--surface, #fff);color:var(--text, #111827)}.deal-edit-input:focus{outline:none;border-color:var(--primary, #02a07c);box-shadow:0 0 0 2px var(--primary-soft, #e6f8f3)}.deal-edit-num{text-align:right}.deal-edit-desc{display:flex;align-items:center;gap:6px}.deal-edit-search-icon{flex:0 0 auto;width:30px;min-height:32px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--surface, #fff);cursor:pointer;font-size:13px}.deal-edit-search-icon:hover{border-color:var(--primary, #02a07c)}.deal-edit-part-cell{display:flex;align-items:center;gap:6px}.deal-edit-part-cell .cond-chip{flex:0 0 auto}.deal-edit-part-code{font-size:13px;white-space:nowrap}.deal-edit-desc-ro{font-size:13px;color:var(--text-muted, #6b7280);padding:6px 2px;line-height:1.4}.deal-items-edit .drag-handle.disabled{width:14px;height:18px;border:0;background:transparent;color:#cbd0d6;cursor:not-allowed}.deal-items-edit .drag-handle.disabled:before{content:"⋮⋮";letter-spacing:-2px}.deal-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%) translateY(12px);z-index:1000;max-width:90vw;padding:10px 18px;border-radius:8px;background:#1f2937;color:#fff;font-size:13px;box-shadow:0 6px 24px #00000038;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.deal-toast.is-shown{opacity:1;transform:translate(-50%) translateY(0)}.deal-edit-search{width:100%;min-height:32px;padding:4px 8px;font-size:13px;text-align:left;border:1px dashed var(--border, #cbd5e1);border-radius:6px;background:var(--surface, #fff);cursor:pointer}.deal-edit-search:hover{border-color:var(--primary, #02a07c)}.deal-edit-search code{background:transparent;padding:0}.deal-items-edit tfoot td{padding:8px 12px;border-top:1px solid var(--border, #e5e7eb)}.deal-edit-add{color:var(--primary-strong, #016b54)}.deal-edit-input.is-dirty{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 2px #f59e0b2e}.deal-edit-part-code.is-dirty,.deal-edit-desc-ro.is-dirty{background:#fffbeb;border:1px solid #f59e0b;border-radius:var(--radius, 6px);padding:2px 6px;box-shadow:0 0 0 2px #f59e0b2e}.deal-section-editing .deal-edit-actions{display:none}.deal-section-editing.has-changes .deal-edit-actions{display:flex;gap:8px}.deal-edit-unsaved-hint{display:none;font-size:15px;color:#b45309;font-weight:600}.deal-section-editing.has-changes .deal-edit-unsaved-hint{display:inline}.deal-edit-row-new td{background:#fffbeb}.deal-edit-cond-bulk{width:auto;min-width:140px;font-size:12px;padding:4px 8px;font-weight:400}.deal-rfq-modal-dialog.deal-item-search-dialog,.deal-rfq-modal-dialog.deal-need-create-dialog{width:92vw;max-width:1000px}.deal-item-search-input{width:100%;min-height:38px;padding:8px 12px;font-size:14px;border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:10px}.deal-item-search-input:focus{outline:none;border-color:var(--primary, #02a07c);box-shadow:0 0 0 2px var(--primary-soft, #e6f8f3)}.deal-item-search-clear{position:absolute;left:8px;top:19px;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--muted-fg, #9ca3af);font-size:12px;line-height:1;cursor:pointer;border-radius:4px}.deal-item-search-clear:hover{background:var(--muted-bg, #f3f4f6);color:var(--fg, #111827)}.deal-item-search-results{max-height:320px;overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:8px}.deal-item-search-empty{padding:24px 12px;text-align:center;color:var(--text-muted, #9ca3af);font-size:13px}.deal-item-search-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;gap:12px;align-items:center;width:100%;padding:8px 12px;border:0;border-bottom:1px solid #f3f4f6;background:transparent;text-align:left;cursor:pointer}.deal-item-search-stock,.deal-item-search-cost{font-size:12px;color:var(--text-muted, #6b7280);white-space:nowrap;text-align:right}.deal-item-search-row:last-child{border-bottom:none}.deal-item-search-row:hover{background:var(--surface-muted, #f9fafb)}.deal-item-search-row.is-selected{background:var(--primary-soft, #e6f8f3);box-shadow:inset 3px 0 0 var(--primary, #02a07c)}.deal-item-search-source{font-size:11px;font-weight:700;color:var(--primary-strong, #016b54)}.deal-item-search-part{font-size:13px;font-weight:600}.deal-item-search-desc{font-size:11px;color:var(--text-muted, #6b7280);white-space:nowrap}.deal-sell-price-input{width:110px;padding:4px 8px;font-size:13px;text-align:right;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--surface, #fff);transition:border-color .12s,box-shadow .12s}.deal-sell-price-input:focus{outline:none;border-color:var(--primary, #02a07c);box-shadow:0 0 0 2px var(--primary-soft, #e6f8f3)}.deal-sell-price-input.is-saved{border-color:var(--primary, #02a07c);background:var(--primary-soft, #e6f8f3)}.deal-context-stack{display:flex;flex-direction:column}.deal-context-panel{padding:16px 0}.deal-context-panel:first-child{padding-top:4px}.deal-context-panel:not(:first-child){border-top:1px solid var(--border, #e5e7eb)}.deal-context-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.deal-context-title{margin:0;font-size:13px;font-weight:700;color:#374151}.deal-context-fold{border:0;background:none;padding:0;font-size:12px;font-weight:600;color:var(--primary-strong, #016b54);cursor:pointer}.deal-context-fold:hover{text-decoration:underline}.deal-context-body.collapsed{display:none}.deal-context-text{margin:0;font-family:inherit;font-size:14px;line-height:1.7;color:#1f2937;white-space:pre-wrap;word-break:break-word}.deal-original-box{padding:12px 14px;background:var(--surface-muted, #f9fafb);border-left:3px solid var(--primary, #02a07c);border-radius:6px}.empty-context{margin:0;font-size:13px;color:var(--text-muted, #9ca3af)}.deal-history-list{display:flex;flex-direction:column;gap:8px}.deal-history-row{display:flex;gap:14px;font-size:13px;line-height:1.5}.deal-history-time{flex:0 0 130px;color:var(--text-muted, #9ca3af);white-space:nowrap}.deal-history-text{color:#374151}.btn-icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.deal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px;margin:0}.deal-info-item dt{font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:4px}.deal-info-item dd{margin:0;font-size:14px;font-weight:500}.deal-info-item small{color:var(--text-muted, #6b7280);font-weight:400}.deal-table-wrap{overflow-x:auto}.deal-items-table{width:100%;border-collapse:collapse;font-size:13px}.deal-items-table thead th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted, #6b7280);padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb);background:var(--muted-bg, #f9fafb);white-space:nowrap}.deal-items-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb)}.deal-items-table tbody tr:last-child td{border-bottom:none}.deal-items-table code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;font-weight:600;background:#eef2f6;padding:2px 7px;border-radius:4px;color:#111827;letter-spacing:.01em}.need-rfqs-page{max-width:1100px;margin:0 auto;padding:24px;font-family:var(--font-body, system-ui);color:var(--text, #111827)}.need-rfqs-header{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border, #e5e7eb)}.need-rfqs-nav{display:flex;gap:16px;align-items:center;margin-bottom:16px}.need-rfqs-back{display:inline-block;color:var(--primary, #01a982);text-decoration:none;font-size:13px;font-weight:500}.need-rfqs-back:hover{text-decoration:underline}.need-rfqs-title{font-size:24px;font-weight:600;margin:0 0 4px;color:var(--text, #111827)}.need-rfqs-subtitle{font-size:14px;color:var(--text-muted, #6b7280);margin:0 0 16px}.need-rfqs-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px;margin:16px 0 0;padding:0}.need-rfqs-meta>div{margin:0}.need-rfqs-meta dt{font-size:11px;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.need-rfqs-meta dd{font-size:13px;color:var(--text, #111827);margin:0;font-weight:500}.need-rfqs-batch{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:16px;overflow:hidden}.need-rfqs-batch-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--muted-bg, #f9fafb);border-bottom:1px solid var(--border, #e5e7eb)}.need-rfqs-batch-header h2{font-size:14px;font-weight:600;margin:0;font-family:ui-monospace,SFMono-Regular,monospace}.need-rfqs-batch-meta{font-size:12px;color:var(--text-muted, #6b7280)}.need-rfqs-table-wrap{overflow-x:auto}.need-rfqs-table{width:100%;border-collapse:collapse;font-size:13px}.need-rfqs-table thead th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted, #6b7280);padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb);white-space:nowrap}.need-rfqs-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb)}.need-rfqs-table tbody tr:last-child td{border-bottom:none}.need-rfqs-empty{background:var(--surface, #fff);border:1px dashed var(--border, #e5e7eb);border-radius:8px;padding:32px;text-align:center}.need-rfqs-empty p{margin:4px 0}.deal-quote-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 20px}.deal-quote-card{background:var(--muted-bg, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:14px 16px}.deal-quote-card dt{font-size:11px;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.deal-quote-card dd{font-size:18px;font-weight:600;margin:0;color:var(--text, #111827)}.deal-quote-card dd small{font-size:12px;font-weight:400;margin-left:4px}.deal-quote-table{width:100%;border-collapse:collapse;font-size:13px}.deal-quote-table thead th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted, #6b7280);padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb);background:var(--muted-bg, #f9fafb);white-space:nowrap}.deal-quote-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb)}.deal-quote-table tbody tr:last-child td{border-bottom:none}.deal-quote-type-cell{white-space:nowrap}.deal-quote-type{font-size:12px;color:var(--muted-fg)}.deal-quote-type-rental{display:inline-block;padding:1px 8px;border-radius:10px;background:#eef2ff;color:#4338ca;font-weight:600}.deal-quote-table .deal-quote-row-accepted{background:#01a9820f;font-weight:500}.deal-quote-table .deal-quote-row-accepted td:first-child{border-left:3px solid var(--primary, #01a982)}.quote-status{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:500}.quote-status-draft{background:var(--muted-bg, #f3f4f6);color:var(--text-muted, #6b7280)}.quote-status-sent{background:#3b82f61f;color:#1d4ed8}.quote-status-accepted{background:#01a9821f;color:#018260}.quote-status-rejected{background:#ef44441f;color:#b91c1c}.quote-status-expired{background:#9ca3af33;color:var(--text-muted, #6b7280)}@media(max-width:768px){.deal-quote-cards{grid-template-columns:1fr}}.deal-rfq-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.deal-rfq-modal.hidden{display:none}.deal-rfq-modal-overlay{position:absolute;inset:0;background:#0f172a73;cursor:pointer}.deal-rfq-modal-dialog{position:relative;background:var(--surface, #fff);border-radius:12px;box-shadow:0 20px 50px #0003;width:100%;max-width:460px;margin:16px;overflow:hidden;z-index:1}.deal-rfq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.deal-rfq-modal-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text, #111827)}.deal-rfq-modal-close{background:none;border:none;font-size:16px;color:var(--text-muted, #6b7280);cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.deal-rfq-modal-close:hover{background:var(--muted-bg, #f9fafb)}.deal-rfq-modal-body{padding:20px}.deal-rfq-modal-body p{margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--text, #111827)}.deal-rfq-modal-body p.text-sm{font-size:12px;color:var(--text-muted, #6b7280);margin-top:4px}.deal-rfq-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border, #e5e7eb);background:var(--muted-bg, #f9fafb)}.cond-chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:500;line-height:1.6;white-space:nowrap}.cond-신품{background:#01a9821f;color:#018260}.cond-벌크{background:#3b82f61f;color:#1d4ed8}.cond-중고{background:#ffa50026;color:#b66d00}.cond-미확인{background:var(--muted-bg, #f3f4f6);color:var(--text-muted, #6b7280)}.cond-미등록{background:#ef44441f;color:#b91c1c;border:1px dashed rgba(239,68,68,.4)}.cond-임시등록{background:#f59e0b24;color:#b45309;border:1px dashed rgba(245,158,11,.45)}.cond-detail{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;margin-left:4px;padding:1px 5px;background:var(--muted-bg, #f9fafb);border-radius:3px;color:var(--text, #111827)}.deal-ref-alt{font-size:10px;font-weight:600;color:#b45309;background:#fef3c7;border-radius:4px;padding:1px 5px}.deal-sourcing-table{width:100%;border-collapse:collapse;font-size:13px}.deal-sourcing-table thead th{text-align:left;font-weight:600;font-size:12px;color:var(--text-muted, #6b7280);padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb);background:var(--muted-bg, #f9fafb);white-space:nowrap}.deal-sourcing-table tbody td{padding:10px 12px;border-bottom:1px solid var(--border, #e5e7eb)}.deal-sourcing-table tbody tr:last-child td{border-bottom:none}.deal-sourcing-table code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;font-weight:600;background:#eef2f6;padding:2px 7px;border-radius:4px;color:#111827;letter-spacing:.01em;white-space:nowrap}.deal-sourcing-table tbody td:nth-child(2){white-space:nowrap}.deal-sourcing-table td.text-muted code{color:#111827}.deal-sourcing-link{color:var(--primary, #01a982);text-decoration:none;font-weight:500;font-size:12px}.deal-sourcing-link:hover{text-decoration:underline}.deal-items-table th.deal-items-drag,.deal-items-table td.deal-items-drag{width:28px;padding-left:12px;padding-right:4px;color:var(--text-muted, #9ca3af);text-align:center;cursor:grab;user-select:none;font-size:12px;letter-spacing:-2px}.deal-items-table th.deal-items-check,.deal-items-table td.deal-items-check{width:32px;padding-left:4px;padding-right:4px;text-align:center}.deal-items-table td.deal-items-check input[type=checkbox],.deal-items-table th.deal-items-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary, #01a982);cursor:pointer;margin:0;vertical-align:middle}.deal-side-section{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:12px 16px}.deal-side-section h3{margin:0 0 8px;font-size:13px;font-weight:600}.deal-side-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.deal-side-section-header h3{margin:0}.deal-status-steps-vertical{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.deal-status-step{font-size:12px;padding:1px 0;color:var(--text-muted, #6b7280);line-height:1.4}.deal-status-step.past{color:var(--text, #1a1a1a)}.deal-status-step.current{color:var(--primary-strong, #016b54);font-weight:700}.deal-status-step.future{color:var(--text-muted, #9ca3af)}.deal-status-hist-label{margin-top:10px;font-size:12px;font-weight:700;color:var(--text-muted, #6b7280)}.deal-status-history-list{list-style:none;margin:6px 0 0;padding:0;max-height:320px;overflow-y:auto}.deal-status-hist{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:8px;font-size:13px;color:var(--text, #111827)}.deal-status-hist-date{font-size:12px;color:var(--text-muted, #6b7280);white-space:nowrap}.deal-status-hist.is-current{background:var(--primary-soft, #e6f8f3);color:var(--primary-strong, #016b54);font-weight:700}.deal-status-hist.is-current .deal-status-hist-date{color:var(--primary-strong, #016b54)}.deal-status-hist.is-future{color:#9ca3af}.deal-status-cancel-chip{display:inline-block;padding:2px 10px;font-size:12px;color:#b91c1c;background:#fee2e2;border-radius:999px;margin-bottom:8px}.deal-chat-section{display:flex;flex-direction:column;flex:1;min-height:0}.deal-chat-list{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px;padding:4px 0}.deal-chat-section h3,.deal-chat-input{flex-shrink:0}.deal-chat-msg{padding:8px 12px;border-radius:8px;font-size:13px}.deal-chat-msg-user{background:var(--primary-soft, #e6f8f3);align-self:flex-end;max-width:90%}.deal-chat-msg-assistant{background:var(--muted-bg, #f3f4f6);align-self:flex-start;max-width:90%}.deal-chat-msg-header{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:4px;color:var(--text-muted, #6b7280)}.deal-chat-msg-content{white-space:pre-wrap;word-break:break-word}.deal-chat-input{display:flex;gap:6px;align-items:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid var(--border, #e5e7eb)}.deal-chat-input-box{flex:1;min-width:0;border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:6px 10px;font-size:13px;font-family:inherit;line-height:1.4;background:var(--bg, #fff);resize:none;overflow-y:auto;max-height:120px;box-sizing:border-box}@media(max-width:1024px){.deal-detail-page{height:auto;overflow:visible}.deal-detail-body{overflow:visible}.deal-detail-grid{grid-template-columns:1fr;overflow:visible}.deal-detail-main{overflow-y:visible}.deal-detail-side{overflow-y:visible;max-height:none}}.deal-quote-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center}.deal-quote-modal.hidden{display:none}.deal-quote-modal-overlay{position:absolute;inset:0;background:#00000073;cursor:pointer}.deal-quote-modal-dialog{position:relative;z-index:1;background:var(--surface, #fff);border-radius:12px;box-shadow:0 20px 60px #00000040;width:100%;max-width:1700px;max-height:90vh;margin:16px;overflow:hidden;display:flex;flex-direction:column}.deal-quote-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.deal-quote-modal-header h2{font-size:18px;font-weight:600;margin:0 0 4px;color:var(--text, #111827)}.deal-quote-modal-body{padding:18px 24px;overflow-y:auto;flex:1 1 auto;background:#fafaf7}.deal-quote-modal-summary-region{flex:0 0 auto;padding:14px 24px 4px;border-top:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.deal-quote-modal-footer{padding:14px 24px;border-top:1px solid var(--border, #e5e7eb);background:var(--surface, #fff)}.deal-quote-modal-footer p{margin:0 0 10px}.deal-quote-modal-actions{display:flex;justify-content:flex-end;gap:10px}.deal-quote-modal-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.deal-quote-modal-meta-box{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.deal-quote-modal-meta-label{font-size:11px;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.3px}.deal-quote-modal-meta-value{font-size:15px;font-weight:600;color:var(--text, #111827)}.deal-quote-modal-meta-input{border:none;outline:none;padding:0;font-size:15px;font-weight:600;color:var(--text, #111827);background:transparent;width:100%}.deal-quote-modal-meta-input:focus{outline:2px solid rgba(22,163,74,.2);border-radius:4px;padding:2px 4px}.deal-quote-modal-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:18px}.deal-quote-modal-table thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted, #6b7280);padding:10px 8px;text-align:left;background:#faf7f0;border-bottom:1px solid var(--border, #e5e7eb);white-space:nowrap}.deal-quote-modal-table tbody td{padding:8px;border-bottom:1px solid var(--border, #f3f4f6);font-size:13px;vertical-align:middle}.deal-quote-modal-table tbody tr:last-child td{border-bottom:none}.deal-quote-modal-table .text-right{text-align:right}.deal-quote-server-row>td{background:#f5ecdc}.deal-quote-modal-table .deal-quote-server-row>td{border-top:2px solid #d8c19a}.deal-quote-modal-table .deal-quote-server-row>td:first-child,.deal-quote-modal-table .deal-quote-server-child>td:first-child{border-left:2px solid #d8c19a}.deal-quote-modal-table .deal-quote-server-row>td:last-child,.deal-quote-modal-table .deal-quote-server-child>td:last-child{border-right:2px solid #d8c19a}.deal-quote-modal-table .deal-quote-server-row.is-frame-end>td,.deal-quote-modal-table .deal-quote-server-child.is-frame-end>td{border-bottom:2px solid #d8c19a}.deal-quote-server-toggle{display:flex;align-items:baseline;gap:8px;width:100%;border:0;background:none;padding:0;cursor:pointer;text-align:left;font:inherit}.deal-quote-server-chev{color:var(--text-muted, #6b7280);font-size:12px}.deal-quote-server-model{font-weight:500}.deal-quote-server-cond{font-size:12px;color:#7a541f;white-space:nowrap}.deal-quote-server-child>td{background:#fff}.deal-quote-server-child>td:first-child{padding-left:26px}.deal-quote-child-head{display:flex;align-items:baseline;gap:6px}.deal-quote-child-cat{font-size:11px;color:#7a541f;white-space:nowrap}.deal-quote-base-chip,.deal-base-chip{margin-left:6px;padding:1px 6px;border-radius:4px;background:#e0e7ff;color:#3730a3;font-size:11px;white-space:nowrap}.deal-quote-price:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.deal-quote-child-part{font-size:12px;font-weight:500}.deal-quote-child-desc{font-size:12px;color:var(--text-muted, #6b7280)}.deal-quote-static{color:var(--text-muted, #9ca3af)}.deal-quote-ref-cell{vertical-align:top}.deal-quote-ref-group{display:flex;flex-direction:column;gap:1px}.deal-quote-ref-title{font-size:11px;color:var(--text-muted, #6b7280)}.deal-quote-ref-line{font-size:11.5px;color:var(--text-secondary, #374151);white-space:nowrap}.deal-quote-ref-empty{font-size:11.5px;color:var(--text-muted, #9ca3af)}.deal-quote-ref-line{display:flex;align-items:center;gap:4px}.deal-quote-ref-sep{color:#cbd5e1}.deal-quote-ref-deal{border:0;background:none;padding:0;margin:0;font:inherit;cursor:pointer;color:#2563eb;text-decoration:none;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-quote-ref-deal:hover{text-decoration:underline}.deal-quote-ref-evt{font-size:10.5px;padding:0 5px;border-radius:8px;background:#f1f5f9;color:#64748b}.deal-quote-ref-evt.is-won{background:#dcfce7;color:#15803d;font-weight:600}.deal-quote-ref-more{align-self:flex-start;margin-top:1px;border:0;background:none;padding:0;font-size:11px;color:#2563eb;cursor:pointer}.deal-quote-ref-more:hover{text-decoration:underline}.deal-quote-refpop{position:fixed;top:-9999px;left:-9999px;z-index:51;width:320px;max-height:60vh;overflow-y:auto;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 10px 40px #0000002e;padding:10px 12px}.deal-quote-refpop-head{font-size:11px;font-weight:700;color:#6b7280;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f1f5f9}.deal-quote-refpop-body{display:flex;flex-direction:column;gap:5px}.deal-quote-refpop-body .deal-quote-ref-line{font-size:12px}.deal-quote-block{margin:8px 0;padding:8px 12px;border-radius:6px;background:#fef3c7;color:#92400e;font-size:12.5px;line-height:1.7}.deal-quote-modal-table-total-row td{background:#faf7f0;font-size:13px;padding:10px 8px;border-top:2px solid var(--border, #e5e7eb);border-bottom:none!important}.deal-quote-modal-table code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;background:var(--muted-bg, #f9fafb);padding:1px 6px;border-radius:4px}.deal-quote-modal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.deal-quote-modal-table-v2{table-layout:auto;width:100%}.deal-quote-modal-table-v2 th,.deal-quote-modal-table-v2 td{vertical-align:middle}.deal-quote-item-cell{max-width:340px}.deal-quote-item-part{font-size:13px;color:var(--text, #111827);line-height:1.45}.deal-quote-item-cat{font-size:11px;color:var(--text-muted, #6b7280);margin-top:2px}.deal-quote-item-refs{margin-top:6px}.deal-quote-refs-summary{font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);cursor:pointer;list-style:none;user-select:none}.deal-quote-refs-summary:before{content:"+ "}.deal-quote-item-refs[open]>.deal-quote-refs-summary:before{content:"– "}.deal-quote-refs-summary::-webkit-details-marker{display:none}.deal-quote-ref-sec{margin-top:4px}.deal-quote-ref-sec-title{font-size:10px;font-weight:600;color:var(--text-muted, #9ca3af);margin-bottom:1px}.deal-quote-ref-list{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:8px;row-gap:1px}.deal-quote-ref-row{display:contents}.deal-quote-ref-row>span{font-size:11px;line-height:1.55}.deal-quote-ref-row .qref-date{color:var(--text-muted, #9ca3af);white-space:nowrap}.deal-quote-ref-row .qref-supplier{color:var(--text-secondary, #4b5563);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-quote-ref-row .qref-cond{color:var(--text-muted, #6b7280);white-space:nowrap}.deal-quote-ref-row .qref-price{color:var(--text-secondary, #4b5563);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.deal-quote-source-select{width:100%;min-width:120px;max-width:150px}.deal-quote-qty{width:72px;text-align:right}.deal-quote-price,.deal-quote-sell{width:120px;text-align:right}.deal-quote-costsum,.deal-quote-sellsum{white-space:nowrap}.deal-quote-marginval{width:72px;white-space:nowrap}.deal-quote-modal-table-v2 .input{padding:6px 9px;font-size:13px}.deal-quote-newpart,.deal-quote-newdesc{width:100%;margin-bottom:4px}.deal-quote-del{padding:4px 10px;white-space:nowrap}.deal-quote-modal-table-v2 td.text-right{white-space:nowrap}.deal-quote-additem{margin-top:10px;border:1px dashed var(--border, #d1d5db);color:var(--text-muted, #6b7280)}.deal-quote-additem:hover{border-color:var(--primary, #02a07c);color:var(--primary-strong, #016b54);background:var(--primary-soft, #e6f8f3)}.deal-quote-modal-summary-box{background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:14px 16px}.deal-quote-modal-summary-label{font-size:11px;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.deal-quote-modal-summary-value{font-size:20px;font-weight:700;color:var(--text, #111827)}.deal-quote-modal-empty{text-align:center;padding:24px;background:#fff;border:1px dashed var(--border, #d1d5db);border-radius:8px;margin-bottom:18px}.text-success{color:#16a34a}.text-danger{color:#dc2626}.form-input-sm{width:100%;padding:6px 8px;border:1px solid var(--border, #d1d5db);border-radius:4px;font-size:12px;background:#fff}.form-input-sm:focus{outline:none;border-color:var(--primary, #16a34a)}.deal-chat-attach-btn{background:transparent;border:1px solid var(--border, #e5e7eb);border-radius:6px;padding:4px 8px;font-size:14px;cursor:pointer;color:var(--text, #1a1a1a);flex-shrink:0}.deal-chat-attach-btn:hover:not(:disabled){background:var(--muted-bg, #f9fafb)}.deal-chat-attach-btn:disabled{opacity:.5;cursor:not-allowed}.deal-chat-attach-preview{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 4px}.deal-chat-attach-item{position:relative;width:60px;height:60px;border:1px solid var(--border, #e5e7eb);border-radius:6px;overflow:hidden;background:var(--muted-bg, #f9fafb)}.deal-chat-attach-item img{width:100%;height:100%;object-fit:cover;display:block}.deal-chat-attach-item .deal-chat-attach-file{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;text-align:center}.deal-chat-attach-file-icon{font-size:18px;line-height:1}.deal-chat-attach-file-name{font-size:9px;line-height:1.1;color:var(--text-secondary, #6b7280);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.deal-chat-attach-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.deal-chat-attach-remove:hover{background:#000000d9}.deal-chat-msg-pending-user{opacity:.7}.deal-chat-msg-loading{display:flex;align-items:center;gap:8px}.deal-chat-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border, #e5e7eb);border-top-color:var(--primary, #16a34a);border-radius:50%;animation:deal-chat-spin .8s linear infinite;flex-shrink:0}@keyframes deal-chat-spin{to{transform:rotate(360deg)}}.deal-chat-msg-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.deal-chat-msg-attachment-image-link{display:block;width:140px;border-radius:6px;overflow:hidden;border:1px solid var(--border, #e5e7eb);background:var(--muted-bg, #f9fafb);transition:transform .1s,box-shadow .1s}.deal-chat-msg-attachment-image-link:hover{transform:scale(1.02);box-shadow:0 2px 8px #0000001a}.deal-chat-msg-attachment-image{width:100%;max-height:140px;object-fit:cover;display:block}.deal-chat-msg-attachment-link{display:inline-block;padding:4px 10px;background:var(--muted-bg, #f9fafb);border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:12px;color:var(--text, #1a1a1a);text-decoration:none}.deal-chat-msg-attachment-link:hover{background:var(--surface, #fff)}.deal-list-table .deal-group-row td{padding:10px 12px 6px;background:var(--surface-muted, #f9fafb);font-size:12px;font-weight:700;color:var(--text-muted, #6b7280);border-bottom:1px solid var(--border, #e5e7eb)}.deal-no-cell{white-space:nowrap}.deal-no-cell code{font-size:12px;font-weight:600;color:#111827}.deal-copy-btn{margin-left:6px;border:0;background:transparent;color:var(--text-muted, #9ca3af);cursor:pointer;font-size:13px;line-height:1}.deal-copy-btn:hover{color:var(--primary, #02a07c)}.deal-row-name{font-weight:600;color:#1f2937}.deal-watch-col{width:44px}.deal-watch-star{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;color:#cbd5e1;transition:color .12s,transform .08s}.deal-watch-star:hover{transform:scale(1.15)}.deal-watch-star.is-on{color:#f5b301}.page-deal-list .filter-bar{flex-wrap:nowrap}.page-deal-list .filter-search{flex:1 1 auto;min-width:280px}.deal-watch-toggle{flex:0 0 auto;width:40px;height:38px;border:1px solid var(--c-border, #d1d5db);border-radius:8px;background:#fff;color:#cbd5e1;font-size:18px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.deal-watch-toggle:hover{border-color:#9ca3af}.deal-watch-toggle.is-on{color:#f5b301;border-color:#f5b301;background:#fffbeb}.deal-filter-selects{display:flex;gap:8px;flex:0 0 auto}.deal-filter-select{min-width:130px;height:38px;padding:0 30px 0 12px;border:1px solid var(--c-border, #d1d5db);border-radius:8px;background:#fff;color:#374151;font-size:13px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.deal-filter-select:focus{outline:none;border-color:#2563eb}.deal-list-table .deal-group-row td{padding:8px 14px;background:#eef1f5;border-bottom:1px solid #e0e4ea}.deal-group-date{font-size:13px;font-weight:700;color:#374151}.deal-group-count{margin-left:6px;font-size:12px;color:#6b7280}.deal-status-control{position:relative}.deal-status-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:150px;padding:6px 12px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface, #fff);cursor:pointer}.deal-status-trigger:hover{border-color:var(--primary, #02a07c)}.deal-status-current-chip{display:inline-block;padding:2px 10px;border-radius:10px;font-size:13px;font-weight:600}.deal-status-caret{font-size:10px;color:var(--text-muted, #9ca3af)}.deal-status-popover-overlay{position:fixed;inset:0;z-index:40}.deal-status-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:41;width:260px;padding:14px;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 8px 28px #00000029}.deal-status-popover-head{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.deal-status-popover-head h3{margin:0;font-size:12px;font-weight:700;color:#374151}.deal-detail-side-chat{gap:0}.deal-detail-side-chat>*{flex:1 1 auto;min-height:0}.deal-sourcing-table-v2 .deal-sourcing-subhead td{padding:8px 12px 4px;font-size:12px;font-weight:700;color:var(--text-muted, #6b7280);background:var(--surface-muted, #f9fafb)}.deal-need-tag{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;color:var(--primary-strong, #016b54);background:var(--primary-soft, #e6f8f3);border-radius:999px;white-space:nowrap}.deal-rfq-bubbles{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:2px}.deal-rfq-bubble{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:3px 10px;border:1px solid var(--border, #e5e7eb);border-radius:999px;background:var(--surface, #fff);cursor:pointer;white-space:nowrap;font-size:12px}.deal-rfq-bubble:hover{border-color:var(--primary, #02a07c)}.deal-rfq-bubble-name{font-weight:600;color:#1f2937}.deal-rfq-bubble-price{color:var(--text-muted, #6b7280)}.deal-rfq-view-list{margin:0;display:flex;flex-direction:column;gap:10px}.deal-rfq-view-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:baseline}.deal-rfq-view-row dt{font-size:12px;color:var(--text-muted, #6b7280)}.deal-rfq-view-row dd{margin:0;font-size:13px;color:#1f2937}.deal-tag-cell{position:relative}.deal-tag-trigger{border:0;background:transparent;padding:2px 4px;margin:-2px -4px;border-radius:6px;cursor:pointer;text-align:left;display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.deal-tag-trigger:hover{background:var(--surface-muted, #f3f4f6)}.deal-tag-pop-overlay{position:fixed;inset:0;z-index:50}.deal-tag-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:51;min-width:150px;padding:6px;background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 6px 24px #00000029;display:flex;flex-direction:column;gap:2px}.deal-item-menu,.deal-quote-menu,.deal-need-menu,.deal-tag-editor-pop{position:fixed;top:-9999px;left:-9999px}.deal-tag-opt{display:flex;align-items:center;gap:8px;padding:5px 8px;font-size:13px;border-radius:6px;cursor:pointer;white-space:nowrap}.deal-tag-opt:hover{background:var(--surface-muted, #f9fafb)}.deal-need-create-dialog{max-width:560px;width:92%}.deal-need-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.deal-need-field{display:flex;flex-direction:column;gap:4px}.deal-need-field-wide{grid-column:1 / -1}.deal-need-field>span{font-size:12px;color:var(--text-muted, #6b7280)}.deal-need-field input,.deal-need-field select{min-height:36px;padding:6px 10px;font-size:13px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface, #fff)}.deal-need-field input:not([type=checkbox]):focus,.deal-need-field select:focus{outline:none;border-color:var(--primary, #02a07c);box-shadow:0 0 0 2px var(--primary-soft, #e6f8f3)}.deal-need-tags{display:flex;flex-wrap:wrap;gap:4px 10px}.deal-need-link-radios{display:flex;align-items:center;gap:18px}.deal-need-link-radios label{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.deal-items-table th.deal-item-check,.deal-items-table td.deal-item-check{width:34px;text-align:center;padding-left:12px}.deal-need-picked{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--surface-muted, #f9fafb)}.deal-need-picked code{font-weight:600}.deal-need-picked-desc{flex:1;font-size:13px;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deal-edit-conflict-banner{margin:0 0 10px;padding:10px 14px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px;line-height:1.5}.deal-items-table tr.deal-edit-row-external>td{background:#fefce8}.deal-edit-external-badge{background:#fef3c7;color:#92400e;border-color:#f59e0b}tr.need-row-requested>td{background:#f5f3ff}tr.need-row-requested>td:first-child{box-shadow:inset 3px 0 #6366f1}.deal-party-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.deal-draft-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;width:fit-content;max-width:560px;margin-top:8px;padding:9px 12px;background:color-mix(in srgb,var(--primary, #01a982) 8%,white);border:1px solid color-mix(in srgb,var(--primary, #01a982) 28%,white);border-radius:8px;flex-wrap:wrap}.deal-draft-confirm-msg{font-size:13px;color:var(--text, #374151)}.deal-draft-confirm-btn{flex:0 0 auto;width:auto;min-width:0;padding:4px 12px;font-size:12px;white-space:nowrap}.deal-party-main{font-weight:500;color:var(--text, #111827)}.deal-party-sub{color:var(--text-secondary, #6b7280);font-weight:400}.deal-party-meta{margin-top:2px}.deal-party-meta small{color:var(--text-secondary, #6b7280)}.deal-party-modal-wrap{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center}.deal-party-modal-overlay{position:absolute;inset:0;background:#00000073;cursor:pointer}.deal-party-modal{position:relative;z-index:1;width:min(560px,calc(100vw - 32px));max-height:84vh;background:var(--surface, #fff);border-radius:12px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;overflow:hidden}.deal-party-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, #e5e7eb)}.deal-party-modal-head h3{margin:0;font-size:16px;font-weight:600;color:var(--text, #111827)}.deal-party-modal-desc{margin:4px 0 0;font-size:12px;color:var(--text-secondary, #6b7280)}.deal-party-modal-x{border:none;background:transparent;cursor:pointer;font-size:15px;color:var(--text-secondary, #9ca3af);line-height:1}.deal-party-modal-x:hover{color:var(--text, #374151)}.deal-party-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1 1 auto;min-height:0}.deal-party-modal-seclabel{font-size:13px;font-weight:600;color:var(--text, #111827)}.deal-party-modal-newhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.deal-party-modal-newhint{font-size:12px;color:var(--text-secondary, #9ca3af)}.deal-party-modal-flabel{font-size:12px;color:var(--text-secondary, #6b7280);display:block;margin:6px 0 3px}.deal-party-modal-search{width:100%}.deal-party-modal-scroll{max-height:46vh;overflow-y:auto;margin:0 -4px;padding:0 4px}.deal-party-modal-list{display:flex;flex-direction:column}.deal-party-modal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:none;background:transparent;padding:9px 10px;border-radius:8px;cursor:pointer;font:inherit}.deal-party-modal-row:hover{background:var(--surface-2, #f3f4f6)}.deal-party-modal-name{color:var(--text, #1f2937)}.deal-party-modal-name small{color:var(--text-secondary, #6b7280)}.deal-party-modal-sub{color:var(--text-secondary, #6b7280);font-size:12px}.deal-party-modal-count{flex:0 0 auto;font-size:12px;color:var(--text-secondary, #6b7280);background:var(--surface-2, #f3f4f6);padding:2px 8px;border-radius:999px;white-space:nowrap}.deal-party-modal-empty{padding:24px 8px;text-align:center;color:var(--text-secondary, #9ca3af);font-size:13px}.deal-party-modal-create{display:flex;flex-direction:column;gap:6px}.deal-party-modal-label{font-size:12px;color:var(--text-secondary, #6b7280);margin-top:4px}.deal-party-modal .req{color:#dc2626}.deal-party-modal-foot{padding:12px 20px;border-top:1px solid var(--border, #e5e7eb);display:flex;gap:8px;flex:0 0 auto}.deal-party-modal-hint{font-size:12px;color:var(--text-secondary, #9ca3af);margin:-2px 0 2px}.deal-party-modal-hint b{color:var(--text, #374151);font-weight:600}.deal-party-modal-newsec{margin-top:6px;padding-top:12px;border-top:1px solid var(--border, #e5e7eb);display:flex;flex-direction:column;gap:8px}.deal-party-modal-newtitle{font-size:13px;font-weight:600;color:var(--text, #111827)}.deal-party-modal-newgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.deal-party-modal-newrow{display:flex;gap:8px;align-items:center}.deal-party-modal-newrow .input{flex:1}.deal-party-modal-newbtn{align-self:flex-start}.deal-rfq-bubble.is-purchase-requested{border-color:color-mix(in srgb,var(--primary, #01a982) 55%,white);background:color-mix(in srgb,var(--primary, #01a982) 8%,white)}.deal-rfq-view-attachments{margin-top:12px;border-top:1px solid var(--border, #e5e7eb);padding-top:10px}.deal-rfq-view-attach-label{font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:6px}.deal-rfq-view-attach-grid{display:flex;flex-wrap:wrap;gap:8px}.deal-rfq-view-attach{width:72px;height:72px;border:1px solid var(--border, #e5e7eb);border-radius:6px;overflow:hidden;display:block}.deal-rfq-view-attach img{width:100%;height:100%;object-fit:cover;display:block}.deal-rfq-view-attach.is-doc{display:flex;align-items:center;justify-content:center;font-size:11px;text-align:center;padding:4px;color:var(--text, #374151);background:var(--surface-muted, #f3f4f6);text-decoration:none}.deal-rfq-modal-dialog.deal-svradd-dialog{width:660px;max-width:calc(100vw - 48px)}.deal-svradd-lead{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--text-muted, #6b7280)}.deal-svradd-search{width:100%;height:34px;padding:0 10px;box-sizing:border-box;font-size:13px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:#fff}.deal-svradd-search:focus{outline:none;border-color:var(--accent, #10a37f)}.deal-svradd-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deal-svradd-choice{display:flex;flex-direction:column;gap:8px;padding:18px 16px;text-align:left;font-family:inherit;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:10px;cursor:pointer}.deal-svradd-choice:hover{border-color:var(--accent, #10a37f);background:var(--surface-subtle, #faf9f7)}.deal-svradd-choice-title{font-size:15px;font-weight:500}.deal-svradd-choice-desc{font-size:12.5px;color:var(--text-muted, #6b7280);line-height:1.5}.deal-svradd-note{margin:8px 0 0;font-size:12px;color:var(--text-muted, #6b7280)}.deal-svradd-results{margin-top:10px;max-height:46vh;overflow-y:auto}.deal-svradd-hit{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;text-align:left;font-family:inherit;background:none;border:0;border-bottom:1px solid var(--border-subtle, #f1f0ec);cursor:pointer}.deal-svradd-hit:hover{background:var(--surface-subtle, #faf9f7)}.deal-svradd-hit-date{font-size:11.5px;color:var(--text-muted, #6b7280);font-variant-numeric:tabular-nums}.deal-svradd-hit-model{font-size:13.5px;font-weight:600}.deal-svradd-hit-meta{font-size:12px;color:var(--text-muted, #6b7280)}.deal-svradd-foot{display:flex;align-items:center;gap:10px;padding:10px 12px 4px}.deal-svradd-count{font-size:12px;color:var(--text-muted, #6b7280)}.deal-svradd-foot .btn{margin-left:auto}[data-sola=DealDetailView] .deal-server-row{background:#f5ecdc}[data-sola=DealDetailView] .deal-server-row>td{border-top:2px solid #d8c19a;vertical-align:top;padding-top:10px;padding-bottom:10px}[data-sola=DealDetailView] .deal-server-row>td:first-child,[data-sola=DealDetailView] .deal-server-child>td:first-child{border-left:2px solid #d8c19a}[data-sola=DealDetailView] .deal-server-row>td:last-child,[data-sola=DealDetailView] .deal-server-child>td:last-child{border-right:2px solid #d8c19a}[data-sola=DealDetailView] .deal-server-child.is-last>td,[data-sola=DealDetailView] .deal-server-row.is-frame-end>td{border-bottom:2px solid #d8c19a}[data-sola=DealDetailView] .deal-server-toggle-cell{white-space:nowrap}[data-sola=DealDetailView] .deal-server-chevron{border:0;background:none;cursor:pointer;font-size:13px;color:var(--text-muted, #6b7280);padding:0 4px 0 0}[data-sola=DealDetailView] .deal-server-label{font-size:13px;font-weight:500}[data-sola=DealDetailView] .deal-server-summary{display:block;width:100%;text-align:left;border:0;background:none;padding:0;font:inherit;font-size:12.5px;line-height:1.65;color:var(--text, #111);cursor:pointer}[data-sola=DealDetailView] .deal-server-summary:hover{color:var(--primary, #01a982)}[data-sola=DealDetailView] .deal-server-summary:focus-visible{outline:2px solid var(--primary, #01a982);outline-offset:2px}[data-sola=DealDetailView] .deal-server-cond{font-size:13.5px;white-space:nowrap}[data-sola=DealDetailView] .deal-server-bundle{font-weight:500}[data-sola=DealDetailView] .deal-server-row>td.deal-server-cond,[data-sola=DealDetailView] .deal-server-row>td.deal-server-qty,[data-sola=DealDetailView] .deal-server-row>td.deal-server-bundle{vertical-align:middle}[data-sola=DealDetailView] .deal-server-bundle .deal-sell-price-input{width:170px;padding:7px 10px;font-size:14.5px}[data-sola=DealDetailView] .deal-server-child>td{background:#fff;font-size:12.5px}[data-sola=DealDetailView] .deal-server-child-cat{color:#7a541f;font-size:12px;white-space:nowrap}[data-sola=DealDetailView] .deal-server-child-src{color:var(--text-muted, #6b7280)}[data-sola=DealDetailView] .deal-server-qty-input{width:88px;height:34px;padding:0 8px;border:1px solid var(--border, #e5e7eb);border-radius:4px;font-size:14.5px;text-align:center;background:#fff}[data-sola=DealDetailView] .deal-item-srcsel{width:100%;max-width:260px;height:30px;padding:0 6px;border:1px solid var(--border, #e5e7eb);border-radius:4px;font-size:12.5px;background:#fff}[data-sola=DealDetailView] .deal-item-srcsel:disabled{background:var(--surface-alt, #f9fafb);color:var(--text-muted, #9ca3af)}[data-sola=DealDetailView] .deal-item-src-label{font-size:12.5px;color:var(--text-muted, #6b7280)}[data-sola=DealDetailView] .deal-server-child-srcsel{width:100%;max-width:260px;height:26px;padding:0 4px;border:1px solid var(--border, #e5e7eb);border-radius:4px;font-size:12px;background:#fff}[data-sola=DealDetailView] .need-origin{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin-top:2px}[data-sola=DealDetailView] .need-origin-head{font-size:10.5px;color:var(--text-muted, #6b7280)}[data-sola=DealDetailView] .need-origin-line{font-size:10.5px;color:var(--text-muted, #9ca3af);white-space:nowrap}[data-sola=DealDetailView] .deal-chip-pending{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:4px;background:#fef3c7;color:#92400e}.deal-qdl-wrap:empty{display:none}.deal-qdl-backdrop{position:fixed;inset:0;z-index:1200;background:#0f172a73}.deal-qdl-modal{position:fixed;z-index:1201;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 48px));max-height:90vh;overflow:auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000040}.deal-qdl-title{margin:0 0 6px;font-size:18px;font-weight:700;color:#111827}.deal-qdl-sub{margin:0 0 20px;font-size:13px;color:#6b7280}.deal-qdl-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.deal-qdl-card-title{font-size:15px;font-weight:600;color:#111827}.deal-qdl-card-desc{margin-top:4px;font-size:12.5px;color:#6b7280}.deal-qdl-btn{flex:0 0 auto}.deal-qdl-error{margin:8px 0 0;font-size:13px;color:#dc2626}.deal-qdl-foot{margin-top:16px;display:flex;justify-content:flex-start}.deal-server-child-cat-label{font-size:12px;font-weight:600;color:#92722f}.deal-server-child-part{display:inline-block;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#4b5563}.deal-quote-kind-wrap{position:relative;display:inline-block}.deal-quote-kind-menu{top:calc(100% + 4px);right:0;min-width:150px}.deal-quote-modal-table-rental .deal-quote-rental-preset{min-width:132px}.deal-quote-modal-table-rental .deal-quote-rental-term{width:72px}.deal-quote-modal-table-rental .deal-quote-rental-unit-input{width:108px}.deal-quote-modal-table-rental .deal-quote-rental-cost{white-space:nowrap}.deal-quote-costpop{position:fixed;z-index:51;min-width:340px;padding:12px 14px;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 8px 24px #0000001f;text-align:left;white-space:nowrap}.deal-quote-costpop-head{font-weight:700;font-size:13px;margin-bottom:8px}.deal-quote-costpop-table{width:100%;border-collapse:collapse;font-size:12px}.deal-quote-costpop-table td{padding:4px 0;vertical-align:top}.deal-quote-costpop-label{padding-right:14px!important}.deal-quote-costpop-basis{color:var(--muted-fg);padding-right:14px!important}.deal-quote-costpop-amt{text-align:right;font-variant-numeric:tabular-nums}.deal-quote-costpop-sum td{border-top:1px solid var(--border-strong, #d1d5db);padding-top:6px!important;font-weight:700}.deal-quote-info{margin-left:4px;padding:0;border:0;background:none;font:inherit;font-size:11px;line-height:1;color:var(--muted-fg);cursor:pointer}.deal-quote-info:hover{color:var(--fg, #111827)}.deal-quote-info:focus{outline:none}.deal-quote-info:focus-visible{outline:2px solid var(--primary, #059669);outline-offset:1px;border-radius:3px}.deal-quote-rental-unit-wrap{display:flex;align-items:center;justify-content:flex-end;gap:6px}.deal-quote-rental-note{font-size:11px;color:var(--primary-strong, #047857);white-space:nowrap;flex:0 0 auto}.deal-quote-rental-childnote{font-size:var(--text-sm, 13px);opacity:.75}.deal-quote-rental-foot{margin:10px 24px 0;line-height:1.6}.deal-shorthand-warn{display:inline-block;margin-top:4px;font-size:11px;line-height:1.4;padding:2px 8px;border-radius:4px;background:#fef3c7;color:#92400e;border:1px solid rgba(245,158,11,.55);font-weight:600;white-space:normal}.deal-shorthand-warn--compact{font-size:10px;padding:1px 6px;margin-top:3px;white-space:nowrap;font-weight:500}.quote-outdated-flag{margin-left:6px;cursor:help;font-size:.9em;vertical-align:middle}.deal-party-modal-newfull{margin-top:8px}.deal-party-modal-newfull textarea{width:100%;resize:vertical}.deal-party-modal-phonehint,.deal-party-modal-fieldhint{margin:4px 0 0;font-size:12px;color:#6b7280;line-height:1.4}.deal-need-edit-wrap{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.deal-need-edit-overlay{position:absolute;inset:0;background:#00000059}.deal-need-edit-modal{position:relative;z-index:1;background:#fff;border-radius:12px;padding:20px 24px;width:min(440px,92vw);box-shadow:0 10px 40px #0003}.deal-need-edit-title{margin:0 0 4px;font-size:16px;font-weight:600}.deal-need-edit-sub{margin:0 0 16px;font-size:12px;color:#6b7280}.deal-need-edit-ro{background:#f9fafb;border-radius:8px;padding:10px 12px;margin-bottom:14px;font-size:13px}.deal-need-edit-ro>div{display:flex;gap:10px;padding:3px 0}.deal-need-edit-rolabel{color:#6b7280;min-width:72px}.deal-need-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deal-need-edit-flabel{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#374151}.deal-need-edit-foot{display:flex;gap:8px;margin-top:16px}.page-company-list .company-main{padding:0 28px}.page-company-list .company-mode-tabs{display:flex;gap:6px;margin:4px 28px 16px}.page-company-list .company-mode-tab{padding:8px 20px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;transition:all .15s}.page-company-list .company-mode-tab:hover{color:#111827;border-color:#d1d5db}.page-company-list .company-mode-tab.is-on{background:#fff7ed;color:#c2410c;border-color:#fdba74}.page-company-list .company-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.page-company-list .company-toolbar-spacer{flex:1}.page-company-list .company-add-btn{white-space:nowrap}.page-company-list .filter-search{min-width:300px;padding:7px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.page-company-list .filter-search::placeholder{color:#9ca3af}.page-company-list .filter-search:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.page-company-list .company-role-tabs{display:inline-flex;gap:4px;padding:3px;background:#f3f4f6;border-radius:8px}.page-company-list .company-role-tab{padding:6px 16px;border:none;border-radius:6px;background:transparent;color:#4b5563;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.page-company-list .company-role-tab:hover{color:#111827}.page-company-list .company-role-tab.is-on{background:#fff;color:#111827;box-shadow:0 1px 2px #00000014}.page-company-list .grid-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.page-company-list .grid-table{width:100%;border-collapse:collapse;font-size:13px}.page-company-list .grid-table th{padding:10px 14px;text-align:left;font-weight:500;font-size:12px;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;white-space:nowrap}.page-company-list .grid-table td{padding:12px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.page-company-list .grid-table tbody tr:last-child td{border-bottom:none}.page-company-list .grid-table tbody tr:hover{background:#f9fafb}.page-company-list .grid-table .num{text-align:right;font-variant-numeric:tabular-nums}.page-company-list .company-row-name{font-weight:500;color:#111827}.page-company-list .company-row-inactive{opacity:.55}.page-company-list .company-notes{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6b7280}.page-company-list .chip{display:inline-block;padding:3px 10px;font-size:12px;font-weight:500;border-radius:12px;border:1px solid transparent;white-space:nowrap}.page-company-list .list-footer{margin-top:12px;padding:0 4px;font-size:12px;color:#6b7280}.page-company-list .empty{padding:60px 0;text-align:center;color:#9ca3af}.page-company-list .banner-loading,.page-company-list .banner-error{padding:10px 14px;border-radius:6px;margin-bottom:10px;font-size:13px}.page-company-list .banner-loading{background:#f3f4f6;color:#6b7280}.page-company-list .banner-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.page-company-list .banner-loading.hidden,.page-company-list .banner-error.hidden{display:none}.page-company-list .company-modal-root:empty{display:none}.company-modal-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0f172a73;padding:24px}.company-modal{width:min(460px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column}.company-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}.company-modal-head h2{margin:0;font-size:16px;font-weight:600;color:#111827}.company-modal-x{border:none;background:transparent;font-size:16px;color:#9ca3af;cursor:pointer;line-height:1}.company-modal-x:hover{color:#374151}.company-modal.company-modal-wide{width:min(620px,100%)}.company-modal-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.company-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.company-field-span2{grid-column:1 / -1}.company-check-row{display:flex;gap:18px;padding:6px 0}.company-check-row label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#374151;cursor:pointer}.company-file-stub{padding:8px 10px;border:1px dashed #d1d5db;border-radius:6px;font-size:13px;color:#6b7280;background:#fafafa}.company-ms{position:relative}.company-ms-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:13px;color:#6b7280;cursor:pointer;text-align:left}.company-ms.has-sel .company-ms-toggle{color:#1f2937}.company-ms-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-ms-caret{flex:0 0 auto;font-size:10px;color:#9ca3af}.company-ms.is-open .company-ms-caret{transform:rotate(180deg)}.company-ms-panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:2px;max-height:220px;overflow:auto;padding:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 20px #0000001f}.company-ms.is-open .company-ms-panel{display:block}.company-ms-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;color:#374151;border-radius:6px;cursor:pointer}.company-ms-opt:hover{background:#f3f4f6}.company-field{display:flex;flex-direction:column;gap:5px}.company-field>span{font-size:12px;font-weight:500;color:#6b7280}.company-field .req{color:#dc2626}.company-field input,.company-field textarea,.company-field select{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#1f2937;outline:none;font-family:inherit;background:#fff}.company-field select{cursor:pointer;height:36px}.company-field input:focus,.company-field textarea:focus,.company-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.company-addr-row{display:flex;gap:8px;align-items:stretch}.company-addr-row input{flex:1}.company-addr-btn{white-space:nowrap;flex:0 0 auto}.company-radio-row{display:flex;gap:16px;padding:4px 0}.company-radio-row label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#374151;cursor:pointer}.company-field-search{position:relative}.comp-results{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:2px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 20px #0000001f;max-height:220px;overflow:auto}.comp-results.is-open{display:block}.comp-result{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;font-size:13px;color:#1f2937;cursor:pointer}.comp-result:hover{background:#f3f4f6}.company-modal-error{margin:0;font-size:12px;color:#b91c1c}.company-modal-error.hidden{display:none}.company-modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #f0f0f0}.company-modal-foot button:disabled{opacity:.6;cursor:not-allowed}.company-modal-foot .company-detail-delete{margin-right:auto}.company-modal-foot .btn-danger-outline{padding:7px 14px;border:1px solid #fecaca;border-radius:6px;background:#fff;color:#b91c1c;cursor:pointer;font-size:13px;font-weight:500}.company-modal-foot .btn-danger-outline:hover{background:#fef2f2}.company-row-click{cursor:pointer}.page-company-list .company-memo-col{width:60px;text-align:right}.page-company-list .company-memo-cell{text-align:right}.company-memo-btn{border:none;background:transparent;font-size:15px;line-height:1;color:#cbd5e1;cursor:pointer;padding:4px 8px;border-radius:6px}.company-memo-btn.has-memo{color:#2563eb}.company-memo-btn:hover{background:#f3f4f6}.company-modal.company-memo-modal{width:min(440px,100%)}.company-memo-modal textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;font-family:inherit;color:#1f2937;outline:none;resize:vertical}.company-memo-modal textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.company-field input:disabled,.company-field select:disabled,.company-field textarea:disabled,.company-ms-toggle:disabled{background:#f9fafb;color:#374151;cursor:default;opacity:1;-webkit-text-fill-color:#374151}.company-check-row input:disabled{cursor:default}.company-detail-loading{padding:32px 0;text-align:center;color:#9ca3af}.company-detail-error{margin:8px 0 0;font-size:12px;color:#b91c1c;text-align:center}.company-modal-body .company-detail-sec+.company-detail-sec{margin-top:18px}.company-detail-sec h3{margin:0 0 10px;font-size:13px;font-weight:600;color:#111827;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.company-dl{margin:0;display:flex;flex-direction:column;gap:8px}.company-dl-row{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start}.company-dl-row dt{font-size:12px;color:#6b7280}.company-dl-row dd{margin:0;font-size:13px;color:#1f2937;word-break:break-word}.company-tag{display:inline-block;padding:2px 8px;margin:0 2px 2px 0;font-size:12px;background:#f3f4f6;color:#374151;border-radius:6px}.company-detail-contacts{margin-top:12px}.company-detail-sub{font-size:12px;color:#6b7280}.company-contact-list{margin:6px 0 0;padding-left:18px}.company-contact-list li{font-size:13px;color:#1f2937;margin-bottom:4px}.sourcing-page[data-sola=SourcingView]{padding:24px 28px}[data-sola=SourcingView] .sourcing-topbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}[data-sola=SourcingView] .sourcing-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px}[data-sola=SourcingView] .sourcing-topbar h1{font-size:22px;font-weight:700;margin:0}[data-sola=SourcingView] .sourcing-search-input{width:340px;max-width:100%}[data-sola=SourcingView] .sourcing-table-header-row,[data-sola=SourcingView] .sourcing-row{display:grid;grid-template-columns:26px 130px minmax(220px,1.6fr) 130px 56px 150px 120px 120px minmax(140px,1fr) 40px;gap:10px;align-items:center;padding:10px 12px}[data-sola=SourcingView] .sourcing-table-header-row{font-size:12px;font-weight:600;color:var(--text-muted, #6b7280);border-bottom:1px solid var(--border, #e5e7eb);background:var(--surface-muted, #f9fafb);position:sticky;top:0;z-index:1}[data-sola=SourcingView] .sourcing-row{font-size:13px;border-bottom:1px solid var(--border, #f0f1f3)}[data-sola=SourcingView] .sourcing-row:hover{background:#02a07c14}[data-sola=SourcingView] .sourcing-cell-desc{color:#374151}[data-sola=SourcingView] .sourcing-desc-copy{border:0;background:transparent;cursor:pointer;margin-left:6px;padding:0 2px;font-size:12px;line-height:1;vertical-align:middle;color:#9ca3af;opacity:0;transition:opacity .12s,color .12s}[data-sola=SourcingView] .sourcing-row:hover .sourcing-desc-copy{opacity:1}[data-sola=SourcingView] .sourcing-desc-copy:hover{color:var(--primary, #02a07c)}[data-sola=SourcingView] .sourcing-desc-copy.is-copied{color:var(--primary, #02a07c);opacity:1}[data-sola=SourcingView] .sourcing-cell-bubbles{display:flex;flex-wrap:wrap;gap:4px}[data-sola=SourcingView] .sourcing-cell-action{position:relative;text-align:center}[data-sola=SourcingView] .sourcing-date-section{margin-top:14px}[data-sola=SourcingView] .sourcing-date-head{padding:7px 12px;background:var(--surface-muted, #eef0f3);border-top:1px solid var(--border, #e5e7eb);border-bottom:1px solid var(--border, #e5e7eb);border-left:3px solid var(--primary, #02a07c);border-radius:3px}[data-sola=SourcingView] .sourcing-date-title{font-size:13px;font-weight:700;color:#374151;letter-spacing:.2px}[data-sola=SourcingView] .sourcing-tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--primary-soft, #e6f8f3);color:var(--primary-strong, #016b54)}[data-sola=SourcingView] .sourcing-tag-sales{background:#ffedd5;color:#c2410c}[data-sola=SourcingView] .sourcing-tag-memo{background:#fef9c3;color:#a16207}[data-sola=SourcingView] .sourcing-result-pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;background:#eef2ff;color:#3730a3;white-space:nowrap}[data-sola=SourcingView] .sourcing-deal-link{color:var(--primary-strong, #016b54);text-decoration:none}[data-sola=SourcingView] .sourcing-deal-link:hover{text-decoration:underline}[data-sola=SourcingView] .sourcing-list-note{padding:14px;text-align:center;font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=SourcingView] .sourcing-drag-handle{cursor:grab;color:#c0c4cc;font-size:14px;text-align:center;line-height:1;user-select:none}[data-sola=SourcingView] .sourcing-drag-handle:hover{color:#6b7280}[data-sola=SourcingView] .sourcing-drag-handle:active{cursor:grabbing}[data-sola=SourcingView] .sourcing-cluster{position:relative}[data-sola=SourcingView] .sourcing-cluster.grouped{background:#02a07c0d;box-shadow:inset 3px 0 0 var(--primary, #02a07c);border-radius:0 6px 6px 0;margin:6px 0}[data-sola=SourcingView] .sourcing-cluster-body{position:relative}[data-sola=SourcingView] .sourcing-group-config-anchor{position:absolute;inset:0;display:grid;grid-template-columns:26px 130px minmax(220px,1.6fr) 130px 56px 150px 120px 120px minmax(140px,1fr) 40px;gap:10px;padding:0 12px;align-items:center;pointer-events:none;z-index:2}[data-sola=SourcingView] .sourcing-group-config{grid-column:9;justify-self:start;transform:translate(calc(-100% - 6px));pointer-events:auto}[data-sola=SourcingView] .sourcing-cluster.drop-above:before,[data-sola=SourcingView] .sourcing-cluster.drop-below:after{content:"";position:absolute;left:0;right:0;height:3px;background:var(--primary, #02a07c);border-radius:2px;z-index:5}[data-sola=SourcingView] .sourcing-cluster.drop-above:before{top:-2px}[data-sola=SourcingView] .sourcing-cluster.drop-below:after{bottom:-2px}[data-sola=SourcingView] .sourcing-cluster.drop-merge{background:#02a07c1f;outline:1px dashed var(--primary, #02a07c);outline-offset:-1px}[data-sola=SourcingView] .sourcing-cluster-head{display:flex;align-items:center;justify-content:space-between;padding:5px 12px 1px 16px}[data-sola=SourcingView] .sourcing-cluster-grip{font-size:11px;font-weight:700;color:var(--primary-strong, #016b54);cursor:grab;user-select:none;padding:2px 4px;border-radius:4px}[data-sola=SourcingView] .sourcing-cluster-grip:hover{background:#02a07c1f}[data-sola=SourcingView] .sourcing-cluster-grip:active{cursor:grabbing}[data-sola=SourcingView] .sourcing-cluster-dissolve{border:0;background:transparent;cursor:pointer;font-size:11px;color:#6b7280;padding:2px 8px;border-radius:4px}[data-sola=SourcingView] .sourcing-cluster-dissolve:hover{color:#dc2626;background:#fef2f2}[data-sola=SourcingView] .sourcing-merge-overlay{position:fixed;inset:0;z-index:60}[data-sola=SourcingView] .sourcing-merge-popover{position:fixed;z-index:61;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:10px;box-shadow:0 8px 28px #0000002e;padding:14px 16px;min-width:200px}[data-sola=SourcingView] .sourcing-merge-text{margin:0 0 10px;font-size:13px;font-weight:600;color:#111827}[data-sola=SourcingView] .sourcing-merge-actions{display:flex;justify-content:flex-end;gap:8px}[data-sola=SourcingView] .sourcing-row-menu{position:absolute;left:auto;right:0;top:28px;z-index:52;min-width:96px}[data-sola=SourcingView] .sourcing-create-body{display:flex;flex-direction:column;gap:12px;padding:18px 22px}[data-sola=SourcingView] .sourcing-create-body label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#4b5563}[data-sola=SourcingView] .sourcing-create-search{display:flex;flex-direction:column;gap:4px}[data-sola=SourcingView] .sourcing-create-search-label{font-size:12px;color:#4b5563}[data-sola=SourcingView] .sourcing-create-row{display:grid;grid-template-columns:.6fr 1fr;gap:10px}[data-sola=SourcingView] .sourcing-create-tags{display:flex;flex-direction:column;gap:8px}[data-sola=SourcingView] .sourcing-create-tags>div{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}[data-sola=SourcingView] .sourcing-create-tag-label{white-space:nowrap}[data-sola=SourcingView] .sourcing-create-tag-label{font-size:12px;color:#6b7280;margin-right:6px}[data-sola=SourcingView] .sourcing-tag-pick{padding:3px 10px;border:1px solid var(--border, #d1d5db);border-radius:999px;background:#fff;font-size:12px;cursor:pointer}[data-sola=SourcingView] .sourcing-tag-pick.is-on{background:var(--primary-soft, #e6f8f3);border-color:var(--primary, #02a07c);color:var(--primary-strong, #016b54);font-weight:600}[data-sola=SourcingView] .sourcing-tagcell{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;border:0;background:transparent;cursor:pointer;padding:4px 6px;border-radius:6px;font:inherit;text-align:left;max-width:100%}[data-sola=SourcingView] .sourcing-tagcell:hover{background:var(--surface-muted, #f3f4f6)}[data-sola=SourcingView] .sourcing-tagcell-empty{font-size:12px;color:var(--text-muted, #9ca3af)}[data-sola=SourcingView] .sourcing-tag-overlay{position:fixed;inset:0;z-index:55}[data-sola=SourcingView] .sourcing-tag-pop{position:fixed;z-index:56;min-width:220px;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:12px;box-shadow:0 10px 32px #00000029;padding:10px;display:flex;flex-direction:column;gap:6px}[data-sola=SourcingView] .sourcing-tag-pop-title{font-size:12px;font-weight:700;color:#6b7280;padding:2px 4px 4px}[data-sola=SourcingView] .sourcing-tag-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:#fff;font:inherit;color:#374151;cursor:pointer;text-align:left}[data-sola=SourcingView] .sourcing-tag-opt:hover{background:var(--surface-muted, #f9fafb)}[data-sola=SourcingView] .sourcing-tag-opt.is-on{border-color:var(--primary, #02a07c);background:var(--primary-soft, #e6f8f3);color:var(--primary-strong, #016b54);font-weight:600}[data-sola=SourcingView] .sourcing-tag-check{font-size:15px}[data-sola=SourcingView] .sourcing-supplier-config{border:1px solid var(--border, #e5e7eb);background:#fff;color:#6b7280;border-radius:6px;width:22px;height:22px;line-height:1;font-size:12px;cursor:pointer;padding:0;flex:0 0 auto}[data-sola=SourcingView] .sourcing-supplier-config:hover{border-color:var(--primary, #02a07c);color:var(--primary-strong, #016b54);background:var(--primary-soft, #e6f8f3)}[data-sola=SourcingView] .sourcing-supplier-dialog{max-width:560px;width:92vw}[data-sola=SourcingView] .sourcing-supplier-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=SourcingView] .sourcing-supplier-body{display:flex;flex-direction:column;gap:12px;padding:18px 22px}[data-sola=SourcingView] .sourcing-supplier-searchbox{width:100%}[data-sola=SourcingView] .sourcing-supplier-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto}[data-sola=SourcingView] .sourcing-supplier-row{display:flex;align-items:center;gap:6px}[data-sola=SourcingView] .sourcing-supplier-row.is-on{cursor:default}[data-sola=SourcingView] .sourcing-supplier-row .sourcing-supplier-pick{flex:1 1 auto;width:auto}[data-sola=SourcingView] .sourcing-supplier-drag{flex:0 0 auto;width:18px;text-align:center;cursor:grab;color:#b4b8c0;font-size:14px;letter-spacing:-2px;user-select:none}[data-sola=SourcingView] .sourcing-supplier-drag:active{cursor:grabbing}[data-sola=SourcingView] .sourcing-supplier-drag-sp{flex:0 0 auto;width:18px}[data-sola=SourcingView] .sourcing-supplier-pick{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:#fff;cursor:pointer;font:inherit}[data-sola=SourcingView] .sourcing-supplier-pick:hover{background:var(--surface-muted, #f9fafb)}[data-sola=SourcingView] .sourcing-supplier-pick.is-on{border-color:var(--primary, #02a07c);background:var(--primary-soft, #e6f8f3)}[data-sola=SourcingView] .sourcing-supplier-check{font-size:16px;color:var(--primary-strong, #016b54);flex:0 0 auto}[data-sola=SourcingView] .sourcing-supplier-pick:not(.is-on) .sourcing-supplier-check{color:#c0c4cc}[data-sola=SourcingView] .sourcing-supplier-name{font-weight:600;color:#111827}[data-sola=SourcingView] .sourcing-supplier-meta{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=SourcingView] .sourcing-supplier-rfq{margin-left:auto;flex:0 0 auto;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-muted, #f3f4f6);color:var(--text-muted, #6b7280);white-space:nowrap}[data-sola=SourcingView] .sourcing-supplier-rfq.is-priced{background:var(--primary-soft, #e6f8f3);color:var(--primary-strong, #016b54)}[data-sola=SourcingView] .sourcing-supplier-save{min-width:132px}[data-sola=SourcingView] .sourcing-result-pill{border:1px solid var(--border, #e5e7eb);cursor:pointer;font:inherit;line-height:1.4}[data-sola=SourcingView] .sourcing-result-pill:hover{border-color:var(--primary, #02a07c)}[data-sola=SourcingView] .sourcing-result-pill.is-priced{background:var(--primary-soft, #e6f8f3);color:var(--primary-strong, #016b54);border-color:transparent;font-weight:600}[data-sola=SourcingView] .sourcing-price-overlay{position:fixed;inset:0;z-index:60}[data-sola=SourcingView] .sourcing-price-popover{position:absolute;z-index:61;width:340px;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:14px;box-shadow:0 14px 40px #0000002e;padding:18px 20px;display:flex;flex-direction:column;gap:14px}[data-sola=SourcingView] .sourcing-price-head{display:flex;align-items:center;justify-content:space-between}[data-sola=SourcingView] .sourcing-price-title{font-size:16px;font-weight:700;color:#111827}[data-sola=SourcingView] .sourcing-price-controls{display:flex;align-items:center;gap:8px}[data-sola=SourcingView] .sourcing-price-amount{flex:1 1 auto;min-width:0;text-align:right}[data-sola=SourcingView] .sourcing-price-cur{flex:0 0 76px}[data-sola=SourcingView] .sourcing-price-stock{flex:0 0 auto;padding:0 14px;height:38px;border:1px solid var(--border, #d1d5db);border-radius:8px;background:#fff;font-size:13px;color:var(--text-muted, #6b7280);cursor:pointer;white-space:nowrap}[data-sola=SourcingView] .sourcing-price-stock.on{background:#fef2f2;border-color:#fca5a5;color:#dc2626;font-weight:700}[data-sola=SourcingView] .sourcing-price-field{display:flex;flex-direction:column;gap:6px}[data-sola=SourcingView] .sourcing-price-field>label,[data-sola=SourcingView] .sourcing-price-field-title{font-size:12px;font-weight:600;color:var(--text-muted, #6b7280)}[data-sola=SourcingView] .sourcing-price-field>.input,[data-sola=SourcingView] .sourcing-price-field>.sourcing-alt-wrap>.input{width:100%}[data-sola=SourcingView] .sourcing-price-memo{min-height:64px}[data-sola=SourcingView] .sourcing-alt-wrap{position:relative}[data-sola=SourcingView] .sourcing-alt-results{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:196px;overflow-y:auto}[data-sola=SourcingView] .sourcing-alt-results:empty{display:none}[data-sola=SourcingView] .sourcing-alt-note{font-size:12px;color:var(--text-muted, #6b7280);padding:4px 2px}[data-sola=SourcingView] .sourcing-alt-result{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:#fff}[data-sola=SourcingView] .sourcing-alt-result-info{min-width:0;flex:1 1 auto}[data-sola=SourcingView] .sourcing-alt-result-part{font-size:13px;font-weight:600;color:#111827}[data-sola=SourcingView] .sourcing-alt-result-desc{font-size:11px;color:var(--text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-sola=SourcingView] .sourcing-alt-pick-btn{flex:0 0 auto;padding:5px 14px;border:1px solid var(--border, #d1d5db);border-radius:7px;background:#fff;font-size:12px;font-weight:600;color:var(--primary-strong, #016b54);cursor:pointer}[data-sola=SourcingView] .sourcing-alt-pick-btn:hover{background:var(--primary-soft, #e6f8f3);border-color:var(--primary, #02a07c)}[data-sola=SourcingView] .sourcing-tag-dd{position:relative}[data-sola=SourcingView] .sourcing-tag-dd-summary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:1px solid var(--border, #d1d5db);border-radius:8px;background:#fff;font:inherit;color:#374151;cursor:pointer}[data-sola=SourcingView] .sourcing-tag-dd-caret{color:#9ca3af;font-size:11px}[data-sola=SourcingView] .sourcing-tag-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 8px 24px #00000024;padding:6px;display:flex;flex-direction:column;gap:2px}[data-sola=SourcingView] .sourcing-tag-option{text-align:left;padding:8px 10px;border:0;background:transparent;border-radius:6px;font:inherit;color:#374151;cursor:pointer}[data-sola=SourcingView] .sourcing-tag-option:hover{background:var(--surface-muted, #f3f4f6)}[data-sola=SourcingView] .sourcing-tag-option.is-on{color:var(--primary-strong, #016b54);font-weight:600}[data-sola=SourcingView] .sourcing-price-actions{display:flex;justify-content:flex-end;gap:8px}[data-sola=SourcingView] .sourcing-price-save,[data-sola=SourcingView] .sourcing-price-purchase{min-width:0;padding:8px 14px;white-space:nowrap;flex:0 0 auto}.sourcing-row.need-row-requested{background:#f5f3ff;box-shadow:inset 3px 0 #6366f1}.sourcing-result-pill.is-purchase-requested{border-color:color-mix(in srgb,var(--primary, #01a982) 55%,white);background:color-mix(in srgb,var(--primary, #01a982) 8%,white)}.rfq-bubble-img{margin-left:4px;font-size:12px}.sourcing-price-attachments{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sourcing-price-attach{position:relative;width:56px;height:56px;border:1px solid var(--border, #e5e7eb);border-radius:6px;overflow:hidden;flex:0 0 auto}.sourcing-price-attach a{display:block;width:100%;height:100%}.sourcing-price-attach img{width:100%;height:100%;object-fit:cover;display:block}.sourcing-price-attach .sourcing-attach-doc{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:22px;background:var(--surface-muted, #f3f4f6)}.sourcing-price-attach-del{position:absolute;top:0;right:0;width:18px;height:18px;line-height:15px;text-align:center;border:0;background:#0000008c;color:#fff;cursor:pointer;border-radius:0 0 0 6px;font-size:13px;padding:0}.sourcing-price-attach-add{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;border:1px dashed var(--border, #cbd5e1);border-radius:6px;font-size:11px;line-height:1.2;color:var(--text-muted, #6b7280);cursor:pointer;text-align:center;flex:0 0 auto;white-space:nowrap;box-sizing:border-box}.sourcing-price-attach-add:hover{border-color:var(--primary, #01a982);color:var(--primary, #01a982)}.sourcing-price-attach-add input[type=file]{display:none}.sourcing-price-attach-plus{font-size:17px;line-height:1;font-weight:400}.sourcing-price-attach-add.is-uploading{opacity:.6;cursor:default}[data-sola=SourcingView] .sourcing-visibility-config{border:1px solid var(--border, #e5e7eb);background:#fff;color:#6b7280;border-radius:6px;width:22px;height:22px;line-height:1;cursor:pointer;flex:0 0 auto;font-size:12px;padding:0}[data-sola=SourcingView] .sourcing-visibility-config:hover{border-color:var(--primary, #01a982);color:var(--primary, #01a982)}[data-sola=SourcingView] .sourcing-vis-list{display:flex;flex-direction:column;gap:8px}[data-sola=SourcingView] .sourcing-vis-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:inherit;padding:10px 14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:#fff;cursor:pointer}[data-sola=SourcingView] .sourcing-vis-row:hover{border-color:color-mix(in srgb,var(--primary, #01a982) 40%,white)}[data-sola=SourcingView] .sourcing-vis-row.is-on{background:color-mix(in srgb,var(--primary, #01a982) 6%,white);border-color:color-mix(in srgb,var(--primary, #01a982) 30%,white)}[data-sola=SourcingView] .sourcing-vis-eye{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--border, #e5e7eb);background:#fff;cursor:pointer;font-size:16px;line-height:1;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0}[data-sola=SourcingView] .sourcing-vis-eye.is-on{border-color:color-mix(in srgb,var(--primary, #01a982) 45%,white)}[data-sola=SourcingView] .sourcing-vis-eye.is-off{filter:grayscale(1);opacity:.5}[data-sola=SourcingView] .sourcing-vis-eye.is-off:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;background:#6b7280;transform:rotate(-18deg);border-radius:2px}[data-sola=SourcingView] .sourcing-vis-info{flex:1 1 auto;min-width:0}[data-sola=SourcingView] .sourcing-vis-name{font-size:14px;font-weight:600;color:#1f2937}[data-sola=SourcingView] .sourcing-vis-dot{color:var(--primary, #01a982);font-size:9px;vertical-align:middle;margin-left:4px}[data-sola=SourcingView] .sourcing-vis-meta{font-size:12px;color:#6b7280;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-sola=SourcingView] .sourcing-vis-badge{flex:0 0 auto;font-size:12px;color:#6b7280;background:var(--surface-muted, #f3f4f6);border-radius:8px;padding:4px 10px;white-space:nowrap}.rfq-bubble-qty{margin-left:6px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.6}.rfq-bubble-qty-short{background:#f59e0b29;color:#b45309;border:1px solid rgba(245,158,11,.5)}.sourcing-price-req{margin-left:6px;font-size:11px;font-weight:500;color:var(--text-muted, #6b7280)}.sourcing-price-qtyrow{display:flex;align-items:center;gap:6px}.sourcing-price-qty{flex:1}.sourcing-price-qty-unit{font-size:12px;color:var(--text-muted, #6b7280)}.sourcing-price-hint{margin:4px 0 0;font-size:11px;color:var(--text-muted, #6b7280);line-height:1.4}.rfq-bubble-qty-req{opacity:.65;font-weight:500}.svrcfg-page[data-sola=ServerConfigView]{max-width:min(1920px,100%);margin:0 auto;padding:28px 28px 72px}[data-sola=ServerConfigView] .svrcfg-title{font-size:26px;font-weight:500;margin:0 0 18px;letter-spacing:-.01em}[data-sola=ServerConfigView] .svrcfg-headcard{display:flex;align-items:center;gap:0;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--surface-alt, #faf9f6);padding:14px 18px}[data-sola=ServerConfigView] .svrcfg-headcell{display:flex;flex-direction:column;gap:6px;padding:0 22px;border-right:1px solid var(--border, #e5e7eb);min-width:180px}[data-sola=ServerConfigView] .svrcfg-headcell:first-child{padding-left:4px}[data-sola=ServerConfigView] .svrcfg-headaction{padding:0 4px 0 22px}[data-sola=ServerConfigView] .svrcfg-headright{display:flex;align-items:center;margin-left:auto}[data-sola=ServerConfigView] .svrcfg-headcell.is-bundle{border-right:0}[data-sola=ServerConfigView] .svrcfg-headhint{font-size:11px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-headlabel{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-headvalue{font-size:15px;font-weight:500}[data-sola=ServerConfigView] .svrcfg-bundle{width:200px;height:34px;padding:0 10px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:14px;text-align:right}[data-sola=ServerConfigView] .svrcfg-done{height:36px;padding:0 26px;border:0;border-radius:6px;background:var(--primary, #01a982);color:#fff;font-size:14px;cursor:pointer}[data-sola=ServerConfigView] .svrcfg-done:disabled{opacity:.6;cursor:default}[data-sola=ServerConfigView] .svrcfg-notice,[data-sola=ServerConfigView] .svrcfg-warn,[data-sola=ServerConfigView] .svrcfg-error{margin:10px 0 0;font-size:13px}[data-sola=ServerConfigView] .svrcfg-warn{color:#b45309}[data-sola=ServerConfigView] .svrcfg-error{color:#b91c1c}[data-sola=ServerConfigView] .svrcfg-notice{color:#b45309}[data-sola=ServerConfigView] .svrcfg-hint{font-size:13px;color:var(--text-muted, #6b7280);padding:10px 4px}[data-sola=ServerConfigView] .svrcfg-section{margin-top:28px;border:1px solid var(--border, #e5e7eb);border-radius:10px;padding:16px 18px 6px}[data-sola=ServerConfigView] .svrcfg-h2{font-size:15px;font-weight:500;margin:0 0 12px}[data-sola=ServerConfigView] .svrcfg-table{width:100%;border-collapse:collapse;font-size:13px}[data-sola=ServerConfigView] .svrcfg-table thead th{text-align:left;font-weight:400;color:var(--text-muted, #6b7280);padding:8px 10px;border-bottom:1px solid var(--border, #e5e7eb);white-space:nowrap}[data-sola=ServerConfigView] .svrcfg-table td{padding:7px 10px;border-bottom:1px solid var(--border-subtle, #f1f0ec);vertical-align:middle}[data-sola=ServerConfigView] .svrcfg-row.is-chassis{background:#f5ecdc}[data-sola=ServerConfigView] .svrcfg-row.is-blank td{border-bottom:0}[data-sola=ServerConfigView] .svrcfg-c-cat{width:150px}[data-sola=ServerConfigView] .svrcfg-c-part{width:200px}[data-sola=ServerConfigView] .svrcfg-c-qty{width:90px}[data-sola=ServerConfigView] .svrcfg-c-src{width:240px}[data-sola=ServerConfigView] .svrcfg-c-cost{width:130px}[data-sola=ServerConfigView] .svrcfg-c-ref{width:210px}[data-sola=ServerConfigView] .svrcfg-c-price{width:150px}[data-sola=ServerConfigView] .svrcfg-c-margin{width:120px;text-align:right}[data-sola=ServerConfigView] .svrcfg-c-rate{width:90px;text-align:right}[data-sola=ServerConfigView] .svrcfg-c-act{width:70px;text-align:center}[data-sola=ServerConfigView] .svrcfg-cat-fixed{font-size:12px;letter-spacing:.02em}[data-sola=ServerConfigView] .svrcfg-part{font-family:var(--font-mono, ui-monospace),monospace;font-size:12px}[data-sola=ServerConfigView] .svrcfg-chip{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:4px;background:#fef3c7;color:#92400e}[data-sola=ServerConfigView] .svrcfg-chip.is-base{background:#e0e7ff;color:#3730a3}[data-sola=ServerConfigView] .svrcfg-src-fixed{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-qty:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}[data-sola=ServerConfigView] .svrcfg-pencil,[data-sola=ServerConfigView] .svrcfg-dup,[data-sola=ServerConfigView] .svrcfg-trash,[data-sola=ServerConfigView] .svrcfg-gear{border:0;background:none;cursor:pointer;font-size:13px;color:var(--text-muted, #6b7280);padding:2px 4px}[data-sola=ServerConfigView] .svrcfg-pencil:hover,[data-sola=ServerConfigView] .svrcfg-dup:hover,[data-sola=ServerConfigView] .svrcfg-trash:hover,[data-sola=ServerConfigView] .svrcfg-gear:hover{color:var(--text, #111)}[data-sola=ServerConfigView] .svrcfg-desc,[data-sola=ServerConfigView] .svrcfg-qty,[data-sola=ServerConfigView] .svrcfg-price,[data-sola=ServerConfigView] .svrcfg-cost,[data-sola=ServerConfigView] .svrcfg-src,[data-sola=ServerConfigView] .svrcfg-catsel,[data-sola=ServerConfigView] .svrcfg-search{width:100%;height:32px;padding:0 8px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:13px;background:#fff}[data-sola=ServerConfigView] .svrcfg-qty,[data-sola=ServerConfigView] .svrcfg-cost,[data-sola=ServerConfigView] .svrcfg-price{text-align:right}[data-sola=ServerConfigView] .svrcfg-catsel.is-empty{border-color:#f59e0b;color:#b45309}[data-sola=ServerConfigView] .svrcfg-warnrow td{padding:0 10px 7px;border-bottom:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-row.is-nocat td,[data-sola=ServerConfigView] .svrcfg-base-row.is-nocat td{border-bottom:0}[data-sola=ServerConfigView] .svrcfg-catwarn{font-size:12px;color:#b45309}[data-sola=ServerConfigView] .svrcfg-row.is-nocat .svrcfg-part,[data-sola=ServerConfigView] .svrcfg-base-row.is-nocat .svrcfg-base-pick{border:1px solid #f59e0b;border-radius:6px;padding:2px 6px;background:#fffbeb}[data-sola=ServerConfigView] .svrcfg-addlabel{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-sumrow{display:flex;justify-content:flex-end;gap:36px;padding:6px 4px 2px}[data-sola=ServerConfigView] .svrcfg-sumcell{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:120px}[data-sola=ServerConfigView] .svrcfg-sumlabel{color:var(--text-muted, #6b7280);font-size:12px}[data-sola=ServerConfigView] .svrcfg-sumvalue{font-weight:500}[data-sola=ServerConfigView] .svrcfg-sumnote{margin:2px 4px 0;text-align:right;font-size:12px;color:#b45309}[data-sola=ServerConfigView] .svrcfg-ref-empty{color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-searchpanel{position:fixed;z-index:1100;max-height:min(70vh,560px);overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:#fff;box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014}[data-sola=ServerConfigView] .svrcfg-panel-head{padding:10px 12px;border-bottom:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-panel-head .svrcfg-search{width:100%;box-sizing:border-box}[data-sola=ServerConfigView] .svrcfg-panel-foot{padding:10px 12px 12px;border-top:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-hit{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;padding:8px 12px;border:0;border-bottom:1px solid var(--border-subtle, #f1f0ec);background:none;cursor:pointer;font:inherit;font-size:13px}[data-sola=ServerConfigView] .svrcfg-hit:hover{background:var(--surface-alt, #faf9f6)}[data-sola=ServerConfigView] .svrcfg-hit.is-picked{background:#e6f4ef}[data-sola=ServerConfigView] .svrcfg-hit code{font-family:var(--font-mono, ui-monospace),monospace;font-size:12px;flex:0 0 130px}[data-sola=ServerConfigView] .svrcfg-hit span{color:var(--text-muted, #6b7280);flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-sola=ServerConfigView] .svrcfg-hit{align-items:center}[data-sola=ServerConfigView] .svrcfg-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}[data-sola=ServerConfigView] .svrcfg-modal{width:1040px;max-width:calc(100vw - 48px);background:#fff;border-radius:12px;padding:22px 24px}[data-sola=ServerConfigView] .svrcfg-modal{padding:0}[data-sola=ServerConfigView] .svrcfg-modal-head{padding:20px 24px 16px;border-bottom:1px solid var(--border, #e5e7eb)}[data-sola=ServerConfigView] .svrcfg-modal-title{font-size:17px;font-weight:500;margin:0 0 6px}[data-sola=ServerConfigView] .svrcfg-modal-desc{font-size:13px;color:var(--text-muted, #6b7280);margin:0}[data-sola=ServerConfigView] .svrcfg-modal-sec{padding:16px 24px;border-bottom:1px solid var(--border, #e5e7eb)}[data-sola=ServerConfigView] .svrcfg-modal-h4{font-size:14px;font-weight:500;margin:0 0 8px}[data-sola=ServerConfigView] .svrcfg-modal-hint{font-size:12px;color:var(--text-muted, #6b7280);margin:8px 0 0}[data-sola=ServerConfigView] .svrcfg-modal-staged{display:flex;align-items:baseline;gap:8px;font-size:12px;margin:10px 0 0;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-modal-staged code{font-family:var(--font-mono, ui-monospace),monospace;color:var(--text, #111);flex:0 0 auto}[data-sola=ServerConfigView] .svrcfg-modal-staged span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-sola=ServerConfigView] .svrcfg-fieldset{margin:16px 24px 0;border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:10px 14px 12px}[data-sola=ServerConfigView] .svrcfg-fieldset legend{font-size:12px;color:var(--text-muted, #6b7280);padding:0 6px}[data-sola=ServerConfigView] .svrcfg-req{color:#dc2626}[data-sola=ServerConfigView] .svrcfg-radios{display:flex;align-items:center;gap:20px;font-size:13px}[data-sola=ServerConfigView] .svrcfg-radios label{display:flex;align-items:center;gap:6px;cursor:pointer}[data-sola=ServerConfigView] .svrcfg-modal-hits{max-height:240px;overflow-y:auto;border:1px solid var(--border, #e5e7eb);border-radius:8px;margin:10px 0 0}[data-sola=ServerConfigView] .svrcfg-register{background:var(--surface-alt, #faf9f6);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:14px 16px}[data-sola=ServerConfigView] .svrcfg-field{display:block;margin-top:10px}[data-sola=ServerConfigView] .svrcfg-field>span{display:block;font-size:12px;color:var(--text-muted, #6b7280);margin-bottom:4px}[data-sola=ServerConfigView] .svrcfg-register-foot{display:flex;gap:8px;margin-top:14px}[data-sola=ServerConfigView] .svrcfg-modal-foot{display:flex;gap:8px;padding:16px 24px 20px}[data-sola=ServerConfigView] .svrcfg-btn{height:34px;padding:0 18px;border:1px solid var(--border-strong, #d1d5db);border-radius:6px;background:#fff;font-size:13px;cursor:pointer}[data-sola=ServerConfigView] .svrcfg-btn.is-primary{border-color:transparent;background:var(--primary, #01a982);color:#fff}[data-sola=ServerConfigView] .svrcfg-btn:disabled{opacity:.5;cursor:default}[data-sola=ServerConfigView] .svrcfg-cand-groups{margin-top:6px}[data-sola=ServerConfigView] .svrcfg-cand-group{border:1px solid var(--border, #e5e7eb);border-radius:8px;margin-bottom:8px;background:#fff}[data-sola=ServerConfigView] .svrcfg-cand-group>summary{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;font-size:13px;list-style:none}[data-sola=ServerConfigView] .svrcfg-cand-group>summary::-webkit-details-marker{display:none}[data-sola=ServerConfigView] .svrcfg-cand-group>summary:before{content:"▸";color:var(--text-muted, #6b7280);font-size:11px}[data-sola=ServerConfigView] .svrcfg-cand-group[open]>summary:before{content:"▾"}[data-sola=ServerConfigView] .svrcfg-cand-cat{font-weight:500;letter-spacing:.02em}[data-sola=ServerConfigView] .svrcfg-cand-count{margin-left:auto;font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-cand-group>summary .svrcfg-btn-sm{margin-left:10px}[data-sola=ServerConfigView] .svrcfg-cand-count{margin-left:auto}[data-sola=ServerConfigView] .svrcfg-modal-cand{width:900px;max-width:94vw}[data-sola=ServerConfigView] .svrcfg-swap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}[data-sola=ServerConfigView] .svrcfg-swap.is-error{background:#fef2f2;border-color:#fecaca}[data-sola=ServerConfigView] .svrcfg-swap.is-error .svrcfg-swap-text{color:#991b1b}[data-sola=ServerConfigView] .svrcfg-swap-text{margin:0;flex:1 1 320px;font-size:13px;line-height:1.6;color:#1e3a5f}[data-sola=ServerConfigView] .svrcfg-swap-acts{display:flex;gap:8px;flex:0 0 auto}[data-sola=ServerConfigView] .svrcfg-cond-chip{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;background:#eef2ff;border:1px solid #c7d2fe;font-size:12px;font-weight:600;color:#3730a3;vertical-align:middle}[data-sola=ServerConfigView] .svrcfg-base-empty{margin:0 0 10px}[data-sola=ServerConfigView] .svrcfg-modal-base{width:940px;max-width:94vw}[data-sola=ServerConfigView] .svrcfg-base-warn{margin:0 0 12px;padding:10px 12px;background:#fefce8;border:1px solid #fde68a;border-radius:6px;font-size:13px}[data-sola=ServerConfigView] .svrcfg-base-tools{display:flex;justify-content:flex-end;margin-bottom:8px}[data-sola=ServerConfigView] .svrcfg-base-table{width:100%;border-collapse:collapse;font-size:13px}[data-sola=ServerConfigView] .svrcfg-base-table thead th{text-align:left;font-weight:400;font-size:12px;color:var(--text-muted, #6b7280);padding:7px 8px;border-top:1px solid var(--border-subtle, #f1f0ec);border-bottom:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-base-table td{padding:6px 8px;border-bottom:1px solid var(--border-subtle, #f1f0ec);vertical-align:middle}[data-sola=ServerConfigView] .svrcfg-base-cat{width:150px}[data-sola=ServerConfigView] .svrcfg-base-part{width:190px}[data-sola=ServerConfigView] .svrcfg-base-qty{width:80px}[data-sola=ServerConfigView] .svrcfg-base-act{width:60px}[data-sola=ServerConfigView] .svrcfg-base-none{padding:22px 8px;text-align:center;font-size:13px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-base-pick{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;width:100%;font-family:inherit;text-align:left;background:#fff;border:1px solid var(--border, #e5e7eb);border-radius:6px;cursor:pointer}[data-sola=ServerConfigView] .svrcfg-base-pick:hover{border-color:var(--accent, #10a37f)}[data-sola=ServerConfigView] .svrcfg-base-pick code{font-family:var(--font-mono, ui-monospace),monospace;font-size:12px}[data-sola=ServerConfigView] .svrcfg-cand-pool-region{margin-top:12px}[data-sola=ServerConfigView] .svrcfg-pool-wrap{max-height:46vh;overflow-y:auto;border:1px solid var(--border-subtle, #f1f0ec);border-radius:6px}[data-sola=ServerConfigView] .svrcfg-pool-table{width:100%;border-collapse:collapse;font-size:13px}[data-sola=ServerConfigView] .svrcfg-pool-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-weight:400;font-size:12px;color:var(--text-muted, #6b7280);background:var(--surface-subtle, #faf9f7);padding:7px 10px;border-bottom:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-pool-table td{padding:6px 10px;border-bottom:1px solid var(--border-subtle, #f1f0ec);vertical-align:middle}[data-sola=ServerConfigView] .svrcfg-pool-chk{width:40px}[data-sola=ServerConfigView] .svrcfg-pool-part{width:160px}[data-sola=ServerConfigView] .svrcfg-pool-part code{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-pool-row.is-on{background:#f0fdf9}[data-sola=ServerConfigView] .svrcfg-pool-row.is-on .svrcfg-pool-part code{color:var(--accent, #10a37f)}[data-sola=ServerConfigView] .svrcfg-cand-selcount{margin-left:auto;font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-cand-body{padding-top:4px}[data-sola=ServerConfigView] .svrcfg-cand-empty{padding:4px 12px 12px}[data-sola=ServerConfigView] .svrcfg-cand-foot{display:flex;align-items:center;gap:10px;padding:8px 0 0}[data-sola=ServerConfigView] .svrcfg-cand-shown{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-cand-foot .svrcfg-btn-sm{margin-left:auto}[data-sola=ServerConfigView] .svrcfg-cand-table{width:100%;border-collapse:collapse;font-size:13px}[data-sola=ServerConfigView] .svrcfg-cand-table thead th{text-align:left;font-weight:400;font-size:12px;color:var(--text-muted, #6b7280);padding:6px 12px;border-top:1px solid var(--border-subtle, #f1f0ec);border-bottom:1px solid var(--border-subtle, #f1f0ec)}[data-sola=ServerConfigView] .svrcfg-cand-table td{padding:6px 12px;border-bottom:1px solid var(--border-subtle, #f1f0ec);vertical-align:middle}[data-sola=ServerConfigView] .svrcfg-cand-table tr:last-child td{border-bottom:0}[data-sola=ServerConfigView] .svrcfg-cand-add{width:78px}[data-sola=ServerConfigView] .svrcfg-cand-src{width:200px}[data-sola=ServerConfigView] .svrcfg-btn-sm{height:26px;padding:0 10px;font-size:12px}[data-sola=ServerConfigView] .svrcfg-cand-added{font-size:12px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-cand-part code{font-family:var(--font-mono, ui-monospace),monospace;font-size:12px}[data-sola=ServerConfigView] .svrcfg-cand-def{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:4px;background:#e6f4ef;color:#0f6e56}[data-sola=ServerConfigView] .svrcfg-cand-desc{margin-left:8px;color:var(--text-muted, #6b7280)}[data-sola=ServerConfigView] .svrcfg-cand-srcph{color:var(--text-muted, #9ca3af);font-size:12px}
