html {
    scroll-behavior: smooth;
    background: #eef5fb;
    color-scheme: light;
}

body.uslog-portal-route,
body.uslog-public-shell-route {
    --uslog-ink: #111827;
    --uslog-muted: #64748b;
    --uslog-blue: #1685cf;
    --uslog-blue-deep: #0c63a5;
    --uslog-bg: #eef5fb;
    --uslog-card: #ffffff;
    --uslog-line: #dfe8f1;
    --uslog-soft: #f6f9fc;
    min-height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    background: var(--uslog-bg) !important;
    color: var(--uslog-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.uslog-portal-route.admin-bar,
body.uslog-public-shell-route.admin-bar {
    min-height: calc(100vh - 32px);
}

.uslog-portal-page,
.uslog-portal-page * {
    box-sizing: border-box;
}

.uslog-portal-page {
    flex: 1 0 auto;
    width: 100%;
}

.uslog-portal-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

body.uslog-portal-route a:focus-visible,
body.uslog-portal-route button:focus-visible,
body.uslog-portal-route input:focus-visible,
body.uslog-portal-route select:focus-visible,
body.uslog-public-shell-route a:focus-visible,
body.uslog-public-shell-route button:focus-visible,
body.uslog-public-shell-route input:focus-visible,
body.uslog-public-shell-route select:focus-visible {
    outline: 3px solid rgba(22, 133, 207, .28);
    outline-offset: 2px;
}

body.uslog-portal-route .uslog-frontend-back-admin,
body.uslog-public-shell-route .uslog-frontend-back-admin {
    display: none !important;
}

.uslog-portal-skip-link {
    position: fixed;
    top: 8px;
    left: 8px;
    z-index: 100000;
    transform: translateY(-150%);
    padding: 10px 14px;
    border-radius: 10px;
    background: #111827;
    color: #fff;
    text-decoration: none;
}

.uslog-portal-skip-link:focus {
    transform: translateY(0);
}

@media (max-width: 782px) {
    body.uslog-portal-route.admin-bar,
    body.uslog-public-shell-route.admin-bar {
        min-height: calc(100vh - 46px);
    }
}

@media (max-width: 620px) {
    .uslog-portal-shell {
        width: min(100% - 20px, 1180px);
    }
}


/* Keep the standalone portal visually isolated from theme/mobile dark backgrounds. */
body.uslog-portal-route,
body.uslog-portal-route .uslog-portal-page {
    background-color: #eef5fb !important;
}
