/*
 * OneHealth 페이지 분할 레이아웃 최종 보정 레이어
 * - admin/global CSS가 일반 화면의 grid 분할을 덮는 문제를 방지한다.
 * - 관리 화면 전용 CSS와 별개로 일반 화면의 분할 레이아웃만 보정한다.
 */
@media (min-width: 1181px) {
    body .oh-acoustic-page {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-acoustic-page > .oh-acoustic-split {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: grid !important;
        grid-template-columns: minmax(420px, .78fr) minmax(620px, 1.22fr) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: var(--oh-page-gap, .75rem) !important;
        align-items: stretch !important;
    }

    body .oh-acoustic-page .oh-acoustic-pane {
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-acoustic-page .oh-acoustic-upload-pane {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body .oh-acoustic-page .oh-acoustic-result-pane {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body .oh-acoustic-page .oh-acoustic-subpanel:first-of-type,
    body .oh-acoustic-page .oh-acoustic-prediction-panel {
        flex: 1 1 auto !important;
    }

    body .oh-map-page {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-map-page > .oh-map-three-pane {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: grid !important;
        grid-template-columns: minmax(300px, 22%) minmax(640px, 1fr) minmax(320px, 24%) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: var(--oh-page-gap, .75rem) !important;
        align-items: stretch !important;
    }

    body .oh-map-page .oh-map-list-pane {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body .oh-map-page .oh-map-center-pane {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    body .oh-map-page .oh-map-info-pane {
        grid-column: 3 !important;
        grid-row: 1 !important;
    }

    body .oh-map-page .oh-map-three-pane > .oh-card {
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-map-page .oh-map-center-pane .oh-map-container {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body .oh-map-page .oh-map-list-pane .oh-table-wrap,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll,
    body .oh-map-page .oh-map-info-pane {
        overflow: auto !important;
        scrollbar-gutter: stable !important;
    }
}

@media (max-width: 1180px) {
    body .oh-acoustic-page > .oh-acoustic-split,
    body .oh-map-page > .oh-map-three-pane {
        display: grid !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        overflow: visible !important;
    }
}

/* hotfix 040: 1920x1080 UI balance pass
 * - 생태/알파코로나 3분할 폭을 병원체 분석 기준에 맞춘다.
 * - 초음파 AI는 app.css의 과거 max-height 제한을 제거하고 두 패널이 화면 높이를 채우게 한다.
 * - 지도 탐색 통계 카드/필터/우측 정보 패널을 공통 페이지 패턴에 맞춘다.
 */
@media (min-width: 1181px) {
    body .bat-main-layout,
    body .alpha-main-layout {
        display: grid !important;
        grid-template-columns: minmax(300px, 19%) minmax(720px, 1fr) minmax(320px, 23%) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: var(--oh-page-gap, .72rem) !important;
        align-items: stretch !important;
    }

    body .bat-tree-panel,
    body .bat-list-panel,
    body .bat-detail-panel,
    body .alpha-tree-panel,
    body .alpha-list-panel,
    body .alpha-detail-panel {
        min-width: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body .bat-tree-panel,
    body .alpha-tree-panel {
        grid-column: 1 !important;
    }

    body .bat-list-panel,
    body .alpha-list-panel {
        grid-column: 2 !important;
    }

    body .bat-detail-panel,
    body .alpha-detail-panel {
        grid-column: 3 !important;
    }

    body .bat-detail-panel,
    body .alpha-detail-panel,
    body .bat-detail-scroll,
    body .alpha-detail-scroll {
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }

    body .oh-acoustic-page > .oh-acoustic-split {
        height: auto !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        grid-template-columns: minmax(520px, .85fr) minmax(760px, 1.15fr) !important;
    }

    body .oh-acoustic-page .oh-card,
    body .oh-acoustic-page .oh-acoustic-pane,
    body .oh-acoustic-page .oh-acoustic-subpanel,
    body .oh-acoustic-page .oh-acoustic-result-card {
        max-height: none !important;
    }

    body .oh-acoustic-page .oh-acoustic-pane {
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }

    body .oh-acoustic-page .oh-acoustic-upload-form {
        display: grid !important;
        grid-template-columns: minmax(180px, .85fr) minmax(180px, .8fr) minmax(180px, .8fr) auto !important;
        gap: .75rem !important;
        align-items: end !important;
    }

    body .oh-acoustic-page .oh-acoustic-upload-form .oh-field-full {
        grid-column: auto !important;
    }

    body .oh-acoustic-page .oh-acoustic-upload-form .oh-actions {
        justify-content: flex-end !important;
    }

    body .oh-acoustic-page .oh-acoustic-result-grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .62fr) !important;
    }

    body .oh-acoustic-page .oh-acoustic-prediction-panel {
        min-height: 220px !important;
    }

    body .oh-acoustic-page .oh-acoustic-spectrogram-panel {
        flex: 1 1 260px !important;
        min-height: 220px !important;
    }

    body .oh-map-page > .oh-grid.oh-mb {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: var(--oh-page-gap, .72rem) !important;
        width: 100% !important;
    }

    body .oh-map-page > .oh-grid.oh-mb > .oh-stat-card {
        grid-column: auto !important;
        min-width: 0 !important;
    }

    body .oh-map-page > section.oh-card.oh-mb {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: .75rem !important;
        row-gap: .55rem !important;
        align-items: end !important;
    }

    body .oh-map-page .oh-map-scope-tabs {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: end !important;
        display: flex !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: .42rem !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    body .oh-map-page > section.oh-card.oh-mb > .oh-form-grid {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin-top: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(150px, .8fr) minmax(190px, .9fr) repeat(4, minmax(140px, .75fr)) minmax(150px, .8fr) minmax(160px, .82fr) minmax(170px, .82fr) auto !important;
        gap: .55rem !important;
        align-items: end !important;
    }

    body .oh-map-page .oh-actions-end {
        min-width: 220px !important;
        display: flex !important;
        flex-direction: row !important;
        gap: .45rem !important;
        justify-content: flex-end !important;
        white-space: nowrap !important;
    }

    body .oh-map-page .oh-actions-end .oh-btn {
        min-height: 38px !important;
        padding-inline: .7rem !important;
    }

    body .oh-map-page .oh-map-three-pane {
        grid-template-columns: minmax(300px, 22%) minmax(720px, 1fr) minmax(320px, 24%) !important;
    }

    body .oh-map-page .oh-map-info-pane {
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }

    body .oh-map-page .oh-map-info-pane .oh-table-wrap,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll {
        flex: 0 0 auto !important;
        max-height: 240px !important;
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }
}

/* hotfix 050: 지도 탐색 압축 레이아웃 재조정
 * - 검색 조건이 지도를 밀어내지 않도록 높이를 줄인다.
 * - 통계 카드는 생태/병원체와 동일하게 2줄 구조로 맞춘다.
 * - 우측 지도 정보 패널은 항상 내부 스크롤 레일을 표시한다.
 */
@media (min-width: 1181px) {
    body .oh-map-page > .oh-grid.oh-mb {
        margin-bottom: .48rem !important;
    }

    body .oh-map-page > .oh-grid.oh-mb > .oh-stat-card {
        min-height: 72px !important;
        padding: .72rem .95rem !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: .75rem !important;
        row-gap: .18rem !important;
        align-items: center !important;
    }

    body .oh-map-page > .oh-grid.oh-mb > .oh-stat-card > span {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb > .oh-stat-card > strong {
        grid-column: 2 !important;
        grid-row: 1 !important;
        text-align: right !important;
        font-size: 1.35rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb > .oh-stat-card > small {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        line-height: 1.1 !important;
    }

    body .oh-map-page > .oh-map-filter-card {
        padding: .68rem .78rem !important;
        margin-bottom: .52rem !important;
        display: block !important;
        max-height: none !important;
    }

    body .oh-map-page .oh-map-filter-top {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: .75rem !important;
        margin-bottom: .46rem !important;
        min-width: 0 !important;
    }

    body .oh-map-page .oh-map-filter-top h3 {
        margin: 0 !important;
        font-size: 1rem !important;
        line-height: 1.1 !important;
    }

    body .oh-map-page .oh-map-filter-top p {
        font-size: .82rem !important;
        line-height: 1.1 !important;
    }

    body .oh-map-page .oh-map-scope-tabs {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: .35rem !important;
        margin: 0 !important;
        white-space: nowrap !important;
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-scope-tabs .oh-btn,
    body .oh-map-page .oh-map-scope-tabs button {
        min-height: 32px !important;
        padding: .34rem .7rem !important;
        font-size: .86rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page .oh-map-filter-grid {
        display: grid !important;
        grid-template-columns: 1.05fr 1.28fr 1fr .9fr .95fr .9fr .95fr .98fr auto !important;
        gap: .46rem !important;
        align-items: end !important;
        margin-top: 0 !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-field {
        min-width: 0 !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-field label {
        margin-bottom: .2rem !important;
        font-size: .82rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page .oh-map-filter-grid input,
    body .oh-map-page .oh-map-filter-grid select {
        min-height: 34px !important;
        height: 34px !important;
        padding-block: .32rem !important;
        font-size: .86rem !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-actions-end {
        display: flex !important;
        flex-direction: row !important;
        gap: .38rem !important;
        align-items: end !important;
        justify-content: flex-end !important;
        min-width: 236px !important;
        white-space: nowrap !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-actions-end .oh-btn {
        min-height: 34px !important;
        padding: .38rem .62rem !important;
        font-size: .86rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page > .oh-map-three-pane {
        grid-template-columns: minmax(300px, 22%) minmax(760px, 1fr) minmax(330px, 24%) !important;
        gap: .62rem !important;
    }

    body .oh-map-page .oh-map-center-pane {
        padding: .72rem !important;
    }

    body .oh-map-page .oh-map-header-row {
        margin-bottom: .42rem !important;
    }

    body .oh-map-page .oh-map-layer-tabs {
        margin-bottom: .48rem !important;
        gap: .36rem !important;
    }

    body .oh-map-page .oh-map-layer-tabs .oh-btn,
    body .oh-map-page .oh-map-layer-tabs button {
        min-height: 32px !important;
        padding: .34rem .68rem !important;
        font-size: .86rem !important;
    }

    body .oh-map-page .oh-map-container {
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 auto !important;
    }

    body .oh-map-page .oh-map-summary-line {
        min-height: 28px !important;
        padding-top: .32rem !important;
        gap: .38rem !important;
        flex-wrap: wrap !important;
    }

    body .oh-map-page .oh-map-info-pane {
        overflow-y: scroll !important;
        scrollbar-gutter: stable !important;
        padding: .72rem !important;
    }

    body .oh-map-page .oh-map-info-pane .oh-map-side-summary {
        gap: .48rem !important;
    }

    body .oh-map-page .oh-map-info-pane .oh-map-side-summary > div {
        min-height: 44px !important;
        padding: .56rem .68rem !important;
    }

    body .oh-map-page .oh-map-info-pane .oh-table-wrap,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll {
        max-height: 190px !important;
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }
}

@media (min-width: 1181px) and (max-width: 1680px) {
    body .oh-map-page .oh-map-filter-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-actions-end {
        grid-column: 3 / -1 !important;
    }
}

@media (min-width: 1181px) {
    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card {
        padding: .68rem .78rem !important;
        margin-bottom: .52rem !important;
        display: block !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        row-gap: 0 !important;
        column-gap: 0 !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-map-filter-top {
        display: flex !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-form-grid.oh-map-filter-grid {
        grid-column: auto !important;
        grid-row: auto !important;
        display: grid !important;
        grid-template-columns: 1.05fr 1.28fr 1fr .9fr .95fr .9fr .95fr .98fr auto !important;
        gap: .46rem !important;
        margin-top: 0 !important;
        align-items: end !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-form-grid.oh-map-filter-grid > .oh-actions-end {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

/* hotfix 060: 지도 탐색 최종 배치 보정
 * - 검색 조건을 한 줄 검색바 형태로 축소한다.
 * - 지도 범위 버튼은 왼쪽 위치 목록 패널로 이동한 구조에 맞춘다.
 * - 조회/현재 범위 조회/초기화는 오른쪽 지도 정보 패널에서 수행한다.
 * - 오른쪽 지도 정보 패널은 내용이 적어도 스크롤 레일이 보이도록 강제한다.
 */
@media (min-width: 1181px) {
    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card {
        padding: .55rem .72rem !important;
        margin-bottom: .5rem !important;
        display: block !important;
        max-height: 88px !important;
        overflow: hidden !important;
    }

    body .oh-map-page .oh-map-filter-top {
        display: flex !important;
        align-items: end !important;
        justify-content: space-between !important;
        margin-bottom: .28rem !important;
    }

    body .oh-map-page .oh-map-filter-top h3 {
        font-size: .95rem !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    body .oh-map-page .oh-map-filter-top p {
        display: none !important;
    }

    body .oh-map-page .oh-map-filter-card > .oh-map-filter-grid,
    body .oh-map-page .oh-map-filter-grid-compact {
        display: grid !important;
        grid-template-columns: minmax(420px, 1.55fr) minmax(210px, .9fr) minmax(210px, .9fr) minmax(210px, .9fr) !important;
        gap: .5rem !important;
        align-items: end !important;
        margin: 0 !important;
    }

    body .oh-map-page .oh-map-filter-grid-compact .oh-field {
        min-width: 0 !important;
    }

    body .oh-map-page .oh-map-filter-grid-compact .oh-field label {
        margin-bottom: .16rem !important;
        font-size: .8rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page .oh-map-filter-grid-compact input,
    body .oh-map-page .oh-map-filter-grid-compact select {
        height: 34px !important;
        min-height: 34px !important;
        padding-block: .28rem !important;
        font-size: .86rem !important;
    }

    body .oh-map-page > .oh-map-three-pane {
        grid-template-columns: minmax(300px, 22%) minmax(780px, 1fr) minmax(330px, 24%) !important;
        min-height: 0 !important;
        height: auto !important;
        flex: 1 1 auto !important;
    }

    body .oh-map-page .oh-map-list-pane,
    body .oh-map-page .oh-map-center-pane,
    body .oh-map-page .oh-map-info-pane {
        min-height: 0 !important;
        max-height: 100% !important;
    }

    body .oh-map-page .oh-map-scope-tabs-left {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .38rem !important;
        margin: .48rem 0 .55rem !important;
        padding-bottom: .5rem !important;
        border-bottom: 1px solid var(--oh-border, #cfe1f5) !important;
    }

    body .oh-map-page .oh-map-scope-tabs-left button {
        min-height: 32px !important;
        padding: .34rem .42rem !important;
        font-size: .84rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .oh-map-page .oh-map-info-pane {
        display: flex !important;
        flex-direction: column !important;
        overflow-y: scroll !important;
        scrollbar-gutter: stable both-edges !important;
    }

    body .oh-map-page .oh-map-info-pane::-webkit-scrollbar,
    body .oh-map-page .oh-map-list-pane .oh-pane-scroll::-webkit-scrollbar,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll::-webkit-scrollbar {
        width: 11px !important;
        height: 11px !important;
    }

    body .oh-map-page .oh-map-info-pane::-webkit-scrollbar-track,
    body .oh-map-page .oh-map-list-pane .oh-pane-scroll::-webkit-scrollbar-track,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll::-webkit-scrollbar-track {
        background: #e8f1fb !important;
        border-radius: 999px !important;
    }

    body .oh-map-page .oh-map-info-pane::-webkit-scrollbar-thumb,
    body .oh-map-page .oh-map-list-pane .oh-pane-scroll::-webkit-scrollbar-thumb,
    body .oh-map-page .oh-map-info-pane .oh-pane-scroll::-webkit-scrollbar-thumb {
        background: #8aa0b8 !important;
        border-radius: 999px !important;
        border: 2px solid #e8f1fb !important;
    }

    body .oh-map-page .oh-map-side-controls {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .5rem !important;
        margin: .55rem 0 .65rem !important;
        padding-bottom: .65rem !important;
        border-bottom: 1px solid var(--oh-border, #cfe1f5) !important;
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-side-controls .oh-field label {
        margin-bottom: .18rem !important;
        font-size: .8rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page .oh-map-side-controls select {
        min-height: 34px !important;
        height: 34px !important;
        font-size: .86rem !important;
    }

    body .oh-map-page .oh-map-side-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: .42rem !important;
    }

    body .oh-map-page .oh-map-side-actions .oh-btn {
        min-height: 34px !important;
        padding: .36rem .52rem !important;
        font-size: .84rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .oh-map-page .oh-map-side-actions .oh-btn:first-child {
        grid-column: 1 / -1 !important;
    }

    body .oh-map-page .oh-map-side-summary {
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-info-pane > .oh-table-wrap,
    body .oh-map-page .oh-map-info-pane > .oh-pane-scroll {
        flex: 1 1 auto !important;
        min-height: 150px !important;
        max-height: none !important;
        overflow-y: scroll !important;
        scrollbar-gutter: stable both-edges !important;
    }
}

/* hotfix 070: 지도 탐색 UI를 생태/병원체 검색바 구조에 맞춤 */
@media (min-width: 1181px) {
    body .oh-map-page {
        height: calc(100vh - 74px) !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        gap: .5rem !important;
    }

    body .oh-map-page > .oh-page-header {
        flex: 0 0 auto !important;
        padding: .62rem .88rem !important;
        min-height: 64px !important;
        margin-bottom: 0 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb {
        flex: 0 0 auto !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: .62rem !important;
        margin-bottom: 0 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb .oh-stat-card {
        min-height: 60px !important;
        padding: .62rem .78rem !important;
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        align-items: start !important;
        column-gap: .65rem !important;
    }

    body .oh-map-page > .oh-grid.oh-mb .oh-stat-card > span {
        grid-column: 1 !important;
        grid-row: 1 !important;
        font-size: .82rem !important;
        line-height: 1.05 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb .oh-stat-card > strong {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        align-self: start !important;
        justify-self: end !important;
        font-size: 1.18rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page > .oh-grid.oh-mb .oh-stat-card > small {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin-top: .22rem !important;
        font-size: .75rem !important;
        line-height: 1.05 !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card {
        flex: 0 0 auto !important;
        padding: .55rem .72rem !important;
        margin: 0 !important;
        min-height: 70px !important;
        max-height: 76px !important;
        display: block !important;
        overflow: visible !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-map-filter-top {
        display: none !important;
    }

    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-form-grid.oh-map-filter-grid,
    body .oh-map-page > section.oh-card.oh-mb.oh-map-filter-card > .oh-form-grid.oh-map-filter-grid-compact {
        display: grid !important;
        grid-template-columns: minmax(360px, 1.45fr) minmax(190px, .85fr) minmax(190px, .85fr) minmax(190px, .85fr) !important;
        gap: .5rem !important;
        align-items: end !important;
        margin: 0 !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-field,
    body .oh-map-page .oh-map-filter-grid-compact .oh-field {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: .16rem !important;
    }

    body .oh-map-page .oh-map-filter-grid .oh-field label,
    body .oh-map-page .oh-map-filter-grid-compact .oh-field label {
        margin: 0 !important;
        font-size: .82rem !important;
        line-height: 1 !important;
    }

    body .oh-map-page .oh-map-filter-grid input,
    body .oh-map-page .oh-map-filter-grid select,
    body .oh-map-page .oh-map-filter-grid-compact input,
    body .oh-map-page .oh-map-filter-grid-compact select {
        width: 100% !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: .34rem .65rem !important;
        font-size: .86rem !important;
        line-height: 1.1 !important;
    }

    body .oh-map-page > .oh-map-three-pane {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: auto !important;
        display: grid !important;
        grid-template-columns: minmax(360px, 22%) minmax(760px, 1fr) minmax(380px, 24%) !important;
        gap: .62rem !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-card {
        min-height: 0 !important;
        height: 100% !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-map-page .oh-map-list-pane .oh-section-header {
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-scope-tabs-left {
        flex: 0 0 auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .38rem !important;
        margin: .42rem 0 .5rem !important;
        padding-bottom: .48rem !important;
        border-bottom: 1px solid var(--oh-border, #cfe1f5) !important;
    }

    body .oh-map-page .oh-map-list-pane > .oh-table-wrap,
    body .oh-map-page .oh-map-list-pane > .oh-pane-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }

    body .oh-map-page .oh-map-center-pane .oh-map-container {
        flex: 1 1 auto !important;
        min-height: 360px !important;
        height: auto !important;
    }

    body .oh-map-page .oh-map-info-pane {
        overflow: hidden !important;
        padding-right: .5rem !important;
    }

    body .oh-map-page .oh-map-info-pane > .oh-section-header {
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-info-pane > .oh-map-info-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        scrollbar-gutter: stable !important;
        padding-right: .35rem !important;
    }

    body .oh-map-page .oh-map-info-scroll::-webkit-scrollbar {
        width: 12px !important;
    }

    body .oh-map-page .oh-map-info-scroll::-webkit-scrollbar-track {
        background: #e7f0fb !important;
        border-radius: 999px !important;
    }

    body .oh-map-page .oh-map-info-scroll::-webkit-scrollbar-thumb {
        background: #7d90a8 !important;
        border-radius: 999px !important;
        border: 2px solid #e7f0fb !important;
    }

    body .oh-map-page .oh-map-info-scroll {
        scrollbar-width: thin !important;
        scrollbar-color: #7d90a8 #e7f0fb !important;
    }

    body .oh-map-page .oh-map-side-controls {
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-side-summary {
        flex: 0 0 auto !important;
    }

    body .oh-map-page .oh-map-info-scroll > .oh-table-wrap,
    body .oh-map-page .oh-map-info-scroll > .oh-pane-scroll {
        max-height: 220px !important;
        overflow-y: auto !important;
        scrollbar-gutter: stable !important;
    }
}

/* hotfix 071: 지도 탐색 최종 강제 보정 - 검색 1줄, 우측 정보 내부 스크롤 */
@media (min-width: 1181px) {
    body .oh-map-page > section.oh-card.oh-map-filter-card {
        flex: 0 0 auto !important;
        min-height: 64px !important;
        max-height: 70px !important;
        height: 70px !important;
        padding: .5rem .72rem !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body .oh-map-page > section.oh-card.oh-map-filter-card > .oh-map-filter-grid-compact {
        display: grid !important;
        grid-template-columns: minmax(360px, 1.45fr) minmax(180px, .85fr) minmax(180px, .85fr) minmax(180px, .85fr) !important;
        grid-auto-flow: column !important;
        grid-auto-rows: 1fr !important;
        gap: .5rem !important;
        align-items: end !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body .oh-map-page > section.oh-card.oh-map-filter-card > .oh-map-filter-grid-compact > .oh-field {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: .14rem !important;
        margin: 0 !important;
    }

    body .oh-map-page > section.oh-card.oh-map-filter-card > .oh-map-filter-grid-compact > .oh-field label {
        display: block !important;
        margin: 0 !important;
        font-size: .8rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .oh-map-page > section.oh-card.oh-map-filter-card > .oh-map-filter-grid-compact > .oh-field input,
    body .oh-map-page > section.oh-card.oh-map-filter-card > .oh-map-filter-grid-compact > .oh-field select {
        width: 100% !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: .34rem .65rem !important;
        font-size: .86rem !important;
        line-height: 1.1 !important;
        box-sizing: border-box !important;
    }

    body .oh-map-page > .oh-map-three-pane {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: calc(100vh - 305px) !important;
        display: grid !important;
        grid-template-columns: minmax(360px, 22%) minmax(760px, 1fr) minmax(380px, 24%) !important;
        gap: .62rem !important;
        overflow: hidden !important;
        margin: 0 !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane {
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-section-header {
        flex: 0 0 auto !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-map-info-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        height: 100% !important;
        max-height: 100% !important;
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        scrollbar-gutter: stable !important;
        padding-right: .35rem !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-map-info-scroll::-webkit-scrollbar {
        width: 12px !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-map-info-scroll::-webkit-scrollbar-track {
        background: #e7f0fb !important;
        border-radius: 999px !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-map-info-scroll::-webkit-scrollbar-thumb {
        background: #7d90a8 !important;
        border-radius: 999px !important;
        border: 2px solid #e7f0fb !important;
    }

    body .oh-map-page > .oh-map-three-pane > .oh-map-info-pane > .oh-map-info-scroll {
        scrollbar-width: thin !important;
        scrollbar-color: #7d90a8 #e7f0fb !important;
    }
}
