.affiliate-form .form-row {
    margin-bottom: 1em;
}

.affiliate-form .form-row label:not(.tw-switch) {
    display: block;
    margin-bottom: 0.25em;
    font-weight: 600;
}

.affiliate-form .form-input,
.affiliate-form select.form-input,
.affiliate-form textarea.form-input,
.affiliate-form .form-row input[type="text"],
.affiliate-form .form-row input[type="password"],
.affiliate-form .form-row input[type="email"],
.affiliate-form .form-row input[type="tel"],
.affiliate-form .form-row input[type="number"],
.affiliate-form .form-row select,
.affiliate-form .form-row textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--portal-border, #e2e8f0) !important;
    border-radius: 6px;
    background: var(--portal-surface-card, #ffffff);
    color: var(--portal-text, #0f172a) !important;
}

.affiliate-form .form-input:focus,
.affiliate-form select.form-input:focus,
.affiliate-form textarea.form-input:focus,
.affiliate-form .form-row input[type="text"]:focus,
.affiliate-form .form-row input[type="password"]:focus,
.affiliate-form .form-row input[type="email"]:focus,
.affiliate-form .form-row input[type="tel"]:focus,
.affiliate-form .form-row input[type="number"]:focus,
.affiliate-form .form-row select:focus,
.affiliate-form .form-row textarea:focus {
    outline: none;
    border-color: var(--portal-primary, #244E6A) !important;
    box-shadow: 0 0 0 3px rgba(36, 78, 106, 0.15);
}

.affiliate-form .form-input-wide {
    min-height: 120px;
}

.affiliate-form .form-hint {
    font-size: 0.85em;
    color: var(--portal-text-muted, #808080);
    display: block;
    margin-bottom: 0.25em;
}

.affiliate-form .form-actions {
    margin-top: 1.5em;
    padding-top: 1em;
    border-top: 1px solid #eee;
}

.affiliate-form .form-actions .btn {
    margin-right: 0.5em;
}

.affiliate-form [data-toggle=buttons]>.btn>input[type=radio],
.affiliate-form [data-toggle=buttons]>.btn>input[type=checkbox] {
    display: none;
}

.affiliate-form .btn-group .btn {
    margin-bottom: 0;
}

.affiliate-form div.toggle {
    margin-bottom: 0.5em;
}

/* Tailwind-style switch: active segment uses primary
   (avoid :has() for broader browser compatibility) */
.affiliate-form .tw-switch {
    display: inline-flex;
    min-width: 1px;
}

.affiliate-form .tw-switch .tw-switch-off {
    color: #6b7280;
}

.affiliate-form .tw-switch .tw-switch-on {
    color: #6b7280;
}

.affiliate-form .tw-switch-off,
.affiliate-form .tw-switch-on {
    background: transparent;
}

.affiliate-form .tw-switch-input:checked~.tw-switch-on {
    background: #244E6A;
    color: #fff;
}

.affiliate-form .tw-switch-input:not(:checked)~.tw-switch-off {
    background: #244E6A;
    color: #fff;
}