/*
  cfid_client.css — CF-ID会員登録モーダル（共通・中立青CF・自己完結）
  作成: スパイダー / 2026-06-18
  方針: cfid_client.js が描く .cfid-* を自己完結スタイル。CF-ID=共通基盤ゆえ中立の青CF（診断個別色に染めない）。
        各診断（商圏/補助金/助成金）から独立読込で共用。名前空間 cfid-。
*/
.cfid-bg { position: fixed; inset: 0; background: rgba(20,40,60,.55); backdrop-filter: blur(2px); display: none; align-items: center; justify-content: center; z-index: 9100; padding: 18px; }
.cfid-bg.is-open { display: flex; animation: cfid-fade .18s ease; }
.cfid-panel { background: #fff; border-radius: 14px; max-width: 420px; width: 100%; padding: 24px 24px 22px; box-shadow: 0 12px 40px rgba(0,0,0,.3); animation: cfid-rise .22s cubic-bezier(.2,.8,.2,1); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", sans-serif; }
@keyframes cfid-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cfid-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .cfid-bg.is-open, .cfid-panel { animation: none; } }
.cfid-title { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; color: #0D47A1; }
.cfid-body { margin: 0 0 16px; font-size: .88rem; color: #5B6675; line-height: 1.7; }
.cfid-label { display: block; font-size: .82rem; font-weight: 700; color: #1F2A37; margin-bottom: 14px; }
.cfid-input { display: block; width: 100%; margin-top: 6px; padding: 11px 13px; border: 1.5px solid #DDE3EA; border-radius: 9px; font-size: 1rem; font-family: inherit; box-sizing: border-box; }
.cfid-input:focus { outline: 2px solid rgba(21,101,192,.28); border-color: #1565C0; }
.cfid-err { margin: 0 0 12px; font-size: .82rem; color: #C0392B; }
.cfid-actions { display: flex; gap: 10px; margin-top: 4px; flex-wrap: wrap; }
.cfid-btn { flex: 1; min-width: 120px; border-radius: 22px; padding: 11px 14px; font-weight: 800; font-size: .92rem; cursor: pointer; border: 1.5px solid transparent; font-family: inherit; transition: background .15s ease, transform .12s ease, box-shadow .15s ease; }
.cfid-btn-primary { background: #1565C0; color: #fff; }
.cfid-btn-primary:hover { background: #1E88E5; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(13,71,161,.22); }
.cfid-btn-primary:disabled { opacity: .6; cursor: default; transform: none; box-shadow: none; }
.cfid-btn-outline { background: #fff; color: #0D47A1; border-color: #1565C0; }
.cfid-btn-outline:hover { background: #E8F1FB; }
.cfid-btn-link { flex: none; background: none; border: none; color: #0D47A1; text-decoration: underline; padding: 11px 8px; cursor: pointer; font-family: inherit; font-size: .85rem; }
