/* Shared presentation for manageable entities: clients, policies and groups. */
.entity-icon{
  --entity-rgb:99,102,241;
  --entity-fg:#818cf8;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid rgba(var(--entity-rgb),.2);
  border-radius:11px;
  background:rgba(var(--entity-rgb),.14);
  color:var(--entity-fg);
  font-size:1.12rem;
}
.entity-icon.is-color-cyan,.entity-view.is-color-cyan{--entity-rgb:6,182,212;--entity-fg:#22d3ee}
.entity-icon.is-color-blue,.entity-view.is-color-blue{--entity-rgb:59,130,246;--entity-fg:#60a5fa}
.entity-icon.is-color-teal,.entity-view.is-color-teal{--entity-rgb:20,184,166;--entity-fg:#2dd4bf}
.entity-icon.is-color-emerald,.entity-view.is-color-emerald{--entity-rgb:16,185,129;--entity-fg:#34d399}
.entity-icon.is-color-lime,.entity-view.is-color-lime{--entity-rgb:132,204,22;--entity-fg:#a3e635}
.entity-icon.is-color-amber,.entity-view.is-color-amber{--entity-rgb:245,158,11;--entity-fg:#fbbf24}
.entity-icon.is-color-orange,.entity-view.is-color-orange{--entity-rgb:249,115,22;--entity-fg:#fb923c}
.entity-icon.is-color-rose,.entity-view.is-color-rose{--entity-rgb:244,63,94;--entity-fg:#fb7185}
.entity-icon.is-color-pink,.entity-view.is-color-pink{--entity-rgb:236,72,153;--entity-fg:#f472b6}
.entity-icon.is-color-violet,.entity-view.is-color-violet{--entity-rgb:139,92,246;--entity-fg:#a78bfa}
.entity-icon.is-color-fuchsia,.entity-view.is-color-fuchsia{--entity-rgb:217,70,239;--entity-fg:#e879f9}
.entity-icon.is-color-slate,.entity-view.is-color-slate{--entity-rgb:100,116,139;--entity-fg:#94a3b8}
.entity-title{font-weight:700;color:var(--text-main);line-height:1.25}
.entity-subtitle{margin-top:.22rem;color:var(--text-muted);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}
.entity-muted{color:var(--text-muted);font-size:.78rem}
.entity-card-list{display:grid;gap:.75rem;min-width:0}
.entity-page-list.is-groups .entity-card{min-height:88px}
.entity-page-list.is-policies .entity-card{min-height:116px}
.spk-pager.entity-list-pager{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:.75rem;width:100%;margin-top:1rem;min-height:40px}
.entity-list-pager .spk-pager-range{margin:0;min-width:0;text-align:center;white-space:normal}
.entity-list-pager .spk-pager-button{justify-self:center}
.entity-card{
  container-type:inline-size;
  min-width:0;
  width:100%;
  padding:1rem 1.1rem;
  border:1px solid rgba(148,163,184,.15)!important;
  border-radius:13px!important;
  background:#11162f!important;
  box-shadow:0 9px 28px rgba(0,0,0,.14)!important;
  overflow:visible;
  transition:border-color .16s ease,transform .16s ease;
}
.entity-card:hover{
  border-color:rgba(99,102,241,.35)!important;
  background:#151b3a!important;
  transform:translateY(-1px);
}
.entity-card[data-entity-url]{cursor:pointer}
.entity-card[data-entity-url]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:rgba(99,102,241,.55)!important}
.entity-card-empty{padding:1.2rem;border:1px dashed var(--border-subtle);border-radius:12px;color:var(--text-muted);text-align:center;background:var(--bg-elevated)}
.entity-card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}
.entity-card-main{display:flex;gap:.9rem;align-items:center;min-width:0}
.entity-card-copy{min-width:0}
.entity-card-side{display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-width:0}
.entity-card-meta{display:grid;gap:.2rem;text-align:right;min-width:7.5rem}
.entity-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
body[data-theme="light"] .entity-icon{background:rgba(var(--entity-rgb),.1)}
body[data-theme="light"] .entity-card{
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.07)!important;
}
body[data-theme="light"] .entity-card:hover{background:#fff!important}
@container (max-width:820px){
  .entity-card-content{grid-template-columns:1fr;align-items:start}
  .entity-card-main{align-items:flex-start}
  .entity-card-side{justify-content:space-between;align-items:flex-end;padding-top:.8rem;border-top:1px solid rgba(148,163,184,.1)}
  .entity-card-meta{text-align:left;min-width:0}
}
@container (max-width:520px){
  .entity-card-side{display:grid;grid-template-columns:1fr;gap:.75rem}
  .entity-card-actions{justify-content:flex-start}
}
@media(max-width:767.98px){
  .entity-card-content{grid-template-columns:1fr;align-items:start}
  .entity-card-main{align-items:flex-start}
  .entity-card-side{justify-content:space-between;align-items:flex-end;padding-top:.8rem;border-top:1px solid rgba(148,163,184,.1)}
  .entity-card-meta{text-align:left;min-width:0}
  .entity-card-actions .btn{min-height:38px}
}
@media(max-width:480px){
  .entity-card{padding:.9rem}
  .entity-card-content{position:relative}
  .entity-card-main{padding-right:42px}
  .entity-card-side{display:block;padding-top:.7rem}
  .entity-card-actions{position:absolute;top:0;right:0;justify-content:flex-end}
  .entity-card-actions form{flex:1 1 auto}
  .entity-card-actions form .btn{width:100%}
}

/* Shared compact action menu for clients, policies and groups. */
.entity-action{position:relative;display:inline-flex;align-items:center;justify-content:flex-end}
.entity-action-trigger{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text-muted);
  font-size:1.15rem;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.entity-action-trigger:hover,
.entity-action-trigger[aria-expanded="true"]{background:rgba(99,102,241,.12);color:var(--text-main)}
.entity-action-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.entity-action-popover{
  position:fixed;
  position-anchor:auto;
  position-area:bottom span-left;
  position-try-fallbacks:flip-block,flip-inline;
  justify-self:end;
  inset:auto;
  z-index:1090;
  width:max-content;
  min-width:210px;
  max-width:min(280px,calc(100vw - 20px));
  padding:6px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:11px;
  background:#10172c;
  box-shadow:0 20px 55px rgba(0,0,0,.46);
}
.entity-action-popover:popover-open{display:grid}
.entity-action-popover[hidden]{display:none!important}
.entity-action-popover form{display:block!important;width:100%!important;margin:0!important;flex:none!important}
.entity-action-item{
  display:flex;
  align-items:center;
  gap:.65rem;
  width:100%!important;
  min-height:38px;
  padding:.55rem .7rem!important;
  border:0!important;
  border-radius:7px!important;
  background:transparent!important;
  color:var(--text-main)!important;
  font:700 .82rem/1.25 "IBM Plex Sans",sans-serif;
  text-align:left;
  text-decoration:none;
  white-space:normal;
  cursor:pointer;
}
.entity-action-item i{width:1rem;flex:0 0 auto;color:var(--text-muted);text-align:center}
.entity-action-item:hover,
.entity-action-item:focus-visible{background:rgba(99,102,241,.13)!important;color:var(--text-main)!important;outline:0}
.entity-action-item.is-warning{color:#fbbf24!important}
.entity-action-item.is-warning i{color:#fbbf24}
.entity-action-item.is-danger{color:#fb7185!important}
.entity-action-item.is-danger i{color:#fb7185}
.entity-action-divider{height:1px;margin:5px 6px;background:rgba(148,163,184,.16)}
body[data-theme="light"] .entity-action-popover{border-color:rgba(51,65,85,.15);background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18)}
body[data-theme="light"] .entity-action-item:hover,
body[data-theme="light"] .entity-action-item:focus-visible{background:rgba(79,70,229,.08)!important}

/* Live icon and colour preview shared by clients, groups and policies. */
.entity-appearance-preview{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-height:64px;
  margin-top:.75rem;
  padding:.65rem .75rem;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:color-mix(in srgb,var(--bg-elevated-soft) 76%,transparent);
}
.entity-appearance-preview-copy{display:grid;gap:.12rem;min-width:0}
.entity-appearance-preview-label{color:var(--text-muted);font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.entity-appearance-preview-value{color:var(--text-main);font-size:.86rem;font-weight:700;overflow-wrap:anywhere}
body[data-theme="light"] .entity-appearance-preview{background:#f7f9fd}

/* Keep the compact menu beside the title at the card's own breakpoint. */
@container (max-width:820px){
  .entity-page-list .entity-card-content{position:relative}
  .entity-page-list .entity-card-main{padding-right:44px}
  .entity-page-list .entity-card-actions{position:absolute;top:0;right:0;justify-content:flex-end}
  .entity-page-list .entity-card-side{display:block}
  .entity-page-list .entity-title{overflow-wrap:anywhere}
  .entity-page-list .entity-action-trigger{width:40px;height:40px}
}
