:root {
  --uog-red: #ff0000;
  --uog-green: #058940;
  --uog-gold: #dbc59e;
  --uog-dark: #0f1110;
  --uog-light: #f8faf8;
}

html { scroll-behavior: smooth; }

body {
  min-width: 320px;
  overflow-x: hidden;
}

.portal-card:hover {
  transform: translateY(-4px);
}

.uog-gradient {
  background: linear-gradient(135deg, #058940 0%, #dbc59e 100%);
}

.uog-spotlight {
  position: relative;
  overflow: hidden;
}
.uog-spotlight::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.18), transparent);
  transition: left 0.7s;
}
.uog-spotlight:hover::before {
  left: 100%;
}

/* DataTables responsive tweaks */
.uog-datatable {
  width: 100% !important;
}
.uog-table-wrapper .dataTables_wrapper .dataTables_filter input,
.uog-table-wrapper .dataTables_wrapper .dataTables_length select {
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  padding: 0.35rem 0.75rem;
  font-size: 0.85rem;
}
.uog-table-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  margin: 0 2px;
}
.uog-table-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: #058940 !important;
  color: white !important;
  border-color: #058940 !important;
}

/* Print friendly transcript */
.transcript-paper {
  background: #fff;
  border: 3px solid #058940;
  border-radius: 0.5rem;
  padding: 1.5rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

@media print {
  body * {
    visibility: hidden;
  }
  .print-area, .print-area * {
    visibility: visible;
  }
  .print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .no-print {
    display: none !important;
  }
}

/* SweetAlert customization */
.swal2-confirm {
  background-color: #058940 !important;
}
