.form-label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--color-label); margin-bottom: var(--space-1); margin-top: var(--space-3); } .form-input { width: 100%; padding: var(--space-2) 0.75rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-size: 0.95rem; font-family: var(--font-family); box-sizing: border-box; &:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15); } } .form-hint { display: block; font-size: 0.75rem; color: var(--color-disabled); margin-top: 0.25rem; } // Piège : le chevron est un SVG en data URI, où aucun token CSS n'est lisible ; sa couleur // reprend en dur la valeur de --color-text-muted. .form-select { @extend .form-input; padding-right: 2.25rem; color: var(--color-text); background-color: var(--color-surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.6rem center; background-size: 1rem; appearance: none; cursor: pointer; }