/* ============================================================
 * V2 — Layout B "과감한 슬림 (Aggressive)" — 추천
 *
 * 빠른 날짜 칩 제거. 헤더·검색 행 적극 압축. 지역 칩 한 줄.
 * → 약 160~180px (현재 대비 약 45% 감소)
 * ============================================================ */

/* 헤더 */
.main-header.glass-panel {
    padding: var(--s-2) var(--s-3) !important;
    border-radius: var(--r-lg) var(--r-lg) 0 0 !important;
    border: 1px solid var(--border) !important; border-bottom: none !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.94) !important;
    min-height: 42px;
}
.brand-title { font-size: 17px !important; font-weight: 800 !important; letter-spacing: -0.4px; }
.stats-container {
    display: flex !important;
    min-width: 48px !important;
    flex-shrink: 0 !important;
}
.stat-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 24px !important;
    padding: 0 7px !important;
    border: 1px solid var(--border) !important;
    border-radius: 999px !important;
    background: var(--surface-2) !important;
    font-size: 10.5px !important;
    line-height: 1 !important;
    gap: 3px !important;
    white-space: nowrap !important;
}
.stat-label,
.stat-badge strong {
    line-height: 1 !important;
}
.stat-badge strong { font-size: 12px !important; }
.stats-container .stat-badge + .stat-badge {
    display: none !important;
}

.report-cta-btn {
    height: 30px !important; padding: 0 var(--s-3) !important;
    border-radius: var(--r-md) !important; font-size: 12px !important;
    background: var(--brand) !important; color: #fff !important;
    box-shadow: var(--sh-sm) !important;
}
.i18n-toggle-btn {
    height: 26px !important; padding: 0 6px !important;
    border-radius: var(--r-md) !important; border: 1px solid var(--border) !important;
    font-size: 10.5px !important;
}

@media (max-width: 480px) {
    .header-actions {
        gap: 4px !important;
        flex-shrink: 0 !important;
    }

    .i18n-toggle-btn {
        order: 1;
        height: 30px !important;
        padding: 0 6px !important;
        margin-right: 0 !important;
        gap: 1px !important;
    }

    .stats-container {
        order: 2;
        min-width: unset !important;
    }

    .main-header .stats-container {
        display: none !important;
    }

    .report-cta-btn {
        order: 3;
        width: auto !important;
        min-width: 72px !important;
        height: 30px !important;
        padding: 0 9px !important;
        gap: 4px !important;
        font-size: 11.5px !important;
    }

    .report-cta-btn .btn-label-desktop {
        display: none !important;
    }

    .report-cta-btn .btn-label-mobile {
        display: inline !important;
        font-size: 11.5px !important;
        line-height: 1 !important;
    }
}

@media (max-width: 768px) {
    .main-header .stats-container {
        display: none !important;
    }
}

@media (max-width: 360px) {
    .brand-title { font-size: 15px !important; }
    .stat-label { display: inline-block !important; }
    .stat-badge {
        min-width: 44px !important;
        justify-content: center !important;
        padding: 0 5px !important;
        font-size: 10px !important;
        gap: 2px !important;
    }
    .stat-badge strong { font-size: 11.5px !important; }
    .report-cta-btn {
        min-width: 68px !important;
        padding: 0 7px !important;
        font-size: 11px !important;
    }
    .report-cta-btn .btn-label-mobile {
        font-size: 11px !important;
    }
}

/* 컨트롤 섹션 */
.controls-section.glass-panel {
    padding: var(--s-2) var(--s-3) !important;
    border-radius: 0 0 var(--r-lg) var(--r-lg) !important;
    border: 1px solid var(--border) !important; border-top: none !important;
    box-shadow: var(--sh-md) !important;
    background: rgba(255, 255, 255, 0.94) !important;
    gap: 6px !important;
}

/* 모드 토글 — 더 작게 */
.mode-toggle {
    gap: 2px !important; padding: 2px !important;
    background: var(--surface-2) !important; border-radius: var(--r-md) !important;
    border: none !important;
}
.toggle-btn {
    height: 26px !important; padding: 0 var(--s-3) !important;
    border-radius: var(--r-sm) !important; font-size: 11.5px !important;
    font-weight: 700 !important; border: none !important;
    background: transparent !important; color: var(--text-secondary) !important;
    box-shadow: none !important;
}
.toggle-btn.active {
    background: var(--surface) !important; color: var(--brand) !important;
    box-shadow: var(--sh-sm) !important;
}

/* 검색 행 — 평소 좁게, 포커스 시 확장 */
.controls-search-row { gap: 6px !important; }
.controls-search-row .search-container {
    flex: 0 1 140px !important;
    transition: flex-basis 0.25s ease;
}
.controls-search-row .search-container:focus-within {
    flex: 1 1 auto !important;
}
.search-input {
    height: 30px !important; border-radius: var(--r-md) !important;
    border: 1px solid var(--border) !important; background: var(--surface-2) !important;
    font-size: 13px !important; padding: 0 var(--s-3) 0 30px !important;
}
.search-input:focus {
    border-color: var(--brand) !important; background: var(--surface) !important;
    box-shadow: 0 0 0 3px var(--brand-ring) !important;
}
.controls-search-row .filter-summary-btn {
    height: 30px !important; padding: 0 10px !important;
    border-radius: var(--r-md) !important; border: 1px solid var(--border) !important;
    background: var(--surface) !important; box-shadow: none !important;
}
.controls-search-row .filter-summary-text { font-size: 11.5px !important; }
.controls-search-row .filter-summary-meta { display: none !important; }

/* 지역 칩 한 줄 */
.quick-nav-btn {
    height: 26px !important; padding: 0 10px !important;
    border-radius: var(--r-pill) !important;
    border: 1px solid var(--border) !important;
    background: var(--surface) !important;
    color: var(--text-secondary) !important;
    font-size: 11.5px !important; font-weight: 600 !important;
    box-shadow: none !important;
}
.quick-nav-btn.active {
    background: var(--brand) !important; color: #fff !important;
    border-color: var(--brand) !important;
}
.quick-nav-sub-btn {
    background: var(--brand-soft) !important; color: var(--brand-hover) !important;
    border-color: transparent !important;
}
.quick-nav-sub-btn.active { background: var(--brand) !important; color: #fff !important; }

/* B안 핵심: 빠른 날짜 칩 제거 (주간바와 중복) */
#quick-nav-dates { display: none !important; }

/* 주간바 — 핵심 강조 */
.week-jump-nav {
    padding: var(--s-2) 0 0 !important;
    border-top: 1px solid var(--border) !important;
    margin-top: 6px !important;
}
.week-jump-info-bar { gap: 6px !important; font-size: 11.5px !important; }
.week-info-region { color: var(--brand) !important; font-weight: 700 !important; }
.week-info-date { color: var(--text-primary) !important; font-weight: 800 !important; font-size: 14px !important; }
.week-info-counts { color: var(--text-secondary) !important; font-weight: 600 !important; }
.week-info-sep { color: var(--text-muted) !important; }

.week-jump-btn.nav-side {
    height: 24px !important; padding: 0 6px !important;
    border-radius: var(--r-md) !important; border: 1px solid var(--border) !important;
    background: var(--surface) !important; color: var(--text-secondary) !important;
    font-size: 10.5px !important;
}
.week-jump-current-btn {
    height: 22px !important; padding: 0 10px !important;
    border-radius: var(--r-pill) !important;
    background: var(--brand-soft) !important; color: var(--brand) !important;
    border: none !important; font-size: 10.5px !important; font-weight: 700 !important;
}

.week-jump-day {
    border-radius: var(--r-md) !important; padding: 4px 0 !important;
    border: 1px solid transparent !important; background: transparent !important;
    color: var(--text-secondary) !important;
}
.week-jump-day .week-jump-dayname { font-size: 9.5px !important; color: var(--text-muted) !important; font-weight: 600 !important; }
.week-jump-day .week-jump-date { font-size: 13.5px !important; font-weight: 700 !important; }
.week-jump-day.is-today { color: var(--brand) !important; background: var(--brand-soft) !important; }
.week-jump-day.is-today .week-jump-date { color: var(--brand) !important; }
.week-jump-day.is-selected { background: var(--brand) !important; color: #fff !important; box-shadow: var(--sh-sm) !important; }
.week-jump-day.is-selected .week-jump-dayname,
.week-jump-day.is-selected .week-jump-date { color: #fff !important; }
.week-jump-day.is-empty { opacity: 0.5; }
.week-jump-day.is-past { opacity: 0.65; }

/* 모바일 미세 조정 — 한 줄 유지 (검색은 평소 좁게) */
@media (max-width: 480px) {
    .brand-title { font-size: 16px !important; }
    .controls-search-row { flex-wrap: nowrap !important; }
    .controls-search-row .search-container {
        flex: 0 1 110px !important;
        min-width: 80px !important;
    }
    .controls-search-row .search-container:focus-within {
        flex: 1 1 auto !important;
    }
    .controls-search-row .filter-summary-btn { flex-shrink: 0; }
    .announcement-inline {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }

    .card { padding: 10px var(--s-3) !important; }
    .card-thumb,
    .card img.card-thumb { width: 64px !important; height: 64px !important; }
}
