:root {
    --acm-primary: #14304f;
    --acm-accent: #2f6fed;
}

body {
    background-color: #f5f7fa;
}

.acm-topbar {
    background-color: var(--acm-primary);
}

.acm-sidebar {
    background-color: #ffffff;
    border-right: 1px solid #e3e8ef;
    min-height: calc(100vh - 56px);
}

.acm-sidebar .nav-link {
    color: #3c4858;
    border-radius: .375rem;
    padding: .5rem .75rem;
}

.acm-sidebar .nav-link.active {
    background-color: #eef3ff;
    color: var(--acm-accent);
    font-weight: 600;
}

.acm-auth-body {
    background-color: #eef1f6;
    min-height: 100vh;
    padding-top: 4rem;
}

.acm-card-metric .metric-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.acm-score {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}

.acm-status-dot {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    margin-right: .35rem;
}

.acm-footer {
    font-size: .8rem;
}

.table-sm td, .table-sm th {
    vertical-align: middle;
}

.acm-document h1 {
    font-size: 1.5rem;
    border-bottom: 2px solid var(--acm-primary);
    padding-bottom: .5rem;
}

.acm-document h2 {
    font-size: 1.05rem;
    margin-top: 1.5rem;
    color: var(--acm-primary);
}

.acm-document table {
    width: 100%;
    border-collapse: collapse;
    margin: .75rem 0;
    font-size: .85rem;
}

.acm-document th,
.acm-document td {
    border: 1px solid #dde3ec;
    padding: .35rem .5rem;
    text-align: left;
}

.acm-document th {
    background-color: #eef3ff;
}

.acm-document .disclaimer {
    margin-top: 1.5rem;
    padding: .75rem;
    border: 1px solid #dde3ec;
    background-color: #f7f9fc;
    font-size: .8rem;
}
