以下の要件で、ブラウザだけで動作する単一HTMLファイルの完成版アプリを作成してください。 【重要】 途中説明不要 設計説明不要 解説不要 完成したHTMLファイルのみ出力すること。 HTML・CSS・JavaScriptを1ファイルへ完全統合すること。 コードの途中省略禁止。 「以下省略」「一部抜粋」禁止。 実際に保存してそのまま動作する完成版を出力すること。 試作版は禁止。 簡易版は禁止。 ダミー処理は禁止。 未実装は禁止。 実運用可能な完成版として作成すること。 ━━━━━━━━━━━━━━━━━━━━━ ■ 目的 ━━━━━━━━━━━━━━━━━━━━━ 紙の日報を廃止し、 転記作業と転記ミスをなくしたい。 ━━━━━━━━━━━━━━━━━━━━━ ■ 動作条件 ━━━━━━━━━━━━━━━━━━━━━ ・インターネット不要 ・サーバー不要 ・インストール不要 ・ブラウザでHTMLを開くだけで動作 ・単一HTMLファイル ・データ保存はIndexedDB ・ブラウザ再起動後も保持 ・Chrome/Edgeで動作 ━━━━━━━━━━━━━━━━━━━━━ ■ 入力項目 ━━━━━━━━━━━━━━━━━━━━━ 1. 日付 2. 担当者(プルダウン) ・山田 ・佐藤 ・鈴木 3. 作業区分(プルダウン) ・製造 ・検査 ・段取り ・事務 ・その他 4. 作業内容 5. 開始時刻 6. 終了時刻 ━━━━━━━━━━━━━━━━━━━━━ ■ 入力チェック ━━━━━━━━━━━━━━━━━━━━━ すべて必須入力 未入力禁止 終了時刻は開始時刻より後でなければならない エラー時は赤文字でメッセージ表示 ━━━━━━━━━━━━━━━━━━━━━ ■ 登録処理 ━━━━━━━━━━━━━━━━━━━━━ 登録ボタン押下時 ・作業時間を自動計算 ・時間単位で保存 ・一覧へ即反映 ・IndexedDB保存 作業時間計算 終了時刻-開始時刻 小数点第2位まで表示 登録成功後 ・作業内容クリア ・開始時刻クリア ・終了時刻クリア ・担当者クリア ・作業区分クリア 日付は維持 成功メッセージ表示 ━━━━━━━━━━━━━━━━━━━━━ ■ 作業記録一覧 ━━━━━━━━━━━━━━━━━━━━━ 表示項目 ・日付 ・担当者 ・作業区分 ・作業内容 ・開始時刻 ・終了時刻 ・作業時間 不要な空列禁止 新しいデータが上に表示されること ━━━━━━━━━━━━━━━━━━━━━ ■ 月次集計 ━━━━━━━━━━━━━━━━━━━━━ 月選択はプルダウン(select)を使用 使用禁止 input type="month" 使用必須 ━━━━━━━━━━━━━━━━━━━━━ ■ 月次集計 月選択プルダウン仕様 ━━━━━━━━━━━━━━━━━━━━━ IndexedDB records内の全データを対象とする 日付項目から年月を抽出する 例 2026-10-01 → 2026-10 2026-10-15 → 2026-10 2026-11-03 → 2026-11 抽出後 ・重複除去 ・年月昇順ソート ・プルダウン生成 を行うこと ━━━━━━━━━━━━━━━━━━━━━ ■ 月プルダウン表示形式 ━━━━━━━━━━━━━━━━━━━━━ value 2026-10 画面表示 2026年10月 例 ━━━━━━━━━━━━━━━━━━━━━ ■ 月プルダウン初期表示 ━━━━━━━━━━━━━━━━━━━━━ 登録月が存在する場合 最新月を自動選択 例 2026-08 2026-09 2026-10 ↓ 2026-10を選択状態 ━━━━━━━━━━━━━━━━━━━━━ ■ データ未登録時 ━━━━━━━━━━━━━━━━━━━━━ プルダウン内容 を表示 月次集計表は全セル0.00表示 ━━━━━━━━━━━━━━━━━━━━━ ■ 月一覧再生成タイミング ━━━━━━━━━━━━━━━━━━━━━ 以下のタイミングで必ず再生成 ① 初期表示時 ② 登録成功時 ③ CSV読込完了時 ④ IndexedDB復元時 ⑤ 集計対象変更時 常にDB内容と一致していること ━━━━━━━━━━━━━━━━━━━━━ ■ 月選択変更時 ━━━━━━━━━━━━━━━━━━━━━ changeイベントで即時再集計 summaryMonth変更 ↓ 月次集計再計算 ↓ 集計表再描画 ページ再読み込み不要 ━━━━━━━━━━━━━━━━━━━━━ ■ 月削除時の挙動 ━━━━━━━━━━━━━━━━━━━━━ CSV読込等で 現在選択中の月が存在しなくなった場合 自動的に最新月を選択 例 現在選択 2026-10 CSV読込後 2026-08 2026-09 のみ存在 ↓ 2026-09を自動選択 ━━━━━━━━━━━━━━━━━━━━━ ■ 月次集計表 ━━━━━━━━━━━━━━━━━━━━━ 対象月のみ集計 行 ・山田 ・佐藤 ・鈴木 列 ・製造 ・検査 ・段取り ・事務 ・その他 ・合計 担当者ごとの作業時間合計を表示 小数点第2位まで表示 選択月 2026-10 の場合 日付が 2026-10-01 2026-10-15 2026-10-31 のみ集計対象 以下は対象外 2026-09-30 2026-11-01 ━━━━━━━━━━━━━━━━━━━━━ ■ CSV書出し ━━━━━━━━━━━━━━━━━━━━━ 全データをCSV出力 UTF-8 BOM付き ファイル名 作業日報データ.csv 出力項目 日付 担当者 作業区分 作業内容 開始時刻 終了時刻 作業時間 ━━━━━━━━━━━━━━━━━━━━━ ■ CSV読込 ━━━━━━━━━━━━━━━━━━━━━ CSVファイルから復元 UTF-8 BOM対応 同形式CSVを読込可能 読込後は一覧更新 読込完了メッセージ表示 読込後は月プルダウンを自動更新すること ━━━━━━━━━━━━━━━━━━━━━ ■ データ管理 ━━━━━━━━━━━━━━━━━━━━━ 表示ボタン ・CSV書出し ・CSV読込 不要なボタンは禁止 削除ボタン不要 サンプルデータボタン不要 テストボタン不要 ━━━━━━━━━━━━━━━━━━━━━ ■ 画面構成 ━━━━━━━━━━━━━━━━━━━━━ 1. 作業入力 2. 作業記録一覧 3. 月次集計表 4. データ管理 この順序で配置すること ━━━━━━━━━━━━━━━━━━━━━ ■ UIデザイン要件 ━━━━━━━━━━━━━━━━━━━━━ 業務システム風デザイン スマホアプリ風禁止 背景色 #f5f6f8 文字色 #000000 ━━━━━━━━━━━━━━━━━━━━━ ■ ヘッダー ━━━━━━━━━━━━━━━━━━━━━ 画面上部に固定しないヘッダー 背景 #2d3e50 文字色 #ffffff タイトル 作業日報システム ━━━━━━━━━━━━━━━━━━━━━ ■ レイアウト ━━━━━━━━━━━━━━━━━━━━━ 中央寄せ 最大横幅 1400px .container{ max-width:1400px; margin:auto; } ━━━━━━━━━━━━━━━━━━━━━ ■ カードデザイン ━━━━━━━━━━━━━━━━━━━━━ 各機能はカード表示 .card{ background:#fff; border:1px solid #dcdcdc; border-radius:6px; padding:20px; margin-bottom:20px; } ━━━━━━━━━━━━━━━━━━━━━ ■ 見出し ━━━━━━━━━━━━━━━━━━━━━ h2{ border-bottom:2px solid #d0d0d0; padding-bottom:8px; margin-bottom:15px; } ━━━━━━━━━━━━━━━━━━━━━ ■ 入力欄 ━━━━━━━━━━━━━━━━━━━━━ input select textarea 背景 #ffffff 文字 #000000 枠線 #aaaaaa 角丸4px 入力しやすいサイズ ━━━━━━━━━━━━━━━━━━━━━ ■ フォームレイアウト ━━━━━━━━━━━━━━━━━━━━━ CSS Grid使用 整然と表示 PC画面向け最適化 ━━━━━━━━━━━━━━━━━━━━━ ■ ボタンデザイン ━━━━━━━━━━━━━━━━━━━━━ 共通 button{ border:none; border-radius:4px; padding:10px 20px; cursor:pointer; color:#fff; font-size:14px; transition:0.2s; } button:hover{ opacity:0.9; } 登録ボタン background:#0078d4; CSV書出し background:#198754; CSV読込 background:#fd7e14; ボタンは横並び 適切な余白を持つこと ━━━━━━━━━━━━━━━━━━━━━ ■ テーブル ━━━━━━━━━━━━━━━━━━━━━ table{ width:100%; border-collapse:collapse; } th, td{ border:1px solid #cfcfcf; padding:8px; } th{ background:#e9eef5; text-align:center; } td{ background:#fff; } 横スクロール対応 ━━━━━━━━━━━━━━━━━━━━━ ■ 月次集計表 ━━━━━━━━━━━━━━━━━━━━━ 先頭列 薄いグレー背景 .summary-table td:first-child, .summary-table th:first-child{ background:#f3f3f3; font-weight:bold; } ━━━━━━━━━━━━━━━━━━━━━ ■ メッセージ表示 ━━━━━━━━━━━━━━━━━━━━━ エラー 赤文字 成功 緑文字 ━━━━━━━━━━━━━━━━━━━━━ ■ IndexedDB ━━━━━━━━━━━━━━━━━━━━━ データベース名 WorkDiaryDB オブジェクトストア records 自動採番ID ブラウザ再起動後も保持 ━━━━━━━━━━━━━━━━━━━━━ ■ 品質要求 ━━━━━━━━━━━━━━━━━━━━━ 登録ボタンが確実に動作すること CSV書出しが確実に動作すること CSV読込が確実に動作すること 月次集計が正しく動作すること 月プルダウンが正しく生成されること 登録済み月のみ表示すること 最新月を自動選択すること CSV読込後に月一覧が更新されること IndexedDB復元時に月一覧が更新されること 同じ月を重複表示しないこと 空optionを生成しないこと 存在しない年月を選択できないこと ブラウザ依存の月入力UIを使用しないこと 不要列を作らないこと JavaScriptエラー禁止 試作版禁止 未実装禁止 ダミー処理禁止 実際に業務利用できる完成版にすること ━━━━━━━━━━━━━━━━━━━━━ ■ 出力指示 ━━━━━━━━━━━━━━━━━━━━━ 完成HTMLのみ出力 説明不要 解説不要 コード省略禁止 HTMLファイルとして保存可能な完全なソースを最後まで出力すること