/* Gobel Software brand on top of Bootstrap 5.3 */
:root {
    --brand: #0b4765;
    --brand-rgb: 11, 71, 101;
    --brand-hover: #093b54;
    --brand-dark: #072f44;
    --brand-light: #1b6a91;

    --bs-primary: var(--brand);
    --bs-primary-rgb: var(--brand-rgb);
    --bs-primary-text-emphasis: #052233;
    --bs-primary-bg-subtle: #d3e3eb;
    --bs-primary-border-subtle: #a7c6d6;
    --bs-link-color: var(--brand);
    --bs-link-color-rgb: var(--brand-rgb);
    --bs-link-hover-color: var(--brand-dark);
    --bs-link-hover-color-rgb: 7, 47, 68;
    --bs-focus-ring-color: rgba(var(--brand-rgb), .25);
}

body { background: #f3f6f8; }

.btn-primary {
    --bs-btn-bg: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand-hover);
    --bs-btn-hover-border-color: var(--brand-hover);
    --bs-btn-active-bg: var(--brand-dark);
    --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-disabled-bg: var(--brand);
    --bs-btn-disabled-border-color: var(--brand);
    --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}

.btn-outline-primary {
    --bs-btn-color: var(--brand);
    --bs-btn-border-color: var(--brand);
    --bs-btn-hover-bg: var(--brand);
    --bs-btn-hover-border-color: var(--brand);
    --bs-btn-active-bg: var(--brand-dark);
    --bs-btn-active-border-color: var(--brand-dark);
    --bs-btn-disabled-color: var(--brand);
    --bs-btn-disabled-border-color: var(--brand);
    --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}

.form-control:focus, .form-select:focus, .form-check-input:focus {
    border-color: #6f9cb3;
    box-shadow: 0 0 0 .25rem rgba(var(--brand-rgb), .2);
}

.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }
.form-switch .form-check-input:focus:not(:checked) {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%236f9cb3'/%3e%3c/svg%3e");
}

.pagination {
    --bs-pagination-color: var(--brand);
    --bs-pagination-hover-color: var(--brand-dark);
    --bs-pagination-focus-color: var(--brand-dark);
    --bs-pagination-active-bg: var(--brand);
    --bs-pagination-active-border-color: var(--brand);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(var(--brand-rgb), .2);
}

.nav-tabs .nav-link { color: var(--brand); }
.nav-tabs .nav-link.active { color: #212529; }

/* Sidebar */
.sidebar { width: 240px; min-height: 100vh; }
/* Bootstrap makes .offcanvas-lg transparent (!important) on desktop */
#sidebar { background-color: var(--brand-dark) !important; color: #fff; }
.sidebar .brand-logo { display: block; width: 150px; height: auto; }
.sidebar .brand-name { color: rgba(255, 255, 255, .5); font-size: .72rem; letter-spacing: 2px; text-transform: uppercase; }
.sidebar .nav-link { color: rgba(255, 255, 255, .68); border-radius: .375rem; padding: .55rem .8rem; }
.sidebar .nav-link:hover { color: #fff; background: rgba(255, 255, 255, .07); }
.sidebar .nav-link.active { color: #fff; background: var(--brand-light); }
.sidebar .nav-link i { width: 1.4rem; display: inline-block; }
.sidebar .border-top { border-color: rgba(255, 255, 255, .12) !important; }
@media (max-width: 991.98px) { .sidebar { min-height: 0; } }

/* Content */
.card { border: 0; box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08); }
.table > :not(caption) > * > * { padding: .6rem .75rem; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .4px; color: #6c757d; font-weight: 600; }
.stat-value { font-size: 1.75rem; font-weight: 600; line-height: 1.1; }
.text-truncate-300 { max-width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
pre.code { background: #0d2230; color: #e6edf3; padding: 1rem; border-radius: .5rem; font-size: .82rem; white-space: pre; overflow-x: auto; }
dl.details dt { font-weight: 500; color: #6c757d; }
dl.details dd { word-break: break-word; }

/* Login */
.login-page { background: linear-gradient(160deg, #f3f6f8 0%, #dfe9ef 100%); }
.login-logo { width: 200px; height: auto; }
