/* =========================================================
   AI Automation Toolbox V3
   FORMS / INPUTS / CONTROLS
   ========================================================= */

button,
input,
select,
textarea {
    font: inherit;
}

.form,
.aat-form {
    width: 100%;
}

.form-row,
.aat-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-group,
.aat-form-group {
    margin-bottom: 16px;
}

.form-group label,
.aat-form-group label,
label {
    display: block;
    margin-bottom: 7px;
    color: var(--aat-orange);
    font-weight: 800;
}

/* Shared form structure: field names sit above their controls. */
.aat-form label:not(.aat-choice-row),
.form label:not(.checkbox-row):not(.radio-row) {
    display: grid;
    gap: 8px;
    align-content: start;
}

/* Shared spacing for forms that wrap controls inside their labels.
   Applies site-wide, including legacy/feature forms such as .sc-form. */
label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) > select,
label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) > textarea {
    display: block;
    margin-top: 8px;
}

.input,
.select,
.textarea,
.aat-input,
.aat-select,
.aat-textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="number"],
input[type="tel"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--aat-border);
    border-radius: var(--aat-radius-sm);
    outline: none;
    background: #080808;
    color: var(--aat-text-strong);
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

textarea,
.textarea,
.aat-textarea {
    min-height: 120px;
    resize: vertical;
}

.input:focus,
.select:focus,
.textarea:focus,
.aat-input:focus,
.aat-select:focus,
.aat-textarea:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--aat-orange);
    background: #0b0b0b;
    box-shadow: 0 0 0 3px rgba(255,165,0,.12);
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

::placeholder {
    color: #666;
}

.form-help,
.help-text,
.aat-form-help {
    margin-top: 6px;
    color: var(--aat-text-subtle);
    font-size: .8rem;
}

.form-actions,
.aat-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.checkbox-row,
.radio-row,
.aat-choice-row {
    display: flex;
    align-items: center;
    gap: 9px;
}

.checkbox-row input,
.radio-row input,
.aat-choice-row input {
    width: auto;
}

/* Global field rhythm: keep names, values, help text, and controls from touching. */
.field,
.aat-field,
.form-field,
.control-group,
.input-group,
.settings-field,
.profile-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.field + .field,
.aat-field + .aat-field,
.form-field + .form-field,
.control-group + .control-group,
.settings-field + .settings-field,
.profile-field + .profile-field {
    margin-top: 14px;
}

label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) + input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) + select,
label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) + textarea,
.form-label + input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.form-label + select,
.form-label + textarea,
.aat-label + input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.aat-label + select,
.aat-label + textarea {
    margin-top: 7px;
}

.field-label + .field-value,
.aat-field-label + .aat-field-value,
.label + .value,
dt + dd {
    margin-top: 6px;
}

.field-value,
.aat-field-value,
.data-value,
.value-text {
    overflow-wrap: anywhere;
    line-height: 1.5;
}

.form-group > .form-help,
.form-group > .help-text,
.aat-form-group > .aat-form-help,
.field > .form-help,
.field > .help-text,
.aat-field > .aat-form-help {
    margin-top: 7px;
}


/* Voice Agent shared forms */
#ui-voice-agents .va-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aat-space-4)}
#ui-voice-agents .va-field{display:grid;gap:7px;min-width:0}
#ui-voice-agents .va-field-full{grid-column:1/-1}
#ui-voice-agents .va-field>label{color:var(--aat-text-muted);font-size:.76rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}
#ui-voice-agents .va-input,#ui-voice-agents .va-select,#ui-voice-agents .va-textarea{width:100%;min-width:0;min-height:42px;padding:10px 12px;border:1px solid var(--aat-border);border-radius:var(--aat-radius-sm);background:var(--aat-bg-elevated);color:var(--aat-text);outline:none}
#ui-voice-agents .va-textarea{min-height:110px;resize:vertical;line-height:1.5}
#ui-voice-agents .va-input:focus,#ui-voice-agents .va-select:focus,#ui-voice-agents .va-textarea:focus{border-color:var(--aat-orange);box-shadow:var(--aat-focus-ring)}
#ui-voice-agents .va-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--aat-border-soft)}
#ui-voice-agents .va-switch-copy strong{display:block;color:var(--aat-text-strong)}
#ui-voice-agents .va-switch-copy span{display:block;margin-top:3px;color:var(--aat-text-muted);font-size:.84rem}
#ui-voice-agents .va-toggle{width:20px;height:20px;accent-color:var(--aat-orange);flex:0 0 auto}

/* Email Marketing */
.business-content .ui-mail-shell .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aat-space-4);align-items:end}
.business-content .ui-mail-shell .form-grid .full{grid-column:1/-1}
.business-content .ui-mail-shell .inline-form{display:flex;flex-wrap:wrap;gap:var(--aat-space-3);align-items:end}
.business-content .ui-mail-shell label{display:grid;gap:6px;color:var(--aat-text);font-weight:700;min-width:0}
.business-content .ui-mail-shell label>.muted{font-weight:500}
.business-content .ui-mail-shell input,.business-content .ui-mail-shell select,.business-content .ui-mail-shell textarea{width:100%;min-width:0;border:1px solid var(--aat-border);border-radius:var(--aat-radius-sm);background:var(--aat-bg-elevated);color:var(--aat-text);padding:10px 12px;outline:none}
.business-content .ui-mail-shell input:focus,.business-content .ui-mail-shell select:focus,.business-content .ui-mail-shell textarea:focus{border-color:var(--aat-orange);box-shadow:var(--aat-focus-ring)}
.business-content .ui-mail-shell textarea{resize:vertical;min-height:110px}


/* Native Toolbox Command V3 compatibility forms */
.vs-row,.ui-vd-form-row{display:grid;gap:7px;margin-bottom:var(--aat-space-3)}
.vs-input,.vs-select,.vs-textarea,.ab-input,.ab-select,.ab-textarea,.fs-form input,.fs-form select,.fs-form textarea,.ui-vd-input,.ui-vd-select,.ui-vd-textarea{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--aat-border-strong);border-radius:var(--aat-radius-sm);background:var(--aat-input-bg);color:var(--aat-text);font:inherit}
.vs-textarea,.ab-textarea,.fs-form textarea,.ui-vd-textarea{min-height:100px;resize:vertical}
.vs-checks,.ui-vd-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--aat-space-2)}
.vs-check,.ui-vd-check{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--aat-border);border-radius:var(--aat-radius-sm);background:var(--aat-surface-2)}

/* =========================================================
   SITE-WIDE FORM POLISH — 2026-09-19
   Keep ordinary field forms fluid and visually consistent.
   ========================================================= */

form {
    min-width: 0;
}

form:has(input[type="text"], input[type="email"], input[type="password"],
         input[type="url"], input[type="number"], input[type="tel"],
         input[type="search"], input[type="date"], input[type="time"],
         input[type="datetime-local"], select, textarea) {
    width: 100%;
    max-width: 100%;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="url"],
input[type="number"],
input[type="tel"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
}

form > label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row) {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 8px;
    line-height: 1.35;
}
form > label:not(.checkbox-row):not(.radio-row):not(.aat-choice-row):first-of-type { margin-top: 0; }

form > textarea,
form > select,
form > input[type="text"],
form > input[type="email"],
form > input[type="password"],
form > input[type="url"],
form > input[type="number"],
form > input[type="tel"],
form > input[type="search"],
form > input[type="date"],
form > input[type="time"],
form > input[type="datetime-local"] {
    width: 100%;
}

form > .actions, form > .form-actions, form > .aat-form-actions {
    margin-top: 18px;
}

@media (max-width: 768px) {
    input[type="text"], input[type="email"], input[type="password"],
    input[type="url"], input[type="number"], input[type="tel"],
    input[type="search"], input[type="date"], input[type="time"],
    input[type="datetime-local"], select, textarea {
        font-size: 16px;
    }
}

