:root {
  --navy: #0f467b;
  --blue: #1689ee;
  --sky: #eaf6ff;
  --line: #d8e7f5;
  --text: #17324d;
  --muted: #6d849a;
  --card: #ffffff;
  --bg: #f4f9fd;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 10% 8%, rgba(80, 174, 238, .12), transparent 34%),
    linear-gradient(180deg, #eef8ff 0%, #f8fbfd 45%, #f3f8fc 100%);
}

button, input { font: inherit; }

.app-shell {
  width: min(100%, 760px);
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: 36px;
}

.hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(11, 79, 133, .97), rgba(35, 142, 215, .92)),
    linear-gradient(180deg, #77c9f2, #2d8fc8);
  padding: 24px 22px 20px;
  border-radius: 0 0 28px 28px;
}

.hero::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -70px;
  width: 260px;
  height: 150px;
  background: rgba(255,255,255,.08);
  border-radius: 55% 45% 0 0;
  transform: rotate(-8deg);
}

.hero-top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-mark {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 4px;
  padding: 12px;
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}

.brand-mark span {
  display: block;
  width: 8px;
  border-radius: 5px;
  background: #fff;
}
.brand-mark span:nth-child(1) { height: 20px; }
.brand-mark span:nth-child(2) { height: 29px; }
.brand-mark span:nth-child(3) { height: 38px; }

.hero h1 {
  margin: 0;
  font-size: clamp(24px, 5vw, 36px);
  letter-spacing: -.04em;
}
.hero-top p {
  margin: 4px 0 0;
  color: rgba(255,255,255,.84);
  font-weight: 700;
}

.hero-copy {
  margin-top: 24px;
  position: relative;
  z-index: 1;
}
.hero-copy strong {
  font-size: 17px;
}
.hero-copy p {
  margin: 8px 0 0;
  line-height: 1.7;
  color: rgba(255,255,255,.9);
}

.feature-row {
  position: relative;
  z-index: 1;
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.feature-row div {
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  padding: 11px 8px;
  text-align: center;
}
.feature-row b, .feature-row span { display: block; }
.feature-row b { font-size: 13px; }
.feature-row span {
  margin-top: 4px;
  font-size: 11px;
  color: rgba(255,255,255,.75);
}

.view {
  display: none;
  padding: 22px 18px;
}
.view.active { display: block; }

.section-head {
  margin-bottom: 16px;
}
.section-head.row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.section-head h2 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.035em;
}
.section-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.back-btn {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--card);
  color: var(--navy);
  font-size: 22px;
  cursor: pointer;
}

.menu-grid,
.analysis-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.menu-card,
.analysis-card {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 17px;
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  text-align: left;
  color: var(--text);
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
  cursor: pointer;
}

.menu-card.primary {
  border-color: #a7d7fb;
  background: linear-gradient(135deg, #fafdff, #edf7ff);
}

.menu-card .icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  background: var(--sky);
  border-radius: 13px;
  font-size: 22px;
}

.menu-card b,
.analysis-card b {
  display: block;
  font-size: 15px;
  line-height: 1.35;
}
.menu-card small,
.analysis-card small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.35;
}

.status-card {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.status-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.search-wrap {
  margin-bottom: 13px;
}
.search-wrap input {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 0 15px;
  color: var(--text);
  outline: none;
}
.search-wrap input:focus {
  border-color: #8bc8f6;
  box-shadow: 0 0 0 3px rgba(29, 142, 232, .10);
}

.teacher-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.teacher-item {
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  padding: 12px 14px;
  text-align: left;
  cursor: pointer;
  font-weight: 750;
}
.teacher-item.selected,
.teacher-item:active {
  background: linear-gradient(135deg, #198ef2, #3aa8ef);
  color: #fff;
  border-color: transparent;
}

.loading {
  text-align: center;
  padding: 22px;
  color: var(--muted);
}

.analysis-card {
  min-height: 100px;
}
.analysis-card .num {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #1bb05d;
  color: #fff;
  font-weight: 900;
}
.analysis-card .num.orange { background: #f6a12a; }
.analysis-card .num.blue { background: #278be8; }
.analysis-card .num.red { background: #ef4a4f; }
.analysis-card .num.purple { background: #8357e8; }
.analysis-card .num.teal { background: #2b9cab; }

blockquote {
  margin: 18px 0 0;
  border-radius: 18px;
  padding: 20px;
  background: linear-gradient(135deg, #eef7ff, #f8fbfe);
  color: #244f79;
  text-align: center;
  line-height: 1.8;
  font-weight: 750;
}

.result-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  white-space: pre-wrap;
  line-height: 1.72;
  font-size: 14px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.visual-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin-top: 12px;
}
.visual-buttons button {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--text);
  font-weight: 750;
  cursor: pointer;
}

.graph-box {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.graph-box img {
  width: 100%;
  border-radius: 10px;
  display: block;
}

.hidden { display: none !important; }

.toast {
  position: sticky;
  bottom: 16px;
  width: calc(100% - 36px);
  margin: 0 auto;
  padding: 11px 14px;
  border-radius: 12px;
  background: rgba(14, 55, 90, .94);
  color: #fff;
  text-align: center;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.toast.show { opacity: 1; }

@media (max-width: 560px) {
  .feature-row {
    grid-template-columns: 1fr 1fr;
  }
  .menu-grid,
  .analysis-grid,
  .teacher-list {
    grid-template-columns: 1fr;
  }
  .hero {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* V2 종합 진단 전용 UI */
.overview-dashboard {
  display: grid;
  gap: 14px;
}

.diagnosis-summary,
.priority-panel,
.flow-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.diagnosis-summary {
  border-left: 5px solid #267fbe;
  background: linear-gradient(135deg, #ffffff, #f4faff);
}

.eyebrow,
.panel-title {
  font-size: 13px;
  font-weight: 850;
  letter-spacing: -.01em;
  color: #2c6b9b;
}

.diagnosis-summary p {
  margin: 9px 0 0;
  font-size: 17px;
  line-height: 1.65;
  font-weight: 760;
  letter-spacing: -.025em;
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.metric-card {
  min-width: 0;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 17px;
  padding: 15px;
}

.metric-card .metric-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 11px;
}

.metric-card .metric-name {
  font-size: 14px;
  font-weight: 850;
  line-height: 1.4;
  min-height: 40px;
}

.metric-card .metric-value {
  margin-top: 8px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.045em;
}

.metric-card .metric-diff {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.metric-card.need {
  border-top: 4px solid #d94f58;
}
.metric-card.need .metric-label,
.metric-card.need .metric-value {
  color: #ba3b45;
}

.metric-card.down {
  border-top: 4px solid #e8912c;
}
.metric-card.down .metric-label,
.metric-card.down .metric-value {
  color: #c8761d;
}

.metric-card.good {
  border-top: 4px solid #2d9a66;
}
.metric-card.good .metric-label,
.metric-card.good .metric-value {
  color: #267e57;
}

.metric-card.neutral {
  border-top: 4px solid #6f8ea6;
}
.metric-card.neutral .metric-label,
.metric-card.neutral .metric-value {
  color: #55758d;
}

.metric-card.unavailable {
  border-top: 4px solid #aab8c4;
  background: #f8fafc;
}
.metric-card.unavailable .metric-label,
.metric-card.unavailable .metric-value {
  color: #738596;
}

.flow-step.flow-missing {
  background: #f8fafc;
  border-style: dashed;
}
.flow-step.flow-missing strong {
  color: #7a8d9d;
  font-size: 15px;
}

.comparison-empty-text {
  margin: 12px 0 0;
  padding: 11px 12px;
  border-radius: 12px;
  background: #f3f7fa;
  color: #6a7f90;
  font-size: 12px;
  line-height: 1.55;
}

.priority-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 12px;
  line-height: 1.55;
}

.priority-rank {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eaf5fd;
  color: #1d6ea7;
  font-size: 12px;
  font-weight: 900;
}

.flow-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
}

.flow-step {
  position: relative;
  padding: 13px 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fbfe;
  text-align: center;
}

.flow-step b {
  display: block;
  font-size: 13px;
}

.flow-step strong {
  display: block;
  margin-top: 5px;
  font-size: 19px;
  color: #1d679c;
}

.detail-guide {
  margin: 0;
  padding: 13px 15px;
  border-radius: 14px;
  background: #eef6fc;
  color: #58738a;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 620px) {
  .status-grid {
    grid-template-columns: 1fr;
  }

  .flow-track {
    grid-template-columns: 1fr 1fr;
  }

  .metric-card .metric-name {
    min-height: auto;
  }
}


/* V3 쉬운 용어 라벨 대응 */
.priority-rank {
  width: 42px;
  height: 28px;
  flex-basis: 42px;
  border-radius: 999px;
  font-size: 11px;
}

/* V5 우선순위 배지 */
.priority-rank {
  min-width: 50px;
  width: 50px;
  flex-basis: 50px;
}


/* ==================================================
   V8 핵심 비교 분석
   ================================================== */

.comparison-panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.panel-headline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.panel-headline p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.6;
}

.comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.comparison-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f9fcff;
  padding: 15px;
}

.comparison-card.peer-card {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #f8fcff, #f2f9ff);
}

.comparison-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.comparison-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: #e6f3fd;
  color: #226eaa;
  font-weight: 900;
}

.comparison-kicker {
  display: block;
  color: #6b879e;
  font-size: 11px;
  font-weight: 800;
}

.comparison-card h3 {
  margin: 2px 0 0;
  font-size: 15px;
  letter-spacing: -.025em;
}

.comparison-basis {
  margin: 12px 0 8px;
  color: #4e718e;
  font-size: 13px;
  font-weight: 750;
}

.rank-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.rank-row {
  min-width: 0;
  border: 1px solid #dceaf6;
  border-radius: 13px;
  padding: 11px;
  background: #fff;
}

.rank-row b,
.rank-row small {
  display: block;
}

.rank-row b {
  font-size: 12px;
  line-height: 1.35;
}

.rank-row small {
  margin-top: 4px;
  color: #6e879c;
}

.rank-value {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 9px;
}

.rank-value strong {
  font-size: 16px;
  color: #1f679d;
}

.rank-band {
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf5fb;
  color: #55778e;
  font-size: 10px;
  font-weight: 850;
}

.best-list {
  margin-top: 12px;
  display: grid;
  gap: 9px;
}

.best-row {
  border-top: 1px solid #e4eef6;
  padding-top: 10px;
}

.best-row:first-child {
  border-top: 0;
  padding-top: 0;
}

.best-row > b {
  display: block;
  font-size: 13px;
}

.best-values {
  display: grid;
  gap: 4px;
  margin-top: 7px;
  font-size: 12px;
  color: #5d778c;
}

.best-values strong {
  color: #1d5f91;
}

.best-row > small {
  display: block;
  margin-top: 6px;
  color: #9b6530;
  font-weight: 750;
}

.trend-metric {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 850;
}

.trend-track {
  display: flex;
  align-items: stretch;
  gap: 5px;
  margin-top: 9px;
}

.trend-point {
  position: relative;
  flex: 1;
  min-width: 0;
  border: 1px solid #dceaf6;
  border-radius: 12px;
  padding: 9px 7px;
  background: #fff;
  text-align: center;
}

.trend-point small,
.trend-point strong {
  display: block;
}

.trend-point small {
  color: #6a8398;
  font-size: 10px;
  line-height: 1.35;
}

.trend-point strong {
  margin-top: 5px;
  font-size: 16px;
  color: #215f90;
}

.trend-arrow {
  position: absolute;
  right: -10px;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  color: #7fa1ba;
  font-size: 14px;
  font-weight: 900;
}

.trend-summary {
  margin-top: 10px;
  border-radius: 11px;
  padding: 9px 10px;
  background: #eef6fc;
  color: #385f7c;
  font-size: 12px;
  font-weight: 800;
}

.comparison-note {
  margin-top: 6px;
  color: #8398aa;
  font-size: 10px;
}

@media (max-width: 620px) {
  .comparison-grid {
    grid-template-columns: 1fr;
  }

  .comparison-card.peer-card {
    grid-column: auto;
  }

  .rank-list {
    grid-template-columns: 1fr;
  }
}


/* V10: 최근 완료기수 변화 본문 균형 조정
   제목(.comparison-card h3)은 수정하지 않음 */
.trend-metric {
  font-weight: 700;
  color: #2e4558;
}

.trend-point strong {
  font-weight: 700;
  color: #1d5f91;
}

.trend-summary {
  font-weight: 700;
  color: #5d778c;
}


/* V11 종합 진단 → 종강·이탈 분석 바로가기 */
.overview-completion-link {
  width: 100%;
  margin-top: 12px;
  border: 1px solid #d6e7f4;
  border-radius: 15px;
  padding: 13px 15px;
  background: #f7fbfe;
  color: #173d5c;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
  cursor: pointer;
}

.overview-completion-link span {
  min-width: 0;
}

.overview-completion-link b,
.overview-completion-link small {
  display: block;
}

.overview-completion-link b {
  font-size: 13px;
  font-weight: 800;
}

.overview-completion-link small {
  margin-top: 4px;
  color: #6e879c;
  font-size: 11px;
  line-height: 1.45;
}

.overview-completion-link > strong {
  flex: 0 0 auto;
  color: #1d74ad;
  font-size: 20px;
}

.overview-completion-link:hover {
  background: #edf7fd;
}


/* ==================================================
   V12 종강·이탈 분석 전문 대시보드
   ================================================== */

.result-card.completion-dashboard-host {
  white-space: normal;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  gap: 14px;
}

.completion-summary,
.completion-section {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 18px;
  padding: 17px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .045);
}

.completion-summary {
  border-left: 4px solid #2b88c7;
  background: linear-gradient(135deg, #ffffff, #f7fbff);
}

.completion-eyebrow {
  color: #1e6d9f;
  font-size: 11px;
  font-weight: 850;
}

.completion-summary p {
  margin: 8px 0 0;
  color: #173955;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.72;
}

.completion-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.completion-kpi {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
  padding: 15px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .04);
}

.completion-kpi.cumulative {
  border-top: 4px solid #2d7fc0;
}

.completion-kpi.latest {
  border-top: 4px solid #df8a22;
}

.completion-kpi.change {
  border-top: 4px solid #cf4e55;
}

.completion-kpi-label {
  color: #5d7b92;
  font-size: 11px;
  font-weight: 800;
}

.completion-kpi-name {
  min-height: 34px;
  margin-top: 6px;
  color: #173a55;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.4;
}

.completion-kpi-value {
  margin-top: 12px;
  color: #175f96;
  font-size: 27px;
  font-weight: 850;
  letter-spacing: -.03em;
}

.completion-kpi.latest .completion-kpi-value {
  color: #c86d12;
}

.completion-kpi.change .completion-kpi-value {
  color: #bf3f48;
}

.completion-kpi-detail {
  margin-top: 5px;
  color: #738a9c;
  font-size: 10.5px;
  line-height: 1.45;
}

.completion-section-head h3 {
  margin: 0;
  color: #17476d;
  font-size: 14px;
}

.completion-section-head p {
  margin: 5px 0 0;
  color: #748b9e;
  font-size: 11px;
  line-height: 1.45;
}

.completion-term-grid,
.record-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 13px;
}

.completion-term-card,
.record-card {
  min-width: 0;
  border: 1px solid #dceaf5;
  border-radius: 14px;
  background: #f9fcff;
  padding: 12px;
}

.term-card-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.term-card-top b {
  min-width: 0;
  color: #294c67;
  font-size: 11px;
}

.term-card-top strong {
  color: #1768a2;
  font-size: 18px;
}

.completion-bar {
  overflow: hidden;
  height: 7px;
  margin-top: 9px;
  border-radius: 999px;
  background: #e5eef5;
}

.completion-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #3989c3;
}

.record-card > b {
  display: block;
  color: #294c67;
  font-size: 12px;
}

.record-values {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.record-values span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #658096;
  font-size: 11px;
}

.record-values strong {
  color: #173e5c;
  font-size: 12px;
}

.completion-note {
  margin: 10px 0 0;
  color: #7b91a2;
  font-size: 10.5px;
  line-height: 1.55;
}

.noncompletion-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 13px;
}

.noncompletion-card {
  border: 1px solid #dceaf5;
  border-radius: 14px;
  background: #f8fbfe;
  padding: 13px;
  text-align: center;
}

.noncompletion-card span {
  display: block;
  color: #516f87;
  font-size: 11px;
  line-height: 1.4;
}

.noncompletion-card strong {
  display: block;
  margin-top: 7px;
  color: #1768a2;
  font-size: 21px;
}

.change-summary-list {
  margin-top: 12px;
  border: 1px solid #dce8f2;
  border-radius: 14px;
  overflow: hidden;
}

.change-summary-row {
  display: grid;
  grid-template-columns: 28px minmax(130px, 1fr) minmax(145px, auto) minmax(70px, auto);
  align-items: center;
  gap: 9px;
  min-height: 49px;
  padding: 8px 11px;
  border-top: 1px solid #e7eff5;
}

.change-summary-row:first-child {
  border-top: 0;
}

.change-index {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf5fb;
  color: #35698e;
  font-size: 10px;
  font-weight: 850;
}

.change-summary-row b {
  color: #294c67;
  font-size: 11.5px;
}

.change-values {
  color: #647f94;
  font-size: 11px;
  text-align: right;
}

.change-summary-row > strong {
  color: #3c647f;
  font-size: 12px;
  text-align: right;
}

.change-summary-row > strong.negative {
  color: #bd4149;
}

.change-summary-row > strong.positive {
  color: #18805b;
}

@media (max-width: 680px) {
  .completion-kpi-grid,
  .completion-term-grid,
  .record-grid,
  .noncompletion-grid {
    grid-template-columns: 1fr;
  }

  .change-summary-row {
    grid-template-columns: 28px 1fr auto;
  }

  .change-values {
    grid-column: 2 / -1;
    text-align: left;
  }
}


/* V15 기수별 종강 인원 비교 */
.completion-count-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 13px;
}

.completion-count-card {
  min-width: 0;
  border: 1px solid #dceaf5;
  border-radius: 14px;
  background: #f9fcff;
  padding: 13px;
}

.count-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.count-card-head b {
  color: #294c67;
  font-size: 12px;
}

.count-card-head span {
  color: #1768a2;
  font-size: 12px;
  font-weight: 800;
}

.count-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
}

.count-flow > div {
  min-width: 0;
  border-radius: 11px;
  background: #fff;
  padding: 10px 8px;
  text-align: center;
}

.count-flow small,
.count-flow strong {
  display: block;
}

.count-flow small {
  color: #71899c;
  font-size: 10px;
}

.count-flow strong {
  margin-top: 4px;
  color: #173e5c;
  font-size: 17px;
}

.count-arrow {
  color: #7e9db3;
  font-size: 16px;
  font-weight: 700;
}

.count-difference {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  border-top: 1px solid #e2edf5;
  padding-top: 9px;
}

.count-difference span {
  color: #698398;
  font-size: 10.5px;
}

.count-difference strong {
  color: #9a5d30;
  font-size: 13px;
}

@media (max-width: 680px) {
  .completion-count-grid {
    grid-template-columns: 1fr;
  }
}


/* V17 기수별 종강 성과 비교 - 인원 + 비율 통합 */
.completion-performance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-top: 13px;
}

.completion-performance-card {
  min-width: 0;
  border: 1px solid #dceaf5;
  border-radius: 14px;
  background: #f9fcff;
  padding: 13px;
}

.performance-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.performance-card-head b {
  color: #294c67;
  font-size: 12px;
}

.performance-card-head strong {
  color: #1768a2;
  font-size: 18px;
  font-weight: 800;
}

.performance-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.performance-flow > div {
  border-radius: 11px;
  background: #fff;
  padding: 9px 8px;
  text-align: center;
}

.performance-flow small,
.performance-flow strong {
  display: block;
}

.performance-flow small {
  color: #71899c;
  font-size: 10px;
}

.performance-flow strong {
  margin-top: 4px;
  color: #173e5c;
  font-size: 16px;
}

.performance-flow > span {
  color: #7e9db3;
  font-size: 15px;
  font-weight: 700;
}

.performance-bar {
  margin-top: 11px;
}

@media (max-width: 680px) {
  .completion-performance-grid {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V18 기수별 변화 요약
   ================================================== */

.term-change-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 13px;
}

.term-change-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce8f2;
  border-radius: 15px;
  background: #fbfdff;
}

.term-change-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 11px 12px;
  background: #f0f7fc;
  color: #315a78;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}

.term-change-head strong {
  color: #7b9bb2;
  font-size: 13px;
}

.term-change-rows {
  padding: 3px 12px 7px;
}

.term-change-row {
  display: grid;
  grid-template-columns: minmax(120px, 1.15fr) minmax(125px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 43px;
  border-top: 1px solid #e7eff5;
}

.term-change-row:first-child {
  border-top: 0;
}

.term-change-row b {
  min-width: 0;
  color: #294c67;
  font-size: 10.8px;
  line-height: 1.35;
}

.term-change-values {
  color: #657f93;
  font-size: 10.8px;
  text-align: right;
  white-space: nowrap;
}

.term-change-values em {
  margin: 0 4px;
  color: #8ca4b7;
  font-style: normal;
}

.term-change-badge {
  min-width: 68px;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 9.8px;
  font-weight: 800;
  text-align: center;
  white-space: nowrap;
}

.term-change-badge.up {
  background: #eef8f3;
  color: #267253;
}

.term-change-badge.down {
  background: #fff2f2;
  color: #ad4a50;
}

.term-change-badge.same {
  background: #f1f5f8;
  color: #6f8495;
}

@media (max-width: 760px) {
  .term-change-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .term-change-row {
    grid-template-columns: 1fr auto;
    gap: 5px 8px;
    padding: 8px 0;
  }

  .term-change-values {
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: left;
  }

  .term-change-badge {
    grid-column: 2;
    grid-row: 1;
  }
}


/* ==================================================
   V19 기수별 변화 요약 - 한눈에 보기
   ================================================== */

.term-change-grid.compact-overview {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 13px;
}

.glance-card {
  overflow: hidden;
  border: 1px solid #dbe8f2;
  border-radius: 16px;
  background: #fff;
}

.glance-term-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 15px;
  background: #eef6fc;
  color: #315b79;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.glance-term-head strong {
  color: #82a0b5;
}

.glance-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px 4px;
}

.glance-summary span {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 4px 8px;
  background: #edf5fb;
  color: #517590;
  font-size: 10px;
  font-weight: 800;
}

.glance-summary b {
  min-width: 0;
  color: #173e5c;
  font-size: 13px;
  line-height: 1.4;
}

.glance-core-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  padding: 10px 15px 14px;
}

.glance-metric {
  min-width: 0;
  border: 1px solid #e0ebf4;
  border-radius: 13px;
  background: #fbfdff;
  padding: 11px;
}

.glance-metric > b {
  display: block;
  min-height: 31px;
  color: #294c67;
  font-size: 10.8px;
  line-height: 1.4;
}

.glance-values {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-top: 9px;
  color: #345a75;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}

.glance-values em {
  color: #8da6b8;
  font-style: normal;
  font-weight: 600;
}

.glance-change {
  display: inline-block;
  margin-top: 8px;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
}

.glance-change.positive {
  background: #edf8f3;
  color: #267253;
}

.glance-change.attention {
  background: #fff1f1;
  color: #ad4a50;
}

.glance-change.same {
  background: #f1f5f8;
  color: #6f8495;
}

.support-change-box {
  margin: 0 15px 14px;
  border-top: 1px solid #e6eef5;
  padding-top: 11px;
}

.support-change-title {
  color: #7890a2;
  font-size: 10px;
  font-weight: 800;
}

.support-change-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 7px;
}

.support-change-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
  border-radius: 10px;
  background: #f7fafc;
  padding: 8px 10px;
}

.support-change-row span {
  color: #617d91;
  font-size: 9.8px;
}

.support-change-row b {
  color: #365b75;
  font-size: 10.5px;
  text-align: right;
}

.support-change-row small {
  grid-column: 1 / -1;
  color: #8297a7;
  font-size: 9.5px;
}

@media (max-width: 700px) {
  .glance-core-grid {
    grid-template-columns: 1fr;
  }

  .glance-metric > b {
    min-height: 0;
  }

  .support-change-list {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V20 전체 완료기수 한 표 비교
   ================================================== */

.all-term-table-wrap {
  overflow-x: auto;
  margin-top: 13px;
  border: 1px solid #dce8f2;
  border-radius: 15px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.all-term-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.all-term-table th,
.all-term-table td {
  border-right: 1px solid #e4edf4;
  border-bottom: 1px solid #e4edf4;
  padding: 11px 10px;
  vertical-align: middle;
}

.all-term-table tr > *:last-child {
  border-right: 0;
}

.all-term-table tbody tr:last-child > * {
  border-bottom: 0;
}

.all-term-table thead th {
  background: #eef6fc;
  color: #315b79;
  font-size: 10.8px;
  font-weight: 850;
  text-align: center;
  white-space: nowrap;
}

.all-term-table .metric-column {
  width: 150px;
  text-align: left;
}

.all-term-table tbody th {
  width: 150px;
  background: #f9fcfe;
  color: #294c67;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}

.all-term-table tbody th small {
  display: block;
  margin-top: 4px;
  color: #8aa0b1;
  font-size: 8.8px;
  font-weight: 700;
}

.all-term-table td {
  background: #fff;
  text-align: center;
}

.term-main-value {
  display: block;
  color: #244c68;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.term-main-value.muted {
  color: #9baab5;
}

.term-delta {
  display: inline-block;
  margin-top: 6px;
  border-radius: 999px;
  padding: 3px 6px;
  font-size: 8.8px;
  font-weight: 800;
  white-space: nowrap;
}

.term-delta.positive {
  background: #edf8f3;
  color: #267253;
}

.term-delta.attention {
  background: #fff1f1;
  color: #ad4a50;
}

.term-delta.neutral {
  background: #f1f5f8;
  color: #6f8495;
}

.term-delta.same {
  background: #f3f6f8;
  color: #7b8e9d;
}

.term-delta.base {
  background: #edf5fb;
  color: #668299;
}

.support-metric-row th,
.support-metric-row td {
  background: #fbfcfd;
}

.all-term-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 10px;
  color: #73899b;
  font-size: 9.5px;
}

.all-term-guide span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.guide-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  display: inline-block;
}

.guide-dot.positive {
  background: #4f9c79;
}

.guide-dot.attention {
  background: #d57076;
}

.guide-dot.neutral {
  background: #98a8b4;
}

@media (max-width: 620px) {
  .all-term-table {
    min-width: 720px;
  }

  .all-term-table .metric-column,
  .all-term-table tbody th {
    width: 135px;
  }
}


/* V21 기준 기수 표시는 첫 번째 기수 헤더에 한 번만 */
.term-header-title,
.term-header-base {
  display: block;
}

.term-header-base {
  margin-top: 4px;
  color: #6f8799;
  font-size: 8.8px;
  font-weight: 750;
}


/* ==================================================
   V22 텔레그램 미니앱 가독성 보강
   - 기존 기능/수치/배치 구조는 유지
   - 작게 보이던 라벨·설명·표·배지·주석을 전체적으로 확대
   ================================================== */

/* 기본 본문 */
body {
  font-size: 16px;
}

/* 메인 상단 */
.hero-top p {
  font-size: 15px;
}
.hero-copy strong {
  font-size: 18px;
}
.hero-copy p {
  font-size: 15px;
}
.feature-row b {
  font-size: 14px;
}
.feature-row span {
  font-size: 13px;
}

/* 메뉴 / 강사 / 기본 분석 */
.menu-card b,
.analysis-card b {
  font-size: 16px;
}
.menu-card small,
.analysis-card small {
  font-size: 13px;
  line-height: 1.45;
}
.status-card p {
  font-size: 14px;
}
.teacher-item {
  font-size: 15px;
}
.result-card {
  font-size: 15px;
}

/* 종합 진단 */
.eyebrow,
.panel-title {
  font-size: 14px;
}
.metric-card .metric-label {
  font-size: 13px;
}
.metric-card .metric-name {
  font-size: 15px;
}
.metric-card .metric-value {
  font-size: 26px;
}
.metric-card .metric-diff {
  font-size: 13px;
}
.priority-rank {
  font-size: 12px;
}
.detail-guide,
.overview-detail-guide {
  font-size: 13px;
}

/* 핵심 비교 분석 */
.panel-headline p {
  font-size: 13px;
}
.comparison-kicker {
  font-size: 12px;
}
.comparison-card h3 {
  font-size: 16px;
}
.comparison-basis {
  font-size: 13px;
}
.rank-row b {
  font-size: 13px;
}
.rank-row small {
  font-size: 12px;
}
.rank-value strong {
  font-size: 17px;
}
.rank-band {
  font-size: 11px;
}
.best-row > b {
  font-size: 14px;
}
.best-values {
  font-size: 13px;
}
.best-row > small {
  font-size: 12px;
}
.trend-point small {
  font-size: 12px;
}
.trend-point strong {
  font-size: 17px;
}
.trend-summary {
  font-size: 13px;
}
.comparison-note {
  font-size: 12px;
}

/* 종합 진단 → 종강·탈락 이동 */
.overview-completion-link b {
  font-size: 14px;
}
.overview-completion-link small {
  font-size: 12.5px;
}

/* 종강·탈락 분석 */
.completion-eyebrow {
  font-size: 13px;
}
.completion-summary p {
  font-size: 15px;
}
.completion-kpi-label {
  font-size: 13px;
}
.completion-kpi-name {
  font-size: 14px;
}
.completion-kpi-value {
  font-size: 29px;
}
.completion-kpi-detail {
  font-size: 12.5px;
}
.completion-section-head h3 {
  font-size: 16px;
}
.completion-section-head p {
  font-size: 13px;
}
.term-card-top b,
.record-card > b,
.count-card-head b,
.performance-card-head b {
  font-size: 13px;
}
.record-values span {
  font-size: 13px;
}
.record-values strong {
  font-size: 14px;
}
.completion-note {
  font-size: 12.5px;
  line-height: 1.6;
}
.performance-flow small,
.count-flow small {
  font-size: 12px;
}
.performance-flow strong,
.count-flow strong {
  font-size: 18px;
}
.count-difference span {
  font-size: 12px;
}

/* 전체 기수 한 표 비교 - 모바일에서도 읽기 쉬운 크기 */
.all-term-table {
  min-width: 930px;
}
.all-term-table th,
.all-term-table td {
  padding: 14px 12px;
}
.all-term-table thead th {
  font-size: 13px;
}
.all-term-table .metric-column {
  width: 180px;
}
.all-term-table tbody th {
  width: 180px;
  font-size: 13px;
  line-height: 1.4;
}
.all-term-table tbody th small {
  font-size: 11px;
}
.term-main-value {
  font-size: 16px;
  font-weight: 850;
}
.term-delta {
  margin-top: 7px;
  padding: 5px 8px;
  font-size: 11.5px;
}
.all-term-guide {
  font-size: 12px;
  line-height: 1.45;
}
.term-header-base {
  font-size: 11px;
}

/* 혹시 남아 있는 과거/보조 UI의 작은 글자도 최소 가독성 확보 */
.change-index {
  font-size: 12px;
}
.change-summary-row b {
  font-size: 13px;
}
.change-values {
  font-size: 12.5px;
}
.change-summary-row > strong {
  font-size: 13px;
}
.noncompletion-card span {
  font-size: 13px;
}
.term-change-head {
  font-size: 13px;
}
.term-change-row b,
.term-change-values {
  font-size: 12.5px;
}
.term-change-badge {
  font-size: 11px;
}
.glance-term-head {
  font-size: 13px;
}
.glance-summary span {
  font-size: 11.5px;
}
.glance-summary b {
  font-size: 14px;
}
.glance-metric > b {
  font-size: 12.5px;
}
.glance-values {
  font-size: 13px;
}
.glance-change {
  font-size: 11.5px;
}
.support-change-title {
  font-size: 11.5px;
}
.support-change-row span {
  font-size: 11.5px;
}
.support-change-row b {
  font-size: 12px;
}
.support-change-row small {
  font-size: 11px;
}

@media (max-width: 620px) {
  /* 모바일 미니앱에서는 설명문과 버튼 글자를 더 이상 작게 줄이지 않음 */
  .view {
    padding-left: 14px;
    padding-right: 14px;
  }

  .section-head h2 {
    font-size: 23px;
  }

  .section-head p {
    font-size: 14px;
  }

  .menu-card,
  .analysis-card {
    padding: 16px;
  }

  .all-term-table {
    min-width: 900px;
  }

  .all-term-table .metric-column,
  .all-term-table tbody th {
    width: 170px;
  }
}


/* V23 종강·탈락 분석 상단 카드 개편 */
.completion-kpi.dropout,
.completion-kpi.dropout-attention,
.completion-kpi.dropout-good {
  border-top: 4px solid #7b91a2;
}

.completion-kpi.dropout-attention {
  border-top-color: #cf4e55;
}

.completion-kpi.dropout-attention .completion-kpi-value {
  color: #bf3f48;
}

.completion-kpi.dropout-good {
  border-top-color: #2d9a66;
}

.completion-kpi.dropout-good .completion-kpi-value {
  color: #267e57;
}


/* V24 종합 판단 / 분석 요약 전문가형 상세 문장 */
#overviewJudgment,
.completion-summary p {
  white-space: pre-line;
}

#overviewJudgment {
  line-height: 1.78;
}

.completion-summary p {
  line-height: 1.78;
}

@media (max-width: 620px) {
  #overviewJudgment,
  .completion-summary p {
    font-size: 15px;
    line-height: 1.75;
  }
}


/* ==================================================
   V26 종강·탈락 분석 > 분석 요약 카드형
   ================================================== */

.completion-summary-cards {
  padding: 18px;
}

.completion-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.completion-summary-card {
  min-width: 0;
  border: 1px solid #dce8f2;
  border-radius: 15px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 4px 12px rgba(26, 78, 118, .04);
}

.completion-summary-card.blue {
  border-top: 4px solid #2d7fc0;
}

.completion-summary-card.orange {
  border-top: 4px solid #df8a22;
}

.completion-summary-card.navy {
  border-top: 4px solid #17476d;
}

.completion-summary-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.completion-summary-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eef6fc;
  color: #236b9f;
  font-size: 14px;
  font-weight: 900;
}

.completion-summary-card.orange .completion-summary-icon {
  background: #fff4e7;
  color: #bc6b15;
}

.completion-summary-card.navy .completion-summary-icon {
  background: #edf3f8;
  color: #17476d;
}

.completion-summary-card-head b {
  color: #254b67;
  font-size: 14px;
  font-weight: 850;
}

.completion-summary-card p {
  margin: 10px 0 0;
  color: #49677e;
  font-size: 14px;
  line-height: 1.58;
  font-weight: 650;
}

@media (max-width: 620px) {
  .completion-summary-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .completion-summary-card {
    padding: 13px 14px;
  }

  .completion-summary-card-head b {
    font-size: 15px;
  }

  .completion-summary-card p {
    font-size: 14px;
    line-height: 1.55;
  }
}


/* ==================================================
   V27 종강·탈락 분석 > 분석 요약 한 박스형
   종합 진단의 종합 판단과 같은 방식으로
   제목 + 3줄 핵심 구조
   ================================================== */

.completion-summary-compact {
  border-left: 5px solid #267fbe;
  background: linear-gradient(135deg, #ffffff, #f4faff);
  padding: 18px 20px;
}

.completion-summary-lines {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}

.completion-summary-line {
  display: block;
  color: #173955;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 720;
  letter-spacing: -.015em;
}

.completion-summary-line b {
  color: #17476d;
  font-weight: 900;
}

.completion-summary-line span {
  color: #173955;
}

@media (max-width: 620px) {
  .completion-summary-compact {
    padding: 16px;
  }

  .completion-summary-lines {
    gap: 8px;
  }

  .completion-summary-line {
    font-size: 15px;
    line-height: 1.58;
  }
}


/* ==================================================
   V29 강점·보완 분석
   ================================================== */

.strength-dashboard-host {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  white-space: normal;
}

.strength-summary {
  border: 1px solid var(--line);
  border-left: 5px solid #278be8;
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff, #f4faff);
  padding: 18px 20px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.strength-eyebrow {
  color: #236b9f;
  font-size: 14px;
  font-weight: 900;
}

.strength-summary-lines {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}

.strength-summary-line {
  color: #173955;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 700;
}

.strength-summary-line b {
  color: #17476d;
  font-weight: 900;
}

.strength-section {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.strength-section-head h3 {
  margin: 0;
  color: #17476d;
  font-size: 17px;
}

.strength-section-head p {
  margin: 6px 0 0;
  color: #6d849a;
  font-size: 13px;
  line-height: 1.5;
}

.strength-metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.strength-metric-card {
  min-width: 0;
  border: 1px solid #dce8f2;
  border-top: 4px solid #8297a7;
  border-radius: 16px;
  background: #fff;
  padding: 15px;
}

.strength-metric-card.strength {
  border-top-color: #2d9a66;
}

.strength-metric-card.improve {
  border-top-color: #d5525a;
}

.strength-metric-card.similar {
  border-top-color: #478cc2;
}

.strength-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.strength-status {
  display: inline-block;
  border-radius: 999px;
  background: #edf4f9;
  color: #60798c;
  padding: 4px 8px;
  font-size: 11.5px;
  font-weight: 850;
}

.strength-metric-card.strength .strength-status {
  background: #edf8f3;
  color: #267e57;
}

.strength-metric-card.improve .strength-status {
  background: #fff0f1;
  color: #b63e47;
}

.strength-metric-card.similar .strength-status {
  background: #eef6fc;
  color: #2e719f;
}

.strength-card-head h4 {
  margin: 7px 0 0;
  color: #294c67;
  font-size: 15px;
  line-height: 1.4;
}

.strength-main-value {
  color: #173e5c;
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
}

.strength-metric-card.strength .strength-main-value {
  color: #267e57;
}

.strength-metric-card.improve .strength-main-value {
  color: #b63e47;
}

.strength-compare-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid #e8f0f6;
  color: #668095;
  font-size: 13px;
}

.strength-compare-row strong {
  color: #294c67;
  font-size: 13px;
}

.strength-diff.strength {
  color: #267e57;
}

.strength-diff.improve {
  color: #b63e47;
}

.strength-diff.similar {
  color: #2e719f;
}

.strength-recent {
  margin-top: 11px;
  border-radius: 12px;
  background: #f4f8fb;
  padding: 10px 11px;
}

.strength-recent span,
.strength-recent strong {
  display: block;
}

.strength-recent span {
  color: #728a9c;
  font-size: 12px;
  font-weight: 750;
}

.strength-recent strong {
  margin-top: 5px;
  color: #294c67;
  font-size: 13px;
  line-height: 1.45;
}

.strength-recent em {
  margin-left: 4px;
  font-style: normal;
  font-weight: 850;
}

.strength-recent em.up {
  color: #267e57;
}

.strength-recent em.down {
  color: #b63e47;
}

.strength-recent em.same {
  color: #60798c;
}

.strength-note {
  margin: 12px 0 0;
  color: #7890a2;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 620px) {
  .strength-summary {
    padding: 16px;
  }

  .strength-summary-line {
    font-size: 15px;
    line-height: 1.58;
  }

  .strength-section {
    padding: 15px;
  }

  .strength-metric-grid {
    grid-template-columns: 1fr;
  }

  .strength-card-head h4 {
    font-size: 16px;
  }

  .strength-main-value {
    font-size: 27px;
  }

  .strength-compare-row,
  .strength-compare-row strong,
  .strength-recent strong {
    font-size: 14px;
  }

  .strength-recent span,
  .strength-note {
    font-size: 12.5px;
  }
}


/* ==================================================
   V32 강점·보완 한눈에 그래픽
   ================================================== */

.strength-priority-section,
.strength-management-section {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .05);
}

.strength-priority-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.strength-priority-head h3,
.strength-management-head h3 {
  margin: 0;
  color: #173f5d;
  font-size: 18px;
  line-height: 1.35;
}

.strength-priority-head p,
.strength-management-head p {
  margin: 5px 0 0;
  color: #6d849a;
  font-size: 13.5px;
  line-height: 1.55;
}

.priority-basis-chip {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #f1f6fb;
  color: #607b91;
  padding: 7px 10px;
  font-size: 12.5px;
  font-weight: 850;
}

.priority-scale-caption {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 16px 105px 4px 64px;
  color: #8ba0b1;
  font-size: 11.5px;
  font-weight: 750;
}

.priority-scale-caption span:last-child {
  text-align: right;
}

.priority-scale-caption b {
  color: #5f778b;
  font-size: 11.5px;
}

.strength-priority-list {
  display: grid;
  gap: 10px;
}

.strength-priority-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 150px;
  gap: 12px;
  align-items: center;
  border: 1px solid #e0eaf2;
  border-radius: 16px;
  background: #fff;
  padding: 13px 14px;
}

.strength-priority-row.improve {
  background: linear-gradient(90deg, #fffafa 0%, #ffffff 38%);
}

.strength-priority-row.strength {
  background: linear-gradient(90deg, #f8fffb 0%, #ffffff 38%);
}

.priority-rank {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf4f9;
  color: #5f778b;
  font-size: 17px;
  font-weight: 950;
}

.priority-rank.improve {
  background: #fff0f1;
  color: #c3404b;
}

.priority-rank.strength {
  background: #eaf8f1;
  color: #218758;
}

.priority-main {
  min-width: 0;
}

.priority-title-line {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.priority-title-line strong {
  min-width: 0;
  color: #173f5d;
  font-size: 15.5px;
  line-height: 1.35;
  font-weight: 900;
}

.priority-badge {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 4px 8px;
  background: #edf4f9;
  color: #60798c;
  font-size: 11.5px;
  font-weight: 900;
}

.priority-badge.improve {
  background: #fff0f1;
  color: #be3e48;
}

.priority-badge.strength {
  background: #eaf8f1;
  color: #22865a;
}

.priority-gap-track {
  position: relative;
  height: 10px;
  margin-top: 10px;
  border-radius: 999px;
  background: #edf2f6;
  overflow: hidden;
}

.priority-center-line {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: -2px;
  bottom: -2px;
  width: 2px;
  background: #9fb1bf;
  transform: translateX(-1px);
}

.priority-gap-fill {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}

.priority-gap-fill.improve {
  background: linear-gradient(90deg, #ef747b, #dd4c55);
}

.priority-gap-fill.strength {
  background: linear-gradient(90deg, #37a875, #23935f);
}

.priority-gap-fill.similar {
  background: #6c9fc5;
}

.priority-values {
  text-align: right;
}

.priority-values strong,
.priority-values span {
  display: block;
}

.priority-values strong {
  color: #567084;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 900;
}

.priority-values strong.improve {
  color: #c64049;
}

.priority-values strong.strength {
  color: #22865a;
}

.priority-values span {
  margin-top: 4px;
  color: #71899b;
  font-size: 12.5px;
  font-weight: 800;
}

.priority-values span.up {
  color: #278c60;
}

.priority-values span.down {
  color: #c84a52;
}

.priority-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 13px;
  color: #7990a1;
  font-size: 11.8px;
  line-height: 1.45;
}

.priority-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8da2b2;
}

.legend-dot.improve {
  background: #d5525a;
}

.legend-dot.strength {
  background: #2d9a66;
}

.strength-management-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.management-icon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #eef7ff;
  color: #287fc4;
  font-size: 18px;
  font-weight: 950;
}

.management-list {
  display: grid;
  gap: 9px;
  margin-top: 14px;
  border-radius: 15px;
  background: #f7fafc;
  padding: 12px;
}

.management-line {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 7px 5px;
}

.management-num {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eaf2f8;
  color: #397296;
  font-size: 13px;
  font-weight: 950;
}

.management-line.priority .management-num {
  background: #fff0f1;
  color: #bd414a;
}

.management-line.strength .management-num {
  background: #eaf8f1;
  color: #23845a;
}

.management-line p {
  margin: 1px 0 0;
  color: #294c67;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 760;
}

@media (max-width: 620px) {
  .strength-priority-section,
  .strength-management-section {
    padding: 15px;
  }

  .strength-priority-head {
    gap: 8px;
  }

  .strength-priority-head h3,
  .strength-management-head h3 {
    font-size: 18px;
  }

  .strength-priority-head p,
  .strength-management-head p {
    font-size: 13px;
  }

  .priority-basis-chip {
    padding: 6px 8px;
    font-size: 11.5px;
  }

  .priority-scale-caption {
    margin: 14px 0 5px 49px;
    grid-template-columns: 1fr auto 1fr;
    font-size: 10.5px;
  }

  .priority-scale-caption b {
    font-size: 10.5px;
  }

  .strength-priority-row {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    padding: 13px 12px;
  }

  .priority-rank {
    width: 34px;
    height: 34px;
    font-size: 15px;
  }

  .priority-title-line {
    flex-wrap: wrap;
    gap: 6px;
  }

  .priority-title-line strong {
    font-size: 15.5px;
  }

  .priority-badge {
    font-size: 11.5px;
  }

  .priority-values {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: -2px;
    text-align: left;
  }

  .priority-values strong,
  .priority-values span {
    display: inline;
    margin: 0;
    font-size: 12.5px;
  }

  .priority-legend {
    font-size: 11.5px;
  }

  .management-line p {
    font-size: 14px;
  }
}


/* ==================================================
   V33 우선순위 색상 차등 + 관리 방향 간결화
   ================================================== */

/* 1순위 보완 - 빨강 */
.priority-rank.improve-1 {
  background: #fff0f1;
  color: #c13d48;
}
.priority-badge.improve-1 {
  background: #ffe8ea;
  color: #bd3541;
}
.priority-gap-fill.improve-1 {
  background: linear-gradient(90deg, #ef737a, #dd4b55);
}

/* 2순위 보완 - 주황 */
.priority-rank.improve-2 {
  background: #fff3e8;
  color: #c96b1c;
}
.priority-badge.improve-2 {
  background: #ffead8;
  color: #c66117;
}
.priority-gap-fill.improve-2 {
  background: linear-gradient(90deg, #f3a256, #e7862f);
}

/* 3순위 보완 - 노랑 */
.priority-rank.improve-3 {
  background: #fff8d9;
  color: #a77b00;
}
.priority-badge.improve-3 {
  background: #fff2bd;
  color: #9c7200;
}
.priority-gap-fill.improve-3 {
  background: linear-gradient(90deg, #f2cf51, #dfb72f);
}

/* 행 배경도 우선순위에 따라 아주 약하게 구분 */
.strength-priority-row.improve-1 {
  background: linear-gradient(90deg, #fffafa 0%, #ffffff 38%);
}
.strength-priority-row.improve-2 {
  background: linear-gradient(90deg, #fffaf5 0%, #ffffff 38%);
}
.strength-priority-row.improve-3 {
  background: linear-gradient(90deg, #fffdf4 0%, #ffffff 38%);
}

/* 관리 방향: 제목 + 핵심 숫자만 짧게 */
.management-copy {
  min-width: 0;
}

.management-copy strong {
  display: block;
  margin: 0 0 3px;
  color: #173f5d;
  font-size: 14.5px;
  line-height: 1.35;
  font-weight: 950;
}

.management-copy p {
  margin: 0;
  color: #4f6c81;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 800;
}

.management-line.priority .management-copy strong {
  color: #bf3f49;
}

.management-line.strength .management-copy strong {
  color: #23845a;
}

.management-line.secondary .management-copy strong {
  color: #c66a1a;
}

.management-line.secondary .management-num {
  background: #fff2e7;
  color: #c66a1a;
}

@media (max-width: 620px) {
  .management-copy strong {
    font-size: 14px;
  }

  .management-copy p {
    font-size: 13px;
  }
}


/* ==================================================
   V34 범례 정리 + 관리 방향 실무형 강화
   ================================================== */

.legend-dot.rank-1 {
  background: #dd4b55;
}

.legend-dot.rank-2 {
  background: #e7862f;
}

.legend-dot.rank-3 {
  background: #dfb72f;
}

.management-evidence {
  margin-top: 1px;
  color: #315c79;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 900;
}

.management-copy p {
  margin-top: 5px;
  color: #587386;
  font-size: 13.2px;
  line-height: 1.5;
  font-weight: 730;
}

.management-copy p b {
  display: inline-block;
  margin-right: 5px;
  color: #355f7b;
  font-weight: 950;
}

.management-line.priority .management-copy p b {
  color: #bc3f49;
}

.management-line.strength .management-copy p b {
  color: #23845a;
}

.management-line.secondary .management-copy p b {
  color: #bf681c;
}

@media (max-width: 620px) {
  .management-evidence {
    font-size: 13px;
  }

  .management-copy p {
    font-size: 13px;
    line-height: 1.48;
  }
}


/* V35 관리 방향 - 실전 분석형 */
.management-line {
  padding-top: 10px;
  padding-bottom: 10px;
}

.management-meaning,
.management-action {
  margin-top: 6px !important;
  padding-top: 6px;
  border-top: 1px solid rgba(104, 137, 159, 0.12);
}

.management-meaning {
  color: #3f6179 !important;
}

.management-action {
  color: #536f82 !important;
}

.management-meaning b,
.management-action b {
  display: inline-block;
  min-width: 58px;
  margin-right: 5px;
  font-weight: 950;
}

.management-line.priority .management-meaning b,
.management-line.priority .management-action b {
  color: #bc3f49;
}

.management-line.strength .management-meaning b,
.management-line.strength .management-action b {
  color: #23845a;
}

.management-line.secondary .management-meaning b,
.management-line.secondary .management-action b {
  color: #bf681c;
}

@media (max-width: 620px) {
  .management-meaning,
  .management-action {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
}


/* ==================================================
   V36 관리 방향 - 실제 기록 연결 분석
   ================================================== */

.management-records {
  margin-top: 6px;
  padding: 7px 9px;
  border-radius: 9px;
  background: rgba(62, 111, 145, 0.06);
  color: #496a80;
  font-size: 12.7px;
  line-height: 1.5;
  font-weight: 760;
}

.management-records b {
  margin-right: 5px;
  color: #2f5a76;
  font-weight: 950;
}

.management-line.priority .management-records b {
  color: #bc3f49;
}

.management-line.strength .management-records b {
  color: #23845a;
}

.management-line.secondary .management-records b {
  color: #bf681c;
}

@media (max-width: 620px) {
  .management-records {
    font-size: 12.5px;
    line-height: 1.5;
  }
}


/* ==================================================
   V40 전 강사 공통 심층 분석
   ================================================== */

.management-copy .management-evidence {
  font-weight: 900;
}

.management-copy .management-evidence + .management-records {
  margin-top: 7px;
}

.management-line.neutral .management-num {
  background: #eef3f7;
  color: #5f778b;
}

.management-line.neutral .management-copy strong,
.management-line.neutral .management-meaning b,
.management-line.neutral .management-action b {
  color: #557084;
}


/* ==================================================
   V53 강점·보완 한눈에 보기 - 좌우 격차 그래프 강화
   ================================================== */

.priority-direction-guide {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  margin: 17px 0 8px 58px;
  font-size: 11.5px;
  font-weight: 850;
}

.priority-direction-guide .guide-low {
  text-align: left;
  color: #b85b61;
}

.priority-direction-guide b {
  position: relative;
  color: #526e83;
  font-size: 11.5px;
  white-space: nowrap;
}

.priority-direction-guide b::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 20px;
  width: 1px;
  height: 8px;
  background: #9fb1bf;
}

.priority-direction-guide .guide-high {
  text-align: right;
  color: #37805d;
}

.strength-priority-row.strength-graph-row {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 15px;
}

.strength-graph-title {
  display: grid;
  grid-template-columns: minmax(130px, auto) auto 1fr;
  align-items: center;
  gap: 8px;
}

.strength-graph-title .priority-badge {
  justify-self: end;
}

.priority-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef5fa;
  color: #234f6f;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.strength-diverging-track {
  height: 18px;
  margin-top: 11px;
  overflow: visible;
  background: #f3f6f8;
  border: 1px solid #e1e8ee;
}

.priority-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  border-radius: 999px;
  pointer-events: none;
}

.priority-zone-low {
  left: 0;
  background: rgba(224, 91, 99, .06);
}

.priority-zone-high {
  right: 0;
  background: rgba(43, 153, 101, .06);
}

.strength-diverging-track .priority-center-line {
  top: -4px;
  bottom: -4px;
  width: 3px;
  background: #8398a8;
  box-shadow: 0 0 0 2px #fff;
  transform: translateX(-1.5px);
}

.strength-diverging-track .priority-gap-fill {
  top: 3px;
  bottom: 3px;
  min-width: 5px;
  border-radius: 999px;
}

.strength-diverging-track .priority-gap-fill::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
}

.strength-diverging-track .priority-gap-fill.improve::after,
.strength-diverging-track .priority-gap-fill.improve-1::after,
.strength-diverging-track .priority-gap-fill.improve-2::after,
.strength-diverging-track .priority-gap-fill.improve-3::after {
  left: 0;
}

.strength-diverging-track .priority-gap-fill.strength::after {
  right: 0;
}

.priority-row-meta {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.35;
  color: #748b9d;
}

.priority-row-meta > span:first-child {
  text-align: left;
}

.priority-row-meta > strong {
  text-align: center;
  color: #5b7487;
  font-size: 12.5px;
  font-weight: 950;
}

.priority-row-meta > strong.improve,
.priority-row-meta > strong.improve-1,
.priority-row-meta > strong.improve-2,
.priority-row-meta > strong.improve-3 {
  color: #bf444d;
}

.priority-row-meta > strong.strength {
  color: #26865b;
}

.priority-row-meta > span:last-child {
  text-align: right;
  font-weight: 850;
}

.priority-row-meta .up {
  color: #278c60;
}

.priority-row-meta .down {
  color: #c84a52;
}

.priority-row-meta .same {
  color: #71899b;
}

/* V53에서는 오른쪽 별도 값 열 대신 그래프 아래 메타정보 사용 */
.strength-graph-row .priority-values {
  display: none;
}

@media (max-width: 620px) {
  .priority-direction-guide {
    margin: 15px 0 7px 42px;
    gap: 5px;
    font-size: 9.5px;
  }

  .priority-direction-guide b {
    font-size: 9.5px;
  }

  .priority-direction-guide .guide-low,
  .priority-direction-guide .guide-high {
    line-height: 1.3;
  }

  .strength-priority-row.strength-graph-row {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 13px 11px;
    gap: 9px;
  }

  .strength-graph-title {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  .strength-graph-title .priority-current {
    grid-column: 2;
    grid-row: 1;
    min-width: 58px;
    padding: 4px 7px;
    font-size: 12px;
  }

  .strength-graph-title .priority-badge {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .strength-diverging-track {
    height: 16px;
  }

  .priority-row-meta {
    grid-template-columns: 1fr;
    gap: 3px;
    margin-top: 7px;
    font-size: 11.5px;
  }

  .priority-row-meta > span:first-child,
  .priority-row-meta > strong,
  .priority-row-meta > span:last-child {
    text-align: left;
  }
}


/* ==================================================
   V54 우선 관리 항목 대시보드
   ================================================== */

.priority-dashboard-v54 {
  display: grid;
  gap: 14px;
}

.priority-summary-v54 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid #d7e5ef;
  border-radius: 20px;
  background: #f8fbfd;
}

.priority-eyebrow-v54 {
  display: inline-block;
  margin-bottom: 5px;
  color: #2e719d;
  font-size: 12px;
  font-weight: 900;
}

.priority-summary-v54 h3 {
  margin: 0 0 6px;
  font-size: 21px;
  color: #123d5b;
}

.priority-summary-v54 p {
  margin: 0;
  color: #667f92;
  font-size: 13px;
  line-height: 1.55;
}

.priority-summary-chip-v54 {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  background: #edf5fa;
  color: #3b6f91;
  font-size: 12px;
  font-weight: 900;
}

.priority-card-list-v54 {
  display: grid;
  gap: 12px;
}

.priority-card-v54 {
  overflow: hidden;
  border: 1px solid #dce7ee;
  border-radius: 18px;
  background: #fff;
}

.priority-card-v54.improve {
  border-left: 5px solid #e45861;
}

.priority-card-v54.strength {
  border-left: 5px solid #2a9a68;
}

.priority-card-v54.watch {
  border-left: 5px solid #d9aa2c;
}

.priority-card-top-v54 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 15px 17px 12px;
}

.priority-card-top-v54 > strong {
  color: #113e5c;
  font-size: 17px;
}

.priority-order-v54,
.priority-state-v54 {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 900;
  white-space: nowrap;
}

.priority-order-v54.improve,
.priority-state-v54.improve {
  background: #fff0f1;
  color: #c83f49;
}

.priority-order-v54.strength,
.priority-state-v54.strength {
  background: #ebf8f1;
  color: #25855b;
}

.priority-order-v54.watch,
.priority-state-v54.watch {
  background: #fff8df;
  color: #947000;
}

.priority-order-v54.unavailable,
.priority-state-v54.unavailable {
  background: #f1f4f6;
  color: #71818d;
}

.priority-numbers-v54 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 17px;
  border: 1px solid #e5edf2;
  border-radius: 14px;
  background: #fbfdfe;
}

.priority-numbers-v54 > div {
  padding: 12px 14px;
}

.priority-numbers-v54 > div + div {
  border-left: 1px solid #e5edf2;
}

.priority-numbers-v54 span {
  display: block;
  margin-bottom: 4px;
  color: #8194a3;
  font-size: 11px;
  font-weight: 800;
}

.priority-numbers-v54 strong {
  color: #173f5b;
  font-size: 15px;
}

.priority-meaning-v54 {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  padding: 13px 17px 8px;
}

.priority-meaning-v54 span,
.priority-target-v54 span {
  color: #758b9b;
  font-size: 11px;
  font-weight: 900;
}

.priority-meaning-v54 p {
  margin: 0;
  color: #415d70;
  font-size: 13px;
  line-height: 1.55;
}

.priority-target-v54 {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  align-items: center;
  margin: 0 17px 15px;
  padding: 11px 12px;
  border-radius: 12px;
  background: #f0f7fb;
}

.priority-target-v54 strong {
  color: #235f85;
  font-size: 13px;
}

.priority-note-v54 {
  margin: 0;
  color: #7c909f;
  font-size: 11.5px;
  line-height: 1.5;
}

@media (max-width: 620px) {
  .priority-summary-v54 {
    display: grid;
    padding: 17px;
  }

  .priority-summary-chip-v54 {
    justify-self: start;
  }

  .priority-card-top-v54 {
    grid-template-columns: auto 1fr;
  }

  .priority-state-v54 {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .priority-numbers-v54 {
    grid-template-columns: 1fr;
  }

  .priority-numbers-v54 > div + div {
    border-left: 0;
    border-top: 1px solid #e5edf2;
  }

  .priority-meaning-v54,
  .priority-target-v54 {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* ==================================================
   V55 성과 안정성 분석
   ================================================== */

.stability-dashboard-v55 {
  display: grid;
  gap: 14px;
}

.stability-hero-v55 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  border: 1px solid #d9e6ee;
  border-radius: 20px;
  background: #f8fbfd;
}

.stability-eyebrow-v55 {
  display: inline-block;
  margin-bottom: 6px;
  color: #54778e;
  font-size: 12px;
  font-weight: 900;
}

.stability-hero-title-v55 {
  display: flex;
  align-items: center;
  gap: 10px;
}

.stability-hero-title-v55 h3 {
  margin: 0;
  color: #123f5c;
  font-size: 21px;
}

.stability-overall-badge-v55,
.stability-level-v55 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 950;
  white-space: nowrap;
}

.stability-overall-badge-v55.stable,
.stability-level-v55.stable {
  background: #e9f7ef;
  color: #247c55;
}

.stability-overall-badge-v55.moderate,
.stability-level-v55.moderate {
  background: #fff7dd;
  color: #8a6900;
}

.stability-overall-badge-v55.variable,
.stability-level-v55.variable {
  background: #fff0f1;
  color: #bb414b;
}

.stability-overall-badge-v55.insufficient,
.stability-level-v55.insufficient {
  background: #eff3f6;
  color: #6d818f;
}

.stability-hero-v55 p {
  margin: 8px 0 0;
  color: #557083;
  font-size: 13px;
  line-height: 1.6;
}

.stability-basis-v55 {
  flex: 0 0 auto;
  display: grid;
  gap: 4px;
  min-width: 150px;
  padding: 11px 13px;
  border-radius: 14px;
  background: #edf5fa;
}

.stability-basis-v55 b {
  color: #315f7e;
  font-size: 12px;
}

.stability-basis-v55 span {
  color: #788f9f;
  font-size: 11px;
}

.stability-guide-v55 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  padding: 0 3px;
  color: #6b8394;
  font-size: 11px;
}

.stability-guide-v55 span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.stability-guide-v55 i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.stability-guide-v55 i.stable {
  background: #3ca777;
}

.stability-guide-v55 i.moderate {
  background: #d3a62e;
}

.stability-guide-v55 i.variable {
  background: #d95a63;
}

.stability-grid-v55 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stability-card-v55 {
  padding: 16px;
  border: 1px solid #dfe8ee;
  border-radius: 18px;
  background: #fff;
}

.stability-card-v55.stable {
  border-top: 4px solid #42a77a;
}

.stability-card-v55.moderate {
  border-top: 4px solid #d0a431;
}

.stability-card-v55.variable {
  border-top: 4px solid #d85c65;
}

.stability-card-v55.insufficient {
  border-top: 4px solid #9eacb6;
}

.stability-card-head-v55 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.stability-card-head-v55 > div {
  display: grid;
  gap: 3px;
}

.stability-card-head-v55 strong {
  color: #153f5b;
  font-size: 16px;
}

.stability-card-head-v55 > div > span {
  color: #8496a2;
  font-size: 10.5px;
}

.stability-spark-wrap-v55 {
  position: relative;
  margin-top: 11px;
  padding-bottom: 23px;
  border-radius: 12px;
  background: #f8fafc;
}

.stability-spark-v55 {
  display: block;
  width: 100%;
  height: 105px;
  overflow: visible;
}

.stability-axis-v55 {
  stroke: #dce5eb;
  stroke-width: 1;
}

.stability-line-v55 {
  fill: none;
  stroke: #6b879a;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.stability-spark-wrap-v55.stable .stability-line-v55 {
  stroke: #32936a;
}

.stability-spark-wrap-v55.moderate .stability-line-v55 {
  stroke: #ba8c16;
}

.stability-spark-wrap-v55.variable .stability-line-v55 {
  stroke: #c94d57;
}

.stability-points-v55 circle {
  fill: #fff;
  stroke: currentColor;
  stroke-width: 2.5;
}

.stability-spark-wrap-v55.stable .stability-points-v55 {
  color: #32936a;
}

.stability-spark-wrap-v55.moderate .stability-points-v55 {
  color: #ba8c16;
}

.stability-spark-wrap-v55.variable .stability-points-v55 {
  color: #c94d57;
}

.stability-points-v55 text {
  fill: #526d7f;
  stroke: none;
  font-size: 10px;
  font-weight: 850;
}

.stability-term-labels-v55 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  height: 18px;
  color: #7c909f;
  font-size: 9.5px;
}

.stability-term-labels-v55 span {
  position: absolute;
  max-width: 92px;
  transform: translateX(-50%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stability-empty-graph-v55 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 105px;
  margin-top: 11px;
  border-radius: 12px;
  background: #f6f8fa;
  color: #8999a4;
  font-size: 11.5px;
  text-align: center;
}

.stability-stats-v55 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 10px;
  border: 1px solid #e6edf2;
  border-radius: 12px;
  background: #fbfdfe;
}

.stability-stats-v55 > div {
  padding: 10px 8px;
  text-align: center;
}

.stability-stats-v55 > div + div {
  border-left: 1px solid #e6edf2;
}

.stability-stats-v55 span {
  display: block;
  margin-bottom: 3px;
  color: #8496a3;
  font-size: 9.5px;
  font-weight: 800;
}

.stability-stats-v55 strong {
  color: #264d68;
  font-size: 13px;
}

.stability-recent-v55 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #f3f7fa;
  font-size: 11px;
}

.stability-recent-v55 span {
  color: #7b909f;
  font-weight: 800;
}

.stability-recent-v55 strong {
  color: #5b7384;
}

.stability-recent-v55.up strong {
  color: #27865d;
}

.stability-recent-v55.down strong {
  color: #c64b54;
}

.stability-interpretation-v55 {
  margin: 10px 1px 0;
  color: #4f697b;
  font-size: 12px;
  line-height: 1.55;
}

.stability-note-v55 {
  margin: 0 2px;
  color: #80919d;
  font-size: 11px;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .stability-hero-v55 {
    display: grid;
    padding: 17px;
  }

  .stability-basis-v55 {
    min-width: 0;
    justify-self: start;
  }

  .stability-grid-v55 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 440px) {
  .stability-hero-title-v55 {
    align-items: flex-start;
    flex-direction: column;
  }

  .stability-stats-v55 {
    grid-template-columns: 1fr;
  }

  .stability-stats-v55 > div + div {
    border-left: 0;
    border-top: 1px solid #e6edf2;
  }
}


/* ==================================================
   V56 성과 안정성 상단 요약 압축/강화
   ================================================== */

.stability-hero-v55.stability-hero-v56 {
  display: grid;
  gap: 12px;
  padding: 15px 17px;
  min-height: 0;
}

.stability-hero-top-v56 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.stability-hero-v56 .stability-eyebrow-v55 {
  margin-bottom: 3px;
  font-size: 11px;
}

.stability-hero-v56 .stability-hero-title-v55 {
  gap: 8px;
}

.stability-hero-v56 .stability-hero-title-v55 h3 {
  font-size: 20px;
}

.stability-hero-v56 .stability-overall-badge-v55 {
  padding: 5px 9px;
  font-size: 11px;
}

.stability-basis-v55.stability-basis-v56 {
  min-width: 164px;
  padding: 9px 11px;
  gap: 2px;
}

.stability-basis-v56 b {
  font-size: 11.5px;
}

.stability-basis-v56 span {
  font-size: 10px;
}

.stability-summary-grid-v56 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.stability-summary-item-v56 {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e1e9ef;
  border-radius: 12px;
  background: #fff;
}

.stability-summary-item-v56 > span {
  display: block;
  margin-bottom: 4px;
  color: #748a9b;
  font-size: 10px;
  font-weight: 900;
}

.stability-summary-item-v56 > strong {
  display: block;
  min-height: 20px;
  color: #173f5b;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.stability-summary-item-v56 > small {
  display: block;
  margin-top: 4px;
  color: #8999a4;
  font-size: 9px;
  line-height: 1.35;
}

.stability-summary-item-v56.stable {
  background: #f4fbf7;
}

.stability-summary-item-v56.variable,
.stability-summary-item-v56.risk {
  background: #fff7f7;
}

.stability-summary-item-v56.best {
  background: #f6fafc;
}

.stability-summary-item-v56.confidence.low {
  background: #fff9e9;
}

.stability-summary-item-v56.confidence.medium {
  background: #f6fafc;
}

.stability-summary-item-v56.confidence.high {
  background: #f1faf5;
}

.stability-summary-item-v56.stable > strong {
  color: #247d57;
}

.stability-summary-item-v56.variable > strong,
.stability-summary-item-v56.risk > strong {
  color: #bf4650;
}

.stability-summary-item-v56.confidence.low > strong {
  color: #9b7100;
}

.stability-summary-item-v56.confidence.high > strong {
  color: #247d57;
}

.stability-overall-text-v56 {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  padding: 9px 11px;
  border-radius: 10px;
  background: #edf5fa;
  color: #506d80;
  font-size: 11.5px;
  line-height: 1.45;
}

.stability-overall-text-v56 b {
  color: #315f7e;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .stability-summary-grid-v56 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .stability-hero-top-v56 {
    display: grid;
  }

  .stability-basis-v55.stability-basis-v56 {
    min-width: 0;
    justify-self: start;
  }

  .stability-summary-grid-v56 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 440px) {
  .stability-summary-grid-v56 {
    grid-template-columns: 1fr;
  }

  .stability-overall-text-v56 {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}


/* ==================================================
   V57 성과 안정성 - 모바일 우선 / 큰 글씨 / 압축형 요약
   ================================================== */

.stability-hero-v55.stability-hero-v56 {
  gap: 10px;
  padding: 14px 15px;
}

.stability-hero-v56 .stability-eyebrow-v55 {
  font-size: 13px;
  font-weight: 900;
}

.stability-hero-v56 .stability-hero-title-v55 h3 {
  font-size: 24px;
  line-height: 1.15;
}

.stability-hero-v56 .stability-overall-badge-v55 {
  padding: 6px 10px;
  font-size: 13px;
}

.stability-basis-v55.stability-basis-v56 {
  min-width: 150px;
  padding: 8px 10px;
}

.stability-basis-v56 b {
  font-size: 12px;
}

.stability-basis-v56 span {
  font-size: 11px;
}

.stability-confidence-strip-v57 {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 11px;
  background: #f6f8fa;
  border: 1px solid #e2e9ee;
}

.stability-confidence-strip-v57 > span {
  color: #6d8292;
  font-size: 12px;
  font-weight: 900;
}

.stability-confidence-strip-v57 > strong {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 950;
}

.stability-confidence-strip-v57 > small {
  color: #718796;
  font-size: 11.5px;
  line-height: 1.35;
}

.stability-confidence-strip-v57.low > strong {
  background: #fff1c9;
  color: #946b00;
}

.stability-confidence-strip-v57.medium > strong {
  background: #eef5fa;
  color: #356a8e;
}

.stability-confidence-strip-v57.high > strong {
  background: #e9f7ef;
  color: #247c55;
}

.stability-summary-grid-v56.stability-summary-grid-v57 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.stability-summary-grid-v57 .stability-summary-item-v56 {
  min-height: 112px;
  padding: 11px 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stability-summary-grid-v57 .stability-summary-item-v56 > span {
  margin-bottom: 5px;
  font-size: 12px;
}

.stability-summary-grid-v57 .stability-summary-item-v56 > strong {
  min-height: 0;
  font-size: 17px;
  line-height: 1.3;
}

.stability-summary-grid-v57 .stability-summary-item-v56 > small {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.4;
}

.stability-analysis-v57 {
  overflow: hidden;
  border: 1px solid #d9e6ee;
  border-radius: 14px;
  background: #fff;
}

.stability-analysis-title-v57 {
  padding: 9px 12px;
  background: #edf5fa;
  color: #1f587d;
  font-size: 14px;
  font-weight: 950;
}

.stability-analysis-line-v57 {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 9px;
  padding: 10px 12px;
  border-top: 1px solid #e7eef3;
  align-items: start;
}

.stability-analysis-line-v57 b {
  color: #315e7b;
  font-size: 12.5px;
  line-height: 1.5;
}

.stability-analysis-line-v57 span {
  color: #3f5d70;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 650;
}

.stability-analysis-line-v57.caution {
  background: #fffaf0;
}

.stability-analysis-line-v57.caution b {
  color: #946b00;
}

/* 상세 그래프 카드 글씨도 휴대폰에서 읽기 쉽게 확대 */
.stability-card-head-v55 strong {
  font-size: 18px;
}

.stability-card-head-v55 > div > span {
  font-size: 12px;
}

.stability-level-v55 {
  font-size: 12.5px;
  padding: 6px 10px;
}

.stability-stats-v55 span {
  font-size: 11px;
}

.stability-stats-v55 strong {
  font-size: 14px;
}

.stability-recent-v55 {
  font-size: 12.5px;
}

.stability-interpretation-v55 {
  font-size: 13.5px;
  line-height: 1.6;
}

.stability-note-v55 {
  font-size: 11.5px;
}

@media (max-width: 900px) {
  .stability-summary-grid-v56.stability-summary-grid-v57 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 {
    min-height: 102px;
  }
}

@media (max-width: 700px) {
  .stability-hero-v55.stability-hero-v56 {
    padding: 12px;
  }

  .stability-hero-top-v56 {
    gap: 9px;
  }

  .stability-hero-v56 .stability-hero-title-v55 h3 {
    font-size: 23px;
  }

  .stability-hero-v56 .stability-overall-badge-v55 {
    font-size: 12.5px;
  }

  .stability-basis-v55.stability-basis-v56 {
    width: 100%;
    box-sizing: border-box;
  }

  .stability-confidence-strip-v57 {
    grid-template-columns: auto auto;
  }

  .stability-confidence-strip-v57 > small {
    grid-column: 1 / -1;
    font-size: 12px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > span {
    font-size: 12.5px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > strong {
    font-size: 18px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > small {
    font-size: 11.5px;
  }

  .stability-analysis-title-v57 {
    font-size: 15px;
  }

  .stability-analysis-line-v57 {
    grid-template-columns: 70px minmax(0, 1fr);
  }

  .stability-analysis-line-v57 b {
    font-size: 13px;
  }

  .stability-analysis-line-v57 span {
    font-size: 13.5px;
  }
}

@media (max-width: 440px) {
  .stability-summary-grid-v56.stability-summary-grid-v57 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 {
    min-height: 110px;
    padding: 10px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > span {
    font-size: 12px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > strong {
    font-size: 16px;
  }

  .stability-summary-grid-v57 .stability-summary-item-v56 > small {
    font-size: 10.5px;
  }

  .stability-analysis-line-v57 {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .stability-analysis-line-v57 b {
    font-size: 13px;
  }

  .stability-analysis-line-v57 span {
    font-size: 13.5px;
  }
}


/* ==================================================
   V60 놓친 포인트 분석
   ================================================== */

.blindspot-dashboard-v60 {
  display: grid;
  gap: 14px;
}

.blindspot-hero-v60 {
  padding: 16px 17px;
  border: 1px solid #d9e6ee;
  border-radius: 20px;
  background: #f8fbfd;
}

.blindspot-hero-top-v60 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
}

.blindspot-eyebrow-v60 {
  display: block;
  margin-bottom: 4px;
  color: #5c7d93;
  font-size: 12px;
  font-weight: 900;
}

.blindspot-hero-v60 h3 {
  margin: 0;
  color: #123f5c;
  font-size: 24px;
  line-height: 1.2;
}

.blindspot-counts-v60 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.blindspot-counts-v60 span,
.blindspot-tag-v60 {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 950;
  white-space: nowrap;
}

.blindspot-counts-v60 .warning,
.blindspot-tag-v60.warning {
  background: #fff0f1;
  color: #bd414a;
}

.blindspot-counts-v60 .check,
.blindspot-tag-v60.check {
  background: #fff6df;
  color: #8e6900;
}

.blindspot-counts-v60 .opportunity,
.blindspot-tag-v60.opportunity {
  background: #eaf8f1;
  color: #247d57;
}

.blindspot-tag-v60.context {
  background: #edf4f8;
  color: #57768b;
}

.blindspot-headline-v60 {
  display: grid;
  gap: 4px;
  margin-top: 12px;
  padding: 12px 13px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e1e9ef;
}

.blindspot-headline-v60 > span {
  color: #778d9d;
  font-size: 11px;
  font-weight: 900;
}

.blindspot-headline-v60 > strong {
  color: #183f59;
  font-size: 17px;
  line-height: 1.35;
}

.blindspot-headline-v60 > p {
  margin: 0;
  color: #4f697b;
  font-size: 13px;
  line-height: 1.55;
}

.blindspot-list-v60 {
  display: grid;
  gap: 11px;
}

.blindspot-card-v60 {
  padding: 15px 16px;
  border: 1px solid #dde7ed;
  border-radius: 18px;
  background: #fff;
}

.blindspot-card-v60.warning {
  border-left: 5px solid #d85660;
}

.blindspot-card-v60.check {
  border-left: 5px solid #d2a12b;
}

.blindspot-card-v60.opportunity {
  border-left: 5px solid #349b6e;
}

.blindspot-card-v60.context {
  border-left: 5px solid #7896aa;
}

.blindspot-card-head-v60 {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.blindspot-index-v60 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #edf4f8;
  color: #416981;
  font-size: 13px;
  font-weight: 950;
}

.blindspot-card-title-v60 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.blindspot-card-title-v60 > strong {
  color: #143f5b;
  font-size: 17px;
  line-height: 1.35;
}

.blindspot-summary-v60 {
  margin: 10px 0 0 48px;
  color: #3f5d70;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.55;
}

.blindspot-evidence-v60,
.blindspot-why-v60 {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 10px;
  margin: 11px 0 0 48px;
  padding: 10px 11px;
  border-radius: 12px;
}

.blindspot-evidence-v60 {
  background: #f7fafc;
}

.blindspot-why-v60 {
  background: #eef6fb;
}

.blindspot-evidence-v60 > b,
.blindspot-why-v60 > b {
  color: #5e788a;
  font-size: 11.5px;
  line-height: 1.55;
}

.blindspot-evidence-v60 ul {
  margin: 0;
  padding-left: 17px;
  color: #496577;
  font-size: 12.5px;
  line-height: 1.55;
}

.blindspot-why-v60 p {
  margin: 0;
  color: #315d78;
  font-size: 12.5px;
  line-height: 1.6;
}

.blindspot-checked-v60 {
  padding: 13px 14px;
  border: 1px solid #e0e8ed;
  border-radius: 16px;
  background: #fbfcfd;
}

.blindspot-checked-head-v60 {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.blindspot-checked-head-v60 strong {
  color: #31576f;
  font-size: 13px;
}

.blindspot-checked-head-v60 span {
  color: #8295a2;
  font-size: 10.5px;
}

.blindspot-check-chips-v60 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}

.blindspot-check-chips-v60 span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef4f7;
  color: #607a8b;
  font-size: 10.5px;
  font-weight: 800;
}

.blindspot-note-v60 {
  margin: 0 2px;
  color: #7c909e;
  font-size: 11px;
  line-height: 1.55;
}

/* 휴대폰 가독성 */
@media (max-width: 620px) {
  .blindspot-hero-v60 {
    padding: 14px;
  }

  .blindspot-hero-top-v60 {
    display: grid;
    gap: 9px;
  }

  .blindspot-counts-v60 {
    justify-content: flex-start;
  }

  .blindspot-hero-v60 h3 {
    font-size: 23px;
  }

  .blindspot-headline-v60 > strong {
    font-size: 17px;
  }

  .blindspot-headline-v60 > p {
    font-size: 13.5px;
  }

  .blindspot-card-v60 {
    padding: 14px 13px;
  }

  .blindspot-card-head-v60 {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
  }

  .blindspot-index-v60 {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }

  .blindspot-card-title-v60 > strong {
    width: 100%;
    font-size: 17px;
  }

  .blindspot-tag-v60 {
    font-size: 11.5px;
  }

  .blindspot-summary-v60 {
    margin-left: 42px;
    font-size: 14px;
  }

  .blindspot-evidence-v60,
  .blindspot-why-v60 {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-left: 42px;
  }

  .blindspot-evidence-v60 > b,
  .blindspot-why-v60 > b {
    font-size: 12px;
  }

  .blindspot-evidence-v60 ul,
  .blindspot-why-v60 p {
    font-size: 13px;
  }

  .blindspot-checked-head-v60 {
    display: grid;
    gap: 3px;
  }
}

@media (max-width: 420px) {
  .blindspot-summary-v60,
  .blindspot-evidence-v60,
  .blindspot-why-v60 {
    margin-left: 0;
  }

  .blindspot-card-head-v60 {
    grid-template-columns: 32px minmax(0, 1fr);
  }
}


/* ==================================================
   V61 강사 운영 패턴 분석
   ================================================== */

.pattern-dashboard-v61 {
  display: grid;
  gap: 14px;
}

.pattern-hero-v61 {
  padding: 17px 18px;
  border: 1px solid #d8e5ed;
  border-radius: 20px;
  background: #f7fbfd;
}

.pattern-hero-top-v61 {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.pattern-eyebrow-v61 {
  display: block;
  margin-bottom: 5px;
  color: #6b8597;
  font-size: 12px;
  font-weight: 900;
}

.pattern-hero-v61 h3 {
  margin: 0;
  color: #123f5b;
  font-size: 25px;
  line-height: 1.2;
}

.pattern-hero-v61 > p {
  margin: 12px 0 5px;
  color: #345d76;
  font-size: 14.5px;
  font-weight: 750;
  line-height: 1.6;
}

.pattern-hero-v61 > small {
  display: block;
  color: #8496a2;
  font-size: 11.5px;
  line-height: 1.45;
}

.pattern-confidence-v61 {
  min-width: 148px;
  padding: 9px 11px;
  border-radius: 13px;
  border: 1px solid #e1e9ee;
  background: #fff;
}

.pattern-confidence-v61 span,
.pattern-confidence-v61 strong {
  display: block;
}

.pattern-confidence-v61 span {
  color: #7b8e9b;
  font-size: 10.5px;
  font-weight: 800;
}

.pattern-confidence-v61 strong {
  margin-top: 3px;
  color: #315e7a;
  font-size: 13px;
}

.pattern-confidence-v61.early strong {
  color: #936b00;
}

.pattern-confidence-v61.high strong {
  color: #247b55;
}

.pattern-card-grid-v61 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.pattern-card-v61 {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid #dfe8ed;
  border-radius: 17px;
  background: #fff;
}

.pattern-card-v61.focus {
  background: #f3f9fc;
}

.pattern-card-v61.good {
  background: #f3fbf7;
}

.pattern-card-v61.watch {
  background: #fff9ef;
}

.pattern-card-eyebrow-v61 {
  display: block;
  margin-bottom: 6px;
  color: #6e8798;
  font-size: 11.5px;
  font-weight: 900;
}

.pattern-card-v61 > strong {
  display: block;
  color: #143f5a;
  font-size: 18px;
  line-height: 1.35;
}

.pattern-card-value-v61 {
  margin-top: 5px;
  color: #2c6f95;
  font-size: 13px;
  font-weight: 900;
}

.pattern-card-v61 > p {
  margin: 8px 0 0;
  color: #4c687a;
  font-size: 13px;
  line-height: 1.58;
}

.pattern-compare-v61 {
  overflow: hidden;
  border: 1px solid #dae6ed;
  border-radius: 18px;
  background: #fff;
}

.pattern-section-head-v61 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 11px;
  background: #f5f9fb;
}

.pattern-section-head-v61 > div:first-child span,
.pattern-section-head-v61 > div:first-child strong {
  display: block;
}

.pattern-section-head-v61 > div:first-child span {
  color: #788f9e;
  font-size: 10.5px;
  font-weight: 800;
}

.pattern-section-head-v61 > div:first-child strong {
  margin-top: 2px;
  color: #244f69;
  font-size: 16px;
}

.pattern-best-gap-v61 {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #718999;
  font-size: 11px;
  font-weight: 850;
}

.pattern-compare-summary-v61 {
  padding: 12px 16px;
  border-top: 1px solid #e5edf2;
  border-bottom: 1px solid #e5edf2;
  color: #607b8c;
  font-size: 13px;
}

.pattern-compare-summary-v61 b {
  margin-left: 6px;
  color: #7a8790;
  font-size: 15px;
}

.pattern-compare-summary-v61 strong {
  color: #196c9a;
  font-size: 17px;
}

.pattern-compare-summary-v61 em {
  margin-left: 8px;
  color: #267c57;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.pattern-compare-rows-v61 {
  display: grid;
}

.pattern-compare-row-v61 {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 60px 18px 60px 72px;
  gap: 5px;
  align-items: center;
  padding: 10px 16px;
  border-top: 1px solid #edf2f5;
  font-size: 12px;
}

.pattern-compare-row-v61:first-child {
  border-top: 0;
}

.pattern-compare-row-v61 > span {
  color: #4d6879;
  font-weight: 800;
}

.pattern-compare-row-v61 > b {
  color: #7a8b96;
}

.pattern-compare-row-v61 > i {
  color: #9aaab4;
  font-style: normal;
  text-align: center;
}

.pattern-compare-row-v61 > strong {
  color: #1c6e9c;
}

.pattern-compare-row-v61 > em {
  color: #267d57;
  font-style: normal;
  font-weight: 900;
  text-align: right;
}

.pattern-conclusion-v61 {
  padding: 15px 16px;
  border-radius: 17px;
  background: #eaf4fa;
  border: 1px solid #d5e5ee;
}

.pattern-conclusion-v61 > span {
  display: block;
  color: #2a5c7a;
  font-size: 12px;
  font-weight: 950;
}

.pattern-conclusion-v61 > p {
  margin: 6px 0 0;
  color: #294f66;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.68;
}

.pattern-note-v61 {
  margin: 0 2px;
  color: #8294a0;
  font-size: 10.5px;
  line-height: 1.5;
}

/* 휴대폰: 카드 1열 + 글자 크게 */
@media (max-width: 650px) {
  .pattern-hero-v61 {
    padding: 14px;
  }

  .pattern-hero-top-v61 {
    display: grid;
    gap: 10px;
  }

  .pattern-hero-v61 h3 {
    font-size: 24px;
  }

  .pattern-hero-v61 > p {
    font-size: 14.5px;
  }

  .pattern-confidence-v61 {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .pattern-confidence-v61 span {
    font-size: 11.5px;
  }

  .pattern-confidence-v61 strong {
    font-size: 14px;
  }

  .pattern-card-grid-v61 {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .pattern-card-v61 {
    padding: 14px;
  }

  .pattern-card-eyebrow-v61 {
    font-size: 12px;
  }

  .pattern-card-v61 > strong {
    font-size: 18px;
  }

  .pattern-card-value-v61 {
    font-size: 13.5px;
  }

  .pattern-card-v61 > p {
    font-size: 13.5px;
  }

  .pattern-section-head-v61 {
    display: grid;
    gap: 7px;
    padding: 13px 14px 10px;
  }

  .pattern-section-head-v61 > div:first-child strong {
    font-size: 16.5px;
  }

  .pattern-compare-summary-v61 {
    padding: 11px 14px;
    font-size: 12.5px;
  }

  .pattern-compare-row-v61 {
    grid-template-columns: minmax(100px, 1fr) 48px 14px 48px 58px;
    padding: 10px 12px;
    font-size: 11.5px;
  }

  .pattern-conclusion-v61 {
    padding: 14px;
  }

  .pattern-conclusion-v61 > span {
    font-size: 12.5px;
  }

  .pattern-conclusion-v61 > p {
    font-size: 14px;
  }
}

@media (max-width: 420px) {
  .pattern-compare-row-v61 {
    grid-template-columns: 1fr auto auto;
    gap: 4px 8px;
  }

  .pattern-compare-row-v61 > span {
    grid-column: 1 / -1;
    font-size: 12px;
  }

  .pattern-compare-row-v61 > i {
    display: none;
  }

  .pattern-compare-row-v61 > b::before {
    content: "낮은 기수 ";
    color: #9aa8b1;
    font-size: 9px;
  }

  .pattern-compare-row-v61 > strong::before {
    content: "좋은 기수 ";
    color: #7d99aa;
    font-size: 9px;
  }

  .pattern-compare-row-v61 > em {
    text-align: left;
  }
}


/* ==================================================
   V62 강사 운영 패턴 상단 - 쉬운 설명 / 압축 / 모바일 가독성
   ================================================== */

.pattern-hero-v61.pattern-hero-v62 {
  padding: 15px 16px;
  min-height: 0;
}

.pattern-hero-top-v61.pattern-hero-top-v62 {
  align-items: stretch;
}

.pattern-main-copy-v62 {
  min-width: 0;
  flex: 1;
}

.pattern-hero-v62 .pattern-eyebrow-v61 {
  margin-bottom: 6px;
  color: #56778d;
  font-size: 13px;
}

.pattern-hero-v62 h3 {
  max-width: 680px;
  font-size: 23px;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.pattern-confidence-v61.pattern-confidence-v62 {
  display: grid;
  align-content: center;
  min-width: 170px;
  padding: 10px 12px;
}

.pattern-confidence-v62 span {
  font-size: 11px;
}

.pattern-confidence-v62 strong {
  margin-top: 3px;
  font-size: 15px;
}

.pattern-confidence-v62 em {
  display: block;
  margin-top: 5px;
  color: #7e6b24;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 900;
}

.pattern-easy-explain-v62 {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid #dce8ef;
  border-radius: 13px;
  background: #fff;
}

.pattern-easy-explain-v62 b {
  color: #286182;
  font-size: 12.5px;
  line-height: 1.6;
}

.pattern-easy-explain-v62 p {
  margin: 0;
  color: #31566e;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.65;
}

.pattern-reference-note-v62 {
  margin-top: 8px;
  color: #7d929f;
  font-size: 11.5px;
  line-height: 1.5;
}

/* 기존 V61의 hero p/small 여백을 V62에서는 사용하지 않음 */
.pattern-hero-v62 > p,
.pattern-hero-v62 > small {
  display: none;
}

@media (max-width: 650px) {
  .pattern-hero-v61.pattern-hero-v62 {
    padding: 13px;
  }

  .pattern-hero-top-v61.pattern-hero-top-v62 {
    gap: 9px;
  }

  .pattern-hero-v62 .pattern-eyebrow-v61 {
    font-size: 13px;
  }

  .pattern-hero-v62 h3 {
    font-size: 21px;
    line-height: 1.38;
  }

  .pattern-confidence-v61.pattern-confidence-v62 {
    padding: 9px 10px;
  }

  .pattern-confidence-v62 span {
    font-size: 11px;
  }

  .pattern-confidence-v62 strong {
    font-size: 14px;
  }

  .pattern-confidence-v62 em {
    font-size: 11.5px;
  }

  .pattern-easy-explain-v62 {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 11px;
  }

  .pattern-easy-explain-v62 b {
    font-size: 13px;
  }

  .pattern-easy-explain-v62 p {
    font-size: 14.5px;
    line-height: 1.65;
  }

  .pattern-reference-note-v62 {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  .pattern-hero-v62 h3 {
    font-size: 20px;
  }

  .pattern-easy-explain-v62 p {
    font-size: 14px;
  }
}


/* ==================================================
   V63 종강 인원 늘리기 분석
   ================================================== */

.impact-dashboard-v63 {
  display: grid;
  gap: 10px;
}

.impact-hero-v63,
.impact-focus-v63,
.impact-stage-section-v63,
.impact-note-v63 {
  border: 1px solid #dce7ed;
  border-radius: 15px;
  background: #fff;
}

.impact-hero-v63 {
  padding: 12px 14px;
  background: #f5fafd;
}

.impact-hero-label-v63 {
  color: #628096;
  font-size: 11px;
  font-weight: 950;
}

.impact-hero-v63 h3 {
  margin: 4px 0 0;
  color: #123f5b;
  font-size: 21px;
  line-height: 1.35;
}

.impact-hero-v63 p {
  margin: 6px 0 0;
  color: #3d5e72;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.6;
}

.impact-basis-v63 {
  margin-top: 6px;
  color: #8496a2;
  font-size: 10.5px;
}

.impact-quick-grid-v63 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.impact-quick-v63 {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e0e9ee;
  border-radius: 12px;
  background: #fafcfd;
}

.impact-quick-v63.good {
  background: #f2faf6;
}

.impact-quick-v63.focus {
  background: #fff8e9;
}

.impact-quick-v63 span,
.impact-quick-v63 strong,
.impact-quick-v63 small {
  display: block;
}

.impact-quick-v63 span {
  color: #738997;
  font-size: 10.5px;
  font-weight: 900;
}

.impact-quick-v63 strong {
  margin-top: 4px;
  color: #143f5a;
  font-size: 15px;
  line-height: 1.35;
}

.impact-quick-v63.focus strong {
  color: #a16c00;
  font-size: 18px;
}

.impact-quick-v63 small {
  margin-top: 4px;
  color: #8798a3;
  font-size: 10.5px;
  line-height: 1.4;
}

.impact-focus-v63 {
  padding: 11px 13px;
}

.impact-focus-title-v63 {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.impact-focus-title-v63 span {
  color: #728998;
  font-size: 11px;
  font-weight: 900;
}

.impact-focus-title-v63 strong {
  color: #164c6d;
  font-size: 18px;
}

.impact-focus-numbers-v63 {
  display: grid;
  grid-template-columns: auto 18px auto 1fr;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.impact-focus-numbers-v63 > div:not(.impact-focus-result-v63) {
  padding: 7px 9px;
  border-radius: 9px;
  background: #f4f7f9;
}

.impact-focus-numbers-v63 span {
  display: block;
  color: #81929d;
  font-size: 9.5px;
  font-weight: 850;
}

.impact-focus-numbers-v63 b {
  display: block;
  margin-top: 2px;
  color: #365e76;
  font-size: 15px;
}

.impact-focus-numbers-v63 > i {
  color: #95a6b1;
  font-style: normal;
  text-align: center;
}

.impact-focus-result-v63 {
  justify-self: end;
  padding: 7px 10px;
  border-radius: 10px;
  background: #eaf7f0;
}

.impact-focus-result-v63 strong {
  display: block;
  margin-top: 2px;
  color: #247d57;
  font-size: 17px;
}

.impact-focus-v63 > p {
  margin: 7px 0 0;
  color: #526d7e;
  font-size: 11.5px;
  line-height: 1.5;
}

.impact-stage-section-v63 {
  overflow: hidden;
}

.impact-section-head-v63 {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 9px 12px;
  background: #f6f9fb;
}

.impact-section-head-v63 strong {
  color: #28556f;
  font-size: 13px;
}

.impact-section-head-v63 span {
  color: #8a99a2;
  font-size: 10px;
}

.impact-stage-list-v63 {
  display: grid;
}

.impact-stage-row-v63 {
  display: grid;
  grid-template-columns: 52px minmax(150px, 1fr) 180px 110px;
  gap: 8px;
  align-items: center;
  padding: 9px 12px;
  border-top: 1px solid #edf2f5;
}

.impact-stage-row-v63:first-child {
  border-top: 0;
}

.impact-rank-v63 {
  display: inline-flex;
  justify-content: center;
  padding: 4px 5px;
  border-radius: 999px;
  background: #eef4f7;
  color: #617b8c;
  font-size: 9.5px;
  font-weight: 950;
}

.impact-stage-row-v63.improvable .impact-rank-v63 {
  background: #eaf4fa;
  color: #25678d;
}

.impact-stage-name-v63 strong,
.impact-stage-name-v63 small {
  display: block;
}

.impact-stage-name-v63 strong {
  color: #294f66;
  font-size: 12.5px;
}

.impact-stage-name-v63 small {
  margin-top: 2px;
  color: #8999a3;
  font-size: 9.5px;
}

.impact-stage-rate-v63 {
  display: flex;
  gap: 5px;
  align-items: center;
  color: #6d8291;
  font-size: 10.5px;
  white-space: nowrap;
}

.impact-stage-rate-v63 i {
  color: #a1aeb6;
  font-style: normal;
}

.impact-stage-effect-v63 {
  text-align: right;
}

.impact-stage-effect-v63 span,
.impact-stage-effect-v63 strong {
  display: block;
}

.impact-stage-effect-v63 span {
  color: #8798a2;
  font-size: 9.5px;
}

.impact-stage-effect-v63 strong {
  margin-top: 2px;
  color: #247d57;
  font-size: 13px;
}

.impact-stage-row-v63.already_best .impact-stage-effect-v63 strong {
  color: #627b8b;
}

.impact-note-v63 {
  padding: 9px 11px;
  background: #fffaf0;
}

.impact-note-v63 b {
  color: #8b6700;
  font-size: 11px;
}

.impact-note-v63 p {
  margin: 3px 0 0;
  color: #6f6548;
  font-size: 10.5px;
  line-height: 1.5;
}

/* 모바일 */
@media (max-width: 700px) {
  .impact-hero-v63 {
    padding: 11px 12px;
  }

  .impact-hero-v63 h3 {
    font-size: 20px;
  }

  .impact-hero-v63 p {
    font-size: 14px;
  }

  .impact-quick-grid-v63 {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .impact-quick-v63 {
    padding: 9px 10px;
  }

  .impact-quick-v63 span {
    font-size: 11px;
  }

  .impact-quick-v63 strong {
    font-size: 15.5px;
  }

  .impact-quick-v63.focus strong {
    font-size: 18px;
  }

  .impact-focus-title-v63 strong {
    font-size: 18px;
  }

  .impact-focus-numbers-v63 {
    grid-template-columns: 1fr 16px 1fr;
  }

  .impact-focus-result-v63 {
    grid-column: 1 / -1;
    width: 100%;
    box-sizing: border-box;
    justify-self: stretch;
  }

  .impact-focus-result-v63 strong {
    font-size: 18px;
  }

  .impact-section-head-v63 {
    display: grid;
    gap: 2px;
  }

  .impact-section-head-v63 strong {
    font-size: 14px;
  }

  .impact-stage-row-v63 {
    grid-template-columns: 48px 1fr auto;
    gap: 6px;
    padding: 9px 10px;
  }

  .impact-stage-name-v63 strong {
    font-size: 13.5px;
  }

  .impact-stage-name-v63 small {
    font-size: 10.5px;
  }

  .impact-stage-rate-v63 {
    grid-column: 2 / -1;
    font-size: 11px;
  }

  .impact-stage-effect-v63 {
    grid-column: 2 / -1;
    text-align: left;
  }

  .impact-stage-effect-v63 span {
    display: inline;
    font-size: 10.5px;
  }

  .impact-stage-effect-v63 strong {
    display: inline;
    margin-left: 6px;
    font-size: 14px;
  }

  .impact-note-v63 b {
    font-size: 11.5px;
  }

  .impact-note-v63 p {
    font-size: 11.5px;
  }
}


/* ==================================================
   V70 AI 운영 제안
   기존 강점·보완 / 종강·탈락 분석 스타일을 그대로 활용
   ================================================== */

.ai-operation-v70 {
  display: grid;
  gap: 14px;
  white-space: normal;
}

.ai-operation-v70 .strength-section,
.ai-operation-v70 .completion-section {
  margin-top: 0;
}

.ai-single-grid-v70 {
  grid-template-columns: 1fr;
}

.ai-reason-grid-v70 {
  grid-template-columns: repeat(3, 1fr);
}

.ai-reason-card-v70 p {
  margin: 9px 0 0;
  color: #658096;
  font-size: 11px;
  line-height: 1.55;
}

.ai-keep-v70 {
  margin-top: 13px;
}

.ai-step-grid-v70 {
  grid-template-columns: repeat(3, 1fr);
}

.ai-step-card-v70 h4 {
  margin: 10px 0 0;
  color: #294c67;
  font-size: 13px;
  line-height: 1.4;
}

.ai-step-card-v70 p {
  margin: 7px 0 0;
  color: #658096;
  font-size: 11px;
  line-height: 1.5;
}

.ai-check-v70 {
  margin: 0;
}

.ai-check-v70 p b {
  color: #1768a2;
  font-size: 17px;
}

.ai-note-v70 {
  margin: -2px 2px 0;
}

@media (max-width: 620px) {
  .ai-operation-v70 {
    gap: 12px;
  }

  .ai-reason-grid-v70,
  .ai-step-grid-v70 {
    grid-template-columns: 1fr;
  }

  .ai-reason-card-v70 p,
  .ai-step-card-v70 p {
    font-size: 12.5px;
  }

  .ai-step-card-v70 h4 {
    font-size: 14px;
  }

  .ai-check-v70 p b {
    font-size: 16px;
  }
}

/* ==================================================
   V73 강사 변화 분석 - 변화 의미 중심
   ================================================== */
.change-dashboard-v73 { display:grid; gap:14px; white-space:normal; }
.change-dashboard-v73 .strength-section,
.change-dashboard-v73 .completion-section { margin-top:0; }
.change-purpose-v73 { margin-top:7px; color:#58758a; font-size:12px; line-height:1.55; }
.change-verdict-v73 { display:flex; align-items:center; gap:9px; margin-top:11px; padding:10px 12px; border-radius:12px; background:#eef6fb; }
.change-verdict-v73 span { color:#668399; font-size:10px; font-weight:900; }
.change-verdict-v73 strong { color:#174f70; font-size:15px; }
.change-graph-v73 { margin-top:13px; }
.change-axis-labels-v73 { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:0 0 7px; color:#8395a2; font-size:10px; }
.change-axis-labels-v73 span:first-child { text-align:left; color:#b65a60; }
.change-axis-labels-v73 span:last-child { text-align:right; color:#378264; }
.change-axis-labels-v73 b { color:#718695; font-size:10px; }
.change-row-v73 { padding:11px 0; border-top:1px solid #eaf0f4; }
.change-row-v73:first-of-type { border-top:0; }
.change-row-title-v73 { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.change-row-title-v73 strong { color:#294c67; font-size:13px; }
.change-row-title-v73 b { color:#41718e; font-size:13px; }
.change-row-v73.up .change-row-title-v73 b { color:#267e57; }
.change-row-v73.down .change-row-title-v73 b { color:#b63e47; }
.change-track-v73 { position:relative; height:18px; margin-top:8px; border:1px solid #e1e8ee; border-radius:999px; background:#f3f6f8; overflow:hidden; }
.change-left-zone-v73,.change-right-zone-v73 { position:absolute; top:0; bottom:0; width:50%; }
.change-left-zone-v73 { left:0; background:rgba(224,91,99,.055); }
.change-right-zone-v73 { right:0; background:rgba(43,153,101,.055); }
.change-center-v73 { position:absolute; z-index:2; top:-1px; bottom:-1px; left:50%; width:2px; background:#8297a7; transform:translateX(-1px); }
.change-fill-v73 { position:absolute; z-index:1; top:4px; bottom:4px; border-radius:999px; }
.change-fill-v73.up { background:#35a26f; }
.change-fill-v73.down { background:#d85b62; }
.change-fill-v73.flat { background:#4c92c8; min-width:4px; }
.change-row-meta-v73 { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; margin-top:6px; color:#718898; font-size:10.5px; }
.change-row-meta-v73 span:last-child { text-align:right; }
.change-row-meta-v73 strong { color:#526f84; text-align:center; }
.change-key-grid-v73 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.change-key-card-v73 strong,.change-key-card-v73 em { display:block; }
.change-key-card-v73 strong { margin-top:8px; color:#294c67; font-size:14px; line-height:1.4; }
.change-key-card-v73 em { margin-top:5px; color:#2e719f; font-size:18px; font-style:normal; font-weight:900; }
.change-key-card-v73.up em { color:#267e57; }
.change-key-card-v73.down em { color:#b63e47; }
.change-key-card-v73 p { margin:8px 0 0; color:#658096; font-size:11px; line-height:1.55; }
.change-key-card-v73.signal strong { color:#315f7c; }
.change-note-v73 { margin:-2px 2px 0; }
@media (max-width:620px) {
  .change-key-grid-v73 { grid-template-columns:1fr; }
  .change-purpose-v73 { font-size:12.5px; }
  .change-row-title-v73 strong,.change-row-title-v73 b { font-size:12.5px; }
  .change-row-meta-v73 { font-size:10px; }
  .change-key-card-v73 p { font-size:12.3px; }
}


/* ==================================================
   V74 강사 변화 분석 - 직관적인 변화 요약
   ================================================== */

.change-question-v74 {
  margin: 6px 0 0;
  color: #173e5c;
  font-size: 18px;
  line-height: 1.45;
}

.change-counts-v74 {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 11px 0 2px;
}

.change-counts-v74 span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
}

.change-counts-v74 span.up {
  background: #edf8f3;
  color: #267e57;
}

.change-counts-v74 span.down {
  background: #fff0f1;
  color: #b63e47;
}

.change-counts-v74 span.flat {
  background: #eef6fc;
  color: #2e719f;
}

.change-counts-v74 b {
  font-size: 12px;
}

@media (max-width: 620px) {
  .change-question-v74 {
    font-size: 16px;
  }

  .change-counts-v74 span {
    font-size: 10.5px;
  }
}


/* ==================================================
   V76 강사 변화 분석 - 비교 그래프 안내 개선
   ================================================== */

.change-section-head-v76 {
  display: block;
}

.change-section-kicker-v76 {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf5fb;
  color: #37759e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}

.change-section-head-v76 h3 {
  margin-top: 0;
  font-size: 17px;
  color: #173e5c;
}

.change-section-head-v76 p {
  margin-top: 5px;
  color: #6b8293;
  font-size: 12px;
  line-height: 1.5;
}

.change-guide-v76 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 12px 0 14px;
}

.change-guide-v76 > div {
  min-width: 0;
  border: 1px solid #e1eaf0;
  border-radius: 11px;
  background: #f9fbfc;
  padding: 9px 10px;
  text-align: center;
}

.change-guide-v76 b,
.change-guide-v76 span {
  display: block;
}

.change-guide-v76 b {
  font-size: 11.5px;
  line-height: 1.3;
}

.change-guide-v76 span {
  margin-top: 3px;
  color: #80909b;
  font-size: 9.5px;
}

.change-guide-v76 .down b {
  color: #b63e47;
}

.change-guide-v76 .flat b {
  color: #2e719f;
}

.change-guide-v76 .up b {
  color: #267e57;
}

@media (max-width: 620px) {
  .change-section-head-v76 h3 {
    font-size: 16px;
  }

  .change-section-head-v76 p {
    font-size: 11.5px;
  }

  .change-guide-v76 {
    gap: 6px;
  }

  .change-guide-v76 > div {
    padding: 8px 6px;
  }

  .change-guide-v76 b {
    font-size: 10.5px;
  }

  .change-guide-v76 span {
    font-size: 9px;
  }
}


/* ==================================================
   V78 강사 변화 분석 - 반복 제거 + 한눈에 비교
   ================================================== */

.change-section-head-v78 h3 {
  margin-top: 0;
  color: #173e5c;
  font-size: 17px;
}

.change-section-head-v78 p {
  margin-top: 5px;
  color: #6b8293;
  font-size: 12px;
  line-height: 1.5;
}

.change-guide-v78 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 12px 0 14px;
}

.change-guide-v78 > div {
  min-width: 0;
  border: 1px solid #e1eaf0;
  border-radius: 11px;
  background: #f9fbfc;
  padding: 9px 10px;
  text-align: center;
}

.change-guide-v78 b,
.change-guide-v78 span {
  display: block;
}

.change-guide-v78 b {
  font-size: 11.5px;
  line-height: 1.3;
}

.change-guide-v78 span {
  margin-top: 3px;
  color: #80909b;
  font-size: 9.5px;
}

.change-guide-v78 .down b { color: #b63e47; }
.change-guide-v78 .flat b { color: #2e719f; }
.change-guide-v78 .up b { color: #267e57; }

.change-compare-grid-v78 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.change-compare-card-v78 {
  border: 1px solid #dce8f2;
  border-radius: 16px;
  background: #fff;
  padding: 13px;
}

.change-compare-card-v78.up { border-top: 4px solid #2d9a66; }
.change-compare-card-v78.down { border-top: 4px solid #d5525a; }
.change-compare-card-v78.flat { border-top: 4px solid #478cc2; }
.change-compare-card-v78.unknown { border-top: 4px solid #9baab5; }

.change-compare-head-v78 {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
}

.change-compare-head-v78 strong {
  color: #294c67;
  font-size: 14px;
  line-height: 1.4;
}

.change-badge-v78 {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10.5px;
  font-weight: 900;
}

.change-badge-v78.up {
  background: #edf8f3;
  color: #267e57;
}

.change-badge-v78.down {
  background: #fff0f1;
  color: #b63e47;
}

.change-badge-v78.flat {
  background: #eef6fc;
  color: #2e719f;
}

.change-badge-v78.unknown {
  background: #f2f5f7;
  color: #748693;
}

.change-compare-body-v78 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
}

.change-side-v78 span,
.change-side-v78 b {
  display: block;
}

.change-side-v78 span {
  color: #7a8f9d;
  font-size: 10px;
  font-weight: 900;
}

.change-side-v78 b {
  margin-top: 3px;
  color: #294c67;
  font-size: 18px;
}

.change-mini-track-v78 {
  position: relative;
  height: 10px;
  margin-top: 8px;
  border-radius: 999px;
  background: #edf4f9;
  overflow: hidden;
}

.change-mini-fill-v78 {
  height: 100%;
  border-radius: 999px;
}

.change-mini-fill-v78.initial {
  background: #93b8d3;
}

.change-mini-fill-v78.recent.flat {
  background: #4c92c8;
}

.change-mini-fill-v78.recent.up {
  background: #35a26f;
}

.change-mini-fill-v78.recent.down {
  background: #d85b62;
}

.change-mini-fill-v78.recent.unknown {
  background: #9baab5;
}

.change-diff-center-v78 {
  text-align: center;
}

.change-diff-center-v78 em {
  display: inline-block;
  padding: 6px 7px;
  border-radius: 10px;
  background: #f5f8fb;
  color: #2e719f;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}

.change-compare-card-v78.up .change-diff-center-v78 em { color: #267e57; }
.change-compare-card-v78.down .change-diff-center-v78 em { color: #b63e47; }
.change-compare-card-v78.unknown .change-diff-center-v78 em { color: #748693; }

.change-compare-desc-v78 {
  margin: 10px 0 0;
  color: #658096;
  font-size: 11px;
  line-height: 1.55;
}

@media (max-width: 620px) {
  .change-guide-v78,
  .change-compare-grid-v78 {
    grid-template-columns: 1fr;
  }

  .change-section-head-v78 h3 {
    font-size: 16px;
  }

  .change-section-head-v78 p {
    font-size: 11.5px;
  }

  .change-compare-body-v78 {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .change-diff-center-v78 {
    text-align: left;
  }

  .change-side-v78 b {
    font-size: 17px;
  }

  .change-compare-desc-v78 {
    font-size: 12px;
  }
}


/* ==================================================
   V80 강사 변화 분석
   - 덤벨 변화 그래프
   - 변화 비교표
   ================================================== */

.change-visual-section-v80 {
  overflow: hidden;
}

.change-section-head-v80 {
  display: block;
}

.change-kicker-v80 {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf5fb;
  color: #37759e;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .07em;
}

.change-section-head-v80 h3 {
  margin: 0;
  color: #173e5c;
  font-size: 17px;
}

.change-section-head-v80 p {
  margin: 5px 0 0;
  color: #6b8293;
  font-size: 11.5px;
  line-height: 1.55;
}

.change-dumbbell-legend-v80 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
  color: #627b8c;
  font-size: 10px;
  font-weight: 800;
}

.change-dumbbell-legend-v80 span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.change-dumbbell-legend-v80 i {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

.change-dumbbell-legend-v80 .initial i {
  background: #a6b5c0;
}

.change-dumbbell-legend-v80 .up i {
  background: #2f9a68;
}

.change-dumbbell-legend-v80 .down i {
  background: #d95760;
}

.change-dumbbell-legend-v80 .flat i {
  background: #448dc1;
}

.change-dumbbell-legend-v80 .hint {
  margin-left: auto;
  color: #94a2ac;
  font-weight: 700;
}

.change-dumbbell-axis-v80 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 13px 0 2px 145px;
  color: #98a6af;
  font-size: 9px;
}

.change-dumbbell-axis-v80 span:nth-child(1) { text-align: left; }
.change-dumbbell-axis-v80 span:nth-child(2),
.change-dumbbell-axis-v80 span:nth-child(3),
.change-dumbbell-axis-v80 span:nth-child(4) { text-align: center; }
.change-dumbbell-axis-v80 span:nth-child(5) { text-align: right; }

.change-dumbbell-list-v80 {
  display: grid;
  gap: 4px;
}

.change-dumbbell-row-v80 {
  padding: 10px 0 11px;
  border-top: 1px solid #ebf0f4;
}

.change-dumbbell-row-v80:first-child {
  border-top: 0;
}

.change-dumbbell-row-head-v80 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.change-dumbbell-row-head-v80 strong {
  color: #294c67;
  font-size: 12.5px;
}

.change-badge-v80 {
  display: inline-flex;
  white-space: nowrap;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 9.5px;
  font-weight: 900;
}

.change-badge-v80.up,
.change-table-status-v80.up {
  background: #eaf7f0;
  color: #267e57;
}

.change-badge-v80.down,
.change-table-status-v80.down {
  background: #fff0f1;
  color: #b63e47;
}

.change-badge-v80.flat,
.change-table-status-v80.flat {
  background: #edf5fb;
  color: #2e719f;
}

.change-badge-v80.unknown,
.change-table-status-v80.unknown {
  background: #f2f4f6;
  color: #8b9aa5;
}

.change-dumbbell-track-v80 {
  position: relative;
  height: 30px;
  margin-top: 7px;
  border-radius: 8px;
  background:
    linear-gradient(to right, rgba(236,242,246,.85), rgba(248,250,252,.8));
  overflow: visible;
}

.change-dumbbell-track-v80 .grid {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #e1e8ed;
}

.change-dumbbell-track-v80 .g25 { left: 25%; }
.change-dumbbell-track-v80 .g50 { left: 50%; }
.change-dumbbell-track-v80 .g75 { left: 75%; }

.change-link-v80 {
  position: absolute;
  top: 14px;
  height: 3px;
  border-radius: 999px;
  transform: translateY(-50%);
  z-index: 2;
}

.change-link-v80.up { background: #75bea0; }
.change-link-v80.down { background: #e6a1a6; }
.change-link-v80.flat { background: #88b3d3; }
.change-link-v80.unknown { background: #c7d0d6; }

.change-dot-v80 {
  position: absolute;
  top: 14px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(40,70,90,.14);
  z-index: 3;
}

.change-dot-v80.initial {
  background: #9eafbb;
}

.change-dot-v80.recent.up { background: #2f9a68; }
.change-dot-v80.recent.down { background: #d95760; }
.change-dot-v80.recent.flat { background: #448dc1; }
.change-dot-v80.recent.unknown { background: #9eafbb; }

.change-no-data-v80 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #9aa8b1;
  font-size: 10px;
}

.change-dumbbell-values-v80 {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  margin-top: 5px;
  color: #778c9a;
  font-size: 10px;
}

.change-dumbbell-values-v80 span:last-child {
  text-align: right;
}

.change-dumbbell-values-v80 b {
  color: #3b5e75;
}

.change-dumbbell-values-v80 em {
  color: #315f7c;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.change-dumbbell-row-v80.up .change-dumbbell-values-v80 em { color: #267e57; }
.change-dumbbell-row-v80.down .change-dumbbell-values-v80 em { color: #b63e47; }

.change-table-title-v80 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid #e8eef2;
}

.change-table-title-v80 h4 {
  margin: 0;
  color: #294c67;
  font-size: 13px;
}

.change-table-title-v80 p {
  margin: 0;
  color: #8a9aa6;
  font-size: 9.5px;
}

.change-table-wrap-v80 {
  overflow-x: auto;
  margin-top: 8px;
}

.change-table-v80 {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: 10.5px;
}

.change-table-v80 th,
.change-table-v80 td {
  padding: 8px 9px;
  border-bottom: 1px solid #e9eff3;
  text-align: center;
}

.change-table-v80 thead th {
  background: #f3f7fa;
  color: #667f90;
  font-size: 9.5px;
  font-weight: 900;
}

.change-table-v80 tbody th {
  color: #365a72;
  text-align: left;
  font-weight: 900;
}

.change-table-v80 td.up {
  color: #267e57;
  font-weight: 900;
}

.change-table-v80 td.down {
  color: #b63e47;
  font-weight: 900;
}

.change-table-v80 td.flat {
  color: #2e719f;
  font-weight: 900;
}

.change-table-status-v80 {
  display: inline-block;
  padding: 3px 7px;
  border-radius: 999px;
  white-space: nowrap;
  font-size: 9px;
  font-weight: 900;
}

@media (max-width: 620px) {
  .change-section-head-v80 h3 {
    font-size: 15.5px;
  }

  .change-section-head-v80 p {
    font-size: 11px;
  }

  .change-dumbbell-axis-v80 {
    margin-left: 0;
  }

  .change-dumbbell-row-head-v80 strong {
    font-size: 12px;
  }

  .change-dumbbell-values-v80 {
    font-size: 9.5px;
  }

  .change-table-title-v80 {
    display: block;
  }

  .change-table-title-v80 p {
    margin-top: 3px;
  }
}


/* ==================================================
   V83 강사 변화 분석
   80단계 기준 색상 통일
   좋아짐=초록 / 낮아짐=빨강 / 큰 변화 없음=파랑
   ================================================== */

.change-badge-v80.up,
.change-table-status-v80.up {
  background: #eaf7f0;
  color: #267e57;
}

.change-badge-v80.down,
.change-table-status-v80.down {
  background: #fff0f1;
  color: #b63e47;
}

.change-badge-v80.flat,
.change-table-status-v80.flat {
  background: #edf5fb;
  color: #2e719f;
}

.change-link-v80.up { background: #75bea0; }
.change-link-v80.down { background: #e6a1a6; }
.change-link-v80.flat { background: #88b3d3; }

.change-dot-v80.recent.up { background: #2f9a68; }
.change-dot-v80.recent.down { background: #d95760; }
.change-dot-v80.recent.flat { background: #448dc1; }

.change-dumbbell-row-v80.up .change-dumbbell-values-v80 em { color: #267e57; }
.change-dumbbell-row-v80.down .change-dumbbell-values-v80 em { color: #b63e47; }
.change-dumbbell-row-v80.flat .change-dumbbell-values-v80 em { color: #2e719f; }

.change-dumbbell-legend-v80 .up,
.change-dumbbell-legend-v80 .up i {
  color: #267e57;
}

.change-dumbbell-legend-v80 .down,
.change-dumbbell-legend-v80 .down i {
  color: #b63e47;
}

.change-dumbbell-legend-v80 .flat,
.change-dumbbell-legend-v80 .flat i {
  color: #2e719f;
}


/* ==================================================
   V84 강사 변화 분석
   범례 두 줄 정리 + 색상 강조
   ================================================== */

.change-dumbbell-legend-v80 {
  display: grid;
  gap: 7px;
  margin-top: 13px;
  font-size: 10.5px;
  font-weight: 900;
  color: #627b8c;
}

.change-dumbbell-legend-v80 .legend-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 12px;
}

.change-dumbbell-legend-v80 .legend-row.top {
  justify-content: space-between;
}

.change-dumbbell-legend-v80 .legend-row.bottom {
  justify-content: flex-start;
}

.change-dumbbell-legend-v80 span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.change-dumbbell-legend-v80 i {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(40, 70, 90, .10);
}

.change-dumbbell-legend-v80 .initial {
  color: #5e7382;
}
.change-dumbbell-legend-v80 .initial i {
  background: #8fa0ad;
}

.change-dumbbell-legend-v80 .up {
  color: #16834d;
}
.change-dumbbell-legend-v80 .up i {
  background: #21a45f;
}

.change-dumbbell-legend-v80 .down {
  color: #bb3341;
}
.change-dumbbell-legend-v80 .down i {
  background: #e34c5a;
}

.change-dumbbell-legend-v80 .flat {
  color: #166ca8;
}
.change-dumbbell-legend-v80 .flat i {
  background: #2f8fd0;
}

.change-dumbbell-legend-v80 .hint {
  color: #8fa0ad;
  font-weight: 800;
}

/* 그래프/배지/값도 같은 계열로 재통일 */
.change-badge-v80.up,
.change-table-status-v80.up {
  background: #e8f8ef;
  color: #16834d;
}

.change-badge-v80.down,
.change-table-status-v80.down {
  background: #fff0f2;
  color: #bb3341;
}

.change-badge-v80.flat,
.change-table-status-v80.flat {
  background: #ebf5fc;
  color: #166ca8;
}

.change-link-v80.up { background: #5ac48a; }
.change-link-v80.down { background: #ef8d97; }
.change-link-v80.flat { background: #7ab7e3; }

.change-dot-v80.recent.up { background: #21a45f; }
.change-dot-v80.recent.down { background: #e34c5a; }
.change-dot-v80.recent.flat { background: #2f8fd0; }

.change-dumbbell-row-v80.up .change-dumbbell-values-v80 em { color: #16834d; }
.change-dumbbell-row-v80.down .change-dumbbell-values-v80 em { color: #bb3341; }
.change-dumbbell-row-v80.flat .change-dumbbell-values-v80 em { color: #166ca8; }

@media (max-width: 620px) {
  .change-dumbbell-legend-v80 .legend-row.top {
    justify-content: flex-start;
  }
}


/* ==================================================
   V85 강사 변화 분석
   회색 점 설명 문구를 더 쉽게 보이게 개선
   ================================================== */

.change-legend-help-v85 {
  margin: 2px 0 0;
  color: #728795;
  font-size: 10px;
  line-height: 1.5;
}

.change-dumbbell-legend-v80 .initial {
  color: #556b7a;
  font-weight: 900;
}

@media (max-width: 620px) {
  .change-legend-help-v85 {
    font-size: 9.5px;
  }
}


/* ==================================================
   V86 강사 변화 분석
   설명 중복 제거 + 글씨 크기 소폭 확대
   ================================================== */

.change-section-head-v80 h3 {
  font-size: 18px;
}

.change-section-head-v80 p {
  font-size: 12.5px;
}

.change-dumbbell-legend-v80 {
  gap: 8px;
  font-size: 11.5px;
}

.change-legend-title-v86 {
  color: #294c67;
  font-size: 12.5px;
  font-weight: 900;
  margin-bottom: 1px;
}

.change-dumbbell-legend-v80 .legend-row {
  gap: 10px 14px;
}

.change-dumbbell-legend-v80 i {
  width: 12px;
  height: 12px;
}

.change-dumbbell-legend-v80 .recent-guide {
  color: #315f7c;
  font-weight: 900;
}

.change-dumbbell-legend-v80 .recent-guide i {
  background: #357da8;
}

.change-legend-help-v86 {
  margin: 1px 0 0;
  color: #657d8d;
  font-size: 11.5px;
  line-height: 1.55;
  font-weight: 700;
}

.change-dumbbell-axis-v80 {
  font-size: 10px;
}

.change-dumbbell-row-head-v80 strong {
  font-size: 13.5px;
}

.change-badge-v80 {
  font-size: 10.5px;
}

.change-dumbbell-values-v80 {
  font-size: 11px;
}

.change-dumbbell-values-v80 em {
  font-size: 12px;
}

.change-table-title-v80 h4 {
  font-size: 14px;
}

.change-table-title-v80 p {
  font-size: 10.5px;
}

.change-table-v80 {
  font-size: 11.5px;
}

.change-table-v80 thead th {
  font-size: 10.5px;
}

.change-table-status-v80 {
  font-size: 10px;
}

@media (max-width: 620px) {
  .change-section-head-v80 h3 {
    font-size: 16.5px;
  }

  .change-section-head-v80 p,
  .change-dumbbell-legend-v80,
  .change-legend-help-v86 {
    font-size: 11px;
  }

  .change-legend-title-v86 {
    font-size: 12px;
  }
}


/* ==================================================
   V87 강사 변화 분석
   기존 반복 카드 -> AI 심층분석 · 다음 기수 제안
   ================================================== */

.ai-deep-section-v87 {
  margin-top: 14px;
}

.ai-deep-head-v87 {
  display: block;
}

.ai-deep-kicker-v87 {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef5fa;
  color: #356d94;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
}

.ai-deep-head-v87 h3 {
  margin: 0;
  color: #173e5c;
  font-size: 18px;
}

.ai-deep-head-v87 p {
  margin: 5px 0 0;
  color: #6c8190;
  font-size: 12px;
  line-height: 1.55;
}

.ai-deep-summary-v87 {
  margin-top: 12px;
  padding: 17px 18px;
  border: 1px solid #d9e7f1;
  border-radius: 15px;
  background: linear-gradient(135deg, #f6fafc, #ffffff);
  box-shadow: 0 3px 12px rgba(35, 72, 96, .05);
}

.ai-deep-summary-v87 > span {
  display: inline-block;
  color: #41789d;
  font-size: 10.5px;
  font-weight: 900;
}

.ai-deep-summary-v87 h4 {
  margin: 6px 0 7px;
  color: #254d68;
  font-size: 15.5px;
  line-height: 1.45;
}

.ai-deep-summary-v87 p {
  margin: 0;
  color: #536d7e;
  font-size: 12.5px;
  line-height: 1.72;
}

.ai-deep-summary-v87 small {
  display: block;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px dashed #dce6ed;
  color: #8799a5;
  font-size: 10px;
  line-height: 1.5;
}

.ai-deep-grid-v87 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.ai-deep-card-v87 {
  min-width: 0;
  padding: 14px 14px 13px;
  border: 1px solid #e0e8ee;
  border-radius: 14px;
  background: #fff;
  border-top-width: 4px;
}

.ai-deep-card-v87.warn { border-top-color: #e34c5a; }
.ai-deep-card-v87.good { border-top-color: #21a45f; }
.ai-deep-card-v87.info { border-top-color: #2f8fd0; }
.ai-deep-card-v87.neutral { border-top-color: #96a6b1; }

.ai-deep-card-label-v87 {
  margin-bottom: 7px;
  color: #8a9aa6;
  font-size: 9.5px;
  font-weight: 900;
}

.ai-deep-card-v87 > b {
  display: block;
  color: #6b8291;
  font-size: 10.5px;
  line-height: 1.4;
}

.ai-deep-card-v87 > strong {
  display: block;
  margin-top: 6px;
  color: #294e67;
  font-size: 13.5px;
  line-height: 1.45;
}

.ai-deep-card-v87.warn > strong { color: #a93d47; }
.ai-deep-card-v87.good > strong { color: #237d55; }
.ai-deep-card-v87.info > strong { color: #216f9f; }

.ai-deep-card-v87 p {
  margin: 7px 0 0;
  color: #5f7686;
  font-size: 11.5px;
  line-height: 1.65;
}

.ai-deep-card-v87 em {
  display: block;
  margin-top: 9px;
  padding: 7px 8px;
  border-radius: 9px;
  background: #f5f8fa;
  color: #587181;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .ai-deep-grid-v87 {
    grid-template-columns: 1fr;
  }

  .ai-deep-head-v87 h3 {
    font-size: 16.5px;
  }

  .ai-deep-summary-v87 h4 {
    font-size: 14.5px;
  }
}


/* ==================================================
   V88 AI 심층분석
   전문적이면서 한눈에 이해되는 구조
   ================================================== */

.ai-deep-head-v88 {
  display: block;
  margin-bottom: 10px;
}

.ai-deep-head-v88 h3 {
  margin: 0;
  color: #173e5c;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.2px;
}

.ai-deep-head-v88 p {
  margin: 5px 0 0;
  color: #687f8f;
  font-size: 12px;
  line-height: 1.55;
}

.ai-deep-summary-v88 {
  padding: 16px 18px 17px;
  border: 1px solid #d9e7f1;
  border-left: 5px solid #2f8fd0;
  border-radius: 14px;
  background: #f8fbfd;
}

.ai-summary-top-v88 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ai-summary-label-v88 {
  color: #356d94;
  font-size: 11px;
  font-weight: 900;
}

.ai-summary-badge-v88 {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eaf3f9;
  color: #356d94;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.ai-deep-summary-v88 h4 {
  margin: 8px 0 7px;
  color: #234c68;
  font-size: 15.5px;
  line-height: 1.45;
  font-weight: 900;
}

.ai-deep-summary-v88 p {
  margin: 0;
  color: #536e7f;
  font-size: 12.5px;
  line-height: 1.7;
}

.ai-deep-grid-v88 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.ai-deep-card-v88 {
  min-width: 0;
  padding: 13px 14px 14px;
  border: 1px solid #dfe8ee;
  border-radius: 14px;
  background: #fff;
}

.ai-deep-card-v88.priority.warn { border-top: 4px solid #e34c5a; }
.ai-deep-card-v88.priority.good { border-top: 4px solid #21a45f; }
.ai-deep-card-v88.priority.info { border-top: 4px solid #2f8fd0; }

.ai-deep-card-v88.keep.good { border-top: 4px solid #21a45f; }
.ai-deep-card-v88.keep.neutral { border-top: 4px solid #97a8b3; }

.ai-deep-card-v88.check { border-top: 4px solid #2f8fd0; }

.ai-card-top-v88 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}

.ai-card-step-v88 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #edf4f8;
  color: #356d94;
  font-size: 10px;
  font-weight: 900;
  flex-shrink: 0;
}

.ai-deep-card-v88.priority.warn .ai-card-step-v88 {
  background: #fff0f2;
  color: #bb3341;
}

.ai-deep-card-v88.priority.good .ai-card-step-v88,
.ai-deep-card-v88.keep.good .ai-card-step-v88 {
  background: #e8f8ef;
  color: #16834d;
}

.ai-deep-card-v88 > .ai-card-top-v88 b {
  color: #597180;
  font-size: 11px;
  font-weight: 900;
}

.ai-deep-card-v88 > strong {
  display: block;
  color: #294f68;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 900;
}

.ai-deep-card-v88.priority.warn > strong { color: #ad3945; }
.ai-deep-card-v88.priority.good > strong,
.ai-deep-card-v88.keep.good > strong { color: #237d55; }
.ai-deep-card-v88.check > strong { color: #216f9f; }

.ai-deep-card-v88 p {
  margin: 7px 0 0;
  color: #5d7484;
  font-size: 11.5px;
  line-height: 1.62;
}

.ai-deep-card-v88 em {
  display: block;
  margin-top: 9px;
  padding: 7px 8px;
  border-radius: 9px;
  background: #f5f8fa;
  color: #587181;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.5;
}

.ai-deep-basis-v88 {
  margin: 10px 2px 0;
  padding-top: 9px;
  border-top: 1px dashed #dce6ed;
  color: #8799a5;
  font-size: 10px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .ai-deep-grid-v88 {
    grid-template-columns: 1fr;
  }

  .ai-deep-head-v88 h3 {
    font-size: 16.5px;
  }

  .ai-deep-summary-v88 h4 {
    font-size: 14.5px;
  }

  .ai-deep-summary-v88 p {
    font-size: 12px;
  }
}


/* ==================================================
   V89 AI 심층분석
   AI DEEP ANALYSIS 배지 복원
   ================================================== */

.ai-deep-kicker-v89 {
  display: inline-block;
  margin-bottom: 7px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eaf3f9;
  color: #2f6f9c;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .055em;
  line-height: 1.2;
}

@media (max-width: 760px) {
  .ai-deep-kicker-v89 {
    font-size: 10px;
    padding: 4px 9px;
  }
}


/* ==================================================
   V90 AI 종합 판단 문구 가독성 개선
   ================================================== */

.ai-summary-label-v88 {
  font-size: 11.5px;
}

.ai-deep-summary-v88 h4 {
  font-size: 16px;
  letter-spacing: -0.15px;
}

.ai-deep-summary-v88 p {
  font-size: 12.8px;
  line-height: 1.72;
}

.ai-deep-head-v88 p {
  font-size: 12.4px;
}


/* ==================================================
   V91 AI 심층분석 - 한눈에 이해되는 문구/강조 개선
   ================================================== */

.ai-summary-badge-v88 {
  font-size: 10.5px;
  padding: 5px 9px;
}

.ai-deep-card-v88 > strong {
  font-size: 14px;
}

.ai-deep-card-v88 p {
  font-size: 11.8px;
  line-height: 1.67;
}

.ai-deep-card-v88 em {
  font-size: 10.3px;
}

.ai-deep-basis-v88 b {
  color: #607a8b;
  margin-right: 5px;
}


/* ==================================================
   V92 AI 심층분석 카드
   핵심 수치 → AI 판단 → 다음 기수 순서로 한눈에 표시
   ================================================== */

.ai-deep-grid-v92 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.ai-deep-card-v92 {
  min-width: 0;
  padding: 16px;
  border: 1px solid #dfe8ee;
  border-radius: 15px;
  background: #fff;
}

.ai-deep-card-v92.priority.warn { border-top: 5px solid #e34c5a; }
.ai-deep-card-v92.priority.good { border-top: 5px solid #21a45f; }
.ai-deep-card-v92.priority.info { border-top: 5px solid #2f8fd0; }
.ai-deep-card-v92.keep.good { border-top: 5px solid #21a45f; }
.ai-deep-card-v92.keep.neutral { border-top: 5px solid #97a8b3; }
.ai-deep-card-v92.check { border-top: 5px solid #2f8fd0; }

.ai-card-top-v92 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.ai-card-title-v92 {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.ai-card-step-v92 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #edf4f8;
  color: #356d94;
  font-size: 11.5px;
  font-weight: 900;
  flex-shrink: 0;
}

.ai-deep-card-v92.priority.warn .ai-card-step-v92 {
  background: #fff0f2;
  color: #bb3341;
}

.ai-deep-card-v92.priority.good .ai-card-step-v92,
.ai-deep-card-v92.keep.good .ai-card-step-v92 {
  background: #e8f8ef;
  color: #16834d;
}

.ai-card-title-v92 b {
  color: #526d7e;
  font-size: 12.5px;
  line-height: 1.35;
  font-weight: 900;
}

.ai-card-badge-v92 {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f1f5f8;
  color: #617989;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.ai-deep-card-v92.priority.warn .ai-card-badge-v92 {
  background: #fff0f2;
  color: #b43b47;
}

.ai-deep-card-v92.priority.good .ai-card-badge-v92,
.ai-deep-card-v92.keep.good .ai-card-badge-v92 {
  background: #e9f8f0;
  color: #1b8253;
}

.ai-deep-card-v92.check .ai-card-badge-v92 {
  background: #edf6fc;
  color: #2475a8;
}

.ai-deep-card-v92 > strong {
  display: block;
  color: #294f68;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 900;
}

.ai-deep-card-v92.priority.warn > strong { color: #b33945; }
.ai-deep-card-v92.priority.good > strong,
.ai-deep-card-v92.keep.good > strong { color: #237d55; }
.ai-deep-card-v92.check > strong { color: #216f9f; }

.ai-key-fact-v92 {
  margin-top: 8px;
  padding: 7px 9px;
  border-radius: 9px;
  background: #f5f8fa;
  color: #49687c;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.45;
}

.ai-brief-v92,
.ai-action-v92 {
  margin-top: 11px;
}

.ai-brief-v92 > span,
.ai-action-v92 > span {
  display: block;
  margin-bottom: 4px;
  color: #7790a0;
  font-size: 10.5px;
  font-weight: 900;
}

.ai-brief-v92 p,
.ai-action-v92 p {
  margin: 0;
  color: #526d7e;
  font-size: 12.5px;
  line-height: 1.62;
}

.ai-action-v92 {
  padding-top: 10px;
  border-top: 1px dashed #dce6ed;
}

.ai-action-v92 > span {
  color: #356d94;
}

.ai-deep-basis-v88 {
  font-size: 11.5px;
  line-height: 1.55;
}

.strength-note.change-note-v73 {
  margin-top: 12px;
  color: #6e8595;
  font-size: 12.5px;
  line-height: 1.62;
}

@media (max-width: 760px) {
  .ai-deep-grid-v92 {
    grid-template-columns: 1fr;
  }

  .ai-card-title-v92 b {
    font-size: 12px;
  }

  .ai-deep-card-v92 > strong {
    font-size: 14.5px;
  }

  .ai-brief-v92 p,
  .ai-action-v92 p,
  .strength-note.change-note-v73 {
    font-size: 12.3px;
  }
}


/* ==================================================
   V93 다음 기수 판정 기준
   ================================================== */

.ai-judgement-list-v93 {
  display: grid;
  gap: 7px;
  margin-top: 11px;
}

.ai-judgement-row-v93 {
  display: grid;
  grid-template-columns: minmax(108px, 1fr) 16px minmax(110px, 1fr);
  align-items: center;
  gap: 5px;
  padding: 8px 9px;
  border-radius: 9px;
  border: 1px solid #e4ebef;
  background: #f8fafb;
}

.ai-judgement-row-v93 > b {
  color: #4c6879;
  font-size: 11px;
  line-height: 1.35;
}

.ai-judgement-row-v93 > span {
  color: #9aabb5;
  text-align: center;
  font-size: 11px;
  font-weight: 900;
}

.ai-judgement-row-v93 > strong {
  font-size: 11.3px;
  line-height: 1.35;
  font-weight: 900;
}

.ai-judgement-row-v93.good {
  background: #f0faf4;
  border-color: #d3eedf;
}

.ai-judgement-row-v93.good > strong {
  color: #1f8154;
}

.ai-judgement-row-v93.info {
  background: #f0f7fc;
  border-color: #d8eaf6;
}

.ai-judgement-row-v93.info > strong {
  color: #2475a8;
}

.ai-judgement-row-v93.warn {
  background: #fff4f5;
  border-color: #f4dadd;
}

.ai-judgement-row-v93.warn > strong {
  color: #b33d48;
}

.ai-companion-v93 {
  margin-top: 11px;
  padding: 10px;
  border-radius: 10px;
  background: #f5f8fa;
}

.ai-companion-v93 > span {
  display: block;
  color: #748b9a;
  font-size: 10px;
  font-weight: 900;
}

.ai-companion-v93 > b {
  display: block;
  margin-top: 3px;
  color: #315f7c;
  font-size: 12px;
  font-weight: 900;
}

.ai-companion-v93 > p {
  margin: 4px 0 0;
  color: #607887;
  font-size: 10.8px;
  line-height: 1.5;
}

.ai-judgement-note-v93 {
  margin: 9px 1px 0 !important;
  color: #758b99 !important;
  font-size: 10.5px !important;
  line-height: 1.5 !important;
}

@media (max-width: 760px) {
  .ai-judgement-row-v93 {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .ai-judgement-row-v93 > span {
    display: none;
  }

  .ai-judgement-row-v93 > b,
  .ai-judgement-row-v93 > strong {
    font-size: 11.5px;
  }
}


/* ==================================================
   V94 AI 병목구간 분석
   ================================================== */

.ai-bottleneck-list-v94 {
  display: grid;
  gap: 6px;
  margin-top: 11px;
}

.ai-bottleneck-row-v94 {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) 65px 82px;
  align-items: center;
  gap: 6px;
  padding: 8px 9px;
  border-radius: 9px;
  background: #f7f9fb;
  border: 1px solid #e4ebef;
}

.ai-bottleneck-row-v94 > span {
  color: #4e6a7b;
  font-size: 11px;
  font-weight: 900;
}

.ai-bottleneck-row-v94 > b {
  text-align: right;
  font-size: 11.5px;
  font-weight: 900;
}

.ai-bottleneck-row-v94 > em {
  text-align: center;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 9.8px;
  font-style: normal;
  font-weight: 900;
}

.ai-bottleneck-row-v94.down > b,
.ai-bottleneck-row-v94.down > em {
  color: #b33d48;
}

.ai-bottleneck-row-v94.down > em {
  background: #fff0f2;
}

.ai-bottleneck-row-v94.up > b,
.ai-bottleneck-row-v94.up > em {
  color: #1f8154;
}

.ai-bottleneck-row-v94.up > em {
  background: #eaf8f0;
}

.ai-bottleneck-row-v94.flat > b,
.ai-bottleneck-row-v94.flat > em {
  color: #2475a8;
}

.ai-bottleneck-row-v94.flat > em {
  background: #edf6fc;
}

.ai-bottleneck-row-v94.unknown > b,
.ai-bottleneck-row-v94.unknown > em {
  color: #8799a5;
}

.ai-bottleneck-row-v94.unknown > em {
  background: #f1f4f6;
}

.ai-bottleneck-focus-v94,
.ai-companion-v94 {
  margin-top: 10px;
  padding: 10px;
  border-radius: 10px;
}

.ai-bottleneck-focus-v94 {
  background: #eef6fb;
  border: 1px solid #d8eaf6;
}

.ai-companion-v94 {
  background: #f5f8fa;
}

.ai-bottleneck-focus-v94 > span,
.ai-companion-v94 > span {
  display: block;
  color: #748b9a;
  font-size: 10px;
  font-weight: 900;
}

.ai-bottleneck-focus-v94 > b,
.ai-companion-v94 > b {
  display: block;
  margin-top: 3px;
  color: #245f86;
  font-size: 12.2px;
  font-weight: 900;
}

.ai-companion-v94 > p {
  margin: 4px 0 0;
  color: #607887;
  font-size: 10.8px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .ai-bottleneck-row-v94 {
    grid-template-columns: 1fr auto;
  }

  .ai-bottleneck-row-v94 > em {
    grid-column: 1 / -1;
    justify-self: start;
  }
}


/* ==================================================
   V95 AI 병목 분석
   카드 밖 넘침 방지 + 세로 길이 압축
   ================================================== */

.ai-deep-grid-v92,
.ai-deep-card-v92,
.ai-bottleneck-list-v94,
.ai-bottleneck-row-v94,
.ai-bottleneck-actions-v95,
.ai-bottleneck-focus-v95,
.ai-companion-v95 {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.ai-deep-card-v92 {
  overflow: hidden;
}

.ai-bottleneck-list-v94 {
  width: 100%;
  overflow: hidden;
}

.ai-bottleneck-row-v94 {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) 50px 72px;
  gap: 4px;
  padding: 7px 8px;
}

.ai-bottleneck-row-v94 > span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: keep-all;
  font-size: 10.8px;
  line-height: 1.3;
}

.ai-bottleneck-row-v94 > b {
  min-width: 0;
  font-size: 11px;
  white-space: nowrap;
}

.ai-bottleneck-row-v94 > em {
  min-width: 0;
  max-width: 100%;
  padding: 3px 5px;
  font-size: 9.4px;
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ai-deep-card-v92.check > strong {
  font-size: 14.5px;
  line-height: 1.35;
}

.ai-deep-card-v92.check .ai-brief-v92 {
  margin-top: 9px;
}

.ai-deep-card-v92.check .ai-brief-v92 p {
  font-size: 11.8px;
  line-height: 1.52;
}

.ai-bottleneck-actions-v95 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 9px;
}

.ai-bottleneck-focus-v95,
.ai-companion-v95 {
  padding: 9px;
  border-radius: 9px;
}

.ai-bottleneck-focus-v95 {
  background: #eef6fb;
  border: 1px solid #d8eaf6;
}

.ai-companion-v95 {
  background: #f5f8fa;
  border: 1px solid #e6ecef;
}

.ai-bottleneck-focus-v95 > span,
.ai-companion-v95 > span {
  display: block;
  color: #748b9a;
  font-size: 9.6px;
  font-weight: 900;
}

.ai-bottleneck-focus-v95 > b,
.ai-companion-v95 > b {
  display: block;
  min-width: 0;
  margin-top: 3px;
  color: #245f86;
  font-size: 11.2px;
  line-height: 1.35;
  font-weight: 900;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.ai-companion-note-v95 {
  margin: 6px 1px 0 !important;
  color: #718895 !important;
  font-size: 10px !important;
  line-height: 1.42 !important;
}

@media (max-width: 760px) {
  .ai-bottleneck-row-v94 {
    grid-template-columns: minmax(0, 1fr) 48px 68px;
  }

  .ai-bottleneck-row-v94 > em {
    grid-column: auto;
    justify-self: stretch;
  }

  .ai-bottleneck-actions-v95 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 430px) {
  .ai-bottleneck-row-v94 {
    grid-template-columns: minmax(0, 1fr) 48px;
  }

  .ai-bottleneck-row-v94 > em {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .ai-bottleneck-actions-v95 {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V96 AI 최근 흐름 분석
   ================================================== */

.recent-flow-v96 {
  overflow: hidden;
}

.recent-flow-points-v96 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 11px;
}

.recent-flow-point-v96 {
  min-width: 0;
  padding: 9px 7px;
  border: 1px solid #dfe8ee;
  border-radius: 10px;
  background: #f7f9fb;
  text-align: center;
}

.recent-flow-point-v96 span {
  display: block;
  min-width: 0;
  color: #738997;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.3;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.recent-flow-point-v96 b {
  display: block;
  margin-top: 5px;
  color: #315f7c;
  font-size: 13px;
  font-weight: 900;
}

.recent-flow-insight-v96 {
  margin-top: 10px !important;
}

.recent-flow-judgement-v96 {
  margin-top: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #edf6fc;
  border: 1px solid #d8eaf6;
}

.recent-flow-judgement-v96 span {
  display: block;
  color: #718895;
  font-size: 9.8px;
  font-weight: 900;
}

.recent-flow-judgement-v96 b {
  display: block;
  margin-top: 3px;
  color: #2475a8;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}

.recent-flow-judgement-v96.warn {
  background: #fff3f4;
  border-color: #f2dadd;
}

.recent-flow-judgement-v96.warn b {
  color: #b33d48;
}

.recent-flow-judgement-v96.good {
  background: #eef9f3;
  border-color: #d3eedf;
}

.recent-flow-judgement-v96.good b {
  color: #1f8154;
}

.recent-flow-judgement-v96.neutral {
  background: #f3f5f6;
  border-color: #e1e6e9;
}

.recent-flow-judgement-v96.neutral b {
  color: #697e8c;
}

@media (max-width: 430px) {
  .recent-flow-points-v96 {
    grid-template-columns: 1fr;
  }

  .recent-flow-point-v96 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    text-align: left;
  }

  .recent-flow-point-v96 b {
    margin-top: 0;
  }
}


/* ==================================================
   V97 AI 개선 효과 분석
   ================================================== */

.impact-card-v97 {
  overflow: hidden;
}

.impact-compare-v97 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  margin-top: 11px;
}

.impact-box-v97 {
  min-width: 0;
  padding: 10px 8px;
  border-radius: 11px;
  border: 1px solid #e0e8ee;
  background: #f7f9fb;
  text-align: center;
}

.impact-box-v97.target {
  background: #eef6fb;
  border-color: #d8eaf6;
}

.impact-box-v97 > span {
  display: block;
  color: #768c9a;
  font-size: 9.8px;
  font-weight: 900;
}

.impact-box-v97 > b {
  display: block;
  margin-top: 5px;
  color: #3d6177;
  font-size: 10.8px;
  line-height: 1.35;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.impact-box-v97 > strong {
  display: block;
  margin-top: 3px;
  color: #214f6d;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.impact-box-v97 > em {
  display: block;
  margin-top: 5px;
  color: #2475a8;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.impact-arrow-v97 {
  color: #8ca0ad;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
}

.impact-result-v97 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 10px;
  background: #edf6fc;
  border: 1px solid #d8eaf6;
}

.impact-result-v97 span {
  color: #718895;
  font-size: 10px;
  font-weight: 900;
}

.impact-result-v97 b {
  color: #2475a8;
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
}

.impact-result-v97.warn {
  background: #fff3f4;
  border-color: #f2dadd;
}

.impact-result-v97.warn b {
  color: #b33d48;
}

.impact-result-v97.good {
  background: #eef9f3;
  border-color: #d3eedf;
}

.impact-result-v97.good b {
  color: #1f8154;
}

.impact-insight-v97 {
  margin-top: 10px !important;
}

.impact-note-v97 {
  margin: 8px 1px 0 !important;
  padding-top: 8px;
  border-top: 1px dashed #dce6ed;
  color: #8497a3 !important;
  font-size: 9.7px !important;
  line-height: 1.45 !important;
}

@media (max-width: 430px) {
  .impact-compare-v97 {
    grid-template-columns: 1fr;
  }

  .impact-arrow-v97 {
    transform: rotate(90deg);
  }
}


/* ==================================================
   V98 다음 기수 운영 피드백
   ================================================== */

.operation-feedback-v98 {
  overflow: hidden;
}

.operation-feedback-v98 > strong {
  font-size: 14.5px;
  line-height: 1.4;
}

.operation-block-v98 {
  margin-top: 10px;
}

.operation-block-v98 > span,
.operation-checkpoint-v98 > span {
  display: block;
  margin-bottom: 4px;
  color: #748b9a;
  font-size: 10.5px;
  font-weight: 900;
}

.operation-block-v98 p {
  margin: 0;
  color: #526d7e;
  font-size: 12px;
  line-height: 1.58;
}

.operation-block-v98.checks {
  padding: 10px 11px;
  border-radius: 10px;
  background: #f7f9fb;
  border: 1px solid #e3eaee;
}

.operation-block-v98.checks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.operation-block-v98.checks li {
  position: relative;
  margin-top: 6px;
  padding-left: 14px;
  color: #526d7e;
  font-size: 11.5px;
  line-height: 1.48;
}

.operation-block-v98.checks li:first-child {
  margin-top: 0;
}

.operation-block-v98.checks li::before {
  content: "•";
  position: absolute;
  left: 1px;
  top: 0;
  color: #2f8fd0;
  font-weight: 900;
}

.operation-block-v98.direction {
  padding-top: 9px;
  border-top: 1px dashed #dce6ed;
}

.operation-block-v98.direction > span {
  color: #356d94;
}

.operation-checkpoint-v98 {
  margin-top: 10px;
  padding: 10px 11px;
  border-radius: 10px;
  background: #eef6fb;
  border: 1px solid #d8eaf6;
}

.operation-checkpoint-v98 > b {
  display: block;
  color: #245f86;
  font-size: 11.8px;
  line-height: 1.48;
  font-weight: 900;
}

.operation-note-v98 {
  margin: 8px 1px 0 !important;
  color: #8b9ba5 !important;
  font-size: 9.5px !important;
  line-height: 1.42 !important;
}

@media (max-width: 760px) {
  .operation-feedback-v98 > strong {
    font-size: 14px;
  }

  .operation-block-v98 p,
  .operation-block-v98.checks li,
  .operation-checkpoint-v98 > b {
    font-size: 11.8px;
  }
}


/* ==================================================
   V99 다음 기수 운영 피드백 압축
   ================================================== */

.operation-feedback-v98 .operation-block-v98 {
  margin-top: 8px;
}

.operation-feedback-v98 .operation-block-v98 p {
  font-size: 11.7px;
  line-height: 1.5;
}

.operation-feedback-v98 .operation-block-v98.checks {
  padding: 9px 10px;
}

.operation-feedback-v98 .operation-block-v98.checks li {
  margin-top: 4px;
  font-size: 11.3px;
  line-height: 1.42;
}

.operation-feedback-v98 .operation-block-v98.direction {
  padding-top: 8px;
}

.operation-note-v99 {
  margin: 7px 1px 0 !important;
  padding-top: 7px;
  border-top: 1px dashed #dce6ed;
  color: #8b9ba5 !important;
  font-size: 9.3px !important;
  line-height: 1.35 !important;
}


/* ==================================================
   V100 3번 운영 피드백 쉬운 표현
   ================================================== */

.operation-feedback-v98 .operation-block-v98 > span {
  font-size: 10.8px;
  letter-spacing: -0.1px;
}

.operation-feedback-v98 .operation-block-v98 p,
.operation-feedback-v98 .operation-block-v98.checks li {
  word-break: keep-all;
}


/* ==================================================
   V103 기수 비교·추이 대시보드
   ================================================== */

.compare-dashboard-host-v103 {
  white-space: normal !important;
}

.compare-summary-v103 {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border: 1px solid #dfe8ee;
  border-radius: 16px;
  background: #f8fbfd;
}

.compare-kicker-v103 {
  display: block;
  color: #6f8899;
  font-size: 10.5px;
  font-weight: 900;
}

.compare-summary-v103 h3 {
  margin: 5px 0 4px;
  color: #173e5c;
  font-size: 16px;
  line-height: 1.35;
}

.compare-summary-v103 p {
  margin: 0;
  color: #60798a;
  font-size: 11.5px;
  line-height: 1.5;
}

.compare-range-v103 {
  min-width: 150px;
  padding: 10px 12px;
  border-radius: 12px;
  background: white;
  border: 1px solid #e0e8ee;
}

.compare-range-v103 span {
  display: block;
  color: #8193a0;
  font-size: 9.5px;
  font-weight: 900;
}

.compare-range-v103 b {
  display: block;
  margin-top: 5px;
  color: #355f7b;
  font-size: 11.5px;
  line-height: 1.4;
}

.compare-section-v103 {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #e1e9ee;
  border-radius: 15px;
  background: white;
}

.compare-section-head-v103 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}

.compare-section-head-v103 > div {
  display: flex;
  align-items: center;
  gap: 7px;
}

.compare-section-head-v103 > div > span {
  display: inline-flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #edf5fa;
  color: #2877a9;
  font-size: 9px;
  font-weight: 900;
}

.compare-section-head-v103 h4 {
  margin: 0;
  color: #254c68;
  font-size: 13.5px;
}

.compare-section-head-v103 p {
  margin: 0;
  color: #8a9ca7;
  font-size: 9.8px;
}

.compare-trends-v103 {
  display: grid;
  gap: 8px;
}

.compare-trend-row-v103 {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 9px;
  align-items: stretch;
}

.compare-trend-label-v103 {
  padding: 10px;
  border-radius: 10px;
  background: #f5f8fa;
}

.compare-trend-label-v103 b {
  display: block;
  color: #405f72;
  font-size: 11px;
  line-height: 1.35;
}

.compare-trend-label-v103 small {
  display: block;
  margin-top: 5px;
  color: #7b909e;
  font-size: 9px;
  font-weight: 800;
}

.compare-trend-values-v103 {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.compare-trend-point-v103 {
  flex: 1 0 72px;
  min-width: 72px;
  padding: 8px 6px;
  border-radius: 9px;
  border: 1px solid #e2e9ee;
  background: #fff;
  text-align: center;
}

.compare-trend-point-v103.latest {
  background: #eef7fc;
  border-color: #cfe5f2;
}

.compare-trend-point-v103 span {
  display: block;
  color: #8496a2;
  font-size: 8.7px;
  line-height: 1.3;
  word-break: keep-all;
}

.compare-trend-point-v103 b {
  display: block;
  margin-top: 4px;
  color: #315f7c;
  font-size: 11.8px;
}

.compare-recent-list-v103 {
  display: grid;
  gap: 1px;
  border: 1px solid #e5ebef;
  border-radius: 11px;
  overflow: hidden;
}

.compare-recent-row-v103 {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(150px, auto) 72px;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  background: #fff;
  border-bottom: 1px solid #edf1f4;
}

.compare-recent-row-v103:last-child {
  border-bottom: 0;
}

.compare-recent-row-v103 > b {
  color: #486679;
  font-size: 10.8px;
}

.compare-recent-values-v103 {
  color: #6f8390;
  font-size: 10.5px;
  text-align: right;
}

.compare-recent-values-v103 em {
  margin: 0 5px;
  color: #9aa9b2;
  font-style: normal;
}

.compare-recent-row-v103 > strong {
  text-align: right;
  font-size: 11.5px;
}

.compare-recent-row-v103 > strong.good {
  color: #1d8b5e;
}

.compare-recent-row-v103 > strong.warn {
  color: #c54c57;
}

.compare-recent-row-v103 > strong.info {
  color: #367fae;
}

.compare-recent-row-v103 > strong.neutral {
  color: #7f909a;
}

.compare-count-cards-v103 {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding-bottom: 3px;
}

.compare-count-card-v103 {
  flex: 1 0 155px;
  min-width: 155px;
  padding: 10px;
  border: 1px solid #e1e9ee;
  border-radius: 11px;
  background: #fafcfd;
}

.compare-count-card-v103.latest {
  background: #eef7fc;
  border-color: #cfe5f2;
}

.compare-count-title-v103 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 8px;
}

.compare-count-title-v103 b {
  color: #395f77;
  font-size: 10.5px;
}

.compare-count-title-v103 span {
  padding: 3px 6px;
  border-radius: 999px;
  background: #dceef8;
  color: #2678aa;
  font-size: 8px;
  font-weight: 900;
}

.compare-count-grid-v103 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.compare-count-grid-v103 div {
  padding: 6px;
  border-radius: 8px;
  background: white;
  border: 1px solid #e9eef1;
}

.compare-count-grid-v103 span {
  display: block;
  color: #8798a3;
  font-size: 8.5px;
}

.compare-count-grid-v103 b {
  display: block;
  margin-top: 3px;
  color: #405f72;
  font-size: 10.8px;
}

.compare-note-v103 {
  margin: 10px 2px 0 !important;
  color: #8798a3 !important;
  font-size: 9.5px !important;
  line-height: 1.45 !important;
}

.compare-empty-v103 {
  margin-top: 12px;
  padding: 18px;
  border-radius: 12px;
  background: #f6f8fa;
  color: #728692;
  text-align: center;
  font-size: 11.5px;
}

@media (max-width: 720px) {
  .compare-summary-v103 {
    flex-direction: column;
  }

  .compare-range-v103 {
    min-width: 0;
  }

  .compare-section-head-v103 {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .compare-trend-row-v103 {
    grid-template-columns: 1fr;
  }

  .compare-trend-label-v103 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 9px;
  }

  .compare-trend-label-v103 small {
    margin-top: 0;
  }

  .compare-recent-row-v103 {
    grid-template-columns: minmax(0, 1fr) 90px;
  }

  .compare-recent-values-v103 {
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: left;
  }

  .compare-recent-row-v103 > strong {
    text-align: right;
  }
}


/* ==================================================
   V104 기수 비교·추이 한눈형
   ================================================== */

.compare-dashboard-host-v104 {
  white-space: normal !important;
}

.compare-glance-head-v104 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid #dfe8ee;
  border-radius: 14px;
  background: #f8fbfd;
}

.compare-glance-title-v104 span {
  display: block;
  color: #718895;
  font-size: 9.8px;
  font-weight: 900;
}

.compare-glance-title-v104 h3 {
  margin: 4px 0 0;
  color: #1f4a68;
  font-size: 15px;
  line-height: 1.35;
}

.compare-glance-summary-v104 {
  min-width: 150px;
  text-align: right;
}

.compare-glance-summary-v104 b {
  display: block;
  color: #2f678b;
  font-size: 12px;
  font-weight: 900;
}

.compare-glance-summary-v104 span {
  display: block;
  margin-top: 3px;
  color: #7a8f9c;
  font-size: 9.5px;
  line-height: 1.35;
}

.compare-glance-section-v104 {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e1e9ee;
  border-radius: 13px;
  background: white;
}

.compare-glance-section-title-v104 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
}

.compare-glance-section-title-v104 b {
  color: #2e536d;
  font-size: 12.8px;
}

.compare-glance-section-title-v104 span {
  color: #8b9ca6;
  font-size: 9.3px;
}

.compare-glance-recent-v104 {
  display: grid;
  gap: 1px;
  border: 1px solid #e6edf1;
  border-radius: 10px;
  overflow: hidden;
}

.compare-glance-row-v104 {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) minmax(145px, auto) 70px;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 7px 9px;
  background: white;
  border-bottom: 1px solid #edf2f5;
}

.compare-glance-row-v104:last-child {
  border-bottom: 0;
}

.compare-glance-row-v104 > b {
  color: #486879;
  font-size: 10.8px;
}

.compare-glance-values-v104 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  color: #778b98;
  font-size: 10.5px;
}

.compare-glance-values-v104 em,
.compare-glance-values-v104 strong,
.compare-glance-values-v104 i {
  font-style: normal;
}

.compare-glance-values-v104 strong {
  color: #345f7b;
  font-size: 11.2px;
}

.compare-glance-values-v104 i {
  color: #a1afb7;
}

.compare-glance-diff-v104 {
  justify-self: end;
  min-width: 60px;
  padding: 4px 6px;
  border-radius: 999px;
  text-align: center;
  font-size: 9.8px;
  font-weight: 900;
}

.compare-glance-diff-v104.good {
  background: #eaf7f0;
  color: #1d8458;
}

.compare-glance-diff-v104.warn {
  background: #fff0f1;
  color: #ba4651;
}

.compare-glance-diff-v104.info {
  background: #edf5fb;
  color: #327ba8;
}

.compare-glance-diff-v104.neutral {
  background: #f1f4f6;
  color: #7b8d98;
}

.compare-matrix-wrap-v104 {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e4ebef;
  border-radius: 10px;
}

.compare-matrix-v104 {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  table-layout: fixed;
}

.compare-matrix-v104 th,
.compare-matrix-v104 td {
  padding: 8px 7px;
  border-right: 1px solid #edf1f4;
  border-bottom: 1px solid #edf1f4;
  text-align: center;
  font-size: 9.8px;
}

.compare-matrix-v104 thead th {
  background: #f6f9fb;
  color: #667f8f;
  font-weight: 900;
}

.compare-matrix-v104 thead th:first-child,
.compare-matrix-v104 tbody th {
  width: 122px;
  text-align: left;
}

.compare-matrix-v104 tbody th {
  background: #fafcfd;
  color: #476576;
  font-weight: 900;
}

.compare-matrix-v104 td {
  color: #536f80;
  font-weight: 800;
}

.compare-matrix-v104 .latest {
  background: #eef7fc;
  color: #246f9e;
  font-weight: 900;
}

.compare-matrix-v104 thead th.latest small {
  display: block;
  margin-top: 2px;
  color: #2b83b6;
  font-size: 7.8px;
}

.compare-matrix-v104 tr:last-child th,
.compare-matrix-v104 tr:last-child td {
  border-bottom: 0;
}

.compare-matrix-v104 th:last-child,
.compare-matrix-v104 td:last-child {
  border-right: 0;
}

.compare-note-v104 {
  margin: 8px 2px 0 !important;
  color: #8b9ba5 !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
}

@media (max-width: 720px) {
  .compare-glance-head-v104 {
    align-items: flex-start;
    flex-direction: column;
  }

  .compare-glance-summary-v104 {
    min-width: 0;
    text-align: left;
  }

  .compare-glance-row-v104 {
    grid-template-columns: minmax(0, 1fr) 62px;
  }

  .compare-glance-values-v104 {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }

  .compare-glance-diff-v104 {
    grid-column: 2;
    grid-row: 1;
  }
}


/* ==================================================
   V105 기수 비교·추이 - 업로드 보고서 스타일 적용
   KPI 카드 + 미니 라인 추이 + 최근/최고 강조 표
   ================================================== */

.compare-dashboard-host-v105 {
  white-space: normal !important;
}

.compare-report-head-v105 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 17px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f5f9fc 0%, #eef5f9 100%);
  border: 1px solid #dce7ee;
}

.compare-report-kicker-v105 {
  display: block;
  color: #6c8392;
  font-size: 10px;
  font-weight: 900;
}

.compare-report-head-v105 h3 {
  margin: 4px 0 2px;
  color: #213f55;
  font-size: 16px;
  line-height: 1.35;
}

.compare-report-head-v105 p {
  margin: 0;
  color: #7c8f9a;
  font-size: 10px;
}

.compare-report-badge-v105 {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #dfeef7;
  color: #2b759f;
  font-size: 9.5px;
  font-weight: 900;
}

.compare-report-section-v105 {
  margin-top: 12px;
}

.compare-report-section-head-v105 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 1px 7px;
  padding-left: 8px;
  border-left: 3px solid #467ea2;
}

.compare-report-section-head-v105 b {
  color: #304f64;
  font-size: 12.5px;
}

.compare-report-section-head-v105 span {
  color: #8a9aa4;
  font-size: 9px;
}

/* KPI + mini line */
.compare-kpi-grid-v105 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.compare-kpi-card-v105 {
  min-width: 0;
  overflow: hidden;
  padding: 11px 11px 9px;
  border-radius: 12px;
  border: 1px solid #e0e8ed;
  background: #fff;
  box-shadow: 0 2px 8px rgba(42, 66, 82, 0.035);
}

.compare-kpi-card-v105.good {
  border-top: 3px solid #32a572;
}

.compare-kpi-card-v105.warn {
  border-top: 3px solid #d65a65;
}

.compare-kpi-card-v105.info {
  border-top: 3px solid #3f88b5;
}

.compare-kpi-card-v105.neutral {
  border-top: 3px solid #aab6bd;
}

.compare-kpi-top-v105 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6px;
}

.compare-kpi-top-v105 > span {
  min-width: 0;
  color: #5f7685;
  font-size: 9.7px;
  font-weight: 900;
  line-height: 1.35;
  word-break: keep-all;
}

.compare-kpi-diff-v105 {
  flex: 0 0 auto;
  padding: 3px 5px;
  border-radius: 999px;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 900;
}

.compare-kpi-diff-v105.good {
  background: #eaf7f0;
  color: #1d8458;
}

.compare-kpi-diff-v105.warn {
  background: #fff0f1;
  color: #bd4752;
}

.compare-kpi-diff-v105.info {
  background: #edf5fb;
  color: #327ba8;
}

.compare-kpi-diff-v105.neutral {
  background: #f1f4f6;
  color: #7d8c96;
}

.compare-kpi-value-v105 {
  margin-top: 8px;
  color: #253f51;
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.compare-kpi-sub-v105 {
  margin-top: 1px;
  color: #8b9ba5;
  font-size: 8.8px;
}

.compare-spark-wrap-v105 {
  height: 62px;
  margin: 5px -2px 2px;
}

.compare-spark-v105 {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.spark-base-v105 {
  stroke: #edf1f4;
  stroke-width: 1;
}

.spark-line-v105 {
  fill: none;
  stroke: #4c88ad;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.compare-spark-v105.good .spark-line-v105 {
  stroke: #2f9a6d;
}

.compare-spark-v105.warn .spark-line-v105 {
  stroke: #c95661;
}

.spark-dot-v105 {
  fill: #fff;
  stroke: #7894a5;
  stroke-width: 1.6;
}

.compare-spark-v105.good .spark-dot-v105.latest {
  fill: #2f9a6d;
  stroke: #2f9a6d;
}

.compare-spark-v105.warn .spark-dot-v105.latest {
  fill: #c95661;
  stroke: #c95661;
}

.compare-spark-v105.info .spark-dot-v105.latest {
  fill: #3f88b5;
  stroke: #3f88b5;
}

.compare-spark-v105.neutral .spark-dot-v105.latest {
  fill: #8a9ba5;
  stroke: #8a9ba5;
}

.compare-spark-empty-v105 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #a2afb7;
  font-size: 9px;
}

.compare-kpi-foot-v105 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  padding-top: 6px;
  border-top: 1px solid #eef2f4;
}

.compare-kpi-foot-v105 span {
  color: #94a2aa;
  font-size: 8.5px;
}

.compare-kpi-foot-v105 b {
  min-width: 0;
  color: #607988;
  font-size: 8.7px;
  text-align: right;
  line-height: 1.3;
  word-break: keep-all;
}

/* compact comparison table */
.compare-table-wrap-v105 {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e1e9ee;
  border-radius: 11px;
  background: white;
}

.compare-table-v105 {
  width: 100%;
  min-width: 570px;
  border-collapse: collapse;
  table-layout: fixed;
}

.compare-table-v105 th,
.compare-table-v105 td {
  position: relative;
  padding: 8px 7px;
  border-right: 1px solid #edf1f4;
  border-bottom: 1px solid #edf1f4;
  text-align: center;
  font-size: 9.8px;
}

.compare-table-v105 thead th {
  background: #f6f8fa;
  color: #687f8e;
  font-weight: 900;
}

.compare-table-v105 thead th:first-child,
.compare-table-v105 tbody th {
  width: 124px;
  text-align: left;
}

.compare-table-v105 tbody th {
  background: #fbfcfd;
  color: #456375;
  font-weight: 900;
}

.compare-table-v105 td {
  color: #536f80;
  font-weight: 800;
}

.compare-table-v105 .latest {
  background: #edf7fc;
  color: #216e9b;
  font-weight: 900;
}

.compare-table-v105 td.best:not(.latest) {
  background: #eef8f2;
  color: #247a56;
  font-weight: 900;
}

.compare-table-v105 td.best.latest {
  background: linear-gradient(135deg, #edf7fc 0%, #edf8f1 100%);
  box-shadow: inset 0 0 0 1px #bcdcca;
  color: #1f7652;
}

.compare-table-v105 thead th.latest small {
  display: block;
  margin-top: 2px;
  color: #3385b4;
  font-size: 7.5px;
}

.best-mark-v105 {
  display: block;
  margin-top: 2px;
  color: #2f8a62;
  font-size: 7.3px;
  font-weight: 900;
}

.compare-table-v105 tr:last-child th,
.compare-table-v105 tr:last-child td {
  border-bottom: 0;
}

.compare-table-v105 th:last-child,
.compare-table-v105 td:last-child {
  border-right: 0;
}

.compare-report-note-v105 {
  margin: 8px 2px 0 !important;
  color: #8c9ba4 !important;
  font-size: 8.8px !important;
  line-height: 1.4 !important;
}

@media (max-width: 900px) {
  .compare-kpi-grid-v105 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .compare-report-head-v105 {
    align-items: flex-start;
  }

  .compare-report-section-head-v105 {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .compare-kpi-grid-v105 {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  .compare-kpi-card-v105 {
    padding: 9px 9px 8px;
  }

  .compare-kpi-value-v105 {
    font-size: 18px;
  }

  .compare-spark-wrap-v105 {
    height: 50px;
  }

  .compare-kpi-foot-v105 {
    align-items: flex-start;
    flex-direction: column;
  }

  .compare-kpi-foot-v105 b {
    text-align: left;
  }
}


/* ==================================================
   V106 기수 비교·추이 - 2기수 한눈 비교
   ================================================== */

.compare-dashboard-host-v106 {
  white-space: normal !important;
}

.compare-simple-head-v106 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 17px;
  border-radius: 14px;
  background: #f7fafc;
  border: 1px solid #dce6ec;
}

.compare-simple-head-v106 > div > span {
  display: block;
  color: #718694;
  font-size: 10px;
  font-weight: 900;
}

.compare-simple-head-v106 h3 {
  margin: 4px 0 2px;
  color: #213f55;
  font-size: 17px;
  line-height: 1.3;
}

.compare-simple-head-v106 p {
  margin: 0;
  color: #7f919c;
  font-size: 10px;
}

.compare-simple-head-v106 > b {
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: #dfeef7;
  color: #2b759f;
  font-size: 10px;
  font-weight: 900;
}

.compare-two-section-v106 {
  margin-top: 12px;
}

.compare-two-title-v106 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  padding-left: 8px;
  border-left: 3px solid #467ea2;
}

.compare-two-title-v106 b {
  color: #304f64;
  font-size: 13px;
}

.compare-two-title-v106 span {
  color: #899aa4;
  font-size: 9.5px;
}

.compare-two-table-wrap-v106 {
  overflow-x: auto;
  border: 1px solid #dfe7ec;
  border-radius: 12px;
  background: white;
}

.compare-two-table-v106 {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  table-layout: fixed;
}

.compare-two-table-v106 th,
.compare-two-table-v106 td {
  padding: 14px 12px;
  border-right: 1px solid #e9eef1;
  border-bottom: 1px solid #e9eef1;
  text-align: center;
}

.compare-two-table-v106 thead th {
  background: #f5f8fa;
  color: #657d8c;
  font-size: 11px;
  font-weight: 900;
}

.compare-two-table-v106 thead th:first-child,
.compare-two-table-v106 tbody th {
  width: 180px;
  text-align: left;
}

.compare-two-table-v106 tbody th {
  background: #fbfcfd;
  color: #405f72;
  font-size: 12px;
  font-weight: 900;
}

.compare-two-table-v106 td {
  color: #3e6177;
  font-size: 16px;
  font-weight: 900;
}

.compare-two-table-v106 .latest {
  background: #eef7fc;
  color: #246f9e;
}

.compare-two-table-v106 thead th.latest small {
  display: block;
  margin-top: 3px;
  font-size: 8px;
  color: #3f88b5;
}

.compare-two-table-v106 tr:last-child th,
.compare-two-table-v106 tr:last-child td {
  border-bottom: 0;
}

.compare-two-table-v106 th:last-child,
.compare-two-table-v106 td:last-child {
  border-right: 0;
}

.compare-change-v106 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 116px;
  padding: 6px 9px;
  border-radius: 10px;
}

.compare-change-v106 b {
  font-size: 13px;
  font-weight: 900;
}

.compare-change-v106 span {
  font-size: 9px;
  font-weight: 900;
}

.compare-change-v106.good {
  background: #eaf7f0;
  color: #1d8458;
}

.compare-change-v106.warn {
  background: #fff0f1;
  color: #bd4752;
}

.compare-change-v106.info {
  background: #edf5fb;
  color: #327ba8;
}

.compare-change-v106.neutral {
  background: #f1f4f6;
  color: #7d8c96;
}

.compare-note-v106 {
  margin: 8px 2px 0 !important;
  color: #8b9ba5 !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
}

@media (max-width: 700px) {
  .compare-simple-head-v106 {
    align-items: flex-start;
  }

  .compare-two-title-v106 {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .compare-two-table-v106 th,
  .compare-two-table-v106 td {
    padding: 11px 9px;
  }

  .compare-two-table-v106 td {
    font-size: 14px;
  }
}


/* ==================================================
   V107 기수 비교·추이 - 그래프 유지 + 쉬운 설명 + 글자 확대
   ================================================== */

.compare-simple-head-v106 > div > span {
  font-size: 11.5px;
}

.compare-simple-head-v106 p {
  font-size: 11.5px;
  line-height: 1.45;
}

.compare-simple-head-v106 > b {
  font-size: 11px;
}

.compare-section-head-v107 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 1px 8px;
  padding-left: 9px;
  border-left: 3px solid #467ea2;
}

.compare-section-head-v107 > div {
  min-width: 0;
}

.compare-section-head-v107 b {
  display: block;
  color: #2e5169;
  font-size: 14px;
  font-weight: 900;
}

.compare-section-head-v107 span {
  display: block;
  margin-top: 3px;
  color: #718694;
  font-size: 11px;
  line-height: 1.4;
}

.compare-section-head-v107 em {
  flex: 0 0 auto;
  color: #718694;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
}

.compare-two-bars-v107 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.compare-two-bar-card-v107 {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dfe7ec;
  border-radius: 12px;
  background: #fff;
}

.compare-two-bar-head-v107 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  margin-bottom: 12px;
}

.compare-two-bar-head-v107 > b {
  color: #345a72;
  font-size: 12.5px;
  font-weight: 900;
  line-height: 1.35;
}

.compare-two-bar-diff-v107 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.compare-two-bar-diff-v107 small {
  font-size: 9.5px;
  font-weight: 900;
}

.compare-two-bar-diff-v107.good {
  background: #eaf7f0;
  color: #1d8458;
}

.compare-two-bar-diff-v107.warn {
  background: #fff0f1;
  color: #bd4752;
}

.compare-two-bar-diff-v107.info {
  background: #edf5fb;
  color: #327ba8;
}

.compare-two-bar-diff-v107.neutral {
  background: #f1f4f6;
  color: #7d8c96;
}

.compare-two-bar-line-v107 {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) 54px;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.compare-two-bar-term-v107 {
  color: #778b98;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.25;
}

.compare-two-bar-term-v107.recent {
  color: #2f769f;
  font-weight: 900;
}

.compare-two-bar-track-v107 {
  position: relative;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f4;
}

.compare-two-bar-fill-v107 {
  height: 100%;
  border-radius: inherit;
}

.compare-two-bar-fill-v107.previous {
  background: #aab7bf;
}

.compare-two-bar-fill-v107.latest {
  background: #3e89b6;
}

.compare-two-bar-line-v107 > b {
  color: #536f80;
  font-size: 11.5px;
  text-align: right;
}

.compare-two-bar-line-v107 > b.recent-value {
  color: #216e9b;
  font-size: 12px;
}

/* 비교표 작은 글씨 확대 */
.compare-two-table-v106 thead th {
  font-size: 12px;
}

.compare-two-table-v106 thead th small {
  display: block;
  margin-top: 4px;
  font-size: 9.5px;
  font-weight: 900;
  color: #8798a3;
}

.compare-two-table-v106 thead th.latest small {
  color: #3f88b5;
}

.compare-two-table-v106 tbody th {
  font-size: 12.5px;
}

.compare-two-table-v106 td {
  font-size: 16.5px;
}

.compare-change-v106 b {
  font-size: 13.5px;
}

.compare-change-v106 span {
  font-size: 10px;
}

.compare-note-v107 {
  margin: 9px 2px 0 !important;
  color: #7b8f9b !important;
  font-size: 10.5px !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  .compare-two-bars-v107 {
    grid-template-columns: 1fr;
  }

  .compare-section-head-v107 {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .compare-section-head-v107 em {
    font-size: 10px;
  }
}

@media (max-width: 520px) {
  .compare-two-bar-line-v107 {
    grid-template-columns: 72px minmax(0, 1fr) 50px;
    gap: 6px;
  }

  .compare-two-bar-term-v107 {
    font-size: 10px;
  }
}


/* ==================================================
   V108 기수별 실제 인원 비교표
   ================================================== */

.compare-count-table-wrap-v108 {
  overflow-x: auto;
  border: 1px solid #dfe7ec;
  border-radius: 12px;
  background: white;
}

.compare-count-table-v108 {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  table-layout: fixed;
}

.compare-count-table-v108 th,
.compare-count-table-v108 td {
  padding: 14px 12px;
  border-right: 1px solid #e9eef1;
  border-bottom: 1px solid #e9eef1;
  text-align: center;
}

.compare-count-table-v108 thead th {
  background: #f5f8fa;
  color: #657d8c;
  font-size: 12px;
  font-weight: 900;
}

.compare-count-table-v108 thead th:first-child,
.compare-count-table-v108 tbody th {
  width: 160px;
  text-align: left;
}

.compare-count-table-v108 thead th small {
  display: block;
  margin-top: 4px;
  color: #8798a3;
  font-size: 9.5px;
  font-weight: 900;
}

.compare-count-table-v108 thead th.latest small {
  color: #3f88b5;
}

.compare-count-table-v108 tbody th {
  background: #fbfcfd;
  color: #405f72;
  font-size: 12.5px;
  font-weight: 900;
}

.compare-count-table-v108 td {
  color: #3e6177;
  font-size: 16px;
  font-weight: 900;
}

.compare-count-table-v108 .latest {
  background: #eef7fc;
  color: #246f9e;
}

.compare-count-diff-v108 {
  display: inline-block;
  min-width: 74px;
  padding: 6px 9px;
  border-radius: 10px;
  background: #f2f5f7;
  color: #566f7e;
  font-size: 12.5px;
  font-weight: 900;
}

.compare-count-table-v108 tr:last-child th,
.compare-count-table-v108 tr:last-child td {
  border-bottom: 0;
}

.compare-count-table-v108 th:last-child,
.compare-count-table-v108 td:last-child {
  border-right: 0;
}

@media (max-width: 700px) {
  .compare-count-table-v108 th,
  .compare-count-table-v108 td {
    padding: 11px 9px;
  }

  .compare-count-table-v108 td {
    font-size: 14px;
  }

  .compare-count-diff-v108 {
    font-size: 11.5px;
  }
}


/* ==================================================
   V109 실제 인원표 - 변화 열 제거
   ================================================== */

.compare-count-table-v108 {
  min-width: 520px;
}

.compare-count-table-v108 thead th:first-child,
.compare-count-table-v108 tbody th {
  width: 34%;
}

.compare-count-table-v108 thead th:not(:first-child),
.compare-count-table-v108 tbody td {
  width: 33%;
}

.compare-count-table-v108 td {
  font-size: 17px;
}

@media (max-width: 700px) {
  .compare-count-table-v108 {
    min-width: 460px;
  }

  .compare-count-table-v108 td {
    font-size: 15px;
  }
}


/* ==================================================
   V110 기수별 결과 요약
   ================================================== */

/* 표에서 중요한 행만 은은하게 강조 */
.compare-count-table-v108 tbody tr.result-row th,
.compare-count-table-v108 tbody tr.result-row td {
  background: #f2faf5;
}

.compare-count-table-v108 tbody tr.result-row td.latest {
  background: #e7f5ec;
  color: #1f7652;
}

.compare-count-table-v108 tbody tr.dropout-row th,
.compare-count-table-v108 tbody tr.dropout-row td {
  background: #fff7f7;
}

.compare-count-table-v108 tbody tr.dropout-row td.latest {
  background: #fff0f1;
  color: #b94a55;
}

.compare-result-summary-v110 {
  margin-top: 12px;
}

.compare-result-title-v110 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  padding-left: 9px;
  border-left: 3px solid #467ea2;
}

.compare-result-title-v110 b {
  color: #2e5169;
  font-size: 14px;
  font-weight: 900;
}

.compare-result-title-v110 span {
  color: #788d99;
  font-size: 10.5px;
}

.compare-result-cards-v110 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.compare-result-cards-v110 article {
  padding: 12px 13px;
  border: 1px solid #dfe7ec;
  border-radius: 11px;
  background: #fafcfd;
}

.compare-result-cards-v110 article.recent {
  background: #eef7fc;
  border-color: #d4e8f3;
}

.compare-result-cards-v110 article > span {
  display: block;
  color: #7b8e99;
  font-size: 10px;
  font-weight: 900;
}

.compare-result-cards-v110 article > strong {
  display: block;
  margin-top: 5px;
  color: #3f6074;
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 900;
}

.compare-result-cards-v110 article > b {
  display: block;
  margin-top: 5px;
  color: #2f7199;
  font-size: 12px;
  font-weight: 900;
}

.compare-key-point-v110 {
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f5f8fa;
  border-left: 3px solid #5d8ca8;
}

.compare-key-point-v110 span {
  display: block;
  margin-bottom: 4px;
  color: #728895;
  font-size: 10px;
  font-weight: 900;
}

.compare-key-point-v110 b {
  display: block;
  color: #3f5f72;
  font-size: 11.5px;
  line-height: 1.5;
  font-weight: 900;
}

@media (max-width: 620px) {
  .compare-result-title-v110 {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .compare-result-cards-v110 {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V111 탈락 행 제거 / 초등 대비 미종강 추가
   ================================================== */

.compare-count-table-v108 tbody tr.notfinal-row th,
.compare-count-table-v108 tbody tr.notfinal-row td {
  background: #fffaf0;
}

.compare-count-table-v108 tbody tr.notfinal-row td.latest {
  background: #fff4dc;
  color: #9a6412;
}

.derived-label-v111 {
  display: block;
  margin-top: 3px;
  color: #9a8a6a;
  font-size: 9px;
  font-weight: 700;
}

/* 이전 dropout 강조 규칙 무효화 */
.compare-count-table-v108 tbody tr.dropout-row th,
.compare-count-table-v108 tbody tr.dropout-row td,
.compare-count-table-v108 tbody tr.dropout-row td.latest {
  background: inherit;
  color: inherit;
}


/* ==================================================
   V112 쉬운 용어 적용
   ================================================== */

.compare-count-table-v108 tbody tr.notfinal-row th {
  line-height: 1.35;
  word-break: keep-all;
}

.derived-label-v111 {
  font-size: 9.5px;
  line-height: 1.3;
}


/* ==================================================
   V114 더 쉬운 탈락 관련 표현
   ================================================== */

.derived-label-v111 {
  margin-top: 4px;
  color: #8a7654;
  font-size: 9.8px;
  line-height: 1.35;
  font-weight: 800;
  word-break: keep-all;
}


/* ==================================================
   V115 핵심 확인 상세 분석
   ================================================== */

.compare-detail-insight-v115 {
  margin-top: 10px;
}

.compare-detail-insight-title-v115 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  padding-left: 9px;
  border-left: 3px solid #467ea2;
}

.compare-detail-insight-title-v115 b {
  color: #2e5169;
  font-size: 14px;
  font-weight: 900;
}

.compare-detail-insight-title-v115 span {
  color: #7b8e99;
  font-size: 10.5px;
}

.compare-detail-grid-v115 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}

.compare-detail-grid-v115 article {
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #dfe7ec;
  border-radius: 11px;
  background: #fafcfd;
}

.compare-detail-grid-v115 article.warn {
  background: #fff8f2;
  border-color: #f2dfcd;
}

.compare-detail-grid-v115 article.good {
  background: #f3faf6;
  border-color: #d8eadf;
}

.compare-detail-grid-v115 article > span {
  display: block;
  margin-bottom: 6px;
  color: #6c8391;
  font-size: 10.5px;
  font-weight: 900;
}

.compare-detail-grid-v115 article.warn > span {
  color: #a8652e;
}

.compare-detail-grid-v115 article.good > span {
  color: #377c5a;
}

.compare-detail-grid-v115 article > b {
  display: block;
  color: #36576b;
  font-size: 11.5px;
  line-height: 1.55;
  font-weight: 900;
}

.compare-detail-grid-v115 article > p {
  margin: 5px 0 0;
  color: #6d818d;
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 700;
}

.compare-one-line-v115 {
  margin-top: 8px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #edf5fb;
  border-left: 3px solid #3f82aa;
}

.compare-one-line-v115 span {
  display: block;
  margin-bottom: 4px;
  color: #36779f;
  font-size: 10.5px;
  font-weight: 900;
}

.compare-one-line-v115 b {
  display: block;
  color: #31566d;
  font-size: 11.8px;
  line-height: 1.55;
  font-weight: 900;
}

/* 표의 파생행 용어가 길어도 한눈에 읽히게 */
.compare-count-table-v108 tbody tr.notfinal-row th {
  min-width: 170px;
}

@media (max-width: 820px) {
  .compare-detail-grid-v115 {
    grid-template-columns: 1fr;
  }

  .compare-detail-insight-title-v115 {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
}


/* ==================================================
   V116 3개 이상 완료기수 - 최근 2개 결과요약 공통 표시
   ================================================== */
.compare-recent-summary-v116 {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e4ebef;
}


/* ==================================================
   V117 모든 강사 결과요약 통일 + 다기수 표 가독성 확대
   ================================================== */

/* 기수별 비교표: 기수가 많아도 숫자가 작아지지 않게 */
.compare-table-v105 th,
.compare-table-v105 td {
  padding: 10px 8px;
  font-size: 11.5px;
  line-height: 1.35;
}

.compare-table-v105 thead th {
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  word-break: keep-all;
}

.compare-table-v105 thead th:first-child,
.compare-table-v105 tbody th {
  width: 145px;
  min-width: 145px;
}

.compare-table-v105 tbody th {
  font-size: 11.5px;
}

.compare-table-v105 td {
  font-size: 12.5px;
  font-weight: 900;
  white-space: nowrap;
}

.compare-table-v105 thead th.latest small {
  margin-top: 3px;
  font-size: 8.8px;
}

.best-mark-v105 {
  margin-top: 3px;
  font-size: 8.5px;
}

/* 스크롤이 생기는 표임을 시각적으로 너무 답답하지 않게 */
.compare-table-wrap-v105 {
  scrollbar-width: thin;
}

@media (max-width: 700px) {
  .compare-table-v105 th,
  .compare-table-v105 td {
    padding: 9px 7px;
  }

  .compare-table-v105 td {
    font-size: 12px;
  }

  .compare-table-v105 tbody th,
  .compare-table-v105 thead th {
    font-size: 10.8px;
  }
}


/* ==================================================
   V118 기수별 결과 요약 - 모든 완료기수 표시
   ================================================== */

.compare-result-cards-v110 {
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
}

.compare-result-cards-v110 article {
  min-width: 0;
}

.compare-result-cards-v110 article > span {
  font-size: 10.5px;
}

.compare-result-cards-v110 article > strong {
  font-size: 12.5px;
}

.compare-result-cards-v110 article > b {
  font-size: 12px;
}

@media (max-width: 620px) {
  .compare-result-cards-v110 {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V119 기수별 비교표 - 최고/최저 표시 + 최근 무색 처리
   ================================================== */

/* 기존 latest 파란 강조를 사용하지 않음 */
.compare-table-v105 th.latest,
.compare-table-v105 td.latest,
.compare-table-v105 .latest {
  background: inherit !important;
  color: inherit !important;
  box-shadow: none !important;
}

/* 최근 기수는 색을 넣지 않고 글자만 표시 */
.recent-head-v119 {
  display: block;
  margin-top: 3px;
  color: #7d8f9a;
  font-size: 8.8px;
  font-weight: 900;
}

.compare-table-v105 td.latest-plain {
  font-weight: 900;
}

/* 최고 */
.compare-table-v105 td.best {
  background: #eef8f2 !important;
  color: #247a56 !important;
  box-shadow: inset 0 0 0 1px #d5eadf;
  font-weight: 900;
}

/* 최저 */
.compare-table-v105 td.worst {
  background: #fff4e8 !important;
  color: #a96122 !important;
  box-shadow: inset 0 0 0 1px #f1dcc5;
  font-weight: 900;
}

/* 같은 값이 최고/최저로 겹치는 경우는 최고 우선 */
.compare-table-v105 td.best.worst {
  background: #eef8f2 !important;
  color: #247a56 !important;
  box-shadow: inset 0 0 0 1px #d5eadf;
}

.compare-cell-marks-v119 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin-top: 3px;
  min-height: 12px;
  line-height: 1;
}

.compare-cell-marks-v119 small {
  display: inline;
  margin: 0;
  font-size: 8.5px;
  font-weight: 900;
}

.recent-mark-v119 {
  color: #7d8f9a;
}

.best-mark-v105 {
  display: inline;
  margin: 0;
  color: #2f8a62;
  font-size: 8.5px;
}

.worst-mark-v119 {
  color: #bb6b28;
}

.mark-dot-v119 {
  color: #a2afb7;
  font-size: 8px;
  font-weight: 900;
}

@media (max-width: 700px) {
  .compare-cell-marks-v119 small {
    font-size: 8.2px;
  }

  .recent-head-v119 {
    font-size: 8.4px;
  }
}


/* ==================================================
   V120 비교표 - 최근 글자 제거
   ================================================== */
.recent-head-v119,
.recent-mark-v119 {
  display: none !important;
}


/* ==================================================
   V121 고급형 기수별 비교표
   - 위쪽 추이 그래프와 중복을 피하기 위해 별도 미니그래프는 추가하지 않음
   - 셀 전체 색칠 대신 큰 숫자 + 작은 최고/최저 배지
   ================================================== */

.compare-table-wrap-v105 {
  border: 1px solid #e3e9ed;
  border-radius: 14px;
  background: #ffffff;
  overflow-x: auto;
  box-shadow: 0 2px 10px rgba(44, 74, 92, 0.035);
}

.compare-table-v105 {
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
}

.compare-table-v105 thead th {
  background: #f7f9fa !important;
  color: #687f8d !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  padding: 12px 9px !important;
  border-right: 1px solid #edf1f3;
  border-bottom: 1px solid #e5ebee;
}

.compare-table-v105 thead th:first-child {
  border-top-left-radius: 13px;
}

.compare-table-v105 thead th:last-child {
  border-top-right-radius: 13px;
  border-right: 0;
}

.compare-table-v105 tbody th {
  background: #fbfcfd !important;
  color: #35566a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  padding: 13px 11px !important;
  border-right: 1px solid #edf1f3;
  border-bottom: 1px solid #edf1f3;
}

.compare-table-v105 td {
  position: relative;
  background: #ffffff !important;
  color: #496a7d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  padding: 12px 9px 10px !important;
  border-right: 1px solid #edf1f3;
  border-bottom: 1px solid #edf1f3;
}

.compare-table-v105 tr:last-child th,
.compare-table-v105 tr:last-child td {
  border-bottom: 0;
}

.compare-table-v105 th:last-child,
.compare-table-v105 td:last-child {
  border-right: 0;
}

/* 셀 전체 색칠 제거 */
.compare-table-v105 td.best,
.compare-table-v105 td.worst,
.compare-table-v105 td.best.worst {
  background: #ffffff !important;
  box-shadow: none !important;
}

/* 숫자만 의미색 */
.compare-table-v105 td.best {
  color: #207657 !important;
}

.compare-table-v105 td.worst {
  color: #a95f22 !important;
}

/* 최고/최저는 작은 배지 */
.compare-cell-marks-v119 {
  margin-top: 5px !important;
  min-height: 17px !important;
}

.compare-cell-marks-v119 .best-mark-v105,
.compare-cell-marks-v119 .worst-mark-v119 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 17px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 8.5px !important;
  font-weight: 900 !important;
  letter-spacing: -0.1px;
}

.compare-cell-marks-v119 .best-mark-v105 {
  background: #eaf6ef;
  color: #247857;
}

.compare-cell-marks-v119 .worst-mark-v119 {
  background: #fff0e3;
  color: #ad6325;
}

.compare-table-v105 td.best.worst .worst-mark-v119 {
  display: none !important;
}

.mark-dot-v119 {
  display: none !important;
}

@media (max-width: 700px) {
  .compare-table-v105 td {
    font-size: 13.2px !important;
    padding: 11px 8px 9px !important;
  }

  .compare-table-v105 tbody th {
    font-size: 11.4px !important;
  }

  .compare-table-v105 thead th {
    font-size: 10.8px !important;
  }
}


/* ==================================================
   V122 1~2기수 실제 인원표 - 색 최소화
   ================================================== */

.compare-count-table-wrap-v108 {
  background: #ffffff !important;
  border: 1px solid #e3e9ed !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 10px rgba(44, 74, 92, 0.03);
}

.compare-count-table-v108 thead th {
  background: #f7f9fa !important;
  color: #6b7f8d !important;
}

.compare-count-table-v108 tbody th {
  background: #fbfcfd !important;
  color: #36566a !important;
}

.compare-count-table-v108 td {
  background: #ffffff !important;
  color: #405f72 !important;
}

/* 최근 열의 파란 배경/강한 파란색 제거 */
.compare-count-table-v108 .latest,
.compare-count-table-v108 thead th.latest,
.compare-count-table-v108 tbody td.latest {
  background: #ffffff !important;
  color: #405f72 !important;
}

.compare-count-table-v108 thead th.latest {
  background: #f7f9fa !important;
  color: #5e7787 !important;
}

.compare-count-table-v108 thead th.latest small {
  color: #8a9aa3 !important;
}

/* 일반 단계는 중성톤 */
.compare-count-table-v108 tbody tr:not(.result-row):not(.notfinal-row) th,
.compare-count-table-v108 tbody tr:not(.result-row):not(.notfinal-row) td {
  background: #ffffff !important;
}

/* 고등종강: 배경색 없이 초록 텍스트만 */
.compare-count-table-v108 tbody tr.result-row th,
.compare-count-table-v108 tbody tr.result-row td,
.compare-count-table-v108 tbody tr.result-row td.latest {
  background: #ffffff !important;
}

.compare-count-table-v108 tbody tr.result-row th {
  color: #2d6f55 !important;
  box-shadow: inset 3px 0 0 #cfe7d8;
}

.compare-count-table-v108 tbody tr.result-row td {
  color: #2b7958 !important;
  font-weight: 900 !important;
}

/* 탈락 포함 전체 이탈 인원: 배경색 없이 주황 텍스트만 */
.compare-count-table-v108 tbody tr.notfinal-row th,
.compare-count-table-v108 tbody tr.notfinal-row td,
.compare-count-table-v108 tbody tr.notfinal-row td.latest {
  background: #ffffff !important;
}

.compare-count-table-v108 tbody tr.notfinal-row th {
  color: #9b632c !important;
  box-shadow: inset 3px 0 0 #f1ddc3;
}

.compare-count-table-v108 tbody tr.notfinal-row td {
  color: #a76524 !important;
  font-weight: 900 !important;
}

.derived-label-v111 {
  color: #8e8a82 !important;
  font-size: 9.5px !important;
}

.compare-section-head-v107 em {
  color: #8b9aa3 !important;
  font-size: 9.8px !important;
  font-weight: 800 !important;
}


/* ==================================================
   V123 완료기수 1개 전용 화면
   ================================================== */

.single-cohort-section-v123 {
  margin-top: 12px;
}

.single-metric-grid-v123 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.single-metric-card-v123 {
  padding: 13px 14px;
  border: 1px solid #e2e9ed;
  border-radius: 12px;
  background: #ffffff;
}

.single-metric-card-v123 > span {
  display: block;
  color: #647b89;
  font-size: 10.5px;
  font-weight: 900;
}

.single-metric-card-v123 > b {
  display: block;
  margin-top: 7px;
  color: #345c73;
  font-size: 20px;
  font-weight: 900;
}

.single-metric-track-v123 {
  height: 7px;
  margin-top: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f3;
}

.single-metric-fill-v123 {
  height: 100%;
  border-radius: inherit;
  background: #6e98b0;
}

.single-count-table-wrap-v123 {
  overflow: hidden;
  border: 1px solid #e3e9ed;
  border-radius: 14px;
  background: #ffffff;
}

.single-count-table-v123 {
  width: 100%;
  border-collapse: collapse;
}

.single-count-table-v123 th,
.single-count-table-v123 td {
  padding: 13px 14px;
  border-right: 1px solid #edf1f3;
  border-bottom: 1px solid #edf1f3;
}

.single-count-table-v123 th:last-child,
.single-count-table-v123 td:last-child {
  border-right: 0;
}

.single-count-table-v123 tr:last-child th,
.single-count-table-v123 tr:last-child td {
  border-bottom: 0;
}

.single-count-table-v123 thead th {
  background: #f7f9fa;
  color: #697f8c;
  font-size: 11.5px;
  font-weight: 900;
  text-align: center;
}

.single-count-table-v123 thead th:first-child {
  width: 48%;
  text-align: left;
}

.single-count-table-v123 tbody th {
  background: #fbfcfd;
  color: #38586b;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
}

.single-count-table-v123 tbody th small {
  display: block;
  margin-top: 3px;
  color: #8c8f91;
  font-size: 9.2px;
  line-height: 1.35;
}

.single-count-table-v123 tbody td {
  color: #405f72;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

.single-count-table-v123 tbody tr.result-row th {
  color: #2d6f55;
  box-shadow: inset 3px 0 0 #cfe7d8;
}

.single-count-table-v123 tbody tr.result-row td {
  color: #2b7958;
}

.single-count-table-v123 tbody tr.notfinal-row th {
  color: #9b632c;
  box-shadow: inset 3px 0 0 #f1ddc3;
}

.single-count-table-v123 tbody tr.notfinal-row td {
  color: #a76524;
}

.single-cohort-summary-v123 {
  margin-top: 13px;
}

.single-summary-card-v123 {
  padding: 13px 15px;
  border: 1px solid #dfe7ec;
  border-radius: 12px;
  background: #ffffff;
}

.single-summary-card-v123 > span {
  display: block;
  color: #7b8e99;
  font-size: 10.5px;
  font-weight: 900;
}

.single-summary-card-v123 > strong {
  display: block;
  margin-top: 5px;
  color: #3f6074;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 900;
}

.single-summary-card-v123 > b {
  display: block;
  margin-top: 5px;
  color: #2f7199;
  font-size: 12.5px;
  font-weight: 900;
}

.single-cohort-note-v123 {
  margin-top: 8px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #f5f8fa;
  border-left: 3px solid #849aa7;
}

.single-cohort-note-v123 > span {
  display: block;
  margin-bottom: 4px;
  color: #728895;
  font-size: 10.5px;
  font-weight: 900;
}

.single-cohort-note-v123 > b {
  display: block;
  color: #405f72;
  font-size: 11.8px;
  line-height: 1.5;
  font-weight: 900;
}

.single-cohort-note-v123 > p {
  margin: 4px 0 0;
  color: #778b97;
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 700;
}

@media (max-width: 780px) {
  .single-metric-grid-v123 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .single-metric-grid-v123 {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V126 메인 Hero - A안 기반 + 몽골 분위기 강화
   ================================================== */

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  min-height: 330px;
  padding: 26px 22px 20px;
  border-radius: 0 0 28px 28px;
  background:
    radial-gradient(circle at 82% 18%, rgba(102, 201, 255, .22), transparent 34%),
    linear-gradient(135deg, #075695 0%, #0d76bd 55%, #2498dd 100%);
  box-shadow: 0 10px 28px rgba(22, 105, 164, .13);
}

/* 몽골 지도 + 초원 + 게르 이미지를 오른쪽 워터마크처럼 배치 */
.hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 58%;
  height: 78%;
  background-image:
    linear-gradient(90deg, rgba(8, 91, 149, .95) 0%, rgba(8, 104, 168, .28) 30%, rgba(8, 104, 168, .04) 100%),
    url("/static/mongolia_hero_art.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: .78;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.52) 20%, #000 48%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.52) 20%, #000 48%, #000 100%);
  pointer-events: none;
}

/* 하단 초원/바람 느낌 곡선 */
.hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: -7%;
  right: -7%;
  bottom: -72px;
  height: 142px;
  border-radius: 50% 50% 0 0 / 65% 65% 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  transform: rotate(-2deg);
  pointer-events: none;
}

.hero > * {
  position: relative;
  z-index: 2;
}

.hero-top {
  align-items: center;
  gap: 16px;
}

.brand-mark {
  width: 60px;
  height: 60px;
  border-radius: 19px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter: blur(8px);
}

.hero h1 {
  font-size: clamp(26px, 5vw, 38px);
  text-shadow: 0 2px 8px rgba(0, 44, 85, .12);
}

.hero-top p {
  color: rgba(255,255,255,.87);
  font-weight: 750;
}

.hero-copy {
  max-width: 76%;
  margin-top: 26px;
}

.hero-copy strong {
  font-size: 18px;
  letter-spacing: -.02em;
}

.hero-copy p {
  margin-top: 8px;
  color: rgba(255,255,255,.9);
  line-height: 1.65;
}

.feature-row {
  margin-top: 20px;
  gap: 9px;
}

.feature-row div {
  min-height: 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 15px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 4px 16px rgba(0, 74, 125, .08);
  backdrop-filter: blur(8px);
}

.feature-row b {
  font-size: 13.5px;
}

.feature-row span {
  color: rgba(255,255,255,.78);
}

/* 모바일에서는 배경 이미지를 더 은은하게 하여 텍스트 가독성 우선 */
@media (max-width: 560px) {
  .hero {
    min-height: auto;
    padding: 22px 16px 18px;
  }

  .hero::before {
    width: 78%;
    height: 68%;
    opacity: .42;
    background-position: 64% center;
  }

  .hero-copy {
    max-width: 100%;
    margin-top: 22px;
  }

  .hero-copy strong {
    font-size: 16.5px;
  }

  .feature-row {
    grid-template-columns: 1fr 1fr;
  }

  .feature-row div {
    min-height: 66px;
  }
}


/* ==================================================
   V127 Hero 배경 글자 흔적 제거
   ================================================== */

/* 126단계 시안 배경에서 텍스트가 비치던 문제 수정 */
.hero::before {
  width: 55% !important;
  height: 78% !important;
  background-position: center right !important;
  opacity: .76 !important;
}


/* ==================================================
   V129 종강·탈락 분석 - 초등/중등/2차개강 종강률 비교
   ================================================== */

.completion-performance-card-v129 .performance-card-head {
  padding-bottom: 9px;
  border-bottom: 1px solid #e4edf3;
}

.completion-performance-card-v129 .performance-card-head b {
  font-size: 13px;
  color: #294c67;
}

.completion-stage-list-v129 {
  display: grid;
  gap: 0;
}

.completion-stage-row-v129 {
  padding: 11px 0;
  border-bottom: 1px solid #e8eff4;
}

.completion-stage-row-v129:last-child {
  border-bottom: 0;
  padding-bottom: 2px;
}

.completion-stage-head-v129 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.completion-stage-head-v129 b {
  color: #47677b;
  font-size: 11.5px;
  font-weight: 900;
}

.completion-stage-head-v129 strong {
  color: #1768a2;
  font-size: 16px;
  font-weight: 900;
}

.completion-stage-sub-v129 {
  margin-top: 3px;
  color: #8496a2;
  font-size: 9.8px;
  font-weight: 700;
}

.completion-stage-bar-v129 {
  margin-top: 7px;
  height: 6px;
}

/* 세 단계 중 순서가 자연스럽게 읽히도록 단계별 포인트를 아주 약하게 */
.completion-stage-row-v129:nth-child(1) .completion-stage-bar-v129 span {
  opacity: .72;
}

.completion-stage-row-v129:nth-child(2) .completion-stage-bar-v129 span {
  opacity: .84;
}

.completion-stage-row-v129:nth-child(3) .completion-stage-bar-v129 span {
  opacity: 1;
}

@media (max-width: 680px) {
  .completion-stage-head-v129 b {
    font-size: 11px;
  }

  .completion-stage-head-v129 strong {
    font-size: 15px;
  }
}


/* ==================================================
   V133 탈락·유급 기록 - 탈락 계산식 한눈 보기
   ================================================== */

.record-card-v133 {
  padding: 14px;
}

.record-card-head-v133 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e3edf4;
}

.record-card-head-v133 > b {
  color: #234e6e;
  font-size: 12.5px;
}

.record-card-head-v133 > div {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.record-card-head-v133 small {
  color: #70889a;
  font-size: 10px;
  font-weight: 800;
}

.record-card-head-v133 strong {
  color: #143f61;
  font-size: 20px;
  font-weight: 900;
}

.dropout-formula-v133 {
  margin-top: 11px;
  padding: 10px 10px 9px;
  border: 1px solid #dce8f1;
  border-radius: 11px;
  background: #ffffff;
}

.dropout-formula-title-v133 {
  margin-bottom: 8px;
  color: #6a8295;
  font-size: 9.5px;
  font-weight: 850;
}

.dropout-formula-line-v133 {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.dropout-formula-line-v133 > span {
  min-width: 42px;
  display: grid;
  gap: 2px;
}

.dropout-formula-line-v133 small {
  color: #8294a1;
  font-size: 8.5px;
  font-weight: 750;
  white-space: nowrap;
}

.dropout-formula-line-v133 b {
  color: #315a77;
  font-size: 13px;
  font-weight: 900;
}

.dropout-formula-line-v133 i {
  color: #8094a3;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.dropout-formula-result-v133 {
  padding-left: 6px;
  border-left: 1px solid #d9e5ed;
}

.dropout-formula-result-v133 b {
  color: #0d659e;
  font-size: 15px;
}

.dropout-formula-check-v133 {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px dashed #e1e9ef;
  color: #547b66;
  font-size: 9px;
  font-weight: 800;
}

.dropout-formula-check-v133.warning {
  color: #a76835;
}

.dropout-formula-empty-v133 {
  color: #8798a4;
  font-size: 10px;
}

.record-values-v133 {
  margin-top: 9px;
}

@media (max-width: 680px) {
  .dropout-formula-line-v133 {
    gap: 4px;
  }

  .dropout-formula-line-v133 > span {
    min-width: 38px;
  }

  .dropout-formula-line-v133 small {
    font-size: 8px;
  }

  .dropout-formula-line-v133 b {
    font-size: 12px;
  }
}


/* ==================================================
   V134 탈락·유급 기록 - 3단계 쉬운 계산
   ================================================== */

.record-card-v134 {
  padding: 14px;
  background: #fbfdff;
}

.record-card-head-v134 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dce8f1;
}

.record-card-head-v134 > b {
  color: #174a70;
  font-size: 14px;
  font-weight: 900;
}

.record-dropout-total-v134 {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.record-dropout-total-v134 small {
  color: #6b8294;
  font-size: 10.5px;
  font-weight: 850;
}

.record-dropout-total-v134 strong {
  color: #0f5e98;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.dropout-easy-v134 {
  display: grid;
  gap: 8px;
  margin-top: 11px;
}

.dropout-easy-v134.unavailable {
  padding: 13px;
  border: 1px solid #dfe9f0;
  border-radius: 12px;
  color: #7d909f;
  font-size: 10.5px;
}

.dropout-step-v134 {
  padding: 10px 11px;
  border: 1px solid #dde8f0;
  border-radius: 12px;
  background: #fff;
}

.dropout-step-title-v134,
.dropout-final-title-v134 {
  display: flex;
  align-items: center;
  gap: 7px;
}

.dropout-step-title-v134 > span,
.dropout-final-title-v134 > span {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf3fa;
  color: #286990;
  font-size: 9px;
  font-weight: 900;
}

.dropout-step-title-v134 b,
.dropout-final-title-v134 b {
  color: #365e79;
  font-size: 11px;
  font-weight: 900;
}

.dropout-step-equation-v134,
.dropout-final-equation-v134 {
  display: grid;
  grid-template-columns: minmax(52px, 1fr) 18px minmax(52px, 1fr) 18px minmax(60px, 1fr);
  align-items: center;
  gap: 2px;
  margin-top: 8px;
  text-align: center;
}

.dropout-step-equation-v134 strong,
.dropout-step-equation-v134 em {
  color: #164f77;
  font-size: 17px;
  font-style: normal;
  font-weight: 950;
}

.dropout-step-equation-v134 em {
  color: #0d659e;
}

.dropout-step-equation-v134 i,
.dropout-final-equation-v134 i {
  color: #7b8f9e;
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}

.dropout-step-labels-v134 {
  display: grid;
  grid-template-columns: minmax(52px, 1fr) 18px minmax(52px, 1fr) 18px minmax(60px, 1fr);
  gap: 2px;
  margin-top: 2px;
  text-align: center;
}

.dropout-step-labels-v134 span:nth-child(1) { grid-column: 1; }
.dropout-step-labels-v134 span:nth-child(2) { grid-column: 3; }
.dropout-step-labels-v134 span:nth-child(3) { grid-column: 5; }

.dropout-step-labels-v134 span {
  color: #8698a5;
  font-size: 8.5px;
  font-weight: 750;
}

.dropout-final-v134 {
  padding: 11px;
  border: 1px solid #cfe1ee;
  border-radius: 12px;
  background: #f3f9fd;
}

.dropout-final-equation-v134 span {
  color: #365f7b;
  font-size: 16px;
  font-weight: 900;
}

.dropout-final-equation-v134 strong {
  color: #0a63a0;
  font-size: 22px;
  font-weight: 950;
}

.dropout-final-caption-v134 {
  margin-top: 6px;
  color: #6f8798;
  font-size: 9px;
  line-height: 1.42;
  text-align: center;
}

.dropout-match-v134 {
  padding-top: 1px;
  color: #477861;
  font-size: 9px;
  font-weight: 850;
  text-align: center;
}

.dropout-match-v134.warning {
  color: #a56b38;
}

@media (max-width: 680px) {
  .record-card-v134 {
    padding: 13px;
  }

  .record-card-head-v134 > b {
    font-size: 13px;
  }

  .record-dropout-total-v134 strong {
    font-size: 22px;
  }

  .dropout-step-equation-v134 strong,
  .dropout-step-equation-v134 em,
  .dropout-final-equation-v134 span {
    font-size: 15px;
  }

  .dropout-final-equation-v134 strong {
    font-size: 20px;
  }
}


/* ==================================================
   V136 종강·탈락 분석 - 높음/낮음 색상 구분
   ================================================== */

/* 다른 센터보다 높음: 초록 */
.completion-kpi.cumulative.high {
  border-top-color: #2d8a62;
}

.completion-kpi.cumulative.high .completion-kpi-value,
.completion-kpi.cumulative.high .completion-kpi-detail {
  color: #237653;
}

/* 다른 센터보다 낮음: 주황 */
.completion-kpi.cumulative.low {
  border-top-color: #d98227;
}

.completion-kpi.cumulative.low .completion-kpi-value,
.completion-kpi.cumulative.low .completion-kpi-detail {
  color: #bd681f;
}

/* 비교가 거의 같은 경우는 문구 없이 기존 파란색 숫자만 유지 */


/* ==================================================
   V138 핵심진단 - 누적 기준 안내
   ================================================== */

.overview-cumulative-note-v138 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 9px;
  padding: 10px 12px;
  border: 1px solid #dce8f1;
  border-radius: 11px;
  background: #f8fbfd;
  color: #60798b;
  font-size: 10.5px;
  line-height: 1.5;
}

.overview-cumulative-note-v138 b {
  flex: 0 0 auto;
  color: #2a6287;
  font-size: 10.5px;
  font-weight: 900;
}

.overview-cumulative-note-v138 span {
  min-width: 0;
}

@media (max-width: 680px) {
  .overview-cumulative-note-v138 {
    display: block;
  }

  .overview-cumulative-note-v138 b {
    display: block;
    margin-bottom: 3px;
  }
}


/* ==================================================
   V139 핵심진단 - 누적 기준 안내 강조
   ================================================== */

.overview-cumulative-notice-v139 {
  margin: 12px 0 14px;
  padding: 14px 16px;
  border: 1px solid #c8ddeb;
  border-left: 5px solid #2d82bd;
  border-radius: 12px;
  background: #eef7fd;
  box-shadow: 0 4px 10px rgba(34, 97, 140, .06);
}

.overview-cumulative-notice-title-v139 {
  color: #17689d;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}

.overview-cumulative-notice-text-v139 {
  margin-top: 5px;
  color: #294f69;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.6;
}

.overview-cumulative-notice-text-v139 b {
  color: #0e5788;
  font-weight: 950;
}

@media (max-width: 680px) {
  .overview-cumulative-notice-v139 {
    padding: 13px 14px;
  }

  .overview-cumulative-notice-title-v139 {
    font-size: 12.5px;
  }

  .overview-cumulative-notice-text-v139 {
    font-size: 13px;
  }
}


/* ==================================================
   V140 핵심진단 - 누적 그래프 및 기준 안내 강화
   ================================================== */

.overview-cumulative-notice-v139 {
  margin: 14px 0 16px;
  padding: 17px 18px;
  border-left-width: 6px;
}

.overview-cumulative-notice-title-v139 {
  font-size: 15px;
}

.overview-cumulative-notice-text-v139 {
  margin-top: 7px;
  font-size: 15px;
  line-height: 1.65;
}

.overview-cumulative-chart-v140 {
  display: grid;
  gap: 14px;
  margin: 0 0 18px;
  padding: 17px 18px;
  border: 1px solid #d8e6f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(26, 78, 118, .045);
}

.overview-cumulative-chart-head-v140 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 2px;
}

.overview-cumulative-chart-head-v140 b {
  color: #17486b;
  font-size: 15px;
  font-weight: 950;
}

.overview-cumulative-chart-head-v140 span {
  color: #748b9d;
  font-size: 11px;
  font-weight: 750;
}

.overview-cumulative-row-v140 {
  min-width: 0;
}

.overview-cumulative-row-head-v140 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.overview-cumulative-row-head-v140 b {
  color: #294e69;
  font-size: 13px;
  font-weight: 900;
}

.overview-cumulative-row-head-v140 strong {
  color: #12689f;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.025em;
}

.overview-cumulative-bar-v140 {
  overflow: hidden;
  height: 13px;
  margin-top: 7px;
  border-radius: 999px;
  background: #e7eff5;
}

.overview-cumulative-bar-v140 span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4b99cc, #247bb5);
}

.overview-cumulative-row-v140 small {
  display: block;
  margin-top: 5px;
  color: #8798a4;
  font-size: 10px;
}

@media (max-width: 680px) {
  .overview-cumulative-notice-title-v139 {
    font-size: 14px;
  }

  .overview-cumulative-notice-text-v139 {
    font-size: 14px;
  }

  .overview-cumulative-chart-v140 {
    padding: 15px 14px;
  }

  .overview-cumulative-chart-head-v140 {
    display: block;
  }

  .overview-cumulative-chart-head-v140 span {
    display: block;
    margin-top: 3px;
  }

  .overview-cumulative-row-head-v140 b {
    font-size: 12.5px;
  }

  .overview-cumulative-row-head-v140 strong {
    font-size: 19px;
  }
}


/* ==================================================
   V141 핵심진단 - 누적 비율 비교 그래프 가독성 강화
   ================================================== */

.overview-cumulative-chart-head-v141 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 3px;
}

.overview-cumulative-chart-head-v141 > div:first-child {
  min-width: 0;
}

.overview-cumulative-chart-head-v141 b {
  display: block;
  color: #17486b;
  font-size: 15px;
  font-weight: 950;
}

.overview-cumulative-chart-head-v141 span {
  display: block;
  margin-top: 3px;
  color: #748b9d;
  font-size: 11px;
  font-weight: 750;
}

.overview-gap-summary-v141 {
  flex: 0 0 auto;
  min-width: 110px;
  padding: 8px 11px;
  border: 1px solid #d7e5ef;
  border-radius: 11px;
  background: #f6fafc;
  text-align: right;
}

.overview-gap-summary-v141 small {
  display: block;
  color: #6f8799;
  font-size: 9px;
  font-weight: 800;
}

.overview-gap-summary-v141 strong {
  display: block;
  margin-top: 2px;
  color: #0f659d;
  font-size: 19px;
  font-weight: 950;
}

.overview-cumulative-row-v141 {
  min-width: 0;
}

.overview-cumulative-row-head-v141 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.overview-cumulative-row-head-v141 > b {
  color: #294e69;
  font-size: 13px;
  font-weight: 900;
}

.overview-cumulative-values-v141 {
  display: flex;
  align-items: baseline;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.overview-cumulative-values-v141 > strong {
  color: #12689f;
  font-size: 21px;
  font-weight: 950;
  letter-spacing: -.025em;
}

.overview-cumulative-values-v141 > span {
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.overview-cumulative-values-v141 > span.top {
  color: #277454;
}

.overview-cumulative-values-v141 > span.gap {
  color: #b96725;
}

.overview-cumulative-bar-v141 {
  overflow: hidden;
  height: 15px;
  margin-top: 7px;
  border-radius: 999px;
  background: #e7eff5;
}

.overview-cumulative-bar-v141 span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4b99cc, #247bb5);
}

.overview-cumulative-row-v141:nth-of-type(2) .overview-cumulative-bar-v141 span {
  background: linear-gradient(90deg, #4b99cc, #247bb5);
}

.overview-cumulative-row-v141:nth-of-type(3) .overview-cumulative-bar-v141 span,
.overview-cumulative-row-v141:nth-of-type(4) .overview-cumulative-bar-v141 span {
  background: linear-gradient(90deg, #5ba3d1, #2e83ba);
}

.overview-cumulative-insight-v141 {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 2px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #f5f9fc;
  color: #537086;
  font-size: 11px;
  line-height: 1.55;
}

.overview-cumulative-insight-v141 > b {
  flex: 0 0 auto;
  color: #1f638f;
  font-size: 11px;
  font-weight: 950;
}

.overview-cumulative-insight-v141 strong {
  color: #174e74;
  font-weight: 950;
}

@media (max-width: 680px) {
  .overview-cumulative-chart-head-v141 {
    align-items: flex-start;
  }

  .overview-gap-summary-v141 {
    min-width: 94px;
  }

  .overview-gap-summary-v141 strong {
    font-size: 17px;
  }

  .overview-cumulative-row-head-v141 {
    align-items: flex-start;
  }

  .overview-cumulative-values-v141 {
    gap: 5px;
  }

  .overview-cumulative-values-v141 > strong {
    font-size: 19px;
  }

  .overview-cumulative-insight-v141 {
    display: block;
  }

  .overview-cumulative-insight-v141 > b {
    display: block;
    margin-bottom: 3px;
  }
}


/* ==================================================
   V142 핵심진단 - 카드형 비교 그래프
   ================================================== */

.overview-cumulative-chart-head-v142 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 4px;
}

.overview-cumulative-chart-head-v142 > div:first-child {
  min-width: 0;
}

.overview-cumulative-chart-head-v142 b {
  display: block;
  color: #17486b;
  font-size: 15px;
  font-weight: 950;
}

.overview-cumulative-chart-head-v142 span {
  display: block;
  margin-top: 3px;
  color: #6f8799;
  font-size: 11px;
  font-weight: 800;
}

.overview-gap-summary-v142 {
  flex: 0 0 auto;
  min-width: 110px;
  padding: 8px 11px;
  border: 1px solid #d7e5ef;
  border-radius: 11px;
  background: #f6fafc;
  text-align: right;
}

.overview-gap-summary-v142 small {
  display: block;
  color: #6f8799;
  font-size: 9px;
  font-weight: 800;
}

.overview-gap-summary-v142 strong {
  display: block;
  margin-top: 2px;
  color: #0f659d;
  font-size: 19px;
  font-weight: 950;
}

.overview-cumulative-grid-v142 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.overview-cumulative-card-v142 {
  min-width: 0;
  padding: 14px 14px 13px;
  border: 1px solid #d8e5ee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(20, 61, 92, .02);
}

.overview-cumulative-card-head-v142 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.overview-cumulative-card-head-v142 > b {
  color: #224766;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}

.overview-cumulative-card-head-v142 > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.overview-cumulative-card-head-v142 > span.top {
  background: #e7f6ed;
  color: #23724f;
}

.overview-cumulative-card-head-v142 > span.gap {
  background: #fff2e7;
  color: #b96725;
}

.overview-cumulative-card-head-v142 > span.empty {
  background: #edf3f7;
  color: #6f8799;
}

.overview-cumulative-card-value-v142 {
  margin-top: 8px;
}

.overview-cumulative-card-value-v142 strong {
  color: #0f659d;
  font-size: 31px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.overview-cumulative-compare-row-v142 {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 54px;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

.overview-cumulative-compare-row-v142 .row-label {
  font-size: 11px;
  font-weight: 900;
}

.overview-cumulative-compare-row-v142 .row-label.current {
  color: #1770ab;
}

.overview-cumulative-compare-row-v142 .row-label.base {
  color: #7c8f9f;
}

.overview-cumulative-compare-row-v142 .row-bar {
  position: relative;
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #e9f0f5;
}

.overview-cumulative-compare-row-v142 .row-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #54a0d1, #287fba);
}

.overview-cumulative-compare-row-v142 .row-bar.base i {
  background: linear-gradient(90deg, #c7d3dc, #a9bbc8);
}

.overview-cumulative-compare-row-v142 .row-number {
  text-align: right;
  color: #36556d;
  font-size: 12px;
  font-weight: 900;
}

.overview-cumulative-card-desc-v142 {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px dashed #dbe7ef;
  color: #4f6d84;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.55;
}

.overview-cumulative-card-empty-v142 {
  margin-top: 10px;
  padding: 12px;
  border-radius: 12px;
  background: #f6fafc;
  color: #6f8799;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.55;
}

.overview-cumulative-insight-v142 {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 2px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #f5f9fc;
  color: #537086;
  font-size: 11px;
  line-height: 1.55;
}

.overview-cumulative-insight-v142 > b {
  flex: 0 0 auto;
  color: #1f638f;
  font-size: 11px;
  font-weight: 950;
}

.overview-cumulative-insight-v142 strong {
  color: #174e74;
  font-weight: 950;
}

@media (max-width: 980px) {
  .overview-cumulative-grid-v142 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .overview-cumulative-chart-head-v142 {
    display: block;
  }

  .overview-gap-summary-v142 {
    width: fit-content;
    min-width: 0;
    margin-top: 8px;
    text-align: left;
  }

  .overview-cumulative-card-v142 {
    padding: 13px 13px 12px;
  }

  .overview-cumulative-card-value-v142 strong {
    font-size: 28px;
  }

  .overview-cumulative-compare-row-v142 {
    grid-template-columns: 30px minmax(0, 1fr) 50px;
    gap: 6px;
  }

  .overview-cumulative-insight-v142 {
    display: block;
  }

  .overview-cumulative-insight-v142 > b {
    display: block;
    margin-bottom: 4px;
  }
}

   ================================================== */

.overview-cumulative-panel-v143 {
  display: grid;
  gap: 16px;
  margin: 0 0 18px;
}

.overview-cumulative-notice-v143 {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid #cfe0ee;
  border-radius: 18px;
  background: #edf6fd;
  box-shadow: 0 5px 14px rgba(24, 88, 134, .05);
}

.overview-cumulative-notice-icon-v143 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(180deg, #2d8dde, #1f71c4);
  color: #fff;
  font-size: 24px;
  font-weight: 950;
  font-family: Georgia, serif;
  box-shadow: 0 8px 18px rgba(40, 118, 185, .16);
}

.overview-cumulative-notice-body-v143 b {
  display: block;
  color: #0d62a3;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.35;
}

.overview-cumulative-notice-body-v143 span {
  display: block;
  margin-top: 6px;
  color: #45647d;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.55;
}

.overview-cumulative-chart-head-v143 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.overview-cumulative-chart-head-v143 > div:first-child {
  min-width: 0;
}

.overview-cumulative-chart-head-v143 b {
  display: block;
  color: #123c6b;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.overview-cumulative-chart-head-v143 span {
  display: block;
  margin-top: 8px;
  color: #5d7891;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.45;
}

.overview-gap-summary-v143 {
  flex: 0 0 auto;
  min-width: 138px;
  padding: 16px 18px;
  border: 1px solid #cfe0ee;
  border-radius: 18px;
  background: #f7fbfe;
  text-align: right;
  box-shadow: 0 4px 10px rgba(22, 76, 118, .04);
}

.overview-gap-summary-v143 small {
  display: block;
  color: #69849b;
  font-size: 14px;
  font-weight: 900;
}

.overview-gap-summary-v143 strong {
  display: block;
  margin-top: 6px;
  color: #0f66a3;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.overview-cumulative-grid-v143 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.overview-cumulative-card-v143 {
  min-width: 0;
  padding: 20px 20px 18px;
  border: 1px solid #d6e5ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(27, 75, 110, .045);
}

.overview-cumulative-card-head-v143 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.overview-cumulative-card-head-v143 > b {
  color: #113f71;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.overview-cumulative-card-head-v143 > span {
  flex: 0 0 auto;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 950;
  white-space: nowrap;
  letter-spacing: -.01em;
}

.overview-cumulative-card-head-v143 > span.up {
  background: #e8f6ee;
  color: #1f8750;
}

.overview-cumulative-card-head-v143 > span.down {
  background: #feeff1;
  color: #d43d4e;
}

.overview-cumulative-card-head-v143 > span.empty {
  background: #edf3f7;
  color: #6f8799;
}

.overview-cumulative-card-value-v143 {
  margin-top: 18px;
}

.overview-cumulative-card-value-v143 strong {
  color: #1273d0;
  font-size: 68px;
  font-weight: 950;
  letter-spacing: -.05em;
  line-height: 1;
}

.overview-cumulative-compare-line-v143 {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 72px;
  gap: 14px;
  align-items: center;
  margin-top: 18px;
}

.overview-cumulative-compare-line-v143 .line-label {
  color: #436178;
  font-size: 15px;
  font-weight: 900;
}

.overview-cumulative-compare-line-v143 .line-label.current {
  color: #284f82;
}

.overview-cumulative-compare-line-v143 .line-bar {
  overflow: hidden;
  height: 18px;
  border-radius: 999px;
  background: #dfeaf2;
}

.overview-cumulative-compare-line-v143 .line-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.overview-cumulative-compare-line-v143 .line-bar.current i {
  background: linear-gradient(90deg, #51a4e0, #1e7ee5);
}

.overview-cumulative-compare-line-v143 .line-bar.benchmark i {
  background: linear-gradient(90deg, #c5d4e0, #a9bdcd);
}

.overview-cumulative-compare-line-v143 .line-number {
  text-align: right;
  color: #153f74;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.02em;
}

.overview-cumulative-summary-v143 {
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 16px;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.overview-cumulative-summary-v143.up {
  background: #edf9f1;
  color: #1c7b49;
}

.overview-cumulative-summary-v143.down {
  background: #fdf1f3;
  color: #d93345;
}

.overview-cumulative-summary-v143.empty {
  background: #f4f8fb;
  color: #69839a;
}

.overview-cumulative-card-empty-v143 {
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  background: #f5f9fc;
  color: #637d93;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.6;
}

.overview-cumulative-insight-v143 {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px 24px;
  border-radius: 20px;
  background: #eef6fc;
  border: 1px solid #d4e4ef;
}

.overview-cumulative-insight-v143 > b {
  flex: 0 0 auto;
  color: #1263a2;
  font-size: 21px;
  font-weight: 950;
}

.overview-cumulative-insight-v143 > span {
  color: #355877;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.58;
}

@media (max-width: 1200px) {
  .overview-cumulative-grid-v143 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .overview-cumulative-notice-v143 {
    align-items: flex-start;
    padding: 16px;
  }

  .overview-cumulative-notice-icon-v143 {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }

  .overview-cumulative-notice-body-v143 b {
    font-size: 16px;
  }

  .overview-cumulative-notice-body-v143 span {
    font-size: 14px;
  }

  .overview-cumulative-chart-head-v143 {
    display: block;
  }

  .overview-cumulative-chart-head-v143 b {
    font-size: 21px;
  }

  .overview-cumulative-chart-head-v143 span {
    font-size: 15px;
  }

  .overview-gap-summary-v143 {
    width: fit-content;
    min-width: 0;
    margin-top: 10px;
    text-align: left;
    padding: 14px 16px;
  }

  .overview-gap-summary-v143 strong {
    font-size: 24px;
  }

  .overview-cumulative-card-v143 {
    padding: 18px 16px 16px;
    border-radius: 18px;
  }

  .overview-cumulative-card-head-v143 {
    display: block;
  }

  .overview-cumulative-card-head-v143 > b {
    font-size: 18px;
  }

  .overview-cumulative-card-head-v143 > span {
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
    padding: 8px 14px;
  }

  .overview-cumulative-card-value-v143 strong {
    font-size: 50px;
  }

  .overview-cumulative-compare-line-v143 {
    grid-template-columns: 88px minmax(0, 1fr) 58px;
    gap: 10px;
    margin-top: 14px;
  }

  .overview-cumulative-compare-line-v143 .line-label {
    font-size: 13px;
  }

  .overview-cumulative-compare-line-v143 .line-bar {
    height: 14px;
  }

  .overview-cumulative-compare-line-v143 .line-number {
    font-size: 16px;
  }

  .overview-cumulative-summary-v143 {
    margin-top: 16px;
    padding: 14px 16px;
    font-size: 17px;
  }

  .overview-cumulative-card-empty-v143 {
    font-size: 14px;
  }

  .overview-cumulative-insight-v143 {
    display: block;
    padding: 18px 16px;
  }

  .overview-cumulative-insight-v143 > b {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
  }

  .overview-cumulative-insight-v143 > span {
    font-size: 15px;
  }
}

/* ==================================================
   V143 핵심진단 - 누적 비율 vs 다른 센터 평균 비교 카드
   ================================================== */

.overview-cumulative-panel-v143 {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
}

.overview-cumulative-notice-v143 {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid #cfe0ee;
  border-radius: 18px;
  background: #edf6fd;
  box-shadow: 0 5px 14px rgba(24, 88, 134, .05);
}

.overview-cumulative-notice-icon-v143 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(180deg, #2d8dde, #1f71c4);
  color: #fff;
  font-size: 19px;
  font-weight: 950;
  font-family: Georgia, serif;
  box-shadow: 0 8px 18px rgba(40, 118, 185, .16);
}

.overview-cumulative-notice-body-v143 b {
  display: block;
  color: #0d62a3;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.35;
}

.overview-cumulative-notice-body-v143 span {
  display: block;
  margin-top: 6px;
  color: #45647d;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.55;
}

.overview-cumulative-chart-head-v143 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.overview-cumulative-chart-head-v143 > div:first-child {
  min-width: 0;
}

.overview-cumulative-chart-head-v143 b {
  display: block;
  color: #123c6b;
  font-size: 19px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.2;
}

.overview-cumulative-chart-head-v143 span {
  display: block;
  margin-top: 8px;
  color: #5d7891;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
}

.overview-gap-summary-v143 {
  flex: 0 0 auto;
  min-width: 138px;
  padding: 12px 14px;
  border: 1px solid #cfe0ee;
  border-radius: 18px;
  background: #f7fbfe;
  text-align: right;
  box-shadow: 0 4px 10px rgba(22, 76, 118, .04);
}

.overview-gap-summary-v143 small {
  display: block;
  color: #69849b;
  font-size: 11px;
  font-weight: 900;
}

.overview-gap-summary-v143 strong {
  display: block;
  margin-top: 6px;
  color: #0f66a3;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.overview-cumulative-grid-v143 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.overview-cumulative-card-v143 {
  min-width: 0;
  padding: 15px 15px 14px;
  border: 1px solid #d6e5ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(27, 75, 110, .045);
}

.overview-cumulative-card-head-v143 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.overview-cumulative-card-head-v143 > b {
  color: #113f71;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.overview-cumulative-card-head-v143 > span {
  flex: 0 0 auto;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
  letter-spacing: -.01em;
}

.overview-cumulative-card-head-v143 > span.up {
  background: #e8f6ee;
  color: #1f8750;
}

.overview-cumulative-card-head-v143 > span.down {
  background: #feeff1;
  color: #d43d4e;
}

.overview-cumulative-card-head-v143 > span.empty {
  background: #edf3f7;
  color: #6f8799;
}

.overview-cumulative-card-value-v143 {
  margin-top: 12px;
}

.overview-cumulative-card-value-v143 strong {
  color: #1273d0;
  font-size: 44px;
  font-weight: 950;
  letter-spacing: -.05em;
  line-height: 1;
}

.overview-cumulative-compare-line-v143 {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 72px;
  gap: 14px;
  align-items: center;
  margin-top: 12px;
}

.overview-cumulative-compare-line-v143 .line-label {
  color: #436178;
  font-size: 12px;
  font-weight: 900;
}

.overview-cumulative-compare-line-v143 .line-label.current {
  color: #284f82;
}

.overview-cumulative-compare-line-v143 .line-bar {
  overflow: hidden;
  height: 13px;
  border-radius: 999px;
  background: #dfeaf2;
}

.overview-cumulative-compare-line-v143 .line-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.overview-cumulative-compare-line-v143 .line-bar.current i {
  background: linear-gradient(90deg, #51a4e0, #1e7ee5);
}

.overview-cumulative-compare-line-v143 .line-bar.benchmark i {
  background: linear-gradient(90deg, #c5d4e0, #a9bdcd);
}

.overview-cumulative-compare-line-v143 .line-number {
  text-align: right;
  color: #153f74;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: -.02em;
}

.overview-cumulative-summary-v143 {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.overview-cumulative-summary-v143.up {
  background: #edf9f1;
  color: #1c7b49;
}

.overview-cumulative-summary-v143.down {
  background: #fdf1f3;
  color: #d93345;
}

.overview-cumulative-summary-v143.empty {
  background: #f4f8fb;
  color: #69839a;
}

.overview-cumulative-card-empty-v143 {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f5f9fc;
  color: #637d93;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.6;
}

.overview-cumulative-insight-v143 {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 15px 17px;
  border-radius: 20px;
  background: #eef6fc;
  border: 1px solid #d4e4ef;
}

.overview-cumulative-insight-v143 > b {
  flex: 0 0 auto;
  color: #1263a2;
  font-size: 20px;
  font-weight: 950;
}

.overview-cumulative-insight-v143 > span {
  color: #355877;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.55;
}

@media (max-width: 1200px) {
  .overview-cumulative-grid-v143 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .overview-cumulative-notice-v143 {
    align-items: flex-start;
    padding: 16px;
  }

  .overview-cumulative-notice-icon-v143 {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }

  .overview-cumulative-notice-body-v143 b {
    font-size: 16px;
  }

  .overview-cumulative-notice-body-v143 span {
    font-size: 14px;
  }

  .overview-cumulative-chart-head-v143 {
    display: block;
  }

  .overview-cumulative-chart-head-v143 b {
    font-size: 21px;
  }

  .overview-cumulative-chart-head-v143 span {
    font-size: 15px;
  }

  .overview-gap-summary-v143 {
    width: fit-content;
    min-width: 0;
    margin-top: 10px;
    text-align: left;
    padding: 14px 16px;
  }

  .overview-gap-summary-v143 strong {
    font-size: 24px;
  }

  .overview-cumulative-card-v143 {
    padding: 18px 16px 16px;
    border-radius: 18px;
  }

  .overview-cumulative-card-head-v143 {
    display: block;
  }

  .overview-cumulative-card-head-v143 > b {
    font-size: 18px;
  }

  .overview-cumulative-card-head-v143 > span {
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
    padding: 8px 14px;
  }

  .overview-cumulative-card-value-v143 strong {
    font-size: 50px;
  }

  .overview-cumulative-compare-line-v143 {
    grid-template-columns: 88px minmax(0, 1fr) 58px;
    gap: 10px;
    margin-top: 14px;
  }

  .overview-cumulative-compare-line-v143 .line-label {
    font-size: 13px;
  }

  .overview-cumulative-compare-line-v143 .line-bar {
    height: 14px;
  }

  .overview-cumulative-compare-line-v143 .line-number {
    font-size: 16px;
  }

  .overview-cumulative-summary-v143 {
    margin-top: 16px;
    padding: 14px 16px;
    font-size: 17px;
  }

  .overview-cumulative-card-empty-v143 {
    font-size: 14px;
  }

  .overview-cumulative-insight-v143 {
    display: block;
    padding: 18px 16px;
  }

  .overview-cumulative-insight-v143 > b {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
  }

  .overview-cumulative-insight-v143 > span {
    font-size: 15px;
  }
}


/* ==================================================
   V145 핵심진단 - 비교 카드 비율 재조정
   - 데스크톱/태블릿에서 3개 카드를 한 줄로 배치
   - 숫자, 배지, 막대, 설명을 기존 화면 비율에 맞게 축소
   ================================================== */

.overview-cumulative-panel-v143 {
  gap: 12px;
}

.overview-cumulative-notice-v143 {
  gap: 12px;
  padding: 13px 15px;
  border-radius: 14px;
}

.overview-cumulative-notice-icon-v143 {
  width: 34px;
  height: 34px;
  font-size: 18px;
}

.overview-cumulative-notice-body-v143 b {
  font-size: 14px;
}

.overview-cumulative-notice-body-v143 span {
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.5;
}

.overview-cumulative-chart-head-v143 {
  gap: 12px;
}

.overview-cumulative-chart-head-v143 b {
  font-size: 18px;
}

.overview-cumulative-chart-head-v143 span {
  margin-top: 4px;
  font-size: 12.5px;
}

.overview-gap-summary-v143 {
  min-width: 102px;
  padding: 10px 12px;
  border-radius: 13px;
}

.overview-gap-summary-v143 small {
  font-size: 10px;
}

.overview-gap-summary-v143 strong {
  margin-top: 2px;
  font-size: 20px;
}

.overview-cumulative-grid-v143 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.overview-cumulative-card-v143 {
  padding: 14px 14px 13px;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(27, 75, 110, .035);
}

.overview-cumulative-card-head-v143 {
  gap: 8px;
}

.overview-cumulative-card-head-v143 > b {
  font-size: 14px;
  line-height: 1.3;
}

.overview-cumulative-card-head-v143 > span {
  padding: 6px 10px;
  font-size: 10.5px;
}

.overview-cumulative-card-value-v143 {
  margin-top: 10px;
}

.overview-cumulative-card-value-v143 strong {
  font-size: 36px;
  letter-spacing: -.04em;
}

.overview-cumulative-compare-line-v143 {
  grid-template-columns: 76px minmax(0, 1fr) 48px;
  gap: 8px;
  margin-top: 9px;
}

.overview-cumulative-compare-line-v143 .line-label {
  font-size: 10.5px;
  line-height: 1.25;
}

.overview-cumulative-compare-line-v143 .line-bar {
  height: 9px;
}

.overview-cumulative-compare-line-v143 .line-number {
  font-size: 12px;
}

.overview-cumulative-summary-v143 {
  margin-top: 10px;
  padding: 10px 11px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.4;
}

.overview-cumulative-card-empty-v143 {
  margin-top: 10px;
  padding: 10px 11px;
  border-radius: 12px;
  font-size: 11.5px;
}

.overview-cumulative-insight-v143 {
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
}

.overview-cumulative-insight-v143 > b {
  font-size: 13px;
}

.overview-cumulative-insight-v143 > span {
  font-size: 12px;
  line-height: 1.5;
}

/* V144의 1200px 이하 1열 전환을 취소하고, 실제 모바일에서만 1열 사용 */
@media (min-width: 761px) {
  .overview-cumulative-grid-v143 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .overview-cumulative-grid-v143 {
    grid-template-columns: 1fr;
  }

  .overview-cumulative-chart-head-v143 b {
    font-size: 17px;
  }

  .overview-cumulative-chart-head-v143 span {
    font-size: 12px;
  }

  .overview-cumulative-card-v143 {
    padding: 14px;
  }

  .overview-cumulative-card-head-v143 {
    display: flex;
  }

  .overview-cumulative-card-head-v143 > b {
    font-size: 14px;
  }

  .overview-cumulative-card-head-v143 > span {
    margin-top: 0;
    padding: 6px 10px;
    font-size: 10.5px;
  }

  .overview-cumulative-card-value-v143 strong {
    font-size: 36px;
  }

  .overview-cumulative-compare-line-v143 {
    grid-template-columns: 76px minmax(0, 1fr) 48px;
    gap: 8px;
  }

  .overview-cumulative-compare-line-v143 .line-label {
    font-size: 10.5px;
  }

  .overview-cumulative-compare-line-v143 .line-number {
    font-size: 12px;
  }

  .overview-cumulative-summary-v143 {
    font-size: 12px;
    padding: 10px 11px;
  }

  .overview-cumulative-insight-v143 {
    display: block;
    padding: 12px 14px;
  }

  .overview-cumulative-insight-v143 > b {
    margin-bottom: 4px;
    font-size: 13px;
  }

  .overview-cumulative-insight-v143 > span {
    font-size: 12px;
  }
}


/* ==================================================
   V147 최근 완료기수 변화 / 누적 비교 보조 크기 조정
   ================================================== */

/* 한눈에 비교 텍스트는 조금 더 크게 */
.overview-cumulative-insight-v143 > span {
  font-size: 16.5px;
}

.recent-flow-card-v147 {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #f8fcff, #f2f9ff);
}

.recent-flow-grid-v147 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.recent-flow-metric-card-v147 {
  min-width: 0;
  border: 1px solid #dbe9f4;
  border-radius: 14px;
  background: #ffffff;
  padding: 12px;
}

.recent-flow-card-head-v147 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.recent-flow-card-head-v147 b {
  color: #214e77;
  font-size: 13px;
  line-height: 1.45;
}

.recent-flow-card-head-v147 span {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 850;
}

.recent-flow-card-head-v147 span.up,
.recent-flow-summary-v147.up {
  background: #eaf8f0;
  color: #1d7a47;
}

.recent-flow-card-head-v147 span.down,
.recent-flow-summary-v147.down {
  background: #fff1f0;
  color: #b34747;
}

.recent-flow-card-head-v147 span.flat,
.recent-flow-summary-v147.flat {
  background: #eef4fb;
  color: #55718a;
}

.recent-flow-main-value-v147 {
  margin-top: 6px;
}

.recent-flow-main-value-v147 strong {
  color: #165b92;
  font-size: 24px;
  line-height: 1;
}

.recent-flow-compare-line-v147 {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 56px;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.recent-flow-compare-line-v147 .line-label {
  font-size: 12px;
  font-weight: 800;
  color: #5a748a;
}

.recent-flow-compare-line-v147 .line-bar {
  height: 10px;
  border-radius: 999px;
  background: #edf3f8;
  overflow: hidden;
}

.recent-flow-compare-line-v147 .line-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.recent-flow-compare-line-v147 .line-bar.previous i {
  background: #b7c5d3;
}

.recent-flow-compare-line-v147 .line-bar.current i {
  background: #226eaa;
}

.recent-flow-compare-line-v147 .line-number {
  text-align: right;
  font-size: 12px;
  font-weight: 850;
  color: #274d6d;
}

.recent-flow-summary-v147 {
  margin-top: 9px;
  border-radius: 11px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
}

.recent-flow-insight-v147 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
  border-radius: 14px;
  padding: 12px 14px;
  background: #eef6fc;
  border: 1px solid #d4e4ef;
}

.recent-flow-insight-v147 > b {
  flex: 0 0 auto;
  color: #1263a2;
  font-size: 17px;
  font-weight: 900;
}

.recent-flow-insight-v147 > span {
  color: #355877;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .recent-flow-grid-v147 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .overview-cumulative-insight-v143 > span {
    font-size: 16px;
  }

  .recent-flow-metric-card-v147 {
    padding: 11px;
  }

  .recent-flow-main-value-v147 strong {
    font-size: 21px;
  }

  .recent-flow-insight-v147 {
    display: block;
    padding: 12px;
  }

  .recent-flow-insight-v147 > b {
    display: block;
    margin-bottom: 6px;
    font-size: 16px;
  }

  .recent-flow-insight-v147 > span {
    font-size: 14px;
  }
}


/* ==================================================
   V150 직전 기수 ↔ 최근 기수 덤벨 비교 그래프
   ================================================== */
.recent-dumbbell-card-v150 {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #f8fcff, #f3f9fe);
}

.recent-dumbbell-head-v150 {
  align-items: flex-start;
}

.recent-dumbbell-head-v150 > div:nth-child(2) {
  min-width: 0;
}

.recent-dumbbell-head-v150 h3 {
  font-size: 17px;
}

.recent-dumbbell-legend-v150 {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #5d788e;
  font-size: 12px;
  font-weight: 800;
}

.recent-dumbbell-legend-v150 span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.recent-dumbbell-legend-v150 i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}

.recent-dumbbell-legend-v150 i.previous {
  background: #aebfcd;
}

.recent-dumbbell-legend-v150 i.latest {
  background: #2577b5;
}

.recent-dumbbell-basis-v150 {
  margin-top: 10px;
  font-size: 13.5px;
}

.recent-dumbbell-list-v150 {
  margin-top: 14px;
  display: grid;
  gap: 9px;
}

.recent-dumbbell-row-v150 {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) 105px;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 8px 12px;
  border: 1px solid #dce9f3;
  border-radius: 13px;
  background: #fff;
}

.recent-dumbbell-label-v150 {
  color: #214f78;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}

.recent-dumbbell-plot-v150 {
  min-width: 0;
  padding: 22px 6px 17px;
}

.recent-dumbbell-axis-v150 {
  position: relative;
  height: 6px;
  border-radius: 999px;
  background: #edf3f7;
}

.recent-dumbbell-connector-v150 {
  position: absolute;
  top: 50%;
  height: 4px;
  min-width: 4px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: #88a7c0;
}

.recent-dumbbell-connector-v150.down {
  background: #e2a5a5;
}

.recent-dumbbell-connector-v150.up {
  background: #8ec5a7;
}

.recent-dumbbell-marker-v150 {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.recent-dumbbell-marker-v150 i {
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 1px 4px rgba(17, 68, 106, .18);
}

.recent-dumbbell-marker-v150.previous i {
  background: #aebfcd;
}

.recent-dumbbell-marker-v150.latest i {
  width: 16px;
  height: 16px;
  background: #2577b5;
}

.recent-dumbbell-marker-v150.latest.down i {
  background: #d95353;
}

.recent-dumbbell-marker-v150.latest.up i {
  background: #2a9b63;
}

.recent-dumbbell-marker-v150 em {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-style: normal;
  font-size: 11px;
  font-weight: 850;
}

.recent-dumbbell-marker-v150.previous em {
  bottom: 14px;
  color: #6b8193;
}

.recent-dumbbell-marker-v150.latest em {
  top: 15px;
  color: #175f97;
}

.recent-dumbbell-marker-v150.latest.down em {
  color: #b33f3f;
}

.recent-dumbbell-marker-v150.latest.up em {
  color: #167647;
}

.recent-dumbbell-delta-v150 {
  justify-self: end;
  min-width: 86px;
  padding: 7px 9px;
  border-radius: 999px;
  text-align: center;
  background: #edf4fa;
  color: #58748a;
  font-size: 12px;
  font-weight: 900;
}

.recent-dumbbell-delta-v150.down {
  background: #fff0ef;
  color: #c84343;
}

.recent-dumbbell-delta-v150.up {
  background: #eaf8f0;
  color: #197a49;
}

.recent-dumbbell-summary-grid-v150 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.recent-dumbbell-summary-item-v150 {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f4f8fb;
}

.recent-dumbbell-summary-item-v150 small {
  color: #6d8497;
  font-size: 11px;
  font-weight: 850;
}

.recent-dumbbell-summary-item-v150 b {
  min-width: 0;
  color: #315873;
  font-size: 12.5px;
}

.recent-dumbbell-summary-item-v150 strong {
  font-size: 13px;
}

.recent-dumbbell-summary-item-v150.down strong {
  color: #c84343;
}

.recent-dumbbell-summary-item-v150.up strong {
  color: #197a49;
}

.recent-dumbbell-insight-v150 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid #d4e4ef;
  border-radius: 13px;
  background: #eef6fc;
}

.recent-dumbbell-insight-v150 > b {
  flex: 0 0 auto;
  color: #1263a2;
  font-size: 15px;
  font-weight: 950;
}

.recent-dumbbell-insight-v150 > span {
  color: #355877;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .recent-dumbbell-head-v150 {
    flex-wrap: wrap;
  }

  .recent-dumbbell-legend-v150 {
    width: 100%;
    margin-left: 44px;
    margin-top: 4px;
  }

  .recent-dumbbell-row-v150 {
    grid-template-columns: 1fr 88px;
    gap: 8px 10px;
    padding: 10px;
  }

  .recent-dumbbell-label-v150 {
    grid-column: 1 / 2;
    font-size: 13.5px;
  }

  .recent-dumbbell-delta-v150 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .recent-dumbbell-plot-v150 {
    grid-column: 1 / -1;
    padding: 22px 10px 18px;
  }

  .recent-dumbbell-summary-grid-v150 {
    grid-template-columns: 1fr;
  }

  .recent-dumbbell-insight-v150 {
    display: block;
  }

  .recent-dumbbell-insight-v150 > b {
    display: block;
    margin-bottom: 5px;
  }
}


/* ==================================================
   V151 직전 기수 ↔ 최근 기수 변화폭 그래프
   ================================================== */
.recent-change-card-v151 {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #f8fcff, #f3f9fe);
}

.recent-change-head-v151 {
  align-items: flex-start;
}

.recent-change-head-v151 h3 {
  margin-top: 2px;
  font-size: 17px;
}

.recent-change-head-v151 p {
  margin: 5px 0 0;
  color: #647e92;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.recent-change-basis-v151 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #edf6fd;
  color: #365f7d;
  font-size: 13px;
}

.recent-change-basis-v151 b {
  color: #145d93;
  font-weight: 900;
}

.recent-change-basis-v151 > small {
  margin-left: auto;
  color: #6c8497;
  font-size: 11.5px;
  font-weight: 750;
}

.recent-change-list-v151 {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.recent-change-row-v151 {
  padding: 12px 13px 10px;
  border: 1px solid #dce9f3;
  border-radius: 13px;
  background: #fff;
}

.recent-change-row-head-v151 {
  display: grid;
  grid-template-columns: 175px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.recent-change-row-head-v151 > b {
  color: #214f78;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}

.recent-change-values-v151 {
  color: #607b91;
  font-size: 12.5px;
  font-weight: 750;
}

.recent-change-values-v151 strong {
  color: #274f6e;
  font-size: 13.5px;
  font-weight: 900;
}

.recent-change-values-v151 i {
  margin: 0 4px;
  color: #91a8ba;
  font-style: normal;
  font-weight: 900;
}

.recent-change-delta-v151 {
  min-width: 76px;
  padding: 6px 9px;
  border-radius: 999px;
  text-align: center;
  font-style: normal;
  font-size: 12.5px;
  font-weight: 950;
  background: #eef4f8;
  color: #5f788b;
}

.recent-change-delta-v151.down {
  background: #fff0ef;
  color: #c84343;
}

.recent-change-delta-v151.up {
  background: #eaf8f0;
  color: #197a49;
}

.recent-change-track-wrap-v151 {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.recent-change-side-v151 {
  color: #8a9cab;
  font-size: 10px;
  font-weight: 800;
}

.recent-change-side-v151.left {
  text-align: right;
}

.recent-change-side-v151.right {
  text-align: left;
}

.recent-change-track-v151 {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 20px;
}

.recent-change-half-v151 {
  position: relative;
  background: #f0f4f7;
}

.recent-change-half-v151.left {
  border-radius: 999px 0 0 999px;
}

.recent-change-half-v151.right {
  border-radius: 0 999px 999px 0;
}

.recent-change-zero-v151 {
  position: absolute;
  left: 50%;
  top: -3px;
  bottom: -3px;
  width: 2px;
  z-index: 3;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #6f8799;
}

.recent-change-bar-v151 {
  position: absolute;
  top: 3px;
  bottom: 3px;
  border-radius: 999px;
}

.recent-change-half-v151.left .recent-change-bar-v151 {
  right: 0;
}

.recent-change-half-v151.right .recent-change-bar-v151 {
  left: 0;
}

.recent-change-bar-v151.down {
  background: linear-gradient(90deg, #efb7b3, #d95353);
}

.recent-change-bar-v151.up {
  background: linear-gradient(90deg, #2a9b63, #9bd0b3);
}

.recent-change-flat-mark-v151 {
  position: absolute;
  left: 0;
  top: 4px;
  width: 6px;
  height: 12px;
  border-radius: 999px;
  background: #6f8799;
}

.recent-change-row-note-v151 {
  margin-top: 6px;
  text-align: right;
  color: #6b8193;
  font-size: 11.5px;
  font-weight: 800;
}

.recent-change-row-note-v151.down {
  color: #b84040;
}

.recent-change-row-note-v151.up {
  color: #177647;
}

.recent-change-summary-grid-v151 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.recent-change-summary-item-v151 {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f4f8fb;
}

.recent-change-summary-item-v151 small {
  color: #6d8497;
  font-size: 11px;
  font-weight: 850;
}

.recent-change-summary-item-v151 b {
  min-width: 0;
  color: #315873;
  font-size: 12.5px;
}

.recent-change-summary-item-v151 strong {
  font-size: 13px;
}

.recent-change-summary-item-v151.down strong {
  color: #c84343;
}

.recent-change-summary-item-v151.up strong {
  color: #197a49;
}

.recent-change-insight-v151 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid #d4e4ef;
  border-radius: 13px;
  background: #eef6fc;
}

.recent-change-insight-v151 > b {
  flex: 0 0 auto;
  color: #1263a2;
  font-size: 15px;
  font-weight: 950;
}

.recent-change-insight-v151 > span {
  color: #355877;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .recent-change-row-head-v151 {
    grid-template-columns: 1fr auto;
    gap: 7px 10px;
  }

  .recent-change-row-head-v151 > b {
    grid-column: 1 / 2;
  }

  .recent-change-delta-v151 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .recent-change-values-v151 {
    grid-column: 1 / -1;
  }

  .recent-change-basis-v151 > small {
    width: 100%;
    margin-left: 0;
  }

  .recent-change-summary-grid-v151 {
    grid-template-columns: 1fr;
  }

  .recent-change-insight-v151 {
    display: block;
  }

  .recent-change-insight-v151 > b {
    display: block;
    margin-bottom: 5px;
  }
}


/* ==================================================
   V152 핵심진단 정리
   - 중복 누적 안내 제거
   - 한눈에 비교 본문 크기 미세 조정
   - 직전/최근 실제 비율과 변화폭 그래프 분리
   ================================================== */

/* 누적 비교 하단 설명은 주변 본문과 비율을 맞춰 아주 조금 축소 */
.overview-cumulative-insight-v143 > span {
  font-size: 15.5px;
}

/* 항목명과 증감폭만 같은 줄에 두고 실제 비율은 별도 영역으로 분리 */
.recent-change-row-head-v151 {
  grid-template-columns: minmax(0, 1fr) auto;
}

.recent-change-value-pair-v152 {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 8px;
  padding: 6px 9px;
  border-radius: 10px;
  background: #f5f9fc;
  border: 1px solid #e0ebf3;
  color: #607b91;
  font-size: 12px;
  font-weight: 750;
}

.recent-change-value-pair-v152 > small {
  padding-right: 7px;
  border-right: 1px solid #d8e5ee;
  color: #7990a2;
  font-size: 10.5px;
  font-weight: 850;
}

.recent-change-value-pair-v152 span {
  white-space: nowrap;
}

.recent-change-value-pair-v152 strong {
  margin-left: 2px;
  color: #274f6e;
  font-size: 13px;
  font-weight: 950;
}

.recent-change-value-pair-v152 .latest strong {
  color: #145d93;
}

.recent-change-value-pair-v152 i {
  color: #91a8ba;
  font-style: normal;
  font-weight: 900;
}

/* 중앙선은 최근 비율이 아니라 변화 없음(0%p) 기준선임을 명확히 표시 */
.recent-change-zero-v151 small {
  position: absolute;
  left: 50%;
  top: -18px;
  transform: translateX(-50%);
  padding: 1px 4px;
  border-radius: 6px;
  background: #ffffff;
  color: #72899b;
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.recent-change-track-wrap-v151 {
  margin-top: 17px;
}

@media (max-width: 760px) {
  .recent-change-row-head-v151 {
    grid-template-columns: 1fr auto;
  }

  .recent-change-value-pair-v152 {
    flex-wrap: wrap;
    gap: 5px 7px;
  }

  .recent-change-value-pair-v152 > small {
    width: 100%;
    padding-right: 0;
    padding-bottom: 4px;
    border-right: 0;
    border-bottom: 1px solid #d8e5ee;
  }

  .overview-cumulative-insight-v143 > span {
    font-size: 14.5px;
  }
}


/* ==================================================
   V153 최근 변화폭 그래프
   - 우측 상단 변화값 배지 제거
   - 변화값을 빨강/초록 막대의 끝에 직접 표시
   - 하단 중복 설명 제거
   ================================================== */

/* 항목명만 단독으로 보여 상단 우측 배지가 남지 않도록 정리 */
.recent-change-row-head-v151 {
  display: block;
}

/* 변화값은 각 변화 막대의 바깥쪽 끝에 직접 배치 */
.recent-change-bar-label-v153 {
  position: absolute;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  padding: 2px 4px;
  border-radius: 6px;
  background: rgba(255,255,255,.94);
  font-size: 11.5px;
  font-weight: 950;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
}

.recent-change-half-v151.left .recent-change-bar-label-v153.down {
  right: calc(var(--change-pos) + 5px);
  color: #c84343;
}

.recent-change-half-v151.right .recent-change-bar-label-v153.up {
  left: calc(var(--change-pos) + 5px);
  color: #197a49;
}

.recent-change-half-v151.right .recent-change-bar-label-v153.flat {
  left: 8px;
  color: #667f92;
}

/* 막대 끝 숫자가 보일 수 있도록 각 반쪽은 넘침을 허용 */
.recent-change-half-v151 {
  overflow: visible;
}

/* 기존 상단 배지와 하단 중복 문구는 V153에서 사용하지 않음 */
.recent-change-delta-v151,
.recent-change-row-note-v151 {
  display: none !important;
}

@media (max-width: 760px) {
  .recent-change-bar-label-v153 {
    font-size: 10.5px;
  }
}


/* ==================================================
   V154 핵심진단 - 최근 변화 / 같은 조건 비교 섹션 분리
   ================================================== */
.comparison-panel-separated {
  margin-top: 14px;
}

.comparison-grid-single {
  grid-template-columns: 1fr;
}

.comparison-grid-single > .comparison-card,
.comparison-grid-single > .comparison-card.peer-card {
  grid-column: 1 / -1;
}

#overviewRecentSection {
  border-color: #cfe1f0;
  background: #ffffff;
}

#overviewComparisonSection {
  border-color: #d7e4ee;
  background: #ffffff;
}

#overviewRecentSection .panel-title,
#overviewComparisonSection .panel-title {
  font-size: 18px;
  font-weight: 900;
  color: #135c95;
}

#overviewRecentSection .panel-headline p,
#overviewComparisonSection .panel-headline p {
  font-size: 13.5px;
}

@media (max-width: 680px) {
  #overviewRecentSection .panel-title,
  #overviewComparisonSection .panel-title {
    font-size: 17px;
  }
}


/* ==================================================
   V155 최근 기수 변화 그래프 가독성 확대 + 누적 인원 흐름 제목 정리
   ================================================== */

/* 최근 기수 변화 카드: 표/막대/숫자를 한 단계 크게 */
.recent-change-card-v151 {
  padding: 18px;
}

.recent-change-basis-v151 {
  padding: 12px 14px;
  font-size: 14px;
}

.recent-change-basis-v151 > small {
  font-size: 12.5px;
}

.recent-change-list-v151 {
  gap: 11px;
  margin-top: 14px;
}

.recent-change-row-v151 {
  padding: 16px 16px 15px;
  border-radius: 15px;
}

.recent-change-row-head-v151 > b {
  font-size: 15.5px;
}

.recent-change-value-pair-v152 {
  margin-top: 10px;
  padding: 8px 11px;
  gap: 9px;
  font-size: 13px;
  border-radius: 11px;
}

.recent-change-value-pair-v152 > small {
  font-size: 11.5px;
}

.recent-change-value-pair-v152 strong {
  font-size: 14.5px;
}

.recent-change-track-wrap-v151 {
  grid-template-columns: 56px minmax(0, 1fr) 56px;
  gap: 9px;
  margin-top: 20px;
}

.recent-change-side-v151 {
  font-size: 11.5px;
}

.recent-change-track-v151 {
  height: 28px;
}

.recent-change-bar-v151 {
  top: 4px;
  bottom: 4px;
}

.recent-change-zero-v151 {
  top: -4px;
  bottom: -4px;
  width: 3px;
}

.recent-change-zero-v151 small {
  top: -20px;
  font-size: 10.5px;
}

.recent-change-bar-label-v153 {
  padding: 3px 5px;
  font-size: 13px;
  border-radius: 7px;
}

.recent-change-half-v151.left .recent-change-bar-label-v153.down {
  right: calc(var(--change-pos) + 7px);
}

.recent-change-half-v151.right .recent-change-bar-label-v153.up {
  left: calc(var(--change-pos) + 7px);
}

/* 단계별 흐름의 의미를 제목만 봐도 알 수 있게 */
.flow-panel-head-v155 .panel-title {
  font-size: 16px;
  color: #1f6498;
}

.flow-panel-head-v155 p {
  margin: 6px 0 0;
  color: #607b91;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.55;
}

.flow-track {
  margin-top: 15px;
}

.flow-step {
  padding: 15px 9px;
}

.flow-step b {
  font-size: 13.5px;
}

.flow-step strong {
  font-size: 20px;
}

@media (max-width: 760px) {
  .recent-change-card-v151 {
    padding: 15px;
  }

  .recent-change-row-v151 {
    padding: 14px 13px;
  }

  .recent-change-track-wrap-v151 {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
  }

  .recent-change-track-v151 {
    height: 26px;
  }

  .recent-change-bar-label-v153 {
    font-size: 12px;
  }

  .flow-panel-head-v155 .panel-title {
    font-size: 15px;
  }
}


/* V156: 누적 인원 흐름 제목 제거 + 종강/탈락 분석 바로가기 글자 확대 */
.flow-panel-head-v155 .panel-title { display: none !important; }
.overview-completion-link b { font-size: 14.5px !important; }
.overview-completion-link small { font-size: 12px !important; line-height: 1.5; }
.overview-completion-link { padding: 14px 16px; }


/* V157: 누적 인원 흐름 설명 삭제 + 종강/탈락 자세히 보기 글자 소폭 확대 */
.flow-panel-head-v155 p { display: none !important; }
.overview-completion-link b { font-size: 15.5px !important; font-weight: 800; }
.overview-completion-link small { font-size: 12.8px !important; line-height: 1.55; }
.overview-completion-link > strong { font-size: 21px !important; }
.overview-completion-link { padding: 15px 17px !important; }


/* V160: 누적 인원 흐름 숨김 + 누적 비율 큰 숫자 축소 + 요약/버튼 가독성 조정 */
#overviewFlowSection {
  display: none !important;
}

.overview-completion-link {
  padding: 16px 18px !important;
}
.overview-completion-link b {
  font-size: 16.5px !important;
  font-weight: 800;
  line-height: 1.4;
}
.overview-completion-link small {
  font-size: 13.5px !important;
  line-height: 1.55;
}
.overview-completion-link > strong {
  font-size: 21px !important;
}

.overview-cumulative-card-value-v143 strong {
  font-size: 39px !important;
  line-height: 1.02;
}

.overview-cumulative-insight-v143 {
  gap: 14px;
}
.overview-cumulative-insight-v143 > b {
  font-size: 17px !important;
  line-height: 1.3;
}
.overview-cumulative-insight-v143 > span {
  font-size: 14px !important;
  line-height: 1.55;
}


/* V161: 전체 완료기수 누적 비율 비교 핵심 퍼센트 숫자 크기 추가 축소 */
.overview-cumulative-card-value-v143 strong {
  font-size: 35px !important;
  line-height: 1.02;
}


/* V162: 누적 비율 핵심 숫자/증감 배지/한눈에 요약 균형 조정 */
/* 64.9%, 65.5% 같은 메인 퍼센트는 한 단계 더 축소 */
.overview-cumulative-card-value-v143 strong {
  font-size: 31px !important;
  line-height: 1.02;
}

/* 우측 상단 증감폭(예: ↓ -2.2%p / ↑ +1.5%p)은 더 크게 */
.overview-cumulative-card-head-v143 > span {
  font-size: 13.5px !important;
  padding: 7px 11px !important;
  line-height: 1.15;
}

/* 전체 완료기수 누적 비율 비교의 '한눈에 요약'을 최근 기수 변화 요약과 동일 크기로 */
.overview-cumulative-insight-v143 > b {
  font-size: 15px !important;
  line-height: 1.3;
}
.overview-cumulative-insight-v143 > span {
  font-size: 14px !important;
  line-height: 1.55;
}

@media (max-width: 760px) {
  .overview-cumulative-card-value-v143 strong {
    font-size: 30px !important;
  }
  .overview-cumulative-card-head-v143 > span {
    font-size: 13px !important;
    padding: 7px 10px !important;
  }
  .overview-cumulative-insight-v143 > b {
    font-size: 15px !important;
  }
  .overview-cumulative-insight-v143 > span {
    font-size: 14px !important;
  }
}


/* ==================================================
   V164 최근 기수 다른 강사와 비교: 순위 + 비율 동시 표시
   ================================================== */
.peer-compare-card-v164 {
  padding: 18px;
}

.peer-card-head-v164 h3 {
  font-size: 16px;
  line-height: 1.35;
}

.peer-basis-v164 {
  margin: 13px 0 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #eef6fc;
  color: #3f6684;
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.5;
}

.peer-metric-grid-v164 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.peer-metric-v164 {
  min-width: 0;
  padding: 14px;
  border: 1px solid #d8e6f1;
  border-radius: 15px;
  background: #fff;
}

.peer-metric-head-v164 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.peer-metric-head-v164 > b {
  color: #123f70;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.peer-rank-v164 {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.peer-rank-v164 > strong {
  color: #1263a2;
  font-size: 15.5px;
  font-weight: 950;
  white-space: nowrap;
}

.peer-rate-grid-v164 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}

.peer-rate-box-v164 {
  min-width: 0;
  padding: 10px 11px;
  border-radius: 12px;
  background: #f5f9fc;
  border: 1px solid #e0ebf3;
}

.peer-rate-box-v164 small,
.peer-rate-box-v164 strong {
  display: block;
}

.peer-rate-box-v164 small {
  color: #6a8398;
  font-size: 11px;
  font-weight: 800;
}

.peer-rate-box-v164 strong {
  margin-top: 4px;
  color: #143f70;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: -.02em;
}

.peer-rate-box-v164.mine {
  background: #eff7ff;
  border-color: #cfe3f4;
}

.peer-rate-box-v164.mine strong {
  color: #0969ad;
}

.peer-gap-v164 {
  margin-top: 9px;
  padding: 7px 9px;
  border-radius: 10px;
  background: #f2f6f9;
  color: #5a7184;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1.4;
}

.peer-gap-v164.up {
  background: #edf8f1;
  color: #247a50;
}

.peer-gap-v164.down {
  background: #fdf0f2;
  color: #c84552;
}

@media (max-width: 680px) {
  .peer-metric-grid-v164 {
    grid-template-columns: 1fr;
  }

  .peer-metric-head-v164 > b {
    font-size: 14px;
  }

  .peer-rank-v164 > strong {
    font-size: 15px;
  }

  .peer-rate-box-v164 strong {
    font-size: 16.5px;
  }
}


/* ==================================================
   V165 최근 기수 다른 강사 비교 가독성 + 한눈에 요약
   ================================================== */
.peer-gap-v164 {
  font-size: 14px !important;
  font-weight: 900;
  line-height: 1.45;
  padding: 9px 11px;
}

/* 직전 기수 변화의 한눈에 요약과 같은 제목/내용 크기 사용 */
.peer-insight-v165 {
  margin-top: 12px;
}
.peer-insight-v165 > b {
  font-size: 15px !important;
}
.peer-insight-v165 > span {
  font-size: 14px !important;
  line-height: 1.55;
}

@media (max-width: 680px) {
  .peer-gap-v164 {
    font-size: 13.5px !important;
  }
}


/* ==================================================
   V168 종강·탈락 분석 - 누적 전체 카드 강조
   핵심진단이 아니라 completion-kpi.cumulative 영역에만 적용
   ================================================== */

/* 다른 센터보다 낮음: 확실한 빨간색 */
.completion-kpi.cumulative.low {
  border-top-color: #e23b43 !important;
}

.completion-kpi.cumulative.low .completion-kpi-value {
  color: #d92933 !important;
}

.completion-kpi.cumulative.low .completion-kpi-detail {
  color: #d72631 !important;
}

/* 다른 센터보다 높음: 초록색 유지 */
.completion-kpi.cumulative.high {
  border-top-color: #2f9a63 !important;
}

.completion-kpi.cumulative.high .completion-kpi-value,
.completion-kpi.cumulative.high .completion-kpi-detail {
  color: #237653 !important;
}

/* '다른 센터보다 2.2%p 낮음/높음' 문구 확대 */
.completion-kpi.cumulative .completion-kpi-detail {
  margin-top: 8px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
}

@media (max-width: 680px) {
  .completion-kpi.cumulative .completion-kpi-detail {
    font-size: 13.5px !important;
  }
}


/* ==================================================
   V170 기수별 종강 성과 비교 - 유급 제외 계산 + 가독성 확대
   ================================================== */
.completion-performance-section-v170 .completion-section-head h3 {
  font-size: 17px !important;
  line-height: 1.35;
}

.completion-performance-section-v170 .completion-section-head p {
  font-size: 13px !important;
  line-height: 1.55;
}

.completion-performance-section-v170 .completion-performance-grid {
  gap: 11px;
  margin-top: 15px;
}

.completion-performance-section-v170 .completion-performance-card-v129 {
  padding: 15px !important;
}

.completion-performance-section-v170 .completion-performance-card-v129 .performance-card-head b {
  font-size: 15px !important;
}

.completion-performance-section-v170 .completion-stage-row-v129 {
  padding: 13px 0;
}

.completion-performance-section-v170 .completion-stage-head-v129 b {
  font-size: 13.5px !important;
  line-height: 1.4;
}

.completion-performance-section-v170 .completion-stage-head-v129 strong {
  font-size: 19px !important;
  line-height: 1.2;
}

.completion-performance-section-v170 .completion-stage-sub-v129 {
  margin-top: 5px;
  font-size: 12px !important;
  line-height: 1.4;
}

.completion-performance-section-v170 .completion-stage-bar-v129 {
  margin-top: 8px;
  height: 7px;
}

@media (max-width: 680px) {
  .completion-performance-section-v170 .completion-section-head h3 {
    font-size: 16px !important;
  }
  .completion-performance-section-v170 .completion-section-head p {
    font-size: 12.5px !important;
  }
  .completion-performance-section-v170 .completion-stage-head-v129 b {
    font-size: 13px !important;
  }
  .completion-performance-section-v170 .completion-stage-head-v129 strong {
    font-size: 18px !important;
  }
  .completion-performance-section-v170 .completion-stage-sub-v129 {
    font-size: 11.5px !important;
  }
}


/* ==================================================
   V172 기수별 교육 단계 연결률 비교 - 항목 정리 + 인원 숫자 확대
   ================================================== */
.completion-performance-section-v170 .completion-stage-sub-v129 {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.45;
}

@media (max-width: 680px) {
  .completion-performance-section-v170 .completion-stage-sub-v129 {
    font-size: 13px !important;
  }
}


/* V173: 종강·탈락 분석 > 탈락·유급 기록 강조 */
/* 우측 탈락 수치(예: 48명, 96명)는 빨간색으로 강조 */
.record-dropout-total-v134 small {
  color: #c53a41 !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
}

.record-dropout-total-v134 strong {
  color: #d92d35 !important;
  font-size: 26px !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em;
}

/* 초등 / 고등 종강 / 차이 / 추가 / 제외 / 유급 조정 등의 글자를 더 크게 */
.dropout-step-labels-v134 span {
  color: #738897;
  font-size: 10px !important;
  font-weight: 800 !important;
}

/* 단계 제목도 살짝 키워 가독성 향상 */
.dropout-step-title-v134 b,
.dropout-final-title-v134 b {
  font-size: 11.5px !important;
}

/* 작은 안내문도 약간 확대 */
.dropout-final-caption-v134,
.dropout-match-v134 {
  font-size: 9.5px !important;
}

@media (max-width: 680px) {
  .record-dropout-total-v134 small {
    font-size: 11px !important;
  }
  .record-dropout-total-v134 strong {
    font-size: 24px !important;
  }
  .dropout-step-labels-v134 span {
    font-size: 9.5px !important;
  }
  .dropout-step-title-v134 b,
  .dropout-final-title-v134 b {
    font-size: 11px !important;
  }
}


/* ==================================================
   V176 기수별 변화 요약 - 그래프형 프리미엄 대시보드
   ================================================== */
.term-trend-section-v176 {
  overflow: visible;
}

.term-trend-dashboard-v176 {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.term-trend-card-v176 {
  position: relative;
  overflow: hidden;
  border: 1px solid #d7e6f2;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 7px 20px rgba(28, 72, 105, .055);
}

.term-trend-card-v176::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: #2b83d5;
}

.term-trend-card-v176.dropout::before {
  background: #e44a50;
}

.term-trend-card-v176.support::before {
  background: #8399aa;
}

.term-trend-card-head-v176 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px 10px 20px;
}

.term-trend-card-head-v176 > div:first-child {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.trend-index-v176 {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #edf6fd;
  color: #2b76ad;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .02em;
}

.term-trend-card-v176.dropout .trend-index-v176 {
  background: #fff0f1;
  color: #cc434a;
}

.term-trend-card-v176.support .trend-index-v176 {
  background: #f1f5f8;
  color: #6d8393;
}

.term-trend-card-head-v176 h4 {
  margin: 0;
  color: #123f65;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.025em;
}

.term-trend-card-head-v176 p {
  margin: 4px 0 0;
  color: #71889a;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.4;
}

.trend-latest-v176 {
  flex: 0 0 auto;
  min-width: 132px;
  padding: 8px 11px;
  border-radius: 13px;
  background: #f1f6fa;
  text-align: right;
}

.trend-latest-v176 small,
.trend-latest-v176 strong,
.trend-latest-v176 span {
  display: block;
}

.trend-latest-v176 small {
  color: #7a8f9f;
  font-size: 9.5px;
  font-weight: 850;
}

.trend-latest-v176 strong {
  margin-top: 2px;
  color: #174f78;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.025em;
}

.trend-latest-v176 span {
  margin-top: 2px;
  font-size: 10.5px;
  font-weight: 900;
}

.trend-latest-v176.good {
  background: #edf8f2;
}
.trend-latest-v176.good span { color: #247552; }

.trend-latest-v176.bad {
  background: #fff1f2;
}
.trend-latest-v176.bad span { color: #c8454d; }

.trend-latest-v176.same,
.trend-latest-v176.missing {
  background: #f2f6f9;
}
.trend-latest-v176.same span,
.trend-latest-v176.missing span { color: #738899; }

.term-trend-chart-scroll-v176 {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 12px 8px 8px;
  scrollbar-width: thin;
  scrollbar-color: #c8d9e6 transparent;
}

.term-trend-svg-v176 {
  display: block;
  width: 100%;
  min-width: 720px;
  height: 210px;
}

.trend-grid-line-v176 {
  stroke: #e6eef4;
  stroke-width: 1;
}

.trend-axis-label-v176 {
  fill: #94a6b4;
  font-size: 10px;
  font-weight: 750;
}

.trend-line-v176 {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 2px rgba(25, 92, 146, .08));
}

.trend-line-v176.rate { stroke: #2f83df; }
.trend-line-v176.dropout { stroke: #e64b51; }
.trend-line-v176.support { stroke: #7d94a6; }

.trend-point-halo-v176 {
  opacity: .13;
}
.trend-point-halo-v176.rate { fill: #2f83df; }
.trend-point-halo-v176.dropout { fill: #e64b51; }
.trend-point-halo-v176.support { fill: #7d94a6; }

.trend-point-v176 {
  stroke: #fff;
  stroke-width: 2;
}
.trend-point-v176.rate { fill: #2f83df; }
.trend-point-v176.dropout { fill: #e64b51; }
.trend-point-v176.support { fill: #7d94a6; }
.trend-point-v176.missing {
  fill: #c9d4dd;
  stroke: #fff;
  stroke-width: 2;
}

.trend-value-label-v176 {
  fill: #153f62;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.02em;
}
.trend-value-label-v176.dropout { fill: #c93840; }
.trend-value-label-v176.support { fill: #536e82; }
.trend-value-label-v176.missing { fill: #96a6b2; }

.trend-term-label-v176 {
  fill: #5e788c;
  font-size: 11px;
  font-weight: 850;
}

.trend-delta-badge-v176.good { fill: #e8f6ef; }
.trend-delta-badge-v176.bad { fill: #fff0f1; }
.trend-delta-badge-v176.same,
.trend-delta-badge-v176.base { fill: #edf3f7; }
.trend-delta-badge-v176.missing { fill: #f2f5f7; }

.trend-delta-text-v176 {
  font-size: 9.5px;
  font-weight: 900;
}
.trend-delta-text-v176.good { fill: #237451; }
.trend-delta-text-v176.bad { fill: #c7434b; }
.trend-delta-text-v176.same,
.trend-delta-text-v176.base { fill: #6f8495; }
.trend-delta-text-v176.missing { fill: #96a4ae; }

.term-trend-summary-v176 {
  margin-top: 15px;
  padding: 15px 16px;
  border: 1px solid #d4e4ef;
  border-radius: 17px;
  background: linear-gradient(135deg, #f8fcff, #eef7fd);
}

.term-trend-summary-title-v176 {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.term-trend-summary-title-v176 b {
  color: #155d93;
  font-size: 15px;
  font-weight: 950;
}

.term-trend-summary-title-v176 span {
  color: #7890a2;
  font-size: 10.5px;
  font-weight: 800;
}

.term-trend-summary-grid-v176 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.term-trend-summary-grid-v176 > div {
  padding: 11px 12px;
  border: 1px solid #dfeaf2;
  border-radius: 12px;
  background: rgba(255,255,255,.78);
}

.term-trend-summary-grid-v176 small {
  display: block;
  color: #7890a2;
  font-size: 10px;
  font-weight: 850;
}

.term-trend-summary-grid-v176 p {
  margin: 5px 0 0;
  color: #294e6b;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.55;
}

.term-trend-note-v176 {
  margin-top: 10px;
}

@media (max-width: 680px) {
  .term-trend-card-head-v176 {
    align-items: flex-start;
    padding: 14px 14px 9px 17px;
  }

  .term-trend-card-head-v176 h4 {
    font-size: 15px;
  }

  .term-trend-card-head-v176 p {
    font-size: 10.5px;
  }

  .trend-latest-v176 {
    min-width: 108px;
    padding: 7px 9px;
  }

  .trend-latest-v176 strong {
    font-size: 16px;
  }

  .term-trend-svg-v176 {
    min-width: 700px;
  }

  .term-trend-summary-grid-v176 {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V177 기수별 변화 요약 - 2열 × 3행 프리미엄 그래프 대시보드
   ================================================== */
body:has(.completion-dashboard-host) .app-shell {
  width: min(100%, 1180px);
}

.term-trend-section-v177 {
  padding: 20px 20px 18px;
}

.term-trend-dashboard-v177 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.term-trend-card-v177 {
  border: 1px solid #d8e6f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(25, 70, 105, .05);
  overflow: hidden;
}

.term-trend-card-v177::before {
  display: none !important;
}

.term-trend-card-head-v177 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 16px 8px;
}

.trend-icon-v177 {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #edf6ff;
  color: #277fd8;
  font-size: 16px;
  font-weight: 950;
}

.trend-icon-v177.dropout {
  background: #fff0f1;
  color: #dd3f48;
}

.trend-icon-v177.support-add {
  background: #eef4f9;
  color: #5b7890;
}

.trend-icon-v177.support-minus {
  background: #fff6e5;
  color: #cf7b08;
}

.term-trend-card-head-v177 h4 {
  margin: 0;
  color: #103f6b;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.025em;
}

.term-trend-card-head-v177 p {
  margin: 3px 0 0;
  color: #73899a;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.term-trend-card-body-v177 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 142px;
  gap: 10px;
  align-items: stretch;
  padding: 4px 12px 12px 10px;
}

.term-trend-chart-v177 {
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #ccdce8 transparent;
}

.term-trend-svg-v177 {
  display: block;
  width: 100%;
  min-width: 470px;
  height: 194px;
}

.trend-grid-line-v177 {
  stroke: #e6edf3;
  stroke-width: 1;
}

.trend-axis-label-v177 {
  fill: #879bac;
  font-size: 9.5px;
  font-weight: 800;
}

.trend-line-v177 {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.trend-line-v177.rate { stroke: #2b82df; }
.trend-line-v177.dropout { stroke: #e6444e; }
.trend-line-v177.support-add { stroke: #71899d; }
.trend-line-v177.support-minus { stroke: #e58b16; }

.trend-point-halo-v177 { opacity: .13; }
.trend-point-halo-v177.rate { fill: #2b82df; }
.trend-point-halo-v177.dropout { fill: #e6444e; }
.trend-point-halo-v177.support-add { fill: #71899d; }
.trend-point-halo-v177.support-minus { fill: #e58b16; }

.trend-point-v177 {
  stroke: #fff;
  stroke-width: 2;
}
.trend-point-v177.rate { fill: #2b82df; }
.trend-point-v177.dropout { fill: #e6444e; }
.trend-point-v177.support-add { fill: #71899d; }
.trend-point-v177.support-minus { fill: #e58b16; }
.trend-point-v177.missing { fill: #c6d2dc; }

.trend-value-label-v177 {
  fill: #104d82;
  font-size: 12px;
  font-weight: 950;
}
.trend-value-label-v177.dropout { fill: #ce3039; }
.trend-value-label-v177.support-add { fill: #526d82; }
.trend-value-label-v177.support-minus { fill: #bd710d; }
.trend-value-label-v177.missing { fill: #96a6b2; }

.trend-term-label-v177 {
  fill: #60798d;
  font-size: 9.6px;
  font-weight: 800;
}

.trend-delta-text-v177 {
  font-size: 9.3px;
  font-weight: 900;
}
.trend-delta-text-v177.good { fill: #23805a; }
.trend-delta-text-v177.bad { fill: #d04149; }
.trend-delta-text-v177.same,
.trend-delta-text-v177.base { fill: #758a99; }
.trend-delta-text-v177.missing { fill: #9aa8b3; }

.term-trend-side-v177 {
  padding: 12px 11px;
  border-radius: 14px;
  background: linear-gradient(180deg, #f5f9fc, #edf4f8);
  display: flex;
  flex-direction: column;
  min-height: 178px;
}

.term-trend-side-v177.good {
  background: linear-gradient(180deg, #effaf4, #e8f5ef);
}

.term-trend-side-v177.bad {
  background: linear-gradient(180deg, #fff3f3, #fdebec);
}

.term-trend-side-v177.missing,
.term-trend-side-v177.same {
  background: linear-gradient(180deg, #f4f7f9, #edf2f5);
}

.trend-status-pill-v177 {
  align-self: flex-start;
  padding: 6px 9px;
  border-radius: 999px;
  background: #e8eef3;
  color: #62788a;
  font-size: 10px;
  font-weight: 950;
}

.trend-status-pill-v177.good {
  background: #dff3e7;
  color: #1f7a50;
}

.trend-status-pill-v177.bad {
  background: #ffe0e2;
  color: #cb3540;
}

.term-trend-side-v177 > p {
  margin: 10px 0 0;
  color: #4e687b;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.5;
}

.trend-best-v177 {
  margin-top: auto;
  padding-top: 11px;
  border-top: 1px solid rgba(116, 143, 161, .18);
}

.trend-best-v177 small,
.trend-best-v177 strong,
.trend-best-v177 span {
  display: block;
}

.trend-best-v177 small {
  color: #6f8697;
  font-size: 9.5px;
  font-weight: 850;
}

.trend-best-v177 strong {
  margin-top: 3px;
  color: #133f69;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.trend-best-v177 span {
  margin-top: 2px;
  color: #778d9e;
  font-size: 9.5px;
  font-weight: 750;
}

.term-trend-summary-v177 {
  margin-top: 15px;
  padding: 14px 15px 15px;
  border: 1px solid #d7e5ef;
  border-radius: 17px;
  background: linear-gradient(135deg, #ffffff, #f4f9fd);
}

.term-trend-summary-head-v177 {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.term-trend-summary-head-v177 b {
  color: #135d96;
  font-size: 16px;
  font-weight: 950;
}

.term-trend-summary-head-v177 span {
  color: #7b90a1;
  font-size: 10.5px;
  font-weight: 800;
}

.term-trend-summary-grid-v177 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.term-trend-summary-grid-v177 > div {
  position: relative;
  padding: 11px 12px 11px 42px;
  border: 1px solid #dce8f1;
  border-radius: 12px;
  background: #fff;
}

.term-trend-summary-grid-v177 i {
  position: absolute;
  left: 11px;
  top: 11px;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf4fd;
  color: #2679bb;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}

.term-trend-summary-grid-v177 > div:nth-child(2) i {
  background: #fff0f1;
  color: #d13d47;
}

.term-trend-summary-grid-v177 > div:nth-child(3) i {
  background: #f1ecff;
  color: #6b55c8;
}

.term-trend-summary-grid-v177 b {
  display: block;
  color: #204965;
  font-size: 11.5px;
  font-weight: 900;
}

.term-trend-summary-grid-v177 p {
  margin: 4px 0 0;
  color: #5d7689;
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.5;
}

@media (max-width: 980px) {
  body:has(.completion-dashboard-host) .app-shell {
    width: min(100%, 820px);
  }

  .term-trend-dashboard-v177 {
    grid-template-columns: 1fr;
  }

  .term-trend-card-body-v177 {
    grid-template-columns: minmax(0, 1fr) 155px;
  }
}

@media (max-width: 620px) {
  .term-trend-section-v177 {
    padding: 15px 13px;
  }

  .term-trend-card-body-v177 {
    grid-template-columns: 1fr;
  }

  .term-trend-side-v177 {
    min-height: auto;
  }

  .trend-best-v177 {
    margin-top: 10px;
  }

  .term-trend-svg-v177 {
    min-width: 470px;
  }

  .term-trend-summary-grid-v177 {
    grid-template-columns: 1fr;
  }
}


/* V178: 기수별 변화 그래프 수치/라벨 잘림 방지 */
.term-trend-chart-v177 {
  overflow-x: auto;
  overflow-y: visible !important;
  padding: 4px 4px 2px;
}

.term-trend-svg-v177 {
  min-width: 390px !important;
  height: 206px !important;
  overflow: visible;
}

.trend-value-label-v177 {
  font-size: 12.5px;
}

.trend-term-label-v177 {
  font-size: 9.8px;
}

@media (max-width: 620px) {
  .term-trend-svg-v177 {
    min-width: 420px !important;
  }
}


/* V179: 기수별 변화 그래프 수치 완전 잘림 방지 */
.term-trend-card-v177 {
  overflow: visible !important;
}
.term-trend-card-body-v177 {
  overflow: visible !important;
}
.term-trend-chart-v177 {
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding: 10px 10px 8px !important;
}
.term-trend-svg-v177 {
  min-width: 470px !important;
  height: 224px !important;
  overflow: visible !important;
}
.trend-value-label-v177 {
  font-size: 13px !important;
}
.trend-term-label-v177 {
  font-size: 10.2px !important;
}
.trend-delta-text-v177 {
  font-size: 10px !important;
}
@media (max-width: 620px) {
  .term-trend-svg-v177 {
    min-width: 500px !important;
  }
}


/* ==================================================
   V180 기수별 변화 요약 - 이미지 시안형 3열 × 2행 대시보드
   - 그래프가 카드 전체 폭을 사용
   - 상태 배지는 제목 우측
   - 최근/최고 수치는 카드 하단
   - 4기수는 스크롤 없이 모두 표시
   ================================================== */
body:has(.completion-dashboard-host) .app-shell {
  width: min(100%, 1440px) !important;
}

.term-trend-section-v177 {
  padding: 21px 20px 18px !important;
}

.term-trend-dashboard-v177 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

.term-trend-card-v177 {
  overflow: hidden !important;
  border-radius: 18px !important;
  min-width: 0;
}

.term-trend-card-head-v180 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 15px 15px 7px;
}

.term-trend-title-v180 {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.term-trend-title-v180 > div {
  min-width: 0;
}

.term-trend-card-head-v180 h4 {
  margin: 0;
  color: #103f6b;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.term-trend-card-head-v180 p {
  margin: 3px 0 0;
  color: #73899a;
  font-size: 10.8px;
  font-weight: 700;
  line-height: 1.35;
}

.term-trend-card-head-v180 .trend-status-pill-v177 {
  flex: 0 0 auto;
  margin-top: 1px;
  padding: 7px 10px;
  font-size: 10.5px;
}

.term-trend-chart-v180 {
  min-width: 0;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 10px 0;
  scrollbar-width: thin;
  scrollbar-color: #ccdce8 transparent;
}

.term-trend-svg-v180 {
  display: block;
  width: 100%;
  min-width: 414px;
  height: 210px;
  overflow: visible;
}

/* 4기수까지는 카드 폭에 맞춰 그대로 보여주고, 더 많을 때만 가로 스크롤 */
.term-trend-card-v177:has(.term-trend-svg-v180) .trend-value-label-v177 {
  font-size: 13.8px !important;
  font-weight: 950 !important;
}

.term-trend-card-v177:has(.term-trend-svg-v180) .trend-term-label-v177 {
  font-size: 11.6px !important;
  font-weight: 860 !important;
}

.term-trend-card-v177:has(.term-trend-svg-v180) .trend-axis-label-v177 {
  font-size: 11.6px !important;
  font-weight: 860 !important;
}

.term-trend-card-v177:has(.term-trend-svg-v180) .trend-delta-text-v177 {
  font-size: 9.8px !important;
  font-weight: 900 !important;
}

.term-trend-stats-v180 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 2px 12px 12px;
  border-radius: 13px;
  background: #f4f8fb;
  overflow: hidden;
}

.term-trend-stats-v180 > div {
  min-width: 0;
  padding: 10px 12px 11px;
}

.term-trend-stats-v180 > div + div {
  border-left: 1px solid #dbe6ee;
}

.term-trend-stats-v180 small,
.term-trend-stats-v180 strong,
.term-trend-stats-v180 span {
  display: block;
}

.term-trend-stats-v180 small {
  color: #6d8597;
  font-size: 9.8px;
  font-weight: 850;
}

.term-trend-stats-v180 strong {
  margin-top: 3px;
  color: #0e4e84;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.term-trend-stats-v180 span {
  margin-top: 2px;
  color: #7a90a0;
  font-size: 9.3px;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.term-trend-empty-v180 {
  margin: 2px 12px 12px;
  padding: 12px 13px;
  border-radius: 13px;
  background: #f2f6f9;
}

.term-trend-empty-v180 b,
.term-trend-empty-v180 span {
  display: block;
}

.term-trend-empty-v180 b {
  color: #5f7688;
  font-size: 12px;
  font-weight: 900;
}

.term-trend-empty-v180 span {
  margin-top: 3px;
  color: #8495a2;
  font-size: 10px;
  font-weight: 700;
}

.term-trend-summary-v177 {
  margin-top: 14px !important;
}

@media (max-width: 1250px) {
  body:has(.completion-dashboard-host) .app-shell {
    width: min(100%, 1040px) !important;
  }
  .term-trend-dashboard-v177 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body:has(.completion-dashboard-host) .app-shell {
    width: min(100%, 760px) !important;
  }
  .term-trend-dashboard-v177 {
    grid-template-columns: 1fr !important;
  }
  .term-trend-card-head-v180 h4 {
    font-size: 15px;
  }
  .term-trend-svg-v180 {
    min-width: 430px;
  }
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-value-label-v177 {
    font-size: 13.2px !important;
  }
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-term-label-v177,
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-axis-label-v177 {
    font-size: 11.1px !important;
  }
  .term-trend-summary-grid-v177 {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   V181 기수별 변화 요약 > 한눈에 요약 가독성 확대
   ================================================== */
.term-trend-summary-v177 {
  padding: 17px 18px 18px !important;
}

.term-trend-summary-head-v177 {
  gap: 13px !important;
}

.term-trend-summary-head-v177 b {
  font-size: 19px !important;
  line-height: 1.3 !important;
}

.term-trend-summary-head-v177 span {
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

.term-trend-summary-grid-v177 {
  gap: 11px !important;
  margin-top: 13px !important;
}

.term-trend-summary-grid-v177 > div {
  min-height: 88px;
  padding: 14px 14px 14px 48px !important;
}

.term-trend-summary-grid-v177 i {
  left: 13px !important;
  top: 13px !important;
  width: 27px !important;
  height: 27px !important;
  font-size: 12px !important;
}

.term-trend-summary-grid-v177 b {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.term-trend-summary-grid-v177 p {
  margin-top: 6px !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
}

@media (max-width: 620px) {
  .term-trend-summary-head-v177 {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px !important;
  }
  .term-trend-summary-head-v177 b {
    font-size: 18px !important;
  }
  .term-trend-summary-head-v177 span {
    font-size: 12.5px !important;
  }
  .term-trend-summary-grid-v177 b {
    font-size: 13.5px !important;
  }
  .term-trend-summary-grid-v177 p {
    font-size: 12px !important;
  }
}


/* ==================================================
   V185 종강·탈락 분석 > 분석 요약 문구 정교화
   전체 누적 결과 / 최근 기수 변화 / 종합 판단을 한눈에 구분
   ================================================== */
.completion-summary-compact {
  padding: 18px 20px !important;
}

.completion-summary-lines {
  gap: 8px !important;
  margin-top: 11px !important;
}

.completion-summary-line {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid #dce9f3;
  border-radius: 12px;
  background: rgba(248, 252, 255, .92);
  font-size: 15px !important;
  line-height: 1.58 !important;
}

.completion-summary-line b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 9px;
  background: #e8f3fb;
  color: #135f96 !important;
  font-size: 13.5px;
  font-weight: 900 !important;
  line-height: 1.3;
  white-space: nowrap;
}

.completion-summary-line span {
  padding-top: 3px;
  color: #183d5a !important;
  font-weight: 730;
}

.completion-summary-line:last-child {
  border-color: #c9dfed;
  background: #f2f8fc;
}

.completion-summary-line:last-child b {
  background: #dceefa;
  color: #0d5c93 !important;
}

@media (max-width: 680px) {
  .completion-summary-line {
    grid-template-columns: 1fr !important;
    gap: 7px;
    padding: 11px 12px;
    font-size: 14.5px !important;
  }

  .completion-summary-line b {
    justify-content: flex-start;
    width: fit-content;
    font-size: 13px;
  }

  .completion-summary-line span {
    padding-top: 0;
  }
}


/* ==================================================
   V186 종강·탈락 분석 > 분석 요약 카드 분리형
   ================================================== */
.completion-summary-cards-v186 {
  padding: 18px 20px !important;
}

.completion-summary-cards-v186 .completion-summary-grid {
  margin-top: 12px;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.completion-summary-cards-v186 .completion-summary-card {
  min-width: 0;
  min-height: 100%;
  padding: 15px 16px;
  border: 1px solid #dce8f2;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(26, 78, 118, .04);
}

.completion-summary-cards-v186 .completion-summary-card-head {
  align-items: center;
  gap: 8px;
}

.completion-summary-cards-v186 .completion-summary-card-head b {
  font-size: 15px;
  font-weight: 850;
  color: #254b67;
}

.completion-summary-cards-v186 .completion-summary-icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 900;
}

.completion-summary-cards-v186 .completion-summary-card.blue {
  border-top: 4px solid #2d7fc0;
}

.completion-summary-cards-v186 .completion-summary-card.orange {
  border-top: 4px solid #df8a22;
}

.completion-summary-cards-v186 .completion-summary-card.navy {
  border-top: 4px solid #17476d;
}

.completion-summary-cards-v186 .completion-summary-card.blue .completion-summary-icon {
  background: #eef6fc;
  color: #236b9f;
}

.completion-summary-cards-v186 .completion-summary-card.orange .completion-summary-icon {
  background: #fff4e7;
  color: #bc6b15;
}

.completion-summary-cards-v186 .completion-summary-card.navy .completion-summary-icon {
  background: #edf3f8;
  color: #17476d;
}

.completion-summary-cards-v186 .completion-summary-card p {
  margin: 11px 0 0;
  color: #49677e;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 700;
}

@media (max-width: 980px) {
  .completion-summary-cards-v186 .completion-summary-grid {
    grid-template-columns: 1fr;
  }
}


/* ==================================================
   V187 종강·탈락 분석 > 분석 요약 가로형 4행
   핵심진단처럼 큰 박스 안에서 항목별로 보기 좋게 분리
   ================================================== */
.completion-summary-wide-v187 {
  border: 1px solid #cfe2f0 !important;
  border-left: 5px solid #2380bd !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f4faff 100%) !important;
  padding: 20px 22px !important;
  box-shadow: 0 8px 24px rgba(31, 91, 133, .06);
}

.completion-eyebrow-v187 {
  margin-bottom: 14px;
  color: #146aa2 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

.completion-summary-rows-v187 {
  display: grid;
  gap: 11px;
}

.completion-summary-row-v187 {
  display: grid;
  grid-template-columns: 48px 142px 1px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 82px;
  padding: 14px 18px;
  border: 1px solid #e1edf5;
  border-radius: 15px;
  background: rgba(247, 251, 255, .94);
}

.completion-summary-icon-v187 {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e9f4fc;
  color: #2885c5;
  font-size: 18px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(40, 133, 197, .04);
}

.completion-summary-row-v187.recent .completion-summary-icon-v187 {
  background: #eef6fc;
  color: #2a80bb;
}

.completion-summary-row-v187.teacher .completion-summary-icon-v187 {
  background: #edf3ff;
  color: #496fc5;
}

.completion-summary-row-v187.judgment .completion-summary-icon-v187 {
  background: #eaf3f9;
  color: #175f90;
}

.completion-summary-title-v187 {
  color: #0d3150;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.completion-summary-divider-v187 {
  width: 1px;
  height: 48px;
  background: #cfe1ee;
}

.completion-summary-copy-v187 {
  margin: 0;
  color: #173955;
  font-size: 16px;
  line-height: 1.62;
  font-weight: 700;
  letter-spacing: -.012em;
  word-break: keep-all;
}

@media (max-width: 760px) {
  .completion-summary-wide-v187 {
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .completion-summary-row-v187 {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 9px 12px;
    padding: 13px 14px;
    min-height: 0;
  }

  .completion-summary-icon-v187 {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    font-size: 16px;
  }

  .completion-summary-title-v187 {
    font-size: 17px;
  }

  .completion-summary-divider-v187 {
    display: none;
  }

  .completion-summary-copy-v187 {
    grid-column: 1 / -1;
    padding: 2px 2px 0;
    font-size: 15px;
    line-height: 1.58;
  }
}


/* ==================================================
   V188 종강·탈락 분석 > 분석 요약
   핵심진단의 종합 판단처럼 한 박스형 요약으로 통일
   ================================================== */
.completion-summary-v188 {
  border-left: 5px solid #267fbe;
  background: linear-gradient(135deg, #ffffff, #f4faff);
  padding: 18px 20px !important;
}

.completion-eyebrow-v188 {
  display: inline-block;
}

.completion-summary-intro-v188 {
  margin: 9px 0 0;
  color: #365f7c;
  font-size: 13px;
  line-height: 1.62;
  font-weight: 760;
}

.completion-summary-lines-v188 {
  margin-top: 12px !important;
  gap: 9px !important;
}

.completion-summary-line-v188 {
  grid-template-columns: 110px minmax(0, 1fr);
  padding: 11px 13px;
  background: rgba(248, 252, 255, .95);
}

.completion-summary-line-v188 b {
  min-height: 30px;
}

.completion-summary-line-v188 span {
  font-weight: 760;
}

@media (max-width: 680px) {
  .completion-summary-v188 {
    padding: 16px 16px !important;
  }

  .completion-summary-intro-v188 {
    font-size: 12.6px;
  }

  .completion-summary-line-v188 {
    grid-template-columns: 1fr !important;
    padding: 11px 12px;
  }
}


/* ==================================================
   V189 최근 완료기수의 같은 조건 비교
   그래프형 카드로 재구성
   ================================================== */
.peer-compare-card-v189 {
  padding: 18px 18px 16px;
}

.peer-card-head-v189 h3 {
  margin: 2px 0 0;
  font-size: 20px;
  font-weight: 800;
  color: #123b5c;
}

.peer-basis-v189 {
  margin: 10px 0 14px;
  font-size: 13.5px;
  color: #4a6781;
  font-weight: 650;
}

.peer-graph-grid-v189 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.peer-graph-card-v189 {
  border: 1px solid rgba(38, 127, 190, 0.16);
  border-radius: 18px;
  padding: 14px 15px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 8px 20px rgba(15, 52, 85, 0.05);
}

.peer-graph-head-v189 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.peer-graph-title-v189 b {
  display: block;
  font-size: 16px;
  color: #143752;
}

.peer-graph-title-v189 small {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: #6d8295;
}

.peer-rank-badge-v189 {
  flex-shrink: 0;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf5fb;
  color: #1e5b87;
  font-size: 13px;
  font-weight: 800;
}

.peer-graph-topline-v189 {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.peer-graph-topline-v189 strong {
  font-size: 28px;
  line-height: 1;
  color: #0d3251;
}

.peer-gap-badge-v189 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.peer-gap-badge-v189.up {
  background: rgba(25, 140, 79, 0.12);
  color: #177948;
}

.peer-gap-badge-v189.down {
  background: rgba(205, 52, 68, 0.12);
  color: #b53543;
}

.peer-gap-badge-v189.neutral {
  background: rgba(100, 118, 135, 0.10);
  color: #5c7083;
}

.peer-bars-v189 {
  margin-top: 12px;
  display: grid;
  gap: 9px;
}

.peer-bar-row-v189 {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 58px;
  align-items: center;
  gap: 10px;
}

.peer-bar-label-v189 {
  font-size: 13px;
  font-weight: 800;
  color: #355268;
}

.peer-bar-track-v189 {
  position: relative;
  height: 12px;
  border-radius: 999px;
  background: #e8eef4;
  overflow: hidden;
}

.peer-bar-fill-v189 {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}

.peer-bar-fill-v189.mine {
  background: linear-gradient(90deg, #2f7dd3, #4896e6);
}

.peer-bar-fill-v189.average {
  background: linear-gradient(90deg, #97a9ba, #b4c1ce);
}

.peer-bar-value-v189 {
  font-size: 13px;
  font-weight: 800;
  color: #153a58;
  text-align: right;
}

.peer-insight-v189 {
  margin-top: 14px;
}

@media (max-width: 680px) {
  .peer-card-head-v189 h3 {
    font-size: 18px;
  }

  .peer-graph-head-v189,
  .peer-graph-topline-v189 {
    flex-direction: column;
    align-items: flex-start;
  }

  .peer-graph-topline-v189 strong {
    font-size: 24px;
  }

  .peer-bar-row-v189 {
    grid-template-columns: 30px minmax(0, 1fr) 52px;
    gap: 8px;
  }
}


/* V191 종강·탈락 분석 같은 조건 비교 본문 */
.completion-peer-compare-body-v191 {
  margin-top: 4px;
}

/* ==================================================
   V192 종강·탈락 분석 > 최근 완료기수 같은 조건 비교
   다른 3개 핵심지표 카드와 비슷한 비율로 컴팩트하게 조정
   ================================================== */
.completion-peer-compare-body-v191 .peer-basis-v189 {
  margin: 7px 0 10px;
  font-size: 11.5px;
  line-height: 1.45;
}

.completion-peer-compare-body-v191 .peer-graph-grid-v189 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.completion-peer-compare-body-v191 .peer-graph-card-v189 {
  min-width: 0;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 6px 16px rgba(26, 78, 118, .045);
}

.completion-peer-compare-body-v191 .peer-graph-head-v189 {
  gap: 7px;
}

.completion-peer-compare-body-v191 .peer-graph-title-v189 b {
  font-size: 13.5px;
  line-height: 1.38;
}

.completion-peer-compare-body-v191 .peer-graph-title-v189 small {
  margin-top: 2px;
  font-size: 10px;
}

.completion-peer-compare-body-v191 .peer-rank-badge-v189 {
  padding: 5px 8px;
  font-size: 10.5px;
}

.completion-peer-compare-body-v191 .peer-graph-topline-v189 {
  margin-top: 9px;
  gap: 7px;
}

.completion-peer-compare-body-v191 .peer-graph-topline-v189 strong {
  font-size: 25px;
}

.completion-peer-compare-body-v191 .peer-gap-badge-v189 {
  padding: 5px 7px;
  font-size: 10px;
}

.completion-peer-compare-body-v191 .peer-bars-v189 {
  margin-top: 10px;
  gap: 7px;
}

.completion-peer-compare-body-v191 .peer-bar-row-v189 {
  grid-template-columns: 28px minmax(0, 1fr) 46px;
  gap: 7px;
}

.completion-peer-compare-body-v191 .peer-bar-label-v189,
.completion-peer-compare-body-v191 .peer-bar-value-v189 {
  font-size: 10.5px;
}

.completion-peer-compare-body-v191 .peer-bar-track-v189 {
  height: 9px;
}

.completion-peer-compare-body-v191 .peer-insight-v189 {
  margin-top: 11px;
  padding: 11px 13px;
}

.completion-peer-compare-body-v191 .peer-insight-v189 b {
  font-size: 11.5px;
}

.completion-peer-compare-body-v191 .peer-insight-v189 span {
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 680px) {
  .completion-peer-compare-body-v191 .peer-graph-grid-v189 {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .completion-peer-compare-body-v191 .peer-graph-head-v189,
  .completion-peer-compare-body-v191 .peer-graph-topline-v189 {
    flex-direction: row;
    align-items: center;
  }

  .completion-peer-compare-body-v191 .peer-graph-card-v189 {
    padding: 12px 13px;
  }

  .completion-peer-compare-body-v191 .peer-graph-topline-v189 strong {
    font-size: 23px;
  }
}


/* V193: 같은 조건 비교 약간 확대, 탈락·유급 기록 약간 축소 */

/* ==================================================
   V195 핵심진단 > 종합 판단
   종강·탈락 분석의 분석 요약처럼 부담 없이 읽히는 4행 구조
   ================================================== */
.diagnosis-summary {
  padding: 18px 20px;
}

.overview-judgment-lines-v195 {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.overview-judgment-line-v195 {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid #dce9f3;
  border-radius: 12px;
  background: rgba(248, 252, 255, .94);
}

.overview-judgment-line-v195 b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 9px;
  background: #e8f3fb;
  color: #135f96;
  font-size: 13.5px;
  font-weight: 900;
  line-height: 1.3;
  white-space: nowrap;
}

.overview-judgment-line-v195 span {
  min-width: 0;
  padding-top: 3px;
  color: #183d5a;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 760;
  letter-spacing: -.012em;
}

.overview-judgment-line-v195.key {
  border-color: #c9dfed;
  background: #f2f8fc;
}

.overview-judgment-line-v195.key b {
  background: #dceefa;
  color: #0d5c93;
}

@media (max-width: 680px) {
  .diagnosis-summary {
    padding: 16px;
  }

  .overview-judgment-lines-v195 {
    gap: 8px;
  }

  .overview-judgment-line-v195 {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 11px 12px;
  }

  .overview-judgment-line-v195 b {
    width: fit-content;
    justify-content: flex-start;
    font-size: 13px;
  }

  .overview-judgment-line-v195 span {
    padding-top: 0;
    font-size: 14.5px;
    line-height: 1.58;
  }
}


/* ==================================================
   V198 강점·보완 한눈에 보기 - 좌우 TOP 3 BI 카드
   계산/판정/순위 로직은 변경하지 않고 시각화만 개선
   ================================================== */

.strength-overview-v198 {
  padding: 22px;
  border-color: #dce7ef;
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(36, 105, 147, .055), transparent 34%),
    #ffffff;
  box-shadow: 0 12px 32px rgba(30, 73, 104, .07);
}

.strength-overview-head-v198 {
  align-items: center;
  padding-bottom: 17px;
  border-bottom: 1px solid #e8eef3;
}

.strength-overview-eyebrow-v198 {
  display: inline-block;
  margin-bottom: 6px;
  color: #6d8799;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .12em;
}

.strength-overview-head-v198 h3 {
  color: #123b58;
  font-size: 20px;
  letter-spacing: -.025em;
}

.strength-overview-head-v198 p {
  max-width: 720px;
  margin-top: 6px;
  color: #74899a;
  font-size: 12.8px;
}

.strength-overview-grid-v198 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.strength-overview-card-v198 {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e8ee;
  border-radius: 19px;
  background: #ffffff;
  box-shadow: 0 7px 20px rgba(35, 73, 99, .055);
}

.strength-overview-card-v198::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  opacity: .95;
}

.strength-overview-card-v198.strength::before {
  background: #2b9270;
}

.strength-overview-card-v198.improve::before {
  background: #c96359;
}

.strength-card-header-v198 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 13px;
}

.strength-card-kicker-v198 {
  display: block;
  margin-bottom: 5px;
  color: #91a1ad;
  font-size: 9.5px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .105em;
}

.strength-card-header-v198 h4 {
  margin: 0;
  color: #173f5b;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: -.02em;
}

.strength-overview-card-v198.strength .strength-card-header-v198 h4 {
  color: #1f6f59;
}

.strength-overview-card-v198.improve .strength-card-header-v198 h4 {
  color: #9c4f4b;
}

.strength-card-count-v198 {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  min-width: 44px;
  justify-content: center;
  padding: 7px 9px;
  border: 1px solid #e4ebf0;
  border-radius: 11px;
  background: #f8fafc;
  color: #234d69;
  font-size: 15px;
  font-weight: 950;
}

.strength-card-count-v198 small {
  color: #9aabb7;
  font-size: 10px;
  font-weight: 850;
}

.strength-card-list-v198 {
  display: grid;
  gap: 8px;
  padding: 0 12px 12px;
}

.strength-card-row-v198 {
  display: grid;
  grid-template-columns: 48px minmax(105px, .95fr) minmax(95px, 1.25fr) 62px 88px;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 12px 11px;
  border: 1px solid #edf1f4;
  border-radius: 14px;
  background: #fbfcfd;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.strength-card-row-v198.top-1 {
  padding-top: 14px;
  padding-bottom: 14px;
  background: #ffffff;
  box-shadow: 0 6px 16px rgba(34, 72, 98, .065);
}

.strength-card-row-v198.strength.top-1 {
  border-color: rgba(43, 146, 112, .24);
  background: linear-gradient(90deg, rgba(43, 146, 112, .055), #fff 42%);
}

.strength-card-row-v198.improve.top-1 {
  border-color: rgba(201, 99, 89, .24);
  background: linear-gradient(90deg, rgba(201, 99, 89, .055), #fff 42%);
}

.strength-rank-v198 {
  display: grid;
  justify-items: start;
  gap: 3px;
}

.strength-rank-v198 > span {
  color: #718596;
  font-size: 15px;
  line-height: 1;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}

.strength-card-row-v198.strength .strength-rank-v198 > span {
  color: #3a856c;
}

.strength-card-row-v198.improve .strength-rank-v198 > span {
  color: #ad5b56;
}

.strength-card-row-v198.top-1 .strength-rank-v198 > span {
  font-size: 19px;
}

.strength-rank-v198 em {
  display: inline-flex;
  padding: 3px 5px;
  border-radius: 6px;
  background: #edf2f5;
  color: #6c8190;
  font-size: 8px;
  line-height: 1;
  font-style: normal;
  font-weight: 950;
  letter-spacing: .04em;
}

.strength-card-row-v198.strength .strength-rank-v198 em {
  background: #e8f5ef;
  color: #28765d;
}

.strength-card-row-v198.improve .strength-rank-v198 em {
  background: #fbedeb;
  color: #9c514c;
}

.strength-metric-v198 {
  min-width: 0;
}

.strength-metric-v198 strong,
.strength-metric-v198 span {
  display: block;
  min-width: 0;
}

.strength-metric-v198 strong {
  overflow: hidden;
  color: #1c4058;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strength-card-row-v198.top-1 .strength-metric-v198 strong {
  color: #123a55;
  font-size: 14px;
  font-weight: 950;
}

.strength-metric-v198 span {
  margin-top: 4px;
  color: #8a9ba8;
  font-size: 9.8px;
  line-height: 1.25;
  font-weight: 750;
  white-space: nowrap;
}

.strength-progress-v198 {
  min-width: 0;
}

.strength-progress-track-v198 {
  display: block;
  position: relative;
  width: 100%;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #eaf0f4;
  box-shadow: inset 0 1px 2px rgba(38, 72, 96, .08);
}

.strength-progress-track-v198 i {
  display: block;
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
}

.strength-card-row-v198.strength .strength-progress-track-v198 i {
  background: #378f72;
}

.strength-card-row-v198.improve .strength-progress-track-v198 i {
  background: #c96e65;
}

.strength-card-row-v198.top-1 .strength-progress-track-v198 {
  height: 11px;
}

.strength-card-row-v198.top-1.strength .strength-progress-track-v198 i {
  background: #247b60;
}

.strength-card-row-v198.top-1.improve .strength-progress-track-v198 i {
  background: #b7554e;
}

.strength-value-v198 {
  justify-self: end;
  color: #173e58;
  font-size: 13.5px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.strength-card-row-v198.top-1 .strength-value-v198 {
  font-size: 16px;
}

.strength-gap-v198 {
  justify-self: stretch;
  min-width: 0;
  padding: 6px 7px;
  border-radius: 8px;
  text-align: center;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.strength-gap-v198.strength {
  background: #eaf6f1;
  color: #24785e;
}

.strength-gap-v198.improve {
  background: #fbeeed;
  color: #a84f49;
}

.strength-card-row-v198.top-1 .strength-gap-v198 {
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 11px;
}

.strength-card-footer-v198 {
  margin: 0 12px 12px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #f6f8fa;
  color: #7a8d9b;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 850;
}

.strength-overview-card-v198.strength .strength-card-footer-v198 {
  background: #f2f8f5;
  color: #4f806f;
}

.strength-overview-card-v198.improve .strength-card-footer-v198 {
  background: #fbf5f4;
  color: #8f6965;
}

.strength-card-empty-v198 {
  min-height: 174px;
  display: grid;
  place-content: center;
  gap: 7px;
  padding: 20px;
  border: 1px dashed #dce5eb;
  border-radius: 14px;
  background: #fafcfd;
  text-align: center;
}

.strength-card-empty-v198 strong {
  color: #526d80;
  font-size: 12.5px;
}

.strength-card-empty-v198 span {
  color: #8b9daa;
  font-size: 10.5px;
  line-height: 1.45;
}

.strength-overview-legend-v198 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 13px;
  padding: 0 2px;
  color: #8396a4;
  font-size: 10.5px;
  line-height: 1.45;
}

.strength-overview-legend-v198 span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.strength-overview-legend-v198 b {
  color: #5e7687;
  font-weight: 950;
}

@media (max-width: 1080px) {
  .strength-card-row-v198 {
    grid-template-columns: 42px minmax(100px, 1fr) minmax(70px, 1fr) 58px;
  }

  .strength-gap-v198 {
    grid-column: 2 / -1;
    justify-self: start;
    width: auto;
    margin-top: -2px;
  }
}

@media (max-width: 760px) {
  .strength-overview-v198 {
    padding: 17px 14px;
    border-radius: 18px;
  }

  .strength-overview-head-v198 {
    align-items: flex-start;
  }

  .strength-overview-head-v198 h3 {
    font-size: 18px;
  }

  .strength-overview-head-v198 p {
    font-size: 12px;
  }

  .strength-overview-grid-v198 {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-top: 14px;
  }

  .strength-card-row-v198 {
    grid-template-columns: 42px minmax(0, 1fr) 58px;
    gap: 7px;
    padding: 11px 9px;
  }

  .strength-metric-v198 {
    grid-column: 2;
  }

  .strength-value-v198 {
    grid-column: 3;
    grid-row: 1;
  }

  .strength-progress-v198 {
    grid-column: 2 / -1;
    width: 100%;
  }

  .strength-gap-v198 {
    grid-column: 2 / -1;
    justify-self: start;
    margin-top: 0;
  }

  .strength-rank-v198 {
    grid-row: 1 / span 3;
    align-self: start;
    padding-top: 2px;
  }
}

@media (max-width: 430px) {
  .strength-overview-v198 {
    margin-left: -2px;
    margin-right: -2px;
    padding: 15px 10px;
  }

  .strength-overview-head-v198 {
    display: block;
  }

  .strength-overview-head-v198 .priority-basis-chip {
    display: inline-flex;
    margin-top: 10px;
    padding: 6px 8px;
    font-size: 10px;
  }

  .strength-card-header-v198 {
    padding: 16px 13px 11px;
  }

  .strength-card-header-v198 h4 {
    font-size: 16px;
  }

  .strength-card-list-v198 {
    gap: 7px;
    padding: 0 8px 8px;
  }

  .strength-card-row-v198 {
    grid-template-columns: 36px minmax(0, 1fr) 56px;
    gap: 6px;
    padding: 10px 8px;
    border-radius: 12px;
  }

  .strength-card-row-v198.top-1 {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .strength-rank-v198 > span {
    font-size: 13px;
  }

  .strength-card-row-v198.top-1 .strength-rank-v198 > span {
    font-size: 17px;
  }

  .strength-rank-v198 em {
    padding: 2px 4px;
    font-size: 7px;
  }

  .strength-metric-v198 strong {
    font-size: 12.2px;
  }

  .strength-card-row-v198.top-1 .strength-metric-v198 strong {
    font-size: 13px;
  }

  .strength-metric-v198 span {
    margin-top: 3px;
    font-size: 9px;
  }

  .strength-value-v198 {
    font-size: 12.5px;
  }

  .strength-card-row-v198.top-1 .strength-value-v198 {
    font-size: 14px;
  }

  .strength-gap-v198 {
    padding: 5px 6px;
    font-size: 9.8px;
  }

  .strength-card-footer-v198 {
    margin: 0 8px 8px;
    padding: 9px 10px;
    font-size: 10px;
  }

  .strength-overview-legend-v198 {
    display: grid;
    gap: 4px;
    margin-top: 10px;
    font-size: 9.8px;
  }
}

/* V198 compact layout correction: 760px 앱 셸의 2열 카드에서도 넘침 없이 표시 */
.strength-card-row-v198 {
  grid-template-columns: 36px minmax(0, 1fr) 82px;
  grid-template-rows: auto auto;
  gap: 7px 8px;
  padding: 11px 10px;
}

.strength-rank-v198 {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
}

.strength-metric-v198 {
  grid-column: 2;
  grid-row: 1;
}

.strength-value-v198 {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}

.strength-progress-v198 {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
}

.strength-gap-v198 {
  grid-column: 3;
  grid-row: 2;
  justify-self: stretch;
  width: auto;
  margin: 0;
}

.strength-card-row-v198.top-1 {
  padding-top: 13px;
  padding-bottom: 13px;
}

@media (max-width: 430px) {
  .strength-card-row-v198 {
    grid-template-columns: 32px minmax(0, 1fr) 72px;
    gap: 6px;
    padding: 10px 7px;
  }

  .strength-rank-v198 {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    padding-top: 0;
  }

  .strength-metric-v198 {
    grid-column: 2;
    grid-row: 1;
  }

  .strength-value-v198 {
    grid-column: 3;
    grid-row: 1;
  }

  .strength-progress-v198 {
    grid-column: 2;
    grid-row: 2;
  }

  .strength-gap-v198 {
    grid-column: 3;
    grid-row: 2;
  }
}

/* ==================================================
   V199 핵심진단 - 직전 기수와 최근 기수 변화 프리미엄 비교
   - 실제 비율 + 변화폭 + 방향을 한 카드에서 동시 확인
   - 4개 지표 2열 카드 / 모바일 1열
   - 계산/판정 로직은 변경하지 않고 표시만 개선
   ================================================== */

#overviewRecentSection {
  border: 1px solid #d7e4ef;
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(27, 72, 108, 0.07);
  overflow: hidden;
}

#overviewRecentSection .panel-headline {
  padding-bottom: 4px;
}

#overviewRecentSection .panel-title {
  letter-spacing: -0.02em;
}

.recent-change-card-v199 {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.recent-change-hero-v199 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 15px 17px;
  border: 1px solid #dce8f1;
  border-radius: 16px;
  background: linear-gradient(135deg, #f8fbfd 0%, #f1f7fb 100%);
}

.recent-change-period-v199 {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.recent-change-period-v199 > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.recent-change-period-v199 small {
  color: #8195a5;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .01em;
}

.recent-change-period-v199 b {
  color: #345b77;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
  white-space: nowrap;
}

.recent-change-period-v199 .latest b {
  color: #0f5f99;
}

.recent-change-period-arrow-v199 {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid #d6e5ef;
  border-radius: 999px;
  background: #ffffff;
  color: #6e8da3;
  font-size: 15px;
  font-weight: 950;
  box-shadow: 0 3px 10px rgba(44, 88, 120, .06);
}

.recent-change-counts-v199 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.recent-change-counts-v199 > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 29px;
  padding: 6px 9px;
  border: 1px solid #dfe8ef;
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: #617b8f;
  font-size: 10.5px;
  font-weight: 850;
  white-space: nowrap;
}

.recent-change-counts-v199 > span b {
  font-size: 11.5px;
  font-weight: 950;
}

.recent-change-counts-v199 .up { color: #1672aa; border-color: #cfe3f1; background: #f4f9fd; }
.recent-change-counts-v199 .down { color: #bd4c4c; border-color: #edd6d6; background: #fff7f7; }
.recent-change-counts-v199 .flat { color: #6d8292; }
.recent-change-counts-v199 .max { color: #315c78; background: #eef5fa; border-color: #d2e1ec; }

.recent-metric-grid-v199 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 13px;
}

.recent-metric-card-v199 {
  position: relative;
  min-width: 0;
  padding: 17px 17px 15px;
  border: 1px solid #dce7ef;
  border-radius: 17px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(31, 72, 102, 0.055);
  overflow: hidden;
}

.recent-metric-card-v199::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #d7e1e8;
}

.recent-metric-card-v199.up::before { background: #2f87bd; }
.recent-metric-card-v199.down::before { background: #d86a6a; }
.recent-metric-card-v199.flat::before { background: #9aaeba; }

.recent-metric-card-v199.spotlight {
  border-color: #c6dce9;
  box-shadow: 0 11px 28px rgba(24, 83, 122, .09);
}

.recent-metric-head-v199 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.recent-metric-title-v199 {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.recent-metric-index-v199 {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 9px;
  background: #f0f5f8;
  color: #7b91a1;
  font-size: 10.5px;
  font-weight: 950;
}

.recent-metric-title-v199 b {
  min-width: 0;
  color: #244c68;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

.recent-metric-state-v199 {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 950;
}

.recent-metric-state-v199.up { color: #126fa7; background: #eaf5fb; }
.recent-metric-state-v199.down { color: #b74747; background: #fff0f0; }
.recent-metric-state-v199.flat { color: #687e8d; background: #eef3f6; }

.recent-metric-kpi-v199 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}

.recent-metric-latest-v199 {
  display: grid;
  gap: 1px;
}

.recent-metric-latest-v199 small {
  color: #7b91a2;
  font-size: 10.5px;
  font-weight: 850;
}

.recent-metric-latest-v199 strong {
  color: #193f5a;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.04em;
}

.recent-metric-latest-v199 strong em {
  margin-left: 2px;
  color: #6f8798;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
}

.recent-metric-delta-v199 {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 4px;
  padding: 7px 9px;
  border-radius: 10px;
  background: #f4f7f9;
  color: #687e8e;
}

.recent-metric-delta-v199 > span,
.recent-metric-delta-v199 > strong {
  font-size: 14px;
  font-weight: 950;
}

.recent-metric-delta-v199 > small {
  grid-column: 1 / -1;
  margin-top: 2px;
  color: #8a9ba8;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: -0.1px;
  text-align: right;
}

.recent-metric-delta-v199.up { color: #116fa8; background: #edf7fc; }
.recent-metric-delta-v199.down { color: #bb4a4a; background: #fff2f2; }

.recent-metric-compare-v199 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  margin-top: 14px;
  padding: 9px 10px;
  border: 1px solid #e3ebf1;
  border-radius: 12px;
  background: #f9fbfc;
}

.recent-metric-compare-v199 > span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}

.recent-metric-compare-v199 small {
  overflow: hidden;
  color: #8497a6;
  font-size: 9.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-metric-compare-v199 b {
  flex: 0 0 auto;
  color: #596f7f;
  font-size: 12px;
  font-weight: 950;
}

.recent-metric-compare-v199 .latest b { color: #145f93; }

.recent-metric-compare-v199 > i {
  color: #9aabb6;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}

.recent-range-v199 {
  margin-top: 13px;
}

.recent-range-scale-v199 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
  color: #9aaab5;
  font-size: 8.5px;
  font-weight: 800;
}

.recent-range-track-v199 {
  position: relative;
  height: 16px;
  margin: 0 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #edf2f5 0%, #f6f8fa 50%, #edf2f5 100%);
}

.recent-range-mid-v199 {
  position: absolute;
  left: 50%;
  top: 2px;
  bottom: 2px;
  width: 1px;
  background: #d5dfe6;
}

.recent-range-connector-v199 {
  position: absolute;
  top: 6px;
  height: 4px;
  border-radius: 999px;
  background: #9cafbb;
}

.recent-range-connector-v199.up { background: #6aa9cf; }
.recent-range-connector-v199.down { background: #d98d8d; }

.recent-range-dot-v199 {
  position: absolute;
  top: 50%;
  width: 13px;
  height: 13px;
  transform: translate(-50%, -50%);
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 5px rgba(36, 69, 91, .2);
  z-index: 3;
}

.recent-range-dot-v199.previous { background: #9eafb9; }
.recent-range-dot-v199.latest.up { background: #247fb5; }
.recent-range-dot-v199.latest.down { background: #ce6060; }
.recent-range-dot-v199.latest.flat { background: #718998; }

.recent-range-legend-v199 {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 8px;
  color: #6f8594;
  font-size: 13px;
  font-weight: 900;
}

.recent-range-legend-v199 > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.recent-range-legend-v199 i {
  display: inline-block;
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #9eafb9;
  box-shadow: 0 0 0 1px rgba(50, 82, 102, .10);
}

.recent-range-legend-v199 i.latest.up { background: #247fb5; }
.recent-range-legend-v199 i.latest.down { background: #ce6060; }
.recent-range-legend-v199 i.latest.flat { background: #718998; }

.recent-metric-spotlight-v199 {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px dashed #dce7ed;
  color: #496d84;
  font-size: 10.5px;
  font-weight: 900;
}

.recent-change-insight-v199 {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  margin-top: 13px;
  padding: 13px 15px;
  border: 1px solid #d4e3ed;
  border-radius: 14px;
  background: #f0f7fb;
}

.recent-change-insight-label-v199 {
  padding-right: 13px;
  border-right: 1px solid #d4e2eb;
  color: #0e6099;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.recent-change-insight-v199 p {
  margin: 0;
  color: #365b74;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}

@media (max-width: 860px) {
  .recent-change-hero-v199 {
    grid-template-columns: 1fr;
  }

  .recent-change-counts-v199 {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  #overviewRecentSection {
    border-radius: 17px;
  }

  .recent-change-hero-v199 {
    padding: 13px;
    gap: 11px;
  }

  .recent-change-period-v199 {
    gap: 8px;
  }

  .recent-change-period-v199 b {
    font-size: 12.5px;
  }

  .recent-change-period-arrow-v199 {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }

  .recent-change-counts-v199 {
    gap: 5px;
  }

  .recent-change-counts-v199 > span {
    padding: 5px 7px;
    font-size: 9.5px;
  }

  .recent-change-counts-v199 .max {
    width: 100%;
    justify-content: center;
  }

  .recent-metric-grid-v199 {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .recent-metric-card-v199 {
    padding: 15px 14px 13px;
  }

  .recent-metric-title-v199 b {
    font-size: 14px;
  }

  .recent-metric-latest-v199 strong {
    font-size: 27px;
  }

  .recent-metric-compare-v199 {
    grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    padding: 8px;
  }

  .recent-metric-compare-v199 > span {
    display: grid;
    gap: 1px;
  }

  .recent-metric-compare-v199 small {
    font-size: 9px;
  }

  .recent-change-insight-v199 {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .recent-change-insight-label-v199 {
    padding-right: 0;
    padding-bottom: 6px;
    border-right: 0;
    border-bottom: 1px solid #d4e2eb;
  }

  .recent-change-insight-v199 p {
    font-size: 12px;
  }
}

@media (max-width: 390px) {
  .recent-change-period-v199 small {
    font-size: 9px;
  }

  .recent-change-period-v199 b {
    font-size: 11.5px;
  }

  .recent-metric-kpi-v199 {
    align-items: center;
  }

  .recent-metric-delta-v199 {
    padding: 6px 8px;
  }

  .recent-metric-delta-v199 > span,
  .recent-metric-delta-v199 > strong {
    font-size: 13px;
  }
}

/* ==================================================
   V206 강점·보완 분석 - 3기준 분리형 TOP3
   ================================================== */
.strength-overview-v206{display:grid;gap:18px}
.strength-overview-head-v206{padding-bottom:18px}
.strength-basis-stack-v206{display:grid;gap:16px}
.strength-basis-block-v206{border:1px solid #e1eaf0;border-radius:20px;background:linear-gradient(180deg,rgba(247,250,252,.82),#fff 30%);box-shadow:0 8px 24px rgba(34,75,104,.05);padding:17px 16px 15px}
.strength-basis-block-v206.same_term{border-color:#d9e6ef}
.strength-basis-block-v206.cumulative{border-color:#dce9e4}
.strength-basis-block-v206.recent{border-color:#e5e3ef}
.strength-basis-head-v206{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #edf2f5}
.strength-basis-kicker-v206{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef4f8;color:#4f7086;font-size:10px;line-height:1;font-weight:950;letter-spacing:.04em}
.strength-basis-head-v206 h4{margin:8px 0 0;color:#173f5b;font-size:18px;line-height:1.28;font-weight:950;letter-spacing:-.022em}
.strength-basis-head-v206 p{margin:6px 0 0;max-width:760px;color:#7e93a3;font-size:12.4px;line-height:1.5}
.strength-basis-chip-v206{display:inline-flex;align-items:center;justify-content:center;max-width:330px;padding:8px 10px;border:1px solid #dce7ee;border-radius:11px;background:#f7fafc;color:#486b82;font-size:10.8px;line-height:1.3;font-weight:900;text-align:center}
.strength-overview-grid-v206{margin-top:14px}
.strength-card-row-v206{grid-template-columns:40px minmax(0,1.08fr) minmax(90px,1.15fr) 84px 94px}
.strength-value-stack-v206,.strength-gap-stack-v206{display:grid;align-content:center;justify-items:end;gap:4px;min-width:0}
.strength-value-stack-v206{grid-column:4;grid-row:1/span 2}
.strength-gap-stack-v206{grid-column:5;grid-row:1/span 2}
.strength-value-caption-v206,.strength-gap-caption-v206{color:#7f92a2;font-size:9.3px;line-height:1.1;font-weight:850;white-space:nowrap}
.strength-gap-v206.up{background:#eaf6f1;color:#24785e}
.strength-gap-v206.down{background:#fbeeed;color:#a84f49}
.strength-gap-v206.flat{background:#eef3f6;color:#5f7688}
.strength-basis-legend-v206{margin-top:12px}
.strength-basis-legend-v206 span{white-space:normal}
@media(max-width:1080px){.strength-card-row-v206{grid-template-columns:38px minmax(0,1fr) minmax(70px,1fr) 78px 88px}}
@media(max-width:760px){
  .strength-basis-block-v206{padding:14px 12px 12px;border-radius:18px}
  .strength-basis-head-v206{display:block;padding-bottom:12px}
  .strength-basis-head-v206 h4{font-size:17px}.strength-basis-head-v206 p{font-size:12px}
  .strength-basis-chip-v206{margin-top:10px;max-width:100%}
  .strength-card-row-v206{grid-template-columns:40px minmax(0,1fr) 74px;grid-template-rows:auto auto auto;gap:6px 7px}
  .strength-card-row-v206 .strength-rank-v198{grid-column:1;grid-row:1/span 3;align-self:start}
  .strength-card-row-v206 .strength-metric-v198{grid-column:2;grid-row:1}
  .strength-card-row-v206 .strength-value-stack-v206{grid-column:3;grid-row:1}
  .strength-card-row-v206 .strength-progress-v198{grid-column:2/-1;grid-row:2}
  .strength-card-row-v206 .strength-gap-stack-v206{grid-column:2/-1;grid-row:3;justify-items:start}
}
@media(max-width:430px){
  .strength-overview-v206{gap:14px}
  .strength-basis-block-v206{padding:13px 9px 10px;margin-left:-1px;margin-right:-1px}
  .strength-basis-kicker-v206{font-size:9.3px}.strength-basis-head-v206 h4{font-size:15.8px}.strength-basis-head-v206 p{font-size:11.3px}
  .strength-basis-chip-v206{padding:6px 8px;font-size:9.8px}
  .strength-card-row-v206{grid-template-columns:34px minmax(0,1fr) 66px;padding:9px 7px}
  .strength-value-caption-v206,.strength-gap-caption-v206{font-size:8.5px}
}

/* ==================================================
   V207 강점·보완 TOP3 카드 지표명 가시성 수정
   - 카드가 2열일 때 5열 구조가 너무 좁아 지표명이 가려지는 문제 해결
   - 모든 화면에서 카드 내부를 순위 / 지표명 / 수치 중심의 3열·3행 구조로 고정
   ================================================== */

.strength-card-row-v206 {
  grid-template-columns: 38px minmax(0, 1fr) 78px;
  grid-template-rows: auto auto auto;
  gap: 7px 8px;
  align-items: center;
  min-width: 0;
}

.strength-card-row-v206 .strength-rank-v198 {
  grid-column: 1;
  grid-row: 1 / span 3;
  align-self: start;
  padding-top: 2px;
}

.strength-card-row-v206 .strength-metric-v198 {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: visible;
}

.strength-card-row-v206 .strength-metric-v198 strong {
  display: block;
  overflow: visible;
  color: #173f5b;
  font-size: 13.4px;
  line-height: 1.28;
  font-weight: 950;
  text-overflow: clip;
  white-space: normal;
  word-break: keep-all;
}

.strength-card-row-v206.top-1 .strength-metric-v198 strong {
  font-size: 14.2px;
}

.strength-card-row-v206 .strength-metric-v198 span {
  display: block;
  margin-top: 4px;
  overflow: visible;
  color: #8195a4;
  font-size: 9.8px;
  line-height: 1.35;
  font-weight: 800;
  white-space: normal;
  word-break: keep-all;
}

.strength-card-row-v206 .strength-value-stack-v206 {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  justify-items: end;
  padding-top: 1px;
}

.strength-card-row-v206 .strength-progress-v198 {
  grid-column: 2 / -1;
  grid-row: 2;
  width: 100%;
  min-width: 0;
}

.strength-card-row-v206 .strength-gap-stack-v206 {
  grid-column: 2 / -1;
  grid-row: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  min-width: 0;
}

.strength-card-row-v206 .strength-gap-v206 {
  flex: none;
}

.strength-card-row-v206 .strength-gap-caption-v206 {
  flex: none;
}

@media (max-width: 430px) {
  .strength-card-row-v206 {
    grid-template-columns: 32px minmax(0, 1fr) 68px;
    gap: 6px 7px;
    padding: 10px 7px;
  }

  .strength-card-row-v206 .strength-metric-v198 strong {
    font-size: 12.7px;
  }

  .strength-card-row-v206.top-1 .strength-metric-v198 strong {
    font-size: 13.4px;
  }

  .strength-card-row-v206 .strength-metric-v198 span {
    font-size: 9.1px;
  }
}

/* ==================================================
   V208 강점·보완 TOP3 카드 우측 수치 잘림 보정
   - V207에서 지표명은 보이지만 우측 수치가 잘리는 문제 수정
   - 수치 전용 칸 너비/우측 여백/정렬 폭을 고정해 % 값이 항상 끝까지 보이도록 조정
   ================================================== */

.strength-card-row-v206 {
  grid-template-columns: 38px minmax(0, 1fr) minmax(96px, 108px);
  gap: 7px 10px;
  padding-right: 13px;
}

.strength-card-row-v206 .strength-value-stack-v206 {
  min-width: 96px;
  width: 100%;
  justify-self: end;
  justify-items: stretch;
  align-self: start;
  padding-top: 1px;
  padding-right: 1px;
  overflow: visible;
}

.strength-card-row-v206 .strength-value-v198 {
  display: block;
  width: 100%;
  min-width: 0;
  text-align: right;
  color: #103a58;
  font-size: 15px;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.01em;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
}

.strength-card-row-v206.top-1 .strength-value-v198 {
  font-size: 16.8px;
}

.strength-card-row-v206 .strength-value-caption-v206 {
  display: block;
  width: 100%;
  margin-top: 1px;
  text-align: right;
  font-size: 9.6px;
  white-space: nowrap;
}

.strength-card-row-v206 .strength-progress-v198 {
  margin-right: 2px;
}

@media (max-width: 760px) {
  .strength-card-row-v206 {
    grid-template-columns: 38px minmax(0, 1fr) minmax(82px, 92px);
    gap: 6px 8px;
    padding-right: 11px;
  }

  .strength-card-row-v206 .strength-value-stack-v206 {
    min-width: 82px;
  }

  .strength-card-row-v206 .strength-value-v198 {
    font-size: 14px;
  }

  .strength-card-row-v206.top-1 .strength-value-v198 {
    font-size: 15.2px;
  }

  .strength-card-row-v206 .strength-value-caption-v206 {
    font-size: 9px;
  }
}

@media (max-width: 430px) {
  .strength-card-row-v206 {
    grid-template-columns: 32px minmax(0, 1fr) minmax(78px, 86px);
    gap: 6px 7px;
    padding-right: 9px;
  }

  .strength-card-row-v206 .strength-value-stack-v206 {
    min-width: 78px;
    padding-right: 0;
  }

  .strength-card-row-v206 .strength-value-v198 {
    font-size: 13.4px;
  }

  .strength-card-row-v206.top-1 .strength-value-v198 {
    font-size: 14.4px;
  }

  .strength-card-row-v206 .strength-value-caption-v206 {
    font-size: 8.5px;
  }
}

/* ==================================================
   V209 강점·보완 3개 섹션 제목 아래 설명 문구 가독성 개선
   - 1/2/3번 제목 바로 아래 설명을 더 크게, 더 쉽게 읽히도록 조정
   ================================================== */

.strength-basis-head-v206 h4 {
  font-size: 18.8px;
}

.strength-basis-head-v206 p {
  margin-top: 7px;
  color: #6f8596;
  font-size: 13.6px;
  line-height: 1.6;
  font-weight: 700;
}

@media (max-width: 760px) {
  .strength-basis-head-v206 h4 {
    font-size: 17.6px;
  }

  .strength-basis-head-v206 p {
    font-size: 13px;
    line-height: 1.58;
  }
}

@media (max-width: 430px) {
  .strength-basis-head-v206 h4 {
    font-size: 16.4px;
  }

  .strength-basis-head-v206 p {
    font-size: 12.2px;
    line-height: 1.55;
  }
}

/* ==================================================
   V210 강점·보완 분석 상단 요약 박스 정리
   - 핵심진단의 종합판단처럼 4행 구조로 가볍게 읽히도록 정리
   - 핵심 결론 / 대표 강점 / 우선 보완 / 비교 기준
   ================================================== */

.strength-summary-v210 {
  border-left: 1px solid #d8e6f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 8px 22px rgba(26, 78, 118, .06);
}

.strength-summary-v210 .strength-eyebrow {
  color: #1b679b;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: -.01em;
}

.strength-summary-subtitle-v210 {
  margin: 7px 0 0;
  color: #6f8596;
  font-size: 13.6px;
  line-height: 1.58;
  font-weight: 760;
}

.strength-summary-lines-v210 {
  margin-top: 12px;
}

.strength-summary-line-v210 b {
  min-width: 104px;
}

.strength-summary-line-v210 span {
  color: #173f5b;
}

@media (max-width: 680px) {
  .strength-summary-v210 {
    border-radius: 18px;
  }

  .strength-summary-subtitle-v210 {
    font-size: 12.8px;
    line-height: 1.55;
  }

  .strength-summary-line-v210 b {
    min-width: 0;
  }
}

@media (max-width: 430px) {
  .strength-summary-subtitle-v210 {
    font-size: 12.1px;
    line-height: 1.52;
  }
}

/* ==================================================
   V213 기수 비교·추이 - 간결한 프리미엄 KPI 카드
   - 212의 과한 정보 제거
   - 최근값 / 직전대비 / 추이 / 최고기록만 남김
   ================================================== */

.compare-report-section-v213 {
  margin-top: 16px;
}

.compare-report-section-head-v213 {
  margin-bottom: 10px;
  padding-left: 10px;
  border-left-width: 4px;
}

.compare-report-section-head-v213 b {
  color: #264b64;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.compare-report-section-head-v213 span {
  color: #758b9a;
  font-size: 11.5px;
  font-weight: 800;
}

.compare-kpi-grid-v213 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.compare-kpi-card-v213 {
  min-width: 0;
  padding: 15px 14px 12px;
  border: 1px solid #d8e4ed;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 8px 20px rgba(28, 70, 102, .055);
  overflow: hidden;
}

.compare-kpi-card-v213.good { border-top: 4px solid #2fa06e; }
.compare-kpi-card-v213.warn { border-top: 4px solid #d35a63; }
.compare-kpi-card-v213.info { border-top: 4px solid #3d88b6; }
.compare-kpi-card-v213.neutral { border-top: 4px solid #96a6b1; }

.compare-kpi-top-v213 {
  align-items: flex-start;
  gap: 8px;
}

.compare-kpi-top-v213 > span {
  color: #21455f;
  font-size: 15.5px;
  line-height: 1.28;
  font-weight: 950;
  letter-spacing: -.02em;
}

.compare-kpi-diff-v213 {
  padding: 5px 7px;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 950;
}

.compare-kpi-value-v213 {
  margin-top: 13px;
  color: #173d57;
  font-size: 30px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.035em;
}

.compare-kpi-sub-v213 {
  margin-top: 5px;
  color: #8195a3;
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compare-spark-wrap-v213 {
  height: 80px;
  margin: 11px -1px 5px;
}

.compare-spark-v213 {
  overflow: visible;
}

.compare-spark-v213 .spark-mid-v213 {
  stroke: #f0f4f7;
  stroke-width: 1;
}

.compare-spark-v213 .spark-area-v213 {
  opacity: .10;
}

.compare-spark-v213.good .spark-area-v213 { fill: #2f9a6d; }
.compare-spark-v213.warn .spark-area-v213 { fill: #c95661; }
.compare-spark-v213.info .spark-area-v213 { fill: #3f88b5; }
.compare-spark-v213.neutral .spark-area-v213 { fill: #8a9ba5; }

.compare-spark-v213 .spark-line-v105 {
  stroke-width: 2.7;
}

.compare-spark-v213 .spark-dot-v105 {
  stroke-width: 1.7;
}

.compare-spark-v213 .spark-dot-v105.latest {
  filter: drop-shadow(0 2px 5px rgba(25, 67, 98, .18));
}

.compare-kpi-foot-v213 {
  min-height: 34px;
  padding-top: 8px;
  border-top: 1px solid #e9eff3;
}

.compare-kpi-foot-v213 span {
  color: #8798a4;
  font-size: 9.5px;
  font-weight: 800;
}

.compare-kpi-foot-v213 b {
  color: #506f82;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.3;
}

@media (max-width: 900px) {
  .compare-kpi-grid-v213 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .compare-report-section-head-v213 {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  .compare-report-section-head-v213 b {
    font-size: 16.5px;
  }

  .compare-report-section-head-v213 span {
    font-size: 10px;
    text-align: right;
  }

  .compare-kpi-grid-v213 {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .compare-kpi-card-v213 {
    padding: 13px 12px 11px;
  }

  .compare-kpi-top-v213 > span {
    font-size: 15px;
  }

  .compare-kpi-value-v213 {
    font-size: 27px;
  }

  .compare-spark-wrap-v213 {
    height: 74px;
  }
}

/* ==================================================
   V215 기수 비교·추이 그래프 확대
   - 핵심 지표 추이 카드의 그래프 영역을 더 크게 표시
   - 214단계 구조 유지, 그래프 가독성만 강화
   ================================================== */

.compare-kpi-card-v213 {
  padding: 15px 14px 13px;
}

.compare-kpi-value-v213 {
  margin-top: 12px;
}

.compare-spark-wrap-v213 {
  height: 118px;
  margin: 12px -1px 8px;
}

.compare-spark-v213 .spark-line-v105 {
  stroke-width: 3;
}

.compare-spark-v213 .spark-dot-v105 {
  stroke-width: 1.9;
}

.compare-spark-v213 .spark-dot-v105.latest {
  filter: drop-shadow(0 2px 6px rgba(25, 67, 98, .22));
}

.compare-kpi-foot-v213 {
  min-height: 32px;
  padding-top: 7px;
}

@media (max-width: 900px) {
  .compare-spark-wrap-v213 {
    height: 110px;
  }
}

@media (max-width: 520px) {
  .compare-spark-wrap-v213 {
    height: 102px;
    margin: 11px -1px 7px;
  }
}

/* ==================================================
   V216 핵심 지표 추이 가독성 강화
   - 직전 대비 배지 설명 추가 및 확대
   - 최고 기록 제목/내용 확대
   ================================================== */

.compare-kpi-top-v213 {
  align-items: flex-start;
}

.compare-kpi-diff-v213 {
  display: inline-grid;
  justify-items: center;
  gap: 2px;
  min-width: 74px;
  padding: 6px 9px 7px;
  line-height: 1;
}

.compare-kpi-diff-v213 small,
.compare-kpi-diff-v213 strong {
  display: block;
  font-style: normal;
}

.compare-kpi-diff-v213 small {
  font-size: 9.2px;
  font-weight: 900;
  letter-spacing: -.01em;
  opacity: .92;
}

.compare-kpi-diff-v213 strong {
  font-size: 12.4px;
  font-weight: 950;
  letter-spacing: -.02em;
}

.compare-kpi-foot-v213 {
  min-height: 38px;
  gap: 7px;
}

.compare-kpi-foot-v213 span {
  font-size: 11px;
  font-weight: 900;
  color: #768b9a;
}

.compare-kpi-foot-v213 b {
  font-size: 12.4px;
  font-weight: 950;
  line-height: 1.35;
  color: #49697d;
}

@media (max-width: 520px) {
  .compare-kpi-diff-v213 {
    min-width: 68px;
    padding: 5px 8px 6px;
  }

  .compare-kpi-diff-v213 small {
    font-size: 8.6px;
  }

  .compare-kpi-diff-v213 strong {
    font-size: 11.6px;
  }

  .compare-kpi-foot-v213 span {
    font-size: 10.4px;
  }

  .compare-kpi-foot-v213 b {
    font-size: 11.6px;
  }
}

/* ==================================================
   V217 핵심 지표 추이 2열 × 2행 확대형
   - PC에서도 4개를 한 줄에 넣지 않고 2개씩 두 줄 배치
   - 넓어진 카드 폭을 활용해 그래프를 가로·세로 모두 크게 표시
   ================================================== */

.compare-kpi-grid-v213 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.compare-kpi-card-v213 {
  padding: 17px 17px 14px;
  border-radius: 20px;
}

.compare-kpi-top-v213 > span {
  font-size: 17px;
}

.compare-kpi-value-v213 {
  margin-top: 14px;
  font-size: 33px;
}

.compare-kpi-sub-v213 {
  font-size: 11.3px;
}

.compare-spark-wrap-v213 {
  height: 166px !important;
  margin: 15px 0 10px !important;
}

.compare-spark-v213 .spark-line-v105 {
  stroke-width: 3.4;
}

.compare-spark-v213 .spark-dot-v105 {
  stroke-width: 2;
}

.compare-kpi-foot-v213 {
  min-height: 42px;
  padding-top: 10px;
}

.compare-kpi-foot-v213 span {
  font-size: 11.8px;
}

.compare-kpi-foot-v213 b {
  font-size: 13.2px;
}

@media (max-width: 720px) {
  .compare-kpi-grid-v213 {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .compare-spark-wrap-v213 {
    height: 150px !important;
  }
}

@media (max-width: 520px) {
  .compare-kpi-card-v213 {
    padding: 14px 13px 12px;
  }

  .compare-kpi-top-v213 > span {
    font-size: 16px;
  }

  .compare-kpi-value-v213 {
    font-size: 29px;
  }

  .compare-spark-wrap-v213 {
    height: 138px !important;
  }
}

/* ==================================================
   V218 핵심 지표 추이 - 각 기수 포인트 실제 비율 표시
   - 그래프의 모든 동그라미 위에 해당 기수 %를 직접 표기
   - 첫/마지막 값 잘림 방지 및 최근값 강조
   ================================================== */

.spark-value-label-v218 {
  fill: #49697d;
  stroke: #ffffff;
  stroke-width: 3.2px;
  paint-order: stroke fill;
  stroke-linejoin: round;
  font-size: 12.4px;
  font-weight: 950;
  letter-spacing: -.02em;
  pointer-events: none;
}

.spark-value-label-v218.latest {
  fill: #173f5b;
  font-size: 13.2px;
}

.compare-spark-v213.good .spark-value-label-v218.latest {
  fill: #237b58;
}

.compare-spark-v213.warn .spark-value-label-v218.latest {
  fill: #b74c56;
}

.compare-spark-v213.info .spark-value-label-v218.latest {
  fill: #2e729d;
}

@media (max-width: 520px) {
  .spark-value-label-v218 {
    font-size: 11.6px;
  }

  .spark-value-label-v218.latest {
    font-size: 12.3px;
  }
}

/* ==================================================
   V220 기수 비교·추이 > 기수별 비교표 고급화
   - 최근 기수 열 강조, 고정감 있는 첫 열, 셀 숫자 가독성 강화
   - 데이터는 그대로 두고 표 UI만 프리미엄 비교 테이블 형태로 개선
   ================================================== */

.compare-report-section-v220 {
  margin-top: 18px;
}

.compare-report-section-head-v220 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-left: 10px;
  border-left-width: 4px;
}

.compare-report-section-head-v220 > div {
  min-width: 0;
}

.compare-report-section-head-v220 b {
  display: block;
  color: #284d66;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.compare-report-section-head-v220 span {
  display: block;
  margin-top: 5px;
  color: #748997;
  font-size: 12.4px;
  line-height: 1.55;
  font-weight: 760;
}

.compare-table-tag-v220 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: #eef5fb;
  color: #48728b;
  font-size: 10.5px;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

.compare-table-wrap-v220 {
  margin-top: 10px;
  border: 1px solid #dce7ee;
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(33, 73, 103, .05);
  overflow-x: auto;
  overflow-y: hidden;
}

.compare-table-v220 {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.compare-table-v220 thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0 !important;
  background: #f6fafc !important;
  border-right: 1px solid #e7eef3;
  border-bottom: 1px solid #dde7ee;
}

.compare-table-v220 thead th:first-child {
  left: 0;
  z-index: 4;
  min-width: 182px;
  background: #f5f9fc !important;
}

.compare-table-v220 thead th.latest {
  background: linear-gradient(180deg, #eef7f2 0%, #f8fcf9 100%) !important;
}

.compare-head-cell-v220 {
  display: grid;
  gap: 5px;
  align-content: center;
  min-height: 72px;
  padding: 14px 12px;
  text-align: center;
}

.compare-table-v220 thead th:first-child .compare-head-cell-v220 {
  text-align: left;
}

.compare-head-cell-v220 > span {
  display: block;
  color: #537082;
  font-size: 12.2px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.01em;
}

.compare-head-cell-v220 > small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  background: #dff0e5;
  color: #277455;
  font-size: 8.8px;
  font-weight: 950;
  line-height: 1;
}

.compare-table-v220 tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 182px;
  padding: 0 !important;
  background: #fbfdfe !important;
  border-right: 1px solid #e7eef3;
  border-bottom: 1px solid #ecf1f4;
}

.compare-row-title-v220 {
  display: flex;
  align-items: center;
  min-height: 78px;
  padding: 14px 14px;
  color: #284b64;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.01em;
  word-break: keep-all;
}

.compare-table-v220 tbody tr:nth-child(even) th,
.compare-table-v220 tbody tr:nth-child(even) td {
  background-color: #fcfeff !important;
}

.compare-table-v220 td {
  min-width: 112px;
  padding: 0 !important;
  text-align: center;
  vertical-align: middle;
  background: #ffffff !important;
  border-right: 1px solid #edf2f5;
  border-bottom: 1px solid #edf2f5;
}

.compare-table-v220 td.latest {
  background: linear-gradient(180deg, #f4fbf6 0%, #fbfefd 100%) !important;
}

.compare-table-v220 td.best,
.compare-table-v220 td.worst,
.compare-table-v220 td.best.worst {
  box-shadow: none !important;
}

.compare-cell-value-v220 {
  display: block;
  padding: 16px 10px 4px;
  color: #476779;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.1;
  letter-spacing: -.02em;
}

.compare-table-v220 td.best .compare-cell-value-v220 {
  color: #15704d;
}

.compare-table-v220 td.worst .compare-cell-value-v220 {
  color: #b46523;
}

.compare-table-v220 td.latest .compare-cell-value-v220 {
  font-size: 17px;
}

.compare-cell-marks-v220 {
  min-height: 28px !important;
  margin-top: 2px !important;
  padding-bottom: 12px;
}

.compare-cell-marks-v220.empty {
  opacity: 0;
}

.compare-cell-marks-v220 .best-mark-v105,
.compare-cell-marks-v220 .worst-mark-v119 {
  min-width: 38px;
  height: 19px;
  padding: 0 8px;
  font-size: 9px !important;
  font-weight: 950 !important;
}

.compare-table-v220 tr:last-child th,
.compare-table-v220 tr:last-child td {
  border-bottom: 0;
}

.compare-table-v220 th:last-child,
.compare-table-v220 td:last-child {
  border-right: 0;
}

@media (max-width: 760px) {
  .compare-report-section-head-v220 {
    display: block;
  }

  .compare-table-tag-v220 {
    margin-top: 9px;
  }

  .compare-table-v220 thead th:first-child,
  .compare-table-v220 tbody th {
    min-width: 154px;
  }

  .compare-row-title-v220 {
    min-height: 74px;
    font-size: 14px;
    padding: 13px 12px;
  }

  .compare-table-v220 td {
    min-width: 102px;
  }

  .compare-cell-value-v220 {
    font-size: 15px;
    padding: 15px 8px 4px;
  }
}

@media (max-width: 430px) {
  .compare-report-section-head-v220 b {
    font-size: 16.8px;
  }

  .compare-report-section-head-v220 span {
    font-size: 11.7px;
  }

  .compare-table-tag-v220 {
    font-size: 9.8px;
    padding: 6px 9px;
  }

  .compare-head-cell-v220 {
    min-height: 66px;
    padding: 12px 10px;
  }

  .compare-head-cell-v220 > span {
    font-size: 11.4px;
  }

  .compare-table-v220 thead th:first-child,
  .compare-table-v220 tbody th {
    min-width: 146px;
  }

  .compare-table-v220 td {
    min-width: 96px;
  }

  .compare-cell-value-v220 {
    font-size: 14.2px;
  }

  .compare-cell-marks-v220 {
    padding-bottom: 10px;
  }
}

/* ==================================================
   V221 핵심 지표 추이 - 모든 기수명 표시
   - 각 그래프 점 아래에 해당 기수명을 모두 표시
   - 기수명이 길면 2줄까지 허용
   ================================================== */

.compare-spark-wrap-v213 {
  height: 186px !important;
  margin: 15px 0 12px !important;
}

.spark-term-label-v221 {
  fill: #8798a4;
  font-size: 9.2px;
  font-weight: 850;
  letter-spacing: -.01em;
  pointer-events: none;
}

.spark-term-label-v221.latest {
  fill: #5c7788;
  font-weight: 950;
}

@media (max-width: 720px) {
  .compare-spark-wrap-v213 {
    height: 170px !important;
  }

  .spark-term-label-v221 {
    font-size: 8.8px;
  }
}

@media (max-width: 520px) {
  .compare-spark-wrap-v213 {
    height: 160px !important;
  }

  .spark-term-label-v221 {
    font-size: 8.3px;
  }
}

/* ==================================================
   V222 기수 비교·추이 상단 - 모든 완료기수 표시
   - 첫 기수 → 마지막 기수만 보이던 범위를 전체 기수 체인으로 표시
   - 기수가 많으면 자연스럽게 여러 줄로 줄바꿈
   ================================================== */

.compare-simple-head-v222 {
  align-items: flex-start;
}

.compare-simple-head-v222 > div {
  min-width: 0;
  flex: 1 1 auto;
}

.compare-all-cohorts-v222 {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: keep-all;
  line-height: 1.45 !important;
}

@media (max-width: 700px) {
  .compare-simple-head-v222 {
    gap: 10px;
  }

  .compare-all-cohorts-v222 {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

/* ==================================================
   V223 기수 비교·추이 > 핵심 확인 재구성
   - 전체 흐름 / 최근 변화 / 우선 확인 / 종합 판단 4행 구조
   - 핵심진단 종합판단처럼 부담 없이 읽히는 판단형 UI
   ================================================== */

.compare-core-check-v223 {
  margin-top: 14px;
  padding: 17px 18px 18px;
  border: 1px solid #d9e6ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfe 100%);
  box-shadow: 0 8px 22px rgba(31, 72, 102, .05);
}

.compare-core-check-head-v223 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 13px;
  border-bottom: 1px solid #e7eef3;
}

.compare-core-check-head-v223 > div {
  min-width: 0;
}

.compare-core-check-head-v223 b {
  display: block;
  color: #234b65;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.compare-core-check-head-v223 span {
  display: block;
  margin-top: 5px;
  color: #718795;
  font-size: 12.5px;
  line-height: 1.55;
  font-weight: 760;
}

.compare-core-check-head-v223 em {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf5fb;
  color: #47718b;
  font-size: 10.3px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.compare-core-check-lines-v223 {
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.compare-core-check-lines-v223 article {
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid #e0eaf1;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
}

.compare-core-check-lines-v223 strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 9px;
  background: #edf5fb;
  color: #28658e;
  font-size: 12.8px;
  line-height: 1.3;
  font-weight: 950;
  white-space: nowrap;
}

.compare-core-check-lines-v223 p {
  margin: 0;
  padding-top: 3px;
  color: #24485f;
  font-size: 14px;
  line-height: 1.62;
  font-weight: 760;
  letter-spacing: -.01em;
}

.compare-core-check-lines-v223 article:nth-child(2) strong {
  background: #f1f4f7;
  color: #5e7686;
}

.compare-core-check-lines-v223 article:nth-child(3) strong {
  background: #fff5e9;
  color: #9a6426;
}

.compare-core-check-lines-v223 article.key {
  border-color: #c8deec;
  background: #f1f8fc;
}

.compare-core-check-lines-v223 article.key strong {
  background: #dceefa;
  color: #145f92;
}

.compare-core-check-lines-v223 article.key p {
  color: #173f59;
  font-weight: 850;
}

@media (max-width: 700px) {
  .compare-core-check-v223 {
    padding: 15px 14px 16px;
    border-radius: 16px;
  }

  .compare-core-check-head-v223 {
    display: block;
  }

  .compare-core-check-head-v223 em {
    margin-top: 9px;
  }

  .compare-core-check-lines-v223 article {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 11px 12px;
  }

  .compare-core-check-lines-v223 strong {
    width: fit-content;
    justify-content: flex-start;
    font-size: 12.4px;
  }

  .compare-core-check-lines-v223 p {
    padding-top: 0;
    font-size: 13.4px;
    line-height: 1.58;
  }
}

@media (max-width: 430px) {
  .compare-core-check-head-v223 b {
    font-size: 16.8px;
  }

  .compare-core-check-head-v223 span {
    font-size: 11.8px;
  }

  .compare-core-check-lines-v223 p {
    font-size: 12.8px;
  }
}

/* ==================================================
   V224 기수 비교·추이 > 핵심 확인 상단 배치
   - 상단 기수 범위 바로 아래, 핵심 지표 추이보다 먼저 표시
   ================================================== */
.compare-core-check-v224 {
  margin-top: 14px;
  margin-bottom: 18px;
}

@media (max-width: 700px) {
  .compare-core-check-v224 {
    margin-bottom: 15px;
  }
}

/* ==================================================
   V225 기수 비교·추이 > 핵심 확인 문구/톤 보정
   - 종합 판단 본문 글자색과 굵기를 다른 판단 행과 동일 톤으로 통일
   ================================================== */
.compare-core-check-lines-v223 article.key p {
  color: #24485f;
  font-weight: 760;
}

/* ==================================================
   V227 강사 변화 분석 업그레이드
   - 4번 기수 비교·추이와 역할을 분리
   - 숫자 반복보다 변화 유형 / 긍정 / 주의 / 안정성 / 종합판단을 상단에 해석
   ================================================== */

.change-pattern-summary-v227 {
  padding: 20px 20px 18px;
  border: 1px solid #dfe8ee;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
  box-shadow: 0 8px 24px rgba(37, 72, 96, .055);
}

.change-pattern-top-v227 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.change-pattern-top-v227 > div {
  min-width: 0;
}

.change-pattern-title-v227 {
  margin: 6px 0 0;
  color: #2d526a;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.change-pattern-purpose-v227 {
  margin: 7px 0 0;
  color: #748995;
  font-size: 12.7px;
  font-weight: 700;
  line-height: 1.58;
}

.change-pattern-badge-v227 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: 999px;
  background: #edf4f8;
  color: #52758a;
  font-size: 10.7px;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
}

.change-pattern-counts-v227 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 17px;
}

.change-pattern-counts-v227 > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid #e8eef2;
  border-radius: 12px;
  background: #f9fbfc;
}

.change-pattern-counts-v227 small {
  color: #788c98;
  font-size: 10px;
  font-weight: 850;
}

.change-pattern-counts-v227 b {
  color: #46677a;
  font-size: 16px;
  font-weight: 950;
}

.change-pattern-counts-v227 .up {
  background: #f4faf6;
  border-color: #e2efe7;
}

.change-pattern-counts-v227 .up b,
.change-pattern-counts-v227 .recent-up b {
  color: #287657;
}

.change-pattern-counts-v227 .down {
  background: #fff8f6;
  border-color: #f3e8e4;
}

.change-pattern-counts-v227 .down b,
.change-pattern-counts-v227 .recent-down b {
  color: #b05e50;
}

.change-pattern-lines-v227 {
  margin-top: 14px;
  border: 1px solid #e5ecef;
  border-radius: 15px;
  overflow: hidden;
  background: #ffffff;
}

.change-pattern-line-v227 {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 13px 14px;
  border-bottom: 1px solid #edf2f4;
}

.change-pattern-line-v227:last-child {
  border-bottom: 0;
}

.change-pattern-line-v227 > b {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 8px;
  background: #eef4f7;
  color: #526f81;
  font-size: 10.8px;
  font-weight: 950;
  line-height: 1.2;
}

.change-pattern-line-v227 > span {
  color: #526d7e;
  font-size: 12.8px;
  font-weight: 720;
  line-height: 1.62;
}

.change-pattern-line-v227 > span strong {
  color: #345b72;
  font-weight: 950;
}

.change-pattern-line-v227.positive > b {
  background: #edf8f1;
  color: #35775d;
}

.change-pattern-line-v227.caution > b {
  background: #fff3ee;
  color: #a4624e;
}

.change-pattern-line-v227.stability > b {
  background: #f3f1fb;
  color: #665f8a;
}

.change-pattern-line-v227.judgment {
  background: #f8fbfd;
}

.change-pattern-line-v227.judgment > b {
  background: #eaf2f7;
  color: #486c82;
}

.change-pattern-line-v227.judgment > span {
  color: #526d7e;
  font-weight: 760;
}

.change-pattern-basis-v227 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  margin-top: 12px;
  padding: 0 2px;
  color: #84949e;
  font-size: 10.7px;
  line-height: 1.5;
}

.change-pattern-basis-v227 b {
  color: #667e8d;
  font-weight: 950;
}

.change-pattern-basis-v227 span {
  color: #587285;
  font-weight: 850;
}

.change-pattern-basis-v227 em {
  font-style: normal;
  color: #8b9aa3;
  font-weight: 650;
}

/* 변화 해석 뒤에 나오는 그래프는 '근거' 역할이므로 간격을 분명히 분리 */
.change-pattern-summary-v227 + .change-visual-section-v80 {
  margin-top: 18px;
}

@media (max-width: 720px) {
  .change-pattern-summary-v227 {
    padding: 17px 15px 15px;
  }

  .change-pattern-top-v227 {
    display: block;
  }

  .change-pattern-badge-v227 {
    margin-top: 10px;
  }

  .change-pattern-counts-v227 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .change-pattern-line-v227 {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }
}

@media (max-width: 480px) {
  .change-pattern-title-v227 {
    font-size: 18px;
  }

  .change-pattern-purpose-v227 {
    font-size: 12px;
  }

  .change-pattern-counts-v227 > span {
    min-height: 41px;
    padding: 8px 9px;
  }

  .change-pattern-line-v227 {
    display: block;
  }

  .change-pattern-line-v227 > b {
    margin-bottom: 7px;
  }

  .change-pattern-line-v227 > span {
    display: block;
    font-size: 12.3px;
  }
}

/* ==================================================
   V229 완료기수 2개 - 상단 핵심 확인 통일
   - 3개 이상 화면과 동일하게 상단에서 4줄 핵심 확인 제공
   - 기존 하단 2기수 전용 핵심 확인은 중복 방지를 위해 숨김
   ================================================== */

.compare-result-summary-v229-two .compare-detail-insight-v115 {
  display: none !important;
}

.compare-core-check-v229 {
  margin-top: 14px;
  margin-bottom: 16px;
}

/* ==================================================
   V244 그래프·요약 카드 선택 화면
   - 종강·미종강 그래프 제거
   - 한눈에 진단 / 기수 추세 2개 핵심 시각 자료만 강조
   ================================================== */
.visual-buttons-v244 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.visual-buttons-v244 .visual-choice-v244 {
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 84px;
  padding: 14px 15px;
  border: 1px solid #dce8ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  box-shadow: 0 8px 20px rgba(28, 72, 104, .055);
  text-align: left;
}

.visual-buttons-v244 .visual-choice-v244:hover {
  border-color: #bed6e5;
  box-shadow: 0 10px 24px rgba(28, 72, 104, .085);
  transform: translateY(-1px);
}

.visual-choice-icon-v244 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #eaf4fb;
  color: #2b759f;
  font-size: 20px;
  font-weight: 950;
}

.visual-choice-copy-v244 {
  min-width: 0;
}

.visual-choice-copy-v244 b {
  display: block;
  color: #234b65;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.3;
}

.visual-choice-copy-v244 small {
  display: block;
  margin-top: 5px;
  color: #738895;
  font-size: 11.2px;
  font-weight: 760;
  line-height: 1.45;
}

.visual-buttons-v244 .visual-choice-v244 > strong {
  color: #7a93a4;
  font-size: 20px;
  font-weight: 900;
}

@media (max-width: 720px) {
  .visual-buttons-v244 {
    grid-template-columns: 1fr;
  }
}


/* V246 그래프·요약 카드 이미지 확대 표시 */
body:has(#graphBox:not(.hidden)) .app-shell {
  width: min(100%, 1320px);
}
body:has(#graphBox:not(.hidden)) .result-card {
  padding: 14px;
}
body:has(#graphBox:not(.hidden)) .graph-box {
  margin-top: 14px;
  padding: 4px;
  border-radius: 20px;
}
body:has(#graphBox:not(.hidden)) .graph-box img {
  width: 100%;
  border-radius: 14px;
}
@media (max-width: 760px) {
  body:has(#graphBox:not(.hidden)) .app-shell {
    width: min(100%, 760px);
  }
  body:has(#graphBox:not(.hidden)) .graph-box {
    padding: 6px;
  }
}

/* ==================================================
   V252 강사 변화 분석 - 실제 지표명 + 변화폭 중심 요약 카드
   ================================================== */

.change-signal-grid-v252 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.change-signal-card-v252 {
  min-width: 0;
  padding: 15px 15px 14px;
  border: 1px solid #e1e9ee;
  border-radius: 17px;
  background: #ffffff;
  box-shadow: 0 5px 16px rgba(31, 70, 98, .045);
}

.change-signal-card-v252.up,
.change-signal-card-v252.recent-up {
  background: linear-gradient(180deg, #fbfefc 0%, #f5faf7 100%);
  border-color: #dfeee6;
}

.change-signal-card-v252.down,
.change-signal-card-v252.recent-down {
  background: linear-gradient(180deg, #fffdfc 0%, #fff7f5 100%);
  border-color: #f0e3df;
}

.change-signal-card-head-v252 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(219, 229, 235, .9);
}

.change-signal-card-head-v252 > div {
  min-width: 0;
}

.change-signal-card-head-v252 small {
  display: block;
  margin-bottom: 5px;
  color: #8a9aa4;
  font-size: 10.2px;
  font-weight: 800;
  line-height: 1.35;
}

.change-signal-card-head-v252 b {
  display: block;
  color: #2f536a;
  font-size: 15.5px;
  font-weight: 950;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.change-signal-card-head-v252 em {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  background: #edf3f6;
  color: #577487;
  font-size: 11.2px;
  font-weight: 950;
  font-style: normal;
}

.change-signal-card-v252.up .change-signal-card-head-v252 em,
.change-signal-card-v252.recent-up .change-signal-card-head-v252 em {
  background: #e5f3eb;
  color: #2a7557;
}

.change-signal-card-v252.down .change-signal-card-head-v252 em,
.change-signal-card-v252.recent-down .change-signal-card-head-v252 em {
  background: #f8e9e6;
  color: #a55b4f;
}

.change-signal-items-v252 {
  display: grid;
  gap: 7px;
  margin-top: 11px;
}

.change-signal-item-v252 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 37px;
  padding: 8px 10px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(229, 236, 240, .9);
}

.change-signal-item-v252 span {
  min-width: 0;
  color: #405f72;
  font-size: 12.2px;
  font-weight: 850;
  line-height: 1.35;
  word-break: keep-all;
}

.change-signal-item-v252 strong {
  flex: 0 0 auto;
  font-size: 12.4px;
  font-weight: 950;
  line-height: 1.2;
  white-space: nowrap;
}

.change-signal-card-v252.up .change-signal-item-v252 strong,
.change-signal-card-v252.recent-up .change-signal-item-v252 strong {
  color: #237454;
}

.change-signal-card-v252.down .change-signal-item-v252 strong,
.change-signal-card-v252.recent-down .change-signal-item-v252 strong {
  color: #b15f51;
}

.change-signal-empty-v252 {
  padding: 13px 10px;
  border-radius: 11px;
  background: rgba(248, 251, 252, .9);
  color: #8a9ba5;
  font-size: 11.7px;
  font-weight: 800;
  text-align: center;
}

.change-flow-summary-v252 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #e2eaef;
  border-radius: 15px;
  background: #f7fafc;
}

.change-flow-summary-v252 > div {
  min-width: 0;
  padding: 5px 7px;
}

.change-flow-summary-v252 small {
  display: block;
  margin-bottom: 5px;
  color: #7c8f9b;
  font-size: 10.5px;
  font-weight: 900;
}

.change-flow-summary-v252 b {
  display: block;
  color: #3d5f73;
  font-size: 12.3px;
  font-weight: 900;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .change-signal-grid-v252,
  .change-flow-summary-v252 {
    grid-template-columns: 1fr;
  }

  .change-signal-card-v252 {
    padding: 14px 13px 13px;
  }

  .change-signal-card-head-v252 b {
    font-size: 14.4px;
  }

  .change-signal-item-v252 {
    gap: 9px;
  }

  .change-signal-item-v252 span {
    font-size: 11.8px;
  }

  .change-signal-item-v252 strong {
    font-size: 12px;
  }
}


/* V256 강사 변화 분석 - 전체 완료기수 흐름 비교 */
.change-visual-section-v256 {
  display: grid;
  gap: 18px;
}
.change-section-head-v256 h3 {
  font-size: 30px;
  letter-spacing: -0.03em;
}
.change-section-head-v256 p {
  font-size: 16px;
  color: #5f7484;
}
.change-trend-legend-v256 {
  border: 1px solid #dce7ef;
  border-radius: 20px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fc 100%);
  padding: 16px 18px;
  display: grid;
  gap: 10px;
}
.change-trend-legend-row-v256 {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #34566f;
}
.change-trend-legend-row-v256 span { display:inline-flex; align-items:center; gap:8px; }
.change-trend-legend-row-v256 .hint { margin-left:auto; color:#718697; }
.change-trend-legend-row-v256 i,
.change-trend-meta-v256 i {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 12px;
}
.change-trend-legend-row-v256 i.first,
.change-trend-meta-v256 i.first {
  background: #ffffff;
  border: 2px solid #9aa8b5;
}
.change-trend-legend-row-v256 i.previous,
.change-trend-meta-v256 i.previous {
  background: #d9ecff;
  border: 2px solid #2f7bea;
}
.change-trend-legend-row-v256 i.recent,
.change-trend-meta-v256 i.recent {
  background: #1da57b;
  border: 2px solid #1da57b;
}
.change-trend-legend-row-v256 i.line {
  width: 24px;
  height: 0;
  border-radius: 0;
  border-top: 3px solid #5a7ea0;
}
.change-trend-grid-v256 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.change-trend-card-v256 {
  border: 1px solid #d8e4ee;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(39, 78, 112, 0.08);
  padding: 20px 20px 18px;
  display: grid;
  gap: 14px;
}
.change-trend-card-v256.empty { min-height: 280px; }
.change-trend-head-v256 {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.change-trend-head-v256 small {
  display:block;
  font-size:13px;
  font-weight:800;
  color:#7b90a0;
  margin-bottom:6px;
}
.change-trend-head-v256 h4 {
  margin:0;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-0.03em;
  color:#163e59;
}
.change-trend-current-v256 {
  font-size:36px;
  font-weight:900;
  letter-spacing:-0.04em;
  color:#163e59;
  white-space:nowrap;
}
.change-trend-badges-v256 {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.change-delta-pill-v256 {
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
}
.change-delta-pill-v256.up { background:#e8f8ef; color:#0d8a5b; }
.change-delta-pill-v256.down { background:#fff0ee; color:#c95b4d; }
.change-delta-pill-v256.flat { background:#eef4fa; color:#5c7386; }
.change-trend-svg-wrap-v256 {
  border:1px solid #e4edf4;
  border-radius:20px;
  background: linear-gradient(180deg, #fcfeff 0%, #f7fbfe 100%);
  padding: 10px 10px 0;
}
.change-trend-svg-v256 {
  width:100%;
  height:auto;
  display:block;
}
.change-trend-svg-v256 .y-grid {
  stroke:#dfe9f1;
  stroke-width:1;
}
.change-trend-svg-v256 .y-label,
.change-trend-svg-v256 .x-label {
  font-size:13px;
  font-weight:800;
  fill:#6c8294;
}
.change-trend-svg-v256 .main-line {
  fill:none;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.change-trend-svg-v256 .point-value {
  font-size:14px;
  font-weight:900;
  fill:#204861;
}
.change-trend-svg-v256 .point-value.recent { font-size:15px; }
.change-trend-svg-v256 .dot.middle { fill:#ffffff; stroke:#96a8b6; stroke-width:2; }
.change-trend-svg-v256 .dot.first { fill:#ffffff; stroke:#8f9eac; stroke-width:2.5; }
.change-trend-svg-v256 .dot.previous { fill:#d9ecff; stroke:#2f7bea; stroke-width:2.5; }
.change-trend-svg-v256 .dot.firstprev { fill:#d9ecff; stroke:#2f7bea; stroke-width:2.5; }
.change-trend-svg-v256 .dot.recent { fill:currentColor; stroke:#ffffff; stroke-width:2.8; color:#163e59; }
.change-trend-meta-v256 {
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  font-size:14px;
  font-weight:800;
  color:#3b5b73;
}
.change-trend-meta-v256 span { display:inline-flex; align-items:center; gap:8px; }
.change-trend-empty-v256 {
  min-height:180px;
  display:grid;
  place-items:center;
  color:#778d9d;
  font-size:18px;
  font-weight:800;
  background:#f7fafc;
  border:1px dashed #d6e3ec;
  border-radius:18px;
}
.change-table-v256 th,
.change-table-v256 td {
  font-size: 15px;
}
.change-table-v256 td.up { color:#0f8c61; font-weight:900; }
.change-table-v256 td.down { color:#c55c49; font-weight:900; }
.change-table-v256 td.flat { color:#5f7486; font-weight:900; }
@media (max-width: 900px) {
  .change-trend-grid-v256 { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .change-section-head-v256 h3 { font-size: 24px; }
  .change-trend-card-v256 { padding:16px; border-radius:20px; }
  .change-trend-head-v256 h4 { font-size:24px; }
  .change-trend-current-v256 { font-size:30px; }
  .change-trend-legend-row-v256 { font-size:13px; gap:8px 12px; }
  .change-trend-legend-row-v256 .hint { margin-left:0; width:100%; }
  .change-trend-svg-v256 .x-label { font-size:11px; }
  .change-trend-svg-v256 .point-value { font-size:12px; }
  .change-trend-meta-v256 { font-size:13px; }
}


/* ==================================================
   V257 강사 변화 분석 - 변화 관리 방향
   ================================================== */
.growth-management-section-v257 {
  margin-top: 18px;
  border: 1px solid #d9e5ee;
  border-radius: 26px;
  background:
    radial-gradient(circle at 95% 5%, rgba(54, 129, 196, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  padding: 24px;
  box-shadow: 0 16px 40px rgba(31, 78, 113, 0.08);
}
.growth-management-head-v257 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5edf3;
}
.growth-management-kicker-v257 {
  display: inline-block;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef6fb;
  color: #2c72a6;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-management-head-v257 h3 {
  margin: 0;
  color: #153f5d;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.035em;
}
.growth-management-head-v257 p {
  margin: 8px 0 0;
  color: #617a8c;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 700;
}
.growth-management-status-v257 {
  flex: 0 0 auto;
  padding: 9px 13px;
  border-radius: 999px;
  background: #edf5fb;
  color: #3c6f92;
  font-size: 13px;
  font-weight: 900;
}
.growth-management-grid-v257 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.growth-management-card-v257 {
  min-width: 0;
  border: 1px solid #dfe8ef;
  border-radius: 22px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(31, 78, 113, 0.055);
  position: relative;
  overflow: hidden;
}
.growth-management-card-v257::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: #8aa7bb;
}
.growth-management-card-v257.priority::before { background: #d9685d; }
.growth-management-card-v257.keep::before { background: #22a472; }
.growth-management-card-v257.watch::before { background: #6b83c5; }
.growth-management-card-top-v257 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}
.growth-management-step-v257 {
  color: #96a7b4;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-management-badge-v257 {
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef3f7;
  color: #547087;
  font-size: 12px;
  font-weight: 900;
}
.growth-management-card-v257.priority .growth-management-badge-v257 {
  background: #fff0ee;
  color: #bd554b;
}
.growth-management-card-v257.keep .growth-management-badge-v257 {
  background: #eaf8f1;
  color: #18865c;
}
.growth-management-card-v257.watch .growth-management-badge-v257 {
  background: #eef1fb;
  color: #566eaf;
}
.growth-management-card-v257 h4 {
  margin: 0;
  color: #173f5c;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: -0.025em;
}
.growth-management-signal-v257 {
  margin-top: 9px;
  min-height: 48px;
  color: #587286;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 800;
}
.growth-management-card-v257 p {
  margin: 14px 0 0;
  padding-top: 13px;
  border-top: 1px solid #edf2f6;
  color: #294f69;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 750;
}
.growth-management-card-v257 p b {
  display: block;
  margin-bottom: 5px;
  color: #7a8f9f;
  font-size: 12px;
  font-weight: 950;
}
.growth-management-card-v257.priority p b { color: #bd554b; }
.growth-management-card-v257.keep p b { color: #18865c; }
.growth-management-card-v257.watch p b { color: #566eaf; }
.growth-management-conclusion-v257 {
  margin-top: 16px;
  border: 1px solid #dbe7ef;
  border-radius: 20px;
  background: linear-gradient(135deg, #f4f9fc 0%, #f8fbfd 100%);
  padding: 17px 19px;
}
.growth-management-conclusion-label-v257 {
  margin-bottom: 6px;
  color: #5b7890;
  font-size: 12px;
  font-weight: 950;
}
.growth-management-conclusion-v257 strong {
  display: block;
  color: #173f5c;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.growth-management-conclusion-v257 p {
  margin: 7px 0 0;
  color: #6a8293;
  font-size: 13.5px;
  line-height: 1.6;
  font-weight: 700;
}
@media (max-width: 900px) {
  .growth-management-grid-v257 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .growth-management-section-v257 {
    padding: 17px;
    border-radius: 22px;
  }
  .growth-management-head-v257 {
    display: block;
  }
  .growth-management-status-v257 {
    display: inline-block;
    margin-top: 12px;
  }
  .growth-management-head-v257 h3 {
    font-size: 24px;
  }
  .growth-management-card-v257 {
    padding: 16px;
  }
  .growth-management-card-v257 h4 {
    font-size: 20px;
  }
  .growth-management-signal-v257,
  .growth-management-card-v257 p {
    font-size: 13.5px;
  }
}


/* V258 강사 변화 분석 - 변화 비교표 복구 */
.change-table-section-v258 {
  display: grid;
  gap: 12px;
}
.change-table-title-v258 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.change-table-title-v258 h4 {
  margin: 0;
  font-size: 30px;
  letter-spacing: -0.03em;
  color: #153d59;
}
.change-table-title-v258 p {
  margin: 0;
  font-size: 15px;
  color: #6a8091;
}
.change-table-wrap-v258 {
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid #d9e5ee;
  background: #fff;
  box-shadow: 0 10px 26px rgba(39, 78, 112, 0.06);
}
@media (max-width: 680px) {
  .change-table-title-v258 {
    flex-direction: column;
    align-items: flex-start;
  }
  .change-table-title-v258 h4 { font-size: 24px; }
  .change-table-title-v258 p { font-size: 14px; }
}


/* V259 변화 비교표 글자 크기 균형 조정 */
.change-table-title-v258 h4 {
  font-size: 22px;
  line-height: 1.25;
}
.change-table-title-v258 p {
  font-size: 13px;
  line-height: 1.45;
}
.change-table-section-v258 .change-table-v256 th,
.change-table-section-v258 .change-table-v256 td {
  font-size: 13px;
  line-height: 1.4;
  padding: 10px 9px;
}
.change-table-section-v258 .change-table-v256 thead th {
  font-size: 12px;
  font-weight: 850;
}
.change-table-section-v258 .change-table-v256 tbody th {
  font-size: 13px;
  font-weight: 850;
}
.change-table-section-v258 .change-table-v256 td.up,
.change-table-section-v258 .change-table-v256 td.down,
.change-table-section-v258 .change-table-v256 td.flat {
  font-size: 13px;
  font-weight: 850;
}
@media (max-width: 680px) {
  .change-table-title-v258 h4 { font-size: 20px; }
  .change-table-title-v258 p { font-size: 12px; }
  .change-table-section-v258 .change-table-v256 th,
  .change-table-section-v258 .change-table-v256 td { font-size: 12px; padding: 9px 7px; }
  .change-table-section-v258 .change-table-v256 thead th { font-size: 11px; }
  .change-table-section-v258 .change-table-v256 tbody th { font-size: 12px; }
}


/* V260 강사 변화 분석 - 상승/하락 요약을 종합 판단 아래 배치 */
.change-signal-grid-v260 {
  margin-top: 16px;
}


/* ==================================================
   V261 강사 변화 분석 - 강점·보완 요약 스타일 통일
   - 분석 내용은 그대로 유지
   - 변화 유형 / 긍정적 변화 / 주의 변화 / 변화 안정성 / 종합 판단을
     강점·보완 분석의 요약 행 스타일로 정돈
   ================================================== */
.change-summary-lines-v261 {
  margin-top: 14px;
  gap: 9px;
}

.change-summary-line-v261 {
  grid-template-columns: 116px minmax(0, 1fr);
  padding: 11px 13px;
  border: 1px solid #dce9f3;
  border-radius: 12px;
  background: rgba(248, 252, 255, .94);
}

.change-summary-line-v261 b {
  min-width: 0;
  width: 100%;
  justify-content: center;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 9px;
  background: #e8f3fb;
  color: #135f96;
  font-size: 13.5px;
  font-weight: 900;
  line-height: 1.3;
  white-space: nowrap;
}

.change-summary-line-v261 span {
  min-width: 0;
  padding-top: 3px;
  color: #183d5a;
  font-size: 15px;
  line-height: 1.62;
  font-weight: 760;
  letter-spacing: -.012em;
}

.change-summary-line-v261 span strong {
  color: #174f73;
  font-weight: 950;
}

.change-summary-line-v261.key {
  border-color: #c9dfed;
  background: #f2f8fc;
}

.change-summary-line-v261.key b {
  background: #dceefa;
  color: #0d5c93;
}

.change-summary-line-v261.judgment {
  border-color: #d3e3ed;
  background: #f6fafc;
}

.change-summary-line-v261.judgment span {
  /* V262: 종합 판단 본문도 다른 분석 문장과 동일한 톤으로 통일 */
  color: #183d5a;
  font-weight: 760;
}

@media (max-width: 680px) {
  .change-summary-line-v261 {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 11px 12px;
  }

  .change-summary-line-v261 b {
    width: fit-content;
    justify-content: flex-start;
    font-size: 13px;
  }

  .change-summary-line-v261 span {
    padding-top: 0;
    font-size: 14.5px;
    line-height: 1.58;
  }
}


/* ==================================================
   V263 강사 변화 분석 - 다음 기수 운영 실행판
   ================================================== */
.growth-management-section-v263 {
  margin-top: 18px;
  padding: 26px;
  border: 1px solid #d7e3ec;
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 0%, rgba(36, 111, 160, .10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f9fcfe 100%);
  box-shadow: 0 18px 44px rgba(24, 67, 98, .09);
}
.growth-management-head-v263 {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.growth-management-kicker-v263 {
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#edf6fb;
  color:#2e739f;
  font-size:11px;
  font-weight:950;
  letter-spacing:.09em;
}
.growth-management-head-v263 h3 {
  margin:9px 0 0;
  color:#153e59;
  font-size:29px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.growth-management-head-v263 p {
  margin:9px 0 0;
  color:#60798b;
  font-size:15px;
  line-height:1.65;
  font-weight:700;
}
.growth-management-status-v263 {
  flex:0 0 auto;
  padding:9px 13px;
  border-radius:999px;
  background:#eef5fa;
  color:#466d88;
  font-size:12.5px;
  font-weight:900;
}
.growth-management-hero-v263 {
  margin-top:20px;
  padding:20px 22px;
  border:1px solid #d8e5ee;
  border-radius:22px;
  background:linear-gradient(135deg,#f3f8fc 0%,#fbfdff 100%);
}
.growth-management-hero-label-v263 {
  color:#6e8495;
  font-size:12px;
  font-weight:950;
}
.growth-management-hero-v263 > strong {
  display:block;
  margin-top:7px;
  color:#173f5b;
  font-size:19px;
  line-height:1.55;
  letter-spacing:-.02em;
}
.growth-management-hero-tags-v263 {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:13px;
}
.growth-management-hero-tags-v263 span {
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:7px 10px;
  border:1px solid #dce7ee;
  border-radius:10px;
  background:#fff;
  color:#476478;
  font-size:12.5px;
  font-weight:850;
}
.growth-management-hero-tags-v263 b { color:#1c5479; }
.growth-management-grid-v263 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  margin-top:17px;
}
.growth-management-card-v263 {
  min-width:0;
  position:relative;
  overflow:hidden;
  padding:19px;
  border:1px solid #dfe8ef;
  border-radius:23px;
  background:#fff;
  box-shadow:0 10px 26px rgba(29,73,104,.055);
}
.growth-management-card-v263::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:#7892a5;
}
.growth-management-card-v263.priority::before { background:#c85f55; }
.growth-management-card-v263.keep::before { background:#23966c; }
.growth-management-card-v263.watch::before { background:#667db8; }
.growth-management-card-top-v263 {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.growth-management-rank-v263 {
  color:#91a3b0;
  font-size:12px;
  font-weight:950;
  letter-spacing:.09em;
}
.growth-management-badge-v263 {
  padding:6px 9px;
  border-radius:999px;
  background:#f0f4f7;
  color:#557084;
  font-size:11.5px;
  font-weight:900;
}
.growth-management-card-v263.priority .growth-management-badge-v263 { background:#fff0ee; color:#b7534b; }
.growth-management-card-v263.keep .growth-management-badge-v263 { background:#eaf7f1; color:#167c58; }
.growth-management-card-v263.watch .growth-management-badge-v263 { background:#eef1fa; color:#556dab; }
.growth-management-card-v263 h4 {
  margin:15px 0 0;
  color:#173e59;
  font-size:21px;
  line-height:1.3;
  letter-spacing:-.025em;
}
.growth-management-evidence-v263 {
  margin-top:12px;
  padding:11px 12px;
  border-radius:14px;
  background:#f5f8fa;
}
.growth-management-evidence-v263 small {
  display:block;
  margin-bottom:4px;
  color:#7b8f9d;
  font-size:11px;
  font-weight:900;
}
.growth-management-evidence-v263 b {
  display:block;
  color:#36586f;
  font-size:13px;
  line-height:1.55;
}
.growth-management-body-v263 {
  display:grid;
  gap:11px;
  margin-top:13px;
}
.growth-management-body-v263 > div {
  padding-top:11px;
  border-top:1px solid #edf2f5;
}
.growth-management-body-v263 small {
  display:block;
  color:#7a8e9d;
  font-size:11px;
  font-weight:950;
  margin-bottom:4px;
}
.growth-management-body-v263 p {
  margin:0;
  color:#2f5269;
  font-size:13.5px;
  line-height:1.62;
  font-weight:720;
}
.growth-management-body-v263 .target {
  padding:11px 12px;
  border:1px solid #dce7ef;
  border-radius:13px;
  background:#fbfdfe;
}
.growth-management-card-v263.priority .target small { color:#b7534b; }
.growth-management-card-v263.keep .target small { color:#167c58; }
.growth-management-card-v263.watch .target small { color:#556dab; }
.growth-management-checkpoints-v263 {
  margin-top:18px;
  padding:19px 20px;
  border:1px solid #dbe6ee;
  border-radius:22px;
  background:#fff;
}
.growth-management-checkpoints-title-v263 span {
  color:#668297;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.08em;
}
.growth-management-checkpoints-title-v263 h4 {
  margin:5px 0 0;
  color:#173f5b;
  font-size:19px;
  letter-spacing:-.02em;
}
.growth-management-checkpoint-grid-v263 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:15px;
  border-top:1px solid #e7eef3;
}
.growth-management-checkpoint-grid-v263 > div {
  min-width:0;
  padding:16px 17px 3px;
  border-right:1px solid #e7eef3;
}
.growth-management-checkpoint-grid-v263 > div:first-child { padding-left:0; }
.growth-management-checkpoint-grid-v263 > div:last-child { border-right:0; padding-right:0; }
.growth-management-checkpoint-grid-v263 em {
  display:inline-block;
  margin-right:6px;
  color:#9aabb7;
  font-size:11px;
  font-style:normal;
  font-weight:950;
}
.growth-management-checkpoint-grid-v263 small {
  color:#6e8494;
  font-size:11.5px;
  font-weight:900;
}
.growth-management-checkpoint-grid-v263 b {
  display:block;
  margin-top:7px;
  color:#244b65;
  font-size:14px;
}
.growth-management-checkpoint-grid-v263 p {
  margin:6px 0 0;
  color:#60798b;
  font-size:12.5px;
  line-height:1.6;
  font-weight:700;
}
@media (max-width: 960px) {
  .growth-management-grid-v263 { grid-template-columns:1fr; }
  .growth-management-checkpoint-grid-v263 { grid-template-columns:1fr; }
  .growth-management-checkpoint-grid-v263 > div,
  .growth-management-checkpoint-grid-v263 > div:first-child,
  .growth-management-checkpoint-grid-v263 > div:last-child {
    padding:14px 0;
    border-right:0;
    border-bottom:1px solid #e7eef3;
  }
  .growth-management-checkpoint-grid-v263 > div:last-child { border-bottom:0; }
}
@media (max-width: 620px) {
  .growth-management-section-v263 { padding:17px; border-radius:22px; }
  .growth-management-head-v263 { display:block; }
  .growth-management-status-v263 { display:inline-block; margin-top:12px; }
  .growth-management-head-v263 h3 { font-size:24px; }
  .growth-management-hero-v263 { padding:16px; }
  .growth-management-hero-v263 > strong { font-size:16.5px; }
  .growth-management-card-v263 { padding:16px; }
  .growth-management-card-v263 h4 { font-size:19px; }
}


/* V265 강사 변화 분석 - 변화 관리 방향 고급형 실행 보드 */
.growth-management-section-v265 {
  margin-top: 18px;
  padding: 28px;
  border: 1px solid #d8e5ee;
  border-radius: 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(39, 114, 168, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
  box-shadow: 0 18px 44px rgba(24, 67, 98, 0.08);
}
.growth-management-head-v265 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.growth-management-kicker-v265 {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf6fb;
  color: #2d709d;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .09em;
}
.growth-management-head-v265 h3 {
  margin: 9px 0 0;
  color: #153f5d;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -0.025em;
}
.growth-management-head-v265 p {
  margin: 10px 0 0;
  color: #647d8f;
  font-size: 14px;
  line-height: 1.65;
  font-weight: 700;
}
.growth-management-status-v265 {
  flex: 0 0 auto;
  padding: 9px 13px;
  border-radius: 999px;
  background: #eef5fb;
  color: #4b718a;
  font-size: 12.5px;
  font-weight: 900;
}
.growth-management-hero-v265 {
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid #dbe6ee;
  border-radius: 22px;
  background: linear-gradient(135deg, #f5f9fc 0%, #fbfdff 100%);
}
.growth-management-hero-top-v265 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.growth-management-hero-label-v265 {
  color: #6d8394;
  font-size: 12px;
  font-weight: 950;
}
.growth-management-hero-v265 strong {
  display: block;
  margin-top: 8px;
  color: #173f5c;
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: -0.015em;
}
.growth-management-hero-tags-v265 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.growth-management-hero-tags-v265 span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid #dce6ed;
  background: #fff;
  color: #4c697d;
  font-size: 12px;
  font-weight: 850;
}
.growth-management-hero-tags-v265 b { color: #1b5479; }
.growth-management-grid-v265 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.growth-management-card-v265 {
  position: relative;
  min-width: 0;
  padding: 20px;
  border: 1px solid #deE8f0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(28, 74, 104, 0.05);
}
.growth-management-card-v265::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  border-radius: 24px 24px 0 0;
  background: #8ba0b3;
}
.growth-management-card-v265.priority::before { background: #d66558; }
.growth-management-card-v265.keep::before { background: #22a06f; }
.growth-management-card-v265.watch::before { background: #6b80bf; }
.growth-management-card-head-v265 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.growth-management-card-id-v265 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.growth-management-rank-v265 {
  color: #90a3b2;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-management-badge-v265 {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f1f4f7;
  color: #567185;
  font-size: 12px;
  font-weight: 900;
}
.growth-management-card-v265.priority .growth-management-badge-v265 { background: #fff0ee; color: #be554b; }
.growth-management-card-v265.keep .growth-management-badge-v265 { background: #eaf8f1; color: #177f5b; }
.growth-management-card-v265.watch .growth-management-badge-v265 { background: #eef1fb; color: #556eae; }
.growth-management-priority-v265 {
  color: #9dafbc;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .12em;
}
.growth-management-card-v265 h4 {
  margin: 16px 0 0;
  color: #173e5a;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.growth-management-focus-v265 {
  margin: 9px 0 0;
  color: #5f798a;
  font-size: 13px;
  line-height: 1.58;
  font-weight: 740;
}
.growth-management-stats-v265 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}
.growth-management-stat-v265 {
  padding: 11px 12px;
  border-radius: 15px;
  border: 1px solid #e4edf3;
  background: #f8fbfd;
}
.growth-management-stat-v265 small {
  display: block;
  color: #7a90a0;
  font-size: 11px;
  font-weight: 900;
}
.growth-management-stat-v265 strong {
  display: block;
  margin-top: 5px;
  color: #274a62;
  font-size: 15px;
  line-height: 1.25;
}
.growth-management-stat-v265.up strong { color: #0f8b61; }
.growth-management-stat-v265.down strong { color: #c45c4e; }
.growth-management-stat-v265.flat strong { color: #53728b; }
.growth-management-evidence-line-v265 {
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px dashed #e4edf3;
}
.growth-management-evidence-line-v265 span {
  display: block;
  color: #7a8f9f;
  font-size: 11px;
  font-weight: 900;
}
.growth-management-evidence-line-v265 b {
  display: block;
  margin-top: 6px;
  color: #365870;
  font-size: 12.5px;
  line-height: 1.5;
}
.growth-management-action-v265 {
  margin-top: 15px;
}
.growth-management-section-label-v265 {
  color: #6d8496;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .05em;
}
.growth-management-action-v265 ul {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.growth-management-action-v265 li {
  position: relative;
  padding-left: 13px;
  color: #294e68;
  font-size: 12.8px;
  line-height: 1.58;
  font-weight: 750;
}
.growth-management-action-v265 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #7f97a9;
}
.growth-management-card-v265.priority .growth-management-action-v265 li::before { background: #d66558; }
.growth-management-card-v265.keep .growth-management-action-v265 li::before { background: #22a06f; }
.growth-management-card-v265.watch .growth-management-action-v265 li::before { background: #6b80bf; }
.growth-management-target-v265 {
  margin-top: 16px;
  padding: 13px 14px;
  border-radius: 16px;
  border: 1px solid #dbe6ee;
  background: #fbfdff;
}
.growth-management-target-v265 small {
  display: block;
  color: #6f8798;
  font-size: 11px;
  font-weight: 950;
}
.growth-management-target-v265 p {
  margin: 6px 0 0;
  color: #274c65;
  font-size: 12.8px;
  line-height: 1.58;
  font-weight: 750;
}
.growth-management-steps-v265 {
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid #dbe6ee;
  border-radius: 22px;
  background: #fff;
}
.growth-management-steps-title-v265 span {
  color: #6a8294;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-management-steps-title-v265 h4 {
  margin: 5px 0 0;
  color: #173f5b;
  font-size: 17px;
  letter-spacing: -0.015em;
}
.growth-management-steps-grid-v265 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.growth-management-step-v265 {
  padding: 16px 16px 15px;
  border-radius: 18px;
  border: 1px solid #e5edf3;
  background: #f9fbfd;
}
.growth-management-step-v265 em {
  display: inline-block;
  margin-right: 6px;
  color: #98abb8;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.growth-management-step-v265 small {
  color: #698194;
  font-size: 11.5px;
  font-weight: 900;
}
.growth-management-step-v265 b {
  display: block;
  margin-top: 8px;
  color: #264c65;
  font-size: 13px;
}
.growth-management-step-v265 p {
  margin: 7px 0 0;
  color: #5f788a;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 700;
}
@media (max-width: 1040px) {
  .growth-management-grid-v265,
  .growth-management-steps-grid-v265 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .growth-management-head-v265,
  .growth-management-hero-top-v265 {
    display: block;
  }
  .growth-management-status-v265 {
    display: inline-block;
    margin-top: 12px;
  }
  .growth-management-hero-tags-v265 {
    margin-top: 12px;
    justify-content: flex-start;
  }
  .growth-management-stats-v265 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .growth-management-section-v265 {
    padding: 18px;
    border-radius: 22px;
  }
  .growth-management-head-v265 h3 { font-size: 20px; }
  .growth-management-card-v265 { padding: 16px; }
  .growth-management-card-v265 h4 { font-size: 17px; }
  .growth-management-focus-v265,
  .growth-management-action-v265 li,
  .growth-management-target-v265 p { font-size: 12.5px; }
}


/* ==================================================
   V267 다음 기수 운영 방향 - 한눈에 보는 실행 보드
   ================================================== */
.growth-management-section-v267 {
  margin-top: 18px;
  padding: 26px;
  border: 1px solid #d9e5ee;
  border-radius: 28px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fcfe 100%);
  box-shadow: 0 16px 40px rgba(24, 67, 98, 0.075);
}
.growth-management-head-v267 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.growth-management-kicker-v267 {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef6fb;
  color: #34739b;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .09em;
}
.growth-management-head-v267 h3 {
  margin: 8px 0 0;
  color: #153f5d;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.growth-management-head-v267 p {
  margin: 8px 0 0;
  color: #657e90;
  font-size: 13.5px;
  line-height: 1.6;
  font-weight: 700;
}
.growth-management-status-v267 {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 999px;
  background: #edf5fa;
  color: #4e7188;
  font-size: 11.5px;
  font-weight: 900;
}
.growth-management-summary-v267 {
  margin-top: 16px;
  padding: 18px 20px;
  border: 1px solid #dbe6ee;
  border-radius: 20px;
  background: linear-gradient(135deg, #f4f9fc 0%, #fbfdff 100%);
}
.growth-management-summary-label-v267 {
  color: #6e8596;
  font-size: 11px;
  font-weight: 950;
}
.growth-management-summary-v267 > strong {
  display: block;
  margin-top: 6px;
  color: #193f59;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: -0.015em;
}
.growth-management-summary-tags-v267 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.growth-management-summary-tags-v267 span {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #e0e9ef;
  border-radius: 14px;
  background: #fff;
}
.growth-management-summary-tags-v267 small {
  display: block;
  margin-bottom: 4px;
  font-size: 10.5px;
  font-weight: 950;
}
.growth-management-summary-tags-v267 b {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #294f68;
  font-size: 13px;
}
.growth-management-summary-tags-v267 .priority small { color: #bd574d; }
.growth-management-summary-tags-v267 .keep small { color: #16825b; }
.growth-management-summary-tags-v267 .watch small { color: #5b70ac; }
.growth-management-task-title-v267 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
}
.growth-management-task-title-v267 span {
  color: #173f5b;
  font-size: 16px;
  font-weight: 950;
}
.growth-management-task-title-v267 p {
  margin: 0;
  color: #7a8f9f;
  font-size: 11.5px;
  font-weight: 700;
}
.growth-management-grid-v267 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 11px;
}
.growth-task-card-v267 {
  position: relative;
  min-width: 0;
  padding: 18px;
  border: 1px solid #dde7ee;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 9px 23px rgba(29, 73, 104, 0.045);
}
.growth-task-card-v267::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  border-radius: 21px 21px 0 0;
  background: #8096a8;
}
.growth-task-card-v267.priority::before { background: #d56357; }
.growth-task-card-v267.keep::before { background: #229a6c; }
.growth-task-card-v267.watch::before { background: #667db8; }
.growth-task-head-v267 {
  display: grid;
  gap: 12px;
}
.growth-task-label-v267 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.growth-task-label-v267 > span {
  color: #96a8b4;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-task-label-v267 > b {
  padding: 6px 10px;
  border-radius: 999px;
  background: #f0f4f7;
  color: #597186;
  font-size: 11.5px;
}
.growth-task-card-v267.priority .growth-task-label-v267 > b { background: #fff0ee; color: #bb554b; }
.growth-task-card-v267.keep .growth-task-label-v267 > b { background: #eaf8f1; color: #177f59; }
.growth-task-card-v267.watch .growth-task-label-v267 > b { background: #eef1fa; color: #566dab; }
.growth-task-metric-v267 {
  color: #173f5b;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 950;
  letter-spacing: -0.025em;
}
.growth-task-kpis-v267 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}
.growth-task-kpi-v267 {
  padding: 10px 11px;
  border-radius: 13px;
  background: #f6f9fb;
  border: 1px solid #e6edf2;
}
.growth-task-kpi-v267 small {
  display: block;
  color: #8195a4;
  font-size: 10.5px;
  font-weight: 900;
}
.growth-task-kpi-v267 strong {
  display: block;
  margin-top: 4px;
  color: #2b4e66;
  font-size: 14px;
}
.growth-task-kpi-v267.up strong { color: #10885e; }
.growth-task-kpi-v267.down strong { color: #c15a4d; }
.growth-task-kpi-v267.watch strong { color: #586eac; }
.growth-task-focus-v267 {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #edf2f5;
}
.growth-task-focus-v267 small,
.growth-task-actions-v267 > small {
  display: block;
  color: #7b8f9e;
  font-size: 10.5px;
  font-weight: 950;
}
.growth-task-focus-v267 p {
  margin: 5px 0 0;
  color: #365970;
  font-size: 12.5px;
  line-height: 1.55;
  font-weight: 730;
}
.growth-task-actions-v267 {
  margin-top: 13px;
}
.growth-task-actions-v267 > div {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 8px;
  align-items: start;
  margin-top: 8px;
}
.growth-task-actions-v267 em {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: #edf3f7;
  color: #567085;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 950;
}
.growth-task-card-v267.priority .growth-task-actions-v267 em { background: #fff0ee; color: #bb554b; }
.growth-task-card-v267.keep .growth-task-actions-v267 em { background: #eaf8f1; color: #177f59; }
.growth-task-card-v267.watch .growth-task-actions-v267 em { background: #eef1fa; color: #566dab; }
.growth-task-actions-v267 span {
  color: #294f68;
  font-size: 12.3px;
  line-height: 1.5;
  font-weight: 740;
}
.growth-task-target-v267 {
  margin-top: 14px;
  padding: 11px 12px;
  border-radius: 13px;
  border: 1px solid #dde7ee;
  background: #fbfdfe;
}
.growth-task-target-v267 > span {
  display: block;
  color: #708696;
  font-size: 10.5px;
  font-weight: 950;
}
.growth-task-target-v267 > b {
  display: block;
  margin-top: 5px;
  color: #2d5168;
  font-size: 12px;
  line-height: 1.5;
}
.growth-checkpoint-board-v267 {
  margin-top: 18px;
  padding: 18px 20px 20px;
  border: 1px solid #dbe6ee;
  border-radius: 21px;
  background: #fff;
}
.growth-checkpoint-head-v267 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}
.growth-checkpoint-head-v267 span {
  color: #718798;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .08em;
}
.growth-checkpoint-head-v267 h4 {
  margin: 4px 0 0;
  color: #173f5b;
  font-size: 16px;
  letter-spacing: -0.015em;
}
.growth-checkpoint-head-v267 p {
  margin: 0;
  color: #8193a0;
  font-size: 11px;
  font-weight: 700;
}
.growth-checkpoint-flow-v267 {
  display: grid;
  grid-template-columns: 1fr 30px 1fr 30px 1fr;
  gap: 8px;
  align-items: stretch;
  margin-top: 13px;
}
.growth-checkpoint-step-v267 {
  padding: 14px 15px;
  border-radius: 16px;
  border: 1px solid #e4ecf2;
  background: #f9fbfc;
}
.growth-checkpoint-step-head-v267 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.growth-checkpoint-step-head-v267 em {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #eaf2f7;
  color: #416c89;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 950;
}
.growth-checkpoint-step-head-v267 span {
  color: #607a8d;
  font-size: 11.5px;
  font-weight: 900;
}
.growth-checkpoint-step-v267 b {
  display: block;
  margin-top: 9px;
  color: #294e66;
  font-size: 13px;
}
.growth-checkpoint-step-v267 p {
  margin: 6px 0 0;
  color: #657d8e;
  font-size: 11.5px;
  line-height: 1.5;
  font-weight: 700;
}
.growth-checkpoint-arrow-v267 {
  display: grid;
  place-items: center;
  color: #a2b2bd;
  font-size: 21px;
  font-weight: 800;
}
@media (max-width: 1050px) {
  .growth-management-grid-v267 { grid-template-columns: 1fr; }
  .growth-management-summary-tags-v267 { grid-template-columns: 1fr; }
  .growth-management-summary-tags-v267 b { white-space: normal; }
  .growth-checkpoint-flow-v267 {
    grid-template-columns: 1fr;
  }
  .growth-checkpoint-arrow-v267 {
    transform: rotate(90deg);
    height: 20px;
  }
}
@media (max-width: 700px) {
  .growth-management-section-v267 { padding: 17px; border-radius: 22px; }
  .growth-management-head-v267 { display: block; }
  .growth-management-status-v267 { display: inline-block; margin-top: 10px; }
  .growth-management-head-v267 h3 { font-size: 22px; }
  .growth-management-task-title-v267 { display: block; }
  .growth-management-task-title-v267 p { margin-top: 4px; }
  .growth-checkpoint-head-v267 { display: block; }
  .growth-checkpoint-head-v267 p { margin-top: 4px; }
}


/* V269 다음 기수 운영 방향 - 예전 3열 카드 복구 + 제목 크기 통일 */
.change-table-title-v258 h4 {
  font-size: 20px;
  line-height: 1.25;
}
.growth-management-head-v269 h3 {
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.growth-management-grid-v269 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.growth-management-card-v263 h4 {
  font-size: 19px;
}
.growth-management-card-v263 .growth-management-body-v263 p,
.growth-management-card-v263 .growth-management-evidence-v263 b {
  font-size: 13px;
}
.growth-management-checkpoints-v269 {
  margin-top: 18px;
}
.growth-management-checkpoint-grid-v269 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 720px) {
  .growth-management-grid-v269,
  .growth-management-checkpoint-grid-v269 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .change-table-title-v258 h4,
  .growth-management-head-v269 h3 {
    font-size: 20px;
  }
}


/* V270 다음 기수 운영 방향 - 운영 핵심 삭제 + 3개 본문 간격 통일 */
.growth-management-section-v269 .growth-management-grid-v269 {
  margin-top: 16px;
}
.growth-management-section-v269 .growth-management-body-v263 {
  display: grid;
  grid-template-rows: repeat(3, minmax(112px, auto));
  gap: 0;
  margin-top: 14px;
}
.growth-management-section-v269 .growth-management-body-v263 > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 112px;
  padding: 13px 0;
  border-top: 1px solid #e8eef3;
}
.growth-management-section-v269 .growth-management-body-v263 > div:first-child {
  border-top: 1px solid #e8eef3;
}
.growth-management-section-v269 .growth-management-body-v263 small {
  display: block;
  margin: 0 0 6px;
  color: #7a8e9d;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 950;
}
.growth-management-section-v269 .growth-management-body-v263 p {
  margin: 0;
  color: #2f5269;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 720;
}
.growth-management-section-v269 .growth-management-body-v263 .target {
  min-height: 112px;
  padding: 13px 0;
  border: 0;
  border-top: 1px solid #e8eef3;
  border-radius: 0;
  background: transparent;
}
.growth-management-section-v269 .growth-management-card-v263.priority .target small { color:#b7534b; }
.growth-management-section-v269 .growth-management-card-v263.keep .target small { color:#167c58; }
.growth-management-section-v269 .growth-management-card-v263.watch .target small { color:#556dab; }
@media (max-width: 720px) {
  .growth-management-section-v269 .growth-management-body-v263 {
    grid-template-rows: none;
  }
  .growth-management-section-v269 .growth-management-body-v263 > div,
  .growth-management-section-v269 .growth-management-body-v263 .target {
    min-height: 0;
  }
}


/* V272 다음 기수 운영 방향 - 3개 카드 행 정렬 + 운영 결과 문구 개선 */
.growth-management-section-v269 .growth-management-grid-v269 {
  align-items: stretch;
}
.growth-management-section-v269 .growth-management-card-v263 {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.growth-management-section-v269 .growth-management-card-top-v263 {
  min-height: 32px;
}
.growth-management-section-v269 .growth-management-card-v263 h4 {
  min-height: 56px;
  margin-top: 14px;
  display: flex;
  align-items: flex-start;
}
.growth-management-section-v269 .growth-management-evidence-v263 {
  min-height: 124px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.growth-management-section-v269 .growth-management-evidence-v263 small {
  margin-bottom: 6px;
  line-height: 1.35;
}
.growth-management-section-v269 .growth-management-evidence-v263 b {
  line-height: 1.6;
}
.growth-management-section-v269 .growth-management-body-v263 {
  display: grid;
  grid-template-rows: 126px 166px 126px;
  gap: 0;
  margin-top: 14px;
}
.growth-management-section-v269 .growth-management-body-v263 > div,
.growth-management-section-v269 .growth-management-body-v263 .target {
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 14px 0;
  border-top: 1px solid #e8eef3;
  background: transparent;
  border-radius: 0;
}
.growth-management-section-v269 .growth-management-body-v263 small {
  min-height: 15px;
  margin: 0 0 7px;
  line-height: 1.35;
}
.growth-management-section-v269 .growth-management-body-v263 p {
  margin: 0;
  line-height: 1.62;
}
@media (max-width: 720px) {
  .growth-management-section-v269 .growth-management-card-v263 h4,
  .growth-management-section-v269 .growth-management-evidence-v263 {
    min-height: 0;
  }
  .growth-management-section-v269 .growth-management-body-v263 {
    grid-template-rows: none;
  }
  .growth-management-section-v269 .growth-management-body-v263 > div,
  .growth-management-section-v269 .growth-management-body-v263 .target {
    height: auto;
    padding: 13px 0;
  }
}


/* V275 분석 메뉴 공통 - 하단 다음 단계 이동 카드 */
.result-next-step-v275 {
  margin-top: 20px !important;
  flex: 0 0 auto;
}
.result-next-step-v275 b {
  font-size: 16.5px !important;
  font-weight: 800 !important;
  line-height: 1.4;
}
.result-next-step-v275 small {
  margin-top: 5px !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
}
.result-next-step-v275 > strong {
  font-size: 21px !important;
}
@media (max-width: 620px) {
  .result-next-step-v275 {
    margin-top: 16px !important;
    padding: 14px 15px !important;
  }
  .result-next-step-v275 b {
    font-size: 15px !important;
  }
  .result-next-step-v275 small {
    font-size: 12.5px !important;
  }
}

/* ==================================================
   V276 센터 현황 분석
   ================================================== */
.center-list-v276 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.center-item-v276 {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 17px 18px;
  border: 1px solid #d8e5ee;
  border-radius: 20px;
  background: #fff;
  text-align: left;
  box-shadow: 0 8px 22px rgba(30, 73, 104, .045);
  cursor: pointer;
}
.center-item-v276:hover {
  border-color: #b9d3e4;
  transform: translateY(-1px);
}
.center-item-index-v276 {
  color: #8da1b0;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
}
.center-item-copy-v276 { min-width: 0; }
.center-item-copy-v276 b {
  display: block;
  color: #173f5c;
  font-size: 17px;
  line-height: 1.3;
  font-weight: 950;
}
.center-item-copy-v276 small {
  display: block;
  margin-top: 5px;
  color: #6f8494;
  font-size: 12.5px;
  line-height: 1.5;
  font-weight: 700;
}
.center-item-v276 > strong {
  color: #1a6da4;
  font-size: 20px;
}
.center-dashboard-v276 {
  display: grid;
  gap: 16px;
}
.center-summary-hero-v276 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 23px 24px;
  border: 1px solid #d7e4ed;
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(34, 116, 169, .09), transparent 30%),
    linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
  box-shadow: 0 14px 34px rgba(25, 66, 96, .07);
}
.center-summary-hero-v276 > div:first-child > span {
  color: #2c739f;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .1em;
}
.center-summary-hero-v276 h3 {
  margin: 7px 0 0;
  color: #153e5b;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -.03em;
}
.center-summary-hero-v276 p {
  margin: 8px 0 0;
  color: #647d8f;
  font-size: 13.5px;
  line-height: 1.6;
  font-weight: 700;
}
.center-summary-meta-v276 {
  flex: 0 0 auto;
  display: flex;
  gap: 9px;
}
.center-summary-meta-v276 span {
  min-width: 88px;
  padding: 11px 13px;
  border: 1px solid #dce7ef;
  border-radius: 15px;
  background: rgba(255,255,255,.9);
  text-align: center;
}
.center-summary-meta-v276 small {
  display: block;
  color: #8093a1;
  font-size: 10.5px;
  font-weight: 850;
}
.center-summary-meta-v276 b {
  display: block;
  margin-top: 4px;
  color: #234b66;
  font-size: 16px;
}
.center-judgment-v276 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.center-judgment-v276 > div {
  padding: 15px 16px;
  border: 1px solid #dfe8ef;
  border-radius: 18px;
  background: #fff;
}
.center-judgment-v276 b {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf5fa;
  color: #2e6e97;
  font-size: 11px;
  font-weight: 950;
}
.center-judgment-v276 > div:nth-child(1) b { background:#eaf8f1; color:#177e5a; }
.center-judgment-v276 > div:nth-child(2) b { background:#fff0ee; color:#b9554c; }
.center-judgment-v276 p {
  margin: 9px 0 0;
  color: #294f69;
  font-size: 13px;
  line-height: 1.58;
  font-weight: 750;
}
.center-metrics-section-v276,
.center-term-section-v276 {
  padding: 20px;
  border: 1px solid #dbe6ee;
  border-radius: 22px;
  background: #fff;
}
.center-section-title-v276 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}
.center-section-title-v276 span {
  color: #6d8596;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: .08em;
}
.center-section-title-v276 h4 {
  margin: 4px 0 0;
  color: #173f5b;
  font-size: 19px;
  letter-spacing: -.02em;
}
.center-section-title-v276 p {
  margin: 0;
  color: #718796;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}
.center-metric-grid-v276 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  margin-top: 15px;
}
.center-metric-card-v276 {
  min-width: 0;
  padding: 15px;
  border: 1px solid #e0e9ef;
  border-radius: 18px;
  background: #fafcfe;
}
.center-metric-name-v276 {
  color: #536f82;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 900;
}
.center-metric-value-v276 {
  display: block;
  margin-top: 7px;
  color: #173f5b;
  font-size: 25px;
  line-height: 1.1;
  letter-spacing: -.03em;
}
.center-metric-compare-v276,
.center-metric-recent-v276 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid #e9eff4;
}
.center-metric-compare-v276 span,
.center-metric-recent-v276 small {
  color: #78909f;
  font-size: 10.5px;
  font-weight: 800;
}
.center-metric-compare-v276 span b { color:#46677c; }
.center-metric-compare-v276 em,
.center-metric-recent-v276 b {
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.center-metric-card-v276 .up { color:#0d8a60; }
.center-metric-card-v276 .down { color:#c35a4d; }
.center-metric-card-v276 .flat { color:#647e91; }
.center-term-table-wrap-v276 {
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid #e0e9ef;
  border-radius: 16px;
}
.center-term-table-v276 {
  width: 100%;
  min-width: 650px;
  border-collapse: collapse;
  background: #fff;
}
.center-term-table-v276 th,
.center-term-table-v276 td {
  padding: 11px 12px;
  border-bottom: 1px solid #edf2f5;
  color: #31536a;
  font-size: 12.5px;
  text-align: center;
}
.center-term-table-v276 thead th {
  background: #f6f9fb;
  color: #698092;
  font-size: 11px;
  font-weight: 900;
}
.center-term-table-v276 tbody th {
  text-align: left;
  color: #234a64;
  font-weight: 900;
}
.center-term-table-v276 tbody tr:last-child th,
.center-term-table-v276 tbody tr:last-child td { border-bottom: 0; }
.center-basis-note-v276 {
  margin: 0 3px;
  color: #8295a2;
  font-size: 11.5px;
  line-height: 1.55;
}
@media (max-width: 900px) {
  .center-list-v276 { grid-template-columns: 1fr; }
  .center-judgment-v276 { grid-template-columns: 1fr; }
  .center-metric-grid-v276 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .center-summary-hero-v276 { display:block; padding:18px; }
  .center-summary-hero-v276 h3 { font-size:21px; }
  .center-summary-meta-v276 { margin-top:13px; }
  .center-summary-meta-v276 span { flex:1; min-width:0; }
  .center-section-title-v276 { display:block; }
  .center-section-title-v276 p { margin-top:6px; text-align:left; }
  .center-metric-grid-v276 { grid-template-columns: 1fr; }
  .center-metric-value-v276 { font-size:22px; }
}


/* ==================================================
   V277 센터 현황 분석 - 운영 판단형 프리미엄 대시보드
   ================================================== */
.center-dashboard-v277 { display:grid; gap:16px; }
.center-summary-hero-v277 {
  display:flex; justify-content:space-between; align-items:flex-start; gap:20px;
  padding:24px; border:1px solid #d7e4ed; border-radius:25px;
  background:radial-gradient(circle at 100% 0%,rgba(40,116,169,.10),transparent 31%),linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
  box-shadow:0 15px 36px rgba(25,66,96,.07);
}
.center-summary-hero-v277 > div:first-child > span { color:#2d739f; font-size:10.5px; font-weight:950; letter-spacing:.1em; }
.center-summary-hero-v277 h3 { margin:7px 0 0; color:#153e5b; font-size:25px; line-height:1.25; letter-spacing:-.03em; }
.center-summary-hero-v277 p { margin:8px 0 0; max-width:650px; color:#637c8e; font-size:13.5px; line-height:1.65; font-weight:700; }
.center-summary-meta-v277 { display:grid; grid-template-columns:90px 90px minmax(180px,1fr); gap:9px; flex:0 0 auto; }
.center-summary-meta-v277 span { padding:11px 13px; border:1px solid #dce7ef; border-radius:15px; background:rgba(255,255,255,.92); }
.center-summary-meta-v277 small { display:block; color:#8093a1; font-size:10.5px; font-weight:850; }
.center-summary-meta-v277 b { display:block; margin-top:5px; color:#234b66; font-size:14px; line-height:1.35; }
.center-diagnosis-v277 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.center-diagnosis-v277 > div { min-width:0; padding:16px 17px; border:1px solid #dfe8ef; border-radius:19px; background:#fff; box-shadow:0 8px 20px rgba(29,71,101,.04); }
.center-diagnosis-v277 span { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:10.8px; font-weight:950; }
.center-diagnosis-v277 .strength span { background:#eaf8f1; color:#167d59; }
.center-diagnosis-v277 .weakness span { background:#fff0ee; color:#b9544c; }
.center-diagnosis-v277 .recent span { background:#edf3fb; color:#526ea8; }
.center-diagnosis-v277 b { display:block; margin-top:9px; color:#173f5b; font-size:15px; line-height:1.35; }
.center-diagnosis-v277 p { margin:6px 0 0; color:#5f788a; font-size:12.5px; line-height:1.58; font-weight:720; }
.center-panel-v277 { padding:20px; border:1px solid #dbe6ee; border-radius:22px; background:#fff; box-shadow:0 8px 22px rgba(30,73,104,.035); }
.center-panel-head-v277 { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.center-panel-head-v277 span { color:#6d8596; font-size:10.5px; font-weight:950; letter-spacing:.09em; }
.center-panel-head-v277 h4 { margin:4px 0 0; color:#173f5b; font-size:19px; letter-spacing:-.02em; }
.center-panel-head-v277 p { margin:0; color:#718796; font-size:12px; line-height:1.5; text-align:right; }
.center-metric-grid-v277 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-top:15px; }
.center-metric-card-v277 { min-width:0; padding:15px; border:1px solid #e0e9ef; border-radius:18px; background:linear-gradient(180deg,#fff 0%,#fafcfe 100%); }
.center-metric-name-v277 { color:#4f6e82; font-size:12px; font-weight:900; line-height:1.4; }
.center-metric-main-v277 { margin-top:9px; }
.center-metric-main-v277 small { display:block; color:#8799a6; font-size:10px; font-weight:850; }
.center-metric-main-v277 strong { display:block; margin-top:3px; color:#173f5b; font-size:25px; line-height:1.1; letter-spacing:-.03em; }
.center-metric-mini-grid-v277 { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:12px; }
.center-metric-mini-grid-v277 span { padding:8px 9px; border-radius:11px; background:#f3f7fa; }
.center-metric-mini-grid-v277 small { display:block; color:#8295a3; font-size:9.7px; font-weight:800; }
.center-metric-mini-grid-v277 b { display:block; margin-top:3px; color:#3b5d73; font-size:12.5px; }
.center-metric-deltas-v277 { display:grid; gap:5px; margin-top:10px; padding-top:9px; border-top:1px solid #e9eff4; }
.center-metric-deltas-v277 span { display:flex; justify-content:space-between; gap:8px; color:#758c9c; font-size:10.5px; font-weight:800; }
.center-metric-deltas-v277 b { font-size:10.8px; font-weight:950; }
.center-dashboard-v277 .up { color:#0c8a60 !important; }
.center-dashboard-v277 .down { color:#c2594d !important; }
.center-dashboard-v277 .flat { color:#667f91 !important; }
.center-chart-legend-v277 { display:flex; flex-wrap:wrap; gap:8px 14px; margin:15px 0 4px; }
.center-chart-legend-v277 span { display:inline-flex; align-items:center; gap:6px; color:#587286; font-size:11.5px; font-weight:850; }
.center-chart-legend-v277 i { width:16px; height:3px; border-radius:999px; background:#2f80ed; }
.center-chart-legend-v277 .violet i { background:#8b67c9; } .center-chart-legend-v277 .green i { background:#15966d; } .center-chart-legend-v277 .orange i { background:#df8a1e; }
.center-chart-scroll-v277 { overflow-x:auto; }
.center-trend-svg-v277 { width:100%; min-width:740px; height:auto; display:block; }
.center-chart-grid-v277 { stroke:#e7eef3; stroke-width:1; }
.center-chart-axis-v277 { fill:#8295a3; font-size:10px; font-weight:700; }
.center-chart-x-v277 { fill:#536f83; font-size:14px; font-weight:900; letter-spacing:-.01em; }
.center-chart-line-v277 { fill:none; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.center-chart-line-v277.blue { stroke:#2f80ed; } .center-chart-line-v277.violet { stroke:#8b67c9; } .center-chart-line-v277.green { stroke:#15966d; } .center-chart-line-v277.orange { stroke:#df8a1e; }
.center-chart-dot-v277 { stroke:#fff; stroke-width:2; }
.center-chart-dot-v277.blue { fill:#2f80ed; } .center-chart-dot-v277.violet { fill:#8b67c9; } .center-chart-dot-v277.green { fill:#15966d; } .center-chart-dot-v277.orange { fill:#df8a1e; }
.center-chart-value-v277 {
  font-size:14.5px;
  font-weight:950;
  paint-order:stroke fill;
  stroke:#fff;
  stroke-width:3px;
  stroke-linejoin:round;
}
.center-chart-value-v277.blue { fill:#2f6fc7; } .center-chart-value-v277.violet { fill:#7456ad; } .center-chart-value-v277.green { fill:#137f5e; } .center-chart-value-v277.orange { fill:#b66c12; }
.center-chart-empty-v277 { margin-top:14px; padding:22px; border-radius:16px; background:#f7fafc; color:#748b9b; text-align:center; font-size:12.5px; }
.center-benchmark-list-v277 { display:grid; gap:15px; margin-top:16px; }
.center-benchmark-row-v277 { display:grid; grid-template-columns:190px minmax(0,1fr) 170px; align-items:center; gap:14px; }
.center-benchmark-copy-v277 { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
.center-benchmark-copy-v277 b { color:#2a5069; font-size:12.5px; }
.center-benchmark-copy-v277 span { font-size:11px; font-weight:950; white-space:nowrap; }
.center-benchmark-bar-v277 { position:relative; height:12px; border-radius:999px; background:#edf2f6; overflow:visible; }
.center-benchmark-fill-v277 { height:100%; border-radius:999px; background:linear-gradient(90deg,#7fb4d5,#2f7cac); }
.center-benchmark-bar-v277 i { position:absolute; top:-4px; width:2px; height:20px; border-radius:2px; background:#355c75; transform:translateX(-1px); }
.center-benchmark-values-v277 { display:flex; justify-content:flex-end; gap:12px; color:#748a99; font-size:10.5px; }
.center-benchmark-values-v277 b { color:#3d5f75; }
.center-operation-grid-v277 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-top:15px; }
.center-operation-card-v277 { position:relative; min-width:0; overflow:hidden; padding:17px; border:1px solid #dfe8ef; border-radius:20px; background:#fff; }
.center-operation-card-v277::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:#7993a6; }
.center-operation-card-v277.priority::before { background:#d46559; } .center-operation-card-v277.maintain::before { background:#22a06f; } .center-operation-card-v277.watch::before { background:#667db8; }
.center-operation-top-v277 { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.center-operation-top-v277 span { padding:6px 9px; border-radius:999px; background:#f0f4f7; color:#567184; font-size:10.8px; font-weight:950; letter-spacing:0; }
.center-operation-card-v277.priority .center-operation-top-v277 span { background:#fff0ee; color:#b6534b; } .center-operation-card-v277.maintain .center-operation-top-v277 span { background:#eaf8f1; color:#177e59; } .center-operation-card-v277.watch .center-operation-top-v277 span { background:#eef1fa; color:#556daa; }
.center-operation-top-v277 small { color:#9aabb7; font-size:9.5px; font-weight:950; letter-spacing:.08em; }
.center-operation-card-v277 h5 { margin:12px 0 0; color:#173f5b; font-size:17px; line-height:1.3; }
.center-operation-evidence-v277 { margin-top:10px; padding:10px 11px; border-radius:13px; background:#f5f8fa; }
.center-operation-evidence-v277 small,.center-operation-body-v277 small { display:block; color:#7e92a0; font-size:10px; font-weight:950; }
.center-operation-evidence-v277 b { display:block; margin-top:4px; color:#385b72; font-size:11.5px; line-height:1.5; }
.center-operation-body-v277 { display:grid; margin-top:10px; }
.center-operation-body-v277 > div { min-height:91px; padding:11px 0; border-top:1px solid #edf2f5; }
.center-operation-body-v277 p { margin:5px 0 0; color:#2e5269; font-size:12.5px; line-height:1.58; font-weight:730; }
.center-term-table-wrap-v277 { margin-top:14px; overflow-x:auto; border:1px solid #e0e9ef; border-radius:16px; }
.center-term-table-v277 { width:100%; min-width:720px; border-collapse:collapse; background:#fff; }
.center-term-table-v277 th,.center-term-table-v277 td { padding:11px 12px; border-bottom:1px solid #edf2f5; color:#31536a; font-size:12.2px; text-align:center; }
.center-term-table-v277 thead th { background:#f6f9fb; color:#698092; font-size:10.8px; font-weight:900; }
.center-term-table-v277 tbody th { text-align:left; color:#234a64; font-weight:900; }
.center-term-table-v277 tbody tr:last-child th,.center-term-table-v277 tbody tr:last-child td { border-bottom:0; }
.center-basis-note-v277 { margin:0 3px; color:#8295a2; font-size:11px; line-height:1.55; }
@media(max-width:1050px){ .center-summary-hero-v277{display:block}.center-summary-meta-v277{margin-top:14px;grid-template-columns:100px 100px minmax(180px,1fr)} .center-metric-grid-v277{grid-template-columns:repeat(2,minmax(0,1fr))}.center-operation-grid-v277{grid-template-columns:1fr}.center-benchmark-row-v277{grid-template-columns:150px minmax(0,1fr)}.center-benchmark-values-v277{grid-column:2;justify-content:flex-start} }
@media(max-width:720px){ .center-diagnosis-v277{grid-template-columns:1fr}.center-panel-head-v277{display:block}.center-panel-head-v277 p{margin-top:6px;text-align:left}.center-summary-meta-v277{grid-template-columns:1fr 1fr}.center-summary-meta-v277 span:last-child{grid-column:1/-1}.center-benchmark-row-v277{grid-template-columns:1fr}.center-benchmark-values-v277{grid-column:auto;justify-content:flex-start}.center-operation-body-v277>div{min-height:auto} }
@media(max-width:620px){ .center-summary-hero-v277,.center-panel-v277{padding:17px}.center-summary-hero-v277 h3{font-size:21px}.center-metric-grid-v277{grid-template-columns:1fr}.center-panel-head-v277 h4{font-size:17px}.center-metric-main-v277 strong{font-size:22px} }


/* ==================================================
   V279 센터현황분석 - 핵심 지표 현황 판단형 대시보드
   ================================================== */
.center-key-metrics-panel-v279 {
  background:
    radial-gradient(circle at 96% 0%, rgba(55, 126, 173, .055), transparent 27%),
    #fff;
}
.center-key-metrics-head-v279 { align-items:flex-start; }
.center-metric-summary-v279 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.center-metric-summary-v279 > div {
  min-width:0;
  padding:11px 13px;
  border:1px solid #e0e9ef;
  border-radius:14px;
  background:#f8fbfd;
}
.center-metric-summary-v279 small {
  display:block;
  color:#7d92a1;
  font-size:10.5px;
  font-weight:900;
}
.center-metric-summary-v279 b {
  display:inline-block;
  margin-top:4px;
  color:#244b65;
  font-size:19px;
  line-height:1.1;
}
.center-metric-summary-v279 span {
  margin-left:4px;
  color:#708796;
  font-size:10.5px;
  font-weight:800;
}
.center-metric-summary-v279 .advantage { background:#f2faf6; border-color:#dcefe5; }
.center-metric-summary-v279 .advantage b { color:#12805a; }
.center-metric-summary-v279 .weak { background:#fff7f5; border-color:#f0e0dc; }
.center-metric-summary-v279 .weak b { color:#bd584d; }
.center-metric-summary-v279 .similar { background:#f6f9fc; }
.center-metric-summary-v279 .movement { background:#f3f7fc; border-color:#dee7f2; }
.center-metric-summary-v279 .movement b { color:#147e5b; }
.center-metric-summary-v279 .movement span { color:#b9584d; font-size:14px; font-weight:950; }
.center-metric-guide-v279 {
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:12px;
  padding:9px 12px;
  border-radius:12px;
  background:#f8fafc;
  color:#748a99;
  font-size:10.5px;
  font-weight:750;
}
.center-metric-guide-v279 span { display:inline-flex; align-items:center; gap:6px; }
.center-metric-guide-v279 i.center {
  width:18px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#7fb4d5,#2f7cac);
}
.center-metric-guide-v279 i.peer {
  width:2px;
  height:14px;
  border-radius:2px;
  background:#355c75;
}
.center-metric-guide-v279 b {
  color:#587386;
  font-size:10.5px;
}
.center-metric-grid-v279 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.center-metric-card-v279 {
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:17px 18px 16px;
  border:1px solid #dfe8ef;
  border-radius:19px;
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  box-shadow:0 7px 18px rgba(29,72,102,.035);
}
.center-metric-card-v279::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:#8299aa;
}
.center-metric-card-v279.advantage::before { background:#21996c; }
.center-metric-card-v279.weak::before { background:#d06457; }
.center-metric-card-v279.similar::before { background:#6f89b9; }
.center-metric-card-v279.unknown::before { background:#93a6b3; }
.center-metric-card-head-v279 {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.center-metric-index-v279 {
  display:block;
  color:#99a9b4;
  font-size:9px;
  font-weight:950;
  letter-spacing:.1em;
}
.center-metric-card-head-v279 h5 {
  margin:4px 0 0;
  color:#2b536c;
  font-size:14px;
  line-height:1.35;
  font-weight:950;
  letter-spacing:-.015em;
}
.center-metric-status-v279 {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#eef3f7;
  color:#647e90;
  font-size:10.5px;
  font-weight:950;
}
.center-metric-status-v279.advantage { background:#eaf8f1; color:#167e59; }
.center-metric-status-v279.weak { background:#fff0ee; color:#b9544c; }
.center-metric-status-v279.similar { background:#eef3fb; color:#5770a8; }
.center-metric-score-row-v279 {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:13px;
}
.center-metric-score-v279 small,
.center-metric-recent-v279 small {
  display:block;
  color:#8195a3;
  font-size:10px;
  font-weight:850;
}
.center-metric-score-v279 strong {
  display:block;
  margin-top:3px;
  color:#153f5c;
  font-size:28px;
  line-height:1;
  letter-spacing:-.035em;
}
.center-metric-recent-v279 {
  padding:7px 10px;
  border-radius:11px;
  background:#f4f8fa;
  text-align:right;
}
.center-metric-recent-v279 b {
  display:block;
  margin-top:3px;
  font-size:16px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.center-metric-recent-v279.up { background:#eef9f4; }
.center-metric-recent-v279.down { background:#fff3f1; }
.center-metric-recent-v279.flat { background:#f3f7fa; }
.center-metric-compare-v279 {
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #eaf0f4;
}
.center-metric-compare-head-v279,
.center-metric-compare-foot-v279 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.center-metric-compare-head-v279 {
  color:#758b9a;
  font-size:10.5px;
  font-weight:800;
}
.center-metric-compare-head-v279 b { color:#345970; font-size:11.5px; }
.center-metric-track-v279 {
  position:relative;
  height:9px;
  margin-top:9px;
  border-radius:999px;
  background:#edf2f6;
  overflow:visible;
}
.center-metric-track-fill-v279 {
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#8ab9d6,#367eab);
}
.center-metric-track-v279 i {
  position:absolute;
  top:-4px;
  width:2px;
  height:17px;
  border-radius:2px;
  background:#2f5269;
  transform:translateX(-1px);
  box-shadow:0 0 0 2px rgba(255,255,255,.8);
}
.center-metric-compare-foot-v279 {
  margin-top:9px;
  color:#758a99;
  font-size:10.5px;
  font-weight:800;
}
.center-metric-compare-foot-v279 b {
  font-size:16px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.02em;
  white-space:nowrap;
}
@media(max-width:760px) {
  .center-metric-summary-v279 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .center-metric-grid-v279 { grid-template-columns:1fr; }
}
@media(max-width:520px) {
  .center-metric-card-v279 { padding:15px; }
  .center-metric-score-v279 strong { font-size:25px; }
  .center-metric-summary-v279 { gap:8px; }
}

/* V280 핵심 지표 현황 - 평균 대비 차이 수치 강조 */
@media(max-width:520px) {
  .center-metric-compare-foot-v279 b { font-size:16px; }
  .center-metric-recent-v279 b { font-size:16px; }
}


/* V282 센터현황분석 - 기수별 핵심 지표 추이 라벨 가독성 강화 */
@media(max-width:620px){
  .center-chart-value-v277{font-size:14px;}
  .center-chart-x-v277{font-size:13.5px;}
}


/* V284 센터현황분석 - 추이 그래프 수치 라벨 자동 분산 보조선 */
.center-chart-label-guide-v284 {
  stroke-width: 1.2;
  stroke-dasharray: 2 2;
  opacity: .42;
  pointer-events: none;
}
.center-chart-label-guide-v284.blue { stroke:#2f80ed; }
.center-chart-label-guide-v284.violet { stroke:#8b67c9; }
.center-chart-label-guide-v284.green { stroke:#15966d; }
.center-chart-label-guide-v284.orange { stroke:#df8a1e; }

/* ==================================================
   V285 센터현황분석 - 최근 기수 기준 타센터 비교
   - 내 센터 최근 완료기수 vs 같은 기수 타센터 평균
   - 내 센터는 평균 계산에서 제외
   ================================================== */
.center-peer-panel-v285 {
  background:
    radial-gradient(circle at 100% 0%, rgba(50, 112, 160, .07), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.center-peer-panel-head-v285 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.center-peer-panel-head-v285 > div:first-child > span {
  display:block;
  color:#7c91a1;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.09em;
}
.center-peer-panel-head-v285 h4 {
  margin:5px 0 0;
  color:#173f5b;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.025em;
}
.center-peer-panel-head-v285 p {
  margin:7px 0 0;
  color:#667f91;
  font-size:12.5px;
  line-height:1.55;
  font-weight:700;
}
.center-peer-basis-v285 {
  flex:0 0 auto;
  min-width:220px;
  padding:12px 14px;
  border:1px solid #dfe8ef;
  border-radius:15px;
  background:#f7fafc;
}
.center-peer-basis-v285 small,
.center-peer-basis-v285 b,
.center-peer-basis-v285 span {
  display:block;
}
.center-peer-basis-v285 small {
  color:#8a9ca8;
  font-size:9.8px;
  font-weight:900;
}
.center-peer-basis-v285 b {
  margin-top:4px;
  color:#31566f;
  font-size:12.3px;
  line-height:1.45;
}
.center-peer-basis-v285 span {
  margin-top:4px;
  color:#6f8595;
  font-size:10.5px;
  font-weight:800;
}
.center-peer-grid-v285 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.center-peer-card-v285 {
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:17px 18px 16px;
  border:1px solid #dfe8ef;
  border-radius:19px;
  background:#fff;
  box-shadow:0 7px 20px rgba(28,72,103,.04);
}
.center-peer-card-v285::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:#7e95a7;
}
.center-peer-card-v285.advantage::before { background:#21986b; }
.center-peer-card-v285.weak::before { background:#d06457; }
.center-peer-card-v285.similar::before { background:#6e88b9; }
.center-peer-head-v285 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.center-peer-head-v285 > div span {
  display:block;
  color:#9aabb7;
  font-size:9px;
  font-weight:950;
  letter-spacing:.09em;
}
.center-peer-head-v285 h5 {
  margin:4px 0 0;
  color:#2a526b;
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.015em;
}
.center-peer-status-v285 {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#eef3f7;
  color:#657f91;
  font-size:10.5px;
  font-weight:950;
}
.center-peer-status-v285.advantage { background:#eaf8f1; color:#167e59; }
.center-peer-status-v285.weak { background:#fff0ee; color:#b9544c; }
.center-peer-status-v285.similar { background:#eef3fb; color:#5770a8; }
.center-peer-score-v285 {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:12px;
  margin-top:14px;
}
.center-peer-score-v285 small {
  display:block;
  color:#7d92a1;
  font-size:10px;
  font-weight:850;
}
.center-peer-score-v285 .mine strong {
  display:block;
  margin-top:3px;
  color:#153f5c;
  font-size:28px;
  line-height:1;
  letter-spacing:-.035em;
}
.center-peer-score-v285 .gap {
  padding:8px 10px;
  border-radius:11px;
  background:#f4f8fa;
  text-align:right;
}
.center-peer-score-v285 .gap.up { background:#eef9f4; }
.center-peer-score-v285 .gap.down { background:#fff3f1; }
.center-peer-score-v285 .gap strong {
  display:block;
  margin-top:3px;
  font-size:16px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.center-peer-bars-v285 {
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid #eaf0f4;
}
.center-peer-bar-row-v285 {
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 50px;
  align-items:center;
  gap:9px;
}
.center-peer-bar-row-v285 > span {
  color:#728898;
  font-size:10.5px;
  font-weight:850;
}
.center-peer-bar-row-v285 > div {
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#edf2f6;
}
.center-peer-bar-row-v285 i {
  display:block;
  height:100%;
  border-radius:999px;
}
.center-peer-bar-row-v285 i.mine { background:linear-gradient(90deg,#80b6d7,#347eac); }
.center-peer-bar-row-v285 i.peer { background:linear-gradient(90deg,#aebbc6,#6e8292); }
.center-peer-bar-row-v285 > b {
  color:#365a71;
  font-size:11.5px;
  text-align:right;
  white-space:nowrap;
}
.center-peer-foot-v285 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px dashed #e5edf2;
}
.center-peer-foot-v285 span {
  color:#7b909f;
  font-size:10.2px;
  line-height:1.45;
  font-weight:800;
}
.center-peer-foot-v285 b {
  font-size:11px;
  line-height:1.35;
  font-weight:950;
  text-align:right;
}
.center-peer-note-v285 {
  margin-top:12px;
  padding:9px 11px;
  border-radius:11px;
  background:#f7fafc;
  color:#748999;
  font-size:10.5px;
  line-height:1.5;
  font-weight:750;
}
@media(max-width:820px){
  .center-peer-panel-head-v285 { display:block; }
  .center-peer-basis-v285 { margin-top:11px; min-width:0; }
  .center-peer-grid-v285 { grid-template-columns:1fr; }
}
@media(max-width:520px){
  .center-peer-card-v285 { padding:15px; }
  .center-peer-score-v285 .mine strong { font-size:25px; }
  .center-peer-bar-row-v285 { grid-template-columns:66px minmax(0,1fr) 48px; }
}

/* ==================================================
   V286 센터현황분석 - 최근 기수 비교 보드
   - 핵심 지표 현황과 시각적 역할 분리
   - 4개 지표를 한 장의 비교 매트릭스로 정리
   ================================================== */
.center-strength-title-v286 {
  white-space: nowrap;
  font-size: 13.5px !important;
  letter-spacing: -.035em;
}

.center-peer-board-v286 {
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(56, 125, 170, .08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.center-peer-board-head-v286 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.center-peer-board-head-v286 > div:first-child > span {
  color:#6c8496;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.09em;
}
.center-peer-board-head-v286 h4 {
  margin:5px 0 0;
  color:#173f5b;
  font-size:19px;
  line-height:1.25;
  letter-spacing:-.02em;
}
.center-peer-board-head-v286 p {
  margin:7px 0 0;
  color:#6b8293;
  font-size:12.5px;
  line-height:1.55;
  font-weight:700;
}
.center-peer-basis-v286 {
  flex:0 0 auto;
  min-width:210px;
  padding:13px 15px;
  border:1px solid #dce7ef;
  border-radius:16px;
  background:rgba(248,251,254,.95);
}
.center-peer-basis-v286 small,
.center-peer-basis-v286 span,
.center-peer-basis-v286 em {
  display:block;
}
.center-peer-basis-v286 small {
  color:#8194a1;
  font-size:10.5px;
  font-weight:900;
}
.center-peer-basis-v286 b {
  display:block;
  margin-top:5px;
  color:#254d68;
  font-size:13px;
  line-height:1.4;
}
.center-peer-basis-v286 span {
  margin-top:5px;
  color:#5f798c;
  font-size:11.5px;
  font-weight:750;
}
.center-peer-basis-v286 em {
  margin-top:4px;
  color:#7890a0;
  font-size:10.8px;
  font-style:normal;
  font-weight:800;
}
.center-peer-legend-v286 {
  display:flex;
  flex-wrap:wrap;
  gap:9px 15px;
  margin-top:16px;
  padding:10px 12px;
  border:1px solid #e1eaf1;
  border-radius:13px;
  background:#f8fbfd;
  color:#698193;
  font-size:11.2px;
  font-weight:800;
}
.center-peer-legend-v286 span {
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.center-peer-legend-v286 i {
  width:8px;
  height:8px;
  border-radius:50%;
}
.center-peer-legend-v286 i.mine { background:#2f86b9; }
.center-peer-legend-v286 i.peer { background:#7f8f9c; }
.center-peer-table-v286 {
  margin-top:12px;
  border:1px solid #dde8ef;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.center-peer-row-v286 {
  display:grid;
  grid-template-columns:minmax(145px,1.1fr) 92px minmax(230px,2.2fr) 104px 112px;
  align-items:center;
  gap:14px;
  min-height:82px;
  padding:14px 16px;
  border-bottom:1px solid #e8eef3;
}
.center-peer-row-v286:last-child { border-bottom:0; }
.center-peer-row-v286:hover { background:#fbfdff; }
.center-peer-metric-v286 {
  min-width:0;
}
.center-peer-metric-v286 b {
  display:block;
  color:#214962;
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.02em;
}
.center-peer-metric-v286 span {
  display:inline-flex;
  margin-top:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef3f7;
  color:#627c8f;
  font-size:10.5px;
  font-weight:900;
}
.center-peer-row-v286.advantage .center-peer-metric-v286 span { background:#eaf8f1; color:#167e59; }
.center-peer-row-v286.weak .center-peer-metric-v286 span { background:#fff0ee; color:#b9544c; }
.center-peer-row-v286.similar .center-peer-metric-v286 span { background:#eef3fb; color:#5770a8; }
.center-peer-values-v286 {
  text-align:center;
}
.center-peer-values-v286 small,
.center-peer-diff-v286 small {
  display:block;
  color:#8396a4;
  font-size:10.3px;
  font-weight:900;
}
.center-peer-values-v286 strong {
  display:block;
  margin-top:4px;
  color:#173f5b;
  font-size:18px;
  line-height:1.2;
}
.center-peer-values-v286.peer strong { color:#526c80; }
.center-peer-track-v286 {
  position:relative;
  height:28px;
}
.center-peer-track-base-v286 {
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:7px;
  transform:translateY(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,#eef3f6 0%,#e6edf2 100%);
}
.center-peer-track-v286::before {
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:100%;
  height:1px;
  background:#d7e2e9;
  transform:translateY(-50%);
}
.center-peer-track-v286 i {
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
.center-peer-track-v286 i.mine {
  width:14px;
  height:14px;
  border:3px solid #fff;
  border-radius:50%;
  background:#2f86b9;
  box-shadow:0 0 0 1px #2f86b9, 0 2px 5px rgba(34,93,128,.22);
}
.center-peer-track-v286 i.peer {
  width:4px;
  height:22px;
  border-radius:4px;
  background:#657f91;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.center-peer-diff-v286 {
  text-align:right;
}
.center-peer-diff-v286 strong {
  display:block;
  margin-top:4px;
  font-size:16px;
  line-height:1.2;
}
.center-peer-diff-v286.up strong { color:#0d8a60; }
.center-peer-diff-v286.down strong { color:#c35a4d; }
.center-peer-diff-v286.flat strong { color:#617d91; }
.center-peer-diff-v286 span {
  display:block;
  margin-top:4px;
  color:#8a9ba7;
  font-size:10.5px;
  font-weight:800;
}
.center-peer-empty-v286 {
  padding:22px;
  color:#728797;
  font-size:13px;
  text-align:center;
  font-weight:750;
}
@media(max-width:900px) {
  .center-peer-board-head-v286 { display:block; }
  .center-peer-basis-v286 { margin-top:12px; min-width:0; }
  .center-peer-row-v286 {
    grid-template-columns:minmax(130px,1fr) 86px minmax(170px,1.5fr) 96px 100px;
    gap:10px;
    padding:13px;
  }
}
@media(max-width:700px) {
  .center-strength-title-v286 { white-space:normal; font-size:14px !important; }
  .center-peer-row-v286 {
    grid-template-columns:1fr 1fr;
    gap:10px 12px;
  }
  .center-peer-metric-v286 { grid-column:1 / -1; }
  .center-peer-track-v286 { grid-column:1 / -1; order:4; }
  .center-peer-diff-v286 { text-align:left; }
}

/* ==================================================
   V286 센터현황분석 - 3초 이해형 최근 기수 타센터 비교
   - 핵심 지표 현황과 역할 분리
   - 평균 대비 격차를 중심으로 한 좌우 막대 비교
   - 열세 → 우위 순으로 정렬해 개선 필요 항목을 먼저 노출
   ================================================== */
.center-strength-title-v286 {
  white-space: nowrap !important;
  font-size: clamp(11.8px, 1.08vw, 13px) !important;
  letter-spacing: -.045em;
  line-height: 1.25;
}

.center-peer-snapshot-v286 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.center-peer-snapshot-v286 > div {
  min-width:0;
  padding:13px 15px;
  border:1px solid #e1e9ef;
  border-radius:16px;
  background:#f9fbfd;
}
.center-peer-snapshot-v286 small,
.center-peer-snapshot-v286 b,
.center-peer-snapshot-v286 span {
  display:block;
}
.center-peer-snapshot-v286 small {
  color:#7f929f;
  font-size:10.5px;
  font-weight:950;
}
.center-peer-snapshot-v286 b {
  margin-top:5px;
  color:#294e67;
  font-size:15px;
  line-height:1.35;
}
.center-peer-snapshot-v286 span {
  margin-top:4px;
  color:#708695;
  font-size:11.2px;
  line-height:1.45;
  font-weight:750;
}
.center-peer-snapshot-v286 .weak {
  background:#fff8f6;
  border-color:#f1ddd8;
}
.center-peer-snapshot-v286 .weak b { color:#b8564b; }
.center-peer-snapshot-v286 .strong {
  background:#f4fbf7;
  border-color:#d8ece1;
}
.center-peer-snapshot-v286 .strong b { color:#167c59; }

.center-peer-guide-v286 {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  margin-top:15px;
  padding:9px 14px;
  border-radius:13px;
  background:#f7fafc;
  border:1px solid #e2ebf1;
  color:#718796;
  font-size:11px;
  font-weight:850;
}
.center-peer-guide-v286 span:first-child { text-align:right; }
.center-peer-guide-v286 span:last-child { text-align:left; }
.center-peer-guide-v286 b {
  color:#526d80;
  font-size:11.5px;
}

.center-peer-table-v286 {
  margin-top:10px;
  border:1px solid #dde8ef;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.center-peer-row-v286 {
  display:grid;
  grid-template-columns:minmax(145px,.95fr) minmax(190px,1.15fr) minmax(300px,2.1fr) minmax(155px,1fr);
  align-items:center;
  gap:16px;
  min-height:96px;
  padding:15px 17px;
  border-bottom:1px solid #e8eef3;
}
.center-peer-row-v286:last-child { border-bottom:0; }
.center-peer-row-v286:hover { background:#fbfdff; }

.center-peer-metric-v286 b {
  display:block;
  color:#214962;
  font-size:14px;
  line-height:1.35;
  letter-spacing:-.02em;
}
.center-peer-metric-v286 span {
  display:inline-flex;
  margin-top:6px;
  padding:4px 8px;
  border-radius:999px;
  background:#eef3f7;
  color:#627c8f;
  font-size:10.5px;
  font-weight:900;
}
.center-peer-row-v286.advantage .center-peer-metric-v286 span { background:#eaf8f1; color:#167e59; }
.center-peer-row-v286.weak .center-peer-metric-v286 span { background:#fff0ee; color:#b9544c; }
.center-peer-row-v286.similar .center-peer-metric-v286 span { background:#eef3fb; color:#5770a8; }

.center-peer-pair-v286 {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
}
.center-peer-pair-v286 > div {
  min-width:0;
  text-align:center;
  padding:9px 8px;
  border-radius:12px;
  background:#f7fafc;
  border:1px solid #e5edf2;
}
.center-peer-pair-v286 small {
  display:block;
  color:#8396a4;
  font-size:9.8px;
  font-weight:900;
}
.center-peer-pair-v286 strong {
  display:block;
  margin-top:3px;
  color:#173f5b;
  font-size:16px;
  line-height:1.2;
}
.center-peer-pair-v286 .peer strong { color:#5d7485; }
.center-peer-pair-v286 > i {
  color:#a2b0ba;
  font-size:9px;
  font-style:normal;
  font-weight:950;
}

.center-peer-gap-v286 { min-width:0; }
.center-peer-gap-axis-v286 {
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  margin-bottom:5px;
  color:#91a2ae;
  font-size:9.5px;
  font-weight:850;
}
.center-peer-gap-axis-v286 span:first-child { text-align:left; }
.center-peer-gap-axis-v286 span:last-child { text-align:right; }
.center-peer-gap-axis-v286 b { color:#748b9a; font-size:9.8px; }
.center-peer-gap-track-v286 {
  position:relative;
  height:32px;
  border-radius:10px;
  background:linear-gradient(90deg,#fff6f4 0%,#f8fafc 45%,#f8fafc 55%,#f1faf5 100%);
  overflow:visible;
}
.center-peer-gap-track-v286::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:#dbe5eb;
  transform:translateY(-50%);
}
.center-peer-gap-track-v286 i.zero {
  position:absolute;
  left:50%;
  top:4px;
  bottom:4px;
  width:2px;
  transform:translateX(-50%);
  border-radius:2px;
  background:#607b8d;
  z-index:2;
}
.center-peer-gap-bar-v286 {
  position:absolute;
  top:10px;
  height:12px;
  border-radius:999px;
  z-index:1;
}
.center-peer-gap-bar-v286.down { background:#d96a5e; }
.center-peer-gap-bar-v286.up { background:#2a9a70; }
.center-peer-gap-bar-v286.flat { background:#738ea2; }
.center-peer-gap-track-v286 em {
  position:absolute;
  top:-18px;
  transform:translateX(-50%);
  padding:2px 5px;
  border-radius:6px;
  background:#fff;
  box-shadow:0 1px 5px rgba(42,73,94,.08);
  font-size:11.5px;
  font-style:normal;
  font-weight:950;
  white-space:nowrap;
  z-index:3;
}
.center-peer-gap-track-v286 em.down { color:#c55b50; }
.center-peer-gap-track-v286 em.up { color:#16835e; }
.center-peer-gap-track-v286 em.flat { color:#607d91; }
.center-peer-gap-track-v286 em.unknown { color:#899aa6; }

.center-peer-insight-v286 {
  min-width:0;
  padding-left:2px;
}
.center-peer-insight-v286 small,
.center-peer-insight-v286 b,
.center-peer-insight-v286 span { display:block; }
.center-peer-insight-v286 small {
  color:#8497a4;
  font-size:10px;
  font-weight:900;
}
.center-peer-insight-v286 b {
  margin-top:4px;
  color:#385970;
  font-size:12.2px;
  line-height:1.35;
}
.center-peer-insight-v286.down b { color:#bd584d; }
.center-peer-insight-v286.up b { color:#167f5b; }
.center-peer-insight-v286 span {
  margin-top:4px;
  color:#899aa6;
  font-size:10px;
  font-weight:800;
}
.center-peer-note-v286 {
  margin:11px 2px 0;
  color:#7a8f9e;
  font-size:10.5px;
  line-height:1.5;
  font-weight:750;
}

@media(max-width:980px) {
  .center-peer-row-v286 {
    grid-template-columns:minmax(130px,.9fr) minmax(175px,1fr) minmax(250px,1.8fr) minmax(140px,.9fr);
    gap:11px;
    padding:14px;
  }
}
@media(max-width:760px) {
  .center-peer-snapshot-v286 { grid-template-columns:1fr; }
  .center-peer-row-v286 {
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:15px;
  }
  .center-peer-metric-v286,
  .center-peer-gap-v286 { grid-column:1 / -1; }
  .center-peer-pair-v286 { grid-column:1 / 2; }
  .center-peer-insight-v286 { grid-column:2 / 3; }
  .center-strength-title-v286 {
    white-space:nowrap !important;
    font-size:12px !important;
  }
}
@media(max-width:520px) {
  .center-peer-row-v286 { grid-template-columns:1fr; }
  .center-peer-metric-v286,
  .center-peer-pair-v286,
  .center-peer-gap-v286,
  .center-peer-insight-v286 { grid-column:1; }
  .center-peer-guide-v286 { font-size:9.8px; gap:7px; padding:8px 9px; }
  .center-peer-pair-v286 strong { font-size:15px; }
  .center-peer-gap-track-v286 em { font-size:11px; }
  .center-strength-title-v286 {
    white-space:nowrap !important;
    font-size:11.6px !important;
  }
}


/* V287 센터현황분석 - 강점 제목 가독성 및 핵심지표 요약칩 제거 */
.center-strength-title-v286 {
  white-space: nowrap !important;
  font-size: clamp(13px, 1.18vw, 14.5px) !important;
  line-height: 1.25;
  letter-spacing: -.035em;
}
@media(max-width:760px) {
  .center-strength-title-v286 {
    white-space: nowrap !important;
    font-size: 12.6px !important;
  }
}
@media(max-width:520px) {
  .center-strength-title-v286 {
    white-space: nowrap !important;
    font-size: 12px !important;
  }
}

/* ==================================================
   V288 센터 현황 분석 - 다음 기수 운영 우선순위 의사결정 보드
   목적: 3초 안에 개선/유지/관찰 순위와 다음 행동을 판단
   ================================================== */
.center-priority-board-v288 {
  background: linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.center-priority-head-v288 p {
  max-width: 520px;
}
.center-priority-summary-v288 {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #dce7ee;
  border-radius: 16px;
  background: #f5f9fc;
}
.center-priority-summary-v288 span {
  color: #668196;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
}
.center-priority-summary-v288 strong {
  color: #173f5b;
  font-size: 14.5px;
  line-height: 1.55;
  letter-spacing: -.012em;
}
.center-priority-list-v288 {
  display: grid;
  gap: 11px;
  margin-top: 14px;
}
.center-priority-row-v288 {
  position: relative;
  display: grid;
  grid-template-columns: 112px minmax(300px,1.3fr) 150px minmax(280px,1fr);
  gap: 18px;
  align-items: center;
  min-width: 0;
  padding: 16px 17px;
  border: 1px solid #dfe8ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(30,72,101,.045);
  overflow: hidden;
}
.center-priority-row-v288::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #8198aa;
}
.center-priority-row-v288.priority::before { background:#d76558; }
.center-priority-row-v288.maintain::before { background:#21a06e; }
.center-priority-row-v288.watch::before { background:#667db8; }
.center-priority-rank-v288 {
  display: grid;
  gap: 5px;
  padding-left: 5px;
}
.center-priority-rank-v288 strong {
  color: #183f5a;
  font-size: 24px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.03em;
}
.center-priority-rank-v288 span {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f0f4f7;
  color: #587184;
  font-size: 10.5px;
  font-weight: 900;
}
.center-priority-row-v288.priority .center-priority-rank-v288 span { background:#fff0ee; color:#b65349; }
.center-priority-row-v288.maintain .center-priority-rank-v288 span { background:#eaf8f1; color:#147d57; }
.center-priority-row-v288.watch .center-priority-rank-v288 span { background:#eef1fb; color:#546eae; }
.center-priority-main-v288 { min-width: 0; }
.center-priority-title-v288 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.center-priority-title-v288 h5 {
  margin: 0;
  color: #173f5b;
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.center-priority-title-v288 b {
  color: #637d8f;
  font-size: 11.5px;
  line-height: 1.35;
  font-weight: 850;
  text-align: right;
}
.center-priority-bars-v288 {
  display: grid;
  gap: 7px;
  margin-top: 11px;
}
.center-priority-bar-row-v288 {
  display: grid;
  grid-template-columns: 74px minmax(120px,1fr) 52px;
  gap: 9px;
  align-items: center;
}
.center-priority-bar-row-v288 span {
  color: #718797;
  font-size: 10.5px;
  font-weight: 850;
}
.center-priority-bar-row-v288 i {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: #edf2f5;
  overflow: hidden;
}
.center-priority-bar-row-v288 i em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #6f91aa;
}
.center-priority-bar-row-v288.peer i em { background:#b4c2cc; }
.center-priority-bar-row-v288 strong {
  color: #294f68;
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}
.center-priority-signal-v288 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.center-priority-signal-v288 > div {
  min-width: 0;
  padding: 10px 9px;
  border: 1px solid #e4ebf0;
  border-radius: 12px;
  background: #f9fbfc;
  text-align: center;
}
.center-priority-signal-v288 small {
  display:block;
  color:#7b8f9e;
  font-size:9.8px;
  font-weight:900;
}
.center-priority-signal-v288 strong {
  display:block;
  margin-top:4px;
  color:#4e6c80;
  font-size:13.5px;
  font-weight:950;
}
.center-priority-signal-v288 strong.up { color:#14865d; }
.center-priority-signal-v288 strong.down { color:#c1594d; }
.center-priority-action-v288 {
  min-width: 0;
  padding-left: 16px;
  border-left: 1px solid #e7eef3;
}
.center-priority-action-v288 > small {
  display:block;
  color:#718899;
  font-size:10px;
  font-weight:950;
  letter-spacing:.03em;
}
.center-priority-action-v288 > p {
  margin:5px 0 0;
  color:#294e67;
  font-size:12.5px;
  line-height:1.52;
  font-weight:760;
}
.center-priority-action-v288 > div {
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:7px;
  align-items:start;
  margin-top:9px;
  padding-top:8px;
  border-top:1px dashed #e4ebf0;
}
.center-priority-action-v288 > div span {
  color:#7c909f;
  font-size:10px;
  font-weight:900;
}
.center-priority-action-v288 > div b {
  color:#355a71;
  font-size:11.3px;
  line-height:1.45;
  font-weight:850;
}
@media (max-width: 1120px) {
  .center-priority-row-v288 {
    grid-template-columns: 100px minmax(260px,1fr) 145px;
  }
  .center-priority-action-v288 {
    grid-column: 2 / -1;
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid #e7eef3;
  }
}
@media (max-width: 760px) {
  .center-priority-summary-v288 { grid-template-columns:1fr; gap:6px; }
  .center-priority-row-v288 {
    grid-template-columns: 78px minmax(0,1fr);
    gap: 12px;
    padding: 15px 14px;
  }
  .center-priority-main-v288 { min-width:0; }
  .center-priority-signal-v288 {
    grid-column: 1 / -1;
  }
  .center-priority-action-v288 {
    grid-column: 1 / -1;
  }
  .center-priority-title-v288 { display:block; }
  .center-priority-title-v288 b { display:block; margin-top:5px; text-align:left; }
  .center-priority-bar-row-v288 { grid-template-columns:70px minmax(90px,1fr) 50px; }
}

/* ==================================================
   V292 센터현황분석 - 3초 이해형 핵심 지표 + 운영 우선순위
   - 핵심 지표: 최근 vs 직전 + 센터 누적 기준
   - 운영 우선순위: 근거 수치 → 행동 → 성공 기준
   ================================================== */
.center-kpi-board-v292,
.center-action-board-v292 {
  background: linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.center-kpi-head-v292 p,
.center-action-headline-v292 p {
  max-width: 560px;
}
.center-kpi-insight-v292,
.center-action-summary-v292 {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:14px;
  padding:13px 15px;
  border:1px solid #dce7ee;
  border-radius:15px;
  background:#f5f9fc;
}
.center-kpi-insight-v292 span,
.center-action-summary-v292 span {
  color:#6f8596;
  font-size:10.8px;
  font-weight:950;
  letter-spacing:.03em;
}
.center-kpi-insight-v292 strong,
.center-action-summary-v292 strong {
  color:#183f5a;
  font-size:14px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:-.01em;
}
.center-kpi-grid-v292 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.center-kpi-card-v292 {
  position:relative;
  min-width:0;
  padding:17px 18px 16px;
  border:1px solid #dfe8ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,72,100,.045);
  overflow:hidden;
}
.center-kpi-card-v292::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:#7f96a8;
}
.center-kpi-card-v292.good::before { background:#22966c; }
.center-kpi-card-v292.recover::before { background:#3a86b7; }
.center-kpi-card-v292.warning::before { background:#d39b45; }
.center-kpi-card-v292.danger::before { background:#d26457; }
.center-kpi-card-top-v292 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.center-kpi-card-top-v292 > div {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.center-kpi-card-top-v292 > div > span {
  color:#99aab6;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.06em;
}
.center-kpi-card-top-v292 h5 {
  margin:0;
  color:#183f5b;
  font-size:15px;
  line-height:1.3;
  letter-spacing:-.02em;
}
.center-kpi-status-v292 {
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#60798b;
  font-size:10.5px;
  font-weight:950;
  white-space:nowrap;
}
.center-kpi-status-v292.good { background:#eaf8f1; color:#157c57; }
.center-kpi-status-v292.recover { background:#edf6fb; color:#2b739e; }
.center-kpi-status-v292.warning { background:#fff7e9; color:#9b6b20; }
.center-kpi-status-v292.danger { background:#fff0ee; color:#b65349; }
.center-kpi-current-v292 {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
}
.center-kpi-current-v292 small {
  display:block;
  color:#8194a2;
  font-size:10px;
  font-weight:900;
}
.center-kpi-current-v292 > div:first-child strong {
  display:block;
  margin-top:4px;
  color:#173f5b;
  font-size:29px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
}
.center-kpi-current-v292 > div:last-child { text-align:right; }
.center-kpi-current-v292 > div:last-child b {
  display:block;
  margin-top:4px;
  font-size:15px;
  line-height:1.1;
  font-weight:950;
}
.center-kpi-current-v292 .up b { color:#14845c; }
.center-kpi-current-v292 .down b { color:#c25b4f; }
.center-kpi-current-v292 .flat b { color:#637e91; }
.center-kpi-bars-v292 {
  display:grid;
  gap:8px;
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid #eaf0f4;
}
.center-kpi-bars-v292 > div {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 52px;
  gap:9px;
  align-items:center;
}
.center-kpi-bars-v292 span {
  color:#7890a0;
  font-size:10.5px;
  font-weight:900;
}
.center-kpi-bars-v292 i {
  display:block;
  height:8px;
  border-radius:999px;
  background:#edf2f5;
  overflow:hidden;
}
.center-kpi-bars-v292 i em {
  display:block;
  height:100%;
  border-radius:inherit;
  background:#a7b8c4;
}
.center-kpi-bars-v292 .latest i em { background:#4f89ad; }
.center-kpi-bars-v292 b {
  color:#365a70;
  font-size:11.5px;
  font-weight:950;
  text-align:right;
}
.center-kpi-baseline-v292 {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:7px 12px;
  margin-top:11px;
  padding:9px 10px;
  border-radius:11px;
  background:#f7fafc;
  color:#718798;
  font-size:10.5px;
  font-weight:850;
}
.center-kpi-baseline-v292 b { color:#365a71; }
.center-kpi-baseline-v292 b.up { color:#14845c; }
.center-kpi-baseline-v292 b.down { color:#c25b4f; }
.center-kpi-card-v292 > p {
  margin:10px 0 0;
  color:#587386;
  font-size:11.7px;
  line-height:1.52;
  font-weight:740;
}

.center-action-grid-v292 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.center-action-card-v292 {
  position:relative;
  min-width:0;
  padding:18px;
  border:1px solid #dfe8ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,72,100,.045);
  overflow:hidden;
}
.center-action-card-v292::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:#7d93a4;
}
.center-action-card-v292.priority::before { background:#d56357; }
.center-action-card-v292.maintain::before { background:#219a6d; }
.center-action-card-v292.watch::before { background:#647db8; }
.center-action-head-v292 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.center-action-rank-v292 {
  display:flex;
  align-items:center;
  gap:8px;
}
.center-action-rank-v292 strong {
  color:#173f5b;
  font-size:22px;
  line-height:1;
  font-weight:950;
}
.center-action-rank-v292 span {
  padding:5px 8px;
  border-radius:999px;
  background:#eef3f6;
  color:#5f788a;
  font-size:10.5px;
  font-weight:950;
}
.center-action-card-v292.priority .center-action-rank-v292 span { background:#fff0ee; color:#b65349; }
.center-action-card-v292.maintain .center-action-rank-v292 span { background:#eaf8f1; color:#147d57; }
.center-action-card-v292.watch .center-action-rank-v292 span { background:#eef1fb; color:#536daa; }
.center-action-tag-v292 {
  color:#9aabb7;
  font-size:9.5px;
  font-weight:950;
  letter-spacing:.1em;
}
.center-action-card-v292 h5 {
  margin:14px 0 0;
  color:#173f5b;
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.025em;
}
.center-action-reason-v292 {
  min-height:38px;
  margin:7px 0 0;
  color:#5f7789;
  font-size:11.8px;
  line-height:1.5;
  font-weight:760;
}
.center-action-numbers-v292 {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
}
.center-action-numbers-v292 > div {
  padding:10px 9px;
  border:1px solid #e5edf2;
  border-radius:12px;
  background:#f9fbfc;
}
.center-action-numbers-v292 small {
  display:block;
  color:#8093a0;
  font-size:9.6px;
  font-weight:900;
}
.center-action-numbers-v292 strong {
  display:block;
  margin-top:4px;
  color:#526f82;
  font-size:15px;
  font-weight:950;
}
.center-action-numbers-v292 strong.up { color:#14845c; }
.center-action-numbers-v292 strong.down { color:#c25b4f; }
.center-action-do-v292 {
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e9eff3;
}
.center-action-do-v292 > span,
.center-action-success-v292 > span {
  display:block;
  color:#758b9b;
  font-size:10px;
  font-weight:950;
}
.center-action-do-v292 p {
  margin:5px 0 0;
  color:#294f68;
  font-size:12px;
  line-height:1.52;
  font-weight:780;
}
.center-action-success-v292 {
  margin-top:10px;
  padding:10px 11px;
  border-radius:12px;
  border:1px solid #dfe8ef;
  background:#f8fbfd;
}
.center-action-success-v292 b {
  display:block;
  margin-top:4px;
  color:#365a71;
  font-size:11.2px;
  line-height:1.45;
  font-weight:850;
}

@media(max-width:980px) {
  .center-action-grid-v292 { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .center-kpi-grid-v292 { grid-template-columns:1fr; }
  .center-kpi-insight-v292,
  .center-action-summary-v292 { grid-template-columns:1fr; gap:5px; }
  .center-kpi-current-v292 > div:first-child strong { font-size:27px; }
  .center-action-reason-v292 { min-height:0; }
}
@media(max-width:520px) {
  .center-kpi-card-v292,
  .center-action-card-v292 { padding:15px; }
  .center-kpi-card-top-v292 h5 { font-size:14px; }
  .center-kpi-current-v292 > div:first-child strong { font-size:25px; }
  .center-kpi-current-v292 > div:last-child b { font-size:14px; }
  .center-kpi-card-v292 > p { font-size:11.4px; }
  .center-action-card-v292 h5 { font-size:16px; }
  .center-action-numbers-v292 strong { font-size:14px; }
  .center-action-do-v292 p { font-size:11.8px; }
}


/* ==================================================
   V293 센터현황분석 - 기수별 핵심 지표 추이 소형 다중 차트
   목적: 최근 흐름/급변/하락을 3초 안에 파악
   방식: 지표별 선그래프 분리 + 최근값/직전 변화 직접 표시
   ================================================== */
.center-trend-summary-v293 {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #dfe8ef;
  border-radius: 16px;
  background: linear-gradient(135deg,#f7fafc 0%,#fbfdff 100%);
}
.center-trend-summary-v293 > span {
  display:block;
  color:#758b9a;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.06em;
}
.center-trend-summary-v293 > strong {
  display:block;
  margin-top:5px;
  color:#214a64;
  font-size:15px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:-.015em;
}
.center-trend-summary-v293 > small {
  display:block;
  margin-top:4px;
  color:#8295a3;
  font-size:10.8px;
  line-height:1.5;
  font-weight:700;
}
.center-trend-grid-v293 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.center-trend-card-v293 {
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:17px 18px 15px;
  border:1px solid #dfe8ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 22px rgba(28,72,102,.04);
}
.center-trend-card-v293::before {
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:#7f97aa;
}
.center-trend-card-v293.attention::before { background:#d06457; }
.center-trend-card-v293.positive::before { background:#21996c; }
.center-trend-card-v293.stable::before { background:#6b83b8; }
.center-trend-card-head-v293 {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.center-trend-order-v293 {
  display:block;
  color:#98a9b5;
  font-size:9.5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.1em;
}
.center-trend-card-head-v293 h5 {
  margin:5px 0 0;
  color:#254d67;
  font-size:15px;
  line-height:1.3;
  font-weight:950;
  letter-spacing:-.02em;
}
.center-trend-state-v293 {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#f0f4f7;
  color:#607a8d;
  font-size:10.5px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
}
.center-trend-state-v293.up { background:#eaf8f1; color:#137c57; }
.center-trend-state-v293.down { background:#fff0ee; color:#b95349; }
.center-trend-state-v293.flat { background:#eef3fa; color:#5871a6; }
.center-trend-kpi-v293 {
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:8px;
  margin-top:13px;
}
.center-trend-kpi-v293 > div {
  min-width:0;
  padding:9px 10px;
  border-radius:12px;
  background:#f7fafc;
  border:1px solid #e6edf2;
}
.center-trend-kpi-v293 small {
  display:block;
  color:#8194a2;
  font-size:9.8px;
  font-weight:850;
}
.center-trend-kpi-v293 .latest strong {
  display:block;
  margin-top:4px;
  color:#173f5b;
  font-size:21px;
  line-height:1;
  letter-spacing:-.035em;
}
.center-trend-kpi-v293 .delta b {
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.1;
  font-weight:950;
  white-space:nowrap;
}
.center-trend-kpi-v293 .delta.up b { color:#0d8860; }
.center-trend-kpi-v293 .delta.down b { color:#c15b4f; }
.center-trend-kpi-v293 .delta.flat b { color:#607b8f; }
.center-trend-graph-v293 {
  margin-top:12px;
  overflow-x:auto;
  border-top:1px solid #edf2f5;
  border-bottom:1px solid #edf2f5;
  padding:6px 0 1px;
}
.center-trend-graph-v293 svg {
  display:block;
  width:100%;
  min-width:390px;
  height:auto;
}
.center-trend-gridline-v293 { stroke:#e9eff4; stroke-width:1; }
.center-trend-line-v293 {
  fill:none;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.center-trend-line-v293.blue { stroke:#2f80ed; }
.center-trend-line-v293.violet { stroke:#8b67c9; }
.center-trend-line-v293.green { stroke:#15966d; }
.center-trend-line-v293.orange { stroke:#df8a1e; }
.center-trend-dot-v293 { stroke:#fff; stroke-width:2.2; }
.center-trend-dot-v293.blue { fill:#2f80ed; }
.center-trend-dot-v293.violet { fill:#8b67c9; }
.center-trend-dot-v293.green { fill:#15966d; }
.center-trend-dot-v293.orange { fill:#df8a1e; }
.center-trend-dot-v293.latest { stroke-width:3; }
.center-trend-value-v293 {
  font-size:15.5px;
  font-weight:950;
  paint-order:stroke fill;
  stroke:#fff;
  stroke-width:3.5px;
  stroke-linejoin:round;
}
.center-trend-value-v293.blue { fill:#286fca; }
.center-trend-value-v293.violet { fill:#7456ad; }
.center-trend-value-v293.green { fill:#117d5b; }
.center-trend-value-v293.orange { fill:#b86c12; }
.center-trend-term-v293 {
  fill:#4e6c80;
  font-size:13.5px;
  font-weight:900;
  letter-spacing:-.01em;
}
.center-trend-insight-v293 {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:9px;
  align-items:start;
  margin-top:11px;
  padding:10px 11px;
  border-radius:12px;
  background:#f7fafc;
}
.center-trend-insight-v293 > span {
  padding:4px 7px;
  border-radius:7px;
  background:#eaf0f4;
  color:#587286;
  font-size:9.8px;
  font-weight:950;
  white-space:nowrap;
}
.center-trend-insight-v293 p {
  margin:1px 0 0;
  color:#526e82;
  font-size:11.5px;
  line-height:1.55;
  font-weight:750;
}
.center-trend-insight-v293.up { background:#f1faf5; }
.center-trend-insight-v293.up > span { background:#e1f4e9; color:#147d59; }
.center-trend-insight-v293.down { background:#fff6f4; }
.center-trend-insight-v293.down > span { background:#fde8e4; color:#b55248; }
@media(max-width:900px) {
  .center-trend-grid-v293 { grid-template-columns:1fr; }
}
@media(max-width:520px) {
  .center-trend-card-v293 { padding:15px 14px 13px; }
  .center-trend-card-head-v293 h5 { font-size:14.5px; }
  .center-trend-kpi-v293 { grid-template-columns:1.15fr 1fr 1fr; gap:6px; }
  .center-trend-kpi-v293 > div { padding:8px; }
  .center-trend-kpi-v293 .latest strong { font-size:20px; }
  .center-trend-kpi-v293 .delta b { font-size:12.5px; }
  .center-trend-graph-v293 svg { min-width:370px; }
  .center-trend-summary-v293 > strong { font-size:14px; }
}


/* ==================================================
   V294 연도 추세 분석
   ================================================== */
.annual-dashboard-v294 { display:block; }
.annual-shell-v294 { display:grid; gap:18px; }
.annual-hero-v294 {
  display:flex; justify-content:space-between; gap:20px; align-items:flex-start;
  padding:24px; border:1px solid #dbe7ef; border-radius:26px; background:#fff;
  box-shadow:0 14px 34px rgba(27,72,103,.06);
}
.annual-hero-v294 > div:first-child > span,
.annual-panel-head-v294 span { color:#6f8799; font-size:10.5px; font-weight:950; letter-spacing:.09em; }
.annual-hero-v294 h3 { margin:7px 0 0; color:#153f5d; font-size:25px; line-height:1.2; letter-spacing:-.03em; }
.annual-hero-v294 p { margin:8px 0 0; color:#667f91; font-size:14px; line-height:1.65; font-weight:700; }
.annual-meta-v294 { display:grid; grid-template-columns:repeat(3, minmax(88px,1fr)); gap:8px; min-width:310px; }
.annual-meta-v294 > div { padding:12px 14px; border-radius:16px; background:#f5f9fc; border:1px solid #e3edf4; }
.annual-meta-v294 small { display:block; color:#7c91a1; font-size:10.5px; font-weight:900; }
.annual-meta-v294 b { display:block; margin-top:4px; color:#214c68; font-size:18px; }

.annual-insight-grid-v294 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.annual-insight-grid-v294 article { position:relative; overflow:hidden; padding:18px 20px; border:1px solid #dce7ee; border-radius:21px; background:#fff; }
.annual-insight-grid-v294 article::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:#7d96aa; }
.annual-insight-grid-v294 article.good::before { background:#23976c; }
.annual-insight-grid-v294 article.watch::before { background:#d16a5d; }
.annual-insight-grid-v294 span { color:#718798; font-size:11px; font-weight:950; }
.annual-insight-grid-v294 b { display:block; margin-top:6px; color:#173f5b; font-size:18px; line-height:1.3; }
.annual-insight-grid-v294 p { margin:7px 0 0; color:#5d778a; font-size:13px; line-height:1.55; font-weight:720; }

.annual-panel-v294 { padding:22px; border:1px solid #dbe7ef; border-radius:26px; background:#fff; box-shadow:0 12px 30px rgba(27,72,103,.045); }
.annual-panel-head-v294 { display:flex; justify-content:space-between; gap:16px; align-items:flex-end; }
.annual-panel-head-v294 h3 { margin:5px 0 0; color:#163f5b; font-size:21px; letter-spacing:-.025em; }
.annual-panel-head-v294 p { margin:0; color:#718799; font-size:12.5px; font-weight:700; }
.annual-grid-v294 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:16px; }
.annual-metric-card-v294 { position:relative; overflow:hidden; padding:18px; border:1px solid #e0e9f0; border-radius:22px; background:#fbfdff; }
.annual-metric-card-v294::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:#7790a6; }
.annual-metric-card-v294.good::before { background:#238f69; }
.annual-metric-card-v294.danger::before { background:#cf6558; }
.annual-metric-card-v294.stable::before { background:#6e86ba; }
.annual-metric-head-v294 { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.annual-metric-head-v294 > div { display:flex; gap:9px; align-items:center; min-width:0; }
.annual-metric-head-v294 span { color:#91a5b3; font-size:11px; font-weight:950; }
.annual-metric-head-v294 h4 { margin:0; color:#183f59; font-size:18px; line-height:1.3; }
.annual-metric-head-v294 > b { padding:6px 9px; border-radius:999px; font-size:11px; font-weight:900; background:#eef3f7; color:#587084; }
.annual-metric-head-v294 > b.good { background:#eaf7f1; color:#157d59; }
.annual-metric-head-v294 > b.danger { background:#fff0ee; color:#bd574c; }
.annual-metric-head-v294 > b.stable { background:#eef1fa; color:#566fae; }
.annual-metric-kpis-v294 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:14px; }
.annual-metric-kpis-v294 > div { padding:10px 11px; border-radius:14px; background:#f3f7fa; }
.annual-metric-kpis-v294 small { display:block; color:#7b909f; font-size:10.5px; font-weight:900; }
.annual-metric-kpis-v294 strong { display:block; margin-top:4px; color:#264d66; font-size:15px; }
.annual-metric-kpis-v294 .up strong { color:#11895f; }
.annual-metric-kpis-v294 .down strong { color:#c35a4e; }
.annual-chart-v294 { margin-top:11px; min-height:172px; }
.annual-chart-v294 svg { width:100%; height:auto; overflow:visible; }
.annual-line-v294 { fill:none; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.annual-line-v294.good { stroke:#219a70; }
.annual-line-v294.danger { stroke:#d06a5c; }
.annual-line-v294.stable { stroke:#6381ba; }
.annual-dot-v294 { stroke:#fff; stroke-width:2; }
.annual-dot-v294.good { fill:#219a70; }
.annual-dot-v294.danger { fill:#d06a5c; }
.annual-dot-v294.stable { fill:#6381ba; }
.annual-value-v294 { font-size:13px; font-weight:950; paint-order:stroke; stroke:#fff; stroke-width:4px; stroke-linejoin:round; }
.annual-value-v294.good { fill:#147653; }
.annual-value-v294.danger { fill:#b84f45; }
.annual-value-v294.stable { fill:#4d68a0; }
.annual-year-v294 { fill:#617b8e; font-size:12px; font-weight:900; }
.annual-empty-v294 { padding:28px 12px; color:#8296a4; text-align:center; font-size:13px; }

.annual-table-wrap-v294 { margin-top:15px; overflow:auto; border:1px solid #e0e9ef; border-radius:18px; }
.annual-table-v294 { width:100%; border-collapse:collapse; min-width:720px; background:#fff; }
.annual-table-v294 th,.annual-table-v294 td { padding:11px 12px; border-bottom:1px solid #edf2f5; text-align:center; color:#31546b; font-size:12.5px; }
.annual-table-v294 thead th { background:#f5f9fc; color:#6c8496; font-size:11px; font-weight:950; }
.annual-table-v294 tbody th { text-align:left; color:#173f5b; font-size:13px; font-weight:950; }
.annual-basis-v294 { margin:0; padding:0 3px; color:#7d919f; font-size:11.5px; line-height:1.5; }

@media (max-width: 900px) {
  .annual-hero-v294 { display:block; }
  .annual-meta-v294 { min-width:0; margin-top:15px; }
  .annual-grid-v294 { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  .annual-hero-v294,.annual-panel-v294 { padding:17px; border-radius:21px; }
  .annual-hero-v294 h3 { font-size:21px; }
  .annual-meta-v294 { grid-template-columns:repeat(3,1fr); }
  .annual-meta-v294 > div { padding:10px; }
  .annual-meta-v294 b { font-size:16px; }
  .annual-insight-grid-v294 { grid-template-columns:1fr; }
  .annual-panel-head-v294 { display:block; }
  .annual-panel-head-v294 p { margin-top:7px; }
  .annual-metric-kpis-v294 { grid-template-columns:1fr 1fr; }
  .annual-metric-kpis-v294 > div:first-child { grid-column:1 / -1; }
  .annual-value-v294 { font-size:14px; }
  .annual-year-v294 { font-size:12.5px; }
}

/* V295 연도 추세 분석 - 전체 연도/5대 지표 고정 순서 */
.annual-shell-v295 { gap:20px; }
.annual-meta-v295 { grid-template-columns:repeat(3,minmax(110px,1fr)); }
.annual-meta-v295 > div:first-child b { font-size:16px; white-space:nowrap; }
.annual-panel-v295 { overflow:hidden; }
.annual-flow-v295 {
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:15px;
  padding:11px 13px;
  border-radius:16px;
  border:1px solid #e1eaf1;
  background:#f8fbfd;
  overflow-x:auto;
  white-space:nowrap;
}
.annual-flow-v295 span {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dce7ef;
  color:#31566f;
  font-size:11.5px;
  font-weight:900;
}
.annual-flow-v295 i {
  flex:0 0 auto;
  color:#9aabb8;
  font-style:normal;
  font-size:12px;
  font-weight:950;
}
.annual-grid-v295 {
  grid-template-columns:1fr;
  gap:16px;
}
.annual-metric-wide-v295 {
  padding:20px;
}
.annual-metric-main-v295 {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);
  gap:14px;
  align-items:stretch;
  margin-top:14px;
}
.annual-metric-main-v295 .annual-metric-kpis-v294 { margin-top:0; }
.annual-meaning-v295 {
  margin:0;
  padding:12px 14px;
  border-radius:15px;
  border:1px solid #e3ebf1;
  background:#f7fafc;
  color:#5b7486;
  font-size:12.5px;
  line-height:1.55;
  font-weight:720;
}
.annual-meaning-v295 b {
  display:block;
  margin-bottom:5px;
  color:#2d536c;
  font-size:11px;
  font-weight:950;
  letter-spacing:.03em;
}
.annual-chart-v294 {
  overflow:hidden;
}
.annual-chart-scroll-v295 {
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 0 4px;
  scrollbar-width:thin;
}
.annual-chart-scroll-v295 svg { display:block; }
.annual-guide-v295 {
  stroke:#e7eef3;
  stroke-width:1;
  stroke-dasharray:4 5;
}
.annual-table-wrap-v295 { overflow:auto; }
.annual-table-v295 { min-width:900px; }
.annual-table-v295 th,
.annual-table-v295 td { font-size:13px; padding:12px 13px; }
.annual-table-v295 thead th { font-size:11.5px; }
.annual-table-v295 tbody th {
  position:sticky;
  left:0;
  z-index:1;
  background:#fff;
  white-space:nowrap;
}
.annual-table-v295 thead th:first-child {
  position:sticky;
  left:0;
  z-index:2;
}

@media (max-width: 820px) {
  .annual-metric-main-v295 { grid-template-columns:1fr; }
  .annual-meta-v295 { grid-template-columns:1fr 1fr 1fr; }
  .annual-flow-v295 { margin-top:12px; }
}
@media (max-width: 620px) {
  .annual-metric-wide-v295 { padding:16px; }
  .annual-meta-v295 { grid-template-columns:1fr 1fr; }
  .annual-meta-v295 > div:first-child { grid-column:1 / -1; }
  .annual-flow-v295 span { font-size:11px; }
  .annual-value-v294 { font-size:14px; }
  .annual-year-v294 { font-size:13px; }
  .annual-table-v295 th,
  .annual-table-v295 td { font-size:12.5px; }
}


/* V296 연도 추세 - 전체 연도 한 화면 표시 / 고값 잘림 방지 */
.annual-chart-fit-v296 {
  width:100%;
  overflow:visible;
  padding:4px 0 0;
}
.annual-chart-fit-v296 svg {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  overflow:visible;
}
.annual-chart-fit-v296 .annual-value-v294 {
  font-size:14px;
}
.annual-chart-fit-v296 .annual-year-v294 {
  font-size:12.5px;
}
.annual-chart-fit-v296 .annual-year-v294.latest {
  fill:#173f5b;
  font-weight:1000;
}
.annual-missing-v296 {
  fill:#a8b6c0;
  font-size:12px;
  font-weight:900;
}

/* 통합표도 가로 잘림 없이 5개 지표를 한 화면에 보이게 정리 */
.annual-table-wrap-v295 {
  overflow:visible;
}
.annual-table-v295 {
  width:100%;
  min-width:0;
  table-layout:fixed;
}
.annual-table-v295 th,
.annual-table-v295 td {
  padding:11px 7px;
  font-size:12.5px;
  line-height:1.35;
  white-space:normal;
  word-break:keep-all;
}
.annual-table-v295 thead th {
  font-size:11.5px;
}
.annual-table-v295 thead th:first-child,
.annual-table-v295 tbody th {
  position:static;
  width:12%;
}

@media (max-width: 720px) {
  .annual-metric-wide-v295 { padding:15px 13px; }
  .annual-chart-fit-v296 .annual-value-v294 { font-size:14.5px; }
  .annual-chart-fit-v296 .annual-year-v294 { font-size:13px; }
  .annual-table-v295 th,
  .annual-table-v295 td { padding:9px 4px; font-size:12px; }
  .annual-table-v295 thead th { font-size:11px; }
}


/* ==================================================
   V297 연도 추세 분석 - 상단 요약 구조 개선
   - 우측 넘침 제거
   - 제목/설명/분석범위를 위계화
   ================================================== */
.annual-hero-v297 {
  display:block;
  min-width:0;
  overflow:hidden;
  padding:24px 26px 22px;
}
.annual-hero-v297 > div:first-child {
  min-width:0;
  max-width:760px;
}
.annual-hero-v297 > div:first-child > span {
  color:#6d879a;
  font-size:10.5px;
  font-weight:950;
  letter-spacing:.1em;
}
.annual-hero-v297 h3 {
  margin-top:8px;
  font-size:25px;
  line-height:1.22;
  letter-spacing:-.032em;
}
.annual-hero-v297 p {
  max-width:720px;
  margin-top:9px;
  color:#647e91;
  font-size:13.5px;
  line-height:1.6;
  font-weight:720;
  word-break:keep-all;
}
.annual-meta-v297 {
  width:100%;
  min-width:0;
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.annual-meta-v297 > div {
  min-width:0;
  padding:13px 15px 12px;
  border:1px solid #dfe9f0;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbfd 0%,#f3f8fb 100%);
}
.annual-meta-v297 small,
.annual-meta-v297 b,
.annual-meta-v297 span {
  display:block;
  min-width:0;
}
.annual-meta-v297 small {
  color:#7a91a2;
  font-size:10.5px;
  line-height:1.2;
  font-weight:900;
}
.annual-meta-v297 b {
  margin-top:5px;
  color:#173f5c;
  font-size:18px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:-.025em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.annual-meta-v297 span {
  margin-top:5px;
  color:#8195a3;
  font-size:10.5px;
  line-height:1.35;
  font-weight:720;
  white-space:normal;
  word-break:keep-all;
}
@media (max-width:720px) {
  .annual-hero-v297 { padding:18px 17px; }
  .annual-hero-v297 h3 { font-size:21px; }
  .annual-hero-v297 p { font-size:12.8px; }
  .annual-meta-v297 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
  .annual-meta-v297 > div:first-child { grid-column:1 / -1; }
  .annual-meta-v297 > div { padding:11px 12px; }
  .annual-meta-v297 b { font-size:16px; }
  .annual-meta-v297 span { font-size:10px; }
}
@media (max-width:420px) {
  .annual-meta-v297 { grid-template-columns:1fr; }
  .annual-meta-v297 > div:first-child { grid-column:auto; }
}


/* ==================================================
   V298 연도 추세 분석 - 상단 이해도/넘침 최종 보정
   ================================================== */
.annual-hero-v297,
.annual-hero-v297 * {
  box-sizing:border-box;
}
.annual-hero-v297 {
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.annual-hero-v297 > div:first-child {
  max-width:none;
  width:100%;
}
.annual-hero-v297 h3 {
  max-width:100%;
  font-size:24px;
  line-height:1.22;
  word-break:keep-all;
}
.annual-hero-v297 p {
  max-width:760px;
  font-size:13.5px;
  line-height:1.58;
  word-break:keep-all;
}
.annual-meta-v298 {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  gap:10px;
  margin:17px 0 0;
  padding:0;
  overflow:hidden;
}
.annual-meta-v298 > div {
  width:100%;
  min-width:0;
  max-width:100%;
  padding:12px 14px;
  border:1px solid #dfe9f0;
  border-radius:15px;
  background:#f6fafc;
  overflow:hidden;
}
.annual-meta-v298 small {
  color:#7b91a1;
  font-size:10.5px;
  font-weight:900;
  line-height:1.2;
}
.annual-meta-v298 b {
  display:block;
  margin-top:5px;
  color:#173f5c;
  font-size:17px;
  font-weight:950;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:640px) {
  .annual-hero-v297 h3 { font-size:20.5px; }
  .annual-hero-v297 p { font-size:12.5px; line-height:1.55; }
  .annual-meta-v298 {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px;
  }
  .annual-meta-v298 > div { padding:10px 8px; border-radius:13px; }
  .annual-meta-v298 small { font-size:9.5px; }
  .annual-meta-v298 b { font-size:14px; }
}
@media (max-width:390px) {
  .annual-meta-v298 {
    grid-template-columns:1fr !important;
  }
  .annual-meta-v298 > div { padding:10px 12px; }
}


.annual-metric-kpis-v294 em {
  display:block;
  margin-top:3px;
  color:#7d93a3;
  font-size:10px;
  font-style:normal;
  font-weight:850;
}
.annual-panel-combined-v305 { overflow:hidden; }
.annual-combined-legend-v305 {
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:14px;
}
.annual-combined-legend-v305 span {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#4a667a;
  font-size:12.5px;
  font-weight:900;
}
.annual-combined-legend-v305 i {
  width:12px;
  height:12px;
  border-radius:999px;
  display:inline-block;
  flex:none;
}
.annual-combined-chart-v305 {
  margin-top:12px;
  border:1px solid #e2ebf2;
  border-radius:22px;
  background:linear-gradient(180deg,#fcfdff 0%, #f7fbfe 100%);
  padding:14px 12px 10px;
  overflow:hidden;
}
.annual-combined-chart-v305 svg {
  width:100%;
  min-width:0;
  max-width:100%;
  height:auto;
  display:block;
}
.annual-combined-guide-v305 {
  stroke:#dbe6ee;
  stroke-width:1;
  stroke-dasharray:4 5;
}
.annual-combined-axis-v305 {
  fill:#8197a6;
  font-size:12px;
  font-weight:900;
}
.annual-combined-year-v305 {
  fill:#5d788c;
  font-size:13px;
  font-weight:900;
}
.annual-combined-end-v305 {
  font-size:13px;
  font-weight:950;
}
.annual-flow-v305 span {
  min-width:auto;
}
@media (max-width: 768px) {
  .annual-combined-legend-v305 span { font-size:12px; }
  .annual-combined-chart-v305 { padding:12px 8px 8px; }
  .annual-combined-axis-v305,
  .annual-combined-year-v305,
  .annual-combined-end-v305 { font-size:12px; }
}

/* ==================================================
   V307 최근 변화 분석
   ================================================== */
.recent-dashboard-v307 { display:block; }
.recent-shell-v307 { display:grid; gap:18px; }
.recent-hero-v307 {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.8fr); gap:18px;
  padding:22px; border:1px solid #d8e6ef; border-radius:22px;
  background:linear-gradient(135deg,#f7fbfe 0%,#eef7fc 100%); box-shadow:0 10px 28px rgba(39,79,108,.07);
}
.recent-hero-v307.up { border-top:4px solid #2c9a69; }
.recent-hero-v307.down { border-top:4px solid #d5535d; }
.recent-hero-v307.flat { border-top:4px solid #3d84bb; }
.recent-hero-copy-v307 > span { display:inline-block; color:#2a79aa; font-size:11px; font-weight:900; letter-spacing:.12em; }
.recent-hero-copy-v307 h3 { margin:8px 0 8px; color:#173f5b; font-size:23px; line-height:1.35; }
.recent-hero-copy-v307 p { margin:0; color:#58758a; font-size:13px; line-height:1.7; }
.recent-hero-copy-v307 small { display:block; margin-top:12px; color:#7890a1; font-size:11px; }
.recent-hero-kpis-v307 { display:grid; grid-template-columns:1fr 1fr; gap:9px; align-content:start; }
.recent-hero-kpis-v307 > div { padding:12px; border:1px solid #dce8ef; border-radius:14px; background:#fff; }
.recent-hero-kpis-v307 small,.recent-hero-kpis-v307 b { display:block; }
.recent-hero-kpis-v307 small { color:#7890a1; font-size:10px; font-weight:800; }
.recent-hero-kpis-v307 b { margin-top:5px; color:#244c67; font-size:18px; }
.recent-hero-kpis-v307 .up b { color:#26825a; }
.recent-hero-kpis-v307 .down b { color:#b9434d; }
.recent-section-v307 { padding:20px; border:1px solid #dce8ef; border-radius:20px; background:#fff; box-shadow:0 7px 22px rgba(37,74,101,.045); }
.recent-section-head-v307 { display:flex; align-items:flex-start; gap:11px; margin-bottom:15px; }
.recent-section-head-v307 > span { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:10px; background:#eaf5fb; color:#2e779f; font-size:11px; font-weight:900; }
.recent-section-head-v307 h3 { margin:0; color:#244c67; font-size:17px; }
.recent-section-head-v307 p { margin:4px 0 0; color:#758b9b; font-size:11.5px; line-height:1.55; }
.recent-metric-grid-v307 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.recent-metric-card-v307 { padding:15px; border:1px solid #e1eaf0; border-radius:16px; background:#fbfdff; }
.recent-metric-card-v307.up { border-left:4px solid #2c9a69; }
.recent-metric-card-v307.down { border-left:4px solid #d5535d; }
.recent-metric-card-v307.flat { border-left:4px solid #4a8dc0; }
.recent-metric-head-v307 { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.recent-metric-head-v307 strong { color:#294c67; font-size:14px; }
.recent-metric-head-v307 b { color:#3d7699; font-size:16px; }
.recent-metric-card-v307.up .recent-metric-head-v307 b { color:#26825a; }
.recent-metric-card-v307.down .recent-metric-head-v307 b { color:#b9434d; }
.recent-metric-card-v307 p { margin:6px 0 10px; color:#8295a3; font-size:10.5px; }
.recent-metric-counts-v307 { display:flex; gap:7px; flex-wrap:wrap; }
.recent-metric-counts-v307 span { padding:5px 8px; border-radius:999px; background:#f0f4f7; color:#627b8c; font-size:10px; font-weight:800; }
.recent-metric-counts-v307 span.up { background:#ebf7f1; color:#237d56; }
.recent-metric-counts-v307 span.down { background:#fff0f1; color:#b43f48; }
.recent-metric-card-v307 > small { display:block; margin-top:10px; color:#91a1ad; font-size:10px; }
.recent-rank-grid-v307 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.recent-rank-panel-v307 { padding:14px; border:1px solid #e0e9ef; border-radius:16px; background:#fbfdff; }
.recent-rank-panel-v307.up { border-top:4px solid #2c9a69; }
.recent-rank-panel-v307.down { border-top:4px solid #d5535d; }
.recent-rank-title-v307 { display:flex; align-items:center; gap:7px; margin-bottom:7px; }
.recent-rank-title-v307 h4 { margin:0; color:#294c67; font-size:14px; }
.recent-rank-panel-v307.up .recent-rank-title-v307 span { color:#26825a; }
.recent-rank-panel-v307.down .recent-rank-title-v307 span { color:#b9434d; }
.recent-rank-row-v307 { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:11px 0; border-top:1px solid #e9eff3; }
.recent-rank-row-v307:first-of-type { border-top:0; }
.recent-rank-name-v307 strong,.recent-rank-name-v307 span,.recent-rank-name-v307 small { display:block; }
.recent-rank-name-v307 strong { color:#294c67; font-size:12.5px; }
.recent-rank-name-v307 span { margin-top:2px; color:#58758a; font-size:11px; }
.recent-rank-name-v307 small { margin-top:3px; color:#9aa8b2; font-size:9.5px; }
.recent-rank-values-v307 { min-width:106px; text-align:right; }
.recent-rank-values-v307 span,.recent-rank-values-v307 b { display:block; }
.recent-rank-values-v307 span { color:#718899; font-size:10px; }
.recent-rank-values-v307 b { margin-top:3px; color:#4a7c9d; font-size:14px; }
.recent-rank-row-v307.up .recent-rank-values-v307 b { color:#26825a; }
.recent-rank-row-v307.down .recent-rank-values-v307 b { color:#b9434d; }
.recent-repeat-list-v307 { display:grid; gap:8px; }
.recent-repeat-card-v307 { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px; border:1px solid #f0d9dc; border-radius:15px; background:#fff8f8; }
.recent-repeat-card-v307 span,.recent-repeat-card-v307 strong,.recent-repeat-card-v307 p { display:block; }
.recent-repeat-card-v307 span { color:#b94b55; font-size:9px; font-weight:900; letter-spacing:.08em; }
.recent-repeat-card-v307 strong { margin-top:4px; color:#344f63; font-size:13px; }
.recent-repeat-card-v307 p { margin:5px 0 0; color:#7e8f9b; font-size:10.5px; line-height:1.5; }
.recent-repeat-card-v307 > b { flex:0 0 auto; color:#b9434d; font-size:16px; }
.recent-empty-v307 { padding:14px; border-radius:12px; background:#f5f8fa; color:#718899; font-size:11px; line-height:1.55; }
.recent-basis-v307 { padding:13px 15px; border-radius:14px; background:#eef6fb; color:#5d788b; font-size:10.5px; line-height:1.6; }
@media (max-width:720px) {
  .recent-hero-v307 { grid-template-columns:1fr; padding:17px; }
  .recent-hero-copy-v307 h3 { font-size:19px; }
  .recent-metric-grid-v307,.recent-rank-grid-v307 { grid-template-columns:1fr; }
  .recent-section-v307 { padding:15px; }
  .recent-rank-row-v307 { grid-template-columns:1fr auto; }
  .recent-repeat-card-v307 { align-items:flex-start; }
}



/* ==================================================
   V308 최근 변화 분석 가독성 강화
   ================================================== */
.recent-design-note-v308 {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px;
  margin:0 0 14px; padding:12px; border:1px solid #e5edf3; border-radius:14px; background:#f8fbfd;
}
.recent-design-note-v308 div { padding:8px 10px; border-radius:12px; background:#fff; border:1px solid #edf2f6; }
.recent-design-note-v308 span,.recent-design-note-v308 b { display:block; }
.recent-design-note-v308 span { color:#7a92a4; font-size:10px; font-weight:900; letter-spacing:.02em; }
.recent-design-note-v308 b { margin-top:4px; color:#254a64; font-size:11.5px; line-height:1.55; }
.recent-top-grid-v308 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.recent-top-card-v308 { padding:14px; border:1px solid #e1eaf0; border-radius:18px; background:#fbfdff; box-shadow:0 5px 16px rgba(38,73,100,.04); }
.recent-top-grid-v308.up .recent-top-card-v308 { border-top:4px solid #2c9a69; }
.recent-top-grid-v308.down .recent-top-card-v308 { border-top:4px solid #d5535d; }
.recent-top-grid-v308.flat .recent-top-card-v308 { border-top:4px solid #4a8dc0; }
.recent-top-card-head-v308 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.recent-top-card-head-v308 h4 { margin:0; color:#244c67; font-size:14px; line-height:1.35; }
.recent-top-card-head-v308 span { color:#6d8798; font-size:10px; font-weight:900; }
.recent-top-list-v308 { display:grid; gap:8px; }
.recent-top-row-v308 { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:10px; align-items:flex-start; padding:10px 0; border-top:1px solid #e9eff3; }
.recent-top-row-v308:first-child { border-top:0; padding-top:0; }
.recent-top-rank-v308 { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; background:#eef4f8; color:#2f6888; font-size:12px; font-weight:900; }
.recent-top-row-v308.up .recent-top-rank-v308 { background:#eaf7f1; color:#237d56; }
.recent-top-row-v308.down .recent-top-rank-v308 { background:#fff0f1; color:#b43f48; }
.recent-top-copy-v308 strong,.recent-top-copy-v308 small,.recent-top-copy-v308 em { display:block; }
.recent-top-copy-v308 strong { color:#294c67; font-size:12.5px; line-height:1.4; }
.recent-top-copy-v308 small { margin-top:3px; color:#6d8798; font-size:10px; line-height:1.55; }
.recent-top-copy-v308 em { margin-top:4px; color:#8b9dab; font-style:normal; font-size:9.8px; line-height:1.5; }
.recent-top-value-v308 { min-width:92px; text-align:right; }
.recent-top-value-v308 small,.recent-top-value-v308 b { display:block; }
.recent-top-value-v308 small { color:#8da0ae; font-size:9.5px; font-weight:800; }
.recent-top-value-v308 b { margin-top:4px; color:#406f90; font-size:14px; }
.recent-top-row-v308.up .recent-top-value-v308 b { color:#26825a; }
.recent-top-row-v308.down .recent-top-value-v308 b { color:#b9434d; }
.recent-top-empty-v308 { padding:12px; border-radius:12px; background:#f5f8fa; color:#718899; font-size:10.5px; line-height:1.55; }
.recent-action-section-v308 { border:1px solid #d9e8f2; background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%); }
.recent-action-list-v308 { margin:0; padding-left:18px; display:grid; gap:8px; }
.recent-action-list-v308 li { color:#4b6577; font-size:11.5px; line-height:1.65; }
@media (max-width:720px) {
  .recent-design-note-v308,
  .recent-top-grid-v308 { grid-template-columns:1fr; }
  .recent-top-row-v308 { grid-template-columns:28px minmax(0,1fr); }
  .recent-top-value-v308 { min-width:0; text-align:left; grid-column:2; }
}

/* ==================================================
   V313 최근 변화 - 센터명 한국어 표시
   ================================================== */
.recent-metric-center-names-v313 {
  display:grid; gap:7px; margin-top:10px; padding-top:10px; border-top:1px solid #e8eef2;
}
.recent-metric-center-names-v313 > div {
  display:grid; grid-template-columns:62px minmax(0,1fr); gap:8px; align-items:start;
}
.recent-metric-center-names-v313 span {
  font-size:10px; font-weight:900; color:#7b91a1;
}
.recent-metric-center-names-v313 b {
  font-size:10.5px; line-height:1.55; color:#405f73; font-weight:850; word-break:keep-all;
}
.recent-metric-center-names-v313 .up span,
.recent-metric-center-names-v313 .up b { color:#237d56; }
.recent-metric-center-names-v313 .down span,
.recent-metric-center-names-v313 .down b { color:#b43f48; }
@media (max-width:720px) {
  .recent-metric-center-names-v313 > div { grid-template-columns:58px minmax(0,1fr); }
}

/* ==================================================
   V313 연속 3기수 초등→고등 종강 TOP2
   ================================================== */
.recent-final3-section-v313.up { border-top:4px solid #2c9a69; }
.recent-final3-section-v313.down { border-top:4px solid #d5535d; }
.recent-final3-list-v313 { display:grid; gap:8px; }
.recent-final3-row-v313 {
  display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:10px; align-items:center;
  padding:12px; border:1px solid #e6edf2; border-radius:14px; background:#fbfdff;
}
.recent-final3-rank-v313 {
  display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:999px;
  font-size:12px; font-weight:950; background:#eef4f8; color:#436b84;
}
.recent-final3-row-v313.up .recent-final3-rank-v313 { background:#eaf7f1; color:#237d56; }
.recent-final3-row-v313.down .recent-final3-rank-v313 { background:#fff0f1; color:#b43f48; }
.recent-final3-copy-v313 strong,.recent-final3-copy-v313 small { display:block; }
.recent-final3-copy-v313 strong { color:#294c67; font-size:13px; }
.recent-final3-copy-v313 small { margin-top:4px; color:#6f8798; font-size:10.5px; line-height:1.55; }
.recent-final3-value-v313 { min-width:96px; text-align:right; }
.recent-final3-value-v313 span,.recent-final3-value-v313 b { display:block; }
.recent-final3-value-v313 span { color:#8ca0ad; font-size:9.5px; font-weight:800; }
.recent-final3-value-v313 b { margin-top:4px; font-size:15px; color:#406f90; }
.recent-final3-row-v313.up .recent-final3-value-v313 b { color:#26825a; }
.recent-final3-row-v313.down .recent-final3-value-v313 b { color:#b9434d; }
@media (max-width:720px) {
  .recent-final3-row-v313 { grid-template-columns:30px minmax(0,1fr); align-items:start; }
  .recent-final3-value-v313 { grid-column:2; min-width:0; text-align:left; }
}

/* ==================================================
   V315 다른 센터보다 높은 항목
   ================================================== */
.peer-strength-dashboard-v315 { display:block; }
.peer-strength-shell-v315 { display:grid; gap:16px; }
.peer-strength-summary-v315 {
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr); gap:14px;
  padding:20px; border:1px solid #d9e7f0; border-radius:20px;
  background:linear-gradient(135deg,#f8fbfe 0%,#eef7fc 100%);
  box-shadow:0 8px 24px rgba(39,79,108,.055);
}
.peer-strength-summary-v315 > div:first-child > span { color:#2a79aa; font-size:10px; font-weight:900; letter-spacing:.08em; }
.peer-strength-summary-v315 h3 { margin:7px 0 7px; color:#1e4c6b; font-size:20px; line-height:1.35; }
.peer-strength-summary-v315 p { margin:0; color:#668095; font-size:11.5px; line-height:1.65; }
.peer-strength-kpis-v315 { display:grid; grid-template-columns:1fr 1fr; gap:9px; align-content:start; }
.peer-strength-kpis-v315 > div { padding:12px; border:1px solid #dce8ef; border-radius:14px; background:#fff; }
.peer-strength-kpis-v315 small,.peer-strength-kpis-v315 b { display:block; }
.peer-strength-kpis-v315 small { color:#8296a5; font-size:9.5px; font-weight:800; }
.peer-strength-kpis-v315 b { margin-top:5px; color:#24506d; font-size:18px; }
.peer-strength-highlight-v315 { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; border-radius:15px; background:#eef8f3; border:1px solid #d7ebe0; }
.peer-strength-highlight-v315 span { color:#4f7b67; font-size:10px; font-weight:900; }
.peer-strength-highlight-v315 strong { color:#227453; font-size:13px; text-align:right; }
.peer-strength-grid-v315 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.peer-strength-card-v315 { padding:15px; border:1px solid #dde8ef; border-radius:18px; background:#fff; box-shadow:0 6px 18px rgba(37,74,101,.04); }
.peer-strength-card-head-v315 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.peer-strength-card-head-v315 h3 { margin:0; color:#244c67; font-size:14px; line-height:1.4; }
.peer-strength-card-head-v315 span { padding:4px 8px; border-radius:999px; background:#eaf7f1; color:#237d56; font-size:9.5px; font-weight:900; }
.peer-strength-list-v315 { display:grid; gap:8px; }
.peer-strength-row-v315 { display:grid; grid-template-columns:27px minmax(0,1fr) auto; gap:9px; align-items:center; padding:10px 0; border-top:1px solid #eaf0f4; }
.peer-strength-row-v315:first-child { border-top:0; padding-top:0; }
.peer-strength-rank-v315 { display:flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:999px; background:#eef5f9; color:#356b8b; font-size:11px; font-weight:900; }
.peer-strength-name-v315 strong,.peer-strength-name-v315 small { display:block; }
.peer-strength-name-v315 strong { color:#294c67; font-size:12.5px; }
.peer-strength-name-v315 small { margin-top:3px; color:#94a4af; font-size:9.5px; }
.peer-strength-values-v315 { min-width:132px; text-align:right; }
.peer-strength-values-v315 span,.peer-strength-values-v315 strong { display:block; }
.peer-strength-values-v315 span { color:#778c9b; font-size:9.5px; line-height:1.5; }
.peer-strength-values-v315 span b { color:#4d687a; font-size:10px; }
.peer-strength-values-v315 strong { margin-top:3px; color:#24805a; font-size:14px; }
.peer-strength-empty-v315 { padding:13px; border-radius:12px; background:#f5f8fa; color:#768a99; font-size:10.5px; line-height:1.55; }
.peer-strength-basis-v315 { padding:12px 14px; border-radius:14px; background:#eef6fb; color:#5f788a; font-size:10px; line-height:1.6; }
@media (max-width:720px) {
  .peer-strength-summary-v315,
  .peer-strength-grid-v315 { grid-template-columns:1fr; }
  .peer-strength-row-v315 { grid-template-columns:27px minmax(0,1fr); align-items:start; }
  .peer-strength-values-v315 { grid-column:2; min-width:0; text-align:left; }
  .peer-strength-highlight-v315 { align-items:flex-start; flex-direction:column; }
  .peer-strength-highlight-v315 strong { text-align:left; }
}


/* =========================================================
   V324 Telegram → PC browser large view
   ========================================================= */
.browser-open-wrap {
  margin: -2px 0 16px;
}

.browser-open-btn {
  width: 100%;
  min-height: 70px;
  border: 1px solid #c8deef;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 70, 123, 0.08);
  padding: 13px 16px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  gap: 12px;
  align-items: center;
  text-align: left;
  color: #0f467b;
  cursor: pointer;
}

.browser-open-btn:hover {
  border-color: #86b9dc;
  box-shadow: 0 10px 28px rgba(15, 70, 123, 0.13);
  transform: translateY(-1px);
}

.browser-open-btn:disabled {
  cursor: wait;
  opacity: 0.72;
  transform: none;
}

.browser-open-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #eaf5fd;
  color: #0b6fae;
  font-size: 24px;
  font-weight: 800;
}

.browser-open-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.browser-open-copy b {
  font-size: 17px;
  line-height: 1.3;
  color: #0d365c;
}

.browser-open-copy small {
  font-size: 13px;
  line-height: 1.4;
  color: #68839a;
}

.browser-open-arrow {
  font-size: 21px;
  font-weight: 800;
  color: #2e86bd;
}

@media (max-width: 560px) {
  .browser-open-btn {
    min-height: 64px;
    grid-template-columns: 38px minmax(0, 1fr) 20px;
    gap: 10px;
    padding: 11px 13px;
  }
  .browser-open-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 21px;
  }
  .browser-open-copy b { font-size: 16px; }
  .browser-open-copy small { font-size: 12px; }
}

/* =========================================================
   V329 · 운영 시스템 전문화
   - 버전/운영 상태 바
   - 시스템 운영 상태 대시보드
   - 자동 업데이트/복구 가시화
   ========================================================= */
.hero-title-wrap-v329 {
  min-width: 0;
}

.hero-eyebrow-v329,
.section-eyebrow-v329 {
  margin-bottom: 4px;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .12em;
  opacity: .68;
}

.hero-system-bar-v329 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 4px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 12px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
}

.hero-live-v329 {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
}

.hero-live-v329 i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 0 0 4px rgba(255,255,255,.10);
}

.hero-live-v329 i.ok {
  background: #7df0b1;
  box-shadow: 0 0 0 4px rgba(125,240,177,.14);
}

.hero-live-v329 i.warn {
  background: #ffd77a;
  box-shadow: 0 0 0 4px rgba(255,215,122,.14);
}

.hero-version-v329 {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: 11px;
  font-weight: 800;
}

.system-menu-v329 {
  position: relative;
}

.system-menu-v329::after {
  content: "운영";
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(15,70,123,.08);
  font-size: 10px;
  font-weight: 800;
  color: #0f467b;
}

.system-dashboard-v329 {
  display: grid;
  gap: 14px;
}

.system-overview-v329 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 1px solid #d9e7f3;
  border-radius: 18px;
  background: linear-gradient(135deg, #f8fbfe 0%, #eef6fc 100%);
  box-shadow: 0 8px 26px rgba(24,70,110,.07);
}

.system-overview-kicker-v329 {
  display: block;
  margin-bottom: 5px;
  color: #6e879c;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.system-overview-v329 h3 {
  margin: 0;
  color: #183a58;
  font-size: 18px;
  line-height: 1.35;
}

.system-overview-v329 h3 em {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #e4eff8;
  color: #0f467b;
  font-size: 11px;
  font-style: normal;
  vertical-align: 2px;
}

.system-overview-v329 p {
  margin: 5px 0 0;
  color: #6a7f91;
  font-size: 12px;
  line-height: 1.55;
}

.system-refresh-v329 {
  flex: 0 0 auto;
  border: 1px solid #c8dbea;
  border-radius: 10px;
  background: #fff;
  color: #24516f;
  padding: 9px 11px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.system-grid-v329 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.system-tile-v329 {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #dfebf4;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(24,70,110,.05);
}

.system-tile-v329.ok {
  border-left: 4px solid #44b47a;
}

.system-tile-v329.warn {
  border-left: 4px solid #e9ad39;
}

.system-tile-v329.bad {
  border-left: 4px solid #d76060;
}

.system-tile-icon-v329 {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 10px;
  background: #eff6fb;
  color: #0f467b;
  font-size: 13px;
  font-weight: 900;
}

.system-tile-copy-v329 {
  min-width: 0;
}

.system-tile-copy-v329 span {
  display: block;
  margin-bottom: 3px;
  color: #718598;
  font-size: 10px;
  font-weight: 800;
}

.system-tile-copy-v329 b {
  display: block;
  color: #203f59;
  font-size: 13px;
  line-height: 1.45;
}

.system-tile-copy-v329 small {
  display: block;
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: #8091a0;
  font-size: 10px;
  line-height: 1.45;
}

.system-detail-v329 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid #e0ebf3;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
}

.system-detail-v329 > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 13px;
  border-bottom: 1px solid #edf3f7;
}

.system-detail-v329 > div:nth-child(odd) {
  border-right: 1px solid #edf3f7;
}

.system-detail-v329 > div:nth-last-child(-n+2) {
  border-bottom: 0;
}

.system-detail-v329 span {
  color: #788b9b;
  font-size: 10px;
  font-weight: 700;
}

.system-detail-v329 b {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #294b65;
  font-size: 11px;
  text-align: right;
}

.system-alert-v329,
.system-note-v329 {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border-radius: 14px;
  font-size: 11px;
  line-height: 1.55;
}

.system-alert-v329 {
  border: 1px solid #f0d4b1;
  background: #fff9f1;
  color: #75501e;
}

.system-note-v329 {
  border: 1px solid #dbe8f2;
  background: #f7fbfe;
  color: #536c80;
}

.system-alert-v329 b,
.system-note-v329 b {
  color: #2b4e68;
  font-size: 11px;
}

@media (max-width: 560px) {
  .hero-system-bar-v329 {
    margin-top: 11px;
  }

  .system-grid-v329,
  .system-detail-v329 {
    grid-template-columns: 1fr;
  }

  .system-detail-v329 > div,
  .system-detail-v329 > div:nth-child(odd),
  .system-detail-v329 > div:nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid #edf3f7;
  }

  .system-detail-v329 > div:last-child {
    border-bottom: 0;
  }

  .system-overview-v329 {
    align-items: flex-start;
  }

  .system-overview-v329 h3 {
    font-size: 16px;
  }
}

/* =========================================================
   V331 · 329 UI 정교화
   - 구조/메뉴 배치는 유지
   - 타이포·간격·카드·그래프 주변 밀도만 정리
   - 330 관리자형 대규모 재배치는 포함하지 않음
   ========================================================= */
:root {
  --surface-v331: #ffffff;
  --surface-soft-v331: #f8fbfe;
  --border-soft-v331: #dbe8f3;
  --shadow-soft-v331: 0 8px 24px rgba(27, 70, 105, .055);
  --shadow-hover-v331: 0 12px 28px rgba(27, 70, 105, .095);
}

html {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 기존 폭과 정보 구조를 유지하면서 바깥 여백만 안정화 */
.app-shell {
  padding-bottom: 44px;
}

.hero {
  padding: 25px 22px 21px;
  border-radius: 0 0 26px 26px;
  box-shadow: 0 10px 28px rgba(15, 70, 123, .09);
}

.hero-top {
  gap: 13px;
}

.brand-mark {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.hero-eyebrow-v329 {
  margin-bottom: 5px;
  font-size: 9.5px;
  letter-spacing: .14em;
  opacity: .72;
}

.hero h1 {
  line-height: 1.15;
  letter-spacing: -.045em;
}

.hero-top p {
  margin-top: 5px;
  line-height: 1.45;
  font-weight: 650;
}

.hero-system-bar-v329 {
  margin: 13px 0 2px;
  padding: 8px 11px;
  border-radius: 11px;
  background: rgba(255,255,255,.085);
}

.hero-live-v329 {
  font-size: 11.5px;
}

.hero-version-v329 {
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.115);
  font-size: 10.5px;
}

.hero-copy {
  margin-top: 21px;
}

.hero-copy strong {
  font-size: 16.5px;
  line-height: 1.45;
}

.hero-copy p {
  margin-top: 7px;
  line-height: 1.68;
}

.feature-row {
  margin-top: 18px;
  gap: 7px;
}

.feature-row div {
  padding: 10px 8px;
  border-radius: 13px;
  background: rgba(255,255,255,.105);
}

.feature-row b { font-size: 12.5px; }
.feature-row span { font-size: 10.5px; }

.view {
  padding: 23px 18px 27px;
}

.section-head {
  margin-bottom: 17px;
}

.section-head.row {
  align-items: flex-start;
}

.section-head.row > div {
  min-width: 0;
  padding-top: 1px;
}

.section-head h2 {
  color: #173a57;
  font-size: 21px;
  line-height: 1.28;
  letter-spacing: -.035em;
}

.section-head p {
  margin-top: 6px;
  color: #708698;
  font-size: 13px;
  line-height: 1.55;
}

.section-eyebrow-v329 {
  color: #6b879d;
  font-size: 9px;
  letter-spacing: .14em;
  opacity: 1;
}

.back-btn {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-color: #d7e5f0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(30, 77, 112, .04);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.back-btn:hover {
  border-color: #b7d2e6;
  background: #f9fcff;
  box-shadow: 0 7px 16px rgba(30, 77, 112, .075);
  transform: translateY(-1px);
}

.menu-grid,
.analysis-grid {
  gap: 10px;
}

.menu-card,
.analysis-card {
  position: relative;
  overflow: hidden;
  border-color: var(--border-soft-v331);
  border-radius: 16px;
  background: var(--surface-v331);
  box-shadow: var(--shadow-soft-v331);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.menu-card {
  min-height: 88px;
  padding: 15px;
  gap: 11px;
}

.menu-card:hover,
.analysis-card:hover {
  border-color: #bfd8ea;
  box-shadow: var(--shadow-hover-v331);
  transform: translateY(-1px);
}

.menu-card:active,
.analysis-card:active,
.back-btn:active,
.browser-open-btn:active {
  transform: translateY(0);
}

.menu-card.primary {
  border-color: #b9daf2;
  background: linear-gradient(135deg, #ffffff 0%, #f0f8fe 100%);
}

.menu-card .icon {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  border: 1px solid #deedf7;
  border-radius: 12px;
  background: #f0f7fc;
  font-size: 20px;
}

.menu-card b,
.analysis-card b {
  color: #1b3c57;
  font-size: 14.5px;
  line-height: 1.38;
  letter-spacing: -.012em;
}

.menu-card small,
.analysis-card small {
  margin-top: 4px;
  color: #74899a;
  font-size: 11.5px;
  line-height: 1.45;
}

.system-menu-v329::after {
  top: 9px;
  right: 9px;
  padding: 3px 7px;
  border: 1px solid #e1ebf3;
  background: #f6f9fc;
  color: #55768e;
  font-size: 9px;
}

.browser-open-wrap {
  margin: -1px 0 15px;
}

.browser-open-btn {
  min-height: 66px;
  padding: 12px 14px;
  border-color: #d1e2ef;
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(15, 70, 123, .065);
}

.browser-open-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #eef7fd;
  font-size: 21px;
}

.browser-open-copy b {
  font-size: 15.5px;
  letter-spacing: -.015em;
}

.browser-open-copy small {
  color: #71899c;
  font-size: 11.5px;
}

.browser-open-arrow {
  color: #5a8fb3;
  font-size: 19px;
}

.status-card {
  margin-top: 15px;
  padding: 14px 15px;
  border-color: #dde9f2;
  border-radius: 15px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 5px 16px rgba(31, 77, 110, .035);
}

.status-card p {
  color: #526f84;
  font-size: 12px;
  line-height: 1.65;
}

.status-card p b {
  color: #31536d;
}

.search-wrap input {
  min-height: 45px;
  border-color: #d9e6f0;
  border-radius: 13px;
  box-shadow: inset 0 1px 2px rgba(31, 74, 103, .018);
}

.teacher-item {
  border-color: #dce8f1;
  border-radius: 13px;
  box-shadow: 0 4px 12px rgba(31, 75, 109, .035);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.teacher-item:hover {
  border-color: #bdd7e9;
  box-shadow: 0 7px 16px rgba(31, 75, 109, .07);
  transform: translateY(-1px);
}

.analysis-card {
  min-height: 94px;
  padding: 15px;
}

.analysis-card .num {
  width: 42px;
  height: 42px;
  flex-basis: 42px;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.07);
}

blockquote {
  margin-top: 17px;
  padding: 18px;
  border: 1px solid #dbe8f3;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2f8fd, #fbfdff);
  color: #3a607c;
  font-size: 13px;
  line-height: 1.75;
}

.result-card {
  border-color: #dce8f1;
  border-radius: 16px;
  box-shadow: var(--shadow-soft-v331);
  line-height: 1.68;
}

.graph-box {
  border-color: #dce8f1;
  border-radius: 15px;
  box-shadow: 0 5px 16px rgba(30, 75, 109, .035);
}

/* 운영 상태 화면도 329 구조는 그대로 두고 밀도만 통일 */
.system-overview-v329 {
  padding: 16px;
  border-color: #dce8f1;
  border-radius: 16px;
  background: linear-gradient(135deg, #fbfdff 0%, #f2f8fc 100%);
  box-shadow: var(--shadow-soft-v331);
}

.system-overview-v329 h3 {
  font-size: 17px;
}

.system-overview-v329 p {
  color: #74899a;
  font-size: 11.5px;
}

.system-refresh-v329 {
  border-color: #d5e3ed;
  border-radius: 9px;
  color: #45657d;
  background: #fff;
}

.system-grid-v329 {
  gap: 9px;
}

.system-tile-v329 {
  padding: 13px;
  border-color: #e0eaf2;
  border-radius: 14px;
  box-shadow: 0 5px 15px rgba(24,70,110,.038);
}

.system-tile-icon-v329 {
  width: 31px;
  height: 31px;
  flex-basis: 31px;
  border-radius: 9px;
  background: #f2f7fb;
}

.system-tile-copy-v329 b {
  font-size: 12.5px;
}

.system-detail-v329 {
  border-color: #e1eaf2;
  border-radius: 14px;
}

.system-alert-v329,
.system-note-v329 {
  border-radius: 13px;
}

/* 키보드/접근성: 마우스 사용에는 방해하지 않고 포커스만 명확하게 */
button:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(22,137,238,.18);
  outline-offset: 2px;
}

@media (max-width: 560px) {
  .app-shell { padding-bottom: 34px; }
  .hero { padding: 22px 18px 18px; border-radius: 0 0 24px 24px; }
  .brand-mark { width: 52px; height: 52px; flex-basis: 52px; border-radius: 16px; }
  .hero h1 { font-size: 25px; }
  .hero-copy { margin-top: 18px; }
  .hero-copy strong { font-size: 15.5px; }
  .feature-row { margin-top: 16px; }
  .view { padding: 20px 16px 24px; }
  .section-head { margin-bottom: 15px; }
  .section-head h2 { font-size: 20px; }
  .section-head p { font-size: 12.5px; }
  .menu-card { min-height: 82px; padding: 14px; }
  .analysis-card { min-height: 88px; padding: 14px; }
  .browser-open-btn { min-height: 62px; padding: 11px 12px; }
  .browser-open-copy b { font-size: 15px; }
  .browser-open-copy small { font-size: 11px; }
  .status-card { padding: 13px 14px; }
  .status-card p { font-size: 11.5px; }
}


/* ==================================================
   V336 Hero 정리
   - PC/모바일 상단 운영 상태 배지 제거
   - PC는 334단계 배경 유지
   - 모바일만 334 이미지에서 게르/말이 더 잘 보이는 동일 원본 크롭 사용
   ================================================== */

/* 상태 배지는 HTML에서 제거했지만 구버전 캐시가 남아도 보이지 않게 방어 */
.hero-system-bar-v329 {
  display: none !important;
}

@media (max-width: 560px) {
  .hero {
    padding-top: 22px;
  }

  .hero::before {
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 68% !important;
    opacity: .72 !important;
    background-image:
      linear-gradient(90deg, rgba(7, 83, 142, .96) 0%, rgba(8, 96, 157, .78) 34%, rgba(8, 104, 168, .28) 62%, rgba(8, 104, 168, .04) 100%),
      url("/static/mongolia_hero_mobile_336.jpg") !important;
    background-size: cover !important;
    background-position: center bottom !important;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%) !important;
    mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%) !important;
  }

  .hero-copy {
    margin-top: 26px;
  }
}

/* ==================================================
   V344 Excel 새 양식 1회 항목 연결
   ================================================== */
.excel-mapping-alert-v344 {
  margin: 0 0 14px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 11px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #f0d69b;
  border-radius: 15px;
  background: linear-gradient(135deg, #fffdf7, #fff8e8);
  box-shadow: 0 6px 18px rgba(95, 72, 24, .06);
}
.excel-mapping-alert-v344.hidden { display: none !important; }
.excel-mapping-alert-icon-v344 {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #fff1c9;
  color: #875f05;
  font-weight: 900;
}
.excel-mapping-alert-copy-v344 b,
.excel-mapping-alert-copy-v344 span { display: block; }
.excel-mapping-alert-copy-v344 b {
  color: #60470d;
  font-size: 13px;
}
.excel-mapping-alert-copy-v344 span {
  margin-top: 4px;
  color: #866c33;
  font-size: 11px;
  line-height: 1.45;
}
.excel-mapping-alert-v344 button,
.mapping-save-v344 {
  border: 0;
  border-radius: 11px;
  background: #1d83d4;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.excel-mapping-alert-v344 button {
  min-height: 38px;
  padding: 0 12px;
  white-space: nowrap;
  font-size: 11.5px;
}

.excel-mapping-body-v344 {
  display: grid;
  gap: 13px;
}
.mapping-source-v344,
.mapping-ready-v344 {
  padding: 15px 16px;
  border: 1px solid #dbe8f1;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 15px rgba(24,70,110,.04);
}
.mapping-source-v344 b,
.mapping-source-v344 span,
.mapping-ready-v344 b,
.mapping-ready-v344 span { display: block; }
.mapping-source-v344 b,
.mapping-ready-v344 b { color: #244760; }
.mapping-source-v344 span,
.mapping-ready-v344 span {
  margin-top: 5px;
  color: #71879a;
  font-size: 12px;
  line-height: 1.55;
}
.mapping-ready-v344 { text-align: center; padding: 28px 18px; }
.mapping-ready-icon-v344 {
  width: 44px;
  height: 44px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf8ef;
  color: #25894d;
  font-size: 22px;
  font-weight: 900;
}
.mapping-card-v344 {
  padding: 16px;
  border: 1px solid #dce8f1;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(27,72,106,.05);
}
.mapping-card-head-v344 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.mapping-kicker-v344 {
  display: block;
  color: #5b8aab;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}
.mapping-card-head-v344 h3 {
  margin: 3px 0 0;
  color: #203f56;
  font-size: 17px;
}
.mapping-card-head-v344 p {
  margin: 5px 0 0;
  color: #74899a;
  font-size: 11.5px;
  line-height: 1.5;
}
.mapping-state-v344 {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f0f6fa;
  color: #55758d;
  font-size: 10px;
  font-weight: 800;
}
.mapping-help-v344 {
  margin-top: 13px;
  padding: 11px 12px;
  border-radius: 12px;
  background: #f5f9fc;
  color: #587489;
  font-size: 11.5px;
  line-height: 1.55;
}
.mapping-grid-v344 {
  margin-top: 13px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.mapping-field-v344 {
  display: grid;
  gap: 6px;
}
.mapping-field-v344 > span {
  display: flex;
  gap: 6px;
  align-items: center;
  min-height: 18px;
}
.mapping-field-v344 b {
  color: #34556d;
  font-size: 11.5px;
}
.mapping-required-v344 {
  padding: 2px 5px;
  border-radius: 6px;
  background: #eef6fd;
  color: #3579a8;
  font-size: 9px;
  font-weight: 800;
}
.mapping-field-v344 select {
  width: 100%;
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid #d7e5ef;
  border-radius: 11px;
  background: #fff;
  color: #27475e;
  font: inherit;
  font-size: 12px;
  outline: none;
}
.mapping-field-v344 select:focus {
  border-color: #8bc8f6;
  box-shadow: 0 0 0 3px rgba(29,142,232,.10);
}
.mapping-more-v344 {
  margin-top: 13px;
  border-top: 1px solid #edf2f6;
  padding-top: 11px;
}
.mapping-more-v344 summary {
  color: #58758c;
  font-size: 11.5px;
  font-weight: 800;
  cursor: pointer;
}
.mapping-grid-extra-v344 { margin-top: 11px; }
.mapping-save-v344 {
  width: 100%;
  min-height: 45px;
  margin-top: 15px;
  font-size: 13px;
}
.mapping-save-v344:disabled { opacity: .62; cursor: wait; }

@media (max-width: 560px) {
  .excel-mapping-alert-v344 {
    grid-template-columns: auto 1fr;
  }
  .excel-mapping-alert-v344 button {
    grid-column: 1 / -1;
    width: 100%;
  }
  .mapping-grid-v344 { grid-template-columns: 1fr; }
  .mapping-card-v344 { padding: 14px; }
}


/* ==================================================
   V350 데이터 관리 화면
   ================================================== */
.data-menu-v350 { border-color: #dbe9f2; }
.data-manager-v350 { display: grid; gap: 13px; }
.data-current-v350,
.data-detail-card-v350 {
  padding: 16px;
  border: 1px solid #dce8f1;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(27,72,106,.05);
}
.data-current-head-v350,
.data-card-title-v350 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.data-kicker-v350,
.data-card-title-v350 span {
  display: block;
  color: #5f89a6;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
}
.data-current-head-v350 h3,
.data-card-title-v350 h3 {
  margin: 4px 0 0;
  color: #203f56;
  font-size: 17px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.data-current-head-v350 p {
  margin: 6px 0 0;
  color: #71879a;
  font-size: 11.5px;
  line-height: 1.5;
}
.data-state-pill-v350 {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.data-state-pill-v350.ok { background: #eaf8ef; color: #25824a; }
.data-state-pill-v350.warn { background: #fff5df; color: #9b6b08; }
.data-current-meta-v350,
.data-detail-grid-v350 {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border: 1px solid #e4edf4;
  border-radius: 13px;
  background: #f8fbfd;
}
.data-current-meta-v350 > div,
.data-detail-grid-v350 > div {
  min-width: 0;
  padding: 11px 12px;
  border-right: 1px solid #e4edf4;
}
.data-current-meta-v350 > div:last-child,
.data-detail-grid-v350 > div:last-child { border-right: 0; }
.data-current-meta-v350 span,
.data-current-meta-v350 b,
.data-detail-grid-v350 span,
.data-detail-grid-v350 b { display: block; }
.data-current-meta-v350 span,
.data-detail-grid-v350 span { color: #7890a2; font-size: 10.5px; }
.data-current-meta-v350 b,
.data-detail-grid-v350 b {
  margin-top: 5px;
  color: #294c67;
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.data-stat-grid-v350 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.data-card-title-v350 button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #d9e7f0;
  border-radius: 10px;
  background: #f7fbfe;
  color: #3d6a87;
  font-size: 10.5px;
  font-weight: 800;
  cursor: pointer;
}
.data-detail-grid-v350 { grid-template-columns: repeat(4, 1fr); }
.data-watch-v350 {
  margin-top: 11px;
  display: grid;
  gap: 7px;
}
.data-watch-v350 > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f5f9fc;
}
.data-watch-v350 span { color: #73899a; font-size: 10.5px; }
.data-watch-v350 b { color: #3a5d74; font-size: 10.5px; text-align: right; }
.data-event-list-v350,
.data-import-list-v350 { margin-top: 12px; display: grid; gap: 8px; }
.data-event-v350,
.data-import-row-v350 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid #e5edf3;
  border-radius: 12px;
  background: #fbfdfe;
}
.data-event-dot-v350 {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: #7190a6;
}
.data-event-v350.saved .data-event-dot-v350 { background: #35a364; }
.data-event-v350.duplicate .data-event-dot-v350 { background: #db9b26; }
.data-event-v350 b,
.data-event-v350 small,
.data-import-row-v350 b,
.data-import-row-v350 small { display: block; }
.data-event-v350 b,
.data-import-row-v350 b { color: #31546c; font-size: 11.5px; }
.data-event-v350 small,
.data-import-row-v350 small { margin-top: 3px; color: #8094a3; font-size: 10px; line-height: 1.4; }
.data-import-row-v350 { justify-content: space-between; }
.data-import-row-v350 > div:first-child { min-width: 0; }
.data-import-row-v350 > div:first-child b { overflow-wrap: anywhere; }
.data-import-count-v350 { display: flex; gap: 5px; flex: 0 0 auto; }
.data-import-count-v350 span {
  padding: 4px 6px;
  border-radius: 7px;
  background: #eef5fa;
  color: #55758d;
  font-size: 9.5px;
  font-weight: 800;
}
.data-empty-v350 {
  padding: 14px;
  border-radius: 11px;
  background: #f7fafc;
  color: #7b91a2;
  font-size: 11px;
  text-align: center;
}
@media (max-width: 560px) {
  .data-current-head-v350 { display: grid; }
  .data-state-pill-v350 { justify-self: start; }
  .data-current-meta-v350 { grid-template-columns: 1fr; }
  .data-current-meta-v350 > div { border-right: 0; border-bottom: 1px solid #e4edf4; }
  .data-current-meta-v350 > div:last-child { border-bottom: 0; }
  .data-stat-grid-v350 { grid-template-columns: 1fr; }
  .data-detail-grid-v350 { grid-template-columns: 1fr 1fr; }
  .data-detail-grid-v350 > div { border-right: 1px solid #e4edf4; border-bottom: 1px solid #e4edf4; }
  .data-detail-grid-v350 > div:nth-child(2n) { border-right: 0; }
  .data-detail-grid-v350 > div:nth-last-child(-n+2) { border-bottom: 0; }
  .data-watch-v350 > div { display: grid; gap: 4px; }
  .data-watch-v350 b { text-align: left; }
  .data-import-row-v350 { align-items: flex-start; }
}

/* =========================================================
   V358 - DB-backed sudden-change signal dashboard
   ========================================================= */
.anomaly-menu-v358{position:relative;overflow:hidden}
.anomaly-menu-v358:after{content:"자동";position:absolute;right:14px;top:12px;padding:4px 8px;border-radius:999px;background:#fff4df;color:#9a5a00;font-size:11px;font-weight:900}
.anomaly-dashboard-v358{display:grid;gap:18px}
.anomaly-hero-v358,.anomaly-panel-v358,.anomaly-source-v358,.anomaly-basis-v358{background:#fff;border:1px solid #d8e6f1;border-radius:22px;box-shadow:0 10px 28px rgba(35,76,110,.05)}
.anomaly-hero-v358{padding:24px 26px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-left:5px solid #55bd86}
.anomaly-hero-v358.watch{border-left-color:#f0ad32}
.anomaly-hero-v358 span,.anomaly-panel-head-v358 span{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;color:#5e82a1;margin-bottom:6px}
.anomaly-hero-v358 h3{margin:0;color:#0e3b62;font-size:22px;line-height:1.35}
.anomaly-hero-v358 p{margin:8px 0 0;color:#678099;line-height:1.65}
.anomaly-summary-v358{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.anomaly-summary-v358>div{background:#fff;border:1px solid #dce8f1;border-radius:18px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.anomaly-summary-v358 span{color:#6c8499;font-weight:800;font-size:13px}.anomaly-summary-v358 b{font-size:20px;color:#113f66}
.anomaly-summary-v358 .risk{border-left:4px solid #ef826d}.anomaly-summary-v358 .good{border-left:4px solid #53be86}.anomaly-summary-v358 .large-risk{border-left:4px solid #dc5d4d}.anomaly-summary-v358 .large-good{border-left:4px solid #2fa76d}
.anomaly-source-v358{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}
.anomaly-source-v358>div{padding:16px 18px;border-right:1px solid #e4edf4}.anomaly-source-v358>div:last-child{border-right:0}
.anomaly-source-v358 span{display:block;color:#7590a7;font-size:12px;font-weight:800;margin-bottom:6px}.anomaly-source-v358 b{display:block;color:#173f61;font-size:14px;word-break:break-word}
.anomaly-panel-v358{padding:22px}
.anomaly-panel-head-v358{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:16px}.anomaly-panel-head-v358 h3{margin:0;color:#123e62;font-size:20px}.anomaly-panel-head-v358 p{margin:0;max-width:480px;color:#70879a;font-size:13px;line-height:1.55;text-align:right}
.anomaly-grid-v358{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.anomaly-signal-v358{border:1px solid #dce8f1;border-radius:18px;padding:18px;background:#fbfdff;border-left:4px solid #f0ad32}
.anomaly-signal-v358.danger{border-left-color:#e76f61;background:#fffafa}.anomaly-signal-v358.good,.anomaly-signal-v358.up{border-left-color:#4fbc82;background:#fbfffd}
.anomaly-signal-top-v358{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.anomaly-signal-top-v358 h4{margin:3px 0 0;color:#123e62;font-size:17px}
.anomaly-scope-v358{font-size:11px;font-weight:900;color:#6686a0}.anomaly-level-v358{font-size:12px;font-weight:900;padding:5px 9px;border-radius:999px;background:#fff0ed;color:#b85043}.anomaly-signal-v358.good .anomaly-level-v358,.anomaly-signal-v358.up .anomaly-level-v358{background:#e9f8ef;color:#2d8656}
.anomaly-metric-v358{display:flex;align-items:center;gap:8px;margin:14px 0 10px;color:#234e70}.anomaly-repeat-v358{font-size:10px;padding:3px 7px;border-radius:999px;background:#edf3fa;color:#506f8a;font-weight:900}
.anomaly-values-v358{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#f2f7fb}.anomaly-values-v358>div{min-width:0}.anomaly-values-v358 small{display:block;color:#7890a4;font-size:11px}.anomaly-values-v358 b{display:block;color:#153f61;font-size:16px;margin-top:2px}.anomaly-values-v358 i{color:#8da1b2}.anomaly-values-v358 strong{margin-left:auto;font-size:16px}.anomaly-values-v358 strong.down{color:#cf584b}.anomaly-values-v358 strong.up{color:#278354}
.anomaly-signal-v358 p{margin:12px 2px 0;color:#647d91;font-size:13px;line-height:1.6}.anomaly-empty-v358{grid-column:1/-1;padding:22px;border-radius:16px;background:#f5f9fc;color:#6d8599;text-align:center;font-weight:700}
.anomaly-basis-v358{padding:18px 20px;display:grid;gap:6px}.anomaly-basis-v358 b{color:#163f62}.anomaly-basis-v358 span{color:#5f788d;line-height:1.65}.anomaly-basis-v358 small{color:#8396a7;line-height:1.55}
@media(max-width:760px){.anomaly-summary-v358{grid-template-columns:repeat(2,minmax(0,1fr))}.anomaly-source-v358{grid-template-columns:repeat(2,minmax(0,1fr))}.anomaly-source-v358>div:nth-child(2){border-right:0}.anomaly-source-v358>div:nth-child(-n+2){border-bottom:1px solid #e4edf4}.anomaly-grid-v358{grid-template-columns:1fr}.anomaly-panel-head-v358{display:block}.anomaly-panel-head-v358 p{margin-top:8px;text-align:left}.anomaly-hero-v358{padding:20px}.anomaly-hero-v358 h3{font-size:19px}.anomaly-values-v358{gap:7px}.anomaly-values-v358 strong{font-size:14px}}


/* Stage 360 anomaly summary split */
.anomaly-empty-v358 small{display:block;margin-top:7px;font-size:12px;font-weight:700;color:#8093a5}
@media(max-width:900px) and (min-width:761px){.anomaly-summary-v358{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* Stage 361 - balanced anomaly headline + clearer %p direction */
.anomaly-hero-v358 .anomaly-headline-counts-v361{display:flex;align-items:center;gap:8px;margin:10px 0 0;color:#476c8b;font-size:14px;line-height:1.4}
.anomaly-hero-v358 .anomaly-headline-counts-v361 b{color:#214f73;font-weight:900}
.anomaly-hero-v358 .anomaly-headline-counts-v361 span{display:inline;margin:0;color:#9aabba;font-size:14px;letter-spacing:0}
@media(max-width:760px){.anomaly-hero-v358 .anomaly-headline-counts-v361{flex-wrap:wrap;font-size:13px}}


/* Stage 362 - keep change direction and %p on one line; balance desktop summary */
.anomaly-values-v358>div{flex:1 1 0}
.anomaly-values-v358 strong{white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:center}

/* =========================================================
   Stage 363 - TOP 6 + compact full anomaly list
   ========================================================= */
.anomaly-top-panel-v363{padding-bottom:24px}
.anomaly-top-split-v363{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.anomaly-top-column-v363{min-width:0;padding:16px;border:1px solid #e1ebf3;border-radius:18px;background:#f9fcfe}
.anomaly-top-column-v363.down{background:#fffafa}
.anomaly-top-column-v363.up{background:#fbfffd}
.anomaly-top-title-v363{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:0 2px}
.anomaly-top-title-v363 b{color:#163f62;font-size:15px}
.anomaly-top-title-v363 span{color:#8398a9;font-size:11px;font-weight:800;text-align:right}
.anomaly-top-cards-v363{display:grid;gap:10px}
.anomaly-group-card-v363{border:1px solid #dce8f1;border-radius:16px;background:#fff;padding:14px 15px;border-left:4px solid #e76f61;min-width:0}
.anomaly-group-card-v363.up{border-left-color:#4fbc82}
.anomaly-group-head-v363{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.anomaly-group-head-v363>div:first-child{min-width:0}
.anomaly-group-head-v363>div:first-child>span{display:block;color:#7891a6;font-size:10px;font-weight:900;margin-bottom:3px}
.anomaly-group-head-v363 h4{margin:0;color:#123e62;font-size:15px;line-height:1.35;word-break:break-word}
.anomaly-group-badges-v363{display:flex;align-items:center;gap:5px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}
.anomaly-group-badges-v363>b,.anomaly-group-repeat-v363{font-size:10px;font-weight:900;border-radius:999px;padding:5px 8px;white-space:nowrap}
.anomaly-group-card-v363.down .anomaly-group-badges-v363>b{background:#fff0ed;color:#bb5145}
.anomaly-group-card-v363.up .anomaly-group-badges-v363>b{background:#eaf8ef;color:#2d8656}
.anomaly-group-repeat-v363{background:#edf3fa;color:#526f88}
.anomaly-group-rows-v363{display:grid;gap:7px}
.anomaly-group-row-v363{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:11px;background:#f4f8fb}
.anomaly-group-metric-v363{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.anomaly-group-metric-v363 b{color:#244e70;font-size:12px;line-height:1.35}
.anomaly-group-metric-v363 small{padding:2px 5px;border-radius:999px;background:#e9f0f7;color:#5c7890;font-size:9px;font-weight:900}
.anomaly-group-values-v363{display:flex;align-items:center;gap:9px;white-space:nowrap}
.anomaly-group-values-v363>span{color:#58768e;font-size:11px;font-weight:800}
.anomaly-group-values-v363 i{font-style:normal;color:#93a5b4;margin:0 3px}
.anomaly-group-values-v363 strong{font-size:13px;font-weight:900;white-space:nowrap}
.anomaly-group-values-v363 strong.down{color:#cf584b}.anomaly-group-values-v363 strong.up{color:#278354}
.anomaly-group-more-v363{margin-top:8px;color:#8297a9;font-size:10px;font-weight:700;text-align:right}

.anomaly-all-head-v363 h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.anomaly-all-head-v363 h3 em{font-style:normal;font-size:12px;padding:4px 8px;border-radius:999px;background:#edf4fa;color:#55748e}
.anomaly-tabs-v363{display:flex;gap:7px;overflow-x:auto;padding:2px 1px 10px;scrollbar-width:thin}
.anomaly-tabs-v363 button{border:1px solid #d8e5ef;background:#fff;color:#607b91;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.anomaly-tabs-v363 button b{margin-left:4px;color:#173f61}
.anomaly-tabs-v363 button.active{background:#173f61;border-color:#173f61;color:#fff}
.anomaly-tabs-v363 button.active b{color:#fff}
.anomaly-list-summary-v363{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:2px 2px 8px;color:#7890a4;font-size:11px;font-weight:800}
.anomaly-list-v363{border:1px solid #dce8f1;border-radius:16px;overflow:hidden;background:#fff}
.anomaly-list-row-v363{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(110px,.9fr) minmax(230px,1.4fr) minmax(105px,.65fr) minmax(100px,.65fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e8eff5;border-left:3px solid #e76f61}
.anomaly-list-row-v363.up{border-left-color:#4fbc82}
.anomaly-list-row-v363:last-child{border-bottom:0}
.anomaly-list-row-v363:hover{background:#f8fbfd}
.anomaly-list-who-v363{min-width:0}
.anomaly-list-who-v363 small{display:block;color:#8296a7;font-size:10px;font-weight:900;margin-bottom:2px}
.anomaly-list-who-v363 b{display:block;color:#153f61;font-size:13px;line-height:1.35;word-break:break-word}
.anomaly-list-metric-v363{color:#315875;font-size:12px;font-weight:800;line-height:1.4}
.anomaly-list-values-v363{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;align-items:center;color:#234e70;font-size:12px;font-weight:900}
.anomaly-list-values-v363 span{min-width:0}.anomaly-list-values-v363 small{display:block;color:#8296a7;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.anomaly-list-values-v363 i{font-style:normal;color:#92a5b5}
.anomaly-list-diff-v363{font-size:13px;font-weight:900;white-space:nowrap;text-align:right}.anomaly-list-diff-v363.down{color:#cf584b}.anomaly-list-diff-v363.up{color:#278354}
.anomaly-list-tags-v363{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.anomaly-list-tags-v363 span{font-size:9px;font-weight:900;padding:4px 6px;border-radius:999px;white-space:nowrap;background:#eef3f7;color:#61798e}
.anomaly-list-row-v363.down .anomaly-list-tags-v363 span.large{background:#fff0ed;color:#b85043}
.anomaly-list-row-v363.up .anomaly-list-tags-v363 span.large{background:#e9f8ef;color:#2d8656}
.anomaly-list-tags-v363 span.repeat{background:#edf3fa;color:#506f8a}
.anomaly-more-v363{display:block;margin:12px auto 0;border:1px solid #cadbe8;background:#f8fbfd;color:#315d7d;border-radius:12px;padding:9px 16px;font-size:12px;font-weight:900;cursor:pointer}
.anomaly-more-v363[hidden]{display:none}

@media(max-width:900px){
  .anomaly-top-split-v363{grid-template-columns:1fr}
  .anomaly-list-row-v363{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(190px,1.3fr) auto}
  .anomaly-list-tags-v363{display:none}
}
@media(max-width:760px){
  .anomaly-top-column-v363{padding:12px}
  .anomaly-top-title-v363{align-items:flex-start}.anomaly-top-title-v363 span{max-width:150px}
  .anomaly-group-head-v363{display:block}.anomaly-group-badges-v363{justify-content:flex-start;margin-top:7px}
  .anomaly-group-row-v363{grid-template-columns:1fr;gap:5px}.anomaly-group-values-v363{justify-content:space-between}
  .anomaly-list-row-v363{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:11px 12px}
  .anomaly-list-who-v363{grid-column:1/2}.anomaly-list-diff-v363{grid-column:2/3;grid-row:1/2;align-self:center}
  .anomaly-list-metric-v363{grid-column:1/3}
  .anomaly-list-values-v363{grid-column:1/3;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:8px 9px;border-radius:10px;background:#f4f8fb}
  .anomaly-list-tags-v363{display:flex;grid-column:1/3;justify-content:flex-start}
}


/* =========================================================
   Stage 364 - clearer list table + 3 facet filters + collapsed criteria
   ========================================================= */
.anomaly-select-filters-v364{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  margin:2px 0 12px;padding:12px;border:1px solid #e1ebf3;border-radius:14px;background:#f8fbfd;
}
.anomaly-select-filters-v364 label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0}
.anomaly-select-filters-v364 label>span{color:#58758d;font-size:11px;font-weight:900;white-space:nowrap}
.anomaly-select-filters-v364 select{
  width:100%;min-width:0;border:1px solid #d2e1ec;border-radius:10px;background:#fff;color:#244e70;
  padding:8px 28px 8px 10px;font-size:12px;font-weight:800;outline:none;
}
.anomaly-select-filters-v364 select:focus{border-color:#80a9c6;box-shadow:0 0 0 3px rgba(72,129,170,.10)}

.anomaly-list-header-v364{
  display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(100px,.6fr) minmax(90px,.6fr);
  gap:12px;align-items:center;padding:8px 14px;margin:0 0 6px 3px;color:#7890a4;font-size:10px;font-weight:900;
}
.anomaly-list-header-v364 span:nth-child(5),.anomaly-list-header-v364 span:nth-child(6){text-align:right}
.anomaly-list-row-v363{
  grid-template-columns:minmax(150px,1.25fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(120px,.9fr) minmax(100px,.6fr) minmax(90px,.6fr);
}
.anomaly-list-value-v364{min-width:0;color:#234e70;line-height:1.25}
.anomaly-list-value-v364 small{display:block;color:#8296a7;font-size:9px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.anomaly-list-value-v364 b{display:block;font-size:12px;font-weight:900;color:#173f61}

.anomaly-basis-v364{margin-top:24px;border:1px solid #dce8f1;border-radius:18px;background:#fff;overflow:hidden}
.anomaly-basis-v364 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;user-select:none}
.anomaly-basis-v364 summary::-webkit-details-marker{display:none}
.anomaly-basis-v364 summary>div{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
.anomaly-basis-v364 summary b{color:#173f61;font-size:15px}
.anomaly-basis-v364 summary span{color:#638097;font-size:12px;font-weight:800}
.anomaly-basis-v364 summary i{font-style:normal;color:#55748e;font-size:11px;font-weight:900;white-space:nowrap}
.anomaly-basis-v364 .close-label-v364{display:none}
.anomaly-basis-v364[open] .open-label-v364{display:none}
.anomaly-basis-v364[open] .close-label-v364{display:inline}
.anomaly-basis-detail-v364{display:grid;gap:7px;padding:0 18px 17px;border-top:1px solid #edf2f6;color:#58758d}
.anomaly-basis-detail-v364 span{padding-top:14px;font-size:13px;line-height:1.7}
.anomaly-basis-detail-v364 small{font-size:11px;line-height:1.6;color:#8195a6}

@media(max-width:900px){
  .anomaly-list-header-v364{display:none}
  .anomaly-list-row-v363{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(105px,.75fr) minmax(105px,.75fr) auto}
  .anomaly-list-tags-v363{display:none}
}
@media(max-width:760px){
  .anomaly-select-filters-v364{grid-template-columns:1fr;padding:10px}
  .anomaly-select-filters-v364 label{grid-template-columns:42px minmax(0,1fr)}
  .anomaly-list-row-v363{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:11px 12px}
  .anomaly-list-who-v363{grid-column:1/2;grid-row:1}
  .anomaly-list-diff-v363{grid-column:2/3;grid-row:1;align-self:center}
  .anomaly-list-metric-v363{grid-column:1/3;grid-row:2}
  .anomaly-list-previous-v364{grid-column:1/2;grid-row:3;padding:8px 9px;border-radius:10px;background:#f4f8fb}
  .anomaly-list-latest-v364{grid-column:2/3;grid-row:3;padding:8px 9px;border-radius:10px;background:#f4f8fb}
  .anomaly-list-tags-v363{display:flex;grid-column:1/3;grid-row:4;justify-content:flex-start}
  .anomaly-basis-v364 summary{align-items:flex-start;padding:14px}
  .anomaly-basis-v364 summary>div{display:grid;gap:4px}
  .anomaly-basis-detail-v364{padding:0 14px 14px}
}


/* =========================================================
   Stage 365 - clickable summary, sticky list tools, quick search, scope badges
   ========================================================= */
.anomaly-summary-v358>button{
  appearance:none;font:inherit;text-align:left;cursor:pointer;
  background:#fff;border:1px solid #dce8f1;border-radius:18px;padding:18px 20px;
  display:flex;justify-content:space-between;align-items:center;min-width:0;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.anomaly-summary-v358>button:hover{
  transform:translateY(-1px);box-shadow:0 8px 18px rgba(35,76,110,.08);border-color:#c9dce9;
}
.anomaly-summary-v358>button:focus-visible{outline:3px solid rgba(61,127,173,.20);outline-offset:2px}
.anomaly-summary-v358>button.active{background:#f5faff;box-shadow:inset 0 0 0 2px rgba(45,96,134,.12)}
.anomaly-summary-v358>button.risk{border-left:4px solid #ef826d}
.anomaly-summary-v358>button.good{border-left:4px solid #53be86}
.anomaly-summary-v358>button.large-risk{border-left:4px solid #dc5d4d}
.anomaly-summary-v358>button.large-good{border-left:4px solid #2fa76d}

.anomaly-sticky-tools-v365{
  position:sticky;top:8px;z-index:18;background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding:4px 0 4px;border-radius:14px;
}
.anomaly-select-filters-v365{grid-template-columns:repeat(4,minmax(0,1fr))}
.anomaly-select-filters-v365 input{
  width:100%;min-width:0;border:1px solid #d2e1ec;border-radius:10px;background:#fff;color:#244e70;
  padding:8px 10px;font-size:12px;font-weight:800;outline:none;
}
.anomaly-select-filters-v365 input::placeholder{color:#9aabba;font-weight:700}
.anomaly-select-filters-v365 input:focus{border-color:#80a9c6;box-shadow:0 0 0 3px rgba(72,129,170,.10)}
.anomaly-list-header-v364{background:#fff;margin-bottom:0;border-bottom:1px solid #e6eef4}

.anomaly-scope-badge-v365{
  display:inline-flex;align-items:center;width:max-content;margin-bottom:4px;padding:2px 6px;border-radius:999px;
  font-size:9px;font-weight:900;line-height:1.45;
}
.anomaly-scope-badge-v365.teacher{background:#eaf3fb;color:#416f92}
.anomaly-scope-badge-v365.center{background:#eef1f4;color:#64788a}

@media(max-width:1100px){
  .anomaly-select-filters-v365{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .anomaly-sticky-tools-v365{position:static;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(max-width:760px){
  .anomaly-select-filters-v365{grid-template-columns:1fr}
  .anomaly-select-filters-v365 label{grid-template-columns:42px minmax(0,1fr)}
  .anomaly-summary-v358>button{padding:15px 16px}
}


/* =========================================================
   Stage 366 - clarify hierarchy: total direction = normal + large
   ========================================================= */
.anomaly-summary-v366{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.anomaly-summary-v366>button{
  display:grid;grid-template-columns:1fr;gap:10px;align-content:start;align-items:stretch;
  padding:17px 18px;
}
.anomaly-summary-main-v366{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.anomaly-summary-main-v366>span{color:#607d94;font-size:13px;font-weight:900;white-space:nowrap}
.anomaly-summary-main-v366>b{color:#103f67;font-size:21px;font-weight:900;white-space:nowrap}
.anomaly-summary-breakdown-v366{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #edf2f6;
}
.anomaly-summary-breakdown-v366 small{
  display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;
  background:#f3f7fa;color:#657f94;font-size:10px;font-weight:900;white-space:nowrap;
}
.anomaly-summary-breakdown-v366 small strong{font-size:11px;color:#214e6f}
.anomaly-summary-breakdown-v366 small.large.down{background:#fff0ed;color:#b95345}
.anomaly-summary-breakdown-v366 small.large.down strong{color:#b95345}
.anomaly-summary-breakdown-v366 small.large.up{background:#e9f8ef;color:#2b8755}
.anomaly-summary-breakdown-v366 small.large.up strong{color:#2b8755}
.anomaly-summary-breakdown-v366 i{font-style:normal;color:#9aabba;font-size:10px;font-weight:900}
.anomaly-summary-note-v366{padding-top:8px;border-top:1px solid #edf2f6;color:#8095a6;font-size:10px;font-weight:800;line-height:1.45}

.anomaly-tabs-v366{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;overflow:visible;padding-bottom:10px}
.anomaly-tab-family-v366{
  display:flex;align-items:center;gap:4px;padding:4px;border:1px solid #dbe7f0;border-radius:14px;background:#f7fafc;
}
.anomaly-tab-family-v366.down{border-left:3px solid #e76f61}
.anomaly-tab-family-v366.up{border-left:3px solid #4fbc82}
.anomaly-tabs-v366 .anomaly-tab-family-v366 button{border-color:transparent;background:transparent;padding:7px 9px}
.anomaly-tabs-v366 .anomaly-tab-family-v366 button.family-main{background:#fff;border-color:#dbe7f0}
.anomaly-tabs-v366 .anomaly-tab-family-v366 button.active{background:#173f61;border-color:#173f61;color:#fff}
.anomaly-tabs-v366 .anomaly-tab-family-v366 button.active b{color:#fff}
.anomaly-tabs-v366 .anomaly-tab-solo-v366{align-self:center}

@media(max-width:900px){
  .anomaly-summary-v366{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anomaly-summary-v366 .anomaly-summary-repeat-v366{grid-column:1/-1}
  .anomaly-tabs-v366{display:grid;grid-template-columns:max-content 1fr;align-items:start}
  .anomaly-tab-family-v366{flex-wrap:wrap}
}
@media(max-width:760px){
  .anomaly-summary-v366{grid-template-columns:1fr}
  .anomaly-summary-v366 .anomaly-summary-repeat-v366{grid-column:auto}
  .anomaly-tabs-v366{display:flex;flex-direction:column;align-items:stretch}
  .anomaly-tab-family-v366{display:grid;grid-template-columns:1.15fr .8fr 1fr}
  .anomaly-tabs-v366 .anomaly-tab-solo-v366{align-self:stretch}
}


/* =========================================================
   Stage 367 - clarify repeated-signal overlap + search scope
   ========================================================= */
.anomaly-headline-counts-v361 .anomaly-headline-repeat-v367{
  display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;
  background:#eef4f9;color:#6c8397;font-size:11px;font-weight:800;line-height:1.35;white-space:normal;
}
.anomaly-duplicate-badge-v367{
  display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;
  background:#eef4f9;color:#6f879b;font-size:9px;font-style:normal;font-weight:900;vertical-align:middle;
}
.anomaly-tab-dup-v367{
  display:inline-flex;align-items:center;margin-left:2px;padding:1px 5px;border-radius:999px;
  background:#eef4f9;color:#70869a;font-size:9px;font-weight:900;line-height:1.4;
}
.anomaly-tabs-v366 button.active .anomaly-tab-dup-v367{background:rgba(255,255,255,.18);color:#fff}
@media (max-width:700px){
  .anomaly-headline-counts-v361 .anomaly-headline-repeat-v367{margin-left:0;margin-top:5px;flex-basis:100%;width:max-content;max-width:100%}
}

/* =========================================================
   Stage 368 - Telegram automatic alert settings
   ========================================================= */
.anomaly-alert-panel-v368{
  margin-top:24px;padding:28px;border:1px solid #d6e5ef;border-radius:26px;background:#fff;
  box-shadow:0 12px 32px rgba(29,83,119,.06)
}
.anomaly-alert-head-v368{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}
.anomaly-alert-head-v368>div>span{display:block;font-size:13px;font-weight:900;letter-spacing:.08em;color:#6483a0;margin-bottom:6px}
.anomaly-alert-head-v368 h3{margin:0;color:#073f6a;font-size:27px;line-height:1.22}
.anomaly-alert-head-v368 p{margin:8px 0 0;color:#66829a;font-size:15px;line-height:1.55}
.anomaly-alert-status-v368{flex:0 0 auto;padding:9px 14px;border-radius:999px;background:#eef4f8;color:#607b90;font-size:13px;white-space:nowrap}
.anomaly-alert-status-v368.on{background:#e4f6ec;color:#167849}
.anomaly-alert-grid-v368{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}
.anomaly-alert-card-v368{border:1px solid #d9e7f0;border-radius:20px;padding:20px;background:#fbfdff}
.anomaly-alert-card-v368.primary{background:#f8fbfd}
.anomaly-alert-toggle-row-v368{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid #e5edf3}
.anomaly-alert-toggle-row-v368 b{display:block;color:#103f62;font-size:17px;margin-bottom:5px}
.anomaly-alert-toggle-row-v368 small{display:block;color:#71879a;line-height:1.5;max-width:510px}
.anomaly-switch-v368{position:relative;display:inline-flex;flex:0 0 auto;width:56px;height:31px}
.anomaly-switch-v368 input{position:absolute;opacity:0;pointer-events:none}
.anomaly-switch-v368 span{position:absolute;inset:0;border-radius:999px;background:#cbd8e1;cursor:pointer;transition:.18s}
.anomaly-switch-v368 span:after{content:"";position:absolute;width:23px;height:23px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.15);transition:.18s}
.anomaly-switch-v368 input:checked+span{background:#27a66d}
.anomaly-switch-v368 input:checked+span:after{transform:translateX(25px)}
.anomaly-alert-subtitle-v368{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 11px;color:#244f70;font-weight:900;font-size:15px}
.anomaly-alert-subtitle-v368 small{font-weight:700;color:#7c91a2;font-size:12px}
.anomaly-alert-types-v368{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.anomaly-alert-types-v368 label{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #dce8f0;border-radius:13px;background:#fff;cursor:pointer;color:#335d79;font-weight:800}
.anomaly-alert-types-v368 input{width:17px;height:17px;accent-color:#167c55}
.anomaly-alert-filters-v368{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.anomaly-alert-filters-v368 label>span{display:block;font-size:12px;font-weight:900;color:#6c8498;margin:0 0 6px 2px}
.anomaly-alert-filters-v368 select{width:100%;min-height:43px;border:1px solid #cfdeea;border-radius:12px;background:#fff;padding:0 12px;color:#16476a;font-weight:800;outline:none}
.anomaly-alert-filter-note-v368{display:block;color:#8295a5;margin-top:9px;line-height:1.4}
.anomaly-alert-target-v368{margin-top:16px;padding:13px 14px;border-radius:14px;background:#fff4f0;border:1px solid #f4d7cd}
.anomaly-alert-target-v368.ready{background:#eff9f3;border-color:#cfe9da}
.anomaly-alert-target-v368 b{display:block;color:#174766;font-size:14px;margin-bottom:4px}
.anomaly-alert-target-v368 span{display:block;color:#71889a;font-size:12px;line-height:1.45}
.anomaly-alert-actions-v368{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px}
.anomaly-alert-actions-v368 button{border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer;transition:.15s}
.anomaly-alert-actions-v368 button:disabled{opacity:.55;cursor:wait}
.anomaly-alert-save-v368{border:1px solid #0d5a86;background:#0d4f78;color:#fff}
.anomaly-alert-test-v368{border:1px solid #cadce8;background:#fff;color:#174e72}
.anomaly-alert-actions-v368>span{color:#7890a2;font-size:12px;line-height:1.45;margin-left:4px;flex:1 1 330px}
.anomaly-alert-message-v368{margin-top:12px;padding:10px 12px;border-radius:11px;background:#f4f7f9;color:#647d90;font-size:12px;line-height:1.5}
.anomaly-alert-message-v368.success{background:#edf9f2;color:#187147}
.anomaly-alert-message-v368.error{background:#fff1ee;color:#b54a3b}
@media (max-width:760px){
  .anomaly-alert-panel-v368{padding:20px 15px;border-radius:20px}
  .anomaly-alert-head-v368{gap:12px}
  .anomaly-alert-head-v368 h3{font-size:23px}
  .anomaly-alert-head-v368 p{font-size:13px}
  .anomaly-alert-grid-v368{grid-template-columns:1fr}
  .anomaly-alert-toggle-row-v368{align-items:flex-start}
  .anomaly-alert-types-v368,.anomaly-alert-filters-v368{grid-template-columns:1fr}
  .anomaly-alert-actions-v368 button{flex:1 1 145px}
}


/* =========================================================
   Stage 369 - Telegram alert operation polish + recent history
   ========================================================= */
.anomaly-alert-toggle-title-v369{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:5px}
.anomaly-alert-toggle-title-v369>b{margin:0}
.anomaly-alert-toggle-status-v369{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef3f7;color:#6e8393;font-size:11px;font-weight:900;line-height:1}
.anomaly-alert-toggle-status-v369.on{background:#e3f6eb;color:#17794b}
.anomaly-alert-target-title-v369{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px}
.anomaly-alert-target-title-v369>span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#dcf3e6;color:#16784a;font-size:11px;font-weight:900}
.anomaly-alert-target-title-v369.warning>span{background:#fff0eb;color:#b65040}
.anomaly-alert-target-title-v369>b{margin:0;font-size:14px}
.anomaly-alert-target-v368>small{display:block;color:#71889a;font-size:12px;line-height:1.45}
.anomaly-alert-actions-v368{align-items:center}
.anomaly-alert-save-v368.has-changes{box-shadow:0 0 0 3px rgba(13,90,134,.10)}
.anomaly-alert-save-state-v369{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#f0f4f7;color:#6d8395;font-size:11px;font-weight:900}
.anomaly-alert-save-state-v369.dirty{background:#fff3de;color:#9a6817}
.anomaly-alert-save-state-v369.saved{background:#eaf7f0;color:#1a7950}
.anomaly-alert-save-state-v369.flash{animation:alertSaveFlash369 .45s ease}
@keyframes alertSaveFlash369{50%{transform:scale(1.06)}}
.anomaly-alert-test-wrap-v369{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.anomaly-alert-test-wrap-v369 small{color:#7890a2;font-size:11px;line-height:1.35}
.anomaly-alert-dedupe-v369{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#f7fafc;border:1px solid #e3ecf2;color:#6d8496;font-size:12px;line-height:1.45}
.anomaly-alert-dedupe-v369 b{flex:0 0 auto;color:#365d78}
.anomaly-alert-history-v369{margin-top:16px;border-top:1px solid #e3ecf2;padding-top:16px}
.anomaly-alert-history-head-v369{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:9px}
.anomaly-alert-history-head-v369>div>span{display:block;color:#6d89a0;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:2px}
.anomaly-alert-history-head-v369>div>b{color:#164b6e;font-size:16px}
.anomaly-alert-history-head-v369>small{color:#8397a6;font-size:11px}
.anomaly-alert-history-list-v369{border:1px solid #dfeaf1;border-radius:14px;overflow:hidden;background:#fff}
.anomaly-alert-history-empty-v369{padding:16px;color:#8295a5;font-size:12px;text-align:center;background:#fafcfd}
.anomaly-alert-history-row-v369{display:grid;grid-template-columns:1.15fr .9fr 1.5fr auto;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid #edf2f5;font-size:12px}
.anomaly-alert-history-row-v369:first-child{border-top:0}
.anomaly-alert-history-row-v369>div{min-width:0}
.anomaly-alert-history-row-v369>div:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.anomaly-alert-history-row-v369 b{display:block;color:#244f6d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anomaly-alert-history-row-v369 small{display:block;color:#8a9ba8;font-size:10px;margin-bottom:2px}
.anomaly-alert-history-row-v369>div:first-child>span{display:inline-flex;padding:2px 6px;border-radius:999px;background:#eef4f8;color:#698196;font-size:10px;font-weight:900}
.anomaly-alert-history-row-v369 .ok,.anomaly-alert-history-row-v369 .fail{display:inline-flex;padding:5px 8px;border-radius:999px;font-weight:900;white-space:nowrap}
.anomaly-alert-history-row-v369 .ok{background:#e9f8f0;color:#14784a}
.anomaly-alert-history-row-v369 .fail{background:#fff0ed;color:#b54b3b}
@media (max-width:760px){
  .anomaly-alert-head-v368>.anomaly-alert-status-v368{display:none}
  .anomaly-alert-test-wrap-v369{width:100%}
  .anomaly-alert-test-wrap-v369 .anomaly-alert-test-v368{flex:0 0 auto}
  .anomaly-alert-history-row-v369{grid-template-columns:1fr 1fr;gap:8px 12px}
  .anomaly-alert-history-row-v369>div:last-child{justify-self:start}
}


/* =========================================================
   Stage 370 - compact alert actions + transient save feedback
   ========================================================= */
.anomaly-alert-actions-v370{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.anomaly-alert-actions-v370>.anomaly-alert-save-state-v369{flex:0 0 auto;margin-left:0}
.anomaly-alert-save-state-v369.is-hidden{display:none}
.anomaly-alert-save-state-v369.loading{background:#f0f4f7;color:#6d8395}
.anomaly-alert-test-note-v370{color:#7890a2;font-size:11px;line-height:1.35;margin-left:2px}
@media (min-width:761px){
  .anomaly-alert-actions-v370{flex-wrap:nowrap}
  .anomaly-alert-actions-v370 .anomaly-alert-save-v368,
  .anomaly-alert-actions-v370 .anomaly-alert-test-v368{flex:0 0 auto}
  .anomaly-alert-actions-v370 .anomaly-alert-test-note-v370{white-space:nowrap}
}
@media (max-width:760px){
  .anomaly-alert-actions-v370{align-items:center}
  .anomaly-alert-actions-v370 .anomaly-alert-save-v368,
  .anomaly-alert-actions-v370 .anomaly-alert-test-v368{flex:1 1 145px}
  .anomaly-alert-actions-v370 .anomaly-alert-test-note-v370{flex:1 1 100%;margin-left:0}
}


/* Stage 372 - Telegram alert follow-up management */
.anomaly-case-board-v372{margin-top:18px;padding-top:18px;border-top:1px solid #e3ecf2}
.anomaly-case-head-v372{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}
.anomaly-case-head-v372>div>span{display:block;color:#6d89a0;font-size:10px;font-weight:900;letter-spacing:.08em;margin-bottom:3px}
.anomaly-case-head-v372 h4{margin:0;color:#164b6e;font-size:18px}
.anomaly-case-head-v372 p{margin:5px 0 0;color:#7b91a3;font-size:12px;line-height:1.45}
.anomaly-case-head-v372>small{color:#7890a2;font-size:11px;white-space:nowrap}
.anomaly-case-summary-v372{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.anomaly-case-summary-v372 button{border:1px solid #dce7ee;border-radius:12px;background:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#557187;font-weight:800}
.anomaly-case-summary-v372 button b{font-size:18px;color:#174e72}
.anomaly-case-summary-v372 button.new b{color:#b05242}.anomaly-case-summary-v372 button.checking b{color:#a36c12}.anomaly-case-summary-v372 button.done b{color:#16784a}
.anomaly-case-summary-v372 button.active{border-color:#7ca8c5;box-shadow:0 0 0 2px rgba(39,110,154,.08);background:#f7fbfd}
.anomaly-case-guide-v372{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:11px;background:#f7fafc;border:1px solid #e5edf2;color:#6f8697;font-size:11px;line-height:1.45;margin-bottom:10px}
.anomaly-case-guide-v372 b{flex:0 0 auto;color:#3b617b}
.anomaly-case-list-v372{display:grid;gap:9px}
.anomaly-case-empty-v372{padding:18px;border:1px dashed #d6e3eb;border-radius:13px;background:#fbfdfe;color:#8296a5;font-size:12px;text-align:center}
.anomaly-case-row-v372{border:1px solid #dfe9f0;border-left:4px solid #b5c6d2;border-radius:14px;background:#fff;padding:12px 13px}
.anomaly-case-row-v372.new{border-left-color:#d56b57}.anomaly-case-row-v372.checking{border-left-color:#d39a36}.anomaly-case-row-v372.done{border-left-color:#2e9a68}
.anomaly-case-main-v372{display:grid;grid-template-columns:1.35fr 1.4fr auto auto;gap:12px;align-items:center}
.anomaly-case-who-v372{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.anomaly-case-who-v372 .scope{display:inline-flex;padding:3px 6px;border-radius:999px;background:#edf4f8;color:#5a7589;font-size:10px;font-weight:900}.anomaly-case-who-v372 b{color:#174d70;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}.anomaly-case-who-v372 small{width:100%;padding-left:1px;color:#8a9ca8;font-size:10px}
.anomaly-case-metric-v372{min-width:0}.anomaly-case-metric-v372 b{display:block;color:#315d79;font-size:12px}.anomaly-case-metric-v372 span{display:block;color:#7f94a4;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anomaly-case-diff-v372{font-size:13px;white-space:nowrap}.anomaly-case-diff-v372.down{color:#bf5141}.anomaly-case-diff-v372.up{color:#167851}
.anomaly-case-tags-v372{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.anomaly-case-tags-v372 span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f2f6f9;color:#648096;font-size:9px;font-weight:900;white-space:nowrap}
.anomaly-case-controls-v372{display:grid;grid-template-columns:150px minmax(240px,1fr) auto auto;gap:8px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid #edf2f5}.anomaly-case-controls-v372 label>span{display:block;color:#7d92a2;font-size:9px;font-weight:900;margin:0 0 4px 2px}.anomaly-case-controls-v372 select,.anomaly-case-controls-v372 input{width:100%;height:36px;border:1px solid #d4e1e9;border-radius:10px;background:#fff;padding:0 10px;color:#315c77;font-size:11px;font-weight:700;outline:none}.anomaly-case-controls-v372 button{height:36px;border-radius:10px;padding:0 11px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}.anomaly-case-locate-v372{border:1px solid #cfdee8;background:#fff;color:#285d80}.anomaly-case-save-v372{border:1px solid #0e5b86;background:#0e527b;color:#fff}.anomaly-case-controls-v372 button:disabled{opacity:.55;cursor:wait}
.anomaly-case-foot-v372{display:flex;align-items:center;gap:8px;margin-top:8px}.anomaly-case-foot-v372 .status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900;background:#eef3f6;color:#668092}.anomaly-case-foot-v372 .status.new{background:#fff0ec;color:#b75040}.anomaly-case-foot-v372 .status.checking{background:#fff6e6;color:#9c6b19}.anomaly-case-foot-v372 .status.done{background:#e9f7ef;color:#17784a}.anomaly-case-foot-v372 small{color:#93a3ae;font-size:9px}
@media(max-width:820px){.anomaly-case-summary-v372{grid-template-columns:1fr 1fr}.anomaly-case-main-v372{grid-template-columns:1fr auto}.anomaly-case-metric-v372{grid-column:1/2}.anomaly-case-tags-v372{grid-column:2/3;grid-row:1/3}.anomaly-case-controls-v372{grid-template-columns:1fr 1fr}.anomaly-case-controls-v372 .memo{grid-column:1/3}.anomaly-case-head-v372{align-items:flex-start}.anomaly-case-head-v372>small{display:none}}
@media(max-width:520px){.anomaly-case-main-v372{grid-template-columns:1fr}.anomaly-case-tags-v372{grid-column:1;grid-row:auto;justify-content:flex-start}.anomaly-case-controls-v372{grid-template-columns:1fr}.anomaly-case-controls-v372 .memo{grid-column:1}.anomaly-case-summary-v372{grid-template-columns:1fr 1fr}}


/* 374단계: 빈 상태에서 메모 위치 안내 */
.anomaly-case-empty-note-v374 {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.92em;
  color: #6b7f92;
}


/* 375단계: 알림 확인·처리 관리 글자 크기 균형 조정 */
.anomaly-case-summary-v372 button span {
  font-size: 13px;
  line-height: 1.25;
}
.anomaly-case-summary-v372 button b {
  font-size: 12px;
  line-height: 1.25;
}


/* 376단계: 알림 관리 빈 상태 안내를 데스크톱 한 줄로 표시 */
.anomaly-case-empty-v372 > span {
  display: block;
  white-space: nowrap;
  font-size: 11px;
  letter-spacing: -0.15px;
}
@media(max-width:820px){
  .anomaly-case-empty-v372 > span {
    white-space: normal;
  }
}


/* ==================================================
   377단계: 전체 미니앱 타이포그래피 체계 통일
   - 기능/수치/배치 로직은 변경하지 않음
   - 화면 역할별 글자 크기만 공통 단계로 정리
   ================================================== */
:root {
  --type-kicker-v377: 11px;
  --type-page-title-v377: 22px;
  --type-page-copy-v377: 13px;
  --type-hero-title-v377: 23px;
  --type-section-title-v377: 18px;
  --type-card-title-v377: 15px;
  --type-body-v377: 13px;
  --type-support-v377: 12px;
  --type-caption-v377: 11px;
}

/* 페이지 공통 제목 체계 */
.section-head h2 {
  font-size: var(--type-page-title-v377);
  line-height: 1.25;
}
.section-head p {
  font-size: var(--type-page-copy-v377);
  line-height: 1.55;
}
.hero-eyebrow-v329,
.section-eyebrow-v329 {
  font-size: var(--type-kicker-v377);
}
.menu-card b,
.analysis-card b {
  font-size: 16px;
}
.menu-card small,
.analysis-card small {
  font-size: var(--type-body-v377);
  line-height: 1.45;
}
.status-card p,
.result-card {
  font-size: var(--type-body-v377);
}

/* 시스템 운영 상태 */
.system-overview-kicker-v329 {
  font-size: var(--type-kicker-v377);
}
.system-overview-v329 h3 {
  font-size: var(--type-section-title-v377);
}
.system-overview-v329 p {
  font-size: var(--type-body-v377);
}
.system-tile-copy-v329 span,
.system-detail-v329 span {
  font-size: var(--type-caption-v377);
}
.system-tile-copy-v329 b {
  font-size: var(--type-card-title-v377);
}
.system-tile-copy-v329 small,
.system-detail-v329 b,
.system-alert-v329,
.system-note-v329,
.system-alert-v329 b,
.system-note-v329 b {
  font-size: var(--type-support-v377);
}

/* 데이터 관리 */
.data-kicker-v350,
.data-card-title-v350 span {
  font-size: var(--type-kicker-v377);
}
.data-current-head-v350 h3,
.data-card-title-v350 h3 {
  font-size: var(--type-section-title-v377);
}
.data-current-head-v350 p {
  font-size: var(--type-body-v377);
}
.data-current-meta-v350 span,
.data-detail-grid-v350 span,
.data-watch-v350 span {
  font-size: var(--type-caption-v377);
}
.data-current-meta-v350 b,
.data-detail-grid-v350 b,
.data-watch-v350 b,
.data-event-v350 b,
.data-import-row-v350 b {
  font-size: var(--type-support-v377);
}
.data-event-v350 small,
.data-import-row-v350 small,
.data-empty-v350 {
  font-size: var(--type-caption-v377);
}

/* 센터 / 연도 / 최근 변화 / 센터 비교 */
.center-summary-hero-v276 h3,
.center-summary-hero-v277 h3,
.annual-hero-v294 h3,
.annual-hero-v297 h3,
.recent-hero-copy-v307 h3 {
  font-size: var(--type-hero-title-v377);
}
.center-panel-head-v277 h4,
.center-peer-panel-head-v285 h4,
.center-peer-board-head-v286 h4,
.annual-panel-head-v294 h3,
.recent-section-head-v307 h3,
.peer-strength-summary-v315 h3 {
  font-size: var(--type-section-title-v377);
}
.center-section-title-v276 h4,
.annual-metric-head-v294 h4,
.recent-rank-title-v307 h4,
.recent-top-card-head-v308 h4,
.peer-strength-card-head-v315 h3 {
  font-size: var(--type-card-title-v377);
}

/* 이상징후 감지 / 자동 알림 / 처리 관리 */
.anomaly-hero-v358 span,
.anomaly-panel-head-v358 span,
.anomaly-alert-head-v368 > div > span,
.anomaly-case-head-v372 > div > span {
  font-size: var(--type-kicker-v377);
}
.anomaly-hero-v358 h3,
.anomaly-alert-head-v368 h3 {
  font-size: var(--type-hero-title-v377);
}
.anomaly-panel-head-v358 h3,
.anomaly-case-head-v372 h4 {
  font-size: var(--type-section-title-v377);
}
.anomaly-alert-head-v368 p,
.anomaly-panel-head-v358 p,
.anomaly-case-head-v372 p {
  font-size: var(--type-body-v377);
}
.anomaly-alert-toggle-row-v368 b,
.anomaly-alert-subtitle-v368,
.anomaly-alert-history-head-v369 > div > b {
  font-size: var(--type-card-title-v377);
}
.anomaly-alert-filters-v368 label > span,
.anomaly-alert-target-v368 span,
.anomaly-alert-actions-v368 > span,
.anomaly-alert-message-v368,
.anomaly-alert-history-empty-v369,
.anomaly-alert-history-row-v369 {
  font-size: var(--type-support-v377);
}

/* 375~376 단계에서 확정한 처리관리 카드 크기는 의미를 유지 */
.anomaly-case-summary-v372 button span {
  font-size: 13px;
}
.anomaly-case-summary-v372 button b {
  font-size: 12px;
}
.anomaly-case-empty-v372 > span {
  font-size: 11px;
}

@media (max-width: 620px) {
  :root {
    --type-page-title-v377: 20px;
    --type-page-copy-v377: 12.5px;
    --type-hero-title-v377: 20px;
    --type-section-title-v377: 17px;
    --type-card-title-v377: 14px;
    --type-body-v377: 12.5px;
    --type-support-v377: 12px;
    --type-caption-v377: 11px;
  }
}

/* Stage 380 · Telegram login and role access */
.access-role-badge-v380 {
  margin-left: auto;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  padding: 7px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  white-space: nowrap;
}
.access-role-badge-v380.hidden { display: none; }
.access-role-badge-v380 span { font-size: 11px; font-weight: 800; opacity: .88; }
.access-role-badge-v380 b { font-size: 12px; font-weight: 800; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.access-role-badge-v380.role-admin span { color: #dff7ff; }
.access-role-badge-v380.role-operator span { color: #fff0c7; }
.access-role-badge-v380.role-viewer span { color: #e5e9ef; }

.access-dashboard-v380 { display: grid; gap: 16px; }
.access-summary-v380,
.access-identity-v380,
.access-role-guide-v380,
.access-activation-v380,
.access-users-v380,
.access-safety-v380 {
  background: #fff;
  border: 1px solid #dbe7f1;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(31,72,112,.07);
}
.access-summary-v380 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
}
.access-summary-v380 small,
.access-identity-v380 > small,
.access-role-guide-v380 > small,
.access-section-head-v380 small {
  display: block;
  margin-bottom: 5px;
  color: #5e7f9d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .11em;
}
.access-summary-v380 h3,
.access-identity-v380 h3,
.access-role-guide-v380 h3,
.access-section-head-v380 h3 {
  margin: 0;
  color: #163d62;
  font-size: 19px;
  line-height: 1.35;
}
.access-summary-v380 p,
.access-identity-v380 p,
.access-section-head-v380 p {
  margin: 6px 0 0;
  color: #60758a;
  font-size: 13px;
  line-height: 1.6;
}
.access-mode-pill-v380 {
  min-width: 56px;
  padding: 8px 12px;
  border-radius: 999px;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  background: #eef2f6;
  color: #647587;
}
.access-mode-pill-v380.on { background: #e4f6ed; color: #17724c; }
.access-grid-v380 { display: grid; grid-template-columns: .92fr 1.08fr; gap: 16px; }
.access-identity-v380,
.access-role-guide-v380 { padding: 20px 22px; }
.access-identity-v380 strong {
  display: inline-flex;
  margin-top: 13px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf6ff;
  color: #1c5b8f;
  font-size: 12px;
}
.access-role-guide-v380 > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 12px; }
.access-role-card-v380 { padding: 12px; border-radius: 13px; background: #f7fafc; border: 1px solid #e4edf4; }
.access-role-card-v380.current { background: #eef8ff; border-color: #9fcbed; box-shadow: inset 0 0 0 1px rgba(44,123,184,.08); }
.access-role-card-v380 b { display: block; color: #234966; font-size: 13px; }
.access-role-card-v380 span { display: block; margin-top: 4px; color: #718395; font-size: 11px; line-height: 1.45; }
.access-activation-v380 { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-left: 4px solid #3c88bd; }
.access-activation-v380.enabled { border-left-color: #34a06f; }
.access-activation-v380 div { display: grid; gap: 4px; }
.access-activation-v380 b { color: #234966; font-size: 14px; }
.access-activation-v380 span { color: #6b7e90; font-size: 12px; line-height: 1.55; }
.access-activation-v380 button,
.access-user-role-v380 button {
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: #1f679d;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.access-activation-v380.enabled button { background: #6b7e90; }
.access-activation-v380 button:disabled,
.access-user-role-v380 button:disabled { opacity: .45; cursor: default; }
.access-users-v380 { padding: 20px 22px; }
.access-section-head-v380 { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.access-section-head-v380 > span { padding: 6px 9px; border-radius: 999px; background: #f0f5f9; color: #59748c; font-size: 11px; font-weight: 800; white-space: nowrap; }
.access-user-list-v380 { display: grid; gap: 8px; }
.access-user-row-v380 { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: center; padding: 13px 14px; border-radius: 13px; border: 1px solid #e4edf4; background: #fbfdff; }
.access-user-identity-v380 { min-width: 0; display: grid; gap: 3px; }
.access-user-identity-v380 b { color: #234966; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.access-user-identity-v380 span { color: #637b90; font-size: 11px; }
.access-user-identity-v380 small { color: #8998a6; font-size: 10px; }
.access-user-role-v380 { display: flex; align-items: center; gap: 7px; }
.access-user-role-v380 select { min-width: 104px; border: 1px solid #cad9e5; border-radius: 9px; padding: 9px 10px; background: #fff; color: #294b67; font: inherit; font-size: 12px; font-weight: 700; }
.access-user-role-v380 button { padding: 9px 12px; }
.access-empty-v380 { padding: 22px; text-align: center; color: #73879a; font-size: 12px; background: #f8fbfd; border-radius: 12px; }
.access-safety-v380 { display: grid; gap: 4px; padding: 15px 18px; background: #f8fbfd; box-shadow: none; }
.access-safety-v380 b { color: #395b75; font-size: 12px; }
.access-safety-v380 span { color: #718497; font-size: 11px; line-height: 1.55; white-space: nowrap; }

body[data-access-role="viewer"] .anomaly-case-save-v372:disabled,
body[data-access-role="operator"] .anomaly-alert-save-v368:disabled { opacity: .5; }

@media (max-width: 760px) {
  .access-role-badge-v380 { padding: 6px 8px; }
  .access-role-badge-v380 b { max-width: 110px; }
  .access-grid-v380 { grid-template-columns: 1fr; }
  .access-role-guide-v380 > div { grid-template-columns: 1fr; }
  .access-summary-v380,
  .access-activation-v380,
  .access-section-head-v380 { align-items: flex-start; }
  .access-activation-v380 { flex-direction: column; }
  .access-activation-v380 button { width: 100%; }
  .access-user-row-v380 { grid-template-columns: 1fr; }
  .access-user-role-v380 { width: 100%; }
  .access-user-role-v380 select { flex: 1; }
  .access-safety-v380 span { white-space: normal; }
}

/* Stage 382 · optional ID/password hybrid login */
.access-web-login-v382,
.access-password-session-v382 {
  background:#fff;
  border:1px solid #d6e5ef;
  border-radius:20px;
  padding:20px 22px;
  box-shadow:0 10px 28px rgba(31,79,114,.06);
}
.access-web-login-v382 { margin-top:18px; }
.access-web-toolbar-v382 { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; padding:14px 16px; background:#f7fafc; border:1px solid #e3ecf3; border-radius:14px; }
.access-web-toolbar-v382 > div:first-child { display:grid; gap:4px; }
.access-web-toolbar-v382 b { color:#234966; font-size:13px; }
.access-web-toolbar-v382 span { color:#718395; font-size:11px; line-height:1.45; }
.access-web-toolbar-v382 > div:last-child { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.access-web-toolbar-v382 button,
.access-web-create-v382 button,
.access-web-row-v382 button,
.access-password-session-v382 button { border:0; border-radius:10px; padding:10px 13px; background:#176ba5; color:#fff; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.access-web-toolbar-v382 button.secondary { background:#eef5fa; color:#245c82; border:1px solid #d7e6f0; }
.access-web-create-v382 { display:grid; grid-template-columns:minmax(155px,1.1fr) minmax(120px,1fr) 120px minmax(150px,1fr) auto; gap:8px; align-items:end; margin-top:14px; padding:14px 16px; border:1px dashed #cfdfe9; border-radius:14px; background:#fbfdff; }
.access-web-create-v382 > div { grid-column:1/-1; display:flex; gap:10px; align-items:baseline; }
.access-web-create-v382 > div b { color:#244d6c; font-size:13px; }
.access-web-create-v382 > div span { color:#7a8d9c; font-size:11px; }
.access-web-create-v382 input,
.access-web-create-v382 select,
.access-web-row-v382 input,
.access-web-row-v382 select { width:100%; border:1px solid #cadbe6; border-radius:9px; padding:9px 10px; background:#fff; color:#294b67; font:inherit; font-size:12px; }
.access-web-list-v382 { display:grid; gap:8px; margin-top:12px; }
.access-web-row-v382 { display:grid; grid-template-columns:minmax(170px,1.25fr) minmax(120px,1fr) 105px minmax(150px,1fr) auto auto; gap:8px; align-items:center; padding:11px 12px; border:1px solid #e1eaf1; border-radius:12px; background:#fff; }
.access-web-id-v382 { min-width:0; display:grid; gap:2px; }
.access-web-id-v382 b { color:#234966; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.access-web-id-v382 span,.access-web-id-v382 small { color:#7b8e9d; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.access-web-active-v382 { display:flex; align-items:center; gap:5px; color:#496a82; font-size:11px; font-weight:700; white-space:nowrap; }
.access-web-active-v382 input { width:auto; margin:0; }
.access-password-session-v382 { margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:#f8fbfe; }
.access-password-session-v382 > div { display:grid; gap:3px; }
.access-password-session-v382 b { color:#244d6c; font-size:13px; }
.access-password-session-v382 span { color:#718395; font-size:11px; }
@media(max-width:900px){
  .access-web-create-v382 { grid-template-columns:1fr 1fr; }
  .access-web-create-v382 button { width:100%; }
  .access-web-row-v382 { grid-template-columns:1fr 1fr; }
  .access-web-id-v382 { grid-column:1/-1; }
  .access-web-row-v382 button { width:100%; }
}
@media(max-width:620px){
  .access-web-toolbar-v382,.access-password-session-v382 { align-items:stretch; flex-direction:column; }
  .access-web-toolbar-v382 > div:last-child { justify-content:stretch; }
  .access-web-toolbar-v382 button { flex:1; }
  .access-web-create-v382,.access-web-row-v382 { grid-template-columns:1fr; }
  .access-web-create-v382 > div,.access-web-id-v382 { grid-column:auto; }
}

/* Stage 385 · center-scoped access */
.access-center-scope-v385 {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid #e6eef4;
}
.access-center-scope-title-v385 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.access-center-scope-title-v385 b { color:#365c78; font-size:11px; }
.access-center-scope-title-v385 span { color:#7c8f9f; font-size:10px; }
.access-center-scope-v385.admin .access-center-scope-title-v385 span { color:#2f7cae; font-weight:700; }
.access-center-checks-v385 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
}
.access-center-checks-v385 label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 5px 8px;
  border: 1px solid #d8e5ee;
  border-radius: 999px;
  background: #fff;
  color: #47667d;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.access-center-checks-v385 input { width:auto !important; margin:0; }
.access-center-checks-v385 label:has(input:checked) { background:#eef7fd; border-color:#9ec9e5; color:#1e648f; }
.access-center-checks-v385 label:has(input:disabled) { opacity:.55; cursor:default; }
.access-center-empty-v385 { color:#8798a6; font-size:10px; }
.access-web-row-v382 .access-center-scope-v385 { margin-top: 2px; }

/* the create row gained an initial center selector in stage 385 */
.access-web-create-v382 { grid-template-columns:minmax(145px,1.05fr) minmax(115px,.95fr) 110px minmax(135px,1fr) minmax(145px,1fr) auto; }

@media(max-width:900px){
  .access-web-create-v382 { grid-template-columns:1fr 1fr; }
}
@media(max-width:620px){
  .access-center-scope-title-v385 { align-items:flex-start; flex-direction:column; gap:3px; }
  .access-center-checks-v385 { display:grid; grid-template-columns:1fr 1fr; }
  .access-center-checks-v385 label { border-radius:10px; }
  .access-web-create-v382 { grid-template-columns:1fr; }
}

/* ==================================================
   Stage 388 · Mobile miniapp readability / responsive pass
   Desktop layout is intentionally unchanged.
   ================================================== */
@media (max-width: 760px) {
  :root {
    --type-page-title-v377: 22px;
    --type-page-copy-v377: 14px;
    --type-hero-title-v377: 22px;
    --type-section-title-v377: 19px;
    --type-card-title-v377: 16px;
    --type-body-v377: 14px;
    --type-support-v377: 13px;
    --type-caption-v377: 12.5px;
    --type-kicker-v377: 11.5px;
  }

  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body { overflow-x: hidden; font-size: 14px; }
  .app-shell { width: 100% !important; max-width: 100% !important; overflow-x: hidden; padding-bottom: 24px; }
  .view { width: 100%; max-width: 100%; padding: 16px 12px 28px; overflow: visible; }

  /* Home / page header: use the phone width for content instead of squeezing text. */
  .hero { padding: 19px 15px 17px; border-radius: 0 0 22px 22px; }
  .hero-top { gap: 10px; align-items: flex-start; }
  .brand-mark { width: 48px; height: 48px; flex: 0 0 48px; padding: 10px; border-radius: 15px; }
  .hero h1 { font-size: 24px; line-height: 1.2; }
  .hero-top p { font-size: 13px; line-height: 1.45; }
  .hero-copy { margin-top: 18px; }
  .hero-copy strong { font-size: 16px; line-height: 1.4; }
  .hero-copy p { font-size: 13.5px; line-height: 1.65; }
  .feature-row { grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 15px; }
  .feature-row div { padding: 9px 7px; }
  .feature-row b { font-size: 13.5px; }
  .feature-row span { font-size: 12px; }
  .access-role-badge-v380 { margin-left: 0; max-width: 120px; }
  .access-role-badge-v380 span { font-size: 11.5px; }
  .access-role-badge-v380 b { font-size: 12.5px; max-width: 105px; }

  .section-head { margin-bottom: 14px; }
  .section-head.row { align-items: flex-start; gap: 10px; }
  .section-head.row > div { min-width: 0; }
  .section-head h2 { font-size: 22px !important; line-height: 1.25; overflow-wrap: anywhere; }
  .section-head p { font-size: 13.5px !important; line-height: 1.55; word-break: keep-all; }
  .section-eyebrow-v329 { font-size: 11.5px !important; }
  .back-btn { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 12px; font-size: 20px; }

  /* Main phone navigation: one readable card per row. */
  .menu-grid,
  .analysis-grid { grid-template-columns: 1fr !important; gap: 9px; }
  .menu-card,
  .analysis-card { min-height: 70px; padding: 14px; gap: 11px; border-radius: 16px; }
  .menu-card .icon { width: 42px; height: 42px; flex-basis: 42px; font-size: 21px; }
  .menu-card b,
  .analysis-card b { font-size: 16px !important; line-height: 1.35; }
  .menu-card small,
  .analysis-card small { font-size: 13px !important; line-height: 1.45; }

  /* Common text floor so captions do not collapse to 9~10px on a phone. */
  .view p { font-size: 13.5px; }
  .view small { font-size: 12px; line-height: 1.45; }
  .view label { font-size: 13px; }
  .view button,
  .view input,
  .view select,
  .view textarea { font-size: 14px; }
  .view input,
  .view select,
  .view textarea { min-height: 42px; }
  .view button { min-height: 40px; }

  /* Mobile cards: keep content inside the viewport and let long copy wrap. */
  .result-card,
  .status-card,
  [class*="-card-v"],
  [class*="-panel-v"],
  [class*="-section-v"] { max-width: 100%; min-width: 0; }
  .result-card { font-size: 14px; line-height: 1.6; }
  .status-card p { font-size: 13.5px !important; line-height: 1.55; }

  /* Large dashboard grids become a single readable column. */
  .annual-grid-v294,
  .annual-insight-grid-v294,
  .recent-metric-grid-v307,
  .recent-rank-grid-v307,
  .center-diagnosis-v277,
  .center-operation-grid-v277,
  .center-metric-grid-v277,
  .change-trend-grid-v256,
  .term-trend-dashboard-v177,
  .completion-term-grid,
  .strength-grid,
  .anomaly-summary-grid-v358,
  .anomaly-top-grid-v363,
  .anomaly-quick-grid-v365 { grid-template-columns: 1fr !important; }

  /* KPI blocks stay compact, but labels and values remain readable. */
  .annual-metric-kpis-v294,
  .recent-hero-kpis-v307,
  .center-summary-meta-v276,
  .center-trend-kpi-v293 { gap: 7px; }
  .annual-metric-kpis-v294 small,
  .recent-hero-kpis-v307 small,
  .center-trend-kpi-v293 small { font-size: 11.5px !important; }
  .annual-metric-kpis-v294 strong,
  .recent-hero-kpis-v307 b { font-size: 16px !important; }

  /* Scrollable data regions: never clip a table on the right edge. */
  .all-term-table-wrap,
  .change-table-wrap-v80,
  .compare-trend-values-v103,
  .compare-count-cards-v103,
  .compare-matrix-wrap-v104,
  .compare-table-wrap-v105,
  .compare-two-table-wrap-v106,
  .compare-count-table-wrap-v108,
  .single-count-table-wrap-v123,
  .annual-table-wrap-v295,
  .center-term-table-wrap-v276,
  .center-term-table-wrap-v277,
  .anomaly-tabs-v363 {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    touch-action: pan-x pan-y;
  }

  /* Keep table text large enough; horizontal swipe is preferred to unreadably shrinking columns. */
  .all-term-table,
  .change-table-v80,
  .compare-table-v105,
  .compare-two-table-v106,
  .compare-count-table-v108,
  .single-count-table-v123,
  .annual-table-v295,
  .center-term-table-v276,
  .center-term-table-v277 { font-size: 13px !important; }
  .all-term-table th,
  .all-term-table td,
  .change-table-v80 th,
  .change-table-v80 td,
  .compare-table-v105 th,
  .compare-table-v105 td,
  .compare-two-table-v106 th,
  .compare-two-table-v106 td,
  .compare-count-table-v108 th,
  .compare-count-table-v108 td,
  .single-count-table-v123 th,
  .single-count-table-v123 td,
  .annual-table-v295 th,
  .annual-table-v295 td,
  .center-term-table-v276 th,
  .center-term-table-v276 td,
  .center-term-table-v277 th,
  .center-term-table-v277 td {
    font-size: 12.5px !important;
    line-height: 1.4;
    padding: 10px 9px !important;
    white-space: nowrap;
  }
  .all-term-table thead th,
  .change-table-v80 thead th,
  .compare-table-v105 thead th,
  .compare-two-table-v106 thead th,
  .compare-count-table-v108 thead th,
  .annual-table-v295 thead th,
  .center-term-table-v276 thead th,
  .center-term-table-v277 thead th { font-size: 12px !important; }

  /* Sticky row labels make wide tables understandable while swiping. */
  .all-term-table tr > :first-child,
  .change-table-v80 tr > :first-child,
  .compare-table-v105 tr > :first-child,
  .compare-two-table-v106 tr > :first-child,
  .compare-count-table-v108 tr > :first-child,
  .single-count-table-v123 tr > :first-child,
  .annual-table-v295 tr > :first-child,
  .center-term-table-v276 tr > :first-child,
  .center-term-table-v277 tr > :first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 1px 0 0 #e4edf3;
  }
  .all-term-table thead tr > :first-child,
  .change-table-v80 thead tr > :first-child,
  .compare-table-v105 thead tr > :first-child,
  .compare-two-table-v106 thead tr > :first-child,
  .compare-count-table-v108 thead tr > :first-child,
  .annual-table-v295 thead tr > :first-child,
  .center-term-table-v276 thead tr > :first-child,
  .center-term-table-v277 thead tr > :first-child { z-index: 4; }

  /* Graphs: do not scale a 760~1080px SVG down until labels become microscopic.
     The chart gets a readable mobile canvas and can be swiped horizontally when needed. */
  .term-trend-chart-v176,
  .term-trend-chart-v177,
  .term-trend-chart-v180,
  .change-trend-svg-wrap-v256,
  .center-chart-scroll-v277,
  .center-trend-graph-v293,
  .annual-chart-scroll-v295,
  .annual-chart-fit-v296,
  .annual-combined-chart-v305 {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    touch-action: pan-x pan-y;
  }
  .term-trend-svg-v180 { width: 520px !important; min-width: 520px !important; height: 230px; }
  .change-trend-svg-v256 { width: 560px !important; min-width: 560px !important; max-width: none !important; }
  .center-trend-svg-v277 { width: 620px !important; min-width: 620px !important; max-width: none !important; }
  .center-trend-graph-v293 svg { width: 520px !important; min-width: 520px !important; max-width: none !important; }
  .annual-chart-fit-v296 svg { width: 650px !important; min-width: 650px !important; max-width: none !important; }
  .annual-combined-chart-v305 svg { width: 760px !important; min-width: 760px !important; max-width: none !important; }

  /* SVG labels were designed in viewBox units; enlarge their mobile floor too. */
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-value-label-v177 { font-size: 15px !important; }
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-term-label-v177,
  .term-trend-card-v177:has(.term-trend-svg-v180) .trend-axis-label-v177 { font-size: 12.5px !important; }
  .change-trend-svg-v256 .y-label,
  .change-trend-svg-v256 .x-label { font-size: 13px !important; }
  .change-trend-svg-v256 .point-value { font-size: 14px !important; }
  .change-trend-svg-v256 .point-value.recent { font-size: 15px !important; }
  .annual-chart-fit-v296 .annual-value-v294 { font-size: 15px !important; }
  .annual-chart-fit-v296 .annual-year-v294 { font-size: 13.5px !important; }
  .annual-combined-axis-v305,
  .annual-combined-year-v305,
  .annual-combined-end-v305 { font-size: 13px !important; }

  /* Major analysis cards: phone-sized headings and copy. */
  .change-trend-head-v256 h4 { font-size: 21px !important; }
  .change-trend-current-v256 { font-size: 27px !important; }
  .change-delta-pill-v256 { font-size: 13px; padding: 7px 10px; }
  .change-trend-meta-v256 { font-size: 13px; gap: 8px 12px; }
  .annual-metric-head-v294 h4,
  .recent-section-head-v307 h3,
  .center-panel-head-v277 h4 { font-size: 17px !important; }
  .annual-meaning-v295,
  .recent-hero-copy-v307 p { font-size: 13.5px !important; line-height: 1.6; }

  /* Recent-change / anomaly lists should wrap rather than push the page wider. */
  .recent-hero-v307 { grid-template-columns: 1fr !important; padding: 17px 15px; }
  .recent-repeat-card-v307 { align-items: flex-start; flex-direction: column; gap: 8px; }
  .anomaly-filter-bar-v364,
  .anomaly-alert-actions-v368,
  .anomaly-case-row-v372,
  .anomaly-case-controls-v372 { max-width: 100%; flex-wrap: wrap; }

  /* Access-management forms: no tiny multi-column controls on a phone. */
  .access-summary-v380,
  .access-identity-v380,
  .access-role-guide-v380,
  .access-users-v380,
  .access-web-login-v382,
  .access-password-session-v382 { padding: 16px 14px; }
  .access-summary-v380 h3,
  .access-identity-v380 h3,
  .access-role-guide-v380 h3,
  .access-section-head-v380 h3 { font-size: 19px; }
  .access-summary-v380 p,
  .access-identity-v380 p,
  .access-section-head-v380 p { font-size: 13.5px; }
  .access-user-role-v380 { flex-wrap: wrap; }
  .access-user-role-v380 select,
  .access-user-role-v380 button { min-height: 42px; font-size: 13.5px; }
  .access-web-create-v382 input,
  .access-web-create-v382 select,
  .access-web-row-v382 input,
  .access-web-row-v382 select { font-size: 14px; min-height: 42px; }
  .access-web-toolbar-v382 button,
  .access-web-create-v382 button,
  .access-web-row-v382 button,
  .access-password-session-v382 button { min-height: 42px; font-size: 13.5px; }
  .access-center-checks-v385 { grid-template-columns: 1fr !important; }
  .access-center-checks-v385 label { min-height: 38px; font-size: 12.5px; padding: 8px 10px; }
}

@media (max-width: 420px) {
  .view { padding-left: 10px; padding-right: 10px; }
  .hero { padding-left: 13px; padding-right: 13px; }
  .hero-top { flex-wrap: wrap; }
  .access-role-badge-v380 { margin-left: 58px; margin-top: -8px; }
  .annual-metric-kpis-v294 { grid-template-columns: 1fr 1fr !important; }
  .annual-metric-kpis-v294 > div:first-child { grid-column: 1 / -1; }
  .recent-hero-kpis-v307 { grid-template-columns: 1fr 1fr; }
  .center-summary-meta-v276 { grid-template-columns: 1fr 1fr !important; }
}


/* ==================================================
   Stage 407 · Mini App home information hierarchy refresh
   - Analysis vs Operations separation
   - Compact browser-open action in page header
   - Consistent line-icon system and shorter labels
   - Access/role visibility behavior intentionally unchanged
   ================================================== */
.home-menu-head-v407 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.home-menu-head-v407 > div:first-child { min-width: 0; }

.browser-open-wrap-v407 {
  flex: 0 0 auto;
  margin: 0 !important;
}
.browser-open-btn-v407 {
  min-height: 38px !important;
  padding: 7px 11px !important;
  gap: 7px !important;
  border-radius: 11px !important;
  box-shadow: none !important;
  background: #f7fbfe !important;
  border: 1px solid #d8e7f1 !important;
}
.browser-open-btn-v407:hover {
  background: #eef7fd !important;
  border-color: #bcd8e9 !important;
  box-shadow: 0 5px 14px rgba(26, 88, 126, .07) !important;
}
.browser-open-icon-v407 {
  width: auto !important;
  height: auto !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2c7fb5 !important;
  font-size: 17px !important;
  font-weight: 900;
}
.browser-open-copy-v407 { display: block !important; }
.browser-open-copy-v407 b {
  color: #3a617d;
  font-size: 12px !important;
  font-weight: 850;
  white-space: nowrap;
}

.menu-section-v407 { margin-top: 4px; }
.menu-section-v407 + .menu-section-v407 { margin-top: 25px; }
.menu-section-head-v407 {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 2px 11px;
}
.menu-section-head-v407 > div { min-width: 0; }
.menu-section-kicker-v407 {
  display: block;
  margin-bottom: 3px;
  color: #7692a7;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .13em;
}
.menu-section-head-v407 h3 {
  margin: 0;
  color: #244b68;
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.menu-section-head-v407 p {
  margin: 0;
  color: #8a9ba8;
  font-size: 10.5px;
  line-height: 1.4;
  text-align: right;
}
.menu-section-ops-v407 {
  padding-top: 20px;
  border-top: 1px solid #e4edf3;
}
.menu-section-ops-v407 .menu-section-kicker-v407 { color: #8a99a5; }
.menu-section-ops-v407 .menu-section-head-v407 h3 { color: #526b7e; }

.menu-grid-v407 { gap: 11px; }
.menu-grid-v407 .menu-card {
  min-height: 84px;
  padding: 14px 15px;
}
.menu-grid-v407 .menu-card > span:last-child { min-width: 0; }
.menu-grid-v407 .menu-card b {
  font-size: 15.5px;
  line-height: 1.35;
}
.menu-grid-v407 .menu-card small {
  margin-top: 4px;
  font-size: 11.5px;
  line-height: 1.42;
  word-break: keep-all;
}

.menu-icon-v407 {
  color: #2f78a8;
  background: #eff7fc !important;
  border-color: #dbeaf4 !important;
}
.menu-icon-v407 svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.menu-section-ops-v407 .menu-icon-v407 {
  color: #657b8d;
  background: #f4f7f9 !important;
  border-color: #e0e8ee !important;
}
.menu-section-ops-v407 .menu-card {
  background: #fbfcfd;
  border-color: #e1e9ef;
  box-shadow: 0 5px 15px rgba(31, 69, 96, .03);
}
.menu-section-ops-v407 .menu-card:hover {
  background: #fff;
  border-color: #cbdbe6;
}
.status-card-v407 { margin-top: 20px; }

@media (max-width: 760px) {
  .home-menu-head-v407 { gap: 10px; align-items: flex-start; }
  .browser-open-btn-v407 { min-height: 36px !important; padding: 7px 9px !important; }
  .browser-open-copy-v407 b { font-size: 11.5px !important; }
  .menu-section-v407 + .menu-section-v407 { margin-top: 22px; }
  .menu-section-head-v407 { align-items: flex-start; margin-bottom: 10px; }
  .menu-section-head-v407 p { display: none; }
  .menu-section-head-v407 h3 { font-size: 15.5px; }
  .menu-section-kicker-v407 { font-size: 9.5px; }
  .menu-grid-v407 { grid-template-columns: 1fr !important; gap: 9px; }
  .menu-grid-v407 .menu-card { min-height: 72px; padding: 13px 14px; }
  .menu-grid-v407 .menu-card b { font-size: 16px !important; }
  .menu-grid-v407 .menu-card small { font-size: 12.5px !important; }
  .menu-section-ops-v407 { padding-top: 18px; }
}

@media (max-width: 390px) {
  .browser-open-copy-v407 b { font-size: 0 !important; }
  .browser-open-copy-v407 b::after { content: '크게'; font-size: 11px; }
}


/* ==================================================
   Stage 436 · "크게 보기" touch/click reliability
   ================================================== */
.home-menu-head-v407 { position: relative; }
.browser-open-wrap-v407 {
  position: relative !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}
.browser-open-btn-v407 {
  position: relative !important;
  z-index: 31 !important;
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(44, 127, 181, .14);
  user-select: none;
  -webkit-user-select: none;
}
.browser-open-btn-v407 * { pointer-events: none; }
.browser-open-btn-v407:active {
  background: #e7f3fb !important;
  border-color: #9fc8df !important;
  transform: translateY(1px) !important;
}
.browser-open-btn-v407.loading { opacity: .72; }


/* ==================================================
   Stage 437 · large-view behavior / desktop affordance
   ================================================== */
.browser-open-btn-v407 {
  min-width: 140px;
  min-height: 50px;
  cursor: pointer;
}
.browser-open-copy-v407 b { font-size: 14px; }
@media (max-width: 760px) {
  .browser-open-btn-v407 { min-width: 124px !important; min-height: 42px !important; }
}
