:root{
  --scw:#0aaef0;
  --scw-deep:#008fd0;
  --ink:#26282b;
  --ink-2:#3e4247;
  --muted:#68717d;
  --border:#dfe5eb;
  --surface:#ffffff;
  --surface-2:#f6f8fa;
  --surface-3:#eef4f8;
  --navy:#0b2f69;
  --danger:#d92d20;
  --danger-bg:#fff0ef;
  --warning:#b7791f;
  --warning-bg:#fff8e6;
  --success:#15803d;
  --success-bg:#edf9f0;
  --info:#0277bd;
  --info-bg:#eaf7fd;
  --purple:#7c3aed;
  --shadow:0 12px 34px rgba(20,42,60,.08);
  --radius:14px;
  --radius-sm:10px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:#f3f6f8;color:var(--ink);font-size:14px}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:292px 1fr}
.sidebar{position:fixed;inset:0 auto 0 0;width:292px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50;overflow:hidden}
.brand-panel{padding:18px 18px 14px;border-bottom:1px solid var(--border)}
.brand-logo{display:block;width:214px;max-width:100%;height:auto}
.brand-copy{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;color:var(--muted);font-size:11.5px}
.brand-copy strong{color:var(--ink-2);font-size:12px}.brand-copy span{white-space:nowrap}
.primary-nav{padding:12px 10px 6px;display:grid;gap:4px}
.nav-link{width:100%;border:0;background:transparent;color:#424952;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:10px;font-weight:600}
.nav-link:hover{background:var(--surface-2)}.nav-link.active{background:#eaf8fe;color:#087cac}.nav-icon{width:22px;text-align:center;font-size:18px}.count-badge{margin-left:auto;min-width:21px;height:21px;border-radius:999px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:11px}
.sidebar-section{display:flex;min-height:0;flex-direction:column;flex:1;padding:10px 10px 4px;border-top:1px solid #f0f2f4}.sidebar-section-title{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7a828c;font-size:10.5px}.tiny-icon-btn{border:0;background:transparent;color:#85909a;font-size:17px}.dealer-filter-wrap{position:relative;padding:0 4px 8px}.dealer-filter-wrap input{width:100%;border:1px solid var(--border);background:#f8fafb;border-radius:9px;padding:8px 9px 8px 30px;outline:none}.dealer-filter-wrap input:focus{border-color:#84d8fa;box-shadow:0 0 0 3px rgba(10,174,240,.10)}.mini-search-icon{position:absolute;left:14px;top:8px;color:#83909a}
.dealer-rail{overflow:auto;padding:0 3px 8px;scrollbar-width:thin}.dealer-group-label{padding:8px 8px 5px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#9aa1aa;font-weight:800}.dealer-button{width:100%;border:0;background:transparent;border-radius:10px;padding:8px 9px;display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;text-align:left;color:#3e454d;margin-bottom:2px}.dealer-button:hover{background:#f5f8fa}.dealer-button.active{background:#e9f8fe;color:#087eae}.dealer-monogram{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#eef2f5;color:#46515c;font-size:10px;font-weight:900}.dealer-button.active .dealer-monogram{background:var(--scw);color:#fff}.dealer-label strong{display:block;font-size:12.5px;line-height:1.2}.dealer-label span{display:block;font-size:10.5px;color:#8a929b;margin-top:2px}.dealer-mini-alert{width:7px;height:7px;border-radius:50%;background:#e2e7eb}.dealer-mini-alert.critical{background:var(--danger)}.dealer-mini-alert.warning{background:#f59e0b}
.sidebar-footer-nav{padding:6px 10px;border-top:1px solid var(--border)}.nav-link.compact{padding:8px 12px;font-size:12.5px}.phase-note{margin:8px 12px 12px;padding:11px;border-radius:10px;background:#f5f8fa;display:grid;grid-template-columns:10px 1fr;gap:9px}.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;margin-top:4px;box-shadow:0 0 0 4px rgba(34,197,94,.10)}.phase-note strong{display:block;font-size:10.8px}.phase-note span{display:block;color:#8a929c;font-size:9.8px;margin-top:2px;line-height:1.25}
.main{grid-column:2;min-width:0}.topbar{height:68px;position:sticky;top:0;z-index:35;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.mobile-menu{display:none;border:0;background:transparent;font-size:22px}.global-search{height:40px;min-width:420px;max-width:640px;border:1px solid var(--border);background:#f8fafb;border-radius:11px;display:flex;align-items:center;gap:10px;color:#7c8792;padding:0 11px}.global-search:hover{border-color:#bfcbd4}.global-search .search-copy{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search kbd{border:1px solid #d7dde2;background:#fff;border-radius:6px;padding:2px 6px;font-size:10px;color:#8d949d;box-shadow:0 1px 0 #d8dee3}.topbar-actions{display:flex;align-items:center;gap:12px}.environment-pill{font-size:11px;padding:6px 9px;border-radius:999px;background:#eaf8fe;color:#087eae;font-weight:800}.icon-btn{width:38px;height:38px;border:1px solid var(--border);background:#fff;border-radius:10px;position:relative}.notification-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--danger);right:7px;top:6px;border:2px solid #fff}.user-menu{display:flex;align-items:center;gap:9px;padding-left:4px}.avatar{width:36px;height:36px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}.user-menu strong,.user-menu span{display:block}.user-menu strong{font-size:12.5px}.user-menu span{font-size:10.5px;color:#8a929c;margin-top:2px}
.content{padding:22px 26px 46px;max-width:1680px;margin:0 auto}.eyebrow{text-transform:uppercase;letter-spacing:.10em;font-weight:900;font-size:10px;color:#87919b}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.page-title h1{font-size:25px;line-height:1.15;margin:4px 0 4px;letter-spacing:-.02em}.page-title p{margin:0;color:var(--muted);max-width:760px}.title-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--border);background:#fff;color:#37414a;border-radius:9px;padding:9px 12px;font-weight:750}.btn:hover{background:#f7f9fa}.btn-primary{border-color:var(--scw);background:var(--scw);color:#fff}.btn-primary:hover{background:var(--scw-deep)}.btn-danger{border-color:#fecaca;background:#fff5f5;color:#b42318}.btn-sm{padding:6px 9px;font-size:11.5px}.btn-ghost{background:transparent;border-color:transparent}.btn-icon{display:inline-flex;align-items:center;gap:6px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px rgba(20,45,65,.02)}.card-pad{padding:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.section-title h2{font-size:15px;margin:0}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11.5px}.section-actions{display:flex;gap:6px;align-items:center}.section-link{border:0;background:transparent;color:#0787bc;font-weight:750;font-size:11.5px}
.dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.welcome-card{padding:18px;background:linear-gradient(125deg,#21272c 0%,#323a40 60%,#0b83b7 145%);color:#fff;border:0}.welcome-card .eyebrow{color:#92ddfa}.welcome-card h2{font-size:21px;margin:7px 0 7px}.welcome-card p{color:#d9e0e5;max-width:690px;line-height:1.45;margin:0}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.dash-stat{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:10px;padding:10px}.dash-stat span{font-size:10px;color:#b9c7d0;display:block}.dash-stat strong{font-size:19px;display:block;margin-top:3px}.quick-dealers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-dealer{border:1px solid var(--border);background:#fff;border-radius:12px;padding:13px;text-align:left}.quick-dealer:hover{border-color:#9edff8;box-shadow:0 6px 18px rgba(10,174,240,.08)}.quick-dealer .qd-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.quick-dealer strong{display:block;font-size:13px}.quick-dealer span{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}.status-chip{display:inline-flex!important;align-items:center;gap:5px;border-radius:999px;padding:4px 7px;font-size:9.5px!important;font-weight:850;white-space:nowrap}.status-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-chip.ok{background:var(--success-bg);color:var(--success)}.status-chip.warn{background:var(--warning-bg);color:#9b6717}.status-chip.danger{background:var(--danger-bg);color:var(--danger)}.status-chip.info{background:var(--info-bg);color:var(--info)}
.alert-list{display:grid;gap:8px}.alert-row{display:grid;grid-template-columns:8px 1fr auto;gap:11px;padding:11px;border:1px solid var(--border);border-radius:10px;background:#fff;align-items:start}.alert-bar{width:7px;border-radius:999px;height:100%;min-height:34px;background:#d9e0e5}.alert-row.critical .alert-bar{background:var(--danger)}.alert-row.warning .alert-bar{background:#f59e0b}.alert-row.info .alert-bar{background:var(--info)}.alert-row.success .alert-bar{background:#22a65a}.alert-row h3{font-size:12.5px;margin:0 0 3px}.alert-row p{font-size:11.2px;color:#606b76;margin:0;line-height:1.35}.alert-meta{font-size:9.5px;color:#9199a2;margin-top:5px}.alert-actions{display:flex;gap:5px;align-items:center}
/* Dealer cockpit */
.cockpit{display:grid;gap:13px}.dealer-header{overflow:hidden}.dealer-header-main{padding:17px 18px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dealer-title-block{display:flex;gap:12px;align-items:flex-start}.dealer-avatar{width:49px;height:49px;border-radius:12px;background:#eaf8fe;color:#0888bc;display:grid;place-items:center;font-weight:900;font-size:14px;flex:none}.dealer-title-block h1{font-size:23px;letter-spacing:-.02em;margin:0}.dealer-title-block p{margin:4px 0 0;color:var(--muted);font-size:11.5px}.dealer-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.meta-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;padding:5px 8px;background:#fafcfd;font-size:10.5px;color:#59636d}.meta-pill strong{color:#343b43}.dealer-open{font-weight:800;color:var(--success)}.dealer-closed{font-weight:800;color:var(--danger)}.dealer-header-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.channel-strip{border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:9px 18px;background:#fbfcfd}.channel-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:#929aa2;font-weight:900;margin-right:3px}.channel-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#eef4f7;color:#4c5964;font-size:10.5px;font-weight:800}.channel-chip.blocked{background:var(--danger-bg);color:var(--danger)}
.critical-directives{display:grid;gap:7px}.directive{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;border-radius:12px;border:1px solid #f7c9c5;background:#fff5f4;padding:11px 12px}.directive-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#fee2e2;color:var(--danger);font-weight:900;font-size:18px}.directive h2{font-size:13px;margin:0 0 2px;color:#a61b12}.directive p{font-size:11.5px;margin:0;color:#624b49;line-height:1.35}.directive.warning{border-color:#f4dfad;background:#fffaf0}.directive.warning .directive-icon{background:#fff1c7;color:#9b6717}.directive.warning h2{color:#875b18}.directive.info{border-color:#bce8fa;background:#f1fbff}.directive.info .directive-icon{background:#dff5fd;color:#087eae}.directive.info h2{color:#087eae}
.cockpit-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:13px}.today-card{padding:15px}.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-item{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fbfcfd}.today-item .today-top{display:flex;align-items:center;gap:7px;margin-bottom:4px}.today-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.today-dot.critical{background:var(--danger)}.today-dot.warning{background:#f59e0b}.today-dot.info{background:var(--info)}.today-dot.success{background:#16a34a}.today-item strong{font-size:11.5px}.today-item p{margin:0;color:#66717b;font-size:10.8px;line-height:1.35}.today-item .expiry{font-size:9.5px;color:#98a0a9;margin-top:5px}.empty-mini{padding:18px;text-align:center;color:#8b949d;font-size:11.5px;border:1px dashed var(--border);border-radius:10px}
.procedure-card{padding:15px}.procedure-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field label{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#808a94;margin-bottom:5px}.field select,.field input{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 9px;outline:none}.field select:focus,.field input:focus{border-color:#77d4f8;box-shadow:0 0 0 3px rgba(10,174,240,.09)}.procedure-result{margin-top:10px;border:1px solid #c6eaf7;border-radius:11px;background:#f4fbfe;overflow:hidden}.procedure-result-header{padding:9px 11px;background:#e7f8fe;border-bottom:1px solid #c6eaf7;display:flex;align-items:center;justify-content:space-between;gap:10px}.procedure-result-header strong{font-size:11.5px;color:#087eae}.confidence{font-size:9.5px;background:#d3f2fd;color:#087eae;border-radius:999px;padding:4px 6px;font-weight:800}.procedure-steps{padding:9px 11px;display:grid;gap:7px}.step{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}.step-num{width:22px;height:22px;border-radius:7px;background:#fff;border:1px solid #bae4f4;display:grid;place-items:center;font-size:9.5px;color:#087eae;font-weight:900}.step p{margin:2px 0 0;font-size:10.8px;line-height:1.35;color:#46515b}.procedure-note{margin:0 11px 10px;padding:8px;border-radius:8px;background:#fff;border:1px solid #dcebf1;font-size:10px;color:#68737d}
.cockpit-tabs{display:flex;gap:3px;border-bottom:1px solid var(--border);padding:0 4px}.cockpit-tab{border:0;background:transparent;padding:10px 11px 9px;color:#69737d;font-weight:750;font-size:11.5px;border-bottom:2px solid transparent;margin-bottom:-1px}.cockpit-tab:hover{color:#343b42}.cockpit-tab.active{color:#087eae;border-bottom-color:var(--scw)}.cockpit-tab span{margin-left:5px;background:#edf2f5;border-radius:999px;padding:2px 5px;font-size:9px}.tab-content{min-height:220px}
.team-toolbar,.table-toolbar{padding:11px 12px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;justify-content:space-between}.toolbar-left,.toolbar-right{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.segmented{display:flex;padding:3px;background:#f0f3f5;border-radius:9px}.segmented button{border:0;background:transparent;border-radius:7px;padding:6px 8px;color:#6b747d;font-size:10.5px;font-weight:750}.segmented button.active{background:#fff;color:#087eae;box-shadow:0 1px 3px rgba(0,0,0,.07)}.table-search{height:32px;border:1px solid var(--border);border-radius:8px;padding:0 9px;width:190px;outline:none}.table-scroll{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{background:#f7f9fa;text-align:left;color:#727c86;font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:900;padding:8px 10px;border-bottom:1px solid var(--border)}.data-table td{padding:9px 10px;border-bottom:1px solid #edf0f2;font-size:11px;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfe}.person-name{font-weight:800;color:#30373e}.person-role{color:#8a939b;font-size:9.8px;margin-top:2px}.eligibility{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 7px;font-size:9.5px;font-weight:850}.eligibility.yes{background:var(--success-bg);color:var(--success)}.eligibility.no{background:var(--danger-bg);color:var(--danger)}.eligibility.limited{background:var(--warning-bg);color:#996615}.eligibility.unknown{background:#f1f3f5;color:#77808a}.restriction-text{font-size:10px;color:#5d6872;max-width:270px;line-height:1.3}.cycle-banner{padding:8px 12px;background:#effbf2;border-bottom:1px solid #cdebd5;color:#13783a;font-size:10.5px;font-weight:800;display:flex;align-items:center;justify-content:space-between}.cycle-banner span{font-weight:500;color:#5b7764}
.particular-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.particular-card{border:1px solid var(--border);border-radius:10px;padding:11px;background:#fff}.particular-card h3{font-size:11px;margin:0 0 5px}.particular-card p{font-size:10.5px;line-height:1.4;color:#626d77;margin:0}.particular-card.critical{border-color:#f3cfcc;background:#fff7f6}.particular-card.warning{border-color:#ecdba8;background:#fffbef}
.source-list{padding:10px 12px;display:grid;gap:7px}.source-row{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.source-main{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:center;padding:10px}.source-name{font-weight:850;font-size:11px}.source-rule{font-size:10.5px;color:#5d6872;line-height:1.35}.source-badge{font-size:9.5px;border-radius:999px;background:#eef4f7;color:#52606b;padding:4px 7px;font-weight:800}.source-steps{border-top:1px solid #edf0f2;background:#fafcfd;padding:8px 10px 8px 192px;display:grid;gap:5px}.source-step{font-size:10px;color:#56616b}.source-step b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#e5f7fe;color:#0787bc;margin-right:6px}
.vehicle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid var(--border)}.vehicle-search{display:flex;align-items:center;gap:7px;min-width:270px;border:1px solid var(--border);border-radius:9px;padding:0 9px;background:#fff}.vehicle-search input{height:34px;border:0;outline:none;width:100%;background:transparent}.freshness-legend{font-size:9.5px;color:#8d959e}.delay-value{font-weight:800}.vehicle-comment{color:#65707b;font-size:10px;max-width:440px}.freshness{display:inline-flex;gap:5px;align-items:center;font-size:9.5px;color:#66717b}.freshness::before{content:"";width:7px;height:7px;border-radius:50%;background:#16a34a}.freshness.stale::before{background:#f59e0b}.freshness.unknown::before{background:#9aa2ab}.vehicle-status{font-size:9.5px;border-radius:999px;padding:4px 7px;background:#f1f4f6;color:#596570;font-weight:800}.vehicle-status.discontinued{background:#fff0ef;color:#b42318}.vehicle-status.order{background:#fff8e6;color:#946216}.vehicle-status.stock{background:#edf9f0;color:#137a3a}
.change-grid{display:grid;grid-template-columns:1fr 320px;gap:14px}.change-list{display:grid;gap:9px}.change-card{padding:13px}.change-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.change-card h3{font-size:12.5px;margin:0 0 3px}.change-card p{font-size:10.5px;color:#68727c;margin:0}.change-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.tag{font-size:9px;border-radius:999px;background:#f0f3f5;color:#67717b;padding:4px 6px;font-weight:750}.tag.critical{background:var(--danger-bg);color:var(--danger)}.ack-panel{padding:15px;position:sticky;top:88px}.ack-progress{height:8px;background:#edf1f3;border-radius:999px;overflow:hidden;margin:10px 0}.ack-progress>div{height:100%;background:var(--scw);border-radius:inherit}.metric-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf0f2;font-size:11px}.metric-row:last-child{border-bottom:0}
.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.training-card{padding:14px}.training-card h3{font-size:13px;margin:7px 0 5px}.training-card p{font-size:10.5px;color:#69737d;line-height:1.4}.progress{height:7px;background:#edf1f3;border-radius:999px;overflow:hidden;margin:10px 0 7px}.progress span{display:block;height:100%;background:var(--scw);border-radius:inherit}.training-meta{display:flex;justify-content:space-between;font-size:9.5px;color:#7e8790}
.import-layout{display:grid;grid-template-columns:1fr 360px;gap:14px}.dropzone{padding:28px;border:1.5px dashed #a9c9d7;border-radius:12px;background:#f8fdff;text-align:center}.dropzone strong{display:block;font-size:13px;margin-top:8px}.dropzone span{display:block;color:#7f8993;font-size:10.5px;margin-top:4px}.import-steps{display:grid;gap:8px;margin-top:12px}.import-step{display:grid;grid-template-columns:28px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:9px}.import-step-num{width:28px;height:28px;border-radius:8px;background:#eaf8fe;color:#0787bc;display:grid;place-items:center;font-weight:900;font-size:10px}.import-step strong{font-size:11px;display:block}.import-step span{font-size:9.8px;color:#7b858f}.import-status{font-size:9.5px;font-weight:800;color:#14803c}.schema-box{padding:14px}.schema-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:10.5px}.schema-row:last-child{border-bottom:0}.schema-row span{color:#78828c}.schema-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.8px}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-card{padding:14px}.admin-icon{width:34px;height:34px;border-radius:9px;background:#eaf8fe;color:#0787bc;display:grid;place-items:center;font-size:16px}.admin-card h3{font-size:12.5px;margin:10px 0 4px}.admin-card p{font-size:10.5px;color:#6e7882;line-height:1.4;min-height:30px}
.empty-state{padding:40px;text-align:center;color:#7b858f}.empty-state strong{display:block;color:#424a52;margin-bottom:5px}
/* Search */
.search-modal{position:fixed;inset:0;background:rgba(24,31,37,.46);z-index:100;display:grid;place-items:start center;padding-top:9vh}.hidden{display:none!important}.search-dialog{width:min(780px,calc(100vw - 28px));background:#fff;border-radius:15px;box-shadow:0 30px 80px rgba(0,0,0,.23);overflow:hidden}.search-head{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid var(--border)}.search-big-icon{font-size:22px;color:#81909b}.search-head input{border:0;outline:none;font-size:15px;width:100%}.esc-btn{border:1px solid var(--border);background:#f8fafb;border-radius:7px;padding:4px 7px;color:#77818b}.search-hint-row{padding:7px 14px;background:#fafcfd;border-bottom:1px solid #edf0f2;color:#8a939c;font-size:9.8px}.search-results{max-height:65vh;overflow:auto;padding:8px}.search-group-title{padding:8px 8px 5px;color:#9098a0;font-size:9.5px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.search-result{width:100%;border:0;background:#fff;border-radius:9px;padding:9px 10px;text-align:left;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center}.search-result:hover{background:#f5f9fb}.search-result-icon{width:34px;height:34px;border-radius:9px;background:#edf4f7;display:grid;place-items:center}.search-result strong{display:block;font-size:11.5px}.search-result span{display:block;font-size:9.8px;color:#7b858f;margin-top:2px}.search-result-type{font-size:9px!important;color:#0787bc!important;font-weight:800;text-transform:uppercase}
/* Drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.18);z-index:79}.detail-drawer{position:fixed;z-index:80;top:0;right:0;width:min(470px,94vw);height:100vh;background:#fff;border-left:1px solid var(--border);box-shadow:-14px 0 40px rgba(22,38,50,.13);transform:translateX(101%);transition:transform .22s ease;display:flex;flex-direction:column}.detail-drawer.open{transform:translateX(0)}.drawer-header{padding:17px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between}.drawer-header h2{font-size:18px;margin:4px 0 0}.drawer-close{border:0;background:#f1f4f6;width:32px;height:32px;border-radius:9px;font-size:22px;color:#59636d}.drawer-body{padding:17px;overflow:auto}.drawer-section{margin-bottom:18px}.drawer-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7e8790;margin:0 0 8px}.drawer-kv{display:grid;grid-template-columns:130px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #edf0f2;font-size:10.5px}.drawer-kv span{color:#7a848d}.drawer-note{padding:10px;border-radius:9px;background:#f7fafb;border:1px solid var(--border);font-size:10.5px;line-height:1.45;color:#59646e}.drawer-note.critical{background:#fff5f4;border-color:#f3cbc7;color:#713b37}
.toast-stack{position:fixed;right:18px;bottom:18px;z-index:120;display:grid;gap:8px}.toast{width:min(340px,calc(100vw - 36px));background:#282f35;color:#fff;border-radius:11px;padding:11px 12px;box-shadow:0 12px 34px rgba(0,0,0,.18);animation:toastIn .18s ease}.toast strong{display:block;font-size:11.5px}.toast span{display:block;color:#c8d0d6;font-size:9.8px;margin-top:2px}@keyframes toastIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1180px){.cockpit-main-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.quick-dealers{grid-template-columns:repeat(3,1fr)}.global-search{min-width:330px}.change-grid,.import-layout{grid-template-columns:1fr}.ack-panel{position:static}.training-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{transform:translateX(-102%);transition:transform .2s ease;box-shadow:12px 0 30px rgba(0,0,0,.08)}.sidebar.open{transform:translateX(0)}.main{grid-column:1}.mobile-menu{display:block}.global-search{min-width:0;width:min(450px,55vw)}.environment-pill{display:none}.content{padding:18px}.topbar{padding:0 15px}.dealer-header-main{flex-direction:column}.dealer-header-actions{justify-content:flex-start}.particular-grid{grid-template-columns:1fr}.source-main{grid-template-columns:140px 1fr auto}.source-steps{padding-left:152px}}
@media(max-width:640px){.topbar{height:62px}.user-menu>div:not(.avatar){display:none}.global-search{width:50vw}.global-search .search-copy{font-size:0}.global-search .search-copy::after{content:"Rechercher";font-size:12px}.global-search kbd{display:none}.content{padding:14px 10px 35px}.page-title{align-items:flex-start;flex-direction:column}.dashboard-stats,.quick-dealers{grid-template-columns:1fr}.today-grid,.procedure-form{grid-template-columns:1fr}.channel-strip{overflow:auto}.cockpit-tabs{overflow:auto}.cockpit-tab{white-space:nowrap}.source-main{grid-template-columns:1fr auto}.source-rule{grid-column:1/-1}.source-steps{padding:8px 10px}.training-grid,.admin-grid{grid-template-columns:1fr}.vehicle-toolbar,.team-toolbar,.table-toolbar{align-items:flex-start;flex-direction:column}.vehicle-search{min-width:0;width:100%}.table-search{width:100%}.directive{grid-template-columns:34px 1fr}.directive .btn{grid-column:2;justify-self:start}.dealer-meta{gap:5px}}


/* =========================================================
   V3 — Semantic UX corrections
   Color never carries meaning by itself.
   ========================================================= */

.sidebar{padding-bottom:0}
.sidebar-legend{
  margin:0 12px 12px;
  padding:10px 11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  display:grid;
  gap:5px;
  color:#6d7781;
  font-size:9.5px;
  line-height:1.25;
}
.sidebar-legend>strong{color:#333b43;font-size:10.5px;margin-bottom:1px}
.sidebar-legend span{display:flex;align-items:center;gap:6px}
.legend-symbol{font-style:normal;width:16px;text-align:center}
.dealer-button{grid-template-columns:30px 1fr minmax(62px,96px)}
.dealer-status-text{
  font-size:8.8px;
  line-height:1.15;
  text-align:right;
  font-weight:800;
  color:#73808a;
}
.dealer-status-text.critical{color:#b42318}
.dealer-status-text.critical-read{color:#77611f}
.dealer-status-text.warning{color:#946216}
.dealer-status-text.clear{color:#39724b}

.semantic-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  border-radius:999px;
  padding:4px 7px;
  font-size:9px;
  font-weight:850;
  line-height:1;
  border:1px solid transparent;
}
.semantic-label.critical{background:#fff0ef;color:#b42318;border-color:#f3c8c4}
.semantic-label.warning{background:#fff8e6;color:#8a5a12;border-color:#efdaa4}
.semantic-label.info{background:#eaf7fd;color:#086d99;border-color:#c3e6f5}
.semantic-label.success{background:#edf9f0;color:#19713a;border-color:#c7e9d1}
.semantic-label.unread{background:#f2f4f7;color:#4d5964;border-color:#dfe4e8}

.dashboard-search-card{
  width:100%;
  border:1px solid #bcdceb;
  background:linear-gradient(180deg,#fbfeff,#f4fbfe);
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  text-align:left;
  margin-bottom:14px;
}
.dashboard-search-card:hover{border-color:#6fcdf2;box-shadow:0 7px 22px rgba(10,174,240,.08)}
.dashboard-search-icon{width:42px;height:42px;border-radius:11px;background:#dff5fe;color:#057eb2;display:grid;place-items:center;font-size:23px}
.dashboard-search-card strong{display:block;font-size:13px;color:#30373e}
.dashboard-search-card small{display:block;font-size:10.5px;color:#78838d;margin-top:2px}
.dashboard-search-card kbd{border:1px solid #d7e1e7;background:#fff;border-radius:7px;padding:4px 7px;color:#7d8790;font-size:10px}

.home-required-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.home-panel{padding:15px;min-height:250px}
.panel-count{
  min-width:34px;height:34px;border-radius:10px;background:#eaf8fe;color:#087eae;
  display:grid;place-items:center;font-weight:900;font-size:12px
}
.panel-count.danger{background:#fff0ef;color:#b42318}
.home-dealer-list,.home-list{display:grid;gap:7px;margin-top:10px}
.home-dealer-row,.home-list-row{
  border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px;
  text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink)
}
.home-list-row{display:grid;grid-template-columns:auto 1fr auto}
.home-dealer-row:hover,.home-list-row:hover{border-color:#b9ddec;background:#fbfeff}
.home-dealer-row strong,.home-list-row strong{display:block;font-size:11.5px}
.home-dealer-row>div>span,.home-list-row p{font-size:9.8px;color:#7b858f;margin:2px 0 0}
.home-dealer-state{flex-shrink:0}
.row-action{font-size:9.5px;color:#0787bc;font-weight:800}
.home-empty{padding:26px 12px;color:#7f8992;font-size:10.5px;text-align:center;border:1px dashed var(--border);border-radius:10px}
.training-home-progress{height:9px;background:#edf1f3;border-radius:999px;overflow:hidden;margin:11px 0 14px}
.training-home-progress>div{height:100%;background:var(--scw);border-radius:inherit}
.current-module{padding:12px;border:1px solid #cfeaf5;background:#f7fcfe;border-radius:11px}
.current-module strong{display:block;font-size:12px;margin:4px 0}
.current-module p{font-size:10px;color:#74808a;margin:0 0 9px}
.next-module{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #edf0f2;font-size:10px;color:#7b858f}
.next-module strong{font-size:10.5px;color:#4e5963}
.training-home-meta{display:flex;justify-content:space-between;gap:12px;font-size:9.8px;color:#7b858f;padding-top:10px}
.training-home-meta strong{color:#39424a}
.meaning-card{margin-top:14px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.meaning-card>strong{font-size:10.5px;color:#49535d}
.meaning-card>span{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* Permanent critical rules are outside the temporary-alert area and cannot collapse. */
.critical-rule-zone{
  border:2px solid #c9382e;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(180,35,24,.06);
}
.critical-zone-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:13px 15px;background:#fff2f1;border-bottom:1px solid #f1cbc7
}
.critical-kicker{display:block;color:#b42318;font-size:10px;font-weight:950;letter-spacing:.08em}
.critical-zone-head h2{font-size:15px;margin:4px 0 2px;color:#6e211c}
.critical-zone-head p{font-size:9.8px;color:#8c5c57;margin:0}
.critical-count{min-width:34px;height:34px;border-radius:10px;background:#b42318;color:#fff;display:grid;place-items:center;font-weight:900}
.critical-rule-list{display:grid}
.critical-rule{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;
  padding:14px 15px;border-bottom:1px solid #f0d7d4
}
.critical-rule:last-child{border-bottom:0}
.critical-rule-icon{width:40px;height:40px;border-radius:10px;background:#fff0ef;color:#b42318;display:grid;place-items:center;font-size:19px}
.critical-rule-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.critical-rule-title-row h3{font-size:13px;margin:0;color:#472b29}
.critical-rule-copy>p{font-size:10.5px;line-height:1.42;color:#665b5a;margin:6px 0 8px}
.critical-rule-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:#877a79}
.critical-rule-meta strong{color:#5f4d4b}
.critical-rule-actions{display:grid;gap:6px;justify-items:end}
.rule-read-state{font-size:9.5px;font-weight:850;color:#19713a;background:#edf9f0;border:1px solid #c7e9d1;border-radius:8px;padding:6px 8px}
.btn-danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}
.critical-empty{display:flex;gap:10px;align-items:center;padding:15px;color:#52615a}
.critical-empty>span{width:32px;height:32px;border-radius:9px;background:#edf9f0;color:#19713a;display:grid;place-items:center;font-weight:900}
.critical-empty strong{font-size:11px;display:block}
.critical-empty p{font-size:9.5px;color:#7e8a83;margin:2px 0 0}

.standing-rules{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}
.standing-rules-title{padding:8px 12px;background:#f7f9fa;border-bottom:1px solid var(--border);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:#7d8790;font-weight:900}
.standing-rule{width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:9px;padding:9px 12px;align-items:start}
.standing-rule:last-child{border-bottom:0}
.standing-rule:hover{background:#fafcfd}
.standing-rule strong{font-size:10.5px;display:block;color:#414a52}
.standing-rule small{display:block;font-size:9.5px;color:#7c8790;margin-top:2px;line-height:1.35}
.dealer-semantic-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:1px 2px;font-size:9.5px;color:#78828c}
.dealer-semantic-legend>strong{margin-right:2px}

.today-top{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap}
.today-top>strong{font-size:11px}
.today-dot{display:none!important}
.expiry{display:flex!important;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #edf0f2;padding-top:7px;margin-top:8px;font-size:9px!important;color:#808a93!important}
.expiry strong{font-size:9.5px;color:#555f68}

.alert-row.semantic{
  grid-template-columns:auto 1fr auto!important;
  border:1px solid var(--border);
  border-radius:10px;
  padding:9px;
  background:#fff;
}
.alert-row.semantic .alert-bar{display:none}

/* Exception governance */
.governance-callout{
  margin:11px 12px 0;
  padding:10px 12px;
  display:grid;
  grid-template-columns:30px 1fr;
  gap:9px;
  border:1px solid #efd18d;
  background:#fffaf0;
  border-radius:10px;
}
.governance-icon{width:30px;height:30px;border-radius:8px;background:#fff2cf;color:#8a5a12;display:grid;place-items:center}
.governance-callout strong{font-size:10.8px;color:#614614}
.governance-callout p{font-size:9.6px;color:#79653d;margin:2px 0 0;line-height:1.35}
.team-table-v3{min-width:1080px}
.exception-validity{
  border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 7px;text-align:left;display:grid;gap:2px;min-width:135px
}
.exception-validity strong{font-size:9px}
.exception-validity span{font-size:8.5px;color:#78828b}
.exception-validity.needs-review{border-color:#efcf89;background:#fffaf0}
.exception-validity.needs-review strong{color:#8a5a12}
.exception-validity.dated{border-color:#c9e7d2;background:#f6fcf8}
.exception-validity.dated strong{color:#19713a}
.form-demo-field{display:grid;gap:5px;margin-bottom:10px}
.form-demo-field label{font-size:9.5px;color:#75808a;font-weight:750}
.form-demo-field input,.form-demo-field select{height:37px;border:1px solid var(--border);border-radius:8px;padding:0 9px;background:#fff;color:#3d464e}
.form-demo-field.required label{color:#8a5a12}
.form-demo-field.required input{border-color:#e3c577;background:#fffdf7}

@media(max-width:1180px){
  .home-required-grid{grid-template-columns:1fr}
  .home-panel{min-height:0}
}
@media(max-width:760px){
  .critical-rule{grid-template-columns:36px 1fr}
  .critical-rule-actions{grid-column:2;justify-items:start}
  .critical-rule-meta{gap:6px}
  .meaning-card{align-items:flex-start;flex-direction:column}
  .meaning-card>span{justify-content:flex-start}
  .dashboard-search-card{grid-template-columns:36px 1fr}
  .dashboard-search-card kbd{display:none}
}
