/* =====================================
   THEME VARIABLES
===================================== */
:root {
    --sidebar-width: 260px;
    --app-border: #dee2e6;
    --kbzp-primary: #3679c6;
    --kbzp-primary-hover: #2d66a8;
    --kbzp-primary-active: #25558d;
    --kbzp-primary-soft: #eaf2fb;
    --kbzp-primary-border: #bad4f1;
    --kbzp-primary-text: #1f4774;
}

/* =====================================
   BASE LAYOUT
===================================== */
body {
    background: #f7f8fa;
}

.admin-shell {
    min-height: 100vh;
}

.content {
    min-width: 0;
}

.admin-footer {
    background: #ebebeb;
}

.admin-footer p {
    color: #17202a;
    font-size: 0.75rem;
    margin-bottom: 0;
}

.text-break-anywhere {
    overflow-wrap: anywhere;
}

/* =====================================
   SIDEBAR
===================================== */
.sidebar {
    width: var(--sidebar-width);
    background: #17202a !important;
}

.sidebar .nav-link {
    color: #c9d2dc;
    border-radius: .5rem;
    padding: .7rem .85rem;
}

.sidebar .nav-link.active,
.sidebar .nav-link:hover {
    color: #fff;
    background: var(--kbzp-primary);
}

.sidebar .nav-link:active {
    background: var(--kbzp-primary-active);
}

@media (min-width: 992px) {
    .sidebar {
        position: sticky;
        top: 0;
        height: 100vh;
    }
}

/* =====================================
   LOGIN PAGE
===================================== */
.auth-page {
    min-height: 100vh;
    background: #f5f7fb;
}

.login-card {
    max-width: 420px;
    border-radius: .5rem;
}

.coming-soon-card {
    max-width: 540px;
    border-radius: .5rem;
}

.coming-soon-icon {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

/* =====================================
   BUTTONS
===================================== */
.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--kbzp-primary);
    --bs-btn-border-color: var(--kbzp-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--kbzp-primary-hover);
    --bs-btn-hover-border-color: var(--kbzp-primary-hover);
    --bs-btn-focus-shadow-rgb: 54, 121, 198;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--kbzp-primary-active);
    --bs-btn-active-border-color: var(--kbzp-primary-active);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #7da9dc;
    --bs-btn-disabled-border-color: #7da9dc;
}

.btn-outline-success {
    --bs-btn-color: var(--kbzp-primary);
    --bs-btn-border-color: var(--kbzp-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--kbzp-primary);
    --bs-btn-hover-border-color: var(--kbzp-primary);
    --bs-btn-focus-shadow-rgb: 54, 121, 198;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--kbzp-primary-active);
    --bs-btn-active-border-color: var(--kbzp-primary-active);
    --bs-btn-disabled-color: #7da9dc;
    --bs-btn-disabled-border-color: #7da9dc;
}

/* =====================================
   ALERTS AND BADGES
===================================== */
.text-success {
    color: var(--kbzp-primary) !important;
}

.text-bg-success {
    color: #fff !important;
    background-color: var(--kbzp-primary) !important;
}

.alert-success {
    --bs-alert-color: var(--kbzp-primary-text);
    --bs-alert-bg: var(--kbzp-primary-soft);
    --bs-alert-border-color: var(--kbzp-primary-border);
    --bs-alert-link-color: #183b61;
}

/* =====================================
   CARDS
===================================== */
.stat-card {
    border: 1px solid var(--app-border);
    border-radius: .5rem;
}

/* =====================================
   FORMS
===================================== */
.form-control:focus,
.form-select:focus {
    border-color: #8bb7e6;
    box-shadow: 0 0 0 .25rem rgba(54, 121, 198, .18);
}

/* =====================================
   TABLE STYLES
===================================== */
.table td,
.table th {
    vertical-align: middle;
}

/* =====================================
   PAGINATION
===================================== */
.page-link {
    color: var(--kbzp-primary);
}

.active > .page-link,
.page-link.active {
    background-color: var(--kbzp-primary);
    border-color: var(--kbzp-primary);
}

/* =====================================
   API DOCUMENTATION
===================================== */
.code-card pre {
    margin: 0;
    border-radius: 0 0 .5rem .5rem;
    padding: 1rem;
    background: #f6f8fa;
    overflow-x: auto;
}

.code-card code {
    color: #24292f;
    font-size: .875rem;
    min-height: 100%;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-title.function_ {
    color: #cf222e;
}

.hljs-string,
.hljs-attr {
    color: #0a3069;
}

.hljs-literal,
.hljs-number {
    color: #0550ae;
}