/* ---------------------------------------------------------
   Minimal utility styles for buttons, modals, and print view.
   Tailwind is loaded via CDN; we avoid @apply for portability.
   --------------------------------------------------------- */

.btn-primary {
  background-color: #3b82f6; color: #fff; font-weight: 600;
  padding: 0.75rem 1.5rem; border-radius: 0.75rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.btn-primary:hover { background-color: #2563eb; transform: scale(1.02); box-shadow: 0 6px 16px rgba(37,99,235,.35); }

.btn-secondary {
  background-color: #e5e7eb; color: #1f2937; font-weight: 600;
  padding: 0.5rem 1rem; border-radius: 0.75rem; transition: background-color .15s ease;
}
.btn-secondary:hover { background-color: #d1d5db; }

.btn-event {
  width: 100%; padding: 1rem; border-radius: 0.75rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1); transition: transform .15s ease, box-shadow .15s ease;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
}
.btn-event:hover { transform: scale(1.02); box-shadow: 0 6px 16px rgba(0,0,0,0.15); }

/* Modal */
.modal { position: fixed; inset: 0; background-color: rgba(0,0,0,0.5); display: none; align-items: center; justify-content: center; z-index: 50; }
.modal.open { display: flex; }
.modal-content { background: #fff; border-radius: 0.75rem; padding: 1.5rem; width: 92%; max-width: 28rem; box-shadow: 0 10px 30px rgba(0,0,0,0.25); }

#toast { z-index: 60; }

/* Print-only view (opened in a separate window by JS) */
.print-wrap { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; color: #111827; padding: 16px; }
.print-header { margin-bottom: 12px; }
.print-title { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.print-meta { font-size: 14px; color: #374151; }
.print-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 13px; }
.print-table th, .print-table td { border: 1px solid #e5e7eb; padding: 8px 10px; text-align: left; vertical-align: top; }
.print-table thead th { background: #f3f4f6; font-weight: 700; }

/* Stats-Modal */
#stats-modal { position: fixed; inset: 0; background: rgba(0,0,0,.4); display: none; z-index: 60; }
#stats-modal.open { display: flex; align-items: center; justify-content: center; padding: 1rem; }

#stats-modal .modal-content {
  width: 100%;
  max-width: 980px;
  background: #fff;
  border-radius: 0.75rem;
  max-height: 90vh;
  overflow-y: auto;
}
