:root {
    /* 기본 UI 스케일: 요청(폰트 크기 8)에 맞춰 우선 70%로 설정 (설정에서 변경 가능) */
    --ui-scale: 0.7;
    /* 패널들 간 기본 간격 (스케일/화면 크기 변경 시에도 JS가 이 값을 사용해 간격 유지) */
    --panel-gap: 10px;
    /* 하단 요약 표 패널이 차지하는(화면상) 높이. 거리뷰 패널을 위로 밀기 위해 사용 */
    --summary-panel-offset: 0px;
    /* 화면 가장자리 여백 */
    --ui-inset-x: 10px; /* 좌/우 */
    --ui-inset-y: 20px; /* 상/하 */
    /* 레거시 호환(기존 코드는 --ui-inset을 참조): 기본은 상/하 값에 맞춤 */
    --ui-inset: var(--ui-inset-y);
    /* 필터 패널(상단)과 검색 패널(하단) 사이 간격 */
    --ui-stack-gap: 0px;
    /* 우측 상단 툴박스 행(그룹) 간격 */
    --toolbar-row-gap: 6px;
    /* 우측 상단 툴박스 버튼 간격(기본은 붙여서) */
    --toolbar-btn-gap: 0px;
    /* 공통 UI 테마 */
    --ui-accent-border: #2b6fff;     /* 밝은 남색(포인트 테두리) */
    --ui-header-bg: #e6f4ff;         /* 연한 하늘색(제목 행 배경) */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    font-family: 'Malgun Gothic', '맑은 고딕', 'Apple SD Gothic Neo', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.map-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.map-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.map-wrapper.hidden {
    display: none;
}

#kakaoMap,
#naverMap,
#googleMap {
    width: 100%;
    height: 100%;
}

textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    font-family: inherit;
    resize: vertical;
}

.search-panel,
.result-panel,
.streetview-panel,
.building-info-panel,
.realestate-panel,
.map-control-panel,
.filter-panel,
.filter-modal-content,
.filter-modal-backdrop,
.building-table-wrapper,
.floor-table-wrapper,
.status-message,
[class*="panel"],
[class*="modal"],
button,
input,
textarea,
select {
    border-radius: 0 !important;
}

.status-message {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) scale(var(--ui-scale, 1));
    transform-origin: bottom center;
    z-index: 9999;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    pointer-events: none;
    min-width: 200px;
    max-width: 400px;
}

.status-message.success {
    background: #e8f5e9;
    color: #2e7d32;
}

.status-message.error {
    background: #ffebee;
    color: #c62828;
}

.status-message.warning {
    background: #fff8e1;
    color: #ef6c00;
}

