/* Abia Staff Portal — Additional CSS (loaded only on portal pages) */
.portal-login-wrap { min-height: calc(100vh - 72px); display: grid; grid-template-columns: 1fr 1fr; }
.portal-login-left { background: var(--charcoal); display: flex; flex-direction: column; justify-content: center; padding: 4rem; }
.portal-login-left img { height: 52px; margin-bottom: 3rem; }
.portal-login-headline { font-family: var(--font-display); font-size: clamp(2rem,3vw,3.5rem); font-weight: 400; color: var(--white); line-height: 1.15; margin-bottom: 1.5rem; }
.portal-login-headline em { font-style: italic; color: var(--blush-light); }
.portal-login-tagline { font-size: var(--text-sm); color: rgba(255,255,255,0.5); line-height: 1.7; }
.portal-login-right { background: var(--paper); display: flex; align-items: center; justify-content: center; padding: 4rem; }
@media (max-width: 768px) { .portal-login-wrap { grid-template-columns: 1fr; } .portal-login-left { display: none; } }

/* Policy/training cards */
.policy-card { background: var(--white); border-radius: 12px; padding: 1.25rem 1.5rem; border: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 1rem; transition: box-shadow .2s; }
.policy-card:hover { box-shadow: var(--shadow); }
.policy-card h4 { font-family: var(--font-display); font-size: 1rem; color: var(--charcoal); margin-bottom: .25rem; }
.policy-card-meta { font-size: var(--text-xs); color: var(--text-muted); }
.policy-download { font-size: var(--text-sm); font-weight: 500; color: var(--blush-dark); white-space: nowrap; }
