.portal-page { display: grid; gap: 1.25rem; min-width: 0; }
.portal-page .portal-card { padding: 1.25rem; border: 1px solid var(--border, #d8e1e8); border-radius: .75rem; min-width: 0; }
.portal-intro { color: var(--muted, #53616f); }
.portal-form { display: grid; gap: 1rem; max-width: 42rem; margin: 1rem 0; }
.portal-table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.portal-table th, .portal-table td { padding: .65rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--border, #d8e1e8); overflow-wrap: anywhere; }
.portal-table th { font-size: .85rem; color: var(--muted, #53616f); }
.portal-table button { margin: .2rem; white-space: normal; }
.portal-status { overflow-wrap: anywhere; }
.portal-status.error { color: #a02727; }
.portal-details { display: grid; grid-template-columns: minmax(6rem, 1fr) 3fr; gap: .5rem 1rem; overflow-wrap: anywhere; }
.portal-details dd { margin: 0; }
@media (max-width: 600px) {
  .portal-page .portal-card { padding: .75rem; }
  .portal-table th, .portal-table td { padding: .35rem; font-size: .8rem; }
  .portal-details { grid-template-columns: 1fr; }
}
