/* ProPartners Phase 2.3 - Investor/Fundraiser Workspace Modernization
   UI-only layer. It does not change routes, calculations, permissions, workflows, or data writes. */
:root{--pp23-ink:#071a55;--pp23-muted:#667085;--pp23-line:#dfe8f5;--pp23-soft:#f7fbff;--pp23-blue:#0b5cff;--pp23-green:#0f766e;--pp23-amber:#b45309;--pp23-red:#b42318;--pp23-card:#fff;--pp23-radius:18px;--pp23-shadow:0 14px 38px rgba(15,31,61,.075)}
.ppx-role-content{container-type:inline-size}.ppx-role-main-investor,.ppx-role-main-fundraiser{background:#f4f7fb}.ppx-role-main-investor .ppu-role-content,.ppx-role-main-fundraiser .ppu-role-content{max-width:1240px!important}
/* Page intro strip added by JS where pages do not already have a clear hero. */
.pp23-page-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--pp23-line);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f7fbff 58%,#eef6ff 100%);box-shadow:var(--pp23-shadow);padding:18px 20px;margin:0 0 18px;color:var(--pp23-ink)}
.pp23-page-intro small{display:block;color:var(--pp23-blue);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:1000;margin-bottom:5px}.pp23-page-intro h1{margin:0;font-size:clamp(24px,2.4vw,36px);line-height:1.08;letter-spacing:-.045em;color:var(--pp23-ink)}.pp23-page-intro p{margin:7px 0 0;color:var(--pp23-muted);font-weight:800;line-height:1.45;max-width:760px}.pp23-page-intro .pp23-intro-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pp23-page-intro .pp23-intro-actions a{border:1px solid var(--pp23-line);background:#fff;border-radius:999px;padding:9px 12px;text-decoration:none;color:#17345f;font-size:12px;font-weight:1000}.pp23-page-intro .pp23-intro-actions a:first-child{background:var(--pp23-blue);border-color:var(--pp23-blue);color:#fff}
/* Dashboard cards and account stat panels. */
.ppx-role-content .ia-card,.ppx-role-content .fse-card,.ppx-role-content .pp-card,.ppx-role-content .card,.ppx-role-content .dashboard-card{border:1px solid var(--pp23-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 32px rgba(15,31,61,.06)!important}.ppx-role-content .ia-card:hover,.ppx-role-content .fse-card:hover,.ppx-role-content .dashboard-card:hover{box-shadow:0 18px 44px rgba(15,31,61,.09)!important}.pp23-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:16px 0}.pp23-stat-card{border:1px solid var(--pp23-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,31,61,.055);padding:16px}.pp23-stat-card small{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--pp23-muted);font-size:11px;font-weight:1000}.pp23-stat-card strong{display:block;margin-top:6px;color:var(--pp23-ink);font-size:26px;line-height:1}.pp23-stat-card span{display:block;margin-top:8px;color:var(--pp23-muted);font-size:12px;font-weight:800;line-height:1.4}
/* Tables: consistent, compact, aligned. */
.ppx-role-content table:not(.no-pp23){width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff;border:1px solid var(--pp23-line);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(15,31,61,.045)}.ppx-role-content table:not(.no-pp23) th{background:#f8fbff!important;color:#344054!important;text-transform:uppercase;letter-spacing:.065em;font-size:11px!important;font-weight:1000!important;padding:11px 12px!important;border-bottom:1px solid var(--pp23-line)!important;white-space:nowrap}.ppx-role-content table:not(.no-pp23) td{padding:10px 12px!important;border-bottom:1px solid #edf2f8!important;color:#1f2a44!important;vertical-align:middle!important;font-size:13px}.ppx-role-content table:not(.no-pp23) tr:last-child td{border-bottom:0!important}.ppx-role-content table:not(.no-pp23) td:last-child{white-space:nowrap}.ppx-role-content .table-responsive,.pp23-table-wrap{overflow:auto;border-radius:18px}.pp23-action-line,.pp-comm-actions,.fse-notif-controls,.ia-actions,.actions,.action-buttons{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:nowrap!important}.pp23-action-line a,.pp23-action-line button,.pp-comm-actions a,.pp-comm-actions button,.fse-notif-controls a,.fse-notif-controls button,.actions a,.actions button,.action-buttons a,.action-buttons button{min-height:30px!important;height:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;border-radius:9px!important;padding:7px 10px!important;font-size:12px!important;font-weight:900!important;line-height:1!important}
/* Search/filter dock for long tables and list pages. */
.pp23-filter-dock{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid var(--pp23-line);border-radius:16px;background:#fff;padding:10px 12px;margin:0 0 12px;box-shadow:0 8px 22px rgba(15,31,61,.045)}.pp23-filter-dock input{min-width:240px;border:1px solid var(--pp23-line)!important;border-radius:999px!important;padding:9px 12px!important;font-weight:800}.pp23-filter-dock .pp23-filter-summary{color:var(--pp23-muted);font-size:12px;font-weight:900}.pp23-filter-dock .pp23-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbeafe;background:#eff6ff;color:#1e40af;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:1000}
/* Wishlist and campaign cards. */
.pp23-campaign-grid,.pp2-wishlist-grid,.ia-watchlist-grid,.watchlist-grid,.saved-campaigns-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))!important;gap:16px!important}.pp23-campaign-card,.pp2-campaign-card,.ia-watch-card,.watchlist-card,.saved-campaign-card{position:relative;border:1px solid var(--pp23-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 14px 38px rgba(15,31,61,.07)!important;overflow:hidden!important;display:flex;flex-direction:column}.pp23-campaign-card:before,.pp2-campaign-card:before,.ia-watch-card:before,.watchlist-card:before,.saved-campaign-card:before{content:"Saved";position:absolute;left:12px;top:12px;z-index:2;border-radius:999px;background:rgba(7,26,85,.86);color:#fff;font-size:11px;font-weight:1000;padding:6px 9px}.pp23-campaign-card img,.pp2-campaign-card img,.ia-watch-card img,.watchlist-card img,.saved-campaign-card img{height:160px!important;object-fit:cover!important}.pp23-campaign-card .body,.pp2-campaign-card .body,.ia-watch-card .body,.watchlist-card .body,.saved-campaign-card .body{display:flex;flex-direction:column;gap:9px;flex:1}.pp23-campaign-card .actions,.pp2-campaign-card .actions,.ia-watch-card .actions,.watchlist-card .actions,.saved-campaign-card .actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
/* Document Vault: category cards and document rows. */
.pp23-vault-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.pp23-vault-group{border:1px solid var(--pp23-line);border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(15,31,61,.055);overflow:hidden}.pp23-vault-group header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8fbff;border-bottom:1px solid var(--pp23-line)}.pp23-vault-group header i{width:36px;height:36px;border-radius:13px;background:#eef5ff;color:var(--pp23-blue);display:grid;place-items:center;font-style:normal;font-weight:1000}.pp23-vault-group header b{display:block;color:var(--pp23-ink)}.pp23-vault-group header small{display:block;color:var(--pp23-muted);font-weight:800}.pp23-vault-list{display:grid;gap:9px;padding:12px}.pp23-vault-item,.document-card,.vault-card,.ia-doc-card{border:1px solid #e7eef8!important;border-radius:15px!important;background:#fff!important;padding:12px!important;box-shadow:none!important}.pp23-vault-item b,.document-card b,.vault-card b{color:var(--pp23-ink)}.pp23-vault-item small,.document-card small,.vault-card small{color:var(--pp23-muted);font-weight:800}.pp23-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:1000;background:#eef5ff;color:#1e40af}.pp23-status.approved,.pp23-status.verified{background:#dcfce7;color:#166534}.pp23-status.pending,.pp23-status.review{background:#fef3c7;color:#92400e}.pp23-status.rejected,.pp23-status.failed{background:#fee2e2;color:#991b1b}
/* Activity log as timeline. */
.pp23-timeline,.activity-list,.ia-activity-list{position:relative;display:grid!important;gap:10px!important}.pp23-timeline:before,.activity-list:before,.ia-activity-list:before{content:"";position:absolute;left:18px;top:8px;bottom:8px;width:2px;background:#dce8f8}.activity-row,.ia-activity-row,.pp23-timeline-item{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;border:1px solid var(--pp23-line)!important;border-radius:16px!important;background:#fff!important;padding:11px 12px!important;box-shadow:0 8px 24px rgba(15,31,61,.045)!important}.activity-row:before,.ia-activity-row:before,.pp23-timeline-item:before{content:"◎"!important;position:relative;z-index:1;width:36px!important;height:36px!important;border-radius:13px!important;background:#eef5ff!important;color:var(--pp23-blue)!important;display:grid!important;place-items:center!important;font-style:normal!important;font-weight:1000!important}.activity-row strong,.ia-activity-row strong,.pp23-timeline-item strong{display:block;color:var(--pp23-ink)}.activity-row small,.ia-activity-row small,.pp23-timeline-item small{display:block;color:var(--pp23-muted);font-weight:800}
/* Messages and notifications. */
.ia-comm-panel,.fse-notif-layout,.pp23-comm-panel{border-radius:22px}.ia-comm-table td,.ia-comm-table th{vertical-align:middle!important}.ia-comm-title b{font-size:13px!important}.ia-comm-title small{display:block!important;max-width:540px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--pp23-muted)!important}.ia-comm-modal,.fse-notif-dialog,.pp-modal-dialog{border-radius:24px!important;box-shadow:0 34px 90px rgba(2,8,23,.25)!important}.ia-comm-modal-body,.fse-notif-dialog p{line-height:1.58!important;color:#344054!important}.ia-comm-modal-close,.fse-notif-close{border-radius:999px!important}
/* Empty states. */
.ppx-empty,.ia-empty,.empty-state,.no-data,.no-records{border:1px dashed #cfe0f5!important;border-radius:20px!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;text-align:center!important;padding:26px!important;color:var(--pp23-muted)!important}.ppx-empty h3,.ia-empty h3,.empty-state h3{margin:0 0 7px!important;color:var(--pp23-ink)!important}
@container (max-width: 760px){.pp23-page-intro{grid-template-columns:1fr}.pp23-page-intro .pp23-intro-actions{justify-content:stretch}.pp23-page-intro .pp23-intro-actions a{text-align:center;flex:1}.pp23-filter-dock{align-items:stretch}.pp23-filter-dock input{min-width:0;width:100%}.ppx-role-content table:not(.no-pp23){display:block;overflow:auto}.activity-row,.ia-activity-row,.pp23-timeline-item{grid-template-columns:1fr!important}.activity-list:before,.ia-activity-list:before,.pp23-timeline:before,.activity-row:before,.ia-activity-row:before,.pp23-timeline-item:before{display:none!important}.pp23-campaign-grid,.pp2-wishlist-grid,.ia-watchlist-grid,.watchlist-grid,.saved-campaigns-grid,.pp23-vault-groups{grid-template-columns:1fr!important}.pp23-action-line,.pp-comm-actions,.fse-notif-controls,.ia-actions,.actions,.action-buttons{flex-wrap:wrap!important}.ia-comm-title small{white-space:normal!important}}
@media(max-width:760px){.pp23-page-intro{grid-template-columns:1fr}.pp23-page-intro .pp23-intro-actions{justify-content:stretch}.pp23-page-intro .pp23-intro-actions a{text-align:center;flex:1}.pp23-filter-dock input{min-width:0;width:100%}.pp23-action-line,.pp-comm-actions,.fse-notif-controls,.ia-actions,.actions,.action-buttons{flex-wrap:wrap!important}}
