/* Telerik Theme Overrides to Match Bootstrap Keen Theme */

/* ===========================
   BUTTON OVERRIDES
   =========================== */

/* Primary Button */
.k-button-solid-primary,
.k-button.k-button-solid.k-button-solid-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
    font-weight: 500;
    border-radius: 0.475rem;
    padding: 0.575rem 1.5rem;
    font-size: 1.075rem;
}

.k-button-solid-primary:hover,
.k-button.k-button-solid.k-button-solid-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    opacity: 0.85;
}

/* Light Primary Button (btn-light-primary) */
.k-button.k-button-flat-primary,
.k-button.k-button-outline-primary {
    background-color: var(--bs-primary-bg-subtle);
    border-color: transparent;
    color: var(--bs-primary);
    font-weight: 500;
    border-radius: 0.475rem;
    padding: 0.575rem 1.5rem;
    font-size: 1.075rem;
}

.k-button.k-button-flat-primary:hover,
.k-button.k-button-outline-primary:hover {
    background-color: var(--bs-primary);
    color: #fff;
}

/* Light Button (btn-light) */
.k-button.k-button-flat,
.k-button.k-button-flat-base {
    background-color: var(--bs-gray-100);
    border-color: transparent;
    color: var(--bs-gray-800);
    font-weight: 500;
    border-radius: 0.475rem;
    padding: 0.575rem 1.5rem;
    font-size: 1.075rem;
}

.k-button.k-button-flat:hover,
.k-button.k-button-flat-base:hover {
    background-color: var(--bs-gray-200);
    color: var(--bs-primary);
}

/* Small Buttons */
.k-button-sm,
.k-button.k-button-sm {
    padding: 0.425rem 1rem;
    font-size: 0.925rem;
}

/* Icon Buttons */
.k-button-icon,
.k-button.k-button-icon {
    border-radius: 0.475rem;
}

/* ===========================
   CHIP/BADGE OVERRIDES
   =========================== */

/* Telerik Chip as Badge */
.k-chip,
.k-chip-solid {
    border-radius: 0.475rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.85rem;
    font-weight: 500;
}

/* Light Badge (badge-light) */
.k-chip-solid.k-chip-solid-base,
.k-chip.k-chip-base {
    background-color: var(--bs-gray-100);
    color: var(--bs-gray-700);
    border: none;
}

/* Success Badge (badge-light-success) */
.k-chip-solid.k-chip-solid-success,
.k-chip.k-chip-success {
    background-color: var(--bs-success-bg-subtle);
    color: var(--bs-success);
    border: none;
}

/* Primary Badge (badge-light-primary) */
.k-chip-solid.k-chip-solid-primary,
.k-chip.k-chip-primary {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
    border: none;
}

/* Danger Badge (badge-light-danger) */
.k-chip-solid.k-chip-solid-error,
.k-chip.k-chip-error {
    background-color: var(--bs-danger-bg-subtle);
    color: var(--bs-danger);
    border: none;
}

/* Info Badge (badge-light-info) */
.k-chip-solid.k-chip-solid-info,
.k-chip.k-chip-info {
    background-color: var(--bs-info-bg-subtle);
    color: var(--bs-info);
    border: none;
}

/* Warning Badge (badge-light-warning) */
.k-chip-solid.k-chip-solid-warning,
.k-chip.k-chip-warning {
    background-color: var(--bs-warning-bg-subtle);
    color: var(--bs-warning);
    border: none;
}

/* ===========================
   GRID/TABLE OVERRIDES
   =========================== */

/* Grid Container */
.k-grid {
    border: none;
    background-color: transparent;
    font-size: 1rem;
    width: 100%;
}

/* Prevent grid columns from shrinking too much on mobile */
.k-grid-header-wrap,
.k-grid-content {
    overflow-x: auto !important;
}

.k-grid table {
    table-layout: auto;
}

/* Grid Header */
.k-grid-header {
    background-color: transparent;
    border-bottom: 1px solid var(--bs-gray-300);
}

.k-grid-header .k-table-th {
    background-color: transparent;
    border: none;
    color: var(--bs-gray-500);
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 1rem 0.75rem;
}

/* Grid Rows */
.k-grid .k-table-tbody .k-table-row {
    border-bottom: 1px dashed var(--bs-gray-300);
}

.k-grid .k-table-tbody .k-table-row:hover {
    background-color: var(--bs-gray-100);
}

.k-grid .k-table-td {
    padding: 0.75rem 0.75rem;
    border: none;
    color: var(--bs-gray-600);
    font-weight: 500;
    line-height: 1.5;
}

/* Grid Alt Rows */
.k-grid .k-table-tbody .k-table-row.k-alt {
    background-color: transparent;
}

/* Grid Selection */
.k-grid .k-table-row.k-selected {
    background-color: var(--bs-primary-bg-subtle);
}

/* ===========================
   TEXTBOX/INPUT OVERRIDES
   =========================== */

/* Telerik TextBox */
.k-input,
.k-textbox,
.k-input-inner,
.k-input-solid .k-input-inner {
    background-color: var(--bs-gray-100);
    border: 1px solid transparent;
    border-radius: 0.475rem;
    color: var(--bs-gray-800);
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    min-height: auto;
}

.k-input:focus,
.k-textbox:focus,
.k-input-inner:focus,
.k-input-solid .k-input-inner:focus,
.k-focus .k-input-inner {
    background-color: var(--bs-gray-100);
    border-color: var(--bs-primary);
    box-shadow: none;
}

/* Telerik ComboBox/DropDownList */
.k-picker,
.k-dropdown,
.k-combobox,
.k-dropdownlist {
    background-color: var(--bs-gray-100);
    border: 1px solid transparent;
    border-radius: 0.475rem;
}

.k-picker .k-input-inner,
.k-dropdown .k-input-inner,
.k-combobox .k-input-inner,
.k-dropdownlist .k-input-inner {
    background-color: transparent;
    border: none;
    color: var(--bs-gray-800);
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    min-height: auto;
}

.k-picker:focus,
.k-dropdown:focus,
.k-combobox:focus,
.k-dropdownlist:focus,
.k-focus.k-picker,
.k-focus.k-dropdown {
    background-color: var(--bs-gray-100);
    border-color: var(--bs-primary);
    box-shadow: none;
}

/* ===========================
   GRID FILTER OVERRIDES
   =========================== */

/* Filter Row Inputs */
.k-grid .k-filter-row .k-textbox,
.k-grid .k-filter-row .k-input,
.k-grid .k-filter-row .k-picker,
.k-grid .k-filter-row .k-dropdown {
    background-color: var(--bs-gray-100);
    border: 1px solid transparent;
    border-radius: 0.475rem;
}

.k-grid .k-filter-row .k-input-inner {
    background-color: transparent;
    padding: 0.4rem 0.65rem;
    font-size: 0.95rem;
    line-height: 1.5;
    min-height: auto;
}

/* Filter Menu */
.k-grid-filter-menu {
    border-radius: 0.475rem;
}

/* ===========================
   PAGER OVERRIDES
   =========================== */

.k-pager {
    background-color: transparent;
    border: none;
    padding: 1.5rem 0;
}

.k-pager .k-button {
    border-radius: 0.475rem;
}

/* ===========================
   CHECKBOX OVERRIDES
   =========================== */

.k-checkbox {
    border-radius: 0.375rem;
    border: 1px solid var(--bs-gray-400);
}

.k-checkbox:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* ===========================
   WINDOW/DIALOG OVERRIDES
   =========================== */

.k-window,
.k-dialog {
    border-radius: 0.625rem;
    box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075);
}

.k-window-title,
.k-dialog-title {
    font-weight: 600;
    font-size: 1.25rem;
    color: var(--bs-gray-900);
}

.k-window-content,
.k-dialog-content {
    padding: 1.5rem;
}

/* ===========================
   TOOLTIP OVERRIDES
   =========================== */

.k-tooltip {
    border-radius: 0.475rem;
    font-size: 0.925rem;
}

/* ===========================
   WIZARD OUTLINE OVERRIDES
   =========================== */

.k-wizard .k-wizard-content,
.k-wizard .k-wizard-steps,
.k-wizard .k-wizard-step {
    outline: none !important;
    box-shadow: none !important;
}
