:root {
    --cabinet-primary: #1a1a1a;
    --cabinet-secondary: #2d2d2d;
    --cabinet-accent: #d4af37;
    --cabinet-accent-light: #f0e6d2;
    --cabinet-text: #ffffff;
    --cabinet-muted: rgba(255, 255, 255, .68);
    --cabinet-border: #404040;
    --cabinet-card: #2d2d2d;
    --cabinet-row: rgba(255, 255, 255, .04);
    --cabinet-radius: 12px;
    --cabinet-shadow: 0 16px 34px rgba(0, 0, 0, .24);
    --cabinet-transition: all .25s ease;

    --primary: var(--cabinet-primary);
    --secondary: var(--cabinet-secondary);
    --accent: var(--cabinet-accent);
    --accent-light: var(--cabinet-accent-light);
    --light: #f8f9fa;
    --dark: var(--cabinet-text);
    --gray: var(--cabinet-muted);
    --border: var(--cabinet-border);
    --shadow: var(--cabinet-shadow);
    --radius: var(--cabinet-radius);
    --transition: var(--cabinet-transition);
}

body.bg-light {
    background: var(--cabinet-primary) !important;
    color: var(--cabinet-text);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    min-height: 100vh;
}

.cabinet-shell {
    color: var(--cabinet-text);
}

.page-header {
    background: var(--cabinet-secondary) !important;
    border-bottom: 2px solid var(--cabinet-accent);
    border-radius: 0 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
    color: var(--cabinet-text);
    margin-bottom: 20px;
    padding: 24px 0 !important;
    position: relative;
}

.page-title {
    background: linear-gradient(to right, var(--cabinet-accent), var(--cabinet-accent-light));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
    font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
    font-weight: 800;
    letter-spacing: 0;
    margin-bottom: .35rem;
}

.page-subtitle {
    color: var(--cabinet-accent-light);
    font-size: 1rem;
    margin-bottom: 0;
    opacity: .82;
}

.dashboard-card,
.card.mb-4 {
    background: var(--cabinet-card) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: var(--cabinet-radius) !important;
    box-shadow: none !important;
    color: var(--cabinet-text);
    overflow: hidden;
    transition: var(--cabinet-transition);
}

.cabinet-shell .dashboard-card {
    margin-bottom: 1.5rem !important;
}

.dashboard-card:hover,
.card.mb-4:hover {
    box-shadow: var(--cabinet-shadow) !important;
    transform: translateY(-2px);
}

.cabinet-shell .card.mb-4,
.cabinet-shell .tm-controls,
.cabinet-shell .overflow-visible-card {
    overflow: visible !important;
    position: relative;
    z-index: 40;
}

.cabinet-shell .card.mb-4:focus-within,
.cabinet-shell .tm-controls:focus-within,
.cabinet-shell .overflow-visible-card:focus-within {
    z-index: 400;
}

.cabinet-shell .table-responsive {
    position: relative;
    z-index: 1;
}

.dashboard-card[style*="border-radius: 0"] {
    border-radius: var(--cabinet-radius) !important;
}

.cabinet-shell .credentials-card,
.cabinet-shell .profile-card,
.cabinet-shell .card-modern,
.cabinet-shell .team-card,
.cabinet-shell .access-card,
.cabinet-shell .card,
.cabinet-shell .card.shadow-sm {
    background: var(--cabinet-card) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: var(--cabinet-radius) !important;
    box-shadow: none !important;
    color: var(--cabinet-text);
    overflow: visible;
}

.cabinet-shell .credentials-card:hover,
.cabinet-shell .profile-card:hover,
.cabinet-shell .card-modern:hover,
.cabinet-shell .team-card:hover,
.cabinet-shell .access-card:hover,
.cabinet-shell .card:hover {
    box-shadow: var(--cabinet-shadow) !important;
    transform: translateY(-2px);
}

.card-header-modern {
    background: rgba(212, 175, 55, .1) !important;
    border-bottom: 2px solid var(--cabinet-accent) !important;
    border-radius: 0 !important;
    color: var(--cabinet-accent) !important;
    padding: 16px 20px !important;
}

.card-header-modern h5 {
    color: var(--cabinet-accent);
    font-size: 1.05rem;
    font-weight: 700;
    gap: .6rem;
    margin: 0;
}

.cabinet-shell .card-header-team,
.cabinet-shell .card-header-profile,
.cabinet-shell .card-header-credentials,
.cabinet-shell .card-header,
.cabinet-shell .card-header-modern {
    background: rgba(212, 175, 55, .1) !important;
    border-bottom: 2px solid var(--cabinet-accent) !important;
    color: var(--cabinet-accent) !important;
}

.cabinet-shell .card-header-team h1,
.cabinet-shell .card-header-team h2,
.cabinet-shell .card-header-team h5,
.cabinet-shell .card-header-profile h5,
.cabinet-shell .card-header-credentials h5,
.cabinet-shell .card-header h2,
.cabinet-shell .card-header h3,
.cabinet-shell .card-header p,
.cabinet-shell .card-header-modern h2,
.cabinet-shell .card-header-modern h5 {
    color: var(--cabinet-accent) !important;
}

.card-body,
.card-body-modern {
    color: var(--cabinet-text);
}

.cabinet-shell .dashboard-card .card-body {
    padding: 20px !important;
}

.cabinet-shell .card-body-modern {
    padding: 24px !important;
}

.cabinet-shell .dashboard-card .card-body.p-0 {
    padding: 0 !important;
}

.cabinet-shell .team-management-section,
.team-management-section.cabinet-shell {
    background: var(--cabinet-primary) !important;
    padding-top: 20px;
}

.cabinet-shell .tm-controls,
.cabinet-shell .invite-section,
.cabinet-shell .form-section,
.cabinet-shell .edit-form,
.cabinet-shell .edit-driver-form,
.cabinet-shell .driver-cars-form,
.cabinet-shell .passport-section,
.cabinet-shell .doc-upload-item,
.cabinet-shell .upload-info,
.cabinet-shell .file-upload-area,
.cabinet-shell .document-preview,
.cabinet-shell .document-pdf {
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(212, 175, 55, .16) !important;
    border-radius: 10px !important;
    color: var(--cabinet-text) !important;
}

.cabinet-shell .form-section,
.cabinet-shell .edit-form,
.cabinet-shell .edit-driver-form,
.cabinet-shell .passport-section {
    border-left: 4px solid var(--cabinet-accent) !important;
}

.cabinet-shell .form-section h5,
.cabinet-shell .section-title,
.cabinet-shell .docs-title,
.cabinet-shell .photos-title,
.cabinet-shell .form-label-sm,
.cabinet-shell .upload-info h6 {
    color: var(--cabinet-accent-light) !important;
}

.cabinet-shell h1,
.cabinet-shell h2,
.cabinet-shell h3,
.cabinet-shell h4 {
    color: var(--cabinet-accent-light) !important;
}

.cabinet-shell label {
    color: var(--cabinet-accent-light);
}

.cabinet-shell hr {
    border-color: var(--cabinet-border);
    opacity: 1;
}

.cabinet-shell .contractor-label {
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 10px !important;
    color: var(--cabinet-text) !important;
}

.cabinet-shell .contractor-label:hover,
.cabinet-shell .contractor-option input:checked + .contractor-label {
    background: rgba(212, 175, 55, .12) !important;
    border-color: var(--cabinet-accent) !important;
    box-shadow: var(--cabinet-shadow) !important;
}

.cabinet-shell .contractor-label span,
.cabinet-shell .contractor-label small,
.cabinet-shell .consent-text,
.cabinet-shell .legal-text,
.cabinet-shell .upload-header p {
    color: var(--cabinet-muted) !important;
}

.cabinet-shell .contractor-label span,
.cabinet-shell .contractor-icon,
.cabinet-shell .upload-header i,
.cabinet-shell .upload-header h5,
.cabinet-shell .upload-header h6 {
    color: var(--cabinet-accent-light) !important;
}

.cabinet-shell .file-upload-section,
.cabinet-shell .consent-checkbox {
    background: rgba(255, 255, 255, .04) !important;
    border-color: rgba(212, 175, 55, .28) !important;
}

.cabinet-shell .file-upload-section.dragover {
    background: rgba(212, 175, 55, .1) !important;
    border-color: var(--cabinet-accent) !important;
}

.cabinet-shell #upload-button,
.cabinet-shell .legal-link {
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(212, 175, 55, .28) !important;
    color: var(--cabinet-accent-light) !important;
}

.cabinet-shell #upload-button:hover,
.cabinet-shell .legal-link:hover {
    background: rgba(212, 175, 55, .12) !important;
    border-color: var(--cabinet-accent) !important;
    color: var(--cabinet-accent) !important;
}

.cabinet-shell .legal-links {
    border-top-color: var(--cabinet-border) !important;
}

.cabinet-shell .consent-text a {
    color: var(--cabinet-accent) !important;
}

.cabinet-shell .thumbnail-wrapper {
    border: 1px solid rgba(212, 175, 55, .18);
    box-shadow: none !important;
}

.login-container.cabinet-shell {
    background: var(--cabinet-primary) !important;
    min-height: 100vh;
}

.cabinet-shell .login-card {
    background: var(--cabinet-card) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: var(--cabinet-radius) !important;
    box-shadow: var(--cabinet-shadow) !important;
    color: var(--cabinet-text);
}

.cabinet-shell .login-header {
    background: rgba(212, 175, 55, .1) !important;
    border-bottom: 2px solid var(--cabinet-accent);
    color: var(--cabinet-accent) !important;
}

.cabinet-shell .login-header h1 {
    color: var(--cabinet-accent) !important;
    font-size: 1.45rem;
    letter-spacing: 0;
}

.cabinet-shell .login-header img {
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .35));
}

.cabinet-shell .login-body {
    background: var(--cabinet-card) !important;
}

.cabinet-shell .form-floating > label {
    color: #6c757d !important;
}

.cabinet-shell .form-check-input:checked {
    background-color: var(--cabinet-accent);
    border-color: var(--cabinet-accent);
}

.cabinet-shell .btn-login {
    background: var(--cabinet-accent) !important;
    border: 1px solid var(--cabinet-accent) !important;
    border-radius: 8px !important;
    color: var(--cabinet-primary) !important;
    font-weight: 700;
    width: 100%;
}

.cabinet-shell .btn-login:hover {
    background: var(--cabinet-accent-light) !important;
    border-color: var(--cabinet-accent-light) !important;
    box-shadow: 0 10px 20px rgba(212, 175, 55, .22) !important;
    color: var(--cabinet-primary) !important;
}

.cabinet-shell .login-links,
.cabinet-shell .login-links .text-muted {
    color: var(--cabinet-muted) !important;
}

.cabinet-shell .login-links a {
    color: var(--cabinet-accent) !important;
}

.info-grid {
    gap: 16px;
    margin-bottom: 0;
}

.info-section {
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid rgba(212, 175, 55, .16);
    border-left: 4px solid var(--cabinet-accent) !important;
    border-radius: 10px !important;
    color: var(--cabinet-text);
}

.info-section h6 {
    color: var(--cabinet-accent-light) !important;
    font-weight: 700;
}

.info-item {
    border-bottom: 1px solid rgba(255, 255, 255, .1) !important;
    margin: 0 !important;
    padding: 11px 0 !important;
}

.info-label {
    color: var(--cabinet-accent-light) !important;
    font-weight: 600;
}

.info-value {
    color: var(--cabinet-text) !important;
    overflow-wrap: anywhere;
}

.text-muted {
    color: var(--cabinet-muted) !important;
}

.stats-grid {
    display: grid;
    gap: 20px !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin: 20px 0 !important;
}

.stat-card {
    background: var(--cabinet-card) !important;
    border: 1px solid var(--cabinet-border);
    border-radius: var(--cabinet-radius) !important;
    box-shadow: none !important;
    color: var(--cabinet-text) !important;
    padding: 20px !important;
    text-align: left !important;
}

.stat-card:hover {
    box-shadow: var(--cabinet-shadow) !important;
    transform: translateY(-4px);
}

.stat-icon {
    color: var(--cabinet-accent) !important;
    font-size: 2rem !important;
    margin-bottom: 10px !important;
}

.stat-number,
.stat-value {
    color: var(--cabinet-text) !important;
    font-size: 2rem !important;
    font-weight: 800;
    line-height: 1.1;
}

.stat-label,
.stat-title {
    color: var(--cabinet-accent-light) !important;
    font-size: .9rem;
    margin-top: 6px;
    opacity: .85;
}

.btn-primary-modern,
.btn-apply,
.cabinet-shell .btn-primary {
    background: var(--cabinet-accent) !important;
    border: 1px solid var(--cabinet-accent) !important;
    border-radius: 8px !important;
    color: var(--cabinet-primary) !important;
    font-weight: 700;
}

.btn-primary-modern:hover,
.btn-apply:hover,
.cabinet-shell .btn-primary:hover {
    background: var(--cabinet-accent-light) !important;
    border-color: var(--cabinet-accent-light) !important;
    box-shadow: 0 10px 20px rgba(212, 175, 55, .22) !important;
    color: var(--cabinet-primary) !important;
    transform: translateY(-1px);
}

.btn-secondary-modern,
.btn-reset,
.btn-secondary {
    background: var(--cabinet-border) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 8px !important;
    color: var(--cabinet-text) !important;
    font-weight: 600;
}

.btn-secondary-modern:hover,
.btn-reset:hover,
.btn-secondary:hover {
    background: #505050 !important;
    border-color: #505050 !important;
    color: var(--cabinet-text) !important;
    transform: translateY(-1px);
}

.action-buttons {
    gap: 10px !important;
    margin-top: 0 !important;
}

.status-badge {
    border-radius: 8px !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0;
    padding: 8px 14px !important;
    text-transform: none !important;
}

.badge-approved {
    background: var(--cabinet-accent) !important;
    color: var(--cabinet-primary) !important;
}

.badge-pending {
    background: #f8961e !important;
    color: var(--cabinet-primary) !important;
}

.badge-rejected {
    background: #b02a37 !important;
    color: var(--cabinet-text) !important;
}

.form-label,
.filter-label,
.form-check-label {
    color: var(--cabinet-accent-light) !important;
}

.form-control,
.form-select,
.filter-select,
.filter-input,
.form-control-modern {
    background: #ffffff !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 8px !important;
    color: #000000 !important;
}

.form-control:focus,
.form-select:focus,
.filter-select:focus,
.filter-input:focus,
.form-control-modern:focus {
    border-color: var(--cabinet-accent) !important;
    box-shadow: 0 0 0 2px rgba(212, 175, 55, .22) !important;
}

.cabinet-shell .input-group-text {
    background: var(--cabinet-border);
    border-color: var(--cabinet-border);
    color: var(--cabinet-accent-light);
}

.cabinet-shell .nice-select {
    background: #ffffff !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 8px !important;
    color: #000000 !important;
    float: none;
    height: 42px;
    line-height: 40px;
    min-width: 100%;
    position: relative;
    z-index: 50;
}

.cabinet-shell .nice-select.open {
    z-index: 10000;
}

.cabinet-shell .nice-select .current {
    color: #000000;
}

.cabinet-shell .nice-select .list {
    background: #ffffff;
    color: #000000;
    max-height: 260px;
    overflow-y: auto;
    z-index: 10001;
}

.cabinet-shell .nice-select .option {
    color: #000000;
}

.cabinet-shell .nice-select .option:hover,
.cabinet-shell .nice-select .option.focus,
.cabinet-shell .nice-select .option.selected.focus {
    background: #f0f0f0;
}

.table-responsive {
    background: var(--cabinet-card);
    border-radius: var(--cabinet-radius);
}

.table-modern {
    background: var(--cabinet-card) !important;
    color: var(--cabinet-text) !important;
    margin: 0;
}

.table-modern th,
.table-modern thead th {
    background: rgba(212, 175, 55, .1) !important;
    border-bottom: 2px solid var(--cabinet-accent) !important;
    color: var(--cabinet-accent) !important;
    font-size: .8rem;
    letter-spacing: 0;
    padding: 12px !important;
    text-transform: none !important;
    white-space: nowrap;
}

.table-modern td {
    background: transparent !important;
    border-bottom: 1px solid var(--cabinet-border) !important;
    color: var(--cabinet-text) !important;
    padding: 12px !important;
}

.table-modern tbody tr:nth-of-type(odd) {
    background-color: var(--cabinet-row) !important;
}

.table-modern tbody tr:hover,
.table-striped tbody tr:hover,
.table-active {
    background: rgba(255, 255, 255, .08) !important;
}

.table-modern .text-primary,
.table-modern .text-success {
    color: var(--cabinet-accent) !important;
}

.table-modern .text-danger {
    color: #ff8d8d !important;
}

.table-modern .text-warning {
    color: #ffd166 !important;
}

.badge {
    border-radius: 6px !important;
    font-weight: 700;
}

.bg-success,
.bg-info,
.bg-secondary {
    background: var(--cabinet-accent) !important;
    color: var(--cabinet-primary) !important;
}

.bg-warning {
    background: #f8961e !important;
    color: var(--cabinet-primary) !important;
}

.bg-danger {
    background: #b02a37 !important;
    color: var(--cabinet-text) !important;
}

.gallery-item,
.gallery-pdf,
.cabinet-shell .photo-item,
.cabinet-shell .doc-item,
.cabinet-shell .existing-photo-item {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(212, 175, 55, .18);
}

.cabinet-shell .img-thumbnail {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(212, 175, 55, .18);
    border-radius: 8px;
}

.cabinet-shell .driver-card,
.cabinet-shell .car-card {
    background: rgba(255, 255, 255, .04) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: var(--cabinet-radius) !important;
    color: var(--cabinet-text);
}

.cabinet-shell .driver-card:hover,
.cabinet-shell .car-card:hover {
    border-color: var(--cabinet-accent) !important;
    box-shadow: var(--cabinet-shadow) !important;
}

.cabinet-shell .driver-name,
.cabinet-shell .car-number,
.cabinet-shell .car-model,
.cabinet-shell .driver-detail strong,
.cabinet-shell .car-detail strong {
    background: none !important;
    color: var(--cabinet-accent) !important;
    -webkit-text-fill-color: currentColor !important;
}

.cabinet-shell .driver-detail,
.cabinet-shell .car-detail {
    background: rgba(255, 255, 255, .04) !important;
    border-left-color: var(--cabinet-accent) !important;
    color: var(--cabinet-text) !important;
}

.cabinet-shell .driver-phone,
.cabinet-shell .driver-email,
.cabinet-shell .field-info,
.cabinet-shell small {
    color: var(--cabinet-muted) !important;
}

.cabinet-shell .tm-tabs {
    border-bottom-color: var(--cabinet-border) !important;
}

.cabinet-shell .tm-tab-btn {
    background: transparent !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 8px !important;
    color: var(--cabinet-muted) !important;
}

.cabinet-shell .tm-tab-btn:hover,
.cabinet-shell .tm-tab-btn.active {
    background: rgba(212, 175, 55, .12) !important;
    border-color: var(--cabinet-accent) !important;
    color: var(--cabinet-accent) !important;
}

.cabinet-shell .empty-state {
    color: var(--cabinet-muted) !important;
}

.cabinet-shell .warning-icon,
.cabinet-shell .upload-icon {
    color: var(--cabinet-accent) !important;
}

.card-footer,
.pagination .page-link,
.cabinet-shell .pagination a,
.cabinet-shell .pagination span {
    background: var(--cabinet-card) !important;
    border-color: var(--cabinet-border) !important;
    color: var(--cabinet-text) !important;
}

.pagination .page-item.active .page-link {
    background: var(--cabinet-accent) !important;
    border-color: var(--cabinet-accent) !important;
    color: var(--cabinet-primary) !important;
}

.cabinet-shell .pagination .current {
    background: var(--cabinet-accent) !important;
    border-color: var(--cabinet-accent) !important;
    color: var(--cabinet-primary) !important;
}

.cabinet-shell .btn-light,
.cabinet-shell .btn-outline-modern,
.cabinet-shell .btn-outline-secondary,
.cabinet-shell .btn-outline-primary {
    background: var(--cabinet-border) !important;
    border: 1px solid var(--cabinet-border) !important;
    border-radius: 8px !important;
    color: var(--cabinet-text) !important;
    font-weight: 600;
}

.cabinet-shell .btn-light:hover,
.cabinet-shell .btn-outline-modern:hover,
.cabinet-shell .btn-outline-secondary:hover,
.cabinet-shell .btn-outline-primary:hover {
    background: #505050 !important;
    border-color: #505050 !important;
    color: var(--cabinet-text) !important;
}

.cabinet-shell .btn-danger-modern,
.cabinet-shell .btn-outline-danger,
.cabinet-shell .btn-danger {
    background: #b02a37 !important;
    border: 1px solid #b02a37 !important;
    border-radius: 8px !important;
    color: var(--cabinet-text) !important;
}

.cabinet-shell .btn-success {
    background: var(--cabinet-accent) !important;
    border: 1px solid var(--cabinet-accent) !important;
    border-radius: 8px !important;
    color: var(--cabinet-primary) !important;
}

@media (max-width: 768px) {
    .page-header {
        padding: 20px 0 !important;
    }

    .status-badge {
        margin-top: 12px;
    }

    .stats-grid {
        grid-template-columns: 1fr !important;
    }

    .action-buttons {
        flex-direction: column;
    }

    .action-buttons .btn,
    .action-buttons form,
    .action-buttons button {
        width: 100%;
    }

    .info-item {
        display: block !important;
    }

    .info-value {
        display: block;
        margin-top: 4px;
        text-align: left !important;
    }
}
