/* ==========================================================
   AlvaronTech Yönetim Paneli - Modern UI Layer
   Sadece tasarımsal katmandır. Vue metotları, API istekleri,
   route yapısı ve mevcut component davranışları korunur.
   ========================================================== */

:root,
html[data-bs-theme="light"] {
  color-scheme: light;
  --alva-page-bg: #f3f6fb;
  --alva-page-bg-2: #eaf0fb;
  --alva-surface: rgba(255, 255, 255, .86);
  --alva-surface-solid: #ffffff;
  --alva-surface-soft: rgba(248, 250, 252, .86);
  --alva-card-border: rgba(15, 23, 42, .085);
  --alva-table-border: rgba(15, 23, 42, .075);
  --alva-text: #172033;
  --alva-muted: #697386;
  --alva-heading: #0f172a;
  --alva-input-bg: rgba(255, 255, 255, .94);
  --alva-input-border: rgba(15, 23, 42, .13);
  --alva-input-focus: rgba(34, 117, 255, .20);
  --alva-primary: #2563eb;
  --alva-primary-2: #06b6d4;
  --alva-success: #16a34a;
  --alva-warning: #f59e0b;
  --alva-danger: #ef4444;
  --alva-info: #0ea5e9;
  --alva-shadow-sm: 0 10px 25px rgba(15, 23, 42, .06);
  --alva-shadow: 0 18px 48px rgba(15, 23, 42, .10);
  --alva-shadow-lg: 0 28px 80px rgba(15, 23, 42, .16);
  --alva-radius: 22px;
  --alva-radius-md: 16px;
  --alva-radius-sm: 12px;
  --bs-body-bg: var(--alva-page-bg);
  --bs-body-color: var(--alva-text);
  --bs-border-color: var(--alva-card-border);
}

html[data-bs-theme="dark"] {
  color-scheme: dark;
  --alva-page-bg: #080d19;
  --alva-page-bg-2: #10182a;
  --alva-surface: rgba(17, 24, 39, .78);
  --alva-surface-solid: #111827;
  --alva-surface-soft: rgba(15, 23, 42, .82);
  --alva-card-border: rgba(148, 163, 184, .14);
  --alva-table-border: rgba(148, 163, 184, .12);
  --alva-text: #d9e3f0;
  --alva-muted: #94a3b8;
  --alva-heading: #f8fafc;
  --alva-input-bg: rgba(15, 23, 42, .92);
  --alva-input-border: rgba(148, 163, 184, .20);
  --alva-input-focus: rgba(56, 189, 248, .22);
  --alva-primary: #60a5fa;
  --alva-primary-2: #22d3ee;
  --alva-success: #22c55e;
  --alva-warning: #fbbf24;
  --alva-danger: #fb7185;
  --alva-info: #38bdf8;
  --alva-shadow-sm: 0 10px 25px rgba(0, 0, 0, .22);
  --alva-shadow: 0 20px 60px rgba(0, 0, 0, .38);
  --alva-shadow-lg: 0 30px 90px rgba(0, 0, 0, .55);
  --bs-body-bg: var(--alva-page-bg);
  --bs-body-color: var(--alva-text);
  --bs-border-color: var(--alva-card-border);
}

* { scrollbar-width: thin; scrollbar-color: rgba(100, 116, 139, .55) transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb {
  background: rgba(100, 116, 139, .42);
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover { background-color: rgba(100, 116, 139, .65); }

html { min-height: 100%; background: var(--alva-page-bg); }
body {
  min-height: 100%;
  color: var(--alva-text);
  background:
    radial-gradient(circle at 4% -8%, rgba(37, 99, 235, .22), transparent 34rem),
    radial-gradient(circle at 100% 8%, rgba(6, 182, 212, .16), transparent 32rem),
    linear-gradient(180deg, var(--alva-page-bg), var(--alva-page-bg-2));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
html[data-bs-theme="dark"] body {
  background:
    radial-gradient(circle at 0% 0%, rgba(37, 99, 235, .22), transparent 30rem),
    radial-gradient(circle at 94% 0%, rgba(14, 165, 233, .16), transparent 28rem),
    linear-gradient(180deg, #080d19 0%, #0b1120 48%, #080d19 100%);
}

#app { min-height: 100vh; }
.page-wrapper,
.body-wrapper,
.page-shell { min-height: calc(100vh - 72px); }
.body-wrapper,
.page-shell { padding-top: 88px; }
@media (max-width: 1199.98px) {
  .body-wrapper,
  .page-shell { padding-top: 84px; }
}
.container-fluid {
  width: 100%;
  padding-left: clamp(16px, 2vw, 32px) !important;
  padding-right: clamp(16px, 2vw, 32px) !important;
}

/* Header / üst menü korunur, sadece modern cam efekti uygulanır. */
.topbar {
  padding: 10px clamp(12px, 2vw, 24px);
  pointer-events: none;
}
.topbar > * { pointer-events: auto; }
.topbar .with-vertical,
.topbar .app-header,
.navbar {
  min-height: 58px;
}
.topbar .with-vertical,
.topbar .app-header {
  border-radius: 20px;
  border: 1px solid var(--alva-card-border);
  background: var(--alva-surface);
  box-shadow: var(--alva-shadow-sm);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: visible;
}
.topbar .with-vertical { padding: 0 14px; }
.topbar .app-header { padding: 0 18px; }
html[data-bs-theme="dark"] .topbar .with-vertical,
html[data-bs-theme="dark"] .topbar .app-header {
  background: rgba(15, 23, 42, .76);
}
.navbar .nav-link,
.nav-icon-hover .nav-link,
.sidebartoggler {
  border-radius: 14px;
  color: var(--alva-text) !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.navbar .nav-link:hover,
.nav-icon-hover .nav-link:hover,
.sidebartoggler:hover {
  background: rgba(37, 99, 235, .10);
  color: var(--alva-primary) !important;
  transform: translateY(-1px);
}
html[data-bs-theme="dark"] .navbar .nav-link:hover,
html[data-bs-theme="dark"] .nav-icon-hover .nav-link:hover,
html[data-bs-theme="dark"] .sidebartoggler:hover {
  background: rgba(96, 165, 250, .14);
}
.topbar .navbar-nav > span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin-right: 10px;
  padding: 6px 12px;
  border: 1px solid var(--alva-card-border);
  border-radius: 999px;
  color: var(--alva-heading);
  background: var(--alva-surface-soft);
  font-weight: 700;
  font-size: .875rem;
}
.dark-logo,
.light-logo { max-height: 42px; object-fit: contain; }

/* Drawer / sidebar */
.alva-backdrop { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.alva-drawer {
  width: 340px !important;
  background: var(--alva-surface-solid) !important;
  border-right: 1px solid var(--alva-card-border) !important;
  box-shadow: var(--alva-shadow-lg) !important;
}
html[data-bs-theme="dark"] .alva-drawer {
  background: linear-gradient(180deg, #111827, #0b1220) !important;
}
.alva-drawer-header {
  min-height: 72px;
  background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(6, 182, 212, .08));
}
.alva-drawer-body { padding: 14px 12px 24px !important; }
.alva-link,
.alva-accordion,
.alva-sub a,
.sidebar-link {
  color: var(--alva-text) !important;
  border-radius: 15px !important;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.alva-link:hover,
.alva-accordion:hover,
.alva-sub a:hover,
.sidebar-link:hover {
  transform: translateX(2px);
  background: rgba(37, 99, 235, .10) !important;
  color: var(--alva-primary) !important;
}
.alva-link.active,
.sidebar-link.active,
.alva-sub a.active {
  color: #fff !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  box-shadow: 0 12px 30px rgba(37, 99, 235, .25);
}
.alva-link i,
.alva-accordion i,
.sidebar-link i { filter: drop-shadow(0 4px 8px rgba(37, 99, 235, .16)); }

/* Genel kart sistemi */
.card {
  border: 1px solid var(--alva-card-border) !important;
  border-radius: var(--alva-radius) !important;
  background: var(--alva-surface) !important;
  color: var(--alva-text);
  box-shadow: var(--alva-shadow-sm) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover { border-color: rgba(37, 99, 235, .20) !important; box-shadow: var(--alva-shadow) !important; }
html[data-bs-theme="dark"] .card:hover { border-color: rgba(96, 165, 250, .24) !important; }
.card.shadow-none { box-shadow: none !important; }
.card-title,
h1, h2, h3, h4, h5, h6 { color: var(--alva-heading); letter-spacing: -.015em; }
.card > .border-bottom,
.modal-header,
.modal-footer,
.user-profile-tab,
.nav-tabs,
.border-bottom {
  border-color: var(--alva-card-border) !important;
}
.card > .px-4.py-3,
.card > .card-body:first-child,
.card.card-body {
  position: relative;
}
.card > .px-4.py-3::before,
.card.card-body::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(37, 99, 235, .85), rgba(6, 182, 212, .75), transparent);
  pointer-events: none;
}
.card-body { color: var(--alva-text); }
.text-muted,
.form-text,
small { color: var(--alva-muted) !important; }
.text-dark { color: var(--alva-heading) !important; }

/* Özet / istatistik kartları */
.card.bg-primary-subtle,
.card.bg-warning-subtle,
.card.bg-success-subtle,
.card.bg-danger-subtle,
.card.bg-info-subtle,
.card.bg-light {
  position: relative;
  border: 1px solid var(--alva-card-border) !important;
  background: linear-gradient(145deg, var(--alva-surface), var(--alva-surface-soft)) !important;
  min-height: 100%;
}
.card.bg-primary-subtle::after,
.card.bg-warning-subtle::after,
.card.bg-success-subtle::after,
.card.bg-danger-subtle::after,
.card.bg-info-subtle::after,
.card.bg-light::after {
  content: "";
  position: absolute;
  right: -32px;
  top: -32px;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  opacity: .16;
  background: currentColor;
}
.card.bg-primary-subtle { color: var(--alva-primary); }
.card.bg-warning-subtle { color: var(--alva-warning); }
.card.bg-success-subtle { color: var(--alva-success); }
.card.bg-danger-subtle { color: var(--alva-danger); }
.card.bg-info-subtle { color: var(--alva-info); }
.rounded-circle-shape,
.round-40 {
  box-shadow: 0 12px 30px rgba(37, 99, 235, .22);
}
.rounded-circle-shape {
  width: 44px;
  height: 44px;
}

/* Formlar */
.form-label {
  color: var(--alva-heading);
  font-size: .815rem;
  font-weight: 750;
  letter-spacing: .01em;
}
.form-control,
.form-select,
.input-group-text {
  min-height: 42px;
  border-radius: 14px !important;
  border: 1px solid var(--alva-input-border) !important;
  background-color: var(--alva-input-bg) !important;
  color: var(--alva-text) !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease, transform .18s ease;
}
.form-control-sm,
.form-select-sm { min-height: 36px; border-radius: 12px !important; }
.form-control:focus,
.form-select:focus {
  border-color: rgba(37, 99, 235, .58) !important;
  box-shadow: 0 0 0 .25rem var(--alva-input-focus) !important;
}
.form-control::placeholder { color: color-mix(in srgb, var(--alva-muted) 76%, transparent); }
.form-control:disabled,
.form-select:disabled {
  opacity: .68;
  background: color-mix(in srgb, var(--alva-input-bg) 80%, var(--alva-muted) 20%) !important;
}
.input-group { border-radius: 15px; }
.input-group .form-control:not(:last-child) { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.input-group .btn { border-radius: 0 !important; }
.input-group .btn:last-child { border-top-right-radius: 14px !important; border-bottom-right-radius: 14px !important; }
.form-check-input {
  border-color: var(--alva-input-border);
  background-color: var(--alva-input-bg);
}
.form-check-input:checked { background-color: #2563eb; border-color: #2563eb; }

/* Butonlar */
.btn {
  border-radius: 14px !important;
  font-weight: 750;
  letter-spacing: -.005em;
  border-width: 1px;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info {
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .18);
}
.btn-primary { background: linear-gradient(135deg, #2563eb, #06b6d4) !important; }
.btn-success { background: linear-gradient(135deg, #16a34a, #22c55e) !important; }
.btn-danger { background: linear-gradient(135deg, #ef4444, #fb7185) !important; }
.btn-warning { background: linear-gradient(135deg, #f59e0b, #f97316) !important; color: #111827 !important; }
.btn-info { background: linear-gradient(135deg, #0ea5e9, #22d3ee) !important; }
.btn-light,
.btn-outline-secondary,
.btn-outline-primary,
.btn-secondary {
  background: var(--alva-surface-soft) !important;
  color: var(--alva-text) !important;
  border-color: var(--alva-card-border) !important;
}
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-secondary:hover {
  color: var(--alva-primary) !important;
  border-color: rgba(37, 99, 235, .28) !important;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .10);
}
.btn-link { color: var(--alva-primary) !important; }
.btn-sm { border-radius: 12px !important; }
.btn-close { filter: none; opacity: .7; }
html[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(100%); }

/* Tablolar */
.table-responsive {
  border: 1px solid var(--alva-table-border) !important;
  border-radius: 18px !important;
  overflow: auto;
  background: var(--alva-surface);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--alva-text);
  --bs-table-border-color: var(--alva-table-border);
  color: var(--alva-text) !important;
  margin-bottom: 0 !important;
}
.table thead,
.table thead.text-dark {
  background: linear-gradient(180deg, color-mix(in srgb, var(--alva-surface-soft) 92%, var(--alva-primary) 8%), var(--alva-surface-soft));
  color: var(--alva-heading) !important;
}
.table thead th,
.table thead td {
  padding: 14px 16px !important;
  color: var(--alva-muted) !important;
  font-size: .73rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
  border-bottom: 1px solid var(--alva-table-border) !important;
}
.table tbody td,
.table tbody th {
  padding: 14px 16px !important;
  vertical-align: middle;
  border-color: var(--alva-table-border) !important;
}
.table tbody tr {
  transition: background-color .18s ease, transform .18s ease;
}
.table tbody tr:hover {
  background: rgba(37, 99, 235, .055) !important;
}
html[data-bs-theme="dark"] .table tbody tr:hover { background: rgba(96, 165, 250, .075) !important; }
.table-primary,
.table-primary > * { background: rgba(37, 99, 235, .14) !important; color: var(--alva-heading) !important; }
.compact-table td,
.compact-table th { padding: 9px 12px !important; }

/* Rozetler / statüler */
.badge {
  border-radius: 999px;
  padding: .45rem .72rem;
  font-weight: 850;
  letter-spacing: .005em;
  border: 1px solid transparent;
}
.bg-primary-subtle,
.text-bg-primary { background-color: rgba(37, 99, 235, .14) !important; color: #2563eb !important; border-color: rgba(37, 99, 235, .22) !important; }
.bg-success-subtle,
.text-bg-success { background-color: rgba(34, 197, 94, .14) !important; color: #16a34a !important; border-color: rgba(34, 197, 94, .20) !important; }
.bg-warning-subtle,
.text-bg-warning { background-color: rgba(245, 158, 11, .16) !important; color: #b45309 !important; border-color: rgba(245, 158, 11, .22) !important; }
.bg-danger-subtle,
.text-bg-danger { background-color: rgba(239, 68, 68, .15) !important; color: #dc2626 !important; border-color: rgba(239, 68, 68, .22) !important; }
.bg-info-subtle,
.text-bg-info { background-color: rgba(14, 165, 233, .14) !important; color: #0284c7 !important; border-color: rgba(14, 165, 233, .22) !important; }
html[data-bs-theme="dark"] .bg-primary-subtle,
html[data-bs-theme="dark"] .text-bg-primary { color: #93c5fd !important; }
html[data-bs-theme="dark"] .bg-success-subtle,
html[data-bs-theme="dark"] .text-bg-success { color: #86efac !important; }
html[data-bs-theme="dark"] .bg-warning-subtle,
html[data-bs-theme="dark"] .text-bg-warning { color: #fde68a !important; }
html[data-bs-theme="dark"] .bg-danger-subtle,
html[data-bs-theme="dark"] .text-bg-danger { color: #fca5a5 !important; }
html[data-bs-theme="dark"] .bg-info-subtle,
html[data-bs-theme="dark"] .text-bg-info { color: #7dd3fc !important; }

/* Pagination */
.pagination { gap: 6px; flex-wrap: wrap; }
.page-link {
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
  border: 1px solid var(--alva-card-border) !important;
  color: var(--alva-text) !important;
  background: var(--alva-surface) !important;
  cursor: pointer;
  font-weight: 750;
  box-shadow: none !important;
}
.page-link:hover { color: var(--alva-primary) !important; border-color: rgba(37, 99, 235, .24) !important; }
.page-item.active .page-link {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22) !important;
}
.page-item.disabled .page-link { opacity: .5; cursor: not-allowed; }

/* Modal / dropdown */
.modal-backdrop { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.modal-content {
  border: 1px solid var(--alva-card-border) !important;
  border-radius: 24px !important;
  background: var(--alva-surface-solid) !important;
  color: var(--alva-text) !important;
  box-shadow: var(--alva-shadow-lg) !important;
  overflow: hidden;
}
.modal-header {
  background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(6, 182, 212, .08));
}
.modal-title { color: var(--alva-heading); font-weight: 850; }
.dropdown-menu {
  border: 1px solid var(--alva-card-border) !important;
  border-radius: 18px !important;
  background: var(--alva-surface-solid) !important;
  box-shadow: var(--alva-shadow) !important;
  overflow: hidden;
}
.dropdown-item {
  color: var(--alva-text) !important;
  border-radius: 12px;
  margin: 2px 6px;
  width: calc(100% - 12px);
  transition: background-color .18s ease, color .18s ease;
}
.dropdown-item:hover,
.dropdown-item.active {
  background: rgba(37, 99, 235, .12) !important;
  color: var(--alva-primary) !important;
}
.language-menu {
  background: var(--alva-surface-solid) !important;
  border-color: var(--alva-card-border) !important;
}
.language-menu .language-item { color: var(--alva-text) !important; }
.language-menu .language-item:hover,
.language-menu .language-item.active {
  color: #fff !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
}

/* Alert / toast */
.alert {
  border-radius: 18px !important;
  box-shadow: var(--alva-shadow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.alert-success { background: linear-gradient(135deg, rgba(22, 163, 74, .95), rgba(34, 197, 94, .92)) !important; }
.alert-danger { background: linear-gradient(135deg, rgba(220, 38, 38, .95), rgba(251, 113, 133, .92)) !important; }
.alert-primary { background: linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(6, 182, 212, .92)) !important; }

/* Sekmeler ve ayar ekranları */
.nav-pills .nav-link,
.user-profile-tab .nav-link {
  border-radius: 14px !important;
  color: var(--alva-muted) !important;
  border: 1px solid transparent;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.nav-pills .nav-link:hover,
.user-profile-tab .nav-link:hover {
  color: var(--alva-primary) !important;
  background: rgba(37, 99, 235, .08) !important;
}
.nav-pills .nav-link.active,
.user-profile-tab .nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .18);
}
.color-card,
.theme-preview {
  border-radius: 20px !important;
  border: 1px solid var(--alva-card-border) !important;
  overflow: hidden;
}
.color-dot,
.preview-odd { box-shadow: 0 12px 24px rgba(15, 23, 42, .12); }

/* Login ekranı */
.radial-gradient {
  background:
    radial-gradient(circle at 12% 8%, rgba(37, 99, 235, .32), transparent 26rem),
    radial-gradient(circle at 92% 12%, rgba(6, 182, 212, .24), transparent 30rem),
    linear-gradient(135deg, var(--alva-page-bg), var(--alva-page-bg-2)) !important;
}
.radial-gradient .bg-dark {
  background:
    linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(30, 41, 59, .86)),
    radial-gradient(circle at 0% 0%, rgba(37, 99, 235, .40), transparent 28rem) !important;
}
.auth-card {
  border: 1px solid var(--alva-card-border);
  border-radius: 28px;
  padding: clamp(22px, 3vw, 34px);
  background: var(--alva-surface);
  box-shadow: var(--alva-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.auth-card .logo-img img { max-height: 58px; object-fit: contain; }
.auth-card .btn-primary { min-height: 48px; border-radius: 16px !important; }
.circle-top,
.circle-bottom { opacity: .75; filter: blur(.2px); }

/* Kullanıcı detayı, kupon detayı ve yoğun modal tabloları */
#coupon-detail-modal .modal-dialog,
#dark-header-modal .modal-dialog { max-width: min(1180px, 96vw); }
#coupon-detail-modal .modal-body,
#dark-header-modal .modal-body { background: var(--alva-surface-soft); }
.text-truncate-1,
.text-truncate-2 { color: inherit; }
.notify-on-top { z-index: 2000 !important; }

/* Küçük ekran düzeni */
@media (max-width: 767.98px) {
  .topbar { padding: 8px 10px; }
  .topbar .with-vertical,
  .topbar .app-header { border-radius: 16px; }
  .body-wrapper,
  .page-shell { padding-top: 78px; }
  .container-fluid { padding-left: 12px !important; padding-right: 12px !important; }
  .card { border-radius: 18px !important; }
  .card-body { padding: 16px !important; }
  .table thead th,
  .table tbody td,
  .table tbody th { padding: 11px 12px !important; }
  .modal-dialog { margin: 10px; }
  .auth-card { border-radius: 22px; padding: 20px; }
}

/* ==========================================================
   v2 Sportsbook Yönetim Paneli - Navigation, Coupons & Tables
   ========================================================== */
:root,
html[data-bs-theme="light"] {
  --alva-brand-primary: #1d4ed8;
  --alva-brand-accent: #06b6d4;
  --alva-brand-green: #22c55e;
  --alva-nav-bg: rgba(255, 255, 255, .78);
  --alva-nav-border: rgba(29, 78, 216, .12);
  --alva-nav-hover: rgba(29, 78, 216, .08);
  --alva-table-row-bg: rgba(255, 255, 255, .62);
  --alva-table-row-hover: rgba(29, 78, 216, .07);
}
html[data-bs-theme="dark"] {
  --alva-brand-primary: #38bdf8;
  --alva-brand-accent: #22d3ee;
  --alva-brand-green: #22c55e;
  --alva-nav-bg: rgba(10, 16, 31, .78);
  --alva-nav-border: rgba(56, 189, 248, .18);
  --alva-nav-hover: rgba(56, 189, 248, .12);
  --alva-table-row-bg: rgba(15, 23, 42, .56);
  --alva-table-row-hover: rgba(56, 189, 248, .09);
}

@media (min-width: 1200px) {
  .body-wrapper,
  .page-shell {
    padding-top: 166px;
  }

  .left-sidebar.with-horizontal {
    position: fixed !important;
    top: 88px;
    left: clamp(18px, 1.8vw, 26px);
    right: clamp(18px, 1.8vw, 26px);
    z-index: 1039;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    border: 1px solid var(--alva-nav-border) !important;
    border-radius: 22px !important;
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--alva-nav-bg) 94%, var(--alva-brand-primary) 6%), var(--alva-nav-bg)) !important;
    box-shadow: 0 18px 44px rgba(2, 6, 23, .18) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 8px !important;
    overflow: visible !important;
  }

  .left-sidebar.with-horizontal::before {
    content: "";
    position: absolute;
    inset: 1px;
    pointer-events: none;
    border-radius: 21px;
    background:
      linear-gradient(90deg, rgba(34, 197, 94, .18), rgba(56, 189, 248, .16), transparent 55%);
    opacity: .75;
  }

  .left-sidebar.with-horizontal > div,
  .left-sidebar.with-horizontal .scroll-sidebar,
  .left-sidebar.with-horizontal .sidebar-nav {
    position: relative;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    padding: 0 !important;
  }

  .left-sidebar.with-horizontal .container-fluid {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .left-sidebar.with-horizontal #sidebarnav {
    display: flex !important;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 48px;
  }

  .left-sidebar.with-horizontal .nav-small-cap {
    display: none !important;
  }

  .left-sidebar.with-horizontal .sidebar-item {
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
  }

  .left-sidebar.with-horizontal .sidebar-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 15px !important;
    border-radius: 15px !important;
    background: transparent !important;
    color: var(--alva-text) !important;
    border: 1px solid transparent !important;
    font-weight: 760 !important;
    letter-spacing: -.01em;
    line-height: 1;
    white-space: nowrap;
    box-shadow: none !important;
  }

  .left-sidebar.with-horizontal .sidebar-link span:first-child {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--alva-brand-primary) 12%, transparent);
    color: var(--alva-brand-primary);
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
  }

  .left-sidebar.with-horizontal .sidebar-link i {
    font-size: 18px;
    line-height: 1;
  }

  .left-sidebar.with-horizontal .sidebar-link:hover {
    transform: translateY(-1px);
    color: var(--alva-brand-primary) !important;
    background: var(--alva-nav-hover) !important;
    border-color: color-mix(in srgb, var(--alva-brand-primary) 18%, transparent) !important;
  }

  .left-sidebar.with-horizontal .sidebar-link:hover span:first-child {
    transform: scale(1.03);
    background: color-mix(in srgb, var(--alva-brand-primary) 18%, transparent);
  }

  .left-sidebar.with-horizontal .sidebar-link.active,
  .left-sidebar.with-horizontal .sidebar-link.router-link-active,
  .left-sidebar.with-horizontal .sidebar-link.has-arrow.active {
    color: #fff !important;
    background: linear-gradient(135deg, #1d4ed8 0%, #0284c7 54%, #06b6d4 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 14px 30px rgba(14, 165, 233, .25) !important;
  }

  .left-sidebar.with-horizontal .sidebar-link.active span:first-child,
  .left-sidebar.with-horizontal .sidebar-link.router-link-active span:first-child,
  .left-sidebar.with-horizontal .sidebar-link.has-arrow.active span:first-child {
    background: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
  }

  .left-sidebar.with-horizontal .first-level {
    position: absolute !important;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    display: none;
    padding: 8px !important;
    border: 1px solid var(--alva-card-border) !important;
    border-radius: 18px !important;
    background: var(--alva-surface-solid) !important;
    box-shadow: var(--alva-shadow) !important;
  }

  .left-sidebar.with-horizontal .sidebar-item:hover > .first-level {
    display: grid !important;
    gap: 4px;
  }

  .left-sidebar.with-horizontal .first-level .sidebar-link {
    justify-content: flex-start;
    width: 100%;
    color: var(--alva-text) !important;
    background: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .left-sidebar.with-horizontal { display: none !important; }
  .body-wrapper,
  .page-shell { padding-top: 86px; }
}

/* Header polish */
.topbar .with-vertical,
.topbar .app-header {
  border-color: color-mix(in srgb, var(--alva-brand-primary) 18%, var(--alva-card-border)) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--alva-surface) 94%, var(--alva-brand-primary) 6%), var(--alva-surface)) !important;
}
html[data-bs-theme="dark"] .topbar .with-vertical,
html[data-bs-theme="dark"] .topbar .app-header {
  background:
    linear-gradient(135deg, rgba(10, 16, 31, .92), rgba(15, 23, 42, .78)) !important;
}
.topbar .navbar-nav > span {
  background: color-mix(in srgb, var(--alva-surface-soft) 86%, var(--alva-brand-primary) 14%) !important;
  border-color: color-mix(in srgb, var(--alva-brand-primary) 22%, transparent) !important;
}
.topbar .nav-icon-hover .nav-link img.rounded-circle,
.topbar .navbar-nav img.rounded-circle {
  border: 2px solid color-mix(in srgb, var(--alva-brand-accent) 58%, transparent);
  box-shadow: 0 10px 22px rgba(14, 165, 233, .22);
}

/* General table upgrade */
.table-responsive {
  border-radius: 22px !important;
  border-color: color-mix(in srgb, var(--alva-brand-primary) 14%, var(--alva-table-border)) !important;
}
.table tbody tr {
  background: var(--alva-table-row-bg) !important;
}
.table tbody tr + tr td,
.table tbody tr + tr th {
  border-top-color: color-mix(in srgb, var(--alva-table-border) 72%, transparent) !important;
}
.table tbody tr:hover {
  background: var(--alva-table-row-hover) !important;
}
.table thead th {
  background: color-mix(in srgb, var(--alva-surface-soft) 86%, var(--alva-brand-primary) 14%) !important;
}

/* Coupons page */
.alva-coupons-page {
  display: grid;
  gap: 18px;
}
.alva-floating-alert {
  position: fixed;
  top: 96px;
  right: 24px;
  z-index: 1065;
  min-width: 320px;
}
.alva-page-hero,
.alva-filter-card,
.alva-results-card {
  border: 1px solid color-mix(in srgb, var(--alva-brand-primary) 14%, var(--alva-card-border));
  border-radius: 28px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--alva-surface) 92%, var(--alva-brand-primary) 8%), var(--alva-surface));
  box-shadow: var(--alva-shadow-sm);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.alva-page-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
}
.alva-page-hero::before {
  content: "";
  position: absolute;
  inset: -35% -10% auto auto;
  width: 380px;
  height: 380px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(6, 182, 212, .24), transparent 68%);
  pointer-events: none;
}
.alva-page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, #22c55e, #38bdf8, #1d4ed8);
}
.alva-page-hero > * {
  position: relative;
  z-index: 1;
}
.alva-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--alva-brand-primary);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.alva-page-hero h1,
.alva-filter-head h2,
.alva-results-head h2 {
  margin: 0;
  color: var(--alva-heading);
  font-weight: 900;
  letter-spacing: -.04em;
}
.alva-page-hero h1 {
  font-size: clamp(1.7rem, 3vw, 2.55rem);
}
.alva-page-hero p,
.alva-filter-head p,
.alva-results-head p {
  margin: 6px 0 0;
  color: var(--alva-muted);
}
.alva-hero-actions,
.alva-results-tools {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.alva-hero-pill,
.alva-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--alva-brand-primary) 16%, var(--alva-card-border));
  border-radius: 999px;
  color: var(--alva-heading);
  background: color-mix(in srgb, var(--alva-surface-soft) 88%, var(--alva-brand-primary) 12%);
  font-size: .82rem;
  font-weight: 800;
}
.alva-filter-card,
.alva-results-card {
  padding: clamp(16px, 2vw, 24px);
}
.alva-filter-head,
.alva-results-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.alva-filter-head h2,
.alva-results-head h2 {
  font-size: 1.18rem;
}
.alva-filter-submit {
  min-width: 170px;
}
.alva-input-icon {
  position: relative;
}
.alva-input-icon i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--alva-muted);
  pointer-events: none;
  z-index: 2;
}
.alva-input-icon .form-control {
  padding-left: 42px;
}
.alva-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.alva-stat-card {
  position: relative;
  min-height: 154px;
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 18px;
  border: 1px solid var(--alva-card-border);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, currentColor 0, transparent 68px),
    linear-gradient(145deg, var(--alva-surface), var(--alva-surface-soft));
  color: var(--alva-brand-primary);
  box-shadow: var(--alva-shadow-sm);
  overflow: hidden;
}
.alva-stat-card::after {
  content: "";
  position: absolute;
  inset: auto 14px 12px 14px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  opacity: .26;
}
.alva-stat-card > * {
  position: relative;
  z-index: 1;
}
.alva-stat-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #1d4ed8, #06b6d4);
  box-shadow: 0 14px 28px rgba(14, 165, 233, .24);
}
.alva-stat-icon i { font-size: 22px; }
.alva-stat-card span {
  display: block;
  color: var(--alva-muted);
  font-size: .78rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.alva-stat-card strong {
  display: block;
  margin-top: 5px;
  color: var(--alva-heading);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.04;
  font-weight: 950;
  letter-spacing: -.035em;
  word-break: break-word;
}
.alva-stat-card small {
  display: block;
  margin-top: 6px;
  color: var(--alva-muted) !important;
  font-weight: 700;
  line-height: 1.25;
}
.alva-stat-card.is-warning { color: var(--alva-warning); }
.alva-stat-card.is-success { color: var(--alva-success); }
.alva-stat-card.is-danger { color: var(--alva-danger); }
.alva-stat-card.is-info { color: var(--alva-info); }
.alva-stat-card.is-cyan { color: var(--alva-brand-accent); }
.alva-stat-card.is-warning .alva-stat-icon { background: linear-gradient(135deg, #f59e0b, #f97316); }
.alva-stat-card.is-success .alva-stat-icon { background: linear-gradient(135deg, #16a34a, #22c55e); }
.alva-stat-card.is-danger .alva-stat-icon { background: linear-gradient(135deg, #dc2626, #fb7185); }
.alva-stat-card.is-info .alva-stat-icon { background: linear-gradient(135deg, #0284c7, #38bdf8); }
.alva-stat-card.is-cyan .alva-stat-icon { background: linear-gradient(135deg, #0f766e, #22d3ee); }

.alva-coupons-table {
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
  padding: 8px;
}
.alva-coupons-table thead th {
  border: 0 !important;
}
.alva-coupons-table tbody tr {
  box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
}
.alva-coupons-table tbody td {
  border-top: 1px solid var(--alva-table-border) !important;
  border-bottom: 1px solid var(--alva-table-border) !important;
}
.alva-coupons-table tbody td:first-child {
  border-left: 1px solid var(--alva-table-border) !important;
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}
.alva-coupons-table tbody td:last-child {
  border-right: 1px solid var(--alva-table-border) !important;
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
}
.alva-user-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 180px;
}
.alva-user-cell small,
.alva-date-cell,
.alva-amount-cell small,
.alva-mini-label {
  display: block;
  color: var(--alva-muted) !important;
  font-size: .76rem;
  font-weight: 750;
}
.alva-avatar-btn {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #1d4ed8, #06b6d4);
  box-shadow: 0 12px 24px rgba(14, 165, 233, .18);
  font-weight: 900;
}
.alva-id-badge,
.alva-odd-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--alva-surface-soft) 82%, var(--alva-brand-primary) 18%);
  color: var(--alva-heading);
  border: 1px solid color-mix(in srgb, var(--alva-brand-primary) 18%, transparent);
  font-weight: 900;
}
.alva-odd-pill {
  color: var(--alva-brand-green);
  background: color-mix(in srgb, var(--alva-surface-soft) 80%, var(--alva-brand-green) 20%);
  border-color: color-mix(in srgb, var(--alva-brand-green) 22%, transparent);
}
.alva-amount-cell {
  display: grid;
  gap: 3px;
  min-width: 120px;
}
.alva-status-chip {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  white-space: nowrap;
  box-shadow: none !important;
}
.alva-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.alva-empty-state {
  min-height: 220px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  padding: 34px;
  text-align: center;
  color: var(--alva-muted);
  border: 1px dashed color-mix(in srgb, var(--alva-brand-primary) 18%, var(--alva-card-border));
  border-radius: 22px;
  background: color-mix(in srgb, var(--alva-surface-soft) 86%, var(--alva-brand-primary) 6%);
}
.alva-empty-state > i {
  font-size: 2.2rem;
  color: var(--alva-brand-primary);
}
.alva-empty-state strong {
  color: var(--alva-heading);
  font-size: 1.02rem;
}
.alva-empty-state p {
  max-width: 440px;
  margin: 0;
}
.alva-pagination-wrap {
  margin-top: 18px;
}
.alva-coupon-mobile-list {
  display: grid;
  gap: 12px;
}
.alva-coupon-card {
  padding: 16px;
  border: 1px solid var(--alva-card-border);
  border-radius: 22px;
  background: var(--alva-table-row-bg);
  box-shadow: var(--alva-shadow-sm);
}
.alva-coupon-card-top,
.alva-coupon-card-user {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.alva-coupon-card-top strong {
  display: block;
  color: var(--alva-heading);
  font-size: 1.1rem;
}
.alva-coupon-card-user {
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--alva-table-border);
  border-bottom: 1px solid var(--alva-table-border);
}
.alva-coupon-card-user small { color: var(--alva-muted); }
.alva-coupon-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.alva-coupon-card-grid > div {
  min-height: 74px;
  padding: 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--alva-surface-soft) 88%, var(--alva-brand-primary) 8%);
  border: 1px solid var(--alva-table-border);
}
.alva-coupon-card-grid span {
  display: block;
  color: var(--alva-muted);
  font-size: .74rem;
  font-weight: 850;
}
.alva-coupon-card-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--alva-heading);
  font-size: .9rem;
  word-break: break-word;
}

/* Coupon detail modal */
.alva-coupon-detail-modal .modal-dialog {
  max-width: min(1280px, calc(100vw - 28px)) !important;
}
.alva-detail-modal-header {
  align-items: flex-start !important;
  padding: 20px 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(34, 197, 94, .18), transparent 260px),
    linear-gradient(135deg, color-mix(in srgb, var(--alva-surface) 88%, var(--alva-brand-primary) 12%), var(--alva-surface)) !important;
}
.alva-detail-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}
.alva-detail-overview > div {
  min-height: 86px;
  padding: 14px;
  border: 1px solid var(--alva-card-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--alva-surface-soft) 88%, var(--alva-brand-primary) 8%);
}
.alva-detail-overview span {
  display: block;
  color: var(--alva-muted);
  font-size: .74rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.alva-detail-overview strong:not(.alva-status-chip) {
  display: block;
  margin-top: 7px;
  color: var(--alva-heading);
  font-size: 1rem;
  font-weight: 900;
  word-break: break-word;
}
.alva-events-table tbody tr.table-success,
.alva-events-table tbody tr.table-danger,
.alva-events-table tbody tr.table-warning,
.alva-events-table tbody tr.table-info,
.alva-events-table tbody tr.table-secondary {
  --bs-table-bg: transparent;
  color: var(--alva-text) !important;
}
.alva-events-table tbody tr.table-success { background: color-mix(in srgb, var(--alva-table-row-bg) 84%, var(--alva-success) 16%) !important; }
.alva-events-table tbody tr.table-danger { background: color-mix(in srgb, var(--alva-table-row-bg) 84%, var(--alva-danger) 16%) !important; }
.alva-events-table tbody tr.table-warning { background: color-mix(in srgb, var(--alva-table-row-bg) 84%, var(--alva-warning) 16%) !important; }
.alva-events-table tbody tr.table-info { background: color-mix(in srgb, var(--alva-table-row-bg) 84%, var(--alva-info) 16%) !important; }
.alva-events-table tbody tr.table-secondary { background: color-mix(in srgb, var(--alva-table-row-bg) 84%, var(--alva-muted) 16%) !important; }
.alva-detail-footer {
  gap: 8px;
  background: color-mix(in srgb, var(--alva-surface-soft) 92%, var(--alva-brand-primary) 6%);
}

@media (max-width: 1399.98px) {
  .alva-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .alva-page-hero,
  .alva-filter-head,
  .alva-results-head {
    flex-direction: column;
    align-items: stretch;
  }
  .alva-filter-submit { display: none !important; }
  .alva-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alva-detail-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .alva-coupons-page { gap: 14px; }
  .alva-page-hero,
  .alva-filter-card,
  .alva-results-card { border-radius: 22px; }
  .alva-summary-grid,
  .alva-detail-overview,
  .alva-coupon-card-grid { grid-template-columns: 1fr; }
  .alva-floating-alert { left: 12px; right: 12px; top: 82px; min-width: 0; }
  .alva-page-hero { padding: 20px; }
}

/* ==========================================================
   v3 - Alignment, sportsbook table colors, 90% desktop view,
   and Coupons .htm-style responsive card redesign
   ========================================================== */
:root,
html[data-bs-theme="light"] {
  --alva-shell-x: clamp(18px, 1.75vw, 28px);
  --alva-panel-scale-font: 90%;
  --alva-sportsbook-blue: #1d4ed8;
  --alva-sportsbook-cyan: #06b6d4;
  --alva-sportsbook-green: #22c55e;
  --alva-table-head-v3: #eef6ff;
  --alva-table-cell-v3: rgba(255, 255, 255, .82);
  --alva-table-cell-alt-v3: rgba(248, 250, 252, .88);
  --alva-table-border-v3: rgba(29, 78, 216, .12);
}
html[data-bs-theme="dark"] {
  --alva-shell-x: clamp(18px, 1.75vw, 28px);
  --alva-panel-scale-font: 90%;
  --alva-sportsbook-blue: #60a5fa;
  --alva-sportsbook-cyan: #22d3ee;
  --alva-sportsbook-green: #22c55e;
  --alva-table-head-v3: rgba(8, 16, 32, .98);
  --alva-table-cell-v3: rgba(15, 23, 42, .82);
  --alva-table-cell-alt-v3: rgba(15, 23, 42, .68);
  --alva-table-border-v3: rgba(96, 165, 250, .16);
}

@media (min-width: 1200px) {
  html { font-size: var(--alva-panel-scale-font); }

  .topbar {
    padding: 12px var(--alva-shell-x) !important;
  }

  .topbar .with-vertical,
  .topbar .app-header {
    width: 100% !important;
    min-height: 64px !important;
    border-radius: 22px !important;
  }

  .topbar .app-header .container-fluid,
  .topbar .with-vertical .container-fluid,
  .topbar .navbar.container-fluid {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .left-sidebar.with-horizontal {
    top: 92px !important;
    left: var(--alva-shell-x) !important;
    right: var(--alva-shell-x) !important;
    max-width: none !important;
    min-height: 60px !important;
    padding: 8px !important;
    border-radius: 22px !important;
    display: flex !important;
    align-items: center !important;
  }

  .left-sidebar.with-horizontal > div,
  .left-sidebar.with-horizontal .scroll-sidebar,
  .left-sidebar.with-horizontal .sidebar-nav {
    width: 100% !important;
  }

  .left-sidebar.with-horizontal #sidebarnav {
    min-height: 46px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 0 2px 2px !important;
  }

  .left-sidebar.with-horizontal #sidebarnav::-webkit-scrollbar { height: 4px; }

  .left-sidebar.with-horizontal .sidebar-link {
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    background: color-mix(in srgb, var(--alva-surface-soft) 74%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--alva-sportsbook-blue) 10%, transparent) !important;
  }

  .left-sidebar.with-horizontal .sidebar-link .hide-menu {
    font-size: .94rem !important;
    font-weight: 850 !important;
  }

  .left-sidebar.with-horizontal .sidebar-link span:first-child {
    width: 30px !important;
    height: 30px !important;
  }

  .body-wrapper,
  .page-shell {
    padding-top: 174px !important;
  }
}

@media (min-width: 1400px) {
  .container-fluid:not(.left-sidebar .container-fluid) {
    max-width: 1680px !important;
  }
}

html[data-bs-theme="dark"] .left-sidebar.with-horizontal {
  background:
    linear-gradient(135deg, rgba(10, 16, 31, .94), rgba(15, 23, 42, .84)) !important;
  border-color: rgba(96, 165, 250, .18) !important;
}

html[data-bs-theme="light"] .left-sidebar.with-horizontal {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(239, 246, 255, .84)) !important;
  border-color: rgba(29, 78, 216, .13) !important;
}

/* Tables: B2B Admins + Reports color and overflow fixes */
.alva-modern-table-wrap {
  overflow: auto !important;
  border-radius: 22px !important;
  border: 1px solid var(--alva-table-border-v3) !important;
  background: color-mix(in srgb, var(--alva-surface) 84%, transparent) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.alva-modern-data-table {
  margin: 0 !important;
  color: var(--alva-text) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.alva-modern-data-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--alva-table-head-v3) 92%, var(--alva-sportsbook-blue) 8%), var(--alva-table-head-v3)) !important;
  color: var(--alva-heading) !important;
  border-bottom: 1px solid var(--alva-table-border-v3) !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .035em;
  text-transform: uppercase;
  white-space: nowrap;
}

.alva-modern-data-table tbody td,
.alva-modern-data-table tbody th {
  background: var(--alva-table-cell-v3) !important;
  color: var(--alva-text) !important;
  border-bottom: 1px solid var(--alva-table-border-v3) !important;
  vertical-align: middle !important;
}

.alva-modern-data-table tbody tr:nth-child(even) td,
.alva-modern-data-table tbody tr:nth-child(even) th {
  background: var(--alva-table-cell-alt-v3) !important;
}

.alva-modern-data-table tbody tr:hover td,
.alva-modern-data-table tbody tr:hover th {
  background: color-mix(in srgb, var(--alva-table-cell-v3) 84%, var(--alva-sportsbook-cyan) 16%) !important;
}

.alva-modern-data-table tbody tr.table-primary td,
.alva-modern-data-table tbody tr.table-primary th {
  background: color-mix(in srgb, var(--alva-table-cell-v3) 78%, var(--alva-sportsbook-blue) 22%) !important;
  color: var(--alva-heading) !important;
}

.alva-b2b-admin-table {
  min-width: 1120px !important;
  table-layout: fixed !important;
}
.alva-reports-table {
  min-width: 980px !important;
}
.alva-b2b-admin-table th:nth-child(1),
.alva-b2b-admin-table td:nth-child(1) { width: 170px; }
.alva-b2b-admin-table th:nth-child(2),
.alva-b2b-admin-table td:nth-child(2) { width: 130px; }
.alva-b2b-admin-table th:nth-child(3),
.alva-b2b-admin-table td:nth-child(3) { width: 128px; }
.alva-b2b-admin-table th:nth-child(4),
.alva-b2b-admin-table td:nth-child(4) { width: 170px; }
.alva-b2b-admin-table th:nth-child(5),
.alva-b2b-admin-table td:nth-child(5) { width: 112px; }
.alva-b2b-admin-table th:nth-child(6),
.alva-b2b-admin-table td:nth-child(6),
.alva-b2b-admin-table th:nth-child(7),
.alva-b2b-admin-table td:nth-child(7) { width: 170px; }
.alva-b2b-admin-table th:nth-child(8),
.alva-b2b-admin-table td:nth-child(8) { width: 126px; }
.alva-b2b-admin-table th:nth-child(9),
.alva-b2b-admin-table td:nth-child(9) { width: 210px; }

.alva-b2b-admin-table td,
.alva-reports-table td {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.alva-b2b-admin-table td:nth-child(6),
.alva-b2b-admin-table td:nth-child(7),
.alva-reports-table td:nth-child(3),
.alva-reports-table td:nth-child(4) {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .82rem;
  line-height: 1.35;
}

.alva-b2b-admin-table .btn,
.alva-reports-table .btn {
  border-radius: 12px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

/* Coupons: same card/list idea as the approved .htm design */
.alva-results-card {
  padding: 0 !important;
  overflow: hidden;
}
.alva-results-head {
  margin: 0 !important;
  padding: 18px 20px;
  border-bottom: 1px solid var(--alva-table-border-v3);
  background: color-mix(in srgb, var(--alva-surface-soft) 84%, var(--alva-sportsbook-blue) 6%);
}
.alva-modern-coupon-list {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.alva-modern-coupon-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(270px, 1.38fr) minmax(110px, .55fr) minmax(130px, .65fr) minmax(150px, .75fr) auto;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--alva-table-border-v3);
  border-radius: 22px;
  background: var(--alva-table-cell-v3);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.alva-modern-coupon-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  bottom: 16px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--alva-sportsbook-green), var(--alva-sportsbook-cyan), var(--alva-sportsbook-blue));
  opacity: .85;
}
.alva-modern-coupon-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--alva-sportsbook-cyan) 34%, var(--alva-table-border-v3));
  background: color-mix(in srgb, var(--alva-table-cell-v3) 86%, var(--alva-sportsbook-blue) 6%);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .12);
}
.alva-modern-coupon-main {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding-left: 4px;
}
.alva-modern-avatar {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 18px;
  display: grid;
  place-items: center;
  color: var(--alva-sportsbook-blue);
  background:
    radial-gradient(circle at 30% 20%, rgba(34, 211, 238, .28), transparent 52%),
    color-mix(in srgb, var(--alva-surface-soft) 74%, var(--alva-sportsbook-blue) 14%);
  font-weight: 950;
  letter-spacing: -.03em;
  box-shadow: 0 12px 24px rgba(14, 165, 233, .16);
}
.alva-modern-coupon-text { min-width: 0; }
.alva-modern-coupon-id {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.alva-modern-coupon-id > strong {
  color: var(--alva-heading);
  font-size: 1.05rem;
  font-weight: 950;
  letter-spacing: -.03em;
}
.alva-modern-coupon-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 10px;
  margin-top: 6px;
  color: var(--alva-muted);
  font-size: .82rem;
  font-weight: 700;
}
.alva-modern-coupon-meta > span:not(:last-child)::after,
.alva-user-link::after {
  content: "•";
  margin-left: 10px;
  color: color-mix(in srgb, var(--alva-muted) 62%, transparent);
}
.alva-user-link {
  display: inline-flex;
  align-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--alva-sportsbook-blue);
  font-weight: 900;
}
.alva-modern-metric {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--alva-surface-soft) 82%, var(--alva-sportsbook-blue) 8%);
  border: 1px solid color-mix(in srgb, var(--alva-table-border-v3) 86%, transparent);
}
.alva-modern-metric > span {
  display: block;
  color: var(--alva-muted);
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .055em;
  margin-bottom: 5px;
}
.alva-modern-metric > strong {
  display: block;
  color: var(--alva-heading);
  font-weight: 950;
  letter-spacing: -.025em;
  word-break: break-word;
}
.alva-rate-value {
  color: var(--alva-sportsbook-green) !important;
  font-size: 1.18rem;
}
.alva-modern-win small {
  display: block;
  color: var(--alva-muted) !important;
  font-weight: 750;
  margin-bottom: 2px;
}
.alva-modern-actions {
  display: flex;
  justify-content: flex-end;
}
.alva-modern-detail-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 15px !important;
  padding: 0 16px !important;
  font-weight: 900 !important;
  white-space: nowrap;
}

@media (max-width: 1199.98px) {
  html { font-size: 100%; }
  .alva-modern-coupon-card {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .alva-modern-actions,
  .alva-modern-detail-btn { width: 100%; }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
  .alva-modern-coupon-card {
    grid-template-columns: minmax(260px, 1.35fr) minmax(105px, .55fr) minmax(120px, .6fr) minmax(140px, .7fr);
  }
  .alva-modern-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

@media (max-width: 575.98px) {
  .alva-results-head,
  .alva-modern-coupon-list { padding: 14px; }
  .alva-modern-coupon-card { padding: 15px; border-radius: 20px; }
  .alva-modern-coupon-main { align-items: flex-start; }
  .alva-modern-avatar { width: 44px; height: 44px; flex-basis: 44px; border-radius: 16px; }
  .alva-modern-coupon-id { align-items: flex-start; flex-direction: column; }
  .alva-modern-coupon-meta { display: grid; gap: 5px; }
  .alva-modern-coupon-meta > span::after,
  .alva-user-link::after { display: none; }
  .alva-modern-metric { padding: 11px 12px; }
}

/* ==========================================================
   v4 - Minimal top navigation + relaxed Coupons cards/drawer
   ========================================================== */
:root,
html[data-bs-theme="light"] {
  --alva-v4-nav-bg: rgba(255,255,255,.82);
  --alva-v4-nav-item: rgba(255,255,255,.72);
  --alva-v4-nav-item-hover: rgba(29,78,216,.075);
  --alva-v4-coupon-bg: rgba(255,255,255,.88);
  --alva-v4-coupon-bg-hover: #ffffff;
  --alva-v4-soft: #f8fbff;
  --alva-v4-line: rgba(15,23,42,.075);
}
html[data-bs-theme="dark"] {
  --alva-v4-nav-bg: rgba(8,13,25,.74);
  --alva-v4-nav-item: rgba(15,23,42,.42);
  --alva-v4-nav-item-hover: rgba(56,189,248,.085);
  --alva-v4-coupon-bg: rgba(13,21,36,.82);
  --alva-v4-coupon-bg-hover: rgba(16,27,46,.92);
  --alva-v4-soft: rgba(15,23,42,.74);
  --alva-v4-line: rgba(148,163,184,.125);
}

/* header alt menü: scroll hissini kaldır, topbar ile aynı hizaya getir */
@media (min-width: 1200px) {
  .topbar {
    padding-left: var(--alva-shell-x) !important;
    padding-right: var(--alva-shell-x) !important;
  }

  .left-sidebar.with-horizontal {
    top: 92px !important;
    left: var(--alva-shell-x) !important;
    right: var(--alva-shell-x) !important;
    min-height: 56px !important;
    padding: 7px 9px !important;
    border-radius: 22px !important;
    background: var(--alva-v4-nav-bg) !important;
    border-color: color-mix(in srgb, var(--alva-sportsbook-blue) 12%, var(--alva-card-border)) !important;
    box-shadow: 0 14px 34px rgba(2,6,23,.10) !important;
    overflow: visible !important;
  }

  html[data-bs-theme="dark"] .left-sidebar.with-horizontal {
    box-shadow: 0 14px 38px rgba(0,0,0,.28) !important;
  }

  .left-sidebar.with-horizontal::before {
    display: none !important;
  }

  .left-sidebar.with-horizontal #sidebarnav {
    width: 100% !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    padding: 0 !important;
    scrollbar-width: none !important;
  }

  .left-sidebar.with-horizontal #sidebarnav::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .left-sidebar.with-horizontal .sidebar-item {
    flex: 0 0 auto;
  }

  .left-sidebar.with-horizontal .sidebar-link {
    min-height: 40px !important;
    padding: 0 12px !important;
    gap: 8px !important;
    border-radius: 14px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    color: color-mix(in srgb, var(--alva-text) 86%, var(--alva-muted) 14%) !important;
    box-shadow: none !important;
    font-weight: 760 !important;
  }

  .left-sidebar.with-horizontal .sidebar-link .hide-menu {
    max-width: 210px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .9rem !important;
    line-height: 1.1;
    white-space: nowrap;
  }

  .left-sidebar.with-horizontal .sidebar-link span:first-child {
    width: auto !important;
    height: auto !important;
    min-width: 18px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: currentColor !important;
  }

  .left-sidebar.with-horizontal .sidebar-link i {
    font-size: 18px !important;
    opacity: .82;
    filter: none !important;
  }

  .left-sidebar.with-horizontal .sidebar-link:hover {
    transform: translateY(-1px) !important;
    background: var(--alva-v4-nav-item-hover) !important;
    color: var(--alva-sportsbook-blue) !important;
    border-color: color-mix(in srgb, var(--alva-sportsbook-blue) 12%, transparent) !important;
  }

  .left-sidebar.with-horizontal .sidebar-link.active,
  .left-sidebar.with-horizontal .sidebar-link.router-link-active,
  .left-sidebar.with-horizontal .sidebar-link.has-arrow.active {
    color: #fff !important;
    background: linear-gradient(135deg, #1d4ed8, #0891b2) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(14,165,233,.18) !important;
  }

  .left-sidebar.with-horizontal .sidebar-link.active span:first-child,
  .left-sidebar.with-horizontal .sidebar-link.router-link-active span:first-child,
  .left-sidebar.with-horizontal .sidebar-link.has-arrow.active span:first-child {
    background: transparent !important;
    color: currentColor !important;
  }

  .left-sidebar.with-horizontal .first-level {
    top: calc(100% + 8px) !important;
    right: 0 !important;
    min-width: 210px !important;
    border-radius: 16px !important;
  }

  .body-wrapper,
  .page-shell {
    padding-top: 164px !important;
  }
}

/* B2B ve rapor tablolarındaki eski/sert renkleri yumuşat */
.alva-modern-table-wrap,
.alva-b2b-table-wrap,
.alva-reports-table-wrap {
  background: color-mix(in srgb, var(--alva-surface) 90%, var(--alva-sportsbook-blue) 3%) !important;
  border-color: var(--alva-v4-line) !important;
}
.alva-modern-data-table thead th,
.alva-modern-data-table thead td {
  background: linear-gradient(180deg, color-mix(in srgb, var(--alva-v4-soft) 94%, var(--alva-sportsbook-blue) 6%), var(--alva-v4-soft)) !important;
  color: color-mix(in srgb, var(--alva-heading) 74%, var(--alva-muted) 26%) !important;
}
.alva-modern-data-table tbody td,
.alva-modern-data-table tbody th {
  background: color-mix(in srgb, var(--alva-surface) 88%, transparent) !important;
  color: var(--alva-text) !important;
}
.alva-modern-data-table tbody tr:nth-child(even) td,
.alva-modern-data-table tbody tr:nth-child(even) th {
  background: color-mix(in srgb, var(--alva-surface-soft) 88%, transparent) !important;
}
.alva-b2b-admin-table td,
.alva-reports-table td,
.alva-b2b-admin-table th,
.alva-reports-table th {
  max-width: 260px;
}
.alva-b2b-admin-table .input-group,
.alva-b2b-admin-table .d-flex,
.alva-reports-table .d-flex {
  min-width: 0;
}
.alva-b2b-admin-table .form-control,
.alva-b2b-admin-table .btn,
.alva-reports-table .btn {
  min-width: 0;
}

/* Coupons .htm hissi: kartlar daha sakin, nefes alan ve mobil dostu */
.alva-coupons-page {
  gap: 16px !important;
}
.alva-page-hero,
.alva-filter-card,
.alva-results-card {
  border-radius: 24px !important;
}
.alva-results-head {
  padding: 18px 20px !important;
  background: color-mix(in srgb, var(--alva-v4-soft) 86%, transparent) !important;
}
.alva-results-head h2,
.alva-filter-head h2 {
  letter-spacing: -.025em !important;
}
.alva-modern-coupon-list {
  padding: 16px !important;
  gap: 12px !important;
}
.alva-modern-coupon-card {
  grid-template-columns: minmax(300px, 1.42fr) minmax(128px, .58fr) minmax(96px, .42fr) minmax(124px, .52fr) minmax(150px, .66fr) auto !important;
  gap: 13px !important;
  padding: 15px 16px !important;
  border-radius: 20px !important;
  background: var(--alva-v4-coupon-bg) !important;
  border-color: var(--alva-v4-line) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,.045) !important;
}
.alva-modern-coupon-card::before {
  top: 18px !important;
  bottom: 18px !important;
  width: 3px !important;
  opacity: .68 !important;
}
.alva-modern-coupon-card:hover {
  background: var(--alva-v4-coupon-bg-hover) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.075) !important;
}
html[data-bs-theme="dark"] .alva-modern-coupon-card:hover {
  box-shadow: 0 16px 42px rgba(0,0,0,.32) !important;
}
.alva-modern-avatar {
  width: 46px !important;
  height: 46px !important;
  flex-basis: 46px !important;
  border-radius: 17px !important;
  box-shadow: none !important;
}
.alva-modern-coupon-id > strong {
  font-size: 1rem !important;
}
.alva-modern-coupon-meta {
  font-size: .8rem !important;
  gap: 6px 9px !important;
}
.alva-modern-metric,
.alva-modern-type-wrap {
  min-height: 62px;
  padding: 9px 11px !important;
  border-radius: 15px !important;
  background: color-mix(in srgb, var(--alva-v4-soft) 78%, transparent) !important;
  border: 1px solid var(--alva-v4-line) !important;
}
.alva-modern-type-wrap {
  display: grid;
  align-content: center;
  gap: 4px;
}
.alva-modern-type-wrap small,
.alva-modern-win small,
.alva-detail-overview small {
  color: var(--alva-muted) !important;
  font-size: .75rem;
  font-weight: 750;
  line-height: 1.25;
}
.alva-modern-metric > span {
  margin-bottom: 4px !important;
  font-size: .68rem !important;
}
.alva-modern-metric > strong,
.alva-paid-value {
  font-size: .95rem !important;
}
.alva-paid-value {
  color: var(--alva-sportsbook-green) !important;
}
.alva-rate-value {
  font-size: 1.06rem !important;
}
.alva-bet-type-chip {
  width: max-content;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid transparent;
  font-weight: 900 !important;
  white-space: nowrap;
}
.alva-bet-type-chip i {
  font-size: 17px;
}
.alva-bet-type-chip.is-single {
  color: #2563eb !important;
  background: rgba(37,99,235,.10) !important;
  border-color: rgba(37,99,235,.16) !important;
}
.alva-bet-type-chip.is-combine {
  color: #0f766e !important;
  background: rgba(20,184,166,.11) !important;
  border-color: rgba(20,184,166,.18) !important;
}
.alva-bet-type-chip.is-system {
  color: #7c3aed !important;
  background: rgba(124,58,237,.11) !important;
  border-color: rgba(124,58,237,.18) !important;
}
html[data-bs-theme="dark"] .alva-bet-type-chip.is-single { color: #93c5fd !important; }
html[data-bs-theme="dark"] .alva-bet-type-chip.is-combine { color: #5eead4 !important; }
html[data-bs-theme="dark"] .alva-bet-type-chip.is-system { color: #c4b5fd !important; }
.alva-mobile-label { display: none; }
.alva-modern-detail-btn {
  background: #0f172a !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.16) !important;
}
html[data-bs-theme="dark"] .alva-modern-detail-btn {
  background: linear-gradient(135deg, #1d4ed8, #0891b2) !important;
}

/* Detay modalını .htm'deki sağ panel hissine yaklaştır */
.alva-coupon-detail-modal .modal-dialog {
  max-width: min(780px, 100vw) !important;
  width: min(780px, 100vw) !important;
  min-height: calc(100vh - 20px) !important;
  margin: 10px 10px 10px auto !important;
  transform: translateX(20px) !important;
}
.alva-coupon-detail-modal.show .modal-dialog {
  transform: none !important;
}
.alva-coupon-detail-modal .modal-content {
  min-height: calc(100vh - 20px) !important;
  border-radius: 26px 0 0 26px !important;
}
.alva-coupon-detail-modal .modal-body {
  padding: 16px 18px 22px !important;
  background: color-mix(in srgb, var(--alva-v4-soft) 94%, transparent) !important;
}
.alva-detail-modal-header {
  padding: 21px 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(34,197,94,.16), transparent 240px),
    linear-gradient(135deg, #0f172a, #172033) !important;
  color: #fff !important;
}
.alva-detail-modal-header .modal-title,
.alva-detail-modal-header .alva-eyebrow {
  color: #fff !important;
}
.alva-detail-modal-header .modal-title .fw-light {
  color: rgba(255,255,255,.72) !important;
}
.alva-detail-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
.alva-detail-overview > div {
  min-height: 82px !important;
  padding: 13px !important;
  border-radius: 17px !important;
  background: color-mix(in srgb, var(--alva-surface) 86%, transparent) !important;
  border-color: var(--alva-v4-line) !important;
}
.alva-detail-event-list {
  display: grid;
  gap: 12px;
}
.alva-detail-event-card {
  --event-accent: #64748b;
  position: relative;
  padding: 15px;
  border: 1px solid var(--alva-v4-line);
  border-left: 5px solid var(--event-accent);
  border-radius: 20px;
  background: color-mix(in srgb, var(--alva-surface) 92%, transparent);
  box-shadow: 0 10px 24px rgba(15,23,42,.045);
}
.alva-detail-event-card.is-win { --event-accent: var(--alva-success); }
.alva-detail-event-card.is-lose { --event-accent: var(--alva-danger); }
.alva-detail-event-card.is-wait { --event-accent: var(--alva-warning); }
.alva-detail-event-card.is-cashout { --event-accent: var(--alva-info); }
.alva-event-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 13px;
}
.alva-event-title-wrap { min-width: 0; }
.alva-event-overline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
}
.alva-event-title-wrap h5 {
  margin: 0;
  color: var(--alva-heading);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -.02em;
}
.alva-event-title-wrap p {
  margin: 6px 0 0;
  color: var(--alva-muted);
  line-height: 1.42;
}
.alva-event-odd-box {
  min-width: 76px;
  padding: 9px 10px;
  border-radius: 16px;
  text-align: center;
  background: color-mix(in srgb, var(--alva-v4-soft) 76%, var(--alva-sportsbook-blue) 10%);
  border: 1px solid var(--alva-v4-line);
}
.alva-event-odd-box span {
  display: block;
  color: var(--alva-muted);
  font-size: .65rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.alva-event-odd-box strong {
  display: block;
  color: var(--alva-sportsbook-blue);
  font-size: 1.05rem;
  font-weight: 950;
}
.alva-event-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.alva-event-info-grid > div {
  min-width: 0;
  padding: 10px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--alva-v4-soft) 84%, transparent);
  border: 1px solid var(--alva-v4-line);
}
.alva-event-info-grid span {
  display: block;
  color: var(--alva-muted);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.alva-event-info-grid strong {
  display: block;
  color: var(--alva-heading);
  font-size: .86rem;
  font-weight: 850;
  line-height: 1.32;
  overflow-wrap: anywhere;
}
.alva-event-info-grid small {
  color: var(--alva-muted) !important;
}
.alva-event-card-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
.alva-detail-footer {
  padding: 14px 18px !important;
}

@media (max-width: 1399.98px) and (min-width: 1200px) {
  .left-sidebar.with-horizontal .sidebar-link .hide-menu { max-width: 168px; }
  .alva-modern-coupon-card {
    grid-template-columns: minmax(280px, 1.3fr) minmax(122px, .58fr) minmax(92px, .42fr) minmax(120px, .54fr) minmax(140px, .64fr) !important;
  }
  .alva-modern-actions {
    grid-column: 1 / -1;
    justify-content: flex-end !important;
  }
}

@media (max-width: 1199.98px) {
  .alva-modern-coupon-card {
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
  }
  .alva-modern-coupon-main,
  .alva-modern-actions {
    grid-column: 1 / -1;
  }
  .alva-modern-actions {
    justify-content: stretch !important;
  }
  .alva-modern-detail-btn {
    width: 100% !important;
  }
}

@media (max-width: 767.98px) {
  .alva-page-hero {
    padding: 18px !important;
  }
  .alva-page-hero h1 {
    font-size: 1.55rem !important;
  }
  .alva-filter-card,
  .alva-results-card {
    border-radius: 20px !important;
  }
  .alva-modern-coupon-card {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
    gap: 10px !important;
  }
  .alva-modern-coupon-main {
    gap: 11px !important;
  }
  .alva-modern-avatar {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 15px !important;
  }
  .alva-modern-coupon-meta {
    display: grid !important;
    gap: 4px !important;
  }
  .alva-modern-coupon-meta > span::after,
  .alva-user-link::after {
    display: none !important;
  }
  .alva-modern-metric,
  .alva-modern-type-wrap {
    min-height: 0 !important;
    padding: 11px 12px !important;
  }
  .alva-mobile-label {
    display: block;
    color: var(--alva-muted);
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .055em;
  }
  .alva-coupon-detail-modal .modal-dialog {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
  }
  .alva-coupon-detail-modal .modal-content {
    min-height: 100vh !important;
    border-radius: 0 !important;
  }
  .alva-detail-overview,
  .alva-event-info-grid {
    grid-template-columns: 1fr !important;
  }
  .alva-event-card-head {
    flex-direction: column;
  }
  .alva-event-odd-box {
    width: 100%;
  }
  .alva-event-card-actions .btn {
    width: 100%;
  }
}
