body {
  background-color: #0f1117;
  color: #f1f5f9;
  background-image:
    radial-gradient(circle at 10% 10%, rgba(139, 92, 246, 0.08), transparent 40%),
    radial-gradient(circle at 90% 80%, rgba(59, 130, 246, 0.08), transparent 40%);
  background-attachment: fixed;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.1); }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #475569; }

#dropZone.dragover {
  border-color: #8b5cf6;
  background-color: rgba(139, 92, 246, 0.08);
}

#monthlyBody tr.month-row { cursor: pointer; }
#monthlyBody tr.month-row:hover { background-color: rgba(255, 255, 255, 0.03); }

table tbody tr { border-bottom: 1px solid rgba(255, 255, 255, 0.05); }
table tbody tr:last-child { border-bottom: none; }

.copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  padding: 2px;
  border: none;
  background: transparent;
  color: #94a3b8;
  opacity: 0.35;
  border-radius: 4px;
  vertical-align: middle;
  cursor: pointer;
  transition: opacity 0.15s, background 0.15s, color 0.15s;
}
.copy-btn:hover { opacity: 1; color: #fff; background: rgba(255, 255, 255, 0.08); }
tr:hover .copy-btn { opacity: 0.7; }
.copy-btn.copied { color: #10b981; opacity: 1; }

@media print {
  .copy-btn { display: none !important; }
  body {
    background: #fff !important;
    color: #000 !important;
  }
  .no-print, header button, #uploadSection { display: none !important; }
  header { position: static !important; border: none !important; }
  .bg-surface, .bg-surface\/40 { background: #fff !important; }
  .border, .border-border { border-color: #ddd !important; }
  #monthlyChart { max-height: 300px; }
  .text-emerald-400 { color: #047857 !important; }
  .text-rose-400 { color: #be123c !important; }
  .text-textMain, .text-purple-500 { color: #000 !important; }
  .text-textMuted { color: #555 !important; }
}
