/* EOS-KB palette and login surface lighting preserve the existing page layout. */
:root {
  --brand-primary: #353b95;
  --brand-hover: #5b6ccb;
  --brand-active: #2b307c;
  --brand-soft: #eef0fa;
  --brand-soft-hover: #d9ddf3;
  --brand-disabled: #b8bee5;
  --page-bg: #f7f8fc;
  --surface-bg: #fff;
  --text-strong: #252a3d;
  --text-secondary: rgba(0,0,0,.6);
  --focus-ring: rgba(53,59,149,.2);
  --line: #e7e7e7;
  --blue: var(--brand-primary);
  color: var(--text-strong);
  background-color: var(--page-bg);
}
body,.main-shell,.main-content{background-color:var(--page-bg)}
.sidebar,.target-bar,.nav-search input,.topbar-tools select{background-color:var(--page-bg)!important}
.topbar,.drawer,.context-panel,.table-scroll,.summary-band,.focus-band,.fact-strip{background-color:var(--surface-bg)}
.sidebar,.brand,.topbar,.target-bar,.sidebar-footer,.nav-favorites,.workspace-navigation,.workspace-source,.business-band{border-color:var(--line)}
.brand,.topbar-title,.page-heading h1,.workspace-heading>strong,.business-band>h2{color:var(--text-strong)}
.brand-mark,.login-brand .brand-mark{background-color:var(--brand-primary);color:#fff}
.avatar{background-color:var(--brand-soft);color:var(--brand-primary)}
.nav-search input:focus{border-color:var(--brand-primary)!important}

/* Primary, secondary, text, focus and disabled controls share the source palette. */
button{border-color:var(--line)}
button:hover:not(:disabled){background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.onboarding-popover button:focus-visible{outline-color:var(--brand-primary)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#dcdcdc;color:var(--text-strong)}
input[type=checkbox],input[type=radio],.login-remember input{accent-color:var(--brand-primary)}
.action-bar .primary,.primary,
.onboarding-popover .driver-popover-footer .driver-popover-next-btn{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.action-bar .primary:hover:not(:disabled),.primary:hover:not(:disabled),
.onboarding-popover .driver-popover-footer .driver-popover-next-btn:hover{background-color:var(--brand-hover)!important;border-color:var(--brand-hover)!important;color:#fff}
.action-bar .primary:active:not(:disabled),.primary:active:not(:disabled),
.onboarding-popover .driver-popover-footer .driver-popover-next-btn:active{background-color:var(--brand-active)!important;border-color:var(--brand-active)!important}
button.primary:disabled,.action-bar .primary:disabled,button.primary:disabled:hover{background-color:var(--brand-disabled)!important;border-color:var(--brand-disabled)!important;color:#fff}
button.primary.danger:not(:disabled){background-color:#b83a4b;border-color:#b83a4b;color:#fff}
button.primary.danger:hover:not(:disabled),button.primary.danger:active:not(:disabled){background-color:#9c3040!important;border-color:#9c3040!important;color:#fff}
.text-link,.text-button,.workspace-object-link,.workspace-return button,.ai-knowledge>button,
.guide-why summary,.is-favorite,.kg-shortcuts a{color:var(--brand-primary)}
.text-button:hover:not(:disabled),.workspace-object-link:hover:not(:disabled),.workspace-return button:hover:not(:disabled){color:var(--brand-hover)}
.is-favorite svg{fill:var(--brand-soft-hover)}
.identity-button:hover:not(:disabled),.password-toggle:hover:not(:disabled){background-color:var(--brand-soft)}
.task-button{background-color:var(--page-bg);border-color:var(--brand-soft-hover)}
.task-button b{color:var(--brand-primary);background-color:var(--brand-soft)}

/* Selection colors are separate from green/red/amber business verdicts. */
.module-button.active,.page-link.active,.ai-chain a.active,
.kg-segment .active,.kg-mobile-tabs .active,.kg-tree button.selected,
.context-toggle[aria-expanded=true],.osr-modes [aria-pressed=true],
.orp-pair-choices [aria-pressed=true],.orp-graph-tools [aria-pressed=true]{color:var(--brand-primary);background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
.workspace-view.active,.drawer-tabs .active,.ai-tabs button.active,.orp-tabs button[aria-selected=true]{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}
.workspace-view:hover:not(:disabled){border-color:var(--brand-soft-hover)}
.workspace-view.active:hover:not(:disabled){border-bottom-color:var(--brand-primary)}
tbody tr.selected,.kg-list-item.selected,.ai-candidate.selected,.ai-trial.selected{background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
.ai-candidate.selected .ai-rank{background-color:var(--brand-primary);color:#fff}
.vehicle-directory-table tr.current td{background-color:var(--brand-soft)}
.vehicle-directory-table tr.current td:first-child{box-shadow:inset 3px 0 var(--brand-primary)}
.case-stages button.current,.demo-task-steps button.current{background-color:var(--brand-soft);color:var(--brand-primary);border-bottom-color:var(--brand-primary)}
.demo-task-steps button.current>span{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.batch-status-filters button.active{background-color:var(--brand-soft);color:var(--brand-primary);box-shadow:inset 0 -2px var(--brand-primary)}
.guide-steps button.selected{background-color:var(--brand-soft);box-shadow:inset 3px 0 var(--brand-primary)}
.guide-steps button:hover{background-color:var(--brand-soft)}
.guide-recommended{box-shadow:0 0 0 2px var(--brand-soft-hover)}

/* Neutral work surfaces, headers, tables and guidance. */
thead th,.ai-matrix thead th,.orp-table th,.table-tools,.vehicle-directory-head,.vehicle-directory-toolbar,
.kg-stage,.kg-toolbar,.kg-canvas-wrap,#orp-graph,.ai-chain,.ai-context,.ai-verdict,.ai-candidates,.ai-trials,
.guide-band,.workspace-source,.orp-report,.osr-job,.configuration-summary,.configuration-toolbar{background-color:var(--page-bg)}
.kg-canvas-count{background-color:rgba(247,248,252,.91)}
.kg-context,.kg-return,.guide-current,.orp-run-context{background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
.kg-context,.kg-return,.guide-band-title>svg,.guide-number,.context-next>strong{color:var(--brand-primary)}
.orp-run-context,.kg-return{border-left-color:var(--brand-primary)}
.guide-tour{border-color:var(--brand-soft-hover);border-left-color:var(--brand-primary)}
.guide-reason,.kg-shortcuts a{border-color:var(--brand-soft-hover)}
.kg-adjacent button{background-color:var(--page-bg)}
.vehicle-directory-head h2,.vehicle-directory-table .identity-code,.vehicle-detail-toolbar>span strong,
.workspace-heading>strong,.context-panel,.context-panel h3,.context-panel summary,
.driver-popover.onboarding-popover{color:var(--text-strong)}
.onboarding-popover .driver-popover-description,.onboarding-popover .driver-popover-footer button:not(.driver-popover-next-btn){color:var(--text-secondary)}
.batch-head{background-color:var(--brand-primary);border-left-color:var(--brand-hover)}
.batch-kicker,.batch-head p,.batch-task-switch label{color:var(--brand-soft)}
.batch-flow li::before,.batch-meter i{background-color:var(--brand-hover)}
.batch-flow li>span{background-color:var(--brand-soft);color:var(--brand-primary)}
.batch-meter,.progress-cell{background-color:var(--brand-soft)}
.progress-cell i{background-color:var(--brand-soft-hover)}
.progress-cell b{color:var(--brand-primary)}
.gate-grid>div{background-color:var(--page-bg);border-left-color:var(--brand-hover)}
.gate-grid>div>svg{color:var(--brand-primary)}
.batch-boundary:not(.warning),.batch-window:not(.warning){background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
.batch-boundary:not(.warning)>svg{color:var(--brand-primary)}

/* The existing login illustration is recolored without changing its geometry or copy. */
.login-shell,.login-main{background-color:var(--surface-bg)}
.login-context{background-color:var(--page-bg);color:var(--text-strong);border-color:var(--brand-soft-hover)}
.login-brand,.capability-heading h2,.login-form-wrap h2,.vehicle-identity strong{color:var(--text-strong)}
.login-context-foot,.capability-heading p,.vehicle-identity>span,.capability-audiences>small,
.login-subtitle,.login-demo-account,.login-boundary,.diagnostic-stage p{color:var(--text-secondary)}
.vehicle-foundation h3,.vehicle-callout,.vehicle-fact-flow,.reasoning-landscape h3,.ontology-entities,
.ontology-to-reasoning,.reasoning-core>strong,.reasoning-outputs,.stage-icon,.capability-audiences{color:var(--brand-primary)}
.vehicle-callout,.vehicle-fact-flow,.loop-evidence-return>span,.knowledge-return>span{background-color:var(--page-bg)}
.reasoning-landscape,.reasoning-outputs,.diagnostic-loop,.knowledge-return,.capability-audiences>span+span{border-color:var(--brand-soft-hover)}
.knowledge-return::before{border-color:var(--brand-hover)}
.ontology-entities>span{background-color:var(--brand-soft);border-color:var(--brand-soft-hover)}
.ontology-entities i,.ontology-entities small,.ontology-rule,.reasoning-core>span,
.evidence-source,.evidence-source>svg,.evidence-source>span,.loop-evidence-return>span,.knowledge-return>span{color:var(--brand-active)}
.evidence-connector,.stage-connector{color:var(--brand-hover)}
.reasoning-emblem{background-color:var(--brand-primary);color:#fff}
.diagnostic-stage strong{color:var(--text-strong)}
.stage-action .stage-icon{color:#ac7a25}.stage-validation .stage-icon{color:var(--brand-hover)}
.login-input,.login-sso{border-color:var(--brand-soft-hover)}
.login-input:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--focus-ring)}
#demo-login-form>label,#demo-login-form .login-input input,.login-sso,.login-demo-account strong{color:var(--text-strong)}
.login-sso:hover:not(:disabled){background-color:var(--brand-soft);border-color:var(--brand-hover)}
.login-submit{background-image:linear-gradient(110deg,var(--brand-hover),var(--brand-primary))}
.login-submit:hover:not(:disabled){background-image:linear-gradient(110deg,var(--brand-primary),var(--brand-active))}
.login-submit:active:not(:disabled),.login-submit:disabled{background-image:none}
.login-input.invalid{border-color:#ba4b43;box-shadow:0 0 0 3px rgba(186,75,67,.1)}

/* Login capability map: the reference blue is the surface, with readable inverse tokens. */
.login-context{
  --login-ink:#fff;
  --login-muted:#dce3ff;
  --login-line:#858bc2;
  --login-node:#474da3;
  background-color:var(--brand-primary);
  border-color:var(--brand-primary);
  color:var(--login-ink);
}
.login-context .login-brand,.login-context .capability-heading h2,
.login-context .vehicle-foundation h3,.login-context .vehicle-identity strong,
.login-context .reasoning-landscape h3,.login-context .reasoning-core>strong,
.login-context .diagnostic-stage strong,.login-context .capability-audiences{color:var(--login-ink)}
.login-context .login-brand .brand-mark,.login-context .reasoning-emblem{background-color:var(--login-ink);color:var(--brand-primary)}
.login-context .capability-heading p,.login-context .vehicle-identity>span,
.login-context .login-context-foot,.login-context .capability-audiences>small,
.login-context .ontology-entities,.login-context .ontology-entities i,.login-context .ontology-entities small,
.login-context .ontology-rule,.login-context .ontology-to-reasoning,.login-context .reasoning-core>span,
.login-context .reasoning-outputs,.login-context .evidence-source,.login-context .evidence-source>svg,
.login-context .evidence-source>span,.login-context .diagnostic-stage p,
.login-context .evidence-connector,.login-context .stage-connector{color:var(--login-muted)}
.login-context .vehicle-callout,.login-context .vehicle-fact-flow,
.login-context .loop-evidence-return>span,.login-context .knowledge-return>span{background-color:var(--brand-primary);color:var(--login-muted)}
.login-context .ontology-entities>span{background-color:var(--login-node);border-color:var(--login-line);color:var(--login-ink)}
.login-context .reasoning-landscape,.login-context .reasoning-outputs,
.login-context .diagnostic-loop,.login-context .knowledge-return,
.login-context .knowledge-return::before,.login-context .capability-audiences>span+span{border-color:var(--login-line)}
.login-context .stage-evidence .stage-icon{color:var(--login-muted)}
.login-context .stage-action .stage-icon{color:#ffd58a}
.login-context .stage-validation .stage-icon{color:#aeede4}

/* A shared upper-left light gives the existing capability objects shallow depth. */
.login-context{
  background-image:linear-gradient(132deg,#4955ad 0%,#353b95 47%,#282d70 100%);
  box-shadow:inset 0 1px 0 rgba(232,240,255,.18),inset -18px 0 28px -24px rgba(14,18,55,.55);
}
.login-context .login-brand,.login-context .capability-heading h2{
  text-shadow:0 2px 2px rgba(17,23,66,.22);
}
.login-context .login-brand .brand-mark{
  background-image:linear-gradient(145deg,#fff 25%,#dfe7ff);
  box-shadow:inset 0 1px 0 #fff,inset -1px -2px 1px rgba(101,117,174,.22),0 3px 0 #a5b1de,0 8px 14px rgba(17,21,66,.28);
}
.login-context .ontology-entities>span{
  background-image:linear-gradient(145deg,#606bb8,#3e4491);
  border-color:#929ed5 #6773b7 #525b9f #7d8bcb;
  box-shadow:inset 0 1px 0 rgba(238,244,255,.25),0 3px 0 #282e70,0 7px 10px rgba(15,19,60,.24);
  text-shadow:0 1px 1px rgba(15,19,60,.24);
}
.login-context .reasoning-emblem{
  position:relative;
  isolation:isolate;
  clip-path:none;
  background:none;
  filter:drop-shadow(4px 12px 9px rgba(14,18,55,.38));
}
.login-context .reasoning-emblem::before,.login-context .reasoning-emblem::after{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);
  pointer-events:none;
}
.login-context .reasoning-emblem::before{
  z-index:-2;
  transform:translateY(6px);
  background:linear-gradient(110deg,#c1cef0,#8292c7);
}
.login-context .reasoning-emblem::after{
  z-index:-1;
  background:linear-gradient(140deg,#fff 35%,#dce6ff);
  box-shadow:inset 0 2px 0 #fff,inset -2px -3px 2px rgba(101,119,178,.23);
}
.login-context .reasoning-emblem>svg{filter:drop-shadow(0 1px 0 #fff)}
.login-context .stage-icon,.login-context .evidence-source>svg{
  filter:drop-shadow(1px 3px 2px rgba(15,19,60,.38));
}
.login-context .vehicle-callout,.login-context .vehicle-fact-flow,
.login-context .loop-evidence-return>span,.login-context .knowledge-return>span{background:transparent}
.login-context .vehicle-fact-flow{text-shadow:0 1px 3px #282d70}
.login-context .diagnostic-loop{border-top-color:transparent}
.login-context .loop-evidence-return{align-items:center}
.login-context .loop-evidence-return::before,.login-context .loop-evidence-return::after{
  content:"";height:1px;flex:1;background-color:var(--login-line);
}
.login-context .knowledge-return{
  border-bottom-color:transparent;
  background-image:linear-gradient(90deg,var(--login-line) 0 calc(50% - 105px),transparent calc(50% - 105px) calc(50% + 105px),var(--login-line) calc(50% + 105px));
  background-position:left bottom;background-size:100% 1px;background-repeat:no-repeat;
}
@media(max-width:760px){
  .login-context{box-shadow:inset 0 1px 0 rgba(232,240,255,.18)}
  .login-context .login-brand .brand-mark{box-shadow:inset 0 1px 0 #fff,0 2px 0 #a5b1de,0 5px 9px rgba(17,21,66,.24)}
}
@media(min-width:981px){
  .login-context .reasoning-landscape{
    border-image:linear-gradient(to bottom,var(--login-line) 0 159px,transparent 159px 207px,var(--login-line) 207px) 1;
  }
}
@media(min-width:981px) and (max-height:850px){
  .login-context .reasoning-landscape{
    border-image:linear-gradient(to bottom,var(--login-line) 0 132px,transparent 132px 180px,var(--login-line) 180px) 1;
  }
}
