/* ScholaMate — global Radzen Material theme remap (loads after material-base.css) */

:root {
    /* Core palette → ScholaMate tokens */
    --rz-primary: #176b87;
    --rz-primary-light: #3d8aa3;
    --rz-primary-lighter: rgba(23, 107, 135, 0.12);
    --rz-primary-dark: #125a72;
    --rz-primary-darker: #0e4a5c;

    --rz-secondary: #5f8d4e;
    --rz-secondary-light: #7aa66c;
    --rz-secondary-lighter: rgba(95, 141, 78, 0.14);
    --rz-secondary-dark: #4d7340;
    --rz-secondary-darker: #3d5a33;

    /* Remap info from Material blue to brand teal */
    --rz-info: #176b87;
    --rz-info-light: #3d8aa3;
    --rz-info-lighter: rgba(23, 107, 135, 0.12);
    --rz-info-dark: #125a72;
    --rz-info-darker: #0e4a5c;

    --rz-success: #16a34a;
    --rz-success-light: #22c55e;
    --rz-success-lighter: rgba(22, 163, 74, 0.14);
    --rz-success-dark: #15803d;
    --rz-success-darker: #166534;

    --rz-warning: #f59e0b;
    --rz-warning-light: #fbbf24;
    --rz-warning-lighter: rgba(245, 158, 11, 0.14);
    --rz-warning-dark: #d97706;
    --rz-warning-darker: #b45309;

    --rz-danger: #dc2626;
    --rz-danger-light: #ef4444;
    --rz-danger-lighter: rgba(220, 38, 38, 0.12);
    --rz-danger-dark: #b91c1c;
    --rz-danger-darker: #991b1b;

    --rz-on-primary: #ffffff;
    --rz-on-info: #ffffff;
    --rz-on-success: #ffffff;
    --rz-on-warning: #ffffff;
    --rz-on-danger: #ffffff;
    --rz-on-secondary: #ffffff;

    --rz-outline-color: #176b87;
    --rz-border-radius: 0.5rem;

    /* Inputs */
    --rz-input-border: 1px solid #d8dee6;
    --rz-input-hover-border: 1px solid #b8c4d0;
    --rz-input-focus-border: 1px solid #176b87;
    --rz-input-focus-shadow: 0 0 0 2px rgba(23, 107, 135, 0.2);

    /* Checkboxes, radios, progress — use brand teal not default pink/blue */
    --rz-checkbox-checked-background-color: #176b87;
    --rz-checkbox-checked-hover-background-color: #125a72;
    --rz-checkbox-checked-color: #ffffff;
    --rz-radiobutton-checked-background-color: #176b87;
    --rz-radiobutton-checked-hover-background-color: #125a72;
    --rz-progressbar-value-background-color: #176b87;

    /* Links & selection highlights */
    --rz-link-color: #176b87;
    --rz-link-hover-color: #125a72;
}

/* ── Buttons ── */
.rz-button {
    border-radius: var(--app-radius);
    font-weight: 500;
}

/* Filled buttons only — do not override flat/outlined/text icon buttons */
.rz-button.rz-primary:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    color: #fff !important;
}

.rz-button.rz-primary:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):hover:not(:disabled),
.rz-button.rz-primary:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):active:not(:disabled) {
    background-color: #125a72 !important;
    border-color: #125a72 !important;
}

.rz-button.rz-info:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    color: #fff !important;
}

.rz-button.rz-info:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):hover:not(:disabled) {
    background-color: #125a72 !important;
    border-color: #125a72 !important;
}

.rz-button.rz-secondary:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--app-primary-light) !important;
    border-color: var(--app-primary-light) !important;
    color: #fff !important;
}

.rz-button.rz-secondary:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):hover:not(:disabled) {
    background-color: #4d7340 !important;
    border-color: #4d7340 !important;
}

.rz-button.rz-success:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--app-success) !important;
    border-color: var(--app-success) !important;
    color: #fff !important;
}

.rz-button.rz-success:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):hover:not(:disabled) {
    background-color: #15803d !important;
    border-color: #15803d !important;
}

.rz-button.rz-danger:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--app-danger) !important;
    border-color: var(--app-danger) !important;
    color: #fff !important;
}

.rz-button.rz-danger:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text):hover:not(:disabled) {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
}

.rz-button.rz-warning:not(.rz-variant-flat):not(.rz-variant-outlined):not(.rz-variant-text) {
    background-color: var(--rz-warning) !important;
    border-color: var(--rz-warning) !important;
    color: #fff !important;
}

.rz-button.rz-light:not(.rz-variant-flat) {
    border: 1px solid var(--app-border) !important;
    color: var(--app-text) !important;
    background: var(--app-surface) !important;
}

.rz-button.rz-light:not(.rz-variant-flat):hover:not(:disabled) {
    background: var(--app-background) !important;
    color: var(--app-primary) !important;
}

/* Flat / outlined icon & toolbar buttons */
.rz-button.rz-variant-flat::before,
.rz-button.rz-variant-outlined::before,
.rz-button.rz-variant-text::before {
    display: none !important;
}

.rz-button.rz-variant-flat.rz-danger,
.rz-button.rz-variant-text.rz-danger {
    background: transparent !important;
    border-color: transparent !important;
    color: var(--app-danger) !important;
    box-shadow: none !important;
}

.rz-button.rz-variant-flat.rz-danger:hover:not(:disabled),
.rz-button.rz-variant-text.rz-danger:hover:not(:disabled) {
    background: rgba(220, 38, 38, 0.08) !important;
    color: #b91c1c !important;
    box-shadow: none !important;
}

.rz-button.rz-variant-outlined.rz-primary,
.rz-button.rz-variant-outlined.rz-info {
    color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
    background: transparent !important;
}

.rz-button.rz-variant-text.rz-primary,
.rz-button.rz-variant-text.rz-info {
    color: var(--app-primary) !important;
    background: transparent !important;
}

/* ── Badges ── */
.rz-badge {
    border-radius: 999px;
    font-weight: 500;
}

.rz-badge.rz-badge-primary,
.rz-badge.rz-badge-info {
    background-color: var(--app-primary) !important;
    color: #fff !important;
}

.rz-badge.rz-badge-secondary {
    background-color: var(--app-primary-light) !important;
    color: #fff !important;
}

.rz-badge.rz-badge-success {
    background-color: var(--app-success) !important;
    color: #fff !important;
}

.rz-badge.rz-badge-danger {
    background-color: var(--app-danger) !important;
    color: #fff !important;
}

.rz-badge.rz-badge-warning {
    background-color: var(--rz-warning) !important;
    color: #fff !important;
}

.rz-badge.rz-badge-light {
    background-color: var(--app-background) !important;
    color: var(--app-text) !important;
    border: 1px solid var(--app-border);
}

/* ── Checkboxes & radios ── */
.rz-chkbox-box.rz-state-active {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
}

.rz-chkbox-box.rz-state-active:hover:not(.rz-state-disabled) {
    background-color: #125a72 !important;
    border-color: #125a72 !important;
}

.rz-radiobutton-box.rz-state-active {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
}

.rz-radiobutton-box.rz-state-active:hover:not(.rz-state-disabled) {
    background-color: #125a72 !important;
}

/* ── Inputs ── */
.rz-textbox,
.rz-dropdown,
.rz-datepicker,
.rz-textarea,
.rz-numeric,
.rz-multiselect,
.rz-colorpicker,
.rz-mask,
.rz-lookup-search input {
    border-radius: var(--app-radius) !important;
    border-color: var(--app-border) !important;
}

.rz-textbox:focus,
.rz-dropdown:focus-within,
.rz-datepicker:focus-within,
.rz-textarea:focus,
.rz-numeric:focus-within,
.rz-multiselect:focus-within {
    box-shadow: 0 0 0 2px rgba(23, 107, 135, 0.2) !important;
    border-color: var(--app-primary) !important;
}

.rz-form-field-content:focus-within {
    border-color: var(--app-primary) !important;
    box-shadow: 0 0 0 2px rgba(23, 107, 135, 0.15) !important;
}

/* ── Dropdown / list selection ── */
.rz-dropdown-item.rz-state-highlight,
.rz-dropdown-items li.rz-state-highlight,
.rz-multiselect-item.rz-state-highlight,
.rz-listbox-item.rz-state-highlight,
.rz-autocomplete-items li.rz-state-highlight {
    background-color: rgba(23, 107, 135, 0.1) !important;
    color: var(--app-primary) !important;
}

/* ── Data grid & pager ── */
.rz-datatable,
.rz-grid-table,
.rz-data-grid {
    border-radius: var(--app-radius);
}

.rz-datatable-data tr:hover td,
.rz-grid-table tbody tr:hover td,
.rz-data-row:hover td {
    background: rgba(23, 107, 135, 0.04) !important;
}

.rz-datatable-data tr.rz-state-highlight td,
.rz-grid-table tr.rz-state-highlight td,
.rz-data-row.rz-state-highlight td {
    background: rgba(23, 107, 135, 0.1) !important;
}

.rz-paginator-element.rz-state-active,
.rz-pager-element.rz-state-active {
    background-color: var(--app-primary) !important;
    color: #fff !important;
    border-color: var(--app-primary) !important;
}

.rz-column-picker-item.rz-state-highlight {
    background: rgba(23, 107, 135, 0.1) !important;
    color: var(--app-primary) !important;
}

/* ── Progress bars ── */
.rz-progressbar-value {
    background-color: var(--app-primary) !important;
}

.rz-progressbar-circular-value {
    stroke: var(--app-primary) !important;
}

/* ── Tabs ── */
.rz-tabview-nav li a.rz-tabview-selected {
    border-bottom-color: var(--app-primary) !important;
    color: var(--app-primary) !important;
}

.rz-tabview-nav li a:hover {
    color: var(--app-primary) !important;
}

/* ── Date picker ── */
.rz-datepicker-calendar td .rz-state-active,
.rz-datepicker-calendar td .rz-state-highlight {
    background-color: var(--app-primary) !important;
    color: #fff !important;
}

.rz-datepicker-calendar td .rz-state-active:hover {
    background-color: #125a72 !important;
}

/* ── Switch / slider ── */
.rz-switch.rz-switch-checked .rz-switch-circle {
    background-color: var(--app-primary) !important;
}

.rz-slider-handle {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
}

.rz-slider-range {
    background-color: var(--app-primary) !important;
}

/* ── Links ── */
.rz-link {
    color: var(--app-primary) !important;
}

.rz-link:hover {
    color: #125a72 !important;
}

/* ── Cards ── */
.rz-card {
    border-radius: var(--app-radius);
    border: 1px solid var(--app-border);
    box-shadow: none;
}

/* ── Notifications (toast) ── */
.rz-notification-item.rz-notification-info {
    border-left-color: var(--app-primary) !important;
}

.rz-notification-item.rz-notification-info .rz-notification-icon {
    color: var(--app-primary) !important;
}

/* ── Upload ── */
.rz-fileupload-buttonbar .rz-button.rz-primary {
    background-color: var(--app-primary) !important;
}

/* ── Steps / wizard ── */
.rz-steps .rz-steps-item.rz-state-highlight .rz-steps-number {
    background-color: var(--app-primary) !important;
    border-color: var(--app-primary) !important;
}

.rz-steps .rz-steps-item.rz-state-highlight .rz-steps-title {
    color: var(--app-primary) !important;
}

/* ── Rating ── */
.rz-rating .rzi.rz-state-active {
    color: var(--app-primary) !important;
}

/* ── Tree ── */
.rz-tree-toggler:hover {
    color: var(--app-primary) !important;
}

.rz-treenode-content.rz-state-highlight {
    background-color: rgba(23, 107, 135, 0.1) !important;
    color: var(--app-primary) !important;
}

/* ── Scheduler ── */
.rz-event {
    background-color: var(--app-primary) !important;
    border-color: #125a72 !important;
}

/* ── Focus rings app-wide ── */
.rz-button:focus-visible,
.rz-chkbox:focus-visible,
.rz-dropdown:focus-visible {
    outline-color: var(--app-primary) !important;
}
