body.glass-dashboard,
body.glass-admin {
  --ink: #eef5ff;
  --muted: #a9bdd8;
  --soft: #8fa6c4;
  --teal: #00c2c7;
  --blue: #4f8cff;
  --violet: #8b7bff;
  --amber: #ffb45c;
  --glass-fill: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.045));
  --glass-border: rgba(255,255,255,.16);
  --glass-shadow: 0 18px 44px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.18);
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--ink);
  background: radial-gradient(120% 100% at 18% 0%, #0c1b30 0%, #050a14 55%, #03060c 100%);
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.glass-dashboard *,
body.glass-admin * { box-sizing: border-box; }

body.glass-dashboard h1,
body.glass-dashboard h2,
body.glass-dashboard h3,
body.glass-dashboard h4,
body.glass-dashboard h5,
body.glass-admin h1,
body.glass-admin h2,
body.glass-admin h3,
body.glass-admin h4,
body.glass-admin h5 { color: var(--ink); }

body.glass-dashboard a,
body.glass-admin a { text-decoration: none; }

body.glass-dashboard .text-muted,
body.glass-admin .text-muted { color: var(--muted) !important; }

.glass-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.glass-bg .blob {
  position: absolute;
  display: block;
  border-radius: 50%;
  filter: blur(48px);
  opacity: .55;
}

.glass-bg .blob-a {
  width: 48vw;
  height: 48vw;
  min-width: 420px;
  min-height: 420px;
  left: -12vw;
  top: -16vw;
  background: radial-gradient(circle, rgba(0,194,199,.55), rgba(0,194,199,0) 68%);
}

.glass-bg .blob-b {
  width: 52vw;
  height: 52vw;
  min-width: 440px;
  min-height: 440px;
  right: -16vw;
  bottom: -22vw;
  background: radial-gradient(circle, rgba(79,140,255,.5), rgba(79,140,255,0) 68%);
}

.glass-bg .blob-c {
  width: 38vw;
  height: 38vw;
  min-width: 320px;
  min-height: 320px;
  left: 42%;
  top: 26%;
  background: radial-gradient(circle, rgba(139,123,255,.42), rgba(139,123,255,0) 68%);
}

.glass-bg .grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .35;
  -webkit-mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 78%);
  mask-image: radial-gradient(circle at 50% 30%, #000 0%, transparent 78%);
}

.glass-bg .grain {
  position: absolute;
  inset: 0;
  opacity: .035;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

@keyframes blob-a {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(8vw, 6vh, 0) scale(1.12); }
}

@keyframes blob-b {
  from { transform: translate3d(0,0,0) scale(1.05); }
  to { transform: translate3d(-7vw, -5vh, 0) scale(.95); }
}

@keyframes blob-c {
  from { transform: translate3d(-3vw, 2vh, 0) scale(.95); }
  to { transform: translate3d(5vw, -4vh, 0) scale(1.1); }
}

body.glass-dashboard .container-fluid,
body.glass-admin .admin-shell {
  position: relative;
  z-index: 1;
}

.glass-panel {
  position: relative;
  background: var(--glass-fill);
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
}

.glass-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,.55), rgba(255,255,255,.08) 38%, rgba(0,194,199,.28) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  opacity: .65;
  z-index: 0;
}

body.glass-dashboard .sidebar-custom {
  background: linear-gradient(180deg, rgba(9,15,27,.96), rgba(7,12,22,.92)) !important;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-right: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 0 !important;
  box-shadow: 18px 0 50px rgba(0,0,0,.28) !important;
  position: sticky;
  top: 0;
  align-self: flex-start;
  height: 100vh;
  overflow-y: auto;
  z-index: 3;
}

body.glass-dashboard .sidebar-custom .sidebar-header {
  border-bottom-color: rgba(255,255,255,.10) !important;
}

body.glass-dashboard .sidebar-custom .logo {
  filter: brightness(0) invert(1) drop-shadow(0 6px 16px rgba(0,0,0,.35));
}

body.glass-dashboard .sidebar-custom .nav-link {
  color: #c8d7eb !important;
  transition: background-color .14s ease, color .14s ease !important;
}

body.glass-dashboard .sidebar-custom .nav-link i {
  color: rgba(0,194,199,.9);
}

body.glass-dashboard .sidebar-custom .nav-link:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  transform: none !important;
}

body.glass-dashboard .sidebar-custom .nav-link.active {
  background: linear-gradient(135deg, rgba(0,194,199,.30), rgba(79,140,255,.20)) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 8px 20px rgba(0,0,0,.18);
}

body.glass-dashboard .main-content {
  padding: 1.25rem 1.4rem 2rem;
}

.glass-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1.1rem;
  border-radius: 20px;
  margin-bottom: 1rem;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: #f4f8ff;
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.brand-mark {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: #04121a;
  background: linear-gradient(135deg, #00c2c7, #4f8cff);
  box-shadow: 0 8px 20px rgba(0,194,199,.25), inset 0 1px 0 rgba(255,255,255,.4);
  font-size: .95rem;
}

.brand-lockup img {
  height: 34px;
  width: auto;
  filter: brightness(0) invert(1) drop-shadow(0 6px 14px rgba(0,0,0,.35));
}

.brand-lockup small {
  display: block;
  font-size: .58rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #7fe3e6;
  font-weight: 700;
  margin-top: .08rem;
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}

.role-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
  color: #c8d7eb;
  font-size: .78rem;
  font-weight: 600;
  white-space: nowrap;
}

.role-pill i { color: var(--teal); }

.dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.5rem 1.6rem;
  margin-bottom: 1rem;
  overflow: hidden;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: .45rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .68rem;
  font-weight: 800;
  color: #7fe3e6;
  margin: 0 0 .55rem;
}

.dashboard-hero h1 {
  font-size: clamp(1.55rem, 2.5vw, 2.15rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 800;
  margin: 0;
  color: #f7faff;
  max-width: 18ch;
}

.hero-sub {
  margin: .6rem 0 0;
  color: var(--muted);
  max-width: 62ch;
  font-size: .92rem;
  line-height: 1.55;
}

.hero-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .45rem;
  flex-shrink: 0;
}

.date-chip,
.status-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .38rem .68rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color: #c8d7eb;
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
}

.status-chip .dot {
  width: .42rem;
  height: .42rem;
  border-radius: 50%;
  background: #38e8a0;
  box-shadow: 0 0 0 3px rgba(56,232,160,.14);
}

.dashboard-hero::after {
  content: "";
  position: absolute;
  top: -40%;
  bottom: -40%;
  left: -20%;
  width: 36%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
  transform: rotate(8deg) translateX(-160%);
  display: none;
  pointer-events: none;
}

@keyframes hero-sweep {
  0%, 68% { transform: rotate(8deg) translateX(-160%); }
  100% { transform: rotate(8deg) translateX(520%); }
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .9rem;
  margin-bottom: 1rem;
}

.stat-card {
  display: flex;
  gap: .95rem;
  align-items: flex-start;
  padding: 1.15rem;
  min-height: 128px;
  transition: transform .18s cubic-bezier(.16,1,.3,1), box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.06));
  border-color: rgba(255,255,255,.26);
  box-shadow: 0 24px 52px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.28);
}

.stat-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: var(--accent, var(--teal));
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font-size: 1.05rem;
}

.stat-body { min-width: 0; }

.stat-label {
  display: block;
  font-size: .64rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  margin-bottom: .25rem;
}

.stat-number {
  display: block;
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.04em;
  color: #f8fbff;
  margin-bottom: .35rem;
}

.stat-hint {
  display: block;
  color: var(--soft);
  font-size: .74rem;
  line-height: 1.35;
}

.quick-actions {
  padding: 1.35rem 1.4rem;
}

.panel-title {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .95rem;
  font-size: 1.02rem;
  font-weight: 750;
  letter-spacing: -.01em;
  color: #f4f8ff;
}

.panel-title i { color: var(--teal); }

.action-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.glass-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.055);
  color: #eaf2ff;
  font-size: .82rem;
  font-weight: 650;
  line-height: 1;
  transition: transform .14s cubic-bezier(.16,1,.3,1), background .14s ease, border-color .14s ease, box-shadow .14s ease;
}

.glass-btn i { color: var(--teal); }

.glass-btn:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.26);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

.glass-btn-primary {
  background: linear-gradient(135deg, #00c2c7, #2f8cff);
  border-color: transparent;
  color: #04121a;
  box-shadow: 0 12px 26px rgba(0,194,199,.22);
}

.glass-btn-primary i { color: #04121a; }

.glass-btn-primary:hover {
  color: #04121a;
  background: linear-gradient(135deg, #23d6da, #4f9dff);
  box-shadow: 0 16px 32px rgba(0,194,199,.3);
}

.glass-btn-ghost { background: transparent; }
.glass-btn-ghost i { color: #9fb6d6; }

.security-note {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .95rem 1.1rem;
  margin-top: .9rem;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.5;
}

.security-note > i {
  color: var(--teal);
  font-size: 1rem;
  margin-top: .1rem;
}

.security-note strong { color: #eaf2ff; }

.security-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: .55rem;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  padding: .24rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.045);
  color: #c8d7eb;
  font-size: .66rem;
  font-weight: 600;
}

.chip i { color: var(--teal); }

.lower-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.5rem;
  padding: 1.35rem 1.4rem;
  margin-top: .9rem;
}

.lower-col h2 {
  margin-bottom: .8rem;
}

.lower-col p {
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.55;
  margin: 0 0 .9rem;
}

.status-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.status-list li {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: .75rem;
  align-items: center;
  padding: .55rem .7rem;
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .78rem;
  color: var(--muted);
}

.status-list strong {
  color: #eaf2ff;
  font-weight: 600;
}

.status-ok {
  color: #38e8a0;
  font-size: .66rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.glass-admin .admin-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.25rem 1rem 3rem;
}

body.glass-admin .admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1.1rem;
  margin-bottom: 1rem;
  border-radius: 20px;
}

.admin-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .65rem;
}

.admin-link {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .85rem .9rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  color: #eaf2ff;
  font-weight: 650;
  font-size: .82rem;
  transition: transform .14s cubic-bezier(.16,1,.3,1), background .14s ease, border-color .14s ease;
}

.admin-link i { color: var(--teal); }

.admin-link:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.24);
  color: #fff;
}

body.glass-dashboard a:focus-visible,
body.glass-dashboard button:focus-visible,
body.glass-admin a:focus-visible,
body.glass-admin button:focus-visible {
  outline: 2px solid #7fe3e6;
  outline-offset: 3px;
}

@media (max-width: 1199.98px) {
  .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 991.98px) {
  body.glass-dashboard .main-content { padding: 1rem; }
}

@media (max-width: 767.98px) {
  body.glass-dashboard .sidebar-custom {
    position: relative;
    align-self: stretch;
    height: auto;
    min-height: auto !important;
  }
  body.glass-dashboard .sidebar-custom .logo { max-width: 160px; }
  .dashboard-hero { align-items: flex-start; flex-direction: column; }
  .hero-meta { flex-direction: row; align-items: flex-start; flex-wrap: wrap; }
  .brand-lockup img { height: 30px; }
  .glass-nav { flex-wrap: wrap; }
  .admin-links { grid-template-columns: 1fr; }
  .lower-grid { grid-template-columns: 1fr; gap: 1.1rem; }
  body.glass-admin .admin-topbar { flex-wrap: wrap; }
}

@media (max-width: 575.98px) {
  .stats-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: auto; }
  .dashboard-hero h1 { max-width: none; }
  .action-grid { flex-direction: column; }
  .glass-btn { width: 100%; justify-content: center; }
  .role-pill { display: none; }
}

@media (max-width: 991.98px) {
  .glass-panel,
  body.glass-dashboard .glass-nav,
  body.glass-admin .admin-topbar,
  body.glass-dashboard .bg-white,
  body.glass-dashboard .form-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(10,18,32,.94) !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.glass-dashboard,
  body.glass-admin { background: #050a14; }
  .glass-bg { display: none; }
  .glass-panel,
  body.glass-dashboard .glass-nav,
  body.glass-dashboard .sidebar-custom,
  body.glass-admin .admin-topbar {
    background: #0b1424 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .glass-panel::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .glass-bg .blob { animation: none !important; }
  .dashboard-hero::after { animation: none !important; display: none; }
  .glass-panel,
  .stat-card,
  .glass-btn,
  .admin-link { transition: none !important; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass-panel,
  body.glass-dashboard .glass-nav,
  body.glass-dashboard .sidebar-custom,
  body.glass-admin .admin-topbar {
    background: rgba(10,18,32,.92) !important;
  }
}

body.glass-dashboard h2,
body.glass-dashboard h3 { color: var(--ink) !important; }

body.glass-dashboard .page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.2rem;
  margin-bottom: 1rem;
}

body.glass-dashboard .page-head h2 {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.glass-dashboard .page-sub {
  margin: .2rem 0 0;
  color: var(--muted);
  font-size: .82rem;
}

body.glass-dashboard .bg-white {
  background: var(--glass-fill) !important;
  border: 1px solid var(--glass-border);
  border-radius: 24px;
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  color: var(--ink);
}

body.glass-dashboard .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--ink);
  --bs-table-border-color: rgba(255,255,255,.09);
  --bs-table-striped-bg: rgba(255,255,255,.03);
  --bs-table-hover-bg: rgba(255,255,255,.06);
  color: var(--ink);
  margin-bottom: 0;
}

body.glass-dashboard .table > :not(caption) > * > * {
  background-color: transparent;
  color: var(--ink);
  border-color: rgba(255,255,255,.09);
  padding: .8rem .75rem;
}

body.glass-dashboard .table thead th {
  color: var(--muted);
  font-size: .66rem;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 700;
  border-bottom-color: rgba(255,255,255,.12);
  white-space: nowrap;
}

body.glass-dashboard .table tbody tr:hover > * {
  background-color: rgba(255,255,255,.045);
}

body.glass-dashboard .table > thead.table-light {
  --bs-table-bg: transparent;
}

body.glass-dashboard .table > thead.table-light > tr > th {
  background-color: transparent !important;
}

body.glass-dashboard .table code {
  color: #9fe8ea;
  background: rgba(0,194,199,.08);
  padding: .12rem .38rem;
  border-radius: 6px;
}

body.glass-dashboard .table .badge {
  font-weight: 600;
  padding: .35rem .55rem;
  border-radius: 999px;
}

body.glass-dashboard .dataTables_wrapper .dataTables_filter input,
body.glass-dashboard .dataTables_wrapper .dataTables_length select {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--ink);
  border-radius: 10px;
  padding: .35rem .55rem;
}

body.glass-dashboard .dataTables_wrapper .dataTables_filter input:focus,
body.glass-dashboard .dataTables_wrapper .dataTables_length select:focus {
  border-color: rgba(0,194,199,.55);
  box-shadow: 0 0 0 .2rem rgba(0,194,199,.12);
  outline: none;
}

body.glass-dashboard .dataTables_wrapper .dataTables_info,
body.glass-dashboard .dataTables_wrapper .dataTables_length,
body.glass-dashboard .dataTables_wrapper .dataTables_filter,
body.glass-dashboard .dataTables_wrapper .dataTables_paginate {
  color: var(--muted);
  font-size: .78rem;
}

body.glass-dashboard .page-link {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.12);
  color: var(--ink);
}

body.glass-dashboard .page-item.active .page-link {
  background: rgba(0,194,199,.22);
  border-color: rgba(0,194,199,.38);
  color: #fff;
}

body.glass-dashboard .page-item.disabled .page-link {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.06);
  color: #6f86a4;
}

body.glass-dashboard .form-control,
body.glass-dashboard .form-select {
  background-color: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--ink) !important;
  border-radius: 12px;
  padding: .6rem .75rem;
}

body.glass-dashboard .form-control:focus,
body.glass-dashboard .form-select:focus {
  background-color: rgba(255,255,255,.08) !important;
  border-color: rgba(0,194,199,.55);
  color: var(--ink) !important;
  box-shadow: 0 0 0 .2rem rgba(0,194,199,.14);
}

body.glass-dashboard .form-control:-webkit-autofill,
body.glass-dashboard .form-control:-webkit-autofill:hover,
body.glass-dashboard .form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink) !important;
  -webkit-box-shadow: 0 0 0 1000px #0d1728 inset !important;
  caret-color: var(--ink);
  transition: background-color 9999s ease-in-out 0s;
}

body.glass-dashboard .form-control::placeholder { color: #7f95b3; }

body.glass-dashboard .form-label {
  color: var(--muted);
  font-weight: 600;
  font-size: .82rem;
  margin-bottom: .4rem;
}

body.glass-dashboard .form-text { color: var(--soft); }

body.glass-dashboard .form-check-input {
  background-color: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.2);
}

body.glass-dashboard .form-check-input:checked {
  background-color: var(--teal);
  border-color: var(--teal);
}

body.glass-dashboard .form-control[type="file"]::file-selector-button {
  background: rgba(255,255,255,.08);
  color: var(--ink);
  border: 0;
  border-radius: 8px;
  padding: .35rem .6rem;
  margin-right: .6rem;
}

body.glass-dashboard .btn { border-radius: 999px; font-weight: 650; }

body.glass-dashboard .btn-primary,
body.glass-dashboard .btn-primary-custom,
body.glass-dashboard .btn-medical,
body.glass-dashboard .btn-turquoise,
body.glass-dashboard .btn-success {
  background: linear-gradient(135deg, #00c2c7, #2f8cff);
  border: 0;
  color: #04121a;
  box-shadow: 0 10px 24px rgba(0,194,199,.2);
}

body.glass-dashboard .btn-primary:hover,
body.glass-dashboard .btn-primary-custom:hover,
body.glass-dashboard .btn-medical:hover,
body.glass-dashboard .btn-turquoise:hover,
body.glass-dashboard .btn-success:hover {
  background: linear-gradient(135deg, #23d6da, #4f9dff);
  color: #04121a;
  transform: translateY(-2px);
}

body.glass-dashboard .btn-secondary,
body.glass-dashboard .btn-outline-secondary,
body.glass-dashboard .btn-outline-primary,
body.glass-dashboard .btn-outline-primary-custom {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.15);
  color: var(--ink);
}

body.glass-dashboard .btn-secondary:hover,
body.glass-dashboard .btn-outline-secondary:hover,
body.glass-dashboard .btn-outline-primary:hover,
body.glass-dashboard .btn-outline-primary-custom:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.26);
  color: #fff;
}

body.glass-dashboard .btn-danger,
body.glass-dashboard .btn-outline-danger {
  background: rgba(255,108,108,.1);
  border: 1px solid rgba(255,108,108,.3);
  color: #ffb3b3;
}

body.glass-dashboard .btn-danger:hover,
body.glass-dashboard .btn-outline-danger:hover {
  background: rgba(255,108,108,.18);
  color: #fff;
}

body.glass-dashboard .alert {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--ink);
}

body.glass-dashboard .alert-success {
  background: rgba(56,232,160,.10);
  border-color: rgba(56,232,160,.28);
  color: #c9ffe6;
}

body.glass-dashboard .alert-danger {
  background: rgba(255,108,108,.10);
  border-color: rgba(255,108,108,.28);
  color: #ffd1d1;
}

body.glass-dashboard .alert-info {
  background: rgba(79,140,255,.10);
  border-color: rgba(79,140,255,.28);
  color: #cfe0ff;
}

body.glass-dashboard .alert-warning {
  background: rgba(255,180,92,.10);
  border-color: rgba(255,180,92,.28);
  color: #ffe2bd;
}

body.glass-dashboard .btn-close { filter: invert(1) grayscale(1); opacity: .6; }

body.glass-dashboard .nav-tabs {
  border-bottom-color: rgba(255,255,255,.12);
  gap: .35rem;
}

body.glass-dashboard .nav-tabs .nav-link {
  color: var(--muted);
  border: 1px solid transparent;
  border-radius: 12px 12px 0 0;
  font-weight: 600;
  font-size: .82rem;
}

body.glass-dashboard .nav-tabs .nav-link:hover {
  color: #fff;
  border-color: rgba(255,255,255,.12);
}

body.glass-dashboard .nav-tabs .nav-link.active {
  color: #04121a;
  background: linear-gradient(135deg, #00c2c7, #2f8cff);
  border-color: transparent;
  font-weight: 700;
}

body.glass-dashboard .qr-preview {
  width: 54px;
  height: 54px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
  padding: 3px;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}

body.glass-dashboard .image-preview {
  width: 108px;
  height: 108px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
}

body.glass-dashboard .delete-image {
  position: absolute;
  top: -5px;
  right: -5px;
  background: #ff5d6c;
  color: #fff;
  border: 0;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  line-height: 1;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,.3);
}

body.glass-dashboard .form-card {
  background: var(--glass-fill) !important;
  border: 1px solid var(--glass-border);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  border-radius: 24px;
  color: var(--ink);
}

body.glass-dashboard .form-card h2,
body.glass-dashboard .form-card h3,
body.glass-dashboard .form-card h5 { color: var(--ink) !important; }

body.glass-dashboard .select2-container--default .select2-selection--single {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  height: auto;
  padding: .35rem .25rem;
}

body.glass-dashboard .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--ink);
  line-height: 1.6;
}

body.glass-dashboard .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
}

body.glass-dashboard .select2-dropdown {
  background: #0b1424;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--ink);
}

body.glass-dashboard .select2-container--default .select2-results__option--highlighted {
  background: rgba(0,194,199,.2);
  color: #fff;
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-selection {
  background-color: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: var(--ink) !important;
  border-radius: 12px;
  min-height: 44px;
  padding: .45rem .75rem;
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
  color: var(--ink) !important;
  padding: 0;
  line-height: 1.6;
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
  top: 50%;
  transform: translateY(-50%);
  right: .75rem;
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-dropdown {
  background: #0b1424;
  border: 1px solid rgba(255,255,255,.14);
  color: var(--ink);
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-results__option--highlighted {
  background: rgba(0,194,199,.2);
  color: #fff;
}

body.glass-dashboard .select2-container--bootstrap-5 .select2-search__field {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--ink);
  border-radius: 8px;
}

body.glass-auth { display: flex; align-items: center; justify-content: center; }

.auth-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1120px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 2rem 1rem;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}

.auth-visual {
  padding: clamp(1.5rem, 3vw, 2.4rem);
  overflow: hidden;
}

.auth-logo {
  width: min(260px, 80%);
  height: auto;
  margin-bottom: 1.4rem;
  filter: brightness(0) invert(1) drop-shadow(0 8px 22px rgba(0,0,0,.4));
}

.auth-visual h1 {
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 800;
  color: #f7faff;
  max-width: 16ch;
  margin: 0 0 .75rem;
}

.auth-visual-sub {
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.6;
  max-width: 46ch;
  margin: 0 0 1.1rem;
}

.auth-card { padding: clamp(1.4rem, 2.6vw, 2rem); }

.auth-card-brand {
  display: none;
  margin-bottom: 1.2rem;
}

.auth-card .eyebrow { margin-bottom: .5rem; }

.auth-card h2 {
  font-size: clamp(1.5rem, 2.2vw, 1.9rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: #f7faff !important;
  margin: 0 0 .4rem;
}

.auth-card-sub {
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.5;
  margin: 0 0 1.2rem;
}

.auth-card .form-control { padding: .7rem .85rem; }

.auth-submit {
  width: 100%;
  justify-content: center;
  padding: .72rem 1rem;
  font-size: .9rem;
}

.auth-inline-link {
  color: #9fc8ff;
  font-weight: 600;
  font-size: .8rem;
}

.auth-inline-link:hover { color: #fff; }

.auth-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  flex-wrap: wrap;
  font-size: .78rem;
  color: var(--muted);
  margin-top: .9rem;
}

.auth-links a { color: #9fc8ff; font-weight: 600; }
.auth-links a:hover { color: #fff; }

.auth-divider {
  display: flex;
  align-items: center;
  gap: .7rem;
  color: var(--soft);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin: 1.1rem 0;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.12);
}

.auth-footnote {
  margin: 1.1rem 0 0;
  padding-top: .9rem;
  border-top: 1px solid rgba(255,255,255,.09);
  color: var(--soft);
  font-size: .7rem;
  text-align: center;
}

.auth-footnote i { color: var(--teal); }

@media (max-width: 900px) {
  .auth-shell {
    grid-template-columns: 1fr;
    max-width: 520px;
    min-height: auto;
    padding: 1rem;
  }
  .auth-visual { display: none; }
  .auth-card-brand { display: flex; }
}

@media (max-width: 575.98px) {
  .auth-card { padding: 1.2rem; }
  .auth-links { flex-direction: column; align-items: flex-start; }
}

body.glass-dashboard .admin-form-panel {
  max-width: 720px;
  margin: 0 auto;
  padding: 1.5rem;
}

body.glass-dashboard .glass-btn-danger {
  background: rgba(255,108,108,.14);
  border-color: rgba(255,108,108,.34);
  color: #ffd1d1;
}

body.glass-dashboard .glass-btn-danger i { color: #ffb3b3; }

body.glass-dashboard .glass-btn-danger:hover {
  background: rgba(255,108,108,.24);
  border-color: rgba(255,108,108,.45);
  color: #fff;
}

body.glass-dashboard .qr-preview-lg {
  width: 120px;
  height: 120px;
}

body.glass-dashboard .detail-grid {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: .65rem 1rem;
  font-size: .86rem;
}

body.glass-dashboard .detail-grid dt {
  color: var(--muted);
  font-weight: 600;
}

body.glass-dashboard .detail-grid dd {
  margin: 0;
  color: var(--ink);
  word-break: break-word;
}

body.glass-dashboard .detail-grid .detail-full {
  grid-column: 1 / -1;
}

body.glass-dashboard pre {
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  padding: .75rem;
  color: #dbe9ff;
  font-size: .78rem;
  white-space: pre-wrap;
  word-break: break-word;
}

@media (max-width: 575.98px) {
  body.glass-dashboard .detail-grid { grid-template-columns: 1fr; gap: .2rem; }
  body.glass-dashboard .detail-grid dd { margin-bottom: .55rem; }
}

body.glass-dashboard .btn-outline-medical {
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.15);
  color: var(--ink);
}

body.glass-dashboard .btn-outline-medical:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.26);
  color: #fff;
}

body.glass-dashboard .btn-save {
  background: linear-gradient(135deg, #00c2c7, #2f8cff);
  border: 0;
  color: #04121a;
  box-shadow: 0 10px 24px rgba(0,194,199,.2);
}

body.glass-dashboard .btn-save:hover {
  background: linear-gradient(135deg, #23d6da, #4f9dff);
  color: #04121a;
  transform: translateY(-2px);
}

body.glass-dashboard .form-header {
  background: transparent !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
}

body.glass-dashboard .form-header h2 { color: var(--ink) !important; }
