/* App-specific tweaks layered on top of AdminLTE 4. Sidebar/header/footer styling comes from AdminLTE itself. */
.card-kpi .num { font-size: 1.6rem; font-weight: 600; }
.chart-box { height: 340px; }
.badge-status-draft { background: #6b7280; } .badge-status-pending_approval { background: #d97706; }
.badge-status-approved { background: #16a34a; } .badge-status-rejected { background: #dc2626; }
/* keep page content readable above the fixed footer */
.app-main { padding-bottom: 1rem; }

/* ERP.enhanceTable(): sticky thead/tfoot + frozen columns + column resize (see erp.js) */
.table-responsive table > thead > tr > th, .table-responsive table > thead > tr > td { box-shadow: 0 1px 0 rgba(0,0,0,.08); }
.col-resizer { position: absolute; top: 0; right: 0; width: 6px; height: 100%; cursor: col-resize; z-index: 5; }
.col-resizer:hover, .col-resizer:active { background: rgba(13,110,253,.35); }
.cell-selected { outline: 2px solid #0d6efd; outline-offset: -2px; cursor: pointer; }

/* ERP.enableMic() / ERP.enableVoiceCommands() - see erp.js */
.mic-btn.mic-listening, #voiceFab.mic-listening { background: #dc3545; color: #fff; border-color: #dc3545; animation: er-mic-pulse 1.1s ease-in-out infinite; }
@keyframes er-mic-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(220,53,69,.5); } 50% { box-shadow: 0 0 0 8px rgba(220,53,69,0); } }

/* ChatController / chat.js - WebRTC call room */
.chat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.chat-tile { position: relative; background: #1f2937; border-radius: .5rem; overflow: hidden; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; }
.chat-tile video { width: 100%; height: 100%; object-fit: cover; }
.chat-tile .chat-avatar { font-size: 3.5rem; color: #9ca3af; }
.chat-tile .chat-name { position: absolute; left: 8px; bottom: 6px; color: #fff; font-size: .8rem; text-shadow: 0 1px 3px rgba(0,0,0,.8); }
.chat-invite-toast { position: fixed; top: 70px; right: 20px; z-index: 1060; background: #fff; border-radius: .5rem; padding: .75rem 1rem; width: 280px; }
