/* VIABO Brandbook 2026 — SPEI v1.3
   Light: Purple. Dark: Neon Green. Structural layout is intentionally untouched. */
:root,
html[data-bs-theme="light"]{
  --viabo-black:#000000;--viabo-white:#FFFFFF;
  --viabo-purple:#7B5CF6;--viabo-purple-rgb:123,92,246;
  --viabo-neon:#C8F431;--viabo-neon-rgb:200,244,49;
  --viabo-primary:var(--viabo-purple);--viabo-primary-rgb:var(--viabo-purple-rgb);--viabo-on-primary:#FFFFFF;
  --viabo-primary-selected:rgba(123,92,246,.10);--viabo-primary-selected-strong:rgba(123,92,246,.14);--viabo-focus-ring:rgba(123,92,246,.15);
  --at-primary:var(--viabo-primary);--at-primary-rgb:var(--viabo-primary-rgb);--at-primary-soft:var(--viabo-primary-selected);--at-primary-softer:rgba(123,92,246,.06);
  --at-ink:oklch(13% .02 260);--at-purple:var(--viabo-purple);--at-navy:#1f2942;--at-text:#2b3550;--at-muted:#7d89a8;
  --at-border:#dfe5f1;--at-surface:#fff;--at-surface-2:#fbfcfe;--at-canvas:#f5f7fb;
  --bs-primary:var(--viabo-primary);--bs-primary-rgb:var(--viabo-primary-rgb);--bs-link-color:var(--viabo-primary);--bs-link-color-rgb:var(--viabo-primary-rgb);
  --bs-body-bg:var(--at-canvas);--bs-body-color:var(--at-text);--bs-border-color:var(--at-border);
}
html[data-bs-theme="dark"]{
  color-scheme:dark;
  --viabo-primary:var(--viabo-neon);--viabo-primary-rgb:var(--viabo-neon-rgb);--viabo-on-primary:#000000;
  --viabo-primary-selected:rgba(200,244,49,.18);--viabo-primary-selected-strong:rgba(200,244,49,.22);--viabo-focus-ring:rgba(200,244,49,.15);
  --at-primary:var(--viabo-primary);--at-primary-rgb:var(--viabo-primary-rgb);--at-primary-soft:var(--viabo-primary-selected);--at-primary-softer:rgba(200,244,49,.10);
  --at-navy:#f5f7fb;--at-text:#e5e8ee;--at-muted:#9aa1ad;--at-border:rgba(255,255,255,.10);
  --at-surface:#181b21;--at-surface-2:#1d2026;--at-canvas:#111318;
  --bs-primary:var(--viabo-primary);--bs-primary-rgb:var(--viabo-primary-rgb);--bs-link-color:var(--viabo-primary);--bs-link-color-rgb:var(--viabo-primary-rgb);
  --bs-body-bg:var(--at-canvas);--bs-body-color:var(--at-text);--bs-border-color:var(--at-border);
}
body.altasys-body{background:var(--at-canvas)!important;color:var(--at-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.altasys-topbar,.altasys-sidebar,.altasys-card,.dropdown-menu,.viabo-action-drawer{background-color:var(--at-surface)!important;color:var(--at-text)}
.altasys-table thead th{background:var(--at-surface-2)!important}.altasys-table{--bs-table-bg:transparent;--bs-table-color:var(--at-text);--bs-table-border-color:var(--at-border)}
.altasys-nav-link.active{color:var(--viabo-primary)!important;background:var(--viabo-primary-selected)!important}.altasys-nav-link.active:before{background:var(--viabo-primary)!important}
.altasys-nav-link:hover{background:var(--at-primary-softer)!important}.altasys-icon-button:hover{background:var(--at-primary-soft)!important}
.btn-primary{--bs-btn-bg:var(--viabo-primary)!important;--bs-btn-border-color:var(--viabo-primary)!important;--bs-btn-color:var(--viabo-on-primary)!important;--bs-btn-hover-bg:color-mix(in srgb,var(--viabo-primary) 88%,black)!important;--bs-btn-hover-border-color:color-mix(in srgb,var(--viabo-primary) 88%,black)!important;--bs-btn-hover-color:var(--viabo-on-primary)!important;--bs-btn-active-bg:color-mix(in srgb,var(--viabo-primary) 80%,black)!important;--bs-btn-active-color:var(--viabo-on-primary)!important;color:var(--viabo-on-primary)!important}
.btn-outline-primary{--bs-btn-color:var(--viabo-primary);--bs-btn-border-color:var(--viabo-primary);--bs-btn-hover-bg:var(--viabo-primary-selected);--bs-btn-hover-border-color:var(--viabo-primary);--bs-btn-hover-color:var(--viabo-primary);--bs-btn-active-bg:var(--viabo-primary-selected-strong);--bs-btn-active-border-color:var(--viabo-primary);--bs-btn-active-color:var(--viabo-primary)}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:var(--viabo-primary)!important;box-shadow:0 0 0 .2rem var(--viabo-focus-ring)!important}.form-check-input:checked{background-color:var(--viabo-primary)!important;border-color:var(--viabo-primary)!important}
.text-primary{color:var(--viabo-primary)!important}.bg-primary{background:var(--viabo-primary)!important;color:var(--viabo-on-primary)!important}.border-primary{border-color:var(--viabo-primary)!important}
.viabo-page-control:hover{border-color:var(--viabo-primary)!important;color:var(--viabo-primary)!important;background:var(--viabo-primary-selected)!important}.viabo-page-control.is-active{background:var(--viabo-primary)!important;border-color:var(--viabo-primary)!important;color:var(--viabo-on-primary)!important}
/* Theme-aware official wordmark. One source image, recolored by mask without modifying the asset. */
.viabo-logo-themed{display:inline-block;flex:0 0 auto;background:var(--viabo-primary);-webkit-mask:url('../img/logo.webp') center/contain no-repeat;mask:url('../img/logo.webp') center/contain no-repeat}
.viabo-logo-header{width:104px;height:28px}.viabo-logo-auth{width:132px;height:36px}
/* Login/2FA share the same logo geometry; light mode follows purple identity. */
.viabo-auth-logo-image{display:none!important}.viabo-auth-logo{min-height:36px}
.viabo-auth-heading h1 span,.viabo-auth-link:hover{color:var(--viabo-purple)!important}.viabo-auth-submit{border-color:var(--viabo-purple)!important;background:var(--viabo-purple)!important;color:#fff!important}.viabo-auth-submit:hover{background:color-mix(in srgb,var(--viabo-purple) 88%,black)!important;color:#fff!important}
.viabo-auth-field .form-control:focus{border-color:var(--viabo-purple)!important;box-shadow:0 0 0 .22rem rgba(123,92,246,.15)!important}
/* Bulk reference lists should remain compact even with many records. */
.viabo-bulk-reference-list{max-height:360px;overflow:auto!important}.viabo-bulk-reference-list .altasys-table{min-width:0}
