:root {
    --portal-primary: #0d6efd;
    --portal-dark: #14213d;
}

body {
    background: #f4f6fb;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.navbar-portal {
    background: var(--portal-dark);
}

.hero {
    background: linear-gradient(135deg, var(--portal-dark), #274690);
    color: #fff;
    border-radius: 1rem;
}

.card {
    border: none;
    border-radius: .75rem;
    box-shadow: 0 1px 3px rgba(20, 33, 61, .08);
}

.stat-card .stat-value {
    font-size: 1.75rem;
    font-weight: 600;
}

.stat-card .stat-icon {
    font-size: 2rem;
    opacity: .35;
}

.plan-card .price {
    font-size: 2rem;
    font-weight: 700;
}

.font-mono, code.fp {
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

pre.license {
    background: #0f172a;
    color: #e2e8f0;
    padding: 1rem;
    border-radius: .5rem;
    white-space: pre-wrap;
    word-break: break-all;
    font-size: .8rem;
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.auth-card {
    max-width: 440px;
}
