/*
   Desvio Padrão Theme
   Based on company branding colors
*/

:root {
    /* Brand Colors */
    --dp-primary: #1B4B7E;           /* Deep navy blue from logo */
    --dp-primary-dark: #143A63;      /* Darker shade */
    --dp-primary-light: #2C5F99;     /* Lighter shade */
    --dp-accent: #F5EFE0;            /* Warm beige from cover */
    --dp-accent-dark: #E8DECB;       /* Darker beige */

    /* Override Radzen primary colors */
    --rz-primary: var(--dp-primary);
    --rz-primary-light: var(--dp-primary-light);
    --rz-primary-lighter: #4A7FB5;
    --rz-primary-dark: var(--dp-primary-dark);
    --rz-primary-darker: #0F2944;

    /* Secondary colors */
    --rz-secondary: #6C757D;
    --rz-info: #0DCAF0;
    --rz-success: #198754;
    --rz-warning: #FFC107;
    --rz-danger: #DC3545;

    /* Background colors */
    --rz-base-background-color: #FFFFFF;
    --rz-base-100: #F8F9FA;
    --rz-base-200: var(--dp-accent);
    --rz-base-300: #DEE2E6;

    /* Text colors */
    --rz-text-color: #212529;
    --rz-text-secondary-color: #6C757D;

    /* Border */
    --rz-border-color: #DEE2E6;

    /* Spacing */
    --rz-border-radius: 6px;
}

/* Header Styling */
.rz-header {
    background: linear-gradient(135deg, var(--dp-primary-dark) 0%, var(--dp-primary) 100%) !important;
    box-shadow: 0 2px 8px rgba(27, 75, 126, 0.15);
}

.rz-sidebar {
    background-color: var(--rz-base-100);
    border-right: 1px solid var(--rz-border-color);
}

/* Logo in header */
.app-logo {
    height: 40px;
    width: auto;
    margin-left: 12px;
}

/* Sidebar menu items */
.rz-navigation-item {
    border-radius: var(--rz-border-radius);
    margin: 4px 8px;
}

.rz-navigation-item:hover {
    background-color: var(--dp-accent);
}

.rz-navigation-item.rz-navigation-item-active {
    background-color: var(--dp-primary);
    color: var(--dp-accent);
}

.rz-navigation-item.rz-navigation-item-active .rz-navigation-item-icon,
.rz-navigation-item.rz-navigation-item-active .rz-navigation-item-text {
    color: var(--dp-accent);
}

/* Cards with brand accent */
.card-accent {
    border-left: 4px solid var(--dp-primary);
}

/* Buttons */
.rz-button-primary {
    background-color: var(--dp-primary);
    border-color: var(--dp-primary);
}

.rz-button-primary:hover:not(:disabled) {
    background-color: var(--dp-primary-dark);
    border-color: var(--dp-primary-dark);
}

.rz-button-primary:active {
    background-color: var(--dp-primary-darker);
    border-color: var(--dp-primary-darker);
}

/* Data Grid Headers */
.rz-datatable .rz-datatable-thead {
    background-color: var(--dp-accent);
}

.rz-datatable .rz-datatable-thead th {
    color: var(--dp-primary);
    font-weight: 600;
}

/* Calendar specific styling */
.calendar-grid .day-header.today {
    background-color: var(--dp-primary);
    color: white;
}

.calendar-grid .time-slot.today {
    background-color: rgba(27, 75, 126, 0.05);
}

.calendar-grid .lesson-block {
    background-color: var(--dp-primary);
    border-left: 3px solid var(--dp-primary-dark);
}

/* Summary cards with brand colors */
.summary-card-primary {
    background: linear-gradient(135deg, var(--dp-primary) 0%, var(--dp-primary-light) 100%);
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(27, 75, 126, 0.2);
}

.summary-card-accent {
    background: linear-gradient(135deg, var(--dp-accent-dark) 0%, var(--dp-accent) 100%);
    color: var(--dp-primary);
    border: 1px solid var(--dp-accent-dark);
}

/* Badges with brand colors */
.rz-badge-primary {
    background-color: var(--dp-primary);
}

/* Progress bars */
.rz-progressbar-value {
    background-color: var(--dp-primary);
}

/* Form fields focus */
.rz-textbox:focus,
.rz-dropdown:focus,
.rz-datepicker:focus {
    border-color: var(--dp-primary);
    box-shadow: 0 0 0 0.2rem rgba(27, 75, 126, 0.25);
}

/* Panel menu styling */
.rz-panel-menu .rz-panel-menu-header {
    background-color: transparent;
    color: var(--rz-text-color);
}

.rz-panel-menu .rz-panel-menu-header:hover {
    background-color: var(--dp-accent);
}

.rz-panel-menu .rz-panel-menu-content {
    background-color: var(--rz-base-100);
}

/* Login page styling */
.login-container {
    background: var(--dp-primary);
    min-height: 100vh;
}

.login-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(27, 75, 126, 0.3);
}

.login-logo {
    max-width: 200px;
    margin: 0 auto 2rem;
}

/* Accent highlights */
.accent-border-left {
    border-left: 4px solid var(--dp-primary);
}

.accent-border-top {
    border-top: 4px solid var(--dp-primary);
}

/* Status badges with softer colors */
.rz-badge-success {
    background-color: #198754;
}

.rz-badge-warning {
    background-color: #FFC107;
    color: #000;
}

.rz-badge-danger {
    background-color: #DC3545;
}

.rz-badge-info {
    background-color: #0DCAF0;
    color: #000;
}

/* Sidebar toggle button */
.rz-sidebar-toggle {
    color: white;
}

/* Profile menu */
.rz-profile-menu {
    color: white;
}

/* Footer if needed */
.app-footer {
    background-color: var(--dp-accent);
    border-top: 1px solid var(--dp-accent-dark);
    color: var(--dp-primary);
    padding: 1rem;
    text-align: center;
    font-size: 0.875rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .app-logo {
        height: 28px;
    }
}

/* Animation for smooth transitions */
.rz-button,
.rz-navigation-item,
.calendar-grid .lesson-block {
    transition: all 0.2s ease-in-out;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--rz-base-100);
}

::-webkit-scrollbar-thumb {
    background: var(--dp-primary-light);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--dp-primary);
}
