/* Compact & modern UI with clickable rows */
:root {
  --wpcm-radius: 14px;
  --wpcm-pad: 18px;
  --wpcm-gap: 8px;
  --wpcm-text: 14.5px;
  --wpcm-muted: #6b7280;
  --wpcm-border: #e5e7eb;
  --wpcm-bg: #ffffff;
  --wpcm-shadow: 0 18px 40px rgba(0,0,0,.18);
  --wpcm-primary: #2563eb;
  --wpcm-accept: #16a34a;
  --wpcm-deny: #9ca3af;
  --wpcm-row-pad: 8px 10px;
}

.wpcm-backdrop{
  position: fixed; inset: 0; background: rgba(17,24,39,.55); z-index: 2147483646;
  backdrop-filter: blur(2px);
}
.wpcm-modal{
  position: fixed; inset: 0; display: grid; place-items: center; z-index: 2147483647;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  pointer-events:auto;
}
.wpcm-card{
  width: min(560px, 92vw);
  background: var(--wpcm-bg); color: #111; border-radius: var(--wpcm-radius);
  box-shadow: var(--wpcm-shadow);
  padding: var(--wpcm-pad);
  pointer-events:auto;
  font-size: var(--wpcm-text);
}
.wpcm-open{ overflow: hidden; }
.wpcm-desc{ margin: .2rem 0 .6rem; line-height: 1.5; color: var(--wpcm-muted); }
.wpcm-groups{ display: grid; gap: var(--wpcm-gap); margin: 8px 0 10px; }
.wpcm-row{ border: 1px solid var(--wpcm-border); border-radius: 10px; padding: var(--wpcm-row-pad); cursor: pointer; user-select: none; }
.wpcm-row:hover{ background: #f9fafb; }
.wpcm-row:focus{ outline: 2px solid var(--wpcm-primary); outline-offset: 2px; }
.wpcm-row[aria-pressed="true"]{ border-color: #c7d2fe; background:#eef2ff; }
.wpcm-row-head{ display: flex; align-items: center; gap: 10px; }
.wpcm-row-head .wpcm-label{ font-weight: 600; cursor: pointer; }
.wpcm-badge{ font-size: 12px; color:var(--wpcm-muted); margin-left:auto; }
.wpcm-help{ margin:.15rem 0 .35rem; color:var(--wpcm-muted); }
.wpcm-actions{ display:flex; gap:8px; justify-content: flex-end; margin-top: 8px; }
.wpcm-btn{ border:1px solid #111; background:#111; color:#fff; padding:9px 12px; border-radius:10px; cursor:pointer; }
.wpcm-btn:hover{ filter:brightness(1.06); }
.wpcm-save{ background:var(--wpcm-primary); border-color:var(--wpcm-primary); }
.wpcm-accept{ background:var(--wpcm-accept); border-color:var(--wpcm-accept); }
.wpcm-deny{ background:var(--wpcm-deny); border-color:var(--wpcm-deny); color:#111; }
.wpcm-toggle{ width: 16px; height: 16px; }
.wpcm-toggle[disabled]{ opacity:.7; cursor:not-allowed; }
.wpcm-policy{margin:6px 0 10px;}
.wpcm-policy a{color:var(--wpcm-primary);text-decoration:underline;}

/* Hidden fallback */
[data-wpcm-backdrop][hidden], .wpcm-modal[hidden]{ display:none !important; }
