/* IRED Tchad — shared presentation layer; no business or permission logic. */
:root {
  --ired-blue: #002664; --ired-science: #145A8D; --ired-yellow: #FECB00;
  --ired-red: #C60C30; --ired-white: #FFFFFF; --ired-page: #F5F7FB;
  --ired-text: #17243A; --ired-muted: #667085; --ired-border: #E3E8EF;
  --ired-success: #146B47; --ired-warning: #855400; --ired-error: #B42318;
  --ired-info: #145A8D; --ired-radius: 12px; --ired-control: 44px;
  --ired-shadow: 0 4px 20px rgba(0,38,100,.045); --ired-sidebar: 286px;
  --ired-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --lims-font-sans: var(--ired-font); --lims-blue-950: #001940;
  --lims-blue-900: var(--ired-blue); --lims-blue-800: var(--ired-blue);
  --lims-blue-700: var(--ired-science); --lims-blue-600: var(--ired-science);
  --lims-blue-500: var(--ired-science); --lims-blue-100: #EAF2FA;
  --lims-blue-050: #F3F7FC; --lims-page: var(--ired-page);
  --lims-text: var(--ired-text); --lims-muted: var(--ired-muted);
  --lims-border: var(--ired-border); --lims-lab-900: var(--ired-text);
  --lims-lab-700: #344054; --lims-lab-500: var(--ired-muted);
  --lims-success: var(--ired-success); --lims-success-soft: #EAF6EF;
  --lims-warning: var(--ired-warning); --lims-warning-soft: #FFF6DB;
  --lims-danger: var(--ired-error); --lims-danger-soft: #FDEEEB;
  --lims-info: var(--ired-info); --lims-info-soft: #EAF2FA;
  --lims-radius-md: var(--ired-radius); --lims-radius-lg: var(--ired-radius);
  --lims-control-h: var(--ired-control); --lims-sidebar-w: var(--ired-sidebar);
  --ahis-blue: var(--ired-blue); --ahis-blue-strong: var(--ired-blue);
  --ahis-green: var(--ired-success); --ahis-red: var(--ired-error);
  --ahis-yellow: var(--ired-yellow); --ahis-bg: var(--ired-page);
  --ahis-border: var(--ired-border); --ahis-text: var(--ired-text);
  --ahis-muted: var(--ired-muted); --ahis-control-height: var(--ired-control);
  --ahis-btn-height: var(--ired-control); --bs-primary: var(--ired-blue);
  --bs-primary-rgb: 0,38,100; --bs-success: var(--ired-success);
  --bs-success-rgb: 20,107,71; --bs-success-text-emphasis: #0B5135;
  --bs-success-bg-subtle: #EAF6EF; --bs-success-border-subtle: #B7DCC9;
}
.ired-ui { color: var(--ired-text); font-family: var(--ired-font)!important; line-height: 1.6; }
.ired-ui *, .ired-ui *::before, .ired-ui *::after { box-sizing: border-box; }
.ired-ui .lims-app-frame { background: var(--ired-page); }
.ired-ui a { text-underline-offset: 3px; }
.ired-ui a:not(.btn):not(.dropdown-item):not(.lims-brand):not(.ired-login-brand) { color: var(--ired-science); }
.ired-ui h1, .ired-ui h2, .ired-ui h3, .ired-ui h4 { color: var(--ired-text); letter-spacing: -.025em; line-height: 1.25; }
.ired-ui h1 { font-size: clamp(1.6rem,2.3vw,2.15rem); font-weight: 750; }
.ired-ui h2 { font-size: 1.25rem; font-weight: 700; }
.ired-ui .text-muted { color: var(--ired-muted)!important; }
.ired-ui :focus-visible { outline: 3px solid var(--ired-science)!important; outline-offset: 3px; box-shadow: none!important; }
.ired-ui .ired-skip-link { position: fixed; top: -100px; left: 16px; z-index: 2100; padding: 12px 18px; color: var(--ired-blue)!important; background: white; border: 2px solid var(--ired-blue); border-radius: 6px; }
.ired-ui .ired-skip-link:focus { top: 12px; }
.ired-ui .lims-topbar { min-height: 80px; padding: 12px 24px; position: sticky; top: 0; z-index: 1040; background: white; border-bottom: 1px solid var(--ired-border); box-shadow: none; }
.ired-ui .lims-topbar::before { content: ""; position: absolute; top: 0; inset-inline: 0; height: 3px; background: linear-gradient(90deg,var(--ired-blue) 0 68%,var(--ired-yellow) 68% 90%,var(--ired-red) 90%); }
.ired-ui .lims-topbar .container-fluid { padding: 0; gap: 12px; }
.ired-ui .lims-brand { color: var(--ired-blue)!important; gap: 12px; }
.ired-wordmark { display: inline-grid; place-items: center; width: 42px; height: 44px; background: var(--ired-blue); color: white; font-size: 25px; font-weight: 750; border-radius: 9px 9px 9px 2px; border-bottom: 3px solid var(--ired-yellow); flex-shrink: 0; }
.ired-ui .lims-brand-name { font-size: 1.15rem; font-weight: 800; }
.ired-ui .lims-brand-name span { font-weight: 450; }
.ired-ui .lims-brand-subtitle { text-transform: none; letter-spacing: 0; font-size: .75rem; margin-top: 5px; font-weight: 450; }
.ired-topbar-title { color: var(--ired-muted); font-size: .86rem; border-left: 1px solid var(--ired-border); padding-left: 24px; max-width: 34vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ired-ui .ired-profile-toggle { display: flex; align-items: center; gap: 10px; border: 1px solid var(--ired-border); background: #fff; color: var(--ired-text); padding: 5px 12px 5px 6px; }
.ired-avatar { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #EAF2FA; color: var(--ired-blue); }
.ired-profile-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.ired-ui .dropdown-menu { border-color: var(--ired-border); border-radius: 10px; box-shadow: 0 12px 40px #00266418; min-width: 255px; padding: 8px; }
.ired-ui .dropdown-item { min-height: 44px; border-radius: 6px; display: flex; align-items: center; gap: 10px; color: var(--ired-text); white-space: normal; }
.ired-ui .dropdown-item:hover, .ired-ui .dropdown-item:focus { background: #EAF2FA; color: var(--ired-blue); }
.ired-profile-heading { padding: 8px 12px 12px; display: grid; overflow-wrap: anywhere; }
.ired-profile-heading span { font-size: .8rem; color: var(--ired-muted); }
.ired-ui .lims-main-container { padding: 0; }
.ired-ui .lims-layout { display: block; margin: 0; min-height: calc(100dvh - 80px); }
.ired-ui .ired-main { width: auto; padding: 30px 32px 0; margin: 0; min-width: 0; }
.ired-authenticated .ired-main { margin-left: var(--ired-sidebar); }
.ired-ui .lims-content-card { padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; min-width: 0; }
.ired-ui .lims-content-card > .container-fluid { padding-inline: 0; }
.ired-ui .lims-sidebar-column { position: fixed; left: 0; top: 80px; bottom: 0; width: var(--ired-sidebar); padding: 0; z-index: 1030; background: var(--ired-blue); }
.ired-ui .lims-sidebar-panel { position: static; height: 100%; max-height: none; display: flex; flex-direction: column; border: 0; border-radius: 0; background: var(--ired-blue); color: #fff; box-shadow: none; overflow: hidden; }
.ired-ui .lims-sidebar-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 25px 18px 18px; border-bottom: 1px solid #FFFFFF1F; }
.ired-sidebar-eyebrow { margin: 0 0 5px; color: #BBD0E9; font-size: .69rem; text-transform: uppercase; letter-spacing: .12em; }
.ired-ui .lims-sidebar-title { color: white; font-size: .9rem; text-transform: none; letter-spacing: 0; font-weight: 650; }
.ired-ui .ired-sidebar-collapse, .ired-ui .lims-sidebar-close { color: white; border: 1px solid #FFFFFF38; background: transparent; width: 44px; min-width: 44px; padding: 0; }
.ired-ui .lims-sidebar-panel .card-body { flex: 1; overflow-y: auto; padding: 14px 10px; scrollbar-width: thin; scrollbar-color: #6F8CB7 transparent; }
.ired-ui .ired-navigation { margin: 0; padding: 0; list-style: none; }
.ired-ui .lims-sidebar-panel .ired-navigation a, .ired-ui .lims-sidebar-panel .nav a { min-height: 44px; padding: 11px 12px; border-radius: 7px; color: #DCE6F4!important; background: transparent!important; font-size: .84rem!important; font-weight: 500!important; white-space: normal; border: 0!important; box-shadow: none!important; gap: 10px; line-height: 1.45; }
.ired-ui .lims-sidebar-panel .ired-navigation li { margin: 3px 0; }
.ired-ui .lims-sidebar-panel .ired-navigation .treeview-menu { padding: 5px 0 5px 14px; margin-left: 15px; border-left: 1px solid #FFFFFF30; background: transparent!important; }
.ired-ui .lims-sidebar-panel .ired-navigation a:hover, .ired-ui .lims-sidebar-panel .ired-navigation a:focus-visible { color: white!important; background: #FFFFFF16!important; }
.ired-ui .lims-sidebar-panel .ired-navigation a[aria-current="page"] { color: white!important; background: #FFFFFF22!important; box-shadow: inset 3px 0 var(--ired-yellow)!important; font-weight: 650!important; }
.ired-ui .lims-sidebar-panel .menu-open > a { color: white!important; }
.ired-ui .lims-sidebar-panel a > i:first-child { color: #BBD0E9!important; width: 19px; text-align: center; flex-shrink: 0; }
.ired-ui .lims-sidebar-panel .pull-right-container { margin-left: auto; }
.ired-ui .lims-sidebar-panel .menu-open > a > .pull-right-container i { transform: rotate(-90deg); }
.ired-ui .lims-sidebar-panel :focus-visible { outline-color: var(--ired-yellow)!important; }
.ired-ui .bf-menu-alert { background: #FECB00!important; color: #002664!important; font-size: .68rem; box-shadow: none; min-width: 22px; }
.ired-ui .bf-menu-alert i { color: #002664!important; }
.ired-sidebar-empty { font-size: .88rem; padding: 16px; color: #DCE6F4; }
.ired-sidebar-footer { border-top: 1px solid #FFFFFF1F; padding: 18px 22px; display: flex; align-items: center; gap: 12px; color: #DCE6F4; font-size: .8rem; }
.ired-sidebar-footer small { font-size: .7rem; color: #BBD0E9; }
.ired-ui .ired-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--ired-border); margin-top: 32px; padding: 20px 0; font-size: .76rem; color: var(--ired-muted); }
.ired-ui .lims-sidebar-backdrop { display: none; }
.ired-sidebar-collapsed { --ired-sidebar: 76px; }
.ired-sidebar-collapsed .lims-sidebar-header { padding: 20px 14px; }
.ired-sidebar-collapsed .lims-sidebar-header > div, .ired-sidebar-collapsed .ired-sidebar-footer span,
.ired-sidebar-collapsed .ired-navigation a > span, .ired-sidebar-collapsed .ired-navigation .treeview-menu { display: none!important; }
.ired-sidebar-collapsed .ired-sidebar-collapse i { transform: rotate(180deg); }
.ired-sidebar-collapsed .ired-sidebar-footer { padding-inline: 26px; }
.ired-sidebar-collapsed .ired-navigation a { justify-content: center; padding-inline: 8px!important; }
/* Cards, page headings and the existing dashboard/workflow components. */
.ired-ui :is(.card,.analysis-card,.panel-card,.report-panel,.lims-panel-card,.lims-workspace-card,.card-ahis,.permission-card) { background: white; border: 1px solid var(--ired-border)!important; border-radius: var(--ired-radius)!important; box-shadow: var(--ired-shadow)!important; }
.ired-ui :is(.card-header,.lims-workspace-card-header) { border-bottom: 1px solid var(--ired-border); background: white!important; padding: 18px 22px; }
.ired-ui .card-body { padding: 22px; }
.ired-ui :is(.analysis-page-header,.lims-app-header) { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin-bottom: 24px; padding: 0; gap: 18px; }
.ired-ui :is(.analysis-overline,.ired-eyebrow) { color: var(--ired-science); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 700; }
.ired-ui :is(.lims-science-hero,.report-hero,.lims-dispatch-hero) { background: var(--ired-blue)!important; border: 0!important; border-radius: 14px!important; color: white!important; padding: 28px!important; box-shadow: none; position: relative; overflow: hidden; }
.ired-ui :is(.lims-science-hero,.report-hero,.lims-dispatch-hero)::after { content: ""; position: absolute; left: 28px; bottom: 0; width: 72px; height: 3px; background: var(--ired-yellow); }
.ired-ui :is(.lims-science-hero,.report-hero,.lims-dispatch-hero) :is(h1,h2,h3) { color: white!important; }
.ired-ui :is(.lims-science-hero,.report-hero,.lims-dispatch-hero) :is(.text-white-50,p,.small) { color: #D4E2F4!important; }
.ired-ui .lims-hero-badge { background: #FFFFFF18; color: white; border: 1px solid #FFFFFF38; }
.ired-ui .lims-filter-bar { padding: 0; background: transparent; border: 0; box-shadow: none; }
.ired-ui :is(.lims-kpi-card,.metric-card,.report-kpi,.lims-dispatch-metric) { border: 1px solid var(--ired-border)!important; border-top: 3px solid var(--ired-science)!important; border-radius: var(--ired-radius); background: white!important; color: var(--ired-text)!important; padding: 22px!important; box-shadow: var(--ired-shadow)!important; }
.ired-ui :is(.lims-kpi-value,.report-kpi-value) { color: var(--ired-blue)!important; font-size: clamp(1.8rem,2.6vw,2.5rem); font-weight: 750; font-variant-numeric: tabular-nums; line-height: 1.2; }
.ired-ui .lims-kpi-label { color: var(--ired-muted); font-size: .8rem; font-weight: 550; letter-spacing: .02em; }
.ired-ui .lims-kpi-help { font-size: .78rem; color: var(--ired-muted); }
.ired-ui .lims-workspace-grid { gap: 24px; margin-bottom: 24px; }
.ired-ui .lims-workspace-body { padding: 20px 22px; }
.ired-ui .lims-task-item { background: #FAFCFE; border: 1px solid var(--ired-border); border-radius: 8px; padding: 16px; }
.ired-ui .lims-chip { background: #F3F7FC; border: 1px solid #DCE6F4; border-radius: 8px; padding: 12px; min-height: 44px; }
.ired-ui :is(.lims-empty-state,.analysis-empty-state,.empty-state) { background: #F8FAFD; border: 1px dashed #BAC8DC; border-radius: 10px; padding: 28px 20px; color: #475467; font-size: .9rem; text-align: center; }
.ired-ui .ired-empty-icon { display: block; color: var(--ired-science); font-size: 24px; margin-bottom: 10px; }
/* Controls keep their existing names, validation and submission behavior. */
.ired-ui .btn { min-height: var(--ired-control); border-radius: 7px; padding: 10px 16px; font-size: .86rem; line-height: 1.4; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: normal; }
.ired-ui .btn-sm { min-height: 40px; padding: 8px 12px; font-size: .8rem; }
.ired-ui :is(.btn-primary,.btn-ahis-primary) { background: var(--ired-blue)!important; border-color: var(--ired-blue)!important; color: white!important; box-shadow: none; }
.ired-ui :is(.btn-primary,.btn-ahis-primary):hover { background: var(--ired-science)!important; border-color: var(--ired-science)!important; }
.ired-ui :is(.btn-success,.btn-ahis-success) { background: var(--ired-success)!important; border-color: var(--ired-success)!important; color: white!important; }
.ired-ui :is(.btn-danger,.btn-ahis-danger) { background: var(--ired-error)!important; border-color: var(--ired-error)!important; color: white!important; }
.ired-ui :is(.btn-warning,.btn-ahis-warning) { background: #FECB00!important; border-color: #FECB00!important; color: #17243A!important; }
.ired-ui :is(.btn-outline-primary,.btn-ahis-outline) { background: white!important; color: var(--ired-blue)!important; border-color: #B6C7DD!important; }
.ired-ui :is(.btn-outline-success) { background: white!important; border-color: var(--ired-success)!important; color: var(--ired-success)!important; }
.ired-ui .btn-light { background: white; color: var(--ired-blue); border-color: var(--ired-border); }
.ired-ui .btn-outline-light { color: white; border-color: #FFFFFF88; background: transparent; }
.ired-ui :is(.btn-outline-secondary,.btn-outline-dark,.btn-secondary) { border-color: #B6C0CF; color: #344054; background: white; }
.ired-ui :is(.btn-outline-warning,.text-warning) { color: var(--ired-warning)!important; }
.ired-ui :is(.text-success,.badge.text-success) { color: var(--ired-success)!important; }
.ired-ui .text-danger { color: var(--ired-error)!important; }
.ired-ui :is(.form-control,.form-select,textarea,select,input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])) { min-height: var(--ired-control); max-width: 100%; border: 1px solid #A7B3C4; background-color: white; border-radius: 7px; color: var(--ired-text); font-size: .94rem; padding: 10px 12px; box-shadow: none; }
.ired-ui :is(input,select,textarea):focus { border-color: var(--ired-science); }
.ired-ui :is(input,select,textarea):disabled { background: #F2F4F7; color: #475467; }
.ired-ui :is(input,select,textarea)[readonly] { background: #F8FAFC; }
.ired-ui :is(label,.form-label) { color: #344054; font-size: .86rem; font-weight: 600; margin-bottom: 6px; }
.ired-ui .form-check-label { font-weight: 450; }
.ired-ui .form-check-input { border-color: #8495AC; width: 19px; height: 19px; }
.ired-ui .form-check-input:checked { background-color: var(--ired-blue); border-color: var(--ired-blue); }
.ired-ui .form-text { color: var(--ired-muted); font-size: .8rem; }
.ired-ui :is(.errorlist,.invalid-feedback,.lims-login-error) { color: var(--ired-error); font-size: .85rem; }
.ired-ui .errorlist { padding-left: 20px; }
.ired-ui [aria-invalid="true"], .ired-ui .is-invalid { border-color: var(--ired-error)!important; }
.ired-ui .ired-required { font-size: .72rem; font-weight: 450; color: var(--ired-muted); margin-left: 6px; }
.ired-ui :is(.analysis-filter-grid,.lims-filter-panel,.form-ahis,.lims-request-form) { font-family: var(--ired-font); }
.ired-ui :is(.alert,.lims-login-alert) { border-radius: 8px; border: 1px solid; border-left-width: 4px; padding: 16px 20px; font-size: .9rem; }
.ired-ui :is(.alert-danger,.alert-error) { background: #FDEEEB; color: #8D1D15; border-color: #EDB9B2; }
.ired-ui .alert-success { background: #EAF6EF; color: #105534; border-color: #AAD2BC; }
.ired-ui .alert-warning { background: #FFF6DB; color: #745000; border-color: #DFC477; }
.ired-ui .alert-info { background: #EAF2FA; color: #104B77; border-color: #B4D0E6; }
.ired-ui :is(.badge,.lims-status) { padding: 6px 9px; border-radius: 5px; font-size: .73rem; font-weight: 600; line-height: 1.3; white-space: normal; }
.ired-ui :is(.bg-success,.badge-success,.lims-status.success) { background: #EAF6EF!important; color: #105534!important; border: 1px solid #BADBC9; }
.ired-ui :is(.bg-warning,.badge-warning,.lims-status.warning) { background: #FFF6DB!important; color: #745000!important; border: 1px solid #DFC477; }
.ired-ui :is(.bg-danger,.badge-danger,.lims-status.danger) { background: #FDEEEB!important; color: #8D1D15!important; border: 1px solid #EDB9B2; }
.ired-ui :is(.bg-info,.badge-info,.lims-status.info) { background: #EAF2FA!important; color: #104B77!important; border: 1px solid #B4D0E6; }
/* Tables retain every business column; overflow is explicit and keyboard accessible. */
.ired-ui .table-responsive { border: 1px solid var(--ired-border); border-radius: 9px; background: white; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.ired-ui .table { color: var(--ired-text); font-size: .86rem; margin-bottom: 0; --bs-table-bg: transparent; --bs-table-striped-bg: #F8FAFD; --bs-table-hover-bg: #F0F5FB; }
.ired-ui .table :is(th,td) { padding: 14px 16px!important; border-color: var(--ired-border)!important; line-height: 1.45; vertical-align: middle; }
.ired-ui .table thead th { background: #F2F5FA!important; color: #344054!important; font-size: .74rem!important; font-weight: 650; text-transform: none; letter-spacing: .025em; border-bottom: 1px solid #CBD5E3!important; white-space: nowrap; }
.ired-ui .table .text-end, .ired-ui .table td[data-ired-number] { font-variant-numeric: tabular-nums; }
.ired-ui .table .btn { min-height: 40px; }
.ired-ui .ired-table-hint { font-size: .75rem; color: #475467; margin: 8px 0; display: flex; align-items: center; gap: 6px; }
.ired-ui .ired-table-hint[hidden] { display: none; }
.ired-ui .page-link { min-width: 44px; min-height: 44px; display: grid; place-items: center; color: var(--ired-blue); border-color: var(--ired-border); }
.ired-ui .page-item.active .page-link { background: var(--ired-blue); border-color: var(--ired-blue); color: white; }
.ired-ui .modal-content { border: 1px solid var(--ired-border); border-radius: 12px; }
.ired-ui .modal-header, .ired-ui .modal-footer { padding: 18px 22px; border-color: var(--ired-border); }
.ired-ui .modal-body { padding: 22px; }
.ired-ui .progress { height: 10px; background: #EAF0F7; border-radius: 6px; }
.ired-ui .progress-bar { background: var(--ired-science); }
.ired-ui .ired-territory-note { border-left: 3px solid var(--ired-yellow); background: #FFF9E8; padding: 14px 18px; border-radius: 8px; color: #654900; font-size: .87rem; margin-bottom: 24px; }
/* Authentication: text-only institutional identity; decorative science, no official seal. */
.ired-ui.lims-auth-body .lims-topbar, .ired-ui.lims-auth-body .ired-footer { display: none; }
.ired-ui.lims-auth-body .ired-main { padding: 0; }
.ired-login { min-height: 100dvh; display: grid; grid-template-columns: 1.04fr 1fr; background: white; }
.ired-login-institution { background: var(--ired-blue); color: white; padding: clamp(36px,5vw,78px); display: flex; flex-direction: column; position: relative; overflow: hidden; }
.ired-login-institution::after { content: ""; height: 5px; position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(90deg,var(--ired-yellow) 0 74%,var(--ired-red) 74%); }
.ired-login-country { display: flex; align-items: center; gap: 12px; font-size: .86rem; color: #D4E2F4; }
.ired-flag { width: 27px; height: 19px; display: inline-flex; border: 1px solid #FFFFFF50; flex-shrink: 0; overflow: hidden; border-radius: 2px; }
.ired-flag i { flex: 1; background: var(--ired-blue); }
.ired-flag i:nth-child(2) { background: var(--ired-yellow); }
.ired-flag i:nth-child(3) { background: var(--ired-red); }
.ired-login-intro { margin-top: clamp(54px,7vh,94px); position: relative; z-index: 1; }
.ired-login-intro .ired-eyebrow { color: #FECB00; margin-bottom: 20px; }
.ired-ui .ired-login-intro h2 { color: white; font-size: clamp(2rem,3.1vw,3rem); font-weight: 650; line-height: 1.2; letter-spacing: -.045em; margin-bottom: 22px; }
.ired-login-intro > p:last-child { color: #CBDCF1; font-size: .94rem; max-width: 420px; line-height: 1.8; margin-bottom: 0; }
.ired-science-visual { width: 100%; max-width: 560px; height: auto; margin: 24px 0; flex-shrink: 0; }
.ired-login-features { display: flex; gap: 24px; flex-wrap: wrap; color: #D4E2F4; font-size: .83rem; }
.ired-login-features span { display: inline-flex; align-items: center; gap: 8px; }
.ired-login-features i { color: #FECB00; }
.ired-login-institution-footer { margin: auto 0 0; padding-top: 35px; color: white; font-size: .86rem; font-weight: 650; }
.ired-login-institution-footer span { display: block; color: #BBD0E9; font-size: .76rem; font-weight: 400; margin-top: 4px; }
.ired-login-access { display: flex; flex-direction: column; justify-content: center; padding: 64px clamp(28px,5.5vw,88px) 24px; min-width: 0; }
.ired-login-form-wrap { max-width: 410px; width: 100%; margin: auto; }
.ired-ui .ired-login-brand { display: flex; align-items: center; gap: 13px; color: var(--ired-blue); text-decoration: none; margin-bottom: 52px; }
.ired-login-brand > span:last-child { font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.ired-login-brand strong { font-weight: 450; }
.ired-login-brand small { display: block; font-size: .76rem; font-weight: 450; color: var(--ired-muted); margin-top: 7px; }
.ired-login-heading { margin-bottom: 28px; }
.ired-login-heading .ired-eyebrow { font-size: .68rem; letter-spacing: .1em; margin-bottom: 12px; }
.ired-ui .ired-login-heading h1 { font-size: 2.05rem; margin: 0 0 10px; }
.ired-login-heading > p:last-child { color: var(--ired-muted); font-size: .9rem; }
.ired-ui .lims-login-field { margin-bottom: 22px; }
.ired-ui .lims-login-field label { font-size: .85rem; font-weight: 600; margin-bottom: 8px; }
.ired-ui .lims-login-input { position: relative; }
.ired-ui .lims-login-input > i { left: 16px; top: 50%; transform: translateY(-50%); color: #64748B; }
.ired-ui .lims-login-input input { width: 100%; min-height: 52px; padding: 12px 50px 12px 44px!important; border-color: #A7B3C4; background: #fff; font-size: 1rem; }
.ired-ui .lims-password-toggle { position: absolute; right: 5px; top: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: #475467; border-radius: 5px; }
.ired-ui .lims-login-submit { width: 100%; min-height: 52px; justify-content: space-between; margin-top: 4px; font-size: .92rem; padding-inline: 20px; }
.ired-login-security { display: flex; align-items: flex-start; gap: 12px; padding: 22px 0 0; margin-top: 26px; border-top: 1px solid var(--ired-border); color: var(--ired-muted); }
.ired-login-security > i { margin-top: 4px; color: var(--ired-science); }
.ired-login-security p { margin: 0; font-size: .78rem; line-height: 1.7; }
.ired-login-security strong { display: block; color: #344054; font-weight: 600; margin-bottom: 4px; }
.ired-login-security span { display: block; }
.ired-login-access-footer { display: flex; justify-content: space-between; gap: 12px; font-size: .68rem; color: var(--ired-muted); padding-top: 40px; margin: 0 auto; max-width: 410px; width: 100%; }
.ired-login-mobile-country { display: none; }
@media (min-width: 1600px) { .ired-ui .ired-main { padding-inline: 44px; } }
@media (max-width: 1199.98px) {
  :root { --ired-sidebar: 258px; }
  .ired-ui .ired-main { padding: 24px 22px 0; }
  .ired-sidebar-collapsed { --ired-sidebar: 76px; }
  .ired-login-institution { padding: 42px 34px; }
  .ired-login-access { padding-inline: 36px; }
  .ired-login-features { gap: 16px; }
}
@media (max-width: 991.98px) {
  .ired-ui .lims-topbar { min-height: 72px; padding: 12px 18px; }
  .ired-ui .ired-main { margin-left: 0; padding: 22px 20px 0; }
  .ired-ui .lims-sidebar-column { top: 0; z-index: 1060; width: min(310px,85vw); transform: translateX(-101%); visibility: hidden; transition: transform .18s ease,visibility .18s; }
  .ired-ui.lims-sidebar-open .lims-sidebar-column { transform: translateX(0); visibility: visible; }
  .ired-ui.lims-sidebar-open .lims-sidebar-backdrop { display: block; position: fixed; inset: 0; background: #00194080; z-index: 1050; }
  .ired-ui.lims-sidebar-open { overflow: hidden; }
  .ired-ui .lims-sidebar-toggle { min-width: 44px; padding: 8px; color: var(--ired-blue); border: 1px solid var(--ired-border); }
  .ired-ui .lims-workspace-grid { grid-template-columns: 1fr; }
  .ired-ui .lims-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .ired-ui .lims-science-hero { padding: 24px!important; }
  .ired-login { grid-template-columns: .92fr 1fr; }
  .ired-login-institution { padding: 35px 24px; }
  .ired-login-intro { margin-top: 64px; }
  .ired-ui .ired-login-intro h2 { font-size: 2rem; }
  .ired-login-access { padding-inline: 28px; }
}
@media (max-width: 767.98px) {
  .ired-ui .lims-topbar { padding-inline: 12px; }
  .ired-ui .lims-topbar .container-fluid > div:first-child { gap: 10px!important; }
  .ired-ui .lims-brand { gap: 8px; }
  .ired-ui .lims-brand-subtitle { display: none; }
  .ired-ui .lims-brand-name { font-size: 1rem; }
  .ired-ui .lims-brand .ired-wordmark { width: 30px; height: 36px; font-size: 20px; }
  .ired-profile-name { display: none; }
  .ired-ui .ired-profile-toggle { padding: 4px 7px; gap: 7px; }
  .ired-ui .ired-main { padding: 18px 14px 0; }
  .ired-ui :is(.analysis-page-header,.lims-app-header) { flex-direction: column; align-items: flex-start; }
  .ired-ui :is(.lims-app-actions,.analysis-filter-actions) { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
  .ired-ui .analysis-filter-grid { grid-template-columns: 1fr!important; }
  .ired-ui :is(.card-body,.lims-workspace-body) { padding: 18px; }
  .ired-ui .lims-task-item { align-items: flex-start; flex-wrap: wrap; }
  .ired-ui .table :is(th,td) { padding: 12px!important; }
  .ired-ui .ired-footer { flex-direction: column; font-size: .7rem; }
  .ired-login { display: flex; min-height: 100dvh; }
  .ired-login-institution { display: none; }
  .ired-login-access { width: 100%; padding: 28px 24px 22px; border-top: 4px solid var(--ired-blue); }
  .ired-login-mobile-country { display: flex; align-items: center; gap: 10px; color: var(--ired-muted); font-size: .76rem; max-width: 410px; width: 100%; margin: 0 auto 35px; }
  .ired-login-form-wrap { margin: auto; }
  .ired-ui .ired-login-brand { margin-bottom: 36px; }
  .ired-login-heading { margin-bottom: 24px; }
  .ired-login-access-footer { padding-top: 32px; flex-wrap: wrap; }
}
@media (max-width: 390px) {
  .ired-login-access { padding-inline: 20px; }
  .ired-login-mobile-country { margin-bottom: 30px; }
  .ired-ui .lims-brand-name { font-size: .92rem; }
  .ired-ui .lims-brand .ired-wordmark { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ired-ui *, .ired-ui *::before, .ired-ui *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; scroll-behavior: auto!important; }
}
@media print {
  .ired-ui .lims-topbar, .ired-ui .lims-sidebar-column, .ired-ui .ired-footer, .ired-ui .ired-table-hint { display: none!important; }
  .ired-ui .ired-main { margin: 0; padding: 0; width: 100%; }
  .ired-ui .table-responsive { overflow: visible; border: 0; }
  .ired-ui :is(.card,.analysis-card,.lims-panel-card) { box-shadow: none!important; break-inside: avoid; }
  .ired-ui .table thead { display: table-header-group; }
}
.ired-ui .ired-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:22px; color:var(--ired-muted); font-size:.76rem; }
.ired-ui .ired-breadcrumb a { text-decoration:none; }
.ired-ui .lims-worklist-shell { background:transparent; padding:0; border-radius:0; }
.ired-ui .lims-bi-bar { background:#EAF0F7; height:10px; border-radius:5px; }
.ired-ui .lims-bi-bar > span { background:var(--ired-science); border-radius:5px; }
.ired-ui .lims-bi-map { background:#F3F7FC; border:1px solid var(--ired-border); border-radius:10px; }
.ired-ui .ahis-flag-bar { height:3px; background:linear-gradient(90deg,#002664 0 65%,#FECB00 65% 87%,#C60C30 87%); border-radius:2px; }
.ired-ui .ahis-auth-page { min-height:60vh; padding:24px 0; background:transparent; }
.ired-ui .ahis-auth-card { max-width:520px; margin:auto; width:100%; background:white; border:1px solid var(--ired-border); border-radius:var(--ired-radius); }
/* Keep shared card treatment out of the navigation surface. */
.ired-ui #lims-sidebar .lims-sidebar-panel { background:var(--ired-blue)!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
.ired-ui #lims-sidebar .lims-sidebar-header { background:transparent!important; }
.ired-ui #lims-sidebar .ired-navigation a { color:#DCE6F4!important; background:transparent!important; font-size:.84rem!important; font-weight:500!important; }
.ired-ui #lims-sidebar .ired-navigation a:hover, .ired-ui #lims-sidebar .ired-navigation a:focus-visible { background:#FFFFFF16!important; color:white!important; }
.ired-ui #lims-sidebar .ired-navigation a[aria-current="page"] { color:white!important; background:#FFFFFF22!important; }
.ired-ui #lims-sidebar .label-sa { white-space:normal!important; text-overflow:clip!important; overflow:visible!important; max-width:none!important; }
.ired-ui .lims-content-card::before, .ired-ui .lims-content-card::after { display:none!important; }
/* Interactive boundaries satisfy 3:1 against white; focus never relies on color alone. */
.ired-ui :is(.form-control,.form-select,textarea,select,input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])) { border-color:#8495AC!important; }
.ired-ui :is(input,select,textarea)[aria-invalid="true"] { border-color:var(--ired-error)!important; }
.ired-ui #lims-sidebar .label-sa { font-weight:inherit!important; }
.ired-ui .doc-shell { background:transparent; padding:0; border-radius:0; }
.ired-ui .doc-hero { background:var(--ired-blue)!important; color:white!important; border:0; border-radius:14px; box-shadow:none; }
.ired-ui .doc-hero :is(h1,h2,h3) { color:white!important; }
.ired-ui .doc-hero .text-white-50 { color:#D4E2F4!important; }
.ired-ui .lims-workspace-grid > *, .ired-ui .lims-hero-grid > *, .ired-ui .lims-workspace-card, .ired-ui .lims-panel-card { min-width:0; }
.ired-ui .lims-chip, .ired-ui .lims-task-meta, .ired-ui .lims-control-title { overflow-wrap:anywhere; }
.ired-ui .lims-workspace-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ired-ui :is(.ext-hero,.lne-hero,.send-hero,.return-hero,.api-hero) { background:var(--ired-blue)!important; color:white!important; border:0!important; border-radius:14px!important; }
.ired-ui :is(.ext-hero,.lne-hero,.send-hero,.return-hero,.api-hero) :is(h1,h2,h3) { color:white!important; }
.ired-ui :is(.ext-hero,.lne-hero,.send-hero,.return-hero,.api-hero) .text-white-50 { color:#D4E2F4!important; }
.ired-ui :is(.ext-shell,.lne-shell,.send-shell,.return-shell,.api-shell) { background:transparent; border-radius:0; padding:0; }
.ired-ui .btn-outline-danger { color:var(--ired-error)!important; border-color:var(--ired-error)!important; background:white; }
.ired-ui .btn-outline-danger:hover { color:white!important; background:var(--ired-error)!important; }
.ired-ui .lims-password-toggle { transform:none!important; }
.ired-ui .ired-login-brand > span:last-child { min-width:0; overflow-wrap:anywhere; }
.ired-ui .ired-login-heading h1 { overflow-wrap:anywhere; }
@media (max-width:767.98px) {
 .ired-ui .btn-sm { min-height:44px; }
 .ired-ui .btn-group { flex-wrap:wrap; gap:6px; }
 .ired-ui .btn-group > .btn { border-radius:7px!important; flex:1 1 auto; }
}
.ired-ui .lims-chip span { white-space:normal!important; min-width:0; overflow-wrap:anywhere; }
.ired-ui :is(.dossier-hero,.reception-hero,.track-hero) { background:var(--ired-blue)!important; color:white!important; border-radius:14px!important; }
.ired-ui :is(.dossier-hero,.reception-hero,.track-hero) :is(h1,h2,h3) { color:white!important; }
.ired-ui :is(.dossier-hero,.reception-hero,.track-hero) .text-white-50 { color:#D4E2F4!important; }
.ired-ui :is(.dossier-shell,.track-shell,.doc-detail-shell) { background:transparent; padding:0; border-radius:0; }
.ired-ui .lims-workspace-grid { align-items:start; }
.ired-ui .premium-shell { background:transparent; padding:0; border-radius:0; }
.ired-ui .card.premium-head { background:var(--ired-blue)!important; color:white!important; border:0!important; }
.ired-ui .premium-head :is(h1,h2,h3) { color:white!important; }
.ired-ui .premium-head .text-white-50 { color:#D4E2F4!important; }
.ired-ui .premium-metric { min-width:0; overflow-wrap:anywhere; }
.ired-ui #lims-sidebar a > i:first-child { background:transparent!important; color:#BBD0E9!important; }
.ired-ui #lims-sidebar .pull-right-container i { background:transparent!important; color:#BBD0E9!important; }
.ired-ui .ired-worklist-group > summary { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:64px; padding:18px 22px; cursor:pointer; list-style:none; }
.ired-ui .ired-worklist-group > summary::before { content:'›'; color:var(--ired-science); font-size:1.3rem; font-weight:600; }
.ired-ui .ired-worklist-group[open] > summary::before { transform:rotate(90deg); }
.ired-ui .ired-worklist-title { font-size:.94rem; font-weight:650; flex:1; }
.ired-ui .ired-worklist-count { font-size:.75rem; color:var(--ired-muted); }
.ired-ui .ired-worklist-content { padding:0 22px 22px; }
@media(max-width:767.98px) { .ired-ui .ired-worklist-group > summary { padding:16px; } .ired-ui .ired-worklist-content { padding:0 16px 16px; } }
