/* =====================================================
   forms.css — STEP 1-3 入力フォーム
===================================================== */
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-label{font-size:.8rem;font-weight:700;color:var(--text2);display:flex;align-items:center;gap:6px}
.required{font-size:.68rem;background:var(--red);color:#fff;padding:1px 5px;border-radius:3px}
.radio-group{display:flex;gap:14px;flex-wrap:wrap}
.radio-option{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem}
.radio-option input[type="radio"]{accent-color:var(--primary);width:15px;height:15px}
.btn-nav-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;align-items:center}

/* 出馬表テーブル */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.horse-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:920px}
.horse-table th{background:rgba(255,255,255,.03);color:var(--muted);font-size:.72rem;padding:9px 7px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}
.horse-table td{padding:5px 4px;border-bottom:1px solid rgba(255,255,255,.03);text-align:center;vertical-align:middle}
.horse-table tr:hover td{background:rgba(255,255,255,.02)}
.gate-num{font-weight:700;color:var(--primary);font-size:.9rem;width:32px}
.horse-table input[type="text"],.horse-table input[type="number"]{padding:7px 8px;font-size:.78rem;border-radius:6px;text-align:center}
.horse-table select{padding:7px 4px;font-size:.75rem;border-radius:6px}
.horse-name{min-width:120px}
.horse-jockey{min-width:110px}
.horse-odds{width:68px}
.horse-weight,.horse-weight-change,.horse-last-finish{width:68px}
.weight-change-wrap{display:flex;align-items:center;gap:2px}
.weight-change-wrap .unit{font-size:.68rem;color:var(--muted)}
.horse-distance-fit,.horse-track-fit,.horse-style{min-width:88px}
.btn-remove-horse{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.18);color:#fca5a5;padding:4px 8px;border-radius:5px;cursor:pointer;font-size:.72rem;transition:all .2s}
.btn-remove-horse:hover{background:rgba(239,68,68,.22)}
.btn-add-horse{display:flex;align-items:center;gap:6px;background:rgba(34,197,94,.06);border:1px dashed rgba(34,197,94,.25);color:var(--primary);padding:10px 20px;border-radius:var(--radius-sm);cursor:pointer;font-size:.88rem;font-weight:600;transition:all .2s;margin-top:10px}
.btn-add-horse:hover{background:rgba(34,197,94,.12)}
.table-hint{font-size:.76rem;color:var(--muted);margin-bottom:12px;line-height:1.6}

/* リスクカード */
.risk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.risk-card{background:var(--navy3);border:2px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .2s;text-align:center}
.risk-card:hover{border-color:rgba(34,197,94,.3)}
.risk-card.selected{border-color:var(--primary);background:rgba(34,197,94,.06)}
.risk-icon{font-size:1.8rem;display:block;margin-bottom:8px}
.risk-name{font-weight:700;font-size:.95rem;margin-bottom:4px}
.risk-desc{font-size:.75rem;color:var(--muted);line-height:1.5}

/* 賭け式 */
.bet-types-grid{display:flex;flex-wrap:wrap;gap:9px}
.bet-type-item{display:flex;align-items:center;gap:7px;background:var(--navy3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer;transition:all .2s}
.bet-type-item:has(input:checked){border-color:var(--primary);background:rgba(34,197,94,.07);color:var(--primary)}
.bet-type-check{accent-color:var(--primary);width:14px;height:14px}
.bet-type-name{font-weight:700;font-size:.88rem}
.bet-type-desc{font-size:.7rem;color:var(--muted);display:block}

/* 予算 */
.budget-wrap{display:flex;align-items:center;gap:10px;max-width:260px}
.budget-wrap input{font-size:1.1rem;font-weight:700}
.budget-unit{font-size:1rem;color:var(--muted);white-space:nowrap}

@media(max-width:768px){
  .form-grid{grid-template-columns:1fr 1fr}
  .risk-cards{grid-template-columns:1fr}
}
@media(max-width:480px){.form-grid{grid-template-columns:1fr}}
