body {
    min-height: 100vh;
    background: linear-gradient(135deg, #f5f7fb 0%, #e9eef8 100%);
}

.portal-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 2rem 0;
}

.portal-card {
    border-radius: 1rem;
    overflow: hidden;
    border: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.portal-hero {
    background: linear-gradient(135deg, #0055A6 0%, #0b74d1 100%);
    color: #fff;
    height: 100%;
    padding: 2.5rem;
}

.portal-hero h1,
.portal-hero h2,
.portal-hero p,
.portal-hero li,
.portal-hero small {
    color: #fff;
}

.portal-actions {
    padding: 2.5rem;
    background: #fff;
    height: 100%;
}

.entry-btn {
    width: 100%;
    text-align: left;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
}

.entry-btn .icon-wrap {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 85, 166, 0.1);
    flex-shrink: 0;
}

.feature-list li {
    margin-bottom: 0.6rem;
}

.portal-brand-mark {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.75rem;
}

@media (max-width: 767.98px) {
    .portal-hero,
    .portal-actions {
        padding: 1.5rem;
    }
}