/* ═══════════════════════════════════════════════════════════════
   LP-PORTAL-LANDING.CSS — Complément à financial-reports-landing.css /
   deal-room-landing.css / crm-landing.css. Réutilise les tokens --lp-*
   (namespace landing) et les classes .lab-* génériques. N'ajoute QUE
   les classes du mockup LP Portal (préfixe lab-lp-)
   ═══════════════════════════════════════════════════════════════ */

/* ── KPI Cards ── */
.lab-lp-kpi-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:22px; }
.lab-lp-kpi-card{ background:rgba(255,255,255,.04); border:1px solid var(--lp-border-soft); border-radius:14px; padding:16px; }
.lab-lp-kpi-icon{ width:32px; height:32px; border-radius:9px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:#fff; font-size:.85rem; margin-bottom:10px; }
.lab-lp-kpi-value{ font-size:1.5rem; font-weight:900; color:#fff; line-height:1; margin-bottom:4px; }
.lab-lp-kpi-label{ font-size:.68rem; font-weight:700; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.4px; }
.lab-lp-kpi-sub{ font-size:.68rem; color:rgba(255,255,255,.4); margin-top:2px; }

/* ── Panels ── */
.lab-lp-two-col{ display:grid; grid-template-columns:1.1fr .9fr; gap:18px; margin-bottom:22px; }
@media(max-width:900px){ .lab-lp-two-col{ grid-template-columns:1fr; } }
.lab-lp-panel{ background:rgba(255,255,255,.04); border:1px solid var(--lp-border-soft); border-radius:14px; padding:18px; }
.lab-lp-panel-head{ font-size:.85rem; font-weight:800; color:#fff; margin-bottom:14px; display:flex; align-items:center; gap:8px; justify-content:space-between; }
.lab-lp-panel-head-sm{ font-size:.8rem; font-weight:800; color:#fff; margin-bottom:14px; display:flex; align-items:center; gap:8px; }

/* ── Fund Card ── */
.lab-lp-fund-card{ background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:14px; margin-bottom:10px; border-left:3px solid #0f766e; }
.lab-lp-fund-top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:8px; }
.lab-lp-fund-name{ font-size:.85rem; font-weight:800; color:#fff; }
.lab-lp-fund-sub{ font-size:.68rem; color:rgba(255,255,255,.5); margin-top:2px; }
.lab-lp-fund-status{ font-size:.6rem; font-weight:800; padding:3px 9px; border-radius:10px; text-transform:uppercase; }
.lab-lp-fund-metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }
.lab-lp-fund-metric{ text-align:center; background:rgba(255,255,255,.04); border-radius:8px; padding:8px 4px; }
.lab-lp-fund-metric-val{ font-size:.85rem; font-weight:900; color:#fff; }
.lab-lp-fund-metric-lbl{ font-size:.58rem; color:rgba(255,255,255,.45); margin-top:2px; text-transform:uppercase; }
.lab-lp-progress-bar{ height:6px; background:rgba(255,255,255,.08); border-radius:6px; overflow:hidden; margin-top:6px; }
.lab-lp-progress-fill{ height:100%; border-radius:6px; }

/* ── Capital Calls table-like rows ── */
.lab-lp-call-row{ display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.lab-lp-call-dot{ width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.lab-lp-call-info{ flex:1; min-width:0; }
.lab-lp-call-num{ font-size:.75rem; font-weight:700; color:#fff; }
.lab-lp-call-meta{ font-size:.65rem; color:rgba(255,255,255,.5); }
.lab-lp-call-due{ text-align:right; font-size:.68rem; font-weight:700; }

/* ── Waterfall visual ── */
.lab-lp-wf-summary{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:14px; }
.lab-lp-wf-sum-item{ text-align:center; background:rgba(255,255,255,.05); border-radius:10px; padding:10px; }
.lab-lp-wf-sum-val{ font-size:1.1rem; font-weight:900; color:#fff; }
.lab-lp-wf-sum-lbl{ font-size:.6rem; color:rgba(255,255,255,.5); text-transform:uppercase; margin-top:2px; }
.lab-lp-wf-bar{ display:flex; height:22px; border-radius:8px; overflow:hidden; margin-bottom:14px; }
.lab-lp-wf-step{ display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06); }
.lab-lp-wf-step-num{ width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:900; color:#fff; flex-shrink:0; }
.lab-lp-wf-step-title{ font-size:.75rem; font-weight:700; color:#fff; }
.lab-lp-wf-step-desc{ font-size:.68rem; color:rgba(255,255,255,.5); margin-top:2px; }

/* ── KYC status pills ── */
.lab-lp-kyc-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:16px; }
.lab-lp-kyc-stat{ text-align:center; background:rgba(255,255,255,.04); border-radius:12px; padding:12px 6px; }
.lab-lp-kyc-count{ font-size:1.1rem; font-weight:900; color:#fff; }
.lab-lp-kyc-lbl{ font-size:.58rem; color:rgba(255,255,255,.5); font-weight:700; margin-top:2px; }

/* ── Report type cards ── */
.lab-lp-report-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
@media(max-width:900px){ .lab-lp-report-grid{ grid-template-columns:repeat(2,1fr); } }
.lab-lp-report-card{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:14px; }
.lab-lp-report-icon{ width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:.9rem; margin-bottom:8px; }
.lab-lp-report-title{ font-size:.75rem; font-weight:800; color:#fff; margin-bottom:4px; }
.lab-lp-report-badge{ font-size:.58rem; font-weight:800; padding:2px 7px; border-radius:8px; }

/* ── AI Assistant card ── */
.lab-lp-ai-card{ background:rgba(255,255,255,.05); border:1px solid var(--lp-glass-border); border-radius:18px; padding:24px 26px; margin-bottom:22px; }
.lab-lp-ai-top{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.lab-lp-ai-logo{ width:36px; height:36px; border-radius:10px; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.lab-lp-ai-logo img{ width:70%; height:70%; object-fit:contain; }
.lab-lp-ai-eyebrow{ font-size:.66rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:1.1px; font-weight:700; }
.lab-lp-ai-title{ font-size:1.05rem; font-weight:900; color:#fff; }
.lab-lp-ai-msg{ background:rgba(255,255,255,.04); border-radius:12px; padding:14px 16px; font-size:.8rem; line-height:1.7; color:rgba(255,255,255,.75); }
.lab-lp-ai-msg b{ color:#fff; }
.lab-lp-ai-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.lab-lp-ai-chip{ font-size:.7rem; font-weight:600; padding:6px 12px; border-radius:20px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.7); }

/* ── NAV Chart mock bars ── */
.lab-lp-navbar-wrap{ display:flex; align-items:flex-end; gap:6px; height:110px; padding:6px 0; }
.lab-lp-navbar{ flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#0f766e,#0891b2); position:relative; }

@media(max-width:768px){
    .lab-lp-fund-metrics{ grid-template-columns:repeat(2,1fr); }
    .lab-lp-wf-summary{ grid-template-columns:repeat(2,1fr); }
    .lab-lp-kyc-grid{ grid-template-columns:repeat(3,1fr); }
    .lab-lp-report-grid{ grid-template-columns:1fr; }
}