:root{
  --sapb-blue:#256BB1;
  --sapb-dark:#1f2937;
  --sapb-muted:#6b7280;
  --sapb-bg:#f7f7f9;
  --radius:16px;
}
*{box-sizing:border-box}
body{font-family:Ubuntu,Arial,Helvetica,sans-serif;margin:0;background:var(--sapb-bg);color:var(--sapb-dark)}
.form-card{
  max-width: 960px;
  margin: 2rem auto;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  overflow: hidden;
}
.form-header{
  background: #0f3a7a;
  color:#fff;
  padding: 1.25rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-radius: 10px;
}
.form-header h2{margin:0;font-size:1.25rem;color:#fff;}
.lang-switch{display:flex;gap:.5rem}
.lang-switch button{
  background: rgba(255,255,255,.15);
  border:0;color:#fff;padding:.4rem .6rem;border-radius:8px;cursor:pointer
}
.lang-switch button.active{background:#fff;color:#0f3a7a}
.form-body{padding: 1.5rem}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.grid-1{grid-template-columns:1fr}
label{font-weight:700;font-size:.9rem;color:var(--sapb-dark)}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:.7rem .8rem;border:1px solid #e5e7eb;border-radius:10px;font:inherit
}
input[type=file]{border:1px dashed #d1d5db;border-radius:10px;padding:.8rem;background:#fafafa}
.small{font-size:.85rem;color:var(--sapb-muted)}
.row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
button[type=submit]{
  background: var(--sapb-blue); color:#fff; border:0; padding:.85rem 1.2rem; border-radius:10px; cursor:pointer; font-weight:700
}
.helper{color:var(--sapb-muted);font-size:.85rem}
.required:after{content:' *';color:#ef4444}
.footnote{font-size:.8rem;color:var(--sapb-muted);margin-top:.75rem}
@media (max-width: 720px){
  .grid{grid-template-columns:1fr}
}
