:root {
    --iapp-form-border: #b8c3d2;
    --iapp-form-border-focus: #3f5e89;
    --iapp-form-text: #172026;
    --iapp-form-placeholder: #94a5ad;
    --iapp-form-disabled: #f2f4f7;
    --iapp-form-focus: rgba(63, 94, 137, .14);
}

.app-shell .conteudo-sistema :where(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='range']):not([type='color'])),
.app-shell .conteudo-sistema select,
.app-shell .conteudo-sistema textarea,
.iapp-formularios :where(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='range']):not([type='color'])),
.iapp-formularios select,
.iapp-formularios textarea,
.comunicacao-widget :where(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='button']):not([type='submit']):not([type='reset']):not([type='image']):not([type='range']):not([type='color'])),
.comunicacao-widget select,
.comunicacao-widget textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--iapp-form-border);
    border-radius: 9px;
    padding: 11px 12px;
    background: #fff;
    color: var(--iapp-form-text);
    font: inherit;
    font-size: 15px;
    box-shadow: none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.app-shell .conteudo-sistema textarea,
.iapp-formularios textarea,
.comunicacao-widget textarea {
    min-height: 112px;
    resize: vertical;
}

.app-shell .conteudo-sistema input::placeholder,
.app-shell .conteudo-sistema textarea::placeholder,
.iapp-formularios input::placeholder,
.iapp-formularios textarea::placeholder,
.comunicacao-widget input::placeholder,
.comunicacao-widget textarea::placeholder {
    color: var(--iapp-form-placeholder);
    opacity: 1;
}

.app-shell .conteudo-sistema input:focus,
.app-shell .conteudo-sistema select:focus,
.app-shell .conteudo-sistema textarea:focus,
.iapp-formularios input:focus,
.iapp-formularios select:focus,
.iapp-formularios textarea:focus,
.comunicacao-widget input:focus,
.comunicacao-widget select:focus,
.comunicacao-widget textarea:focus {
    border-color: var(--iapp-form-border-focus);
    outline: 0;
    box-shadow: 0 0 0 3px var(--iapp-form-focus);
}

.app-shell .conteudo-sistema input:disabled,
.app-shell .conteudo-sistema select:disabled,
.app-shell .conteudo-sistema textarea:disabled,
.iapp-formularios input:disabled,
.iapp-formularios select:disabled,
.iapp-formularios textarea:disabled,
.comunicacao-widget input:disabled,
.comunicacao-widget select:disabled,
.comunicacao-widget textarea:disabled {
    background: var(--iapp-form-disabled);
    color: #667085;
    cursor: not-allowed;
    opacity: 1;
}

.app-shell .conteudo-sistema input[readonly],
.app-shell .conteudo-sistema textarea[readonly],
.iapp-formularios input[readonly],
.iapp-formularios textarea[readonly] {
    background: #f8fafc;
}

.app-shell .conteudo-sistema input[type='checkbox'],
.app-shell .conteudo-sistema input[type='radio'],
.iapp-formularios input[type='checkbox'],
.iapp-formularios input[type='radio'],
.comunicacao-widget input[type='checkbox'],
.comunicacao-widget input[type='radio'] {
    accent-color: var(--iapp-form-border-focus);
}

.app-shell .conteudo-sistema input[type='file']::file-selector-button,
.iapp-formularios input[type='file']::file-selector-button,
.comunicacao-widget input[type='file']::file-selector-button {
    margin: -7px 10px -7px -8px;
    border: 0;
    border-right: 1px solid var(--iapp-form-border);
    padding: 8px 12px;
    background: #eef2f7;
    color: #334157;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.iapp-choices {
    width: 100%;
    margin: 0;
    color: var(--iapp-form-text);
    font-size: 15px;
}

.iapp-choices .choices__inner {
    box-sizing: border-box;
    min-height: 48px;
    border: 1px solid var(--iapp-form-border);
    border-radius: 9px;
    padding: 8px 38px 8px 11px;
    background: #fff;
    color: var(--iapp-form-text);
    font-size: 15px;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.iapp-choices[data-type*='select-one'] .choices__inner {
    padding-bottom: 8px;
}

.iapp-choices[data-type*='select-one']::after {
    right: 14px;
    border-color: #52657a transparent transparent;
}

.iapp-choices[data-type*='select-one'].is-open::after {
    border-color: transparent transparent #52657a;
}

.iapp-choices.is-focused .choices__inner,
.iapp-choices.is-open .choices__inner {
    border-color: var(--iapp-form-border-focus);
    box-shadow: 0 0 0 3px var(--iapp-form-focus);
}

.iapp-choices.is-open .choices__inner {
    border-radius: 9px 9px 0 0;
}

.iapp-choices .choices__list--single {
    padding: 5px 16px 5px 0;
}

.iapp-choices .choices__list--multiple .choices__item {
    border-color: #3f5e89;
    border-radius: 7px;
    background: #3f5e89;
    font-weight: 650;
}

.iapp-choices .choices__list--dropdown,
.iapp-choices .choices__list[aria-expanded] {
    z-index: 120;
    border-color: var(--iapp-form-border-focus);
    border-radius: 0 0 9px 9px;
    box-shadow: 0 12px 28px rgba(23, 32, 38, .14);
}

.app-shell .iapp-choices .choices__input,
.iapp-formularios .iapp-choices .choices__input,
.comunicacao-widget .iapp-choices .choices__input {
    min-height: 38px;
    margin: 0;
    border: 0;
    border-bottom: 1px solid #dbe2ea;
    border-radius: 0;
    padding: 9px 11px;
    background: #f8fafc;
    box-shadow: none;
}

.iapp-choices[data-type*='select-multiple'] .choices__input {
    width: auto;
    min-height: 28px;
    border: 0;
    padding: 4px;
    background: transparent;
}

.iapp-choices .choices__item--choice {
    padding: 10px 12px;
}

.iapp-choices .choices__item--choice.is-highlighted {
    background: #e8edf3;
}

.iapp-choices.is-disabled .choices__inner {
    border-color: #d2d8e1;
    background: var(--iapp-form-disabled);
    color: #667085;
    cursor: not-allowed;
}

.iapp-choices.is-invalid .choices__inner {
    border-color: #c62828;
    box-shadow: 0 0 0 3px rgba(198, 40, 40, .12);
}

@media (max-width: 760px) {
    .iapp-choices,
    .iapp-choices .choices__inner,
    .iapp-choices .choices__input {
        font-size: 16px;
    }
}

/* Linguagem global de ações: botões textuais usam formato pill. */
:root {
    --iapp-button-radius: 999px;
}

.app-shell :where(.btn, button:not(.sistema-ajuda), input[type='button'], input[type='submit'], input[type='reset']),
.iapp-formularios :where(.btn, button:not(.sistema-ajuda), input[type='button'], input[type='submit'], input[type='reset']),
.comunicacao-widget :where(.btn, button:not(.sistema-ajuda), input[type='button'], input[type='submit'], input[type='reset']) {
    border-radius: var(--iapp-button-radius) !important;
}

/* Controles que funcionam como cartões preservam sua forma estrutural. */
.comunicacao-widget :where(.comunicacao-widget-conversa, .comunicacao-widget-user, .comunicacao-widget-novidade) {
    border-radius: 14px !important;
}
