/* Shared app styles */

/* Sticky navbar and footer */
body { padding-bottom: 56px; }
.navbar { position: sticky; top: 0; z-index: 1070; }

footer { position: sticky; bottom: 0; z-index: 1070; }

/* Status indicator dot used in sessions overview */
.status-dot { display:inline-block; width:18px; height:18px; border-radius:50%; vertical-align:middle; border: 1px solid rgba(0,0,0,0.08); }
.status-green { background-color: #28a745; }
.status-yellow { background-color: #ffc107; }
.status-red { background-color: #dc3545; }
.status-gray { background-color: #6c757d; }
/* Sidebar navigation */
.sidebar { transition: box-shadow 0.2s; }
.sidebar .nav-link { color: #495057; padding: 0.75rem 1rem; border-radius: 0.375rem; margin-bottom: 0.25rem; }
.sidebar .nav-link:hover { background-color: #e9ecef; color: #212529; }
.sidebar .nav-link.active { background-color: #0d6efd; color: white; }
/* Small utilities */

.text-muted.small { font-size: .8rem; }

/* Ensure flex children can shrink properly to avoid overflow covering sidebar */
.flex-grow-1 { min-width: 0; }

/* Sidebar sizing & sticky behavior so it remains visible */
.sidebar { flex: 0 0 220px; width: 220px; position: sticky; top: 56px; z-index: 1055; height: calc(100vh - 56px - 56px); overflow-y: auto; }
.main-content { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; overflow-y: auto; padding: 2rem; }

/* Chat container and takeover overlay */
.chat-container { position: relative; width: 100%; box-sizing: border-box; }
.reply-wrapper { position: relative; }
.reply-overlay { position: absolute; left: 0; right: 0; top: 0; bottom: 0; display:flex; align-items:center; justify-content:center; background: rgba(255,255,255,0.9); z-index: 1050; }
.reply-overlay .btn { box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
