html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    background-color: #f0f2f5;
}

main {
    flex: 1;
}

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

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

.brand-logo-chip {
    background: #fff;
    border-radius: .5rem;
    padding: 3px 8px;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.brand-logo-chip img {
    height: 30px;
    width: auto;
    display: block;
}

.auth-brand-logo {
    max-width: 280px;
    max-height: 84px;
    width: auto;
    height: auto;
}

.auth-wrapper {
    min-height: calc(100vh - 180px);
}

.auth-card {
    width: 100%;
    max-width: 440px;
    border-radius: 1rem;
}

.auth-logo {
    width: 64px;
    height: 64px;
    border-radius: 1rem;
    background: linear-gradient(135deg, #212529, #dc3545);
    color: #fff;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Inline SVG logo sizing */
.brand-logo-chip svg {
    height: 32px;
    width: auto;
    display: block;
}

.auth-brand-logo {
    max-width: 300px;
}

.auth-brand-logo svg {
    width: 100%;
    height: auto;
    display: block;
}
