/*
 * Telerik UI for Blazor 13.0.0 Compatibility
 *
 * In v13, FillMode/Rounded/Size/ThemeColor default to null instead of
 * solid/md/md/base. Components no longer emit default CSS classes, causing
 * buttons, inputs, and dropdowns to appear unstyled. This file restores
 * the old visual defaults for components without explicit appearance params.
 */

/* ===== Buttons: restore solid + base + md defaults ===== */
.k-button:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-base, #3d3d3d);
    background-color: var(--kendo-color-base, #f5f5f5);
}

.k-button:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-base, #3d3d3d);
    background-color: var(--kendo-color-base-hover, #ebebeb);
}

.k-button:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-on-app-surface, #3d3d3d) 8%, transparent);
}

.k-button:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-base, #3d3d3d);
    background-color: var(--kendo-color-base-active, #d6d6d6);
}

/* Restore md rounded for buttons without explicit rounded class */
.k-button:not([class*="k-rounded-"]) {
    border-radius: var(--kendo-border-radius-md, 0.25rem);
}

/* Restore md size for buttons without explicit size class */
.k-button:not([class*="k-button-sm"]):not([class*="k-button-md"]):not([class*="k-button-lg"]) {
    padding-block: var(--kendo-spacing-1, 0.25rem);
    padding-inline: var(--kendo-spacing-2, 0.5rem);
    font-size: var(--kendo-font-size, inherit);
    line-height: var(--kendo-line-height, normal);
}

/* ===== Buttons: restore solid themed colors when FillMode is null ===== */
/* In v13, ThemeColor still emits k-button-{color} but FillMode=null means
   no k-button-solid prefix, so k-button-solid-{color} rules don't match.
   Selectors must have higher specificity than the base rule above (0,6,0)
   so we use .k-button-{color} + all 5 :not() selectors = (0,7,0). */

/* Primary */
.k-button.k-button-primary:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-primary, #1274AC);
    color: var(--kendo-color-on-primary, white);
    background-color: var(--kendo-color-primary, #1274AC);
}
.k-button.k-button-primary:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-primary-hover, #116fa5);
    color: var(--kendo-color-on-primary, white);
    background-color: var(--kendo-color-primary-hover, #116fa5);
}
.k-button.k-button-primary:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-primary-active, #106697);
    color: var(--kendo-color-on-primary, white);
    background-color: var(--kendo-color-primary-active, #106697);
}
.k-button.k-button-primary:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-primary, #1274AC) 30%, transparent);
}

/* Success */
.k-button.k-button-success:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-success, #278200);
    color: var(--kendo-color-on-success, white);
    background-color: var(--kendo-color-success, #278200);
}
.k-button.k-button-success:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-success-hover, #257d00);
    color: var(--kendo-color-on-success, white);
    background-color: var(--kendo-color-success-hover, #257d00);
}
.k-button.k-button-success:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-success-active, #1f6b00);
    color: var(--kendo-color-on-success, white);
    background-color: var(--kendo-color-success-active, #1f6b00);
}
.k-button.k-button-success:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-success, #278200) 30%, transparent);
}

/* Warning */
.k-button.k-button-warning:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-warning, #F5A600);
    color: var(--kendo-color-on-warning, white);
    background-color: var(--kendo-color-warning, #F5A600);
}
.k-button.k-button-warning:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-warning-hover, #eb9f00);
    color: var(--kendo-color-on-warning, white);
    background-color: var(--kendo-color-warning-hover, #eb9f00);
}
.k-button.k-button-warning:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-warning-active, #d99300);
    color: var(--kendo-color-on-warning, white);
    background-color: var(--kendo-color-warning-active, #d99300);
}
.k-button.k-button-warning:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-warning, #F5A600) 30%, transparent);
}

/* Error */
.k-button.k-button-error:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-error, #D51923);
    color: var(--kendo-color-on-error, white);
    background-color: var(--kendo-color-error, #D51923);
}
.k-button.k-button-error:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-error-hover, #cc1822);
    color: var(--kendo-color-on-error, white);
    background-color: var(--kendo-color-error-hover, #cc1822);
}
.k-button.k-button-error:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-error-active, #b8151f);
    color: var(--kendo-color-on-error, white);
    background-color: var(--kendo-color-error-active, #b8151f);
}
.k-button.k-button-error:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-error, #D51923) 30%, transparent);
}

/* Info */
.k-button.k-button-info:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]) {
    border-color: var(--kendo-color-info, #0058E9);
    color: var(--kendo-color-on-info, white);
    background-color: var(--kendo-color-info, #0058E9);
}
.k-button.k-button-info:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):hover {
    border-color: var(--kendo-color-info-hover, #0054e0);
    color: var(--kendo-color-on-info, white);
    background-color: var(--kendo-color-info-hover, #0054e0);
}
.k-button.k-button-info:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):active {
    border-color: var(--kendo-color-info-active, #004dce);
    color: var(--kendo-color-on-info, white);
    background-color: var(--kendo-color-info-active, #004dce);
}
.k-button.k-button-info:not([class*="k-button-solid"]):not([class*="k-button-flat"]):not([class*="k-button-outline"]):not([class*="k-button-clear"]):not([class*="k-button-link"]):focus {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-info, #0058E9) 30%, transparent);
}

/* ===== Inputs: restore solid defaults ===== */
.k-input:not([class*="k-input-solid"]):not([class*="k-input-flat"]):not([class*="k-input-outline"]) {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-app-surface, #3d3d3d);
    background-color: var(--kendo-color-surface-alt, #ffffff);
}

.k-input:not([class*="k-input-solid"]):not([class*="k-input-flat"]):not([class*="k-input-outline"]):hover {
    border-color: var(--kendo-color-border-alt, rgba(0, 0, 0, 0.16));
}

.k-input:not([class*="k-input-solid"]):not([class*="k-input-flat"]):not([class*="k-input-outline"]):focus-within {
    border-color: var(--kendo-color-border-alt, rgba(0, 0, 0, 0.16));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-on-app-surface, #3d3d3d) 8%, transparent);
}

/* Restore md rounded for inputs */
.k-input:not([class*="k-rounded-"]) {
    border-radius: var(--kendo-border-radius-md, 0.25rem);
}

/* ===== Pickers/Dropdowns: restore solid defaults ===== */
.k-picker:not([class*="k-picker-solid"]):not([class*="k-picker-flat"]):not([class*="k-picker-outline"]) {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-base, #3d3d3d);
    background-color: var(--kendo-color-base, #f5f5f5);
}

.k-picker:not([class*="k-picker-solid"]):not([class*="k-picker-flat"]):not([class*="k-picker-outline"]):hover {
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
    color: var(--kendo-color-on-base, #3d3d3d);
    background-color: var(--kendo-color-base-hover, #ebebeb);
}

.k-picker:not([class*="k-picker-solid"]):not([class*="k-picker-flat"]):not([class*="k-picker-outline"]):focus-within {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--kendo-color-on-app-surface, #3d3d3d) 8%, transparent);
}

/* Restore md rounded for pickers */
.k-picker:not([class*="k-rounded-"]) {
    border-radius: var(--kendo-border-radius-md, 0.25rem);
}

/* ===== Premium button enhancements ===== */

/* Subtle shadow and smooth transitions for all solid buttons */
.k-button.k-button-solid {
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
    font-weight: 500;
    letter-spacing: 0.01em;
}

.k-button.k-button-solid:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.k-button.k-button-solid:active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    transform: translateY(0);
}

/* Themed solid buttons get deeper colored shadows */
.k-button.k-button-solid.k-button-solid-primary {
    box-shadow: 0 2px 4px color-mix(in srgb, var(--kendo-color-primary, #1274AC) 30%, transparent);
}
.k-button.k-button-solid.k-button-solid-primary:hover {
    box-shadow: 0 4px 8px color-mix(in srgb, var(--kendo-color-primary, #1274AC) 40%, transparent);
}

.k-button.k-button-solid.k-button-solid-success {
    box-shadow: 0 2px 4px color-mix(in srgb, var(--kendo-color-success, #278200) 30%, transparent);
}
.k-button.k-button-solid.k-button-solid-success:hover {
    box-shadow: 0 4px 8px color-mix(in srgb, var(--kendo-color-success, #278200) 40%, transparent);
}

.k-button.k-button-solid.k-button-solid-warning {
    box-shadow: 0 2px 4px color-mix(in srgb, var(--kendo-color-warning, #F5A600) 30%, transparent);
}
.k-button.k-button-solid.k-button-solid-warning:hover {
    box-shadow: 0 4px 8px color-mix(in srgb, var(--kendo-color-warning, #F5A600) 40%, transparent);
}

.k-button.k-button-solid.k-button-solid-error {
    box-shadow: 0 2px 4px color-mix(in srgb, var(--kendo-color-error, #D51923) 30%, transparent);
}
.k-button.k-button-solid.k-button-solid-error:hover {
    box-shadow: 0 4px 8px color-mix(in srgb, var(--kendo-color-error, #D51923) 40%, transparent);
}

.k-button.k-button-solid.k-button-solid-info {
    box-shadow: 0 2px 4px color-mix(in srgb, var(--kendo-color-info, #0058E9) 30%, transparent);
}
.k-button.k-button-solid.k-button-solid-info:hover {
    box-shadow: 0 4px 8px color-mix(in srgb, var(--kendo-color-info, #0058E9) 40%, transparent);
}

/* Grid action buttons: smaller, no shadow lift */
.k-grid .k-button.k-button-solid {
    box-shadow: none;
}
.k-grid .k-button.k-button-solid:hover {
    transform: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* ===== Navigation drawer section headers ===== */
.k-drawer-items .k-drawer-separator {
    margin-top: 12px;
    margin-bottom: 2px;
    padding: 8px 16px 4px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.k-drawer-items .k-drawer-separator:first-child {
    margin-top: 4px;
    border-top: none;
}

.k-drawer-items .k-drawer-separator .k-item-text {
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--kendo-color-primary, #1274AC);
    opacity: 0.85;
}
