diff --git a/frontend/bank-statement.html b/frontend/bank-statement.html index 470ca86..7b56e4b 100644 --- a/frontend/bank-statement.html +++ b/frontend/bank-statement.html @@ -28,8 +28,14 @@ flex-wrap: wrap; gap: 10px; } - .page-header h2 { margin: 0; } - .header-btns { display: flex; gap: 8px; flex-wrap: wrap; } + .page-header h2 { + margin: 0; + } + .header-btns { + display: flex; + gap: 8px; + flex-wrap: wrap; + } /* ── 検索フォーム ── */ .search-form { @@ -43,7 +49,10 @@ flex-wrap: wrap; gap: 12px; } - .search-form label { font-weight: bold; white-space: nowrap; } + .search-form label { + font-weight: bold; + white-space: nowrap; + } .search-form select, .search-form input[type="number"] { padding: 5px 10px; @@ -65,16 +74,41 @@ text-decoration: none; display: inline-block; } - .btn-primary { background: #4caf50; color: #fff; } - .btn-primary:hover { background: #43a047; } - .btn-blue { background: #2196f3; color: #fff; } - .btn-blue:hover { background: #1976d2; } - .btn-orange { background: #ff9800; color: #fff; } - .btn-orange:hover { background: #f57c00; } - .btn-danger { background: #e53935; color: #fff; } - .btn-danger:hover { background: #c62828; } - .btn-gray { background: #9e9e9e; color: #fff; } - .btn-gray:hover { background: #757575; } + .btn-primary { + background: #4caf50; + color: #fff; + } + .btn-primary:hover { + background: #43a047; + } + .btn-blue { + background: #2196f3; + color: #fff; + } + .btn-blue:hover { + background: #1976d2; + } + .btn-orange { + background: #ff9800; + color: #fff; + } + .btn-orange:hover { + background: #f57c00; + } + .btn-danger { + background: #e53935; + color: #fff; + } + .btn-danger:hover { + background: #c62828; + } + .btn-gray { + background: #9e9e9e; + color: #fff; + } + .btn-gray:hover { + background: #757575; + } /* ── 月別サマリー ── */ .monthly-summary { @@ -92,8 +126,15 @@ font-size: 13px; white-space: nowrap; } - .month-chip:hover { background: #e3f2fd; border-color: #2196f3; } - .month-chip.active { background: #2196f3; color: #fff; border-color: #1976d2; } + .month-chip:hover { + background: #e3f2fd; + border-color: #2196f3; + } + .month-chip.active { + background: #2196f3; + color: #fff; + border-color: #1976d2; + } /* ── 統計バー ── */ .stats-bar { @@ -103,11 +144,23 @@ font-size: 13px; flex-wrap: wrap; } - .stat-item { display: flex; align-items: center; gap: 6px; } - .stat-label { color: #666; } - .stat-value { font-weight: bold; } - .stat-value.debit { color: #e53935; } - .stat-value.credit { color: #1565c0; } + .stat-item { + display: flex; + align-items: center; + gap: 6px; + } + .stat-label { + color: #666; + } + .stat-value { + font-weight: bold; + } + .stat-value.debit { + color: #e53935; + } + .stat-value.credit { + color: #1565c0; + } /* ── テーブル ── */ table { @@ -115,7 +168,8 @@ width: 100%; font-size: 13px; } - th, td { + th, + td { border: 1px solid #bbb; padding: 6px 10px; } @@ -125,14 +179,30 @@ text-align: center; white-space: nowrap; } - td { background: #fff; } - tr:nth-child(even) td { background: #fafafa; } - tr:hover td { background: #e3f2fd; } - .text-right { text-align: right; } - .text-center { text-align: center; } - .text-left { text-align: left; } - td.debit-cell { color: #c62828; } - td.credit-cell { color: #1565c0; } + td { + background: #fff; + } + tr:nth-child(even) td { + background: #fafafa; + } + tr:hover td { + background: #e3f2fd; + } + .text-right { + text-align: right; + } + .text-center { + text-align: center; + } + .text-left { + text-align: left; + } + td.debit-cell { + color: #c62828; + } + td.credit-cell { + color: #1565c0; + } .no-data { text-align: center; color: #999; @@ -145,23 +215,28 @@ display: none; position: fixed; inset: 0; - background: rgba(0,0,0,0.5); + background: rgba(0, 0, 0, 0.5); z-index: 1000; justify-content: center; align-items: flex-start; padding: 30px 16px; overflow-y: auto; } - .modal-overlay.active { display: flex; } + .modal-overlay.active { + display: flex; + } .modal-box { background: #fff; border-radius: 8px; padding: 28px; width: 100%; max-width: 920px; - box-shadow: 0 10px 30px rgba(0,0,0,0.3); + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); + } + .modal-box h3 { + margin: 0 0 18px; + font-size: 17px; } - .modal-box h3 { margin: 0 0 18px; font-size: 17px; } .modal-form-row { display: flex; align-items: center; @@ -169,7 +244,10 @@ margin-bottom: 16px; flex-wrap: wrap; } - .modal-form-row label { font-weight: bold; white-space: nowrap; } + .modal-form-row label { + font-weight: bold; + white-space: nowrap; + } .modal-form-row input[type="text"] { flex: 1; min-width: 160px; @@ -188,15 +266,24 @@ color: #666; cursor: pointer; margin-bottom: 16px; - transition: border-color 0.2s, background 0.2s; + transition: + border-color 0.2s, + background 0.2s; } - .drop-zone:hover, .drop-zone.dragover { + .drop-zone:hover, + .drop-zone.dragover { border-color: #2196f3; background: #e3f2fd; color: #1565c0; } - .drop-zone input[type="file"] { display: none; } - .drop-zone .drop-icon { font-size: 36px; display: block; margin-bottom: 8px; } + .drop-zone input[type="file"] { + display: none; + } + .drop-zone .drop-icon { + font-size: 36px; + display: block; + margin-bottom: 8px; + } /* プレビュー結果 */ .preview-summary { @@ -208,10 +295,19 @@ border-radius: 4px; flex-wrap: wrap; } - .preview-summary .ps-item { font-size: 14px; } - .ps-new { color: #2e7d32; font-weight: bold; } - .ps-dup { color: #e65100; } - .ps-total { font-weight: bold; } + .preview-summary .ps-item { + font-size: 14px; + } + .ps-new { + color: #2e7d32; + font-weight: bold; + } + .ps-dup { + color: #e65100; + } + .ps-total { + font-weight: bold; + } .preview-table-wrap { max-height: 360px; @@ -220,10 +316,21 @@ border-radius: 4px; margin-bottom: 16px; } - .preview-table-wrap table { font-size: 12px; } - .preview-table-wrap th { position: sticky; top: 0; z-index: 1; } - tr.row-new td { background: #e8f5e9 !important; } - tr.row-dup td { background: #fff3e0 !important; color: #999; } + .preview-table-wrap table { + font-size: 12px; + } + .preview-table-wrap th { + position: sticky; + top: 0; + z-index: 1; + } + tr.row-new td { + background: #e8f5e9 !important; + } + tr.row-dup td { + background: #fff3e0 !important; + color: #999; + } .badge { display: inline-block; padding: 2px 8px; @@ -231,8 +338,14 @@ font-size: 11px; font-weight: bold; } - .badge-new { background: #c8e6c9; color: #1b5e20; } - .badge-dup { background: #ffe0b2; color: #bf360c; } + .badge-new { + background: #c8e6c9; + color: #1b5e20; + } + .badge-dup { + background: #ffe0b2; + color: #bf360c; + } .modal-btn-row { display: flex; @@ -249,9 +362,21 @@ display: none; font-size: 14px; } - .msg-bar.info { background: #e3f2fd; color: #0d47a1; border: 1px solid #90caf9; } - .msg-bar.success { background: #e8f5e9; color: #1b5e20; border: 1px solid #a5d6a7; } - .msg-bar.error { background: #ffebee; color: #b71c1c; border: 1px solid #ef9a9a; } + .msg-bar.info { + background: #e3f2fd; + color: #0d47a1; + border: 1px solid #90caf9; + } + .msg-bar.success { + background: #e8f5e9; + color: #1b5e20; + border: 1px solid #a5d6a7; + } + .msg-bar.error { + background: #ffebee; + color: #b71c1c; + border: 1px solid #ef9a9a; + } /* ── ページネーション ── */ .pagination { @@ -263,19 +388,48 @@ flex-wrap: wrap; padding: 8px 0; } - .page-info { font-size: 13px; color: #333; } - .btn-page { background: #f0f0f0; color: #333; border: 1px solid #bbb; } - .btn-page:hover:not(:disabled) { background: #e0e0e0; } - .btn-page:disabled { opacity: 0.4; cursor: default; } + .page-info { + font-size: 13px; + color: #333; + } + .btn-page { + background: #f0f0f0; + color: #333; + border: 1px solid #bbb; + } + .btn-page:hover:not(:disabled) { + background: #e0e0e0; + } + .btn-page:disabled { + opacity: 0.4; + cursor: default; + } /* ── 印刷スタイル ── */ @media print { - .no-print { display: none !important; } - body { margin: 0; font-size: 12px; } - table { font-size: 11px; } - th, td { padding: 4px 6px; } - .monthly-summary, .stats-bar { margin-bottom: 6px; } - .month-chip { border: 1px solid #999 !important; color: #000 !important; background: #fff !important; } + .no-print { + display: none !important; + } + body { + margin: 0; + font-size: 12px; + } + table { + font-size: 11px; + } + th, + td { + padding: 4px 6px; + } + .monthly-summary, + .stats-bar { + margin-bottom: 6px; + } + .month-chip { + border: 1px solid #999 !important; + color: #000 !important; + background: #fff !important; + } } @@ -283,7 +437,9 @@