:root { --accent:#0ea5e9; }
.fade-in { animation: fadeIn .35s ease both; }
.spinner { width:18px; height:18px; border:2px solid #cbd5e1; border-top-color:var(--brand); border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }
.step-bar { height:4px; background:#e2e8f0; border-radius:999px; overflow:hidden; }
.step-bar > span { display:block; height:100%; background:linear-gradient(90deg,#372f9d,#ea007a); transition:width .4s ease; }
.card-hover { transition:all .2s; }
.card-hover:hover { border-color:#94a3b8; box-shadow:0 4px 16px -4px rgba(15,23,42,.08); }
.tag { font-size:11px; padding:2px 8px; border-radius:999px; font-weight:500; }
.bar-rail { height:6px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.bar-fill { height:100%; transition:width .4s ease; }
.btn { padding:10px 18px; border-radius:10px; font-weight:600; transition:all .15s; cursor:pointer; }
.btn-danger { background:#fef2f2; color:var(--bad); }
.btn-ghost { background:transparent; color:#64748b; }
.field-label { display:block; font-size:12px; font-weight:600; color:#475569; margin-bottom:4px; }
.field-input { width:100%; padding:10px 12px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; font-size:14px; }
.field-input:focus { outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(234,0,122,.12); }

/* リクナビ風の「行タップ→選択肢サブ画面」ピッカーUI(2026-08-29) */
.picker-row { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 12px; background:#fff; text-align:left; }
.picker-row:not(:disabled):hover { background:#f8fafc; }
.picker-row:disabled { opacity:.45; cursor:not-allowed; }
.picker-back { width:32px; height:32px; border-radius:9999px; display:flex; align-items:center; justify-content:center; color:#64748b; font-size:22px; line-height:1; flex-shrink:0; }
.picker-back:hover { background:#f1f5f9; }
.picker-option { width:100%; display:flex; align-items:center; justify-content:space-between; padding:13px 16px; font-size:14px; text-align:left; background:#fff; color:#334155; }
.picker-option:hover { background:#f8fafc; }
.picker-option.selected { color:var(--brand); font-weight:600; }
