@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

/* fallback */

@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialicons/v142/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');
}

@font-face {
font-family: 'Material Icons Outlined';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialiconsoutlined/v109/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format('woff2');
}

.flex-fill {
-ms-flex: 1 1 auto !important;
flex: 1 1 auto !important;
}

.cursor-pointer {
cursor: pointer !important;
}

.rz-tabview-top > .rz-tabview-nav {
flex-wrap: wrap;
}

.rz-legend-bottom {
bottom: -1rem;
}

.rz-dialog-wrapper {
z-index: 1002;
}

.rz-dialog-side {
z-index: 1003;
}

.w-1rem {
width: 1rem;
text-align: right
}

.w-3rem {
width: 3rem;
text-align: right
}

.w-4rem {
width: 4rem;
text-align: right
}

.w-7rem {
width: 7rem;
text-align: right
}

.w-10 {
width: 10% !important;
}

.w-15 {
width: 15% !important;
}

.w-20 {
width: 20% !important;
}

.w-25 {
width: 25% !important;
}

.w-30 {
width: 30% !important;
}

.w-35 {
width: 35% !important;
}

.w-40 {
width: 40% !important;
}

.w-45 {
width: 45% !important;
}

.w-50 {
width: 50% !important;
}

.w-55 {
width: 55% !important;
}

.w-60 {
width: 60% !important;
}

.w-65 {
width: 65% !important;
}

.w-70 {
width: 70% !important;
}

.w-75 {
width: 75% !important;
}

.w-80 {
width: 80% !important;
}

.w-85 {
width: 85% !important;
}

.w-90 {
width: 90% !important;
}

.w-95 {
width: 95% !important;
}

.w-100 {
width: 100% !important;
}

.w-100-md-75 {
width: 100% !important;
}

.w-100-md-50 {
width: 100% !important;
}

.rz-separator {
margin: 2px 0;
border: 0;
border-top: 1px solid var(--rz-border-color,#d0d0d0);
}

.rz-context-menu .active-preset {
background: var(--rz-secondary-light) !important;
font-weight: 600;
}

.rz-context-menu .active-preset .rz-navigation-item-text {
color: var(--rz-white) !important;
}

.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-webkit-font-feature-settings: 'liga';
-webkit-font-smoothing: antialiased;
}



.filled-icon {
font-variation-settings: 'FILL' 1;
}

/* .rz-body padding — now via --rz-layout-body-padding in sisu-theme-overrides.css */

h1:focus {
outline: none;
}

.ammount-suffix {
margin-right: 0.5rem;
margin-bottom: 0rem;
text-align: right;
font-weight: 600;
}

.balance-warning-wrapper {
background-color: var(--rz-danger);
border-radius: 6px;
display: flex;
align-items: center;
padding: 0 8px;
}

.balance-warning-text {
color: white !important;
font-weight: 600;
margin-right: 0px !important;
}

.numeric-right input {
text-align: right;
}

.invalid-column {
text-decoration: spelling-error !important;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.tabicon {
padding: 0.125rem 0.25rem;
height: 0.9rem;
line-height: 1rem;
min-height: 0.75rem;
min-width: 0.75rem;
font-size: 0.75rem;
font-weight: 600;
}

.tabicon .rzi {
font-size: calc(0.5* var(--rz-icon-size)) !important;
line-height: calc(0.5* var(--rz-icon-size)) !important;
width: calc(0.5* var(--rz-icon-size)) !important;
height: calc(0.5* var(--rz-icon-size)) !important;
}

.sub-account-component .rz-form-field-label {
right: auto;
top: var(--rz-form-field-label-floating-top);
padding-top: 0;
padding-bottom: 0;
transform: translate(0, 0);
color: var(--rz-input-placeholder-color);
background-color: var(--rz-form-field-label-floating-background-color);
font-size: 0.75rem;
line-height: 1rem;
max-width: calc(100% - 1.5rem);
}

.content {
padding-top: 1.1rem;
}

.valid:not([type="checkbox"]):not(.rz-switch):not(.rz-state-empty):not(.rz-numeric-input) {
outline: 1px solid #26b050;
}

.invalid {
outline: 1px solid red !important;
}

.required.rz-state-empty:not(.modified):not(.invalid) {
outline: 0.5px solid orange !important;
}

.validation-message {
color: red;
}

.rz-switch {
zoom: 0.6 !important;
}

#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}

#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}

.blazor-error-boundary {
background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0Lj01NjFhIDIgMiAwIDAgMCAyNzAuMDg4N0wyNjcuODIxIDY5Ljc0NzVhMiAyIDAgMCAwIC0uMDIgLjk4OTQgMiAyIDAgMCAxIC0xLjk4OSAxLjI0NjQgMiAyIDAgMCAxIC0xLjk4OSAtMS4yNDY0Wk0yNjMuNTc2IDg2LjA1NDdDMjYxLjA0OSA4Ni4wNTQ3IDI1OS43ODYgODcuMzAwNSAyNTkuNzg2IDg5Ljc5MjEgMjU5Ljc4NiA5Mi4yODM3IDI2MS4wNDkgOTMuNTI5NSAyNjMuNTc2IDkzLjUyOTUgMjY2LjExNiA5My41Mjk1IDI2Ny4zODcgOTIuMjgzNyAyNjcuMzg3IDg5Ljc5MjEgMjY3LjM4NyA4Ny4zMDA1IDI2Ni4xMTYgODYuMDU0NyAyNjMuNTc2IDg2LjA1NDdaIiBmaWxsPSIjRkZFNTAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+=) no-repeat 1rem/1.8rem, #b32121;
padding: 1rem 1rem 1rem 3.7rem;
color: white;
}

.blazor-error-boundary::after {
content: "An error has occurred."
}

.loading-progress {
position: relative;
display: block;
width: 8rem;
height: 8rem;
margin: 20vh auto 1rem auto;
}

.loading-progress circle {
fill: none;
stroke: #e0e0e0;
stroke-width: 0.6rem;
transform-origin: 50% 50%;
transform: rotate(-90deg);
}

.loading-progress circle:last-child {
stroke: #1b6ec2;
stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
transition: stroke-dasharray 0.05s ease-in-out;
}

.loading-progress-text {
position: absolute;
text-align: center;
font-weight: bold;
inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

.loading-progress-text:after {
content: var(--blazor-load-percentage-text, "Loading");
}

.panel-menu-separator {
border-bottom: 1px solid #ccc;
margin: 10px 0;
}

.rz-message {
font-size: .9rem;
z-index: 1 !important;
}

.rz-message.rz-messages-error:before {
font-family: 'Material Icons Outlined';
content: 'info';
font-weight: 100;
position: relative;
top: .25rem;
padding: 0 2px;
font-size: 1.1rem;
}

.rz-message.rz-messages-error.rz-message-popup:before {
inset-inline-start: 0;
border-bottom-color: transparent;
}

.mr-auto {
margin-right: auto;
}

.nav-item {
cursor: pointer;
}

.invert-icon {
-webkit-transform: scaleY(-1);
}

.filter-bar .value-field {
flex: 0 0 6rem;
max-width: 6rem;
}

.filter-bar .filter-col {
flex: 1 1 100%;
min-width: 100%;
display: flex;
align-items: center;
}

.fieldset-check .rz-fieldset-legend {
padding-left: 0rem !important;
padding-right: 0rem !important;
margin-left: 0.75rem !important;
}

.fieldset-check .rz-fieldset-content {
padding-top: 0.5rem !important;
padding-bottom: 0.75rem !important;
padding-left: 0.75rem !important;
padding-right: 0.75rem !important;
}

.rz-text-subtitle2.disabled {
font-weight: 300 !important;
}

/******Loading animation*****/
.dot {
margin: 0 1.5rem;
width: 35px;
height: 35px;
border-radius: 50%;
opacity: 0;
}

.dot-1 {
background-color: var(--rz-info-light);
animation-name: animacion1;
animation-duration: 2s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-delay: 0.15s;
}

.dot-2 {
background-color: var(--rz-info-darker);
animation-name: animacion2;
animation-duration: 2s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-delay: 0.30s;
}

.dot-3 {
margin-left: 2.5rem;
background-color: var(--rz-primary-light);
animation-name: animacion3;
animation-duration: 2s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-delay: 0.45s;
}

.dot-4 {
background-color: var(--rz-primary-darker);
animation-name: animacion4;
animation-duration: 2s;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-delay: 0.60s;
}

@keyframes animacion1 {
from {
transform: scale(1,1) translateX(0);
opacity: 0;
}

to {
transform: scale(1,1) translateX(0);
opacity: 0;
}

50% {
transform: scale(.8,.8) translateX(80px);
opacity: 1;
}

75% {
transform: scale(.8,.8) translateX(80px);
opacity: 1;
}
}

@keyframes animacion2 {
from {
transform: scale(1,1) translateX(0);
opacity: 0;
}

to {
transform: scale(1,1) translateX(0);
opacity: 0;
}

50% {
transform: scale(.8,.8) translateX(30px);
opacity: 1;
}

75% {
transform: scale(.8,.8) translateX(30px);
opacity: 1;
}
}

@keyframes animacion3 {
from {
transform: scale(1,1) translateX(0);
opacity: 0;
}

to {
transform: scale(1,1) translateX(0);
opacity: 0;
}

50% {
transform: scale(.8,.8) translateX(-30px);
opacity: 1;
}

75% {
transform: scale(.8,.8) translateX(-30px);
opacity: 1;
}
}

@keyframes animacion4 {
from {
transform: scale(1,1) translateX(0);
opacity: 0;
}

to {
transform: scale(1,1) translateX(0);
opacity: 0;
}

50% {
transform: scale(.8,.8) translateX(-80px);
opacity: 1;
}

75% {
transform: scale(.8,.8) translateX(-80px);
opacity: 1;
}
}

.rz-progressbar {
height: 5px;
margin: 10px 0px;
}

/**************SCROLLBAR******************/
.rz-data-grid-data::-webkit-scrollbar-thumb, .rz-dialog-content::-webkit-scrollbar-thumb, .scrollbar-primary-dark::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
background-color: var(--rz-primary-dark);
}

.scrollbar-primary-dark, .rz-data-grid-data {
scrollbar-color: var(--rz-primary-dark) #F5F5F5;
}

.rz-dialog-content {
scrollbar-color: #f5f5f5;
}

.rz-data-grid-data::-webkit-scrollbar-track, .rz-dialog-content::-webkit-scrollbar-track, .scrollbar-primary-dark::-webkit-scrollbar-track {
-webkit-box-shadow: none;
border: 1px solid #F5F5F5;
}

.sidebar .scrollbar-primary-dark::-webkit-scrollbar-track {
-webkit-box-shadow: none;
border: 1px solid transparent;
}

.rz-data-grid-data::-webkit-scrollbar-thumb, .rz-dialog-content::-webkit-scrollbar-thumb, .scrollbar-primary-dark::-webkit-scrollbar-thumb {
-webkit-box-shadow: none;
}

.rz-data-grid-data, .rz-dialog-content::-webkit-scrollbar-track, .scrollbar-primary-dark::-webkit-scrollbar-track {
border-radius: 0 !important;
}

.rz-data-grid-data::-webkit-scrollbar-thumb, .rz-dialog-content::-webkit-scrollbar-thumb, .scrollbar-primary-dark::-webkit-scrollbar-thumb {
border-radius: 0 !important;
}

.rz-data-grid-data::-webkit-scrollbar, .rz-dialog-content::-webkit-scrollbar, .scrollbar-primary-dark::-webkit-scrollbar {
width: 6px;
}

.rz-data-grid-data::-webkit-scrollbar, .rz-dialog-content::-webkit-scrollbar, .scrollbar-primary-dark::-webkit-scrollbar {
height: 6px;
}

.rz-data-grid-data, .rz-dialog-content, .scrollbar-primary-dark {
overflow-x: auto;
}

.form-group {
margin-bottom: 1rem;
}

/**************************sidebar favorites*/
.sidebar-fav-btn .rz-button-icon-left {
display: none;
}

.sidebar-fav-btn:hover .rz-button-icon-left {
display: flex;
}

.sidebar-fav-listbox {
background-color: transparent !important;
border: var(--rz-listbox-border) !important;
opacity: 100 !important;
color: var(--rz-text-color) !important;
width: 100%;
height: calc(50vh);
}

.sidebar-fav-listbox .rz-multiselect-item:hover {
background-color: transparent !important;
color: var(--rz-text-color) !important;
}

/***************margins***************************/
.m-0 {
margin: 0 !important
}

.mt-0, .my-0 {
margin-top: 0 !important
}

.mr-0, .mx-0 {
margin-right: 0 !important
}

.mb-0, .my-0 {
margin-bottom: 0 !important
}

.ml-0, .mx-0 {
margin-left: 0 !important
}

.m-1 {
margin: .25rem !important
}

.mt-1, .my-1 {
margin-top: .25rem !important
}

.mr-1, .mx-1 {
margin-right: .25rem !important
}

.mb-1, .my-1 {
margin-bottom: .25rem !important
}

.ml-1, .mx-1 {
margin-left: .25rem !important
}

.m-2 {
margin: .5rem !important
}

.mt-2, .my-2 {
margin-top: .5rem !important
}

.mr-2, .mx-2 {
margin-right: .5rem !important
}

.mb-2, .my-2 {
margin-bottom: .5rem !important
}

.ml-2, .mx-2 {
margin-left: .5rem !important
}

.m-3 {
margin: 1rem !important
}

.mt-3, .my-3 {
margin-top: 1rem !important
}

.mr-3, .mx-3 {
margin-right: 1rem !important
}

.mb-3, .my-3 {
margin-bottom: 1rem !important
}

.ml-3, .mx-3 {
margin-left: 1rem !important
}

.m-4 {
margin: 1.5rem !important
}

.mt-4, .my-4 {
margin-top: 1.5rem !important
}

.mr-4, .mx-4 {
margin-right: 1.5rem !important
}

.mb-4, .my-4 {
margin-bottom: 1.5rem !important
}

.ml-4, .mx-4 {
margin-left: 1.5rem !important
}

.m-5 {
margin: 3rem !important
}

.mt-5, .my-5 {
margin-top: 3rem !important
}

.mr-5, .mx-5 {
margin-right: 3rem !important
}

.mb-5, .my-5 {
margin-bottom: 3rem !important
}

.ml-5, .mx-5 {
margin-left: 3rem !important
}

.p-0 {
padding: 0 !important
}

.pt-0, .py-0 {
padding-top: 0 !important
}

.pr-0, .px-0 {
padding-right: 0 !important
}

.pb-0, .py-0 {
padding-bottom: 0 !important
}

.pl-0, .px-0 {
padding-left: 0 !important
}

.p-1 {
padding: .25rem !important
}

.pt-1, .py-1 {
padding-top: .25rem !important
}

.pr-1, .px-1 {
padding-right: .25rem !important
}

.pb-1, .py-1 {
padding-bottom: .25rem !important
}

.pl-1, .px-1 {
padding-left: .25rem !important
}

.p-2 {
padding: .5rem !important
}

.pt-2, .py-2 {
padding-top: .5rem !important
}

.pr-2, .px-2 {
padding-right: .5rem !important
}

.pb-2, .py-2 {
padding-bottom: .5rem !important
}

.pl-2, .px-2 {
padding-left: .5rem !important
}

.p-3 {
padding: 1rem !important
}

.pt-3, .py-3 {
padding-top: 1rem !important
}

.pr-3, .px-3 {
padding-right: 1rem !important
}

.pb-3, .py-3 {
padding-bottom: 1rem !important
}

.pl-3, .px-3 {
padding-left: 1rem !important
}

.p-4 {
padding: 1.5rem !important
}

.pt-4, .py-4 {
padding-top: 1.5rem !important
}

.pr-4, .px-4 {
padding-right: 1.5rem !important
}

.pb-4, .py-4 {
padding-bottom: 1.5rem !important
}

.pl-4, .px-4 {
padding-left: 1.5rem !important
}

.p-5 {
padding: 3rem !important
}

.pt-5, .py-5 {
padding-top: 3rem !important
}

.pr-5, .px-5 {
padding-right: 3rem !important
}

.pb-5, .py-5 {
padding-bottom: 3rem !important
}

.pl-5, .px-5 {
padding-left: 3rem !important
}

.m-n1 {
margin: -0.25rem !important
}

.mt-n1, .my-n1 {
margin-top: -0.25rem !important
}

.mr-n1, .mx-n1 {
margin-right: -0.25rem !important
}

.mb-n1, .my-n1 {
margin-bottom: -0.25rem !important
}

.ml-n1, .mx-n1 {
margin-left: -0.25rem !important
}

.m-n2 {
margin: -0.5rem !important
}

.mt-n2, .my-n2 {
margin-top: -0.5rem !important
}

.mr-n2, .mx-n2 {
margin-right: -0.5rem !important
}

.mb-n2, .my-n2 {
margin-bottom: -0.5rem !important
}

.ml-n2, .mx-n2 {
margin-left: -0.5rem !important
}

.m-n3 {
margin: -1rem !important
}

.mt-n3, .my-n3 {
margin-top: -1rem !important
}

.mr-n3, .mx-n3 {
margin-right: -1rem !important
}

.mb-n3, .my-n3 {
margin-bottom: -1rem !important
}

.ml-n3, .mx-n3 {
margin-left: -1rem !important
}

.m-n4 {
margin: -1.5rem !important
}

.mt-n4, .my-n4 {
margin-top: -1.5rem !important
}

.mr-n4, .mx-n4 {
margin-right: -1.5rem !important
}

.mb-n4, .my-n4 {
margin-bottom: -1.5rem !important
}

.ml-n4, .mx-n4 {
margin-left: -1.5rem !important
}

.m-n5 {
margin: -3rem !important
}

.mt-n5, .my-n5 {
margin-top: -3rem !important
}

.mr-n5, .mx-n5 {
margin-right: -3rem !important
}

.mb-n5, .my-n5 {
margin-bottom: -3rem !important
}

.ml-n5, .mx-n5 {
margin-left: -3rem !important
}

.m-auto {
margin: auto !important
}

.mt-auto, .my-auto {
margin-top: auto !important
}

.mr-auto, .mx-auto {
margin-right: auto !important
}

.mb-auto, .my-auto {
margin-bottom: auto !important
}

.ml-auto, .mx-auto {
margin-left: auto !important
}

/*******fonts********/
.rz-text-display-h5 {
font-weight: 400;
}

.icon-2x {
font-size: 2rem;
}

/* ============================
   MOBILE-FIRST FIXES (PHONES)
   Add missing default behavior
   ============================ */

/* Grid: give phone-safe max height + scrolling (desktop overrides keep working) */
.rz-data-grid {
height: auto;
width: 100%;
max-height: calc(100vh - 120px);
overflow: auto;
}

/* Grid/Tree height helpers: provide base behavior for phones */
.grid-full-height {
height: calc(100vh - 130px) !important;
}

.tree-full-height {
height: calc(100vh - 160px) !important;
}

.grid-medium-height {
height: calc(60vh) !important;
}

.tree-medium-height {
height: calc(60vh) !important;
}

.grid-small-height {
height: calc(40vh) !important;
}

.tree-small-height {
height: calc(40vh) !important;
}

.grid-embebed-lines {
height: calc(70vh) !important;
}

.grid-embebed-lines-summary {
height: calc(50vh) !important;
}

.grid-auto {
max-height: calc(100vh - 120px)
}

/* Tab form: ensure height + scroll on phones */
.tab-form {
width: 100%;
overflow: auto;
}

/* Tab form column: stack by default on phones */
.tab-form-col {
flex: 0 0 100%;
max-width: 100%;
}

/* Modal sizing: ensure modal-* classes do something on phones */
.modal-sm,
.modal-md,
.modal-lg,
.modal-xl,
.modal-xxl,
.modal-max {
width: 100%;
max-width: 100%;
max-height: 100vh;
margin: 0;
}

/* Improve dialog scrolling behavior on phones */
.rz-dialog-content {
max-height: calc(100vh - 56px);
overflow: auto;
}

/* Compact cell padding for grids — now via --rz-grid-cell-padding in sisu-theme-overrides.css */

/***********Dialog**************/
/* Full-width dialogs only on mobile; desktop respects DialogOptions.Width */
@media (max-width: 768px) {
.rz-dialog {
width: 100% !important;
}
}

/*******TabNavigation*/
/* Standard/Default/Dark: reinforce top-border indicator on selected tab.
   Material uses bottom-border indicators (border-top-width:0), so this rule
   is harmless there but we scope it to avoid future confusion. */
.rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
border-top-color: var(--rz-tabs-tab-selected-top-border-color, darkgrey) !important;
}

/* Material theme: selected-tab bottom indicator inherits from the theme.
   Reset the base-CSS margin-bottom:-1px (designed for Standard card-tab overlap)
   which causes a 1px misalignment on Material's flat tab strip.
   Scoped via data-theme attribute set by setTheme() in Index.js. */
html[data-theme="material"] .rz-tabview-top > .rz-tabview-nav .rz-tabview-selected {
margin-bottom: 0;
}

html[data-theme="material"] .tab-navigation-container .rz-tabview-top > .rz-tabview-nav {
background-color: var(--rz-base-background-color);
}

html[data-theme="material"] .tab-navigation-container .rz-tabview-top > .rz-tabview-nav li a {
color: var(--rz-tabs-tab-color);
}

html[data-theme="material"] .tab-navigation-container .rz-tabview-top > .rz-tabview-nav li {
opacity: 0.7;
}

html[data-theme="material"] .tab-navigation-container .rz-tabview-top > .rz-tabview-nav li.rz-tabview-selected {
opacity: 1;
border-bottom: 2px solid var(--rz-primary);
}

html[data-theme="material"] .tab-navigation-container .rz-tabview-top > .rz-tabview-nav li.rz-tabview-selected a {
color: var(--rz-tabs-tab-selected-color);
font-weight: 500;
}

html[data-theme="material"] .tab-navigation-container {
background-color: var(--rz-base-background-color);
}

html[data-theme="material"] .tab-navigation-container > .rz-tabview,
html[data-theme="material"] .tab-navigation-container > .rz-tabview > .rz-tabview-panels,
html[data-theme="material"] .tab-navigation-container > .rz-tabview > .rz-tabview-panels > .rz-tabview-panel {
background-color: var(--rz-base-background-color);
}

html[data-theme="material"] .appfilter-label {
color: white;
}

.modal-console {
width: 100%;
height: 80vh;
min-height: 80vh;
display: flex;
flex-direction: column;
}

.console-wrapper {
flex: 1 1 auto;
overflow: auto;
font-family: monospace;
font-size: 0.85rem;
background: #111;
color: #cfcfcf;
padding: 0.75rem;
height: 100vh;
}

/* --------------------------
   Moved OUT of media queries
   (validation/behavior + non-responsive)
   -------------------------- */

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(1) .invalid)
.rz-tabview-nav > li:nth-of-type(1).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(2) .invalid)
.rz-tabview-nav > li:nth-of-type(2).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(3) .invalid)
.rz-tabview-nav > li:nth-of-type(3).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(4) .invalid)
.rz-tabview-nav > li:nth-of-type(4).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(5) .invalid)
.rz-tabview-nav > li:nth-of-type(5).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(6) .invalid)
.rz-tabview-nav > li:nth-of-type(6).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(7) .invalid)
.rz-tabview-nav > li:nth-of-type(7).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(8) .invalid)
.rz-tabview-nav > li:nth-of-type(8).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(9) .invalid)
.rz-tabview-nav > li:nth-of-type(9).tab-validation {
border-top-color: red !important;
}

.rz-tabview:has(.rz-tabview-panels > .rz-tabview-panel:nth-of-type(10) .invalid)
.rz-tabview-nav > li:nth-of-type(10).tab-validation {
border-top-color: red !important;
}

/* ...repeat up to N */

/* .rz-tabview-panel padding — now via --rz-tabs-padding in sisu-theme-overrides.css */

/****Grid Loading*/
.rz-datatable-loading {
background-color: var(--rz-base-light) !important;
}

.form-group .rz-text-subtitle2 {
margin-bottom: .1rem;
}

.dialog-footer {
display: flex;
justify-content: end;
margin-top: 1rem;
}

.rz-dialog-titlebar {
display: flex;
align-items: center;
padding: 1rem;
}

.rz-dialog-titlebar-close {
margin-left: auto;
}

.rz-dialog-confirm-buttons button:last-of-type {
box-shadow: inset 0 0 0 var(--rz-border-width) var(--rz-danger);
color: var(--rz-danger) !important;
background-color: transparent !important;
}

.rz-fileupload-row {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.text-ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

/****Form field margin — now via --rz-form-field-margin-block in sisu-theme-overrides.css *****/

.export-data {
border-left: none !important;
padding-left: 0 !important;
padding-right: 0 !important;
background-color: transparent !important;
}

.copy-account {
height: 22px;
}

.export-data .rz-navigation-item-icon-children {
color: #fff !important;
margin-left: -20px;
}

.pdfviewer {
width: 9in !important;
}

.pdfviewer .rz-dialog-content {
padding: 0 !important;
}

/*******Grid Header*******/
.rz-data-grid .rz-group-header {
justify-content: end !important;
}

.rz-data-grid .rz-group-header .rz-custom-header {
width: 100% !important;
}

.rz-data-grid .checkbox-column {
max-width: 30px !important;
min-width: 30px !important;
width: 30px !important;
word-break: break-all;
}

.tab-form-label {
flex: 0 0 100px;
text-align: left;
}

.party-switch-label {
flex: 0 0 160px;
text-align: left;
}

.tab-form-input {
flex: 1 1 auto;
}

.weekday-selector-wrapper {
position: relative;
width: 100%;
z-index: 1002;
}

.weekday-backdrop {
position: fixed;
inset: 0;
background: transparent;
z-index: 1001;
}

.weekday-popup-surface {
position: absolute;
z-index: 1003;
top: 100%;
left: 0;
margin-top: 0.125rem;
background-color: var(--rz-base-background-color, #ffffff);
border: 1px solid var(--rz-border-color, #d0d0d0);
border-radius: var(--rz-border-radius, 4px);
box-shadow: 0 2px 6px rgba(0,0,0,0.15);
min-width: 270px;
}

/*******Setting Explorer*******/

/**Breadcrumbs**/
.breadcrumb-btn-text:hover,
.breadcrumb-btn-text:focus,
.breadcrumb-btn-text:active,
.breadcrumb-btn-text:focus-visible {
background-color: transparent !important;
border-color: transparent !important;
box-shadow: none !important;
}

.settings-tree-wrapper {
height: calc(100vh - 150px);
overflow-y: hidden;
display: flex;
flex-direction: column;
min-width: 12rem
}

/**Tree**/
.settings-tree {
width: 100%;
flex: 1;
}

.settings-tree:focus-visible {
background-color: transparent !important;
}

.settings-tree .rz-treenode-content-selected .rz-treenode-label {
background-color: transparent;
color: var(--rz-text-color);
}

.settings-tree .rz-treenode-content-selected .rz-treenode-label:hover {
background-color: var(--rz-tree-node-hover-background-color);
color: var(--rz-tree-node-hover-color);
border-radius: var(--rz-tree-node-selected-border-radius);
}

.settings-tree-node:active,
.breadcrumb-btn-text:focus-visible {
background-color: transparent !important;
}

.rz-fieldset-content {
padding: .5rem;
}

.pt-fieldset-notitle {
padding-top: 1.3rem !important;
}

.noborder {
border: none !important;
}

/*Tabs Dialogs*/
/* Host container must participate in flex so children can scroll correctly */
.tab-navigation-container {
height: 100%;
min-height: 0;
display: flex;
flex-direction: column;
}

/* Radzen TabView must be allowed to shrink inside flex parents */
.tab-navigation-container > .rz-tabview {
flex: 1 1 auto;
min-height: 0;
}

/* Panels must inherit full height so overlay can cover the whole surface */
.tab-navigation-container > .rz-tabview,
.tab-navigation-container > .rz-tabview > .rz-tabview-panels,
.tab-navigation-container > .rz-tabview > .rz-tabview-panels > .rz-tabview-panel {
height: 100%;
min-height: 0;
}

/* Panel container where the overlay is positioned */
.sisu-tab-panel-container {
position: relative;
min-height: 0;
display: flex;
flex-direction: column;
flex: 1 1 auto;
}

/* Overlay + dialog surface */
.sisu-tab-dialog-overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.25);
display: flex;
align-items: center;
justify-content: center;
z-index: 1200; /* above tab content, below Radzen side dialog wrappers */
}

.sisu-tab-dialog .dialog-footer {
display: flex;
justify-content: end;
margin-top: 0.5rem !important;
}

.sisu-tab-dialog-overlay--behind {
background: transparent !important;
pointer-events: none;
}

.sisu-tab-dialog-overlay--behind .sisu-tab-dialog:not(.sisu-tab-dialog--draggable) {
opacity: 0.98;
transform: scale(0.995);
}

.sisu-tab-dialog--draggable {
transform: translate3d(var(--sisu-dx, 0px), var(--sisu-dy, 0px), 0);
will-change: transform;
}

.sisu-tab-dialog--draggable .sisu-tab-dialog-header {
cursor: move;
user-select: none;
touch-action: none;
}

.sisu-tab-dialog--resizable:not(.sisu-tab-dialog--draggable) {
position: relative;
}

.sisu-tab-dialog--resizable .sisu-tab-dialog-body {
min-height: 0;
}

.sisu-tab-dialog--resizable.sisu-tab-dialog--user-sized {
width: var(--sisu-w, auto) !important;
height: var(--sisu-h, auto) !important;
max-width: none !important;
max-height: none !important;
box-sizing: border-box;
}

.sisu-tab-dialog-resize-handle {
position: absolute;
right: 0px;
bottom: 0px;
width: 14px;
height: 14px;
cursor: nwse-resize;
opacity: 0.65;
user-select: none;
touch-action: none;
}

.sisu-tab-dialog {
width: 100%;
max-height: calc(100% - 48px);
overflow: hidden;
display: flex;
flex-direction: column;
background: var(--rz-base-background-color, #fff);
box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

.rz-dialog {
box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

.sisu-tab-dialog.rz-dialog {
animation: none !important;
transition: none !important;
}

.sisu-tab-dialog-overlay--behind .sisu-tab-dialog {
animation: none !important;
transition: none !important;
}

.sisu-tab-dialog-header {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.75rem 1rem;
}

.sisu-tab-dialog-body {
flex: 1 1 auto;
min-height: 0;
overflow: auto;
padding: 1rem;
padding-top: 0rem;
}

/* ============================================================================
   MODAL SIZES (consistent across breakpoints)
   - mobile-first: full width
   - lg and xl are the same size
   ============================================================================ */

/* Ensure .sisu-tab-dialog respects modal-* sizing (base/mobile) */
.sisu-tab-dialog.modal-sm,
.sisu-tab-dialog.modal-md,
.sisu-tab-dialog.modal-lg,
.sisu-tab-dialog.modal-xl,
.sisu-tab-dialog.modal-xxl,
.sisu-tab-dialog.modal-max {
width: 100%;
max-width: 100%;
max-height: calc(100% - 10px);
}

/* Keep modal-max always near-fullscreen */
.sisu-tab-dialog.modal-max {
max-width: calc(100% - 16px);
max-height: calc(100% - 10px);
}

.table-auto-col .rz-grid-table {
table-layout: auto !important;
}

/* =============================================================================
   MEDIA QUERIES (GROUPED BY BREAKPOINT)
   ============================================================================= */

/* ========576px======== */
@media (min-width: 576px) {
.modal-sm {
max-width: 500px;
}

.sisu-tab-dialog.modal-sm {
max-width: 500px;
}
}

/* ========768px======== */
@media (min-width: 768px) {
.filter-bar .value-field {
flex: 0 0 8rem;
max-width: 8rem;
}

.filter-bar .filter-col {
flex: 1 1 clamp(28rem, 48%, 36rem);
min-width: clamp(28rem, 48%, 36rem);
}

.rz-data-grid {
height: calc(100vh - 130px);
}

.brandimg {
height: calc(100vh - 82px) !important;
}

.table-auto-height {
height: auto !important;
}

.grid-full-height {
height: calc(100vh - 120px) !important;
}

.tree-full-height {
height: calc(100vh - 160px) !important;
}

.grid-medium-height {
height: calc(50vh - 72px) !important;
}

.grid-100-height {
height: 100% !important;
}

.grid-embebed-lines {
height: calc(60vh - 25px) !important;
}

.grid-embebed-lines-summary {
height: calc(50vh - 30px) !important;
}

.tree-medium-height {
height: calc(50vh - 72px) !important;
}

.grid-small-height {
height: calc(25vh) !important;
}

.tree-small-height {
height: calc(25vh) !important;
}

.tab-error-message {
height: calc(100vh - 130px) !important;
}

.tab-form {
width: 100%;
height: calc(100vh - 260px);
}

.tab-form-label {
flex: 0 0 150px;
text-align: left;
}

/* md */
.modal-md {
max-width: 720px;
max-height: 95vh;
}

.sisu-tab-dialog.modal-md {
max-width: 720px;
max-height: 95vh;
}
}

/* ========992px======== */
@media (min-width: 992px) {
.w-100-md-75 {
width: 75% !important;
}

.w-100-md-50 {
width: 50% !important;
}

/* lg == xl */
.modal-lg, .modal-xl {
max-width: 800px;
max-height: 95vh;
}

.sisu-tab-dialog.modal-lg, .sisu-tab-dialog.modal-xl {
max-width: 800px;
max-height: 95vh;
}

/* xxl + max */
.modal-xxl {
max-width: 80vw;
max-height: 100vh;
}

.sisu-tab-dialog.modal-xxl {
max-width: 80vw;
max-height: 100vh;
}

.modal-max {
max-width: 95vw;
max-height: 100vh;
}

.sisu-tab-dialog.modal-max {
max-width: 95vw;
max-height: 100vh;
}

.rz-data-grid {
height: calc(100vh - 130px);
}

.brandimg {
height: calc(100vh - 82px) !important;
}

.grid-full-height {
height: calc(100vh - 120px) !important;
}

.tree-full-height {
height: calc(100vh - 160px) !important;
}

.grid-medium-height {
height: calc(50vh - 72px) !important;
}

.grid-embebed-lines {
height: calc(60vh - 25px) !important;
}

.grid-embebed-lines-summary {
height: calc(50vh - 30px) !important;
}

.tree-medium-height {
height: calc(50vh - 72px) !important;
}

.grid-small-height {
height: calc(25vh) !important;
}

.tree-small-height {
height: calc(25vh) !important;
}

.tab-error-message {
height: calc(100vh - 130px) !important;
}

.filter-bar .value-field {
flex: 0 0 12rem;
max-width: 12rem;
}

.sisu-tab-dialog.modal-sm {
max-height: calc(100% - 10px);
}

.tab-form-label {
flex: 0 0 150px;
text-align: left;
}
}

/* ========1200px======== */
@media (min-width: 1200px) {
/* lg == xl */
.modal-lg, .modal-xl {
max-width: 1140px
}

.sisu-tab-dialog.modal-lg, .sisu-tab-dialog.modal-xl {
max-width: 1140px
}
}

@media (max-width: 1200px) {
.tab-form-col {
flex: 0 0 100% !important;
max-width: 100% !important;
}
}
