/*
 * さくら事務所 報告書DX — 建物状況調査プレビュー（法定様式HTMLモック）
 * バッチ2追加。beta/index.html（現場）・beta/hq.html（本部）・beta/karte.html（カルテ）
 * の3画面から共通で読み込む、全画面オーバーレイのプレビューUI。
 * 共有デザイントークン（tokens.css）に依存する。印刷・正式PDFは本番実装。
 */

.lpOverlay{
  position:fixed;inset:0;z-index:500;
  background:rgba(18,26,24,.58);
  display:none;align-items:center;justify-content:center;padding:16px;
}
.lpOverlay.on{display:flex}
.lpSheet{
  background:#EFECE2;width:100%;max-width:760px;max-height:94vh;
  border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 34px 76px rgba(0,0,0,.48);
}
.lpHead{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:16px 18px 13px;background:linear-gradient(135deg,var(--brand-deep),#0C5247);color:#fff;flex-shrink:0;
}
.lpTitle{font-family:var(--font-serif);font-weight:700;font-size:14.5px;letter-spacing:.02em}
.lpTitle .lpSub{display:block;font-family:var(--font-sans);font-size:10px;font-weight:600;color:#BFDDD5;margin-top:5px;letter-spacing:.01em;line-height:1.6}
.lpClose{appearance:none;border:0;background:rgba(255,255,255,.16);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}
.lpClose:hover{background:rgba(255,255,255,.26)}
.lpTabs{display:flex;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);flex-shrink:0;overflow-x:auto}
.lpTabs button{appearance:none;border:1.5px solid var(--line);background:#fff;border-radius:99px;font-family:inherit;font-size:11.5px;font-weight:700;color:var(--sub);padding:7px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.lpTabs button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep)}
.lpBody{flex:1;overflow-y:auto;padding:16px 16px 30px;scrollbar-width:thin}

.lpDoc{background:#fff;border-radius:14px;box-shadow:var(--shadow-card-sm);padding:20px 18px;margin-bottom:14px}
.lpDocTitle{font-family:var(--font-serif);font-size:14.5px;font-weight:700;color:var(--brand-deep);margin-bottom:4px;line-height:1.5}
/* バッチIV修正: 注記類のコントラストをAA（4.5:1以上）・11px以上へ引き上げ（#5E6B66=白地5.57:1） */
.lpDocSub{font-size:11px;color:#5E6B66;margin-bottom:14px;line-height:1.8}
.lpH5{font-family:var(--font-serif);font-size:12px;font-weight:700;color:var(--ink);margin:16px 0 7px;padding-top:2px;border-top:1px dashed var(--line)}
.lpH5:first-of-type{border-top:0;margin-top:0}

.lpKvGrid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;font-size:12px}
.lpKvGrid .kv{padding:7px 0;border-bottom:1px dashed var(--line)}
.lpKvGrid .kv .k{font-size:9.5px;color:#9AA49F;font-weight:700;letter-spacing:.04em;margin-bottom:2px}
.lpKvGrid .kv .v{font-size:12.5px;color:var(--ink);line-height:1.6}
/* バッチIV修正: 「未入力」プレースホルダも読めるコントラストへ（4.5:1以上） */
.lpEmpty{color:#5E6B66;font-weight:500}

.lpOverallTag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;padding:9px 16px;border-radius:99px}
.lpOverallTag.st-yes{background:var(--j1-soft);color:var(--j1-ink)}
.lpOverallTag.st-no{background:var(--brand-soft);color:var(--brand-deep)}
.lpOverallTag.st-na{background:var(--j5-soft);color:var(--j5-ink)}
.lpNote{font-size:11px;color:#5E6B66;line-height:1.8;margin-top:9px}
/* バッチIV追加: 総括の断定保留の警告（法定未分類の指摘がある場合） */
.lpWarn{background:#FBF1DF;border:1px solid #EAD9A8;border-radius:11px;padding:10px 13px;font-size:11px;color:#6B5A28;line-height:1.85;margin-top:10px}

/* バッチIV修正: 部位マトリクスを390px幅でも列見切れなく収める（min-width撤廃・列幅圧縮）。
 * 収まらない環境向けの保険として横スクロール自体は維持する。 */
.lpMatrixWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.lpMatrix{width:100%;min-width:0;border-collapse:collapse;font-size:10.5px;margin-top:2px}
table.lpMatrix th,table.lpMatrix td{border:1px solid var(--line);padding:6px 4px;text-align:center}
table.lpMatrix th{background:var(--brand-soft);color:var(--brand-deep);font-size:10px;font-weight:700;line-height:1.5}
table.lpMatrix td.part{text-align:left;font-weight:700;background:#FAF9F4;font-size:10.5px;padding:6px 6px;width:38%}
.lpChk{display:inline-flex;width:20px;height:20px;border-radius:5px;border:1.5px solid #DEDACC;align-items:center;justify-content:center;font-size:10px;color:transparent}
.lpChk.on{border-color:transparent;color:#fff;font-weight:800}
.lpChk.on.st-yes{background:var(--j1)}
.lpChk.on.st-no{background:var(--brand)}
.lpChk.on.st-na{background:var(--j5)}

.lpPartCard{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:9px;background:#FDFCF9}
.lpPartCard .hd{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lpPartCard .hd b{font-size:12.5px}
.lpFindingRow{background:#F4F2E9;border-radius:9px;padding:9px 11px;margin-top:7px;font-size:11.5px;line-height:1.75}
.lpFindingRow .bj{margin-right:6px}
.lpFindingRow.muted{color:var(--sub);background:#F7F6F1}

/* バッチIV修正: 免責文のコントラスト・サイズを引き上げ（#66582A=地色6.54:1・11px） */
.lpDisclaimerBox{background:#FBF7EA;border:1px solid #E8DFC6;border-radius:11px;padding:11px 13px;font-size:11px;color:#66582A;line-height:1.85;margin-top:14px}

.lpNoticeSection{margin-bottom:16px}
.lpNoticeSection h5{font-family:var(--font-serif);font-size:12.5px;margin-bottom:7px;color:var(--brand-deep)}
.lpNoticeSection p{font-size:11.5px;line-height:2;color:var(--ink);white-space:pre-line}

.lpLaunchBtn{
  width:100%;appearance:none;border:1.5px solid var(--brand);background:#fff;color:var(--brand-deep);
  font-weight:700;font-size:13px;padding:12px;border-radius:13px;cursor:pointer;font-family:inherit;
  display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;
}
.lpLaunchBtn:hover{background:var(--brand-soft)}

@media(min-width:900px){
  .lpSheet{max-width:820px}
  .lpKvGrid{grid-template-columns:1fr 1fr 1fr}
}
