#formSafe{--c:#1a63ff;--bd:#e6e9f2;--ring:rgba(26,99,255,.18);--text:#0f1f3a}
#formSafe .grid{display:grid;gap:18px}
@media(min-width:980px){#formSafe .grid{grid-template-columns:1fr 1fr}}
#formSafe .card{background:#fff;border:1px solid #edf0f7;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
#formSafe h2{margin:0 0 8px}
#formSafe .muted{color:#55637a;margin:0 0 8px}
#formSafe .field{display:grid;gap:6px;margin-bottom:12px}
#formSafe label{font-weight:700;color:var(--text)}
#formSafe .req{color:#d02c2c}
#formSafe input[type=text],#formSafe input[type=email],#formSafe input[type=tel],#formSafe input[type=file],#formSafe textarea{
  width:100%;border:1.5px solid var(--bd);border-radius:12px;padding:12px 14px;font:inherit;background:#fff;
  transition:border-color .15s ease, box-shadow .15s ease;
}
#formSafe textarea{min-height:120px;resize:vertical}
#formSafe input::placeholder,#formSafe textarea::placeholder{color:#9aa6b2}
#formSafe input:focus,#formSafe textarea:focus{outline:none;border-color:var(--c);box-shadow:0 0 0 4px var(--ring)}
#formSafe .row2{display:grid;gap:12px}
@media(min-width:780px){#formSafe .row2{grid-template-columns:1fr 1fr}}
#formSafe .actions{display:flex;gap:10px;align-items:center}
#formSafe .btn{background:var(--c);color:#fff;border:1px solid #1655d8;padding:12px 18px;border-radius:12px;font-weight:700;cursor:pointer}
#formSafe .btn:hover{filter:brightness(.98)}
#formSafe .fine{font-size:12px;color:#68748a}
#formSafe .alert{border-radius:12px;padding:10px 12px;border:1px solid}
#formSafe .alert.success{background:#eafff3;border-color:#b6f0cf;color:#0a7a4a}
#formSafe .alert.error{background:#fff4f4;border-color:#ffd1d1;color:#a32020}
/* --- FORCE: Right card text dark (user requested) --- */
.card.content, .card.content * {
  color: #0b1220 !important;           /* 진한 검정색 텍스트 */
  -webkit-text-fill-color: #0b1220 !important;
  background: transparent !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  text-shadow: none !important;
  fill: #0b1220 !important;
}

/* 보조 텍스트와 링크 색상 */
.card.content .muted,
.card.content .fine { color: #6b7280 !important; }
.card.content a { color: #1d4ed8 !important; text-decoration: underline !important; }

/* 가독성 보정 */
.card.content { font-size: 15px !important; line-height: 1.6 !important; }
@media (max-width: 900px) { .card.content { padding: 18px !important; } }

