/* Backoffice teal theme — sets the admin surface apart from the blue main app.
   Scoped under .bo-theme so it never leaks into the main application. */
.bo-theme {
    --bo-accent: #0d9488;        /* teal-600 */
    --bo-accent-dark: #0f766e;   /* teal-700 */
    --bs-primary: #0d9488;
    --bs-primary-rgb: 13, 148, 136;
}

.bo-main.app-main {
    background: #f0fdfa;          /* teal-50 */
}

[data-bs-theme="dark"] .bo-main.app-main {
    background: #0b1615;
}

[data-bs-theme="dark"] .bo-theme a:not(.btn):not(.bo-topbar-exit):not(.sidebar-link) {
    color: #5eead4;
}

.bo-topbar {
    display: flex;
    align-items: center;
    gap: .25rem;
    background: var(--bo-accent-dark);
    color: #fff;
    font-weight: 600;
    letter-spacing: .02em;
    padding: .5rem 1.25rem;
}

.bo-topbar-exit {
    color: #d1faf4;
    text-decoration: none;
    font-weight: 500;
    font-size: .9rem;
}

.bo-topbar-exit:hover {
    color: #fff;
    text-decoration: underline;
}

.bo-theme .btn-primary {
    --bs-btn-bg: var(--bo-accent);
    --bs-btn-border-color: var(--bo-accent);
    --bs-btn-hover-bg: var(--bo-accent-dark);
    --bs-btn-hover-border-color: var(--bo-accent-dark);
    --bs-btn-active-bg: var(--bo-accent-dark);
    --bs-btn-active-border-color: var(--bo-accent-dark);
    --bs-btn-disabled-bg: var(--bo-accent);
    --bs-btn-disabled-border-color: var(--bo-accent);
}

.bo-theme .btn-outline-primary {
    --bs-btn-color: var(--bo-accent);
    --bs-btn-border-color: var(--bo-accent);
    --bs-btn-hover-bg: var(--bo-accent);
    --bs-btn-hover-border-color: var(--bo-accent);
    --bs-btn-active-bg: var(--bo-accent-dark);
    --bs-btn-active-border-color: var(--bo-accent-dark);
}

.bo-theme a:not(.btn):not(.bo-topbar-exit):not(.sidebar-link) {
    color: var(--bo-accent-dark);
}

.bo-theme .form-check-input:checked {
    background-color: var(--bo-accent);
    border-color: var(--bo-accent);
}

.bo-theme .badge.bg-primary {
    background-color: var(--bo-accent) !important;
}

/* Category tree picker (shared across CategoryTreePicker + CategoryTreeNode, so global). */
.cat-tree-scroll { max-height: 320px; overflow-y: auto; border: 1px solid var(--bs-border-color); border-radius: .375rem; padding: .5rem; }
.cat-tree-root, .cat-children { list-style: none; margin: 0; padding-left: 0; }
.cat-children { padding-left: 1.25rem; }
.cat-node { padding: 1px 0; }
.cat-leaf-spacer { display: inline-block; width: 1rem; }
.cat-chevron { width: 1rem; line-height: 1; }
.cat-chevron-active { color: var(--bs-primary) !important; }
.cat-branch-selected > .form-check > .form-check-label { font-weight: 600; }
.cat-branch-badge { background-color: var(--bs-primary); color: #fff; font-size: .65rem; }
.category-tree-picker .form-check-label { cursor: pointer; }
