body { background: #f5f6f8; color: #1f2933; }
.navbar-brand { letter-spacing: .01em; }
.category-heading, .category-toolbar { background: #111827; color: #fff; padding: .85rem 1rem; }
.category-toolbar { display: flex; gap: .75rem; align-items: center; }
.icmal-tabs { display: flex; gap: .2rem; overflow-x: auto; margin: 0 0 .75rem; border-bottom: 3px solid #1f2937; }
.icmal-tab { border: 1px solid #6b7280; border-bottom: 0; background: #2f4f73; color: #fff; padding: .38rem .85rem; font-weight: 600; white-space: nowrap; }
.icmal-tab.active { background: #fff; color: #0f7a2d; border-top: 3px solid #0f7a2d; }
.icmal-category { display: none; }
.icmal-category.is-active { display: block; }
.drag-handle { cursor: grab; color: #6b7280; font-weight: 700; user-select: none; }
.category-toolbar .drag-handle { color: #d1d5db; }
.item-table th { font-size: .76rem; color: #4b5563; white-space: nowrap; }
.item-table td { min-width: 110px; vertical-align: middle; }
.item-table td:nth-child(1), .item-table td:last-child { min-width: 42px; width: 42px; }
.category-totals, .totals-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: flex-end; }
.category-totals span, .totals-row span { background: #f3f4f6; padding: .45rem .7rem; border-radius: .35rem; }
.summary-panel { top: 5rem; }
.summary-categories { max-height: 280px; overflow: auto; border-bottom: 1px solid #e5e7eb; }
.summary-categories table { font-size: .78rem; }
.summary-line { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #e5e7eb; }
.summary-line.total { font-size: 1.25rem; border-bottom: 0; }
.grand-total { background: #111827; color: #fff; padding: 1.25rem; border-radius: .5rem; display: grid; gap: .5rem; justify-items: end; }
@media print {
  nav, .btn, form { display: none !important; }
  body { background: #fff; }
  .bg-white { border: 0 !important; }
}
