/* Controles de formulário com escala única e foco consistente. */

select {
    color-scheme: var(--portal-color-scheme, dark);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23cbd5e1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5'/%3E%3C/svg%3E");
    background-position: right 1rem center;
    background-repeat: no-repeat;
    background-size: 1rem;
    padding-right: 3rem;
}

select option,
select optgroup {
    background-color: var(--portal-surface-strong);
    color: var(--portal-text-primary);
}

select::-ms-expand { display: none; }

select option:checked,
select option:hover,
select option:focus {
    background-color: var(--portal-card);
    color: var(--portal-text-primary);
}

label { line-height: 1.35; }

.portal-body input,
.portal-body textarea,
.portal-body select {
    color: var(--portal-text-primary);
    border-color: var(--portal-border);
}

.portal-body input::placeholder,
.portal-body textarea::placeholder { color: var(--portal-text-muted); }

input:not([type='checkbox']):not([type='radio']),
select,
textarea {
    max-width: 100%;
    font-size: var(--ui-text-sm);
    line-height: 1.35;
}

input:not([type='checkbox']):not([type='radio']),
select { min-height: var(--ui-control-min-height); }

textarea { min-height: 6rem; }

input:not([type='checkbox']):not([type='radio']):focus,
select:focus,
textarea:focus { box-shadow: var(--ui-focus-ring); }

.dashboard-filter-primary-grid,
.history-filter-primary-grid { min-width: 0; }

.dashboard-filter-actions,
.history-filter-primary-actions { min-width: 0; }

input[type="date"] {
    color-scheme: var(--portal-color-scheme, dark);
}

input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    filter: invert(1) brightness(1.15);
    opacity: 0.8;
}

input[type="date"]::-webkit-datetime-edit {
    padding: 0;
}
