.v2-field-group {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
}

.v2-field-label {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-strong);
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: var(--line-height-snug);
}

.v2-field-label--muted {
    color: var(--text-soft);
    font-size: var(--font-size-xs);
    font-weight: 600;
}

.v2-field-shell,
.v6-field-shell {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    width: 100%;
    min-height: 3rem;
    padding: 0 var(--space-4);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-sm);
    background: var(--bg-surface);
    box-shadow: var(--shadow-xs);
    transition:
        border-color var(--transition-base),
        box-shadow var(--transition-base),
        background-color var(--transition-base);
}

.v2-field-shell:hover,
.v6-field-shell:hover {
    border-color: #c7d6ea;
}

.v2-field-shell:focus-within,
.v6-field-shell:focus-within {
    border-color: #8ba5cd;
    box-shadow:
        0 0 0 4px rgba(60, 101, 170, 0.07),
        var(--shadow-xs);
}

.v2-field-shell--textarea {
    align-items: flex-start;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
}

.v2-field-icon,
.v6-field-icon {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 0.95rem;
}

.v2-field-input,
.v2-field-select,
.v2-field-textarea,
.v6-field-input,
.v6-field-select {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--text-strong);
    font-size: var(--font-size-sm);
    font-weight: 500;
    line-height: 1.4;
    outline: 0;
}

.v2-field-input::placeholder,
.v2-field-textarea::placeholder,
.v6-field-input::placeholder {
    color: var(--text-muted);
}

.v2-field-select,
.v6-field-select {
    appearance: none;
    padding-right: 1.6rem;
    background-image:
        linear-gradient(45deg, transparent 50%, #8ca1c2 50%),
        linear-gradient(135deg, #8ca1c2 50%, transparent 50%);
    background-position:
        calc(100% - 0.95rem) calc(50% - 0.12rem),
        calc(100% - 0.6rem) calc(50% - 0.12rem);
    background-size: 0.36rem 0.36rem, 0.36rem 0.36rem;
    background-repeat: no-repeat;
}

.v2-field-textarea {
    min-height: 7rem;
    resize: vertical;
}

.v2-field-helper {
    color: var(--text-soft);
    font-size: var(--font-size-xs);
    line-height: 1.55;
}

.v2-field-error {
    color: var(--color-danger);
    font-size: var(--font-size-xs);
    font-weight: 600;
    line-height: 1.45;
}

.v2-field-group.is-error .v2-field-shell {
    border-color: rgba(220, 38, 38, 0.34);
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.06);
}
