/* Approved Concept A. Replaces ui-refinement.css, not another stacked theme.
   Existing semantic/data classes remain owned by app.js and pc-tools.js. */
:root {
  --canvas:#f5f6f8; --bg:#f5f6f8; --surface:#fff;
  --surface-subtle:#f8f9fb; --surface-muted:#edf0f4;
  --ink:#182331; --ink-soft:#526071; --muted:#687587;
  --line:#e4e8ed; --line-strong:#cbd3dc;
  --accent:#c94b26; --accent-strong:#b84120; --accent-soft:#fff1eb;
  --sold:#237966; --danger:#ad302a; --focus:#246cab;
  --radius-sm:8px; --radius-md:14px; --up-width:1296px;
  font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  color-scheme:light;
}
body.ui-a { overflow-x:visible; background:var(--canvas); color:var(--ink); font-size:14px; line-height:1.6; }
.ui-a *, .ui-a *::before, .ui-a *::after { box-sizing:border-box; }
.ui-a :is(button,input,select,textarea,a,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.ui-a :is(h1,h2,h3,p) { overflow-wrap:break-word; }
.ui-a :is(.site-header,.tools-header) {
  position:static; display:flex; align-items:center; gap:44px;
  width:100%; max-width:none; height:78px; min-height:78px; margin:0;
  padding:0 max(20px,calc((100vw - 1256px)/2)); border:0;
  border-bottom:1px solid var(--line); background:var(--surface); backdrop-filter:none;
}
.ui-a .brand { display:flex; align-items:center; gap:9px; flex-shrink:0; min-height:0; height:auto; padding:0; text-decoration:none; font-size:22px; font-weight:800; letter-spacing:-.8px; }
.ui-a .brand img { width:32px; height:32px; }
.ui-a .brand-used { color:var(--ink); }
.ui-a .brand-pick { color:var(--accent); margin-left:-3px; }
.ui-a :is(.site-header,.tools-header) nav { display:flex; align-items:stretch; align-self:stretch; gap:30px; min-width:0; }
.ui-a :is(.site-header,.tools-header) nav a { display:flex; align-items:center; padding:0 2px; border-bottom:3px solid transparent; color:var(--ink-soft); font-size:14px; font-weight:650; text-decoration:none; white-space:nowrap; }
.ui-a :is(.site-header,.tools-header) nav a[aria-current=page] { color:var(--ink); border-color:var(--accent); }
.up-header-help { margin-left:auto; flex-shrink:0; color:var(--muted); font-size:12px; text-decoration:none; }
.ui-a .directory-shell, body.ui-a.has-selected-product .directory-shell, body.ui-a:not(.has-selected-product) .directory-shell,
.ui-a .tools-main { width:100%; max-width:var(--up-width); margin:0 auto; padding:30px 20px 40px; border:0; background:transparent; min-width:0; }
.up-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 26px; }
.up-page-heading h1 { margin:0; font-size:28px; font-weight:750; line-height:1.35; letter-spacing:-1.1px; }
.up-page-heading p:not(.up-eyebrow) { margin:8px 0 0; color:var(--ink-soft); font-size:14px; }
.up-page-heading .up-eyebrow { margin:0 0 8px; font-size:11px; font-weight:700; letter-spacing:1.5px; color:var(--muted); }
.up-service-note { padding:7px 12px; background:white; border:1px solid var(--line); border-radius:24px; font-size:12px; color:var(--ink-soft); white-space:nowrap; }
.up-button, .ui-a.pc-tools .up-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:42px; padding:9px 14px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink); font-size:13px; font-weight:600; cursor:pointer; text-decoration:none; white-space:normal; text-align:center; }
.up-button:hover, .ui-a.pc-tools .up-button:hover { background:var(--surface-subtle); color:var(--ink); text-decoration:none; }
.up-button.up-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
.ui-a.pc-tools .up-button.up-dark { background:#182b40; border-color:#182b40; color:white; }
.up-text-link { color:var(--accent-strong); font-size:12px; text-decoration:none; }
.up-panel { min-width:0; background:white; border:1px solid var(--line); border-radius:14px; box-shadow:0 4px 18px #1d2c3e04; }
.up-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px; border-bottom:1px solid var(--line); }
.ui-a h2, .ui-a.pc-tools h2:not(.sr-only) { margin:0; font-size:18px; line-height:1.4; letter-spacing:-.5px; }
.up-category-tabs, .ui-a #analysis-categories { display:flex; align-items:stretch; gap:5px; min-width:0; max-width:100%; padding:7px; margin:0 0 20px; border:1px solid var(--line); border-radius:12px; background:white; overflow-x:auto; scrollbar-width:thin; }
.up-category-tabs button, .ui-a #analysis-categories button { display:flex; align-items:center; justify-content:center; gap:8px; flex:1 0 auto; min-height:43px; padding:8px 14px; border:0; border-radius:7px; background:transparent; color:var(--ink-soft); font-size:13px; font-weight:600; text-decoration:none; }
.up-category-tabs button[aria-pressed=true], .ui-a #analysis-categories button[aria-pressed=true] { background:var(--accent-soft); color:var(--accent-strong); }
.up-category-tabs svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.ui-a .catalog-workspace, body.ui-a.has-selected-product .catalog-workspace { padding:0; min-width:0; }
.ui-a .workspace-heading, body.ui-a.has-selected-product .workspace-heading { display:grid; grid-template-columns:180px minmax(200px,.9fr) minmax(0,1.2fr); align-items:center; gap:14px; min-height:0; margin:0 0 14px; padding:14px 18px; background:white; border:1px solid var(--line); border-radius:12px; }
.ui-a.has-category-tabs .category-selector { display:none; }
body.ui-a.has-category-tabs .workspace-heading { grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr); }
.ui-a .category-selector select, .ui-a .model-selector select { width:100%; min-width:0; min-height:42px; max-width:100%; height:auto; padding:10px 12px; border:1px solid var(--line-strong); border-radius:8px; background:white; color:var(--ink); font-size:13px; font-weight:550; }
.ui-a .workspace-source-facet { grid-column:auto; display:flex; align-items:center; gap:12px; padding:0; }
.ui-a .source-selector-label { font-size:12px; font-weight:600; }
.ui-a .source-choice span { font-size:12px; padding:10px 1px; font-weight:550; }
.ui-a .workspace-source-facet .facet-values { gap:20px; }
.up-search-row { display:flex; align-items:center; gap:12px; margin:0 0 20px; }
.up-catalog-search { display:flex; align-items:center; flex:1; min-width:0; border:1px solid var(--line-strong); border-radius:8px; background:white; overflow:hidden; }
.up-catalog-search input { flex:1; width:100%; min-width:0; min-height:44px; padding:10px 14px; border:0; background:transparent; font:inherit; }
.up-catalog-search button { align-self:stretch; padding:8px 18px; border:0; border-left:1px solid var(--line); background:var(--surface-subtle); font:inherit; color:var(--ink); }
.up-filter-open { display:none; }
.ui-a .workspace-content { --filter-column-width:224px; display:grid; grid-template-columns:var(--filter-column-width) 22px minmax(0,1fr); align-items:start; gap:0; }
.ui-a .model-filters, body.ui-a.has-selected-product .model-filters { grid-column:1; grid-row:1; position:sticky; top:20px; width:100%; max-height:calc(100dvh - 40px); margin:0; padding:0 18px 18px; border:1px solid var(--line); border-radius:14px; background:white; }
.ui-a .model-filters-heading { min-height:60px; gap:8px; }
.ui-a .model-filters-heading h2 { font-size:15px; }
.ui-a .filter-context { display:none; }
.ui-a .filter-visibility-toggle, .ui-a .reset-filters { min-height:36px; font-size:12px; }
.ui-a .facet-row-label { font-size:13px; font-weight:650; }
.ui-a .facet-selected-summary, .ui-a .model-facet-count { font-size:11px; }
.ui-a .model-facet-choice { min-height:36px; gap:9px; font-size:13px; }
.ui-a .model-facet-option-label { font-size:13px; }
.ui-a .model-facet-choice input { width:16px; height:16px; accent-color:var(--accent); }
.ui-a .model-facet-values { grid-template-columns:minmax(0,1fr); }
.ui-a .facet-disclosure { padding:14px 0 9px; }
.ui-a .active-filter-summary { gap:8px; }
.ui-a .active-filter-chip { font-size:12px; border-radius:6px; }
.ui-a .show-matched-models { min-height:42px; margin-top:16px; background:var(--accent); border-color:var(--accent); color:white; border-radius:8px; font-size:13px; }
.ui-a .filter-column-resizer { width:22px; min-width:22px; }
.ui-a .filter-column-resizer::before { left:10px; background:transparent; }
.ui-a .filter-column-resizer:hover::before, .ui-a .filter-column-resizer:focus-visible::before { background:var(--line-strong); }
.ui-a .results-flow, body.ui-a.has-selected-product .results-flow { display:flex; flex-direction:column; width:100%; min-width:0; grid-column:3; grid-row:1; gap:18px; }
.ui-a .analysis-column-resizer, body.ui-a.has-selected-product .analysis-column-resizer { display:none; }
.ui-a .catalog-message { order:-1; margin:0; }
.ui-a .model-detail-dialog:not([hidden]) { position:static; width:100%; max-width:none; max-height:none; margin:0; border:1px solid var(--line); border-radius:14px; background:white; overflow:visible; }
.ui-a .model-detail-window { max-height:none; overflow:visible; }
.ui-a .model-detail-dialog:not([hidden]) .model-detail-header { min-height:0; padding:22px 24px 14px; border-bottom:0; }
.ui-a .model-detail-kicker { color:var(--muted); font-size:11px; font-weight:600; }
.ui-a .model-detail-title-line { margin-top:8px; }
.ui-a .model-detail-title-line h2 { font-size:24px; font-weight:750; }
.ui-a .model-detail-chip { width:24px; height:24px; }
.ui-a .model-detail-dialog:not([hidden]) .price-panel-content { padding:0 24px 18px; }
.ui-a .price-summary-head { display:block; padding:0 0 8px; }
.ui-a .price-summary-head p { color:var(--muted); font-size:12px; margin:0; }
.ui-a .price-summary-columns { display:none; }
.ui-a .price-summary-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:8px 0 18px; }
.ui-a .price-summary-row { display:grid; grid-template-columns:1fr 1fr; gap:5px 10px; min-width:0; padding:0; border:0; background:none; }
.ui-a .price-summary-row + .price-summary-row { border-left:1px solid var(--line); padding-left:24px; }
.ui-a .price-summary-label { grid-column:1/-1; display:flex; align-items:center; gap:6px; }
.ui-a .price-summary-label small { display:none; }
.ui-a .price-summary-label strong { font-size:12px; font-weight:550; }
.ui-a .price-summary-row > span[id$="-mean"] { grid-column:1/-1; grid-row:2; color:var(--ink); font-size:28px; line-height:1.45; letter-spacing:-.7px; font-weight:750; }
.ui-a .price-summary-row > strong, .ui-a .price-summary-row > span[id$="-count"] { color:var(--muted); font-size:11px; font-weight:400; }
.ui-a .price-summary-row > strong::before { content:'최근 관측일 평균 '; }
.ui-a .price-summary-row > span[id$="-count"]::before { content:'표본 '; }
.ui-a .price-summary-row.is-empty > span[id$="-mean"] { font-size:16px; color:var(--muted); }
.up-market-chart { border-top:1px solid var(--line); padding-top:10px; }
.up-market-chart > summary { min-height:40px; padding:10px 0; cursor:pointer; color:var(--accent-strong); font-size:13px; font-weight:600; }
.ui-a .chart-source-choice span, .ui-a .chart-window-note, .ui-a .chart-step, .ui-a .method-note { font-size:12px; }
.ui-a .source-evidence-name, .ui-a .source-evidence-metrics strong { font-size:12px; }
.ui-a .source-evidence-metrics small, .ui-a .source-evidence-metrics em { font-size:11px; }
.ui-a .listing-section { border-radius:14px; min-width:0; }
.ui-a .listing-topbar { display:flex; flex-direction:column; align-items:stretch; gap:14px; padding:18px 22px; border-bottom:1px solid var(--line); }
.ui-a .listing-heading, .ui-a .listing-heading:has(.model-detail-open:not([hidden])) { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 14px; min-height:0; padding:0; border:0; position:static; }
.ui-a .listing-heading h2 { font-size:17px; }
.ui-a #listing-count { color:var(--muted); font-weight:500; }
.ui-a .listing-heading .contextual-offer:not([hidden]) { flex:0 1 auto; max-width:100%; }
.ui-a .listing-heading .affiliate-copy { flex-wrap:wrap; }
.ui-a .listing-options { margin:0; padding:0; border:0; }
.ui-a .listing-options-toggle { display:none; }
.ui-a .listing-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; min-height:0; margin:0; padding:0; border:0; }
.ui-a .listing-sort-tabs { flex-shrink:0; gap:6px; }
.ui-a .listing-sort-tab { min-height:38px; padding:8px 10px; font-size:12px; border-radius:6px; }
.ui-a .listing-sort-tab::after { display:none; }
.ui-a .listing-sort-tab[aria-pressed=true] { color:var(--accent-strong); background:var(--accent-soft); }
.ui-a .listing-price-range { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-left:auto; }
.ui-a .listing-price-range input { width:84px; min-width:0; min-height:38px; font-size:12px; border-radius:8px; }
.ui-a .listing-price-range button[type=submit] { min-height:38px; border-radius:8px; background:var(--accent); }
.ui-a .listing-row { display:grid; grid-template-columns:72px minmax(0,1fr) minmax(100px,auto) 36px; align-items:center; min-height:110px; gap:16px; padding:18px 22px; }
.ui-a .listing-row:hover { background:var(--surface-subtle); }
.ui-a .listing-media { width:72px; height:72px; border-radius:10px; background:var(--surface-muted); }
.ui-a .listing-title { font-size:14px; font-weight:650; line-height:1.5; }
.ui-a .listing-spec { font-size:12px; white-space:normal; }
.ui-a .listing-meta { gap:6px; }
.ui-a :is(.listing-source,.listing-market,.listing-state,.listing-scope) { font-size:11px; font-weight:500; border-radius:4px; }
.ui-a .listing-price { font-size:21px; font-weight:750; font-variant-numeric:tabular-nums; }
.ui-a .listing-sale-state, .ui-a .listing-time { display:block; font-size:11px; }
.ui-a .listing-favorite { width:36px; height:42px; }
.ui-a :is(.listing-page-number,.listing-page-direction) { min-width:36px; min-height:38px; border-radius:7px; }
.ui-a .back-to-models { width:auto; min-height:38px; padding:6px 10px; font-size:12px; }
.ui-a .model-detail-close, .ui-a .model-detail-open { min-height:38px; padding:7px 12px; border:1px solid var(--line-strong); border-radius:8px; background:white; font-size:12px; }
/* Tool pages: same controls, same calculator, new composition. */
.ui-a.pc-tools :is(button,select,input) { font-size:13px; }
.ui-a.pc-tools :is(select,input[type=search],input[type=number]) { min-height:42px; padding:9px 11px; border:1px solid var(--line-strong); border-radius:8px; background:white; }
.ui-a.pc-tools input[type=number] { width:58px; min-height:36px; padding:6px; }
.ui-a .tools-builder-layout, .ui-a.pc-tools[data-page=builder] .tools-builder-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:22px; margin:0; }
.ui-a .up-build-panel { overflow:hidden; }
.ui-a .up-panel-heading .build-heading { margin:0; }
.ui-a .tools-table-scroll { max-width:100%; min-width:0; }
.ui-a.pc-tools table { min-width:0; width:100%; table-layout:fixed; border-collapse:collapse; }
.ui-a.pc-tools th { padding:12px 16px; background:var(--surface-subtle); border-color:var(--line); font-size:12px; height:auto; }
.ui-a.pc-tools td, .ui-a.pc-tools[data-page=builder] td { height:auto; padding:16px; font-size:13px; border-color:var(--line); overflow-wrap:anywhere; }
.ui-a.pc-tools td.model-name { min-width:0; font-size:14px; }
.ui-a.pc-tools td small { font-size:12px; line-height:1.6; }
.ui-a .model-name-link { color:var(--ink); text-decoration:none; font-weight:600; }
.ui-a .model-name-link:hover { color:var(--accent-strong); text-decoration:underline; }
.ui-a.pc-tools tr.is-selected > td { background:#fff9f5; }
.ui-a.pc-tools #build-table .build-col-part { width:19%; }
.ui-a.pc-tools #build-table .build-col-model { width:65%; }
.ui-a.pc-tools #build-table .build-col-action { width:16%; }
.ui-a.pc-tools #build-table input[type=number] { display:block; margin:8px 0 0; }
.ui-a #build-table td:last-child:not([colspan]) { position:static; text-align:center; white-space:normal; }
.ui-a #build-table td:last-child:not([colspan]) button { display:block; width:100%; min-height:38px; border:1px solid var(--line); border-radius:7px; background:white; margin:3px 0; padding:7px 4px; font-size:12px; }
.ui-a #build-table button[data-action=remove] { color:var(--muted); border-color:transparent; font-size:20px; }
.ui-a .build-empty button { width:100%; min-height:48px; text-align:left; color:var(--muted); }
.ui-a .tools-build-price { margin-top:8px; }
.ui-a .tools-line-price { font-size:12px; }
.ui-a .tools-line-price.series-active { color:var(--ink-soft); }
.ui-a .tools-line-price.series-sold { color:var(--sold); }
.up-build-note { padding:18px 22px; background:var(--surface-subtle); color:var(--ink-soft); font-size:12px; }
.up-build-note p { margin:5px 0 0; }
.ui-a .build-result { position:sticky; top:22px; min-width:0; padding:24px; }
.ui-a .build-result .tools-summary { display:flex; flex-direction:column; align-items:stretch; gap:18px; margin:22px 0 18px; padding:0; border:0; }
.ui-a .build-result .tools-summary-item { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.ui-a .build-result .tools-summary-item:first-child { flex-direction:row; align-items:center; gap:8px; padding:7px 12px; border:1px solid var(--line); border-radius:8px; background:var(--surface-subtle); }
.ui-a.pc-tools[data-page=builder] .build-result .tools-summary-item strong { font-size:30px; line-height:1.35; color:var(--ink); font-weight:750; }
.ui-a.pc-tools[data-page=builder] .build-result .tools-summary-item:first-child strong { font-size:15px; }
.ui-a.pc-tools[data-page=builder] .build-result .tools-summary-item .series-sold { font-size:24px; color:var(--sold); }
.ui-a .build-result .tools-summary-item span { font-size:12px; color:var(--ink-soft); }
.ui-a .tools-quote-status { font-size:12px; margin:0; color:var(--muted); }
.ui-a .tools-compatibility { padding:14px; background:var(--surface-subtle); border-radius:8px; margin:0 0 16px; }
.up-summary-note { font-size:12px; color:var(--ink-soft); background:var(--surface-subtle); padding:14px; border-radius:8px; margin:0 0 18px; }
.build-result > .up-button { display:flex; width:100%; margin-top:10px; }
.up-save-status { font-size:12px; color:var(--ink-soft); margin:12px 0 0; }
.up-save-status:empty { display:none; }
.ui-a .tools-affiliate:not([hidden]) { padding:14px 0 0; border:0; margin:0; background:transparent; }
.ui-a .affiliate-copy { min-width:0; }
.ui-a .adfit-banner:not([hidden]) { max-width:100%; margin:18px auto 0; }
.ui-a .analysis-filter-bar { display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0 0 22px; padding:0; border:0; }
.ui-a .analysis-filter-bar > .tools-tabs { flex:none; }
.ui-a .analysis-filter-bar #model-controls { padding:16px 18px 4px; border:1px solid var(--line); border-radius:12px; background:white; }
.ui-a.pc-tools[data-page=analysis] .analysis-filter-bar .tools-controls { justify-content:flex-start; flex-wrap:wrap; gap:10px; }
.ui-a .tools-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.ui-a .tools-controls label { min-width:0; max-width:100%; }
.ui-a .tools-controls .tools-search { min-width:160px; flex:1 1 220px; }
.ui-a .tools-controls select { max-width:180px; }
.ui-a .tools-scope-note { margin:10px 0 14px; font-size:12px; opacity:1; color:var(--muted); }
.up-analysis-layout { display:grid; grid-template-columns:minmax(0,1fr) 278px; gap:22px; align-items:start; }
.up-analysis-main { display:flex; flex-direction:column; gap:20px; min-width:0; }
.up-analysis-chart { min-width:0; }
.ui-a .analysis-context-row { display:block; margin:0; }
.ui-a .analysis-context-row .analysis-heading { display:flex; flex-direction:column; align-items:stretch; gap:16px !important; margin:0 0 16px; }
.ui-a #chart-title { font-size:22px; font-weight:700; max-width:100%; overflow-wrap:anywhere; }
.ui-a.pc-tools[data-page=analysis] .analysis-heading .tools-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px !important; width:100%; margin:0; }
.ui-a.pc-tools[data-page=analysis] .tools-summary-item { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:22px; border:1px solid var(--line); border-radius:14px; background:white; }
.ui-a.pc-tools[data-page=analysis] .analysis-heading .tools-summary-item strong { color:var(--ink); font-size:30px; line-height:1.4; letter-spacing:-.7px; }
.tools-summary-detail { display:block; width:100%; font-size:12px; font-weight:400; color:var(--muted); line-height:1.6; }
.ui-a .tools-chart-toolbar { margin:0 0 12px; }
.ui-a .tools-source-selector { margin:0; width:100%; }
.ui-a .tools-source-selector .tools-tabs { flex-wrap:nowrap; gap:18px; max-width:100%; overflow-x:auto; }
.ui-a .tools-source-selector .tools-tabs button { min-height:42px; font-size:12px; }
.ui-a .analysis-chart-area { padding:18px 18px 12px; border:1px solid var(--line); border-radius:14px; background:white; }
.ui-a .chart-period { justify-content:flex-end; gap:10px; }
.ui-a .tools-range-field { display:grid; gap:4px; }
.ui-a .tools-date-picker { border:1px solid var(--line-strong); border-radius:7px; background:white; }
.ui-a .tools-date-picker input[type=date] { width:114px; border:0; min-height:38px; padding:6px; }
.ui-a .tools-calendar { border-radius:12px; box-shadow:0 8px 32px #182b401a; }
.ui-a .tools-chart { max-width:100%; margin-top:16px; overflow:visible; }
.ui-a .tools-chart svg, .ui-a .tools-chart-plot { width:100%; min-width:0; }
.ui-a .tools-chart svg { height:auto; aspect-ratio:auto; }
.ui-a .tools-chart svg text { font-size:12px; fill:var(--muted); }
.ui-a .tools-chart-tooltip { max-width:calc(100% - 16px); white-space:normal; border-radius:8px; }
.ui-a .tools-chart-legend { flex-wrap:wrap; gap:12px 20px; font-size:12px; }
.ui-a .tools-caption { margin:10px 0 0; font-size:12px; line-height:1.7; }
.ui-a .tools-models { margin:0; overflow:hidden; }
.ui-a .tools-pages { margin:0; padding:16px; }
.ui-a .tools-pages button { min-width:38px; min-height:38px; padding:7px; border:1px solid var(--line); border-radius:7px; }
.ui-a .tools-pages button[aria-current=page] { background:var(--accent-soft); border-color:var(--accent-soft); color:var(--accent-strong); text-decoration:none; }
.ui-a .up-source-comparison { overflow:hidden; }
.up-source-row { display:grid; grid-template-columns:minmax(80px,.8fr) repeat(2,minmax(0,1fr)); gap:12px; padding:16px 22px; border-bottom:1px solid var(--line); font-size:13px; }
.up-source-row:last-child { border-bottom:0; }
.up-source-row > :not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.up-source-row small { display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.up-source-row.up-source-head { padding-top:12px; padding-bottom:12px; font-size:12px; color:var(--ink-soft); background:var(--surface-subtle); }
.up-analysis-aside { display:flex; flex-direction:column; gap:18px; }
.up-insight { padding:22px; }
.ui-a .up-insight h2 { font-size:15px; }
.up-insight dl { margin:20px 0; }
.up-insight dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:12px 0; font-size:12px; }
.up-insight dt { color:var(--muted); flex-shrink:0; }
.up-insight dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.up-insight p { font-size:12px; line-height:1.85; color:var(--ink-soft); }
.up-insight .up-button { width:100%; margin-top:12px; font-size:12px; }
/* Native dialogs supply focus trapping, inert background and Escape behavior. */
.up-dialog { color:var(--ink); background:white; border:1px solid var(--line); border-radius:16px; padding:24px; width:min(920px,calc(100vw - 48px)); max-width:100%; max-height:85dvh; overflow:auto; box-shadow:0 20px 70px #182b4030; }
.up-dialog:not([open]) { display:none; }
.up-dialog::backdrop { background:#182b4070; }
.up-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 20px; }
.ui-a .up-picker-dialog #model-table { max-height:50dvh; border:1px solid var(--line); border-radius:10px; }
.ui-a .up-picker-dialog #model-table th:first-child { width:42%; }
.ui-a .up-picker-dialog #model-table th:last-child { width:13%; }
.ui-a .up-picker-dialog td.price { text-align:right; font-size:13px; color:var(--ink); white-space:normal; }
.ui-a .up-picker-dialog td.series-sold { color:var(--sold); }
.ui-a .up-picker-dialog #model-table button { min-width:48px; padding:7px 10px; border:1px solid var(--line); border-radius:7px; background:white; }
.ui-a .up-picker-dialog #model-table button.primary { color:var(--accent-strong); background:var(--accent-soft); border-color:var(--accent-soft); }
.ui-a .up-filter-dialog .model-filters { position:static; max-height:none; border:0; padding:0; overflow:visible; }
.ui-a .up-filter-dialog .model-filters-heading { display:none; }
.up-filter-dialog > .up-primary { display:flex; width:100%; margin-top:18px; }
/* Supporting documents keep their original copy. */
.ui-a .market-app { width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; }
.ui-a .content-page { width:calc(100% - 40px); max-width:960px; margin:30px auto 40px; padding:36px 48px; border:1px solid var(--line); border-radius:14px; background:white; }
.ui-a .content-page h1 { font-size:28px; letter-spacing:-.8px; }
.ui-a .content-page h2 { margin:26px 0 12px; font-size:18px; }
.ui-a .content-page p, .ui-a .content-page li { color:var(--ink-soft); font-size:14px; line-height:1.9; }
.ui-a .content-page section { scroll-margin-top:24px; }
.ui-a .page-links { display:flex; flex-wrap:wrap; gap:14px 22px; margin-top:32px; border-top:1px solid var(--line); padding-top:22px; font-size:13px; }
.ui-a :is(.site-footer,.tools-footer) { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 22px; width:100%; max-width:var(--up-width); margin:0 auto; padding:22px 20px 30px; border:0; background:transparent; color:var(--muted); font-size:12px; }
.ui-a .site-footer p { margin:0; }
.ui-a :is(.site-footer,.tools-footer) a { color:var(--muted); text-decoration:none; }
.ui-a .site-footer nav { display:flex; flex-wrap:wrap; gap:14px; }
@media (min-width:761px) and (max-width:1320px) {
  .ui-a .filter-column-resizer { display:block !important; }
}
@media (max-width:1050px) {
  .ui-a .tools-builder-layout, .ui-a.pc-tools[data-page=builder] .tools-builder-layout { grid-template-columns:minmax(0,1fr) 300px; gap:18px; }
  .up-analysis-layout { grid-template-columns:minmax(0,1fr); }
  .up-analysis-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.ui-a .workspace-heading, body.ui-a.has-category-tabs .workspace-heading { grid-template-columns:minmax(0,1fr); }
  .ui-a .workspace-source-facet { grid-column:1; }
  .ui-a .listing-price-range { margin-left:0; }
}
@media (max-width:760px) {
  .ui-a :is(.site-header,.tools-header) { gap:0; flex-wrap:wrap; height:auto; min-height:0; padding:0 16px; }
  .ui-a .brand { min-height:56px; font-size:20px; }
  .ui-a .brand img { width:29px; height:29px; }
  .ui-a :is(.site-header,.tools-header) nav { order:3; width:100%; min-height:45px; gap:24px; }
  .ui-a :is(.site-header,.tools-header) nav a { min-height:44px; padding:8px 0; font-size:13px; }
  .up-header-help { font-size:12px; }
  .ui-a .directory-shell, body.ui-a.has-selected-product .directory-shell, body.ui-a:not(.has-selected-product) .directory-shell, .ui-a .tools-main { padding:24px 16px 30px; }
  .up-page-heading { align-items:flex-start; margin-bottom:20px; gap:12px; }
  .up-page-heading h1 { font-size:23px; letter-spacing:-.8px; }
  .up-page-heading p:not(.up-eyebrow) { font-size:13px; }
  .up-page-heading > .up-service-note, .up-page-heading > .up-button { display:none; }
  .up-page-heading .up-eyebrow { font-size:10px; }
  .up-category-tabs, .ui-a #analysis-categories { margin-bottom:16px; }
  .up-category-tabs button, .ui-a #analysis-categories button { padding:8px 13px; flex:0 0 auto; min-height:42px; }
  .ui-a .workspace-heading, body.ui-a.has-selected-product .workspace-heading { margin:0 0 14px; padding:12px; gap:10px; grid-template-columns:minmax(0,1fr); }
  .ui-a .workspace-source-facet .facet-values { gap:16px; }
  .ui-a .source-choice span { font-size:12px; }
  .up-search-row { gap:8px; margin-bottom:16px; }
  .up-catalog-search input { padding:10px; font-size:13px; }
  .up-catalog-search button { padding:8px 12px; font-size:13px; }
  .up-filter-open { display:inline-flex; flex-shrink:0; padding:9px 10px; }
  .ui-a .workspace-content { display:block; }
  .ui-a .workspace-content > .model-filters, body.ui-a.has-selected-product .workspace-content > .model-filters { display:none; }
  .ui-a .column-resizer { display:none !important; }
  .ui-a .results-flow, body.ui-a.has-selected-product .results-flow { display:flex; gap:16px; }
  .ui-a .model-detail-dialog:not([hidden]) .model-detail-header { padding:18px 16px 10px; }
  .ui-a .model-detail-dialog:not([hidden]) .price-panel-content { padding:0 16px 12px; }
  .ui-a .model-detail-title-line h2 { font-size:20px; }
  .ui-a .price-summary-list { gap:12px; }
  .ui-a .price-summary-row { grid-template-columns:minmax(0,1fr); }
  .ui-a .price-summary-row + .price-summary-row { padding-left:12px; }
  .ui-a .price-summary-row > span[id$="-mean"] { font-size:22px; }
  .ui-a .price-summary-label strong { font-size:12px; }
  .ui-a .price-summary-row > strong, .ui-a .price-summary-row > span[id$="-count"] { font-size:11px; }
  .ui-a .listing-topbar { padding:16px 14px; gap:12px; }
  .ui-a .listing-row { grid-template-columns:62px minmax(0,1fr) 34px; gap:8px 12px; padding:16px 14px; }
  .ui-a .listing-media { grid-row:1/3; width:62px; height:66px; align-self:start; }
  .ui-a .listing-body { grid-column:2; grid-row:1; min-width:0; }
  .ui-a .listing-commerce { grid-column:2; grid-row:2; align-items:flex-start; }
  .ui-a .listing-favorite { grid-column:3; grid-row:1/3; align-self:center; }
  .ui-a .listing-title { font-size:14px; }
  .ui-a .listing-spec { font-size:11px; }
  .ui-a .listing-price { font-size:20px; }
  .ui-a :is(.listing-market,.listing-state,.listing-scope) { font-size:10px; }
  .ui-a .listing-sort-tab { font-size:12px; padding:8px; }
  .ui-a .listing-price-range { width:100%; }
  .ui-a .listing-price-range input { width:78px; }
  .ui-a .listing-heading .affiliate-copy { flex-wrap:wrap; }
  .ui-a .tools-builder-layout, .ui-a.pc-tools[data-page=builder] .tools-builder-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  .ui-a .build-result { position:static; padding:22px; }
  .up-panel-heading { padding:18px 16px; }
  .ui-a.pc-tools #build-table table, .ui-a.pc-tools #build-table tbody { display:block; width:100%; }
  .ui-a.pc-tools #build-table colgroup { display:none; }
  .ui-a.pc-tools #build-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ui-a.pc-tools #build-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) 60px; border-bottom:1px solid var(--line); padding:14px 16px; }
  .ui-a.pc-tools #build-table td { display:block; width:auto; border:0; padding:4px 0; height:auto; min-width:0; }
  .ui-a.pc-tools #build-table td:first-child { display:flex; align-items:center; gap:12px; grid-column:1; grid-row:1; color:var(--ink-soft); font-size:12px; }
  .ui-a.pc-tools #build-table input[type=number] { display:inline-block; margin:0; }
  .ui-a.pc-tools #build-table td.model-name { grid-column:1; grid-row:2; font-size:14px; }
  .ui-a.pc-tools #build-table td:last-child:not([colspan]) { grid-column:2; grid-row:1/3; align-self:center; padding-left:8px; }
  .ui-a.pc-tools #build-table .build-empty { grid-column:1/-1; }
  .ui-a.pc-tools #build-table .build-empty button { min-height:42px; }
  .ui-a .tools-controls .tools-search { flex-basis:100%; min-width:0; }
  .ui-a .tools-controls label { flex:1 1 auto; }
  .ui-a .tools-controls select { width:100%; max-width:100%; }
  .ui-a.pc-tools[data-page=analysis] .analysis-filter-bar .tools-controls select { max-width:100%; }
  .ui-a .analysis-filter-bar #model-controls { padding:14px 12px 2px; }
  .ui-a.pc-tools[data-page=analysis] .analysis-heading .tools-summary { gap:12px !important; }
  .ui-a.pc-tools[data-page=analysis] .tools-summary-item { padding:16px 12px; }
  .ui-a.pc-tools[data-page=analysis] .analysis-heading .tools-summary-item strong { font-size:24px; }
  .ui-a.pc-tools[data-page=analysis] .tools-summary-item span { font-size:12px; }
  .tools-summary-detail { font-size:11px; }
  .ui-a #chart-title { font-size:20px; }
  .ui-a .analysis-chart-area { padding:14px 10px; }
  .ui-a .tools-date-picker input[type=date] { width:102px; font-size:12px; }
  .ui-a .tools-range-field .tools-date-picker > button { width:24px; min-width:24px; }
  .ui-a .chart-period { justify-content:flex-start; gap:8px; }
  .ui-a .tools-chart-controls > button { min-height:38px; padding:6px 8px; }
  .ui-a .tools-chart-legend { font-size:11px; }
  .up-source-row { gap:8px; padding:14px 12px; grid-template-columns:70px repeat(2,minmax(0,1fr)); font-size:12px; }
  .up-source-row small { font-size:11px; }
  .up-source-row.up-source-head { font-size:11px; }
  .up-analysis-aside { display:flex; }
  .ui-a .up-insight { padding:20px; }
  .up-dialog { width:calc(100vw - 24px); max-height:90dvh; padding:18px 14px; border-radius:14px; }
  .up-filter-dialog { margin:auto 0 0; width:100%; max-width:100%; max-height:88dvh; border-radius:18px 18px 0 0; padding:20px 20px max(20px,env(safe-area-inset-bottom)); }
  .up-dialog-heading { margin-bottom:14px; }
  .ui-a .up-picker-dialog #model-table table, .ui-a .up-picker-dialog #model-table tbody { display:block; }
  .ui-a .up-picker-dialog #model-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ui-a .up-picker-dialog #model-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) 64px; padding:10px; border-bottom:1px solid var(--line); }
  .ui-a .up-picker-dialog #model-table td { position:static; display:block; height:auto; min-width:0; width:auto; padding:5px 0; border:0; }
  .ui-a .up-picker-dialog #model-table td.model-name { grid-column:1; grid-row:1; font-size:14px; }
  .ui-a .up-picker-dialog #model-table td.price { grid-column:1; text-align:left; font-size:12px; }
  .ui-a .up-picker-dialog #model-table td.price::before { content:attr(data-label) ' · '; color:var(--muted); font-weight:400; }
  .ui-a .up-picker-dialog #model-table td:last-child:not([colspan]) { grid-column:2; grid-row:1/4; align-self:center; text-align:right; }
  .ui-a .up-picker-dialog #model-table td[colspan] { grid-column:1/-1; }
  .ui-a .tools-table-scroll th:last-child, .ui-a .tools-table-scroll td:last-child:not([colspan]) { position:static; }
  .ui-a .content-page { width:calc(100% - 32px); margin:24px auto; padding:24px 20px; }
  .ui-a .content-page h1 { font-size:24px; }
  .ui-a :is(.site-footer,.tools-footer) { padding:20px 16px 28px; font-size:11px; }
}
@media (max-width:359px) {
  .ui-a :is(.site-header,.tools-header) nav { gap:18px; }
  .ui-a .price-summary-list, .ui-a.pc-tools[data-page=analysis] .analysis-heading .tools-summary { grid-template-columns:minmax(0,1fr); }
  .ui-a .price-summary-row + .price-summary-row { border-left:0; border-top:1px solid var(--line); padding:14px 0 0; }
  .up-filter-open { font-size:12px; }
  .ui-a .tools-chart svg text { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .ui-a *, .ui-a *::before, .ui-a *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
@media (max-width:760px) {
  .ui-a .listing-pagination { gap:6px; }
  .ui-a .listing-page-numbers { min-width:0; flex-wrap:wrap; justify-content:center; max-width:198px; }
  .ui-a .listing-page-direction { flex-shrink:0; }
}
@media print {
  .ui-a :is(.site-header,.tools-header,.tools-footer,.site-footer,.up-dialog,.adfit-banner,.contextual-offer), .ui-a button { display:none !important; }
  .ui-a, .ui-a .tools-main { background:white; }
  .ui-a .tools-builder-layout, .ui-a.pc-tools[data-page=builder] .tools-builder-layout { display:block; }
  .ui-a .build-result { position:static; margin-top:20px; break-inside:avoid; }
  .ui-a .tools-table-scroll { overflow:visible; }
}

/* Search-first v2: functional rows, one search workspace and full-width tools.
   The earlier document/dialog rules remain shared; these rules own the three
   application page compositions. No price or data state is implemented in CSS. */
body.ui-a { --canvas:#fff; --bg:#fff; --up-width:1536px; --radius-sm:4px; --radius-md:4px; background:#fff; }
.ui-a [hidden] { display:none !important; }
.ui-a :is(.site-header,.tools-header) { height:64px; min-height:64px; gap:42px; padding:0 max(24px,calc((100% - var(--up-width))/2 + 24px)); background:#fff; }
.ui-a :is(.site-header,.tools-header) nav a { font-size:15px; }
.ui-a .brand { font-size:24px; }
.ui-a .up-header-help { font-size:13px; }
body.ui-a .directory-shell, body.ui-a.has-selected-product .directory-shell, body.ui-a:not(.has-selected-product) .directory-shell { padding:0 24px 32px; }
body.ui-a .tools-main { padding:0 24px 32px; }
.ui-a .up-button { border-radius:4px; box-shadow:none; }
.ui-a .up-category-tabs { padding:0; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; gap:24px; min-height:50px; }
.ui-a .up-category-tab { flex:0 0 auto; padding:10px 6px; border:0; border-bottom:3px solid transparent; border-radius:0; background:none; font-size:14px; }
.ui-a .up-category-tab[aria-pressed=true] { border-bottom-color:var(--accent); background:none; }
.ui-a .up-category-tab svg { display:none; }
.sf-search-tools { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr); align-items:start; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); }
body.ui-a .workspace-heading, body.ui-a.has-selected-product .workspace-heading, body.ui-a.has-category-tabs .workspace-heading { display:grid; grid-area:auto; order:0; grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr); gap:24px; padding:0; margin:0; border:0; border-radius:0; background:none; }
.ui-a .model-selector, .ui-a .workspace-source-facet { min-width:0; }
.ui-a .model-selector > label, .sf-query-label, .ui-a .source-selector-label { display:block; font-size:13px; font-weight:650; margin:0 0 7px; }
.ui-a .workspace-source-facet { display:block; grid-column:auto; padding:0; }
.ui-a .source-selector-panel { width:100%; min-width:0; max-width:none; }
.ui-a .workspace-source-facet .facet-values { display:flex; flex-wrap:wrap; gap:6px; }
.ui-a .source-choice { flex:1 0 auto; }
.ui-a .source-choice span { display:block; padding:9px 10px; min-height:42px; border:1px solid var(--line-strong); border-radius:4px; color:var(--ink); text-align:center; font-size:13px; white-space:nowrap; }
.ui-a .source-choice input:checked + span { color:white; background:var(--accent); border-color:var(--accent); box-shadow:none; }
.ui-a .source-choice input:focus-visible + span { outline:3px solid var(--focus); outline-offset:2px; }
.ui-a .model-selector select, .ui-a .category-selector select { min-height:42px; padding:9px 10px; font-size:14px; border-radius:4px; }
.ui-a .model-selector option { color:var(--ink); background-color:#fff; }
.ui-a .model-selector option.model-no-listings, #model-select.model-no-listings { color:#737b87; background-color:#f3f4f6; }
.ui-a .up-search-row { display:grid; grid-area:auto; order:1; grid-template-columns:minmax(0,1fr) auto; gap:0 8px; margin:0; align-items:end; }
.sf-query-label { grid-column:1 / -1; }
.ui-a .up-catalog-search { width:100%; border-radius:4px; }
.ui-a .up-catalog-search input { min-height:40px; font-size:14px; padding:8px 12px; }
.ui-a .up-catalog-search button { padding:8px 12px; }
body.ui-a .workspace-content, body.ui-a.has-selected-product .workspace-content { grid-template-columns:var(--filter-column-width,224px) 20px minmax(0,1fr); gap:0; margin:0; }
body.ui-a .model-filters, body.ui-a.has-selected-product .model-filters { padding:0 16px 18px 0; border:0; border-right:1px solid var(--line); border-radius:0; top:12px; background:#fff; }
.ui-a .model-filters-heading { min-height:58px; }
.ui-a .active-filter-chip { border-radius:3px; background:var(--surface-subtle); }
.ui-a .model-facet-choice { min-height:34px; }
.ui-a .model-facet-choice input { width:17px; height:17px; }
.ui-a .show-matched-models { background:none; border:1px solid var(--line-strong); color:var(--ink); border-radius:4px; }
body.ui-a .results-flow, body.ui-a.has-selected-product .results-flow { display:flex; flex-direction:column; align-items:stretch; grid-column:3; grid-row:1; gap:0; width:100%; min-width:0; }
.ui-a .listing-section { width:100%; max-width:none; border:0; border-radius:0; box-shadow:none; }
.ui-a .listing-topbar { display:flex; flex-flow:row wrap; align-items:center; gap:10px 14px; padding:14px 0; border-bottom:1px solid var(--line); }
.ui-a .listing-heading, .ui-a .listing-heading:has(.model-detail-open:not([hidden])) { display:contents; }
.ui-a .listing-heading-main { order:0; flex:0 1 auto; }
.ui-a .listing-heading-title { gap:7px; }
.ui-a .listing-heading h2 { font-size:17px; }
.ui-a .listing-heading #listing-count { font-size:15px; }
.ui-a .listing-message { order:5; flex-basis:100%; margin:0; }
.ui-a .listing-options { order:2; flex:1 1 auto; }
.ui-a .listing-controls { justify-content:flex-end; gap:8px 12px; }
.ui-a .listing-sort-tabs { gap:4px; }
.ui-a .listing-sort-tab { border:1px solid var(--line-strong); border-radius:4px; font-size:12px; min-height:38px; padding:7px 9px; }
.ui-a .listing-price-range { margin-left:0; gap:5px; }
.ui-a .listing-price-range input { width:78px; border-radius:4px; }
.ui-a .listing-price-range button[type=submit] { border-radius:4px; }
.ui-a .model-detail-open { display:inline-flex; order:3; align-items:center; justify-content:center; min-height:40px; padding:8px 12px; border-radius:4px; background:#182b40; color:#fff; text-decoration:none; font-size:13px; white-space:nowrap; }
.ui-a .listing-topbar .contextual-offer:not([hidden]) { order:4; }
.ui-a .back-to-models { border-radius:4px; }
.ui-a .listing-row { padding:16px 0; min-height:114px; grid-template-columns:80px minmax(0,1fr) minmax(110px,auto) 32px; gap:18px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#fff; }
.ui-a .listing-media { width:80px; height:80px; border-radius:3px; }
.ui-a .listing-title { font-size:16px; }
.ui-a .listing-spec { font-size:13px; }
.ui-a :is(.listing-source,.listing-market,.listing-state,.listing-scope) { border:0; background:none; padding:0; border-radius:0; font-size:12px; }
.ui-a .listing-meta { gap:6px 12px; }
.ui-a .listing-price { font-size:22px; }
.ui-a .listing-sale-state, .ui-a .listing-time { font-size:12px; }
.sf-page-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:82px; padding:16px 0; border-bottom:1px solid var(--line); margin:0 0 18px; }
.sf-page-bar h1 { min-width:0; font-size:23px; line-height:1.4; margin:0; font-weight:750; letter-spacing:-.5px; }
.sf-page-actions { display:flex; flex-wrap:wrap; gap:8px; }
.sf-page-bar > a { flex-shrink:0; }
.ui-a.pc-tools .sf-page-bar .up-button { min-height:40px; padding:8px 12px; border-radius:4px; }
.sf-build-panel { min-width:0; }
.ui-a.pc-tools #build-table { overflow:visible; }
.ui-a.pc-tools #build-table table { table-layout:fixed; min-width:0; }
.ui-a.pc-tools #build-table .build-col-part { width:12%; }
.ui-a.pc-tools #build-table .build-col-model { width:auto; }
.ui-a.pc-tools #build-table .build-col-quantity { width:112px; }
.ui-a.pc-tools #build-table :is(.build-col-active,.build-col-sold) { width:17%; }
.ui-a.pc-tools #build-table .build-col-action { width:104px; }
.ui-a.pc-tools #build-table thead th { position:static; padding:12px 10px; white-space:normal; font-size:13px; }
.ui-a.pc-tools #build-table tbody :is(td,th) { padding:12px 10px; height:64px; border-bottom:1px solid var(--line); background:#fff; font-size:14px; }
.ui-a.pc-tools #build-table .build-part { position:static; text-align:left; color:var(--ink); font-weight:650; white-space:normal; }
.ui-a.pc-tools #build-table :is(.build-quantity,.build-price) { text-align:right; font-variant-numeric:tabular-nums; }
.ui-a.pc-tools #build-table .build-price strong { font-weight:650; font-size:16px; }
.ui-a.pc-tools #build-table .build-price small { font-size:11px; line-height:1.6; font-weight:400; color:var(--muted); }
.ui-a.pc-tools #build-table .model-name { font-size:14px; }
.ui-a.pc-tools #build-table td.build-actions:last-child:not([colspan]) { text-align:right; white-space:nowrap; }
.ui-a.pc-tools #build-table td.build-actions:last-child:not([colspan]) button { display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; min-height:36px; width:auto; padding:5px 8px; margin:0; border-radius:4px; }
.ui-a.pc-tools #build-table td.build-actions:last-child:not([colspan]) button[data-action=remove] { width:30px; font-size:20px; border-color:transparent; }
.ui-a.pc-tools #build-table .build-empty button { min-height:38px; width:auto; padding:6px 12px; border:1px solid var(--line-strong); border-radius:4px; color:var(--ink-soft); }
.sf-quantity { display:flex; align-items:stretch; justify-content:center; border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; }
.ui-a.pc-tools #build-table .sf-quantity input[type=number] { display:block; width:40px; min-width:0; height:36px; min-height:36px; margin:0; padding:4px 0; text-align:center; border:0; border-radius:0; appearance:textfield; -moz-appearance:textfield; }
.sf-quantity input::-webkit-inner-spin-button, .sf-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.ui-a.pc-tools .sf-quantity button { flex:1; min-width:26px; min-height:36px; padding:4px 0; font-size:18px; text-decoration:none; }
.ui-a.pc-tools #build-table tfoot td { padding:20px 0 12px; border:0; }
.ui-a #build-summary .tools-summary { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:start; gap:8px 24px; margin:0; }
.ui-a #build-summary .tools-summary-item { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.ui-a #build-summary .tools-summary-item:first-child { flex-direction:row; gap:8px; align-items:baseline; }
.ui-a #build-summary .tools-summary-item:first-child strong { font-size:18px; }
.ui-a #build-summary .tools-summary-item:first-child small { width:auto; }
.ui-a #build-summary .tools-summary-item strong { font-size:26px; }
.ui-a #build-summary .tools-summary-item span { font-size:13px; }
.ui-a #build-summary .tools-quote-status { grid-column:1 / -1; font-size:12px; margin:0; }
.ui-a .sf-build-caption { caption-side:bottom; text-align:left; padding:8px 0; font-size:12px; color:var(--muted); }
.ui-a .tools-compatibility { padding:10px 0; border-top:1px solid var(--line); border-radius:0; background:none; margin:8px 0 0; }
.compatibility-note { color:var(--muted); }
.sf-analysis-tools { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1fr) auto; align-items:center; gap:18px; margin:0 0 20px; }
.sf-analysis-model { display:flex; align-items:center; min-width:0; gap:10px; }
.sf-analysis-model > span { flex-shrink:0; font-size:13px; }
.ui-a .sf-analysis-model > .up-button { min-width:0; flex:1; justify-content:space-between; text-align:left; border-radius:4px; }
.ui-a #chart-sources { margin:0; gap:14px; max-width:100%; min-width:0; flex-wrap:wrap; overflow:visible; }
.ui-a #chart-sources button { min-height:40px; font-size:13px; }
.ui-a #chart-navigation { gap:6px; flex-wrap:wrap; min-width:0; justify-content:flex-end; }
.ui-a .tools-date-picker { border-radius:4px; }
.sf-analysis-workspace { min-width:0; border:1px solid var(--line); border-radius:4px; background:#fff; }
.sf-analysis-workspace-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:6px 14px; border-bottom:1px solid var(--line); }
.sf-analysis-workspace-bar > strong { font-size:13px; color:var(--ink-soft); }
.sf-analysis-pane-toggles { display:flex; align-items:center; gap:4px; }
.ui-a.pc-tools .sf-analysis-pane-toggles .up-button { min-height:34px; padding:5px 10px; border-color:transparent; color:var(--muted); }
.ui-a.pc-tools .sf-analysis-pane-toggles .up-button::after { content:' +'; }
.ui-a.pc-tools .sf-analysis-pane-toggles .up-button[aria-expanded=true]::after { content:' −'; }
.ui-a.pc-tools .sf-analysis-pane-toggles .up-button[aria-pressed=true] { border-color:var(--line-strong); background:var(--bg); color:var(--ink); }
.sf-analysis-workspace-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); min-width:0; }
.sf-analysis-workspace[data-layout=chart] .sf-analysis-workspace-grid,
.sf-analysis-workspace[data-layout=table] .sf-analysis-workspace-grid { grid-template-columns:minmax(0,1fr); }
.sf-analysis-pane { min-width:0; padding:16px; }
.sf-analysis-pane[hidden] { display:none; }
.sf-analysis-workspace[data-layout=split] .sf-source-comparison { border-left:1px solid var(--line); }
.sf-analysis-pane-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.sf-analysis-pane-heading > div:first-child { display:flex; align-items:baseline; gap:8px; min-width:0; }
.ui-a .sf-analysis-chart #chart-title,
.ui-a .sf-source-comparison > h2 { font-size:17px; }
.sf-chart-window-status { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sf-chart-zoom { display:flex; gap:4px; }
.ui-a.pc-tools .sf-chart-zoom .up-button { display:grid; place-items:center; width:34px; min-width:34px; min-height:34px; padding:0; font-size:18px; line-height:1; }
.sf-source-table-scroll { max-width:100%; overflow-x:auto; margin-top:10px; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
.ui-a.pc-tools .sf-price-table { min-width:720px; table-layout:auto; }
.ui-a.pc-tools .sf-price-table th { position:static; white-space:nowrap; }
.ui-a.pc-tools .sf-price-table :is(th,td) { padding:12px; }
.ui-a.pc-tools .sf-price-table tbody th { background:white; text-align:left; font-size:14px; }
.ui-a .sf-price-table .source-price { text-align:right; font-variant-numeric:tabular-nums; }
.ui-a .sf-price-table .source-sample { text-align:center; }
.ui-a .sf-price-table .source-period { font-size:12px; white-space:nowrap; }
.sf-source-caption { caption-side:top; text-align:left; padding:0 0 12px; font-size:13px; font-weight:600; white-space:normal; }
.sf-price-method { font-size:12px; color:var(--muted); font-weight:400; }
.ui-a #analysis-categories { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:0; margin-bottom:16px; }
.ui-a .up-dialog { border-radius:6px; }
.ui-a .up-picker-dialog #model-table { border-radius:4px; }
.ui-a .tools-scope-note { margin:8px 0 12px; }
@media (min-width:761px) and (max-width:1180px) {
  .sf-search-tools { grid-template-columns:minmax(0,1fr); gap:12px; }
  .ui-a .up-search-row { max-width:100%; }
  .sf-analysis-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .ui-a #chart-navigation { grid-column:1 / -1; justify-content:flex-start; }
  .ui-a .listing-controls { justify-content:flex-start; }
}
@media (max-width:760px) {
  .ui-a :is(.site-header,.tools-header) { height:auto; min-height:0; padding:0 14px; gap:0; }
  .ui-a :is(.site-header,.tools-header) nav a { font-size:13px; }
  .ui-a .brand { font-size:21px; min-height:52px; }
  body.ui-a .directory-shell, body.ui-a.has-selected-product .directory-shell, body.ui-a:not(.has-selected-product) .directory-shell, body.ui-a .tools-main { padding:0 14px 24px; }
  .ui-a .up-category-tabs { min-height:46px; gap:12px; }
  .ui-a .up-category-tab { min-height:44px; padding:8px 4px; font-size:13px; }
  .sf-search-tools { display:block; padding:14px 0; }
  body.ui-a .workspace-heading, body.ui-a.has-selected-product .workspace-heading, body.ui-a.has-category-tabs .workspace-heading { grid-template-columns:minmax(0,1fr); gap:12px; margin:0 0 12px; }
  .ui-a .workspace-source-facet .facet-values { flex-wrap:wrap; gap:5px; }
  .ui-a .source-choice { flex:1; }
  .ui-a .source-choice span { min-height:40px; padding:8px 6px; font-size:12px; }
  .ui-a .up-filter-open { min-height:42px; padding:8px; border-radius:4px; }
  body.ui-a .workspace-content, body.ui-a.has-selected-product .workspace-content { display:block; }
  .ui-a .up-filter-dialog .model-filters { border:0; padding:0; }
  .ui-a .listing-topbar { gap:10px; padding:14px 0; }
  .ui-a .listing-heading-main { flex:1; }
  .ui-a .model-detail-open { order:1; min-height:40px; padding:7px 9px; font-size:12px; }
  .ui-a .listing-options { flex-basis:100%; }
  .ui-a .listing-controls { justify-content:flex-start; }
  .ui-a .listing-price-range { gap:5px; }
  .ui-a .listing-price-range input { width:75px; }
  .ui-a .listing-sort-tab { min-height:40px; }
  .ui-a .listing-row { grid-template-columns:62px minmax(0,1fr) 28px; gap:6px 10px; padding:14px 0; }
  .ui-a .listing-media { width:62px; height:66px; grid-row:1/3; }
  .ui-a .listing-body { grid-column:2; grid-row:1; }
  .ui-a .listing-commerce { grid-column:2; grid-row:2; align-items:flex-start; }
  .ui-a .listing-favorite { grid-column:3; grid-row:1/3; width:28px; }
  .ui-a .listing-title { font-size:14px; }
  .ui-a .listing-spec { font-size:12px; }
  .ui-a .listing-price { font-size:20px; }
  .sf-page-bar { flex-wrap:wrap; gap:10px; padding:14px 0; min-height:0; margin-bottom:14px; }
  .sf-page-bar h1 { font-size:20px; flex:1 1 180px; }
  .sf-page-actions { width:100%; gap:6px; }
  .ui-a.pc-tools .sf-page-actions .up-button { flex:1; min-height:42px; padding:8px; font-size:12px; }
  .ui-a.pc-tools #build-table table, .ui-a.pc-tools #build-table tbody, .ui-a.pc-tools #build-table tfoot { display:block; width:100%; }
  .ui-a.pc-tools #build-table colgroup { display:none; }
  .ui-a.pc-tools #build-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ui-a.pc-tools #build-table tbody tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 12px; padding:12px 0; border-bottom:1px solid var(--line); }
  .ui-a.pc-tools #build-table tbody :is(td,th) { display:block; width:auto; min-width:0; padding:0; border:0; height:auto; position:static; }
  .ui-a.pc-tools #build-table .build-part { grid-column:1; grid-row:1; align-self:center; }
  .ui-a.pc-tools #build-table td.model-name { grid-column:1/-1; grid-row:2; padding:4px 0; }
  .ui-a.pc-tools #build-table td.build-quantity { grid-column:2; grid-row:1; justify-self:end; }
  .ui-a.pc-tools #build-table .sf-quantity { width:116px; }
  .ui-a.pc-tools .sf-quantity button, .ui-a.pc-tools #build-table .sf-quantity input[type=number] { min-height:40px; height:40px; }
  .ui-a.pc-tools #build-table .build-price { grid-row:3; text-align:left; }
  .ui-a.pc-tools #build-table .build-price::before { display:block; content:attr(data-label); font-size:11px; color:var(--ink-soft); }
  .ui-a.pc-tools #build-table td.build-actions:last-child:not([colspan]) { grid-column:1/-1; grid-row:4; padding:0; text-align:right; }
  .ui-a.pc-tools #build-table tfoot tr, .ui-a.pc-tools #build-table tfoot td { display:block; padding:14px 0 0; }
  .ui-a #build-summary .tools-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .ui-a #build-summary .tools-summary-item:first-child { grid-column:1/-1; }
  .ui-a #build-summary .tools-summary-item strong { font-size:22px; }
  .ui-a #build-summary .tools-summary-item span { font-size:12px; }
  .ui-a .sf-build-caption { display:block; font-size:11px; }
  .sf-analysis-tools { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
  .ui-a #chart-sources { gap:14px; }
  .ui-a #chart-sources button { font-size:12px; }
  .ui-a #chart-navigation { justify-content:flex-start; }
  .sf-analysis-workspace-bar { padding:6px 10px; }
  .sf-analysis-workspace-bar > strong { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .sf-analysis-pane-toggles { width:100%; }
  .ui-a.pc-tools .sf-analysis-pane-toggles .up-button { flex:1; min-height:40px; }
  .sf-analysis-workspace-grid { grid-template-columns:minmax(0,1fr); }
  .sf-analysis-pane { padding:14px 8px; }
  .sf-analysis-workspace[data-layout=split] .sf-source-comparison { border-left:0; border-top:1px solid var(--line); }
  .ui-a .sf-analysis-chart #chart-title, .ui-a .sf-source-comparison > h2 { font-size:16px; padding:0 4px; }
  .sf-source-table-scroll { margin-top:8px; }
  .ui-a.pc-tools .sf-price-table { display:table; width:100%; min-width:700px; }
  .ui-a.pc-tools .sf-price-table thead { position:static; width:auto; height:auto; overflow:visible; clip-path:none; }
  .ui-a.pc-tools .sf-price-table tbody { display:table-row-group; }
  .ui-a.pc-tools .sf-price-table tbody tr { display:table-row; }
  .ui-a.pc-tools .sf-price-table tbody :is(th,td) { display:table-cell; height:auto; padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; }
  .ui-a .sf-price-table .source-price { text-align:right; }
  .ui-a .sf-price-table .source-price::before, .ui-a .sf-price-table .source-sample::before { content:none; }
  .ui-a .sf-price-table .source-sample { text-align:center; }
  .sf-source-caption { display:table-caption; font-size:12px; }
  .sf-price-method { font-size:11px; }
}
@media print {
  .ui-a .sf-page-bar { border:0; }
  .ui-a .sf-page-bar h1 { font-size:20px; }
  .ui-a.pc-tools #build-table table { display:table; }
  .ui-a.pc-tools #build-table tbody { display:table-row-group; }
  .ui-a.pc-tools #build-table tfoot { display:table-footer-group; }
  .ui-a.pc-tools #build-table thead { display:table-header-group; position:static; width:auto; height:auto; clip-path:none; overflow:visible; }
  .ui-a.pc-tools #build-table colgroup { display:table-column-group; }
  .ui-a.pc-tools #build-table :is(tbody,tfoot) tr { display:table-row; break-inside:avoid; }
  .ui-a.pc-tools #build-table tbody :is(th,td), .ui-a.pc-tools #build-table tfoot td { display:table-cell; padding:8px; border-bottom:1px solid var(--line); font-size:11px; }
  .ui-a.pc-tools #build-table .build-price::before { display:none; }
  .ui-a.pc-tools #build-table .sf-quantity { border:0; width:auto; }
  .ui-a #build-summary { break-inside:avoid; }
  .ui-a #build-summary .tools-summary { grid-template-columns:1fr 1fr 1fr; }
  .ui-a #build-save-status { display:none; }
}
