mirror of
https://github.com/razzant/ouroboros.git
synced 2026-10-02 19:58:46 +00:00
Centralize shared UI primitives and repair cross-surface chat, form, and interaction presentation while preserving existing task and Project behavior.
74 lines
3.2 KiB
CSS
74 lines
3.2 KiB
CSS
/* Shared Review-lanes layout for Settings and the setup wizard. */
|
|
.reviewer-slots-group { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
.reviewer-slots-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: var(--space-2);
|
|
}
|
|
.reviewer-slots-heading {
|
|
margin: 0;
|
|
font-size: var(--type-body);
|
|
line-height: var(--line-title);
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
}
|
|
.reviewer-slot-rows { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
.reviewer-slot-row {
|
|
border: 1px solid var(--divider);
|
|
border-radius: 8px;
|
|
padding: 10px 12px;
|
|
}
|
|
.reviewer-slot-route-identity {
|
|
margin-bottom: var(--space-1);
|
|
color: var(--text-primary);
|
|
font-size: var(--type-meta);
|
|
line-height: var(--line-meta);
|
|
}
|
|
.reviewer-slot-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
|
|
/* Field chrome comes from ui.css .ui-control;
|
|
only the row's sizing is local. Proportions follow the content (owner
|
|
feedback): the route select stays compact — its widest dropdown OPTION must
|
|
not set the closed width; the free-text model id (long provider/model ids)
|
|
takes the flexible room; effort stays compact; Remove docks right. */
|
|
.reviewer-slot-controls select,
|
|
.reviewer-slot-controls input { min-width: 140px; max-width: 100%; width: auto; flex: 0 1 auto; }
|
|
.reviewer-slot-controls select[data-slot-route],
|
|
.reviewer-slot-controls select[data-advisory-route] { max-width: 240px; }
|
|
.reviewer-slot-controls [data-slot-remove] { margin-left: auto; }
|
|
/* The base .local-toggle carries padding-bottom:8px for form layouts; inside a
|
|
center-aligned control row that padding shoves the checkbox off-axis. The
|
|
row's generic input sizing above also hits the toggle's CHECKBOX (an input),
|
|
stretching an empty 140px box between the glyph and its label. */
|
|
.reviewer-slot-controls .local-toggle { padding-bottom: 0; }
|
|
.reviewer-slot-controls .local-toggle input[type="checkbox"] {
|
|
min-width: 0;
|
|
width: 14px;
|
|
padding: 0;
|
|
}
|
|
.reviewer-slot-meta {
|
|
font-size: var(--type-meta);
|
|
line-height: var(--line-meta);
|
|
color: var(--text-meta);
|
|
margin-top: 6px;
|
|
}
|
|
|
|
/* Source / Model / Account stays one compact row at desktop widths, including
|
|
raw subscription models; the same proportions apply to every review category. */
|
|
.reviewer-slot-controls select:is([data-slot-route], [data-advisory-route], [data-deep-review-route]) {
|
|
flex: 0 1 210px; max-width: 240px;
|
|
}
|
|
.reviewer-slot-controls input:is([data-slot-custom-api], [data-advisory-api-model], [data-deep-review-api-model]),
|
|
.reviewer-slot-controls select:is([data-slot-model], [data-advisory-model], [data-deep-review-model]),
|
|
.reviewer-slot-controls > .ui-model-chooser {
|
|
flex: 1 1 180px; min-width: min(160px, 100%); max-width: 100%;
|
|
}
|
|
.reviewer-slot-controls .ui-model-chooser .ui-control { width: 100%; min-width: 0; }
|
|
.reviewer-slot-controls select:is([data-slot-profile], [data-advisory-profile], [data-deep-review-profile]) {
|
|
flex: 0 1 170px; min-width: 110px;
|
|
}
|
|
.reviewer-slot-controls select:is([data-slot-effort], [data-advisory-effort], [data-deep-review-effort]) {
|
|
flex: 0 1 110px; min-width: 100px;
|
|
}
|
|
|
|
.reviewer-slot-row[data-invalid] { border-color: var(--status-error-border); }
|