/* 経営レポート専用。既存6タブのCSSへ影響を与えない。 */
.lf-report-page { max-width: 1500px; margin: 0 auto; }
.lf-report-heading { gap:16px; }
.lf-report-actions { display:flex; flex-wrap:wrap; gap:8px; }
.lf-report-control { display:flex; align-items:end; gap:14px; padding:14px 18px; flex-wrap:wrap; margin:14px 0; background:white; border:1px solid #e5e7eb; border-radius:14px; }
.lf-report-tabs { display:flex; gap:4px; padding:4px; border-radius:9px; background:#f2f4f7; }
.lf-report-tabs button { padding:8px 16px; border:0; background:transparent; border-radius:7px; font-weight:700; color:#475569; }
.lf-report-tabs button.active { background:white; color:#132f54; box-shadow:0 1px 5px #0001; }
.lf-report-filter { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:700; color:#475569; }
.lf-report-filter input,.lf-report-filter select { padding:8px 9px; border:1px solid #ccd5df; border-radius:8px; background:white; min-width:140px; color:#172338; }
.lf-report-status { margin:14px 0; padding:10px 14px; background:#eaf3ff; border:1px solid #bfdafa; border-radius:10px; color:#1e487d; font-size:13px; font-weight:700; }
.lf-report-output { min-height:180px; }
.lf-report-paper { display:grid; gap:17px; }
.lf-report-paper-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.lf-report-paper-head h2 { margin:0; font-size:22px; }
.lf-report-paper-head > span { font-size:12px; background:#eef2f7; border-radius:100px; padding:7px 12px; font-weight:700; color:#42546b; }
.lf-report-coverage { background:#fffbeb; border:1px solid #f4df9e; padding:10px 14px; border-radius:9px; margin:0; font-size:13px; }
.lf-report-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.lf-report-kpi { display:flex; flex-direction:column; justify-content:space-between; gap:10px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:15px; min-height:100px; }
.lf-report-kpi span { color:#596a80; font-size:12px; font-weight:700; }
.lf-report-kpi strong { font-size:clamp(16px,1.5vw,23px); letter-spacing:-.025em; white-space:nowrap; color:#1d2b3b; font-variant-numeric:tabular-nums; }
.lf-report-kpi.highlight { background:#eef6ff; border-color:#adcfef; }
.lf-report-main-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.lf-report-panel { border:1px solid #e2e8f0; background:white; border-radius:12px; padding:19px; min-width:0; break-inside:avoid; }
.lf-report-panel h3 { font-size:16px; margin:0 0 18px; }
.lf-report-pie-layout { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.lf-report-pie { width:210px; height:210px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; }
.lf-report-pie > div { width:120px; height:120px; display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; border-radius:50%; background:#fff; font-size:13px; text-align:center; }
.lf-report-pie b { font-size:15px; }
.lf-report-legend { flex:1; min-width:180px; display:grid; gap:10px; }
.lf-report-legend > div { display:grid; grid-template-columns:12px minmax(90px,1fr) auto 50px; align-items:center; gap:6px; font-size:12px; }
.lf-report-legend strong { text-align:right; white-space:nowrap; }
.lf-report-legend small { text-align:right; color:#64748b; white-space:nowrap; }
.lf-report-key { width:10px; height:10px; border-radius:2px; display:inline-block; flex:none; }
.lf-report-table-wrap { overflow-x:auto; }
.lf-report-table { width:100%; border-collapse:collapse; font-size:12px; }
.lf-report-table th,.lf-report-table td { border-bottom:1px solid #e4eaf0; padding:10px 8px; white-space:nowrap; text-align:right; font-variant-numeric:tabular-nums; }
.lf-report-table th:first-child,.lf-report-table td:first-child { text-align:left; }
.lf-report-table th { background:#f3f6fa; font-weight:700; }
.lf-report-table tbody tr:last-child td { border-bottom:0; }
.lf-report-emphasis { font-weight:800; background:#f1f7ff; }
.lf-report-no-data { color:#8792a1; font-size:12px; }
.lf-report-note,.lf-report-ai-note,.lf-report-footnote { color:#64748b; font-size:12px; }
.lf-report-ai-note { margin:0; padding:0 6px; }
.lf-report-comment ul { margin:0; padding-left:21px; line-height:1.8; }
.lf-report-comment li { margin:6px 0; }
.lf-report-empty { border:1px dashed #cbd5e1; border-radius:12px; padding:20px; background:#fbfcfd; color:#536273; }
.lf-report-empty p { margin:8px 0 0; font-size:13px; }
.lf-report-bars { display:grid; gap:9px; }
.lf-report-bars-head { display:flex; align-items:center; gap:7px; font-size:12px; color:#64748b; justify-content:flex-end; }
.lf-report-bars-row { display:grid; grid-template-columns:85px minmax(140px,1fr) minmax(145px,auto); gap:12px; align-items:center; font-size:12px; }
.lf-report-bars-row > b { font-weight:600; white-space:nowrap; }
.lf-report-bars-row > span:last-child { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.lf-report-bar-pair { display:flex; flex-direction:column; gap:3px; }
.lf-report-bar { min-height:7px; border-radius:0 5px 5px 0; }
.lf-report-bar-billing { background:#3478bd; }
.lf-report-bar-profit { background:#299477; }
.lf-report-negative { background:#c9454a; }
@media(max-width:850px){.lf-report-main-grid{grid-template-columns:1fr}.lf-report-bars-row{grid-template-columns:76px minmax(70px,1fr);}.lf-report-bars-row>span:last-child{grid-column:2; text-align:left;}.lf-report-pie{width:175px;height:175px}.lf-report-pie>div{width:105px;height:105px}}
@page {size:A4 landscape; margin:10mm;}
@media print {
  body.lf-report-print { background:#fff!important; color:#111!important; }
  body.lf-report-print .sidebar, body.lf-report-print .lf-report-heading, body.lf-report-print .lf-report-control, body.lf-report-print .lf-report-status, body.lf-report-print .lf-report-footnote,
  body.lf-report-print .content > section:not(#managementReportPage), body.lf-report-print .lf-report-ai-note { display:none!important; }
  body.lf-report-print .layout,body.lf-report-print .content { display:block!important; width:100%!important; max-width:none!important; min-width:0!important; padding:0!important; margin:0!important; }
  body.lf-report-print #managementReportPage { display:block!important; max-width:none!important; margin:0!important; }
  body.lf-report-print .lf-report-paper-head h2 {font-size:17pt;}
  body.lf-report-print .lf-report-kpis {grid-template-columns:repeat(4,1fr); gap:5px;}
  body.lf-report-print .lf-report-kpi {min-height:50px; padding:7px;}
  body.lf-report-print .lf-report-kpi strong {font-size:11pt;}
  body.lf-report-print .lf-report-kpi span {font-size:8pt;}
  body.lf-report-print .lf-report-panel {padding:12px;break-inside:avoid;}
  body.lf-report-print .lf-report-pie {width:145px;height:145px;print-color-adjust:exact;-webkit-print-color-adjust:exact;}
  body.lf-report-print .lf-report-pie > div {width:90px;height:90px;}
  body.lf-report-print .lf-report-bar,body.lf-report-print .lf-report-key {print-color-adjust:exact;-webkit-print-color-adjust:exact;}
  body.lf-report-print .lf-report-legend {gap:5px;}
  body.lf-report-print .lf-report-paper {gap:9px;}
  body.lf-report-print .lf-report-table th,body.lf-report-print .lf-report-table td {padding:5px 4px;font-size:8pt;}
  body.lf-report-print .lf-report-comment {break-inside:avoid;}
}
