﻿/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts/Roboto/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts/Roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
	--kendo-font-family: 'Roboto', 'Helvetica', 'Arial', 'sans-serif';
	--layout-color-primary: #465D9E;
	--layout-color-third: #4E6AA7;
	--layout-color-background: #F2F4FA;
	--menu-selection-color: #A1CAFF;
	--kendo-color-primary: #3E5394;
	--kendo-color-primary-hover: #33457A;
	--kendo-color-primary-active: #2d448c;
	--kendo-color-on-app-surface: #3d3d3d;
	--kendo-color-base-hover: #ebebeb;
	--kendo-color-on-primary: #FFFFFF;
	--kendo-color-base: #f5f5f5;
	--kendo-color-surface: #fafafa;
	--kendo-color-surface-alt: #ffffff;
	--kendo-color-on-base: #3d3d3d;
}
html, body, #app {
	margin: 0;
	width: 100%;
	height: 100%;
	font-family: var(--kendo-font-family);
	min-width: 320px;
	min-height: 400px;
}
h1, h2, h3, h4, h5 
{
	color: var(--kendo-color-on-app-surface);
}
@keyframes grow-shrink 
{
    from {
        transform: scale(0);
    }

    to {
        transform: scale(1);
    }
}
#app-loader 
{
    position: absolute;
    top: 30vh;
    width: 100%;
    text-align: center
}
#app-loader svg 
{
    animation-name: grow-shrink;
    animation-duration: 300ms;
    animation-timing-function: ease;
}
#app-loader svg 
{
    fill: var(--layout-color-primary);
}
#app-loader image 
{
    overflow: visible;
}
#app-loader-wrapper
{
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}
#blazor-error-ui {
    display: none;
    position: fixed;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--kendo-color-info-subtle, var(--kendo-color-surface, #fafafa));
    border: 1px solid var(--kendo-color-info, var(--kendo-color-primary, #3E5394));
    border-left: 4px solid var(--kendo-color-primary, #3E5394);
    border-radius: 6px;
    padding: 0.8rem 1.2rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    z-index: 10000;
    font-size: 0.9rem;
    color: var(--kendo-color-on-app-surface, #3d3d3d);
    max-width: 500px;
    font-weight: 500;
}
#blazor-error-ui .dismiss,
#blazor-error-ui .reload {
    cursor: pointer;
    margin-left: 0.5rem;
    text-decoration: none;
    color: var(--kendo-color-primary, #3E5394);
    font-weight: 500;
}
#blazor-error-ui a:hover {
    text-decoration: underline;
}

.k-button-lg {
    padding-block: 0.5vw;
    padding-inline: 1.5vw;
}
.wrapper {
	margin: MIN(0.7vh, 0.4vw) MIN(1.4vh, 0.8vw) MIN(0.7vh, 0.4vw) 0;
	position: relative;
	min-height: 98.6vh;
	display: flex;
	flex-direction: column;
}
.surface {
    position: relative;
    background-color: var(--kendo-color-on-primary);
	padding: MIN(1vw, 1vh) MIN(2vw, 2vh) MIN(2vw, 2vh) MIN(2vw, 2vh);
	border-radius: MIN(0.5vh, 0.5vw);
	outline: red;
	border-top: 2vh;
	border-left-width: 0.2vh;
	border-right-width: 0.2vh;
	border-bottom-width: 0.2vh;
	border-color: var(--kendo-color-primary);
	border-style: solid;
    overflow: auto;
    box-sizing: border-box;
    scroll-behavior:auto;
    flex-grow:1;
}

.k-form-field {
    padding-bottom: 2vh;
}
.k-form-field label{
    padding-bottom: 1vh;
    display:inline-block;
}
.k-command-cell span
{
    display:flex;
    justify-content:space-evenly;
}

.main-logs-display {
    display: flex;
    flex-direction: column;
    gap: 0.7vh;
    height: auto;
}
.logs-layout {
    display: flex;
    gap: 0.7vh;
    height: auto;
}
.surface-popout {
    background-color: white;
    padding: min(1vw, 1vh) min(2vw, 2vh) min(2vw, 2vh) min(2vw, 2vh);
    border-radius: min(0.5vh, 0.5vw);
    outline: red;
    border-top: 2vh;
    border-left-width: 0.2vh;
    border-right-width: 0.2vh;
    border-bottom-width: 0.2vh;
    border-color: var(--kendo-color-primary);
    border-style: solid;
    width: auto;
    overflow: hidden;
    height: 98vh;
    overflow: hidden;
    box-sizing: border-box;
}
.surface-popout-management {
    background-color: white;
    padding: min(1vw, 1vh) min(2vw, 2vh) min(2vw, 2vh) min(2vw, 2vh);
    border-radius: min(0.5vh, 0.5vw);
    outline: red;
    border-top: 2vh;
    border-left-width: 0.2vh;
    border-right-width: 0.2vh;
    border-bottom-width: 0.2vh;
    border-color: var(--kendo-color-primary);
    border-style: solid;
    width: auto;
    overflow: auto;
    scrollbar-width: none;
    height: 98vh;
    box-sizing: border-box;
}
.surface-popout-visible {
    transform: translateX(0);
}

.k-grid td, .k-grid .k-table-td {
    white-space: nowrap;
}

.hide-title {
    content-visibility: hidden;
}
@media (orientation: portrait) {
    .k-grid .k-grid-header .k-table-th {
        position: relative;
        vertical-align: middle;
        cursor: default;
    }

    .smaller-button {
        transform: scale(0.8)
    }

    .k-calendar-container, .k-datetime-container {
        transform: scale(0.7);
        top: 149.15px;
    }
    .k-switch-md {
        transform: scale(0.8)
    }
 
    .buttons {
        display: flex;
        gap: 0 !important;
    }

    .main-logs-display {
        display: flex;
        flex-direction: column;
        gap: 0.7vh;
        height: 96vh;
    }

    .k-splitter-flex {
        height: 100vh !important;
    }

    .k-splitter-flex .k-pane {
        overflow: scroll;
        scrollbar-width: none;
    }

    .k-table-md .k-table-th, .k-table-md .k-table-td {
        padding-block: 2px;
        padding-inline: 6px;
        text-align: center;
    }

    .invisible-button {
        width: 100%;
        height: 100%;
        white-space: normal;
    }

    .k-column-title {
        white-space: normal !important;
        word-break: break-word;
    }

    .k-grid .k-grid-md .k-filter-row td, .k-grid .k-grid-md .k-filter-row .k-table-td, .k-grid .k-grid-md .k-filter-row .k-table-th, .k-grid-md .k-filter-row td, .k-grid-md .k-filter-row .k-table-td, .k-grid-md .k-filter-row .k-table-th {
        white-space: normal !important;
    }
  
}

@media (max-width: 750px) {
    .datesField {
        gap: 1px !important;
    }

    .surface {
        height: 100%;
    }

    .surface-popout {
        height: 99%;
        overflow: scroll;
        scrollbar-width: none;
    }

    .k-table-md {
        font-size: 12px;
    }

    .k-form {
        font-size: 12px;
    }

    .k-button-md {
        font-size: 12px !important;
        padding-block: 2px;
        padding-inline: 3px;
    }

    .k-input-md .k-input-inner {
        font-size: 12px;
    }

    .k-column-resizer {
        width: 1rem;
    }

    .k-grid .k-grid-header .k-table-td[data-col-index="0"] .k-button-md {
        transform: scale(0.8)
    }

    .dates-clear-filter-button {
        transform: scale(0.8)
    }

    .k-grid .k-grid-header .k-input-solid {
        transform: scaleY(0.8)
    }

    .k-grid .k-grid-header .k-table-td .datesField .k-svg-icon {
        transform: scale(0.8)
    }
     .k-table-sm {
        font-size: 12px;
    }
    .k-panelbar{
        font-size: 12px;
    }
}

.buttons {
    display: flex;
    gap: 1rem;
}

.panel-content {
    padding-block: var(--kendo-spacing-3, 0.75rem);
    padding-inline: var(--kendo-spacing-4, 1rem);
}

.content-image {
    height: 100%;
    width: 100%;
    margin: auto;
    display: block;
    object-fit: contain;
}

.small-image {
    max-width: 50%;
    height: auto;
    display: block;
    margin: 10px auto;
    border-radius: 5px;
}

.panel-table {
    width: 100%;
    border-collapse: collapse;
}

.panel-table td {
    width: 50%;
    border-bottom: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.panel-table tr:last-child td {
    border-bottom: none;
}

.k-splitbar {
    background-color: #F2F4FA;
}

.k-splitter-flex .k-pane {
    background-color: #F2F4FA;
}

.info-container {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    max-width: 300px;
}

.event-info {
    height: 82vh;
    overflow-y: scroll;
    scrollbar-width: none;
}

.k-scrollview {
    margin: 0 auto;
}

.image-with-text {
    position: relative;
}

.image-with-text > p {
    position: absolute;
    top: 1rem;
    left: 1.6rem;
    color: rgba(255, 255, 255, .8);
    margin: 0;
    font-style: italic;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
}

.k-grid .k-selected .k-table-td {
    background-color: #BDC3C7 !important;
}

.custom-selected {
    background-color: #BDC3C7 !important;
}

.k-column-title {
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
    overflow: visible;
}

.k-drawer-content {
    height: 100vh;
}


.image-wrapper {
    display: inline-block;
    position: relative;
}
.overlay-box {
    position: absolute;
    border: 2px solid white;
    z-index: 1;
}
.k-scrollview-wrap.k-scrollview-animate .k-scrollview-view {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
}
.character-box {
    position: absolute;
    z-index: 5;
    border: 2px solid white;
    padding-top: 20px;
    box-sizing: border-box;
}
.top-border-label {
    display: none;
    position: absolute;
    bottom: 100%; 
    left: 50%;
    transform: translateX(-50%) translateY(-4px);
    background: white;
    color: black;
    font-size: clamp(1rem, 2.5vw, 2rem);
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    pointer-events: none;
    padding: 2px 6px;
    border: 1px solid black;
    border-radius: 3px;
    white-space: nowrap; 
    z-index: 10;
}
.character-box:hover .top-border-label {
    display: block;
}
.eye-slash {
    margin-left: 15px;
}
.eye-slash.k-selected {
    background-color: #BDC3C7;
    border-color: var(--kendo-color-border, rgba(0, 0, 0, 0.08));
}
.k-list-optionlabel.k-selected.k-focus.telerik-blazor {
    display: none;
}
.datesField .k-input-solid.k-invalid {
    border-color: var(--kendo-color-border-alt, rgba(0, 0, 0, 0.16));
}
.panel {
    display: flex;
    height: inherit;
    flex-direction: column;
}

.k-switch-md {
    width: 88px;
}
.k-switch-md .k-switch-label-on
{
    left:8px;
}
.k-switch-md .k-switch-label-off {
    overflow: visible;
}
.k-picker-md .k-input-inner {
    background-color: var(--kendo-color-surface-alt, #ffffff);
}
.k-column-list-wrapper .k-actions .k-button + .k-button {
    display: none;
}
.k-list-item.k-selected:has(> .filter-dropdown-item),
.k-list-item.k-selected:hover:has(> .filter-dropdown-item){
    background-color: var(--kendo-color-surface-alt, #ffffff);
    color: black;
    box-shadow: none;
}
.k-list-item.k-focus {
    box-shadow: none;
}
.filter-label {
    display: block;
    width: 100%;
    cursor: pointer;
}
.select-all {
    padding-block: var(--kendo-spacing-1, 0.25rem);
    padding-inline: var(--kendo-spacing-2, 0.5rem);
    display: flex;
    gap: var(--kendo-spacing-1, 0.25rem);
}
#app > :not(.loader-container) {
    animation: content-fade-in 0.15s ease-out;
}

@keyframes content-fade-in {
    from { opacity: 0.7; }
    to { opacity: 1; }
}

.loader-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
}

.grid-loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--kendo-color-surface, #fff);
    z-index: 10;
}

.loader {
    display: flex;
    position: relative;
    align-items: center;
    width: calc(var(--kendo-spacing-2, 0.5rem) * 3);
    height: calc(var(--kendo-spacing-2, 0.5rem) * 1.5);
}

.loader::before,
.loader::after {
    content: '';
    border-radius: 50%;
    background-color: var(--kendo-color-primary, #3f51b5);
    width: var(--kendo-spacing-2, 0.5rem);
    height: var(--kendo-spacing-2, 0.5rem);
    position: absolute;
    will-change: transform;
}

.loader::before {
    left: 0;
    transform: scale(1.5);
    transform-origin: 0 50%;
    animation: loader-pulse 1s ease -0.5s infinite;
}

.loader::after {
    right: 0;
    transform-origin: 100% 50%;
    animation: loader-pulse 1s ease 0s infinite;
}

@keyframes loader-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.5); }
    100% { transform: scale(1); }
}

/* Override Telerik InfiniteSpinner to match .loader style (two pulsing dots) */
.k-loader {
    display: flex;
    justify-content: center;
    align-items: center;
}

.k-loader .k-loader-canvas {
    display: flex;
    position: relative;
    align-items: center;
    width: calc(var(--kendo-spacing-2, 0.5rem) * 3) !important;
    height: calc(var(--kendo-spacing-2, 0.5rem) * 1.5) !important;
}

.k-loader-canvas .k-loader-segment {
    display: none !important;
}

.k-loader-canvas::before,
.k-loader-canvas::after {
    content: '';
    border-radius: 50%;
    background-color: var(--kendo-color-primary, #3f51b5);
    width: var(--kendo-spacing-2, 0.5rem);
    height: var(--kendo-spacing-2, 0.5rem);
    position: absolute;
    will-change: transform;
}

.k-loader-canvas::before {
    left: 0;
    transform: scale(1.5);
    transform-origin: 0 50%;
    animation: loader-pulse 1s ease -0.5s infinite;
}

.k-loader-canvas::after {
    right: 0;
    transform-origin: 100% 50%;
    animation: loader-pulse 1s ease 0s infinite;
}

.delete-buttons {
    display: flex;
    gap: 30px;
    justify-content: center;
    margin-top: 30px;
}

