:root {
    --kp-body-bg: #f4f7fb;
    --kp-surface: #ffffff;
    --kp-surface-border: #e4e9f2;
    --kp-text: #1f2937;
    --kp-muted: #6b7280;
    --kp-shadow: 0 6px 20px rgba(31, 41, 55, 0.06);
}

body {
    background-color: var(--kp-body-bg);
    color: var(--kp-text);
}

#page-topbar {
    box-shadow: 0 1px 0 rgba(17, 24, 39, 0.07);
    background: var(--kp-surface);
}

.navbar-brand-box,
.vertical-menu {
    background: var(--kp-surface);
}

.vertical-menu {
    border-right: 1px solid var(--kp-surface-border);
}

.page-content {
    padding: calc(70px + 1.25rem) 0 1.25rem;
}

.page-title-box {
    margin-bottom: 1rem;
}

.page-title-box h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #111827;
}

.card {
    border: 1px solid var(--kp-surface-border);
    box-shadow: var(--kp-shadow);
    border-radius: 0.75rem;
}

.card .card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}

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

.table thead th {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #4b5563;
}

.form-control,
.form-select {
    border-color: #d7dee8;
}

.form-control:focus,
.form-select:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.18rem rgba(13, 110, 253, 0.12);
}

.btn {
    border-radius: 0.45rem;
}

.breadcrumb-item a {
    color: #2563eb;
    text-decoration: none;
}

.breadcrumb-item a:hover {
    text-decoration: underline;
}

.metismenu .menu-title {
    color: #6b7280;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
}

.footer {
    border-top: 1px solid var(--kp-surface-border);
    background: var(--kp-surface);
}

@media (max-width: 991.98px) {
    .page-content {
        padding-top: calc(70px + 0.9rem);
    }
}

/* Module consistency: Mineral BLB + BSG */
.mblb-module-tabs .nav-link i {
    font-size: 0.9rem;
    vertical-align: -1px;
}

.mblb-module-tabs-wrap .mblb-module-breadcrumb {
    font-size: 0.8rem;
}

.billing-page .btn,
.drafts-page .btn,
.sppd-page .btn,
.bsg-settings-page .btn,
.bsg-log-toolbar .btn {
    font-weight: 700;
}

.billing-page .status-pill,
.drafts-page .status-chip,
.sppd-page .status-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.28rem;
    border-radius: 999px;
    font-size: 0.72rem;
    letter-spacing: 0.02em;
}

.billing-page .status-pill::before,
.drafts-page .status-chip::before,
.sppd-page .status-chip::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.75;
}

.billing-page .table-wrap,
.drafts-page .drafts-table-wrap,
.sppd-page .table-wrap,
.bsg-log-table {
    font-size: 0.88rem;
}

.billing-page .table thead th,
.drafts-page .drafts-table thead th,
.sppd-page .table thead th,
.bsg-log-table thead th {
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: 0.76rem;
}

.bsg-log-stat .value,
.mini-kpi .value,
.mini-kpi .k-value {
    font-variant-numeric: tabular-nums;
}
