/* Global Styles */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Sidebar Styling */
.sidebar {
    height: calc(100vh - 150px); /* Adjust based on header/footer height */
    overflow-y: auto;
    border-right: 1px solid #dee2e6;
}

/* Tag Tree Styling */
.tag-tree ul {
    list-style: none;
    padding-left: 1.2rem;
}

.tag-tree > ul {
    padding-left: 0;
}

.tag-tree li {
    margin: 0.25rem 0;
}

.tag-link {
    text-decoration: none;
    color: #212529;
    transition: color 0.2s;
}

.tag-link:hover {
    color: #0d6efd;
    text-decoration: none;
}

.tag-toggle {
    cursor: pointer;
    user-select: none;
    margin-right: 0.25rem;
    color: #6c757d;
    font-size: 0.8em;
    width: 1em;
    display: inline-block;
    text-align: center;
}

.tag-toggle:hover {
    color: #000;
}

/* Scrollbar for sidebar */
.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.sidebar::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.sidebar::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}
