body { 
    background-color: #f6f7fb; 
}
.app-sidebar { 
    width: 248px; 
    min-height: 100vh; 
    position: sticky; 
    top: 0; 
}
.app-sidebar .nav-link { 
    border-radius: .5rem; 
}
.app-sidebar .nav-link:hover { 
    background-color: rgba(255, 255, 255, .1); 
}

.app-main { 
    flex: 1 1 auto; 
    min-width: 0; 
}

/* Clickable htmx triggers (anchors that have no href). */
a[hx-get] { 
    cursor: pointer; 
}

/* Scrollable summary tables with a pinned header. */
.table-scroll { 
    max-height: 420px; 
    overflow-y: auto; 
}
.sticky-header { 
    position: sticky; 
    top: 0; 
}

/* Toast notifications sit above modals. */
.toast-container { 
    z-index: 1080; 
}

/* Tom Select dropdown is parented to <body> so it stays above modals. */
.ts-dropdown {
    z-index: 1100;
}

/* Accordion chevron flips when its row is expanded. */
.accordion-chevron {
    transition: transform .2s ease;
}
[aria-expanded="true"] .accordion-chevron {
    transform: rotate(180deg);
}

/* Schema-field editor: enlarged "Required" checkbox on field cards. */
.schema-required-check {
    width: 1.2rem;
    height: 1.2rem;
}
