/* ============================================================
   report.css — レポート画面・プレビュー・印刷
   レポート：画面 / プレビュー / 印刷 の責務分離
   ------------------------------------------------------------
   1) SCREEN   … アプリ内の日別一覧（#rp-screen-list）
   2) PREVIEW  … 画面上の印刷プレビュー（#rp-print-pages @media screen）
   3) PRINT    … 実印刷（#rp-print-pages @media print）
   4) SHARED   … プレビューと印刷が共有する紙面構造（.rp-page など）
   PDF は js/pdf.js が canvas で独自描画（この CSS は使わない）
   ============================================================ */

/* ---------- 0. 共通トグル・表示切替 ---------- */
#reportPages{display:block}
#rp-print-pages{display:none} /* 通常は画面一覧のみ。プレビュー／印刷で表示 */

/* 印刷では絶対に出さない UI（タブ・操作部品など） */
.no-print{/* マーカー。実印刷ルールは @media print で一括非表示 */}

/* 印刷プレビュー切替ボタン：画面右上固定（印刷対象外） */
.rp-floating-toggle{
 position:fixed;top:calc(env(safe-area-inset-top, 0px) + 8px);right:12px;z-index:1000;
 display:none;border:1px solid var(--border);border-radius:10px;
 background:var(--card-bg);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;
 padding:9px 12px;min-height:40px;white-space:nowrap;cursor:pointer;
 box-shadow:0 2px 8px rgba(0,0,0,.28);max-width:calc(100vw - 24px)
}
.rp-floating-toggle.is-visible{display:block}

/* プレビューモード：一覧を隠し、印刷用ページを画面に出す */
#reportTab.rp-preview-mode #rp-screen-list{display:none}
#reportTab.rp-preview-mode #rp-print-pages{display:block}

/* ============================================================
   1) SCREEN — アプリ内 日別一覧
   ============================================================ */
.rp-screen-page{width:100%;max-width:800px;margin:0 auto;box-sizing:border-box}
.rp-screen-table{font-size:.88rem}
.rp-screen-table th,.rp-screen-table td{height:34px;padding:3px 1px;line-height:1.1;box-sizing:border-box}
.rp-screen-table th{font-size:.75rem}
.rp-screen-table td{font-variant-numeric:tabular-nums}
.rp-screen-table .rp-day,.rp-screen-table .rp-weekday{font-weight:600}
.rp-screen-table thead tr:first-child th{position:sticky;top:env(safe-area-inset-top,0px);z-index:3}
.rp-screen-table thead tr:nth-child(2) th{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--rp-h1,26px) - 1px);z-index:2}
.rp-screen-table th.am,.rp-screen-table th.pm{color:var(--sheet-text)}
#reportTab .rp-screen-table th.am{background:var(--rp-am-head)}
#reportTab .rp-screen-table th.pm{background:var(--rp-pm-head)}
/* 罫線・土日色（画面一覧専用。下の SHARED .rp-table に負けないよう #reportTab を付ける） */
#reportTab .rp-screen-table th,#reportTab .rp-screen-table td{border-color:var(--rp-grid)}
#reportTab .rp-screen-table .sep-day{border-left:3px solid var(--sep-line)}
#reportTab .rp-screen-table .sep-ap{border-left:4px solid var(--sep-line)}
#reportTab .rp-screen-table td.rp-sat{background:var(--rp-sat-bg);color:var(--sat);font-weight:700}
#reportTab .rp-screen-table td.rp-sun{background:var(--rp-sun-bg);color:var(--sun);font-weight:700}

/* ============================================================
   4) SHARED — プレビューと印刷が共有する紙面構造
   （見た目の数値は PREVIEW / PRINT で上書きする）
   ============================================================ */
.rp-page{width:100%;max-width:800px;box-sizing:border-box;background:var(--sheet-bg);color:var(--sheet-text);border:1px solid var(--border);border-radius:14px;padding:14px 10px}
.rp-head{margin-bottom:10px}
.rp-period{width:max-content;max-width:100%;box-sizing:border-box;margin:0 auto;border:2px solid var(--sheet-text);padding:6px 22px;text-align:center;line-height:1.35}
.rp-period small{display:block;font-size:.75rem}
.rp-period b{display:block;font-size:1.1rem}
.rp-period span{font-size:.8rem}
.rp-printed{text-align:right;font-size:.75rem;color:var(--sub);margin-top:4px}
.rp-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem}
.rp-table th,.rp-table td{border:1px solid var(--table-line);padding:3px 1px;text-align:center;height:28px}
.rp-table th{background:var(--th-bg);font-weight:bold;font-size:.8rem}
.rp-table th.am{background:var(--am-bg)}
.rp-table th.pm{background:var(--pm-bg)}
.rp-table .sep{border-left:2px solid var(--sep-line)}
.rp-table td.memo-cell{text-align:left;padding:2px 4px;font-size:.75rem;line-height:1.2;white-space:pre-line;overflow-wrap:anywhere}
.rp-note{margin:6px 0 0;font-size:.75rem;color:var(--sub)}
.rp-sum{border:2px solid var(--sheet-text);margin-top:12px;padding:8px 10px}
.rp-sum-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:2px solid var(--sheet-text);padding-bottom:4px;font-size:.8rem}
.rp-sum-h b{font-size:.95rem}
.rp-sumt{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:4px}
.rp-sumt th{font-size:.75rem;color:var(--sub);font-weight:normal;text-align:center;padding:2px}
.rp-sumt tbody th{color:var(--sheet-text);font-weight:bold;font-size:.9rem;width:12%}
.rp-sumt td{text-align:center;padding:4px 2px;line-height:1.2}
.rp-sumt td b{display:block;font-size:1.05rem}
.rp-sumt td small{display:block;font-size:.7rem;color:var(--sub)}
.rp-doc{border:2px solid var(--sheet-text);margin-top:12px;padding:8px 10px;min-height:60px}
.rp-doc.big{display:flex;flex-direction:column}
.rp-doc b{display:block;font-size:.9rem;margin-bottom:4px}
.rp-doc i{display:block;border-bottom:1px solid #bbb;flex:1;min-height:16px}
.rp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:.7rem;color:var(--sub)}

/* ============================================================
   2) PREVIEW — 画面上の印刷プレビュー専用
   （印刷・PDF には効かせない。白地固定でテーマの影響を受けない）
   ============================================================ */
@media screen{
/* レポート画面：上のすきま（ステータスバーの下）を塗りつぶして、表の見出しの上を流れる数字が見えないようにする */
#reportTab.active::before{content:"";position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:4;pointer-events:none}
/* プレビュー紙面はライト固定（アプリのダーク／配色を引き継がない） */
#rp-print-pages{color-scheme:light;--text:#000;--sub:#555;--border:#d3d8e2;--card-bg:#fff;--sheet-bg:#fff;--sheet-text:#000;--table-line:#333;--th-bg:#f0f0f0;--sat:#00f;--sun:red;--high:#d70015;--low:#0040dd;--am-bg:#ececec;--pm-bg:#d0d0d0;--sep-line:#000}
#rp-print-pages .rp-page{margin:0 auto 14px;background:var(--sheet-bg);color:var(--sheet-text);border:1px solid var(--border);border-radius:10px;padding:10px 7px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
#rp-print-pages .rp-period{padding:5px 12px}
#rp-print-pages .rp-period b{font-size:.95rem}
#rp-print-pages .rp-table{font-size:.68rem}
#rp-print-pages .rp-table th,#rp-print-pages .rp-table td{height:25px;padding:2px 0;line-height:1.1;overflow-wrap:anywhere}
#rp-print-pages .rp-table th{font-size:.62rem}
#rp-print-pages .rp-table td.memo-cell{font-size:.6rem;padding:2px}
#rp-print-pages .rp-note{font-size:.65rem}
#rp-print-pages .rp-sum{margin-top:8px;padding:5px 6px}
#rp-print-pages .rp-sum-h{font-size:.65rem}
#rp-print-pages .rp-sum-h b{font-size:.75rem}
#rp-print-pages .rp-sumt th{font-size:.62rem}
#rp-print-pages .rp-sumt tbody th{font-size:.7rem}
#rp-print-pages .rp-sumt td{padding:3px 1px}
#rp-print-pages .rp-sumt td b{font-size:.8rem}
#rp-print-pages .rp-sumt td small{font-size:.58rem}
#rp-print-pages .rp-doc{margin-top:8px;min-height:45px;padding:5px 6px}
#rp-print-pages .rp-doc i{height:13px}
#rp-print-pages .rp-foot{font-size:.6rem;margin-top:7px}
@media(max-width:390px){
 #rp-print-pages .rp-page{padding:8px 4px}
 #rp-print-pages .rp-table{font-size:.62rem}
 #rp-print-pages .rp-table th{font-size:.57rem}
}
}

/* ============================================================
   3) PRINT — 実印刷専用
   ・アプリ UI はすべて非表示（.no-print / タブ / 操作部品）
   ・#rp-print-pages だけを A4 で出す
   ・テーマに依存せず白地固定
   ============================================================ */
@media print{
:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--text:#000;--sub:#555;--border:#999;--sheet-bg:#fff;--sheet-text:#000;--table-line:#333;--th-bg:#f0f0f0;--sat:#00f;--sun:red;--high:#d70015;--low:#0040dd;--am-bg:#ececec;--pm-bg:#d0d0d0;--sep-line:#000}
@page{size:A4 portrait;margin:8mm}
body::before{display:none!important}
html,body{margin:0!important;padding:0!important;background:#fff!important;width:100%;height:auto!important}
/* 印刷で無視する UI */
.no-print,
.rp-floating-toggle,
.tab-bar,
#inputTab,#graphTab,#backupTab,
#reportTab>.card{display:none!important}
#reportTab{display:block!important;width:100%!important;margin:0!important;padding:0!important}
.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
#reportPages{display:block}
#rp-screen-list{display:none!important}
#rp-print-pages{display:block!important}
.rp-page{max-width:none;border:0;border-radius:0;padding:0;margin:0;break-after:page;page-break-after:always}
.rp-page:last-child{break-after:auto;page-break-after:auto}
.rp-head{margin-bottom:4mm}
.rp-period{padding:1.5mm 8mm}.rp-period small,.rp-period span{font-size:8.5pt}.rp-period b{font-size:12.5pt}
.rp-printed{font-size:8pt}
.rp-table{font-size:9.5pt}
.rp-table th,.rp-table td{height:7.2mm;padding:.3mm .5mm;line-height:1.1;box-sizing:border-box}
.rp-table th{font-size:8.5pt}
.rp-table td.memo-cell{font-size:7.5pt;padding:.3mm 1.5mm}
.rp-table tr{break-inside:avoid;page-break-inside:avoid}
.rp-table .sep{border-left-width:.5mm}
.rp-note{margin-top:1.5mm;font-size:8pt}
.rp-sum{margin-top:4mm;padding:2mm 3mm;break-inside:avoid}
.rp-sum-h{font-size:8.5pt;padding-bottom:1mm}.rp-sum-h b{font-size:10.5pt}
.rp-sumt th{font-size:8pt}.rp-sumt tbody th{font-size:9.5pt}
.rp-sumt td{padding:1mm 0}.rp-sumt td b{font-size:11.5pt}.rp-sumt td small{font-size:7.5pt}
.rp-doc{margin-top:4mm;padding:2mm 3mm;min-height:22mm;break-inside:avoid}
.rp-doc i{height:6.5mm}
.rp-foot{margin-top:3mm;font-size:7.5pt}
}
