/* FundingKing-style light theme (Phase 1) */
:root{--bg:#f8fafc;--card:#fff;--muted:#64748b;--text:#0f172a;--border:#e5e7eb;--accent:#2563eb;--warn:#f59e0b}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
.container{max-width:1100px;margin:0 auto;padding:22px}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);background:rgba(255,255,255,.92);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand-badge{
  width:64px;
  height:64px;
  border-radius:999px;
  background:#fff url(/assets/branding/dlp-logo-circle.png) center/cover no-repeat;
  border:1px solid var(--border);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;padding:10px 12px;border:1px solid var(--border);background:#fff;border-radius:999px;color:var(--text);text-decoration:none}
.pill:hover{border-color:rgba(37,99,235,.35)}
.grid{display:grid;gap:18px}
@media(min-width:900px){.grid.cols2{grid-template-columns:1.1fr .9fr}}
.hero{padding:26px 0 12px}
.card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:18px;box-shadow:0 4px 12px rgba(0,0,0,.08)}
h1,h2,h3{margin:0 0 10px;line-height:1.15}h1{font-size:38px}h2{font-size:24px}h3{font-size:18px}
.small{color:var(--muted);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(135deg, rgba(37,99,235,.12), rgba(37,99,235,.06));color:var(--text);cursor:pointer;text-decoration:none}
.btn:hover{border-color:rgba(37,99,235,.35)}
.btn.primary{background:linear-gradient(135deg, rgba(37,99,235,.22), rgba(37,99,235,.10));border-color:rgba(37,99,235,.35)}
.btn.warn{background:linear-gradient(135deg, rgba(245,158,11,.20), rgba(245,158,11,.10));border-color:rgba(245,158,11,.35)}
.kpi{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.kpi .chip{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;min-width:170px;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.kpi .num{font-size:20px;font-weight:900;color:var(--text)}
.hr{height:1px;background:var(--border);margin:14px 0}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
input{width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);outline:none}
.notice{border-left:4px solid var(--warn);background:rgba(245,158,11,.10);padding:12px;border-radius:12px}
.success{border-left:4px solid #16a34a;background:rgba(22,163,74,.08);padding:12px;border-radius:12px}
.doc-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
pre.letter{white-space:pre-wrap;word-wrap:break-word;background:#f9fafb;border:1px solid var(--border);padding:14px;border-radius:14px;margin-top:12px}
.status-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;font-weight:800;font-size:13px;border:1px solid var(--border);background:rgba(37,99,235,.08);color:var(--text);text-decoration:none}
.status-pill::before{content:"";width:10px;height:10px;border-radius:999px;background:#2563eb;display:inline-block}
.status-pill.success{background:rgba(22,163,74,.10);border-color:rgba(22,163,74,.25)}
.status-pill.success::before{background:#16a34a}
.status-pill.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.28)}
.status-pill.warn::before{background:#f59e0b}
.status-pill.danger{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.22)}
.status-pill.danger::before{background:#ef4444}
.badge-powered{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:13px;text-decoration:none;transition:all .15s ease;white-space:nowrap}
.badge-powered strong{color:var(--text)}
.badge-powered img{height:26px;width:auto;border-radius:999px}
.badge-powered:hover{box-shadow:0 6px 16px rgba(0,0,0,.12);transform:translateY(-1px);text-decoration:none}
@media print{.nav,.no-print{display:none!important}.card{border:none;box-shadow:none;padding:0}pre.letter{border:none;background:#fff;padding:0}}


@media (max-width: 768px){
  .brand-badge{
    width:44px;
    height:44px;
  }
}

/* Footer (powered badge + legal links) */
.site-footer{
  border-top:1px solid var(--border);
  margin-top:40px;
  padding:20px 0;
  text-align:center;
  background:#fff;
}
.site-footer .footer-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}
.footer-legal{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
}
.footer-legal a{
  color:var(--muted);
  text-decoration:none;
}
.footer-legal a:hover{ text-decoration:underline; }
.footer-legal .dot{ color:var(--muted); }

/* Auto-timeline enforcement */
.timeline-locked{
  opacity: 0.55;
  filter: grayscale(0.2);
}
.timeline-locked:hover{
  opacity: 0.65;
}

@media (max-width: 768px){
  .site-footer{ padding:14px 0; }
  .badge-powered{ transform: scale(.90); transform-origin:center; }
  .footer-legal{ font-size:12px; }
}


/* ===== Member Workspace flow helpers ===== */
.flow-step{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  border-radius:12px;
  margin:10px 0;
}
.step-num{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  background:rgba(0,0,0,.06);
}
.step-title{ font-weight:700; }
.step-sub{ font-size:13px; opacity:.8; margin-top:2px; line-height:1.35; }

.doc-groups{ display:flex; flex-direction:column; gap:12px; margin-top:10px; }
.doc-group{
  padding:10px 10px 12px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:14px;
  background:rgba(255,255,255,.7);
}
.doc-group-title{
  font-weight:700;
  margin-bottom:8px;
}
.doc-group-hint{
  font-size:13px;
  opacity:.85;
  margin-top:8px;
  line-height:1.35;
}
.doc-tabs{ display:flex; flex-wrap:wrap; gap:10px; }

@media (max-width: 720px){
  .flow-step{ padding:10px; }
  .step-sub{ font-size:12.5px; }
}

/* -----------------------------
   Tiered membership modal + pricing cards
------------------------------ */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px;z-index:9999}
.modal-card{width:min(920px,100%);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:16px}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}

.pricing-grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}
.plan{border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.02)}
.plan.rec{border-color:rgba(255,255,255,.18);box-shadow:0 0 0 2px rgba(255,255,255,.06) inset}
.plan-name{font-weight:800}
.plan-price{font-weight:900;font-size:22px;margin-top:6px}
.plan-list{margin:10px 0 12px;padding-left:18px}
.plan-list li{margin:6px 0}

@media (max-width: 860px){
  .pricing-grid{grid-template-columns:1fr}
}
.tier-locked{opacity:.75;filter:saturate(.7)}
.tier-locked:hover{opacity:1}

/* Admin mode visual indicator */
.admin-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.12);font-weight:900;font-size:12px;letter-spacing:.02em;color:var(--text)}
.admin-badge::before{content:"";width:10px;height:10px;border-radius:999px;background:var(--warn);display:inline-block}
.admin-badge-sub{font-weight:700;color:var(--muted)}
