/* ═══════════════════════════════════════════════════════════════
   TELERIK UI FOR BLAZOR - FYISOFT BRAND OVERRIDES
   ═══════════════════════════════════════════════════════════════

   This file overrides Telerik default theme colors to match
   FYISoft branding (#80C936 primary green).

   All overrides use !important to ensure precedence over default
   Telerik theme styles.

   ═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   TELERIK BUTTON OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-button {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
}

.k-button:hover {
    background-color: var(--color-primary-hover) !important;
    border-color: var(--color-primary-hover) !important;
}

.k-button:focus,
.k-button.k-focus {
    box-shadow: 0 0 0 3px rgba(128, 201, 54, 0.2) !important;
    border-color: var(--color-primary) !important;
}

.k-button:active,
.k-button.k-active {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
}

.k-button:disabled,
.k-button.k-disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Primary button variant */
.k-button-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
}

.k-button-primary:hover {
    background-color: var(--color-primary-hover) !important;
}

.k-button-primary:active {
    background-color: var(--color-primary-dark) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK INPUT OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-input,
.k-input-inner {
    border-color: var(--color-border-default) !important;
}

.k-input:focus,
.k-input.k-focus,
.k-input-inner:focus {
    border-color: var(--color-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(128, 201, 54, 0.1) !important;
}

.k-input:hover,
.k-input-inner:hover {
    border-color: var(--color-border-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK SELECT/DROPDOWN OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-select {
    border-color: var(--color-border-default) !important;
}

.k-select:focus,
.k-select.k-focus {
    border-color: var(--color-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(128, 201, 54, 0.1) !important;
}

.k-select-item.k-selected,
.k-list-item.k-selected {
    background-color: var(--color-bg-primary-light) !important;
    color: var(--color-primary) !important;
}

.k-select-item:hover,
.k-list-item:hover {
    background-color: var(--color-bg-primary-subtle) !important;
}

.k-select-item.k-selected:hover,
.k-list-item.k-selected:hover {
    background-color: var(--color-bg-primary-light) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK TABLE/GRID OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-table tbody > tr:hover,
.k-grid tbody > tr:hover {
    background-color: var(--color-bg-light) !important;
}

.k-table tr.k-state-selected,
.k-table tr.k-selected,
.k-grid tr.k-state-selected,
.k-grid tr.k-selected {
    background-color: var(--color-bg-primary-light) !important;
    color: var(--color-primary) !important;
}

.k-table tr.k-state-selected:hover,
.k-grid tr.k-state-selected:hover {
    background-color: var(--color-bg-primary-light) !important;
}

.k-table th,
.k-grid th {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-border-light) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK POPUP/MODAL OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-popup {
    border-color: var(--color-border-default) !important;
    box-shadow: var(--shadow-md) !important;
}

.k-overlay {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.k-dialog,
.k-window {
    border-color: var(--color-border-default) !important;
    box-shadow: var(--shadow-lg) !important;
}

.k-dialog-titlebar,
.k-window-titlebar {
    background-color: var(--color-bg-light) !important;
    border-bottom: 2px solid var(--color-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK SLIDER/DATEPICKER OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-slider-horizontal .k-slider-selection,
.k-progressbar .k-selected {
    background-color: var(--color-primary) !important;
}

.k-slider-horizontal .k-draghandle {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.k-slider-horizontal .k-draghandle:hover {
    background-color: var(--color-primary-hover) !important;
}

.k-datepicker .k-calendar .k-selected,
.k-calendar .k-today.k-selected {
    background-color: var(--color-primary) !important;
    color: white !important;
}

.k-datepicker .k-calendar .k-today {
    border-color: var(--color-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK CHECKBOX/RADIO OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-checkbox:checked,
.k-radio:checked {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.k-checkbox:focus,
.k-radio:focus {
    box-shadow: 0 0 0 3px rgba(128, 201, 54, 0.2) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK TABS OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-tabstrip .k-item.k-selected,
.k-tabstrip .k-item.k-active {
    border-bottom-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
}

.k-tabstrip .k-item:hover {
    color: var(--color-primary) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK NOTIFICATION OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

.k-notification-success {
    background-color: var(--color-success) !important;
    color: white !important;
}

.k-notification-warning {
    background-color: var(--color-warning) !important;
    color: var(--color-text-primary) !important;
}

.k-notification-error {
    background-color: var(--color-error) !important;
    color: white !important;
}

.k-notification-info {
    background-color: var(--color-info) !important;
    color: white !important;
}

/* ═══════════════════════════════════════════════════════════════
   TELERIK WINDOW CENTERING & CONSTRAINTS
   ═══════════════════════════════════════════════════════════════ */

.centered-window.k-window {
    transform: translateX(-50%);
    max-height: calc(100vh - 110px);
}

.centered-window.k-window .k-window-content {
    max-height: calc(100vh - 180px);
    overflow-y: auto;
}

.window-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border-light);
}
