/* One palette shared by the public portal, customer workspace and staff tools. */
:root,[data-theme="light"]{--p-bg:#edf1f6;--p-panel:#fff;--p-raised:#f3f6fa;--p-line:#c9d3df;--p-text:#142337;--p-muted:#526378;--p-accent:#075fa9;--p-soft:#e4f1ff;--p-ok:#11663f;--p-ok-bg:#e5f4eb;--p-warn:#845000;--p-warn-bg:#fff2d9;--p-bad:#a72d3c;--p-bad-bg:#ffebef;--p-scheme:light}
[data-theme="dark"]{--p-bg:#0b121b;--p-panel:#111d2a;--p-raised:#182838;--p-line:#35485c;--p-text:#edf3fa;--p-muted:#afbdce;--p-accent:#71c6ff;--p-soft:#16364f;--p-ok:#8be5b0;--p-ok-bg:#14372a;--p-warn:#ffd081;--p-warn-bg:#3b2f19;--p-bad:#ffadba;--p-bad-bg:#43212c;--p-scheme:dark}
body,.bmw-admin,.bmw-dashboard{--bg:var(--p-bg);--bg-deep:var(--p-bg);--panel:var(--p-panel);--panel-strong:var(--p-panel);--line:var(--p-line);--ink:var(--p-text);--muted:var(--p-muted);--accent:var(--p-accent);--ok:var(--p-ok);--warn:var(--p-warn);--bad:var(--p-bad);--shadow:none;--shadow-soft:none;--radius:6px;--radius-lg:8px;--ws-bg:var(--p-bg);--ws-panel:var(--p-panel);--ws-raised:var(--p-raised);--ws-line:var(--p-line);--ws-text:var(--p-text);--ws-muted:var(--p-muted);--ws-accent:var(--p-accent);background:var(--p-bg);color:var(--p-text);color-scheme:var(--p-scheme);font-size:14px;line-height:1.5}
body .bg{display:none}body .container{max-width:1480px;margin-inline:auto;padding:20px 24px;width:100%;min-width:0}body .topbar-inner{max-width:1480px;padding:10px 24px;gap:12px}body .topbar{position:relative;background:#102b50;border-bottom:1px solid #43617f}body .logo.slim{width:48px;height:44px;border-radius:4px}body .logo:before{display:none}body .brand-title{font-size:14px;letter-spacing:.02em}body .userpill{border-radius:6px}body .brand-action{border-radius:4px;min-height:32px}body .portal-theme-choice select{background:#193d63;color:#fff;border:1px solid #6f89a5;border-radius:4px;min-height:36px;max-width:126px;padding:4px;font:inherit;font-size:12px}
body :is(.card,.panel,.tile,.modal-card,.chat-modal-card,.user-menu,.appt-card,.alert,.urgent-section,.urgent-item){background:var(--p-panel);color:var(--p-text);border:1px solid var(--p-line);box-shadow:none;border-radius:6px}body :is(.input,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){background:var(--p-raised);color:var(--p-text);border-color:var(--p-line);border-radius:4px}body :is(input,textarea)::placeholder{color:var(--p-muted);opacity:1}body :is(.btn,.tab,.appt-slot){box-shadow:none;border-radius:4px;min-height:40px;font:inherit;font-weight:600}body .btn{border:1px solid var(--p-line);background:var(--p-raised);color:var(--p-text)}body .btn.primary{background:#0868b1;border-color:#0868b1;color:#fff}body .btn.danger{background:var(--p-bad-bg);color:var(--p-bad);border-color:var(--p-bad)}body :is(a.footlink,.link){color:var(--p-accent)}body :is(.muted,.small.muted,.sub,.crm-sub,.eyebrow,.empty){color:var(--p-muted)}body :is(h1,h2,h3,h4,.h2,.tile-title,.panel-head,.crm-title){color:var(--p-text)}body :is(.panel-head,.modal-head,.table th){background:var(--p-raised);border-color:var(--p-line)}body :is(.table td,.table th){color:var(--p-text);background:var(--p-panel);border-color:var(--p-line)}body .table th{color:var(--p-muted);background:var(--p-raised)}body :is(.pill,.badge){border:1px solid var(--p-line);background:var(--p-raised);color:var(--p-text);border-radius:4px}body :is(.pill.approved,.alert.ok){color:var(--p-ok);background:var(--p-ok-bg);border-color:var(--p-ok)}body :is(.pill.requested,.pill.warn,.pill.forced){color:var(--p-warn);background:var(--p-warn-bg);border-color:var(--p-warn)}body :is(.pill.declined,.alert.bad){color:var(--p-bad);background:var(--p-bad-bg);border-color:var(--p-bad)}body :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--p-accent);outline-offset:3px}body :is(button,summary){cursor:pointer}body :is(button:disabled,[aria-disabled=true]){cursor:default;opacity:.6}body :is(.modal,.photo-modal,.chat-modal){backdrop-filter:blur(3px)}body [hidden]{display:none!important}body .statusbar{color:var(--p-muted);background:var(--p-raised);border-color:var(--p-line)}
/* The previous dark theme changed parent backgrounds but left child text dark. */
.bmw-dashboard :is(.expert-timeline-card,.expert-visit,.expert-timeline-body,.expert-timeline-total,.expert-timeline-photo,.request-center,.request-focus-card,.enet-dtc-card,.enet-section,.enet-live-spotlight,.enet-summary-card,.dashboard-cbs-vehicle,.dashboard-cbs-item,.dashboard-cbs-summary-card){background:var(--p-panel);color:var(--p-text);border:1px solid var(--p-line);border-radius:5px;box-shadow:none}
.bmw-dashboard :is(.expert-visit-title,.expert-timeline-title,.request-focus-value,.request-center-title,.enet-live-title,.enet-stat-value,.enet-dtc-title,.dashboard-cbs-vehicle-title,.dashboard-cbs-name){color:var(--p-text)}
.bmw-dashboard :is(.expert-timeline-kicker,.expert-timeline-meta,.expert-visit-meta,.expert-progress-meta,.expert-timeline-sub,.expert-timeline-total span,.expert-history-pill,.request-focus-meta,.request-focus-note,.request-focus-label,.request-focus-unit,.request-focus-foot,.request-center-sub,.enet-live-meta,.enet-stat-label,.enet-dtc-meta,.enet-dtc-note,.enet-state-history-meta,.dashboard-cbs-meta,.dashboard-cbs-vehicle-meta){color:var(--p-muted)}
.bmw-dashboard :is(.expert-visit-stats span,.expert-progress-track,.expert-history-pill,.expert-timeline-total){background:var(--p-raised);border-color:var(--p-line);color:var(--p-muted)}
.bmw-dashboard .expert-timeline-dot{border:2px solid var(--p-panel);width:12px;height:12px;margin-top:5px;box-shadow:none;background:var(--p-accent)}
.bmw-dashboard .expert-timeline-list::before{background:var(--p-line);width:1px}.bmw-dashboard .expert-timeline-body{border:0;border-bottom:1px solid var(--p-line);border-radius:0;padding:0 0 14px}.bmw-dashboard .expert-timeline-title{font-size:14px;font-weight:600}.bmw-dashboard .expert-timeline-photo{border-radius:4px}.bmw-dashboard .expert-visit-summary{padding:16px}.bmw-dashboard .expert-timeline-sub{max-width:70ch}.bmw-dashboard .expert-timeline-card{padding:18px}.bmw-dashboard .expert-timeline-head{margin-bottom:12px}.bmw-dashboard .expert-visit{margin-top:10px}.bmw-dashboard .expert-progress-track span{background:#158ace}.bmw-dashboard .expert-timeline-card .crm-title{font-size:20px}
.bmw-dashboard .crm-header{background:var(--p-panel);margin:0 0 14px;padding:20px;border:1px solid var(--p-line);border-top:2px solid var(--p-accent);border-radius:5px;box-shadow:none}.bmw-dashboard .crm-title{font-size:26px}.bmw-dashboard .crm-header::before,.bmw-dashboard .crm-header::after{display:none}.bmw-dashboard .kpi .value{font-size:18px}.bmw-dashboard .kpi .label{font-size:12px}.bmw-dashboard .crm-grid.client-dashboard-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start}.bmw-dashboard .crm-left-pane{width:100%}.bmw-dashboard #online-services-panel{scroll-margin-top:12px;min-width:0}.bmw-dashboard #online-services-tabs{gap:0;padding:6px;max-height:132px;overflow:auto}.bmw-dashboard #online-services-tabs .tab{min-height:42px;color:var(--p-muted);font-size:13px;padding:8px 12px}.bmw-dashboard #online-services-tabs .tab.active{color:var(--p-accent);background:var(--p-soft);border-color:var(--p-accent)}
.portal-launcher{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px}.portal-launcher button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;text-align:center;background:var(--p-panel);color:var(--p-text);border:1px solid var(--p-line);border-radius:5px;font:inherit;font-weight:600;padding:10px}.portal-launcher button:hover,.portal-launcher button[aria-current=true]{background:var(--p-soft);color:var(--p-accent);border-color:var(--p-accent)}.portal-launcher .portal-nav-number{font-size:10px;color:var(--p-muted);font-weight:500}.portal-profile-note{padding:10px 14px;margin:0 0 14px;border:1px solid var(--p-line);border-radius:4px;background:var(--p-panel);color:var(--p-muted)}.portal-profile-note summary{font-size:13px}.portal-profile-note>div{padding-top:8px}.portal-profile-note a{color:var(--p-accent)}
.bmw-dashboard .request-center{border:1px solid var(--p-line);padding:16px;margin:0 0 14px;background:var(--p-panel)}.bmw-dashboard .request-center-icon{display:none}.bmw-dashboard .request-center .crm-title{font-size:20px!important}.bmw-dashboard .request-center-summary{background:var(--p-raised);color:var(--p-text);padding:8px 14px}.bmw-dashboard .request-center-summary-note{display:none}.bmw-dashboard .request-center-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bmw-dashboard .request-focus-card{padding:12px}.bmw-dashboard .request-focus-card::before{height:2px}.bmw-dashboard .request-focus-state{background:var(--p-raised)!important;color:var(--p-muted)!important;border:1px solid var(--p-line)}.bmw-dashboard .request-focus-note{font-size:12px;line-height:1.5}.bmw-dashboard .request-focus-card .request-focus-foot{font-size:12px}.bmw-dashboard .request-focus-card.has-decision{border-left:3px solid var(--p-warn)}.bmw-dashboard .mini-cal-day.has-event{background:var(--p-soft)}.bmw-dashboard .mini-cal-title{color:var(--p-text)}.bmw-dashboard .mini-cal-day.selected{outline:2px solid var(--p-accent);outline-offset:-2px}.bmw-dashboard .mini-cal-day.disabled{opacity:.7}
/* Native-looking controls and lines shared by live diagnostics in both roles. */
.live-diagnostics{min-width:0;color:var(--p-text)}.ld-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.ld-toolbar label{flex:1;min-width:150px}.ld-toolbar select{width:100%;max-width:700px;min-height:42px;padding:8px}.ld-notice{font-size:13px;color:var(--p-muted);padding:10px 0;overflow-wrap:anywhere}.ld-error{color:var(--p-bad);background:var(--p-bad-bg);border:1px solid var(--p-bad);padding:12px}.ld-hero{display:grid;grid-template-columns:1fr 190px;gap:18px;padding:18px;border:1px solid var(--p-line);border-top:2px solid var(--p-accent);border-radius:4px;background:var(--p-panel)}.ld-hero h3{font-size:23px;margin:6px 0;font-weight:650;letter-spacing:-.02em}.ld-identity{color:var(--p-muted);font-size:13px;overflow-wrap:anywhere}.ld-photo{margin:0}.ld-photo img{width:100%;height:118px;object-fit:contain;background:var(--p-raised);border-radius:4px}.ld-photo figcaption{font-size:10px;color:var(--p-muted);margin-top:4px}.ld-mode{font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--p-muted);text-transform:uppercase}.ld-mode[data-live=true]{color:var(--p-ok)}.ld-readings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--p-line);border-top:0;background:var(--p-panel)}.ld-reading{padding:14px;border-right:1px solid var(--p-line);min-width:0}.ld-reading:last-child{border-right:0}.ld-reading span{display:block;color:var(--p-muted);font-size:12px}.ld-reading strong{display:block;font-size:20px;font-weight:650;margin:4px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.ld-reading small{display:block;color:var(--p-muted);font-size:11px;line-height:1.4}.ld-reading[data-state=unknown] strong{font-size:15px;color:var(--p-muted)}.ld-section{margin-top:18px;border:1px solid var(--p-line);border-radius:4px;background:var(--p-panel);padding:16px}.ld-section h4{font-size:16px;margin:0 0 8px}.ld-section summary{font-size:15px;font-weight:600;padding:0;display:flex;justify-content:space-between;gap:12px}.ld-section[open]>summary{margin-bottom:14px}.ld-fault-list{display:grid;gap:0}.ld-fault{border-top:1px solid var(--p-line);padding:12px 0;display:grid;grid-template-columns:90px 1fr;gap:12px}.ld-fault p{margin:3px 0 0;font-size:13px;overflow-wrap:anywhere}.ld-fault small{color:var(--p-muted);font-size:12px}.ld-fault code{font:600 14px ui-monospace,monospace;color:var(--p-accent)}.ld-filter{width:100%;padding:10px;margin:10px 0;min-height:42px}.ld-stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--p-muted);font-size:13px}.ld-buses{display:grid;gap:18px;margin-top:12px}.ld-bus{border-top:1px solid var(--p-accent);padding-top:0}.ld-bus h5{font:600 12px ui-monospace,monospace;letter-spacing:.03em;margin:5px 0 0;color:var(--p-accent)}.ld-ecus{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.ld-ecu{position:relative;border:1px solid var(--p-line);padding:10px;margin-top:16px;font-size:12px;overflow-wrap:anywhere;background:var(--p-raised);border-radius:2px}.ld-ecu::before{content:'';position:absolute;left:16px;top:-17px;height:16px;border-left:1px solid var(--p-accent)}.ld-ecu strong,.ld-ecu small{display:block}.ld-ecu small{margin-top:4px;color:var(--p-muted)}.ld-bus[data-unknown=true]{border-color:var(--p-line)}.ld-bus[data-unknown=true] .ld-ecu::before{display:none}.ld-bus[data-unknown=true] h5{color:var(--p-muted)}.ld-equipment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ld-equipment p{color:var(--p-muted);font-size:13px}.ld-equipment pre{max-height:250px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.ld-actions{display:flex;gap:8px;flex-wrap:wrap}.ld-legacy-toggle{margin:14px 0}.enet-panel-shell .enet-flow-shell{display:none}.enet-panel-shell[data-simplified=true]>.enet-nav-map,.enet-panel-shell[data-simplified=true]>.enet-hero{display:none}.enet-panel-shell[data-simplified=true]>:not(.live-diagnostics):not(.ld-legacy-toggle){display:none!important}.bmw-admin .admin-tabs{overflow:auto;flex-wrap:nowrap;white-space:nowrap;max-width:100%}.bmw-admin .admin-tabs .tab{color:var(--p-muted)}.bmw-admin .admin-tabs .tab.active{color:var(--p-accent);background:var(--p-soft)}.bmw-admin .admin-table th{color:var(--p-muted)}.bmw-admin .appointment-event{background:var(--p-soft);color:var(--p-text)}.bmw-admin .appointment-event.pending{background:var(--p-warn-bg);color:var(--p-warn)}
@media(max-width:1000px){.bmw-dashboard .request-center-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bmw-dashboard .crm-grid.client-dashboard-layout{display:flex;flex-direction:column}.bmw-dashboard .crm-grid>section{width:100%}.bmw-dashboard .client-online-services{order:-1}.ld-readings{grid-template-columns:repeat(3,minmax(0,1fr))}.ld-reading{border-bottom:1px solid var(--p-line)}.bmw-dashboard .crm-left-pane{order:1}}
@media(max-width:760px){body .container{padding:12px}body .topbar-inner{padding:10px 12px;flex-wrap:wrap;gap:8px}body .brand{gap:8px}body .logo.slim{width:36px;height:36px}body .brand-title{font-size:12px}body .brand-sub{font-size:11px}body .userpill{margin-left:auto;max-width:100%;padding:4px}body .user-meta{max-width:125px;font-size:11px}body .userpill-avatar{width:28px;height:28px}body .userpill-controls{gap:4px}body .portal-theme-choice select{font-size:11px;max-width:95px}body .brand-action{padding:3px 6px;font-size:11px;min-height:28px}body .user-menu{max-width:calc(100vw - 24px)}body :is(.btn,.tab,select,input:not([type=checkbox]):not([type=radio]),.appt-slot){min-height:44px}body :is(input,select,textarea){font-size:16px}.portal-launcher{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-launcher button{font-size:12px;padding:9px 6px;min-height:48px}.portal-launcher .portal-nav-number{display:none}.portal-launcher button:nth-child(4),.portal-launcher button:nth-child(5){grid-column:span 1}.bmw-dashboard .crm-header{padding:16px;gap:14px}.bmw-dashboard .crm-title{font-size:23px}.bmw-dashboard .kpi .value{font-size:15px}.bmw-dashboard .kpi .label{font-size:11px}.bmw-dashboard .request-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bmw-dashboard .request-center{padding:12px}.bmw-dashboard .request-center-sub{font-size:13px}.bmw-dashboard .request-focus-card:last-child{grid-column:span 2}.bmw-dashboard .request-focus-state{font-size:9px}.bmw-dashboard .request-focus-note{display:none}.bmw-dashboard .request-focus-foot{margin-top:8px}.bmw-dashboard .expert-timeline-card{padding:12px}.bmw-dashboard .expert-timeline-sub{font-size:13px}.bmw-dashboard .expert-visit-summary{padding:12px;display:block}.bmw-dashboard .expert-progress{margin-top:12px;width:100%}.bmw-dashboard .expert-timeline-kicker{flex-wrap:wrap;gap:4px}.bmw-dashboard .expert-timeline-list{padding:12px 8px}.bmw-dashboard .expert-timeline-total{padding:8px;min-width:60px}.bmw-dashboard .expert-timeline-photo.is-moneyshot{width:130px}.ld-hero{grid-template-columns:minmax(0,1fr) 100px;gap:10px;padding:12px}.ld-hero h3{font-size:19px}.ld-photo img{height:86px}.ld-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.ld-reading{padding:12px;min-height:98px}.ld-reading strong{font-size:20px}.ld-reading:last-child{grid-column:span 2}.ld-toolbar{align-items:stretch}.ld-toolbar label{flex-basis:100%}.ld-toolbar button{flex:1}.ld-section{padding:12px}.ld-equipment{grid-template-columns:1fr}.ld-fault{grid-template-columns:75px minmax(0,1fr);gap:8px}.ld-stats{gap:8px}.bmw-admin .admin-head-actions .btn{font-size:13px}.bmw-admin .workspace-bar{padding-top:4px}.bmw-admin .workspace-bar strong{font-size:20px}.bmw-admin .workspace-bar-actions label{width:100%;flex-basis:100%}.bmw-admin .admin-table td{font-size:13px}}
@media(prefers-reduced-motion:reduce){body *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body{background:#fff!important;color:#111!important}.topbar,.portal-launcher,.portal-theme-choice,.ld-toolbar,.ld-actions,.ld-legacy-toggle{display:none!important}.ld-section,.ld-hero,.ld-readings{background:#fff!important;color:#111!important;break-inside:avoid}.ld-reading strong,.ld-section p{color:#111!important}}
/* Shared menus, messaging, profile, parts and approval components. */
body :is(.user-menu,.user-menu *,.user-menu-name,.user-menu-link,.collapsible>.tile-title,.tree-leaf,.parts-group-title,.parts-group-total,.parts-group-compact-title,.parts-group-compact-meta .sum,.client-online-services .task-approval-table .task-title-cell .p,.enet-stat-card strong,.enet-session-table strong,.enet-odo-table strong,.enet-svk-table strong,.enet-dtc-table strong){color:var(--p-text)}
body :is(.user-menu-email,.parts-group-meta){color:var(--p-muted)}body :is(.user-menu-head,.user-menu-avatar,.user-menu-link:hover,.tree-node,.tree-thumb,.chat-card,.contact-card,.photo-modal-inner,.modal-close,.parts-group,.parts-group-compact,.table.cardish tr:nth-child(even),.enet-stat-card){background:var(--p-panel);border-color:var(--p-line);color:var(--p-text)}body :is(.contact-card .input,.chat-input .input,.avatar-btn,.parts-group-compact:hover,.user-menu-link:hover){background:var(--p-raised);color:var(--p-text);border-color:var(--p-line)}body .table tr:nth-child(even) td{background:var(--p-panel)}body :is(.table tr:hover td,.table tr.active td,.table tr[data-appt-open]:hover){background:var(--p-soft);color:var(--p-text)}body :is(.badge.success,.status-pill.status-resolved,.pill.ok,.pill.installed){background:var(--p-ok-bg);color:var(--p-ok);border-color:var(--p-ok)}body .badge.danger{background:var(--p-bad-bg);color:var(--p-bad);border-color:var(--p-bad)}body .tab.active{background:var(--p-soft);color:var(--p-accent);border-color:var(--p-line)}body .parts-group-compact{border:1px solid var(--p-line);border-radius:4px}body [data-telematics]{--tm-bg:var(--p-panel);--tm-line:var(--p-line);--tm-text:var(--p-text);--tm-muted:var(--p-muted);background:var(--p-panel);border-radius:4px}body .tm-warning{color:var(--p-warn)}body .tm-line{height:1px}body :is(.mini-appt-list .mini-appt-card,.mini-appt-list .mini-appt-card.active,.mini-cal-tooltip){background:var(--p-raised);color:var(--p-text);border-color:var(--p-line)}.ld-fault code,.ld-fault small{display:block}.ld-fault code{margin-bottom:4px}.ld-toolbar label{display:grid;gap:5px;font-size:12px;color:var(--p-muted)}.ld-toolbar select{font-size:14px;color:var(--p-text)}.ld-section summary::after{content:'+';color:var(--p-accent);font-weight:400}.ld-section[open]>summary::after{content:'−'}
@media(max-width:760px){.ld-toolbar select{font-size:16px}.bmw-dashboard .portal-launcher{grid-template-columns:repeat(6,minmax(0,1fr))}.bmw-dashboard .portal-launcher button{grid-column:span 2}.bmw-dashboard .portal-launcher button:nth-child(4),.bmw-dashboard .portal-launcher button:nth-child(5){grid-column:span 3}}

/* Table rules in the legacy dashboard have greater specificity than generic tables. */
body.bmw-dashboard .client-online-services .table.cardish:not(.task-approval-table) th{background:var(--p-raised);color:var(--p-muted)}
body.bmw-dashboard .client-online-services .table.cardish:not(.task-approval-table) tr:nth-child(even) td{background:var(--p-panel);color:var(--p-text)}
body.bmw-dashboard .client-online-services .table.cardish:not(.task-approval-table) tr:hover td{background:var(--p-soft);color:var(--p-text)}
body.bmw-dashboard .expert-progress-text{color:var(--p-muted)}body.bmw-dashboard .expert-timeline-total strong{color:var(--p-accent)}

body .footer,body .footer a,body footer,body footer a{color:var(--p-muted);border-color:var(--p-line)}
