/* These styles are generated from project.scss. */

/* ── Minimal reset (replaces Bootstrap reboot) ───────────── */
*, *::before, *::after { box-sizing: border-box; }
h1, h2, h3, h4, h5, h6, p { margin-top: 0; }
dd { margin-left: 0; }
img, svg { max-width: 100%; vertical-align: middle; }
table { border-collapse: collapse; }

body {
  margin: 0;
  line-height: 1.5;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--color-bg);
  color: var(--color-text);
}

/* ── Global disclosure marker (sideways › chevron) ── */
summary {
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

summary::before {
  content: "›";
  display: inline-block;
  margin-right: 0.4rem;
  font-size: 1rem;
  line-height: 1;
  transition: transform 160ms ease;
  opacity: 0.6;
  vertical-align: middle;
}

details[open] > summary::before {
  transform: rotate(90deg);
}

/* Opt-out: management action buttons (styled as buttons, not disclosures) */
.management-action-summary::before {
  content: none;
}

/* Opt-out: sidebar summary (uses its own ::after marker) */
.orgmem-sidebar-summary::before {
  content: none;
}

/* Opt-out: disclosure/curation summaries (› is on a child element) */
.resource-disclosure-summary::before,
.resource-curation-summary::before {
  content: none;
}

:root {
  --color-bg: #ffffff;
  --color-surface: #f8fafc;
  --color-surface-elevated: #ffffff;
  --color-surface-muted: #f3f4f6;
  --color-fill-subtle: rgba(0, 0, 0, 0.03);
  --color-fill-muted: rgba(0, 0, 0, 0.04);
  --color-fill-strong: rgba(0, 0, 0, 0.06);
  --color-text: #1f2937;
  --color-text-strong: #111827;
  --color-text-muted: #6b7280;
  --color-text-soft: #9ca3af;
  --color-border-subtle: rgba(0, 0, 0, 0.08);
  --color-border: rgba(0, 0, 0, 0.12);
  --color-border-strong: rgba(0, 0, 0, 0.18);
  --color-accent: #1946e3;
  --color-accent-rgb: 25, 70, 227;
  --color-accent-emphasis: #1236b6;
  --color-accent-soft: rgba(25, 70, 227, 0.08);
  --color-accent-muted: rgba(25, 70, 227, 0.12);
  --color-accent-border: rgba(25, 70, 227, 0.28);
  --color-accent-border-strong: rgba(25, 70, 227, 0.45);
  --color-accent-subtle: rgba(25, 70, 227, 0.06);
  --color-focus-ring: rgba(25, 70, 227, 0.18);
  --color-shadow: rgba(0, 0, 0, 0.08);
  --color-success: #174b33;
  --color-success-bg: #e7f4ec;
  --color-success-border: #8fc5a3;
  --color-success-accent: #4f8b69;
  --color-warning: #92400e;
  --color-warning-bg: #fef3c7;
  --color-warning-border: #f2c46d;
  --color-warning-accent: #d97706;
  --color-danger: #b91c1c;
  --color-danger-bg: #fee2e2;
  --color-danger-border: #fca5a5;
  --color-danger-accent: #d60909;
  --color-cta: #ff8a3d;
  --color-cta-hover: #f0731f;
  --color-cta-fg: #000000;
  --radius-sm: 0.45rem;
  --radius-md: 0.9rem;
  --radius-lg: 1rem;

  --status-verified-fg: var(--color-success);
  --status-verified-bg: var(--color-success-bg);
  --status-verified-border: var(--color-success-border);
  --status-verified-accent: var(--color-success-accent);
  --status-unverified-fg: var(--color-text-muted);
  --status-unverified-bg: var(--color-surface);
  --status-unverified-border: #d7dde2;
  --status-unverified-accent: #c8d0d7;

  --review-neutral-rgb: var(--color-accent-rgb);
  --review-neutral-fg: var(--color-accent-emphasis);
  --review-neutral-bg: var(--color-accent-soft);
  --review-neutral-border: var(--color-accent-border);
  --review-neutral-glow: var(--color-accent-soft);
  --review-neutral-accent: var(--color-accent-muted);

  --bs-primary-rgb: var(--color-accent-rgb);
  --bs-primary-text-emphasis: var(--color-accent-emphasis);
}

/* ── Dark theme ─────────────────────────────────────────── */
[data-theme="dark"] {
  --color-bg: #151b23;
  --color-surface: #1c2230;
  --color-surface-elevated: #232a35;
  --color-surface-muted: #2a313b;
  --color-fill-subtle: rgba(255, 255, 255, 0.04);
  --color-fill-muted: rgba(255, 255, 255, 0.06);
  --color-fill-strong: rgba(255, 255, 255, 0.10);
  --color-text: #d8e0e8;
  --color-text-strong: #e8eff6;
  --color-text-muted: #97a1ab;
  --color-text-soft: #7b8490;
  --color-border-subtle: rgba(255, 255, 255, 0.08);
  --color-border: rgba(255, 255, 255, 0.14);
  --color-border-strong: rgba(255, 255, 255, 0.22);
  --color-accent: #4d8bff;
  --color-accent-rgb: 77, 139, 255;
  --color-accent-emphasis: #79a9ff;
  --color-accent-soft: rgba(77, 139, 255, 0.12);
  --color-accent-muted: rgba(77, 139, 255, 0.18);
  --color-accent-border: rgba(77, 139, 255, 0.32);
  --color-accent-border-strong: rgba(77, 139, 255, 0.50);
  --color-accent-subtle: rgba(77, 139, 255, 0.10);
  --color-focus-ring: rgba(77, 139, 255, 0.25);
  --color-shadow: rgba(0, 0, 0, 0.30);
  --color-success: #7ee2a8;
  --color-success-bg: rgba(46, 160, 67, 0.15);
  --color-success-border: rgba(46, 160, 67, 0.40);
  --color-success-accent: #3fb950;
  --color-warning: #e3b341;
  --color-warning-bg: rgba(187, 128, 9, 0.15);
  --color-warning-border: rgba(187, 128, 9, 0.40);
  --color-warning-accent: #d29922;
  --color-danger: #f85149;
  --color-danger-bg: rgba(248, 81, 73, 0.15);
  --color-danger-border: rgba(248, 81, 73, 0.40);
  --color-danger-accent: #da3633;
  --color-cta: #ff8a3d;
  --color-cta-hover: #f0731f;
  --color-cta-fg: #000000;

  --status-verified-fg: var(--color-success);
  --status-verified-bg: var(--color-success-bg);
  --status-verified-border: var(--color-success-border);
  --status-verified-accent: var(--color-success-accent);
  --status-unverified-fg: var(--color-text-muted);
  --status-unverified-bg: var(--color-surface);
  --status-unverified-border: rgba(255, 255, 255, 0.12);
  --status-unverified-accent: rgba(255, 255, 255, 0.18);

  --review-neutral-rgb: var(--color-accent-rgb);
  --review-neutral-fg: var(--color-accent-emphasis);
  --review-neutral-bg: var(--color-accent-soft);
  --review-neutral-border: var(--color-accent-border);
  --review-neutral-glow: var(--color-accent-soft);
  --review-neutral-accent: var(--color-accent-muted);
}

