/* SAR ZONE UI foundation. Loaded before module styles; no vendor files are modified. */
@font-face { font-family: "Inter"; src: url("../fonts/InterVariable.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
:root {
    --ui-primary: #5146ce; --ui-primary-hover: #4035ae; --ui-primary-soft: #eeecfb;
    --ui-bg: #f5f6f8; --ui-surface: #fff; --ui-elevated: #fff;
    --ui-border: #e1e5ec; --ui-border-strong: #c7ced9;
    --ui-text: #202633; --ui-secondary: #526071; --ui-muted: #677487;
    --ui-success: #18724c; --ui-success-bg: #eaf7ef;
    --ui-warning: #925e0b; --ui-warning-bg: #fff5df;
    --ui-danger: #b3333a; --ui-danger-bg: #fff0f0;
    --ui-info: #1e6685; --ui-info-bg: #eaf5fb;
    --ui-radius: 8px; --ui-radius-sm: 5px; --ui-shadow: 0 2px 8px #20263305;
    --ui-space-1: 4px; --ui-space-2: 8px; --ui-space-3: 12px; --ui-space-4: 16px;
    --ui-space-5: 20px; --ui-space-6: 24px; --ui-space-8: 32px;
    --ui-nav-width: 232px; --ui-header-height: 60px;
}
body.sar-ui { background: var(--ui-bg); color: var(--ui-text); font: 14px/1.55 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; -webkit-font-smoothing: antialiased; }
.sar-ui a { margin: 0; color: var(--ui-primary); }
.sar-ui a:hover { color: var(--ui-primary-hover); }
.sar-ui :focus-visible { outline: 3px solid #7c9cdd; outline-offset: 3px; }
.sar-ui [hidden] { display: none !important; }
.sar-ui .text-muted { color: var(--ui-muted) !important; }
.sar-ui .text-danger { color: var(--ui-danger) !important; }
.sar-ui .text-success { color: var(--ui-success) !important; }
.sar-ui .text-warning { color: var(--ui-warning) !important; }
.sar-ui .text-info { color: var(--ui-info) !important; }
.sar-ui h1, .sar-ui h2, .sar-ui h3, .sar-ui h4, .sar-ui h5, .sar-ui h6 { color: var(--ui-text); line-height: 1.35; font-weight: 650; }
.sar-ui small, .sar-ui .small { font-size: 12px; line-height: 1.5; }
.sar-ui .ui-skip-link { position: fixed; z-index: 10000; top: -100px; left: 16px; padding: 12px 18px; background: var(--ui-primary); color: white; border-radius: 6px; }
.sar-ui .ui-skip-link:focus { top: 8px; }
/* Application shell: one navigation surface and one disclosure owner. */
.sar-ui .main-content, .sar-ui .main-navbar, .sar-ui .main-sidebar { transition: none; }
.sar-ui .navbar-bg { display: none; }
.sar-ui .main-wrapper .main-content { margin-left: var(--ui-nav-width); padding: calc(var(--ui-header-height) + 24px) 24px 40px; min-height: 100vh; width: auto; }
.sar-ui .main-content > .section { max-width: 1760px; margin: 0 auto; padding: 0; min-width: 0; }
.sar-ui .main-content > .section > .container-fluid, .sar-ui .main-content .section .section { padding: 0; }
/* Continue the desktop rail through long pages while the menu stays viewport-fixed. */
@media screen and (min-width: 1025px) {
    .sar-ui:not(.sar-nav-hidden) #app > .main-wrapper:not(.client-portal-wrapper) {
        background-image: linear-gradient(to right, #171d2c 0, #171d2c calc(var(--ui-nav-width) - 1px), #2b3242 calc(var(--ui-nav-width) - 1px), #2b3242 var(--ui-nav-width), transparent var(--ui-nav-width));
    }
}
.sar-ui .main-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--ui-nav-width); background: #171d2c; border-right: 1px solid #2b3242; box-shadow: none; z-index: 1040; overflow-y: auto; height: 100dvh; scrollbar-color: #444d62 #171d2c; scrollbar-width: thin; }
.sar-ui #sidebar-wrapper { min-height: 100%; display: flex; flex-direction: column; }
.sar-ui .sidebar-brand { min-height: var(--ui-header-height); height: auto; line-height: normal; display: flex; align-items: center; padding: 12px 20px; text-align: left; border-bottom: 1px solid #ffffff12; flex-shrink: 0; }
.sar-ui .sidebar-brand a { display: flex; align-items: center; gap: 10px; color: #f8f9ff; }
.sar-ui .main-sidebar a { transition: color .12s, background-color .12s; }
.sar-ui .sidebar-brand .header-logo { width: 30px; height: 30px; object-fit: contain; margin: 0; padding: 3px; background: #fff; border-radius: 6px; }
.sar-ui .ui-brand-lockup { display: flex; flex-direction: column; gap: 3px; }
.sar-ui .sidebar-brand .logo-name { display: inline; font-size: 14px; font-weight: 700; letter-spacing: 1px; }
.sar-ui .ui-brand-caption { color: #a9b2c8; font-size: 9px; letter-spacing: 2px; }
.sar-ui .main-sidebar .sidebar-menu { padding: 10px 12px 24px; margin: 0; width: 100%; }
.sar-ui .main-sidebar .sidebar-menu li { margin: 2px 0; list-style: none; }
.sar-ui .main-sidebar .sidebar-menu li > a, .sar-ui .ui-nav-disclosure { position: relative; width: 100%; min-height: 38px; height: auto; padding: 9px 10px; margin: 0; border: 0; border-radius: 5px; background: transparent; font: inherit; font-size: 13px; font-weight: 500; line-height: 1.4; color: #c4ccdf; display: flex; align-items: center; gap: 10px; text-align: left; cursor: pointer; }
.sar-ui .main-sidebar .sidebar-menu li > a:hover, .sar-ui .ui-nav-disclosure:hover { color: #fff; background: #252d40; }
.sar-ui .main-sidebar .sidebar-menu li > a[aria-current=page] { color: #fff; background: #353052; font-weight: 600; box-shadow: inset 2px 0 #aa9df6; }
.sar-ui .main-sidebar .sidebar-menu .ui-nav-parent-active > .ui-nav-disclosure { color: #f4f1ff; }
.sar-ui .main-sidebar .sidebar-menu li > a span, .sar-ui .ui-nav-disclosure span { display: inline; min-width: 0; flex: 1; }
.sar-ui .main-sidebar .sidebar-menu li > a i, .sar-ui .main-sidebar .sidebar-menu li > a svg, .sar-ui .ui-nav-disclosure svg, .sar-ui .ui-nav-disclosure i { width: 17px; height: 17px; min-width: 17px; margin: 0; color: #a4b0c8; stroke-width: 1.7; }
.sar-ui .ui-nav-submenu { display: block; width: auto; list-style: none; padding: 0 0 0 9px; margin: 4px 0 8px 18px; background: transparent; border: 0; border-left: 1px solid #3c465b; box-shadow: none; }
.sar-ui .main-sidebar .sidebar-menu .ui-nav-submenu li > a { min-height: 34px; font-size: 12px; padding: 8px 10px; }
.sar-ui .ui-nav-disclosure::after { content: ''; width: 6px; height: 6px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); flex: 0 0 6px; margin-left: auto; }
.sar-ui .ui-nav-disclosure[aria-expanded=true]::after { transform: rotate(45deg); }
.sar-ui .menu-header, .sar-ui .ui-nav-group > summary { display: block; padding: 16px 10px 7px; color: #929fb8; text-transform: uppercase; font-weight: 600; font-size: 10px; letter-spacing: .07em; cursor: pointer; }
.sar-ui .ui-nav-group > summary { list-style: none; position: relative; padding-right: 26px; line-height: 1.5; }
.sar-ui .ui-nav-group > summary::-webkit-details-marker { display: none; }
.sar-ui .ui-nav-group > summary::after { content: '›'; position: absolute; right: 10px; font-size: 16px; top: 11px; }
.sar-ui .ui-nav-group[open] > summary::after { transform: rotate(90deg); }
.sar-ui .ui-nav-group > summary:hover { color: #edf0f8; }
.sar-ui .ui-nav-group > ul { padding: 0; }
.sar-ui .ui-sidebar-footer { padding: 14px 20px; border-top: 1px solid #ffffff12; margin-top: auto; font-size: 12px; color: #a8b4cd; display: flex; align-items: center; gap: 8px; }
.sar-ui .ui-sidebar-footer svg { width: 16px; height: 16px; }
.sar-ui .main-navbar { position: fixed; height: auto; min-height: 60px; left: var(--ui-nav-width); right: 0; width: auto; padding: 10px 24px; background: #fff; border-bottom: 1px solid var(--ui-border); box-shadow: none; z-index: 1030; }
.sar-ui .main-navbar .nav-link { margin: 0; color: var(--ui-secondary); height: auto; }
.sar-ui .main-navbar .nav-link svg { width: 18px; height: 18px; }
.sar-ui .main-navbar .navbar-nav { align-items: center; }
.sar-ui .ui-nav-toggle { border: 1px solid var(--ui-border); background: #fff; color: var(--ui-secondary); border-radius: 5px; width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; }
.sar-ui .ui-nav-toggle:hover { background: var(--ui-bg); }
.sar-ui .ui-nav-toggle:focus:not(:focus-visible) { outline: none; }
.sar-ui .ui-top-context { display: flex; align-items: center; gap: 10px; font-size: 12px; min-width: 0; }
.sar-ui .ui-top-context > span:first-child { color: var(--ui-muted); }
.sar-ui .ui-top-context strong { font-weight: 550; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 220px; }
.sar-ui .ui-profile-name { font-size: 12px; margin-left: 8px; max-width: 125px; overflow: hidden; text-overflow: ellipsis; }
.sar-ui .user-img-radious-style { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; box-shadow: none; }
.sar-ui .sar-break-control { display: flex; align-items: center; gap: 8px; padding: 0 14px 0 0; border-right: 1px solid var(--ui-border); margin-right: 6px; }
.sar-ui .break-status { font-size: 12px; color: var(--ui-muted); white-space: nowrap; }
.sar-ui .break-status.active { color: var(--ui-warning); }
.sar-ui .sar-break-btn { border: 1px solid var(--ui-border-strong); background: #fff; color: var(--ui-text); border-radius: 5px; font: inherit; font-size: 12px; padding: 7px 10px; min-height: 34px; cursor: pointer; }
.sar-ui .sar-break-btn:hover { background: var(--ui-bg); }
.sar-ui .sar-break-btn.end { background: var(--ui-warning-bg); border-color: #e7d3b0; color: var(--ui-warning); }
.sar-ui .sar-break-btn:disabled { opacity: .5; cursor: wait; }
.sar-ui .ui-attention-link { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--ui-border); border-radius: 5px; padding: 7px 10px; min-height: 34px; color: var(--ui-secondary); font-size: 12px; margin: 0 6px; }
.sar-ui .ui-attention-link strong { color: var(--ui-warning); font-variant-numeric: tabular-nums; }
.sar-ui .ui-attention-link:hover { color: var(--ui-text); background: var(--ui-bg); }
.sar-ui .toggle-sidebar-btn, .sar-ui .ui-nav-backdrop { display: none; }
.sar-ui.sar-nav-hidden .main-sidebar { display: none; }
.sar-ui.sar-nav-hidden .main-wrapper .main-content { margin-left: 0; }
.sar-ui.sar-nav-hidden .main-navbar { left: 0; }
@media (max-width: 1199px) { .sar-ui .ui-profile-name { display: none; } .sar-ui .ui-top-context > span { display: none; } }
.sar-ui.sidebar-gone .main-sidebar { left: 0; }
@media (max-width: 1024px) {
 .sar-ui .main-wrapper .main-content { margin-left: 0; }
 .sar-ui .main-navbar { left: 0; padding-inline: 16px; }
 .sar-ui .main-sidebar { left: 0; transform: translateX(-100%); visibility: hidden; }
 .sar-ui.sar-nav-open { overflow: hidden; }
 .sar-ui.sar-nav-open .main-sidebar { display: block; transform: translateX(0); visibility: visible; }
 .sar-ui.sar-nav-open .ui-nav-backdrop { display: block; position: fixed; inset: 0; z-index: 1035; background: #11182766; border: 0; }
}
@media (max-width: 767px) {
 .sar-ui .main-wrapper .main-content { padding: calc(var(--ui-header-height) + 20px) 16px 24px; }
 .sar-ui .main-navbar { padding: 8px 12px; }
 .sar-ui .main-navbar .navbar-right { margin-left: auto; }
 .sar-ui .ui-top-context, .sar-ui .fullscreen-btn { display: none; }
 .sar-ui .ui-attention-link { padding: 8px; margin-inline: 2px; min-height: 44px; }
 .sar-ui .ui-attention-link .ui-attention-scope { display: none; }
 .sar-ui .sar-break-control { padding-right: 8px; gap: 6px; }
 .sar-ui .sar-break-btn, .sar-ui .ui-nav-toggle { min-height: 44px; }
 .sar-ui .break-status { max-width: 88px; white-space: normal; font-size: 11px; }
 .sar-ui .main-navbar .nav-link { padding-inline: 6px; }
}

.sar-ui .ui-sidebar-close { display: none; }
@media(max-width:1024px) { .sar-ui .ui-sidebar-close { display: flex; justify-content: space-between; align-items: center; margin: 12px 16px 0; padding: 8px 10px; min-height: 44px; background: #252d40; border: 1px solid #3c465b; border-radius: 5px; color: #edf0f8; font: inherit; font-size: 13px; } }
/* Headers, surfaces and common controls */
.sar-ui .ui-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 20px; }
.sar-ui .ui-page-title { margin: 0; font-size: 26px; letter-spacing: -.65px; line-height: 1.25; }
.sar-ui .ui-page-description { color: var(--ui-muted); font-size: 13px; margin: 6px 0 0; max-width: 780px; }
.sar-ui .ui-eyebrow { font-size: 11px; color: var(--ui-muted); font-weight: 600; margin-bottom: 7px; letter-spacing: .06em; text-transform: uppercase; }
.sar-ui .ui-page-actions, .sar-ui .ui-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sar-ui .ui-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sar-ui .ui-section-heading h2 { font-size: 16px; margin: 0; }
.sar-ui .card { border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); box-shadow: none; margin-bottom: 20px; min-width: 0; }
.sar-ui .card .card-header { min-height: 52px; padding: 14px 20px; border-bottom: 1px solid var(--ui-border); background: transparent; flex-wrap: wrap; gap: 10px; }
.sar-ui .card .card-header h4, .sar-ui .card .card-header h5 { font-size: 16px; color: var(--ui-text); margin: 0; }
.sar-ui .card .card-body { padding: 20px; }
.sar-ui .card .card-footer { padding: 16px 20px; background: #fafbfd; border-top: 1px solid var(--ui-border); }
.sar-ui .card .card-header.ui-legacy-heading { background: transparent; }
.sar-ui .ui-legacy-heading h4, .sar-ui .ui-legacy-heading h5 { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; width: 100%; }
.sar-ui .ui-legacy-heading h4 > a:first-of-type, .sar-ui .ui-legacy-heading h5 > a:first-of-type { margin-left: auto; }
.sar-ui .btn { border-radius: 6px; font-size: 14px; font-weight: 550; line-height: 1.45; padding: 7px 12px; min-height: 36px; letter-spacing: 0; box-shadow: none !important; background-image: none !important; white-space: normal; }
.sar-ui .btn-sm { font-size: 12px; padding: 5px 10px; min-height: 30px; }
.sar-ui .btn-primary { background: var(--ui-primary); border-color: var(--ui-primary); color: white; }
.sar-ui .btn-primary:hover, .sar-ui .btn-primary:focus { background: var(--ui-primary-hover); border-color: var(--ui-primary-hover); }
.sar-ui .btn-outline-primary { background: white; border-color: #b8c8e9; color: var(--ui-primary); }
.sar-ui .btn-outline-primary:hover { background: var(--ui-primary-soft); color: var(--ui-primary-hover); }
.sar-ui .btn-light, .sar-ui .btn-outline-secondary, .sar-ui .btn-secondary { color: var(--ui-secondary); background: white; border-color: var(--ui-border-strong); }
.sar-ui .btn-light:hover, .sar-ui .btn-outline-secondary:hover, .sar-ui .btn-secondary:hover { background: var(--ui-bg); color: var(--ui-text); }
.sar-ui .btn-success { background: var(--ui-success); border-color: var(--ui-success); color: white; }
.sar-ui .btn-danger { background: var(--ui-danger); border-color: var(--ui-danger); color: white; }
.sar-ui .btn-warning { background: var(--ui-warning-bg); border-color: #e9ce99; color: var(--ui-warning); }
.sar-ui .btn-info { background: var(--ui-info); border-color: var(--ui-info); color: white; }
.sar-ui .btn-dark { background: var(--ui-text); border-color: var(--ui-text); color: white; }
.sar-ui .btn [data-feather], .sar-ui .btn svg { width: 16px; height: 16px; vertical-align: -3px; }
.sar-ui .btn:disabled, .sar-ui .btn[aria-disabled=true] { opacity: .6; cursor: not-allowed; }
.sar-ui .btn[aria-disabled=true] { pointer-events: none; }
.sar-ui .form-control, .sar-ui .custom-select { min-height: 38px; height: auto; padding: 8px 11px; font: inherit; font-size: 14px; line-height: 1.5; border: 1px solid var(--ui-border-strong); border-radius: 6px; background-color: white; color: var(--ui-text); box-shadow: none; max-width: 100%; }
.sar-ui select.form-control { padding-right: 24px; }
.sar-ui textarea.form-control { min-height: 100px; height: auto !important; resize: vertical; }
.sar-ui .form-control:focus, .sar-ui .custom-select:focus { border-color: #7798d7; box-shadow: 0 0 0 3px #2855b817; }
.sar-ui .form-control:disabled, .sar-ui .form-control[readonly] { background: #f3f5f8; color: var(--ui-secondary); }
.sar-ui .form-control::placeholder { color: #798597; opacity: 1; }
.sar-ui label { color: var(--ui-secondary); font-size: 12px; font-weight: 600; margin-bottom: 6px; }
.sar-ui .form-group { margin-bottom: 18px; }
.sar-ui .form-check-inline { display: inline-flex; align-items: center; gap: 8px; }
.sar-ui .form-check-inline .form-check-input { position: static; flex: 0 0 auto; margin: 0; pointer-events: auto; }
.sar-ui .form-check-inline .form-check-label { margin: 0; padding-left: 0; }
.sar-ui .ui-required { color: var(--ui-danger); margin-left: 3px; }
.sar-ui input[type=checkbox], .sar-ui input[type=radio] { accent-color: var(--ui-primary); width: 16px; height: 16px; vertical-align: middle; }
.sar-ui input[type=file] { border-radius: 6px; font-size: 13px; border-color: var(--ui-border-strong); width: 100%; }
.sar-ui .input-group-text { background: #f6f8fa; border-color: var(--ui-border-strong); color: var(--ui-muted); font-size: 12px; }
.sar-ui .select2-container { max-width: 100%; }
.sar-ui .select2-container .select2-selection { border: 1px solid var(--ui-border-strong) !important; border-radius: 6px !important; min-height: 38px; box-shadow: none; }
.sar-ui .select2-container .select2-selection__rendered { color: var(--ui-text); font-size: 13px; line-height: 36px; }
.sar-ui .select2-container .select2-selection__choice { background: var(--ui-primary-soft) !important; color: var(--ui-primary); border-color: #c9d6ef; font-size: 12px; line-height: 1.5; }
.sar-ui .select2-container .select2-selection__choice__remove { color: var(--ui-primary) !important; }
.sar-ui .ui-form-section { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.sar-ui .ui-form-section legend, .sar-ui form > h5, .sar-ui form > .card-body > h5 { font-size: 15px; font-weight: 650; padding-bottom: 12px; border-bottom: 1px solid var(--ui-border); margin-bottom: 20px; }
.sar-ui .ui-form-section p { color: var(--ui-muted); font-size: 13px; }
.sar-ui .ui-form-actions { border-top: 1px solid var(--ui-border); padding-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.sar-ui .ui-form-workspace { max-width: 1040px; margin: 0 auto; }
.sar-ui .is-invalid, .sar-ui [aria-invalid=true] { border-color: var(--ui-danger) !important; }
.sar-ui .invalid-feedback { font-size: 12px; color: var(--ui-danger); }
/* Consistent lists and accounting tables; amounts are marked by column heading. */
.sar-ui .ui-table-scroll, .sar-ui .table-responsive { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border-radius: 6px; }
.sar-ui .ui-table-scroll:focus-visible, .sar-ui .table-responsive:focus-visible { outline-offset: -3px; }
.sar-ui [data-ui-table-overflow="true"]::before { content: 'Scroll horizontally to see all columns →'; display: block; position: sticky; left: 0; width: fit-content; max-width: 100%; padding: 4px 0 8px; font-size: 12px; color: var(--ui-muted); }
.sar-ui .table { width: 100%; font-size: 13px; color: var(--ui-text); border-color: var(--ui-border); }
.sar-ui .table thead th { background: #f7f8fb; color: var(--ui-secondary); font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; padding: 12px 14px; border-top: 0; border-bottom: 1px solid var(--ui-border); vertical-align: middle; white-space: nowrap; }
.sar-ui .table td { padding: 10px 14px; line-height: 1.5; vertical-align: middle; border-top: 1px solid #edf0f4; }
.sar-ui .table:not(.table-bordered) td { border-left: 0; border-right: 0; }
.sar-ui .table-bordered th, .sar-ui .table-bordered td { border-color: var(--ui-border); }
.sar-ui .table-striped tbody tr:nth-of-type(odd) { background: #fcfdfe; }
.sar-ui .table-hover tbody tr:hover, .sar-ui .table tbody tr:hover { background: #f5f8ff; }
.sar-ui .table tfoot { font-weight: 650; background: #f7f8fb; }
.sar-ui .ui-money { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sar-ui .ui-table-scroll.ui-table-tall { max-height: 70vh; }
.sar-ui .ui-table-tall thead th { position: sticky; top: 0; z-index: 2; }
.sar-ui .ui-empty-cell, .sar-ui .dataTables_empty { padding: 36px 20px !important; text-align: center; color: var(--ui-muted); background: #fff; }
.sar-ui .ui-table-caption { caption-side: top; font-size: 12px; color: var(--ui-muted); padding: 8px 0; }
.sar-ui .dataTables_wrapper .dataTables_filter, .sar-ui .dataTables_wrapper .dataTables_length { margin-bottom: 14px; }
.sar-ui .dataTables_wrapper .dataTables_filter input { margin-left: 8px; }
.sar-ui .dataTables_wrapper .dataTables_info, .sar-ui .dataTables_wrapper label { font-size: 12px; color: var(--ui-muted); }
.sar-ui .dataTables_wrapper .row { align-items: center; }
.sar-ui .pagination { gap: 3px; flex-wrap: wrap; }
.sar-ui .page-link { padding: 7px 11px; min-height: 34px; border-radius: 5px !important; border-color: var(--ui-border); color: var(--ui-secondary); margin: 0; font-size: 12px; }
.sar-ui .page-item.active .page-link { background: var(--ui-primary); border-color: var(--ui-primary); }
.sar-ui nav[role=navigation] svg { width: 18px; height: 18px; }
.sar-ui .ui-filter-panel { margin-bottom: 20px; border: 1px solid var(--ui-border); background: #fff; border-radius: var(--ui-radius); }
.sar-ui .ui-filter-panel > summary { padding: 12px 16px; cursor: pointer; display: flex; align-items: center; gap: 10px; list-style: none; font-size: 13px; font-weight: 600; }
.sar-ui .ui-filter-panel > summary:before { content: '+'; font-size: 17px; color: var(--ui-muted); }
.sar-ui .ui-filter-panel[open] > summary:before { content: '−'; }
.sar-ui .ui-filter-panel > summary::-webkit-details-marker { display: none; }
.sar-ui .ui-filter-panel > form { padding: 4px 16px 16px; margin: 0 !important; }
.sar-ui .ui-filter-count { background: var(--ui-primary-soft); color: var(--ui-primary); font-size: 11px; border-radius: 4px; padding: 2px 7px; margin-left: auto; }
.sar-ui .ui-filter-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: -8px 0 18px; align-items: center; }
.sar-ui .ui-filter-chip { display: inline-flex; gap: 7px; align-items: center; font-size: 12px; border: 1px solid #ccd8ee; color: var(--ui-primary); background: var(--ui-primary-soft); border-radius: 5px; padding: 4px 9px; max-width: 100%; overflow-wrap: anywhere; }
.sar-ui .ui-filter-grid > .row, .sar-ui .ui-filter-grid > .form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 0; }
.sar-ui .ui-filter-grid > .row > [class*=col-], .sar-ui .ui-filter-grid > .form-row > [class*=col-] { padding: 0; width: 100%; max-width: 100%; margin-bottom: 0 !important; }
.sar-ui .ui-filter-grid > .form-row + .form-row { margin-top: 12px; }
.sar-ui .ui-bulk-summary { background: var(--ui-primary-soft); border-radius: 6px; padding: 9px 12px; margin: 12px 0; font-size: 12px; color: var(--ui-primary); }
/* Status, feedback, overlays */
.sar-ui .badge, .sar-ui .ui-status { display: inline-flex; align-items: center; gap: 5px; border-radius: 4px; padding: 4px 7px; font-size: 11px; font-weight: 600; line-height: 1.25; letter-spacing: 0; box-shadow: none; }
.sar-ui .badge-primary, .sar-ui .ui-status--primary { color: var(--ui-primary); background: var(--ui-primary-soft); }
.sar-ui .badge-success, .sar-ui .ui-status--success { color: var(--ui-success); background: var(--ui-success-bg); }
.sar-ui .badge-warning, .sar-ui .ui-status--warning { color: var(--ui-warning); background: var(--ui-warning-bg); }
.sar-ui .badge-danger, .sar-ui .ui-status--danger { color: var(--ui-danger); background: var(--ui-danger-bg); }
.sar-ui .badge-info, .sar-ui .ui-status--info { color: var(--ui-info); background: var(--ui-info-bg); }
.sar-ui .badge-secondary, .sar-ui .badge-dark, .sar-ui .badge-light, .sar-ui .ui-status--neutral { color: var(--ui-secondary); background: #edf0f4; }
.sar-ui .badge.text-white { color: inherit !important; }
.sar-ui .alert { border-radius: 6px; padding: 13px 16px; font-size: 13px; line-height: 1.6; box-shadow: none; }
.sar-ui .alert-danger { color: var(--ui-danger); background: var(--ui-danger-bg); border: 1px solid #f0d1d4; }
.sar-ui .alert-warning { color: var(--ui-warning); background: var(--ui-warning-bg); border: 1px solid #ecd9b4; }
.sar-ui .alert-success { color: var(--ui-success); background: var(--ui-success-bg); border: 1px solid #c7e5d3; }
.sar-ui .alert-info { color: var(--ui-info); background: var(--ui-info-bg); border: 1px solid #c5e0ec; }
.sar-ui .dropdown-menu { border: 1px solid var(--ui-border); border-radius: 8px; padding: 6px; box-shadow: var(--ui-shadow); font-size: 13px; }
.sar-ui .dropdown-item { padding: 9px 12px; border-radius: 4px; white-space: normal; color: var(--ui-secondary); }
.sar-ui .dropdown-item:hover { background: var(--ui-bg); }
.sar-ui .modal-content { border: 1px solid var(--ui-border); border-radius: 10px; box-shadow: 0 18px 70px #172b4d26; max-height: calc(100dvh - 48px); }
.sar-ui .modal-header { padding: 18px 22px; border-bottom: 1px solid var(--ui-border); flex-shrink: 0; }
.sar-ui .modal-title { font-size: 18px; }
.sar-ui .modal-body { padding: 22px; overflow-y: auto; }
.sar-ui .modal-content > form { min-height: 0; display: flex; flex-direction: column; overflow: auto; }
.sar-ui .modal-footer { padding: 14px 22px; border-top: 1px solid var(--ui-border); background: #fafbfd; flex-shrink: 0; }
.sar-ui .modal-backdrop { background: #18263c; }
.sar-ui .modal-backdrop.show { opacity: .4; }
.sar-ui .close { opacity: .7; color: var(--ui-secondary); }
.sar-ui .nav-tabs { border-bottom: 1px solid var(--ui-border); gap: 4px; flex-wrap: nowrap; overflow-x: auto; }
.sar-ui .nav-tabs .nav-link { white-space: nowrap; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 12px 16px; font-size: 13px; color: var(--ui-muted); }
.sar-ui .nav-tabs .nav-link.active { color: var(--ui-primary); border-bottom-color: var(--ui-primary); background: transparent; }
.sar-ui .ui-empty { padding: 32px 20px; color: var(--ui-muted); text-align: center; }
.sar-ui .ui-empty h3 { font-size: 15px; margin-bottom: 6px; }
.sar-ui .ui-description-list { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 10px 20px; margin: 0; }
.sar-ui .ui-description-list dt { font-weight: 500; color: var(--ui-muted); }
.sar-ui .ui-description-list dd { margin: 0; overflow-wrap: anywhere; }
.sar-ui .ui-timeline { border-left: 2px solid var(--ui-border); padding-left: 20px; }
.sar-ui .ui-timeline > article { padding-bottom: 20px; }
.sar-ui .ui-timeline time { color: var(--ui-muted); font-size: 12px; }
/* Dashboards and module adapters share the same tokens. */
.sar-ui .dashboard-shell { padding: 0; border: 0; border-radius: 0; background: transparent; }
.sar-ui .headline, .sar-ui .work-heading h1 { font-size: 25px; font-weight: 650; letter-spacing: -.6px; }
.sar-ui .kpi-card, .sar-ui .ui-stat { padding: 16px 18px; border: 1px solid var(--ui-border); background: white; border-radius: 8px; height: 100%; box-shadow: none; }
.sar-ui .kpi-label, .sar-ui .ui-stat-label { color: var(--ui-muted); font-size: 12px; text-transform: none; letter-spacing: 0; margin-bottom: 7px; }
.sar-ui .kpi-value, .sar-ui .ui-stat-value { font-size: 26px; font-weight: 650; line-height: 1.25; letter-spacing: -.6px; font-variant-numeric: tabular-nums; margin: 0; }
.sar-ui .kpi-note, .sar-ui .ui-stat-note { color: var(--ui-muted); font-size: 12px; margin: 7px 0 0; }
.sar-ui .ui-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.sar-ui .ui-attention { border: 1px solid var(--ui-border); background: white; border-radius: 8px; margin-bottom: 22px; }
.sar-ui .ui-attention-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--ui-border); gap: 10px; }
.sar-ui .ui-attention-head h2 { margin: 0; font-size: 16px; }
.sar-ui .ui-attention-items { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); }
.sar-ui .ui-attention-item { display: flex; align-items: center; gap: 12px; padding: 16px 20px; color: var(--ui-text); border-right: 1px solid var(--ui-border); }
.sar-ui .ui-attention-item:hover { background: #fafbfd; }
.sar-ui .ui-attention-item strong { display: block; font-size: 13px; font-weight: 600; }
.sar-ui .ui-attention-item small { display: block; margin-top: 3px; color: var(--ui-muted); }
.sar-ui .ui-attention-number { font-size: 22px; font-weight: 650; color: var(--ui-danger); min-width: 30px; font-variant-numeric: tabular-nums; }
.sar-ui .ui-task-priorities { list-style: none; margin: 0; padding: 0; }
.sar-ui .ui-task-priorities li + li { border-top: 1px solid var(--ui-border); }
.sar-ui .ui-task-priorities a { padding: 14px 20px; display: flex; gap: 16px; align-items: center; justify-content: space-between; color: var(--ui-text); }
.sar-ui .ui-task-priorities a:hover { background: #f7f9fd; }
.sar-ui .ui-task-priorities small { color: var(--ui-muted); display: block; margin-top: 3px; }
.sar-ui .progress { height: 6px; background: #edf0f4; border-radius: 4px; }
.sar-ui .progress-bar { background-color: var(--ui-primary); }
.sar-ui .list-group-item { border-color: var(--ui-border); padding: 14px 20px; }
.sar-ui .work-page { padding: 0; max-width: none; }
.sar-ui .work-eyebrow { color: var(--ui-muted); font-size: 10px; letter-spacing: .07em; }
.sar-ui .work-heading { margin-bottom: 24px; }
.sar-ui .work-panel { border: 1px solid var(--ui-border); border-radius: 8px; background: white; box-shadow: none; }
.sar-ui .work-grid > * { min-width: 0; }
.sar-ui .hrm-summary-card { min-height: 0; }
.sar-ui .hrm-summary-value { font-size: 26px; font-weight: 650; font-variant-numeric: tabular-nums; }
.sar-ui .hrm-header-actions .btn { border-radius: 6px; }
 { padding: 0; }
/* Authentication uses the same controls and spacing. */
.sar-ui.ui-auth { min-height: 100dvh; background: #f5f6f8; }
.sar-ui.ui-auth .login-card, .sar-ui.ui-auth .customRow .card { border: 1px solid var(--ui-border); border-top: 3px solid var(--ui-primary); border-radius: 10px; box-shadow: var(--ui-shadow); }
.sar-ui.ui-auth .customRow { padding: 24px 0; min-height: 100dvh; }
.sar-ui.ui-auth .customRow > div { max-width: 460px; flex: 0 0 100%; }
.sar-ui.ui-auth .login-title { font-size: 22px; }
.sar-ui.ui-auth .login-card .form-control { min-height: 44px; }
.sar-ui.ui-auth .login-card .btn-primary { min-height: 44px; box-shadow: none; }
.sar-ui.ui-auth .main-footer, .sar-ui.ui-auth .login-footer { font-size: 12px; font-weight: 400; color: var(--ui-muted); }
.sar-ui.ui-auth .card-header img { max-width: 48px; }
@media (max-width: 1199px) {
    .sar-ui .ui-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sar-ui .ui-top-context > span:first-child, .sar-ui .ui-top-context > span:nth-child(2) { display: none; }
}
@media (max-width: 767px) {
    .sar-ui .ui-page-header { flex-direction: column; gap: 14px; }
    .sar-ui .ui-page-title, .sar-ui .headline, .sar-ui .work-heading h1 { font-size: 22px; }
    .sar-ui .ui-top-context, .sar-ui .ui-profile-name, .sar-ui .fullscreen-btn { display: none !important; }
    .sar-ui .main-navbar .navbar-right { margin-left: auto; }
    .sar-ui .card .card-header, .sar-ui .card .card-body { padding: 16px; }
    .sar-ui .btn, .sar-ui .form-control, .sar-ui .custom-select { min-height: 44px; }
    .sar-ui .btn-sm { min-height: 36px; }
    .sar-ui .table td, .sar-ui .table th { padding: 10px 12px; }
    .sar-ui .modal-dialog { margin: 12px; max-width: calc(100% - 24px); }
    .sar-ui .modal-content { max-height: calc(100dvh - 24px); }
    .sar-ui .modal-body { padding: 16px; }
    .sar-ui .ui-filter-grid > .row, .sar-ui .ui-filter-grid > .form-row { grid-template-columns: minmax(0,1fr); }
    .sar-ui .ui-stat-grid { gap: 10px; }
    .sar-ui .ui-stat, .sar-ui .kpi-card { padding: 13px; }
    .sar-ui .ui-stat-value, .sar-ui .kpi-value { font-size: 23px; overflow-wrap: anywhere; }
    .sar-ui .ui-attention-items { grid-template-columns: minmax(0,1fr); }
    .sar-ui .ui-attention-item { border-right: 0; border-bottom: 1px solid var(--ui-border); padding: 13px 16px; }
    .sar-ui .ui-description-list { grid-template-columns: 1fr; gap: 4px; }
    .sar-ui .ui-description-list dd { margin-bottom: 12px; }
    .sar-ui .dataTables_wrapper .dataTables_filter { text-align: left; }
    .sar-ui .dataTables_wrapper .dataTables_filter input { width: min(190px, 65vw); }
    .sar-ui .fc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
    .sar-ui .fc-toolbar h2 { font-size: 17px; }
    .sar-ui .fc-toolbar .fc-right { margin-left: 0; }
    .sar-ui .fc-button { padding: 0 6px; font-size: 11px; }
     { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .sar-ui *, .sar-ui *:before, .sar-ui *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media print {
    .sar-ui .main-sidebar, .sar-ui .main-navbar, .sar-ui .ui-skip-link, .sar-ui .ui-nav-backdrop, .sar-ui .ui-page-actions, .sar-ui .ui-filter-panel, .sar-ui .dataTables_filter, .sar-ui .dataTables_length, .sar-ui .dataTables_paginate { display: none !important; }
    .sar-ui .main-wrapper .main-content { padding: 0 !important; margin: 0 !important; }
    .sar-ui .table-responsive, .sar-ui .ui-table-scroll { overflow: visible !important; max-height: none !important; }
    .sar-ui .card { break-inside: avoid; box-shadow: none; }
}
.sar-ui .card > .ui-page-header { padding: 20px; margin: 0; border-bottom: 1px solid var(--ui-border); }
.sar-ui .card > .ui-page-header .ui-page-title { font-size: 22px; }
.sar-ui .card > .ui-page-header .ui-page-actions > div { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sar-ui .section-header { background: transparent; box-shadow: none; padding: 0; margin-bottom: 22px; }
.sar-ui .section-header h1 { font-size: 25px; color: var(--ui-text); }
.sar-ui .nav-pills { gap: 4px; }
.sar-ui .nav-pills .nav-link { border-radius: 5px; color: var(--ui-secondary); font-size: 12px; padding: 8px 12px; }
.sar-ui .nav-pills .nav-link.active { color: var(--ui-primary); background: var(--ui-primary-soft); box-shadow: none; }
.sar-ui .project-form-card { box-shadow: none; }
 { background: #fff; border-color: var(--ui-border); box-shadow: none; }
 { background: #fff; color: var(--ui-text); border-color: var(--ui-border); box-shadow: none; }
 { color: var(--ui-muted); }
.sar-ui .ui-submitting:after { content: ' …'; }
@media(max-width:767px) { .sar-ui .card > .ui-page-header { padding: 16px; } .sar-ui .card > .ui-page-header .ui-page-title { font-size: 21px; } }
.sar-ui .ui-record-nav { display: flex; gap: 6px; overflow-x: auto; background: var(--ui-bg); padding: 8px 0 14px; margin-bottom: 18px; position: sticky; top: var(--ui-header-height); z-index: 20; border-bottom: 1px solid var(--ui-border); }
.sar-ui .ui-record-nav a { padding: 7px 10px; border: 1px solid var(--ui-border); background: #fff; border-radius: 5px; font-size: 12px; white-space: nowrap; color: var(--ui-secondary); }
.sar-ui .ui-record-nav a:hover { color: var(--ui-primary); border-color: #9fb5de; }
.sar-ui .ui-anchor { scroll-margin-top: 140px; }
.sar-ui [data-ui-tone=success] { color: var(--ui-success) !important; background: var(--ui-success-bg) !important; }
.sar-ui [data-ui-tone=warning] { color: var(--ui-warning) !important; background: var(--ui-warning-bg) !important; }
.sar-ui [data-ui-tone=danger] { color: var(--ui-danger) !important; background: var(--ui-danger-bg) !important; }
.sar-ui [data-ui-tone=primary] { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; }
.sar-ui [data-ui-tone=info] { color: var(--ui-info) !important; background: var(--ui-info-bg) !important; }
.sar-ui [data-ui-tone=neutral] { color: var(--ui-secondary) !important; background: #edf0f4 !important; }

.sar-ui .card-header h2 { font-size: 16px; margin: 0; }
.sar-ui .ui-document-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 20px; }
.sar-ui .ui-document-grid figure { margin: 0; min-width: 0; }
.sar-ui .ui-document-grid figcaption { font-weight: 600; margin-bottom: 10px; }
.sar-ui .ui-document-grid img { width: 100%; height: 180px; object-fit: contain; background: var(--ui-bg); border: 1px solid var(--ui-border); border-radius: 6px; }
@media(max-width:767px) {
    .sar-ui .ui-top-context { max-width: 0; }
    .sar-ui .ui-task-priorities a { align-items: flex-start; gap: 10px; }
    .sar-ui .ui-task-priorities a > span { min-width: 0; overflow-wrap: anywhere; }
}
.sar-ui .modal-content { border-radius: 10px !important; }
.sar-ui .select2-hidden-accessible { min-height: 0 !important; }

.sar-ui .alert .alert-link, .sar-ui .alert a:not(.btn) { color: inherit !important; text-decoration: underline; font-weight: 600; }

.sar-ui .ui-nav-search { margin: 16px 16px 2px; position: relative; }
.sar-ui .ui-nav-search input { width: 100%; border: 1px solid #363d57; border-radius: 7px; background: #20263c; color: #fff; padding: 9px 11px; min-height: 38px; font: inherit; font-size: 12px; }
.sar-ui .ui-nav-search input::placeholder { color: #a9b3cf; opacity: 1; }
.sar-ui .ui-nav-search input:focus { border-color: #a296e5; outline: 2px solid #a296e544; outline-offset: 1px; }
.sar-ui .ui-nav-results { padding: 12px; }
.sar-ui .ui-nav-results a { display: block; color: #d5dcf1; padding: 10px 12px; border-radius: 7px; font-size: 13px; }
.sar-ui .ui-nav-results a:hover, .sar-ui .ui-nav-results a:focus-visible { background: #35315d; color: #fff; }
.sar-ui .ui-nav-search-status { padding: 4px 12px 10px; color: #aab4d0; font-size: 11px; }
/* Legacy page containers follow the same page-heading/content rhythm. */
.sar-ui .card:has(> .ui-page-header) { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.sar-ui .card > .ui-page-header { padding: 0 0 21px; margin-bottom: 22px; }
.sar-ui .card > .ui-page-header .ui-page-title { font-size: 26px; letter-spacing: -.65px; }
.sar-ui .card:has(> .ui-page-header) > .card-body { background: #fff; border: 1px solid var(--ui-border); border-radius: 8px; box-shadow: none; }
.sar-ui .card .card-header .btn { border-radius: 7px !important; }
.sar-ui .ui-metric-strip { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); border-bottom: 1px solid var(--ui-border); margin: -2px 0 22px; padding-bottom: 20px; }
.sar-ui .ui-metric-strip .ui-stat { border: 0; border-right: 1px solid var(--ui-border); border-radius: 0; padding: 0 16px; box-shadow: none; }
.sar-ui .ui-metric-strip .ui-stat:first-child { padding-left: 0; }
.sar-ui .ui-metric-strip .ui-stat:last-child { border: 0; }
.sar-ui .ui-metric-strip .ui-stat-value { font-size: 23px; letter-spacing: -.7px; }
.sar-ui .work-heading h1 { font-size: 26px; letter-spacing: -.65px; }
.sar-ui .work-eyebrow { color: var(--ui-primary); font-size: 11px; letter-spacing: 1px; }
@media(max-width:1199px) { .sar-ui .ui-metric-strip { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 20px; } .sar-ui .ui-metric-strip .ui-stat:nth-child(4) { padding-left: 0; } .sar-ui .ui-metric-strip .ui-stat:nth-child(3) { border-right: 0; } }
@media(max-width:767px) {
 .sar-ui .card > .ui-page-header { padding: 0 0 17px; }
 .sar-ui .card > .ui-page-header .ui-page-title { font-size: 25px; }
 .sar-ui .ui-metric-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .sar-ui .ui-metric-strip .ui-stat:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--ui-border); }
 .sar-ui .ui-metric-strip .ui-stat:nth-child(even) { padding-left: 16px; border: 0; }
 .sar-ui .ui-metric-strip .ui-stat-value { font-size: 21px; }
}
@media(max-width:767px) {
 .sar-ui .table td.ui-empty-cell, .sar-ui .table td.dataTables_empty { text-align: left !important; } .sar-ui .work-banner { flex-wrap: wrap; gap: 4px !important; } }
