﻿* {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
}

/* El documento ocupa el alto del viewport pero SIN scroll global */
html, body {
    height: 100%;
}

body {
    overflow: hidden;
    background: none;
}

/* El contenedor de Radzen ocupa todo el viewport y no hace scroll */
.rz-layout {
    height: 100vh;
    overflow: hidden;
}

    /* El scroll vive dentro del área de contenido */
    .rz-layout .rz-body {
        overflow-y: auto;
        scrollbar-gutter: stable; /* reserva el espacio del scroll */
    }

/* si quieres que siempre reserva ambos lados en mac/overlay */
@supports (scrollbar-gutter: stable) {
    .rz-layout .rz-body {
        scrollbar-gutter: stable both-edges;
    }
}

input, textarea, select {
    font-size: 16px;
}

:focus-visible {
    outline: none;
}

.rz-state-disabled.rz-menuitem, .rz-state-disabled.rz-autocomplete-list-item, .rz-state-disabled.rz-multiselect-item, .rz-autocomplete-items li.rz-state-disabled, .rz-dropdown-items li.rz-state-disabled, .rz-multiselect-items li.rz-state-disabled, .rz-dropdown-item.rz-state-disabled {
    cursor: default;
}

.rz-dropdown {
    height: 34px;
}

/*Custom Scrollbar*/
*::-webkit-scrollbar {
    background-color: #f2f2f2;
    width: 16px;
}

*::-webkit-scrollbar-track {
    background-color: #f2f2f2;
}

*::-webkit-scrollbar-thumb {
    background-color: #babac0;
    border-radius: 16px;
    border: 4px solid #f2f2f2;
}

*::-webkit-scrollbar-button {
    display: none;
}


.rz-layout {
    background-color: #e2e2e2;
}

.rz-data-row {
    height: 55px;
}

.rz-notification {
    top: 10px !important;
}

.rz-datatable-data td .rz-cell-data, .rz-grid-table td .rz-cell-data {
    opacity: 0.9;
}

.dialog-danger .rz-primary {
    background-color: #f44336 !important;
    color: white;
}

.dialog-warning .rz-primary {
    background-color: #ff9800 !important;
    color: white;
}

.rz-menuitem .rz-menuitem-link {
    display: inline-flex;
    align-items: end;
}

.rz-dropdown-clear-icon {
    color: black;
}

/* Desactiva el “accent” solo en los FormField que tengan .no-accent */
.rz-form-field.no-accent:hover .rz-form-field-content,
.rz-form-field.no-accent.rz-state-focused .rz-form-field-content {
    box-shadow: none !important;
    background-color: var(--rz-input-background-color) !important;
    border: var(--rz-input-border) !important;
    border-block-end: var(--rz-input-border) !important;
}

/* (Opcional) si en ese FormField usas inputs de Radzen, cúbrelos también */
.rz-form-field.no-accent:hover .rz-textbox,
.rz-form-field.no-accent.rz-state-focused .rz-textbox,
.rz-form-field.no-accent:hover .rz-textarea,
.rz-form-field.no-accent.rz-state-focused .rz-textarea,
.rz-form-field.no-accent:hover .rz-dropdown,
.rz-form-field.no-accent.rz-state-focused .rz-dropdown {
    box-shadow: none !important;
    background-color: var(--rz-input-background-color) !important;
    border: var(--rz-input-border) !important;
}

.rz-form-field.no-accent:hover .rz-textbox,
.rz-form-field.no-accent.rz-state-focused .rz-textbox {
    box-shadow: none !important; /* sin glow */
    outline: none !important; /* sin outline externo */
    border-color: transparent !important; /* oculta el borde sin mover layout */
}

/* Estado base: mantiene el ancho de borde pero invisible → sin saltos */
.rz-form-field.no-accent .rz-textbox,
.rz-form-field.no-accent .rz-textarea,
.rz-form-field.no-accent .rz-dropdown {
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

/* Overlay: ocupa todo el grid, bloquea interacción y da un leve “frost”. */
.rz-datatable-loading {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.03) !important;
    opacity: 0;
    z-index: 999;
    pointer-events: auto;
}

/* Card tipo “pill” en esquina superior derecha, con colores corporativos */
.rz-datatable-loading-content {
    position: fixed;
    top: 16px;
    right: 32px;
    left: auto;
    transform: none;
    z-index: 1000 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    min-width: 180px;
    height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--rz-primary-dark), var(--rz-primary));
    box-shadow: 0 10px 25px rgba(0, 0, 0, .18), 0 4px 10px rgba(0, 0, 0, .10);
    border: 1px solid rgba(255, 255, 255, .12);
    color: var(--rz-on-primary, #ffffff);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

    /* Texto dentro del pill (se aprovecha el mismo content del div) */
    .rz-datatable-loading-content::after {
        content: "Cargando datos…";
    }


/* Ícono Radzen + animación (spinner) acorde al pill */
.rz-datatable-loading-content .rzi-circle-o-notch {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 1;
    animation: rz-spin 800ms linear infinite;
    opacity: 0.95;
}

/* Keyframes por si el tema no los trae */
@keyframes rz-spin {
    to {
        transform: rotate(360deg);
    }
}

.rz-switch {
    zoom: 0.7 !important;
}

.rz-form-field {
    cursor: context-menu;
}

.rz-steps-item {
    margin-bottom: 1rem;
}

.rz-steps > ul {
    text-align: center;
}

.rz-selectbutton .rz-button.rz-button-md {
    text-align: center;
    white-space: nowrap;
    width: 50%;
}

    .rz-selectbutton .rz-button.rz-button-md.rz-state-active.rz-state-disabled {
        color: #fff;
        opacity: 1;
    }

    .rz-selectbutton .rz-button.rz-button-md.rz-state-disabled {
        border: 1px solid #e9eaed;
        opacity: 1;
        color: #a2a2a4;
    }

.rz-dialog {
    max-height: 95%;
}

.rz-grid-table td {
    overflow: visible;
}

.rz-cell-data .rz-splitbutton .rz-button:not(.rz-splitbutton-menubutton) {
    border-start-end-radius: inherit;
    border-end-end-radius: inherit;
}

.rz-splitbutton-menubutton {
    margin-inline-start: 0px;
}

.rz-cell-data .rz-splitbutton-menubutton {
    display: none;
}

.rz-menuitem .rz-menuitem-icon {
    vertical-align: unset;
}

.rz-splitbutton-menu {
    position: absolute;
    z-index: 2000;
    transform: translateX(-50%);
    left: 50%;
    max-width: calc(100vw - 20px);
    overflow-x: hidden;
}

.rz-menuitem {
    white-space: nowrap;
    padding: .25rem .75rem;
    font-size: 12px;
}

.rz-button.rz-light {
    border: 1px solid #dadbde;
}

.rz-dropdown-clear-icon {
    margin-right: .3rem;
}

.rz-dropdown-item:has(option:disabled) {
    background-color: #f0f0f0 !important;
    pointer-events: none;
    opacity: 0.5;
}

.rz-selectable tbody tr.rz-data-row.rz-state-highlight > td {
    background-color: rgb(127 83 67);
}

.rz-selectable tbody tr.rz-data-row.rz-state-focused > td {
    background-color: rgb(143 101 80);
    color: #8f6550;
}

.rz-selectable tbody tr.rz-data-row.rz-state-focused .rz-cell-data {
    color: #ffffff;
}

.rz-form-field.rz-state-disabled :not(.rz-button).rz-state-disabled, .rz-form-field.rz-state-disabled :not(.rz-button):disabled {
    background-color: #f0f0f0 !important;
    pointer-events: none;
    opacity: 0.5;
}

.rz-numeric .rz-numeric-input[readonly] ~ .rz-numeric-button {
    display: none !important;
}

/* DropDown/DropDownDataGrid: si agrego class="ro-hide-trigger" al componente, oculta el trigger y el clear */
.rz-dropdown.ro-hide-trigger .rz-dropdown-trigger,
.rz-dropdown.ro-hide-trigger .rz-dropdown-clear-icon {
    display: none !important;
}

.rz-grid-table thead th .rz-column-title-content {
    white-space: pre-wrap;
}

.rz-pager.rz-density-compact .rz-pager-element .rzi, .rz-fileupload .rz-button .rzi, .rz-button-sm .rzi {
    font-variation-settings: 'FILL' 1;
}

.rz-column-drag, .rz-datatable-loading-content .rzi-circle-o-notch, .rz-datatable-header .rzi-plus, .rz-sortable-column .rzi-grid-sort, .rz-datatable .rzi-chevron-circle-down, .rz-datatable .rzi-chevron-circle-right, .rz-fileupload-row .rz-button .rzi-close, .rz-fileupload-row .rz-button .rzi-times, .rz-fileupload-row .rz-button .rz-icon-trash, .rz-menuitem .rz-menuitem-icon, .rzi {
    font-variation-settings: 'FILL' 1;
}

:root {
    --rz-primary: #8f6550;
    --rz-primary-light: #a67f6a;
    --rz-primary-lighter: #bd9984;
    --rz-primary-dark: #75513e;
    --rz-primary-darker: #5b3c2e;
    --rz-on-primary: #ffffff;
    --rz-on-primary-light: #ffffff;
    --rz-on-primary-lighter: #ffffff;
    --rz-on-primary-dark: #ffffff;
    --rz-on-primary-darker: #ffffff;
    --rz-secondary: #979797;
    --rz-input-focus-shadow: none;
    --rz-grid-stripe-background-color: #FFF;
    --rz-switch-checked-background-color: #4CAF50;
    --rz-badge-padding: .25rem;
}
