*{box-sizing:border-box}
:root{
  --bg:#f4f7f8;
  --card:#fff;
  --text:#183036;
  --muted:#5e7378;
  --primary:#126b6d;
  --primary-dark:#0d5153;
  --blue:#123f68;
  --border:#d9e3e5;
}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}
.wrap{
  width:min(900px,calc(100% - 28px));
  margin:0 auto;
  padding:30px 0 50px;
}
.hero{text-align:center;margin-bottom:24px}
.logo{width:min(250px,75%);height:auto}
.hero h1{color:var(--blue);margin:10px 0 8px}
.lead{color:var(--muted);max-width:700px;margin:0 auto}
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:22px;
  box-shadow:0 8px 24px rgba(24,48,54,.05);
  margin-bottom:18px;
}
.choice-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.choice-card{text-align:center}
.choice-card h2{color:var(--blue)}
fieldset{
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px;
  margin:0 0 18px;
}
legend{
  padding:0 8px;
  color:var(--blue);
  font-weight:700;
}
.grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.full{grid-column:1/-1}
label{display:block;font-weight:700}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea,input[type=file]{
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid #bdcbce;
  border-radius:8px;
  background:#fff;
  font:inherit;
}
textarea{min-height:120px;resize:vertical}
.checks{display:grid;gap:10px}
.checks label{font-weight:400}
.small{font-size:.9rem;color:var(--muted)}
.spaced{margin-top:12px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.btn,.doc-btn{
  display:inline-block;
  border:0;
  border-radius:9px;
  padding:12px 17px;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
  background:var(--primary);
  color:#fff;
  font-size:1rem;
}
.btn.alt,.doc-btn{
  background:#eef7f7;
  color:var(--primary);
  border:1px solid #cbe2e2;
}
.document-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.quota-options{display:grid;gap:12px}
.quota-options>label{
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fafcfc;
}
.quota-extra{padding:0 12px 8px 34px}
.payment-box{
  margin-top:18px;
  padding:16px;
  border:1px solid #cbdcde;
  border-radius:12px;
  background:#f7fbfb;
}
.iban-placeholder{
  display:inline-block;
  padding:6px 10px;
  border-radius:7px;
  background:#fff4cc;
  border:1px solid #ecd881;
}
.friendly-error{
  border-color:#e3c78b;
  background:#fff9e8;
}
.success{
  border-color:#a8d4c6;
  background:#f4fbf8;
}
@media(max-width:700px){
  .grid,.choice-grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .actions,.document-links{flex-direction:column}
  .btn,.doc-btn{width:100%;text-align:center}
}

.draft-restored,.draft-file-notice{margin:0 auto 14px;padding:11px 14px;border-radius:9px;font-size:.92rem}
.draft-restored{background:#eef8f3;border:1px solid #b9dacb;color:#205d46}
.draft-file-notice{background:#fff8e8;border:1px solid #ead59b;color:#705820}
