﻿.su-btn.rz-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-transform: none !important;
    letter-spacing: normal;
    /* Radzen outlined buttons use inset box-shadow as a border; we use a real border instead. */
    box-sizing: border-box;
}

.su-btn.rz-button:disabled,
.su-btn.rz-button.rz-state-disabled {
    /* Radzen default is 0.2 — too faint and makes disabled actions look unpadded/collapsed. */
    opacity: 1 !important;
    cursor: not-allowed;
    color: var(--su-muted, #94a3b8) !important;
    border-color: var(--su-border, #dce4ef) !important;
    background-color: #f1f5f9 !important;
    box-shadow: none !important;
    filter: none;
}

.su-btn.rz-button.rz-variant-outlined:disabled,
.su-btn.rz-button.rz-variant-outlined.rz-state-disabled,
.su-btn.su-btn--download.rz-button:disabled,
.su-btn.su-btn--download.rz-button.rz-state-disabled {
    color: var(--su-muted, #94a3b8) !important;
    border-color: var(--su-border, #dce4ef) !important;
    background-color: #f1f5f9 !important;
}

.su-btn.rz-button .rz-button-text,
.su-btn__text {
    text-transform: none !important;
    line-height: 1.2;
}

.su-btn__icon {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    line-height: 0;
}

.su-btn__icon svg {
    width: 100%;
    height: 100%;
}

.su-btn--icon-only.rz-button {
    padding-inline: 0.55rem;
}

.su-btn-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    z-index: 19;
    bottom: -2rem !important;
    padding: 1.5rem 2rem;
    margin: -1rem -1.25rem;
}

.su-btn-big__border-radius,
.su-btn.su-btn--big.rz-button {
    border-radius: 10px !important;
}

.su-btn-small__border-radius,
.su-btn.su-btn--small.rz-button {
    border-radius: 10px !important;
}

/* Primary flat uses shared orange */
.su-btn.rz-button.rz-primary.rz-variant-flat {
    background-color: var(--su-primary) !important;
    border: 1px solid var(--su-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.su-btn.rz-button.rz-primary.rz-variant-flat:hover:not(:disabled):not(.rz-state-disabled) {
    filter: brightness(0.95);
}

/* Outlined — real border (Radzen defaults to border:none + inset box-shadow) */
.su-btn.rz-button.rz-variant-outlined {
    border-style: solid !important;
    border-width: 1px !important;
    box-shadow: none !important;
}

/* Secondary outlined uses shared navy */
.su-btn.rz-button.rz-secondary.rz-variant-outlined {
    color: var(--su-secondary) !important;
    border-color: var(--su-secondary) !important;
    background-color: transparent !important;
}

.su-btn.rz-button.rz-secondary.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    background-color: color-mix(in srgb, var(--su-secondary) 8%, transparent) !important;
}

/* View — light gray-blue fill */
.su-btn.su-btn--view.rz-button.rz-secondary.rz-variant-outlined {
    color: var(--su-view) !important;
    border-color: var(--su-view-border) !important;
    background-color: var(--su-view-bg) !important;
}

.su-btn.su-btn--view.rz-button.rz-secondary.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    color: var(--su-view) !important;
    border-color: color-mix(in srgb, var(--su-view-border) 55%, var(--su-view)) !important;
    background-color: var(--su-view-hover) !important;
}

/* Edit — soft navy fill */
.su-btn.su-btn--edit.rz-button.rz-secondary.rz-variant-outlined {
    color: var(--su-edit) !important;
    border-color: var(--su-edit-border) !important;
    background-color: var(--su-edit-bg) !important;
}

.su-btn.su-btn--edit.rz-button.rz-secondary.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    color: var(--su-edit) !important;
    border-color: color-mix(in srgb, var(--su-edit-border) 55%, var(--su-edit)) !important;
    background-color: var(--su-edit-hover) !important;
}

/* Download — soft teal fill */
.su-btn.su-btn--download.rz-button.rz-secondary.rz-variant-outlined {
    color: var(--su-download) !important;
    border-color: var(--su-download-border) !important;
    background-color: var(--su-download-bg) !important;
}

.su-btn.su-btn--download.rz-button.rz-secondary.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    color: var(--su-download) !important;
    border-color: color-mix(in srgb, var(--su-download-border) 55%, var(--su-download)) !important;
    background-color: var(--su-download-hover) !important;
}

/* Danger flat uses shared crimson (not brand orange) */
.su-btn.rz-button.rz-danger.rz-variant-flat {
    background-color: var(--su-danger) !important;
    border: 1px solid var(--su-danger) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.su-btn.rz-button.rz-danger.rz-variant-flat:hover:not(:disabled):not(.rz-state-disabled) {
    background-color: var(--su-danger-dark) !important;
    border-color: var(--su-danger-dark) !important;
    filter: none;
}

.su-btn.rz-button.rz-danger.rz-variant-outlined {
    color: var(--su-danger) !important;
    border-color: var(--su-danger) !important;
    background-color: transparent !important;
}

.su-btn.rz-button.rz-danger.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    background-color: var(--su-danger-soft) !important;
}

/* Delete — soft crimson (overrides solid danger for clearer table actions) */
.su-btn.su-btn--delete.rz-button.rz-danger.rz-variant-flat,
.su-btn.su-btn--delete.rz-button.rz-danger.rz-variant-outlined {
    color: var(--su-delete) !important;
    border: 1px solid var(--su-delete-border) !important;
    background-color: var(--su-delete-bg) !important;
    box-shadow: none !important;
}

.su-btn.su-btn--delete.rz-button.rz-danger.rz-variant-flat:hover:not(:disabled):not(.rz-state-disabled),
.su-btn.su-btn--delete.rz-button.rz-danger.rz-variant-outlined:hover:not(:disabled):not(.rz-state-disabled) {
    color: var(--su-delete) !important;
    border-color: color-mix(in srgb, var(--su-delete-border) 45%, var(--su-delete)) !important;
    background-color: var(--su-delete-hover) !important;
    filter: none;
}

/* Search-bar primary action sizing */
.su-table-search-panel__btn-primary.su-btn.rz-button,
.tc-table-search-panel__btn-primary.su-btn.rz-button {
    min-width: 8.5rem;
    width: 100%;
}

@media (min-width: 640px) {
    .su-table-search-panel__btn-primary.su-btn.rz-button,
    .tc-table-search-panel__btn-primary.su-btn.rz-button {
        width: auto;
    }
}

/* Native HTML buttons for MVC pages (no Radzen). */
button.su-btn:not(.rz-button),
a.su-btn:not(.rz-button),
input.su-btn:not(.rz-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    box-sizing: border-box;
    border-radius: 10px;
    border: 1px solid transparent;
    padding: 0.55rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    background: transparent;
    color: inherit;
}

button.su-btn--small:not(.rz-button),
a.su-btn--small:not(.rz-button) {
    min-height: 2rem;
    padding: 0.25rem 0.65rem;
    font-size: 0.8125rem;
}

button.su-btn--primary:not(.rz-button),
a.su-btn--primary:not(.rz-button) {
    background-color: var(--su-primary, #f35930);
    border-color: var(--su-primary, #f35930);
    color: #fff;
}

button.su-btn--primary:not(.rz-button):hover,
a.su-btn--primary:not(.rz-button):hover {
    filter: brightness(0.95);
}

button.su-btn--secondary:not(.rz-button),
a.su-btn--secondary:not(.rz-button) {
    color: var(--su-secondary, #54679B);
    border-color: var(--su-secondary, #54679B);
    background-color: transparent;
}

button.su-btn--secondary:not(.rz-button):hover,
a.su-btn--secondary:not(.rz-button):hover {
    background-color: color-mix(in srgb, var(--su-secondary, #54679B) 8%, transparent);
}

button.su-btn--edit:not(.rz-button),
a.su-btn--edit:not(.rz-button) {
    color: var(--su-edit, #3d4f7a);
    border-color: var(--su-edit-border, #c8d0e4);
    background-color: var(--su-edit-bg, #eef1f8);
}

button.su-btn--edit:not(.rz-button):hover,
a.su-btn--edit:not(.rz-button):hover {
    background-color: var(--su-edit-hover, #e0e6f2);
}

button.su-btn--view:not(.rz-button),
a.su-btn--view:not(.rz-button) {
    color: var(--su-view, #4a5f73);
    border-color: var(--su-view-border, #c5d0de);
    background-color: var(--su-view-bg, #e8eef5);
}

button.su-btn--view:not(.rz-button):hover,
a.su-btn--view:not(.rz-button):hover {
    background-color: var(--su-view-hover, #d5e0ec);
}

button.su-btn--delete:not(.rz-button),
a.su-btn--delete:not(.rz-button) {
    color: var(--su-delete, #c41e12);
    border-color: var(--su-delete-border, #f0c2be);
    background-color: var(--su-delete-bg, #fef2f1);
}

button.su-btn--delete:not(.rz-button):hover,
a.su-btn--delete:not(.rz-button):hover {
    background-color: var(--su-delete-hover, #fde4e1);
}
