.customer-form {
    --form-green: #72e5a1;
    --form-red: #ff9393;
    max-width: 920px;
    margin: 24px auto;
    padding: clamp(20px, 4vw, 44px);
    background: #191c20;
    border: 1px solid #444a53;
    border-radius: 16px;
    color: #fff;
    text-align: left;
    box-shadow: 0 16px 40px #0003;
}
.customer-form .form-instructions { padding: 18px 20px; border-left: 4px solid #ffcf03; background: #252a30; border-radius: 6px; margin-bottom: 28px; }
.customer-form .form-instructions strong { color: #ffdf58; font-size: 18px; }
.customer-form p, .customer-form label, .customer-form legend { color: #fff; }
.customer-form .form-instructions p { margin: 6px 0 0; font-size: 14px; line-height: 1.7; }
.customer-form .customer-section { border: 0; border-bottom: 1px solid #454b53; padding: 0 0 20px; margin: 0 0 28px; min-width: 0; }
.customer-form .customer-section legend { float: none; width: auto; padding: 0; margin: 0 0 22px; font-size: 20px; font-weight: 600; }
.customer-form .form-group { margin-bottom: 22px !important; }
.customer-form .customer-field { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 16px; align-items: start; }
.customer-form .customer-field > .customer-label { margin: 10px 0 0; font-size: 14px; line-height: 1.5; font-weight: 600; }
.customer-form .customer-control { position: relative; min-width: 0; padding-right: 28px; }
.customer-form .form-control { background: #101317 !important; border: 1px solid #68717c !important; border-radius: 5px !important; color: #fff !important; -webkit-text-fill-color: #fff; min-height: 44px; padding: 10px 12px; width: 100%; box-shadow: none; }
.customer-form .form-control::placeholder { color: #bbc1cb; opacity: 1; }
.customer-form .form-control:focus { outline: 2px solid #ffcf03; outline-offset: 2px; }
.customer-form .form-control:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #101317 inset !important; -webkit-text-fill-color: #fff !important; }
.customer-form select option { background: #101317; color: #fff; }
.customer-form .input-group { background: transparent; flex-wrap: wrap; gap: 6px; padding: 0; border: 0; }
.customer-form .input-group > .form-control { flex: 1 1 160px; }
.customer-form .input-group-append { align-self: stretch; display: flex; }
.customer-form .input-group-text { background: #30363e; color: white; border-color: #68717c; }
.customer-form .floating-label { display: none; }
.customer-form .field-status { position: absolute; top: 10px; right: 0; font-size: 20px; font-weight: bold; }
.customer-form .field-valid > .customer-label, .customer-form .field-valid .field-status { color: var(--form-green) !important; }
.customer-form .field-valid .form-control { border-color: var(--form-green) !important; color: var(--form-green) !important; -webkit-text-fill-color: var(--form-green) !important; }
.customer-form .field-invalid > .customer-label, .customer-form .field-invalid .field-status { color: var(--form-red) !important; }
.customer-form .field-invalid .form-control { border-color: var(--form-red) !important; color: var(--form-red) !important; -webkit-text-fill-color: var(--form-red) !important; }
.customer-form .field-hint { display: none; position: relative; background: #42252a; color: #ffb6b6; border: 1px solid #b66570; border-radius: 6px; padding: 10px 12px; margin-top: 10px; font-size: 13px; line-height: 1.5; box-shadow: 0 6px 18px #0003; }
.customer-form .field-hint::before { content: ''; position: absolute; top: -6px; left: 16px; width: 10px; height: 10px; transform: rotate(45deg); background: #42252a; border-top: 1px solid #b66570; border-left: 1px solid #b66570; }
.customer-form .field-invalid .field-hint { display: block; }
.customer-form label.error { display: none !important; }
.customer-form .customer-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.customer-form .customer-actions .btn { width: auto !important; }
.customer-form .custom-control, .customer-form .form-check { margin-bottom: 8px; }
.customer-form .custom-control-label { white-space: normal; }
.customer-form input[type=checkbox], .customer-form input[type=radio] { accent-color: #ffcf03; }
.customer-form .custom-control { display: flex; align-items: center; gap: 10px; padding-left: 0; }
.customer-form .custom-control input { display: inline-block !important; position: static; opacity: 1; width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.customer-form .custom-control-label { padding-left: 0; margin: 0; }
.customer-form .custom-control-label::before, .customer-form .custom-control-label::after { display: none; }
.customer-form .input-group.d-flex.flex-column, .customer-form .input-group > .d-flex.flex-column { flex-direction: row !important; flex-wrap: wrap; gap: 14px; }
.customer-form .text-success { color: var(--form-green) !important; }
.customer-form a { color: #ffdf58; text-decoration: underline; }
.customer-form .form-summary { color: #ffb6b6; padding: 12px; border: 1px solid #b66570; margin-bottom: 20px; }
@media (max-width: 640px) {
    .customer-form .customer-field { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .customer-form .customer-field > .customer-label { margin-top: 0; }
    .customer-form { padding: 18px 14px; }
    .customer-form .customer-control { padding-right: 24px; }
    .customer-form .g-recaptcha { max-width: 100%; overflow-x: auto; }
}
