/* Shared Allure Dispatch identity for every application route. Loaded after legacy themes. */
/* Root tokens also reach menus and dialogs rendered through document.body portals. */
html:root {
  --erp-bg: #f3f5f9;
  --erp-surface: #ffffff;
  --erp-surface-soft: #f4f6fb;
  --erp-surface-hover: #edf1f8;
  --erp-soft: #edf1f8;
  --erp-border: #dfe5ef;
  --erp-border-strong: #b8c4d9;
  --erp-ink: #021a58;
  --erp-muted: #566580;
  --erp-subtle: #61708a;
  --erp-accent: #b43c06;
  --erp-accent-hover: #923004;
  --erp-accent-rgb: 255, 100, 26;
  --erp-data-orange: #ff641a;
  --erp-data-blue: #244984;
  --erp-data-purple: #7691b8;
  --erp-data-green: #287565;
  --erp-data-amber: #ba790a;
  --erp-data-red: #c44950;
  --erp-data-teal: #477c92;
  --erp-data-neutral: #78849c;
  --erp-success: #287565;
  --erp-danger: #b43543;
  --erp-warning: #9b5c00;
  --erp-info: #244984;
  --ui-primary: #021a58;
  --ui-on-primary: #fff;
  --erp-radius-sm: 8px;
  --erp-radius: 14px;
  --erp-radius-lg: 16px;
  --ui-radius-panel: 14px;
  --ui-radius-item: 8px;
  --ui-radius-surface: 16px;
  --ui-radius-drawer: 16px;
  --ui-radius-control: 8px;
  --ui-shadow-resting: none;
  --ui-shadow-floating: 0 14px 40px rgb(2 26 88 / .14);
  --ui-shadow-raised: 0 6px 18px rgb(2 26 88 / .08);
  --ui-control-track: #c7d1e3;
  --ui-control-track-hover: #b8c4d9;
  --ad-secondary: #566580;
  --ad-auth-bg: var(--erp-bg);
  --ad-auth-surface: var(--erp-surface);
  --ad-auth-ink: var(--erp-ink);
  --ad-auth-muted: var(--erp-muted);
  --ad-auth-border: var(--erp-border-strong);
  --ad-auth-accent: #ff641a;
  accent-color: var(--ui-primary);
  scrollbar-color: var(--erp-border-strong) var(--erp-bg);
}
html.app-skin-dark:root {
  --erp-bg: #0b152b;
  --erp-surface: #12213e;
  --erp-surface-soft: #1a2c4b;
  --erp-surface-hover: #203757;
  --erp-soft: #203353;
  --erp-border: #2d4262;
  --erp-border-strong: #526a90;
  --erp-ink: #edf3ff;
  --erp-muted: #b0bfd8;
  --erp-subtle: #a6b8d3;
  --erp-accent: #ff9b67;
  --erp-accent-hover: #ffb38c;
  --erp-data-blue: #87a9e2;
  --erp-data-purple: #b6c9ec;
  --erp-data-green: #6fc2a9;
  --erp-data-amber: #e7ad54;
  --erp-data-red: #f1878e;
  --erp-data-teal: #7db9c9;
  --erp-success: #8ed6be;
  --erp-danger: #ffa1a9;
  --erp-warning: #e7ad54;
  --erp-info: #87a9e2;
  --ui-primary: #ff641a;
  --ui-on-primary: #021a58;
  --ui-control-track: #3b5276;
  --ui-control-track-hover: #526a90;
}
::selection { background: #ffdac7; color: #021a58; }

.nxl-navigation .allure-logo-inverse { display: none; }
.nxl-navigation .logo-lg { width: 188px; height: auto; max-width: 100%; }
.nxl-navigation .m-header :is(.logo-lg, .logo-sm) { filter: none !important; }
html.app-navigation-dark .nxl-navigation .allure-logo-light { display: none; }
html.app-navigation-dark .nxl-navigation .allure-logo-inverse { display: block; }
html:has(.nxl-navigation) .nxl-navigation .allure-logo-light { display: none; }
html:has(.nxl-navigation) .nxl-navigation .allure-logo-inverse { display: block; }
html.minimenu .nxl-navigation .logo-lg { display: none; }
html.minimenu .nxl-navigation:hover .allure-logo-light { display: block; }
html.minimenu.app-navigation-dark .nxl-navigation:hover .allure-logo-light,
html.minimenu:has(.nxl-navigation) .nxl-navigation:hover .allure-logo-light { display: none; }
html.minimenu:has(.nxl-navigation) .nxl-navigation:not(:hover) .allure-logo-inverse { display: none; }
html.minimenu .nxl-navigation:not(:hover) .nxl-link .badge { display: none !important; }

html:has(.nxl-navigation) .nxl-navigation,
html:has(.nxl-navigation) .nxl-navigation .navbar-wrapper,
html:has(.nxl-navigation) .nxl-navigation .navbar-content,
html:has(.nxl-navigation) .nxl-navigation .m-header {
  background: #021a58 !important;
  border-color: #233b70 !important;
}
html:has(.nxl-navigation) .nxl-navigation .m-header { padding: 22px 26px; }
html:has(.nxl-navigation) .nxl-navigation .nxl-caption label { color: #a8b8da !important; letter-spacing: .08em; font-size: 10px; }
html:has(.nxl-navigation) .nxl-navigation .nxl-link { color: #d3ddf1 !important; border-radius: 8px; }
html:has(.nxl-navigation) .nxl-navigation .nxl-link :is(.nxl-micon, .nxl-mtext, .nxl-arrow, i) { color: inherit !important; }
html:has(.nxl-navigation) .nxl-navigation .nxl-link:hover { color: #fff !important; background: #17336a !important; }
html:has(.nxl-navigation) .nxl-navigation .nxl-item.active > .nxl-link,
html:has(.nxl-navigation) .nxl-navigation .nxl-link.active {
  background: #ff641a !important;
  color: #021a58 !important;
  font-weight: 800;
  box-shadow: none !important;
}
html:has(.nxl-navigation) .nxl-navigation .nxl-submenu { background: transparent !important; }
html:has(.nxl-navigation) .nxl-navigation .nxl-item.nxl-hasmenu.active > .nxl-link {
  background: #17336a !important;
  color: #fff !important;
}
html:has(.nxl-navigation) .nxl-navigation .navbar-content .nxl-submenu .nxl-link {
  margin-left: 20px !important;
  margin-right: 15px !important;
  padding-left: 30px;
}
html:has(.nxl-navigation) .nxl-navigation .nxl-link:focus-visible { outline: 2px solid #ffbc96; outline-offset: 2px; }
html:has(.nxl-navigation) .nxl-header { border-bottom-color: #e0e5ef !important; box-shadow: none !important; }
html:has(.nxl-navigation) .nxl-navigation .logo-text { color: #fff !important; }
html.app-skin-dark:has(.nxl-navigation) .nxl-header { background: #101f3b !important; }
html:is(.app-header-dark, .app-skin-dark) .nxl-header .erp-topbar-clock .text-dark { color: #edf3ff !important; }
html:is(.app-header-dark, .app-skin-dark) .nxl-header .erp-topbar-clock .text-muted { color: #b0bfd8 !important; }
@media (min-width: 992px) {
  html:has(.nxl-navigation) .nxl-container { margin-left: 280px; }
  html:has(.nxl-navigation) .nxl-header { left: 280px; }
  html.minimenu:has(.nxl-navigation) .nxl-container { margin-left: 100px; }
  html.minimenu:has(.nxl-navigation) .nxl-header { left: 100px; }
}

/* Consistent page frames, whether a route uses PageHeader or legacy Bootstrap markup. */
html:is(.app-skin-light, .app-skin-dark) .erp-app {
  color: var(--erp-ink);
  background: var(--erp-bg);
  min-width: 0;
}
.erp-app > :is(.main-content, .container-fluid) { padding: 24px 30px 48px !important; }
.erp-app .page-header:not(.erp-dashboard-header) {
  position: static;
  min-height: 100px;
  padding: 24px 30px 18px;
  background: var(--erp-bg) !important;
  border: 0;
  backdrop-filter: none;
}
.erp-app .page-header:not(.erp-dashboard-header) + .main-content { padding-top: 0 !important; }
.erp-app :is(.page-header h5, .page-header h1.h5, .ui-page-header-title, .schedule-title),
.erp-app > .container-fluid > .d-flex:first-child :is(h1, h4),
.erp-app > .container-fluid > div:first-child > h1,
.erp-app > .container-fluid > h1:first-child {
  color: var(--erp-ink);
  font-size: clamp(1.5rem, 2vw, 1.875rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.035em;
}
.erp-app .ui-page-header-description,
.erp-app > .container-fluid > div:first-child > h1 + p,
.erp-app > .container-fluid > .d-flex:first-child p { font-size: .85rem !important; line-height: 1.6; }
.erp-app .breadcrumb { font-size: .75rem; }
.erp-app :is(.card, .ui-metric) { box-shadow: none !important; }
.erp-app :is(.card-header, .card-header h5, .card-header h6, .card-title) { font-weight: 700; }
.erp-app .card-header { padding: 16px 20px; }
.erp-app .ui-metric-value { font-weight: 800; }
.erp-app :is(.ui-metric-label, .form-label) { font-weight: 600; }
.erp-app :is(.table, .ui-metric-value, .schedule-range-title) { font-variant-numeric: tabular-nums; }
html:is(.app-skin-light, .app-skin-dark) .erp-app .table thead th {
  background: var(--erp-surface-soft) !important;
  color: var(--erp-muted) !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .025em;
  border-bottom: 1px solid var(--erp-border);
}
.erp-app .table tbody td { padding-top: 14px; padding-bottom: 14px; }
html:is(.app-skin-light, .app-skin-dark) .erp-app .table-hover tbody tr:hover > * {
  background-color: var(--erp-surface-hover) !important;
}
html:is(.app-skin-light, .app-skin-dark) .erp-app .table tbody tr.table-active > * {
  background-color: var(--erp-surface-hover) !important;
  box-shadow: none;
}
:is(.erp-app, .nxl-header, .t-modal, .t-dropdown, .side-drawer-panel, .auth-page) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--erp-accent);
  outline-offset: 3px;
}
:is(.erp-app, .t-modal, .side-drawer-panel, .auth-page) :is(.form-control, .form-select)::placeholder {
  color: var(--erp-subtle) !important; opacity: 1;
}
.erp-app .ui-search > .form-control { padding-left: 34px !important; }
:is(.erp-app, .t-modal, .side-drawer-panel, .auth-page) .form-text:not(.text-danger):not(.text-success):not(.text-warning) {
  color: var(--erp-muted) !important;
}
html.app-skin-dark :is(.erp-app, .t-modal, .side-drawer-panel, .auth-page) :is(.form-select:not([multiple]):not([size]), .form-select[size='1']) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23b0bfd8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") !important;
}
:is(.erp-app, .t-modal, .side-drawer-panel) .btn-outline-success {
  color: var(--erp-success) !important;
  background: transparent !important;
  border-color: var(--erp-success) !important;
}
:is(.erp-app, .t-modal, .side-drawer-panel) .btn-outline-success:is(:hover, :focus-visible, :active) {
  color: var(--erp-surface) !important;
  background: var(--erp-success) !important;
  border-color: var(--erp-success) !important;
}
/* Chat is also mounted outside .erp-app; it must carry the same surface roles. */
.erp-chat-panel.card,
html.app-skin-dark .erp-chat-panel.card {
  color: var(--erp-ink);
  background: var(--erp-surface) !important;
  border-color: var(--erp-border) !important;
  border-radius: var(--erp-radius);
  box-shadow: var(--ui-shadow-floating) !important;
}
:is(.ui-chat-list, .ui-chat-thread) .text-muted { color: var(--erp-muted) !important; }
.ui-chat-list-header h5 { color: var(--erp-ink) !important; }
.erp-chat-panel .form-control { font-size: .8rem !important; min-height: 40px; }
.erp-chat-panel .form-control::placeholder { color: var(--erp-muted) !important; opacity: 1; }
:is(.ui-chat-list, .ui-chat-thread) .btn-outline-primary {
  color: var(--erp-ink) !important;
  border-color: var(--erp-border-strong) !important;
  background: transparent !important;
}
:is(.ui-chat-list, .ui-chat-thread) .btn-outline-primary:hover {
  background: var(--erp-surface-soft) !important;
}
.erp-chat-panel-header.border-bottom { border-color: var(--erp-border) !important; }
.erp-chat-launcher.btn-primary {
  color: var(--ui-on-primary) !important;
  background: var(--ui-primary) !important;
  border-color: var(--ui-primary) !important;
  box-shadow: var(--ui-shadow-raised) !important;
}
.erp-app .schedule-toolbar { padding: 20px; }
.erp-app .schedule-attention-item.is-active { background: var(--ui-primary); color: var(--ui-on-primary); border-color: var(--ui-primary); }
.erp-app .schedule-attention-item.is-active i { color: inherit !important; }
.erp-app .ui-chat-workspace { border-radius: 14px; }
.auth-card { border: 1px solid var(--erp-border); border-radius: 16px; box-shadow: none; }
.auth-page { font-family: var(--erp-font-family); }

/* Legacy CSS moved these actions into a hidden drawer without a React toggle. Keep them in flow. */
@media (max-width: 1199.98px) {
  .nxl-container .nxl-content.erp-app .page-header:not(.erp-dashboard-header) .page-header-right .page-header-right-items {
    position: static;
    width: 100%;
    height: auto;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: 0;
  }
  .nxl-container .nxl-content.erp-app .page-header .page-header-right .page-header-right-items .page-header-right-items-wrapper {
    padding: 0;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
@media (max-width: 991.98px) {
  /* The legacy skin also sets left:-280px; use only the React transform to slide. */
  html:has(.nxl-navigation) .nxl-navigation { left: 0 !important; z-index: 1035 !important; }
  .erp-app > :is(.main-content, .container-fluid) { padding: 20px 20px 40px !important; }
  .erp-app .page-header:not(.erp-dashboard-header) { padding: 20px; min-height: auto; }
}
@media (max-width: 575.98px) {
  .erp-app > :is(.main-content, .container-fluid) { padding: 18px 14px 32px !important; }
  .erp-app .page-header:not(.erp-dashboard-header) { padding: 20px 14px 16px; }
  .erp-app > .container-fluid > .d-flex:first-child { flex-wrap: wrap; gap: 14px; }
  .erp-app .page-header .page-header-title { border: 0; padding-right: 0; }
  .erp-app .page-header-left { gap: 8px; }
  .erp-app .page-header .breadcrumb { margin-left: 0; }
  .erp-app .schedule-toolbar { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .nxl-container, .nxl-header, .nxl-navigation, .nxl-navigation .nxl-link { transition: none !important; }
}
