:root{
  --kpmc-navy:#0b2447;
  --kpmc-blue:#19376d;
  --kpmc-accent:#576cbc;
  --kpmc-light:#a5d7e8;
}
*{-webkit-tap-highlight-color:transparent;}
body{font-family:'Pretendard','Malgun Gothic',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;}

/* ===== 배경/그라데이션 ===== */
.kpmc-gradient{
  background:linear-gradient(135deg,#081b38 0%,#0b2447 40%,#19376d 75%,#3a5ba8 100%);
  position:relative;
}
.kpmc-gradient::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 85% 15%,rgba(165,215,232,.18),transparent 45%);
}
.kpmc-gradient>*{position:relative;z-index:1;}
.app-bg{background:linear-gradient(180deg,#f1f5fb 0%,#f8fafc 220px);min-height:100vh;}

/* ===== 카드 ===== */
.card{
  background:#fff;border:1px solid #e8edf5;border-radius:18px;
  box-shadow:0 2px 8px rgba(15,23,42,.05),0 1px 2px rgba(15,23,42,.04);
  transition:box-shadow .2s ease,transform .2s ease;
}
.card-hover:hover{box-shadow:0 12px 28px rgba(15,23,42,.12);transform:translateY(-2px);}

/* ===== 배지 ===== */
.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:-.01em;}
.lvl-1{background:#fee2e2;color:#b91c1c}
.lvl-2{background:#ffedd5;color:#c2410c}
.lvl-3{background:#fef9c3;color:#a16207}
.lvl-4{background:#dcfce7;color:#15803d}
.lvl-5{background:#dbeafe;color:#1d4ed8}
.conf-High{background:#dcfce7;color:#15803d}
.conf-Medium{background:#fef9c3;color:#a16207}
.conf-Low{background:#fee2e2;color:#b91c1c}
.q-QuickWin{background:#dcfce7;color:#15803d}
.q-Strategic{background:#dbeafe;color:#1d4ed8}
.q-Maintain{background:#f1f5f9;color:#475569}
.q-Defer{background:#f3f4f6;color:#6b7280}

/* ===== Heatmap ===== */
.heat-cell{width:100%;height:40px;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;border-radius:8px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);}

/* ===== 통계 아이콘 원 ===== */
.stat-ico{width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1rem;}

/* ===== 설문 Likert 척도 (5점 그라데이션) ===== */
.likert-btn{
  display:flex;align-items:center;gap:.85rem;width:100%;
  padding:.95rem 1.1rem;border-radius:16px;border:2px solid #e2e8f0;background:#fff;
  text-align:left;cursor:pointer;transition:all .18s ease;
}
.likert-btn:hover{border-color:#c7d2fe;background:#f8faff;transform:translateX(2px);}
.likert-num{
  width:2.1rem;height:2.1rem;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;
  background:#f1f5f9;color:#64748b;transition:all .18s ease;
}
.likert-label{font-size:.92rem;font-weight:600;color:#475569;transition:color .18s ease;}

/* 선택 상태 - 점수별 색상 (1 빨강 → 5 녹색) */
.likert-btn.sel{color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(0,0,0,.14);transform:translateX(0) scale(1.01);}
.likert-btn.sel .likert-num{background:rgba(255,255,255,.28);color:#fff;}
.likert-btn.sel .likert-label{color:#fff;}
.likert-btn.sel .likert-check{opacity:1;}
.likert-check{margin-left:auto;opacity:0;font-size:1.1rem;transition:opacity .18s ease;}

/* 선택 배경 - hover보다 우선하도록 .sel 조합 + !important */
.likert-btn.sel.sel-1,.likert-btn.sel.sel-1:hover{background:linear-gradient(135deg,#ef4444,#dc2626)!important;}
.likert-btn.sel.sel-2,.likert-btn.sel.sel-2:hover{background:linear-gradient(135deg,#f97316,#ea580c)!important;}
.likert-btn.sel.sel-3,.likert-btn.sel.sel-3:hover{background:linear-gradient(135deg,#eab308,#ca8a04)!important;}
.likert-btn.sel.sel-4,.likert-btn.sel.sel-4:hover{background:linear-gradient(135deg,#22c55e,#16a34a)!important;}
.likert-btn.sel.sel-5,.likert-btn.sel.sel-5:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;}
/* 선택 시 글씨/숫자 흰색 강제 (hover 위에서도 유지) */
.likert-btn.sel .likert-label,.likert-btn.sel:hover .likert-label{color:#fff!important;}
.likert-btn.sel .likert-num,.likert-btn.sel:hover .likert-num{background:rgba(255,255,255,.28)!important;color:#fff!important;}

/* N/A 버튼 */
.na-btn{width:100%;padding:.8rem 1rem;border-radius:14px;border:2px dashed #cbd5e1;background:#f8fafc;color:#64748b;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .18s ease;}
.na-btn:hover{border-color:#94a3b8;background:#f1f5f9;}
.na-btn.sel{background:#475569;border-style:solid;border-color:#475569;color:#fff;}

/* 진행바 */
.progress-track{height:8px;background:rgba(255,255,255,.25);border-radius:999px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:999px;transition:width .35s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px rgba(59,130,246,.5);}

/* 인터뷰/증거 점수 버튼 선택 강조 */
.score-btn.on-1{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border-color:transparent!important;}
.score-btn.on-2{background:linear-gradient(135deg,#f97316,#ea580c)!important;color:#fff!important;border-color:transparent!important;}
.score-btn.on-3{background:linear-gradient(135deg,#eab308,#ca8a04)!important;color:#fff!important;border-color:transparent!important;}
.score-btn.on-4{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important;border-color:transparent!important;}
.score-btn.on-5{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;border-color:transparent!important;}

/* 버튼 공통 */
.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.35);transition:all .18s ease;}
.btn-primary:hover{box-shadow:0 6px 20px rgba(37,99,235,.45);transform:translateY(-1px);}
.btn-primary:disabled{opacity:.4;box-shadow:none;transform:none;}

/* 등장 애니메이션 */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.fade-up{animation:fadeUp .3s ease both;}

@media print{
  .no-print{display:none!important}
  body{background:#fff}
  .app-bg{background:#fff}
  .page-break{page-break-before:always}
  .card{box-shadow:none;border:1px solid #cbd5e1}
}
