/* リアサポ入会申込管理（シート「入会申込_管理」連携）。プレフィックス .ea2- */

.ea2-wrap { padding: 24px; max-width: 100%; }
.ea2-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.ea2-head h2 { margin: 0; font-size: 22px; }
.ea2-sub { color: #6b7280; font-size: 13px; margin-top: 4px; line-height: 1.7; }
.ea2-actions { display: flex; gap: 8px; }
.ea2-btn-secondary { background: #fff; color: #111; border: 1px solid #d1d5db; border-radius: 6px; padding: 8px 14px; cursor: pointer; font-size: 13px; }
.ea2-btn-secondary:hover { background: #f9fafb; }
.ea2-btn-secondary:disabled { opacity: 0.6; cursor: default; }

.ea2-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.ea2-tabs { display: flex; gap: 4px; }
.ea2-tab { background: #fff; border: 1px solid #d1d5db; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.ea2-tab-active { background: #d97706; color: #fff; border-color: #d97706; }
.ea2-search { width: 280px; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 13px; }

.ea2-loading, .ea2-empty { padding: 40px; text-align: center; color: #6b7280; background: #fff; border-radius: 8px; }
.ea2-error { color: #dc2626; }

.ea2-table-wrap { overflow-x: auto; background: #fff; border-radius: 8px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06); }
.ea2-table { border-collapse: collapse; min-width: 100%; font-size: 12px; }
.ea2-table th { background: #f9fafb; color: #6b7280; padding: 8px 6px; text-align: center; font-weight: 600; border-bottom: 2px solid #e5e7eb; white-space: nowrap; position: sticky; top: 0; z-index: 1; }
.ea2-table th.ea2-left, .ea2-table td.ea2-left { text-align: left; padding-left: 10px; }
.ea2-table th.ea2-g-summary { background: #fef3c7; }
.ea2-table th.ea2-g-before { background: #dbeafe; }
.ea2-table th.ea2-g-after { background: #d1fae5; }
.ea2-table td { padding: 6px 4px; text-align: center; border-bottom: 1px solid #f3f4f6; vertical-align: middle; }
.ea2-table tr:hover td { background: #fffbeb; }
.ea2-row-done { background: #f0fdf4; }
.ea2-row-lost { background: #fef2f2; opacity: 0.75; }

.ea2-dt { font-size: 11px; color: #6b7280; min-width: 120px; white-space: nowrap; }
.ea2-name { font-weight: 600; min-width: 110px; }
.ea2-contact { font-size: 11px; color: #6b7280; min-width: 160px; }
.ea2-check { width: 18px; height: 18px; cursor: pointer; }
.ea2-paid-date { width: 130px; padding: 2px 4px; border: 1px solid #d1d5db; border-radius: 4px; font-size: 11px; }
/* メモ列は進捗チェック群の左に居るため、幅を取りすぎるとチェック群が画面外へ
   押し出される。180px に抑える（focus 時に広げる案は、隣のチェックを押す瞬間に
   レイアウトが動いてミスクリックを誘発するため採らない）。 */
.ea2-memo { width: 180px; min-width: 160px; padding: 4px 6px; border: 1px solid #d1d5db; border-radius: 4px; font-size: 11px; font-family: inherit; resize: vertical; }

.ea2-dirty { color: #d97706; margin-left: 4px; font-size: 10px; }
.ea2-dirty-note { color: #d97706; }
.ea2-count { margin-top: 8px; color: #6b7280; font-size: 12px; }
