﻿.global :is( .rz-textbox, .rz-dropdown, .rz-label, .rz-tabview-title, .rz-button-text, .rz-alert-content, .rz-radio-btn, .rz-fieldset-legend-text, .rz-button-box, .rz-stack > label, .rz-text-body1, .rz-dropdown-label, .rz-radiobutton-label, .rz-column-title-content, .rz-datatable-emptymessage > span ),
.global .rz-dropdown-item,
.global .rz-multiselect-item-content,
.global textarea.rz-textarea,
.global .rz-inputtext {
    font-size: 12px !important;
}
.global {
    /* НЕ задаём height тут */
    min-height: 0;
    --rz-upload-choose-background-color: var(--rz-primary);
    --rz-upload-choose-color: var(--rz-on-primary);
    --rz-upload-choose-hover-background-color: var(--rz-primary-dark);
    --rz-upload-choose-hover-color: var(--rz-on-primary-dark);
    --rz-upload-choose-active-background-color: var(--rz-primary-darker);
    --rz-upload-choose-active-color: var(--rz-on-primary-darker);
}
/* Textbox */
.global .rz-textbox::placeholder {
    color: #999 !important;
}

.global .rz-text-body1 {
    margin: 0 !important;
}

.global textarea.rz-textarea::placeholder {
    color: #999 !important;
}

.global textarea.rz-textarea {
    padding: 0 5px !important;
    min-height: 28px !important;
    justify-content: center !important;
}

/* Textbox */
.global .rz-textbox {
    padding: 0 var(--input-padding-x, 10px);
    height: var(--input-height, 28px);
    justify-content: center;
}

/* DropDown */
.global .rz-dropdown {
    padding: 0 var(--input-padding-x, 10px);
    height: var(--input-height, 28px);
    justify-content: center;
}

/* Clear container */
.global .rz-clear {
    justify-content: center;
}


/* Radio buttons */
.global .rz-radio-button-list-horizontal {
    min-height: 28px !important;
    height: auto !important;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.global .rz-radio-button-list-horizontal.modified.valid {
    min-height: 28px;
    outline-offset: -1px;
}

.global .rz-radio-btn {
    margin: 0 !important;
    padding: 0 10px !important;
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1.2 !important;
    border-radius: 4px;
}

/* TabView */
.global .rz-tabview-panel {
    padding: 0 !important;
}

/* если tabview общий, но пусть будет под scope */
.global .rz-tabview.rz-tabview-top > .rz-tabview-panels {
    border-top: none !important;
}

.global .rz-fieldset-legend {
    margin-bottom: 8px !important;
}

.global .fieldset-accordion {
    box-sizing: border-box;
    border: var(--rz-fieldset-border);
    border-radius: var(--rz-fieldset-border-radius);
    background-color: var(--rz-base-background-color);
    box-shadow: none;
}

.global .fieldset-accordion .rz-accordion-header,
.global .fieldset-accordion .rz-accordion-content {
    background-color: transparent;
}

.global .fieldset-accordion .rz-accordion-header > a {
    display: inline-flex;
    align-items: center;
    width: 100%;
    padding: 0.625rem 1rem;
    color: var(--rz-fieldset-legend-color);
    text-decoration: none;
}

.global .fieldset-accordion .rz-accordion-header > a:hover,
.global .fieldset-accordion .rz-accordion-header > a:focus,
.global .fieldset-accordion .rz-accordion-header > a:active {
    color: var(--rz-fieldset-legend-color);
    text-decoration: none;
}

.global .fieldset-accordion .rz-accordion-header > a > span:not(.rz-accordion-toggle-icon) {
    font-size: 12px !important;
    font-weight: 500;
}

.global .fieldset-accordion .rz-accordion-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--rz-fieldset-toggle-width);
    height: var(--rz-fieldset-toggle-height);
    margin-inline: var(--rz-fieldset-toggle-margin-inline);
    background-color: var(--rz-fieldset-toggle-background-color);
    color: var(--rz-fieldset-toggle-color);
    border: var(--rz-fieldset-toggle-border);
    border-radius: var(--rz-border-radius);
    transform: none;
}

.global .fieldset-accordion .rz-accordion-header > a[aria-expanded='false'] .rz-accordion-toggle-icon.rzi-chevron-right:before {
    content: "arrow_right";
}

.global .fieldset-accordion .rz-accordion-header > a[aria-expanded='true'] .rz-accordion-toggle-icon.rzi-chevron-right:before {
    content: "arrow_drop_down";
}

.global .fieldset-accordion .rz-accordion-content {
    padding: var(--rz-fieldset-padding);
}

/* Numeric */
.global .rz-numeric {
    margin: 0;
    height: var(--input-height, 28px);
}

/* DatePicker */
.global .rz-datepicker {
    --rz-input-height: var(--input-height, 28px);
    --rz-datepicker-line-height: var(--input-height, 28px);
    height: var(--input-height, 28px) !important;
    display: flex !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
}

.global .rz-datepicker > .rz-inputtext,
.global .rz-datepicker:has(.rz-datepicker-trigger) > .rz-inputtext,
.global .rz-datepicker.rz-state-empty > .rz-inputtext,
.global .rz-datepicker.rz-state-empty:has(.rz-datepicker-trigger) > .rz-inputtext,
.global .rz-datepicker.valid > .rz-inputtext,
.global .rz-datepicker.valid:has(.rz-datepicker-trigger) > .rz-inputtext,
.global .rz-datepicker.rz-state-empty.valid > .rz-inputtext,
.global .rz-datepicker.rz-state-empty.valid:has(.rz-datepicker-trigger) > .rz-inputtext,
.global .rz-datepicker.modified > .rz-inputtext,
.global .rz-datepicker.modified:has(.rz-datepicker-trigger) > .rz-inputtext,
.global .rz-datepicker.modified.valid > .rz-inputtext,
.global .rz-datepicker.modified.valid:has(.rz-datepicker-trigger) > .rz-inputtext {
    margin: 0 !important;
    display: block !important;
    flex: 1 1 auto !important;
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
    padding-block: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    padding-inline: 10px 28px !important;
    padding-inline-end: 28px !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.global .rz-datepicker .rz-datepicker-trigger {
    height: 28px !important;
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}

/* DatePicker popup content lives outside .global */
.rz-datepicker-popup-container {
    --rz-datepicker-popup-width: 16rem;
    --rz-datepicker-calendar-item-padding: 0.25rem 0;
    --rz-datepicker-calendar-font-size: 12px;
    --rz-datepicker-calendar-header-font-size: 12px;
    --rz-datepicker-month-dropdown-width: 5.25rem;
    --rz-datepicker-year-dropdown-width: 4.25rem;
    --rz-datepicker-prev-next-icon-size: 1.125rem;
}

.rz-datepicker-popup-container .rz-numeric.rz-hour-picker,
.rz-datepicker-popup .rz-numeric.rz-hour-picker,
.rz-datepicker-popup .rz-numeric.rz-minute-picker,
.rz-popup .rz-numeric.rz-hour-picker,
.rz-popup .rz-numeric.rz-minute-picker {
    height: 28px !important;
    min-height: 28px !important;
}

.rz-datepicker-popup-container .rz-numeric.rz-hour-picker .rz-numeric-input.rz-inputtext,
.rz-datepicker-popup-container .rz-numeric.rz-minute-picker .rz-numeric-input.rz-inputtext,
.rz-datepicker-popup .rz-numeric.rz-hour-picker .rz-numeric-input.rz-inputtext,
.rz-datepicker-popup .rz-numeric.rz-minute-picker .rz-numeric-input.rz-inputtext,
.rz-popup .rz-numeric.rz-hour-picker .rz-numeric-input.rz-inputtext,
.rz-popup .rz-numeric.rz-minute-picker .rz-numeric-input.rz-inputtext {
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
    padding-block: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding-inline: 0 !important;
}

.rz-datepicker-popup-container .rz-dropdown.rz-calendar-month-dropdown,
.rz-datepicker-popup-container .rz-dropdown.rz-calendar-year-dropdown,
.rz-datepicker-popup .rz-dropdown.rz-calendar-month-dropdown,
.rz-datepicker-popup .rz-dropdown.rz-calendar-year-dropdown,
.rz-popup .rz-dropdown.rz-calendar-month-dropdown,
.rz-popup .rz-dropdown.rz-calendar-year-dropdown {
    --rz-dropdown-trigger-icon-width: 16px;
    --rz-dropdown-trigger-icon-height: 16px;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
}

.rz-datepicker-popup-container .rz-dropdown.rz-calendar-month-dropdown .rz-dropdown-label.rz-inputtext,
.rz-datepicker-popup-container .rz-dropdown.rz-calendar-year-dropdown .rz-dropdown-label.rz-inputtext,
.rz-datepicker-popup .rz-dropdown.rz-calendar-month-dropdown .rz-dropdown-label.rz-inputtext,
.rz-datepicker-popup .rz-dropdown.rz-calendar-year-dropdown .rz-dropdown-label.rz-inputtext,
.rz-popup .rz-dropdown.rz-calendar-month-dropdown .rz-dropdown-label.rz-inputtext,
.rz-popup .rz-dropdown.rz-calendar-year-dropdown .rz-dropdown-label.rz-inputtext {
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
    padding-block: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    padding-inline-start: 0 !important;
    padding-inline-end: var(--rz-dropdown-trigger-icon-width) !important;
    font-size: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.rz-datepicker-popup-container .rz-button.rz-button-md.rz-secondary,
.rz-datepicker-popup .rz-button.rz-button-md.rz-secondary,
.rz-popup .rz-button.rz-button-md.rz-secondary {
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.rz-datepicker-popup-container .rz-button.rz-button-md.rz-secondary .rz-button-text,
.rz-datepicker-popup .rz-button.rz-button-md.rz-secondary .rz-button-text,
.rz-popup .rz-button.rz-button-md.rz-secondary .rz-button-text {
    line-height: 1 !important;
}

.rz-datepicker-popup-container .rz-calendar-header,
.rz-datepicker-popup .rz-calendar-header,
.rz-popup .rz-calendar-header {
    gap: 4px;
}

.rz-datepicker-popup-container .rz-calendar-title,
.rz-datepicker-popup .rz-calendar-title,
.rz-popup .rz-calendar-title {
    flex: 1 1 auto;
    min-width: 0;
    gap: 4px;
}

.rz-datepicker-popup-container .rz-calendar-prev,
.rz-datepicker-popup-container .rz-calendar-next,
.rz-datepicker-popup .rz-calendar-prev,
.rz-datepicker-popup .rz-calendar-next,
.rz-popup .rz-calendar-prev,
.rz-popup .rz-calendar-next {
    width: 28px !important;
    min-width: 28px !important;
    padding: 4px !important;
}

.rz-datepicker-popup-container .rz-calendar-prev .rzi,
.rz-datepicker-popup-container .rz-calendar-next .rzi,
.rz-datepicker-popup .rz-calendar-prev .rzi,
.rz-datepicker-popup .rz-calendar-next .rzi,
.rz-popup .rz-calendar-prev .rzi,
.rz-popup .rz-calendar-next .rzi {
    font-size: 18px !important;
}

.rz-datepicker-popup-container .rz-calendar-month-dropdown,
.rz-datepicker-popup-container .rz-calendar-year-dropdown,
.rz-datepicker-popup .rz-calendar-month-dropdown,
.rz-datepicker-popup .rz-calendar-year-dropdown,
.rz-popup .rz-calendar-month-dropdown,
.rz-popup .rz-calendar-year-dropdown {
    min-width: 0 !important;
}

.rz-datepicker-popup-container .rz-calendar,
.rz-datepicker-popup .rz-calendar,
.rz-popup .rz-calendar {
    font-size: 12px !important;
}

.rz-datepicker-popup-container .rz-timepicker,
.rz-datepicker-popup .rz-timepicker,
.rz-popup .rz-timepicker {
    padding: 0 12px 12px !important;
}

.rz-datepicker-popup-container .rz-timepicker > .rz-button.rz-button-md.rz-secondary,
.rz-datepicker-popup .rz-timepicker > .rz-button.rz-button-md.rz-secondary,
.rz-popup .rz-timepicker > .rz-button.rz-button-md.rz-secondary {
    width: 100% !important;
    justify-content: center !important;
}

.rz-datepicker-popup-container .rz-timepicker > .rz-button.rz-button-md.rz-secondary .rz-button-text,
.rz-datepicker-popup .rz-timepicker > .rz-button.rz-button-md.rz-secondary .rz-button-text,
.rz-popup .rz-timepicker > .rz-button.rz-button-md.rz-secondary .rz-button-text {
    margin: 0 auto !important;
}

.rz-datepicker-popup-container .rz-calendar .rz-calendar-view.rz-calendar-month-view,
.rz-datepicker-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view,
.rz-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view {
    font-size: 12px !important;
    line-height: 16px !important;
}

.rz-datepicker-popup-container .rz-calendar .rz-calendar-view.rz-calendar-month-view th,
.rz-datepicker-popup-container .rz-calendar .rz-calendar-view.rz-calendar-month-view td,
.rz-datepicker-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view th,
.rz-datepicker-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view td,
.rz-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view th,
.rz-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view td {
    height: 30px !important;
    padding: 2px 0 !important;
    font-size: 12px !important;
    line-height: 16px !important;
}

.rz-datepicker-popup-container .rz-calendar .rz-calendar-view.rz-calendar-month-view .rz-state-default,
.rz-datepicker-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view .rz-state-default,
.rz-popup .rz-calendar .rz-calendar-view.rz-calendar-month-view .rz-state-default {
    width: 26px !important;
    height: 26px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* Dropdown/multiselect icons */
.global .rz-multiselect-filter-icon,
.global .rz-dropdown-filter-icon {
    font-size: 16px !important;
}

/* Buttons sizing */
.global .rz-button:not(.rz-numeric-button),
.global .rz-button-md:not(.rz-numeric-button),
.global .rz-button-lg:not(.rz-numeric-button),
.global .rz-button-sm:not(.rz-numeric-button) {
    height: 28px !important;
    min-height: 28px !important;
    line-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.global .rz-button.rz-button-icon-only,
.global .rz-toggle-button.rz-button-icon-only {
    justify-content: center !important;
}

.global .rz-toggle-button.rz-button-icon-only {
    width: auto !important;
    min-width: auto !important;
}

.global .rz-button.rz-button-icon-only .rz-button-box,
.global .rz-toggle-button.rz-button-icon-only .rz-button-box {
    justify-content: center !important;
}

.global .rz-toggle-button {
    position: relative !important;
}

.global .rz-toggle-button .rz-helper-hidden-accessible {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.global .rz-toggle-button .rz-helper-hidden-accessible input {
    width: 0 !important;
    height: 0 !important;
}

.global .rz-button.rz-button-icon-only .rz-button-box .rz-button-icon-left,
.global .rz-toggle-button.rz-button-icon-only .rz-button-box .rz-button-icon-left,
.global .rz-toggle-button.rz-button-icon-only .rz-button-box .rzi {
    margin: 0 !important;
}

    /* Center button text vertically */
    .global .rz-button .rz-button-text {
        line-height: 1 !important;
    }

/* FileUpload button as regular primary filled action */
.global .rz-fileupload {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.global .rz-fileupload-buttonbar {
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.global .rz-fileupload-button,
.global .rz-fileupload-choose,
.global .rz-fileupload-choose.rz-button {
    width: 100% !important;
    height: 28px !important;
    min-height: 28px !important;
    line-height: inherit !important;
    padding: 0.375rem 0.75rem !important;
    font-size: 0.75rem !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

.global .rz-fileupload-choose,
.global .rz-fileupload-choose.rz-button {
    position: relative !important;
    overflow: hidden !important;
}

.global .rz-fileupload-choose input[type=file],
.global .rz-fileupload-choose.rz-button input[type=file] {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    cursor: pointer !important;
    border: 0 !important;
}

.global .rz-fileupload-content {
    display: none !important;
}

/* Alert */
.global .rz-alert {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.global .rz-alert.rz-alert-xs {
    padding: 4px 8px !important;
    min-height: 24px !important;
}

.global .rz-alert:not(.rz-alert-xs) {
    padding: 6px 10px !important;
    min-height: 28px !important;
}

.global .rz-alert .rz-alert-icon {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    line-height: 1 !important;
}

.global .rz-alert.rz-alert-xs .rz-alert-icon {
    width: 12px !important;
    min-width: 12px !important;
    height: 12px !important;
}

.global .rz-alert:not(.rz-alert-xs) .rz-alert-icon {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
}

.global .rz-alert .rz-alert-icon .rzi,
.global .rz-alert .rz-alert-icon.rzi {
    line-height: 1 !important;
}

.global .rz-alert.rz-alert-xs .rz-alert-icon .rzi,
.global .rz-alert.rz-alert-xs .rz-alert-icon.rzi {
    font-size: 12px !important;
}

.global .rz-alert:not(.rz-alert-xs) .rz-alert-icon .rzi,
.global .rz-alert:not(.rz-alert-xs) .rz-alert-icon.rzi {
    font-size: 14px !important;
}

.global .rz-alert-content {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 16px !important;
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
}

/* DataGrid row text — managed via radzen-overrides.css / design tokens */
