/* Employer portal — extends style.css. No inline styles are used (the page has a strict CSP). */
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.gate-card { text-align: center; }
.gate-card h2 { font-size: 1.7rem; margin-top: 4px; }
.gate-copy { color: var(--fg-muted); margin-top: 10px; font-size: 0.9rem; }
.gate-copy a, .gate-back a { color: var(--fg-muted); }
.gate-card .gate-error { display: block; min-height: 1.3em; }
.gate-back { margin-top: 22px; font-size: 0.85rem; }

.portal-content { max-width: 820px; margin: 0 auto; padding: 96px 24px 72px; }
.portal-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.portal-title { font-size: clamp(1.8rem, 4vw, 2.4rem); }
.portal-sub { color: var(--accent-2); font-family: var(--mono); font-size: 0.8rem; margin-top: 8px; }
.portal-lede { color: var(--fg-muted); margin-top: 18px; }
.portal-section { margin-top: 44px; }
.portal-section h2 { font-size: 1.4rem; }
.portal-note { color: var(--fg-muted); font-size: 0.9rem; margin-top: 6px; }

.referee-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 18px; }
.referee-card { border: 1px solid var(--border); background: var(--card-bg); border-radius: var(--radius); padding: 22px; }
.referee-card h3 { font-size: 1.15rem; }
.referee-role { font-size: 0.88rem; color: var(--accent-2); margin-top: 6px; font-weight: 500; }
.referee-rel { font-size: 0.85rem; color: var(--fg-muted); margin-top: 4px; }
.referee-links { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; font-family: var(--mono); font-size: 0.85rem; }
.referee-links a { color: var(--fg); overflow-wrap: anywhere; }

.doc-group { font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin: 26px 0 10px; font-weight: 500; }
.portal-doc-list a { align-items: center; gap: 16px; }
.doc-main { display: flex; flex-direction: column; gap: 3px; }
.doc-title { font-weight: 600; }
.doc-meta { font-size: 0.8rem; color: var(--fg-muted); }
.doc-type { font-family: var(--mono); font-size: 0.75rem; color: var(--fg-muted); }

.notice { margin-top: 12px; padding: 16px 18px; border: 1px dashed var(--border); border-radius: var(--radius); color: var(--fg-muted); font-size: 0.92rem; }
.portal-privacy { margin-top: 48px; font-size: 0.78rem; color: var(--fg-muted); }
.portal-noscript { padding: 24px; text-align: center; color: var(--fg-muted); }
