.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px;
    padding: 1px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right;
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }
:root {
  --admin-bg: #050816;
  --admin-surface: rgba(15, 23, 42, .82);
  --admin-surface-2: rgba(30, 41, 59, .78);
  --admin-border: rgba(148, 163, 184, .18);
  --admin-text: #e5e7eb;
  --admin-muted: #94a3b8;
  --admin-accent: #00e0b8;
  --admin-accent-2: #7c3aed;
  --admin-danger: #fb7185;
  --admin-warning: #facc15;
}

/* =========================
   Base layout
========================= */

body.admin-body {
  min-height: 100vh;
  color: var(--admin-text);
  background:
    radial-gradient(circle at 15% 10%, rgba(0, 224, 184, .18), transparent 32%),
    radial-gradient(circle at 85% 15%, rgba(124, 58, 237, .2), transparent 34%),
    radial-gradient(circle at 50% 90%, rgba(59, 130, 246, .12), transparent 35%),
    var(--admin-bg);
  background-attachment: fixed;
}

.admin-shell {
  min-height: 100vh;
}

.admin-main {
  width: min(1180px, calc(100% - 24px));
  margin: 0 auto;
  padding: 2rem 0 4rem;
}

code {
  color: #67e8f9;
}

/* =========================
   Navbar
========================= */

.admin-navbar {
  background: rgba(2, 6, 23, .76);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--admin-border);
}

.admin-brand {
  font-weight: 800;
  letter-spacing: -.04em;
  color: #fff !important;
}

.admin-brand span {
  color: var(--admin-accent);
}

.admin-navbar .nav-link {
  color: var(--admin-muted);
  border-radius: 999px;
  padding: .45rem .85rem;
  transition: .2s ease;
}

.admin-navbar .nav-link:hover,
.admin-navbar .nav-link.active {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}

.admin-user-pill {
  color: var(--admin-text);
  background: rgba(255, 255, 255, .06);
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  padding: .45rem .85rem;
  font-size: .875rem;
}

/* =========================
   Cards / text helpers
========================= */

.admin-card {
  background: linear-gradient(145deg, var(--admin-surface), rgba(15, 23, 42, .58));
  border: 1px solid var(--admin-border);
  border-radius: 24px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
  color: var(--admin-text);
}

.admin-card-soft {
  background: var(--admin-surface-2);
  border: 1px solid var(--admin-border);
  border-radius: 22px;
  color: var(--admin-text);
}

.admin-muted {
  color: var(--admin-muted) !important;
}

.admin-empty-state {
  background: rgba(15, 23, 42, .45);
  border: 1px dashed var(--admin-border);
  border-radius: 22px;
}

/* =========================
   Alerts / errors
========================= */

.admin-alert {
  border-radius: 18px;
  border: 1px solid var(--admin-border);
  backdrop-filter: blur(12px);
}

.admin-alert-success {
  background: rgba(16, 185, 129, .12);
  color: #86efac;
}

.admin-alert-danger {
  background: rgba(244, 63, 94, .12);
  color: #fda4af;
}

.admin-error-box {
  background: rgba(244, 63, 94, .12);
  border: 1px solid rgba(244, 63, 94, .28);
  color: #fecdd3;
  border-radius: 18px;
  padding: 1rem 1.25rem;
}

/* =========================
   Buttons
========================= */

.admin-btn {
  border-radius: 999px;
  font-weight: 700;
  padding: .7rem 1rem;
  border: 1px solid transparent;
}

.admin-btn-primary {
  background: linear-gradient(135deg, var(--admin-accent), #38bdf8);
  color: #020617;
}

.admin-btn-primary:hover {
  filter: brightness(1.08);
  color: #020617;
}

.admin-btn-ghost {
  color: var(--admin-text);
  border-color: var(--admin-border);
  background: rgba(255, 255, 255, .04);
}

.admin-btn-ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .22);
}

.admin-btn-success {
  background: rgba(34, 197, 94, .16);
  border-color: rgba(34, 197, 94, .35);
  color: #86efac;
}

.admin-btn-success:hover {
  background: #22c55e;
  border-color: #22c55e;
  color: #020617;
}

.admin-btn-warning {
  background: rgba(250, 204, 21, .14);
  border-color: rgba(250, 204, 21, .35);
  color: #fde68a;
}

.admin-btn-warning:hover {
  background: #facc15;
  border-color: #facc15;
  color: #020617;
}

.admin-btn-danger {
  background: rgba(244, 63, 94, .14);
  border-color: rgba(244, 63, 94, .35);
  color: #fda4af;
}

.admin-btn-danger:hover {
  background: #e11d48;
  border-color: #e11d48;
  color: #fff;
}

.admin-button-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .75rem;
}

.admin-button-grid form,
.admin-actions-panel form {
  margin: 0;
}

.admin-actions-panel {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem;
}

/* =========================
   Forms
========================= */

.form-control,
.form-select {
  background-color: rgba(15, 23, 42, .85);
  border-color: var(--admin-border);
  color: var(--admin-text);
  border-radius: 14px;
}

.form-control:focus,
.form-select:focus {
  background-color: rgba(15, 23, 42, .95);
  border-color: var(--admin-accent);
  color: var(--admin-text);
  box-shadow: 0 0 0 .25rem rgba(0, 224, 184, .14);
}

.form-control::placeholder {
  color: rgba(148, 163, 184, .72);
}

.admin-form-label {
  color: var(--admin-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  margin-bottom: .5rem;
}

.admin-form-control {
  min-height: 48px;
}

.admin-check-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: rgba(15, 23, 42, .52);
  border: 1px solid var(--admin-border);
  border-radius: 18px;
  padding: 1rem 1.1rem;
}

.admin-switch {
  width: 3rem !important;
  height: 1.5rem;
  cursor: pointer;
}

.admin-switch:checked {
  background-color: var(--admin-accent);
  border-color: var(--admin-accent);
}

.admin-search-form {
  width: min(100%, 380px);
}

/* =========================
   Stats
========================= */

.admin-stat-card {
  background: linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(30, 41, 59, .62));
  border: 1px solid var(--admin-border);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.admin-stat-card span {
  display: block;
  color: var(--admin-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  margin-bottom: .35rem;
}

.admin-stat-card strong {
  display: block;
  color: var(--admin-text);
  font-size: 1.4rem;
  font-weight: 900;
}

.admin-stat-mini {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  background: rgba(15, 23, 42, .62);
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  padding: .65rem 1rem;
}

.admin-stat-mini span {
  color: var(--admin-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}

.admin-stat-mini strong {
  color: #67e8f9;
  font-weight: 900;
}

/* =========================
   Tables
========================= */

.admin-table-wrapper {
  overflow-x: auto;
  border-radius: 18px;
  border: 1px solid var(--admin-border);
}

.admin-table {
  color: var(--admin-text);
  min-width: 860px;
}

.admin-table thead th {
  background: rgba(15, 23, 42, .96);
  color: var(--admin-muted);
  border-bottom: 1px solid var(--admin-border);
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: 1rem;
  white-space: nowrap;
}

.admin-table tbody td {
  background: rgba(15, 23, 42, .42);
  color: var(--admin-text);
  border-bottom: 1px solid rgba(148, 163, 184, .10);
  padding: 1rem;
  vertical-align: middle;
  white-space: nowrap;
}

.admin-table tbody tr:hover td {
  background: rgba(255, 255, 255, .055);
}

/* Important: fixes white Bootstrap footer cells */
.admin-table tfoot th,
.admin-table tfoot td {
  background: rgba(15, 23, 42, .88) !important;
  color: var(--admin-text) !important;
  border-top: 1px solid var(--admin-border);
  border-bottom: 0;
  padding: 1rem;
  vertical-align: middle;
  white-space: nowrap;
}

.admin-table tfoot th {
  color: var(--admin-muted) !important;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.admin-table tfoot .admin-money {
  color: #67e8f9 !important;
}

.admin-money {
  font-weight: 800;
  color: #67e8f9;
}

/* =========================
   Event helpers
========================= */

.admin-time-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .3rem .65rem;
  font-size: .75rem;
  font-weight: 900;
  border: 1px solid var(--admin-border);
  background: rgba(148, 163, 184, .12);
  color: var(--admin-text);
}

.admin-time-badge.bg-success,
.admin-time-badge.text-bg-success {
  color: #86efac !important;
  background: rgba(34, 197, 94, .14) !important;
  border-color: rgba(34, 197, 94, .28) !important;
}

.admin-time-badge.bg-warning,
.admin-time-badge.text-bg-warning {
  color: #fde68a !important;
  background: rgba(250, 204, 21, .14) !important;
  border-color: rgba(250, 204, 21, .28) !important;
}

.admin-time-badge.bg-danger,
.admin-time-badge.text-bg-danger {
  color: #fda4af !important;
  background: rgba(244, 63, 94, .14) !important;
  border-color: rgba(244, 63, 94, .28) !important;
}

.admin-time-badge.bg-secondary,
.admin-time-badge.text-bg-secondary {
  color: var(--admin-muted) !important;
  background: rgba(148, 163, 184, .12) !important;
  border-color: rgba(148, 163, 184, .2) !important;
}

.admin-nested-card {
  background: rgba(15, 23, 42, .48);
  border: 1px solid var(--admin-border);
  border-radius: 20px;
  padding: 1.25rem;
}

.admin-product-row {
  display: grid;
  grid-template-columns: 1fr 120px auto;
  gap: .75rem;
  align-items: center;
}

/* =========================
   Badges
========================= */

.admin-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-size: .75rem;
  font-weight: 800;
}

.admin-badge-success {
  color: #86efac;
  background: rgba(34, 197, 94, .14);
  border: 1px solid rgba(34, 197, 94, .24);
}

.admin-badge-muted {
  color: var(--admin-muted);
  background: rgba(148, 163, 184, .12);
  border: 1px solid rgba(148, 163, 184, .18);
}

/* =========================
   Table action buttons
========================= */

.admin-actions {
  gap: .35rem;
}

.admin-actions .btn {
  border-radius: 999px !important;
}

.admin-action-btn {
  font-weight: 800;
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  background: rgba(255, 255, 255, .04);
}

.admin-action-show:hover {
  color: #020617;
  background: #67e8f9;
  border-color: #67e8f9;
}

.admin-action-edit:hover {
  color: #020617;
  background: #facc15;
  border-color: #facc15;
}

.admin-action-delete:hover {
  color: #fff;
  background: #e11d48;
  border-color: #e11d48;
}

/* =========================
   Mobile record cards
========================= */

.admin-mobile-row {
  background: rgba(15, 23, 42, .72);
  border: 1px solid var(--admin-border);
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}

.admin-mobile-field {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, .10);
}

.admin-mobile-field:last-of-type {
  border-bottom: 0;
}

.admin-mobile-field span {
  color: var(--admin-muted);
  font-size: .85rem;
}

.admin-mobile-field strong {
  color: var(--admin-text);
  text-align: right;
  font-size: .9rem;
  max-width: 60%;
  overflow-wrap: anywhere;
}

/* =========================
   Show/details pages
========================= */

.admin-details-list {
  display: grid;
  gap: .75rem;
}

.admin-detail-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 1rem;
  align-items: center;
  background: rgba(15, 23, 42, .52);
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 16px;
  padding: 1rem;
}

.admin-detail-label {
  color: var(--admin-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}

.admin-detail-value {
  color: var(--admin-text);
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* =========================
   Audit logs
========================= */

.admin-audit-old {
  color: #fda4af;
  font-weight: 800;
}

.admin-audit-new {
  color: #86efac;
  font-weight: 800;
}

/* =========================
   Pagination
========================= */

.admin-pagination {
  display: flex;
  justify-content: center;
}

.admin-pagination .pagination {
  gap: .5rem;
  margin-bottom: 0;
  flex-wrap: wrap;
  justify-content: center;
}

.admin-pagination .page-item {
  display: flex;
}

.admin-pagination .page-link {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .05);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  font-weight: 800;
  box-shadow: none;
}

.admin-pagination .page-link:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
}

.admin-pagination .page-link:focus {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  box-shadow: 0 0 0 .25rem rgba(0, 224, 184, .14);
}

.admin-pagination .page-item.active .page-link {
  background: var(--admin-accent);
  border-color: var(--admin-accent);
  color: #020617;
}

.admin-pagination .page-item.disabled .page-link {
  background: rgba(255, 255, 255, .03);
  color: var(--admin-muted);
  opacity: .55;
}

.admin-pagination .page-link[aria-label="Previous"],
.admin-pagination .page-link[aria-label="Next"] {
  font-size: 0;
}

.admin-pagination .page-link[aria-label="Previous"]::before {
  content: "←";
  font-size: 16px;
  line-height: 1;
}

.admin-pagination .page-link[aria-label="Next"]::before {
  content: "→";
  font-size: 16px;
  line-height: 1;
}

/* =========================
   Scanner
========================= */

#scanner-container {
  position: relative;
}

#viewfinder {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

#viewfinder .vf-box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(80vw, 420px);
  height: min(50vh, 260px);
  transform: translate(-50%, -50%);
  border-radius: 18px;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, .45);
}

#viewfinder .corner {
  position: absolute;
  width: 28px;
  height: 28px;
  border: 3px solid var(--admin-accent);
}

#viewfinder .corner.tl {
  top: -3px;
  left: -3px;
  border-right: none;
  border-bottom: none;
}

#viewfinder .corner.tr {
  top: -3px;
  right: -3px;
  border-left: none;
  border-bottom: none;
}

#viewfinder .corner.bl {
  bottom: -3px;
  left: -3px;
  border-right: none;
  border-top: none;
}

#viewfinder .corner.br {
  bottom: -3px;
  right: -3px;
  border-left: none;
  border-top: none;
}

#focus-ring {
  position: absolute;
  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
  transition: opacity .25s, transform .25s;
}

#focus-ring.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.15);
}

/* Date / time picker icons */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(1) brightness(2);
  cursor: pointer;
  opacity: .85;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover,
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

/* optional: make whole control dark consistent */
input[type="date"],
input[type="datetime-local"] {
  color-scheme: white;
}

.admin-check-input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--admin-accent);
  cursor: pointer;
}

.admin-scanner-box {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--admin-border);
  background: #020617;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
}

.admin-scanner-box video {
  display: block;
  width: 100%;
  max-height: 70vh;
  object-fit: cover;
  cursor: pointer;
  background: #020617;
}

.admin-focus-hint {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  color: var(--admin-text);
  background: rgba(2, 6, 23, .72);
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  padding: .45rem .75rem;
  font-size: .78rem;
  font-weight: 800;
  backdrop-filter: blur(12px);
}

.admin-torch-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
}

.admin-zoom-control {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 58px;
  z-index: 3;
  background: rgba(2, 6, 23, .76);
  border: 1px solid var(--admin-border);
  border-radius: 16px;
  padding: .75rem;
  backdrop-filter: blur(12px);
}

.admin-link {
  color: #67e8f9;
  font-weight: 800;
  text-decoration: none;
}

.admin-link:hover {
  color: var(--admin-accent);
}

.admin-record-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 1rem;
}

.admin-select-all-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(15, 23, 42, .62);
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  padding: .55rem .85rem;
  color: var(--admin-muted);
  font-size: .85rem;
  font-weight: 800;
  cursor: pointer;
}

.admin-select-all-pill:hover {
  color: var(--admin-text);
  background: rgba(255,255,255,.07);
}

.admin-compact-list {
  display: grid;
  gap: .75rem;
}

.admin-compact-card {
  background: rgba(15, 23, 42, .62);
  border: 1px solid var(--admin-border);
  border-radius: 18px;
  overflow: hidden;
}

.admin-compact-card summary {
  list-style: none;
  cursor: pointer;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
}

.admin-compact-card summary::-webkit-details-marker {
  display: none;
}

.admin-compact-title {
  color: var(--admin-text);
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-compact-chevron {
  color: var(--admin-muted);
  font-weight: 900;
  transition: transform .2s ease;
}

.admin-compact-card[open] .admin-compact-chevron {
  transform: rotate(180deg);
}

.admin-compact-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(148, 163, 184, .12);
}

.admin-compact-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: .6rem;
  margin-top: 1rem;
}

.admin-select-all-pill {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(15, 23, 42, .62);
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  padding: .55rem .85rem;
  color: var(--admin-muted);
  font-size: .85rem;
  font-weight: 800;
  cursor: pointer;
}

.admin-select-all-pill:hover {
  color: var(--admin-text);
  background: rgba(255,255,255,.07);
}

.qr-scan-safe {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff !important;
  padding: 40px !important;
  width: 100% !important;
  margin: 0 auto 1.5rem;
}

.qr-scan-safe svg {
  width: 420px !important;
  height: 420px !important;
  max-width: 82vw !important;

  display: block !important;
  overflow: visible !important;

  margin: 0 auto !important;
  transform: translateX(15%); /* adjust 8-15px if needed */
}

.qr-scan-safe svg rect:first-child {
  fill: #ffffff !important;
}

.qr-scan-safe svg path,
.qr-scan-safe svg rect:not(:first-child) {
  fill: #000000 !important;
  stroke: none !important;
}

.qr-scan-safe * {
  filter: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.admin-otp-input {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: .35em;
}
/* =========================
   Responsive
========================= */

@media (max-width: 991px) {
  .admin-navbar .navbar-collapse {
    padding-top: 1rem;
  }

  .admin-navbar .nav-link {
    border-radius: 14px;
  }

  .admin-user-area {
    align-items: stretch !important;
    gap: .75rem;
    margin-top: 1rem;
  }

  .admin-user-pill {
    border-radius: 14px;
  }
}

@media (max-width: 767px) {
  .admin-main {
    width: min(100% - 16px, 1180px);
    padding: 1rem 0 3rem;
  }

  .admin-detail-row {
    grid-template-columns: 1fr;
    gap: .4rem;
  }

  .admin-check-card {
    align-items: flex-start;
  }

  .admin-mobile-field {
    align-items: flex-start;
  }

  .admin-mobile-field strong {
    max-width: 58%;
  }

  .admin-pagination .page-link {
    width: 38px;
    height: 38px;
    min-width: 38px;
  }

  .admin-product-row {
    grid-template-columns: 1fr;
  }
}
/* app/assets/stylesheets/product_grid.css */
body {
  margin: 0;
  font-family: sans-serif;
}

.welcome-screen {
  text-align: center;
  padding: 2rem;
}

.welcome-text h1, .welcome-text h2 {
  margin: 0.5rem 0;
}

.welcome-buttons {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.split-layout {
  display: flex;
  flex-direction: row;
  height: 100vh;
}

.left-pane {
  width: 35%;
  padding: 1rem;
  border-right: 1px solid #ccc;
  overflow-y: auto;
}

.right-pane {
  flex-grow: 1;
  padding: 1rem;
  overflow-y: auto;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 1rem;
}
/*



 */
  html, body {
    min-height: 100%;
    margin: 0;
  }

  body {
    min-height: 100vh;
    background-color: #0f172a;
    background-image:
      radial-gradient(circle at 20% 20%, rgba(0,123,255,0.25), transparent 40%),
      radial-gradient(circle at 80% 80%, rgba(255,0,150,0.2), transparent 40%);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
  }

 .starting_text {
    color: white;
 }

 .navbar-logo-image {
    height: 5vh;
    width: auto;
    vertical-align: middle;
 }

.button-container {
    min-height: 20vh;
  }
  
  .custom-btn-header {
    font-size: 1rem;
    font-weight: bold;
    border-radius: 8px;
    min-width: 15%;
    text-transform: uppercase;
  
    background: transparent;
    color: #ffffff;
    border: 2px solid #F28E30;
  }

  .custom-verify-btn {
    padding: 15px 30px;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 8px;
    min-width: 150px;
    text-transform: uppercase;
  
    background: transparent;
    color: #ffffff;
    border: 2px solid #F28E30 !important;

  }

  .custom-verify-btn:hover {
    background: transparent;
    border-color: #f0f0f0 !important;
    color: #F28E30;
  }

  .custom-btn {
    padding: 15px 30px;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 8px;
    min-width: 15%;
    text-transform: uppercase;
  
    background: transparent;
    color: #ffffff;
    border: 2px solid #F28E30;
  }

  .custom-btn:hover {
    background: #303030; /* Slightly darker red and lighter white on hover */
    border-color: #F28E30; /* Slightly lighter white border on hover */
    color: #ffffff; /* Keep text black */
  }

  .custom-submit-btn {
    padding: 15px 30px;
    font-size: 1.5rem;
    font-weight: 400;
    border-radius: 8px;
    min-width: 350px;
    text-transform: uppercase;
  
    background: transparent;
    color: #ffffff;
    border: 2px solid #F28E30 !important;
  }

  .custom-submit-btn:hover {
    background: transparent; /* Slightly darker red and lighter white on hover */
    border: 2px solid #fff !important; /* Slightly lighter white border on hover */
    color: #F28E30; /* Keep text black */
  }

  #choose_personal_btn {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
    color: #ffffff;
  }
  
  #choose_event_btn {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
    color: #ffffff;
  }
  
  #choose_emergency_btn {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
    color: #ffffff;
  }

  #choose_personal_btn:hover {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
  }
  
  #choose_event_btn:hover {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
  }
  
  #choose_emergency_btn:hover {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
  }

  #choose_admin_btn {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
    color: #ffffff;
  }

  #choose_admin_btn:hover {
    background-color: #ad1a1e;
    border-color: #f0f0f0;
  }

  .custom-navbar-gradient {
    background: transparent;
  }
  
  .custom-navbar-gradient .navbar-brand,
  .custom-navbar-gradient .nav-link,
  .custom-navbar-gradient .btn-outline-light {
    color: #ffffff;
  }
  
  .custom-navbar-gradient .btn-outline-primary {
    /* color: #d11e24;
    border-color: #d11e24; */
  }
  
  .custom-navbar-gradient .btn-outline-primary:hover {
    background-color: #ffffff;
    color: #F28E30;
    border: #F28E30 2px solid; 
  }

  /* this is for the products and selection.*/

  /* Custom Styles for Forms (inspired by PDF Page 2) */

/* General styling for custom labels (e.g., "SELECT EVENT") */
.form-label-custom {
    font-size: 1.1rem; /* Slightly larger text */
    font-weight: bold;
    color: #ffffff; /* Darker text for readability */
    text-transform: uppercase; /* All caps */
    margin-bottom: 0.5rem; /* Space below label */
    display: block; /* Ensures it takes full width for alignment */
  }
  
  /* Styling for custom select/dropdown fields */
  .custom-select-field {
    height: 3vh; /* Adjust height as needed */
    background-color: transparent; /* Make background transparent */
    color: white; /* White text color */
    border: 1px solid rgba(255, 255, 255, 0.5); /* Optional: a subtle white border */
    padding-right: 25px; /* Make space for the custom arrow */
    -webkit-appearance: none; /* Remove default arrow for WebKit browsers */
    -moz-appearance: none; /* Remove default arrow for Firefox */
    appearance: none; /* Remove default arrow */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M7 10l5 5 5-5z"/></svg>'); /* White SVG arrow */
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
  }

  .custom-select-field option {
    background-color: #333; /* Dark background for options in transparent dropdown */
    color: white !important;
  }

  .custom-input-field {
    height: 3vh; /* Smaller height for PIN input */
    background-color: transparent; /* Transparent background */
    color: white; /* White text */
    border: 1px solid rgba(255, 255, 255, 0.5); /* Subtle border */
    padding: 0.375rem 0.75rem; /* Standard Bootstrap padding */
    -webkit-appearance: none; /* Remove any default styling that might make it look like a select */
    -moz-appearance: none;
    appearance: none;
  }
  
  .custom-input-field:focus,
  .custom-select-field:focus {
    border-color: #80bdff; /* Example focus border color */
    background-color: #333;
    color: white !important;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
  }
  
  #pin_verified_display_personal {
    color: white;
    font-weight: bold;
    margin-top: 10px; /* Space from above elements */
  }

  .custom-staff-customer-btn {
    /* Smaller height/padding */
    padding: 0.6rem 1.2rem; /* Adjusted padding to make them smaller */
    font-size: 0.85rem; /* Slightly smaller font size */
    line-height: 1.5; /* Adjust line height if necessary */
    min-width: 120px; /* Give them a consistent minimum width if desired */
  
    /* Default border style (can be transparent or subtle) */
    border: 2px solid #fff; /* Start with a transparent border */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for glow */
    color: white; /* Ensure text is white */
    background-color: transparent; /* Ensure background is transparent */
  }
  
  .custom-staff-customer-btn.active-glow-btn {
    border-color: #F28E30; /* Golden border when active */
    box-shadow: 0 0 8px rgba(242, 142, 48, 0.7), /* Soft inner glow */
                0 0 16px rgba(242, 142, 48, 0.5); /* Outer, more diffused glow */
    color: #F28E30; /* Change text color to gold when active for better indication */
    /* You can also adjust font-weight or other properties for active state */
  }
  
  .custom-staff-customer-btn:hover {
    background-color: transparent; /* Dark background on hover */
    color: #fff; /* White text on hover */
    border-color: #ffffff;
  }
  
  /* Styling for the "OR" separator */
  .custom-or-separator {
    font-size: 1.3rem; /* Slightly larger than button text */
    font-weight: bold;
    color: #ffffff; /* Grey color, common for separators */
    margin: 0 1rem; /* Space around "OR" */
  }
  
  /* Styling for the Verify PIN button */
  .custom-verify-btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: bold;
    text-transform: uppercase;
    background-color: transparent; /* Red color for primary action */
    border-color: #F28E30;
    color: #fff;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
  }
  
  .custom-verify-btn:hover {
    background-color: transparent; /* Darker background on hover */
    border-color: #F28E30;
  }
  
  /* Ensure prompt text matches other items */
  .custom-select-field option[value=""] {
    color: #6c757d; /* Lighter grey for prompt */
  }
  
  .custom-select-field option:not([value=""]) {
    color: #000; /* Black for actual options */
  }

  /* Visually hidden but rendered elements */
.hidden-visually {
    position: absolute !important; /* Take it out of flow but keep rendered */
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important; /* Offset for any residual margin/padding */
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important; /* Old way to clip for screen readers */
    white-space: nowrap !important; /* Keep content on single line for measurement */
    border: 0 !important;
    visibility: hidden !important; /* The key for making it non-visible */
    opacity: 0 !important; /* Add opacity for smoother transition potential, and extra hiding */
  }
  
  /* Class to show them */
  .visible-visually {
    position: static !important; /* Restore normal positioning */
    width: auto !important;
    height: auto !important;
    padding: inherit !important; /* Restore original padding */
    /* margin: inherit !important; Restore original margin */
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
    border: inherit; /* Restore original border */
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* For highlighting the active button in the header */
  .header-context-btn.active-context-btn {
    /* Example highlighting styles */
    border: 2px solid #F28E30; /* A visible border */
    box-shadow: 0 0 20px rgba(242, 142, 48, 0.9); /* A glow effect */
    transform: scale(1.05); /* Slightly enlarge */
    transition: all 0.2s ease-in-out; /* Smooth transition */
  }
  
  /* Styling for Product Cards */
  .product-card {
    min-height: 110px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    padding: 0.75rem 1rem;
    background: transparent;
    border: 1px solid #F28E30;
    color: #F28E30;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-align: left;
  }

  .product-card:hover {
    transform: translateY(-3px); /* Slight lift effect on hover */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); /* More pronounced shadow on hover */
  }

  .product-card .product-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
    max-height: 2.4em;
    font-size: clamp(0.85rem, 1vw + 0.5rem, 1.1rem);
  }

  .product-card .card-title {
    color: white; /* Ensure product name is white */
  }

  .product-card .text-muted.small {
    color: white !important; /* Lighter white for price */
  }

  /* Ensure stock badge is visible */
  .product-card .badge {
    background-color: rgba(48, 48, 48, 0.8) !important;
    border: #F28E30 1px solid;
    color: #F28E30 !important;
    min-width: 80px;
    text-align: center;
    align-self: flex-start;
  }

  .product-card-body {
    flex-grow: 1;
  }

  .product-card div > strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
    max-height: 2.4em;
    font-size: clamp(0.85rem, 1vw + 0.5rem, 1.1rem);
  }

  /* Make sure the custom-select-field styles apply to the product dropdowns */
  .custom-select-field {
    height: 3vh; /* Adjust height as needed */
    background-color: transparent; /* Make background transparent */
    color: white; /* White text color */
    border: 1px solid rgba(255, 255, 255, 0.5); /* Optional: a subtle white border */
    padding-right: 25px; /* Make space for the custom arrow */
    -webkit-appearance: none; /* Remove default arrow for WebKit browsers */
    -moz-appearance: none; /* Remove default arrow for Firefox */
    appearance: none; /* Remove default arrow */
    /* This SVG is a white arrow. Ensure your path to the SVG is correct or embed it as data URI */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
  }

  /* IMPORTANT: More specific or !important for options if they are still dark */
  .custom-select-field option {
    background-color: #333 !important; /* Dark background for options, forced */
    color: white !important; /* White text color for options, forced */
  }

  #purchase-products-section {
    border-color: #ccc;
    background: transparent !important;
  }
  
  .product-quantity {
    background-color: transparent !important;
    color: #F28E30 !important;
    border: none !important;
    width: 50%;
  }

  .product-quantity:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    width: 50%;
  }

  #init_text {
    padding-left: 15% !important;
    text-align: left !important;
  }

  @media (max-width: 767px) {
    #product_selection_section, #purchase-products-section {
      padding: 1rem 0;
    }
  
    .btn {
      width: 100%;
      margin-bottom: 0.5rem;
    }

    .product-card {
      min-height: 80px;
      padding: 0.5rem 0.75rem;
    }
  
    .product-card .product-title {
      font-size: 0.85rem;
      -webkit-line-clamp: 2;
      line-height: 1.1;
      max-height: 2.2em;
    }
  
    .product-card .badge {
      font-size: 0.7rem;
      padding: 0.25em 0.5em;
      min-width: auto;
    }
  
    .product-card-body small {
      font-size: 0.75rem;
    }
  }
  
  .admin-form {
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #F28E30;
  }

  @media (max-width: 991px) {
    .custom-select-field,
    .custom-input-field {
      height: 48px !important; /* Increase height */
      font-size: 1rem !important;
    }
  
    select.custom-select-field {
      font-size: 1rem !important;
      padding-left: 0.75rem !important;
    }
  }

  @media (max-width: 991px) {
    .custom-staff-customer-btn,
    .custom-btn,
    .custom-btn-header,
    .custom-submit-btn,
    .custom-verify-btn {
      padding: 0.4rem 1rem !important;
      font-size: 0.85rem !important;
      width: 80% !important;
      max-width: 300px;
      margin: 0 auto 0.5rem auto;
      display: block;
    }
  }
  
  @media (min-width: 992px) {
    .custom-select-field,
    .custom-input-field {
      height: 38px;
      font-size: 0.95rem;
    }
  }
  
  .overstocked {
    border: 2px solid red;
    background-color: #ffe5e5;
  }

  #new_emergency_panel {
    background-color: transparent !important;
  }

  /* Mobile-only: center everything in collapsed navbar */
@media (max-width: 991px) {
  #mainNavbar {
    text-align: center;        /* center text/buttons inside collapse */
  }

  #mainNavbar .d-flex {
    flex-direction: column !important; /* stack vertically */
    align-items: center !important;    /* center horizontally */
    gap: 0.5rem;                       /* spacing between buttons */
  }

  #mainNavbar .badge,
  #mainNavbar .btn {
    margin: 0.25rem 0 !important;      /* vertical spacing */
  }

  #mainNavbar img.navbar-logo-image {
    margin-top: 0.5rem;                /* small spacing from buttons */
  }
}

/* Desktop: keep normal horizontal flex */
@media (min-width: 992px) {
  #mainNavbar .d-flex {
    flex-direction: row !important;
    align-items: center;
  }
}
