:root {
    --obm-pink: #e51463;
    --obm-pink-dark: #c01254;
    --obm-sidebar: #1f1f1f;
    --obm-sidebar-hover: #2b2b2b;
    --obm-bg: #f5f6fa;
    --obm-border: #e5e7eb;
}

body {
    background: var(--obm-bg);
    color: #1f2937;
}

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

.obm-sidebar {
    width: 260px;
    background: var(--obm-sidebar);
    color: #fff;
    min-height: 100vh;
    position: sticky;
    top: 0;
}

.obm-sidebar-mobile {
    width: 100%;
    min-height: 100%;
    position: static;
}

.offcanvas.obm-sidebar-offcanvas {
    width: 280px;
    background: var(--obm-sidebar);
}

.obm-sidebar .nav-link {
    color: rgba(255,255,255,.8);
    border-left: 3px solid transparent;
    border-radius: 0;
}

.obm-sidebar .nav-link:hover {
    background: var(--obm-sidebar-hover);
    color: #fff;
}

.obm-sidebar .nav-link.active {
    background: rgba(229,20,99,.14);
    border-left-color: var(--obm-pink);
    color: #fff;
}

.obm-main {
    min-width: 0;
}

.obm-topbar {
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--obm-border);
    padding: 1rem 1.5rem;
    position: sticky;
    top: 0;
    z-index: 10;
}

.btn-primary {
    background: var(--obm-pink);
    border-color: var(--obm-pink);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background: var(--obm-pink-dark) !important;
    border-color: var(--obm-pink-dark) !important;
}

.card {
    border-radius: 1rem;
}

.card-header {
    border-bottom-color: var(--obm-border);
}

.table > :not(caption) > * > * {
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.obm-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #fff 0%, #f5f6fa 100%);
}

.obm-empty-state {
    max-width: 460px;
    margin: 0 auto;
}

.obm-stat-card {
    border: 0;
    box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .08);
}

.obm-stat-card .obm-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(229,20,99,.12);
    color: var(--obm-pink);
}

.obm-page-toolbar {
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.obm-filter-wrap {
    min-width: min(100%, 320px);
}

.obm-filter-wrap .form-control {
    padding-left: 2.3rem;
}

.obm-filter-icon {
    position: absolute;
    top: 50%;
    left: .85rem;
    transform: translateY(-50%);
    color: #6b7280;
}

.obm-card-subtle {
    border: 1px dashed var(--obm-border);
    background: #fff;
}

pre {
    white-space: pre-wrap;
}

@media (max-width: 991.98px) {
    .obm-topbar {
        padding: 1rem;
    }
}
