/* ════════════════════════════════════════════════════════════════
   connections.css — Connections view + locks/keys panel
   ════════════════════════════════════════════════════════════════
   Extracted from dashboard.css in C-port turn 5. Holds .conn-*
   rules — directory grid, cards, filters, search.

   Cohortz additions: .lk-* (locks/keys panel) + .conn-fed-pill
   (federation indicator on cross-tenant peer cards).
   ════════════════════════════════════════════════════════════════ */


    .conn-layout{flex:1;overflow-y:auto;padding:40px 52px;}

    .conn-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}

    .conn-title{font-size:26px;font-weight:700;margin-bottom:4px;}

    .conn-sub{font-size:13px;color:var(--muted);margin-bottom:24px;}

    .conn-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:28px;flex-wrap:wrap;}

    .conn-filters{display:flex;gap:6px;flex-wrap:wrap;}

    .conn-filter{padding:6px 16px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:500;cursor:pointer;background:#fff;font-family:inherit;transition:all .15s;}

    .conn-filter.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:600;}

    .conn-search{flex:1;min-width:180px;max-width:280px;padding:7px 12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;outline:none;transition:border-color .15s;margin-left:auto;}

    .conn-search:focus{border-color:var(--accent);}

    .conn-empty{text-align:center;padding:60px 0;color:var(--muted);}

    .conn-empty-icon{font-size:44px;margin-bottom:14px;}

    .conn-empty h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:6px;}

    .conn-empty p{font-size:13px;max-width:300px;margin:0 auto;line-height:1.6;}

    .conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}

    .conn-card{border:1px solid var(--border);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s;}

    .conn-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.07);}

    .conn-card-top{display:flex;align-items:center;gap:10px;}

    .conn-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

    .conn-card-name{font-size:14px;font-weight:600;}

    .conn-card-meta{font-size:11px;color:var(--muted);margin-top:1px;}

    .conn-tags{display:flex;gap:5px;flex-wrap:wrap;}

    .conn-tag{font-size:10px;padding:2px 7px;border-radius:4px;background:var(--accent-light);color:var(--accent);font-weight:600;}

    .conn-actions{display:flex;gap:6px;}

    .conn-btn{flex:1;padding:6px;border-radius:6px;border:1px solid var(--border);font-size:11px;font-weight:600;cursor:pointer;background:#fff;font-family:inherit;transition:all .15s;text-align:center;}

    .conn-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);}

    .conn-btn.msg-btn{background:var(--accent-light);color:var(--accent);border-color:var(--accent);}

    .conn-btn.msg-btn:hover{background:var(--accent);color:white;}

    .conn-btn.vibe{border-color:var(--vibe);color:var(--vibe);background:#fffbeb;}

    .conn-btn.vibe:hover,.conn-btn.vibe.on{background:var(--vibe);color:white;border-color:var(--vibe);}

    .conn-btn.block{color:var(--muted);}

    .conn-btn.block:hover,.conn-btn.blocked{border-color:var(--danger);color:var(--danger);background:#fef2f2;}
/* ── Cohortz: locks & keys panel ────────────────────────────────── */
.lk-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 20px;}
.lk-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.lk-card-title{font-size:14px;font-weight:700;color:var(--text);}
.lk-manage-btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.04em;}
.lk-manage-btn:hover{background:var(--accent-dark);}
.lk-section{margin-top:12px;}
.lk-section:first-of-type{margin-top:0;}
.lk-section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.lk-row{padding:10px 12px;background:var(--surface);border-radius:8px;margin-bottom:6px;}
.lk-row-title{font-size:13px;font-weight:600;color:var(--text);}
.lk-row-meta{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4;}
.lk-keys-row{display:flex;flex-wrap:wrap;gap:6px;}
.lk-key-chip{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--accent-text);background:var(--accent-light);border:1px solid var(--accent);padding:3px 8px;border-radius:999px;}
