/* 2026-10-23 홈 개요 정돈 (home-v3): 두 칸 높이 맞춤 · 지표 밸런스 보강 · 매출 패널 빈 공간 정리 */

/* 1) 지표 밸런스와 매출 패널을 같은 높이로 */
.analytics-compact .home-overview .score-empty-grid{align-items:stretch}
.analytics-compact .home-overview .score-empty-grid>.balance-card{display:flex;flex-direction:column}
.analytics-compact .home-overview .balance-card .radar-tooltip{margin-top:0}

/* 2) 지표 밸런스: 매장명 + 종합점수 */
.balance-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 2px}
.balance-head-row .balance-selected,.analytics-compact .balance-head-row .balance-selected{margin:0;font-size:15px;line-height:22px;min-width:0;overflow-wrap:anywhere}
.balance-score{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;padding:6px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}
.balance-score span{font-size:11px;color:#64748b;font-weight:600}
.balance-score strong{font-size:22px;line-height:1;font-weight:800;color:#1e293b;font-variant-numeric:tabular-nums}
.balance-score .score-grade{font-size:12px;line-height:1;padding:3px 6px;border-radius:6px;background:#e2e8f0;color:#334155}
.balance-score.tone-good{background:#f0fdf4;border-color:#bbf7d0}.balance-score.tone-good .score-grade{background:#16a34a;color:#fff}
.balance-score.tone-mid{background:#fbfbfb;border-color:#fde68a}.balance-score.tone-mid .score-grade{background:#430060;color:#fff}
.balance-score.tone-low{background:#fef2f2;border-color:#fecaca}.balance-score.tone-low .score-grade{background:#dc2626;color:#fff}
.balance-score.score-missing strong{font-size:14px;color:#94a3b8}

/* 레이더는 조금 작게, 아래 지표 목록이 들어갈 자리 확보 */
.analytics-compact .home-overview .balance-card .radar-wrap{max-width:370px;padding:6px 0 0;margin:0 auto}

/* 3) 지표별 막대 목록: 목록 전체가 하나의 그리드라 열이 정확히 맞고, 남는 세로 공간은 행이 고르게 나눠 가진다 */
.balance-metrics-wrap{flex:1 0 auto;display:flex;flex-direction:column;margin:6px 0 12px;border-top:1px solid #f1f5f9;padding-top:8px;min-height:0}
.balance-metrics{list-style:none;margin:0;padding:0;flex:1 0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(46px,1fr) auto 38px;grid-auto-rows:minmax(32px,1fr);grid-template-rows:auto;column-gap:0}
.bm-row{display:contents}
.bm-row>span{display:flex;align-items:center;min-width:0;border-bottom:1px solid #f1f5f9}
.bm-row>span+span{padding-left:10px}
.bm-head>span{font-size:10.5px;color:#94a3b8;letter-spacing:.02em;padding:0 0 6px;border-bottom-color:#e2e8f0;white-space:nowrap}
.bm-head>span:nth-child(n+3){justify-content:flex-end}
.bm-label{font-size:12.5px;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important;line-height:32px}
.bm-label small{font-size:10.5px;font-weight:500;color:#94a3b8;margin-left:5px}
.bm-bar-cell{padding-right:2px}
.bm-value{justify-content:flex-end;font-size:12px;font-weight:700;color:#1e293b;font-variant-numeric:tabular-nums;white-space:nowrap}
.bm-score{justify-content:flex-end;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;color:#334155}
.bm-bar{display:block;width:100%;height:6px}
.bm-track{fill:#f1f5f9}
.bm-fill{fill:#94a3b8}
.bm-row.tone-good .bm-fill{fill:#16a34a}.bm-row.tone-good .bm-score{color:#15803d}
.bm-row.tone-mid .bm-fill{fill:#f59e0b}.bm-row.tone-mid .bm-score{color:#37004f}
.bm-row.tone-low .bm-fill{fill:#dc2626}.bm-row.tone-low .bm-score{color:#b91c1c}
.bm-row.tone-missing .bm-value,.bm-row.tone-missing .bm-score{color:#94a3b8;font-weight:500}
.balance-focus{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin:10px 0 0;padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.5;background:#f8fafc;color:#334155}
.balance-focus b{font-weight:700}
.balance-focus.tone-low{background:#fef2f2;color:#991b1b}
.balance-focus.tone-mid{background:#fbfbfb;color:#2d0040}
.balance-focus.tone-good{background:#f0fdf4;color:#166534}

/* 실제 매장은 비어 있는 레이더 대신 원값을 먼저 읽는 지표 카드로 표시한다. */
.balance-card-actual .balance-head-row{margin:16px 0 14px}
.balance-card-actual .balance-selected{font-size:18px!important;line-height:1.35!important}
.balance-tile-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}
.balance-tile{min-width:0;padding:14px 15px 12px;border:1px solid #e7ebef;border-radius:13px;background:#fff;box-shadow:0 1px 3px #15263809}
.balance-tile-top,.balance-tile-main{display:flex;align-items:center;justify-content:space-between;gap:8px}
.balance-tile-top span{font-size:12px;font-weight:700;color:#334155;line-height:1.3}
.balance-tile-top b{font-size:10px;white-space:nowrap;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#475569}
.balance-tile-main{align-items:baseline;margin:13px 0 11px}
.balance-tile-main strong{font-size:23px;line-height:1.15;font-weight:800;letter-spacing:-.03em;color:#182b3a;font-variant-numeric:tabular-nums}
.balance-tile-main small{font-size:10px;color:#64748b;white-space:nowrap}
.balance-tile-track{display:block;width:100%;height:5px}.tile-track-bg{fill:#edf2f6}.tile-track-fill{fill:#64748b}
.balance-tile.tone-good{background:#f5fbf8;border-color:#d5efe1}.balance-tile.tone-good .balance-tile-top b{background:#def5e8;color:#116c43}.balance-tile.tone-good .tile-track-fill{fill:#1d9c65}
.balance-tile.tone-mid{background:#fcfcfc;border-color:#f5e7bd}.balance-tile.tone-mid .balance-tile-top b{background:#fff0c9;color:#2f0044}.balance-tile.tone-mid .tile-track-fill{fill:#d59925}
.balance-tile.tone-low{background:#fcfafe;border-color:#eadcf1}.balance-tile.tone-low .balance-tile-top b{background:#f5ebfa;color:#41005c}.balance-tile.tone-low .tile-track-fill{fill:#58007e}
.balance-tile.tone-missing{background:#f8fafc}.balance-tile.tone-missing .balance-tile-main strong{font-size:19px;color:#8a98a7}
.balance-method-note{margin:14px 0 0;color:#718096;font-size:11px;line-height:1.5}
@media(max-width:520px){.balance-tile-grid{grid-template-columns:1fr}.balance-tile-main strong{font-size:25px}}

/* 4) 매출 패널: 도넛 카드가 옆 목록 높이만큼 늘어날 때 내용이 위로 몰리지 않게 */
.pf-v2 .pf-donut-card{display:flex;flex-direction:column}
.pf-v2 .pf-donut-body{flex:1;align-items:center}
.pf-v2 .pf-donut-note{margin-top:auto;padding-top:10px}
.pf-v2 .pf-donut-legend{gap:14px}
.pf-v2 .pf-share-change{grid-column:2 / 4;font-style:normal;font-size:11px;font-weight:700;white-space:nowrap}
.pf-v2 .pf-share-change.change-up{color:#15803d}.pf-v2 .pf-share-change.change-down{color:#c2413b}
.pf-v2 .pf-share-change.change-flat,.pf-v2 .pf-share-change.change-incomplete{color:#94a3b8;font-weight:500}
.pf-v2 .pf-trend{display:flex;flex-direction:column}
.pf-v2 .pf-trend .pf-line-chart{flex:1;display:flex;flex-direction:column;justify-content:flex-end}

/* 넓은 패널(오른쪽 열 배치): 오른쪽 열이 추이 그래프보다 길어지지 않도록 그래프 높이에 맞춰 목록을 스크롤 */
@container (min-width:781px){
 .pf-v2 .pf-side{contain:size;min-height:100%}
 .pf-v2 .pf-values{min-height:0}
 .pf-v2 .pf-values .sales-values-scroll{max-height:none;min-height:0;flex:1 1 0;overflow-y:auto}
 .pf-v2 .pf-svg,.pf-v2 .pf-axis{height:300px}
}
/* 좁은 패널(도넛·목록 나란히): 두 카드 높이를 같게 */
@container (max-width:780px){
 .pf-v2 .pf-side{align-items:stretch}
 .pf-v2 .pf-values .sales-values-scroll{max-height:250px}
}
@media (prefers-reduced-motion:reduce){.pf-v2 .pf-donut-seg{transition:none}}

/* 5) 확인된 실제 자료 패널: 매출 패널과 겹치는 카드를 걷어낸 뒤 남은 미수집 지표만 낮게 */
.analytics-compact .verified-evidence-compact{padding:16px 20px}
.analytics-compact .verified-evidence-compact .panel-heading{margin-bottom:12px}
.analytics-compact .verified-evidence-compact .panel-heading p{margin:4px 0 0;font-size:12px;color:#94a3b8}
.analytics-compact .verified-evidence-compact .ad-missing-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.analytics-compact .verified-evidence-compact .ad-missing-values>div{padding:12px 14px}
.analytics-compact .verified-evidence-compact .ops-indicator{min-width:0;border:1px solid transparent;min-height:138px;box-sizing:border-box}
.analytics-compact .verified-evidence-compact .ops-indicator>span{display:block;font-weight:700;color:#334155}
.analytics-compact .verified-evidence-compact .ops-indicator strong{font-size:clamp(20px,2vw,27px);line-height:1.2;font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.analytics-compact .verified-evidence-compact .ops-indicator small{display:block;margin-top:8px;font-size:11px;line-height:1.45;color:#475569;overflow-wrap:anywhere}
.analytics-compact .verified-evidence-compact .ops-indicator-ad{background:#eff6ff;border-color:#bfdbfe}.analytics-compact .verified-evidence-compact .ops-indicator-ad strong{color:#1d4ed8}
.analytics-compact .verified-evidence-compact .ops-indicator-cancel{background:#fbf6fd;border-color:#ecd6f5}.analytics-compact .verified-evidence-compact .ops-indicator-cancel strong{color:#3d0057}
.analytics-compact .verified-evidence-compact .ops-indicator-coupon{background:#f0fdf4;border-color:#bbf7d0}.analytics-compact .verified-evidence-compact .ops-indicator-coupon strong{color:#15803d}
.analytics-compact .verified-evidence-compact .ops-indicator-review{background:#faf5ff;border-color:#e9d5ff}.analytics-compact .verified-evidence-compact .ops-indicator-review strong{color:#7e22ce}
.ops-review-date-label{display:block;margin-top:9px;font-size:11px;font-weight:700;color:#475569}.ops-review-date-label select{display:block;width:100%;height:34px;margin-top:4px;padding:0 8px;border:1px solid #d8b4fe;border-radius:7px;background:#fff;color:#581c87;font-size:12px;box-sizing:border-box}
@media(max-width:780px){.analytics-compact .verified-evidence-compact .ad-missing-values{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 종합점수 등급 7단계 (S · A+ · A · B+ · B · C+ · C) */
.grade-s{background:#d1fae5;color:#047857}
.grade-a-plus{background:#ccfbf1;color:#0f766e}
.grade-a{background:#e0f2fe;color:#0369a1}
.grade-b-plus{background:#fef9c3;color:#300044}
.grade-b{background:#fef3c7;color:#37004f}
.grade-c-plus{background:#f6edfa;color:#3d0057}
.grade-c{background:#fee2e2;color:#b91c1c}
.balance-score .score-grade{min-width:24px;text-align:center}

/* 6) 매출 흐름 배치 (10/23 오후): 기간별 추이 가로 전체 → 아래 '채널별 매출 구성 | 일별 금액' 같은 높이, 위 합계 카드 3개 같은 폭 */
.pf-v2 .pf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-v2 .pf-kpi-combined{grid-column:auto}
.pf-v2 .pf-grid{grid-template-columns:minmax(0,1fr)}
.pf-v2 .pf-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch;contain:none;min-height:0}
.pf-v2 .pf-side>.pf-donut-card{min-height:240px}
.pf-v2 .pf-side>.pf-values{contain:size;min-height:100%}
.pf-v2 .pf-values .sales-values-scroll{max-height:none;min-height:0;flex:1 1 0;overflow-y:auto}
@container (min-width:781px){.pf-v2 .pf-svg,.pf-v2 .pf-axis{height:320px}}
@container (max-width:640px){.pf-v2 .pf-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-v2 .pf-kpi-combined{grid-column:auto}}
@container (max-width:560px){
 .pf-v2 .pf-kpis{grid-template-columns:minmax(0,1fr)}
 .pf-v2 .pf-side{grid-template-columns:minmax(0,1fr)}
 .pf-v2 .pf-side>.pf-values{contain:none;min-height:0}
 .pf-v2 .pf-values .sales-values-scroll{max-height:260px;flex:none}
}
/* 새 로고 마크는 투명 배경이라 원형 그림자·둥근 자르기 없앰 */
.blind-coming-soon img{box-shadow:none;border-radius:0}
.workspace-brand-logo{border-radius:0}

/* 매장 선택을 크게(2026-11-02): PC는 라벨 위 넓은 칸, 휴대폰은 손가락으로 누르기 쉬운 크기 */
.analytics-compact .home-overview .balance-card .balance-picker{display:block;margin:12px 0 4px;font-size:14px;font-weight:700;color:#2E2E2E}.analytics-compact .home-overview .balance-card .balance-picker select{display:block;width:100%;max-width:none;height:52px;margin-top:6px;padding:0 14px;border:2px solid #DBDBDB;border-radius:12px;background-color:#FFFDF8;color:#2B2B2B;font-size:17px;font-weight:700;box-sizing:border-box}
@media(max-width:760px){.analytics-compact .home-overview .balance-card .balance-picker select{height:56px;font-size:18px}}
