/* ============================================================
   무료 진단 리포트 (diagnosis.html) 전용 스타일
   - 화면용: .dg-*   /   인쇄(PDF)용 리포트: #dgReport 아래로만 적용
   - 이 파일은 diagnosis.html 에서만 불러옵니다 (@page 규칙이 다른 페이지 인쇄에 영향 주지 않도록)
   ============================================================ */

/* ---------- 화면 ---------- */
.dg-grid{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start;}
.dg-card{
  background:#fff; border:1px solid var(--paper-line); border-radius:6px;
  box-shadow:0 24px 60px -34px rgba(0,33,70,.25); margin-bottom:20px; overflow:hidden;
}
.dg-head{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:16px 26px; border-bottom:1.5px dashed var(--paper-line);
  background:linear-gradient(180deg, #fff, #fbfaf6);
}
.dg-head .ch-title{font-size:15px; font-weight:700; color:var(--navy);}
.dg-head .ch-id{font-family:var(--mono); font-size:12.5px; color:var(--green-dark); font-weight:600; white-space:nowrap;}
.dg-body{padding:4px 26px 12px;}

.dg-info{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; padding:24px 26px 6px;}
.dg-field{min-width:0;}
.dg-field label{display:block; font-size:13px; font-weight:600; color:var(--muted); margin-bottom:6px;}
.dg-field input, .dg-comp input, .dg-item select{
  width:100%; font-family:var(--sans); font-size:15px; color:var(--ink); background:#fff;
  padding:10px 12px; border:1px solid var(--paper-line); border-radius:4px;
}
.dg-field input:focus, .dg-comp input:focus, .dg-item select:focus{outline:none; border-color:var(--green);}
.dg-hint{font-size:12.5px; color:var(--muted); line-height:1.7; padding:10px 26px 22px;}

.dg-item{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; border-top:1px solid #f0efe8;}
.dg-item:first-child{border-top:none;}
.dg-q{font-size:14.5px; line-height:1.55; color:var(--ink); min-width:0;}
.dg-q small{display:block; font-size:12.5px; color:var(--muted); margin-top:2px;}
.dg-item select{width:auto; max-width:200px; flex:none; font-size:14px; padding:9px 10px;}
.dg-tog{display:flex; gap:6px; flex:none;}
.dg-tog button{
  font-family:var(--sans); font-size:13px; font-weight:700; padding:8px 14px;
  border:1px solid var(--paper-line); background:#fff; color:var(--muted); border-radius:4px; cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.dg-tog button:hover{border-color:var(--navy); color:var(--navy);}
.dg-tog button.on.y{background:var(--green); border-color:var(--green); color:#fff;}
.dg-tog button.on.n{background:#c8382c; border-color:#c8382c; color:#fff;}

.dg-scroll{overflow-x:auto; padding:6px 20px 16px;}
.dg-comp{width:100%; min-width:460px; border-collapse:collapse;}
.dg-comp th, .dg-comp td{padding:8px 6px; border-bottom:1px solid #f0efe8; text-align:center; font-size:13px;}
.dg-comp th{font-weight:600; color:var(--muted);}
.dg-comp td:first-child{text-align:left; font-weight:600; white-space:nowrap; color:var(--ink);}
.dg-comp input{font-size:14px; padding:7px 6px; text-align:center;}

.dg-side{position:sticky; top:96px;}
.dg-score{background:var(--navy); color:#fff; border-radius:6px; padding:28px 26px; text-align:center; position:relative; overflow:hidden;}
.dg-score::before{
  content:""; position:absolute; top:0; right:0; width:160px; height:160px;
  background:radial-gradient(circle at top right, rgba(11,149,57,.35), transparent 70%); pointer-events:none;
}
.dg-score > *{position:relative; z-index:1;}
.dg-score .lbl{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--muted-on-navy);}
.dg-score .num{font-family:var(--mono); font-size:58px; font-weight:600; line-height:1; margin:10px 0 2px; font-variant-numeric:tabular-nums;}
.dg-score .num small{font-size:20px; color:var(--muted-on-navy);}
.dg-grade{display:inline-block; margin-top:12px; padding:5px 14px; border-radius:20px; font-weight:800; font-size:14px; background:rgba(255,255,255,.14); color:#cfe0f2;}
.dg-bars{margin-top:22px; text-align:left;}
.dg-bars .r{display:flex; justify-content:space-between; margin-top:12px; font-size:12.5px; color:#cfe0f2;}
.dg-bars .r span:last-child{font-family:var(--mono); font-variant-numeric:tabular-nums;}
.dg-bars .t{height:7px; background:#1c3a5f; border-radius:4px; margin-top:6px; overflow:hidden;}
.dg-bars .t i{display:block; height:100%; background:#8fe3a8; border-radius:4px; transition:width .3s ease;}

.dg-rx{background:#fff; border:1px solid var(--paper-line); border-radius:6px; padding:20px 22px; margin-top:16px; box-shadow:0 24px 60px -34px rgba(0,33,70,.25);}
.dg-rx h3{font-family:var(--sans); font-size:14px; font-weight:700; color:var(--navy); margin-bottom:10px; letter-spacing:0;}
.dg-rx ol{padding-left:20px; font-size:13.5px; line-height:1.7; color:var(--ink);}
.dg-rx li{margin-bottom:8px;}
.dg-rx li.empty{color:var(--muted); list-style:none; margin-left:-20px;}

.dg-actions{display:grid; gap:10px; margin-top:16px;}
.dg-btn{
  font-family:var(--sans); font-size:15px; font-weight:700; padding:13px; border-radius:4px;
  border:1px solid var(--green); cursor:pointer; width:100%; transition:background .2s ease;
}
.dg-btn.primary{background:var(--green); color:#fff;}
.dg-btn.primary:hover{background:var(--green-dark); border-color:var(--green-dark);}
.dg-btn.ghost{background:#fff; color:var(--green-dark);}
.dg-btn.ghost:hover{background:var(--green-tint);}
.dg-link{font-family:var(--sans); font-size:13px; color:var(--muted); background:none; border:none; cursor:pointer; text-decoration:underline; padding:6px;}
.dg-link:hover{color:var(--navy);}

@media (max-width: 960px){
  .dg-grid{grid-template-columns:minmax(0,1fr);}
  .dg-side{position:static;}
}
@media (max-width: 880px){
  /* iOS Safari zooms the page when a focused field is under 16px */
  .dg-field input, .dg-comp input, .dg-item select{font-size:16px;}
}
@media (max-width: 640px){
  .dg-head{padding-left:20px; padding-right:20px;}
  .dg-info{grid-template-columns:minmax(0,1fr); padding-left:20px; padding-right:20px;}
  .dg-body{padding:2px 20px 10px;}
  .dg-hint{padding:8px 20px 18px;}
  .dg-item{flex-direction:column; align-items:flex-start; gap:10px;}
  .dg-item select{max-width:none; width:100%;}
  .dg-score{padding:24px 20px;}
}

/* ---------- 인쇄용 리포트 (A4 2쪽) ---------- */
#dgReport{display:none;}
@page{size:A4; margin:0;}
@media print{
  html, body{background:#fff !important;}
  body > *:not(#dgReport){display:none !important;}
  #dgReport{display:block;}
  #dgReport, #dgReport *{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
#dgReport{font-family:var(--sans); color:var(--ink); line-height:normal; word-break:keep-all;}
#dgReport h1, #dgReport h2{font-family:inherit; letter-spacing:normal;}
#dgReport .rp{width:210mm; height:297mm; padding:16mm 16mm 14mm; position:relative; background:#fff; overflow:hidden; page-break-after:always;}
#dgReport .rp:last-child{page-break-after:auto;}
#dgReport .rp-top{display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid var(--navy); padding-bottom:5mm;}
#dgReport .brand{display:flex; align-items:center; gap:3mm;}
#dgReport .brand .chip{width:12mm; height:12mm; border-radius:3mm; background:var(--navy); display:flex; align-items:center; justify-content:center;}
#dgReport .brand .chip img{width:11mm; display:block;}
#dgReport .brand b{display:block; font-size:15pt; color:var(--navy); line-height:1.1;}
#dgReport .brand small{font-size:7.5pt; letter-spacing:.2em; color:var(--green); font-weight:700;}
#dgReport .rp-top .meta{text-align:right; font-size:9.5pt; color:var(--muted); line-height:1.6;}
#dgReport .rp-title{margin:7mm 0 5mm;}
#dgReport .rp-title .k{font-size:10pt; color:var(--green); font-weight:800; letter-spacing:.15em;}
#dgReport .rp-title h1{font-size:22pt; color:var(--navy); margin-top:1mm;}
#dgReport .rp-hero{display:grid; grid-template-columns:58mm 1fr; gap:6mm; margin-bottom:6mm;}
#dgReport .rp-score{background:var(--navy); color:#fff; border-radius:4mm; padding:6mm; text-align:center;}
#dgReport .rp-score .n{font-size:40pt; font-weight:800; line-height:1.05;}
#dgReport .rp-score .n small{font-size:13pt; color:#9fb0c7;}
#dgReport .rp-score .g{display:inline-block; margin-top:2mm; padding:1mm 4mm; border-radius:6mm; font-weight:800; font-size:11pt;}
#dgReport .rp-score p{font-size:9pt; color:#b9c6d8; margin-top:3mm; line-height:1.5;}
#dgReport .rp-areas{border:1px solid var(--paper-line); border-radius:4mm; padding:4mm 6mm;}
#dgReport .rp-areas .r{display:grid; grid-template-columns:32mm 1fr 16mm; align-items:center; gap:3mm; font-size:10pt; padding:1.8mm 0;}
#dgReport .rp-areas .t{height:3mm; background:#eeeae0; border-radius:2mm; overflow:hidden;}
#dgReport .rp-areas .t i{display:block; height:100%; border-radius:2mm;}
#dgReport .rp-areas .v{text-align:right; font-weight:700; color:var(--navy);}
#dgReport .rp h2{font-size:13pt; color:var(--navy); margin:6mm 0 3mm; display:flex; align-items:center; gap:2mm;}
#dgReport .rp h2:before{content:'+'; color:var(--green); font-weight:800;}
#dgReport .rp-rx{display:grid; gap:3mm;}
#dgReport .rp-rx div{display:grid; grid-template-columns:9mm 1fr; gap:3mm; background:var(--paper); border-radius:3mm; padding:3.5mm 4mm; font-size:10pt; line-height:1.6;}
#dgReport .rp-rx b{display:block; color:var(--navy); font-size:10.5pt;}
#dgReport .rp-rx .no{width:8mm; height:8mm; border-radius:50%; background:var(--green); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center;}
#dgReport table{width:100%; border-collapse:collapse; font-size:9.5pt;}
#dgReport th, #dgReport td{border-bottom:1px solid var(--paper-line); padding:2.2mm 2mm; text-align:center;}
#dgReport th{background:var(--paper); color:var(--muted); font-weight:600;}
#dgReport td:first-child, #dgReport th:first-child{text-align:left;}
#dgReport .bad{color:#c8382c; font-weight:700;}
#dgReport .ok{color:var(--green-dark); font-weight:700;}
#dgReport .rp-cta{position:absolute; left:16mm; right:16mm; bottom:12mm; background:var(--navy); color:#fff; border-radius:4mm; padding:5mm 6mm; display:flex; justify-content:space-between; align-items:center; gap:4mm;}
#dgReport .rp-cta .l{font-size:11pt; line-height:1.6;}
#dgReport .rp-cta .l b{color:#8fe3a8;}
#dgReport .rp-cta .r{text-align:right; font-size:9.5pt; line-height:1.6; color:#cfe0f2;}
#dgReport .rp-cta .r strong{font-size:15pt; color:#fff;}
#dgReport .rp-detail{display:grid; grid-template-columns:1fr 1fr; gap:1mm 6mm; font-size:9pt; line-height:1.55;}
#dgReport .rp-detail span{display:flex; justify-content:space-between; border-bottom:1px dotted #e6e1d3; padding:1mm 0; font-size:10pt;}
#dgReport .rp-detail em{font-style:normal; font-weight:700;}
#dgReport .next{display:grid; grid-template-columns:repeat(3,1fr); gap:3mm;}
#dgReport .next div{background:var(--paper); border-radius:3mm; padding:4mm; font-size:9.5pt; line-height:1.6;}
#dgReport .next b{display:block; color:var(--green-dark); font-size:9pt; letter-spacing:.06em;}
#dgReport .next strong{display:block; color:var(--navy); font-size:11pt; margin-bottom:1mm;}
