:root {
    --font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-heading: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    --font-weight-normal: 450;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    --line-height-base: 1.6;
    --line-height-tight: 1.4;

    --color-primary: #2563eb;
    --color-primary-dark: #1d4ed8;
    --color-primary-light: #3b82f6;
    --color-primary-lighter: #60a5fa;
    --color-primary-subtle: #dbeafe;

    --color-success: #10b981;
    --color-success-dark: #059669;
    --color-warning: #f59e0b;
    --color-warning-dark: #d97706;
    --color-danger: #ef4444;
    --color-danger-dark: #dc2626;
    --color-info: #06b6d4;
    --color-info-dark: #0891b2;

    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-300: #d1d5db;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-gray-900: #111827;

    --color-text-primary: var(--color-gray-900);
    --color-text-secondary: var(--color-gray-600);
    --color-text-muted: var(--color-gray-500);
    --color-text-light: var(--color-gray-400);

    --color-border: var(--color-gray-200);
    --color-border-light: var(--color-gray-100);

    --color-background: #f8fafc;
    --color-background-card: #ffffff;

    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-xl: 12px;
    --radius-2xl: 16px;
    --radius-full: 9999px;

    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);

    --transition-fast: 150ms ease;
    --transition-base: 200ms ease;
    --transition-slow: 300ms ease;
}

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

html,
body {
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-normal);
    font-size: 15px;
    line-height: var(--line-height-base);
    color: var(--color-text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    color: var(--color-text-primary);
}

h1,
.h1 {
    font-size: 2rem;
}

h2,
.h2 {
    font-size: 1.5rem;
}

h3,
.h3 {
    font-size: 1.25rem;
}

h4,
.h4 {
    font-size: 1.125rem;
}

h5,
.h5 {
    font-size: 1rem;
}

h6,
.h6 {
    font-size: 0.875rem;
}

p {
    line-height: var(--line-height-base);
    margin-bottom: 1rem;
}

a {
    color: var(--color-primary);
    transition: color var(--transition-fast);
}

a:hover,
a:focus {
    color: var(--color-primary-dark);
    text-decoration: none;
}


.content-wrapper,
.right-side {
    background-color: var(--color-background);
}

.box {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border-light);
    background-color: var(--color-background-card);
    margin-bottom: 1.25rem;
}

.box-header {
    border-bottom: 1px solid var(--color-border-light);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    padding: 1rem 1.25rem;
}

.box-header.with-border {
    border-bottom: 1px solid var(--color-border);
}

.box-title {
    font-size: 1rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.box-body {
    padding: 1.25rem;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.box-primary {
    border-top: none;
}

.box-primary>.box-header {
    background-color: var(--color-background-card);
    border-bottom-color: var(--color-border);
}

.box-primary>.box-header .box-title {
    color: var(--color-text-primary);
}

.box-info {
    border-top: none;
}

.box-success {
    border-top: none;
}

.box-warning {
    border-top: none;
}

.box-danger {
    border-top: none;
}


.btn {
    border-radius: var(--radius-md);
    font-weight: var(--font-weight-semibold);
    padding: 0.5rem 1rem;
    font-size: 14px;
    line-height: 1.5;
    transition: all var(--transition-fast);
    border: 1px solid transparent;
}

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

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

.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    color: #ffffff;
}

.btn-success {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: #ffffff;
}

.btn-success:hover,
.btn-success:focus {
    background-color: var(--color-success-dark);
    border-color: var(--color-success-dark);
    color: #ffffff;
}

.btn-warning {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: #ffffff;
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: var(--color-warning-dark);
    border-color: var(--color-warning-dark);
    color: #ffffff;
}

.btn-danger {
    background-color: var(--color-danger);
    border-color: var(--color-danger);
    color: #ffffff;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: var(--color-danger-dark);
    border-color: var(--color-danger-dark);
    color: #ffffff;
}

.btn-info {
    background-color: var(--color-info);
    border-color: var(--color-info);
    color: #ffffff;
}

.btn-info:hover,
.btn-info:focus {
    background-color: var(--color-info-dark);
    border-color: var(--color-info-dark);
    color: #ffffff;
}

.btn-default {
    background-color: var(--color-background-card);
    border-color: var(--color-border);
    color: var(--color-text-primary);
}

.btn-default:hover,
.btn-default:focus {
    background-color: var(--color-gray-50);
    border-color: var(--color-gray-300);
    color: var(--color-text-primary);
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 13px;
    border-radius: var(--radius-sm);
}

.btn-lg {
    padding: 0.75rem 1.5rem;
    font-size: 16px;
    border-radius: var(--radius-lg);
}


.form-control {
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    padding: 0.5rem 0.75rem;
    font-size: 14px;
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
    height: auto;
    min-height: 38px;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    background-color: var(--color-background-card);
}

.form-control:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-subtle);
    outline: none;
}

.form-control::placeholder {
    color: var(--color-text-muted);
}

input:required,
select:required,
textarea:required {
    background-color: var(--color-background-card);
    border-left: 3px solid var(--color-warning);
}

input:required:focus,
select:required:focus,
textarea:required:focus {
    background-color: var(--color-background-card);
}


.table {
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.table>thead>tr>th {
    background-color: var(--color-gray-50);
    border-bottom: 2px solid var(--color-border);
    color: var(--color-text-primary);
    font-weight: var(--font-weight-bold);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.75rem 1rem;
}

.table>tbody>tr>td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--color-border-light);
    vertical-align: middle;
    font-size: 14px;
    font-weight: var(--font-weight-normal);
}

.table>tbody>tr:last-child>td {
    border-bottom: none;
}

.table-hover>tbody>tr:hover {
    background-color: var(--color-gray-50);
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--color-gray-50);
}


.label {
    border-radius: var(--radius-full);
    font-weight: var(--font-weight-semibold);
    font-size: 12px;
    padding: 0.25rem 0.625rem;
}

.label-primary {
    background-color: var(--color-primary);
}

.label-success {
    background-color: var(--color-success);
}

.label-warning {
    background-color: var(--color-warning);
}

.label-danger {
    background-color: var(--color-danger);
}

.label-info {
    background-color: var(--color-info);
}

.label-default {
    background-color: var(--color-gray-500);
}

.badge {
    border-radius: var(--radius-full);
    font-weight: var(--font-weight-medium);
}


.alert {
    border-radius: var(--radius-lg);
    border: none;
    padding: 1rem 1.25rem;
}

.alert-success {
    background-color: #d1fae5;
    color: #065f46;
}

.alert-warning {
    background-color: #fef3c7;
    color: #92400e;
}

.alert-danger {
    background-color: #fee2e2;
    color: #991b1b;
}

.alert-info {
    background-color: #cffafe;
    color: #155e75;
}


.modal-content {
    border-radius: var(--radius-xl);
    border: none;
    box-shadow: var(--shadow-lg);
}

.modal-header {
    border-bottom: 1px solid var(--color-border-light);
    padding: 1.25rem 1.5rem;
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.modal-title {
    font-weight: var(--font-weight-semibold);
    font-size: 1.125rem;
}

.modal-body {
    padding: 1.5rem;
}

.modal-footer {
    border-top: 1px solid var(--color-border-light);
    padding: 1rem 1.5rem;
    border-radius: 0 0 var(--radius-xl) var(--radius-xl);
}


.dropdown-menu {
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-light);
    box-shadow: var(--shadow-lg);
    padding: 0.5rem;
}

.dropdown-menu>li>a {
    border-radius: var(--radius-md);
    padding: 0.5rem 0.75rem;
    color: var(--color-text-primary);
    transition: background-color var(--transition-fast);
}

.dropdown-menu>li>a:hover {
    background-color: var(--color-gray-100);
    color: var(--color-text-primary);
}

.dropdown-menu .divider {
    margin: 0.5rem 0;
    background-color: var(--color-border-light);
}


.nav-tabs {
    border-bottom: 2px solid var(--color-border-light);
}

.nav-tabs>li>a {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-medium);
    padding: 0.75rem 1.25rem;
    border: none;
    margin-bottom: -2px;
    transition: color var(--transition-fast);
}

.nav-tabs>li>a:hover {
    border: none;
    background-color: transparent;
    color: var(--color-primary);
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {
    border: none;
    border-bottom: 2px solid var(--color-primary);
    background-color: transparent;
    color: var(--color-primary);
}


.panel {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--color-border-light);
}

.panel-heading {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    padding: 1rem 1.25rem;
}

.panel-body {
    padding: 1.25rem;
}

.panel-footer {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background-color: var(--color-gray-50);
    border-top: 1px solid var(--color-border-light);
    padding: 1rem 1.25rem;
}


.pagination>li>a,
.pagination>li>span {
    border-radius: var(--radius-md) !important;
    margin: 0 2px;
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    padding: 0.5rem 0.875rem;
    transition: all var(--transition-fast);
}

.pagination>li>a:hover {
    background-color: var(--color-gray-100);
    border-color: var(--color-gray-300);
    color: var(--color-text-primary);
}

.pagination>.active>a,
.pagination>.active>a:hover,
.pagination>.active>a:focus,
.pagination>.active>span {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
}


.progress {
    border-radius: var(--radius-full);
    background-color: var(--color-gray-200);
    height: 0.5rem;
    overflow: hidden;
}

.progress-bar {
    border-radius: var(--radius-full);
}


.main-header>.navbar {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}

.main-header .logo {
    background: linear-gradient(135deg, var(--color-primary-dark) 0%, #1e40af 100%);
}

.skin-blue .main-header .logo:hover {
    background: linear-gradient(135deg, var(--color-primary-dark) 0%, #1e40af 100%);
}

.skin-blue .main-header .navbar {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}

.skin-blue .main-header .navbar .nav>li>a {
    color: rgba(255, 255, 255, 0.9);
}

.skin-blue .main-header .navbar .nav>li>a:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
}


.skin-blue .main-sidebar,
.skin-blue .left-side {
    background-color: var(--color-gray-800);
}

.skin-blue .sidebar-menu>li>a {
    color: var(--color-gray-300);
    border-radius: var(--radius-md);
    margin: 2px 8px;
    transition: all var(--transition-fast);
}

.skin-blue .sidebar-menu>li:hover>a,
.skin-blue .sidebar-menu>li.active>a {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
}

.skin-blue .sidebar-menu>li.active>a {
    background-color: var(--color-primary);
    color: #ffffff;
}

.skin-blue .sidebar a {
    color: var(--color-gray-300);
}

.skin-blue .sidebar-menu>li>.treeview-menu {
    background-color: rgba(0, 0, 0, 0.15);
    margin: 0 8px;
    border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.skin-blue .treeview-menu>li>a {
    color: var(--color-gray-400);
    padding: 8px 12px 8px 24px;
}

.skin-blue .treeview-menu>li>a:hover {
    color: #ffffff;
}

.skin-blue .sidebar-menu li.header {
    color: var(--color-gray-500);
    font-weight: var(--font-weight-semibold);
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem 1.25rem 0.5rem;
}


.content-header>h1 {
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
}

.content-header>.breadcrumb {
    background-color: transparent;
}

.content-header>.breadcrumb>li>a {
    color: var(--color-text-secondary);
}


.info-box {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.info-box-icon {
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
}

.small-box {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.small-box>.inner {
    padding: 1.25rem;
}

.small-box>.inner h3,
.small-box>.inner p,
.small-box>.inner .info-box-text,
.small-box>.inner .info-box-number {
    color: #ffffff;
}

.small-box>.small-box-footer {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    color: rgba(255, 255, 255, 0.9);
}

.small-box>.small-box-footer:hover {
    color: #ffffff;
}

.small-box .icon {
    color: rgba(255, 255, 255, 0.3);
}


.info-box .info-box-content .info-box-text,
.info-box .info-box-content .info-box-number,
.info-box .info-box-content .progress-description {
    color: var(--color-text-primary);
}

.info-box[class*="bg-"] .info-box-content .info-box-text,
.info-box[class*="bg-"] .info-box-content .info-box-number,
.info-box[class*="bg-"] .info-box-content .progress-description {
    color: #ffffff;
}


.bg-aqua .inner h3,
.bg-aqua .inner p,
.bg-blue .inner h3,
.bg-blue .inner p,
.bg-green .inner h3,
.bg-green .inner p,
.bg-yellow .inner h3,
.bg-yellow .inner p,
.bg-red .inner h3,
.bg-red .inner p,
.bg-purple .inner h3,
.bg-purple .inner p,
.bg-teal .inner h3,
.bg-teal .inner p,
.bg-maroon .inner h3,
.bg-maroon .inner p,
.bg-navy .inner h3,
.bg-navy .inner p {
    color: #ffffff !important;
}


.callout {
    border-radius: var(--radius-lg);
}

.well {
    border-radius: var(--radius-lg);
    background-color: var(--color-gray-50);
    border: 1px solid var(--color-border-light);
}


.bg-aqua {
    background-color: var(--color-info) !important;
}

.bg-blue {
    background-color: var(--color-primary) !important;
}

.bg-green {
    background-color: var(--color-success) !important;
}

.bg-yellow {
    background-color: var(--color-warning) !important;
}

.bg-red {
    background-color: var(--color-danger) !important;
}

.bg-purple {
    background-color: #8b5cf6 !important;
}

.bg-teal {
    background-color: #14b8a6 !important;
}

.bg-maroon {
    background-color: #be185d !important;
}

.bg-navy {
    background-color: #1e3a5f !important;
}

.text-aqua {
    color: var(--color-info) !important;
}

.text-blue {
    color: var(--color-primary) !important;
}

.text-green {
    color: var(--color-success) !important;
}

.text-yellow {
    color: var(--color-warning) !important;
}

.text-red {
    color: var(--color-danger) !important;
}


h1.title,
h2.title,
h3.title,
h4.title {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-border-light);
    margin-bottom: 1.25rem;
}


.table td .btn-block {
    display: inline-block;
    width: auto;
    padding: 0.25rem 0.75rem;
    font-size: 12px;
}

.table td .btn-xs {
    padding: 0.25rem 0.5rem;
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    border-radius: var(--radius-sm);
    margin-bottom: 2px;
}

.table td .btn-group-vertical {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
}

.table td .btn-group-vertical>.btn {
    border-radius: var(--radius-sm) !important;
    margin-bottom: 0;
}

.table td>a.btn,
.table td>.btn {
    margin-right: 4px;
    margin-bottom: 4px;
}

.dataTables_wrapper .dataTables_filter {
    margin-bottom: 1rem;
}

.dataTables_wrapper .dataTables_filter input {
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    padding: 0.5rem 0.75rem;
    font-size: 14px;
}

.dataTables_wrapper .dataTables_length select {
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    padding: 0.375rem 0.5rem;
    font-size: 14px;
}

.dataTables_wrapper .dataTables_info {
    font-size: 13px;
    color: var(--color-text-secondary);
    padding-top: 0.75rem;
}

.dataTables_wrapper .dataTables_paginate {
    padding-top: 0.75rem;
}


fieldset {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 1rem;
    margin-bottom: 1rem;
}

fieldset legend {
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    padding: 0 0.5rem;
    width: auto;
    border: none;
    margin-bottom: 0.5rem;
}

.form-filters label {
    font-weight: var(--font-weight-normal);
    font-size: 13px;
    color: var(--color-text-primary);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

.form-filters input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--color-primary);
    cursor: pointer;
}


.btn-xs {
    padding: 0.25rem 0.5rem;
    font-size: 12px;
    line-height: 1.4;
    border-radius: var(--radius-sm);
}


::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-gray-100);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
    background: var(--color-gray-300);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-400);
}


::selection {
    background-color: var(--color-primary-subtle);
    color: var(--color-primary-dark);
}


*:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.btn:focus-visible,
.form-control:focus-visible {
    outline: none;
}


select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    padding-right: 2.5rem;
}


.overlay,
.loading-overlay {
    background: rgba(255, 255, 255, 0.9);
    border-radius: var(--radius-lg);
}

.overlay>.fa,
.loading-overlay>.fa {
    color: var(--color-primary);
}


.tooltip-inner {
    background-color: var(--color-gray-800);
    border-radius: var(--radius-md);
    font-size: 13px;
    padding: 0.5rem 0.75rem;
}

.tooltip.top .tooltip-arrow {
    border-top-color: var(--color-gray-800);
}

.tooltip.bottom .tooltip-arrow {
    border-bottom-color: var(--color-gray-800);
}


.breadcrumb {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
    font-size: 13px;
}

.breadcrumb>li+li:before {
    color: var(--color-gray-400);
    content: "›";
    padding: 0 0.5rem;
}

.breadcrumb>.active {
    color: var(--color-text-secondary);
}


hr {
    border-top: 1px solid var(--color-border-light);
    margin: 1.5rem 0;
}

blockquote {
    border-left: 4px solid var(--color-primary);
    padding-left: 1rem;
    margin: 1rem 0;
    color: var(--color-text-secondary);
    font-style: italic;
}


code {
    background-color: var(--color-gray-100);
    color: var(--color-danger);
    padding: 0.125rem 0.375rem;
    border-radius: var(--radius-sm);
    font-size: 0.875em;
}

pre {
    background-color: var(--color-gray-800);
    color: var(--color-gray-100);
    padding: 1rem;
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

pre code {
    background-color: transparent;
    color: inherit;
    padding: 0;
}


@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.box,
.small-box,
.info-box {
    animation: fadeIn 0.2s ease-out;
}

.modal.fade .modal-dialog {
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}


.user-panel {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.user-panel>.info {
    color: var(--color-gray-300);
}

.user-panel>.info>a {
    color: #ffffff;
    font-weight: var(--font-weight-medium);
}


.navbar-nav>.user-menu>.dropdown-menu {
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border-light);
}

.navbar-nav>.user-menu>.dropdown-menu>.user-header {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}

.navbar-nav>.user-menu>.dropdown-menu>.user-footer {
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background-color: var(--color-gray-50);
    border-top: 1px solid var(--color-border-light);
}


input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--color-primary);
}

.checkbox label,
.radio label {
    font-weight: var(--font-weight-normal);
    cursor: pointer;
}


.has-error .form-control {
    border-color: var(--color-danger);
}

.has-error .form-control:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}

.has-success .form-control {
    border-color: var(--color-success);
}

.has-success .form-control:focus {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.help-block {
    font-size: 13px;
    color: var(--color-text-muted);
    margin-top: 0.25rem;
}

.has-error .help-block {
    color: var(--color-danger);
}


/* Select2 theme overrides */
.select2-container--default .select2-selection--single {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    height: 38px;
    background-color: var(--color-background-card);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px;
    padding-left: 0.75rem;
    padding-right: 2rem;
    font-size: 14px;
    color: var(--color-text-primary);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
    right: 0.5rem;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-subtle);
    outline: none;
}

.select2-hidden-accessible:required+.select2-container .select2-selection--single {
    border-left: 3px solid var(--color-warning);
}

.select2-dropdown {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-primary);
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    padding: 0.375rem 0.5rem;
    font-size: 14px;
}