.wrapper { display: flex; flex-direction: column; gap: var(--space-1); font-family: var(--font-family); width: 100%; } .label { font-size: var(--font-size-sm); font-weight: 500; color: var(--color-text); } .input { font-family: var(--font-family); font-size: var(--font-size-md); color: var(--color-text); background: var(--color-bg); border: var(--border-width) solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); height: 36px; width: 100%; outline: none; box-shadow: var(--shadow-xs); transition: border-color var(--transition), box-shadow var(--transition); } .input::placeholder { color: var(--color-text-muted); } .input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); } .input:disabled { opacity: 0.5; cursor: not-allowed; background: var(--color-bg-subtle); } .hasError { border-color: var(--color-error-fg); } .hasError:focus { border-color: var(--color-error-fg); box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2); } .hint { font-size: var(--font-size-xs); color: var(--color-text-muted); } .error { font-size: var(--font-size-xs); color: var(--color-error-fg); }