﻿@import './planning.css';

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --tcu-font-family: 'Montserrat', 'Inter', 'Segoe UI', Arial, sans-serif;
    --bs-font-sans-serif: var(--tcu-font-family);
    --bs-body-font-family: var(--tcu-font-family);
    --rz-font-family: var(--tcu-font-family);
}

html,
body,
button,
input,
textarea,
select,
label,
table,
.app-shell,
.content-wrapper,
.main,
.header_wrapper,
.header_item,
.content_tab,
.content_tab_render,
.rz-body,
.rz-dialog,
.rz-dialog-titlebar,
.rz-dialog-title,
.rz-dialog-content,
.rz-panel,
.rz-card,
.rz-button,
.rz-inputtext,
.rz-dropdown,
.rz-multiselect,
.rz-textbox,
.rz-textarea,
.rz-data-grid,
.rz-data-grid-data,
.rz-grid-table,
.rz-tooltip,
.e-control,
.e-input,
.e-input-group,
.e-treeview,
.e-grid,
.e-dialog {
    font-family: var(--tcu-font-family);
}

.logo {
    background-color: #337ab7;
    width: 250px;
    height: 83px;
    -webkit-mask-size: 250px;
    display: block;
    -webkit-mask-image: url(/images/burstroy_logo.svg);
    mask-image: url(/images/burstroy_logo.svg);
}

/*Для нормализации шрифтов в Radzen Blazor*/
html {
    font-size: 1rem;
}

/*Radzen Blazor косяки заливки кнопок*/
.btn-primary:focus, .btn-primary:hover {
    background-position: 0 0px;
}

.btn-danger:focus, .btn-danger:hover {
    background-position: 0 0px;
}

/*Radzen Blazor ширина фильтра даты*/
.rz-overlaypanel {
    max-width: 400px;
}

/*Radzen Blazor высота комбобоксов и т.д*/
.rz-colorpicker, .rz-lookup-search input, .rz-spinner, .rz-calendar .rz-inputtext, .rz-multiselect, .rz-dropdown, .mask, .rz-textarea, .rz-textbox {
    box-shadow: none;
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem !important;
    font-size: 1rem;
    font-weight: 400;
}

    .rz-colorpicker:hover, .rz-lookup-search input:hover, .rz-spinner:hover, .rz-calenda .rz-inputtext:hover, .rz-multiselect:hover, .rz-dropdown:hover, .mask:hover, .rz-textarea:hover, .rz-textbox:hover {
        box-shadow: none !important;
    }

.rz-button-md .rzi {
    line-height: 2rem;
}

.rz-button-md, .rz-date-filter-buttons .rz-button, .rz-date-filter-buttons .rz-paginator-element, .rz-fileupload-choose, .rz-selectbutton .rz-button,
.rz-selectbutton .rz-paginator-element, .rz-splitbutton-menubutton, .rz-splitbutton .rz-button-text-icon-left, .rz-splitbutton .rz-button-text-only {
    height: 2rem;
}

.rz-tooltip {
    z-index: 999 !important;
}

.spinner {
    border: 16px solid silver;
    border-top: 16px solid #337AB7;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    animation: spin 700ms linear infinite;
    top: 50%;
    left: 50%;
    margin-top: -40px;
    margin-left: -40px;
    position: absolute;
}

/*Radzen Blazor стиль контекстного меню*/
.rz-menu:not(.rz-profile-menu) .rz-navigation-item-wrapper .rz-navigation-item-link {
    padding: 0.2rem 0.6rem;
}

.rz-navigation-item-wrapper .rz-navigation-item-link:hover {
    cursor: pointer;
    background-color: #f9f9f91f;
}

/*Radzen Blazor datepicker пупап*/
.rz-datepicker.rz-popup > .rz-datepicker-group > .rz-datepicker-header > .rz-datepicker-title {
    display: flex;
    height: 43px;
}

    .rz-datepicker.rz-popup > .rz-datepicker-group > .rz-datepicker-header > .rz-datepicker-title > .rz-dropdown {
        width: 50% !important;
    }

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}


.rz-dialog-wrapper,
.rz-dialog,
.rz-dialog-content {
    overflow: visible !important;
}

.rz-dialog-content {
    position: relative;
}

.rz-dialog-wrapper,
.rz-dialog-side-wrapper,
.rz-dialog {
    transform: none !important;
}

.rz-popup,
.rz-dropdown-panel,
.rz-overlaypanel {
    z-index: 2147483647 !important;
}

.rz-dialog-wrapper .rz-popup,
.rz-dialog-wrapper .rz-dropdown-panel,
.rz-dialog-wrapper .rz-overlaypanel,
.rz-dialog-side-wrapper .rz-popup,
.rz-dialog-side-wrapper .rz-dropdown-panel,
.rz-dialog-side-wrapper .rz-overlaypanel {
    z-index: 2147483647 !important;
}


.rz-dialog-mask {
    background: rgba(8, 14, 24, 0.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rz-dialog-wrapper {
    padding: 16px;
    box-sizing: border-box;
}

.rz-dialog {
    max-height: calc(100vh - 32px);
}

.rz-dialog-content {
    overscroll-behavior: contain;
}

@media (max-width: 1045px) {
    .rz-dialog-wrapper,
    .rz-dialog-side-wrapper {
        align-items: flex-start !important;
        padding: 8px;
    }

    .rz-dialog {
        width: min(100vw - 16px, 100%) !important;
        max-width: calc(100vw - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        margin: 0 auto !important;
    }

    .rz-dialog-content {
        max-height: calc(100dvh - 88px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
    }
}

.regs-edit-dialog {
    width: min(1120px, calc(100vw - 32px)) !important;
    max-width: min(1120px, calc(100vw - 32px)) !important;
    height: min(620px, calc(100dvh - 32px)) !important;
    max-height: min(620px, calc(100dvh - 32px)) !important;
    box-sizing: border-box;
}

    .regs-edit-dialog .rz-dialog-content {
        padding: 12px !important;
        overflow: hidden !important;
        box-sizing: border-box;
    }

    .regs-edit-dialog .rz-dialog {
        height: 100%;
        max-height: 100%;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
    }

    .regs-edit-dialog .rz-dialog-content {
        flex: 1 1 auto;
        min-height: 0;
    }

body.tcu-context-menu-mobile-open {
    overflow: hidden !important;
}

#tcu-mobile-context-menu-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(3, 10, 20, 0.44);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 4000;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

#tcu-mobile-context-menu-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 1045px) {
    ul#context_menu.tcu-context-menu-mobile {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        top: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: min(72dvh, 560px) !important;
        overflow: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        border-radius: 18px !important;
        background: linear-gradient(180deg, rgba(24,38,66,.98) 0%, rgba(15,26,47,.98) 100%) !important;
        box-shadow: 0 20px 50px rgba(0,0,0,.35) !important;
        z-index: 4001 !important;
        overscroll-behavior: contain;
    }

    ul#context_menu.tcu-context-menu-mobile > li,
    ul#context_menu.tcu-context-menu-mobile .context-form-box,
    ul#context_menu.tcu-context-menu-mobile .list-group-controller {
        list-style: none;
        display: block !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    ul#context_menu.tcu-context-menu-mobile > li.tcu-context-menu-mobile__header {
        display: flex !important;
        align-items: center;
        gap: 10px;
        padding: 14px 16px 12px;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        background: rgba(255,255,255,.03) !important;
        position: sticky !important;
        top: 0;
        z-index: 1;
    }

    ul#context_menu.tcu-context-menu-mobile a {
        min-height: 48px;
        display: flex !important;
        align-items: center;
        border-radius: 10px !important;
        margin: 8px 12px !important;
        padding: 12px 14px !important;
        color: #fff !important;
        background: rgba(66,133,244,.16) !important;
        text-decoration: none;
    }

    ul#context_menu.tcu-context-menu-mobile .tcu-context-menu-mobile__group {
        padding: 4px 0 8px;
    }

    ul#context_menu.tcu-context-menu-mobile .tcu-context-menu-mobile__group-title {
        padding: 8px 16px 0;
        color: rgba(255,255,255,.7);
        font-size: .82rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    ul#context_menu.tcu-context-menu-mobile .tcu-context-menu-mobile__group-body {
        padding-top: 2px;
    }
}

.rz-dialog-mask {
    z-index: 2147483400 !important;
    background: rgba(8, 14, 24, 0.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rz-dialog-wrapper,
.rz-dialog-side-wrapper {
    z-index: 2147483500 !important;
}

.rz-dialog:has(.forecast-cards) {
    width: min(920px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
}

.rz-dialog:has(.forecast-cards) .rz-dialog-content {
    width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
}

.filter-tree-modal,
.append-entity-modal {
    z-index: 2147483400 !important;
    background: rgba(8, 14, 24, 0.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.filter-tree-modal__dialog,
.append-entity-modal__dialog {
    z-index: 2147483500 !important;
}


.rz-dialog-wrapper:has(.forecast-cards) .rz-dialog,
.rz-dialog-side-wrapper:has(.forecast-cards) .rz-dialog,
.rz-dialog:has(.forecast-cards) {
    width: min(920px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
}

.rz-dialog-wrapper:has(.forecast-cards) .rz-dialog-content,
.rz-dialog-side-wrapper:has(.forecast-cards) .rz-dialog-content,
.rz-dialog:has(.forecast-cards) .rz-dialog-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    box-sizing: border-box;
}

.rz-dialog-wrapper:has(.forecast-cards) .rz-dialog-titlebar,
.rz-dialog-side-wrapper:has(.forecast-cards) .rz-dialog-titlebar,
.rz-dialog:has(.forecast-cards) .rz-dialog-titlebar {
    min-height: 48px;
}

.filter-tree-modal,
.append-entity-modal {
    isolation: isolate;
    z-index: 2147483400 !important;
    background: rgba(8, 14, 24, 0.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.filter-tree-modal__dialog,
.append-entity-modal__dialog {
    z-index: 2147483500 !important;
}


body:has(.rz-dialog-mask) .header_wrapper,
body:has(.rz-dialog-mask) .header_tab,
body:has(.rz-dialog-mask) .header_tabs_wrapper,
body:has(.rz-dialog-mask) .header_item,
body:has(.rz-dialog-mask) .header_navigate_wrapper {
    z-index: 0 !important;
}

body:has(.rz-dialog-mask) .rz-splitter-bar,
body:has(.rz-dialog-mask) .append-entity-fab,
body:has(.rz-dialog-mask) .filter-tree__types-btn {
    z-index: 0 !important;
}

.rz-dialog-titlebar-close,
.rz-dialog-titlebar-close.rz-button,
.rz-dialog-titlebar-close.rz-button.rz-light,
.rz-dialog .rz-dialog-titlebar-close {
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 999px !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
    box-shadow: none !important;
}

.rz-dialog-titlebar-close:hover,
.rz-dialog-titlebar-close.rz-button:hover,
.rz-dialog .rz-dialog-titlebar-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.rz-dialog-wrapper:has(.forecast-cards),
.rz-dialog-side-wrapper:has(.forecast-cards) {
    align-items: center !important;
    justify-content: center !important;
}

.rz-dialog-wrapper:has(.forecast-cards) .rz-dialog-content,
.rz-dialog-side-wrapper:has(.forecast-cards) .rz-dialog-content,
.rz-dialog:has(.forecast-cards) .rz-dialog-content {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
}

.rz-dialog-wrapper:has(.forecast-cards) .forecast-cards,
.rz-dialog-side-wrapper:has(.forecast-cards) .forecast-cards,
.rz-dialog:has(.forecast-cards) .forecast-cards {
    margin-inline: auto !important;
}

[data-bs-theme="dark"] .rz-dialog-titlebar-close,
[data-bs-theme="dark"] .rz-dialog-titlebar-close.rz-button,
[data-bs-theme="dark"] .rz-dialog .rz-dialog-titlebar-close,
body.rz-dark .rz-dialog-titlebar-close,
body.rz-dark .rz-dialog-titlebar-close.rz-button,
body.rz-dark .rz-dialog .rz-dialog-titlebar-close {
    border-color: rgba(148, 163, 184, 0.36) !important;
    background: #1f2937 !important;
    color: #e5e7eb !important;
}

[data-bs-theme="dark"] .rz-dialog-titlebar-close:hover,
[data-bs-theme="dark"] .rz-dialog-titlebar-close.rz-button:hover,
[data-bs-theme="dark"] .rz-dialog .rz-dialog-titlebar-close:hover,
body.rz-dark .rz-dialog-titlebar-close:hover,
body.rz-dark .rz-dialog-titlebar-close.rz-button:hover,
body.rz-dark .rz-dialog .rz-dialog-titlebar-close:hover {
    background: #334155 !important;
    color: #ffffff !important;
}


.rz-dialog-mask {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    background: rgba(8, 14, 24, 0.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.rz-dialog-wrapper,
.rz-dialog-side-wrapper {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483100 !important;
    pointer-events: auto !important;
}

.rz-dialog-wrapper > .rz-dialog,
.rz-dialog-side-wrapper > .rz-dialog,
.rz-dialog {
    z-index: 2147483200 !important;
}

body:has(.rz-dialog-mask) .header_wrapper,
body:has(.rz-dialog-mask) .header_tab,
body:has(.rz-dialog-mask) .header_tabs_wrapper,
body:has(.rz-dialog-mask) .header_item,
body:has(.rz-dialog-mask) .header_navigate_wrapper,
body:has(.burstroy-popup__overlay) .header_wrapper,
body:has(.burstroy-popup__overlay) .header_tab,
body:has(.burstroy-popup__overlay) .header_tabs_wrapper,
body:has(.burstroy-popup__overlay) .header_item,
body:has(.burstroy-popup__overlay) .header_navigate_wrapper,
body:has(.burstroy-popup__hover-tooltip) .header_wrapper,
body:has(.burstroy-popup__hover-tooltip) .header_tab,
body:has(.burstroy-popup__hover-tooltip) .header_tabs_wrapper,
body:has(.burstroy-popup__hover-tooltip) .header_item,
body:has(.burstroy-popup__hover-tooltip) .header_navigate_wrapper {
    z-index: 0 !important;
    pointer-events: none !important;
}

body:has(.rz-dialog-mask) .rz-splitter-bar,
body:has(.rz-dialog-mask) .append-entity-fab,
body:has(.rz-dialog-mask) .filter-tree__types-btn,
body:has(.burstroy-popup__overlay) .rz-splitter-bar,
body:has(.burstroy-popup__overlay) .append-entity-fab,
body:has(.burstroy-popup__overlay) .filter-tree__types-btn,
body:has(.burstroy-popup__hover-tooltip) .rz-splitter-bar,
body:has(.burstroy-popup__hover-tooltip) .append-entity-fab,
body:has(.burstroy-popup__hover-tooltip) .filter-tree__types-btn {
    z-index: 0 !important;
    pointer-events: none !important;
}

body:has(.burstroy-popup__overlay) .content_tab_render.ObjectCard,
body:has(.burstroy-popup__hover-tooltip) .content_tab_render.ObjectCard,
body:has(.burstroy-popup__overlay) .content_tab_render_inner,
body:has(.burstroy-popup__hover-tooltip) .content_tab_render_inner {
    position: relative;
    z-index: 2147482000 !important;
}

body:has(.burstroy-popup__overlay) .burstroy-popup__overlay {
    z-index: 2147483000 !important;
}

body:has(.burstroy-popup__hover-tooltip) .burstroy-popup__hover-tooltip {
    z-index: 2147483600 !important;
}

.rz-dialog:has(.complex-category-dialog),
.rz-dialog-wrapper:has(.complex-category-dialog) .rz-dialog,
.rz-dialog-side-wrapper:has(.complex-category-dialog) .rz-dialog {
    overflow: hidden !important;
    max-height: calc(100vh - 32px) !important;
}

.rz-dialog:has(.complex-category-dialog) .rz-dialog-content,
.rz-dialog-wrapper:has(.complex-category-dialog) .rz-dialog-content,
.rz-dialog-side-wrapper:has(.complex-category-dialog) .rz-dialog-content {
    overflow: hidden !important;
    padding-bottom: 0 !important;
    box-sizing: border-box;
}

.rz-dialog-wrapper:has(.complex-category-dialog),
.rz-dialog-side-wrapper:has(.complex-category-dialog) {
    align-items: center !important;
}

@media (max-width: 1045px) {
    .rz-dialog-wrapper:has(.complex-category-dialog),
    .rz-dialog-side-wrapper:has(.complex-category-dialog) {
        align-items: flex-start !important;
    }

    .rz-dialog:has(.complex-category-dialog),
    .rz-dialog-wrapper:has(.complex-category-dialog) .rz-dialog,
    .rz-dialog-side-wrapper:has(.complex-category-dialog) .rz-dialog {
        max-height: calc(100dvh - 16px) !important;
    }
}

html.app-theme-transitioning,
html.app-theme-transitioning body {
    cursor: wait;
}

html.app-theme-transitioning body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    pointer-events: none;
    background: rgba(248, 250, 252, 0.92);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: app-theme-transition-cover 340ms ease-out forwards;
}

html[data-theme-transition-target="dark"].app-theme-transitioning body::before {
    background: rgba(15, 23, 42, 0.9);
}

html[data-theme-transition-target="light"].app-theme-transitioning body::before {
    background: rgba(248, 250, 252, 0.92);
}

html.app-theme-transitioning body,
html.app-theme-transitioning body * {
    transition-property: background-color, border-color, color, box-shadow, fill, stroke;
    transition-duration: 180ms;
    transition-timing-function: ease;
}

@keyframes app-theme-transition-cover {
    0% {
        opacity: 0.88;
    }

    55% {
        opacity: 0.72;
    }

    100% {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.app-theme-transitioning body::before {
        animation-duration: 1ms;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    html.app-theme-transitioning body,
    html.app-theme-transitioning body * {
        transition-duration: 1ms;
    }
}

.rz-dialog:has(.live-values-dialog) {
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
}

.rz-dialog:has(.live-values-dialog) .rz-dialog-titlebar {
    flex: 0 0 auto;
}

.rz-dialog:has(.live-values-dialog) .rz-dialog-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
    padding: 14px !important;
    box-sizing: border-box;
}

.profile-modal-backdrop,
.employees-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    background: rgba(15, 23, 42, 0.54) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    opacity: 1 !important;
}

.profile-notification-dialog,
.employees-group-modal {
    position: relative !important;
    z-index: 2147483100 !important;
    filter: none !important;
    opacity: 1 !important;
}

body:has(.profile-modal-backdrop) .header_wrapper,
body:has(.profile-modal-backdrop) .header_tab,
body:has(.profile-modal-backdrop) .header_tabs_wrapper,
body:has(.profile-modal-backdrop) .header_item,
body:has(.profile-modal-backdrop) .header_navigate_wrapper,
body:has(.employees-modal-backdrop) .header_wrapper,
body:has(.employees-modal-backdrop) .header_tab,
body:has(.employees-modal-backdrop) .header_tabs_wrapper,
body:has(.employees-modal-backdrop) .header_item,
body:has(.employees-modal-backdrop) .header_navigate_wrapper {
    z-index: 0 !important;
    pointer-events: none !important;
}
