/* cxfin-report.css — 財務診断ツール デザイン④（公的レポート調） */
/* cxfin- 接頭辞でスコープ。外部ライブラリ非依存。 */

.cxfin-wrap{max-width:560px;margin:0 auto;font-family:'Noto Sans JP',sans-serif;color:#1C1917;}
.cxfin-lock{font-size:11px;color:#57534E;border:1px solid #D6CFC4;border-radius:2px;padding:8px 12px;background:rgba(43,76,138,.05);margin-bottom:16px;}
.cxfin-h{font-family:'Libre Baskerville',serif;font-size:19px;color:#1A365D;margin:6px 0;}
.cxfin-lead{font-size:13px;color:#57534E;margin-bottom:16px;}
.cxfin-btn{display:block;width:100%;background:#2B4C8A;color:#fff;border:none;border-radius:2px;
  padding:14px;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;margin-bottom:10px;}
.cxfin-btn:hover{background:#1A365D;}
.cxfin-btn-ghost{display:block;width:100%;background:none;border:none;color:#57534E;font-size:12px;cursor:pointer;margin-top:4px;}
.cxfin-field{margin-bottom:12px;}
.cxfin-label{display:block;font-size:12px;color:#57534E;margin-bottom:4px;}
.cxfin-input,.cxfin-select{width:100%;padding:10px;border:1px solid #D6CFC4;border-radius:2px;font-size:15px;background:#fff;box-sizing:border-box;}
.cxfin-sec{font-size:12px;font-weight:700;color:#1A365D;border-bottom:1px solid #D6CFC4;padding-bottom:4px;margin:18px 0 10px;}

/* ── レポート（デザイン④ 公的レポート調） ── */
.cxfin-band{background:#1A365D;color:#fff;padding:22px 26px;}
.cxfin-band .cxfin-doc{font-size:10px;letter-spacing:.14em;opacity:.7;}
.cxfin-band h3{font-family:'Libre Baskerville',serif;font-size:19px;font-weight:700;margin-top:4px;margin-bottom:0;color:#fff !important;}
.cxfin-band,.cxfin-band .cxfin-doc,.cxfin-band .cxfin-row,.cxfin-band .cxfin-row span{color:#fff !important;}
.cxfin-band .cxfin-row{display:flex;justify-content:space-between;font-size:11px;opacity:.85;margin-top:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:8px;}
.cxfin-body{padding:24px 26px 28px;background:#fff;}
.cxfin-seal{float:right;width:78px;height:78px;border:2px double #2B4C8A;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1A365D;margin-left:14px;}
.cxfin-seal b{font-family:'Libre Baskerville',serif;font-size:30px;line-height:1;}
.cxfin-seal span{font-size:8.5px;letter-spacing:.1em;margin-top:2px;}
.cxfin-total .cxfin-lbl{font-size:11px;color:#57534E;}
.cxfin-total .cxfin-num{font-family:'Libre Baskerville',serif;font-size:50px;color:#1A365D;font-weight:700;line-height:1.1;}
.cxfin-total .cxfin-num small{font-size:16px;color:#57534E;}
.cxfin-total .cxfin-scale{font-size:11px;color:#8a8f98;margin-top:4px;}
.cxfin-h4{font-size:12px;font-weight:700;color:#1A365D;border-bottom:2px solid #1A365D;padding-bottom:5px;margin:24px 0 12px;}
.cxfin-axis{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.cxfin-axis .cxfin-nm{width:54px;font-size:12px;}
.cxfin-axis .cxfin-track{flex:1;height:14px;background:#eef0f3;border:1px solid #d9dde3;}
.cxfin-axis .cxfin-track i{display:block;height:100%;background:#2B4C8A;}
.cxfin-axis .cxfin-vv{width:60px;text-align:right;font-size:13px;font-weight:700;font-family:'Libre Baskerville',serif;color:#1A365D;}
.cxfin-axis-comment{font-size:12px;color:#57534E;margin:-4px 0 12px 66px;}
.cxfin-table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid #d9dde3;}
.cxfin-table th,.cxfin-table td{padding:8px 9px;text-align:right;border:1px solid #e4e7ec;}
.cxfin-table th:first-child,.cxfin-table td:first-child{text-align:left;}
.cxfin-table thead th{background:#eef1f6;color:#1A365D;font-weight:700;font-size:11px;}
.cxfin-up{color:#1f7a45;font-weight:700;}
.cxfin-dn{color:#b03a36;font-weight:700;}
.cxfin-eq{color:#8a8f98;}
.cxfin-advice{background:#f5f3ee;border:1px solid #e3ddd0;padding:14px 16px;margin-top:8px;}
.cxfin-advice li{font-size:12.5px;margin:0 0 8px 18px;}
.cxfin-disc{font-size:10px;color:#9aa0a8;margin-top:18px;border-top:1px solid #e4e7ec;padding-top:10px;}
.cxfin-clearfix::after{content:'';display:table;clear:both;}

/* テーブルのはみ出し防止（スマホ） */
.cxfin-table-wrap{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* プラン選択：推奨バッジ・サブ（簡易版）ボタン */
.cxfin-btn-sub{display:block;width:100%;background:#fff;color:#2B4C8A;border:1px solid #2B4C8A;border-radius:2px;
  padding:14px;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;margin-bottom:10px;}
.cxfin-btn-sub:hover{background:#eef1f6;}
.cxfin-reco{display:inline-block;margin-left:8px;font-size:11px;font-weight:700;background:#e8b923;color:#241c08;border-radius:2px;padding:1px 8px;vertical-align:middle;}

/* 入口画面の特徴ストリップ（3つの強みを分かりやすく） */
.cxfin-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 22px;}
.cxfin-feat{background:#fff;border:1px solid #D6CFC4;border-top:3px solid #2B4C8A;border-radius:3px;
  padding:16px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;}
.cxfin-feat-ic{width:48px;height:48px;display:block;object-fit:contain;}
.cxfin-feat b{font-size:13px;color:#1A365D;}
.cxfin-feat span{font-size:11px;color:#57534E;line-height:1.6;}
.cxfin-plan-lead{font-weight:700;color:#1C1917;}
@media(max-width:600px){
  .cxfin-feats{grid-template-columns:1fr;gap:8px;}
  .cxfin-feat{flex-direction:row;text-align:left;gap:12px;justify-content:flex-start;border-top:1px solid #D6CFC4;border-left:3px solid #2B4C8A;}
  .cxfin-feat-ic{width:40px;height:40px;flex-shrink:0;}
}

/* プラン選択画面のサンプルレポート（意欲喚起・非操作） */
.cxfin-sample{margin-top:26px;padding-top:18px;border-top:1px dashed #D6CFC4;}
.cxfin-sample-tag{font-size:12px;font-weight:700;color:#2B4C8A;margin-bottom:10px;text-align:center;}
.cxfin-sample-card{border:1px solid #D6CFC4;border-radius:2px;overflow:hidden;position:relative;
  opacity:.96;pointer-events:none;box-shadow:0 2px 10px rgba(26,54,93,.06);}
.cxfin-sample-card::after{content:'SAMPLE';position:absolute;top:10px;right:-30px;transform:rotate(45deg);
  background:#e8b923;color:#241c08;font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 36px;}
.cxfin-sample-ai{font-size:11.5px;color:#2B4C8A;font-weight:600;margin-top:12px;background:#eef1f6;border-radius:3px;padding:9px 12px;}

/* AI分析プロンプト欄 */
.cxfin-ai{margin-top:8px;}
.cxfin-ai-lead{font-size:12.5px;color:#57534E;margin-bottom:8px;}
.cxfin-ai-prompt{width:100%;box-sizing:border-box;font-family:'Noto Sans JP',sans-serif;font-size:12px;
  color:#1C1917;border:1px solid #D6CFC4;border-radius:2px;padding:10px;background:#fbfaf7;resize:vertical;line-height:1.6;}
.cxfin-copy{margin-top:8px;}
.cxfin-ai-note{font-size:11px;color:#b03a36;background:#fdeceb;border:1px solid #f3c9c6;border-radius:2px;padding:8px 10px;margin-top:8px;}
.cxfin-print{margin-top:14px;}
.cxfin-print-hint{font-size:11px;color:#8a8f98;line-height:1.7;margin:8px 2px 0;text-align:center;}

@media(max-width:600px){
  .cxfin-band,.cxfin-body{padding-left:16px;padding-right:16px;}
  .cxfin-total .cxfin-num{font-size:40px;}
  .cxfin-seal{width:66px;height:66px;}
  .cxfin-seal b{font-size:26px;}
}

/* 印刷・PDF保存：操作系UI＆WPページ装飾を隠し、レポート本体を全幅・色付き・改ページ保護で出す */
@media print{
  /* WPテーマのヘッダー・メニュー・パンくず・フッター・管理バーを非表示 */
  .site-header,.site-footer,.breadcrumb,.gnav,.nav-toggle,#wpadminbar,header.site-header,footer{display:none !important;}
  /* ツールの操作系UI・サンプルを非表示 */
  .cxfin-lock,.cxfin-btn,.cxfin-btn-sub,.cxfin-btn-ghost,.cxfin-print,.cxfin-print-hint,.cxfin-copy,.cxfin-ai,.cxfin-sample,.cxfin-sample-tag{display:none !important;}
  html,body{background:#fff !important;margin:0 !important;padding:0 !important;}
  /* レポートを全幅に */
  .cxfin-wrap{max-width:100% !important;width:100% !important;margin:0 !important;}
  .cxfin-body{padding:14px 4px !important;}
  .cxfin-table-wrap{overflow:visible !important;}
  /* 背景色・バー色を印刷に反映 */
  .cxfin-wrap,.cxfin-wrap *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;color-adjust:exact !important;}
  /* 改ページで要素が割れないように */
  .cxfin-band,.cxfin-total,.cxfin-axis,.cxfin-axis-comment,.cxfin-table,.cxfin-table tr,.cxfin-advice,.cxfin-seal,.cxfin-h4,.cxfin-disc{page-break-inside:avoid;break-inside:avoid;}
}

/* Input meaning and local validation; no theme-wide selectors. */
.cxfin-unit,.cxfin-scope{font-size:13px;line-height:1.7;color:#57534E;margin:8px 0 16px;}
.cxfin-scope{padding:12px;border-left:3px solid #2B4C8A;background:#eef1f6;}
.cxfin-error{font-size:13px;line-height:1.6;color:#9a2626;margin:5px 0;}
.cxfin-error[hidden],.cxfin-errors[hidden]{display:none;}
.cxfin-errors{border:1px solid #9a2626;background:#fff6f6;padding:12px;margin:16px 0;color:#6d1d1d;font-size:13px;line-height:1.7;}
.cxfin-errors p{margin:0;}
.cxfin-errors:focus{outline:3px solid #2B4C8A;outline-offset:3px;}
.cxfin-input[aria-invalid="true"]{border-color:#9a2626;}
.cxfin-input:focus-visible,.cxfin-select:focus-visible{outline:3px solid #2B4C8A;outline-offset:2px;}
