/* settings/perms.css — wave 33 (owner item 11, W33-T34/T38). * * ⛔ CONTRACT C4: `index.css` is lane B's. Everything the permission editor's * per-database DISCLOSURE needs is new, so it lives here and is imported by * `PermsEditor.tsx` — the established practice (`query.css`, `navExtras.css`, * `SwipeView.css`). Nothing in this file redefines an `index.css` rule; it only * styles classes that did not exist before this wave. * * WHY A DISCLOSURE AT ALL. Owner, 2026-08-14: *"the database should not show all * immediately the detail (for filter or hide fields), the user should have the * ability to see ALL databases"*. Those two clauses pull against each other — * more databases, less detail per database — and an accordion is what satisfies * both. Before wave 33 the list was a fixed TWO and every panel rendered inline; * it is now every database the tenant has. */ /* The trailing controls of a module head, grouped as ONE flex child so the `space-between` rule in `index.css` still sees exactly two children. */ .set-perm-headend { display: flex; align-items: center; gap: 10px; flex: none; } /* Smaller than a primary action and quieter than `Copy to…`: this button reveals detail, it does not commit anything. It borrows `.set-secondary`'s border, surface and focus ring rather than restating them — a second definition of the button chrome is a second place for the focus ring to go missing. */ .set-perm-disclose { font-size: var(--lp-fs-2xs); padding: 3px 9px; white-space: nowrap; } /* The open state reads as pressed, so a scrolled-away head still says which database owns the panels below it. */ .set-perm-disclose[aria-expanded="true"] { border-color: var(--lp-blue-deep); color: var(--lp-blue-deep); } @media (max-width: 640px) { /* The head wraps before the label truncates: a database name is the one thing in this row that cannot be guessed from context. */ .set-perm-headend { flex-wrap: wrap; justify-content: flex-end; } }