:root{--bg:#0b0d10;--panel:#12161b;--panel2:#171c22;--line:#272e36;--text:#f1f4f6;--muted:#8f9aa6;--accent:#d9ff3f;--danger:#ff5d5d;--warn:#ffbf4d;--ok:#62d99b;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#1b222a 0,#0b0d10 48%)}.login-card{width:min(430px,100%);background:rgba(18,22,27,.96);border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 30px 80px #0008}.brand-mark{font-weight:900;letter-spacing:-.04em;font-size:19px}.brand-mark span{font-weight:500;color:#7e8994;font-size:.72em;letter-spacing:.08em;margin-left:4px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--accent);margin-top:28px}.login-card h1{font-size:36px;margin:8px 0}.login-card p{line-height:1.5}.muted,p{color:var(--muted)}label{display:block;font-size:12px;font-weight:700;color:#b9c1c9;margin-bottom:14px}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#0d1115;color:var(--text);border-radius:9px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#69747f}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 15px;border-radius:9px;font-weight:800;font-size:12px}.btn.primary{background:var(--accent);color:#090b0c;border-color:var(--accent)}.btn.ghost{background:transparent}.btn.full{width:100%;margin-top:8px;padding:13px}.demo-note{font-size:11px!important;text-align:center;margin-bottom:0}.app{min-height:100vh;display:flex}.sidebar{width:245px;border-right:1px solid var(--line);background:#0d1013;padding:28px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.workspace{font-size:9px;letter-spacing:.16em;color:#59646e;font-weight:800;margin:40px 12px 12px}nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;color:#7f8a95;text-align:left;padding:12px;border-radius:8px;font-size:13px;font-weight:700}.nav-item:hover,.nav-item.active{background:#181d23;color:#fff}.nav-item.active{box-shadow:inset 2px 0 var(--accent)}.sidebar-bottom{margin-top:auto}.status-dot{font-size:11px;color:#73808a;margin:0 12px 18px}.status-dot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-right:7px}.logout{background:none;border:0;color:#66727c;font-size:11px;padding:0 12px}.main{margin-left:245px;width:calc(100% - 245px);padding:0 46px 60px}.topbar{height:105px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar h2{margin:6px 0 0;font-size:24px}.topbar .eyebrow{margin:0}.top-actions{display:flex;align-items:center;gap:12px}.vehicle-pill{border:1px solid var(--line);padding:8px 12px;border-radius:30px;font-size:11px;color:#a8b1b9}.vehicle-pill:after{content:""}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#242b32;font-weight:800;font-size:12px}.section{max-width:1200px;margin:36px auto 0}.hero{border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(110deg,#151a20,#101419)}.hero .eyebrow{margin:0}.hero h1{font-size:30px;margin:8px 0 5px}.hero p{font-size:12px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.stat-card{padding:18px}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{display:block;font-size:28px;margin-top:8px}.panel{margin-top:14px}.panel-head,.section-head{display:flex;justify-content:space-between;align-items:end;padding:22px}.panel-head h3,.section-head h2{margin:0}.panel-head p,.section-head p{margin:6px 0 0;font-size:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.summary-item{background:var(--panel);padding:17px}.summary-item .name{font-size:11px;color:#818d97}.summary-item .value{font-weight:850;margin-top:6px}.section-head{padding:0 0 20px}.section-head .eyebrow{margin:0}.section-head h2{font-size:28px;margin-top:6px}.actions{display:flex;gap:8px}.filters{display:grid;grid-template-columns:1fr 190px 170px;gap:9px;margin-bottom:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}th{font-size:10px;color:#6f7a84;text-transform:uppercase;letter-spacing:.08em}tr:last-child td{border-bottom:0}.req-name{font-weight:800}.req-id{font-size:9px;color:#69747e;margin-top:3px}.pill{display:inline-block;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:900}.pill.high{color:#ff7777;background:#ff5d5d18}.pill.medium{color:#ffc96b;background:#ffbf4d18}.pill.low{color:#76e0a5;background:#62d99b18}.status{font-size:10px;font-weight:800}.status.published{color:var(--ok)}.status.draft{color:var(--warn)}.row-actions{display:flex;justify-content:flex-end;gap:6px}.small-btn{background:#1a2026;border:1px solid var(--line);color:#b9c2ca;border-radius:7px;padding:6px 8px;font-size:10px}.setup-list{display:grid;gap:10px}.setup-card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between;align-items:center}.setup-card h3{margin:0 0 6px}.setup-card p{margin:3px 0;font-size:11px}.setup-tag{font-size:9px;color:var(--accent);border:1px solid #d9ff3f44;padding:5px 8px;border-radius:20px}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px;z-index:10}.modal-card{width:min(700px,100%);max-height:92vh;overflow:auto;background:#12161b;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 30px 100px #000}.modal-head{display:flex;justify-content:space-between;margin-bottom:20px}.modal-head .eyebrow{margin:0}.modal-head h3{margin:5px 0 0}.icon-btn{border:0;background:transparent;color:#88939d;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}@media(max-width:850px){.sidebar{width:70px;padding:20px 10px}.sidebar .brand-mark,.workspace,.sidebar-bottom{display:none}.main{margin-left:70px;width:calc(100% - 70px);padding:0 18px}.nav-item{font-size:0;text-align:center}.nav-item:before{content:"•";font-size:20px}.stats{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:1fr 1fr}.hero{align-items:start;gap:20px;flex-direction:column}.filters{grid-template-columns:1fr}table{min-width:760px}.table-panel{overflow:auto}.top-actions .vehicle-pill{display:none}}@media(max-width:520px){.stats,.summary-grid,.form-grid{grid-template-columns:1fr}.section-head{align-items:start;gap:15px;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}}

.context-selectors{display:flex;align-items:center;gap:8px}.compact-select{margin:0;min-width:170px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#68747e;font-weight:800}.compact-select select{margin-top:4px;padding:8px 30px 8px 10px;font-size:11px;text-transform:none;letter-spacing:normal;font-weight:700;background:#11161b;border-radius:8px}.vehicle-group{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);overflow:hidden}.vehicle-group+.vehicle-group{margin-top:12px}.vehicle-group-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line);background:#151a20}.vehicle-group-head .eyebrow{margin:0}.vehicle-group-head h3{margin:4px 0 0}.vehicle-group-head p{margin:3px 0 0;font-size:11px}.vehicle-setups{padding:10px}.setup-card{margin:0;padding:17px}.setup-card+.setup-card{margin-top:8px}.setup-card.active{border-color:#d9ff3f66;box-shadow:inset 2px 0 var(--accent)}.setup-card-actions{display:flex;align-items:center;gap:8px}.empty-setup{padding:15px;color:#71808b;font-size:11px}.small-modal{width:min(560px,100%)}
@media(max-width:900px){.context-selectors{display:none}}
.danger-btn{color:#ff7a7a;border-color:#ff5d5d33}.danger-btn:hover{border-color:#ff5d5d77;background:#ff5d5d12}.setup-card-actions{flex-wrap:wrap}

.archive-toolbar{display:flex;gap:8px;margin-bottom:18px;padding:4px;background:rgba(255,255,255,.03);border:1px solid var(--border,#20252a);border-radius:10px;width:max-content}
.archive-tab{border:0;background:transparent;color:#7f8a93;padding:9px 16px;border-radius:7px;cursor:pointer;font:inherit}
.archive-tab.active{background:#d7f000;color:#111;font-weight:700}
.archived-group{opacity:.88}
.empty-state{padding:36px;text-align:center;color:#71808b;border:1px dashed var(--border,#20252a);border-radius:12px}
.vehicle-badge{display:flex;flex-direction:column;gap:2px;min-width:150px;padding:8px 11px;border:1px solid var(--line);background:#0d1115;border-radius:9px}.vehicle-badge strong{font-size:12px;color:var(--text)}.vehicle-badge span{font-size:10px;color:var(--muted)}.vehicle-context-card{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:18px 20px;margin-bottom:14px}.vehicle-context-card h3{margin:4px 0}.vehicle-context-card p{margin:0;font-size:12px}.locked-note{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:8px 10px;border-radius:8px}

.login-error{margin:14px 0 0;padding:10px 12px;border:1px solid #efc2c2;background:#fff5f5;color:#a33;border-radius:8px;font-size:13px}
.user-email{font-size:12px;color:#71808b;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#loginBtn:disabled{opacity:.65;cursor:wait}

.parameter-meta{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid #dfe5e8;border-radius:8px;background:#f7f9fa;font-size:12px}.parameter-meta strong{font-family:monospace}.parameter-meta span{color:#71808b}

/* V9 — execution history and detail views */
.execution-dashboard-panel { margin-top: 18px; }
.execution-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.exec-stat { background:#11161b; border:1px solid #252d34; border-radius:10px; padding:14px 15px; }
.exec-stat span { display:block; color:#71808b; font-size:11px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; }
.exec-stat strong { display:block; font-size:20px; color:#f2f6f8; }
.latest-execution { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px; border:1px solid #252d34; border-radius:10px; background:#0e1317; }
.latest-execution > div { display:flex; flex-direction:column; gap:3px; }
.latest-execution strong { color:#f2f6f8; font-size:14px; }
.latest-execution small { color:#71808b; }
.execution-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.execution-header > div:first-child { display:flex; flex-direction:column; gap:5px; }
.execution-header strong { font-size:20px; }
.execution-status.in_progress { border-color:#6b6f13; color:#e9f22c; }
.execution-status.completed { border-color:#286044; color:#67d49a; }
.result-inline { display:flex; flex-direction:column; gap:2px; }
.result-inline strong { color:#67d49a; }
.result-inline span { color:#e07070; font-size:12px; }
.result-inline small { color:#71808b; font-size:11px; }
.execution-empty { padding:18px; }
.notice { margin:0 0 15px; padding:12px 14px; border:1px solid #313940; border-radius:9px; color:#aeb9c0; background:#10151a; }
.execution-modal-card { width:min(1100px,calc(100vw - 40px)); max-height:88vh; overflow:auto; }
.modal-summary { margin-bottom:18px; }
.inner-panel { margin:0; padding:0; background:transparent; border:0; }
.inner-panel > .panel-head { border:1px solid #252d34; border-bottom:0; border-radius:10px 10px 0 0; padding:15px 16px; background:#10151a; }
.compact-table { border-radius:0 0 10px 10px; overflow:auto; }
.compact-table table { min-width:800px; }
.compact-table th,.compact-table td { padding:12px 13px; }
.status.pending { border-color:#3b444b; color:#89959d; }
.status.pass { border-color:#286044; color:#67d49a; }
.status.fail { border-color:#693636; color:#f08b8b; }

@media (max-width: 900px) {
  .execution-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .latest-execution { grid-column:1/-1; }
  .execution-header { align-items:flex-start; flex-direction:column; }
}

/* V12 Events and setup-copy UI */
.event-toolbar{margin:0 0 18px}.event-toolbar-inner{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.event-tab-wrap{display:flex;align-items:stretch}.event-tab{border:1px solid #d8e0e6;background:#fff;padding:9px 12px;border-radius:9px 0 0 9px;cursor:pointer;font-weight:600;color:#34414b}.event-tab span{margin-left:7px;color:#7a8790;font-size:12px}.event-tab.active{background:#eef5f8;border-color:#a9c0ca;color:#0d2630}.event-mini{border:1px solid #d8e0e6;border-left:0;background:#fff;padding:0 8px;cursor:pointer;color:#65737d}.event-mini.danger{border-radius:0 9px 9px 0}.event-mini:hover{background:#f3f6f8}.event-mini.danger:hover{color:#a43b3b}.folder-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 14px}.folder-heading h3{margin:3px 0 0}.inline-move{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:#687680}.inline-move select{min-width:170px}.setup-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{display:flex;gap:10px;align-items:flex-start;border:1px solid #d8e0e6;border-radius:12px;padding:14px;cursor:pointer;background:#fff}.mode-card:has(input:checked){border-color:#7da4b3;background:#f3f8fa}.mode-card input{margin-top:3px}.mode-card strong,.mode-card small{display:block}.mode-card small{color:#74818a;margin-top:3px}.hidden{display:none!important}@media(max-width:760px){.setup-mode-grid{grid-template-columns:1fr}.event-toolbar-inner{align-items:stretch}.event-tab-wrap{width:100%}.event-tab{flex:1;text-align:left}}


/* ===== BSPD Engineer V13 ===== */
.event-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.event-toolbar .event-filter {
  min-width: 220px;
  max-width: 320px;
}
.setup-event-select {
  width: 100%;
  min-width: 0;
  padding: 8px 34px 8px 10px;
  border: 1px solid var(--border, #d9dde5);
  border-radius: 8px;
  background: var(--panel);
  color: inherit;
}
.event-list, .event-tabs, .events-row {
  max-height: 280px;
  overflow-y: auto;
}
.event-pill, .event-tab {
  white-space: nowrap;
}
.new-setup-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 700px) {
  .new-setup-mode-grid { grid-template-columns: 1fr; }
}

/* ===== BSPD Engineer V14 — compact event UI ===== */
.event-toolbar {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--border, #d8e0e6);
  border-radius: 12px;
  background: var(--panel);
}
.event-toolbar-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
.event-filter-block {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 260px;
  max-width: 420px;
}
.event-filter-select {
  width: 100%;
  height: 40px;
  border: 1px solid var(--border, #d8e0e6);
  border-radius: 9px;
  background: var(--panel);
  color: var(--text);
  padding: 0 36px 0 11px;
  font: inherit;
}
.event-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.event-toolbar-actions .btn {
  white-space: nowrap;
}
@media(max-width:760px){
  .event-toolbar-inner { align-items: stretch; flex-direction: column; }
  .event-filter-block { max-width:none; min-width:0; }
  .event-toolbar-actions { width:100%; }
}

/* ===== BSPD Engineer V15 ===== */
.event-toolbar {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: none;
}
.event-toolbar-inner { min-height: 44px; }
.event-filter-block .eyebrow { margin: 0; }
.event-filter-select {
  background: #0d1115;
  border-color: var(--line);
  color: var(--text);
}
.event-manager-modal { width: min(680px, 100%); }
.events-manager-list {
  display: grid;
  gap: 8px;
  max-height: 52vh;
  overflow-y: auto;
  margin-bottom: 14px;
}
.event-manager-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  background: #0d1115;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.event-manager-row strong { display:block; font-size:13px; }
.event-manager-row span { display:block; color:var(--muted); font-size:10px; margin-top:3px; }
.event-manager-row p { margin:5px 0 0; font-size:10px; }
.event-manager-actions { display:flex; gap:6px; flex-shrink:0; }

/* ===== BSPD Engineer V16 ===== */
#eventsManagerModal, #setupModal, #eventModal {
  z-index: 1000;
}
.events-manager-modal .modal-head {
  align-items: flex-start;
}
#closeEventsManager,
#managerClose {
  cursor: pointer;
  pointer-events: auto;
}
#newSetupBtn {
  cursor: pointer;
  pointer-events: auto;
}

/* ===== BSPD Engineer V17 ===== */
.event-toolbar {
  background: var(--panel) !important;
  color: var(--text);
  border-color: var(--line) !important;
}
.event-filter-select {
  background: #0d1115 !important;
  color: var(--text) !important;
  border-color: var(--line) !important;
}

/* V22 — execution corner weight snapshot */
.corner-weights-panel{margin:0 0 18px;border:1px solid #252d34;border-radius:10px;background:#10151a;overflow:hidden}.corner-weights-head{padding:15px 16px;border-bottom:1px solid #252d34}.corner-weights-head .eyebrow{margin:0}.corner-weights-head h3{margin:5px 0 0;font-size:15px}.corner-weights-head p{margin:4px 0 0;font-size:11px}.corner-weights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#252d34}.corner-weight-item{background:#11161b;padding:14px 15px}.corner-weight-item span,.corner-weights-summary span{display:block;color:#71808b;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.corner-weight-item strong{display:block;font-size:18px;margin-top:6px}.corner-weights-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#252d34;border-top:1px solid #252d34}.corner-weights-summary>div{background:#11161b;padding:14px 15px}.corner-weights-summary strong{display:block;font-size:17px;margin-top:6px}.corner-weights-meta{display:flex;gap:22px;flex-wrap:wrap;padding:12px 15px;border-top:1px solid #252d34;color:#71808b;font-size:10px}.corner-weights-meta strong{color:#b9c2ca;font-weight:700;margin-left:4px}@media(max-width:700px){.corner-weights-grid{grid-template-columns:1fr 1fr}.corner-weights-summary{grid-template-columns:1fr}}
