/* eRegDQC neutral institutional theme.
   Loaded last: preserves UNEB identity through restraint rather than large brown surfaces. */
:root{
  --ereg-brown:#263541;
  --ereg-gold:#b28b47;
  --ereg-cream:#f3f5f7;
  --ereg-paper:#ffffff;
  --ereg-line:#d8dee4;
  --ereg-text:#1f2a33;
  --ereg-muted:#667684;
  --ereg-accent:#315a70;
  --ereg-accent-strong:#24485b;
  --ereg-sidebar-bg:#27343f;
  --ereg-sidebar-deep:#202b34;
  --ereg-sidebar-text:#e7edf2;
  --ereg-sidebar-muted:#9eacb8;
  --ereg-soft:#eef2f5;
  --ereg-soft-blue:#edf3f6;
  --ereg-focus:#547b8f;
}

/* Global reading surface */
html,body,.ereg-body{
  background:#f3f5f7;
  color:#26333d;
}
.ereg-body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.ereg-page-column{background:#f3f5f7}

/* Header / workspace bar */
.ereg-global-header{
  background:#ffffff;
  border-bottom-color:#d7dde2;
  box-shadow:0 1px 2px rgba(20,34,45,.04);
}
.ereg-brand{background:#263541}
.ereg-brand-link small{color:#bdc9d2}
.ereg-workspaces{
  background:#fff;
  border-bottom-color:#d7dde2;
}
.ereg-workspace-pipe{color:#cbd3d9}
.ereg-workspace-link{
  color:#52616d;
  letter-spacing:.035em;
}
.ereg-workspace-link:hover{
  background:#f1f5f7;
  color:#234759;
}
.ereg-workspace-link.active{
  color:#203f4f;
  background:#f7f9fa;
  border-bottom-color:#b28b47;
}
.ereg-workspace-link:hover::after{background:#8098a5}
.ereg-workspace-link.active::after{background:#b28b47}
.ereg-operational-year{border-left-color:#dce2e7}
.ereg-operational-year span{color:#7c8b96}
.ereg-operational-year strong{color:#263946}
.ereg-user-menu summary{
  border-color:#d8e0e5;
  background:#fff;
}
.ereg-avatar{
  background:#315a70;
  color:#fff;
}
.ereg-user-popover{
  border-color:#d8e0e5;
  box-shadow:0 14px 32px rgba(30,48,61,.12);
}
.ereg-user-popover a:hover,.ereg-user-popover button:hover{background:#eef3f6}

/* Sidebar */
.ereg-sidebar{
  background:var(--ereg-sidebar-bg);
  color:var(--ereg-sidebar-text);
  border-right:1px solid #1d2830;
}
.ereg-sidebar-head{
  background:#263541;
  border-bottom-color:#3c4a55;
}
.ereg-sidebar-title span{color:#9eacb8}
.ereg-sidebar-title strong{color:#fff}
.ereg-nav-tools{
  background:#263541;
  border-bottom-color:#3d4b56;
}
.ereg-nav-search{
  background:#202b34;
  border-color:#465661;
}
.ereg-nav-search input{color:#e8edf1}
.ereg-nav-search input::placeholder{color:#8f9da8}
.ereg-nav-expanders button{color:#bec9d1}
.ereg-nav-section{
  color:#91a1ad;
  background:#222e37;
  border-top-color:#34434e;
  border-bottom-color:#34434e;
}
.ereg-nav-link,.ereg-nav-group>summary{
  color:#e3e9ee;
  background:transparent;
}
.ereg-nav-link:hover,.ereg-nav-group>summary:hover{
  background:#31414d;
  color:#fff;
}
.ereg-nav-link.active,.ereg-nav-group>summary.active{
  background:#3a4d5b;
  color:#fff;
  box-shadow:inset 3px 0 0 #c6a05b;
}
.ereg-nav-children{
  background:#24313b;
}
.ereg-nav-children a{color:#cbd5dc}
.ereg-nav-children a:hover{
  color:#fff;
  background:#31414c;
}
.ereg-nav-children a.active{
  background:#405461;
  color:#fff;
  box-shadow:inset 3px 0 0 #c6a05b;
}
.ereg-sidebar-footer{
  background:#202b34;
  border-top-color:#40505c;
}
.ereg-sidebar-footer span{color:#94a5b1}
.ereg-sidebar-footer strong{color:#fff}

/* Context bar */
.ereg-context-bar{
  background:#f7f9fa;
  border-bottom-color:#dce2e6;
}
.ereg-context-title span{color:#607d8b}
.ereg-context-title strong{color:#253a47}
.ereg-context-meta{color:#6f7f8b}

/* Cards and content */
.app-card,.metric,.form-panel,.chart-card,.reference-card,.table-wrap{
  border-color:#dce2e7!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(25,41,52,.04)!important;
}
.metric{
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
}
.metric::after{
  background:#9badb7!important;
  height:1px!important;
}
.metric-label,.page-kicker{
  color:#657985!important;
  letter-spacing:.11em!important;
}
.metric-value,.page-heading,.section-title{
  color:#20313c!important;
}
.page-subtitle,.section-copy,.metric-note{color:#71808b!important}
.section-head{
  background:#f7f9fa!important;
  border-color:#e0e5e9!important;
}
.icon-tile{
  background:#f1f5f7!important;
  border-color:#d9e1e6!important;
  color:#365f73!important;
}
.reference-card{
  background:#fff!important;
}

/* Forms */
.form-control,.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  border-color:#cfd8de!important;
  background:#fff!important;
  color:#25333d!important;
}
.form-control:focus{
  border-color:#66899a!important;
  box-shadow:0 0 0 2px rgba(84,123,143,.14)!important;
}
.field-label{color:#4f626e!important}
.filter-bar{
  background:#f8fafb!important;
  border-color:#dce3e7!important;
}

/* Buttons: dark contrast without hostile maroon */
.btn-primary{
  background:#315a70!important;
  border-color:#315a70!important;
  color:#fff!important;
}
.btn-primary:hover{
  background:#24485b!important;
  border-color:#24485b!important;
}
.btn-secondary{
  background:#fff!important;
  border-color:#cfd8df!important;
  color:#344955!important;
}
.btn-secondary:hover{background:#eef3f6!important}
.btn-success{
  background:#2d6a55!important;
  border-color:#2d6a55!important;
}
.btn-danger{
  background:#9b3e42!important;
  border-color:#9b3e42!important;
}

/* Action buttons now have semantic variants. */
.icon-btn{
  border-color:#d5dde2!important;
  background:#fff!important;
  color:#5d6d78!important;
  border-radius:3px;
}
.icon-btn:hover{
  border-color:#aebcc5!important;
  background:#f1f5f7!important;
  color:#24485b!important;
}
.icon-btn-view{color:#486a7b!important}
.icon-btn-open{color:#315a70!important}
.icon-btn-approve{color:#28705a!important}
.icon-btn-edit{color:#6b6483!important}
.icon-btn-document{color:#657040!important}
.icon-btn-letter{color:#775d35!important}
.icon-btn-add{color:#2f6c79!important}
.icon-btn-danger{color:#a24549!important}
.icon-btn-danger:hover{
  border-color:#e4c3c5!important;
  background:#fbf1f2!important;
  color:#963b40!important;
}

/* Tables: cool neutral, compact and legible */
.data-table th{
  background:#eef2f4!important;
  color:#536572!important;
  border-bottom:1px solid #d7dfe4!important;
}
.data-table td{color:#374854!important}
.data-table tbody tr:nth-child(even){background:#fafcfd!important}
.data-table tbody tr:hover{background:#eef4f7!important}
.table-wrap{border-color:#dce3e7!important}
.text-link{color:#315f77!important}
.text-link:hover{color:#203f50!important}

/* Neutralise legacy hard-coded brown utility colours in current templates. */
.text-\[\#542b1b\],.text-\[\#4a2517\],.text-\[\#3a1e14\]{color:#294b5d!important}
.bg-\[\#542b1b\],.bg-\[\#4a2517\]{background:#315a70!important}
.border-amber-100{border-color:#e0e5e8!important}

/* Status colours stay meaningful but muted. */
.badge-amber{
  border-color:#ded3b8!important;
  background:#f7f3ea!important;
  color:#735f35!important;
}
.badge-blue{
  border-color:#cbdce5!important;
  background:#eff5f8!important;
  color:#365f74!important;
}
.badge-green{
  border-color:#c9ddd5!important;
  background:#eff7f3!important;
  color:#326953!important;
}
.badge-red{
  border-color:#e5cbcd!important;
  background:#fbf2f3!important;
  color:#8c4145!important;
}
.badge-neutral{
  border-color:#d8dfe4!important;
  background:#f4f6f7!important;
  color:#60707b!important;
}

/* Notices */
.notice{box-shadow:none!important}
.notice-warning{
  border-color:#dfd4bb!important;
  background:#faf7ef!important;
  color:#665838!important;
}

/* Quick panel */
.quick-panel,.quick-panel-head{border-color:#d9e1e6!important}
.quick-panel-head{background:#f7f9fa!important}

/* Auth / login */
.login-shell{
  background:#eef2f4!important;
  color:#283640!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
}
.login-cover{
  background:#263541!important;
  color:#fff!important;
}
.login-cover-pattern{display:none!important}
.login-logo-card{
  width:230px!important;
  height:74px!important;
  box-shadow:none!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.login-security-pill{
  border-color:#50616e!important;
  background:#202c35!important;
  color:#c8d2d9!important;
}
.login-rule{background:#b28b47!important}
.login-kicker{color:#8098a5!important}
.login-cover .login-kicker{color:#c2ced5!important}
.login-cover-title{
  color:#fff!important;
  font-size:clamp(32px,3.5vw,50px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.login-cover-copy{
  color:#c7d1d8!important;
  line-height:1.65!important;
}
.login-form-side{
  background:#f4f6f8!important;
}
.login-card{
  max-width:450px!important;
  border-color:#d7dee3!important;
  background:#fff!important;
  box-shadow:0 16px 40px rgba(29,45,56,.08)!important;
}
.login-title{color:#21323d!important}
.login-copy{color:#70808b!important}
.login-field label{color:#495d69!important}
.login-input-wrap{
  border-color:#ced8de!important;
  background:#fff!important;
}
.login-input-wrap:focus-within{
  border-color:#66899a!important;
  box-shadow:0 0 0 3px rgba(84,123,143,.13)!important;
  transform:none!important;
}
.login-field-mark{background:#66899a!important}
.password-toggle{
  border-left-color:#dbe2e6!important;
  background:#f4f7f8!important;
  color:#516975!important;
}
.password-toggle:hover{background:#eaf0f3!important;color:#294b5d!important}
.remember-row{color:#637681!important}
.remember-row input{accent-color:#315a70!important}
.login-link{color:#315f77!important}
.login-submit{
  background:#315a70!important;
  border-color:#315a70!important;
}
.login-submit:hover{
  background:#24485b!important;
  border-color:#24485b!important;
  box-shadow:0 8px 18px rgba(36,72,91,.14)!important;
}
.login-help{
  border-top-color:#e0e5e8!important;
  color:#788892!important;
}
.login-footer{color:#85939c!important}
.login-error{
  border-left-color:#a24348!important;
  background:#fbf2f3!important;
  color:#8b3e42!important;
}
.auth-lite-shell{background:#eef2f4!important;color:#283640!important}
.auth-lite-card{border-color:#d7dee3!important;background:#fff!important}
.auth-lite-title{color:#21323d!important}
.auth-lite-copy{color:#70808b!important}
.auth-back{color:#315f77!important}

@media(max-width:900px){
  .ereg-sidebar{background:#27343f}
}


/* --------------------------------------------------------------------------
   Neutral theme refinement v2
   Stronger contrast, removal of legacy cream/gold form surfaces, and complete
   neutralisation of legacy hero/sidebar component colours.
   -------------------------------------------------------------------------- */
:root{
  --surface-page:#f0f0f0;
  --surface-panel:#f7f7f7;
  --surface-card:#ffffff;
  --surface-alt:#f0f0f0;
  --surface-muted:#e7e7e7;
  --line-strong:#cdcdcd;
  --line-soft:#dddddd;
  --text-main:#23282d;
  --text-secondary:#525b62;
  --text-muted:#737b81;
  --focus:#426b7e;
}

/* Main reading geometry */
html,body,.ereg-body,.ereg-page-column{
  background:var(--surface-page)!important;
  color:var(--text-main)!important;
}
.ereg-content{
  background:var(--surface-page)!important;
}
.ereg-context-bar{
  background:#f5f5f5!important;
  border-bottom:1px solid var(--line-strong)!important;
}

/* Remove remaining legacy brown from expanded/nested sidebar states. */
.ereg-sidebar,
.ereg-sidebar-head,
.ereg-nav-tools{
  background:#27343f!important;
}
.ereg-nav-section{
  background:#222d35!important;
  border-color:#3c4952!important;
  color:#aeb9c1!important;
}
.ereg-nav-link,
.ereg-nav-group>summary{
  background:transparent!important;
  color:#e4eaee!important;
}
.ereg-nav-link:hover,
.ereg-nav-group>summary:hover{
  background:#344550!important;
  color:#ffffff!important;
}
.ereg-nav-link.active,
.ereg-nav-group[open]>summary,
.ereg-nav-group>summary.active{
  background:#3b4d59!important;
  color:#ffffff!important;
  border-left-color:#b99556!important;
  box-shadow:inset 3px 0 0 #b99556!important;
}
.ereg-nav-children{
  background:#202b33!important;
  border-color:#394650!important;
}
.ereg-nav-children>a{
  background:transparent!important;
  color:#d5dde3!important;
  border-left-color:#46555f!important;
}
.ereg-nav-children>a:hover{
  background:#32424d!important;
  color:#ffffff!important;
}
.ereg-nav-children>a.active{
  background:#40545f!important;
  color:#ffffff!important;
  border-left-color:#b99556!important;
  box-shadow:inset 2px 0 0 #b99556!important;
}
.ereg-sidebar-footer{
  background:#202a32!important;
  border-top-color:#46535d!important;
}

/* Hero panels: neutral institutional feature panels, never maroon gradients. */
.hero-panel{
  background:#e4e7e9!important;
  background-image:none!important;
  border:1px solid #c7cdd1!important;
  color:#25313a!important;
  box-shadow:0 1px 2px rgba(25,35,43,.06)!important;
}
.hero-panel h1,.hero-panel h2,.hero-panel h3,
.hero-panel .text-white,.hero-panel [class*="text-white"]{
  color:#20282e!important;
}
.hero-panel p,.hero-panel .hero-copy,
.hero-panel [class*="text-white/"]{
  color:#4f5a61!important;
}
.hero-panel .page-kicker,
.hero-panel .metric-label{
  color:#596b75!important;
}
.hero-btn{
  background:#ffffff!important;
  border-color:#b9c2c8!important;
  color:#2d5365!important;
}
.hero-btn:hover{
  background:#f3f6f7!important;
  border-color:#8fa2ad!important;
  color:#203f4e!important;
}

/* Panels and forms */
.app-card,.metric,.form-panel,.chart-card,.reference-card,.dq-form-shell{
  background:var(--surface-card)!important;
  border:1px solid var(--line-strong)!important;
  color:var(--text-main)!important;
  box-shadow:0 1px 2px rgba(24,32,38,.05)!important;
}
.form-panel,.dq-form-shell{
  background:#f7f7f7!important;
}
.section-head,.dq-section>.section-head{
  background:#ececec!important;
  border-color:var(--line-strong)!important;
}
.filter-bar,.dq-run-panel,.dq-clone-panel{
  background:#e9e9e9!important;
  border:1px solid var(--line-strong)!important;
}

/* Field surfaces: white field on light-grey form with strong neutral border. */
.form-control,
.ereg-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.ereg-content select,
.ereg-content textarea,
.dq-field input,
.dq-field select,
.dq-field textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
  background:#ffffff!important;
  border-color:#bfc5c9!important;
  color:#1f2529!important;
  box-shadow:none!important;
}
.form-control::placeholder,
.ereg-content input::placeholder,
.ereg-content textarea::placeholder{
  color:#7b8389!important;
  opacity:1!important;
}
.form-control:hover,
.ereg-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
.ereg-content select:hover,
.ereg-content textarea:hover{
  border-color:#9ea8ae!important;
}
.form-control:focus,
.ereg-content input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.ereg-content select:focus,
.ereg-content textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple{
  border-color:#52788a!important;
  outline:0!important;
  box-shadow:0 0 0 2px rgba(66,107,126,.14)!important;
}
.field-label,.dq-field label{
  color:#3c454b!important;
  font-weight:800!important;
}
.field-help,.dq-field small{
  color:#606a70!important;
}
input[type="checkbox"],input[type="radio"]{
  accent-color:#426b7e!important;
}

/* Select2 dropdowns/results */
.select2-dropdown{
  background:#ffffff!important;
  border-color:#bfc5c9!important;
}
.select2-container--default .select2-results__option{
  background:#ffffff!important;
  color:#252b30!important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:#dfe8ec!important;
  color:#20313b!important;
}
.select2-container--default .select2-results__option[aria-selected="true"]{
  background:#eceff1!important;
  color:#20282d!important;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
  background:#fff!important;
  border:1px solid #bfc5c9!important;
  color:#20262a!important;
}

/* Tables: stronger alternating bands and separators. */
.table-wrap{
  background:#ffffff!important;
  border:1px solid var(--line-strong)!important;
}
.data-table{
  background:#ffffff!important;
}
.data-table thead th,
.data-table th{
  background:#dcdcdc!important;
  color:#252d32!important;
  border-bottom:1px solid #bfc4c7!important;
  border-right-color:#cccccc!important;
}
.data-table tbody tr:nth-child(odd){
  background:#ffffff!important;
}
.data-table tbody tr:nth-child(even){
  background:#f0f0f0!important;
}
.data-table tbody tr:hover{
  background:#e2e9ed!important;
}
.data-table td{
  color:#2e363b!important;
  border-bottom-color:#d2d2d2!important;
}
.data-table tbody tr:last-child td{
  border-bottom-color:transparent!important;
}

/* Definition/list rows and compact registries */
.dq-definition-grid{background:#cdcdcd!important}
.dq-definition-grid>div{background:#f7f7f7!important}
.dq-definition-row{border-top-color:#cdcdcd!important}
.dq-list-row{border-top-color:#cdcdcd!important}
.dq-outcome-stack{background:#cdcdcd!important}
.dq-outcome-stack>div{background:#fff!important}

/* Remove residual amber/cream utility surfaces that appear in templates. */
.bg-amber-50,.bg-amber-100,.bg-yellow-50,.bg-yellow-100,
.bg-\[\#fffdf8\],.bg-\[\#fffdfa\],.bg-\[\#faf5eb\],
.bg-\[\#faf4e7\],.bg-\[\#f3ead9\],.bg-\[\#f8f1e5\]{
  background:#f2f2f2!important;
}
.border-amber-100,.border-amber-200,.border-amber-300,
.border-\[\#dccaa4\],.border-\[\#d8c9aa\],.border-\[\#cdbb96\]{
  border-color:#cdcdcd!important;
}
.text-amber-700,.text-amber-800,.text-yellow-700,
.text-\[\#6b4b36\],.text-\[\#5e422e\],.text-\[\#735f35\]{
  color:#4a5359!important;
}

/* Metrics and small labels */
.metric-label,.page-kicker,.dq-kicker{
  color:#56636a!important;
}
.metric-note,.page-subtitle,.section-copy,.dq-muted{
  color:#626d74!important;
}
.metric-value,.page-heading,.section-title,.dq-page-head h2{
  color:#20282d!important;
}

/* Notices are readable, not pastel-washed. */
.notice{
  border-color:#c8cdd0!important;
  background:#f7f7f7!important;
  color:#30383d!important;
}
.notice-success{
  border-color:#9fbcae!important;
  background:#edf4f0!important;
  color:#285542!important;
}
.notice-warning{
  border-color:#c6b78f!important;
  background:#f4f1e8!important;
  color:#5c5137!important;
}
.notice-error{
  border-color:#cda6a9!important;
  background:#f8eeee!important;
  color:#7c3439!important;
}

/* Login/recovery form field contrast */
.login-form-side,.auth-lite-shell{background:#eeeeee!important}
.login-card,.auth-lite-card{
  background:#ffffff!important;
  border-color:#c9cfd3!important;
}
.login-input-wrap{
  background:#ffffff!important;
  border-color:#b9c2c8!important;
}
.login-input-wrap input{
  background:#ffffff!important;
  color:#20272c!important;
}
.login-input-wrap input::placeholder{color:#737d84!important}
.login-help{color:#5f6a71!important}

/* Print-like clarity for dense content */
.detail-row{
  border-color:#d4d4d4!important;
}
.detail-row dt{color:#5b666c!important}
.detail-row dd{color:#252c31!important}


/* --------------------------------------------------------------------------
   Layout integrity + login refinement v3
   -------------------------------------------------------------------------- */

/* Cross-app geometry and overflow hardening */
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%}
.ereg-shell,.ereg-work-area,.ereg-page-column,.ereg-content,
.app-card,.form-panel,.metric,.chart-card,.reference-card,.table-wrap,
.filter-bar,.hero-panel,.dq-form-shell,.dq-run-panel,.dq-clone-panel{
  min-width:0;
}
.ereg-content{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.ereg-content>*{
  max-width:100%;
}
.ereg-content .grid>*,
.ereg-content [class*="grid-cols-"]>*,
.form-panel .grid>*,
.filter-bar>*{
  min-width:0;
}
.table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overscroll-behavior-inline:contain;
}
.data-table{
  width:100%;
}
.select2-container{
  max-width:100%!important;
}
.select2-container--default{
  width:100%!important;
}
.form-control,
.ereg-content input,
.ereg-content select,
.ereg-content textarea{
  max-width:100%!important;
}
.hero-panel{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.hero-panel>*{min-width:0}
.page-head,.section-head{
  min-width:0;
  max-width:100%;
}
.page-head{
  align-items:flex-start;
}
.quick-panel{
  width:min(560px,calc(100vw - 18px))!important;
  max-width:100vw!important;
}
.inline-flex{
  max-width:100%;
}
.data-table .inline-flex,
.table-wrap .inline-flex{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ereg-global-header>*,
.ereg-workspaces,
.ereg-global-actions,
.ereg-brand{
  min-width:0;
}
.ereg-workspaces{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  white-space:nowrap;
}
.ereg-workspaces::-webkit-scrollbar{display:none}
.ereg-workspace-link{flex:0 0 auto}
.ereg-global-actions{white-space:nowrap}
.ereg-context-bar{
  gap:14px;
  flex-wrap:wrap;
}
.ereg-context-form{
  min-width:0;
  flex-wrap:wrap;
}
.ereg-context-form label{
  min-width:0;
}
.ereg-context-form select{
  max-width:150px;
}
.ereg-nav-link span,
.ereg-nav-group>summary span,
.ereg-nav-children>a span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.app-card,.form-panel,.metric,.reference-card,.chart-card{
  overflow-wrap:anywhere;
}

/* Login: production cover + stable two-column geometry */
.login-shell{
  min-height:100svh!important;
  overflow-x:hidden!important;
  background:#e9edef!important;
}
.login-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr)!important;
  min-height:100svh!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.login-cover-refined{
  position:relative!important;
  min-height:100svh!important;
  padding:clamp(28px,4vw,58px)!important;
  overflow:hidden!important;
  isolation:isolate;
  background:#21323d!important;
}
.login-cover-art{
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    url("../img/login-cover.svg") center/cover no-repeat;
}
.login-cover-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(18,31,39,.92) 0%,rgba(26,44,54,.78) 48%,rgba(31,55,67,.45) 100%),
    linear-gradient(180deg,rgba(20,33,41,.18),rgba(20,33,41,.46));
}
.login-cover-content{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:calc(100svh - clamp(56px,8vw,116px));
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:36px;
}
.login-cover-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.login-institution{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.login-logo-mark{
  width:66px;
  height:66px;
  flex:0 0 66px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 8px 24px rgba(11,23,30,.18);
}
.login-logo-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.login-institution-name{
  font-size:14px;
  line-height:18px;
  font-weight:800;
  letter-spacing:.015em;
  color:#ffffff;
}
.login-institution-product{
  margin-top:3px;
  font-size:10px;
  line-height:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:#bdcbd2;
}
.login-security-pill{
  flex:0 0 auto;
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  padding:7px 10px!important;
  border:1px solid rgba(219,231,237,.24)!important;
  background:rgba(20,37,46,.46)!important;
  color:#dbe5ea!important;
  font-size:10px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.login-security-pill svg{
  width:14px;
  height:14px;
  color:#d4b66f;
}
.login-cover-main{
  width:min(690px,92%);
  padding:20px 0;
}
.login-cover-eyebrow{
  margin-bottom:12px;
  font-size:11px;
  line-height:14px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d4b66f;
}
.login-cover-title{
  margin:0!important;
  font-size:clamp(40px,4.8vw,72px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
  color:#fff!important;
  text-wrap:balance;
}
.login-cover-copy{
  width:min(620px,100%);
  margin-top:22px!important;
  font-size:15px!important;
  line-height:1.65!important;
  color:#d3dee4!important;
}
.login-capability-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:30px;
}
.login-capability{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:13px 12px;
  border:1px solid rgba(226,236,241,.14);
  background:rgba(17,31,39,.30);
  backdrop-filter:blur(5px);
}
.login-capability>svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:1px;
  color:#d2b369;
}
.login-capability strong{
  display:block;
  font-size:11px;
  line-height:14px;
  color:#fff;
}
.login-capability span{
  display:block;
  margin-top:3px;
  font-size:9.5px;
  line-height:13px;
  color:#b8c7cf;
}
.login-cover-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:9px;
  line-height:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#aebdc5;
}
.login-cover-dot{color:#d0ae61}

.login-form-side-refined{
  position:relative!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:100svh!important;
  padding:0!important;
  background:#eef1f3!important;
  overflow-y:auto!important;
}
.login-form-stage{
  width:min(520px,100%);
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:18px;
  padding:clamp(28px,4vw,56px);
}
.login-card-refined{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(28px,3.2vw,42px)!important;
  border:1px solid #c7cdd1!important;
  background:#fff!important;
  box-shadow:0 18px 48px rgba(31,47,57,.10)!important;
}
.login-card-head{
  padding-bottom:22px;
  border-bottom:1px solid #dedede;
}
.login-card-refined .login-kicker{
  margin:0 0 8px!important;
  color:#61727d!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.login-card-refined .login-title{
  margin:0!important;
  color:#202a31!important;
  font-size:26px!important;
  line-height:32px!important;
  letter-spacing:-.02em!important;
}
.login-card-refined .login-copy{
  margin-top:10px!important;
  color:#5d6970!important;
  font-size:12.5px!important;
  line-height:19px!important;
}
.login-form{
  margin-top:24px;
}
.login-field{
  margin:0 0 18px!important;
}
.login-field-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}
.login-field label,
.login-field-heading label{
  margin:0!important;
  color:#39464e!important;
  font-size:10px!important;
  line-height:13px!important;
  font-weight:900!important;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.login-link{
  font-size:10px!important;
  font-weight:800!important;
}
.login-input-wrap{
  min-height:46px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  align-items:stretch!important;
  border:1px solid #b7c0c6!important;
  background:#fff!important;
  overflow:hidden!important;
}
.login-input-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  border-right:1px solid #d6dce0;
  background:#f2f4f5;
  color:#536d7a;
}
.login-input-icon svg{
  width:17px;
  height:17px;
}
.login-input-wrap input{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 12px!important;
  border:0!important;
  outline:0!important;
  background:#fff!important;
  color:#20272c!important;
  font-size:13px!important;
}
.login-input-wrap:focus-within{
  border-color:#52788a!important;
  box-shadow:0 0 0 3px rgba(66,107,126,.13)!important;
}
.password-toggle{
  min-width:58px!important;
  padding:0 12px!important;
  border:0!important;
  border-left:1px solid #d6dce0!important;
  background:#f1f3f4!important;
  color:#526772!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.login-session-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:2px;
}
.login-protected{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#7a858c;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.login-protected svg{
  width:13px;
  height:13px;
}
.login-submit{
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:20px!important;
  padding:0 16px!important;
  background:#315a70!important;
  border:1px solid #315a70!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
.login-submit svg{
  width:16px;
  height:16px;
}
.login-submit:hover{
  background:#24485b!important;
}
.login-error{
  display:flex!important;
  flex-direction:column;
  gap:2px;
  margin:0 0 16px!important;
  padding:10px 12px!important;
}
.login-error strong{font-size:11px}
.login-error span{font-size:10px}
.login-support{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #dedede;
}
.login-support>svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin-top:1px;
  color:#607885;
}
.login-support strong{
  display:block;
  color:#37464f;
  font-size:10px;
  line-height:13px;
}
.login-support span{
  display:block;
  margin-top:3px;
  color:#69757d;
  font-size:9.5px;
  line-height:14px;
}
.login-form-foot{
  display:flex;
  justify-content:center;
  gap:8px;
  color:#7a868d;
  font-size:9px;
  font-weight:700;
}
.login-mobile-brand{
  display:none!important;
}

@media(max-width:1180px){
  .login-layout{
    grid-template-columns:minmax(0,1fr) minmax(390px,.88fr)!important;
  }
  .login-cover-refined{
    padding:34px!important;
  }
  .login-capability-grid{
    grid-template-columns:1fr!important;
    width:min(430px,100%);
  }
  .login-capability{
    padding:10px 11px;
  }
}

@media(max-width:900px){
  .login-layout{
    display:block!important;
    min-height:100svh!important;
  }
  .login-cover-refined{
    display:none!important;
  }
  .login-form-side-refined{
    min-height:100svh!important;
    padding:24px!important;
  }
  .login-form-stage{
    width:min(520px,100%);
    min-height:calc(100svh - 48px);
    padding:0!important;
  }
  .login-mobile-brand{
    display:flex!important;
    align-items:center;
    gap:12px;
    margin:0 0 18px;
    color:#24343e;
  }
  .login-mobile-brand img{
    width:54px;
    height:54px;
    object-fit:contain;
    background:#fff;
    border:1px solid #cbd1d5;
    padding:4px;
  }
  .login-mobile-brand strong{
    display:block;
    font-size:16px;
    line-height:20px;
  }
  .login-mobile-brand span{
    display:block;
    margin-top:2px;
    color:#69767e;
    font-size:10px;
    line-height:13px;
  }
}

@media(max-width:560px){
  .login-form-side-refined{
    padding:14px!important;
  }
  .login-form-stage{
    min-height:calc(100svh - 28px);
  }
  .login-card-refined{
    padding:24px 20px!important;
  }
  .login-session-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .login-form-foot{
    flex-wrap:wrap;
  }
}

/* Desktop shell collision controls */
@media(min-width:901px){
  .ereg-global-header{
    overflow:visible;
  }
  .ereg-brand{
    overflow:hidden;
  }
  .ereg-global-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    min-width:max-content;
  }
}

/* --------------------------------------------------------------------------
   Login refinement v3 — restrained institutional geometry
   -------------------------------------------------------------------------- */
.login-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)!important;
  background:#e8edf0!important;
}
.login-cover-refined{
  padding:clamp(30px,4vw,60px)!important;
  background:#182b36!important;
}
.login-cover-art{
  opacity:1!important;
  background:
    radial-gradient(circle at 15% 18%,rgba(118,161,181,.24) 0,rgba(118,161,181,0) 30%),
    radial-gradient(circle at 82% 30%,rgba(194,160,88,.13) 0,rgba(194,160,88,0) 24%),
    linear-gradient(125deg,rgba(18,39,51,.08) 0%,rgba(19,40,52,.32) 45%,rgba(12,28,38,.78) 100%),
    url("../img/login-cover.svg") center/cover no-repeat!important;
  filter:saturate(.72) contrast(1.04);
}
.login-cover-art::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    linear-gradient(115deg,transparent 0 49.45%,rgba(198,217,226,.075) 49.5% 49.62%,transparent 49.67% 100%),
    linear-gradient(25deg,transparent 0 66.5%,rgba(198,217,226,.055) 66.55% 66.68%,transparent 66.73% 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 72px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 72px);
  transform:rotate(-1.5deg);
  transform-origin:center;
}
.login-cover-art::after{
  content:"";
  position:absolute;
  width:min(58vw,760px);
  aspect-ratio:1;
  right:-18%;
  bottom:-34%;
  border:1px solid rgba(205,220,227,.13);
  border-radius:50%;
  box-shadow:
    0 0 0 68px rgba(205,220,227,.025),
    0 0 0 138px rgba(205,220,227,.018);
}
.login-cover-shade{
  background:
    linear-gradient(90deg,rgba(18,38,49,.94) 0%,rgba(21,43,55,.82) 52%,rgba(15,34,44,.60) 100%),
    linear-gradient(180deg,rgba(18,34,43,.05),rgba(12,27,35,.38))!important;
}
.login-cover-content{
  gap:34px!important;
}
.login-logo-mark{
  width:62px!important;
  height:62px!important;
  flex-basis:62px!important;
  padding:7px!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:0 10px 26px rgba(5,18,25,.18)!important;
}
.login-institution-name{
  font-size:14px!important;
  line-height:18px!important;
  font-weight:750!important;
  letter-spacing:.005em!important;
}
.login-institution-product{
  margin-top:4px!important;
  color:#b8c8d0!important;
  font-size:9.5px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
}
.login-security-pill{
  padding:7px 10px!important;
  border-color:rgba(214,228,235,.20)!important;
  background:rgba(10,29,39,.34)!important;
  color:#d5e0e5!important;
  backdrop-filter:blur(8px);
}
.login-cover-main{
  width:min(720px,94%)!important;
  padding:14px 0!important;
}
.login-cover-eyebrow{
  position:relative;
  margin-bottom:15px!important;
  padding-left:34px;
  color:#d6bd7d!important;
  font-size:10px!important;
  line-height:14px!important;
  font-weight:800!important;
  letter-spacing:.17em!important;
}
.login-cover-eyebrow::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:22px;
  height:1px;
  background:#d0b36c;
}
.login-cover-title{
  max-width:720px;
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1.015!important;
  letter-spacing:-.036em!important;
  font-weight:760!important;
  color:#ffffff!important;
  text-shadow:0 1px 0 rgba(0,0,0,.10);
}
.login-cover-copy{
  width:min(650px,100%)!important;
  margin-top:22px!important;
  color:#d0dce2!important;
  font-size:14.5px!important;
  line-height:1.68!important;
  letter-spacing:.002em;
}
.login-capability-grid{
  gap:0!important;
  margin-top:32px!important;
  border-top:1px solid rgba(220,231,236,.18);
  border-bottom:1px solid rgba(220,231,236,.12);
}
.login-capability{
  min-height:86px;
  padding:16px 16px!important;
  gap:11px!important;
  border:0!important;
  border-right:1px solid rgba(220,231,236,.12)!important;
  background:rgba(8,26,35,.17)!important;
  backdrop-filter:blur(7px);
}
.login-capability:last-child{border-right:0!important}
.login-capability>svg{
  width:17px!important;
  height:17px!important;
  flex-basis:17px!important;
  color:#d1b46e!important;
}
.login-capability strong{
  font-size:11px!important;
  line-height:14px!important;
  font-weight:800!important;
  letter-spacing:.02em;
}
.login-capability span{
  margin-top:4px!important;
  color:#b7c6ce!important;
  font-size:9.5px!important;
  line-height:13.5px!important;
}
.login-cover-foot{
  color:#a9bbc4!important;
  font-size:8.5px!important;
  letter-spacing:.11em!important;
}
.login-cover-dot{color:#c9ad69!important}

.login-form-side-refined{
  background:
    radial-gradient(circle at 88% 8%,rgba(78,115,134,.08),transparent 28%),
    linear-gradient(180deg,#f1f4f5 0%,#e8edef 100%)!important;
}
.login-form-stage{
  width:min(500px,100%)!important;
  padding:clamp(30px,4vw,54px)!important;
}
.login-card-refined{
  position:relative;
  padding:clamp(30px,3vw,40px)!important;
  border:1px solid #c8d0d5!important;
  border-top:3px solid #5d7d8e!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 22px 54px rgba(31,47,57,.11)!important;
}
.login-card-head{
  padding-bottom:18px!important;
  border-bottom:0!important;
}
.login-card-refined .login-kicker{
  margin-bottom:7px!important;
  color:#667985!important;
  font-size:9.5px!important;
  letter-spacing:.15em!important;
}
.login-card-refined .login-title{
  color:#1d2a32!important;
  font-size:28px!important;
  line-height:34px!important;
  font-weight:760!important;
  letter-spacing:-.025em!important;
}
.login-card-refined .login-copy{
  max-width:410px;
  margin-top:9px!important;
  color:#607079!important;
  font-size:12.5px!important;
  line-height:19px!important;
}
.login-assurance-strip{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0 0 22px;
  padding:9px 0;
  border-top:1px solid #dce2e5;
  border-bottom:1px solid #dce2e5;
  color:#637680;
  font-size:9px;
  line-height:12px;
  font-weight:750;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.login-assurance-strip span{
  position:relative;
  padding:0 10px;
}
.login-assurance-strip span:first-child{padding-left:0}
.login-assurance-strip span:not(:last-child)::after{
  content:"";
  position:absolute;
  right:0;
  top:2px;
  width:1px;
  height:9px;
  background:#c9d1d6;
}
.login-form{margin-top:0!important}
.login-field{margin-bottom:17px!important}
.login-field label{
  color:#42545f!important;
  font-size:11px!important;
  font-weight:750!important;
}
.login-input-wrap{
  min-height:44px!important;
  border:1px solid #c5cfd5!important;
  background:#ffffff!important;
  box-shadow:inset 0 1px 1px rgba(28,43,52,.025)!important;
}
.login-input-wrap:focus-within{
  border-color:#597d90!important;
  box-shadow:0 0 0 3px rgba(75,116,137,.11)!important;
}
.login-input-icon{
  width:42px!important;
  color:#6b7f8a!important;
}
.login-input-wrap input{
  min-height:42px!important;
  color:#1f2b32!important;
  font-size:13px!important;
}
.password-toggle{
  min-height:42px!important;
  padding:0 12px!important;
  background:#f5f7f8!important;
  color:#526a77!important;
  font-size:10px!important;
  font-weight:750!important;
}
.login-session-row{
  margin-top:1px!important;
  color:#647780!important;
}
.login-protected{
  color:#6b7b84!important;
}
.login-submit{
  min-height:44px!important;
  margin-top:18px!important;
  background:#2d566b!important;
  border-color:#2d566b!important;
  box-shadow:none!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.login-submit:hover{
  background:#234759!important;
  border-color:#234759!important;
  box-shadow:0 8px 18px rgba(35,71,89,.14)!important;
}
.login-support{
  margin-top:24px!important;
  padding-top:18px!important;
  border-top:1px solid #dce2e5!important;
  background:transparent!important;
}
.login-support>svg{color:#6b8290!important}
.login-support strong{
  color:#344955!important;
  font-size:10.5px!important;
}
.login-support span{
  color:#75848d!important;
  font-size:10px!important;
  line-height:15px!important;
}
.login-form-foot{
  color:#7b8b94!important;
  font-size:9px!important;
  letter-spacing:.06em;
}

@media(max-width:1100px){
  .login-layout{
    grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)!important;
  }
  .login-cover-title{
    font-size:clamp(38px,4.3vw,54px)!important;
  }
  .login-capability{
    padding:14px 12px!important;
  }
}
@media(max-width:900px){
  .login-layout{display:block!important}
  .login-cover-refined{display:none!important}
  .login-form-side-refined{min-height:100svh!important}
  .login-form-stage{
    width:min(500px,100%)!important;
    padding:24px 18px 30px!important;
  }
  .login-card-refined{
    padding:28px 22px!important;
  }
  .login-assurance-strip{
    gap:5px;
  }
}

