/* ============================================================
   P5 — ACCESS & FOLLOW SURFACES
   Private executive area + senior newsletter.
   Reuses the site token palette (css/style.css) + intelligence.css
   layout classes. Mobile-first; minimal JS; no ad-hoc hex outside
   the sanctioned palette.
   ============================================================ */

/* --- Shared P5 hero (used by newsletter + gate/interior) --- */
.p5-hero { padding: 4.5rem 0 3rem; }
.p5-hero .intel-eyebrow { display:inline-block; }
.p5-hero h1 { font-weight: 300; line-height: 1.2; max-width: 22ch; }

/* --- Newsletter signup card --- */
.nl-card {
  border: 1px solid #E3DDCF; border-left: 4px solid var(--color-gold);
  border-radius: 6px; background: #fff; padding: 2rem 2rem 2.2rem;
  max-width: 620px;
}
.nl-card h3 { margin-top: 0; font-weight: 500; }
.nl-form { display: grid; gap: 1rem; margin-top: 1rem; }
.nl-field label { display:block; font-weight:600; font-size:0.85rem; margin-bottom:0.3rem; }
.nl-field input[type="email"] {
  width: 100%; padding: 0.75rem 0.9rem; border: 1px solid #ddd;
  border-radius: 4px; font-size: 1rem; box-sizing: border-box;
}
.nl-consent { display:flex; gap:0.6rem; align-items:flex-start; font-size:0.9rem; color:var(--color-muted); }
.nl-consent input { margin-top:0.2rem; }
.nl-note { font-size:0.85rem; color:var(--color-muted); line-height:1.55; border-top:1px dashed #ddd; padding-top:0.9rem; }
.nl-success { border:1px solid #C6B489; background:#FBF6EB; padding:0.9rem 1.1rem; border-radius:4px; margin-bottom:1.4rem; color:#5d5226; }

/* --- Newsletter archive list --- */
.nl-issues { list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.nl-issue {
  border:1px solid #E3DDCF; border-radius:5px; padding:1.1rem 1.2rem; background:#fff;
}
.nl-issue .ni-kicker { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-gold-ivory); font-weight:600; }
.nl-issue h3 { margin:0.3rem 0 0.3rem; font-size:1.05rem; font-weight:500; }
.nl-issue p { margin:0; color:var(--color-muted); font-size:0.92rem; line-height:1.55; }

/* --- Private-area gate / restricted state --- */
.p5-gate {
  border:1px solid #E3DDCF; border-left:4px solid var(--color-teal);
  background:#fff; border-radius:6px; padding:1.5rem 1.7rem; max-width:660px;
}
.p5-gate .gate-kicker { color:var(--color-teal); font-weight:600; font-size:0.76rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:0.5rem; }
.p5-gate h2 { margin:0 0 0.6rem; font-weight:500; }
.p5-gate p { color:#4B5563; line-height:1.6; }
.p5-lock { color:var(--color-silver); font-size:0.85rem; line-height:1.55; margin-top:1.1rem; border-top:1px dashed #ddd; padding-top:0.9rem; }

/* --- Placeholder interior --- */
.p5-rooms { list-style:none; margin:0; padding:0; display:grid; gap:1rem; }
.p5-room { border:1px solid #E3DDCF; border-radius:5px; padding:1.1rem 1.2rem; background:#fff; }
.p5-room h3 { margin:0 0 0.3rem; font-size:1.02rem; font-weight:500; }
.p5-room p { margin:0; color:#4B5563; font-size:0.92rem; line-height:1.55; }

.section-divider { background:linear-gradient(90deg, transparent, var(--color-gold), transparent); height:1px; opacity:0.35; }

/* --- Phase 6 — Intelligence & Content Dashboard --- */
.intel-count { color:var(--color-gold); font-weight:600; font-size:0.9rem; }
.intel-chip { display:inline-block; font-family:var(--font-mono, monospace); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; padding:2px 8px; border-radius:999px; border:1px solid #c9c2b2; color:#5c564a; background:#f6f3ec; }
.intel-chip.chip-proposed { color:#8a6d1f; border-color:#c9a64a; background:#fdf6e3; }
.intel-chip.chip-ok, .intel-chip.chip-published { color:#1f6b3a; border-color:#7fbf9a; background:#eaf7ef; }
.intel-chip.chip-unreachable, .intel-chip.chip-rejected { color:#8a1f1f; border-color:#d9944f; background:#fdeee6; }
.intel-chip.chip-broken, .intel-chip.chip-errored { color:#8a1f1f; border-color:#cf7a7a; background:#fbeaea; }
.mono { font-family:var(--font-mono, "IBM Plex Mono", monospace); font-size:0.82rem; color:#4B5563; }
.intel-table { width:100%; border-collapse:collapse; font-size:0.9rem; }
.intel-table th, .intel-table td { border:1px solid #e5e0d4; padding:7px 10px; text-align:left; vertical-align:top; }
.intel-table th { background:#f4f1ea; font-weight:600; font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase; color:#4B5563; }
.intel-table a { color:var(--color-teal); font-weight:600; }
.table-wrap { overflow-x:auto; }
.intel-scan { margin-top:1.4rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.intel-scan-note { color:#5c6b7a; font-size:0.86rem; line-height:1.5; max-width:520px; }
.intel-cards { display:grid; gap:1.1rem; }
.intel-card { border:1px solid #ddd6c6; border-left:4px solid var(--color-gold); background:#fff; border-radius:6px; padding:1rem 1.2rem; }
.intel-card-head { display:flex; align-items:center; gap:0.7rem; flex-wrap:wrap; }
.intel-card-head h3 { margin:0; font-size:1.02rem; font-weight:600; }
.intel-kv { font-size:0.88rem; color:#4B5563; margin:0.5rem 0 0.25rem; }
.intel-kv a { color:var(--color-teal); font-weight:600; word-break:break-all; }
.intel-txt { color:#374151; line-height:1.55; margin:0.5rem 0; }
.intel-ev { margin:0.3rem 0 0; padding-left:1.1rem; color:#4B5563; font-size:0.86rem; }
.intel-ev code { font-size:0.8rem; }
.intel-actions { margin-top:0.8rem; display:flex; gap:0.6rem; align-items:center; flex-wrap:wrap; }
.intel-reason { flex:1; min-width:180px; padding:7px 10px; border:1px solid #d5cfc0; border-radius:4px; font-size:0.86rem; }
.intel-empty { color:#6b7280; font-style:italic; }
.intel-grid3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.1rem; }
.intel-panel { border:1px solid #e3ddcf; border-radius:6px; background:#fff; padding:1rem 1.2rem; }
.intel-panel .sec-title { margin-top:0; }
.intel-list { list-style:none; margin:0.4rem 0 0; padding:0; font-size:0.88rem; color:#4B5563; }
.intel-list li { padding:5px 0; border-bottom:1px dashed #eee; line-height:1.5; }
.intel-log { font-size:0.82rem; }
.intel-hash { color:#8a6d1f; }
