/* Én ID adapter for Én UI v1.0.0: maps shared tokens onto the existing ID shell without changing layout or workflows. */
:root { --en-navy: var(--en-ui-primary); --en-navy-dark: var(--en-ui-primary-deep); --en-danger: var(--en-ui-danger); }
body { font-family: var(--en-ui-font); }
:focus-visible { outline: 2px solid var(--en-ui-focus); outline-offset: 2px; box-shadow: var(--en-ui-ring); }

.btn:not(.btn-lg) { --bs-btn-padding-y: 5px; --bs-btn-padding-x: 12px; --bs-btn-font-size: 14px; --bs-btn-line-height: 1.5; --bs-btn-font-weight: 600; --bs-btn-border-radius: var(--en-ui-radius-control); }
.btn.btn-sm { --bs-btn-padding-y: 2px; --bs-btn-padding-x: 10px; --bs-btn-font-size: 13px; }
.btn:not(.btn-lg) { min-height: var(--en-ui-btn-h); display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.btn.btn-sm { min-height: var(--en-ui-btn-h-compact); }
.btn-primary { --bs-btn-bg: var(--en-ui-primary); --bs-btn-border-color: var(--en-ui-primary); --bs-btn-hover-bg: var(--en-ui-primary-deep); --bs-btn-hover-border-color: var(--en-ui-primary-deep); --bs-btn-active-bg: var(--en-ui-primary-deep); --bs-btn-disabled-bg: var(--en-ui-primary); --bs-btn-disabled-border-color: var(--en-ui-primary); }
.btn-danger { --bs-btn-bg: var(--en-ui-danger); --bs-btn-border-color: var(--en-ui-danger); --bs-btn-hover-bg: #912018; --bs-btn-hover-border-color: #912018; }
.btn-outline-danger { --bs-btn-color: var(--en-ui-danger); --bs-btn-border-color: var(--en-ui-danger); --bs-btn-hover-bg: var(--en-ui-danger); }
.form-control:focus, .form-select:focus { border-color: var(--en-ui-focus); box-shadow: var(--en-ui-ring); }
:is(div, fieldset):focus-within > .form-label { color: var(--en-ui-accent); }

.en-nav a.active, .en-nav a.active:hover { background: #fff; color: var(--en-ui-accent); font-weight: 600; box-shadow: inset 3px 0 0 var(--en-ui-accent); }
.en-nav a:hover { background: rgba(18, 59, 86, .07); color: var(--en-ui-primary-deep); }

.en-topbar-mark { display: inline-flex; align-items: center; }
.en-topbar-logo { width: 32px; height: 32px; }
.en-account-copy { display: grid; min-width: 0; max-width: 200px; text-align: left; line-height: 1.2; }
.en-account-name { overflow: hidden; font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.en-account-meta { overflow: hidden; color: rgba(255,255,255,.78); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.en-account-chevron { width: 16px; height: 16px; opacity: .8; }
.en-user-chip[aria-expanded="true"] .en-account-chevron { transform: rotate(180deg); }
.en-account-menu .dropdown-item.active, .en-account-menu .dropdown-item[aria-current="page"] { background: transparent; color: var(--en-ui-accent); font-weight: 600; }

.en-topbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.en-notif-btn { position: relative; }
.en-notif-btn:hover, .en-notif-btn[aria-expanded="true"] { background: rgba(255,255,255,.22); }
.en-notif-badge { position: absolute; top: 3px; right: 3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--en-ui-accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px var(--en-navy-dark); }
.en-notif-badge[hidden] { display: none; }
.en-notif-menu { width: min(360px, calc(100vw - 24px)); margin-top: 8px !important; padding: 0; overflow: hidden; border: 1px solid var(--en-border); border-radius: var(--en-radius); box-shadow: var(--en-shadow-menu); z-index: 1020; }
.en-notif-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--en-border); color: var(--en-text); font-weight: 600; }
.en-notif-head small { color: var(--en-muted); font-size: 12px; font-weight: 500; }
.en-notif-list { max-height: min(420px, 70vh); margin: 0; padding: 4px; overflow-y: auto; list-style: none; }
.en-notif-item { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 10px; min-height: 44px; padding: 10px; border-radius: 6px; color: var(--en-text); white-space: normal; }
a.en-notif-item:hover, a.en-notif-item:focus { background: var(--en-bg); color: var(--en-navy-dark); }
.en-notif-icon { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--en-radius); background: #EAF1F5; color: var(--en-navy-dark); }
.en-notif-copy { min-width: 0; }
.en-notif-copy strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; }
.en-notif-copy span { display: block; margin-top: 2px; color: var(--en-muted); font-size: 13px; overflow-wrap: anywhere; }
.en-notif-item.is-unread .en-notif-copy strong::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--en-ui-accent); vertical-align: middle; }
.en-notif-foot { display: flex; justify-content: flex-end; padding: 8px 14px 10px; border-top: 1px solid var(--en-border); background: #F7F9FB; }
.en-notif-foot [aria-disabled="true"] { opacity: .55; cursor: default; }
.en-notif-empty { padding: 20px 16px; color: var(--en-muted); font-size: 13px; text-align: center; }
.en-notif-empty strong { display: block; margin-bottom: 4px; color: var(--en-text); font-size: 14px; }

.en-bank-link-form { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 12rem; }
.en-bank-link-form .form-select { width: auto; min-width: 12rem; }
.en-app-role-select { width: auto; min-width: min(17.5rem, 100%); max-width: 100%; }
.en-branch-access > legend { float: none; width: auto; margin-bottom: .5rem; font-size: inherit; line-height: inherit; }

.en-cols-custom td.en-col-name, .en-cols-custom th.en-col-name, .en-cols-custom td.en-col-actions, .en-cols-custom th.en-col-actions { position: static; }

@media (max-width: 767.98px) {
    .btn:not(.btn-lg), .btn.btn-sm { min-height: var(--en-ui-tap); }
    .en-column-filter-trigger { min-width: var(--en-ui-tap); min-height: var(--en-ui-tap); }
}
