.register-page {
  background: var(--sand);
  min-height: 100vh;
  padding: 56px 0 80px;
}
.register-card {
  max-width: 680px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold-500);
  border-radius: var(--radius-md);
  padding: 42px 44px;
}
.register-card h1 {
  font-size: 1.9rem;
  font-weight: 800;
  color: var(--navy-900);
  margin: 0 0 8px;
  text-align: center;
}
.register-sub { text-align: center; color: var(--muted); margin: 0 0 34px; }

.register-card .field { margin-bottom: 22px; }
.register-card .field label {
  display: block; font-weight: 700; font-size: 0.92rem; color: var(--navy-900); margin-bottom: 9px;
}
.register-card .req { color: var(--danger); margin-right: 4px; }
.register-card input,
.register-card select {
  width: 100%;
  border: 1.5px solid rgba(15,42,74,0.14);
  background: var(--sand);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  font-family: inherit;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
  appearance: none;
}
.register-card select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b80' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 14px center;
  background-size: 18px;
}
.register-card input:focus,
.register-card select:focus {
  border-color: var(--gold-500);
  background-color: var(--white);
}
.register-card .field-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 22px;
}
.file-field input[type=file] {
  padding: 12px 14px;
  background: var(--gold-050);
  border: 1.5px dashed var(--gold-400);
  cursor: pointer;
}
.submit-btn.full-width { width: 100%; justify-content: center; margin-top: 10px; }
.submit-btn.full-width:disabled { opacity: 0.6; cursor: not-allowed; }

#reg-msg { margin-bottom: 20px; }
.register-card .hint { display: block; margin-top: 7px; font-size: 0.78rem; color: var(--muted); font-weight: 400; }

@media (max-width: 640px) {
  .register-card { padding: 32px 22px; }
  .register-card .field-row { grid-template-columns: 1fr 1fr; }
}
