/* /assets/css/app.css */
:root {
    --intranet-accent: #0b5ed7;
    --intranet-surface: #f4f6f8;
}

html, body {
    min-height: 100%;
}

body {
    background: var(--intranet-surface);
}

body.app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}

.brand-mark {
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .45rem;
    color: #fff;
    background: var(--intranet-accent);
}

.navbar-brand small {
    font-size: .68rem;
    line-height: 1.1;
}

.app-card {
    transition: border-color .15s ease, box-shadow .15s ease;
}

.app-card:hover {
    border-color: rgba(11, 94, 215, .45);
    box-shadow: 0 .25rem .8rem rgba(0, 0, 0, .06);
}

.app-icon {
    width: 2.65rem;
    height: 2.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .55rem;
    background: rgba(11, 94, 215, .1);
    color: var(--intranet-accent);
    font-size: 1.25rem;
}

.login-page {
    min-height: 100vh;
    background: linear-gradient(145deg, #e8eef7, #f8f9fa 55%, #e9f2ff);
}

.login-card,
.error-card {
    max-width: 28rem;
}

.content-width {
    max-width: 112rem;
}

[data-loading="true"] {
    opacity: .65;
    pointer-events: none;
}
