
/* V86 premium portal refinements */
.dashboard-topbar{position:relative;top:auto}
.portal-shell main,.admin-shell main{background:linear-gradient(180deg,#f7faf7 0%,#eef4ef 48%,#f8fbf8 100%)}
.portal-command-hero{
  background:linear-gradient(135deg,#244b25 0%,#173619 58%,#0f1f10 100%);
  border-radius:28px;
  padding:2rem;
  color:#fff;
  box-shadow:0 26px 60px rgba(12,34,15,.18);
}
.portal-command-hero .hero-kicker,
.portal-command-hero .portal-section-kicker{color:rgba(255,255,255,.72);background:rgba(255,255,255,.1)}
.portal-command-hero h1,.portal-command-hero h2,.portal-command-hero .hero-title{color:#fff;font-size:2.15rem;line-height:1.08;font-weight:800;letter-spacing:-.03em;margin-bottom:.85rem}
.portal-command-hero p,.portal-command-hero .hero-text{color:rgba(255,255,255,.84);line-height:1.7}
.portal-command-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.15rem}
.portal-command-actions .btn-light{font-weight:700}
.portal-command-actions .btn-outline-light{border-color:rgba(255,255,255,.28);color:#fff}
.portal-command-actions .btn-outline-light:hover{background:rgba(255,255,255,.08);color:#fff}
.portal-command-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.portal-command-stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);border-radius:20px;padding:1rem 1rem 1.05rem}
.portal-command-stat span{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7);margin-bottom:.35rem}
.portal-command-stat strong{display:block;font-size:1.75rem;line-height:1;font-weight:800;color:#fff}
.portal-command-stat small{display:block;margin-top:.35rem;color:rgba(255,255,255,.72)}
.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.portal-kpi-card{background:#fff;border:1px solid rgba(18,22,26,.08);border-radius:22px;padding:1rem 1.05rem;box-shadow:0 16px 40px rgba(18,22,26,.05);height:100%}
.portal-kpi-card .eyebrow{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin-bottom:.45rem}
.portal-kpi-card strong{font-size:2rem;line-height:1;font-weight:800;display:block;color:#111827}
.portal-kpi-card .meta{display:block;margin-top:.45rem;color:#6b7280;font-size:.92rem}
.portal-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.portal-panel-heading .text-muted{max-width:60ch}
.portal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.program-selector-grid,.community-grid,.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.program-selector-card,.community-member-card,.portal-quick-action,.portal-mini-feed-card,.portal-preference-card{
  background:#fff;border:1px solid rgba(18,22,26,.08);border-radius:22px;padding:1rem 1.05rem;box-shadow:0 12px 32px rgba(18,22,26,.05);height:100%
}
.program-selector-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;text-decoration:none;color:#111827;transition:.2s ease}
.program-selector-card:hover,.program-selector-card.active{transform:translateY(-2px);border-color:rgba(36,75,37,.28);box-shadow:0 18px 42px rgba(18,22,26,.08);color:#111827}
.program-selector-card.active{background:linear-gradient(135deg,rgba(36,75,37,.07),rgba(36,75,37,.02))}
.program-selector-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}
.portal-badge-soft{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .72rem;border-radius:999px;background:rgba(36,75,37,.08);color:#244b25;font-weight:700;font-size:.77rem}
.portal-subtle-chip{display:inline-flex;align-items:center;padding:.3rem .68rem;border-radius:999px;background:#f1f5f2;color:#405243;font-weight:700;font-size:.76rem}
.portal-section-card{background:#fff;border:1px solid rgba(18,22,26,.08);border-radius:24px;padding:1.2rem;box-shadow:0 14px 34px rgba(18,22,26,.05);height:100%}
.portal-section-card .section-text{color:#6b7280;line-height:1.65}
.portal-list{display:grid;gap:.85rem}
.portal-list-item{background:#fff;border:1px solid rgba(18,22,26,.07);border-radius:18px;padding:.95rem 1rem}
.portal-list-item.soft{background:#fafcfb}
.portal-list-item .item-title{font-weight:700;color:#111827}
.portal-list-item .item-meta{margin-top:.35rem;font-size:.92rem;color:#6b7280}
.portal-quick-action{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-decoration:none;color:#111827}
.portal-quick-action:hover{transform:translateY(-2px);color:#111827;box-shadow:0 18px 38px rgba(18,22,26,.07)}
.portal-quick-action .action-copy{max-width:70%}
.portal-quick-action .action-title{font-weight:800;display:block;margin-bottom:.2rem}
.portal-quick-action .action-text{font-size:.92rem;color:#6b7280;line-height:1.5}
.portal-quick-action .action-icon{width:44px;height:44px;border-radius:14px;background:rgba(36,75,37,.08);display:grid;place-items:center;font-weight:800;color:#244b25;flex:0 0 44px}
.portal-activity-stream{display:grid;gap:.9rem}
.portal-activity-row{display:flex;gap:.95rem;align-items:flex-start;padding:1rem;border:1px solid rgba(18,22,26,.07);border-radius:18px;background:#fff;text-decoration:none;color:#111827}
.portal-activity-row:hover{color:#111827;transform:translateY(-1px);box-shadow:0 16px 34px rgba(18,22,26,.06)}
.portal-activity-dot{width:42px;height:42px;border-radius:14px;background:rgba(36,75,37,.08);display:grid;place-items:center;color:#244b25;font-weight:800;flex:0 0 42px}
.portal-empty{padding:1.2rem;border:1px dashed rgba(36,75,37,.24);border-radius:18px;background:#fbfcfb;color:#6b7280}
.portal-stack{display:grid;gap:1rem}
.portal-toolbar{display:flex;gap:.75rem;flex-wrap:wrap}
.portal-inline-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.portal-mini-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.portal-mini-stat-card{background:#fff;border:1px solid rgba(18,22,26,.08);border-radius:18px;padding:1rem;box-shadow:0 12px 30px rgba(18,22,26,.05)}
.portal-mini-stat-card span{display:block;color:#6b7280;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}
.portal-mini-stat-card strong{display:block;font-size:1.7rem;line-height:1;font-weight:800}
.portal-two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:1rem}
.portal-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.portal-info-note{padding:1rem 1.05rem;border-radius:18px;background:#f6faf7;border:1px solid rgba(36,75,37,.1);color:#405243}
.portal-form-lite .form-label{font-weight:700}
.portal-form-lite .form-control{border-radius:15px;min-height:48px}
.portal-form-lite textarea.form-control{min-height:120px}
.portal-card-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.portal-scroller{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.program-post-form textarea{min-height:120px}
.program-post-form .form-control{border-radius:16px}
.portal-note-list{display:grid;gap:.8rem}
.portal-note-item{position:relative;padding-left:1.2rem;color:#4b5563;line-height:1.55}
.portal-note-item:before{content:'•';position:absolute;left:.1rem;top:-.02rem;color:#244b25;font-size:1.05rem;font-weight:900}
.portal-emphasis{font-weight:800;color:#111827}
@media (max-width:1199.98px){
  .portal-kpi-grid,.portal-mini-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-two-column,.portal-three-column,.portal-card-grid-3{grid-template-columns:1fr}
}
@media (max-width:991.98px){
  .portal-command-hero{padding:1.35rem}
  .portal-command-hero h1,.portal-command-hero h2,.portal-command-hero .hero-title{font-size:1.65rem}
  .portal-command-stats,.portal-card-grid,.program-selector-grid,.community-grid,.people-grid{grid-template-columns:1fr}
}
@media (max-width:575.98px){
  .portal-kpi-grid,.portal-mini-stat-grid{grid-template-columns:1fr}
  .portal-command-actions,.portal-toolbar,.portal-inline-actions{flex-direction:column;align-items:stretch}
  .portal-quick-action{align-items:flex-start}
  .portal-quick-action .action-copy{max-width:none}
}
