/* Admin → Service keys (keys-settings.js), the operator's console (the Founder's screenshot, 3 October 2026: "dense,
   not clear, very inefficient, not convenient"): set apart from the person's own settings by its tinted ground
   and its mark, one card per provider with room around it, and a key form with room between its parts. */
.keys-console { min-width: 0; padding: 24px; border: 1px solid #d9c8ee; border-radius: var(--radius, 14px); background: var(--soft, #f2ecfa); overflow-wrap: anywhere; }
.keys-console-head { display: grid; gap: 6px; margin-bottom: 20px; max-width: 760px; }
.keys-console-head h2 { margin: 0; font-size: 1.35rem; }
.keys-console-head .meta { margin: 0; line-height: 1.55; }
.keys-console-mark { justify-self: start; margin: 0; padding: 4px 10px; border-radius: 999px; background: #fff; border: 1px solid #d9c8ee; color: var(--purple, #6d28b5); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.keys-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; align-items: stretch; }
.keys-card { display: grid; gap: 10px; min-width: 0; padding: 22px; background: #fff; border: 1px solid var(--line, #e7e5ee); border-radius: 12px; }
.keys-card.open { border-color: #b987ef; box-shadow: 0 0 0 3px #b987ef33; }
.keys-card h3 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.keys-card p { margin: 0; }
.keys-does { line-height: 1.5; }
.keys-state { display: flex; align-items: baseline; gap: 8px; font-size: .9rem; font-weight: 600; line-height: 1.45; }
/* A key's state is its words, no dot: the dot is an agent's connection only (the Founder, 7 October 2026). */
.keys-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.keys-actions .btn { min-height: 44px; min-width: 96px; }
.keys-notes { display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid var(--line, #e7e5ee); }
.keys-wrap, .keys-wrap code { overflow-wrap: anywhere; word-break: break-word; }
.keys-said:empty { display: none; }
.keys-said { margin: 16px 0 0; }
.keys-settings .keys-form { display: grid; gap: 14px; margin-top: 6px; }
.keys-settings .keys-form label { display: grid; gap: 6px; font-size: .875rem; }
.keys-settings .keys-form .input { width: 100%; min-height: 44px; }
.keys-settings .keys-form .actions,
.keys-settings .keys-confirm .actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.keys-settings .keys-form .actions .btn,
.keys-settings .keys-confirm .actions .btn { min-height: 44px; }
.keys-settings .keys-confirm { display: grid; gap: 12px; margin-top: 6px; }
@media (max-width: 700px) { .keys-console { padding: 16px; } .keys-card { padding: 18px; } }
