/* First-party onboarding refinements; loaded after the shared theme. */
.onboarding-brand-logo { display: block; width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.onboarding-shell .form-control,
.onboarding-shell .form-select {
    box-sizing: border-box;
    width: 100%;
    height: 54px;
    min-height: 54px;
    border: 1px solid rgba(19, 34, 56, .14);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, .96);
    color: var(--idify-ink);
    font: inherit;
    line-height: 1.5;
    padding: .85rem 1rem;
}
.onboarding-shell .form-select { padding-right: 2.75rem; }
.onboarding-shell .form-control:focus,
.onboarding-shell .form-select:focus {
    border-color: rgba(12, 127, 242, .36);
    box-shadow: 0 0 0 4px rgba(12, 127, 242, .1);
}
.onboarding-shell .form-control.is-invalid,
.onboarding-shell .form-select.is-invalid { border-color: var(--idify-danger); }
.onboarding-shell .form-control:disabled,
.onboarding-shell .form-control[readonly],
.onboarding-shell .form-select:disabled { background-color: #f1f4f8; color: var(--idify-muted); }
.onboarding-summary {
    background: #fff;
    border: 1px solid var(--idify-line);
    border-radius: 14px;
    margin: 0 0 1.25rem;
    padding: .35rem 1.25rem;
}
.onboarding-summary .summary-item {
    display: grid;
    grid-template-columns: minmax(180px, .9fr) minmax(0, 1.4fr);
    align-items: baseline;
    gap: .5rem 1.75rem;
    padding: 1rem 0;
}
.onboarding-summary .summary-item + .summary-item { border-top: 1px solid var(--idify-line); }
.onboarding-summary dt { color: var(--idify-muted); font-weight: 500; line-height: 1.6; }
.onboarding-summary dd { color: var(--idify-ink); font-weight: 700; line-height: 1.6; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.billing-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.billing-fields > div { min-width: 0; }
#billing_quote_result { line-height: 1.75; }
.billing-contact-link { display: inline-block; margin-top: .5rem; font-weight: 700; text-decoration: underline; }
#billing_accept:disabled { cursor: wait; }
@media (max-width: 760px) { .billing-fields { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
    .onboarding-summary { padding: .15rem 1rem; }
    .onboarding-summary .summary-item { grid-template-columns: minmax(0, 1fr); gap: .2rem; padding: .85rem 0; }
}
