/* ---------- Client Login: portal chooser ---------- */
.portals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.portal { display: grid; align-content: start; gap: 16px; justify-items: start; padding: clamp(24px, 3vw, 40px); border-radius: 22px; background: #fffaf2; box-shadow: inset 0 0 0 1px rgba(32,35,38,.1); }
.portal__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.portal__title { font-size: clamp(24px, 2.6vw, 34px); }
.portal > p { margin: 0; font-size: 17px; color: #34373a; }
.portal__status { font: 500 11px var(--ff-mono); letter-spacing: .12em; text-transform: uppercase; padding: 5px 10px; border-radius: 99px; }
.portal__status--live { color: var(--live-light); background: rgba(21,82,52,.12); }
.portal__status--soon { color: var(--confirm-ink); background: var(--confirm-bg); }
.portal__note { font-size: 14px !important; color: var(--smoke) !important; }
.portal--soon { background: repeating-linear-gradient(135deg, rgba(32,35,38,.03) 0 12px, rgba(32,35,38,.06) 12px 24px), #f7f2ea; }
.portal__disabled { background: rgba(32,35,38,.12); color: #5c5850; cursor: not-allowed; }
.portal__disabled:hover { transform: none; }
.portal .btn { white-space: normal; text-align: center; }
@media (max-width: 900px) { .portals { grid-template-columns: 1fr; } }
