.UI_FormPage {
    display: grid;
    gap: 20px;
    padding: 10px;
}

.UI_FormStack {
    display: grid;
    gap: 20px;
}

.UI_SectionCard {
    display: grid;
    gap: 10px;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #eee;
    background-color: #fff;
}

.UI_SectionCard .UI_SectionTitle {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--MainText1);
}

.UI_SectionCard .UI_SectionNote {
    font-size: 0.9em;
    line-height: 1.6;
    color: var(--SubText1);
}

.UI_FormRow {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.UI_FormCol1 {
    flex: 1;
    min-width: 160px;
}

.UI_FormCol2 {
    flex: 2;
    min-width: 240px;
}

.UI_Field {
    display: grid;
    gap: 6px;
}

.UI_FieldText {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9em;
    color: var(--SubText1);
}

.UI_Field.Full textarea,
.UI_Field.Full input[type="text"],
.UI_Field.Full input[type="search"],
.UI_Field.Full input[type="email"],
.UI_Field.Full input[type="tel"],
.UI_Field.Full input[type="file"] {
    width: 100%;
}

.UI_ActionRow {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.UI_ActionRow.UI_ActionRow--start {
    justify-content: flex-start;
}

.UI_ActionRow.UI_ActionRow--end {
    justify-content: flex-end;
}

.UI_RequiredBadge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 0.75em;
    font-weight: 600;
    color: #fff;
    background-color: var(--PrimaryColor);
}
