/* ===========================
   ADMIN PANEL GLOBAL STYLES
   =========================== */

/* === SLATE COLOR PALETTE === */
:root {
    --admin-sidebar-bg: #0f172a;      /* slate-900 */
    --admin-sidebar-text: #cbd5e1;    /* slate-300 */
    --admin-sidebar-hover: #1e293b;   /* slate-800 */
    --admin-sidebar-active: #0f766e;  /* teal-600 */
    --admin-main-bg: #f0f4f8;         /* custom light blue-gray */

    /* Slate palette */
    --slate-50: #f8fafc;
    --slate-100: #f1f5f9;
    --slate-200: #e2e8f0;
    --slate-300: #cbd5e1;
    --slate-400: #94a3b8;
    --slate-500: #64748b;
    --slate-600: #475569;
    --slate-700: #334155;
    --slate-800: #1e293b;
    --slate-900: #0f172a;

    /* Stone palette (for content areas) */
    --stone-50: #fafaf9;
    --stone-100: #f5f5f4;
    --stone-200: #e7e5e4;
    --stone-300: #d6d3d1;
    --stone-400: #a8a29e;
    --stone-500: #78716c;
    --stone-600: #57534e;
    --stone-700: #44403c;
    --stone-800: #292524;
    --stone-900: #1c1917;
}

/* === SLIDE-OVER ANIMATIONS === */
@keyframes slideInRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* === RADZEN DATAGRID GLOBAL OVERRIDES === */

/*!* Remove default Radzen borders and shadows *!*/
/*.rz-datatable {*/
/*    border: none !important;*/
/*    box-shadow: none !important;*/
/*}*/

/*!* Table header styling *!*/
/*.rz-datatable th {*/
/*    background-color: var(--stone-50) !important;*/
/*    border-bottom: 1px solid var(--stone-200) !important;*/
/*    color: var(--slate-500) !important;*/
/*    font-weight: 500 !important;*/
/*    font-size: 0.875rem !important;*/
/*    text-transform: none !important;*/
/*}*/

/*!* Table body row styling *!*/
/*.rz-datatable-data td {*/
/*    padding: 1rem 1.5rem !important;*/
/*    border-bottom: 1px solid var(--stone-100) !important;*/
/*}*/

/*.rz-datatable-data tr:hover {*/
/*    background-color: var(--stone-50) !important;*/
/*}*/

/*.rz-datatable-data tr:last-child td {*/
/*    border-bottom: none !important;*/
/*}*/

/*!* Paginator styling *!*/
/*.rz-paginator {*/
/*    background: white !important;*/
/*    border-top: 1px solid var(--stone-200) !important;*/
/*    padding: 1rem 1.5rem !important;*/
/*}*/

/*.rz-paginator-element {*/
/*    border-radius: 0.5rem !important;*/
/*}*/

/*!* === RADZEN DROPDOWN OVERRIDES === *!*/
/*.rz-dropdown {*/
/*    border-radius: 0.75rem !important;*/
/*    border-color: var(--stone-300) !important;*/
/*}*/

/*.rz-dropdown:focus {*/
/*    border-color: var(--rz-primary) !important;*/
/*    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1) !important;*/
/*}*/

/*!* === RADZEN TEXTBOX OVERRIDES === *!*/
/*.rz-textbox {*/
/*    border-radius: 0.75rem !important;*/
/*    border-color: var(--stone-300) !important;*/
/*    padding: 0.625rem 0.875rem !important;*/
/*}*/

/*.rz-textbox:focus {*/
/*    border-color: var(--rz-primary) !important;*/
/*    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1) !important;*/
/*}*/

/*!* === RADZEN BUTTON OVERRIDES FOR ADMIN === *!*/
/*.rz-button.rz-button-sm {*/
/*    padding: 0.5rem 1rem !important;*/
/*    font-size: 0.875rem !important;*/
/*}*/

/*!* === UTILITY CLASSES === *!*/

/*!* Scrollbar styling for admin panel *!*/
/*.admin-layout ::-webkit-scrollbar {*/
/*    width: 8px;*/
/*    height: 8px;*/
/*}*/

/*.admin-layout ::-webkit-scrollbar-track {*/
/*    background: var(--stone-100);*/
/*}*/

/*.admin-layout ::-webkit-scrollbar-thumb {*/
/*    background: var(--stone-400);*/
/*    border-radius: 4px;*/
/*}*/

/*.admin-layout ::-webkit-scrollbar-thumb:hover {*/
/*    background: var(--stone-500);*/
/*}*/

/* Responsive helper classes */
@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .hide-desktop {
        display: none !important;
    }
}

/* === ANIMATION CLASSES === */
.animate-fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

.animate-slide-in-right {
    animation: slideInRight 0.3s ease-out;
}

/* === FOCUS STYLES === */
*:focus-visible {
    outline: 2px solid var(--rz-primary);
    outline-offset: 2px;
}

/* === PRINT STYLES === */
@media print {
    .admin-sidebar,
    .admin-mobile-header,
    .slide-over-overlay {
        display: none !important;
    }

    .admin-main {
        margin-left: 0 !important;
    }
}
