/* IAM-11D4: externalized page-scoped style blocks from leaves.html */

.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,
        [data-leave-wizard-step]:focus-visible {
            outline: 3px solid rgba(13, 110, 253, .35);
            outline-offset: 2px;
        }

        .stat-tile .display-6 {
            line-height: 1;
        }

        .leave-pill {
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: .35rem .7rem;
            font-size: .75rem;
            font-weight: 600;
        }

        .leave-pill-submitted {
            background: rgba(255, 193, 7, .14);
            color: #8a6d00;
        }

        .leave-pill-approved {
            background: rgba(25, 135, 84, .12);
            color: #146c43;
        }

        .leave-pill-rejected {
            background: rgba(220, 53, 69, .12);
            color: #b02a37;
        }

        .leave-pill-soft {
            background: rgba(108, 117, 125, .12);
            color: #495057;
        }

        .actions-cell {
            white-space: nowrap;
        }

            .actions-cell .btn {
                vertical-align: middle;
            }

        .info-kv th {
            width: 180px;
        }

        .info-kv th,
        .info-kv td {
            vertical-align: top;
            overflow-wrap: anywhere;
        }

        .reason-clamp {
            max-width: 420px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .status-banner {
            border: 1px dashed rgba(13, 110, 253, .25);
            background: rgba(13, 110, 253, .04);
        }

        .approval-row td {
            vertical-align: top;
        }

        .dataTables_length, .dataTables_filter {
            display: none;
        }

        .leave-create-wizard {
            display: grid;
            gap: 1rem;
        }

        .leave-create-wizard__steps {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .5rem;
        }

        .leave-create-wizard__step {
            border: 1px solid rgba(108, 117, 125, .22);
            border-radius: .5rem;
            background: #fff;
            padding: .75rem;
            text-align: left;
        }

        .leave-create-wizard__step.is-active {
            border-color: rgba(13, 110, 253, .55);
            background: rgba(13, 110, 253, .05);
        }

        .leave-create-wizard__step.is-complete {
            border-color: rgba(25, 135, 84, .4);
        }

        .leave-create-wizard__step-number {
            width: 1.75rem;
            height: 1.75rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            background: rgba(108, 117, 125, .12);
            font-weight: 700;
            font-size: .8rem;
            margin-right: .5rem;
        }

        .leave-create-wizard__step.is-active .leave-create-wizard__step-number {
            background: #0d6efd;
            color: #fff;
        }

        .leave-create-wizard__step.is-complete .leave-create-wizard__step-number {
            background: #198754;
            color: #fff;
        }

        .leave-create-wizard__section[hidden] {
            display: none !important;
        }

        .leave-smart-summary {
            border: 1px solid rgba(13, 110, 253, .14);
            border-radius: .75rem;
            background: linear-gradient(180deg, rgba(13, 110, 253, .045), rgba(255, 255, 255, .95));
            padding: .9rem;
        }

        .leave-smart-summary__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: .75rem;
        }

        .leave-smart-summary-card {
            min-width: 0;
            border: 1px solid rgba(108, 117, 125, .18);
            border-radius: .65rem;
            background: #fff;
            padding: .75rem;
        }

        .leave-smart-summary-card__label {
            color: var(--bs-secondary-color);
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .02em;
            text-transform: uppercase;
        }

        .leave-smart-summary-card__value {
            font-size: 1.05rem;
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        .leave-smart-summary-card.is-ok {
            border-color: rgba(25, 135, 84, .28);
            background: rgba(25, 135, 84, .045);
        }

        .leave-smart-summary-card.is-warn {
            border-color: rgba(255, 193, 7, .4);
            background: rgba(255, 193, 7, .08);
        }

        .leave-smart-summary-card.is-danger {
            border-color: rgba(220, 53, 69, .32);
            background: rgba(220, 53, 69, .055);
        }

        .leave-smart-summary-card.is-muted {
            background: rgba(108, 117, 125, .045);
        }

        .leave-manager-ops {
            border: 1px solid rgba(13, 110, 253, .14);
            border-radius: .75rem;
            background: linear-gradient(180deg, rgba(13, 110, 253, .04), rgba(255, 255, 255, .96));
            padding: .9rem;
        }

        .leave-manager-ops__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: .75rem;
        }

        .leave-manager-ops__card,
        .leave-manager-signal {
            min-width: 0;
            border: 1px solid rgba(108, 117, 125, .18);
            border-radius: .65rem;
            background: #fff;
            padding: .75rem;
        }

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

        .leave-manager-ops__value {
            font-size: 1.15rem;
            font-weight: 700;
        }

        .leave-manager-signal {
            max-width: 260px;
            padding: .65rem;
        }

        .leave-manager-signal.is-ready {
            border-color: rgba(25, 135, 84, .28);
            background: rgba(25, 135, 84, .045);
        }

        .leave-manager-signal.is-warn {
            border-color: rgba(255, 193, 7, .4);
            background: rgba(255, 193, 7, .08);
        }

        .leave-manager-signal.is-blocker {
            border-color: rgba(220, 53, 69, .32);
            background: rgba(220, 53, 69, .055);
        }

        .leave-manager-signal.is-closed {
            background: rgba(108, 117, 125, .045);
        }

        .leave-hr-compliance {
            border: 1px solid rgba(25, 135, 84, .16);
            border-radius: .75rem;
            background: linear-gradient(180deg, rgba(25, 135, 84, .045), rgba(255, 255, 255, .96));
            padding: .9rem;
        }

        .leave-hr-compliance__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: .75rem;
        }

        .leave-hr-compliance__card,
        .leave-hr-risk-list {
            min-width: 0;
            border: 1px solid rgba(108, 117, 125, .18);
            border-radius: .65rem;
            background: #fff;
            padding: .75rem;
        }

        .leave-hr-compliance__label {
            color: var(--bs-secondary-color);
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .02em;
            text-transform: uppercase;
        }

        .leave-hr-compliance__value {
            font-size: 1.15rem;
            font-weight: 700;
        }

        .leave-hr-risk-list {
            display: grid;
            gap: .55rem;
        }

        .leave-hr-risk-item {
            border-bottom: 1px solid rgba(108, 117, 125, .14);
            padding-bottom: .5rem;
        }

        .leave-hr-risk-item:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        .leave-detail-priority {
            border: 1px solid rgba(13, 110, 253, .14);
            border-radius: .75rem;
            background: linear-gradient(180deg, rgba(13, 110, 253, .045), rgba(255, 255, 255, .96));
            padding: .9rem;
        }

        .leave-detail-priority__grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: .75rem;
        }

        .leave-detail-priority-card {
            min-width: 0;
            border: 1px solid rgba(108, 117, 125, .18);
            border-radius: .65rem;
            background: #fff;
            padding: .75rem;
        }

        .leave-detail-priority-card__label {
            color: var(--bs-secondary-color);
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .02em;
            text-transform: uppercase;
        }

        .leave-detail-priority-card__value {
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        .leave-detail-priority-card.is-ok {
            border-color: rgba(25, 135, 84, .28);
            background: rgba(25, 135, 84, .045);
        }

        .leave-detail-priority-card.is-warn {
            border-color: rgba(255, 193, 7, .4);
            background: rgba(255, 193, 7, .08);
        }

        .leave-detail-priority-card.is-danger {
            border-color: rgba(220, 53, 69, .32);
            background: rgba(220, 53, 69, .055);
        }

        .leave-detail-priority-card.is-muted {
            background: rgba(108, 117, 125, .045);
        }

        .leave-analytics {
            border: 1px solid rgba(13, 110, 253, .14);
            border-radius: .75rem;
            background: linear-gradient(180deg, rgba(13, 110, 253, .04), rgba(255, 255, 255, .96));
            padding: .9rem;
        }

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

        .leave-analytics-card {
            min-width: 0;
            border: 1px solid rgba(108, 117, 125, .18);
            border-radius: .65rem;
            background: #fff;
            padding: .75rem;
        }

        .leave-analytics-card__label {
            color: var(--bs-secondary-color);
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .02em;
            text-transform: uppercase;
        }

        .leave-analytics-card__value {
            font-size: 1.15rem;
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        .leave-analytics-trend {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            align-items: end;
            gap: .35rem;
            min-height: 76px;
        }

        .leave-analytics-trend__bar {
            min-height: .35rem;
            border-radius: .35rem .35rem .15rem .15rem;
            background: linear-gradient(180deg, rgba(13, 110, 253, .75), rgba(13, 110, 253, .22));
        }

        .leave-analytics-trend__label {
            font-size: .68rem;
            color: var(--bs-secondary-color);
            text-align: center;
        }

        .leave-health-score {
            width: 3.2rem;
            height: 3.2rem;
            border-radius: 999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            background: rgba(25, 135, 84, .1);
            color: #146c43;
        }

        .leave-empty-state {
            border: 1px dashed rgba(108, 117, 125, .28);
            border-radius: .75rem;
            background: rgba(108, 117, 125, .035);
            padding: 1rem;
            text-align: center;
        }

        .leave-loading-state {
            border-radius: .75rem;
            background: linear-gradient(90deg, rgba(108, 117, 125, .08), rgba(108, 117, 125, .02), rgba(108, 117, 125, .08));
            padding: 1rem;
            text-align: center;
        }

        .leave-role-focus {
            border: 1px solid rgba(13, 110, 253, .14);
            border-radius: .75rem;
            background: rgba(13, 110, 253, .035);
            padding: .9rem;
        }

        .leave-role-focus__chips {
            display: flex;
            flex-wrap: wrap;
            gap: .45rem;
        }

        .leave-role-focus__chips .btn.active {
            color: #fff;
            background: #0d6efd;
            border-color: #0d6efd;
        }

        .leave-role-focus__body {
            border-top: 1px solid rgba(108, 117, 125, .16);
            margin-top: .75rem;
            padding-top: .75rem;
        }

        .is-role-highlight {
            box-shadow: 0 0 0 .18rem rgba(13, 110, 253, .12);
            border-color: rgba(13, 110, 253, .32) !important;
        }

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

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

        .leave-detail-responsive-panel,
        .leave-detail-responsive-panel * {
            min-width: 0;
        }

        @media (max-width: 767.98px) {
            .leave-create-wizard__steps {
                grid-template-columns: 1fr;
            }

            .leave-smart-summary__grid {
                grid-template-columns: 1fr;
            }

            .leave-manager-ops__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .leave-hr-compliance__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .leave-detail-priority__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .leave-analytics__grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .leave-create-wizard__step {
                padding: .65rem;
            }

            .reason-clamp {
                max-width: 100%;
                -webkit-line-clamp: 4;
            }
        }

        @media (max-width: 575.98px) {
            .page-name {
                max-width: 70vw;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

            .border-bg {
                border-radius: .75rem !important;
            }

            .info-kv tr {
                display: grid;
                grid-template-columns: 1fr;
                gap: .15rem;
                padding: .45rem 0;
                border-bottom: 1px solid rgba(0, 0, 0, .06);
            }

            .info-kv th,
            .info-kv td {
                display: block;
                width: 100%;
                border-bottom: 0;
                padding: .15rem .25rem !important;
            }

            .info-kv th {
                color: var(--bs-secondary-color);
                font-size: .74rem;
                text-transform: uppercase;
            }

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

            .leave-responsive-actions .btn {
                width: 100%;
            }

            .leave-create-wizard__step .small {
                display: none !important;
            }

            .leave-manager-ops__grid {
                grid-template-columns: 1fr;
            }

            .leave-manager-signal {
                max-width: 100%;
            }

            .leave-hr-compliance__grid {
                grid-template-columns: 1fr;
            }

            .leave-detail-priority__grid {
                grid-template-columns: 1fr;
            }

            .leave-analytics__grid {
                grid-template-columns: 1fr;
            }
        }

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