body { background:#f4f6f9; }
.sidebar { width:245px; min-height:calc(100vh - 56px); background:#18212b; }
.sidebar .nav-link { color:#cbd5df; border-radius:8px; margin:3px 0; padding:10px 12px; }
.sidebar .nav-link:hover { background:#273646; color:#fff; }
.sidebar .nav-link i { width:25px; }
.content { min-width:0; }
.card { border:0; box-shadow:0 5px 20px rgba(0,0,0,.06); border-radius:14px; }
.stat-card { border-left:4px solid #ffc107; }
.photo-thumb { width:150px; height:110px; object-fit:cover; border-radius:10px; cursor:pointer; }
.status { font-size:.78rem; }
.table td,.table th { vertical-align:middle; }
.navbar-toggle { display:none; }
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ===== Menu lateral como off-canvas em telas pequenas ===== */
.sidebar-overlay { display:none; }

@media (max-width:991.98px) {
  .navbar-toggle { display:inline-flex; }
  .sidebar {
    position:fixed; top:56px; left:0; bottom:0; width:270px; z-index:1045;
    transform:translateX(-105%); transition:transform .25s ease;
    overflow-y:auto; box-shadow:0 0 24px rgba(0,0,0,.35);
  }
  body.sidebar-open .sidebar { transform:translateX(0); }
  .sidebar-overlay {
    position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1044; display:none;
  }
  body.sidebar-open .sidebar-overlay { display:block; }
  .content { padding:12px !important; }
  .table-scroll { margin:0 -4px; width:calc(100% + 8px); }
  .status-btns .btn { font-size:.78rem; padding:.25rem .4rem; }
  /* Alvos de toque maiores para os ícones de ação */
  .table .btn, .table .btn-sm { padding:.35rem .5rem; }
  .table .btn i, .table .btn-sm i { font-size:1.05rem; }
  .modal-xl { max-width:100%; }
  .dash-title { flex-wrap:wrap; gap:.5rem; }
}

@media print {
  .navbar, .sidebar, .sidebar-overlay, .d-print-none { display:none !important; }
  .content { padding:0 !important; }
}