:root {
    --cp-navy: #07152f;
    --cp-navy-soft: #0d2348;
    --cp-blue: #246bfd;
    --cp-blue-dark: #174fc7;
    --cp-cyan: #35bfea;
    --cp-canvas: #f3f7fc;
    --cp-surface: #fff;
    --cp-text: #13233f;
    --cp-muted: #65758b;
    --cp-border: #dce7f5;
    --cp-radius: 16px;
    --cp-shadow: 0 10px 30px rgba(7, 21, 47, .07);
}

.control-panel, .control-panel-auth { min-width: 320px; color: var(--cp-text); background: var(--cp-canvas); overflow-x: hidden; }
.control-panel .row > *, .control-panel .content, .control-panel .main-content, .control-panel .card, .control-panel .card-body { min-width: 0; }
.control-panel .main-content { padding-bottom: 2rem; }
.control-panel .card { border: 1px solid var(--cp-border); border-radius: var(--cp-radius); box-shadow: var(--cp-shadow); background: var(--cp-surface); overflow: hidden; }
.control-panel .card-header { min-height: 64px; padding: 1rem 1.25rem; border-bottom: 1px solid var(--cp-border); background: var(--cp-surface); }
.control-panel .card-title, .control-panel h1, .control-panel h2, .control-panel h3 { color: var(--cp-navy); }
.control-panel .form-control, .control-panel .form-select, .control-panel .select2-selection { min-height: 42px; border-color: var(--cp-border); border-radius: 10px; }
.control-panel .form-control:focus, .control-panel .form-select:focus { border-color: var(--cp-blue); box-shadow: 0 0 0 .2rem rgba(36, 107, 253, .13); }
.control-panel .btn-primary, .control-panel .bg-primary { background-color: var(--cp-blue) !important; border-color: var(--cp-blue) !important; }
.control-panel .btn-primary:hover, .control-panel .btn-primary:focus { background-color: var(--cp-blue-dark) !important; border-color: var(--cp-blue-dark) !important; }
.control-panel .table-responsive { scrollbar-width: thin; scrollbar-color: #b7c8df transparent; }
.control-panel .table { margin-bottom: 0; color: var(--cp-text); }
.control-panel .table thead th { padding: .9rem 1rem; color: #52647b; background: #f7faff; border-bottom-color: var(--cp-border); font-size: .78rem; letter-spacing: .02em; white-space: nowrap; }
.control-panel .table tbody td { padding: .95rem 1rem; vertical-align: middle; border-bottom-color: #edf2f8; }
.control-panel .dropdown-menu, .control-panel .modal-content { border: 1px solid var(--cp-border); border-radius: 14px; box-shadow: 0 18px 45px rgba(7, 21, 47, .16); }
.control-panel .pagination { flex-wrap: wrap; gap: .25rem; }
.control-panel .page-link { border-radius: 8px !important; }

.customer-control-panel .control-panel__navbar { background: linear-gradient(110deg, var(--cp-navy), var(--cp-navy-soft)); box-shadow: 0 8px 24px rgba(7, 21, 47, .18); }
.customer-control-panel .control-panel__navbar .navbar-brand img { width: auto; max-width: 170px; max-height: 44px; object-fit: contain; }
.customer-control-panel .control-panel__navbar .nav-link { color: rgba(255, 255, 255, .82); border-radius: 9px; transition: color .2s ease, background-color .2s ease; }
.customer-control-panel .control-panel__navbar .nav-link:hover, .customer-control-panel .control-panel__navbar .nav-link:focus, .customer-control-panel .control-panel__navbar .nav-item.active > .nav-link { color: #fff; background: rgba(53, 191, 234, .14); }
.customer-control-panel .page-header { color: #fff; background: linear-gradient(125deg, var(--cp-navy), #12315f); }
.customer-control-panel .page-header h1, .customer-control-panel .page-header h2, .customer-control-panel .page-header h3, .customer-control-panel .page-header .text-secondary { color: #fff !important; }
.dashboard-heading { margin-bottom: .5rem; }
.dashboard-stat-card { position: relative; border-inline-start: 4px solid var(--cp-blue) !important; transition: transform .2s ease, box-shadow .2s ease; }
.dashboard-stat-card:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(7, 21, 47, .11); }
.dashboard-stat-card__icon { margin-inline-end: .5rem; margin-right: 0 !important; }
.dashboard-chart-card { height: 100%; }
.dashboard-date-filter { width: min(100%, 260px); }
.dashboard-empty-state { padding: 2.5rem 1rem !important; text-align: center; }
.dashboard-empty-state > * { display: block; margin-inline: auto; }
.dashboard-empty-state__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: .65rem; color: var(--cp-blue); background: #eaf1ff; border-radius: 50%; }
.dashboard-empty-state span:last-child { margin-top: .25rem; color: var(--cp-muted); }
.control-panel .chart-lg, .control-panel [id$="-chart"] { max-width: 100%; }

.admin-control-panel .sidebar { width: 280px; background: linear-gradient(180deg, var(--cp-navy) 0%, #0a2144 100%) !important; border-inline-end: 1px solid rgba(255, 255, 255, .08); }
.admin-control-panel .sidebar .nav-label { margin: 1.25rem .75rem .5rem; color: var(--cp-cyan); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admin-control-panel .sidebar .nav-link, .admin-control-panel .sidebar .nav-link:hover, .admin-control-panel .sidebar .nav-link:focus { color: rgba(255, 255, 255, .82) !important; }
.admin-control-panel .sidebar .nav-link { margin-block: .15rem; border-radius: 10px; }
.admin-control-panel .sidebar .nav-link:hover, .admin-control-panel .sidebar .nav-link:focus, .admin-control-panel .sidebar .nav-item.active > .nav-link { color: #fff !important; background: rgba(53, 191, 234, .14) !important; }
.admin-control-panel .sidebar-icon { color: var(--cp-cyan); margin-inline-end: .65rem; }
.admin-control-panel .content { margin-left: 280px; padding: 1rem 1.25rem; }
.admin-control-panel .control-panel__navbar { position: sticky; top: .75rem; z-index: 1010; min-height: 62px; margin-bottom: 1rem; border: 1px solid var(--cp-border) !important; box-shadow: var(--cp-shadow); }
.admin-control-panel .navbar-nav .nav-item .nav-link, .admin-control-panel .navbar-nav .nav-item .nav-link:hover, .admin-control-panel .navbar-nav .nav-item .nav-link:focus { color: var(--cp-text) !important; background-color: transparent !important; }

html[dir="rtl"] .control-panel, html[dir="rtl"] .control-panel-auth { font-family: "Changa", system-ui, sans-serif; text-align: start; }
html[dir="rtl"] .control-panel .dropdown-menu-end { --bs-position: start; right: auto; left: 0; }
html[dir="rtl"] .control-panel .link-arrow, html[dir="rtl"] .control-panel .fa-arrow-right, html[dir="rtl"] .control-panel .fa-chevron-right { transform: scaleX(-1); }
html[dir="rtl"] .admin-control-panel .sidebar { right: 0; left: auto; }
html[dir="rtl"] .admin-control-panel .content { margin-right: 280px; margin-left: 0; }
html[dir="rtl"] .control-panel .daterangepicker, html[dir="rtl"] .control-panel .daterangepicker .calendar-table, html[dir="rtl"] .control-panel .daterangepicker .drp-buttons { direction: rtl; text-align: right; }

@media (max-width: 991.98px) {
    .admin-control-panel .sidebar { width: min(86vw, 300px); z-index: 1040; }
    .admin-control-panel .content, html[dir="rtl"] .admin-control-panel .content { margin-inline: 0; padding: .75rem; }
    .admin-control-panel .control-panel__navbar { top: .5rem; }
    .customer-control-panel .control-panel__navbar .navbar-collapse { padding-block: .75rem; }
}

@media (max-width: 767.98px) {
    .control-panel .card-header { min-height: auto; padding: .9rem 1rem; }
    .control-panel .card-body { padding: 1rem; }
    .control-panel .table-responsive .table { min-width: 680px; }
    .dashboard-date-filter { width: 100%; }
    .control-panel .modal-dialog { margin: .75rem; }
}

@media (max-width: 575.98px) {
    .control-panel .notification-dropdown, .control-panel .dropdown-menu[style*="350px"] { position: fixed !important; inset-inline: .75rem !important; top: 4.5rem !important; width: auto !important; max-width: none !important; }
    .dashboard-stat-card .card-body { padding: .8rem !important; }
}

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