:root { color-scheme: light; }
body { font-family: -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 0; background: #fafafa; color: #111; }
.container { max-width: 860px; margin: 40px auto; padding: 0 16px; }
.card { background: white; border: 1px solid #e7e7e7; border-radius: 10px; padding: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
h1 { font-size: 20px; margin: 0 0 14px; }
label { display:block; font-size: 13px; margin: 10px 0 6px; color:#333; }
input[type=text], input[type=email], input[type=password], textarea {
  width: 100%; box-sizing: border-box; border: 1px solid #d8d8d8; border-radius: 8px;
  padding: 10px 12px; font-size: 14px; outline: none; background: #fff;
}
textarea { min-height: 140px; resize: vertical; }
input:focus, textarea:focus { border-color: #999; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px){ .row { grid-template-columns: 1fr; } }
.btn { margin-top: 14px; background: #111; color: #fff; border: 0; border-radius: 10px; padding: 10px 14px; font-size: 14px; cursor: pointer; }
.btn:hover { opacity: .92; }
.muted { font-size: 12px; color: #666; margin-top: 10px; }
.validation-summary-errors, .field-validation-error { color: #b00020; font-size: 13px; }
.success { padding: 10px 12px; border: 1px solid #b7e2c1; background: #eaf7ee; border-radius: 10px; color:#0b5d1e; margin-bottom: 12px; }
.error { padding: 10px 12px; border: 1px solid #f0b4b4; background: #fdecec; border-radius: 10px; color:#7a0b0b; margin-bottom: 12px; }

input[type=file]{ width:100%; box-sizing:border-box; padding:10px 12px; border:1px dashed #cfcfcf; border-radius:8px; background:#fff; }


.card-brand{ display:flex; justify-content:center; margin-bottom: 10px; }
.card-logo{ height:60px; width:auto; display:block; }
