/* 업무용 모니터에서 읽기 쉬운 최소 글자 크기와 지도 식별성을 보정합니다. */
.content{max-width:1720px}.eyebrow{font-size:11px}.subtitle{font-size:14px}.date-filter,.date-filter select{font-size:13px}.metric-head{font-size:13px}.metric-card>strong{font-size:24px}.metric-card p{font-size:11px}.panel-header h2,.detail-title h2{font-size:17px}.panel-header p{font-size:12px;line-height:1.5}.segment-control button,.brand-control button{font-size:12px}.map-caption{font-size:11px}.legend{font-size:10px}.detail-title span,.detail-total span{font-size:11px}.detail-total strong{font-size:25px}.detail-total em,.age-label{font-size:11px}.detail-facts span{font-size:10px}.detail-facts strong{font-size:15px}.detail-button{font-size:12px;padding:11px}.ranking,.rank-row{font-size:11px}.rank-row{grid-template-columns:22px 58px 1fr 65px}.tooltip{font-size:12px;line-height:1.45}.hq-header h2{font-size:19px}.hq-header p{font-size:12px;line-height:1.55}.hq-tabs button{font-size:12px}.hq-summary span{font-size:10px}.hq-summary strong{font-size:16px}.hq-table{font-size:11px}.hq-table th{font-size:11px;padding:11px 12px}.hq-table td{font-size:11px;padding:12px}.hq-table td>small{font-size:9px;margin-top:2px}.hq-note{font-size:10px;line-height:1.6}.competitor-toolbar label,.competitor-toolbar span{font-size:11px}.competitor-toolbar select{font-size:12px}.strategy-diagnosis header span{font-size:9px}.strategy-diagnosis h3{font-size:18px}.strategy-diagnosis header p{font-size:11px;line-height:1.55}.strategy-diagnosis header>strong{font-size:11px}.criteria-box summary{font-size:11px}.criteria-grid span,.criteria-grid small{font-size:10px}.criteria-grid b{font-size:13px}.planning-columns h4{font-size:12px}.plan-table{font-size:10px}.plan-table th,.plan-table td{font-size:10px}.plan-table td small,.gap-list small,.gap-guide{font-size:9px}.gap-list span,.gap-list b{font-size:11px}.execution-list>b,.execution-list div{font-size:11px}.diagnosis-caution{font-size:10px;line-height:1.55}.competition-key,.competition-badge{font-size:10px}.campus-card{width:275px;padding:17px}.campus-card .campus-brand{font-size:10px}.campus-card h3{font-size:17px}.campus-card p{font-size:11px}.campus-card .nearby-list li{font-size:10px}.campus-card .nearby-list small,.campus-card .data-badge{font-size:9px}.school-card-grades span{font-size:9px}.school-card-grades b{font-size:11px}.district-focused .district-school circle{r:.52px;opacity:.82;stroke:rgba(255,255,255,.9);stroke-width:.16px}.district-focused .district-school:hover circle{r:.72px;opacity:1}.district-focused .campus-marker .pin{r:1.35px}.district-focused .campus-marker .halo{r:2.35px}.map-back-button{font-size:12px;padding:9px 13px}
@media(max-width:760px){.metric-head{font-size:11px}.metric-card>strong{font-size:20px}.hq-tabs button{font-size:11px}.hq-table{font-size:10px}.campus-card{width:min(275px,calc(100% - 24px))}}

/* 2차 가독성 보정: 8~10px 기반의 기존 컴포넌트를 실제 업무용 크기로 올립니다. */
.nav-item{font-size:15px}.nav-label{font-size:12px}.sidebar-note{font-size:12px}.breadcrumb{font-size:14px}.hero h1{font-size:30px}.subtitle{font-size:16px}.metric-head{font-size:14px}.metric-card p{font-size:13px}.panel-header h2,.detail-title h2{font-size:19px}.panel-header p{font-size:14px}.segment-control button,.brand-control button{font-size:13px;padding:8px 12px}.detail-title span,.detail-total span,.detail-total em,.age-label{font-size:13px}.detail-facts span{font-size:12px}.detail-facts small{font-size:11px}.rank-row{font-size:13px}.tooltip{font-size:14px}.hq-header p{font-size:14px}.hq-tabs button{font-size:13px;padding:9px 14px}.hq-summary span{font-size:12px}.hq-summary strong{font-size:18px}.hq-table,.hq-table th,.hq-table td{font-size:13px}.hq-table td>small{font-size:11px}.hq-note{font-size:12px}.competitor-toolbar label,.competitor-toolbar span{font-size:13px}.competitor-toolbar select{font-size:14px}.strategy-diagnosis header span{font-size:11px}.strategy-diagnosis header p{font-size:13px}.criteria-box summary{font-size:13px}.criteria-grid span,.criteria-grid small{font-size:12px}.criteria-grid b{font-size:15px}.planning-columns h4{font-size:15px}.plan-table,.plan-table th,.plan-table td{font-size:12px}.plan-table td small,.gap-list small,.gap-guide{font-size:11px}.gap-list span,.gap-list b{font-size:13px}.execution-list>b,.execution-list div{font-size:13px}.diagnosis-caution{font-size:12px}.competition-key,.competition-badge{font-size:12px}.map-caption{font-size:13px}.campus-card p{font-size:13px}.campus-card .nearby-list li{font-size:12px}.campus-card .nearby-list small,.campus-card .data-badge{font-size:11px}footer{font-size:11px}

/* 캠퍼스 모드는 별도 화면처럼 더 크게 표시합니다. */
.audience-switch button{font-size:13px;padding:9px 14px}.campus-mode-select{max-width:280px;font-size:14px;padding:10px 12px}.campus-operations{padding:28px}.campus-view-header span{font-size:12px}.campus-view-header h2{font-size:25px;margin:5px 0}.campus-view-header p{font-size:13px;line-height:1.6}.campus-view-header>strong{font-size:14px;padding:9px 12px}.campus-kpis{gap:12px;margin:22px 0}.campus-kpis div{padding:17px}.campus-kpis span{font-size:12px;margin-bottom:5px}.campus-kpis b{font-size:20px}.campus-execution-grid{gap:14px}.campus-execution-grid section{padding:19px}.campus-execution-grid section h3{font-size:16px;margin-bottom:13px}.campus-targets>div,.campus-priority>div,.campus-actions>div{grid-template-columns:30px 1fr auto;padding:11px 0;font-size:14px}.campus-targets i,.campus-priority i,.campus-actions i{width:23px;height:23px;font-size:11px}.campus-priority small{font-size:11px;margin-top:3px}.campus-view-note{font-size:12px;line-height:1.6;margin-top:17px}
@media(max-width:760px){.hero h1{font-size:25px}.subtitle{font-size:14px}.campus-operations{padding:18px}.campus-view-header h2{font-size:22px}.campus-kpis b{font-size:18px}.campus-targets>div,.campus-priority>div,.campus-actions>div{font-size:13px}}

/* 자치구 확대 화면: 학교명은 툴팁으로 제공하고 점은 충분히 크게 표시합니다. */
.district-focused .district-school{cursor:help;pointer-events:all}.district-focused .district-school circle{r:2.65px;opacity:1;stroke:#fff;stroke-width:.55px;filter:drop-shadow(0 .4px .7px rgba(13,55,61,.32));transition:r .14s ease,filter .14s ease}.district-focused .district-school:hover circle{r:3.35px;opacity:1;stroke-width:.7px;filter:drop-shadow(0 .7px 1.1px rgba(13,55,61,.5))}.district-focused .district-school .school-name{display:none}.district-focused .district-school .school-level-label{display:block;fill:#fff;stroke:none;font-size:2.45px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.campus-label-bg,.campus-focus-label,.campus-label-line{display:none}.district-focused .campus-marker .halo,.district-focused .campus-marker .campus-short-label{display:none}.district-focused .campus-marker .pin{display:block;stroke:#fff;stroke-width:.55px;filter:drop-shadow(0 .4px .7px rgba(17,47,53,.3))}.district-focused .campus-marker .campus-label-bg,.district-focused .campus-marker .campus-focus-label,.district-focused .campus-marker .campus-label-line{display:block}.district-focused .campus-marker .campus-label-line{stroke-width:.45px;stroke-dasharray:1 1;opacity:.7}.district-focused .campus-marker .campus-label-bg{stroke-width:.45px;filter:drop-shadow(0 .5px .9px rgba(17,47,53,.24))}.district-focused .campus-marker .campus-focus-label{stroke:none;font-size:2.85px;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.tooltip{max-width:310px;padding:11px 13px;border:1px solid rgba(255,255,255,.12);box-shadow:0 7px 22px rgba(0,0,0,.22)}.tooltip strong{font-size:14px}.tooltip span{font-size:12px}
/* 자치구 확대 시 학교 표시 범위 */
.school-range-control{position:absolute;z-index:7;top:16px;left:150px;display:flex;align-items:center;gap:3px;padding:4px;background:rgba(255,255,255,.96);border:1px solid #d7e4e1;border-radius:8px;box-shadow:0 4px 12px rgba(18,58,62,.12)}
.school-range-control.hidden{display:none}
.school-range-control span{padding:0 7px;color:#64777a;font-size:11px;font-weight:700}
.school-range-control button{min-width:43px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:#64777a;font-size:12px;font-weight:700;cursor:pointer}
.school-range-control button:first-of-type{min-width:68px}
.school-range-control button:hover{background:#edf6f3;color:#087354}
.school-range-control button.active{background:#087354;color:#fff}
.school-range-control button:focus-visible{outline:2px solid #f07a48;outline-offset:2px}
@media(max-width:760px){.school-range-control{top:58px;left:16px}.school-range-control span{display:none}}

/* 확대 지도에서는 기호 자체를 읽을 수 있는 크기로 표시 */
.district-focused .district-school circle{r:3.55px;stroke-width:.65px;filter:drop-shadow(0 .55px .9px rgba(13,55,61,.35))}
.district-focused .district-school:hover circle{r:4.35px;stroke-width:.8px}
.district-focused .district-school .school-level-label{font-size:3.2px;letter-spacing:-.2px}
.district-focused .campus-marker .pin{stroke-width:.65px;transform-box:fill-box;transform-origin:center;transform:scale(1.2)}
.district-focused .campus-marker .campus-label-bg{stroke-width:.55px}
.district-focused .campus-marker .campus-focus-label{font-size:3.2px;font-weight:900}
