/* Group portal: only what the portal needs on top of the shared portal.css. */

.hello { margin: 6px 0 18px; }
.hello h2 { font-family: var(--font-display); font-size: 1.9rem; font-weight: 700; letter-spacing: -0.01em; text-wrap: balance; }
.hello p { color: var(--muted); margin: 2px 0 0; }
.hello p:empty { display: none; }

/* One tile per tool */
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; align-items: stretch; }
.tiles > .panel + .panel { margin-top: 0; }
.tile { display: flex; flex-direction: column; gap: 12px; }
.tile-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tile-head h2 { font-family: var(--font-display); font-size: 1.45rem; margin: 0; }
.tile-desc { color: var(--muted); margin: 0; }
.tile-items { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.tile-items li { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.tile-items .pill { min-width: 30px; text-align: center; font-variant-numeric: tabular-nums; font-size: .82rem; }
.tile-quiet { color: var(--muted); font-size: .9rem; margin: 0; }
.tile .actions { margin-top: auto; padding-top: 4px; }
.tile-others { color: var(--muted); font-size: .9rem; margin: 18px 0 0; }

/* Who's signed in: in the header on bigger screens, at the bottom on phones */
.phone-who { display: none; }
@media (max-width: 760px) {
  .hello h2 { font-size: 1.5rem; }
  .tiles { grid-template-columns: 1fr; gap: 14px; }
  .tile .actions .btn { flex: 1 1 100%; }
  .phone-who:not([hidden]) { display: grid; gap: 12px; margin-top: 22px; padding: 14px 2px 0; border-top: 1px solid var(--line); font-size: .88rem; color: var(--muted); }
  .phone-who > div { display: grid; gap: 2px; }
  .phone-who strong { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
  .phone-who .btn { width: 100%; }
}

.signed-out { margin: 0; }
