/**
 * THEME PREFERENCE COMPACT — PharmData Design System v1.0
 *
 * Renderer compacto e declarativo para a preferência triestado de tema.
 * O select mantém comportamento nativo; o adaptador cuida apenas da conexão
 * com PharmDataTheme.
 */

.theme-preference-compact {
    display: inline-flex;
    min-block-size: var(--space-11);
    max-inline-size: 100%;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-1);
    padding-inline-start: var(--space-3);
    background: var(--surface-raised);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-lg);
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
    white-space: nowrap;
}

.theme-preference-compact__label {
    color: var(--text-secondary);
    font-weight: var(--weight-medium);
}

.theme-preference-compact__select {
    box-sizing: border-box;
    min-block-size: calc(var(--space-11) - (2 * var(--space-1)));
    min-inline-size: 6.5rem;
    max-inline-size: 100%;
    padding-inline: var(--space-2);
    background: var(--surface-base);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    cursor: pointer;
    font: inherit;
}

.theme-preference-compact__select:hover:not(:disabled) {
    border-color: var(--signal-primary);
}

.theme-preference-compact__select:focus-visible {
    outline: 3px solid var(--signal-primary);
    outline-offset: 2px;
}

.theme-preference-compact__select:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.theme-preference-compact--fixed {
    position: fixed;
    inset-block-start: var(--space-4);
    inset-inline-end: var(--space-4);
    z-index: var(--z-popover);
}

@media (forced-colors: active) {
    .theme-preference-compact,
    .theme-preference-compact__select {
        border-color: CanvasText;
    }
}
