/* Existing SkyControl layout with account views and explicit permission states. */
.public-portal [hidden] { display: none !important; }
.public-portal #navigation { flex-shrink: 0; }
.public-portal #personal-navigation { display: flex; flex-direction: column; gap: 0; flex-shrink: 0; margin-top: auto; padding-top: 20px; overflow: visible; }
.public-portal .sidebar-foot { margin-top: 0; }
@media (max-width: 760px) {
  .public-portal #personal-navigation { flex-direction: row; gap: 5px; margin-top: 12px; padding: 8px 6px 6px; border-top: 1px solid var(--border); overflow-x: auto; }
}
.public-portal .analyst-account { max-width: 28rem; overflow-wrap: anywhere; }
.public-portal .portal-account .panel { padding: 1.5rem; }
.public-portal .portal-account .panel p { margin-top: .75rem; }
.portal-account-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.portal-account-facts dt { color: var(--muted,#a8bbbf); font-size: .85rem; }
.portal-account-facts dd { margin: .4rem 0 0; overflow-wrap: anywhere; }
.portal-account-links { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.portal-account a { text-decoration: underline; text-underline-offset: .25em; }
.public-portal #auth-form { display: grid; gap: 1rem; }
.public-portal #auth-form .button { text-align: center; text-decoration: none; }
@media(max-width:700px) { .public-portal .analyst-account { max-width: 14rem; font-size: .75rem; } }

.public-portal .account-avatar { font-style: normal; }
.public-portal .account-avatar img { object-fit: cover; }

/* Trade records reuse the member ledger, with whole-trade amounts kept distinct. */
.portal-trades .panel-header { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem; }
.portal-trade-count { color: var(--secondary); font-size: .75rem; white-space: nowrap; }
.portal-trade-list { list-style: none; padding: 0 1.5rem; margin: 0; }
.portal-trade:last-child { border-bottom: 0; }
.portal-trade-top { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 1rem; }
.portal-trade-heading { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.portal-trade-heading > strong { font-size: .9rem; font-weight: 550; }
.portal-trade-date { display: block; margin-top: .35rem; color: var(--secondary); font-size: .75rem; }
.portal-trade-total { display: grid; gap: .25rem; text-align: right; font-variant-numeric: tabular-nums; }
.portal-trade-total > span { color: var(--secondary); font-size: .7rem; }
.portal-trade-total > strong { font-size: .95rem; font-weight: 550; overflow-wrap: anywhere; }
.portal-trade-item { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .5rem; min-width: 0; max-width: 100%; }
.portal-trade-item .item-label { overflow-wrap: anywhere; }
.portal-trade-quantity { color: var(--secondary); font-variant-numeric: tabular-nums; }
.portal-trade .member-trade-person { overflow-wrap: anywhere; font-size: .75rem; }
.portal-trade-date-note { margin: .6rem 0 0; font-size: .7rem; }
@media (max-width: 600px) {
  .portal-trades .panel-header { flex-direction: column; gap: .65rem; }
  .portal-trade-list { padding-inline: 1rem; }
  .portal-trade-top { grid-template-columns: minmax(0,1fr); gap: .75rem; }
  .portal-trade-total { justify-self: start; text-align: left; }
}
