 :root{
        --sidebar-bg:#222e3c; /* slate-900 */
        --sidebar-fg:#cbd5e1; /* slate-300 */
        --sidebar-fg-dim:#94a3b8; /* slate-400 */
        --sidebar-active:#ffffff;
        --brand:#2563eb; /* blue-600 */
        --card-radius: 16px;
      }
      *{font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif;}
      body{min-height:100vh; overflow-x:hidden; background:#f6f7fb;}
      .navbar{background:#ffffff;}
      .sidebar{width: 270px; background:var(--sidebar-bg); color:var(--sidebar-fg); transition: width .2s ease; overflow-y:auto;}
      .sidebar.collapsed{width: 78px;}
      .sidebar .brand{height: 56px; position: sticky; top:0; background:var(--sidebar-bg); z-index:2;}
      .sidebar .brand .logo{height: 28px; width:auto;}
      .sidebar .nav-section{color:var(--sidebar-fg-dim); font-weight:600; letter-spacing:.04em; font-size:.78rem; padding:14px 16px 6px;}
      .sidebar a.nav-link{color:var(--sidebar-fg); border-radius:10px; padding:.625rem .75rem; display:flex; align-items:center; gap:.75rem;}
      .sidebar a.nav-link:hover{color:var(--sidebar-active); background:rgba(255,255,255,.06);}
      .sidebar a.nav-link.active{color:#111827; background:#e5edff;}
      .sidebar .label{transition: opacity .2s; white-space:nowrap;}
      .sidebar.collapsed .label{opacity:0;}
      .content{transition: margin-left .2s ease; margin-left:270px;}
      .content.full{margin-left:78px;}
      .sidebar::-webkit-scrollbar{width:8px;} .sidebar::-webkit-scrollbar-thumb{background:#23304a; border-radius:8px;}
      .card{border-radius: var(--card-radius); border:1px solid #eef2ff;}
      .table thead th{font-weight:700;}
.leave-card {
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
}
.leave-card:hover {
    transform: translateY(-5px);
}
.leave-card h5 {
    font-weight: 600;
    margin-bottom: 10px;
}
.leave-card .stat {
    font-size: 14px;
    margin: 2px 0;
}
.leave-green { background: #e9f9f0; border-left: 6px solid #28a745; }
.leave-yellow { background: #fff7e6; border-left: 6px solid #ffc107; }
.leave-red { background: #fdecea; border-left: 6px solid #dc3545; }
.leave-blue { background: #e8f1ff; border-left: 6px solid #007bff; }
/* Prevent Select2 dropdown from blocking scroll */
    .select2-container--open .select2-dropdown {
        z-index: 1055 !important; /* Above modal */
        position: absolute; /* Ensure dropdown doesn’t interfere with modal scroll */
    }

    /* Fix touch scrolling issues */
    .modal-content, .modal-body, .select2-dropdown {
        touch-action: auto; /* Allow touch scrolling */
    }

    /* Style Select2 to match Bootstrap 5 form-control */
    .select2-container--default .select2-selection--single {
        border: 1px solid #ced4da;
        border-radius: 0.25rem;
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
        line-height: 1.5;
        height: calc(1.5em + 0.75rem + 2px);
        background-color: #fff;
        transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    }

    .select2-container--default .select2-selection--single:focus {
        border-color: #86b7fe;
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    }

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: #212529;
        line-height: 1.5;
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: calc(1.5em + 0.75rem);
        right: 0.75rem;
    }

    .select2-container--open .select2-dropdown {
        border: 1px solid #ced4da;
        border-radius: 0.25rem;
    }

    .select2-container--default .select2-results__option {
        font-size: 1rem;
        padding: 0.375rem 0.75rem;
    }

    .select2-container--default .select2-results__option--highlighted {
        background-color: #f8f9fa;
        color: #212529;
    }

    .select2-container--default .select2-results__option--selected {
        background-color: #e9ecef;
    }

    .select2-container--default .select2-search--dropdown .select2-search__field {
        border: 1px solid #ced4da;
        border-radius: 0.25rem;
        padding: 0.375rem 0.75rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .select2-container--default.select2-container--disabled .select2-selection--single {
        background-color: #e9ecef;
        opacity: 1;
    }