.leave-skip-link {
    position: absolute;
    top: .75rem;
    left: .75rem;
    z-index: 2000;
    transform: translateY(-150%);
    border-radius: .5rem;
    background: #0d6efd;
    color: #fff;
    font-weight: 700;
    padding: .65rem .9rem;
    text-decoration: none;
    transition: transform .18s ease;
}

.leave-skip-link:focus {
    transform: translateY(0);
    color: #fff;
}

.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .35);
    outline-offset: 2px;
}

.leave-empty-state,
.leave-loading-state,
.leave-ui-empty-state,
.leave-ui-loading-state {
    border: 1px dashed rgba(108, 117, 125, .28);
    border-radius: .75rem;
    background: rgba(248, 249, 250, .72);
    color: var(--bs-secondary-color);
    padding: 1rem;
    text-align: center;
}

.leave-loading-state,
.leave-ui-loading-state {
    border-color: rgba(13, 110, 253, .24);
    background: rgba(13, 110, 253, .045);
}

.leave-ui-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    border-radius: .9rem;
    border-width: 1px;
    box-shadow: none;
}

.leave-ui-alert::before {
    content: "";
    flex: 0 0 .55rem;
    width: .55rem;
    height: .55rem;
    margin-top: .45rem;
    border-radius: 999px;
    background: currentColor;
}

.leave-ui-alert.alert-danger {
    border-color: rgba(220, 53, 69, .26);
    background: rgba(220, 53, 69, .06);
}

.leave-ui-alert.alert-success {
    border-color: rgba(25, 135, 84, .24);
    background: rgba(25, 135, 84, .06);
}

.leave-ui-alert.alert-info {
    border-color: rgba(13, 202, 240, .28);
    background: rgba(13, 202, 240, .06);
}

.leave-ui-inline-status {
    display: block;
    min-height: 1.25rem;
    font-size: .875rem;
}

.leave-ui-inline-status.is-error {
    color: var(--bs-danger);
}

.leave-ui-inline-status.is-muted {
    color: var(--bs-secondary-color);
}

.leave-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.leave-ui-page,
.leave-ui-page-container {
    min-width: 0;
}

.leave-ui-page-breadcrumbs .right-breadcrumb {
    min-width: 0;
}

.leave-ui-page-title {
    line-height: 1.2;
    margin: 0;
}

.leave-ui-page-actions {
    min-width: 0;
}

.leave-ui-page-actions .btn,
.leave-ui-page-actions .hover-svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
}

.leave-ui-icon-link,
.hover-svg {
    border-radius: .65rem;
    color: inherit;
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

.leave-ui-icon-link svg,
.hover-svg svg {
    transition: transform .15s ease, opacity .15s ease;
}

.leave-ui-icon-link:hover,
.hover-svg:hover {
    background: rgba(13, 110, 253, .06);
    color: var(--bs-primary);
}

.leave-ui-icon-link:hover svg,
.hover-svg:hover svg {
    transform: scale(1.06);
}

.leave-ui-muted,
.mini-muted {
    color: var(--bs-secondary-color);
    font-size: .85rem;
}

.leave-ui-card,
.content-area .card.rounded-4 {
    border-color: rgba(15, 23, 42, .08);
    box-shadow: 0 .35rem 1.2rem rgba(15, 23, 42, .045);
}

.leave-ui-card-body {
    min-width: 0;
}

.leave-ui-metric-card,
.stat-tile,
.metric-card,
.analytics-card,
.hero-note-box {
    border-color: rgba(15, 23, 42, .08);
    box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .035);
}

.leave-ui-metric-card h4,
.leave-ui-metric-card .display-6,
.stat-tile h4,
.stat-tile .display-6,
.metric-card h4,
.metric-card .display-6 {
    line-height: 1;
}

.leave-ui-responsive-actions,
.leave-responsive-actions,
.calendar-responsive-actions {
    min-width: 0;
}

.leave-ui-responsive-actions .btn,
.leave-responsive-actions .btn,
.calendar-responsive-actions .btn {
    white-space: nowrap;
}

.leave-ui-sticky-detail,
.sticky-detail {
    top: 90px;
}

.leave-ui-document-shell,
.document-shell {
    min-width: 0;
}

.leave-ui-document-page,
.document-page {
    border-color: rgba(15, 23, 42, .1);
}

.leave-ui-print-actions,
.print-actions {
    border-color: rgba(15, 23, 42, .08);
}

.leave-ui-print-actions .document-shell,
.print-actions .document-shell {
    margin-top: 0;
    margin-bottom: 0;
}

.leave-ui-chart-frame {
    min-height: 320px;
}

.leave-ui-inline-size-control {
    max-width: 100%;
}

.leave-ui-scroll-region {
    scrollbar-width: thin;
    scrollbar-color: rgba(108, 117, 125, .45) transparent;
}

.leave-ui-scroll-region::-webkit-scrollbar {
    width: .55rem;
    height: .55rem;
}

.leave-ui-scroll-region::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(108, 117, 125, .45);
}

.leave-ui-surface,
.leave-ui-panel,
.leave-ui-filter-panel,
.leave-ui-table-shell {
    border-color: rgba(15, 23, 42, .08);
}

.leave-ui-panel,
.leave-ui-filter-panel {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1rem;
    background: #fff;
}

.leave-ui-panel--soft {
    background: linear-gradient(180deg, rgba(13, 110, 253, .045), rgba(255, 255, 255, .96));
}

.leave-ui-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
}

.leave-ui-panel__eyebrow,
.leave-ui-signal__label {
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.leave-ui-panel__title {
    margin-bottom: .25rem;
    font-weight: 700;
}

.leave-ui-panel__subtitle,
.leave-ui-signal__hint {
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

.leave-ui-signal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.leave-ui-signal {
    min-height: 100%;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .9rem;
    background: #fff;
    padding: .9rem;
}

.leave-ui-signal__value,
.leave-ui-signal .value {
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.1;
}

.leave-ui-risk-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.leave-ui-risk-item {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .85rem;
    background: #fff;
    padding: .8rem;
}

.leave-ui-risk-item.is-danger {
    border-color: rgba(220, 53, 69, .35);
    background: rgba(220, 53, 69, .045);
}

.leave-ui-risk-item.is-warning {
    border-color: rgba(255, 193, 7, .45);
    background: rgba(255, 193, 7, .08);
}

.leave-ui-risk-item.is-info {
    border-color: rgba(13, 202, 240, .35);
    background: rgba(13, 202, 240, .055);
}

.leave-ui-filter-panel {
    position: relative;
    padding: 1rem;
}

.leave-ui-filter-panel form,
.leave-ui-form,
#leaveFilterForm,
#filterForm,
#policiesFilterForm {
    width: 100%;
}

.leave-ui-form-field,
.content-area .form-floating,
.meb-modal .form-floating {
    min-width: 0;
}

.leave-ui-control,
.content-area .form-control,
.content-area .form-select,
.meb-modal .form-control,
.meb-modal .form-select,
.print-actions .form-control,
.print-actions .form-select {
    border-color: rgba(15, 23, 42, .12);
    border-radius: .75rem;
    box-shadow: none;
    min-height: 46px;
}

.leave-ui-control.form-control-sm,
.content-area .form-control-sm,
.content-area .form-select-sm {
    min-height: 34px;
    border-radius: .6rem;
}

.content-area textarea.form-control,
.meb-modal textarea.form-control {
    min-height: 96px;
}

.content-area .form-control:focus,
.content-area .form-select:focus,
.meb-modal .form-control:focus,
.meb-modal .form-select:focus,
.print-actions .form-control:focus,
.print-actions .form-select:focus {
    border-color: rgba(13, 110, 253, .58);
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .12);
}

.content-area .form-floating > label,
.meb-modal .form-floating > label,
.content-area .form-label,
.meb-modal .form-label {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    font-weight: 600;
}

.leave-ui-form-check,
.content-area .form-check,
.meb-modal .form-check {
    min-width: 0;
}

.leave-ui-check-input,
.content-area .form-check-input,
.meb-modal .form-check-input {
    border-color: rgba(15, 23, 42, .18);
    box-shadow: none;
}

.content-area .form-check-input:focus,
.meb-modal .form-check-input:focus {
    border-color: rgba(13, 110, 253, .58);
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .12);
}

.content-area .form-check-input:checked,
.meb-modal .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.leave-ui-form-help,
.content-area .form-text,
.content-area .invalid-feedback,
.content-area .valid-feedback,
.meb-modal .form-text,
.meb-modal .invalid-feedback,
.meb-modal .valid-feedback {
    font-size: .8125rem;
}

.leave-ui-control.is-invalid,
.content-area .form-control.is-invalid,
.content-area .form-select.is-invalid,
.content-area [aria-invalid="true"],
.meb-modal .form-control.is-invalid,
.meb-modal .form-select.is-invalid,
.meb-modal [aria-invalid="true"] {
    border-color: rgba(220, 53, 69, .72);
    box-shadow: 0 0 0 .15rem rgba(220, 53, 69, .1);
}

.leave-ui-filter-panel .row {
    row-gap: 1rem;
}

.leave-ui-filter-panel .leave-ui-action-bar,
.leave-ui-filter-panel .d-flex.gap-2 {
    min-height: 46px;
}

.leave-ui-action-bar {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.d-grid.leave-ui-action-bar {
    display: grid;
}

.leave-ui-action-bar .btn {
    min-height: 38px;
}

.leave-ui-button,
.content-area .btn:not(.btn-close),
.leave-ui-action-bar .btn,
.leave-responsive-actions .btn,
.calendar-responsive-actions .btn,
.print-actions .btn,
.meb-modal__footer-actions .btn,
.meb-modal__actions .btn:not(.btn-close) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: .65rem;
    font-weight: 600;
    line-height: 1.2;
}

.leave-ui-button.btn-sm,
.content-area .btn-sm:not(.btn-close),
.leave-responsive-actions .btn-sm,
.calendar-responsive-actions .btn-sm,
.actions-cell .btn-sm {
    min-height: 32px;
    border-radius: .55rem;
}

.leave-ui-button.rounded-pill,
.leave-responsive-actions .rounded-pill,
.calendar-responsive-actions .rounded-pill,
.print-actions .rounded-pill {
    border-radius: 999px;
}

.leave-ui-icon-button,
.action-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .65rem;
}

.leave-ui-row-actions,
.actions-cell {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

.leave-ui-row-actions .btn-link,
.actions-cell .btn-link {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .55rem;
    background: #fff;
    text-decoration: none;
}

.leave-ui-badge,
.content-area .badge,
.meb-modal .badge,
.print-actions .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    border-radius: 999px;
    font-weight: 700;
    line-height: 1.1;
}

.leave-ui-chip,
.leave-pill,
.type-pill,
.soft-chip,
.badge-soft,
.calendar-capacity-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.1;
}

.leave-ui-chip {
    padding: .35rem .65rem;
    border: 1px solid rgba(15, 23, 42, .08);
    background: rgba(248, 249, 250, .86);
    color: var(--bs-secondary-color);
}

.leave-ui-chip--success {
    border-color: rgba(25, 135, 84, .22);
    background: rgba(25, 135, 84, .1);
    color: #146c43;
}

.leave-ui-chip--warning {
    border-color: rgba(255, 193, 7, .32);
    background: rgba(255, 193, 7, .14);
    color: #664d03;
}

.leave-ui-chip--danger {
    border-color: rgba(220, 53, 69, .22);
    background: rgba(220, 53, 69, .1);
    color: #842029;
}

.leave-ui-chip--info {
    border-color: rgba(13, 202, 240, .25);
    background: rgba(13, 202, 240, .1);
    color: #055160;
}

.leave-ui-table-shell {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.leave-ui-table-shell .table,
.content-area .table-responsive .table,
.content-area .table-wrap .table,
.content-area .holiday-table-wrap .table,
.content-area .blocked-period-table-wrap .table {
    min-width: 920px;
}

.leave-ui-table-wrap,
.content-area .table-responsive,
.content-area .table-wrap,
.content-area .holiday-table-wrap,
.content-area .blocked-period-table-wrap {
    border-color: rgba(15, 23, 42, .08);
    -webkit-overflow-scrolling: touch;
}

.leave-ui-table,
.content-area table.table,
.meb-modal table.table,
.print-actions table.table {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: rgba(13, 110, 253, .035);
    border-color: rgba(15, 23, 42, .08);
}

.leave-ui-table thead th,
.content-area table.table thead th,
.meb-modal table.table thead th,
.print-actions table.table thead th {
    border-bottom-color: rgba(15, 23, 42, .1);
    color: var(--bs-secondary-color);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.leave-ui-table tbody td,
.content-area table.table tbody td,
.meb-modal table.table tbody td,
.print-actions table.table tbody td {
    border-color: rgba(15, 23, 42, .065);
    vertical-align: middle;
}

.leave-ui-table.table-sm tbody td,
.content-area table.table-sm tbody td,
.meb-modal table.table-sm tbody td {
    padding-top: .45rem;
    padding-bottom: .45rem;
}

.leave-ui-table-empty-row,
.leave-ui-table-empty-row td,
.content-area table.table tbody tr td[colspan].text-center,
.meb-modal table.table tbody tr td[colspan].text-center {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    background: rgba(248, 249, 250, .72);
}

.leave-ui-kv-table th,
.content-area .kv-table th,
.content-area .info-kv th,
.meb-modal .kv-table th,
.meb-modal .info-kv th {
    color: var(--bs-secondary-color);
    font-size: .8125rem;
    font-weight: 700;
}

.leave-ui-kv-table td,
.content-area .kv-table td,
.content-area .info-kv td,
.meb-modal .kv-table td,
.meb-modal .info-kv td {
    font-weight: 600;
}

.leave-ui-list,
.leave-ui-risk-list,
.leave-hr-risk-list,
.accrual-ops-list,
.policy-governance-list,
.type-readiness-list,
.balance-risk-list {
    min-width: 0;
}

.leave-ui-list-item,
.soft-list-item,
.insight-item {
    min-width: 0;
}

.leave-ui-list-item + .leave-ui-list-item,
.soft-list-item + .soft-list-item,
.insight-item + .insight-item {
    border-top: 1px dashed rgba(15, 23, 42, .1);
    margin-top: .75rem;
    padding-top: .75rem;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_paginate {
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

.leave-ui-modal-host .modal-content,
.leave-ui-modal,
.meb-modal {
    border-radius: 1rem;
}

.leave-ui-modal-dialog,
.meb-modal-dialog {
    margin-right: auto;
    margin-left: auto;
}

.leave-ui-modal-header,
.leave-ui-modal-host .modal-header,
.meb-modal__header {
    border-bottom-color: rgba(15, 23, 42, .08);
}

.leave-ui-modal-body,
.leave-ui-modal-host .modal-body,
.meb-modal__body {
    min-width: 0;
}

.leave-ui-modal-footer,
.leave-ui-modal-host .modal-footer,
.meb-modal__footer {
    border-top-color: rgba(15, 23, 42, .08);
}

.leave-ui-modal-title,
.meb-modal__title {
    line-height: 1.2;
}

.leave-ui-modal-subtitle,
.meb-modal__subtitle {
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

.leave-ui-modal-status,
.meb-modal__footer-status {
    color: var(--bs-secondary-color);
    font-size: .875rem;
    min-height: 1.25rem;
}

.leave-ui-modal-actions,
.meb-modal__actions,
.meb-modal__footer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

.leave-ui-modal-callout,
.meb-modal__callout,
.meb-modal__panel {
    border-radius: .85rem;
}

.leave-ui-modal-submit,
[data-modal-submit] {
    min-width: 96px;
}

.leave-ui-status-badge {
    border-radius: 999px;
    padding: .45rem .75rem;
    font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 991.98px) {
    .leave-ui-signal-grid,
    .leave-ui-risk-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .leave-ui-signal-grid,
    .leave-ui-risk-list {
        grid-template-columns: 1fr;
    }

    .leave-ui-action-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .leave-ui-action-bar .btn,
    .leave-ui-responsive-actions .btn,
    .leave-responsive-actions .btn,
    .calendar-responsive-actions .btn {
        width: 100%;
    }

    .leave-ui-responsive-actions,
    .leave-responsive-actions,
    .calendar-responsive-actions {
        align-items: stretch !important;
        flex-direction: column;
        width: 100%;
    }

    .leave-ui-row-actions,
    .actions-cell {
        flex-wrap: wrap;
        white-space: normal;
    }

    .leave-ui-table-shell .table,
    .content-area .table-responsive .table,
    .content-area .table-wrap .table,
    .content-area .holiday-table-wrap .table,
    .content-area .blocked-period-table-wrap .table {
        min-width: 760px;
    }

    .leave-ui-modal-actions,
    .meb-modal__actions,
    .meb-modal__footer-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .leave-ui-modal-actions .btn,
    .meb-modal__actions .btn:not(.btn-close),
    .meb-modal__footer-actions .btn {
        width: 100%;
    }
}

@media print {
    .leave-skip-link,
    #leaveA11yAnnouncer {
        display: none !important;
    }
}

/* L-12 accessibility closure */
.leave-ui-page-title,
.page-name:is(h1) {
    margin: 0;
}

.leave-ui-table-wrap[tabindex="0"],
.table-responsive[tabindex="0"],
.table-wrap[tabindex="0"],
.holiday-table-wrap[tabindex="0"],
.blocked-period-table-wrap[tabindex="0"] {
    scroll-margin: .5rem;
}

.leave-ui-table-wrap[tabindex="0"]:focus-visible,
.table-responsive[tabindex="0"]:focus-visible,
.table-wrap[tabindex="0"]:focus-visible,
.holiday-table-wrap[tabindex="0"]:focus-visible,
.blocked-period-table-wrap[tabindex="0"]:focus-visible {
    outline: 3px solid rgba(13, 110, 253, .45);
    outline-offset: 3px;
}

.content-area [aria-invalid="true"],
.meb-modal [aria-invalid="true"] {
    border-color: #b02a37;
}

.content-area [role="alert"]:not(:empty),
.meb-modal [role="alert"]:not(:empty) {
    font-weight: 600;
}

@media (forced-colors: active) {
    .leave-skip-link,
    .leave-ui-button,
    .leave-ui-chip,
    .leave-ui-badge,
    .leave-ui-alert,
    .leave-ui-card,
    .leave-ui-panel,
    .leave-ui-table-wrap,
    .table-responsive {
        border: 1px solid CanvasText;
        forced-color-adjust: auto;
    }

    .btn:focus-visible,
    .form-control:focus-visible,
    .form-select:focus-visible,
    .form-check-input:focus-visible,
    a:focus-visible,
    [tabindex]:focus-visible {
        outline: 3px solid Highlight;
    }
}
