.elcd-app{--elcd-ink:var(--el-ink,#182630);--elcd-green:var(--el-green,#17663e);max-width:820px;margin:32px auto 64px;padding:clamp(18px,4vw,36px);background:#fff;color:var(--elcd-ink);border:1px solid #d1d9d2;border-radius:12px;font:inherit;line-height:1.55}
.elcd-app *, .elcd-app *:before, .elcd-app *:after{box-sizing:border-box}
.elcd-app h2{margin:0 0 10px}.elcd-app-intro{color:#425660}.elcd-app-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:20px 0}
.elcd-app-steps li{border:1px solid #d1d9d2;border-radius:9px;min-width:0}.elcd-app-steps li[aria-current=step]{border:2px solid #17663e;background:#f1f7f2}.elcd-app-steps a{display:flex;align-items:center;min-height:44px;padding:8px;color:#17663e;text-decoration:underline;text-underline-offset:2px}
.elcd-app-field{margin:0 0 18px}.elcd-app-field label{display:block;font-weight:650;margin:0 0 6px}.elcd-app-field input,.elcd-app-field textarea{display:block;width:100%;min-height:48px;border:1px solid #778b91;border-radius:9px;padding:11px;background:#fff;color:#182630;font:inherit}.elcd-app button{background:#17663e;color:#fff;border:0;border-radius:9px;min-height:48px;padding:12px 20px;font-weight:700;cursor:pointer}
.elcd-app :is(a,button,input,textarea):focus-visible{outline:3px solid #17663e;outline-offset:3px}.elcd-app-notice{background:#f5f0e8;border:1px solid #d1d9d2;border-radius:9px;padding:18px;margin:16px 0;color:#182630}.elcd-app-success{color:#14562f;font-weight:bold}.elcd-app dt{font-weight:700}.elcd-app dd{margin:0 0 12px;overflow-wrap:anywhere}
@media(max-width:460px){.elcd-app-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.elcd-app{margin:18px 12px 40px}}
@media(prefers-reduced-motion:reduce){.elcd-app *{animation:none!important;transition:none!important}}

.elcd-app-steps>li>.elcd-app-locked{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid #d6dedb;border-radius:9px;background:#edecea;color:#616c70;cursor:not-allowed;opacity:.85;font-weight:600}
.elcd-app-steps>li[aria-current="step"]>a{border-color:#17663e;background:#e4f0e8;color:#17663e;font-weight:750}

.elcd-app .elcd-app-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.elcd-app .elcd-app-actions button,.elcd-app .elcd-app-next,.elcd-app .elcd-app-complete-form button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:#17663e;color:#fff;border:1px solid #17663e;border-radius:9px;text-decoration:none;font-weight:700;cursor:pointer}
.elcd-app .elcd-app-back{display:inline-flex;align-items:center;min-height:48px;padding:12px 22px;color:#17663e;background:#fff;border:1px solid #abc7b4;border-radius:9px;text-decoration:none;font-weight:700}
.elcd-app .elcd-app-errors{padding:18px 20px;background:#fff4f1;border:2px solid #b82105;border-radius:9px;color:#69220d;margin:18px 0}.elcd-app .elcd-app-errors a{color:#69220d}.elcd-app .is-invalid :is(input,textarea,select){border:2px solid #b82105!important}
.elcd-app-modal{position:fixed;inset:0;z-index:999999;background:rgba(24,38,48,.76);display:flex;align-items:center;justify-content:center;padding:20px}.elcd-app-modal-card{max-width:520px;width:100%;background:#fff;color:#182630;border-radius:12px;padding:32px;text-align:center;box-shadow:0 20px 80px #0005}.elcd-app-modal-close{display:inline-block;margin-top:18px;padding:12px 30px;background:#17663e;color:#fff!important;border-radius:9px;text-decoration:none}
@media(max-width:420px){.elcd-app .elcd-app-actions{flex-wrap:wrap}.elcd-app .elcd-app-actions>*{flex:1}}

.elcd-app-phone{display:grid;grid-template-columns:minmax(175px,1fr) minmax(0,2fr);gap:12px;align-items:start}
.elcd-app-phone :is(select,input){width:100%;min-width:0}
.elcd-optional{font-weight:400;font-size:.9em;color:#53646a}
@media(max-width:520px){.elcd-app-phone{grid-template-columns:1fr}}

/* Gate A: clearly explained protected document submission, inactive until approved. */
.elcd-documents{margin-top:18px}.elcd-documents>h3{font-size:1.5rem;margin-bottom:6px}.elcd-document-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.95fr);gap:24px;align-items:center;margin:16px 0;padding:20px;background:#fff;border:1px solid #cbd7ce;border-radius:12px}
.elcd-document-card h4{margin:0 0 6px;color:#182630;font-size:1.06rem}.elcd-document-card h4 small{display:block;font:400 .8rem system-ui,sans-serif;color:#56676c;margin-top:3px}.elcd-document-card p{margin:0;color:#465a62;font-size:.94rem}.elcd-document-card form{display:grid;gap:10px}.elcd-document-card label{font-weight:650;font-size:.9rem}.elcd-document-card input[type=file]{display:block;max-width:100%;min-height:48px;padding:10px;border:1px dashed #a0b7a9;border-radius:9px}.elcd-document-card :is(input,button):disabled{opacity:.55;cursor:not-allowed}.elcd-document-card button{width:100%}.elcd-document-card .elcd-uploaded{color:#17663e;margin-top:8px}.elcd-document-card a{color:#17663e}
@media(max-width:670px){.elcd-document-card{grid-template-columns:1fr;padding:16px;gap:14px}}


/* Review step: one compact, aligned action row, unaffected by theme form-card styles. */
.elcd-app .elcd-app-actions.elcd-app-review-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 28px 0 0;
  padding: 20px 0 0;
  border: 0;
  border-top: 1px solid #dbe5df;
  background: transparent;
  box-shadow: none;
}
.elcd-app .elcd-app-review-actions > .elcd-app-back {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 18px;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}
.elcd-app .elcd-app-review-actions > form.elcd-app-complete-form {
  display: block;
  flex: 0 1 auto;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}
.elcd-app .elcd-app-review-actions > form.elcd-app-complete-form button {
  display: inline-flex;
  width: auto !important;
  max-width: 100%;
  min-height: 44px;
  margin: 0 !important;
  padding: 10px 20px;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}
.elcd-app .elcd-app-review-actions > .elcd-app-success {
  flex: 1 1 260px;
  margin: 0;
}
@media (max-width: 560px) {
  .elcd-app .elcd-app-actions.elcd-app-review-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .elcd-app .elcd-app-review-actions > .elcd-app-back,
  .elcd-app .elcd-app-review-actions > form.elcd-app-complete-form,
  .elcd-app .elcd-app-review-actions > form.elcd-app-complete-form button {
    width: 100% !important;
    flex: 0 0 auto;
  }
}
