.portal-card{border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);margin:2rem 0;background:var(--panel);min-width:0}
.portal-card h2{font-size:clamp(1.5rem,3vw,2rem);margin:.5rem 0 1rem}
.portal-card p{font-size:1rem;line-height:1.7}
.portal-card .portal-eyebrow{font-size:.875rem;color:var(--muted);margin:0}
.portal-card .portal-status{border-left:2px solid var(--accent);padding-left:1rem;color:var(--muted);font-size:.9375rem}
.portal-fields{display:grid;gap:.6rem;margin-top:1.75rem;max-width:34rem}
.portal-fields label{font-size:1rem}
.portal-fields input{width:100%;min-width:0;min-height:48px;padding:.75rem .9rem;background:var(--screen);border:1px solid var(--line);border-radius:2px;color:var(--text);opacity:1}
.portal-fields input::placeholder{color:var(--muted);opacity:1}
.portal-fields input+label{margin-top:.8rem}
.portal-fields .button{margin-top:1rem;background:transparent;color:var(--muted);border-color:var(--line);opacity:1}
.portal-password-help{margin-top:.75rem;font-size:.9375rem}
.portal-password-help summary{display:list-item;min-height:44px;padding:.65rem 0;color:var(--accent);text-decoration:underline;text-underline-offset:.25em}
.portal-password-help p{margin:1rem 0 0}
.portal-owner .wp-block-buttons{margin:1.5rem 0 .5rem}
@media(max-width:600px){.portal-card{padding:1.1rem}.portal-fields .button{width:100%}}
