/* Tam Jai Studio — admin-only ornamental controls from the approved references.
   Presentation only. Every selector is scoped to body.page-admin. */
body.tamjai-v2.page-admin {
  --tj-admin-card-frame: url("/admin-card-frame.svg");
  --tj-admin-header-frame: url("/admin-header-frame.svg");
  --tj-admin-gold: #f4bd5c;
  --tj-admin-gold-hi: #fff0b3;
  --tj-admin-pink: #ff42ad;
  --tj-admin-violet: #9e3be7;
  --tj-admin-ink: rgba(12, 4, 18, .93);
}

/* Wide section headers: icon medallion, pink divider and geometric gold corners. */
body.tamjai-v2.page-admin .class-thxk:has(> h3) {
  position: relative !important;
  isolation: isolate;
  min-height: 92px;
  display: flex !important;
  align-items: center !important;
  padding: 18px 30px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 226, 151, .8) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(235, 61, 180, .2), transparent 28%),
    linear-gradient(105deg, rgba(39, 9, 45, .96), rgba(9, 3, 15, .94) 63%, rgba(43, 8, 35, .78)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 75, 177, .2), inset 0 0 38px rgba(179, 45, 206, .08), 0 16px 42px rgba(0,0,0,.5), 0 0 25px rgba(255,50,164,.18) !important;
}

body.tamjai-v2.page-admin .class-thxk:has(> h3)::before {
  content: "" !important;
  position: absolute !important;
  z-index: 4 !important;
  inset: -2px !important;
  pointer-events: none !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: var(--tj-admin-header-frame) center / 100% 100% no-repeat !important;
  filter: drop-shadow(0 0 5px rgba(255, 65, 174, .48)) !important;
}

body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3 {
  position: relative;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  gap: 30px;
  width: 100%;
  margin: 0 !important;
  color: #fff1dc !important;
  font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.75), 0 0 15px rgba(255,74,181,.18) !important;
}

body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3::after {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 78px;
  width: 3px;
  border-radius: 99px;
  background: linear-gradient(#ff95db, #f42da4, #9b39e4);
  box-shadow: 0 0 12px rgba(255,55,170,.72);
}

body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3 > i {
  order: 0;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 64px;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  border: 2px solid var(--tj-admin-gold-hi) !important;
  border-radius: 18px !important;
  color: #fff1b8 !important;
  background: radial-gradient(circle at 35% 25%, #ff68c3, #a72ad9 50%, #46115a 100%) !important;
  box-shadow: inset 0 0 0 3px rgba(255,69,177,.22), 0 0 20px rgba(255,54,170,.42), 0 9px 20px rgba(0,0,0,.34) !important;
  font-size: 1.7rem !important;
  filter: none !important;
}

/* Dashboard revenue cards. */
body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) {
  min-height: 112px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px;
  padding: 22px 20px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 75% 100%, rgba(244,42,161,.18), transparent 40%),
    linear-gradient(145deg, rgba(44,11,52,.94), rgba(11,4,18,.96)) !important;
}

body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) > h5,
body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) > p {
  position: relative;
  z-index: 2;
  margin: 0 !important;
  color: #fff5ed !important;
  font-weight: 650 !important;
  white-space: nowrap;
}

body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) > h5 {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 1rem !important;
}

body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) > p {
  font-size: 1rem !important;
  color: #ffe8ba !important;
}

body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) > h5 > i {
  display: inline-grid !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  border: 2px solid rgba(255, 228, 158, .92) !important;
  border-radius: 14px !important;
  color: #fff2bf !important;
  background: linear-gradient(145deg, #bc35db, #7e27c9 55%, #f23eab) !important;
  box-shadow: inset 0 0 0 2px rgba(255,92,194,.3), 0 0 18px rgba(244,53,174,.38) !important;
  filter: none !important;
}

/* Dashboard menu buttons become equal ornamental cards. */
body.tamjai-v2.page-admin .class-menu:has(> a) {
  position: relative !important;
  isolation: isolate;
  min-height: 164px;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid rgba(247, 190, 80, .82) !important;
  border-radius: 20px !important;
  outline: 1px solid rgba(255, 61, 173, .42) !important;
  outline-offset: -7px !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(232, 64, 192, .2), transparent 32%),
    radial-gradient(circle at 90% 100%, rgba(242, 39, 151, .14), transparent 35%),
    linear-gradient(145deg, rgba(40, 9, 47, .96), rgba(9, 3, 15, .97)) !important;
  box-shadow: inset 0 0 26px rgba(194,50,217,.08), 0 14px 34px rgba(0,0,0,.48), 0 0 20px rgba(255,51,166,.16) !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 5 !important;
  inset: -2px !important;
  width: auto !important;
  height: auto !important;
  pointer-events: none !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: var(--tj-admin-card-frame) center / 100% 100% no-repeat !important;
  opacity: .98 !important;
  filter: drop-shadow(0 0 5px rgba(255,58,170,.48)) !important;
  animation: none !important;
  transform: none !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a)::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 9px;
  pointer-events: none;
  border-radius: 14px;
  background:
    radial-gradient(circle at 16% 32%, rgba(255,114,196,.35) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 65%, rgba(255,105,190,.27) 0 3px, transparent 4px),
    linear-gradient(115deg, rgba(255,255,255,.045), transparent 45%);
}

body.tamjai-v2.page-admin .class-menu:has(> a) > a {
  position: relative;
  z-index: 2;
  display: grid !important;
  place-items: center !important;
  width: 100%;
  min-height: 160px;
  padding: 20px 16px !important;
  color: #fff4e7 !important;
  text-decoration: none !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a) > a > center {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  width: 100%;
}

body.tamjai-v2.page-admin .class-menu:has(> a) > a br { display: none; }

body.tamjai-v2.page-admin .class-menu:has(> a) > a i {
  display: inline-grid !important;
  place-items: center !important;
  width: 74px !important;
  height: 74px !important;
  margin: 0 !important;
  border: 2px solid var(--tj-admin-gold-hi) !important;
  border-radius: 50% !important;
  color: #fff0ba !important;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,129,211,.94), transparent 22%),
    linear-gradient(145deg, #c23ce4, #7e24c4 58%, #f038a6) !important;
  box-shadow: inset 0 0 0 4px rgba(255,75,184,.28), inset 0 0 18px rgba(255,255,255,.1), 0 0 0 4px rgba(119,37,156,.34), 0 0 23px rgba(246,53,174,.52), 0 10px 22px rgba(0,0,0,.38) !important;
  font-size: 1.85rem !important;
  line-height: 1 !important;
  filter: none !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a) > a h5 {
  margin: 0 !important;
  color: #fff4e8 !important;
  font-size: .98rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-wrap: balance;
  text-shadow: 0 2px 10px rgba(0,0,0,.82) !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a):hover {
  border-color: var(--tj-admin-gold-hi) !important;
  box-shadow: inset 0 0 30px rgba(219,56,230,.12), 0 16px 38px rgba(0,0,0,.5), 0 0 29px rgba(255,53,169,.32) !important;
  filter: brightness(1.075) saturate(1.05) !important;
  translate: none !important;
  transform: none !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a):hover::before {
  filter: drop-shadow(0 0 8px rgba(255,58,170,.78)) drop-shadow(0 0 3px rgba(255,226,145,.7)) !important;
}

body.tamjai-v2.page-admin .class-menu:has(> a) > a:focus-visible {
  outline: 3px solid #fff0ae !important;
  outline-offset: -8px !important;
  border-radius: 18px;
}

/* Compact action buttons inside tables, forms and modals. */
body.tamjai-v2.page-admin :is(
  .class-thxk .btn,
  .table .btn,
  .modal .btn:not(.btn-close),
  button.btn:not(.btn-close),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
) {
  border: 1px solid rgba(255, 226, 151, .92) !important;
  border-radius: 13px !important;
  color: #fff9f2 !important;
  background:
    radial-gradient(circle at 25% -40%, rgba(255,255,255,.3), transparent 38%),
    linear-gradient(112deg, #812bdc, #bb2fd9 44%, #ee369c 78%, #ec586a) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.28), inset 0 -3px 10px rgba(70,0,78,.24), 0 0 0 2px rgba(255,67,175,.18), 0 7px 18px rgba(0,0,0,.34), 0 0 16px rgba(247,49,166,.2) !important;
  font-weight: 650 !important;
  text-shadow: 0 1px 7px rgba(20,0,28,.72) !important;
  translate: none !important;
  transform: none !important;
}

body.tamjai-v2.page-admin :is(.btn-warning) {
  color: #341904 !important;
  background: linear-gradient(112deg, #d5902f, #f7ce67 58%, #ffe7a3) !important;
  text-shadow: 0 1px rgba(255,255,255,.45) !important;
}

body.tamjai-v2.page-admin :is(.btn-danger, .swal2-deny) {
  color: #fff8fa !important;
  background: linear-gradient(112deg, #8c204f, #d52f73 55%, #f05176) !important;
}

body.tamjai-v2.page-admin :is(.btn-success) {
  color: #fffbea !important;
  background: linear-gradient(112deg, #28594b, #398568 55%, #65a870) !important;
}

body.tamjai-v2.page-admin :is(.btn-dark, .btn-secondary, .swal2-cancel) {
  color: #fff6f0 !important;
  background: linear-gradient(145deg, #28122f, #09050e 68%, #1b0a1b) !important;
}

body.tamjai-v2.page-admin :is(
  .class-thxk .btn,
  .table .btn,
  .modal .btn:not(.btn-close),
  button.btn:not(.btn-close),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
):hover {
  filter: brightness(1.12) saturate(1.07) !important;
  border-color: var(--tj-admin-gold-hi) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.34), 0 0 0 2px rgba(255,222,143,.27), 0 9px 22px rgba(0,0,0,.36), 0 0 25px rgba(248,50,169,.4) !important;
  translate: none !important;
  transform: none !important;
}

body.tamjai-v2.page-admin :is(
  .class-thxk .btn,
  .table .btn,
  .modal .btn:not(.btn-close),
  button.btn:not(.btn-close),
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
):active {
  filter: brightness(.92) saturate(1.04) !important;
  translate: none !important;
  transform: none !important;
}

/* Admin navigation and dropdown controls. */
body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar {
  position: relative !important;
  z-index: 30 !important;
  margin: 0 auto 18px;
  padding: 10px 14px !important;
  overflow: visible !important;
  border: 1px solid rgba(247,191,83,.58);
  border-radius: 16px;
  background: rgba(10,4,15,.84) !important;
  box-shadow: inset 0 0 0 1px rgba(255,66,175,.15), 0 12px 30px rgba(0,0,0,.38);
  backdrop-filter: blur(16px) saturate(1.12);
}

/* Keep the admin menu orderly: five equal controls per row on desktop. */
body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar > .container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.tamjai-v2.page-admin #navbarNavAdmin {
  width: 100% !important;
  overflow: visible !important;
}

body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch !important;
  gap: 8px 10px;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav > .nav-item {
  position: relative;
  min-width: 0;
  width: 100%;
  margin: 0 !important;
}

body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav > .nav-item.dropdown {
  z-index: 31;
  overflow: visible !important;
}

body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .nav-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 9px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  color: #eaddec !important;
  background: transparent !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: nowrap;
}

body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .nav-link > i {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 20px;
  width: 20px;
  margin: 0 !important;
  color: #ffdca0 !important;
}

body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .dropdown-toggle::after {
  flex: 0 0 auto;
  margin-left: 2px !important;
}

body.tamjai-v2.page-admin #navbarNavAdmin .dropdown-menu {
  z-index: 1080 !important;
  min-width: 280px;
}

body.tamjai-v2.page-admin #navbarNavAdmin .dropdown-menu.show {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .nav-link:hover,
body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .nav-link.tj-active {
  border-color: rgba(255,224,150,.58) !important;
  color: #fff6ec !important;
  background: linear-gradient(112deg, rgba(124,39,209,.58), rgba(237,43,157,.58)) !important;
  box-shadow: inset 0 0 12px rgba(255,255,255,.06), 0 0 17px rgba(244,51,169,.2) !important;
  translate: none !important;
  transform: none !important;
}

body.tamjai-v2.page-admin .dropdown-menu {
  padding: 8px !important;
  border: 1px solid rgba(247,191,83,.52) !important;
  border-radius: 14px !important;
  background: rgba(9,3,14,.97) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.56), 0 0 20px rgba(245,50,167,.12) !important;
}

body.tamjai-v2.page-admin .dropdown-menu .dropdown-item {
  margin: 2px 0;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  color: #e8dbe9 !important;
  background: transparent !important;
}

body.tamjai-v2.page-admin .dropdown-menu .dropdown-item:hover {
  color: #fff5e8 !important;
  background: linear-gradient(90deg, rgba(129,42,211,.48), rgba(236,43,156,.2)) !important;
}

/* Switches are controls too, but their dimensions and behavior stay unchanged. */
body.tamjai-v2.page-admin .form-switch .form-check-input {
  border: 1px solid rgba(255,222,145,.65) !important;
  background-color: #1b0a20 !important;
  box-shadow: inset 0 0 8px rgba(0,0,0,.36), 0 0 10px rgba(245,50,167,.1) !important;
}

body.tamjai-v2.page-admin .form-switch .form-check-input:checked {
  border-color: #ffe29a !important;
  background-color: #db3397 !important;
  box-shadow: inset 0 0 8px rgba(255,255,255,.16), 0 0 14px rgba(246,51,170,.36) !important;
}

@media (max-width: 767.98px) {
  body.tamjai-v2.page-admin .class-thxk:has(> h3) { min-height: 80px; padding: 14px 18px !important; }
  body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3 { gap: 25px; font-size: 1.2rem !important; }
  body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3::after { left: 63px; }
  body.tamjai-v2.page-admin .class-thxk:has(> h3) > h3 > i { flex-basis: 52px; width: 52px !important; height: 52px !important; border-radius: 15px !important; font-size: 1.4rem !important; }
  body.tamjai-v2.page-admin .class-menu:has(> a) { min-height: 145px; }
  body.tamjai-v2.page-admin .class-menu:has(> a) > a { min-height: 141px; }
  body.tamjai-v2.page-admin .class-menu:has(> a) > a i { width: 64px !important; height: 64px !important; font-size: 1.6rem !important; }
  body.tamjai-v2.page-admin .class-menu:has(> h5):has(> p) { flex-wrap: wrap; gap: 9px 12px; }
}

@media (min-width: 992px) {
  body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .navbar-toggler {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar > .container {
    display: flex !important;
    flex-wrap: wrap;
  }

  body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .navbar-toggler {
    display: inline-grid !important;
    margin: 2px 0 !important;
  }

  body.tamjai-v2.page-admin #navbarNavAdmin {
    flex-basis: 100% !important;
    margin-top: 9px !important;
    padding: 9px 0 0 !important;
  }

  body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  body.tamjai-v2.page-admin .container-fluid.mt-2.p-0 > .navbar .nav-link {
    min-height: 46px;
    padding: 8px !important;
    white-space: normal;
  }
}

@media (max-width: 479.98px) {
  body.tamjai-v2.page-admin #navbarNavAdmin > .navbar-nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tamjai-v2.page-admin :is(.class-menu, .btn, button, input) { transition: none !important; }
}
