.portal-hero{
  background:linear-gradient(165deg, var(--purple-deep), var(--purple-mid));
  color:var(--parchment); padding:48px 0 40px;
}
.portal-hero h1{ color:var(--parchment); font-size:clamp(1.6rem,2.6vw,2.2rem); margin-top:.3em; }
.portal-hero p{ max-width:640px; opacity:.9; }

.portal-section{ padding:48px 0 80px; }

.lookup-card{
  background:#fff; border:1px solid var(--wall-line); border-radius:6px; padding:26px; margin-bottom:26px;
}
.lookup-card h2{ font-size:1.1rem; color:var(--purple-deep); margin-bottom:6px; }
.lookup-card p.hint{ color:#5a5163; font-size:.88rem; margin-bottom:16px; }
.lookup-row{ display:flex; gap:12px; flex-wrap:wrap; }
.lookup-row input{
  flex:1; min-width:220px; padding:.7em .8em; border:1.5px solid var(--wall-line); border-radius:4px; font-size:.95rem;
}
.lookup-row button{ white-space:nowrap; }

.lookup-message{
  margin-top:14px; padding:12px 16px; border-radius:4px; font-size:.9rem; display:none;
}
.lookup-message.show{ display:block; }
.lookup-message.error{ background:#fbe7e7; border:1px solid #d98686; color:#7a1f1f; }
.lookup-message.error a{ color:#7a1f1f; text-decoration:underline; font-weight:600; }

.member-card{
  background:var(--purple-deep); color:var(--parchment); border-radius:6px; padding:18px 22px; margin-bottom:26px;
  display:none;
}
.member-card.show{ display:block; }
.member-card .eyebrow{ color:var(--gold-soft); }
.member-card h3{ color:var(--parchment); margin:.2em 0 .1em; }
.member-card .meta{ font-size:.85rem; opacity:.85; }
.member-card .switch{ margin-top:10px; }
.member-card .switch a{ color:var(--gold-soft); font-family:var(--font-mono); font-size:.8rem; }

.list-card{
  background:#fff; border:1px solid var(--wall-line); border-radius:6px; padding:22px; margin-bottom:26px; display:none;
}
.list-card.show{ display:block; }
.list-card h2{ font-size:1.05rem; color:var(--purple-deep); }
.list-card table{ width:100%; border-collapse:collapse; margin-top:12px; font-size:.88rem; }
.list-card th, .list-card td{ text-align:left; padding:8px 10px; border-bottom:1px solid var(--wall-line); }
.list-card th{ font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:#6b6274; }
.status-tag{
  display:inline-block; padding:.2em .6em; border-radius:12px; font-size:.72rem; font-family:var(--font-mono);
}
.status-submitted, .status-requested{ background:#f0e8d4; color:#8a6a1a; }
.status-accepted, .status-confirmed{ background:#dcf0dc; color:#1f6b2c; }
.status-rejected, .status-cancelled{ background:#fbe7e7; color:#7a1f1f; }
.status-under_review{ background:#e3e6f0; color:#33417a; }
.list-card td.empty{ color:#8a8090; font-style:italic; }

.action-form{ background:#fff; border:1px solid var(--wall-line); border-radius:6px; padding:26px; display:none; }
.action-form.show{ display:block; }
.action-form h2{ font-size:1.1rem; color:var(--purple-deep); margin-bottom:18px; }
