/* Shared tokens, buttons, flashes, details, and hub-card rules live in
   shared.css (linked before this file — see app/views/layouts/portal.html.erb). */

header.portal-nav { background: var(--color-neutral-dark); color: #fff; padding: 0.75rem 1.5rem; display: flex; gap: 1.5rem; align-items: center; }
header.portal-nav a { color: #fff; text-decoration: none; font-weight: 600; }
main { padding: 1.5rem; max-width: 720px; margin: 0 auto; }
.portal-nav form { margin-left: auto; }
.portal-nav-signout { background: none; border: 1px solid rgba(255,255,255,0.4); color: #fff; padding: 0.25rem 0.6rem; border-radius: 4px; font: inherit; font-size: 0.85rem; cursor: pointer; }
.portal-form label { display: block; font-weight: 600; margin-top: 1rem; }
.portal-form input[type=email], .portal-form input[type=password], .portal-form input[type=text], .portal-form textarea, .portal-form select {
  width: 100%; padding: 0.4rem; box-sizing: border-box; font-family: inherit;
}
.portal-form textarea { font-family: ui-monospace, monospace; min-height: 5rem; }
.portal-form label .field-hint { display: block; font-weight: 400; margin: 0.15rem 0 0.35rem; }
header.portal-nav a:focus-visible, .portal-nav-signout:focus-visible {
  outline-color: #fff;
}
