/* ZelvotriX UI/navigation enhancement — 2026-11-06.
 * Additive and scoped. Uses existing brand assets, routes, permissions, and forms.
 * Loaded after the legacy CSS layers to prevent cascade regressions.
 */
:root{
  --zvx-ui-navy:#0B1626;--zvx-ui-deep:#081324;--zvx-ui-steel:#14355F;
  --zvx-ui-blue:#1E6FD9;--zvx-ui-cyan:#00BDE5;
  --zvx-ui-border:#DCE6F0;--zvx-ui-focus:#00BDE5;
  --zvx-ui-shadow:0 16px 40px rgba(8,19,36,.12);
}
:where(.mode-site,.mode-app) :where(a,button,summary,input,select,textarea):focus-visible{
  outline:3px solid var(--zvx-ui-focus)!important;outline-offset:3px!important;
}
:where(.mode-site,.mode-app) a, :where(.mode-site,.mode-app) button { -webkit-tap-highlight-color:transparent }
:where(.mode-site,.mode-app) img {max-width:100%;}
.mode-site .site-header{
  background:var(--zvx-ui-navy);border-bottom:1px solid rgba(192,222,250,.14);
  box-shadow:0 6px 24px rgba(7,17,32,.12);
  isolation:isolate;z-index:210;
}
.mode-site .site-links > a:not(.zx-mobile-login):not(.zx-mobile-start),
.mode-site .site-links > .zx-nav-resources > summary{
  transition:color .16s ease,background-color .16s ease,border-color .16s ease;
}
.mode-site .site-links a[aria-current="page"],
.mode-site .site-links .zx-nav-resources[data-current-section] > summary{
  color:#fff;font-weight:800;
}
.mode-site .site-links a:hover,.mode-site .site-links summary:hover{color:#fff}
.mode-site .zx-resource-menu{
  border:1px solid rgba(133,167,206,.18);box-shadow:0 20px 48px rgba(2,14,27,.24);
  border-radius:15px;
}
.mode-site .zx-resource-menu a:focus-visible,
.mode-site .zx-resource-menu a:hover{border-radius:9px}
.mode-site .mobile-nav-toggle{cursor:pointer;border-radius:10px}
.mode-site .mobile-nav-toggle[aria-expanded="true"]{background:#173555;border-color:#4D8DD0;color:#fff}
.mode-site .zx-mobile-start{display:none!important}
.mode-site .site-links .zx-mobile-login{color:#BEDAFF}
.mode-site .nav-actions .btn-primary{
  border-radius:11px;box-shadow:0 6px 15px rgba(30,111,217,.2);font-weight:800;
}
.mode-site .nav-actions .btn-primary:hover{box-shadow:0 10px 22px rgba(30,111,217,.26)}
.mode-site .site-footer a:hover{text-decoration-color:var(--zvx-ui-cyan)}
/* Public navigation scrim is an enhancement only; without JS the existing responsive CSS applies. */
.zvx-nav-scrim[hidden]{display:none!important}
.zvx-nav-scrim{position:fixed;inset:0;background:rgba(3,12,25,.56);z-index:200;cursor:pointer}
@media(min-width:1025px){
  .mode-site .site-links > a:not(.zx-mobile-login):not(.zx-mobile-start)[aria-current="page"]{
    text-decoration:none;box-shadow:inset 0 -2px 0 var(--zvx-ui-cyan);
  }
  .mode-site .site-links .zx-nav-resources[data-current-section] > summary{
    box-shadow:inset 0 -2px 0 var(--zvx-ui-cyan);
  }
}
@media(max-width:1024px){
  body.mode-site.zvx-nav-open{overflow:hidden}
  .mode-site .site-links.open{z-index:215!important;box-sizing:border-box;
    border-top:1px solid rgba(185,214,246,.12);border-bottom:1px solid rgba(185,214,246,.20);
    box-shadow:0 24px 50px rgba(0,9,20,.33);padding-bottom:calc(16px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;
  }
  .mode-site .site-links > a:not(.zx-mobile-login):not(.zx-mobile-start),
  .mode-site .site-links .zx-nav-resources > summary{border-radius:8px}
  .mode-site .site-links > a:hover,
  .mode-site .site-links .zx-nav-resources > summary:hover{background:rgba(100,164,236,.14)}
  .mode-site .site-links > a[aria-current="page"]{background:rgba(30,111,217,.23);color:#fff}
  .mode-site .zx-nav-resources[open] > summary{background:#183D63;color:#fff}
  .mode-site .site-links .zx-resource-menu{
    position:static!important;transform:none!important;left:auto!important;right:auto!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    background:#0C213A;border-color:rgba(133,167,206,.2);box-shadow:none;
    margin:5px 0 12px;padding:7px;
  }
  .mode-site .site-links .zx-resource-menu a{white-space:normal;overflow-wrap:anywhere}
  .mode-site .site-links .zx-mobile-start{display:flex!important;min-height:48px;
    margin-top:10px;padding:12px 15px!important;justify-content:center;align-items:center;
    color:#fff!important;text-align:center;font-weight:800!important;
    background:#1E6FD9;border:1px solid #448CE5;border-radius:10px;
  }
}
@media(max-width:480px){
  .mode-site .nav-inner{gap:9px}
  .mode-site .site-links.open{padding-inline:16px}
  .mode-site .site-header .brand.zvx-brand-wordmark{max-width:calc(100vw - 110px)}
}
/* Workspace visual coherence, without altering privileges or content routing. */
.mode-app .app-sidebar{background:var(--zvx-ui-navy);border-right:1px solid rgba(132,176,224,.12)}
.mode-app .app-navigation a{border-radius:10px;min-height:42px}
.mode-app .app-navigation a.active,
.mode-app .app-navigation a[aria-current="page"]{background:rgba(30,111,217,.21);color:#fff}
.mode-app .app-topbar{border-bottom:1px solid var(--zvx-ui-border);box-shadow:0 2px 12px rgba(11,22,38,.035)}
.mode-app .app-page :where(.panel,.stat-card){border-color:var(--zvx-ui-border)}
.mode-app .app-page :where(.btn-primary,button[type="submit"]:not(.line-delete):not(.ghost)){transition:filter .16s ease,box-shadow .16s ease}
.mode-app .app-page :where(.btn-primary,button[type="submit"]:not(.line-delete):not(.ghost)):hover{filter:brightness(.97)}
.mode-app .app-page :where(.table-wrap,.table-responsive,.data-table-wrap){scrollbar-width:thin}
@media(max-width:800px){
  .mode-app .app-sidebar{width:min(310px,calc(100vw - 46px));max-width:100vw}
  .mode-app .app-topbar{gap:8px}
  .mode-app .app-page{max-width:100%}
  .mode-app .app-page-head h1{font-size:clamp(1.48rem,5.3vw,2.05rem)}
}
@media(max-width:600px){
  .mode-app .app-page :where(.panel,.stat-card){border-radius:12px}
  .mode-app .app-page :where(.table-wrap,.table-responsive,.data-table-wrap){overscroll-behavior-x:contain}
}
@media(prefers-reduced-motion:reduce){
  .mode-site .site-links a,.mode-site .nav-actions .btn,.mode-app .app-navigation a{transition:none!important}
}
