/* Brand refinement, pass 1: colour/font tokens only. No geometry, content or interaction changes. */
/* Reuse the exact existing local Pretendard binary, also registered as CRM Dashboard Sans. */
@font-face{font-family:"Pretendard";font-style:normal;font-weight:45 920;font-display:swap;src:url("/assets/fonts/pretendard/PretendardVariable.woff2") format("woff2")}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending){
 --crm-brand-blue:#0070ff;
 --crm-accent:#0063d9;--crm-accent-hover:#0054bc;--crm-accent-soft:#edf4ff;
 --crm-ink:#252a31;--crm-text:#465469;--crm-muted:#627084;
 --crm-border:#e2e7ee;--crm-canvas:#f5f7fb;--crm-surface:#fff;
 --crm-font:"Pretendard","CRM Dashboard Sans","Noto Sans KR","Malgun Gothic",Arial,sans-serif;
 --ui-ink:var(--crm-ink);--ui-text:var(--crm-text);--ui-muted:var(--crm-muted);
 --ui-border:var(--crm-border);--ui-bg:var(--crm-canvas);--ui-surface:var(--crm-surface);
 --ui-soft:#f8faff;--ui-accent:var(--crm-accent);--ui-accent-hover:var(--crm-accent-hover);--ui-accent-soft:var(--crm-accent-soft);--ui-font:var(--crm-font);
 --ink:var(--crm-ink);--sub:var(--crm-muted);--line:var(--crm-border);--blue:var(--crm-accent);--blue-soft:var(--crm-accent-soft);
 font-family:var(--crm-font);color:var(--crm-ink);background-color:var(--crm-canvas);
}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>.main{background-color:var(--crm-canvas)}
/* Keep the charcoal shell. Change only the selected destination, not semantic status colours. */
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav :is(button[data-nav].active,button[data-nav][aria-current="page"],.customer-workspace-list[aria-expanded="true"]){background-color:var(--crm-accent)!important;color:#fff!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav button[data-nav]:hover:not(.active):not([aria-current="page"]){background-color:#283547!important}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(button,input,select,textarea,a,summary):focus-visible{outline-color:var(--crm-accent)}
/* Existing controls and their exact dimensions stay owned by the inventory styles. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace button:is([data-stock="showroom-brand"],[data-stock="finder-model"],[data-stock="vehicle-filter"],[data-stock="spec-filter"],[data-stock="config-filter"],[data-stock="config-option"],[data-stock="discount-only"])[aria-pressed="true"]{background-color:var(--crm-accent-soft)!important;border-color:var(--crm-accent)!important;color:var(--crm-accent)!important}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace .inv-discount-available{color:var(--crm-accent)}
/* Category/chart colours and warning/success/error states are deliberately not remapped. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard :is(button,select,input):focus-visible{outline-color:var(--crm-accent)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-source-legend button[aria-pressed="true"]{color:var(--crm-accent)}
/* Bridge the existing consultation tokens; never reset descendants or pseudo-icon fonts. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #db-detail-drawer#db-detail-drawer:not(.minimized){--cn-ink:var(--crm-ink);--cn-muted:var(--crm-muted);--cn-border:var(--crm-border);--cn-canvas:var(--crm-canvas);--cn-accent:var(--crm-accent)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #db-detail-drawer#db-detail-drawer:not(.minimized) :is(.db-consult-composer footer>button.primary,.db-match-save){background-color:var(--crm-accent)!important;border-color:var(--crm-accent)!important;color:#fff!important}
/* Real numeric fields only. No font-size, alignment, column or row changes. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.inv-concept-price,.inv-sales-condition-total,.inv-concept-stock strong,.da-kpi strong,.da-bar-row strong){font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}

/* Pass 2: type emphasis and control states only; original geometry/semantic colours stay owned by each screen. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending){--crm-control-border:#c6d0de;--crm-control-hover:#f3f7ff;--crm-disabled-bg:#eef1f5;--crm-disabled-ink:#56657a}
/* Headings keep their current sizes and line-height; only the compact inventory title gains emphasis. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace .inv-heading h1{font-weight:600;color:var(--crm-ink)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard :is(.da-controls small,.da-kpi p,.da-page-head p,.da-card-head>span,.da-bar-row small){color:var(--crm-muted)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .il-ledger{--il-ink:var(--crm-ink);--il-muted:var(--crm-muted);--il-border:var(--crm-border);--il-blue:var(--crm-accent)}
/* Search wrappers stay wrappers: do not give their borderless child inputs a new box. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #main :is(.da-controls select,.il-search input,.inventory-workspace.inv-reference-workspace .inv-search):not([aria-invalid="true"]):not(:disabled){border-color:var(--crm-control-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #main :is(input,textarea)::placeholder{color:var(--crm-muted)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #main :is(.da-controls select,.il-search input,.inventory-workspace.inv-reference-workspace .inv-search):is(:focus,:focus-within):not([aria-invalid="true"]):not(:disabled){border-color:var(--crm-accent)}
/* Neutral toolbar actions only. Primary/destructive actions and table/specification buttons are untouched. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.inventory-workspace.inv-reference-workspace .inv-heading-actions button:not(.primary):not(.danger),.il-ledger .il-actions button:not(.il-primary):not(.il-new)):not(:disabled){border-color:var(--crm-control-border);color:var(--crm-text)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.inventory-workspace.inv-reference-workspace .inv-heading-actions button:not(.primary):not(.danger),.il-ledger .il-actions button:not(.il-primary):not(.il-new)):hover:not(:disabled){background-color:var(--crm-control-hover);border-color:var(--crm-accent)}
/* Override the older hard-coded green focus ring without changing its thickness or offset. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.frame>.layout>.nav,.frame>.top,.dw,.il-ledger,.inventory-workspace,.da-dashboard) :is(button,input,select,textarea,a,summary):focus-visible{outline-color:var(--crm-accent)!important}
/* Keep disabled actions readable, while excluding fixed specification choices. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.il-ledger .il-actions,.inventory-workspace.inv-reference-workspace .inv-heading-actions) button:disabled{background-color:var(--crm-disabled-bg);border-color:var(--crm-control-border);color:var(--crm-disabled-ink);opacity:1}
/* Existing consultation reset uses !important. Enabled hover and disabled state must both outrank pass 1. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #db-detail-drawer#db-detail-drawer:not(.minimized) :is(.db-consult-composer footer>button.primary,.db-match-save):hover:not(:disabled){background-color:var(--crm-accent-hover)!important;border-color:var(--crm-accent-hover)!important}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) #db-detail-drawer#db-detail-drawer:not(.minimized) :is(.db-consult-composer footer>button.primary,.db-match-save):disabled{background-color:var(--cn-canvas)!important;border-color:var(--cn-border)!important;color:var(--cn-muted)!important}

/* Pass 3: list/table paint only. No columns, density, alignment, data or interaction changes. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending){--crm-row-border:#dce3ed;--crm-table-head:#f3f6fb;--crm-row-hover:#f7faff}
/* Inventory keeps its row-group variable, including the existing mobile-card treatment. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace table.inv-ref-table th{background-color:var(--crm-table-head);color:var(--crm-muted);border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace table.inv-ref-table .inv-focus-row>td{border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace table.inv-ref-table .inv-focus-item{border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace table.inv-ref-table .inv-focus-item:is(:hover,:focus-within):not(.is-selected){--inv-focus-bg:var(--crm-row-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace table.inv-ref-table .inv-focus-item.is-selected{--inv-focus-bg:var(--crm-accent-soft)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace .is-selected .inv-ref-row-check{background-color:var(--crm-accent);border-color:var(--crm-accent)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-workspace.inv-reference-workspace .inv-row-source-data dt{color:var(--crm-muted)}
/* DB ledger retains the existing selection-indicator width. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .il-ledger .il-table :is(th,td){border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .il-ledger .il-table th{background-color:var(--crm-table-head);color:var(--crm-muted)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .il-ledger .il-row:is(:hover,:focus-within):not(.is-selected){background-color:var(--crm-row-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .il-ledger .il-row.is-selected{background-color:var(--crm-accent-soft)}
/* Advanced customer list only. Contact/status badge colours and the 4px selection rail stay intact. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .pw .dw-list-columns{background-color:var(--crm-table-head);color:var(--crm-muted);border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .pw .dw-customer-row{border-color:var(--crm-row-border)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .pw .dw-customer-row:is(:hover,:focus-within):not(.is-selected){background-color:var(--crm-row-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .pw .dw-customer-row.is-selected{background-color:var(--crm-accent-soft);box-shadow:inset 4px 0 var(--crm-accent)}

/* Pass 4: approved logo-blue palette. Paint only; preserve geometry and semantic status colours. */
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending){--crm-nav:#202835;--crm-nav-hover:#2c3748;--crm-nav-text:#dce4ef;--crm-nav-muted:#a8b5c8}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.top .brand{background-color:#fff!important;color:#334155!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.top>.crm-nav-trigger{background-color:transparent;color:#334155}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav{background-color:var(--crm-nav)!important;color:var(--crm-nav-text)!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav :is(button,.nav-group>summary){color:var(--crm-nav-text)!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav :is(button,.nav-group>summary):hover:not(.active):not([aria-current="page"]):not([aria-expanded="true"]){background-color:var(--crm-nav-hover)!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav :is(.nav-caption,.nav-foot,.nav-group>summary){color:var(--crm-nav-muted)!important;border-color:#3b475a!important}
body.crm-ui.crm-sidebar-auto.crm-sidebar-auto:not(.crm-auth-screen):not(.crm-auth-pending) .frame>.layout>nav.nav .nav-group{border-color:#3b475a!important}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-upload-button:not(:has(input:disabled)){background-color:var(--crm-accent);color:#fff}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-upload-button:hover:not(:has(input:disabled)){background-color:var(--crm-accent-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .inventory-upload-button:has(input:disabled){background-color:var(--crm-disabled-bg);color:var(--crm-disabled-ink)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(#inventory-feedback,.inventory-workspace .inv-feedback){color:var(--crm-text)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.il-ledger .il-actions .il-primary,.il-ledger .il-actions .il-new,.dw button.dw-primary,.dw-head-actions button[data-core="new-lead"]):not(:disabled){background-color:var(--crm-accent);border-color:var(--crm-accent);color:#fff}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) :is(.il-ledger .il-actions .il-primary,.il-ledger .il-actions .il-new,.dw button.dw-primary,.dw-head-actions button[data-core="new-lead"]):hover:not(:disabled){background-color:var(--crm-accent-hover);border-color:var(--crm-accent-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw .dw-tabs button[aria-pressed="true"]{background-color:var(--crm-accent-soft);border-color:#b8d0f4;color:var(--crm-accent)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw .dw-tabs button:hover:not([aria-pressed="true"]):not(:disabled){background-color:var(--crm-row-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw .dw-list-columns{background-color:var(--crm-table-head);border-color:var(--crm-row-border);color:var(--crm-muted)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw .dw-customer-row.is-selected{background-color:var(--crm-accent-soft);box-shadow:inset 4px 0 var(--crm-accent)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw .dw-customer-row:hover:not(.is-selected){background-color:var(--crm-row-hover)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .dw :is(h2,h3,.dw-customer-name){color:var(--crm-ink)}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-toggle button[aria-pressed="true"]{background-color:var(--crm-accent);color:#fff}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard :is(.da-track,.da-stacked){background-color:#eef2f7}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone0{background-color:#0063d9}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone1{background-color:#3e87e8}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone2{background-color:#76a8ee}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone3{background-color:#9ebfed}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone4{background-color:#bdd3f2}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone5{background-color:#d2e2f8}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-tone6{background-color:#d6dce5}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-trend-svg polyline{stroke:#0063d9}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-trend-svg circle{fill:#3e87e8}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-trend-svg .da-end-label{fill:#0063d9}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-trend-svg stop[offset="0"]{stop-color:#b7d2fa}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-trend-svg stop[offset="1"]{stop-color:#eef4fe}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-callback-legend>span:first-child i{background-color:#0063d9}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-callback-legend>span+span i{background-color:#9ebfed}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-water-bar:not(.unknown){background-color:#3e87e8}
body.crm-ui:not(.crm-auth-screen):not(.crm-auth-pending) .da-dashboard .da-water-bar.net:not(.unknown){background-color:#0063d9}
