diff --git a/services/web-ui/src/css/components/field-group.css b/services/web-ui/src/css/components/field-group.css new file mode 100644 index 0000000..5d4443b --- /dev/null +++ b/services/web-ui/src/css/components/field-group.css @@ -0,0 +1,53 @@ +/* field-group.css ─ titled section with optional inner tabs. + * Generalized from the codec-block pattern in recorders.html. */ + +.wd-field-group { + border: 1px solid var(--border-faint); + border-radius: 6px; + background: var(--bg-panel); + overflow: hidden; +} + +.wd-field-group-header { + display: flex; + align-items: center; + justify-content: space-between; + height: 36px; + padding: 0 14px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-faint); +} +.wd-field-group-title { + font: 600 11px/1 var(--font); + letter-spacing: 0.14em; + text-transform: uppercase; + color: var(--text-secondary); +} + +.wd-tabs { + display: flex; + height: 32px; + background: var(--bg-deep); + border-bottom: 1px solid var(--border-faint); +} +.wd-tab { + flex: 1; + background: transparent; + border: 0; + border-bottom: 2px solid transparent; + font: 500 11px/1 var(--font); + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--text-tertiary); + cursor: pointer; + transition: color 120ms cubic-bezier(0.25, 1, 0.5, 1), + border-color 120ms cubic-bezier(0.25, 1, 0.5, 1); +} +.wd-tab:hover { color: var(--text-secondary); } +.wd-tab.is-active { + color: var(--accent); + border-bottom-color: var(--accent); +} + +.wd-tab-panel { display: none; padding: 14px; } +.wd-tab-panel.is-active { display: block; }