/* ═══════════════════════════════════════════
   RADZEN OVERRIDES — Map Radzen to our design system
   ═══════════════════════════════════════════ */

/* ── Global Radzen Variables ── */
:root {
    --rz-base-background-color: var(--body-bg);
    --rz-base-color: var(--text-color);
    --rz-text-font-family: var(--font-family);
    --rz-text-font-size: var(--fs-base);

    /* Map Radzen's accent series onto our palette so component internals that read these
       vars directly follow the app colour instead of the material-base defaults (indigo
       primary, magenta secondary). The DatePicker's selected day and OK button use the
       SECONDARY accent. Resolves per-theme through --primary-accent. */
    --rz-primary: var(--primary-accent);
    --rz-primary-light: var(--primary-accent);
    --rz-primary-lighter: var(--focus-ring);
    --rz-primary-dark: var(--primary-accent-dark);
    --rz-primary-darker: var(--primary-accent-dark);

    --rz-secondary: var(--primary-accent);
    --rz-secondary-light: var(--primary-accent);
    --rz-secondary-lighter: var(--focus-ring);
    --rz-secondary-dark: var(--primary-accent-dark);
    --rz-secondary-darker: var(--primary-accent-dark);
}

/* ── Buttons ── */
.rz-button {
    font-family: var(--font-family);
    font-weight: 500;
    border-radius: var(--radius-sm);
    transition: all var(--transition-base);
}

.rz-button.rz-primary {
    background-color: var(--primary-accent);
    border-color: var(--primary-accent);
}

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

/* ── Inputs ── */
.rz-textbox,
.rz-dropdown,
.rz-inputtext {
    font-family: var(--font-family);
    border-radius: var(--radius-sm);
    border-color: var(--border-color);
    background-color: var(--card-bg);
    color: var(--text-color);
}

.rz-textbox:focus,
.rz-dropdown:focus-within,
.rz-inputtext:focus {
    border-color: var(--primary-accent);
    box-shadow: 0 0 0 3px var(--focus-ring);
}

/* ── Dialog ── */
.rz-dialog {
    border-radius: var(--radius-lg);
    background: var(--card-bg);
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--border-color);
}

.rz-dialog-titlebar {
    border-bottom: 1px solid var(--border-light);
    font-family: var(--font-family);
}

/* ── Notification ── */
.rz-notification {
    font-family: var(--font-family);
}

.rz-notification-item-wrapper {
    background-color: transparent !important;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.rz-notification-item-wrapper > .rz-progressbar {
    display: none !important;
}

.rz-notification-success .rz-notification-item {
    background-color: rgba(var(--success-rgb), 0.12) !important;
    border-left: 4px solid var(--success-color) !important;
}

.rz-notification-success .rz-notification-title {
    color: var(--success-color) !important;
}

.rz-notification-error .rz-notification-item {
    background-color: rgba(var(--error-rgb), 0.12) !important;
    border-left: 4px solid var(--error-color) !important;
}

.rz-notification-error .rz-notification-title {
    color: var(--error-color) !important;
}

.rz-notification-warn .rz-notification-item {
    background-color: rgba(var(--warning-rgb), 0.12) !important;
    border-left: 4px solid var(--warning-color) !important;
}

.rz-notification-warn .rz-notification-title {
    color: var(--warning-color) !important;
}

.rz-notification-info .rz-notification-item {
    background-color: rgba(var(--info-rgb, 123, 143, 162), 0.12) !important;
    border-left: 4px solid var(--info-color, #7B8FA2) !important;
}

.rz-notification-info .rz-notification-title {
    color: var(--info-color, #7B8FA2) !important;
}

/* ── Alert ── */
.rz-alert {
    border-radius: var(--radius-md);
    font-family: var(--font-family);
}

/* ── Tooltip ── */
.rz-tooltip {
    font-family: var(--font-family);
    font-size: var(--fs-xs);
    border-radius: var(--radius-sm);
    background: var(--text-color);
    color: var(--body-bg);
}

/* ── Icon ── */
.rz-icon {
    vertical-align: middle;
}

/* ── Progress ── */
.rz-progressbar-circular .rz-progressbar-value {
    stroke: var(--primary-accent);
}

/* ── Dark Theme Adjustments ── */
[data-theme="dark"] .rz-button.rz-primary {
    background-color: var(--primary-accent);
    border-color: var(--primary-accent);
}

[data-theme="dark"] .rz-textbox,
[data-theme="dark"] .rz-dropdown,
[data-theme="dark"] .rz-inputtext {
    background-color: var(--body-bg);
    border-color: var(--border-color);
    color: var(--text-color);
}

[data-theme="dark"] .rz-dialog {
    background: var(--card-bg);
    border-color: var(--border-color);
}

[data-theme="dark"] .rz-tooltip {
    background: var(--surface-light);
    color: var(--text-color);
}
