.rio-form-shell {
max-width: 880px;
margin: 0 auto;
}
.rio-form {
margin: 0;
display: flex;
flex-direction: column;
gap: var(--rio-s5);
}
.rio-fieldset {
border: 1px solid var(--rio-border-soft);
border-radius: var(--rio-radius-lg);
padding: var(--rio-s6);
margin: 0;
background: var(--rio-surface);
box-shadow: var(--rio-shadow);
}
.rio-fieldset > legend {
font-size: var(--rio-fs-xs);
font-weight: var(--rio-fw-bold);
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--rio-text-subtle);
padding: 0 var(--rio-s2);
margin-inline-start: calc(-1 * var(--rio-s2));
}
.rio-fieldset-grid {
display: flex;
flex-direction: column;
gap: var(--rio-s5);
}
.rio-field {
display: flex;
flex-direction: column;
gap: var(--rio-s2);
}
.rio-field--full { grid-column: 1 / -1; }
.rio-field-label {
font-weight: var(--rio-fw-semibold);
font-size: var(--rio-fs-md);
color: var(--rio-text-strong);
display: inline-flex;
align-items: center;
gap: 0.35rem;
}
.rio-required {
color: var(--rio-danger);
font-size: var(--rio-fs-xs);
font-weight: var(--rio-fw-bold);
margin-inline-start: 0;
}
.rio-field-hint {
margin: 0;
font-size: var(--rio-fs-sm);
color: var(--rio-text-muted);
line-height: var(--rio-lh-ui);
}
.rio-field-errors {
list-style: none;
margin: var(--rio-s1) 0 0;
padding: 0;
color: var(--rio-danger);
font-size: var(--rio-fs-sm);
}
.rio-input,
.rio-textarea,
.rio-select {
width: 100%;
min-height: 44px;
padding: 0.625rem var(--rio-s3);
border: 1px solid var(--rio-border-strong);
border-radius: var(--rio-radius-sm);
background: var(--rio-surface);
color: var(--rio-text-strong);
box-shadow: var(--rio-shadow-inset);
font: inherit;
font-size: var(--rio-fs-md);
line-height: var(--rio-lh-ui);
transition: border-color 0.12s, box-shadow 0.12s, background-color 0.12s;
}
.rio-input::placeholder,
.rio-textarea::placeholder { color: var(--rio-text-subtle); }
.rio-input:hover,
.rio-textarea:hover,
.rio-select:hover { border-color: var(--rio-text-muted); }
.rio-input:focus,
.rio-textarea:focus,
.rio-select:focus {
outline: none;
border-color: var(--rio-accent);
box-shadow: var(--rio-shadow-inset),
0 0 0 4px var(--rio-accent-border);
}
.rio-input:disabled,
.rio-textarea:disabled,
.rio-select:disabled {
background: var(--rio-surface-2);
color: var(--rio-text-subtle);
cursor: not-allowed;
}
.rio-textarea { font-family: var(--rio-font-sans); resize: vertical; min-height: 7rem; }
.rio-checkbox {
display: inline-flex;
align-items: center;
gap: var(--rio-s2);
cursor: pointer;
}
.rio-checkbox input[type="checkbox"] {
width: 1rem;
height: 1rem;
accent-color: var(--rio-accent);
}
.rio-checkbox-list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr;
gap: var(--rio-s2);
}
.rio-form-actions {
display: flex;
align-items: center;
gap: var(--rio-s2);
flex-wrap: wrap;
padding-top: var(--rio-s5);
border-top: 1px solid var(--rio-border-soft);
}
.rio-form-actions-spacer { flex: 1; min-width: var(--rio-s4); }
.rio-inline-section {
margin-top: var(--rio-s5);
}
.rio-inline-section__header {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: var(--rio-s3);
margin-bottom: var(--rio-s3);
}
.rio-inline-section__header h2 {
margin: 0;
font-size: var(--rio-fs-lg);
font-weight: var(--rio-fw-semibold);
}
.rio-inline-table { margin-bottom: var(--rio-s3); }
.rio-inline-section__actions {
display: flex;
gap: var(--rio-s2);
flex-wrap: wrap;
}