:root {
    --wm-border: #d9dee6;
    --wm-border-strong: #c6ccd5;
    --wm-titlebar-bg: #f6f7f9;
    --wm-titlebar-text: #20252d;
    --wm-control-hover: #e7e9ed;
    --wm-close-hover: #e5484d;
    --wm-shadow: 0 18px 54px rgba(17, 24, 39, .20), 0 3px 12px rgba(17, 24, 39, .10);
}

/* V380: lightweight, resizable desktop-style windows. */
.app-managed-window {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    resize: none !important;
    min-width: min(320px, calc(100vw - 12px));
    min-height: 180px;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border: 1px solid var(--wm-border-strong) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: var(--wm-shadow) !important;
    transform: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
}

.app-managed-window > .app-window-titlebar {
    order: -1000;
    flex: 0 0 38px;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px 0 12px;
    margin: 0 calc(0px - var(--wm-pad-right, 0px)) 10px calc(0px - var(--wm-pad-left, 0px));
    border-radius: 11px 11px 0 0;
    border-bottom: 1px solid var(--wm-border);
    background: var(--wm-titlebar-bg);
    color: var(--wm-titlebar-text);
    user-select: none;
    cursor: grab;
    touch-action: none;
    position: sticky;
    top: 0;
    z-index: 20;
}

.app-managed-window.app-window-dragging > .app-window-titlebar { cursor: grabbing; }
.app-window-titlebar__title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: -.01em;
}
.app-window-titlebar__controls {
    display: flex;
    align-self: stretch;
    margin-left: auto;
}
.app-window-control {
    width: 42px;
    min-width: 42px;
    height: 100%;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #414955;
    font: inherit;
    cursor: pointer;
}
.app-window-control:hover { background: var(--wm-control-hover); color: #15191f; }
.app-window-control--close:hover { background: var(--wm-close-hover); color: #fff; }
.app-window-control--minimize span { width: 11px; height: 1px; background: currentColor; transform: translateY(4px); }
.app-window-control--maximize span { width: 11px; height: 9px; border: 1.4px solid currentColor; }
.app-window-control--restore span { position: relative; width: 10px; height: 8px; border: 1.4px solid currentColor; }
.app-window-control--restore span::before { content:""; position:absolute; left:2px; top:-4px; width:9px; height:7px; border:1.4px solid currentColor; background:var(--wm-titlebar-bg); }
.app-window-control--close span { position: relative; width: 13px; height: 13px; }
.app-window-control--close span::before,
.app-window-control--close span::after { content:""; position:absolute; left:6px; top:0; width:1.4px; height:14px; background:currentColor; }
.app-window-control--close span::before { transform:rotate(45deg); }
.app-window-control--close span::after { transform:rotate(-45deg); }

.app-managed-window [data-app-window-original-close="1"] { display: none !important; }

/* Natural content height is preserved, so the window itself becomes scrollable. */
.app-managed-window > :not(.app-window-titlebar):not(.app-window-resize-handle) {
    min-height: 0;
    flex-shrink: 0 !important;
    max-width: 100%;
}
.app-managed-window > form,
.app-managed-window > section,
.app-managed-window > .modal-body,
.app-managed-window > .columns-config-grid,
.app-managed-window > .modal-filter-block { max-width: 100%; }
.app-managed-window > .modal-heading,
.app-managed-window > .modal-head,
.app-managed-window > header:not(.app-window-titlebar),
.app-managed-window > .modal-actions,
.app-managed-window > footer { flex: 0 0 auto !important; }

.app-managed-window.app-window-positioned {
    position: fixed !important;
    margin: 0 !important;
    right: auto !important;
    bottom: auto !important;
}
.app-managed-window.app-window-maximized {
    position: fixed !important;
    inset: 6px !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 10px !important;
}
.app-managed-window.app-window-minimized { display: none !important; }

/* Minimized non-dialog overlays are removed from layout and compositing entirely. */
.app-window-host.app-window-overlay-minimized,
.modal-overlay.app-window-overlay-minimized,
.pc-modal.app-window-overlay-minimized,
.profile-modal.app-window-overlay-minimized,
.promotion-api-modal.app-window-overlay-minimized,
.promotion-add-products-modal.app-window-overlay-minimized,
.review-filter-overlay.app-window-overlay-minimized,
.review-media-overlay.app-window-overlay-minimized,
.news-create-overlay.app-window-overlay-minimized,
.modal-backdrop.app-window-overlay-minimized,
.chat-confirm-overlay.app-window-overlay-minimized,
.chat-filter-overlay.app-window-overlay-minimized,
.rt-modal-backdrop.app-window-overlay-minimized,
.app-window-floating-host.app-window-overlay-minimized {
    display: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    pointer-events: none !important;
}
.app-window-overlay-minimized::backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
}

/* Lightweight overlay: no GPU-heavy blur. */
.modal-overlay,
.pc-modal,
.profile-modal,
.promotion-api-modal,
.promotion-add-products-modal,
.review-filter-overlay,
.review-media-overlay,
.news-create-overlay,
.modal-backdrop,
.chat-confirm-overlay,
.chat-filter-overlay,
.rt-modal-backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
dialog.app-window-host:not(.app-managed-window) {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}
dialog.app-window-host::backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.app-window-floating-host {
    position: fixed;
    inset: 0;
    z-index: 10000;
    pointer-events: auto;
    background: transparent !important;
}
.app-window-floating-host > .app-window-floating-card {
    pointer-events: auto;
}
.app-window-persisted-placeholder {
    padding: 18px 20px;
    color: #505864;
    font-size: 13px;
    line-height: 1.45;
}

/* Fixed resize zones around every edge and corner. */
.app-window-resize-handle {
    position: fixed;
    display: block;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    touch-action: none;
    user-select: none;
    pointer-events: auto;
}
.app-window-resize-handle[hidden] { display: none !important; }
.app-window-resize-handle--n,
.app-window-resize-handle--s { cursor: ns-resize; }
.app-window-resize-handle--e,
.app-window-resize-handle--w { cursor: ew-resize; }
.app-window-resize-handle--ne,
.app-window-resize-handle--sw { cursor: nesw-resize; }
.app-window-resize-handle--nw,
.app-window-resize-handle--se { cursor: nwse-resize; }
.app-window-resize-handle--se::after {
    content: "";
    position: absolute;
    right: 3px;
    bottom: 3px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #8b939e;
    border-bottom: 2px solid #8b939e;
    opacity: .8;
}

body.app-window-interacting,
body.app-window-interacting * {
    user-select: none !important;
}
body.app-window-resizing-n,
body.app-window-resizing-n * ,
body.app-window-resizing-s,
body.app-window-resizing-s * { cursor: ns-resize !important; }
body.app-window-resizing-e,
body.app-window-resizing-e * ,
body.app-window-resizing-w,
body.app-window-resizing-w * { cursor: ew-resize !important; }
body.app-window-resizing-ne,
body.app-window-resizing-ne * ,
body.app-window-resizing-sw,
body.app-window-resizing-sw * { cursor: nesw-resize !important; }
body.app-window-resizing-nw,
body.app-window-resizing-nw * ,
body.app-window-resizing-se,
body.app-window-resizing-se * { cursor: nwse-resize !important; }

/* Bottom taskbar for minimized windows. */
#app-window-dock {
    position: fixed;
    z-index: 100000;
    left: max(12px, calc(var(--gm-sidebar-width, 0px) + 12px));
    right: 12px;
    bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    pointer-events: none;
}
.app-window-dock-button {
    pointer-events: auto;
    max-width: min(300px, 45vw);
    min-height: 38px;
    padding: 8px 14px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    border: 1px solid #cbd1da;
    border-radius: 9px;
    background: rgba(255,255,255,.98);
    color: #252b34;
    box-shadow: 0 6px 18px rgba(17,24,39,.14);
    font-size: 12px;
    font-weight: 750;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.app-window-dock-button:hover { background:#f4f5f7; border-color:#aeb6c1; }
.app-window-dock-button::before { content:""; width:12px; height:10px; border:1.4px solid currentColor; border-radius:1px; flex:0 0 auto; }

@media (max-width: 780px) {
    .app-managed-window {
        width: calc(100vw - 12px) !important;
        max-width: calc(100vw - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        border-radius: 12px !important;
    }
    .app-managed-window.app-window-positioned,
    .app-managed-window.app-window-maximized {
        left: 6px !important;
        top: 6px !important;
        right: auto !important;
        bottom: auto !important;
        width: calc(100vw - 12px) !important;
        height: calc(100dvh - 12px) !important;
    }
    .app-managed-window > .app-window-titlebar { cursor: default; }
    .app-window-control--maximize,
    .app-window-resize-handle { display:none !important; }
    #app-window-dock { left: 8px; right: 8px; bottom: 8px; }
    .app-window-dock-button { max-width: calc(100vw - 16px); flex: 1 1 auto; }
}

/* V382: titlebar fills the real outer window width, including the scrollbar gutter. */
.app-managed-window {
    box-sizing: border-box !important;
    --wm-scrollbar-width: 0px;
}
.app-managed-window > .app-window-titlebar {
    align-self: flex-start !important;
    box-sizing: border-box !important;
    inline-size: calc(
        100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)
        + var(--wm-scrollbar-width, 0px) + 2px
    ) !important;
    width: calc(
        100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)
        + var(--wm-scrollbar-width, 0px) + 2px
    ) !important;
    min-inline-size: 0 !important;
    max-inline-size: none !important;
    min-height: 50px !important;
    flex-basis: 50px !important;
    margin-top: -1px !important;
    margin-right: calc(-1px - var(--wm-pad-right, 0px) - var(--wm-scrollbar-width, 0px)) !important;
    margin-bottom: 8px !important;
    margin-left: calc(-1px - var(--wm-pad-left, 0px)) !important;
    padding-left: calc(15px + var(--wm-pad-left, 0px)) !important;
    padding-right: 0 !important;
    border-radius: 11px 11px 0 0 !important;
}
.app-window-titlebar__title { padding-left: 0 !important; }
.app-window-titlebar__controls { margin-right: 0 !important; }


/* V384: titlebar spans the full shell; scrollbars start below controls. */
.app-managed-window {
    overflow: hidden !important;
    scrollbar-gutter: auto !important;
}
.app-managed-window > .app-window-titlebar {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 0 0 !important;
    flex: 0 0 48px !important;
    min-height: 48px !important;
    border-radius: 11px 11px 0 0 !important;
}
.app-managed-window > .app-window-content {
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable !important;
    box-sizing: border-box !important;
}
.app-managed-window > .app-window-content > * {
    max-width: 100%;
}
.app-managed-window > .app-window-content > form,
.app-managed-window > .app-window-content > section,
.app-managed-window > .app-window-content > .modal-body,
.app-managed-window > .app-window-content > .columns-config-grid,
.app-managed-window > .app-window-content > .modal-filter-block {
    max-width: 100%;
}
.app-window-titlebar__title {
    font-size: 13px !important;
}
.app-window-control {
    width: 48px !important;
    min-width: 48px !important;
}


/* V385: visible window scrollbar starts below the control bar. */
.app-managed-window { overflow: hidden !important; }
.app-managed-window > .app-window-titlebar {
    position: relative !important;
    top: auto !important;
    z-index: 30 !important;
    flex: 0 0 48px !important;
}
.app-managed-window > .app-window-content {
    position: relative !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    overflow-y: scroll !important;
    scrollbar-gutter: stable !important;
    scrollbar-width: auto !important;
}
.app-managed-window > .app-window-content::-webkit-scrollbar { width: 12px; height: 12px; }
.app-managed-window > .app-window-content::-webkit-scrollbar-track {
    background: #f1f2f4;
    border-left: 1px solid #e2e5e9;
}
.app-managed-window > .app-window-content::-webkit-scrollbar-thumb {
    min-height: 34px;
    border: 3px solid #f1f2f4;
    border-radius: 999px;
    background: #949aa3;
}
.app-managed-window > .app-window-content::-webkit-scrollbar-thumb:hover { background: #747b85; }

/* V386: a resized window always gives its body a constrained scroll viewport. */
.app-managed-window.app-window-positioned,
.app-managed-window.app-window-maximized {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 48px minmax(0, 1fr) !important;
    align-content: stretch !important;
}
.app-managed-window.app-window-positioned > .app-window-titlebar,
.app-managed-window.app-window-maximized > .app-window-titlebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}
.app-managed-window.app-window-positioned > .app-window-content,
.app-managed-window.app-window-maximized > .app-window-content {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: stretch !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable !important;
}



/* V392: desktop geometry is controlled by inline coordinates. Do not override
   left/top with an important inset declaration. */
.app-managed-window.app-window-positioned {
    right: auto !important;
    bottom: auto !important;
}

/* WB cost editor inside the desktop-window shell. The outer card is padding-free
   and resizable; only the body scrolls. */
#cost-modal .app-managed-window.cost-modal-card {
    min-width: min(430px, calc(100vw - 12px)) !important;
    min-height: 300px !important;
    width: auto;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}
#cost-modal .app-managed-window.cost-modal-card > .app-window-content {
    padding: 22px 24px 24px !important;
    overflow: auto !important;
    background: #fff !important;
}
#cost-modal .app-managed-window.cost-modal-card .modal-heading {
    position: static !important;
    inset: auto !important;
    margin: 0 0 18px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid #e7eaee !important;
    border-radius: 0 !important;
    background: transparent !important;
}
#cost-modal .app-managed-window.cost-modal-card .modal-heading > div {
    min-width: 0 !important;
}
#cost-modal .app-managed-window.cost-modal-card .modal-close {
    display: none !important;
}
#cost-modal .app-managed-window.cost-modal-card .cost-form-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
    gap: 14px !important;
}
#cost-modal .app-managed-window.cost-modal-card .cost-form-grid label {
    min-width: 0 !important;
    padding: 14px !important;
}
#cost-modal .app-managed-window.cost-modal-card .cost-total-line {
    position: static !important;
    margin: 18px 0 0 !important;
}
#cost-modal .app-managed-window.cost-modal-card .modal-actions {
    position: static !important;
    inset: auto !important;
    margin: 18px 0 0 !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #e7eaee !important;
    background: transparent !important;
}
@media (max-width: 700px) {
    #cost-modal .app-managed-window.cost-modal-card .cost-form-grid {
        grid-template-columns: 1fr !important;
    }
}

/* V409: one viewport-level dimmer covers the sidebar and the utility header. */
#app-window-screen-dimmer {
    position: fixed;
    inset: 0;
    z-index: 11990;
    background: transparent !important;
    pointer-events: none;
}
#app-window-screen-dimmer[hidden] { display: none !important; }
.app-window-managed-host {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
dialog.app-window-managed-host::backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Drag on the compositor and update resize handles once at the end. */
.app-managed-window.app-window-dragging {
    transform: translate3d(var(--wm-drag-x, 0px), var(--wm-drag-y, 0px), 0) !important;
    will-change: transform !important;
    transition: none !important;
}
.app-managed-window.app-window-resizing {
    will-change: width, height !important;
    transition: none !important;
}

/* Cost editors are paint-contained and avoid expensive blur/shadow redraws. */
#cost-modal,
#yandex-cost-modal {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
#cost-modal .app-managed-window.cost-modal-card,
#yandex-cost-modal .app-managed-window.cost-modal-card {
    contain: layout paint style !important;
    box-shadow: 0 12px 36px rgba(17, 24, 39, .18) !important;
}
#cost-modal .app-managed-window.cost-modal-card > .app-window-content,
#yandex-cost-modal .app-managed-window.cost-modal-card > .app-window-content {
    contain: layout style !important;
}
#cost-modal.is-cost-loading .cost-form-grid,
#cost-modal.is-cost-loading .cost-total-line,
#cost-modal.is-cost-loading .modal-actions,
#yandex-cost-modal.is-cost-loading .cost-editor-grid,
#yandex-cost-modal.is-cost-loading .cost-total-line,
#yandex-cost-modal.is-cost-loading .modal-actions {
    opacity: .46;
    pointer-events: none;
}
#cost-modal.is-cost-loading .app-window-content::after,
#yandex-cost-modal.is-cost-loading .app-window-content::after {
    content: "Загрузка себестоимости…";
    position: sticky;
    left: 50%;
    bottom: 16px;
    z-index: 5;
    display: block;
    width: max-content;
    max-width: calc(100% - 32px);
    margin: 12px auto 0;
    padding: 8px 12px;
    border: 1px solid #d7dce3;
    border-radius: 10px;
    background: rgba(255,255,255,.96);
    color: #4f5661;
    font-size: 12px;
    font-weight: 750;
    box-shadow: 0 8px 22px rgba(17,24,39,.10);
}

/* V410: modal windows no longer dim or blur the workspace behind them. */
#app-window-screen-dimmer {
    display: none !important;
    background: transparent !important;
}
.modal-overlay,
.pc-modal,
.profile-modal,
.promotion-api-modal,
.promotion-add-products-modal,
.review-filter-overlay,
.review-media-overlay,
.news-create-overlay,
.modal-backdrop,
.chat-confirm-overlay,
.chat-filter-overlay,
.rt-modal-backdrop,
.rt-filter-overlay,
.app-window-floating-host,
.app-filter-backdrop,
.profile-modal__backdrop,
.promotion-api-modal__backdrop,
.promotion-add-products-modal__backdrop,
.promotion-products-modal__backdrop,
.promotion-confirm-modal__backdrop,
.review-media-backdrop,
.rt-filter-backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
dialog::backdrop {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}


/* V422: stable modal shell. Preserve native modal hierarchy and sizing. */
.app-managed-window {
    box-sizing: border-box !important;
    display: block !important;
    overflow: auto !important;
    padding-top: var(--wm-pad-top, 0px) !important;
    padding-right: var(--wm-pad-right, 0px) !important;
    padding-bottom: var(--wm-pad-bottom, 0px) !important;
    padding-left: var(--wm-pad-left, 0px) !important;
    min-width: min(560px, calc(100vw - 12px)) !important;
    min-height: min(360px, calc(100dvh - 12px)) !important;
    scrollbar-gutter: stable !important;
}
.app-managed-window > .app-window-titlebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    box-sizing: border-box !important;
    width: calc(100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)) !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 48px !important;
    margin-top: calc(0px - var(--wm-pad-top, 0px)) !important;
    margin-right: calc(0px - var(--wm-pad-right, 0px)) !important;
    margin-bottom: 14px !important;
    margin-left: calc(0px - var(--wm-pad-left, 0px)) !important;
    padding-left: 15px !important;
    padding-right: 0 !important;
    border-radius: 11px 11px 0 0 !important;
}
.app-managed-window.app-window-positioned,
.app-managed-window.app-window-maximized {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    align-content: normal !important;
    overflow: auto !important;
}
.app-managed-window.app-window-maximized {
    max-width: none !important;
    max-height: none !important;
}
/* The old body wrapper is no longer created, but keep restored persisted windows usable. */
.app-managed-window > .app-window-content {
    display: contents !important;
}
/* Keep all native direct-child modal rules working after window decoration. */
.app-managed-window > header:not(.app-window-titlebar),
.app-managed-window > .modal-heading,
.app-managed-window > .modal-head,
.app-managed-window > form,
.app-managed-window > section,
.app-managed-window > footer,
.app-managed-window > .modal-actions {
    max-width: 100% !important;
}
@media (max-width: 780px) {
    .app-managed-window {
        min-width: calc(100vw - 12px) !important;
        min-height: calc(100dvh - 12px) !important;
    }
}

/* V429: keep the titlebar flush with the outer top edge.
   The original top padding is moved to the first real content block instead
   of staying above the titlebar, which caused the top strip to slide down. */
.app-managed-window {
    padding-top: 0 !important;
    padding-right: var(--wm-pad-right, 0px) !important;
    padding-bottom: var(--wm-pad-bottom, 0px) !important;
    padding-left: var(--wm-pad-left, 0px) !important;
}
.app-managed-window > .app-window-titlebar {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)) !important;
    inline-size: calc(100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)) !important;
    margin-top: 0 !important;
    margin-right: calc(0px - var(--wm-pad-right, 0px)) !important;
    margin-bottom: 14px !important;
    margin-left: calc(0px - var(--wm-pad-left, 0px)) !important;
    transform: none !important;
}
.app-managed-window > .app-window-titlebar + * {
    margin-top: var(--wm-pad-top, 0px) !important;
}
@media (max-width: 780px) {
    .app-managed-window > .app-window-titlebar {
        margin-bottom: 12px !important;
    }
}

/* V424: titlebar reaches both outer edges, including the native scrollbar gutter. */
.app-managed-window {
    scrollbar-gutter: auto !important;
}
.app-managed-window > .app-window-titlebar {
    box-sizing: border-box !important;
    width: calc(
        100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)
        + var(--wm-scrollbar-width, 0px) + 2px
    ) !important;
    inline-size: calc(
        100% + var(--wm-pad-left, 0px) + var(--wm-pad-right, 0px)
        + var(--wm-scrollbar-width, 0px) + 2px
    ) !important;
    max-width: none !important;
    margin-top: -1px !important;
    margin-right: calc(-1px - var(--wm-pad-right, 0px) - var(--wm-scrollbar-width, 0px)) !important;
    margin-left: calc(-1px - var(--wm-pad-left, 0px)) !important;
    border-radius: 11px 11px 0 0 !important;
}

/* Restored windows keep their original modal classes and page stylesheet rules. */
.app-window-floating-host {
    isolation: isolate;
}
.app-window-floating-host > .app-window-floating-card {
    box-sizing: border-box;
}


/* V425: show the bottom scrollbar only for genuine content overflow and
   allow users to reduce desktop windows further. */
.app-managed-window,
.app-managed-window.app-window-positioned,
.app-managed-window.app-window-maximized {
    min-width: min(360px, calc(100vw - 12px)) !important;
    min-height: min(240px, calc(100dvh - 12px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
.app-managed-window.app-window-has-horizontal-overflow,
.app-managed-window.app-window-positioned.app-window-has-horizontal-overflow,
.app-managed-window.app-window-maximized.app-window-has-horizontal-overflow {
    overflow-x: auto !important;
}
@media (max-width: 780px) {
    .app-managed-window,
    .app-managed-window.app-window-positioned,
    .app-managed-window.app-window-maximized {
        min-width: calc(100vw - 12px) !important;
        min-height: calc(100dvh - 12px) !important;
        overflow-x: hidden !important;
    }
}


/* V428: cost editor windows should start content immediately below the desktop titlebar. */
#cost-modal .app-managed-window.cost-modal-card > .app-window-titlebar,
#yandex-cost-modal .app-managed-window.columns-modal-card > .app-window-titlebar,
#yandex-cost-modal .app-managed-window.cost-modal-card > .app-window-titlebar {
    margin-bottom: 0 !important;
}


/* V429: content blocks that already include their own framing should not
   receive extra top spacing twice. */
#cost-modal .app-managed-window.cost-modal-card > .app-window-titlebar + .modal-heading,
#yandex-cost-modal .app-managed-window.columns-modal-card > .app-window-titlebar + .modal-heading,
#yandex-cost-modal .app-managed-window.cost-modal-card > .app-window-titlebar + .modal-heading {
    margin-top: 0 !important;
}
