﻿/* GENEL DEĞİŞKENLER */
:root {
    --sidebar-width: 270px;
    --sidebar-bg: #102a43;
    --sidebar-bg-dark: #0b2239;
    --sidebar-text: #c9d6e2;
    --sidebar-muted: #7890a8;
    --sidebar-active: #1976d2;
    --page-bg: #f3f6fa;
    --border-color: #e4e9f0;
    --text-main: #1f2937;
    --text-muted: #6b7280;
    --primary: #1976d2;
}

html,
body {
    min-height: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    margin: 0;
    color: var(--text-main);
    background-color: var(--page-bg);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

a {
    text-decoration: none;
}

.app-shell {
    min-height: 100vh;
}

.app-sidebar {
    --bs-offcanvas-width: var(--sidebar-width);
    width: var(--sidebar-width) !important;
    color: #ffffff;
    background: linear-gradient( 180deg, var(--sidebar-bg) 0%, var(--sidebar-bg-dark) 100% );
    border: 0 !important;
}

.sidebar-header {
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
}

    .sidebar-brand:hover {
        color: #ffffff;
    }

    .sidebar-brand strong {
        display: block;
        font-size: 16px;
        letter-spacing: 0.4px;
    }

    .sidebar-brand small {
        display: block;
        margin-top: 2px;
        color: #91a7bc;
        font-size: 11px;
    }

.brand-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background-color: var(--sidebar-active);
    border-radius: 10px;
    font-size: 20px;
}

.sidebar-body {
    height: calc(100vh - 128px);
    padding: 16px 12px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

.sidebar-section-title {
    margin: 18px 12px 8px;
    color: var(--sidebar-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

    .sidebar-section-title:first-child {
        margin-top: 4px;
    }

.sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sidebar-link {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 13px;
    color: var(--sidebar-text);
    border-radius: 8px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

    .sidebar-link > i:first-child {
        width: 21px;
        font-size: 17px;
        text-align: center;
    }

    .sidebar-link span {
        flex-grow: 1;
    }

    .sidebar-link:hover {
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.08);
    }

    .sidebar-link.active {
        color: #ffffff;
        background-color: var(--sidebar-active);
        box-shadow: 0 4px 12px rgba(25, 118, 210, 0.30);
    }

.sidebar-arrow {
    flex-grow: 0 !important;
    font-size: 11px;
    opacity: 0.6;
}

.sidebar-footer {
    height: 54px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 24px;
    color: #91a7bc;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
}

    .sidebar-footer i {
        font-size: 8px;
    }

.sidebar-submenu {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 5px 0 8px 23px;
    padding-left: 22px;
}

    .sidebar-submenu::before {
        position: absolute;
        top: 4px;
        bottom: 4px;
        left: 0;
        width: 1px;
        background-color: rgba(255, 255, 255, 0.12);
        content: "";
    }

    .sidebar-submenu a {
        padding: 8px 10px;
        color: #9fb1c4;
        border-radius: 6px;
        font-size: 12px;
        transition: color 0.15s ease, background-color 0.15s ease;
    }

        .sidebar-submenu a:hover {
            color: #ffffff;
            background-color: rgba(255, 255, 255, 0.07);
        }

        .sidebar-submenu a.active {
            color: #ffffff;
            background-color: rgba(25, 118, 210, 0.35);
        }

.sidebar-count {
    min-width: 22px;
    flex-grow: 0 !important;
    padding: 2px 6px;
    color: #d8e8f8;
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

.sidebar-count-danger {
    color: #ffffff;
    background-color: #dc3545;
}

.sidebar-body::-webkit-scrollbar {
    width: 6px;
}

.sidebar-body::-webkit-scrollbar-track {
    background-color: transparent;
}

.sidebar-body::-webkit-scrollbar-thumb {
    background-color: transparent;
    border-radius: 10px;
}

.sidebar-body:hover::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.25);
}

    .sidebar-body:hover::-webkit-scrollbar-thumb:hover {
        background-color: rgba(255, 255, 255, 0.42);
    }

.sidebar-body::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none;
}

.app-main {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.app-topbar {
    position: sticky;
    top: 0;
    z-index: 1020;
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-color);
}

.topbar-title {
    color: var(--text-main);
    font-size: 17px;
    font-weight: 600;
}

.topbar-menu-button {
    margin-right: 10px;
    padding: 5px 8px;
    border: 0;
    font-size: 24px;
}

.topbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.topbar-action-button {
    position: relative;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #52606d;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 10px;
}

    .topbar-action-button:hover {
        color: var(--primary);
        background-color: #f4f7fb;
    }

.notification-dot {
    position: absolute;
    top: 8px;
    right: 9px;
    width: 7px;
    height: 7px;
    background-color: #dc3545;
    border: 2px solid #ffffff;
    border-radius: 50%;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 8px;
    border: 0;
}

.user-avatar {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1565c0;
    background-color: #e8f1fb;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
}

.user-info {
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
}

    .user-info strong {
        color: #273444;
        font-size: 13px;
        font-weight: 600;
    }

    .user-info small {
        margin-top: 3px;
        color: var(--text-muted);
        font-size: 11px;
    }

.app-content {
    flex-grow: 1;
    padding: 24px;
}

.app-footer {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    color: var(--text-muted);
    background-color: #ffffff;
    border-top: 1px solid var(--border-color);
    font-size: 12px;
}

.page-title {
    margin: 0 0 5px;
    color: #1e293b;
    font-size: 24px;
    font-weight: 700;
}

.page-description {
    margin: 0;
    color: var(--text-muted);
}

/* ORTAK KART YÜZEYİ */
.page-card,
.personel-ui .page-card {
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.dropdown-menu {
    border-color: var(--border-color);
    border-radius: 10px;
    font-size: 13px;
}

.dropdown-item {
    padding: 9px 15px;
}

.stat-card {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.stat-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    font-size: 23px;
}

.stat-icon-blue {
    color: #1565c0;
    background-color: #e8f1fb;
}

.stat-icon-green {
    color: #168249;
    background-color: #e8f7ef;
}

.stat-icon-orange {
    color: #c66a09;
    background-color: #fff2df;
}

.stat-icon-red {
    color: #c93636;
    background-color: #fdecec;
}

.stat-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

    .stat-content > span {
        color: var(--text-muted);
        font-size: 12px;
        font-weight: 600;
    }

    .stat-content strong {
        margin: 3px 0;
        color: #172033;
        font-size: 25px;
    }

    .stat-content small {
        color: var(--text-muted);
        font-size: 11px;
    }

.card-section-header {
    min-height: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border-color);
}

    .card-section-header h2 {
        margin: 0 0 3px;
        font-size: 16px;
        font-weight: 700;
    }

    .card-section-header p {
        margin: 0;
        color: var(--text-muted);
        font-size: 12px;
    }

.activity-list {
    padding: 4px 20px;
}

.activity-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #edf0f4;
}

    .activity-item:last-child {
        border-bottom: 0;
    }

.activity-date {
    width: 48px;
    height: 52px;
    flex: 0 0 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #1565c0;
    background-color: #edf5fd;
    border-radius: 10px;
}

    .activity-date strong {
        font-size: 18px;
        line-height: 1;
    }

    .activity-date span {
        margin-top: 4px;
        font-size: 9px;
        font-weight: 700;
    }

.activity-info {
    min-width: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

    .activity-info strong {
        overflow: hidden;
        color: #273444;
        font-size: 13px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .activity-info span {
        margin-top: 5px;
        color: var(--text-muted);
        font-size: 12px;
    }

.quick-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 20px;
}

.quick-action {
    min-height: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px;
    color: #334155;
    background-color: #f7f9fc;
    border: 1px solid #e8edf3;
    border-radius: 10px;
    text-align: center;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

    .quick-action i {
        color: var(--primary);
        font-size: 23px;
    }

    .quick-action span {
        font-size: 12px;
        font-weight: 600;
    }

    .quick-action:hover {
        color: #1565c0;
        background-color: #edf5fd;
        border-color: #bcd8f3;
        transform: translateY(-2px);
    }

.summary-box {
    height: 100%;
    padding: 18px 20px;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

    .summary-box span {
        display: block;
        margin-bottom: 5px;
        color: var(--text-muted);
        font-size: 12px;
        font-weight: 600;
    }

    .summary-box strong {
        color: #1e293b;
        font-size: 21px;
        font-weight: 700;
    }

.table-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-color);
    border-radius: 12px 12px 0 0;
}

    .table-card-header h2 {
        margin: 0 0 4px;
        color: #1e293b;
        font-size: 16px;
        font-weight: 700;
    }

    .table-card-header p {
        margin: 0;
        color: var(--text-muted);
        font-size: 12px;
    }

.filter-group {
    width: 210px;
    flex: 0 0 210px;
}

    .filter-group label {
        display: block;
        margin-bottom: 5px;
        color: var(--text-muted);
        font-size: 11px;
        font-weight: 600;
    }

.table-responsive-wrapper {
    padding: 0px 20px 20px;
    overflow-x: auto;
    overflow-y: hidden;
    min-width: 0;
    max-width: 100%;
    background-color: #ffffff;
    border-radius: 0 0 12px 12px;
}

/* Wide records keep readable columns and scroll inside their card. */
.app-main, .app-content, .module-page-content, .page-card {
    min-width: 0;
}

.table-responsive-wrapper > .dt-container {
    width: 100%;
    min-width: 0;
}

.osgb-datatable:has(> thead > tr > th:nth-child(8)) {
    min-width: 1100px;
}

#kayitTablosu:has(> thead > tr > th:nth-child(11)) {
    min-width: 1280px;
}

    #kayitTablosu:has(> thead > tr > th:nth-child(11)) > tbody > tr > td:nth-child(2) {
        min-width: 240px;
    }

#firmalarTable > tbody > tr > td:first-child {
    min-width: 250px;
}

/* DATATABLE — ORTAK TASARIM */
.osgb-datatable,
.personel-ui .osgb-datatable {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0;
}

    .osgb-datatable thead th,
    .personel-ui .osgb-datatable thead th {
        height: 46px;
        padding: 12px 14px;
        color: #42526a;
        background-color: #f0f4f8;
        border-top: 1px solid #dbe3ec;
        border-right: 1px solid #e1e7ee;
        border-bottom: 2px solid #ccd8e5;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1px;
        vertical-align: middle;
        white-space: nowrap;
    }

        .osgb-datatable thead th:first-child,
        .personel-ui .osgb-datatable thead th:first-child {
            border-left: 1px solid #dbe3ec;
            border-top-left-radius: 8px;
        }

        .osgb-datatable thead th:last-child,
        .personel-ui .osgb-datatable thead th:last-child {
            border-right: 1px solid #dbe3ec;
            border-top-right-radius: 8px;
        }

    .osgb-datatable thead .dt-column-header,
    .personel-ui .osgb-datatable thead .dt-column-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 7px;
    }

    .osgb-datatable thead th:last-child .dt-column-header,
    .personel-ui .osgb-datatable thead th:last-child .dt-column-header {
        justify-content: flex-end;
    }

    .osgb-datatable thead .dt-column-order,
    .personel-ui .osgb-datatable thead .dt-column-order {
        display: none !important;
    }

    .osgb-datatable thead th.dt-orderable-asc .dt-column-title::after,
    .osgb-datatable thead th.dt-orderable-desc .dt-column-title::after,
    .personel-ui .osgb-datatable thead th.dt-orderable-asc .dt-column-title::after,
    .personel-ui .osgb-datatable thead th.dt-orderable-desc .dt-column-title::after {
        margin-left: 7px;
        color: #a4afbc;
        font-size: 10px;
        font-weight: 400;
        content: "↕";
    }

    .osgb-datatable thead th.dt-ordering-asc,
    .osgb-datatable thead th.dt-ordering-desc,
    .personel-ui .osgb-datatable thead th.dt-ordering-asc,
    .personel-ui .osgb-datatable thead th.dt-ordering-desc {
        color: #1565c0;
        background-color: #e7f0fa;
    }

        .osgb-datatable thead th.dt-ordering-asc .dt-column-title::after,
        .personel-ui .osgb-datatable thead th.dt-ordering-asc .dt-column-title::after {
            color: #1565c0;
            content: "↑";
        }

        .osgb-datatable thead th.dt-ordering-desc .dt-column-title::after,
        .personel-ui .osgb-datatable thead th.dt-ordering-desc .dt-column-title::after {
            color: #1565c0;
            content: "↓";
        }

    .osgb-datatable thead th.dt-orderable-asc:hover,
    .osgb-datatable thead th.dt-orderable-desc:hover,
    .personel-ui .osgb-datatable thead th.dt-orderable-asc:hover,
    .personel-ui .osgb-datatable thead th.dt-orderable-desc:hover {
        color: #1565c0;
        background-color: #e9f2fb;
    }

    .osgb-datatable thead th:last-child .dt-column-title::after,
    .personel-ui .osgb-datatable thead th:last-child .dt-column-title::after {
        display: none;
    }

    .osgb-datatable tbody td,
    .personel-ui .osgb-datatable tbody td {
        height: 60px;
        padding: 11px 14px;
        color: #334155;
        background-color: #ffffff;
        border-bottom: 1px solid #e8edf3;
        font-size: 12px;
        vertical-align: middle;
    }

    .osgb-datatable tbody tr:hover td,
    .personel-ui .osgb-datatable tbody tr:hover td {
        background-color: #f7faff;
    }

    .osgb-datatable tbody tr:last-child td,
    .personel-ui .osgb-datatable tbody tr:last-child td {
        border-bottom: 0;
    }

.company-cell {
    min-width: 260px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.company-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background-color: #e8f2fc;
    border-radius: 9px;
    font-size: 14px;
}

.company-cell strong {
    display: block;
    color: #24344d;
    font-size: 12px;
    font-weight: 700;
}

.company-cell small {
    display: block;
    margin-top: 3px;
    color: #78879a;
    font-size: 10px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.badge-soft-success {
    color: #167447;
    background-color: #e5f6ed;
}

.badge-soft-warning {
    color: #986009;
    background-color: #fff2d8;
}

.badge-soft-danger {
    color: #b62f3b;
    background-color: #fde8ea;
}

.badge-soft-secondary {
    color: #5f6b7a;
    background-color: #edf0f3;
}

div.dt-container .dt-layout-row {
    align-items: center;
    margin: 0 0 14px;
}

    div.dt-container .dt-layout-row:last-child {
        margin-top: 14px;
        margin-bottom: 0;
    }

div.dt-container .dt-search label {
    display: none;
}

div.dt-container .dt-search input {
    width: 230px;
    height: 36px;
    margin: 0 !important;
    padding: 7px 12px;
    color: #334155;
    background-color: #ffffff;
    border: 1px solid #d5dee8;
    border-radius: 8px;
    box-shadow: none;
    font-size: 12px;
}

    div.dt-container .dt-search input:focus {
        border-color: #68a7e4;
        outline: 0;
        box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
    }

div.dt-container .dt-length {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #52606d;
    font-size: 12px;
}

    div.dt-container .dt-length select {
        width: 68px;
        height: 36px;
        margin: 0;
        padding: 6px 28px 6px 10px;
        color: #334155;
        background-color: #ffffff;
        border: 1px solid #d5dee8;
        border-radius: 8px;
        box-shadow: none;
        font-size: 12px;
    }

div.dt-container .dt-info {
    padding-top: 0;
    color: #64748b;
    font-size: 11px;
}

div.dt-container .dt-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

    div.dt-container .dt-buttons .btn {
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        padding: 6px 11px;
        border-radius: 7px;
        font-size: 11px;
        font-weight: 600;
    }

div.dt-container .pagination {
    margin: 0;
}

div.dt-container .page-link {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    color: #52606d;
    background-color: #ffffff;
    border-color: #dce3ea;
    box-shadow: none;
    font-size: 12px;
}

div.dt-container .page-item.active .page-link {
    color: #ffffff;
    background-color: var(--primary);
    border-color: var(--primary);
}

div.dt-container .page-item:not(.active) .page-link:hover {
    color: #1565c0;
    background-color: #edf5fd;
}

div.dt-container .page-item.disabled .page-link {
    color: #9aa5b1;
    background-color: #f1f4f7;
}

.osgb-datatable .dropdown > .btn,
.personel-ui .osgb-datatable .dropdown > .btn {
    width: 34px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #475569;
    background-color: #ffffff;
    border: 1px solid #d9e1e9;
    border-radius: 7px;
}

    .osgb-datatable .dropdown > .btn:hover,
    .personel-ui .osgb-datatable .dropdown > .btn:hover {
        color: #1565c0;
        background-color: #edf5fd;
        border-color: #a9c9e8;
    }

/* SELECT2 — BOOTSTRAP 5 TEMASI */
.select2-container--bootstrap-5 {
    font-family: "Segoe UI", Arial, sans-serif;
}

select.select2 + .select2-container--bootstrap-5 {
    width: 100% !important;
}

body > .select2-container--bootstrap-5 {
    width: auto !important;
}

.select2-container--bootstrap-5 .select2-selection {
    min-height: 36px;
    color: #334155;
    background-color: #ffffff;
    border: 1px solid #d5dee8;
    border-radius: 7px;
    box-shadow: none;
    font-size: 11px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.select2-container--bootstrap-5
.select2-selection--single {
    display: flex;
    align-items: center;
    padding: 7px 34px 7px 11px;
}

    .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__rendered {
        width: 100%;
        padding: 0;
        overflow: hidden;
        color: #334155;
        line-height: 20px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__placeholder {
        color: #8793a2;
    }

    .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__arrow {
        position: absolute;
        top: 50%;
        right: 11px;
        width: 15px;
        height: 15px;
        transform: translateY(-50%);
    }

        .select2-container--bootstrap-5
        .select2-selection--single
        .select2-selection__arrow b {
            border-color: #64748b transparent transparent transparent;
            border-style: solid;
            border-width: 5px 4px 0;
        }

.select2-container--bootstrap-5.select2-container--open
.select2-selection--single
.select2-selection__arrow b {
    border-color: transparent transparent #1976d2 transparent;
    border-width: 0 4px 5px;
}

.select2-container--bootstrap-5:hover .select2-selection {
    border-color: #a9c9e8;
    background-color: #fbfdff;
}

.select2-container--bootstrap-5.select2-container--focus
.select2-selection,
.select2-container--bootstrap-5.select2-container--open
.select2-selection {
    border-color: #68a7e4;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
}

.select2-container--bootstrap-5 .select2-dropdown {
    max-width: calc(100vw - 24px);
    margin-top: 5px;
    overflow-x: hidden;
    overflow-y: hidden;
    background-color: #ffffff;
    border: 1px solid #d5dee8;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
}

.select2-container--bootstrap-5
.select2-dropdown--above {
    margin-top: -5px;
    margin-bottom: 5px;
}

.select2-container--bootstrap-5
.select2-search--dropdown {
    padding: 9px;
    background-color: #f8fafc;
    border-bottom: 1px solid #edf0f4;
}

    .select2-container--bootstrap-5
    .select2-search--dropdown
    .select2-search__field {
        height: 34px;
        padding: 7px 10px;
        color: #334155;
        background-color: #ffffff;
        border: 1px solid #d5dee8;
        border-radius: 7px;
        box-shadow: none;
        font-size: 11px;
    }

        .select2-container--bootstrap-5
        .select2-search--dropdown
        .select2-search__field:focus {
            border-color: #68a7e4;
            outline: 0;
            box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
        }

.select2-container--bootstrap-5
.select2-container--bootstrap-5 .select2-results__options {
    max-height: 260px;
    padding: 5px;
    overflow-x: hidden;
    overflow-y: auto;
}

.select2-container--bootstrap-5
.select2-results__option {
    min-height: 35px;
    display: flex;
    align-items: center;
    margin: 2px 0;
    padding: 8px 10px;
    color: #42526a;
    border-radius: 6px;
    font-size: 11px;
    transition: color 0.12s ease, background-color 0.12s ease;
}

.select2-container--bootstrap-5
.select2-results__option--highlighted.select2-results__option--selectable {
    color: #1565c0;
    background-color: #edf5fd;
}

.select2-container--bootstrap-5
.select2-results__option--selected {
    color: #ffffff;
    background-color: #1976d2;
    font-weight: 600;
}

    .select2-container--bootstrap-5
    .select2-results__option--selected::after {
        margin-left: auto;
        font-family: "bootstrap-icons";
        content: "\F26E";
    }

.select2-container--bootstrap-5
.select2-results__message {
    padding: 13px;
    color: #8793a2;
    font-size: 11px;
    text-align: center;
}

.select2-container--bootstrap-5
.select2-selection__clear {
    position: absolute;
    top: 50%;
    right: 31px;
    z-index: 2;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #7a8796;
    background-color: transparent;
    border: 0;
    border-radius: 50%;
    font-size: 16px;
    line-height: 1;
    transform: translateY(-50%);
}

    .select2-container--bootstrap-5
    .select2-selection__clear:hover {
        color: #dc3545;
        background-color: #fdebec;
    }

.select2-container--bootstrap-5
.select2-selection--single
.select2-selection__rendered {
    padding-right: 18px;
}

.select2-container--bootstrap-5
.select2-selection--multiple {
    min-height: 38px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    padding: 5px 8px;
}

    .select2-container--bootstrap-5
    .select2-selection--multiple
    .select2-selection__rendered {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin: 0;
        padding: 0;
    }

    .select2-container--bootstrap-5
    .select2-selection--multiple
    .select2-selection__choice {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        margin: 0;
        padding: 5px 8px;
        color: #1565c0;
        background-color: #e8f2fc;
        border: 1px solid #c4ddf3;
        border-radius: 6px;
        font-size: 10px;
        font-weight: 600;
    }

    .select2-container--bootstrap-5
    .select2-selection--multiple
    .select2-selection__choice__remove {
        position: static;
        margin: 0;
        padding: 0;
        color: #5e87ad;
        background: transparent;
        border: 0;
        font-size: 13px;
    }

        .select2-container--bootstrap-5
        .select2-selection--multiple
        .select2-selection__choice__remove:hover {
            color: #dc3545;
        }

.form-select-sm + .select2-container--bootstrap-5
.select2-selection {
    min-height: 32px;
    border-radius: 7px;
    font-size: 10px;
}

.form-select-sm + .select2-container--bootstrap-5
.select2-selection--single {
    padding-top: 5px;
    padding-bottom: 5px;
}

.select2-container--bootstrap-5.select2-container--disabled
.select2-selection {
    color: #8b97a5;
    background-color: #f1f4f7;
    cursor: not-allowed;
}

.is-invalid + .select2-container--bootstrap-5
.select2-selection {
    border-color: #dc3545;
}

.is-invalid + .select2-container--bootstrap-5.select2-container--focus
.select2-selection {
    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.10);
}

.select2-container--open {
    z-index: 1060;
}

.select2-container--bootstrap-5
.select2-selection--single {
    background-image: none !important;
    background-repeat: no-repeat !important;
}

    .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__arrow {
        position: absolute;
        top: 50%;
        right: 11px;
        width: 12px;
        height: 12px;
        transform: translateY(-50%);
    }

        .select2-container--bootstrap-5
        .select2-selection--single
        .select2-selection__arrow b {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            margin: 0;
            border-color: #64748b transparent transparent transparent;
            border-style: solid;
            border-width: 5px 4px 0;
            transform: translate(-50%, -25%);
        }

.select2-container--bootstrap-5.select2-container--open
.select2-selection--single
.select2-selection__arrow b {
    border-color: transparent transparent #1976d2 transparent;
    border-width: 0 4px 5px;
    transform: translate(-50%, -75%);
}

.select2-container--bootstrap-5,
.select2-container--bootstrap-5 .select2-selection,
.select2-container--bootstrap-5 .select2-selection__rendered,
.select2-container--bootstrap-5 .select2-selection__placeholder,
.select2-container--bootstrap-5 .select2-dropdown,
.select2-container--bootstrap-5 .select2-results__option,
.select2-container--bootstrap-5 .select2-search__field {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
}

    .select2-container--bootstrap-5
    .select2-selection--single
    .select2-selection__rendered {
        line-height: 20px !important;
    }

    .select2-container--bootstrap-5
    .select2-results__option {
        min-height: 34px;
        padding: 8px 11px !important;
        line-height: 18px !important;
    }

    .select2-container--bootstrap-5
    .select2-search--dropdown
    .select2-search__field {
        height: 34px;
        padding: 6px 10px !important;
    }

    .select2-container--bootstrap-5
    .select2-selection--multiple
    .select2-selection__choice {
        font-size: 11px !important;
    }

@media (min-width: 992px) {
    .app-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        visibility: visible !important;
        transform: none !important;
    }

    .app-main {
        margin-left: var(--sidebar-width);
    }
}

@media (max-width: 991.98px) {
    .app-content {
        padding: 16px;
    }

    .app-topbar {
        height: 64px;
        padding: 0 14px;
    }

    .sidebar-header {
        height: 64px;
    }

    .sidebar-body {
        height: calc(100vh - 118px);
    }

    .app-footer {
        padding: 12px 16px;
    }
}

@media (max-width: 767.98px) {
    .table-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .filter-group {
        width: 100%;
        flex: none;
    }

    .table-responsive-wrapper {
        padding: 12px;
    }

    div.dt-container .dt-layout-row {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    div.dt-container .dt-layout-cell {
        width: 100%;
    }

    div.dt-container .dt-search,
    div.dt-container .dt-search input {
        width: 100%;
    }

    div.dt-container .dt-buttons {
        width: 100%;
    }

    div.dt-container .dt-info {
        text-align: center;
    }

    div.dt-container .dt-paging {
        display: flex;
        justify-content: center;
        overflow-x: auto;
    }

    .company-cell {
        min-width: 220px;
    }
}

@media (max-width: 575.98px) {
    .quick-actions {
        grid-template-columns: 1fr;
    }

    .activity-item {
        align-items: flex-start;
    }

    .activity-info strong {
        white-space: normal;
    }

    .app-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

.firma-secim-alani {
    width: 270px;
}

    .firma-secim-alani label {
        display: block;
        margin-bottom: 5px;
        color: var(--text-muted);
        font-size: 11px;
        font-weight: 600;
    }

.firma-hero-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fc 100%);
    border: 1px solid var(--border-color);
    border-radius: 13px;
    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
}

.firma-hero-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 17px;
}

.firma-hero-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1565c0;
    background-color: #e4f0fb;
    border-radius: 14px;
    font-size: 25px;
}

.firma-hero-content {
    min-width: 0;
}

    .firma-hero-content h2 {
        margin: 0;
        color: #1e293b;
        font-size: 19px;
        font-weight: 700;
    }

.firma-meta-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    color: #64748b;
    font-size: 12px;
}

    .firma-meta-list span {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    .firma-meta-list i {
        color: #7890a8;
    }

.firma-hero-actions {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
}

.firma-navigation {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 6px;
    padding: 7px;
    overflow: visible;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 11px;
}

    .firma-navigation a {
        min-height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 7px;
        padding: 9px 12px;
        color: #52606d;
        border-radius: 7px;
        font-size: 11px;
        font-weight: 600;
        white-space: nowrap;
        transition: color 0.15s ease, background-color 0.15s ease;
    }

        .firma-navigation a:hover {
            color: #1565c0;
            background-color: #edf5fd;
        }

        .firma-navigation a.active {
            color: #ffffff;
            background-color: #1976d2;
        }

        .firma-navigation a i {
            flex: 0 0 auto;
        }

.nav-count {
    min-width: 19px;
    margin-left: auto;
    padding: 2px 5px;
    background-color: rgba(255, 255, 255, 0.22);
    border-radius: 10px;
    font-size: 9px;
    text-align: center;
}

@media (max-width: 767.98px) {
    .firma-navigation {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

        .firma-navigation a {
            width: 100%;
            white-space: normal;
        }
}

@media (max-width: 420px) {
    .firma-navigation {
        grid-template-columns: 1fr;
    }
}

.nav-count {
    min-width: 19px;
    padding: 2px 5px;
    background-color: rgba(255, 255, 255, 0.22);
    border-radius: 10px;
    font-size: 9px;
    text-align: center;
}

.nav-count-danger {
    color: #ffffff;
    background-color: #dc3545;
}

.firma-summary-card {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 11px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

.firma-summary-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 18px;
}

.firma-summary-card > div:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.firma-summary-card span {
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 600;
}

.firma-summary-card strong {
    margin: 2px 0;
    color: #1e293b;
    font-size: 15px;
}

.firma-summary-card small {
    color: var(--text-muted);
    font-size: 10px;
}

.bg-blue-soft {
    color: #1565c0;
    background-color: #e8f1fb;
}

.bg-green-soft {
    color: #168249;
    background-color: #e8f7ef;
}

.bg-orange-soft {
    color: #c66a09;
    background-color: #fff2df;
}

.bg-purple-soft {
    color: #7157a8;
    background-color: #f0ebfa;
}

.work-progress-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}

    .work-progress-info div {
        display: flex;
        flex-direction: column;
    }

    .work-progress-info span {
        color: var(--text-muted);
        font-size: 11px;
    }

    .work-progress-info strong {
        margin-top: 3px;
        color: #273444;
        font-size: 15px;
    }

.work-progress {
    height: 9px;
    background-color: #e9eef4;
    border-radius: 10px;
}

    .work-progress .progress-bar {
        background: linear-gradient(90deg, #1976d2, #55a7ee);
        border-radius: 10px;
    }

.firma-alert-list {
    padding: 4px 20px;
}

.firma-alert-item {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 0;
    color: #334155;
    border-bottom: 1px solid #edf0f4;
}

    .firma-alert-item:last-child {
        border-bottom: 0;
    }

    .firma-alert-item:hover {
        color: #1565c0;
    }

.firma-alert-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 16px;
}

.alert-red {
    color: #c93636;
    background-color: #fdecec;
}

.alert-orange {
    color: #c66a09;
    background-color: #fff2df;
}

.alert-blue {
    color: #1565c0;
    background-color: #e8f1fb;
}

.firma-alert-content {
    min-width: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

    .firma-alert-content strong {
        font-size: 12px;
    }

    .firma-alert-content small {
        margin-top: 4px;
        color: var(--text-muted);
        font-size: 11px;
    }

@media (max-width: 767.98px) {
    .firma-secim-alani {
        width: 100%;
    }

    .firma-hero-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .firma-hero-actions {
        width: 100%;
    }

        .firma-hero-actions .btn {
            flex: 1;
        }

    .firma-hero-main {
        align-items: flex-start;
    }
}

@media (max-width: 575.98px) {
    .firma-hero-actions {
        flex-direction: column;
    }

    .firma-hero-content h2 {
        font-size: 16px;
    }
}

.employee-filters {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.employee-cell {
    min-width: 205px;
    display: flex;
    align-items: center;
    gap: 11px;
}

.employee-avatar {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1565c0;
    background-color: #e8f2fc;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
}

.employee-cell strong,
.employee-job strong {
    display: block;
    color: #24344d;
    font-size: 12px;
    font-weight: 700;
}

.employee-cell small,
.employee-job small {
    display: block;
    margin-top: 3px;
    color: #78879a;
    font-size: 10px;
}

@media (max-width: 767.98px) {
    .employee-filters {
        align-items: stretch;
        flex-direction: column;
    }

        .employee-filters .filter-group {
            width: 100%;
        }
}

.firma-partial-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 18px;
}

    .firma-partial-header h2 {
        margin: 0 0 4px;
        color: #1e293b;
        font-size: 18px;
        font-weight: 700;
    }

    .firma-partial-header p {
        margin: 0;
        color: var(--text-muted);
        font-size: 12px;
    }

.firma-partial-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.theme-action-button {
    min-width: 176px;
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 8px 13px;
    border-radius: 11px;
    cursor: pointer;
    text-align: left;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

    .theme-action-button:hover {
        transform: translateY(-1px);
    }

    .theme-action-button:active {
        transform: translateY(0);
    }

.theme-action-icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 16px;
}

.theme-action-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

    .theme-action-text strong {
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }

    .theme-action-text small {
        margin-top: 4px;
        font-size: 9px;
        white-space: nowrap;
    }

.theme-action-import {
    color: #24344d;
    background-color: #ffffff;
    border: 1px solid #dce4ec;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

    .theme-action-import .theme-action-icon {
        color: #168249;
        background-color: #e6f6ed;
    }

    .theme-action-import .theme-action-text small {
        color: #7a8796;
    }

    .theme-action-import:hover {
        color: #167447;
        background-color: #fbfefc;
        border-color: #9dd7b8;
        box-shadow: 0 5px 13px rgba(22, 130, 73, 0.10);
    }

.theme-action-primary {
    color: #ffffff;
    background: linear-gradient(135deg, #2385df 0%, #1565c0 100%);
    border: 1px solid #1565c0;
    box-shadow: 0 5px 13px rgba(25, 118, 210, 0.20);
}

    .theme-action-primary .theme-action-icon {
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.16);
    }

    .theme-action-primary .theme-action-text small {
        color: rgba(255, 255, 255, 0.72);
    }

    .theme-action-primary:hover {
        color: #ffffff;
        border-color: #0f5aaf;
        box-shadow: 0 7px 17px rgba(25, 118, 210, 0.28);
    }

@media (max-width: 767.98px) {
    .firma-partial-header {
        align-items: stretch;
        flex-direction: column;
    }

    .firma-partial-actions {
        width: 100%;
    }

    .theme-action-button {
        min-width: 0;
        flex: 1;
    }
}

@media (max-width: 575.98px) {
    .firma-partial-actions {
        flex-direction: column;
    }

    .theme-action-button {
        width: 100%;
    }
}

.btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 12px;
    border-radius: 7px;
    box-shadow: none;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

    .btn i {
        font-size: 13px;
        line-height: 1;
    }

    .btn:hover {
        transform: translateY(-1px);
    }

    .btn:active {
        transform: translateY(0);
    }

    .btn:focus-visible {
        box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.14);
    }

.btn-sm {
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 7px;
    font-size: 10px;
}

    .btn-sm i {
        font-size: 12px;
    }

.btn-lg {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 12px;
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #1976d2;
    --bs-btn-border-color: #1976d2;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #1565c0;
    --bs-btn-hover-border-color: #1565c0;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #0f5bad;
    --bs-btn-active-border-color: #0f5bad;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #8bbce8;
    --bs-btn-disabled-border-color: #8bbce8;
}

.btn-light {
    --bs-btn-color: #42526a;
    --bs-btn-bg: #ffffff;
    --bs-btn-border-color: #d8e1ea;
    --bs-btn-hover-color: #1565c0;
    --bs-btn-hover-bg: #edf5fd;
    --bs-btn-hover-border-color: #b8d4ee;
    --bs-btn-active-color: #1565c0;
    --bs-btn-active-bg: #e3f0fb;
    --bs-btn-active-border-color: #a8cae9;
}

.btn-outline-primary {
    --bs-btn-color: #1976d2;
    --bs-btn-border-color: #b6d3ee;
    --bs-btn-hover-color: #1565c0;
    --bs-btn-hover-bg: #edf5fd;
    --bs-btn-hover-border-color: #8dbbe4;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #1976d2;
    --bs-btn-active-border-color: #1976d2;
}

.btn-success {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #157347;
}

.btn-danger {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #bb2d3b;
    --bs-btn-hover-border-color: #bb2d3b;
}

.btn-secondary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #64748b;
    --bs-btn-border-color: #64748b;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #526176;
    --bs-btn-hover-border-color: #526176;
}

.employee-search-group {
    width: 230px;
    flex: 0 0 230px;
}

.employee-search-input {
    position: relative;
}

    .employee-search-input i {
        position: absolute;
        top: 50%;
        left: 11px;
        z-index: 2;
        color: #8793a2;
        font-size: 12px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .employee-search-input .form-control {
        height: 36px;
        padding: 7px 11px 7px 32px;
        color: #334155;
        background-color: #ffffff;
        border: 1px solid #d5dee8;
        border-radius: 7px;
        box-shadow: none;
        font-size: 12px;
    }

        .employee-search-input .form-control::placeholder {
            color: #8793a2;
        }

        .employee-search-input .form-control:focus {
            border-color: #68a7e4;
            box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
        }

@media (max-width: 991.98px) {
    .employee-filters {
        width: 100%;
        flex-wrap: wrap;
    }

    .employee-search-group {
        width: 100%;
        flex: 1 0 100%;
    }
}

.firma-secim-alani {
    width: 310px;
}

.firma-selected {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

    .firma-selected strong {
        overflow: hidden;
        color: #334155;
        font-size: 11px;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .firma-selected small {
        margin-top: 4px;
        color: #7a8796;
        font-size: 9px;
    }

.firma-select-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
}

.firma-select-option-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background-color: #e8f2fc;
    border-radius: 8px;
    font-size: 13px;
}

.firma-select-option-info {
    min-width: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

    .firma-select-option-info strong {
        overflow: hidden;
        color: #273444;
        font-size: 11px;
        font-weight: 700;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .firma-select-option-info small {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-top: 4px;
        color: #78879a;
        font-size: 9px;
    }

.firma-select-sgk {
    color: #58718a;
}

.firma-select-tehlike {
    padding-left: 8px;
    border-left: 1px solid #dce4ec;
}

.firma-secim-alani {
    width: 380px;
}

.firma-selected strong {
    font-size: 13px;
    line-height: 17px;
}

.firma-selected small {
    margin-top: 3px;
    font-size: 10px;
    line-height: 14px;
}

.firma-select-option {
    gap: 11px;
}

.firma-select-option-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    font-size: 15px;
}

.firma-select-option-info strong {
    font-size: 13px;
    line-height: 17px;
}

.firma-select-option-info small {
    margin-top: 4px;
    font-size: 10px;
    line-height: 14px;
}

@media (max-width: 767.98px) {
    .firma-secim-alani {
        width: 100%;
    }
}

.document-summary {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 13px;
}

    .document-summary > div > span {
        margin-bottom: 4px;
    }

.document-summary-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: 10px;
    font-size: 17px !important;
}

.summary-blue {
    color: #1976d2 !important;
    background: #e8f2fd;
}

.summary-green {
    color: #138a57 !important;
    background: #e6f6ee;
}

.summary-red {
    color: #dc3545 !important;
    background: #fdebec;
}

.summary-orange {
    color: #d97706 !important;
    background: #fff1dc;
}

.document-table-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
}

.document-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid #e6ebf1;
}

.document-toolbar-title {
    min-width: 220px;
}

    .document-toolbar-title h2 {
        margin: 0 0 4px;
        color: #172033;
        font-size: 16px;
        font-weight: 700;
    }

    .document-toolbar-title p {
        margin: 0;
        color: #64748b;
        font-size: 11px;
    }

.document-filters {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
}

.document-filter-item {
    width: 175px;
}

.document-search-item {
    width: 230px;
}

.document-filter-item label {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 10px;
    font-weight: 600;
}

.document-search-box {
    position: relative;
}

    .document-search-box i {
        position: absolute;
        top: 50%;
        left: 11px;
        z-index: 2;
        color: #8492a6;
        font-size: 12px;
        transform: translateY(-50%);
    }

    .document-search-box .form-control {
        height: 36px;
        padding: 7px 11px 7px 32px;
        border-color: #d5dee8;
        border-radius: 8px;
        box-shadow: none;
        font-size: 11px;
    }

        .document-search-box .form-control:focus {
            border-color: #68a7e4;
            box-shadow: 0 0 0 3px rgba(25, 118, 210, .10);
        }

.document-table-area {
    padding: 16px 20px 18px;
}

.document-name-cell {
    min-width: 250px;
    display: flex;
    align-items: center;
    gap: 11px;
}

    .document-name-cell strong,
    .document-name-cell small {
        display: block;
    }

    .document-name-cell strong {
        color: #263548;
        font-size: 12px;
        font-weight: 700;
    }

    .document-name-cell small {
        max-width: 240px;
        margin-top: 3px;
        overflow: hidden;
        color: #7b8797;
        font-size: 10px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.document-file-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 15px;
}

.document-icon-success {
    color: #168451;
    background: #e7f6ef;
}

.document-icon-danger {
    color: #d83a49;
    background: #fdebed;
}

.document-icon-warning {
    color: #c87508;
    background: #fff1dd;
}

.document-category {
    display: inline-flex;
    padding: 5px 8px;
    color: #496175;
    background: #f0f4f8;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    white-space: nowrap;
}

.document-actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
    white-space: nowrap;
}

    .document-actions .btn:not(:has(span)) {
        width: 32px;
        padding-right: 0;
        padding-left: 0;
    }

@media (max-width: 1199.98px) {
    .document-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .document-filters {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .document-toolbar,
    .document-table-area {
        padding: 14px;
    }

    .document-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .document-filter-item,
    .document-search-item {
        width: 100%;
    }

    .document-search-item {
        grid-column: 1 / -1;
    }
}

@media (max-width: 420px) {
    .document-filters {
        grid-template-columns: 1fr;
    }

    .document-search-item {
        grid-column: auto;
    }
}

.firma-module-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
    min-height: 520px;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04);
}

.firma-module-sidebar {
    padding: 14px;
    background-color: #f7f9fc;
    border-right: 1px solid #e2e8f0;
}

.firma-module-sidebar-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 15px;
    border-bottom: 1px solid #e2e8f0;
}

.firma-module-header-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background-color: #e5f1fd;
    border-radius: 9px;
    font-size: 15px;
}

.firma-module-sidebar-header strong,
.firma-module-sidebar-header small {
    display: block;
}

.firma-module-sidebar-header strong {
    color: #1e293b;
    font-size: 12px;
    font-weight: 700;
}

.firma-module-sidebar-header small {
    margin-top: 2px;
    color: #7b8797;
    font-size: 9px;
}

.firma-module-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 12px;
}

.firma-module-link {
    min-height: 40px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    padding: 9px 10px;
    color: #526174;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.15s ease;
}

    .firma-module-link i {
        color: #718196;
        font-size: 13px;
        text-align: center;
    }

    .firma-module-link small {
        min-width: 23px;
        padding: 3px 6px;
        color: #64748b;
        background-color: #e7ecf2;
        border-radius: 12px;
        font-size: 9px;
        font-weight: 700;
        text-align: center;
    }

    .firma-module-link:hover {
        color: #1565c0;
        background-color: #eaf3fc;
    }

        .firma-module-link:hover i {
            color: #1976d2;
        }

    .firma-module-link.active {
        color: #ffffff;
        background-color: #1976d2;
        box-shadow: 0 4px 10px rgba(25, 118, 210, 0.18);
    }

        .firma-module-link.active i {
            color: #ffffff;
        }

        .firma-module-link.active small {
            color: #ffffff;
            background-color: rgba(255, 255, 255, 0.18);
        }

.firma-module-content {
    min-width: 0;
    padding: 20px;
}

.firma-module-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e5eaf0;
}

.firma-module-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #1976d2;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.firma-module-content-header h2 {
    margin: 0 0 4px;
    color: #172033;
    font-size: 17px;
    font-weight: 700;
}

.firma-module-content-header p {
    margin: 0;
    color: #718096;
    font-size: 10px;
}

.firma-module-header-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.firma-record-list {
    overflow: hidden;
    border: 1px solid #e1e7ee;
    border-radius: 10px;
}

.firma-record-item {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 15px;
    background-color: #ffffff;
    border-bottom: 1px solid #e8edf2;
}

    .firma-record-item:last-child {
        border-bottom: 0;
    }

    .firma-record-item:hover {
        background-color: #f8fbff;
    }

.firma-record-file {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.firma-record-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #dc3545;
    background-color: #fdecee;
    border-radius: 9px;
    font-size: 16px;
}

.record-person-icon {
    color: #1976d2;
    background-color: #e7f2fd;
}

.firma-record-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

    .firma-record-title strong {
        color: #263548;
        font-size: 12px;
        font-weight: 700;
    }

.firma-record-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 5px;
}

    .firma-record-meta span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #6c7a8c;
        font-size: 9px;
    }

    .firma-record-meta i {
        color: #8795a7;
    }

.firma-record-filename {
    display: block;
    margin-top: 4px;
    color: #8a96a5;
    font-size: 9px;
}

.firma-empty-state {
    min-height: 330px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 30px;
    text-align: center;
}

    .firma-empty-state > span {
        width: 58px;
        height: 58px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 13px;
        color: #1976d2;
        background-color: #e8f2fd;
        border-radius: 16px;
        font-size: 23px;
    }

    .firma-empty-state h3 {
        margin: 0 0 6px;
        color: #263548;
        font-size: 14px;
        font-weight: 700;
    }

    .firma-empty-state p {
        margin: 0 0 17px;
        color: #718096;
        font-size: 10px;
    }

.firma-record-item .dropdown-menu {
    min-width: 175px;
    padding: 6px;
    border-color: #dfe6ee;
    border-radius: 9px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.firma-record-item .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    color: #465568;
    border-radius: 6px;
    font-size: 10px;
}

    .firma-record-item .dropdown-item i {
        width: 15px;
        color: #1976d2;
        text-align: center;
    }

    .firma-record-item .dropdown-item:hover {
        color: #1565c0;
        background-color: #edf5fd;
    }

@media (max-width: 767.98px) {
    .firma-module-layout {
        grid-template-columns: 1fr;
    }

    .firma-module-sidebar {
        border-right: 0;
        border-bottom: 1px solid #e2e8f0;
    }

    .firma-module-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .firma-module-content {
        padding: 15px;
    }

    .firma-module-content-header {
        align-items: stretch;
        flex-direction: column;
    }

    .firma-module-header-actions {
        width: 100%;
    }

        .firma-module-header-actions .btn {
            flex: 1;
        }

    .firma-record-item {
        align-items: flex-start;
    }
}

@media (max-width: 420px) {
    .firma-module-menu {
        grid-template-columns: 1fr;
    }

    .firma-module-header-actions {
        flex-direction: column;
    }

        .firma-module-header-actions .btn {
            width: 100%;
        }

    .firma-record-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

.egitim-record-list {
    overflow: hidden;
    border: 1px solid #e1e7ee;
    border-radius: 10px;
}

.egitim-record-item {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 15px;
    background-color: #ffffff;
    border-bottom: 1px solid #e8edf2;
    transition: background-color 0.15s ease;
}

    .egitim-record-item:last-child {
        border-bottom: 0;
    }

    .egitim-record-item:hover {
        background-color: #f8fbff;
    }

.egitim-record-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.egitim-record-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 17px;
}

.egitim-icon-success {
    color: #148653;
    background-color: #e6f6ee;
}

.egitim-icon-warning {
    color: #cf7908;
    background-color: #fff1dc;
}

.egitim-record-content {
    min-width: 0;
}

.egitim-record-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

    .egitim-record-title strong {
        color: #263548;
        font-size: 12px;
        font-weight: 700;
    }

.egitim-record-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 7px;
}

    .egitim-record-meta span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: #6c7a8c;
        font-size: 9px;
    }

    .egitim-record-meta i {
        color: #8694a6;
    }

.egitim-record-item .dropdown-menu {
    min-width: 205px;
    padding: 6px;
    border-color: #dfe6ee;
    border-radius: 9px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.egitim-record-item .dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    color: #465568;
    border-radius: 6px;
    font-size: 10px;
}

    .egitim-record-item .dropdown-item i {
        width: 15px;
        color: #1976d2;
        text-align: center;
    }

    .egitim-record-item .dropdown-item:hover {
        color: #1565c0;
        background-color: #edf5fd;
    }

@media (max-width: 767.98px) {
    .egitim-record-item {
        align-items: flex-start;
    }

    .egitim-record-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

.firma-module-layout,
.firma-module-content,
.firma-record-list,
.egitim-record-list {
    overflow: visible !important;
}

.firma-module-content {
    position: relative;
    z-index: 1;
}

.firma-record-item,
.egitim-record-item {
    position: relative;
}

    .firma-record-item:has(.dropdown-menu.show),
    .egitim-record-item:has(.dropdown-menu.show) {
        z-index: 100;
    }

    .firma-record-item .dropdown,
    .egitim-record-item .dropdown {
        position: relative;
        z-index: 5;
    }

    .firma-record-item .dropdown-menu,
    .egitim-record-item .dropdown-menu {
        z-index: 1080 !important;
    }

.firma-record-list > .firma-record-item:first-child,
.egitim-record-list > .egitim-record-item:first-child {
    border-radius: 10px 10px 0 0;
}

.firma-record-list > .firma-record-item:last-child,
.egitim-record-list > .egitim-record-item:last-child {
    border-bottom: 0;
    border-radius: 0 0 10px 10px;
}

.firma-record-list > .firma-record-item:only-child,
.egitim-record-list > .egitim-record-item:only-child {
    border-radius: 10px;
}

.firma-module-sidebar-header strong {
    font-size: 14px;
    line-height: 19px;
}

.firma-module-sidebar-header small {
    margin-top: 3px;
    font-size: 11px;
    line-height: 16px;
}

.firma-module-link {
    min-height: 43px;
    padding: 10px 11px;
    font-size: 12px;
    line-height: 17px;
}

    .firma-module-link i {
        font-size: 14px;
    }

    .firma-module-link small {
        min-width: 25px;
        padding: 3px 7px;
        font-size: 10px;
    }

.firma-module-eyebrow {
    margin-bottom: 5px;
    font-size: 10px;
    line-height: 14px;
}

.firma-module-content-header h2 {
    font-size: 18px;
    line-height: 24px;
}

.firma-module-content-header p {
    font-size: 12px;
    line-height: 17px;
}

.firma-record-item {
    min-height: 82px;
    padding: 15px 16px;
}

.firma-record-title strong {
    font-size: 13px;
    line-height: 18px;
}

.firma-record-meta {
    margin-top: 6px;
    gap: 13px;
}

    .firma-record-meta span {
        gap: 5px;
        font-size: 11px;
        line-height: 16px;
    }

.firma-record-filename {
    margin-top: 5px;
    font-size: 10px;
    line-height: 15px;
}

.egitim-record-item {
    min-height: 88px;
    padding: 15px 16px;
}

.egitim-record-title strong {
    font-size: 13px;
    line-height: 18px;
}

.egitim-record-meta {
    margin-top: 7px;
    gap: 13px;
}

    .egitim-record-meta span {
        gap: 5px;
        font-size: 11px;
        line-height: 16px;
    }

.firma-record-item .status-badge,
.egitim-record-item .status-badge {
    padding: 5px 8px;
    font-size: 10px;
}

.firma-record-item .dropdown-menu,
.egitim-record-item .dropdown-menu {
    min-width: 195px;
    padding: 7px;
    overflow: visible;
    background-color: #ffffff;
    border: 1px solid #dce4ec;
    border-radius: 9px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
}

.firma-record-item .dropdown-item,
.egitim-record-item .dropdown-item {
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 10px;
    color: #425166;
    border-radius: 6px;
    font-size: 12px;
    line-height: 17px;
}

    .firma-record-item .dropdown-item i,
    .egitim-record-item .dropdown-item i {
        width: 17px;
        flex: 0 0 17px;
        font-size: 13px;
        text-align: center;
    }

.firma-empty-state h3 {
    font-size: 15px;
    line-height: 21px;
}

.firma-empty-state p {
    font-size: 12px;
    line-height: 18px;
}

@media (max-width: 767.98px) {
    .firma-module-link {
        font-size: 12px;
    }

    .firma-record-title strong,
    .egitim-record-title strong {
        font-size: 13px;
    }

    .firma-record-meta span,
    .egitim-record-meta span {
        font-size: 11px;
    }
}

body {
    font-size: 14px;
    line-height: 1.5;
}

.page-description,
.table-card-header p,
.firma-partial-header p {
    font-size: 13px;
    line-height: 19px;
}

.sidebar-link,
.sidebar-submenu a {
    font-size: 13px;
}

.sidebar-section-title {
    font-size: 11px;
}

.user-info strong {
    font-size: 14px;
}

.user-info small,
.app-footer,
.sidebar-footer {
    font-size: 12px;
}

.firma-hero-content h2 {
    font-size: 21px;
    line-height: 28px;
}

.firma-meta-list {
    font-size: 13px;
    line-height: 19px;
}

.firma-secim-alani label,
.filter-group label {
    font-size: 12px;
}

.firma-navigation a {
    min-height: 39px;
    padding: 9px 13px;
    font-size: 12px;
    line-height: 18px;
}

.nav-count {
    min-width: 20px;
    padding: 3px 6px;
    font-size: 10px;
}

.firma-summary-card span {
    font-size: 12px;
    line-height: 17px;
}

.firma-summary-card strong {
    font-size: 17px;
    line-height: 23px;
}

.firma-summary-card small {
    font-size: 11px;
    line-height: 16px;
}

.work-progress-info span {
    font-size: 12px;
}

.work-progress-info strong {
    font-size: 16px;
}

.firma-alert-content strong {
    font-size: 13px;
    line-height: 18px;
}

.firma-alert-content small {
    font-size: 12px;
    line-height: 17px;
}

.summary-box span {
    font-size: 13px;
}

.summary-box strong {
    font-size: 21px;
}

.osgb-datatable thead th,
.personel-ui .osgb-datatable thead th {
    font-size: 12px;
}

.osgb-datatable tbody td,
.personel-ui .osgb-datatable tbody td {
    font-size: 13px;
    line-height: 19px;
}

.company-cell strong,
.employee-cell strong,
.employee-job strong {
    font-size: 13px;
}

.company-cell small,
.employee-cell small,
.employee-job small {
    font-size: 11px;
}

.status-badge {
    font-size: 11px;
}

.btn {
    font-size: 12px;
    line-height: 16px;
}

.btn-sm {
    font-size: 11px;
}

.form-control,
.form-select,
div.dt-container .dt-search input,
div.dt-container .dt-length,
div.dt-container .dt-info,
div.dt-container .page-link {
    font-size: 12px;
}

.firma-module-sidebar-header strong {
    font-size: 15px;
    line-height: 20px;
}

.firma-module-sidebar-header small {
    font-size: 12px;
    line-height: 17px;
}

.firma-module-link {
    min-height: 44px;
    font-size: 13px;
    line-height: 18px;
}

    .firma-module-link small {
        font-size: 11px;
    }

.firma-module-eyebrow {
    font-size: 11px;
}

.firma-module-content-header h2 {
    font-size: 19px;
    line-height: 25px;
}

.firma-module-content-header p {
    font-size: 13px;
    line-height: 19px;
}

.firma-record-title strong,
.egitim-record-title strong {
    font-size: 14px;
    line-height: 20px;
}

.firma-record-meta span,
.egitim-record-meta span {
    font-size: 12px;
    line-height: 17px;
}

.firma-record-filename {
    font-size: 11px;
}

.firma-record-item .dropdown-item,
.egitim-record-item .dropdown-item {
    font-size: 12px;
}

@media (max-width: 767.98px) {
    .firma-hero-content h2 {
        font-size: 19px;
    }

    .firma-module-link {
        font-size: 12px;
    }
}

/* ORTAK TABLO BAŞLIĞI / FİLTRE YERLEŞİMİ
   flex-basis daima yatay eksende kalır; alan bazlı 680px değerleri yüksekliğe dönüşmez. */
.table-card-header {
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: flex-start;
    min-width: 0;
    max-width: 100%;
}

.table-card-title {
    flex: 1 1 220px;
    min-width: 0 !important;
    max-width: 100%;
}

.table-header-filters:not(.atama-filtreler-iki-satir) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: flex-end;
    align-content: flex-start;
    justify-content: flex-start;
    gap: 12px;
    flex: 2 1 640px !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 0;
}

    .table-header-filters:not(.atama-filtreler-iki-satir) > .filter-group {
        flex: 1 1 180px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100%;
    }

    .table-header-filters:not(.atama-filtreler-iki-satir) > .record-length-group {
        flex: 0 1 125px !important;
    }

    .table-header-filters:not(.atama-filtreler-iki-satir) > .firma-search-group {
        flex: 1 1 220px !important;
    }

    .table-header-filters:not(.atama-filtreler-iki-satir) > .filter-action {
        flex: 0 0 auto !important;
        align-self: flex-end;
    }

.table-header-filters .form-control,
.table-header-filters .form-select {
    width: 100%;
    min-width: 0;
    min-height: 38px;
}

.table-header-filters .select2-container--bootstrap-5 {
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 575.98px) {
    .table-header-filters:not(.atama-filtreler-iki-satir) {
        flex: 0 0 100% !important;
    }

        .table-header-filters:not(.atama-filtreler-iki-satir) > .filter-group {
            flex: 0 0 100% !important;
            width: 100% !important;
        }

    .table-header-filters > .filter-action > .btn {
        width: 100%;
    }
}

.firma-search-input {
    position: relative;
}

    .firma-search-input > i {
        position: absolute;
        top: 50%;
        left: 12px;
        z-index: 2;
        color: #8190a3;
        font-size: 13px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .firma-search-input .form-control {
        width: 100%;
        height: 38px;
        padding: 7px 12px 7px 34px;
        color: #334155;
        background-color: #ffffff;
        border: 1px solid #d5dee8;
        border-radius: 8px;
        box-shadow: none;
        font-size: 12px;
    }

        .firma-search-input .form-control::placeholder {
            color: #8793a2;
        }

        .firma-search-input .form-control:focus {
            border-color: #68a7e4;
            box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.10);
            outline: 0;
        }

.employee-filters .record-length-group {
    width: 125px;
    flex: 0 0 125px;
}

    .employee-filters .record-length-group
    .select2-container--bootstrap-5 {
        width: 100% !important;
    }

.employee-filters > .filter-group:not(.record-length-group):not(.employee-search-group) {
    width: 210px;
    flex: 0 0 210px;
}

.employee-filters .employee-search-group {
    width: 240px;
    flex: 0 0 240px;
}

@media (max-width: 1199.98px) {
    .table-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .employee-filters {
        width: 100%;
        display: grid;
        grid-template-columns: 125px minmax(180px, 1fr) minmax(180px, 1fr) minmax(220px, 1fr);
    }

        .employee-filters .record-length-group,
        .employee-filters > .filter-group:not(.record-length-group),
        .employee-filters .employee-search-group {
            width: 100%;
            min-width: 0;
            flex-basis: auto;
        }
}

@media (max-width: 991.98px) {
    .employee-filters {
        grid-template-columns: 125px repeat(2, minmax(0, 1fr));
    }

        .employee-filters .employee-search-group {
            grid-column: 1 / -1;
        }
}

@media (max-width: 575.98px) {
    .employee-filters {
        display: grid;
        grid-template-columns: 1fr;
    }

        .employee-filters .employee-search-group {
            grid-column: auto;
        }
}

.dashboard-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.dashboard-welcome-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
    color: #1976d2;
    font-size: 12px;
    font-weight: 600;
}

.dashboard-welcome h1 {
    margin: 0 0 5px;
    color: #172033;
    font-size: 24px;
    font-weight: 700;
}

.dashboard-welcome p {
    margin: 0;
    color: #6b7889;
    font-size: 13px;
}

.dashboard-welcome-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dashboard-metric-card {
    position: relative;
    height: 100%;
    min-height: 105px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px;
    color: #334155;
    background-color: #ffffff;
    border: 1px solid #dfe6ee;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

    .dashboard-metric-card:hover {
        color: #334155;
        transform: translateY(-2px);
        box-shadow: 0 7px 18px rgba(15, 23, 42, 0.08);
    }

.dashboard-metric-icon {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 18px;
}

.metric-blue {
    color: #1976d2;
    background-color: #e7f2fd;
}

.metric-green {
    color: #158653;
    background-color: #e5f6ee;
}

.metric-orange {
    color: #d57807;
    background-color: #fff0dc;
}

.metric-red {
    color: #d83b49;
    background-color: #fdebed;
}

.dashboard-metric-content {
    min-width: 0;
    flex-grow: 1;
}

    .dashboard-metric-content small,
    .dashboard-metric-content strong,
    .dashboard-metric-content em {
        display: block;
    }

    .dashboard-metric-content small {
        margin-bottom: 3px;
        color: #69778a;
        font-size: 12px;
        font-style: normal;
        font-weight: 600;
    }

    .dashboard-metric-content strong {
        color: #1e293b;
        font-size: 18px;
        line-height: 24px;
    }

    .dashboard-metric-content em {
        margin-top: 3px;
        color: #8491a2;
        font-size: 11px;
        font-style: normal;
    }

.dashboard-metric-arrow {
    color: #9ba7b5;
    font-size: 13px;
}

.dashboard-metric-percentage {
    color: #168453;
    font-size: 14px;
    font-weight: 700;
}

.dashboard-card {
    overflow: visible;
}

.dashboard-card-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 17px 20px;
    border-bottom: 1px solid #e5eaf0;
}

    .dashboard-card-header h2 {
        margin: 0 0 4px;
        color: #172033;
        font-size: 16px;
        font-weight: 700;
    }

    .dashboard-card-header p {
        margin: 0;
        color: #718096;
        font-size: 12px;
    }

    .dashboard-card-header > a,
    .dashboard-card-value {
        color: #1976d2;
        font-size: 12px;
        font-weight: 600;
    }

.dashboard-card-body {
    padding: 20px;
}

.dashboard-date {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
    color: #536174;
    font-size: 12px;
    white-space: nowrap;
}

    .dashboard-date i {
        color: #315da8;
        font-size: 17px;
    }

.monthly-time-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
}

.monthly-time-main span {
    color: #718096;
    font-size: 12px;
}

.monthly-time-main > strong {
    display: block;
    margin-top: 5px;
    color: #172033;
    font-size: 28px;
}

    .monthly-time-main > strong small {
        font-size: 14px;
    }

.monthly-time-main p {
    max-width: 430px;
    margin: 8px 0 0;
    color: #718096;
    font-size: 12px;
    line-height: 18px;
}

.time-circle {
    --progress: 64%;
    width: 112px;
    height: 112px;
    display: grid;
    place-items: center;
    background: conic-gradient( #1976d2 0 var(--progress), #e8edf3 var(--progress) 100% );
    border-radius: 50%;
}

    .time-circle::before {
        width: 86px;
        height: 86px;
        background-color: #ffffff;
        border-radius: 50%;
        content: "";
    }

    .time-circle > div {
        position: absolute;
        text-align: center;
    }

    .time-circle strong,
    .time-circle span {
        display: block;
    }

    .time-circle strong {
        color: #172033;
        font-size: 20px;
    }

    .time-circle span {
        margin-top: 2px;
        color: #718096;
        font-size: 10px;
    }

.dashboard-progress {
    margin-top: 19px;
}

.dashboard-progress-info {
    display: flex;
    justify-content: space-between;
    margin-bottom: 7px;
    color: #65758a;
    font-size: 11px;
}

.dashboard-progress .progress {
    height: 9px;
    background-color: #e8edf3;
    border-radius: 10px;
}

.dashboard-progress .progress-bar {
    background: linear-gradient(90deg, #1976d2, #55a7ee);
    border-radius: 10px;
}

.monthly-time-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 18px;
}

    .monthly-time-details > div {
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 11px;
        background-color: #f7f9fc;
        border-radius: 8px;
    }

    .monthly-time-details small,
    .monthly-time-details strong {
        display: block;
    }

    .monthly-time-details small {
        color: #718096;
        font-size: 10px;
    }

    .monthly-time-details strong {
        margin-top: 2px;
        color: #263548;
        font-size: 12px;
    }

.detail-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
}

.detail-dot-blue {
    background-color: #1976d2;
}

.detail-dot-green {
    background-color: #21a66b;
}

.detail-dot-orange {
    background-color: #e99020;
}

.today-schedule {
    padding: 5px 20px;
}

.schedule-item {
    min-height: 74px;
    display: grid;
    grid-template-columns: 45px 3px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    color: #334155;
    border-bottom: 1px solid #e8edf2;
}

    .schedule-item:last-child {
        border-bottom: 0;
    }

    .schedule-item:hover {
        color: #1565c0;
    }

.schedule-time {
    color: #263548;
    font-size: 12px;
    font-weight: 700;
}

.schedule-line {
    width: 3px;
    height: 37px;
    border-radius: 5px;
}

.schedule-line-blue {
    background-color: #1976d2;
}

.schedule-line-green {
    background-color: #21a66b;
}

.schedule-line-orange {
    background-color: #e99020;
}

.schedule-content strong,
.schedule-content small {
    display: block;
}

.schedule-content strong {
    font-size: 13px;
}

.schedule-content small {
    margin-top: 4px;
    color: #718096;
    font-size: 11px;
}

.dashboard-task-list {
    padding: 4px 20px;
}

.dashboard-task-item {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #334155;
    border-bottom: 1px solid #e8edf2;
}

    .dashboard-task-item:last-child {
        border-bottom: 0;
    }

    .dashboard-task-item:hover {
        color: #1565c0;
    }

.task-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 16px;
}

.task-icon-red {
    color: #d83b49;
    background-color: #fdebed;
}

.task-icon-orange {
    color: #d57807;
    background-color: #fff0dc;
}

.task-icon-blue {
    color: #1976d2;
    background-color: #e7f2fd;
}

.task-content {
    min-width: 0;
    flex-grow: 1;
}

    .task-content strong,
    .task-content small {
        display: block;
    }

    .task-content strong {
        color: #263548;
        font-size: 13px;
    }

    .task-content small {
        margin-top: 4px;
        color: #718096;
        font-size: 11px;
    }

.task-badge {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
}

.task-badge-red {
    color: #b62f3b;
    background-color: #fde8ea;
}

.task-badge-orange {
    color: #986009;
    background-color: #fff2d8;
}

.task-badge-blue {
    color: #1565c0;
    background-color: #e7f2fd;
}

.dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 20px;
}

.dashboard-quick-action {
    min-height: 91px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px;
    color: #334155;
    background-color: #f8fafc;
    border: 1px solid #e4eaf0;
    border-radius: 9px;
    transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

    .dashboard-quick-action:hover {
        color: #1565c0;
        border-color: #b9d5ee;
        transform: translateY(-1px);
        box-shadow: 0 5px 12px rgba(15, 23, 42, 0.06);
    }

.quick-action-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-size: 15px;
}

.quick-blue {
    color: #1976d2;
    background-color: #e7f2fd;
}

.quick-green {
    color: #168453;
    background-color: #e5f6ee;
}

.quick-orange {
    color: #d57807;
    background-color: #fff0dc;
}

.quick-purple {
    color: #7654b5;
    background-color: #f0ebfa;
}

.dashboard-quick-action strong,
.dashboard-quick-action small {
    display: block;
}

.dashboard-quick-action strong {
    color: #263548;
    font-size: 12px;
}

.dashboard-quick-action small {
    margin-top: 3px;
    color: #7b8797;
    font-size: 10px;
}

@media (max-width: 991.98px) {
    .dashboard-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    .monthly-time-details {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .dashboard-welcome-actions {
        width: 100%;
        flex-direction: column;
    }

        .dashboard-welcome-actions .btn {
            width: 100%;
        }

    .monthly-time-overview {
        align-items: flex-start;
        flex-direction: column;
    }

    .monthly-time-chart {
        align-self: center;
    }

    .dashboard-task-item {
        align-items: flex-start;
        padding: 13px 0;
    }

    .task-badge {
        display: none;
    }

    .dashboard-quick-actions {
        grid-template-columns: 1fr;
    }
}

.auth-body {
    min-height: 100vh;
    margin: 0;
    color: #263548;
    background: #f4f7fb;
}

.auth-page {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 44%) minmax(480px, 56%);
}

.auth-brand-panel {
    position: relative;
    min-height: 100vh;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 42px 54px 30px;
    color: #fff;
    overflow: hidden;
    background: linear-gradient(145deg,#0c2943 0%,#103b61 58%,#1264a5 100%);
}

    .auth-brand-panel::before,
    .auth-brand-panel::after {
        position: absolute;
        content: "";
        border-radius: 50%;
        pointer-events: none;
    }

    .auth-brand-panel::before {
        width: 430px;
        height: 430px;
        right: -210px;
        top: -130px;
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02);
    }

    .auth-brand-panel::after {
        width: 330px;
        height: 330px;
        left: -180px;
        bottom: -190px;
        background: rgba(41,139,220,.18);
    }

.auth-brand-content,
.auth-brand-footer {
    position: relative;
    z-index: 1;
}

.auth-logo {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #fff;
    text-decoration: none;
}

    .auth-logo > span {
        width: 47px;
        height: 47px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: #2388df;
        border-radius: 13px;
        font-size: 23px;
        box-shadow: 0 10px 24px rgba(0,0,0,.16);
    }

    .auth-logo strong,
    .auth-logo small {
        display: block;
    }

    .auth-logo strong {
        font-size: 17px;
        letter-spacing: .3px;
    }

    .auth-logo small {
        margin-top: 2px;
        color: #a9c2d8;
        font-size: 11px;
    }

.auth-message {
    max-width: 520px;
    margin-top: clamp(90px,15vh,180px);
}

.auth-eyebrow,
.auth-form-heading > span {
    display: block;
    margin-bottom: 12px;
    color: #52acf3;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
}

.auth-message h1 {
    max-width: 480px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(34px,3.2vw,52px);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -1.2px;
}

.auth-message p {
    max-width: 500px;
    margin: 0;
    color: #bed0df;
    font-size: 15px;
    line-height: 24px;
}

.auth-feature-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-top: 34px;
}

    .auth-feature-list span {
        display: flex;
        align-items: center;
        gap: 9px;
        color: #d8e5ef;
        font-size: 13px;
    }

    .auth-feature-list i {
        color: #54c6a3;
        font-size: 16px;
    }

.auth-brand-footer {
    color: #83a2ba;
    font-size: 11px;
}

.auth-form-panel {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: #fff;
}

.auth-form-box {
    width: 100%;
    max-width: 430px;
}

.auth-mobile-logo {
    display: none;
}

.auth-form-heading {
    margin-bottom: 30px;
}

    .auth-form-heading > span {
        color: #1976d2;
        margin-bottom: 9px;
    }

    .auth-form-heading h2 {
        margin: 0 0 9px;
        color: #17263a;
        font-size: 27px;
        font-weight: 750;
        letter-spacing: -.45px;
    }

    .auth-form-heading p {
        margin: 0;
        color: #6d7c90;
        font-size: 13px;
        line-height: 20px;
    }

.auth-field {
    margin-bottom: 18px;
}

    .auth-field label,
    .auth-label-row label {
        margin-bottom: 7px;
        color: #344256;
        font-size: 12px;
        font-weight: 700;
    }

.auth-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .auth-label-row a,
    .auth-back-link,
    .auth-support a {
        color: #1976d2;
        font-size: 12px;
        font-weight: 600;
        text-decoration: none;
    }

.auth-input {
    position: relative;
}

    .auth-input > i {
        position: absolute;
        z-index: 2;
        left: 14px;
        top: 50%;
        color: #8291a5;
        font-size: 15px;
        transform: translateY(-50%);
    }

    .auth-input .form-control {
        height: 46px;
        padding: 10px 44px 10px 42px;
        color: #263548;
        border: 1px solid #d6dee8;
        border-radius: 9px;
        font-size: 13px;
        box-shadow: none;
    }

        .auth-input .form-control:focus {
            border-color: #65a8e5;
            box-shadow: 0 0 0 3px rgba(25,118,210,.10);
        }

    .auth-input button {
        position: absolute;
        right: 7px;
        top: 6px;
        width: 34px;
        height: 34px;
        padding: 0;
        color: #718096;
        background: transparent;
        border: 0;
        border-radius: 7px;
    }

        .auth-input button:hover {
            color: #1976d2;
            background: #edf5fd;
        }

.field-validation-error {
    display: block;
    margin-top: 5px;
    color: #d93c4c;
    font-size: 11px;
}

.auth-validation-summary {
    margin-bottom: 18px;
    padding: 11px 13px;
    color: #b52e3c;
    background: #fdebed;
    border: 1px solid #f7ccd1;
    border-radius: 8px;
    font-size: 12px;
}

    .auth-validation-summary ul {
        margin: 0;
        padding-left: 17px;
    }

.auth-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 3px 0 22px;
}

.auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #526176;
    font-size: 12px;
    cursor: pointer;
}

    .auth-check input {
        width: 16px;
        height: 16px;
        accent-color: #1976d2;
    }

.auth-options small {
    color: #98a3b2;
    font-size: 10px;
}

.auth-submit {
    width: 100%;
    min-height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
}

    .auth-submit i {
        transition: transform .2s ease;
    }

    .auth-submit:hover i {
        transform: translateX(3px);
    }

.auth-demo-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding: 11px 13px;
    color: #526176;
    background: #f6f9fc;
    border: 1px solid #e3e9f0;
    border-radius: 9px;
}

    .auth-demo-note > i {
        color: #1976d2;
    }

    .auth-demo-note strong,
    .auth-demo-note span {
        display: block;
        font-size: 11px;
    }

    .auth-demo-note span {
        margin-top: 2px;
        color: #718096;
    }

.auth-support {
    margin-top: 25px;
    color: #7b8797;
    font-size: 11px;
    text-align: center;
}

.auth-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 32px;
}

.auth-success {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 20px;
    padding: 12px 14px;
    color: #157247;
    background: #e8f7ef;
    border: 1px solid #ccecdc;
    border-radius: 9px;
    font-size: 12px;
}

.auth-error-box {
    text-align: center;
}

.auth-error-icon {
    width: 74px;
    height: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    color: #d83c4c;
    background: #fdebed;
    border-radius: 20px;
    font-size: 32px;
}

@media (max-width: 991.98px) {
    .auth-page {
        display: block;
    }

    .auth-brand-panel {
        display: none;
    }

    .auth-form-panel {
        padding: 32px 20px;
    }

    .auth-mobile-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        position: absolute;
        top: 25px;
        left: 0;
        right: 0;
        color: #123754;
    }

        .auth-mobile-logo i {
            color: #1976d2;
            font-size: 23px;
        }

        .auth-mobile-logo strong {
            font-size: 15px;
        }
}

@media (max-width: 575.98px) {
    .auth-form-panel {
        align-items: flex-start;
        padding-top: 105px;
    }

    .auth-form-heading h2 {
        font-size: 23px;
    }

    .auth-options {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }
}

/* ORTAK SAYFA BAŞLIĞI */
.module-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.module-page-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #1976d2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .6px;
}

.module-page-header h1 {
    margin: 0 0 5px;
    color: #172033;
    font-size: 24px;
    font-weight: 700;
}

.module-page-header p,
.menu-page-toolbar p {
    margin: 0;
    color: #718096;
    font-size: 13px;
}

.summary-box small {
    display: block;
    margin-top: 4px;
    color: #8190a2;
    font-size: 11px;
}

.menu-page-card {
    overflow: visible;
}

.menu-page-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border-bottom: 1px solid #e4eaf0;
}

    .menu-page-toolbar h2 {
        margin: 0 0 4px;
        color: #1e293b;
        font-size: 17px;
        font-weight: 700;
    }

.menu-filter-row {
    display: flex;
    align-items: center;
    gap: 9px;
}

    .menu-filter-row > .form-select,
    .menu-filter-row > .select2-container {
        width: 200px !important;
    }

.menu-filter-row-wide > .form-select,
.menu-filter-row-wide > .select2-container {
    width: 180px !important;
}

.menu-search {
    position: relative;
    width: 240px;
}

    .menu-search i {
        position: absolute;
        top: 50%;
        left: 12px;
        z-index: 2;
        color: #8794a5;
        transform: translateY(-50%);
    }

    .menu-search .form-control {
        height: 38px;
        padding-left: 34px;
        border-color: #d5dee8;
        border-radius: 8px;
        box-shadow: none;
    }

        .menu-search .form-control:focus {
            border-color: #68a7e4;
            box-shadow: 0 0 0 3px rgba(25, 118, 210, .1);
        }

.badge-soft-primary {
    color: #1565c0;
    background-color: #e7f2fd;
}

.calendar-navigation {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .calendar-navigation > div {
        min-width: 145px;
        text-align: center;
    }

    .calendar-navigation strong,
    .calendar-navigation small {
        display: block;
    }

    .calendar-navigation strong {
        color: #263548;
        font-size: 14px;
    }

    .calendar-navigation small {
        margin-top: 2px;
        color: #8190a2;
        font-size: 10px;
    }

.agenda-list {
    padding: 4px 20px 18px;
}

.agenda-day {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #e8edf2;
}

    .agenda-day:last-child {
        border-bottom: 0;
    }

.agenda-date {
    height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #64748b;
    background: #f4f7fa;
    border-radius: 10px;
}

    .agenda-date.active {
        color: #fff;
        background: #1976d2;
    }

    .agenda-date span,
    .agenda-date small {
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
    }

    .agenda-date strong {
        font-size: 23px;
        line-height: 27px;
    }

.agenda-events {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.agenda-event {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    background: #fbfcfe;
    border: 1px solid #e6ebf1;
    border-radius: 9px;
}

    .agenda-event:has(.dropdown-menu.show) {
        z-index: 20;
    }

.agenda-event-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background: #e7f2fd;
    border-radius: 9px;
}

.agenda-event-main {
    min-width: 0;
    flex-grow: 1;
}

    .agenda-event-main > div {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 7px;
    }

    .agenda-event-main strong {
        color: #263548;
        font-size: 13px;
    }

    .agenda-event-main p {
        margin: 3px 0;
        color: #718096;
        font-size: 11px;
    }

    .agenda-event-main small {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: #607086;
        font-size: 11px;
    }

.tracking-list,
.training-tracker {
    padding: 4px 20px 18px;
}

.tracking-item,
.training-track-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 96px;
    padding: 15px 0;
    border-bottom: 1px solid #e8edf2;
}

    .tracking-item:last-child,
    .training-track-item:last-child {
        border-bottom: 0;
    }

.tracking-icon {
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 17px;
}

.tracking-red {
    color: #cf3544;
    background: #fdebed;
}

.tracking-orange {
    color: #cb7508;
    background: #fff0dc;
}

.tracking-green {
    color: #168453;
    background: #e5f6ee;
}

.tracking-main,
.training-track-main {
    min-width: 0;
    flex-grow: 1;
}

    .tracking-title,
    .training-track-main > div {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 7px;
    }

        .tracking-title strong,
        .training-track-main strong {
            color: #263548;
            font-size: 14px;
        }

    .tracking-main > a,
    .training-track-main > a {
        display: inline-block;
        margin-top: 3px;
        color: #1976d2;
        font-size: 12px;
        font-weight: 600;
    }

    .tracking-main p {
        margin: 4px 0;
        color: #718096;
        font-size: 12px;
    }

    .tracking-meta,
    .training-track-main p {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        margin: 5px 0 0;
    }

        .tracking-meta span,
        .training-track-main p span {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            color: #6b7b8e;
            font-size: 11px;
        }

.tracking-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.training-track-date {
    width: 51px;
    height: 55px;
    flex: 0 0 51px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #1976d2;
    background: #e7f2fd;
    border-radius: 9px;
}

    .training-track-date strong {
        font-size: 19px;
        line-height: 21px;
    }

    .training-track-date small {
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }

.report-filter-card {
    padding: 15px;
    margin-bottom: 18px;
}

.report-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.report-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    padding: 20px;
}

.report-card-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    border-radius: 11px;
    font-size: 19px;
}

.report-blue {
    color: #1976d2;
    background: #e7f2fd;
}

.report-green {
    color: #168453;
    background: #e5f6ee;
}

.report-orange {
    color: #cb7508;
    background: #fff0dc;
}

.report-purple {
    color: #7654b5;
    background: #f0ebfa;
}

.report-red {
    color: #cf3544;
    background: #fdebed;
}

.report-cyan {
    color: #087f8c;
    background: #e2f5f6;
}

.report-card h2 {
    margin: 0 0 7px;
    color: #263548;
    font-size: 15px;
    font-weight: 700;
}

.report-card p {
    flex-grow: 1;
    margin: 0 0 17px;
    color: #718096;
    font-size: 12px;
    line-height: 18px;
}

.report-card-actions {
    width: 100%;
    display: flex;
    gap: 7px;
}

    .report-card-actions .btn {
        flex: 1;
    }

.help-search {
    position: relative;
    max-width: 720px;
    margin-bottom: 18px;
}

    .help-search i {
        position: absolute;
        top: 50%;
        left: 17px;
        z-index: 2;
        color: #8190a2;
        transform: translateY(-50%);
    }

    .help-search .form-control {
        height: 52px;
        padding-left: 45px;
        border: 0;
        box-shadow: none;
    }

.help-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
}

.help-category {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 20px 14px;
    color: #334155;
    text-align: center;
}

    .help-category:hover {
        color: #1565c0;
        transform: translateY(-2px);
    }

    .help-category > span {
        width: 43px;
        height: 43px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
        border-radius: 10px;
        font-size: 18px;
    }

.metric-purple {
    color: #7654b5;
    background: #f0ebfa;
}

.help-category strong {
    font-size: 13px;
}

.help-category small {
    margin-top: 4px;
    color: #718096;
    font-size: 11px;
}

.help-faq {
    overflow: hidden;
}

    .help-faq .accordion-button {
        padding: 16px 20px;
        font-size: 13px;
        font-weight: 600;
        box-shadow: none;
    }

        .help-faq .accordion-button:not(.collapsed) {
            color: #1565c0;
            background: #edf5fd;
        }

    .help-faq .accordion-body {
        color: #607086;
        font-size: 12px;
        line-height: 19px;
    }

.support-card {
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 30px 22px;
    text-align: center;
}

    .support-card > span {
        width: 58px;
        height: 58px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1976d2;
        background: #e7f2fd;
        border-radius: 16px;
        font-size: 24px;
    }

    .support-card h2 {
        margin: 14px 0 7px;
        color: #263548;
        font-size: 16px;
    }

    .support-card p {
        margin: 0 0 18px;
        color: #718096;
        font-size: 12px;
        line-height: 18px;
    }

@media (max-width: 1199.98px) {
    .report-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 991.98px) {
    .menu-page-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .menu-filter-row {
        width: 100%;
    }

        .menu-filter-row > .form-select,
        .menu-filter-row > .select2-container,
        .menu-search {
            width: 100% !important;
            flex: 1;
        }
}

@media (max-width: 767.98px) {
    .module-page-header {
        align-items: stretch;
        flex-direction: column;
    }

        .module-page-header > .btn {
            width: 100%;
        }

    .menu-filter-row {
        align-items: stretch;
        flex-direction: column;
    }

    .agenda-day {
        grid-template-columns: 56px minmax(0,1fr);
        gap: 10px;
    }

    .agenda-date {
        height: 64px;
    }

    .tracking-item,
    .training-track-item {
        align-items: flex-start;
    }

    .tracking-actions .status-badge {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .report-card-grid,
    .help-category-grid {
        grid-template-columns: 1fr;
    }

    .calendar-navigation {
        flex-wrap: wrap;
    }

        .calendar-navigation > div {
            order: -1;
            width: 100%;
        }

    .tracking-item {
        flex-wrap: wrap;
    }

    .tracking-actions {
        margin-left: 56px;
    }
}

.saha-observation-card,
.observation-detail-card {
    overflow: visible;
}

.saha-list-header {
    align-items: flex-end;
    border-radius: 12px 12px 0 0;
}

.saha-list-title {
    min-width: 260px;
    flex: 1;
    padding-bottom: 3px;
}

.saha-header-tools {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
}

    .saha-header-tools .filter-group {
        min-width: 0;
    }

    .saha-header-tools .saha-status-group {
        width: 190px;
    }

    .saha-header-tools .saha-search-group {
        width: 230px;
    }

    .saha-header-tools .filter-group label {
        margin-bottom: 5px;
    }

    .saha-header-tools .select2-container,
    .saha-header-tools .employee-search-input,
    .saha-header-tools .form-control {
        width: 100% !important;
    }

.saha-new-report-btn {
    height: 38px;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    white-space: nowrap;
}

.saha-report-list {
    padding: 0 20px 20px;
}

.saha-report-item {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 4px;
    border-bottom: 1px solid #e6ebf1;
}

    .saha-report-item.dropdown-open {
        z-index: 1055;
    }

    .saha-report-item:last-of-type {
        border-bottom: 0;
    }

.saha-report-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background: #e8f2fc;
    border-radius: 11px;
    font-size: 18px;
}

.saha-report-main {
    min-width: 0;
    flex: 1;
}

.saha-report-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 4px;
}

    .saha-report-title strong {
        color: #1e293b;
        font-size: 14px;
    }

.saha-report-main > span,
.saha-report-main > small {
    display: block;
    color: #66758a;
    font-size: 12px;
}

.saha-report-main > small {
    margin-top: 4px;
}

.saha-report-counts {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .saha-report-counts > span {
        min-width: 64px;
        padding: 7px 9px;
        text-align: center;
        background: #f7f9fc;
        border-radius: 8px;
    }

    .saha-report-counts strong,
    .saha-report-counts small {
        display: block;
    }

    .saha-report-counts strong {
        font-size: 14px;
    }

    .saha-report-counts small {
        margin-top: 2px;
        color: #7a8798;
        font-size: 10px;
    }

.saha-report-actions {
    position: relative;
}

    .saha-report-actions > .btn {
        width: 36px;
        height: 34px;
        padding: 0;
    }

    .saha-report-actions .dropdown-menu {
        z-index: 1085 !important;
        min-width: 190px;
        box-shadow: 0 12px 30px rgba(15,23,42,.16);
    }

.empty-state {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 42px;
    color: #7a8798;
    text-align: center;
}

    .empty-state i {
        margin-bottom: 8px;
        font-size: 28px;
    }

    .empty-state strong {
        color: #344256;
    }

.observation-form-card {
    padding: 22px;
    overflow: visible;
}

.observation-section-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5eaf0;
}

    .observation-section-title > span {
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1976d2;
        background: #e7f2fd;
        border-radius: 10px;
        font-size: 17px;
    }

    .observation-section-title h2 {
        margin: 0 0 3px;
        color: #1e293b;
        font-size: 16px;
    }

    .observation-section-title p {
        margin: 0;
        color: #718096;
        font-size: 12px;
    }

.observation-finding {
    margin-bottom: 16px;
    padding: 18px;
    background: #fbfcfe;
    border: 1px solid #dfe6ee;
    border-radius: 11px;
}

.observation-finding-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

    .observation-finding-head > div {
        display: flex;
        align-items: center;
        gap: 9px;
    }

.finding-number {
    display: inline-flex;
    padding: 4px 8px;
    color: #1565c0;
    background: #e6f1fc;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
}

.finding-remove {
    width: 32px;
    height: 32px;
    padding: 0;
    color: #dc3545;
}

.observation-upload {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 68px;
    padding: 12px 15px;
    background: #fff;
    border: 1px dashed #b9c6d5;
    border-radius: 9px;
}

    .observation-upload > i {
        color: #1976d2;
        font-size: 22px;
    }

    .observation-upload strong,
    .observation-upload small {
        display: block;
    }

    .observation-upload small {
        color: #7a8798;
        font-size: 11px;
    }

    .observation-upload input {
        margin-left: auto;
        max-width: 300px;
        font-size: 12px;
    }

.observation-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding-top: 6px;
}

.observation-detail-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    padding: 20px;
}

    .observation-detail-summary > div {
        padding: 0 18px;
        border-right: 1px solid #e5eaf0;
    }

        .observation-detail-summary > div:first-child {
            padding-left: 0;
        }

        .observation-detail-summary > div:last-child {
            border-right: 0;
        }

    .observation-detail-summary small,
    .observation-detail-summary strong {
        display: block;
    }

    .observation-detail-summary small {
        margin-bottom: 5px;
        color: #718096;
        font-size: 11px;
    }

    .observation-detail-summary strong {
        color: #263548;
        font-size: 13px;
    }

.observation-detail-list {
    padding: 0 20px 20px;
}

.observation-detail-item {
    margin-top: 16px;
    padding: 18px;
    background: #fbfcfe;
    border: 1px solid #dfe6ee;
    border-radius: 11px;
}

.observation-detail-top {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
}

.observation-detail-item h3 {
    margin: 0 0 14px;
    color: #263548;
    font-size: 14px;
    line-height: 21px;
}

.observation-correction {
    padding: 12px 14px;
    background: #fff;
    border-left: 3px solid #4c9be8;
    border-radius: 5px;
}

    .observation-correction small {
        color: #718096;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .observation-correction p {
        margin: 4px 0 0;
        color: #49586b;
        font-size: 12px;
    }

.observation-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 13px;
    color: #68778a;
    font-size: 11px;
}

@media (max-width: 767.98px) {
    .saha-list-header {
        align-items: stretch;
        flex-direction: column;
    }

    .saha-list-title {
        width: 100%;
        padding-bottom: 0;
    }

    .saha-header-tools {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

        .saha-header-tools .saha-status-group,
        .saha-header-tools .saha-search-group,
        .saha-header-tools .saha-new-report-btn {
            width: 100%;
        }

    .saha-new-report-btn {
        justify-content: center;
    }

    .saha-report-item {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .saha-report-main {
        width: calc(100% - 60px);
        flex: none;
    }

    .saha-report-counts {
        width: calc(100% - 50px);
        margin-left: 58px;
    }

    .saha-report-actions {
        position: absolute;
        right: 4px;
        bottom: 16px;
    }

    .observation-section-actions {
        align-items: flex-start;
        flex-wrap: wrap;
    }

        .observation-section-actions .btn {
            width: 100%;
            margin-left: 0 !important;
        }

    .observation-upload {
        align-items: flex-start;
        flex-direction: column;
    }

        .observation-upload input {
            width: 100%;
            max-width: none;
        }

    .observation-detail-summary {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 18px 0;
    }

        .observation-detail-summary > div:nth-child(2) {
            border-right: 0;
        }

        .observation-detail-summary > div:nth-child(3) {
            padding-left: 0;
        }
}

.user-avatar-image {
    display: block;
    object-fit: cover;
}

.user-dropdown-header {
    min-width: 245px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px 16px 12px;
}

.user-dropdown-avatar {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1565c0;
    background-color: #e7f2fd;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
}

.user-dropdown-header strong,
.user-dropdown-header small {
    display: block;
}

.user-dropdown-header strong {
    color: #263548;
    font-size: 13px;
    font-weight: 700;
}

.user-dropdown-header small {
    max-width: 170px;
    margin-top: 3px;
    color: #718096;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu + .dropdown-menu {
    z-index: 1080;
    margin-top: 8px !important;
    border: 1px solid #e0e6ed;
    border-radius: 10px;
}

    .user-menu + .dropdown-menu .dropdown-item {
        display: flex;
        align-items: center;
        padding: 9px 15px;
        color: #455468;
        font-size: 12px;
    }

        .user-menu + .dropdown-menu .dropdown-item:hover {
            color: #1565c0;
            background-color: #edf5fd;
        }

        .user-menu + .dropdown-menu .dropdown-item.text-danger {
            color: #d83a49;
        }

            .user-menu + .dropdown-menu .dropdown-item.text-danger:hover {
                color: #bd2837;
                background-color: #fff0f1;
            }

.profile-success-alert {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    border-color: #ccecdc;
    border-radius: 10px;
    font-size: 12px;
}

.profile-summary-card {
    height: 100%;
    padding: 28px 22px;
}

.profile-avatar-area {
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.profile-avatar-preview {
    width: 104px;
    height: 104px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: #1565c0;
    background: linear-gradient( 145deg, #e5f2fd, #d8eafb );
    border: 4px solid #ffffff;
    border-radius: 28px;
    box-shadow: 0 0 0 1px #dce5ee, 0 9px 24px rgba(15, 23, 42, 0.10);
    font-size: 30px;
    font-weight: 700;
}

    .profile-avatar-preview img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

.profile-identity {
    margin-top: 18px;
}

    .profile-identity h2 {
        margin: 0 0 5px;
        color: #1e293b;
        font-size: 18px;
        font-weight: 700;
    }

    .profile-identity span {
        display: block;
        color: #1976d2;
        font-size: 12px;
        font-weight: 600;
    }

    .profile-identity small {
        display: block;
        margin-top: 5px;
        color: #718096;
        font-size: 11px;
    }

.profile-photo-upload {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5eaf0;
}

    .profile-photo-upload .btn {
        min-width: 150px;
    }

    .profile-photo-upload small {
        margin-top: 8px;
        color: #8591a1;
        font-size: 10px;
    }

.profile-account-status {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5eaf0;
}

    .profile-account-status > div {
        display: flex;
        align-items: center;
        gap: 11px;
        padding: 13px;
        background-color: #f5faf7;
        border: 1px solid #d9eee2;
        border-radius: 9px;
    }

.profile-status-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #168052;
    background-color: #dff4e9;
    border-radius: 9px;
}

.profile-account-status strong,
.profile-account-status small {
    display: block;
}

.profile-account-status strong {
    color: #276047;
    font-size: 12px;
}

.profile-account-status small {
    margin-top: 3px;
    color: #718c7e;
    font-size: 10px;
}

.profile-form-card {
    overflow: hidden;
}

.profile-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 22px;
    border-bottom: 1px solid #e5eaf0;
}

    .profile-card-header h2 {
        margin: 0 0 4px;
        color: #1e293b;
        font-size: 16px;
        font-weight: 700;
    }

    .profile-card-header p {
        margin: 0;
        color: #718096;
        font-size: 11px;
    }

    .profile-card-header > span {
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #1976d2;
        background-color: #e8f2fc;
        border-radius: 10px;
        font-size: 17px;
    }

.profile-form-card > .row,
.profile-form-card > .profile-validation {
    margin-right: 22px;
    margin-left: 22px;
}

.profile-form-card > .row {
    padding-top: 22px;
}

.profile-validation {
    margin-top: 20px;
    margin-bottom: 0;
    font-size: 12px;
}

.profile-input-icon {
    position: relative;
}

    .profile-input-icon > i {
        position: absolute;
        z-index: 2;
        left: 13px;
        top: 50%;
        color: #8291a5;
        font-size: 13px;
        transform: translateY(-50%);
    }

    .profile-input-icon .form-control {
        padding-left: 38px;
    }

        .profile-input-icon .form-control[readonly] {
            color: #66758a;
            background-color: #f5f7fa;
        }

.profile-field-info {
    display: block;
    margin-top: 5px;
    color: #8a96a5;
    font-size: 10px;
}

.profile-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 25px;
    padding: 17px 22px;
    background-color: #fafbfd;
    border-top: 1px solid #e5eaf0;
}

@media (max-width: 767.98px) {
    .profile-form-footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

        .profile-form-footer .btn {
            width: 100%;
        }
}

#loadingOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(43, 54, 67, 0.6);
    backdrop-filter: blur(2px);
    z-index: 9999999;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.waitMe_progress.win8 {
    position: relative;
    width: 40px;
    height: 40px;
    margin-bottom: 15px;
}

    .waitMe_progress.win8 .waitMe_progress_elem {
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: 0;
        animation: win8_anim 5.5s infinite;
    }

        .waitMe_progress.win8 .waitMe_progress_elem > div {
            position: absolute;
            width: 6px;
            height: 6px;
            background: #ffffff;
            border-radius: 50%;
        }

        .waitMe_progress.win8 .waitMe_progress_elem:nth-child(1) {
            animation-delay: 0.91s;
        }

        .waitMe_progress.win8 .waitMe_progress_elem:nth-child(2) {
            animation-delay: 0.39s;
        }

        .waitMe_progress.win8 .waitMe_progress_elem:nth-child(3) {
            animation-delay: 0.26s;
        }

        .waitMe_progress.win8 .waitMe_progress_elem:nth-child(4) {
            animation-delay: 0.13s;
        }

        .waitMe_progress.win8 .waitMe_progress_elem:nth-child(5) {
            animation-delay: 0s;
        }

@keyframes win8_anim {
    0% {
        transform: rotate(225deg);
        opacity: 1;
        animation-timing-function: ease-out;
    }

    7% {
        transform: rotate(345deg);
        animation-timing-function: linear;
    }

    30% {
        transform: rotate(455deg);
        animation-timing-function: ease-in-out;
    }

    39% {
        transform: rotate(690deg);
        animation-timing-function: linear;
    }

    70% {
        transform: rotate(815deg);
        opacity: 1;
        animation-timing-function: ease-out;
    }

    75% {
        transform: rotate(945deg);
        animation-timing-function: ease-out;
    }

    76% {
        transform: rotate(945deg);
        opacity: 0;
    }

    100% {
        transform: rotate(945deg);
        opacity: 0;
    }
}

.modal.fade .modal-dialog {
    opacity: 0;
    transform: translateY(-12px) scale(0.97);
    transition: opacity 0.50s ease, transform 0.50s ease;
}

.modal.show .modal-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.modal.fade:not(.show) .modal-dialog {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog {
        transition: none;
    }
}

.modal.show .modal-dialog {
    animation: modalAcilsin 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.modal-backdrop.show {
    animation: modalArkaPlan 0.20s ease-out both;
}

@keyframes modalAcilsin {
    from {
        opacity: 0;
        transform: translateY(-18px) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes modalArkaPlan {
    from {
        opacity: 0;
    }

    to {
        opacity: 0.5;
    }
}

body.modal-open {
    padding-right: 0 !important;
}

.user-panel-switch {
    width: calc(100% - 20px);
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 9px 10px;
    padding: 12px;
    text-align: left;
    color: #334155;
    background: #f5f9fd;
    border: 1px solid #dce8f3;
    border-radius: 10px;
    transition: .15s ease;
}

    .user-panel-switch:hover {
        color: #1d4f7d;
        background: #edf6fd;
        border-color: #a9cce9;
    }

.user-panel-switch-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background: #e2f0fc;
    border-radius: 9px;
    font-size: 16px;
}

.user-panel-switch-content {
    min-width: 0;
    flex: 1;
}

    .user-panel-switch-content small,
    .user-panel-switch-content strong,
    .user-panel-switch-content em {
        display: block;
    }

    .user-panel-switch-content small {
        margin-bottom: 2px;
        color: #718096;
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .45px;
    }

    .user-panel-switch-content strong {
        color: #263548;
        font-size: 13px;
        line-height: 17px;
    }

    .user-panel-switch-content em {
        margin-top: 2px;
        color: #1976d2;
        font-size: 9px;
        font-style: normal;
    }

.user-panel-switch > .bi-chevron-right {
    color: #91a1b3;
    font-size: 12px;
}

.role-modal-dialog {
    max-width: 760px;
}

.role-modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 15px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .22);
}

.role-modal-header {
    align-items: flex-start;
    padding: 21px 23px 17px;
    border-bottom: 1px solid #e5ebf1;
}

.role-modal-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #1976d2;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .75px;
}

.role-modal-header h5 {
    margin: 0 0 4px;
    color: #172033;
    font-size: 20px;
    font-weight: 750;
}

.role-modal-header p {
    margin: 0;
    color: #718096;
    font-size: 11px;
}

.role-modal-body {
    padding: 20px 23px 23px;
}

.role-modal-user {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    padding: 10px 12px;
    background: #f7f9fc;
    border: 1px solid #e6ebf1;
    border-radius: 10px;
}

.role-modal-user-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background: #e5f1fc;
    border-radius: 8px;
}

.role-modal-user strong,
.role-modal-user small {
    display: block;
}

.role-modal-user strong {
    color: #344256;
    font-size: 12px;
}

.role-modal-user small {
    margin-top: 2px;
    color: #7d8998;
    font-size: 10px;
}

.role-modal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.role-modal-form {
    margin: 0;
}

.role-modal-option {
    width: 100%;
    min-height: 132px;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px;
    text-align: left;
    color: #334155;
    background: #fff;
    border: 1px solid #dfe6ee;
    border-radius: 11px;
    transition: .15s ease;
}

    .role-modal-option:hover {
        border-color: #91bee5;
        box-shadow: 0 7px 17px rgba(15, 23, 42, .07);
        transform: translateY(-1px);
    }

    .role-modal-option.active {
        background: #f4f9fe;
        border-color: #76afe0;
    }

.role-modal-option-icon {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1976d2;
    background: #e5f1fc;
    border-radius: 11px;
    font-size: 19px;
}

.role-modal-option-content {
    min-width: 0;
    flex: 1;
}

    .role-modal-option-content strong,
    .role-modal-option-content small {
        display: block;
    }

    .role-modal-option-content strong {
        margin-bottom: 4px;
        color: #263548;
        font-size: 13px;
    }

    .role-modal-option-content small {
        color: #718096;
        font-size: 10px;
        line-height: 15px;
    }

.role-modal-badge {
    display: inline-flex;
    margin-top: 7px;
    padding: 3px 6px;
    color: #15734b;
    background: #e5f6ee;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
}

    .role-modal-badge.default {
        color: #1565c0;
        background: #e7f2fd;
    }

.role-modal-arrow {
    color: #99a6b5;
    font-size: 13px;
}

@media (max-width: 575.98px) {
    .role-modal-grid {
        grid-template-columns: 1fr;
    }

    .role-modal-header,
    .role-modal-body {
        padding-left: 16px;
        padding-right: 16px;
    }
}

#atamaExportButonlari {
    padding: 10px 20px 0px 10px !important;
}

    #atamaExportButonlari .dt-buttons {
        display: flex !important;
        flex-wrap: wrap;
        gap: 5px;
    }

    #atamaExportButonlari .dt-button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 9px 16px !important;
        margin: 0 !important;
        border: 1px solid transparent !important;
        border-radius: 8px !important;
        background-image: none !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        transition: background-color .15s, border-color .15s;
    }

        #atamaExportButonlari .dt-button i {
            font-size: 16px;
            margin-right: 7px !important;
        }

    #atamaExportButonlari .buttons-pdf {
        color: #b42318 !important;
        background: #fff1f0 !important;
        border-color: #ffd5d2 !important;
    }

        #atamaExportButonlari .buttons-pdf:hover {
            background: #ffe3e0 !important;
            border-color: #ffb6af !important;
        }

    #atamaExportButonlari .buttons-excel {
        color: #157347 !important;
        background: #edf9f1 !important;
        border-color: #c8ead4 !important;
    }

        #atamaExportButonlari .buttons-excel:hover {
            background: #dff3e6 !important;
            border-color: #a3d9b6 !important;
        }

    #atamaExportButonlari .dt-button:focus-visible {
        outline: 2px solid #1976d2;
        outline-offset: 3px;
    }

.personel-atama-card {
    min-width: 0;
    max-width: 100%;
}

    .personel-atama-card .table-card-header {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 20px;
    }

    .personel-atama-card .table-card-title {
        flex: 1 1 220px;
        min-width: 0;
    }

    .personel-atama-card .table-header-filters {
        display: flex;
        flex: 3 1 600px;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: flex-end;
        gap: 12px;
        min-width: 0;
        max-width: 100%;
    }

        .personel-atama-card .table-header-filters .filter-group {
            flex: 1 1 180px;
            width: auto !important;
            min-width: 0 !important;
            max-width: 100%;
        }

        .personel-atama-card .table-header-filters .record-length-group {
            flex: 0 1 125px;
        }

        .personel-atama-card .table-header-filters .firma-search-group {
            flex: 2 1 260px;
        }

    .personel-atama-card .filter-group .select2-container {
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
    }

    .personel-atama-card .firma-search-input {
        width: 100%;
        min-width: 0;
    }

        .personel-atama-card .firma-search-input input {
            min-width: 0;
            width: 100%;
        }

@media (max-width: 767.98px) {
    .personel-atama-card .table-card-title,
    .personel-atama-card .table-header-filters {
        flex: 1 1 100%;
        width: 100%;
    }

        .personel-atama-card .table-header-filters .filter-group {
            flex: 1 1 100%;
            width: 100% !important;
        }
}

/* PERSONEL — ALANA ÖZEL YERLEŞİMLER */
.personel-ui .app-topbar .topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.personel-ui .app-topbar .topbar-panel-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f4f7fc;
    text-align: left;
    cursor: pointer;
}

    .personel-ui .app-topbar .topbar-panel-switch .user-panel-switch-content {
        display: flex;
        flex-direction: column;
    }

    .personel-ui .app-topbar .topbar-panel-switch strong {
        font-size: 13px;
        line-height: 1.3;
    }

    .personel-ui .app-topbar .topbar-panel-switch em {
        font-size: 10px;
        font-style: normal;
        color: #64748b;
    }

    .personel-ui .app-topbar .topbar-panel-switch:hover {
        background: #eaf0fa;
    }

    .personel-ui .app-topbar .topbar-panel-switch:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
    }

@media(max-width:575.98px) {
    .personel-ui .app-topbar .topbar-actions {
        gap: 6px;
    }

    .personel-ui .app-topbar .topbar-panel-switch {
        padding: 6px 8px;
        gap: 6px;
    }

        .personel-ui .app-topbar .topbar-panel-switch strong {
            font-size: 11px;
        }

        .personel-ui .app-topbar .topbar-panel-switch .user-panel-switch-icon,
        .personel-ui .app-topbar .topbar-panel-switch > .bi {
            display: none;
        }
}

.personel-ui .app-topbar .topbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.personel-ui .app-topbar .topbar-panel-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f4f7fc;
    text-align: left;
    cursor: pointer;
}

    .personel-ui .app-topbar .topbar-panel-switch .user-panel-switch-content {
        display: flex;
        flex-direction: column;
    }

    .personel-ui .app-topbar .topbar-panel-switch strong {
        font-size: 13px;
        line-height: 1.3;
    }

    .personel-ui .app-topbar .topbar-panel-switch em {
        font-size: 10px;
        font-style: normal;
        color: #64748b;
    }

    .personel-ui .app-topbar .topbar-panel-switch:hover {
        background: #eaf0fa;
    }

    .personel-ui .app-topbar .topbar-panel-switch:focus-visible {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
    }

@media(max-width:575.98px) {
    .personel-ui .app-topbar .topbar-actions {
        gap: 6px;
    }

    .personel-ui .app-topbar .topbar-panel-switch {
        padding: 6px 8px;
        gap: 6px;
    }

        .personel-ui .app-topbar .topbar-panel-switch strong {
            font-size: 11px;
        }

        .personel-ui .app-topbar .topbar-panel-switch .user-panel-switch-icon,
        .personel-ui .app-topbar .topbar-panel-switch > .bi {
            display: none;
        }
}

.personel-ui .dashboard-empty-state i {
    margin-bottom: 5px;
    color: #4676b8;
    font-size: 38px;
}

.personel-ui #sahaGozlemDinamikModal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.personel-ui #sahaGozlemDinamikModal .observation-finding-photo img {
    width: auto;
    max-width: 100%;
    max-height: 280px;
    object-fit: contain;
    background: #f8fafc;
}

.personel-ui #yillikCalismaPlaniModal .modal-dialog {
    height: calc(100vh - 24px);
    max-height: calc(100vh - 24px);
    margin-top: 12px;
    margin-bottom: 12px;
}

.personel-ui #yillikCalismaPlaniModal .modal-content {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

    .personel-ui #yillikCalismaPlaniModal .modal-content > form {
        height: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

.personel-ui #yillikCalismaPlaniModal .modal-header,
.personel-ui #yillikCalismaPlaniModal .modal-footer {
    flex: 0 0 auto;
}

.personel-ui #yillikCalismaPlaniModal .modal-body {
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

.personel-ui .document-form-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

    .personel-ui .document-form-modal .modal-header {
        padding: 18px 22px;
    }

    .personel-ui .document-form-modal .modal-body {
        padding: 20px 22px;
        background-color: #f8fafc;
    }

    .personel-ui .document-form-modal .modal-footer {
        padding: 14px 22px;
    }

.personel-ui .document-form-summary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(190px, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui .document-form-summary > div {
        padding: 13px 15px;
        background-color: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 9px;
    }

    .personel-ui .document-form-summary span,
    .personel-ui .document-form-summary strong {
        display: block;
    }

    .personel-ui .document-form-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui .document-form-summary strong {
        color: #172033;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.4;
    }

.personel-ui .plan-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

    .personel-ui .plan-editor-header h6 {
        margin: 0 0 3px;
        color: #172033;
        font-size: 16px;
        font-weight: 700;
    }

    .personel-ui .plan-editor-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui .plan-mobile-scroll-hint {
    display: none;
}

.personel-ui .plan-editor-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    background-color: #ffffff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
}

.personel-ui .plan-editor-table {
    width: 100%;
    min-width: 0;
    margin: 0;
    table-layout: fixed;
    font-size: 13px;
}

    .personel-ui .plan-editor-table thead {
        position: sticky;
        top: -20px;
        z-index: 3;
    }

    .personel-ui .plan-editor-table th {
        padding: 11px 7px;
        color: #334155;
        background-color: #eef3f8;
        border-color: #dce4ed;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        vertical-align: middle;
        white-space: nowrap;
    }

    .personel-ui .plan-editor-table td {
        padding: 10px 7px;
        color: #334155;
        border-color: #e8edf3;
        font-size: 13px;
        line-height: 1.4;
        vertical-align: middle;
    }

    .personel-ui .plan-editor-table tbody tr:not(.plan-category-row):hover td {
        background-color: #f8fbff;
    }

.personel-ui .plan-no-column {
    width: 45px;
}

.personel-ui .plan-topic-column {
    width: auto;
    text-align: left !important;
}

.personel-ui .plan-action-column {
    width: 44px;
}

.personel-ui .plan-select-all-column {
    width: 64px;
}

.personel-ui .plan-row-number,
.personel-ui .plan-month-cell,
.personel-ui .plan-row-select-all-cell {
    text-align: center;
}

.personel-ui .plan-row-number {
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}

.personel-ui .plan-month-cell,
.personel-ui .plan-editor-table th:not(.plan-no-column):not(.plan-topic-column):not(.plan-select-all-column):not(.plan-action-column) {
    width: 40px;
}

.personel-ui .plan-category-row td {
    padding: 9px 11px;
    color: #244b70;
    background-color: #eaf2fa;
    border-top: 1px solid #d3e1ee;
    border-bottom: 1px solid #d3e1ee;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.personel-ui .plan-topic-text {
    display: inline-block;
    color: #273444;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.personel-ui .plan-editor-table .form-check-input {
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
}

.personel-ui .plan-editor-table .form-control-sm {
    min-height: 36px;
    padding: 6px 9px;
    font-size: 13px;
    line-height: 1.3;
}

.personel-ui .plan-row-actions {
    text-align: center;
}

.personel-ui .plan-editor-table .yillik-plan-satir-sil {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

@media (max-width: 991.98px) {
    .personel-ui .plan-mobile-scroll-hint {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-bottom: 8px;
        padding: 9px 11px;
        color: #315b86;
        background-color: #eaf3fc;
        border-radius: 7px;
        font-size: 12px;
    }

    .personel-ui .plan-editor-table-wrap {
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .personel-ui .plan-editor-table {
        width: 1190px;
        min-width: 1190px;
        table-layout: fixed;
    }

        .personel-ui .plan-editor-table thead {
            position: static;
        }

    .personel-ui .plan-no-column {
        width: 48px;
    }

    .personel-ui .plan-topic-column {
        width: 460px;
    }

    .personel-ui .plan-action-column {
        width: 46px;
    }

    .personel-ui .plan-select-all-column {
        width: 70px;
    }

    .personel-ui .plan-month-cell,
    .personel-ui .plan-editor-table th:not(.plan-no-column):not(.plan-topic-column):not(.plan-select-all-column):not(.plan-action-column) {
        width: 47px;
    }

    .personel-ui .plan-editor-table th {
        padding: 11px 7px;
        font-size: 12px;
    }

    .personel-ui .plan-editor-table td {
        padding: 10px 7px;
        font-size: 13px;
    }

    .personel-ui .plan-topic-text {
        font-size: 13px;
    }
}

@media (max-width: 767.98px) {
    .personel-ui #yillikCalismaPlaniModal .modal-dialog {
        width: 100%;
        height: 100vh;
        max-height: 100vh;
        margin: 0;
    }

    .personel-ui #yillikCalismaPlaniModal .modal-content {
        border-radius: 0;
    }

    .personel-ui .document-form-modal .modal-header {
        padding: 15px 16px;
    }

    .personel-ui .document-form-modal .modal-body {
        padding: 16px;
    }

    .personel-ui .document-form-modal .modal-footer {
        padding: 12px 16px;
    }

    .personel-ui .document-form-summary {
        grid-template-columns: 1fr;
    }

    .personel-ui .plan-editor-header {
        align-items: stretch;
        flex-direction: column;
    }

        .personel-ui .plan-editor-header h6 {
            font-size: 15px;
        }

        .personel-ui .plan-editor-header p {
            font-size: 12px;
        }
}

.personel-ui #yilSonuDegerlendirmeModal .modal-dialog {
    width: calc(100% - 24px);
    height: calc(100vh - 24px);
    max-width: 1500px;
    margin: 12px auto;
}

.personel-ui #yilSonuDegerlendirmeModal .modal-content,
.personel-ui #yilSonuDegerlendirmeModal form {
    height: 100%;
    min-height: 0;
}

.personel-ui #yilSonuDegerlendirmeModal form {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.personel-ui #yilSonuDegerlendirmeModal .modal-header,
.personel-ui #yilSonuDegerlendirmeModal .modal-footer {
    flex: 0 0 auto;
    padding: 16px 22px;
}

.personel-ui #yilSonuDegerlendirmeModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 22px;
    background: #f8fafc;
}

.personel-ui .yil-sonu-form-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

.personel-ui .yil-sonu-firma-summary {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui .yil-sonu-firma-summary > div {
        min-width: 0;
        padding: 13px 15px;
        background: #fff;
        border: 1px solid #dce4ed;
        border-radius: 9px;
    }

    .personel-ui .yil-sonu-firma-summary span,
    .personel-ui .yil-sonu-firma-summary strong {
        display: block;
    }

    .personel-ui .yil-sonu-firma-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui .yil-sonu-firma-summary strong {
        color: #172033;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

.personel-ui .yil-sonu-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 10px;
}

    .personel-ui .yil-sonu-editor-header h6 {
        margin: 0 0 3px;
        font-weight: 700;
    }

    .personel-ui .yil-sonu-editor-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui .yil-sonu-mobile-hint {
    display: none;
}

.personel-ui .yil-sonu-table-wrap {
    width: 100%;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
}

.personel-ui .yil-sonu-table {
    width: 100%;
    min-width: 1350px;
    table-layout: fixed;
    font-size: 13px;
}

    .personel-ui .yil-sonu-table thead {
        position: sticky;
        top: -20px;
        z-index: 3;
    }

    .personel-ui .yil-sonu-table th {
        padding: 10px 7px;
        color: #334155;
        background: #eef3f8;
        vertical-align: middle;
        white-space: nowrap;
    }

    .personel-ui .yil-sonu-table td {
        padding: 8px 6px;
        border-color: #e8edf3;
        vertical-align: middle;
    }

    .personel-ui .yil-sonu-table textarea {
        resize: vertical;
        min-height: 58px;
        font-size: 12px;
    }

    .personel-ui .yil-sonu-table .form-control-sm {
        font-size: 12px;
    }

.personel-ui .ys-no {
    width: 45px;
}

.personel-ui .ys-calisma {
    width: 260px;
}

.personel-ui .ys-tarih {
    width: 145px;
}

.personel-ui .ys-kisi {
    width: 230px;
}

.personel-ui .ys-tekrar {
    width: 78px;
}

.personel-ui .ys-mevzuat {
    width: 250px;
}

.personel-ui .ys-sonuc {
    width: 270px;
}

.personel-ui .ys-islem {
    width: 48px;
}

@media (max-width:991.98px) {
    .personel-ui .yil-sonu-firma-summary {
        grid-template-columns: 1fr;
    }

    .personel-ui .yil-sonu-mobile-hint {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 8px;
        padding: 8px 10px;
        color: #315b86;
        background: #eaf3fc;
        border-radius: 7px;
        font-size: 12px;
    }

    .personel-ui .yil-sonu-table thead {
        position: static;
    }
}

@media (max-width:767.98px) {
    .personel-ui #yilSonuDegerlendirmeModal .modal-dialog {
        width: 100%;
        height: 100vh;
        margin: 0;
    }

    .personel-ui #yilSonuDegerlendirmeModal .modal-header,
    .personel-ui #yilSonuDegerlendirmeModal .modal-body,
    .personel-ui #yilSonuDegerlendirmeModal .modal-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .personel-ui .yil-sonu-editor-header {
        align-items: stretch;
        flex-direction: column;
    }

        .personel-ui .yil-sonu-editor-header .btn {
            align-self: flex-start;
        }
}

.personel-ui #sahaGozlemDinamikModal .saha-ajax-form {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.personel-ui #sahaGozlemDinamikModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

@media (max-width: 575.98px) {
    .personel-ui #sahaGozlemDinamikModal .modal-dialog {
        height: calc(100vh - 1rem);
        height: calc(100dvh - 1rem);
        margin: .5rem;
    }
}

.personel-ui #acilDurumTatbikatiModal .modal-dialog {
    width: calc(100% - 24px);
    height: calc(100vh - 24px);
    max-width: 1180px;
    margin: 12px auto;
}

.personel-ui #acilDurumTatbikatiModal .modal-content,
.personel-ui #acilDurumTatbikatiModal form {
    height: 100%;
    min-height: 0;
}

.personel-ui #acilDurumTatbikatiModal form {
    display: flex;
    flex-direction: column;
}

.personel-ui #acilDurumTatbikatiModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 22px;
    background: #f8fafc;
}

.personel-ui #acilDurumTatbikatiModal .modal-header,
.personel-ui #acilDurumTatbikatiModal .modal-footer {
    flex: 0 0 auto;
    padding: 16px 22px;
}

.personel-ui .tatbikat-form-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

.personel-ui .tatbikat-firma-summary {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui .tatbikat-firma-summary > div,
    .personel-ui .tatbikat-section {
        padding: 13px 15px;
        background: #fff;
        border: 1px solid #dce4ed;
        border-radius: 9px;
    }

    .personel-ui .tatbikat-firma-summary span,
    .personel-ui .tatbikat-firma-summary strong {
        display: block;
    }

    .personel-ui .tatbikat-firma-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui .tatbikat-firma-summary strong {
        color: #172033;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

.personel-ui .tatbikat-section {
    margin-bottom: 20px;
}

    .personel-ui .tatbikat-section textarea,
    .personel-ui #acilDurumTatbikatiModal textarea {
        resize: vertical;
    }

.personel-ui .tatbikat-question-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 10px;
}

    .personel-ui .tatbikat-question-header h6 {
        margin: 0 0 3px;
        font-weight: 700;
    }

    .personel-ui .tatbikat-question-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui .tatbikat-question-list {
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
}

.personel-ui .tatbikat-question-item {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 160px 38px;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-bottom: 1px solid #e8edf3;
}

    .personel-ui .tatbikat-question-item:last-child {
        border-bottom: 0;
    }

.personel-ui .tatbikat-question-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #185b94;
    background: #eaf2fa;
    border-radius: 50%;
    font-weight: 700;
}

.personel-ui .tatbikat-question-content {
    min-width: 0;
    font-size: 13px;
}

.personel-ui .tatbikat-question-answer {
    align-self: start;
}

.personel-ui .tatbikat-soru-sil {
    align-self: start;
}

.personel-ui .tatbikat-question-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .personel-ui .tatbikat-question-actions .form-select {
        width: 210px;
    }

.personel-ui .tatbikat-photo-section {
    margin-top: 20px;
    padding: 15px;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
}

.personel-ui .tatbikat-photo-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    min-height: 110px;
    color: #315b86;
    border: 2px dashed #bfd2e5;
    border-radius: 9px;
    cursor: pointer;
    transition: .2s ease;
}

    .personel-ui .tatbikat-photo-upload:hover {
        border-color: #0d6efd;
        background: #f5f9ff;
    }

    .personel-ui .tatbikat-photo-upload i {
        font-size: 24px;
    }

    .personel-ui .tatbikat-photo-upload span {
        color: #64748b;
        font-size: 12px;
    }

.personel-ui .tatbikat-existing-photos,
.personel-ui .tatbikat-photo-preview {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.personel-ui .tatbikat-photo-preview {
    margin-top: 12px;
    margin-bottom: 0;
}

.personel-ui .tatbikat-photo-card {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
}

    .personel-ui .tatbikat-photo-card img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .personel-ui .tatbikat-photo-card .btn {
        position: absolute;
        top: 6px;
        right: 6px;
    }

.personel-ui .tatbikat-photo-name {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5px 7px;
    overflow: hidden;
    color: #fff;
    background: rgba(15,23,42,.72);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width:767.98px) {
    .personel-ui #acilDurumTatbikatiModal .modal-dialog {
        width: 100%;
        height: 100vh;
        margin: 0;
    }

    .personel-ui .tatbikat-firma-summary {
        grid-template-columns: 1fr;
    }

    .personel-ui .tatbikat-question-header {
        align-items: stretch;
        flex-direction: column;
    }

        .personel-ui .tatbikat-question-header .btn {
            align-self: flex-start;
        }

    .personel-ui .tatbikat-question-actions {
        align-items: stretch;
        flex-direction: column;
    }

        .personel-ui .tatbikat-question-actions .form-select {
            width: 100%;
        }

    .personel-ui .tatbikat-question-item {
        grid-template-columns: 32px minmax(0,1fr) 38px;
    }

    .personel-ui .tatbikat-question-answer {
        grid-column: 2 / 4;
        width: 100%;
    }

    .personel-ui .tatbikat-existing-photos,
    .personel-ui .tatbikat-photo-preview {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

.personel-ui .dashboard-overview-row {
    align-items: flex-start;
}

.personel-ui .dashboard-overview-card {
    height: 320px;
    overflow: hidden;
}

.personel-ui .dashboard-task-list-scroll {
    height: calc(320px - 76px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: #cbd5e1 transparent;
    scrollbar-width: thin;
}

    .personel-ui .dashboard-task-list-scroll::-webkit-scrollbar {
        width: 6px;
    }

    .personel-ui .dashboard-task-list-scroll::-webkit-scrollbar-track {
        background: transparent;
    }

    .personel-ui .dashboard-task-list-scroll::-webkit-scrollbar-thumb {
        background-color: #cbd5e1;
        border-radius: 10px;
    }

        .personel-ui .dashboard-task-list-scroll::-webkit-scrollbar-thumb:hover {
            background-color: #94a3b8;
        }

.personel-ui .dashboard-empty-state {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    text-align: center;
    color: #6c757d;
}

.personel-ui .dashboard-task-list-scroll .dashboard-empty-state {
    min-height: 244px;
}

.personel-ui .dashboard-empty-state i {
    margin-bottom: 5px;
    color: #22a06b;
    font-size: 38px;
}

.personel-ui .dashboard-empty-state strong {
    color: #263546;
}

.personel-ui .dashboard-empty-state small {
    max-width: 430px;
}

.personel-ui .quick-red {
    color: #c53b3b;
    background-color: #fde9e9;
}

@media (max-width: 1199.98px) {
    .personel-ui .dashboard-overview-card {
        height: auto;
    }

    .personel-ui .dashboard-task-list-scroll {
        height: auto;
        max-height: 360px;
    }
}

.personel-ui #sahaGozlemDinamikModal .modal-dialog {
    height: calc(100vh - 2rem);
    height: calc(100dvh - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.personel-ui #sahaGozlemDinamikModal .modal-content {
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

.personel-ui #sahaGozlemDinamikModal .saha-gozlem-modal-form {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 0;
}

.personel-ui #sahaGozlemDinamikModal .modal-header,
.personel-ui #sahaGozlemDinamikModal .modal-footer {
    flex: 0 0 auto;
}

.personel-ui #sahaGozlemDinamikModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
    .personel-ui #sahaGozlemDinamikModal .modal-dialog {
        width: auto;
        height: calc(100vh - 1rem);
        height: calc(100dvh - 1rem);
        margin: .5rem;
    }
}

.personel-ui #riskDegerlendirmesiModal .modal-dialog {
    width: calc(100% - 24px);
    height: calc(100vh - 24px);
    max-width: 1180px;
    max-height: calc(100vh - 24px);
    margin: 12px auto;
}

.personel-ui #riskDegerlendirmesiModal .modal-content,
.personel-ui #riskDegerlendirmesiModal .modal-content > form {
    height: 100%;
    min-height: 0;
}

    .personel-ui #riskDegerlendirmesiModal .modal-content > form {
        display: flex;
        flex-direction: column;
    }

.personel-ui #riskDegerlendirmesiModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 20px 22px;
    overflow-y: auto;
    background: #f8fafc;
}

.personel-ui #riskDegerlendirmesiModal .modal-header,
.personel-ui #riskDegerlendirmesiModal .modal-footer {
    flex: 0 0 auto;
    padding: 16px 22px;
}

.personel-ui .risk-form-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

.personel-ui .risk-firma-summary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(160px, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui .risk-firma-summary > div {
        min-width: 0;
        padding: 13px 15px;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 9px;
    }

    .personel-ui .risk-firma-summary span,
    .personel-ui .risk-firma-summary strong {
        display: block;
    }

    .personel-ui .risk-firma-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui .risk-firma-summary strong {
        overflow-wrap: anywhere;
        color: #172033;
        font-size: 14px;
    }

.personel-ui .risk-selection-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

    .personel-ui .risk-selection-header h6 {
        margin: 0 0 3px;
        font-weight: 700;
    }

    .personel-ui .risk-selection-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui .risk-selection-summary {
    color: #475569;
    font-size: 13px;
    white-space: nowrap;
}

    .personel-ui .risk-selection-summary strong {
        color: #0d6efd;
    }

.personel-ui .risk-select-all,
.personel-ui .risk-topic-item {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.personel-ui .risk-select-all {
    width: max-content;
    margin-bottom: 12px;
    padding: 10px 14px;
    gap: 9px;
    background: #eaf3fc;
    border: 1px solid #cfe2f6;
    border-radius: 8px;
    color: #234f78;
    font-weight: 700;
}

.personel-ui .risk-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.personel-ui .risk-topic-item {
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    gap: 10px;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 8px;
    transition: border-color .15s ease, background-color .15s ease;
}

    .personel-ui .risk-topic-item:has(.risk-konu-checkbox:checked) {
        background: #f0f7ff;
        border-color: #9fc7ef;
    }

.personel-ui .risk-topic-name {
    min-width: 0;
    flex: 1 1 auto;
    color: #263548;
    font-size: 13px;
    font-weight: 600;
}

.personel-ui .risk-topic-item small {
    color: #64748b;
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .personel-ui #riskDegerlendirmesiModal .modal-dialog {
        width: 100%;
        height: 100vh;
        max-width: none;
        max-height: 100vh;
        margin: 0;
    }

    .personel-ui #riskDegerlendirmesiModal .modal-content {
        border-radius: 0;
    }

    .personel-ui .risk-firma-summary,
    .personel-ui .risk-topic-grid {
        grid-template-columns: 1fr;
    }

    .personel-ui .risk-selection-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .personel-ui .risk-selection-summary {
        white-space: normal;
    }
}

.personel-ui #yillikEgitimPlaniModal .modal-dialog {
    width: calc(100% - 24px);
    height: calc(100vh - 24px);
    max-width: 1320px;
    max-height: calc(100vh - 24px);
    margin: 12px auto;
}

.personel-ui #yillikEgitimPlaniModal .modal-content {
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

    .personel-ui #yillikEgitimPlaniModal .modal-content > form {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        overflow: hidden;
    }

.personel-ui #yillikEgitimPlaniModal .modal-header,
.personel-ui #yillikEgitimPlaniModal .modal-footer {
    flex: 0 0 auto;
}

.personel-ui #yillikEgitimPlaniModal .modal-header {
    padding: 18px 22px;
}

.personel-ui #yillikEgitimPlaniModal .modal-body {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    padding: 20px 18px;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    background: #f8fafc;
}

.personel-ui #yillikEgitimPlaniModal .modal-footer {
    padding: 14px 22px;
}

.personel-ui #yillikEgitimPlaniModal .document-form-summary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(160px, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui #yillikEgitimPlaniModal .document-form-summary > div {
        min-width: 0;
        padding: 13px 15px;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 9px;
    }

    .personel-ui #yillikEgitimPlaniModal .document-form-summary span,
    .personel-ui #yillikEgitimPlaniModal .document-form-summary strong {
        display: block;
    }

    .personel-ui #yillikEgitimPlaniModal .document-form-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui #yillikEgitimPlaniModal .document-form-summary strong {
        overflow-wrap: anywhere;
        color: #172033;
        font-size: 14px;
    }

.personel-ui #yillikEgitimPlaniModal .egitim-bottom-column {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.personel-ui #yillikEgitimPlaniModal .egitim-aciklama {
    min-height: 78px;
    height: 100%;
    resize: none;
}

.personel-ui #yillikEgitimPlaniModal .egitim-duration-status {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 78px;
    height: 100%;
    margin: 0;
    padding: 13px 15px;
    gap: 18px;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 9px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-duration-item {
    flex: 0 1 auto;
    min-width: 135px;
}

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-item > span {
        display: block;
        margin-bottom: 3px;
        color: #64748b;
        font-size: 12px;
        line-height: 1.3;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-item > strong {
        display: flex;
        align-items: baseline;
        gap: 4px;
        color: #172033;
        font-size: 15px;
        line-height: 1.3;
        white-space: nowrap;
    }

.personel-ui #yillikEgitimPlaniModal #egitimPlaniToplamSure,
.personel-ui #yillikEgitimPlaniModal .duration-unit {
    display: inline;
}

.personel-ui #yillikEgitimPlaniModal .egitim-duration-result {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.personel-ui #yillikEgitimPlaniModal .plan-editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

    .personel-ui #yillikEgitimPlaniModal .plan-editor-header h6 {
        margin: 0 0 3px;
        font-weight: 700;
    }

    .personel-ui #yillikEgitimPlaniModal .plan-editor-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui #yillikEgitimPlaniModal .plan-mobile-scroll-hint {
    display: none;
}

.personel-ui #yillikEgitimPlaniModal .egitim-plan-header-actions {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group {
    width: 330px;
    max-width: 100%;
}

    .personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group label {
        display: block;
        margin-bottom: 5px;
        color: #64748b;
        font-size: 12px;
        font-weight: 600;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group .input-group {
        flex-wrap: nowrap;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group .form-control {
        min-width: 135px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group .btn {
        white-space: nowrap;
    }

.personel-ui #yillikEgitimPlaniModal .egitim-plan-table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    overflow-x: hidden;
    background: #fff;
    border: 1px solid #dce4ed;
    border-radius: 10px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-plan-table {
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    table-layout: fixed;
    font-size: 13px;
}

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table thead {
        position: sticky;
        top: -20px;
        z-index: 3;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table th {
        padding: 11px 9px;
        color: #334155;
        background: #eef3f8;
        vertical-align: middle;
        white-space: nowrap;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table td {
        padding: 9px;
        border-color: #e8edf3;
        vertical-align: middle;
    }

.personel-ui #yillikEgitimPlaniModal .plan-category-row td {
    padding: 9px 11px;
    color: #244b70;
    background: #eaf2fa;
    border-top: 1px solid #d3e1ee;
    border-bottom: 1px solid #d3e1ee;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-no-column {
    width: 48px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-topic-column {
    width: 27%;
}

.personel-ui #yillikEgitimPlaniModal .egitim-target-column {
    width: auto;
}

.personel-ui #yillikEgitimPlaniModal .egitim-duration-column {
    width: 135px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-date-column {
    width: 145px;
}

.personel-ui #yillikEgitimPlaniModal .plan-action-column {
    width: 52px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-row-number {
    text-align: center;
    font-weight: 600;
}

.personel-ui #yillikEgitimPlaniModal .egitim-plan-table textarea {
    display: block;
    width: 100%;
    margin: 0;
    resize: none;
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.45;
}

.personel-ui #yillikEgitimPlaniModal .egitim-plan-table .form-control-sm {
    font-size: 13px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-plan-table input[type="date"] {
    min-height: 34px;
}

.personel-ui #yillikEgitimPlaniModal .egitim-duration-group {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
}

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-group .form-control {
        min-width: 0;
        min-height: 34px;
        text-align: center;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-group .input-group-text {
        padding-right: 8px;
        padding-left: 8px;
        color: #64748b;
        background: #f8fafc;
        border-color: #dee2e6;
        font-size: 12px;
        font-weight: 600;
        white-space: nowrap;
    }

@media (max-width: 991.98px) {
    .personel-ui #yillikEgitimPlaniModal .document-form-summary {
        grid-template-columns: 1fr;
    }

    .personel-ui #yillikEgitimPlaniModal .plan-mobile-scroll-hint {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 8px;
        padding: 8px 10px;
        color: #315b86;
        background: #eaf3fc;
        border-radius: 7px;
        font-size: 12px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table-wrap {
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table {
        width: 1050px !important;
        min-width: 1050px;
        table-layout: fixed;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-no-column {
        width: 48px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-topic-column {
        width: 270px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-target-column {
        width: 390px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-column {
        width: 135px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-date-column {
        width: 145px;
    }

    .personel-ui #yillikEgitimPlaniModal .plan-action-column {
        width: 52px;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-table thead {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .personel-ui #yillikEgitimPlaniModal .modal-dialog {
        width: 100%;
        height: 100vh;
        max-width: none;
        max-height: 100vh;
        margin: 0;
    }

    .personel-ui #yillikEgitimPlaniModal .modal-content {
        border-radius: 0;
    }

    .personel-ui #yillikEgitimPlaniModal .modal-header,
    .personel-ui #yillikEgitimPlaniModal .modal-body,
    .personel-ui #yillikEgitimPlaniModal .modal-footer {
        padding-right: 16px;
        padding-left: 16px;
    }

    .personel-ui #yillikEgitimPlaniModal .plan-editor-header {
        align-items: stretch;
        flex-direction: column;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-plan-header-actions {
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-toplu-tarih-group {
        width: 100%;
    }

    .personel-ui #yillikEgitimPlaniModal #egitimPlaniOzelKonuEkle {
        align-self: flex-start;
    }

    .personel-ui #yillikEgitimPlaniModal .egitim-duration-status {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}

.personel-ui #acilDurumPlaniModal .modal-dialog {
    width: calc(100% - 24px);
    height: calc(100vh - 24px);
    max-width: 1120px;
    max-height: calc(100vh - 24px);
    margin: 12px auto;
}

.personel-ui #acilDurumPlaniModal .modal-content,
.personel-ui #acilDurumPlaniModal .modal-content > form {
    height: 100%;
    min-height: 0;
}

    .personel-ui #acilDurumPlaniModal .modal-content > form {
        display: flex;
        flex-direction: column;
    }

.personel-ui #acilDurumPlaniModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 20px 22px;
    overflow-y: auto;
    background: #f8fafc;
}

.personel-ui #acilDurumPlaniModal .modal-header,
.personel-ui #acilDurumPlaniModal .modal-footer {
    flex: 0 0 auto;
    padding: 16px 22px;
}

.personel-ui .acil-plan-form-modal {
    overflow: hidden;
    border: 0;
    border-radius: 14px;
}

.personel-ui .acil-plan-firma-summary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(160px, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}

    .personel-ui .acil-plan-firma-summary > div {
        min-width: 0;
        padding: 13px 15px;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 9px;
    }

    .personel-ui .acil-plan-firma-summary span,
    .personel-ui .acil-plan-firma-summary strong {
        display: block;
    }

    .personel-ui .acil-plan-firma-summary span {
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
    }

    .personel-ui .acil-plan-firma-summary strong {
        overflow-wrap: anywhere;
        color: #172033;
        font-size: 14px;
    }

.personel-ui .acil-plan-selection-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

    .personel-ui .acil-plan-selection-header h6 {
        margin: 0 0 3px;
        font-weight: 700;
    }

    .personel-ui .acil-plan-selection-header p {
        margin: 0;
        color: #64748b;
        font-size: 13px;
    }

.personel-ui .acil-plan-selection-summary {
    color: #475569;
    font-size: 13px;
    white-space: nowrap;
}

    .personel-ui .acil-plan-selection-summary strong {
        color: #0d6efd;
    }

.personel-ui .acil-plan-select-all,
.personel-ui .acil-plan-topic-item {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.personel-ui .acil-plan-select-all {
    width: max-content;
    gap: 9px;
    margin-bottom: 12px;
    padding: 9px 12px;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
}

.personel-ui .acil-plan-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.personel-ui .acil-plan-topic-item {
    min-width: 0;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #dbe4ee;
    border-radius: 9px;
    transition: border-color .15s ease, background-color .15s ease;
}

    .personel-ui .acil-plan-topic-item:hover {
        border-color: #86b7fe;
        background: #f7fbff;
    }

.personel-ui .acil-plan-topic-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    color: #1d4f7d;
    background: #eaf3fc;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
}

.personel-ui .acil-plan-topic-name {
    min-width: 0;
    color: #24364b;
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .personel-ui #acilDurumPlaniModal .modal-dialog {
        width: 100%;
        height: 100vh;
        max-height: 100vh;
        margin: 0;
    }

    .personel-ui .acil-plan-firma-summary,
    .personel-ui .acil-plan-topic-grid {
        grid-template-columns: 1fr;
    }

    .personel-ui .acil-plan-selection-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

.personel-ui .ik-profile-card {
    height: 100%;
}

.personel-ui .ik-profile-summary {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
}

.personel-ui .ik-profile-main {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 245px;
}

.personel-ui .ik-profile-avatar {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    margin: 0;
    flex: 0 0 88px;
    border: 4px solid #fff;
    outline: 1px solid #dbe4ee;
    border-radius: 24px;
    background: #dcecff;
    color: #1764bd;
    box-shadow: 0 9px 22px rgba(34,88,145,.12);
    font-size: 26px;
    font-weight: 800;
}

.personel-ui .ik-profile-identity {
    text-align: left;
}

    .personel-ui .ik-profile-identity h2 {
        margin: 0 0 5px;
        font-size: 20px;
        font-weight: 750;
    }

    .personel-ui .ik-profile-identity span {
        display: block;
        color: #1267c4;
        font-size: 13px;
        font-weight: 600;
    }

    .personel-ui .ik-profile-identity small {
        display: block;
        margin-top: 5px;
        color: #718096;
    }

.personel-ui .ik-profile-divider {
    width: 1px;
    height: 76px;
    flex: 0 0 1px;
    margin: 0;
    border-left: 1px solid #e6ebf1;
}

.personel-ui .ik-profile-status {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid #cdebdc;
    border-radius: 10px;
    background: #f1fbf6;
    width: 100%;
    min-width: 0;
    margin-left: 0;
}

    .personel-ui .ik-profile-status.inactive {
        border-color: #f0cccc;
        background: #fff3f3;
    }

.personel-ui .ik-profile-status-icon {
    width: 37px;
    height: 37px;
    display: grid;
    place-items: center;
    flex: 0 0 37px;
    border-radius: 9px;
    background: #daf4e6;
    color: #138650;
}

.personel-ui .ik-profile-status.inactive .ik-profile-status-icon {
    background: #ffe0e0;
    color: #bf3333;
}

.personel-ui .ik-profile-status strong,
.personel-ui .ik-profile-status small {
    display: block;
}

.personel-ui .ik-profile-status small {
    color: #6c757d;
    font-size: 10px;
}

.personel-ui .ik-profile-mini {
    display: grid;
    grid-template-columns: repeat(2,minmax(105px,1fr));
    gap: 9px;
    margin: 0;
    flex: 1 1 auto;
}

    .personel-ui .ik-profile-mini div {
        padding: 10px;
        border: 1px solid #e8edf3;
        border-radius: 9px;
        background: #fafbfd;
    }

    .personel-ui .ik-profile-mini small,
    .personel-ui .ik-profile-mini strong {
        display: block;
    }

    .personel-ui .ik-profile-mini small {
        color: #77808b;
        font-size: 10px;
    }

    .personel-ui .ik-profile-mini strong {
        margin-top: 2px;
        font-size: 12px;
    }

.personel-ui .ik-profile-content {
    height: 100%;
    overflow: hidden;
}

.personel-ui .ik-profile-section {
    height: 100%;
    overflow: hidden;
}

.personel-ui .ik-profile-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 22px;
    background: #fbfcfe;
    border-bottom: 1px solid #edf1f5;
}

    .personel-ui .ik-profile-section-head h2 {
        margin: 0 0 2px;
        font-size: 16px;
        font-weight: 700;
    }

    .personel-ui .ik-profile-section-head p {
        margin: 0;
        color: #7a8490;
        font-size: 11px;
    }

.personel-ui .ik-profile-section-icon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #eaf3ff;
    color: #1764bd;
    font-size: 17px;
}

.personel-ui .ik-profile-fields {
    padding: 19px 22px 22px;
}

.personel-ui .ik-profile-field label {
    margin-bottom: 5px;
    color: #4e5967;
    font-size: 11px;
    font-weight: 600;
}

.personel-ui .ik-profile-field .form-control {
    height: 36px;
    border-color: #dce3eb;
    background: #f7f9fb;
    color: #253244;
    font-size: 12px;
}

.personel-ui .ik-profile-field textarea.form-control {
    height: auto;
    min-height: 72px;
    resize: none;
}

.personel-ui .ik-profile-field .form-control:focus {
    border-color: #dce3eb;
    box-shadow: none;
}

@media(max-width:1199px) {
    .personel-ui .ik-profile-summary {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .personel-ui .ik-profile-main {
        flex: 1 1 100%;
    }

    .personel-ui .ik-profile-divider {
        display: none;
    }

    .personel-ui .ik-profile-mini {
        flex: 1 1 420px;
    }

    .personel-ui .ik-profile-status {
        flex: 1 1 230px;
        margin-left: 0;
    }
}

@media(max-width:575px) {
    .personel-ui .ik-profile-main {
        min-width: 0;
        align-items: flex-start;
    }

    .personel-ui .ik-profile-avatar {
        width: 78px;
        height: 78px;
        flex-basis: 78px;
        border-radius: 18px;
        font-size: 23px;
    }

    .personel-ui .ik-profile-mini {
        grid-template-columns: 1fr;
    }
}

.personel-ui .firma-module-menu .firma-menu-count-expired,
.personel-ui .firma-module-menu .firma-menu-count-warning {
    border-style: solid !important;
    border-width: 1px !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

.personel-ui .firma-module-menu .firma-menu-count-expired {
    color: #dc3545 !important;
    border-color: #dc3545 !important;
    background: #fff0f1 !important;
}

.personel-ui .firma-module-menu .firma-menu-count-warning {
    color: #b86b00 !important;
    border-color: #f0a11a !important;
    background: #fff8e8 !important;
}

.personel-ui .atama-grup-karti {
    align-items: flex-start;
    overflow: visible;
}

.personel-ui .atama-grup-icerik {
    min-width: 0;
    flex: 1;
}

.personel-ui .atama-uye-listesi {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.personel-ui .firma-upload-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid transparent;
}

.personel-ui .firma-record-document-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

    .personel-ui .firma-record-document-actions .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 34px;
        white-space: nowrap;
    }

.personel-ui .atama-uye-rozeti {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .65rem;
    border: 1px solid #dbe7f5;
    border-radius: .65rem;
    background: #f7faff;
    color: #193a63;
}

    .personel-ui .atama-uye-rozeti small {
        padding: .1rem .4rem;
        border-radius: 999px;
        background: #e5f1ff;
        color: #0d6efd;
        font-weight: 700;
    }

    .personel-ui .atama-uye-rozeti.pasif {
        opacity: .65;
    }

.personel-ui .atama-uye-satiri {
    background: #f8fafc;
}

.personel-ui #firmaAtamaModal .modal-dialog {
    height: calc(100vh - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.personel-ui #firmaAtamaModal .modal-content {
    max-height: calc(100vh - 2rem);
}

.personel-ui #firmaAtamaModal .modal-body {
    min-height: 0;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

.personel-ui #firmaAtamaSilModal .delete-confirmation-box {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px;
    background: #fff5f5;
    border: 1px solid #fecaca;
    border-radius: 10px;
}

.personel-ui #firmaAtamaSilModal .delete-confirmation-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    background: #fee2e2;
    border-radius: 10px;
    font-size: 18px;
}

.personel-ui #firmaAtamaSilModal .delete-confirmation-box strong,
.personel-ui #firmaAtamaSilModal .delete-confirmation-box small {
    display: block;
}

.personel-ui #firmaAtamaSilModal .delete-confirmation-box small {
    margin-top: 3px;
    color: #64748b;
}

.personel-ui .calisan-durum-ozetleri {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.personel-ui .calisan-durum-ozet {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 12px;
}

    .personel-ui .calisan-durum-ozet > span {
        display: grid;
        width: 42px;
        height: 42px;
        place-items: center;
        flex-shrink: 0;
        border-radius: 10px;
        font-size: 19px;
    }

    .personel-ui .calisan-durum-ozet small {
        display: block;
        color: #6c757d;
        font-size: 11px;
    }

    .personel-ui .calisan-durum-ozet strong {
        display: block;
        font-size: 22px;
        line-height: 1.2;
    }

.personel-ui .calisan-durum-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 240px;
    gap: 12px;
    margin-bottom: 14px;
}

.personel-ui .calisan-durum-tablo-wrap {
    max-height: 430px;
    overflow: auto;
    border: 1px solid #e8edf3;
    border-radius: 12px;
}

.personel-ui .calisan-durum-tablo thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    white-space: nowrap;
}

.personel-ui .calisan-durum-tablo th:nth-child(3),
.personel-ui .calisan-durum-tablo td.temel-isg-durumu {
    min-width: 220px;
}

.personel-ui .temel-isg-tarih {
    white-space: nowrap;
}

.personel-ui .egitim-durum-rozetleri {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}

.personel-ui .egitim-paket-eksik-rozeti {
    margin-left: 5px;
}

.personel-ui .calisan-atama-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 2px 5px 2px 0;
    padding: 5px 8px;
    color: #315da8;
    background: #eef4ff;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

@media (max-width: 991px) {
    .personel-ui .calisan-durum-ozetleri {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .personel-ui .calisan-durum-ozetleri,
    .personel-ui .calisan-durum-toolbar {
        grid-template-columns: 1fr;
    }
}

.personel-ui #firmaCalisanlarModulu .page-card,
.personel-ui #firmaCalisanlarModulu .table-responsive-wrapper,
.personel-ui #firmaCalisanlarModulu .dt-container,
.personel-ui #firmaCalisanlarModulu .dt-layout-row,
.personel-ui #firmaCalisanlarModulu .dt-layout-cell {
    overflow: visible !important;
}

.personel-ui #firmaCalisanlarModulu #calisanlarTable td:last-child {
    position: relative;
}

.personel-ui #firmaCalisanlarModulu #calisanlarTable .dropdown {
    position: relative;
    z-index: auto;
}

.personel-ui #firmaCalisanlarModulu #calisanlarTable .dropdown-menu.show {
    z-index: 1020 !important;
}

.personel-ui #firmaCalisanlarModulu,
.personel-ui #firmaCalisanlarModulu .firma-module-content,
.personel-ui #firmaCalisanlarModulu .page-card,
.personel-ui #firmaCalisanlarModulu .dt-container,
.personel-ui #firmaCalisanlarModulu .dt-layout-cell {
    min-width: 0;
    max-width: 100%;
}

    .personel-ui #firmaCalisanlarModulu #calisanlarTable {
        min-width: 0 !important;
        width: 100% !important;
    }

        .personel-ui #firmaCalisanlarModulu #calisanlarTable tbody tr:has(.dropdown-menu.show) {
            position: relative;
            z-index: 20;
        }

        .personel-ui #firmaCalisanlarModulu #calisanlarTable td:has(.dropdown-menu.show) {
            position: relative;
            z-index: 20;
        }

        .personel-ui #firmaCalisanlarModulu #calisanlarTable .dropdown:has(> .dropdown-menu.show) {
            z-index: 1020;
        }

.personel-ui .firma-kayit-listesi-scroll.firma-kayit-listesi-scroll {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #b8c3cf #f1f4f7;
}

.personel-ui .firma-kayit-listesi-scroll::-webkit-scrollbar {
    width: 8px;
}

.personel-ui .firma-kayit-listesi-scroll::-webkit-scrollbar-track {
    background: #f1f4f7;
    border-radius: 8px;
}

.personel-ui .firma-kayit-listesi-scroll::-webkit-scrollbar-thumb {
    background: #b8c3cf;
    border-radius: 8px;
}

    .personel-ui .firma-kayit-listesi-scroll::-webkit-scrollbar-thumb:hover {
        background: #8f9dab;
    }

.personel-ui .firma-module-menu .firma-menu-count-expired {
    color: #dc3545 !important;
    border: 1px solid #dc3545 !important;
    background: #fff0f1 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

.personel-ui .firma-module-menu .firma-menu-count-warning {
    color: #b86b00 !important;
    border: 1px solid #f0a11a !important;
    background: #fff8e8 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}

.personel-ui .badge-revision-current,
.personel-ui .badge-revision-draft,
.personel-ui .badge-revision-archive,
.personel-ui .badge-validity-valid,
.personel-ui .badge-validity-warning,
.personel-ui .badge-validity-expired,
.personel-ui .badge-validity-future,
.personel-ui .badge-validity-unknown {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid transparent;
}

.personel-ui .badge-revision-current {
    color: #1d4ed8;
    background: #eff6ff;
    border-color: #bfdbfe;
}

.personel-ui .badge-revision-draft,
.personel-ui .badge-validity-warning,
.personel-ui .badge-validity-unknown {
    color: #92400e;
    background: #fffbeb;
    border-color: #fcd34d;
}

.personel-ui .badge-revision-archive {
    color: #475569;
    background: #f8fafc;
    border-color: #cbd5e1;
}

.personel-ui .badge-validity-valid {
    color: #166534;
    background: #f0fdf4;
    border-color: #86efac;
}

.personel-ui .badge-validity-expired {
    color: #b91c1c;
    background: #fef2f2;
    border-color: #fca5a5;
}

.personel-ui .badge-validity-future {
    color: #075985;
    background: #f0f9ff;
    border-color: #7dd3fc;
}

.personel-ui .validity-detail {
    color: inherit;
    font-size: 11px;
    font-weight: 600;
}

.personel-ui .firma-upload-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid transparent;
}

.personel-ui .firma-upload-badge-success {
    color: #166534;
    background: #f0fdf4;
    border-color: #86efac;
}

.personel-ui .firma-upload-badge-warning {
    color: #92400e;
    background: #fffbeb;
    border-color: #fcd34d;
}

.personel-ui .firma-record-item {
    gap: 18px;
    position: relative;
    overflow: visible !important;
}

.personel-ui .firma-record-list {
    overflow: visible !important;
}

.personel-ui .firma-record-item:focus-within {
    z-index: 1090;
}

.personel-ui .firma-record-file {
    min-width: 0;
    flex: 1 1 auto;
}

    .personel-ui .firma-record-file > div {
        min-width: 0;
    }

.personel-ui .firma-record-file-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-top: 9px;
}

.personel-ui .firma-record-document-actions,
.personel-ui .firma-record-output-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.personel-ui .firma-record-output-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    position: relative;
    z-index: 20;
}

.personel-ui .firma-record-actions-dropdown:has(.dropdown-menu.show),
.personel-ui .firma-record-item:has(.firma-record-actions-menu.show) {
    z-index: 1090;
}

.personel-ui .firma-record-actions-menu {
    min-width: 190px;
    z-index: 1200 !important;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.18);
}

    .personel-ui .firma-record-actions-menu .dropdown-item {
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 8px 10px;
        border-radius: 7px;
        font-size: 13px;
    }

.personel-ui .firma-record-document-actions .btn,
.personel-ui .firma-record-output-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    white-space: nowrap;
}

.personel-ui .firma-record-filename {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.personel-ui .firma-record-filename-empty {
    color: #b7791f;
}

.personel-ui .firma-upload-status-warning {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 3px 10px;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 9px;
}

    .personel-ui .firma-upload-status-warning > i {
        flex: 0 0 auto;
        font-size: 17px;
    }

    .personel-ui .firma-upload-status-warning span,
    .personel-ui .firma-upload-status-warning strong,
    .personel-ui .firma-upload-status-warning small {
        display: block;
    }

    .personel-ui .firma-upload-status-warning strong {
        font-size: 12px;
        line-height: 1.2;
    }

    .personel-ui .firma-upload-status-warning small {
        margin-top: 2px;
        color: #a16207;
        font-size: 11px;
        line-height: 1.2;
    }

.personel-ui .document-upload-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
}

.personel-ui .document-upload-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    background: #dbeafe;
    border-radius: 10px;
    font-size: 19px;
}

.personel-ui .document-upload-info strong,
.personel-ui .document-upload-info small {
    display: block;
}

.personel-ui .document-upload-info small {
    margin-top: 3px;
    color: #64748b;
    overflow-wrap: anywhere;
}

.personel-ui .delete-confirmation-box {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px;
    background: #fff5f5;
    border: 1px solid #fecaca;
    border-radius: 10px;
}

.personel-ui .delete-confirmation-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #dc2626;
    background: #fee2e2;
    border-radius: 10px;
    font-size: 18px;
}

.personel-ui .delete-confirmation-box strong,
.personel-ui .delete-confirmation-box small {
    display: block;
}

.personel-ui .delete-confirmation-box small {
    margin-top: 3px;
    color: #64748b;
}

@media (max-width: 1199.98px) {
    .personel-ui .firma-record-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .personel-ui .firma-record-output-actions {
        width: 100%;
        justify-content: flex-start;
        padding-left: 52px;
    }
}

@media (max-width: 575.98px) {
    .personel-ui .firma-record-file {
        width: 100%;
        align-items: flex-start;
    }

    .personel-ui .firma-record-file-row {
        align-items: stretch;
        flex-direction: column;
    }

    .personel-ui .firma-record-document-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .personel-ui .firma-record-output-actions {
        display: flex;
        width: 100%;
        padding-left: 0;
        justify-content: flex-end;
    }

    .personel-ui .firma-record-document-actions .btn {
        width: 100%;
    }
}

.personel-ui .firma-upload-status-success,
.personel-ui .firma-upload-status-warning {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 3px 10px;
    border-radius: 9px;
}

.personel-ui .firma-upload-status-success {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #86efac;
}

.personel-ui .firma-upload-status-warning {
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fcd34d;
}

    .personel-ui .firma-upload-status-success > i,
    .personel-ui .firma-upload-status-warning > i {
        flex: 0 0 auto;
        font-size: 17px;
    }

    .personel-ui .firma-upload-status-success span,
    .personel-ui .firma-upload-status-success strong,
    .personel-ui .firma-upload-status-warning span,
    .personel-ui .firma-upload-status-warning strong {
        display: block;
    }

    .personel-ui .firma-upload-status-success strong,
    .personel-ui .firma-upload-status-warning strong {
        font-size: 12px;
        line-height: 1.2;
    }

.personel-ui .egitim-karti {
    align-items: flex-start;
    overflow: visible;
}

.personel-ui .egitim-kart-icerik {
    min-width: 0;
    flex: 1;
}

.personel-ui .firma-record-title .status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.personel-ui .firma-record-output-actions {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    justify-content: flex-end;
    position: relative;
    z-index: 20;
}

.personel-ui .firma-record-actions-dropdown {
    position: relative;
}

    .personel-ui .firma-record-actions-dropdown:has(.dropdown-menu.show),
    .personel-ui .firma-record-item:has(.firma-record-actions-menu.show) {
        z-index: 1090 !important;
    }

.personel-ui .firma-record-actions-menu {
    min-width: 210px;
    z-index: 1100 !important;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, .18);
}

    .personel-ui .firma-record-actions-menu .dropdown-item {
        display: flex;
        align-items: center;
        gap: 9px;
        padding: 8px 10px;
        border: 0;
        border-radius: 7px;
        background: transparent;
        font-size: 13px;
        text-align: left;
        width: 100%;
    }

        .personel-ui .firma-record-actions-menu .dropdown-item i {
            width: 16px;
            text-align: center;
        }

.personel-ui .firma-record-output-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    white-space: nowrap;
}

.personel-ui .badge-soft-info {
    color: #075985;
    background: #e0f2fe;
}

.personel-ui .badge-soft-danger {
    color: #991b1b;
    background: #fee2e2;
}

.personel-ui .egitim-kayit-scroll,
.personel-ui .bes-kayit-kart-scroll,
.personel-ui .bes-kayit-tablo-scroll {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-gutter: stable;
}

.personel-ui #firmaEgitimModal .modal-dialog {
    max-width: 1180px;
    height: calc(100vh - 2rem);
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.personel-ui #firmaEgitimModal .modal-content {
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}

.personel-ui #firmaEgitimModal form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: calc(100vh - 2rem);
}

.personel-ui #firmaEgitimModal .modal-body {
    min-height: 0;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

.personel-ui #firmaEgitimModal .modal-header,
.personel-ui #firmaEgitimModal .modal-footer {
    flex: 0 0 auto;
}

.personel-ui .egitim-form-section {
    padding: 16px;
    margin-bottom: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.personel-ui .egitim-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
    font-weight: 700;
    color: #1e3a5f;
}

    .personel-ui .egitim-section-title > div {
        display: flex;
        align-items: center;
        gap: 8px;
    }

.personel-ui .egitim-secim-listesi {
    max-height: 260px;
    overflow: auto;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
}

.personel-ui .egitim-secim-satiri {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    margin: 0;
    border-bottom: 1px solid #edf2f7;
    cursor: pointer;
}

    .personel-ui .egitim-secim-satiri:last-child {
        border-bottom: 0;
    }

    .personel-ui .egitim-secim-satiri:hover {
        background: #f8fbff;
    }

    .personel-ui .egitim-secim-satiri > span {
        min-width: 0;
        flex: 1;
    }

    .personel-ui .egitim-secim-satiri strong,
    .personel-ui .egitim-secim-satiri small {
        display: block;
    }

    .personel-ui .egitim-secim-satiri small {
        margin-top: 2px;
        color: #64748b;
    }

.personel-ui .egitim-konu-sure {
    width: 105px;
    flex: 0 0 105px;
}

.personel-ui .firma-empty-inline {
    padding: 24px;
    color: #64748b;
    text-align: center;
}

.personel-ui .calisan-egitim-ozetleri {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.personel-ui .calisan-egitim-ozet {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #fff;
}

    .personel-ui .calisan-egitim-ozet > span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 9px;
        font-size: 17px;
    }

    .personel-ui .calisan-egitim-ozet small,
    .personel-ui .calisan-egitim-ozet strong {
        display: block;
    }

    .personel-ui .calisan-egitim-ozet small {
        color: #64748b;
    }

    .personel-ui .calisan-egitim-ozet strong {
        color: #0f172a;
        font-size: 20px;
        line-height: 1.15;
    }

.personel-ui .calisan-egitim-filtreleri {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 220px;
    gap: 10px;
    margin-bottom: 14px;
}

.personel-ui .calisan-egitim-tablo-wrap {
    max-height: 348px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    overflow: auto;
}

.personel-ui .calisan-egitim-tablo thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 11px 12px;
    border-bottom: 1px solid #dbe3ee;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.personel-ui .calisan-egitim-tablo tbody td {
    padding: 12px;
    border-color: #edf2f7;
    color: #334155;
    font-size: 13px;
}

.personel-ui .egitim-adet-rozeti {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 8px;
    color: #1d4ed8;
    background: #dbeafe;
    font-weight: 700;
}

.personel-ui .sinav-degerlendirme-listesi {
    display: grid;
    gap: 12px;
}

.personel-ui .sinav-degerlendirme-karti {
    padding: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
}

.personel-ui .sinav-kart-ust {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

    .personel-ui .sinav-kart-ust > div {
        min-width: 0;
    }

        .personel-ui .sinav-kart-ust > div > strong {
            color: #0f172a;
            font-size: 15px;
        }

.personel-ui .sinav-istatistikleri {
    display: grid;
    grid-template-columns: 105px 120px 105px minmax(180px, 1fr);
    gap: 12px;
    align-items: end;
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #edf2f7;
}

    .personel-ui .sinav-istatistikleri > span strong,
    .personel-ui .sinav-istatistikleri > span small {
        display: block;
    }

    .personel-ui .sinav-istatistikleri > span strong {
        color: #0f172a;
        font-size: 18px;
    }

    .personel-ui .sinav-istatistikleri > span small,
    .personel-ui .sinav-ilerleme small {
        color: #64748b;
    }

.personel-ui .sinav-ilerleme > div:first-child {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.personel-ui .sinav-ilerleme .progress {
    height: 7px;
    background: #e2e8f0;
}

.personel-ui .sinav-modal-bilgi {
    margin-bottom: 12px;
    padding: 10px 12px;
    border-radius: 9px;
    color: #1e40af;
    background: #eff6ff;
    font-size: 13px;
}

.personel-ui .sinav-katilimci-satiri {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 130px 110px;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border-bottom: 1px solid #edf2f7;
}

    .personel-ui .sinav-katilimci-satiri:first-child {
        border-top: 1px solid #edf2f7;
    }

    .personel-ui .sinav-katilimci-satiri strong,
    .personel-ui .sinav-katilimci-satiri small {
        display: block;
    }

    .personel-ui .sinav-katilimci-satiri small {
        color: #64748b;
    }

.personel-ui .sinav-puan-input {
    text-align: center;
}

.personel-ui .katilim-tutanak-ozetleri {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 240px));
    gap: 12px;
    margin-bottom: 16px;
}

.personel-ui .katilim-tutanak-tablo-wrap {
    max-height: 348px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    overflow: auto;
}

.personel-ui .katilim-tutanak-tablo thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 11px 12px;
    border-bottom: 1px solid #dbe3ee;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.personel-ui .katilim-tutanak-tablo tbody td {
    padding: 12px;
    border-color: #edf2f7;
    color: #334155;
    font-size: 13px;
}

.personel-ui .sertifika-filtre {
    max-width: 520px;
    margin-bottom: 14px;
}

.personel-ui .sertifika-tablo-wrap {
    max-height: 348px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    overflow: auto;
}

.personel-ui .sertifika-tablo thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 11px 12px;
    border-bottom: 1px solid #dbe3ee;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.personel-ui .sertifika-tablo tbody td {
    padding: 12px;
    border-color: #edf2f7;
    color: #334155;
    font-size: 13px;
}

.personel-ui .sertifika-tablo code {
    color: #1d4ed8;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .personel-ui .egitim-karti {
        gap: 12px;
    }

    .personel-ui .firma-record-output-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .personel-ui .calisan-egitim-ozetleri {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .personel-ui .calisan-egitim-filtreleri {
        grid-template-columns: 1fr;
    }

    .personel-ui .sinav-kart-ust {
        flex-direction: column;
    }

    .personel-ui .sinav-istatistikleri {
        grid-template-columns: repeat(3, 1fr);
    }

    .personel-ui .sinav-ilerleme {
        grid-column: 1 / -1;
    }

    .personel-ui .sinav-katilimci-satiri {
        grid-template-columns: 1fr 100px;
    }

    .personel-ui .sinav-katilimci-durum {
        grid-column: 1 / -1;
    }

    .personel-ui .katilim-tutanak-ozetleri {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.personel-ui .firma-followup-card {
    overflow: hidden;
}

.personel-ui .firma-followup-grid {
    display: grid;
    gap: 14px;
    padding: 14px 20px 0;
}

.personel-ui .firma-followup-grid-top {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.personel-ui .firma-followup-grid-bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 20px;
}

.personel-ui .firma-followup-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5eaf0;
    border-radius: 12px;
    background: #ffffff;
}

.personel-ui .firma-followup-panel-header {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf0f4;
    background: #fbfcfe;
}

.personel-ui .firma-followup-panel-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    font-size: 16px;
}

.personel-ui .firma-followup-panel-header h3 {
    margin: 0 0 2px;
    color: #263548;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
}

.personel-ui .firma-followup-panel-header small {
    display: block;
    color: #7b8794;
    font-size: 11px;
}

.personel-ui .panel-danger .firma-followup-panel-icon {
    color: #dc3545;
    background: #fff0f1;
}

.personel-ui .panel-warning .firma-followup-panel-icon,
.personel-ui .panel-approaching .firma-followup-panel-icon {
    color: #b86b00;
    background: #fff5df;
}

.personel-ui .panel-info .firma-followup-panel-icon {
    color: #2563eb;
    background: #edf4ff;
}

.personel-ui .panel-observation .firma-followup-panel-icon {
    color: #7c3aed;
    background: #f3efff;
}

.personel-ui .firma-followup-panel-body {
    height: 230px;
    overflow-y: auto;
    padding: 10px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

.personel-ui .firma-followup-grid-bottom .firma-followup-panel-body {
    height: 150px;
}

.personel-ui .firma-followup-panel-body::-webkit-scrollbar {
    width: 6px;
}

.personel-ui .firma-followup-panel-body::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: #cbd5e1;
}

.personel-ui .firma-followup-row {
    display: grid;
    gap: 3px;
    margin-bottom: 7px;
    padding: 9px 10px;
    border: 1px solid #edf0f4;
    border-radius: 8px;
    background: #f8fafc;
}

    .personel-ui .firma-followup-row:last-child {
        margin-bottom: 0;
    }

    .personel-ui .firma-followup-row strong {
        overflow: hidden;
        color: #263548;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.3;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .personel-ui .firma-followup-row small {
        color: #718096;
        font-size: 10px;
        line-height: 1.35;
    }

.personel-ui .firma-followup-empty,
.personel-ui .firma-followup-status {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 13px;
    border-radius: 9px;
}

    .personel-ui .firma-followup-empty.success {
        color: #166534;
        border: 1px solid #bbf7d0;
        background: #f0fdf4;
    }

    .personel-ui .firma-followup-empty.pending {
        color: #1e40af;
        border: 1px solid #bfdbfe;
        background: #eff6ff;
    }

.personel-ui .firma-followup-link {
    display: inline-block;
    margin-top: 5px;
    color: inherit;
    font-size: 11px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

    .personel-ui .firma-followup-link:hover {
        color: #1d4ed8;
    }

.personel-ui .firma-followup-empty i,
.personel-ui .firma-followup-status > i {
    flex: 0 0 auto;
    font-size: 19px;
}

.personel-ui .firma-followup-empty span,
.personel-ui .firma-followup-status strong,
.personel-ui .firma-followup-status small {
    display: block;
}

.personel-ui .firma-followup-status.warning {
    color: #92400e;
    border: 1px solid #fde68a;
    background: #fffbeb;
}

.personel-ui .firma-followup-status strong {
    margin-bottom: 3px;
    font-size: 12px;
}

.personel-ui .firma-followup-status small {
    font-size: 11px;
    line-height: 1.4;
}

@media (max-width: 1199px) {
    .personel-ui .firma-followup-grid-top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .personel-ui .firma-followup-grid,
    .personel-ui .firma-followup-grid-top,
    .personel-ui .firma-followup-grid-bottom {
        grid-template-columns: 1fr;
    }

    .personel-ui .firma-followup-grid {
        padding-right: 14px;
        padding-left: 14px;
    }

    .personel-ui .firma-followup-panel-body,
    .personel-ui .firma-followup-grid-bottom .firma-followup-panel-body {
        height: 190px;
    }
}

.personel-ui .saha-report-list-scroll {
    max-height: 405px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #b8c3cf #f1f4f7;
}

    .personel-ui .saha-report-list-scroll::-webkit-scrollbar {
        width: 8px;
    }

    .personel-ui .saha-report-list-scroll::-webkit-scrollbar-track {
        background: #f1f4f7;
        border-radius: 8px;
    }

    .personel-ui .saha-report-list-scroll::-webkit-scrollbar-thumb {
        background: #b8c3cf;
        border-radius: 8px;
    }

        .personel-ui .saha-report-list-scroll::-webkit-scrollbar-thumb:hover {
            background: #8f9dab;
        }

.personel-ui .izin-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

    .personel-ui .izin-toolbar p {
        margin: 0;
        color: #6c757d;
        font-size: 12px;
    }

.personel-ui .izin-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.personel-ui .izin-summary-card {
    padding: 16px;
}

    .personel-ui .izin-summary-card span,
    .personel-ui .izin-summary-card small {
        display: block;
        color: #6c757d;
    }

    .personel-ui .izin-summary-card strong {
        display: block;
        font-size: 22px;
    }

.personel-ui .izin-card {
    overflow: hidden;
}

.personel-ui .izin-toolbar {
    padding: 15px;
    border-bottom: 1px solid #edf1f5;
}

    .personel-ui .izin-toolbar h2 {
        margin: 0 0 3px;
        font-size: 17px;
    }

.personel-ui .izin-table-wrap {
    width: 100%;
    overflow-x: hidden;
}

.personel-ui .izin-table {
    width: 100% !important;
    margin: 0;
}

    .personel-ui .izin-table th {
        padding: 11px 12px !important;
        background: #f8fafc !important;
        color: #5b6573 !important;
        font-size: 11px;
        white-space: nowrap;
    }

    .personel-ui .izin-table td {
        padding: 11px 12px !important;
        vertical-align: middle;
        font-size: 12px;
    }

.personel-ui .izin-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.personel-ui .izin-status-success {
    border-color: #2ea968;
    background: #effaf4;
    color: #247c4a;
}

.personel-ui .izin-status-warning {
    border-color: #e5a719;
    background: #fff9e8;
    color: #9b6900;
}

.personel-ui .izin-status-danger {
    border-color: #df5555;
    background: #fff0f0;
    color: #a52b2b;
}

.personel-ui .izin-status-primary {
    border-color: #7aa7e8;
    background: #eef5ff;
    color: #315da8;
}

.personel-ui .izin-status-secondary {
    border-color: #aab2bd;
    background: #f2f4f7;
    color: #606a76;
}

.personel-ui .izin-actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
    white-space: nowrap;
}

    .personel-ui .izin-actions .btn {
        font-size: 11px;
    }

.personel-ui .izin-modal-scroll {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
}

.personel-ui .izin-table-wrap .dt-info {
    padding-bottom: 10px !important;
    padding-left: 16px !important;
}

.personel-ui .izin-table-wrap .dt-paging {
    padding-right: 16px !important;
    padding-bottom: 10px !important;
}

@media (max-width: 991px) {
    .personel-ui .izin-summary {
        grid-template-columns: repeat(2, 1fr);
    }

    .personel-ui .izin-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .personel-ui .izin-table-wrap {
        overflow-x: auto;
    }

    .personel-ui .izin-table {
        min-width: 1000px;
    }
}

@media (max-width: 575px) {
    .personel-ui .izin-summary {
        grid-template-columns: 1fr;
    }
}

.personel-ui .puantaj-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.personel-ui .puantaj-summary-card {
    padding: 16px;
}

    .personel-ui .puantaj-summary-card span,
    .personel-ui .puantaj-summary-card small {
        display: block;
        color: #6c757d;
    }

    .personel-ui .puantaj-summary-card span {
        margin-bottom: 4px;
        font-size: 12px;
    }

    .personel-ui .puantaj-summary-card strong {
        display: block;
        margin-bottom: 3px;
        font-size: 20px;
        line-height: 1.25;
    }

    .personel-ui .puantaj-summary-card small {
        font-size: 11px;
    }

.personel-ui .puantaj-summary-period {
    text-transform: capitalize;
}

.personel-ui .puantaj-alert {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    margin-bottom: 16px;
    border: 1px solid #f1cf69;
    border-radius: 10px;
    background: #fff8dd;
    color: #6c5310;
}

    .personel-ui .puantaj-alert.is-danger {
        border-color: #ef9a9a;
        background: #fff0f0;
        color: #9d2525;
    }

.personel-ui .puantaj-card {
    overflow: hidden;
}

.personel-ui .puantaj-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid #edf1f5;
}

    .personel-ui .puantaj-toolbar h2 {
        margin: 0 0 3px;
        font-size: 17px;
    }

    .personel-ui .puantaj-toolbar p {
        margin: 0;
        color: #6c757d;
        font-size: 12px;
    }

.personel-ui .puantaj-filters {
    display: flex;
    gap: 9px;
}

    .personel-ui .puantaj-filters .form-select {
        min-width: 150px;
        height: 34px;
        font-size: 12px;
    }

.personel-ui .puantaj-table-wrap {
    max-height: 470px;
    overflow: auto;
}

.personel-ui .puantaj-table {
    margin-bottom: 0;
}

    .personel-ui .puantaj-table thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 11px 12px;
        background: #f8fafc;
        color: #5b6573;
        font-size: 11px;
        white-space: nowrap;
    }

    .personel-ui .puantaj-table tbody td {
        padding: 11px 12px;
        vertical-align: middle;
        font-size: 12px;
    }

.personel-ui .puantaj-donem {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 170px;
}

.personel-ui .puantaj-donem-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 9px;
    background: #edf4ff;
    color: #315da8;
}

.personel-ui .puantaj-donem strong,
.personel-ui .puantaj-donem small,
.personel-ui .puantaj-file strong,
.personel-ui .puantaj-file small {
    display: block;
}

.personel-ui .puantaj-donem strong {
    text-transform: capitalize;
}

.personel-ui .puantaj-donem small,
.personel-ui .puantaj-file small {
    color: #7b8490;
    font-size: 10px;
}

.personel-ui .puantaj-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.personel-ui .puantaj-status-success {
    border: 1px solid #2ea968;
    background: #effaf4;
    color: #247c4a;
}

.personel-ui .puantaj-status-primary {
    background: #eaf2ff;
    color: #315da8;
}

.personel-ui .puantaj-status-warning {
    border: 1px solid #e5a719;
    background: #fff9e8;
    color: #9b6900;
}

.personel-ui .puantaj-status-danger {
    background: #ffe8e8;
    color: #b02727;
}

.personel-ui .puantaj-status-secondary {
    background: #eef1f4;
    color: #68717d;
}

.personel-ui .puantaj-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    white-space: nowrap;
}

    .personel-ui .puantaj-actions .btn {
        font-size: 11px;
    }

.personel-ui .puantaj-modal-scroll {
    max-height: calc(100vh - 210px);
    overflow-y: auto;
}

@media (max-width: 991px) {
    .personel-ui .puantaj-summary {
        grid-template-columns: repeat(2, 1fr);
    }

    .personel-ui .puantaj-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .personel-ui .puantaj-summary {
        grid-template-columns: 1fr;
    }

    .personel-ui .puantaj-filters {
        width: 100%;
        flex-direction: column;
    }

        .personel-ui .puantaj-filters .form-select {
            width: 100%;
        }
}

.personel-ui .takip-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.personel-ui .takip-summary-card {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px;
    color: #334155;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

    .personel-ui .takip-summary-card:hover,
    .personel-ui .takip-summary-card.active {
        color: #1e4f7a;
        border-color: #83b7e4;
        box-shadow: 0 5px 15px rgba(15, 23, 42, .07);
        transform: translateY(-1px);
    }

.personel-ui .takip-summary-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 17px;
}

.personel-ui .takip-summary-card small,
.personel-ui .takip-summary-card strong {
    display: block;
}

.personel-ui .takip-summary-card small {
    overflow: hidden;
    color: #718096;
    font-size: 11px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.personel-ui .takip-summary-card strong {
    color: #25364a;
    font-size: 22px;
    line-height: 1.2;
}

.personel-ui .summary-dark {
    color: #425466;
    background: #edf1f5;
}

.personel-ui .summary-red {
    color: #c43d3d;
    background: #fdeaea;
}

.personel-ui .summary-orange {
    color: #d57706;
    background: #fff0dc;
}

.personel-ui .summary-yellow {
    color: #9a7100;
    background: #fff7d6;
}

.personel-ui .summary-blue {
    color: #2473b7;
    background: #e7f2fd;
}

.personel-ui .summary-purple {
    color: #7654b5;
    background: #f0ebfa;
}

.personel-ui .takip-card {
    overflow: hidden;
}

.personel-ui .takip-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    border-bottom: 1px solid #e8edf3;
}

    .personel-ui .takip-toolbar h2 {
        margin: 0;
        color: #263546;
        font-size: 17px;
    }

    .personel-ui .takip-toolbar p {
        margin: 3px 0 0;
        color: #7b8794;
        font-size: 12px;
    }

.personel-ui .takip-search {
    position: relative;
    width: min(330px, 100%);
}

    .personel-ui .takip-search i {
        position: absolute;
        top: 50%;
        left: 11px;
        z-index: 1;
        color: #8a97a5;
        transform: translateY(-50%);
    }

    .personel-ui .takip-search .form-control {
        height: 36px;
        padding-left: 34px;
        font-size: 13px;
    }

.personel-ui .takip-list-wrap {
    max-height: 610px;
    overflow-y: auto;
}

.personel-ui .takip-row {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 14px 18px;
    color: #334155;
    border-bottom: 1px solid #edf1f5;
    transition: background-color .15s ease;
}

    .personel-ui .takip-row:last-child {
        border-bottom: 0;
    }

    .personel-ui .takip-row:hover {
        color: #334155;
        background: #f8fafc;
    }

.personel-ui .takip-row-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.personel-ui .takip-row-content {
    min-width: 0;
    flex: 1;
}

    .personel-ui .takip-row-content strong,
    .personel-ui .takip-row-content small {
        display: block;
    }

    .personel-ui .takip-row-content strong {
        color: #263546;
        font-size: 13px;
    }

    .personel-ui .takip-row-content small {
        overflow: hidden;
        color: #7a8795;
        font-size: 11px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .personel-ui .takip-row-content .takip-firma {
        margin: 2px 0;
        color: #386d9c;
        font-weight: 600;
    }

.personel-ui .takip-row-date {
    min-width: 90px;
    text-align: right;
}

    .personel-ui .takip-row-date small,
    .personel-ui .takip-row-date strong {
        display: block;
    }

    .personel-ui .takip-row-date small {
        color: #94a0ad;
        font-size: 10px;
    }

    .personel-ui .takip-row-date strong {
        color: #4b5968;
        font-size: 12px;
    }

.personel-ui .takip-row-badge {
    min-width: 84px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}

    .personel-ui .takip-row-icon.danger,
    .personel-ui .takip-row-badge.danger {
        color: #b42f2f;
        background: #fdeaea;
        border-color: #efbaba;
    }

    .personel-ui .takip-row-icon.warning,
    .personel-ui .takip-row-badge.warning {
        color: #b76600;
        background: #fff0dc;
        border-color: #efc785;
    }

    .personel-ui .takip-row-icon.yellow,
    .personel-ui .takip-row-badge.yellow {
        color: #8a6800;
        background: #fff7d6;
        border-color: #ebd36c;
    }

    .personel-ui .takip-row-icon.info,
    .personel-ui .takip-row-badge.info {
        color: #226da9;
        background: #e7f2fd;
        border-color: #a9ceee;
    }

    .personel-ui .takip-row-icon.purple,
    .personel-ui .takip-row-badge.purple {
        color: #6845a8;
        background: #f0ebfa;
        border-color: #cdbdea;
    }

.personel-ui .takip-row-arrow {
    color: #a0abb7;
    font-size: 12px;
}

.personel-ui .takip-empty {
    min-height: 310px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 30px;
    color: #74808c;
    text-align: center;
}

    .personel-ui .takip-empty i {
        color: #35a16d;
        font-size: 38px;
    }

@media (max-width: 1399px) {
    .personel-ui .takip-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .personel-ui .takip-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .personel-ui .takip-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .personel-ui .takip-search {
        width: 100%;
    }

    .personel-ui .takip-row-date {
        display: none;
    }
}

@media (max-width: 575px) {
    .personel-ui .takip-summary-grid {
        grid-template-columns: 1fr;
    }

    .personel-ui .takip-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .personel-ui .takip-row-content {
        width: calc(100% - 55px);
        flex: none;
    }

    .personel-ui .takip-row-badge {
        margin-left: 52px;
    }

    .personel-ui .takip-row-arrow {
        margin-left: auto;
    }
}

.personel-ui .module-page-content {
    min-width: 0;
}

.personel-ui .module-page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

@media (max-width: 767.98px) {
    .personel-ui .module-page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

        .personel-ui .module-page-header .dashboard-date {
            white-space: normal;
        }
}

/* Firma değiştir: iki satırlı seçim alanı */
.firma-secim-alani
.select2-container--bootstrap-5
.select2-selection--single {
    min-height: 54px;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Firma seçeneklerindeki seçili tikini kaldır */
.select2-container--bootstrap-5
.select2-results__option--selected:has(.firma-select-option)::after {
    display: none;
}

/* Uzun firma adları yatay taşma oluşturmasın */
.firma-select-option,
.firma-select-option-info {
    min-width: 0;
}

.firma-select-option-info {
    flex: 1;
    overflow: hidden;
}

/* Seçili firma satırındaki metinler */
.select2-container--bootstrap-5
.select2-results__option--selected .firma-select-option-info,
.select2-container--bootstrap-5
.select2-results__option--selected .firma-select-option-info * {
    color: #fff !important;
}

.select2-container--bootstrap-5
.select2-results__option--selected .firma-select-tehlike {
    border-left-color: rgba(255, 255, 255, .35);
}

/* Grup başlığı ve firmalar alt alta */
.select2-container--bootstrap-5
.select2-results__option[role="group"] {
    display: block;
    padding: 0 !important;
}

.select2-container--bootstrap-5
.select2-results__group {
    display: block;
    padding: 10px 12px;
    color: #64748b;
    font-weight: 700;
}

.select2-container--bootstrap-5
.select2-results__options--nested {
    display: block;
    width: 100%;
    padding: 0;
}
/* Muhasebe: yazılı dropdown butonları */
body.muhasebe-ui .osgb-datatable .dropdown > .btn:has(> span) {
    width: auto;
    min-width: 100px;
    height: 32px;
    padding: 0 10px;
    white-space: nowrap;
    flex-shrink: 0;
    color: #fff;
    background-color: #64748b;
    border-color: #64748b;
}

    body.muhasebe-ui .osgb-datatable .dropdown > .btn:has(> span):hover,
    body.muhasebe-ui .osgb-datatable .dropdown > .btn:has(> span):focus,
    body.muhasebe-ui .osgb-datatable .dropdown > .btn:has(> span).show {
        color: #fff;
        background-color: #475569;
        border-color: #475569;
    }


.personel-filters .form-select {
    height: 34px !important;
    font-size: 12px !important;
}