/* Application additions to AdminLTE 4 / Bootstrap 5. Vendor styles remain unmodified. */
:root { --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", sans-serif; }
body { font-size: .95rem; }
a { text-underline-offset: .2em; }
h1 { font-size: 1.8rem; font-weight: 650; margin-bottom: 1.25rem; }
h2 { font-size: 1.25rem; font-weight: 600; margin: 1.5rem 0 1rem; }
h3 { font-size: 1.05rem; font-weight: 600; }
:focus-visible { outline: 3px solid #c77b00; outline-offset: 3px; }
.skip-link { position: fixed; left: -10000px; }
.skip-link:focus { left: 1rem; top: .5rem; padding: .6rem 1rem; background: #fff; z-index: 1100; }
.app-sidebar { --lte-sidebar-width: 250px; }
.sidebar-wrapper { overflow-y: auto; }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin-right: .65rem; border-radius: .5rem; vertical-align: middle; flex-shrink: 0; }
.nav-icon { display: inline-flex; justify-content: center; align-items: center; font-style: normal; }
.sidebar-toggle { font-size: 1.3rem; }
.dashboard { min-width: 0; padding-bottom: 1.5rem; }
.panel { min-width: 0; padding: 1.5rem; overflow-wrap: anywhere; }
.panel > h2:first-child { margin-top: 0; }
.page-header { padding-block: 1.5rem; overflow-wrap: anywhere; }
.page-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; }
.page-heading h1 { min-width: 0; margin: 0; }
.page-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; margin: 0; list-style: none; font-size: .875rem; }
.page-links a { display: inline-block; padding-block: .25rem; }
 .login-panel form { max-width: 56rem; }
.admin-content label, .login-panel label { display: block; font-weight: 500; margin: .9rem 0 .35rem; }
.admin-content label .form-control, .admin-content label .form-select { margin-top: .35rem; }
.admin-content form > .btn, .login-panel form > .btn, fieldset + .btn { margin-top: 1rem; }
.admin-content form + form { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--bs-border-color); }
.admin-content form[method="get"] { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem 1rem; max-width: none; margin-bottom: 1.5rem; padding: 1rem; border-radius: .375rem; background: var(--bs-tertiary-bg); }
.admin-content form[method="get"] > label { flex: 1 1 13rem; margin: 0; }
.admin-content form[method="get"] > p { flex-basis: 100%; margin: .5rem 0; }
.admin-content form[method="get"] > .btn { margin-top: 0; }
.form-control, .form-select { max-width: 100%; }
.form-check-input { margin-right: .4rem; float: none; }
.form-check-input:checked[type="checkbox"] { background-image: url('/assets/icons/check.svg'); }
.form-select { --bs-form-select-bg-img: url('/assets/icons/chevron.svg'); }
textarea.form-control { min-height: 7rem; }
select[multiple] option { padding: .4rem .6rem; }
fieldset { min-width: 0; padding: 1rem; margin: 1rem 0; border: 1px solid var(--bs-border-color); border-radius: .375rem; }
legend { font-size: 1rem; font-weight: 600; }
[role="alert"] { color: #842029; background: #f8d7da; border: 1px solid #f1aeb5; padding: .8rem 1rem; border-radius: .375rem; }
dd { margin-bottom: 1rem; overflow-wrap: anywhere; }
dt { font-weight: 600; }
pre { max-width: 100%; overflow-x: auto; }
code, .wrapped-secret { overflow-wrap: anywhere; }
.wrapped-metadata { white-space: pre-wrap; overflow-wrap: anywhere; }
.button-link { display: inline-block; background: var(--bs-primary); color: #fff; padding: .45rem .8rem; border-radius: .375rem; text-decoration: none; }
.button-link:hover { background: #0b5ed7; color: #fff; }
.dashboard-nav { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.dashboard-nav a, nav[aria-label="Pagination"] a { display: inline-block; padding: .45rem .7rem; border: 1px solid var(--bs-border-color); border-radius: .375rem; background: var(--bs-body-bg); text-decoration: none; }
.dashboard-nav a[aria-current] { background: var(--bs-primary); color: white; border-color: var(--bs-primary); }
.admin-content > a { display: inline-block; margin: .5rem .5rem .5rem 0; }
.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.metric { margin-bottom: 0; padding: 1.25rem; border-top: 3px solid #444852; }
.metric h3 { font-size: .9rem; color: var(--bs-secondary-color); }
.metric-value { font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; margin: .4rem 0; }
.metric-value span { font-size: .95rem; font-weight: 400; }
.muted { color: var(--bs-secondary-color); font-size: .875rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; font-weight: 700; color: var(--bs-secondary-color); }
.dashboard-grid { columns: 2; column-gap: 1rem; margin: 1rem 0; }
.dashboard-grid > .card { break-inside: avoid; margin-bottom: 1rem; }
.badge.good { background: #d1e7dd; color: #0a3622; }
.badge.bad { background: #f8d7da; color: #58151c; }
.badge.neutral { background: #e2e3e5; color: #2b2f32; }
.health-summary { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: 0; list-style: none; }
.distribution { margin: 0; padding: 0; list-style: none; }
.distribution li { margin: .9rem 0; }
.distribution li > div { display: flex; justify-content: space-between; gap: 1rem; }
.distribution meter { display: block; width: 100%; height: .7rem; margin-top: .35rem; accent-color: var(--bs-primary); }
.table-scroll { max-width: 100%; overflow-x: auto; }
.table { width: 100%; font-size: .875rem; }
.table thead { --bs-table-bg: var(--bs-tertiary-bg); }
.table td, .table th { padding: .75rem; }
.table td { overflow-wrap: anywhere; min-width: 6rem; }
.table caption { caption-side: top; font-size: .8rem; }
.table td .btn { margin-top: 0; white-space: nowrap; }
.table td form { margin: 0; }
.table code { font-size: .8rem; }
.public-catalog { max-width: 1200px; }
.dashboard-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.catalog-grid .card { margin-bottom: 0; }
.catalog-grid h2 { margin-top: 0; }
.catalog-link { padding: 1rem 0; }
.catalog-label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; }
.catalog-link a { display: block; padding: .65rem; border-radius: .375rem; background: var(--bs-tertiary-bg); }
.login-panel { width: min(30rem, calc(100% - 2rem)); padding: 2rem; margin: 2rem auto; }
.login-panel h1 { font-size: 1.5rem; }
.login-panel form > .btn { width: 100%; }
@media (max-width: 1199px) { .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
    .metric-grid, .dashboard-grid, .catalog-grid { grid-template-columns: minmax(0, 1fr); }
    .panel { padding: 1rem; }
    .app-header .container-fluid { gap: .5rem; }
    .app-header .navbar-brand { display: none; }
    .app-header .nav-link { font-size: .8rem; }
    .app-header .gap-3 { gap: .5rem !important; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; } }
/* Keep column labels readable; wide tables scroll inside their own container. */
.table th { white-space: nowrap; }
.table td { min-width: 8rem; max-width: 28rem; }
/* Public AdminLTE layout with top navigation and no sidebar column. */
.layout-top-nav .app-wrapper { grid-template-areas: "lte-app-header" "lte-app-main" "lte-app-footer"; grid-template-columns: minmax(0, 1fr); }
.layout-top-nav .app-header .navbar-brand { display: block; white-space: normal; font-size: 1.05rem;  }
.catalog-url-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.catalog-url-row a { flex: 1 1 15rem; min-width: 0; background-color: rgb(68, 72, 82); color: #ffffff; }
.catalog-copy { flex: 0 0 auto; }
.catalog-copy-status:empty { display: none; }
.catalog-intro { margin-bottom: 1.5rem; }
.layout-top-nav .app-header .btn { white-space: nowrap; }
/* Tabulator Bootstrap 5 adapted to the AdminLTE palette and application forms. */
.app-table { min-width: 0; max-width: 100%; }
.table-search { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; margin-bottom: .75rem; }
.table-search label { margin: 0; font-weight: 400; font-size: .875rem; }
.table-search input { width: min(100%, 18rem); }
.table-caption { margin-bottom: .75rem; font-size: .8rem; }
.tabulator.adminlte-table { font-family: inherit; font-size: .875rem; border: 1px solid var(--bs-border-color); border-radius: .375rem; background: var(--bs-body-bg); color: var(--bs-body-color); }
.tabulator.adminlte-table .tabulator-header,
.tabulator.adminlte-table .tabulator-header .tabulator-col { background: var(--bs-tertiary-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
.tabulator.adminlte-table .tabulator-header .tabulator-col .tabulator-col-content { padding: .75rem; }
.tabulator.adminlte-table .tabulator-row { background: var(--bs-body-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
.tabulator.adminlte-table .tabulator-row.tabulator-row-even { background: var(--bs-tertiary-bg); }
.tabulator.adminlte-table .tabulator-row:hover { background: var(--bs-secondary-bg); }
.tabulator.adminlte-table .tabulator-cell { padding: .75rem; white-space: normal; overflow-wrap: anywhere; border-color: var(--bs-border-color); }
.table-cell-content { min-width: 0; }
.table-cell-content form { margin: 0; }
.table-cell-content form + form { margin-top: .5rem; padding-top: 0; border: 0; }
.table-cell-content form > .btn { margin-top: 0; }
.table-cell-content .btn { white-space: normal; }
.tabulator.adminlte-table .tabulator-footer { background: var(--bs-body-bg); color: var(--bs-body-color); border-color: var(--bs-border-color); }
.tabulator.adminlte-table .tabulator-footer .tabulator-footer-contents { flex-wrap: wrap; gap: .5rem; }
.tabulator.adminlte-table .tabulator-footer .tabulator-page { color: var(--bs-primary); background: var(--bs-body-bg); border-color: var(--bs-border-color); }
.tabulator.adminlte-table .tabulator-footer .tabulator-page.active { background: #fff327; color: #444852; border-color: #fff327; }
.tabulator.adminlte-table .tabulator-footer .tabulator-page:disabled { color: var(--bs-secondary-color); }
.tabulator.adminlte-table .tabulator-placeholder .tabulator-placeholder-contents { color: var(--bs-secondary-color); font-size: .95rem; white-space: normal; }
@media (max-width: 767px) {
    .table-search { align-items: flex-start; flex-direction: column; }
    .tabulator.adminlte-table .tabulator-footer .tabulator-paginator { white-space: normal; }
}
.tabulator.adminlte-table .tabulator-footer .tabulator-page { white-space: nowrap; }
@media (max-width: 767px) {
    .tabulator.adminlte-table .tabulator-footer .tabulator-footer-contents { align-items: flex-start; flex-direction: column; }
    .tabulator.adminlte-table .tabulator-footer .tabulator-paginator { width: 100%; text-align: left; }
    .tabulator.adminlte-table .tabulator-footer .tabulator-page-size { margin-bottom: .5rem; }
    .tabulator.adminlte-table .tabulator-footer .tabulator-pages { display: inline-block; }
}

/* Public integration guides: readable prose, horizontally scrollable examples. */
.guide-layout { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: 1.5rem; }
.guide-main, .guide-content { min-width: 0; }
.guide-content { line-height: 1.7; overflow-wrap: anywhere; }
.guide-content h2, .guide-content h3, .guide-content h4 { margin-top: 1.75rem; scroll-margin-top: 5rem; }
.guide-content h2 { font-size: 1.4rem; }
.guide-content h3 { font-size: 1.15rem; }
.guide-content pre { padding: 1rem; border-radius: .375rem; background: var(--bs-tertiary-bg); overflow-x: auto; white-space: pre; }
.guide-content pre code { color: var(--bs-body-color); }
.guide-content table { display: block; overflow-x: auto; margin-bottom: 1.5rem; width: 100%; }
.guide-content th, .guide-content td { border: 1px solid var(--bs-border-color); padding: .6rem; }
.guide-content blockquote { border-left: .25rem solid var(--bs-primary); padding-left: 1rem; }
@media (max-width: 991px) { .guide-layout { grid-template-columns: minmax(0, 1fr); } }

/* Keep the favicon inside the original brand footprint. */
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sidebar-mini.sidebar-collapse .sidebar-brand .brand-mark { margin-right: 0; }
/* A compact icon rail remains available even below the drawer breakpoint. */
@media (max-width: 991.98px) {
    .sidebar-mini.sidebar-expand-lg > .app-wrapper { grid-template-columns: 4.6rem minmax(0, 1fr); }
    .sidebar-mini.sidebar-expand-lg.sidebar-collapse .app-sidebar { margin-left: 0; }
}
.btn-stelogy {
    color: rgb(255, 255, 255);
    background-color: rgba(255, 243, 39,0);
    border-color: rgba(255, 255, 255, 1);
}
.btn-stelogy:hover {
    background-color: rgba(255, 243, 39,0.2);
}

/* Stelogy active navigation, using the AdminLTE 4 sidebar-menu class. */
.sidebar-dark-stelogyYel .sidebar-menu > .nav-item > .nav-link.active {
    background-color: #fff327;
    color: #fff;
    border-color: #fff327;
}


/* Shared Stelogy link and button palette. Keep navigation states and buttons distinct. */
:root {
    --bs-link-color: #444852;
    --bs-link-color-rgb: 68, 72, 82;
    --bs-link-hover-color: #fff327;
    --bs-link-hover-color-rgb: 255, 243, 39;
}
a:not(.btn):not(.nav-link):not(.brand-link):not(.navbar-brand) { color: #444852; }
a:not(.btn):not(.nav-link):not(.brand-link):not(.navbar-brand):hover { color: #fff327; }
.btn-stelogy-grey {
    --bs-btn-color: #fff327;
    --bs-btn-bg: #444852;
    --bs-btn-border-color: #444852;
    --bs-btn-hover-color: #444852;
    --bs-btn-hover-bg: #fff327;
    --bs-btn-hover-border-color: #444852;
    --bs-btn-active-color: #444852;
    --bs-btn-active-bg: #fff327;
    --bs-btn-active-border-color: #444852;
    --bs-btn-disabled-color: #fff327;
    --bs-btn-disabled-bg: #444852;
    --bs-btn-disabled-border-color: #444852;
    --bs-btn-focus-shadow-rgb: 68, 72, 82;
}


/* Public home: publication URLs displayed as code. */
.public-page .catalog-link a code { color: #fff; }
.public-page .catalog-link a:hover code,
.public-page .catalog-link a:focus-visible code { color: #fff327; }


/* Stelogy pagination for Bootstrap and Tabulator. */
.pagination {
    --bs-pagination-active-bg: #fff327;
    --bs-pagination-active-border-color: #fff327;
    --bs-pagination-active-color: #444852;
    --bs-pagination-hover-bg: #444852;
    --bs-pagination-hover-border-color: #444852;
    --bs-pagination-hover-color: #fff;
}
.pagination .page-item:not(.active):not(.disabled) .page-link:hover { color: #fff; background-color: #444852; border-color: #444852; }
.pagination.pagination .page-item.active > .page-link,
.pagination.pagination .page-item.active > .page-link:hover { color: #444852; background-color: #fff327; border-color: #fff327; }
.tabulator.adminlte-table .tabulator-footer .tabulator-page:not(.active):not(:disabled):hover { background: #444852; color: #fff; border-color: #444852; }
.tabulator.adminlte-table .tabulator-footer .tabulator-page.active:hover { background: #fff327; color: #444852; border-color: #fff327; }
.card.card-outline.card-primary { border-top-color: #444852; }

.error-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 2rem; padding: 2rem; }
.error-illustration { display: block; width: 100%; max-width: 400px; height: auto; margin: auto; }
.error-code { color: #444852; font-weight: 700; font-size: 1.2rem; }
@media (max-width: 767px) { .error-page { grid-template-columns: minmax(0, 1fr); padding: 1.25rem; } .error-illustration { max-width: 240px; } }

/* Stelogy template integration: AdminLTE 3/Bootstrap 4 CSS with existing native
   Bootstrap 5 behaviours and utility aliases, avoiding a second CSS framework. */
@font-face { font-family: Montserrat; src: url('/assets/vendor/stelogy/fonts/Montserrat.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: Poppins; src: url('/assets/vendor/stelogy/fonts/Poppins-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
:root {
    --bs-body-color: #444852; --bs-body-bg: #fff; --bs-secondary-color: #6c757d;
    --bs-tertiary-bg: #f4f6f9; --bs-secondary-bg: #e9ecef;
    --bs-border-color: #dee2e6; --bs-primary: #444852;
    --bs-font-sans-serif: Montserrat, sans-serif;
}
body { color: #444852; }
h1, h2, h3, .btn { font-family: Montserrat, sans-serif; }
.bg-body { background-color: #fff !important; }
.bg-body-tertiary { background-color: #f4f6f9; }
.text-body-secondary { color: #6c757d !important; }
.text-bg-secondary { background: #6c757d; color: #fff; }
.fw-bold { font-weight: 700 !important; }
.fw-semibold { font-weight: 600 !important; }
.ms-auto { margin-left: auto !important; }
.me-0 { margin-right: 0 !important; }
.float-end { float: right !important; }
.gap-2 { gap: .5rem; }
.gap-3 { gap: 1rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.form-select { display: block; width: 100%; padding: .375rem 2rem .375rem .75rem; font-size: 1rem; line-height: 1.5; color: #444852; background: #fff url('/assets/icons/chevron.svg') no-repeat right .75rem center / 12px; border: 1px solid #ced4da; border-radius: .25rem; appearance: none; }
.form-select[multiple] { background-image: none; padding-right: .75rem; }
.form-select:disabled { background-color: #e9ecef; }
.form-check-input { position: static; margin-left: 0; }
.btn-stelogy-grey { color: #fff327; background: #444852; border-color: #444852; }
.btn-stelogy-grey:hover, .btn-stelogy-grey:active { color: #444852; background: #fff327; border-color: #444852; }
.navbar-stelogy-grey { background: #444852; }
.navbar-stelogy-grey .nav-link, .navbar-stelogy-grey .navbar-brand { color: #fff !important; }
.navbar-stelogy-grey .nav-link:hover, .navbar-stelogy-grey .nav-link.active { color: #fff327 !important; }
.navbar-stelogy-grey .account-name { color: inherit !important; }
.main-header .container-fluid { display: flex; width: 100%; align-items: center; }
.main-header .navbar-nav { align-items: center; }
.main-sidebar { background: #343a40; }
.stelogy-brand-logo { display: block; height: 32px; max-width: 100%; margin: 0 auto; }
.stelogy-brand-icon { display: none; height: 32px; width: 24px; margin: 0 auto; }
.sidebar .user-panel .info { min-width: 0; }
.sidebar .user-panel .info a { display: block; color: #fff !important; overflow: hidden; text-overflow: ellipsis; }
.sidebar-app-name { display: block; font-size: .7rem; color: #fff327; overflow: hidden; text-overflow: ellipsis; }
.sidebar .nav-header { font-size: .75rem; }
.sidebar .nav-link { font-size: .85rem; }
.sidebar .nav-link p { white-space: normal; }
.sidebar .nav-link.active { color: #444852 !important; background: #fff327 !important; }
.sidebar-mini.sidebar-collapse .stelogy-brand-logo { display: none; }
.sidebar-mini.sidebar-collapse .stelogy-brand-icon { display: block; }
@media (min-width: 992px) {
    .sidebar-mini.sidebar-collapse .main-sidebar:hover .stelogy-brand-logo,
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within .stelogy-brand-logo { display: block; }
    .sidebar-mini.sidebar-collapse .main-sidebar:hover .stelogy-brand-icon,
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within .stelogy-brand-icon { display: none; }
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within { width: 250px; }
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within .user-panel > .info,
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within .nav-sidebar .nav-link p { width: auto; opacity: 1; margin-left: 0; }
    .sidebar-mini.sidebar-collapse .main-sidebar:focus-within .nav-sidebar .nav-header { display: block; }
}
.content-wrapper { min-height: calc(100vh - 114px); }
.layout-navbar-fixed .content-wrapper { padding-top: 0; margin-top: 57px; }
.main-footer { font-size: .85rem; }
.stelogy-footer-brand { color: #444852; font-family: Montserrat, sans-serif; font-weight: 600; }
.layout-top-nav .app-wrapper { display: block; }
.layout-top-nav .content-wrapper { margin: 0; }
.public-navbar .container { display: flex; align-items: center; }
.card.card-outline.card-primary, .metric { border-top-color: #fff327; }
.card-header { color: #444852; }
.error-page { width: auto; margin: 0; }
.stelogy-login { background-image: linear-gradient(to right, rgba(34,47,51,.9), rgba(68,72,82,.95)), url('/assets/vendor/nomotech/image/ap-pattern-jaune.svg'); background-color: #222f33; min-height: 100vh; height: auto; padding: 2rem 0; }
.stelogy-login .login-box { width: 450px; max-width: calc(100vw - 32px); }
.stelogy-login .login-panel { width: 100%; padding: 0; margin: 0; }
.stelogy-login .card-header { padding: 2rem 1.5rem 1rem; }
.stelogy-login h1 { font-size: 1rem; color: #fff; margin-bottom: 1rem; }
.stelogy-login h2 { color: #fff327; text-transform: uppercase; margin: 0; font-size: 1rem; }
.stelogy-login-logo { width: 300px; max-width: 100%; }
.stelogy-login .card-body { padding: 1.5rem; }
.stelogy-login .login-panel label { margin-top: 0; }
.stelogy-login .input-group .form-control { min-width: 0; }
.stelogy-login .input-group-text { border-radius: 0 .25rem .25rem 0; }
@media (max-width: 991.98px) {
    .main-header { min-height: 57px; }
    .main-header .nav-link { padding: .5rem; }
    .layout-navbar-fixed .content-wrapper { margin-top: 57px; }
    .sidebar-open .content-wrapper, .sidebar-open .main-footer { pointer-events: none; }
}
@media (max-width: 767px) {
    .app-header .nav-link { font-size: .75rem; }
    .app-header .btn { font-size: .7rem; }
    .layout-top-nav .public-navbar .container { gap: .75rem; }
    .layout-top-nav .public-navbar .navbar-brand { width: auto; }
    .stelogy-login .card-header { padding: 1.5rem 1rem 1rem; }
}

/* Dashboard counters follow the dark/yellow cards in the supplied kit. */
.metric.bg-stelogy-grey { border-top: 0; color: #fff327; }
.metric.bg-stelogy-grey h3 { color: #fff327; }
.metric.bg-stelogy-grey .muted { color: #f4f6f9; }
[data-lte-toggle="card-collapse"] [data-lte-icon="expand"] { display: none; }
.collapsed-card [data-lte-toggle="card-collapse"] [data-lte-icon="expand"] { display: inline-block; }
.collapsed-card [data-lte-toggle="card-collapse"] [data-lte-icon="collapse"] { display: none; }
dialog.block-action-dialog {
    width: min(36rem, calc(100% - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow-y: auto;
    border: 1px solid #444852;
    border-top: 4px solid #fff327;
    border-radius: .4rem;
    padding: 1.5rem;
    color: #444852;
    background: #fff;
}

dialog.block-action-dialog::backdrop { background: rgb(0 0 0 / 55%); }

/* AdminLTE placeholder presentation for the asynchronous network cards. */
.network-card-placeholder .placeholder { display: inline-block; min-height: 1em; vertical-align: middle; background: #adb5bd; border-radius: .2rem; }
.network-card-placeholder.placeholder-glow .placeholder { animation: network-placeholder-glow 2s ease-in-out infinite; }
@keyframes network-placeholder-glow { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .network-card-placeholder.placeholder-glow .placeholder { animation: none; } }

.statistics-chart-tooltip { position: fixed; z-index: 1100; pointer-events: none; max-width: min(24rem, calc(100vw - 16px)); padding: .6rem .8rem; border-radius: .3rem; background: #444852; color: #fff; box-shadow: 0 .2rem .6rem rgb(0 0 0 / 20%); font-size: .875rem; overflow-wrap: anywhere; }
[data-statistic-tooltip] { cursor: help; }
.statistics-chart-point:hover .statistics-chart-bar,
.statistics-chart-point:focus .statistics-chart-bar { fill: #444852; stroke: #c77b00; stroke-width: 2; }

/* Keep dashboard card tools aligned beside wrapping titles. */
.dashboard-card > .card-header { display: flex; align-items: center; gap: .75rem; }
.dashboard-card > .card-header > .card-title { float: none; flex: 1; min-width: 0; margin: 0; }
.dashboard-card > .card-header > .card-tools { float: none; flex-shrink: 0; margin: 0; }
.dashboard-card > .card-header .btn-tool { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin: 0; padding: .25rem; color: #444852; }
.dashboard-card > .card-header .btn-tool:hover { background: rgb(68 72 82 / 10%); }

@media (max-width: 767px) { .dashboard-grid { columns: 1; } }

.network-block-timeline { margin: 0; }
.network-block-timeline .timeline-item { overflow-wrap: anywhere; }
.network-block-timeline .timeline-header { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.network-block-dates { margin-bottom: .75rem; }
.network-block-dates dt { font-size: .875rem; }
.network-block-dates dd { margin-bottom: .5rem; }

.admin-header-search { flex: 1 1 12rem; max-width: 24rem; min-width: 0; }
@media (max-width: 575px) {
    .main-header > .container-fluid { flex-wrap: wrap; }
    .main-header { min-height: 101px; }
    .layout-navbar-fixed .content-wrapper { margin-top: 101px; }
    .admin-header-search { order: 3; flex-basis: 100%; max-width: none; margin-top: .5rem; }
}

/* Public navigation has its own mobile menu, independent from the admin sidebar. */
.public-navbar > .container { gap: .75rem 1rem; padding-left: 1rem; padding-right: 1rem; }
.public-navbar .navbar-brand { min-width: 0; max-width: 100%; margin-right: 0; overflow-wrap: anywhere; }
.public-navbar-links { display: flex; flex: 1; min-width: 0; align-items: center; gap: .75rem 1rem; }
.public-navbar-links[hidden], .public-menu-toggle[hidden] { display: none !important; }
.public-navbar-links > .navbar-nav { gap: .25rem .75rem; }
.public-navbar .public-account-link { margin-left: auto; flex-shrink: 0; }
.public-menu-toggle { flex-shrink: 0; width: 44px; min-height: 44px; }
@media (max-width: 767.98px) {
    .layout-top-nav .public-navbar { min-height: 57px; }
    .public-navbar > .container { align-items: center; }
    .layout-top-nav .public-navbar .navbar-brand { flex: 1; margin: 0; }
    .public-navbar-links { flex: 0 0 100%; flex-direction: column; align-items: stretch; }
    .public-navbar-links > .navbar-nav { flex-direction: column !important; align-items: stretch; width: 100%; }
    .public-navbar-links .nav-link { padding: .75rem; font-size: .95rem; white-space: normal; overflow-wrap: anywhere; }
    .public-navbar .public-account-link { align-self: flex-start; margin-left: .75rem; margin-bottom: .5rem; }
}
