/* Extracted from inline <style> block(s) for CSP style-src compliance. */
.portal-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 16px; }
    .portal-card {
      display: flex; flex-direction: column; gap: 14px;
      padding: 28px; border: 1px solid var(--border); border-radius: var(--r-lg);
      background: var(--surface); transition: border-color .22s, background .22s, transform .22s;
      grid-column: span 2;
    }
    .portal-card:nth-last-child(1) { grid-column: 3 / span 2; }
    .portal-card:hover { border-color: rgba(29,114,255,.3); background: rgba(29,114,255,.07); transform: translateY(-3px); }
    .portal-icon {
      width: 48px; height: 48px; border-radius: 14px;
      background: rgba(29,114,255,.1); border: 1px solid rgba(29,114,255,.24);
      display: flex; align-items: center; justify-content: center; color: var(--blue2);
    }
    .portal-icon svg { width: 22px; height: 22px; }
    .portal-card h3 { font-size: 17px; margin-bottom: 4px; }
    .portal-card p { font-size: 13.5px; color: var(--muted); flex: 1; line-height: 1.55; }
    .portal-btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 10px 18px; border-radius: var(--r-sm);
      background: rgba(29,114,255,.12); border: 1px solid rgba(29,114,255,.25);
      color: var(--blue2); font-size: 13.5px; font-weight: 600;
      transition: background .18s, color .18s; width: fit-content;
    }
    .portal-btn:hover { background: rgba(29,114,255,.24); color: #fff; }
    @media (max-width:780px) { .portal-grid { grid-template-columns: 1fr 1fr; } .portal-card, .portal-card:nth-last-child(1) { grid-column: auto; } }
    @media (max-width:540px) { .portal-grid { grid-template-columns: 1fr; } }
  
