/**
 * Gaia SaleShop ? brand theme overrides
 * Link AFTER the Vite bundle CSS so tokens/overrides win without rebuilding JS.
 * User surfaces: claymorphism ? Admin (.admin-theme): neumorphism
 */

:root {
  /* Brand core (slate + teal ? not indigo/purple) */
  --gaia-slate-950: #020617;
  --gaia-slate-900: #0f172a;
  --gaia-slate-800: #1e293b;
  --gaia-slate-700: #334155;
  --gaia-slate-100: #f1f5f9;
  --gaia-slate-50: #f8fafc;
  --gaia-teal-700: #0f766e;
  --gaia-teal-600: #0d9488;
  --gaia-teal-500: #14b8a6;
  --gaia-teal-100: #ccfbf1;
  --gaia-teal-50: #f0fdfa;

  /* Status tokens */
  --gaia-status-pending: #d97706; /* amber */
  --gaia-status-pending-bg: #fffbeb;
  --gaia-status-pending-border: #fcd34d;
  --gaia-status-refund: #e11d48; /* rose */
  --gaia-status-refund-bg: #fff1f2;
  --gaia-status-refund-border: #fda4af;
  --gaia-status-ok: #059669; /* emerald */
  --gaia-status-ok-bg: #ecfdf5;
  --gaia-status-ok-border: #6ee7b7;

  /* Clay (user) */
  --gaia-clay-bg: #eef2f6;
  --gaia-clay-surface: #f7f9fc;
  --gaia-clay-shadow-out: 10px 10px 24px rgba(15, 23, 42, 0.08),
    -8px -8px 20px rgba(255, 255, 255, 0.9);
  --gaia-clay-shadow-soft: 6px 6px 16px rgba(15, 23, 42, 0.06),
    -4px -4px 12px rgba(255, 255, 255, 0.85);
  --gaia-clay-radius: 1.25rem;

  /* Admin surfaces ? soft card, ? ??? ?? */
  --gaia-neu-bg: #f1f5f9;
  --gaia-neu-surface: #ffffff;
  --gaia-neu-out: 0 1px 2px rgba(15, 23, 42, 0.06), 0 4px 12px rgba(15, 23, 42, 0.04);
  --gaia-neu-in: none;
  --gaia-neu-radius: 0.75rem;

  --gaia-focus-ring: 0 0 0 3px rgba(13, 148, 136, 0.35);
  --gaia-focus-ring-strong: 0 0 0 3px rgba(15, 23, 42, 0.28),
    0 0 0 6px rgba(13, 148, 136, 0.2);
}

/* -------------------------------------------------------------------------- */
/* Focus rings ? brand teal/slate instead of purple/default blue where possible */
/* -------------------------------------------------------------------------- */
:focus-visible {
  outline: none;
  box-shadow: var(--gaia-focus-ring);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: none;
  box-shadow: var(--gaia-focus-ring);
}

.admin-theme :focus-visible {
  box-shadow: var(--gaia-focus-ring-strong);
}

/* Soften Tailwind blue focus rings toward teal */
.focus\:ring-blue-500:focus,
.focus\:ring-2:focus,
input:focus.ring-2,
button:focus.ring-2 {
  --tw-ring-color: rgba(13, 148, 136, 0.45);
}

/* -------------------------------------------------------------------------- */
/* Public hero ? reduce indigo/purple vibe via class overrides                */
/* -------------------------------------------------------------------------- */
.border-indigo-900 {
  border-color: rgb(30 41 59) !important; /* slate-800 */
}

.from-indigo-600\/20 {
  --tw-gradient-from: rgb(13 148 136 / 0.18) !important;
  --tw-gradient-to: rgb(13 148 136 / 0) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

.bg-indigo-50,
.bg-indigo-50\/80 {
  background-color: rgb(240 253 250 / 0.85) !important; /* teal-50 */
}

.bg-indigo-100 {
  background-color: rgb(204 251 241) !important;
}

.text-indigo-600,
.text-indigo-700 {
  color: var(--gaia-teal-700) !important;
}

.text-indigo-100,
.text-indigo-300 {
  color: rgb(153 246 228) !important; /* teal-200-ish */
}

.bg-indigo-600 {
  background-color: var(--gaia-teal-600) !important;
}

.bg-indigo-400\/12,
.bg-indigo-400\/15 {
  background-color: rgb(45 212 191 / 0.14) !important;
}

/* -------------------------------------------------------------------------- */
/* User cards ? soft clay elevation                                           */
/* -------------------------------------------------------------------------- */
.min-h-screen.bg-\[\#fafbfc\] {
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(13, 148, 136, 0.08), transparent 50%),
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(15, 23, 42, 0.05), transparent 45%),
    var(--gaia-clay-bg) !important;
}

/* Common card shells in the storefront */
.rounded-2xl.bg-white,
.rounded-xl.bg-white,
.rounded-3xl.bg-white,
.bg-white.shadow-sm.rounded-2xl,
.bg-white.shadow.rounded-2xl {
  background: var(--gaia-clay-surface) !important;
  box-shadow: var(--gaia-clay-shadow-soft) !important;
  border-color: rgba(148, 163, 184, 0.25) !important;
}

.rounded-2xl.border.bg-white:hover,
.rounded-xl.border.bg-white:hover {
  box-shadow: var(--gaia-clay-shadow-out);
}

/* Primary CTAs: nudge blue-600 toward teal without breaking contrast */
.bg-blue-600 {
  background-color: var(--gaia-teal-600) !important;
}

.hover\:bg-blue-700:hover {
  background-color: var(--gaia-teal-700) !important;
}

.text-blue-600 {
  color: var(--gaia-teal-700) !important;
}

/* -------------------------------------------------------------------------- */
/* Status color helpers (optional class hooks + common badge tones)           */
/* -------------------------------------------------------------------------- */
.gaia-status-pending,
[data-status="pending"],
[data-status="????"],
[data-status="????"] {
  color: var(--gaia-status-pending) !important;
  background-color: var(--gaia-status-pending-bg) !important;
  border-color: var(--gaia-status-pending-border) !important;
}

.gaia-status-refund,
[data-status="refund"],
[data-status="??"],
[data-status="????"] {
  color: var(--gaia-status-refund) !important;
  background-color: var(--gaia-status-refund-bg) !important;
  border-color: var(--gaia-status-refund-border) !important;
}

.gaia-status-ok,
[data-status="ok"],
[data-status="approved"],
[data-status="??"],
[data-status="???"],
[data-status="??"] {
  color: var(--gaia-status-ok) !important;
  background-color: var(--gaia-status-ok-bg) !important;
  border-color: var(--gaia-status-ok-border) !important;
}

/* Soften violet role badges toward slate/teal */
.bg-violet-100,
.bg-purple-100 {
  background-color: var(--gaia-teal-100) !important;
}

.text-violet-700,
.text-violet-800,
.text-purple-700 {
  color: var(--gaia-slate-800) !important;
}

/* -------------------------------------------------------------------------- */
/* Admin ? neumorphic content + high-contrast dark sidebar                    */
/* -------------------------------------------------------------------------- */
.admin-theme {
  color-scheme: light !important;
  background: #f1f5f9 !important;
  color: var(--gaia-slate-900) !important;
}

.admin-theme .bg-gray-50,
.admin-theme .bg-slate-50 {
  background: var(--gaia-neu-bg) !important;
}

/* ?? ??? ?? ? inherit ??? ?? ??/??? ?? ??? ???? ?? */
.admin-theme main,
.admin-theme .admin-main {
  background: #f1f5f9 !important;
  color: var(--gaia-slate-900) !important;
}

.admin-theme header {
  color: var(--gaia-slate-900) !important;
}

.admin-theme .text-gray-400,
.admin-theme .text-gray-500,
.admin-theme .text-slate-400,
.admin-theme .text-slate-500 {
  color: #475569 !important; /* slate-600 ? WCAG ?? ?? */
}

.admin-theme .text-gray-600,
.admin-theme .text-slate-600 {
  color: #334155 !important; /* slate-700 */
}

.admin-theme .text-gray-700,
.admin-theme .text-slate-700,
.admin-theme .text-gray-800,
.admin-theme .text-slate-800 {
  color: #0f172a !important;
}

.admin-theme .bg-white,
.admin-theme .rounded-xl.bg-white,
.admin-theme .rounded-2xl.bg-white,
.admin-theme .rounded-lg.bg-white {
  background: #ffffff !important;
  box-shadow: var(--gaia-neu-out) !important;
  border-color: rgba(148, 163, 184, 0.35) !important;
  color: var(--gaia-slate-900) !important;
  filter: none !important;
}

/* ?????? ? ?? ??? ??, ? ??? ?? */
.admin-theme .fixed.inset-0 .bg-white,
.admin-theme .fixed.inset-0 [class*="max-w-"] {
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.35) !important;
  border: 1px solid #e2e8f0 !important;
}

.admin-theme .fixed.inset-0 input,
.admin-theme .fixed.inset-0 select,
.admin-theme .fixed.inset-0 textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !important;
  border: 1px solid #94a3b8 !important;
}

.admin-theme .fixed.inset-0 select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

.admin-theme .fixed.inset-0 label,
.admin-theme .fixed.inset-0 .text-gray-900,
.admin-theme .fixed.inset-0 .text-gray-800,
.admin-theme .fixed.inset-0 .text-gray-700,
.admin-theme .fixed.inset-0 .text-gray-600,
.admin-theme .fixed.inset-0 .text-gray-500,
.admin-theme .fixed.inset-0 h1,
.admin-theme .fixed.inset-0 h2,
.admin-theme .fixed.inset-0 h3,
.admin-theme .fixed.inset-0 p,
.admin-theme .fixed.inset-0 span,
.admin-theme .fixed.inset-0 td,
.admin-theme .fixed.inset-0 th {
  color: inherit;
}

.admin-theme .fixed.inset-0 .text-gray-900,
.admin-theme .fixed.inset-0 .text-gray-800,
.admin-theme .fixed.inset-0 .text-gray-700 {
  color: #0f172a !important;
}

.admin-theme .fixed.inset-0 .text-gray-600,
.admin-theme .fixed.inset-0 .text-gray-500 {
  color: #475569 !important;
}

.admin-theme .fixed.inset-0 .bg-gray-50,
.admin-theme .fixed.inset-0 .bg-slate-50 {
  background: #f8fafc !important;
  color: #0f172a !important;
}

/* ??? ???? ?? ? Tailwind dark: ??? ??? */
html.dark .admin-theme {
  color-scheme: light !important;
}

html.dark .admin-theme main,
html.dark .admin-theme .fixed.inset-0 {
  background-color: transparent;
  color: #0f172a !important;
}

html.dark .admin-theme input,
html.dark .admin-theme select,
html.dark .admin-theme textarea,
html.dark .admin-theme .fixed.inset-0 input,
html.dark .admin-theme .fixed.inset-0 select,
html.dark .admin-theme .fixed.inset-0 textarea {
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border-color: #94a3b8 !important;
  box-shadow: none !important;
}

html.dark .admin-theme select option {
  background: #ffffff !important;
  color: #0f172a !important;
}

html.dark .admin-theme .text-gray-900,
html.dark .admin-theme .text-gray-800,
html.dark .admin-theme .text-gray-700,
html.dark .admin-theme .text-slate-900,
html.dark .admin-theme .text-slate-800,
html.dark .admin-theme .text-slate-700,
html.dark .admin-theme .fixed.inset-0 .text-gray-900,
html.dark .admin-theme .fixed.inset-0 .text-gray-800,
html.dark .admin-theme .fixed.inset-0 .text-gray-700 {
  color: #0f172a !important;
}

html.dark .admin-theme .text-gray-600,
html.dark .admin-theme .text-gray-500,
html.dark .admin-theme .text-gray-400,
html.dark .admin-theme .text-slate-600,
html.dark .admin-theme .text-slate-500,
html.dark .admin-theme .text-slate-400 {
  color: #475569 !important;
}

html.dark .admin-theme .bg-white,
html.dark .admin-theme .fixed.inset-0 .bg-white {
  background: #ffffff !important;
  color: #0f172a !important;
}

html.dark .admin-theme [class*="bg-gray-50"],
html.dark .admin-theme [class*="bg-slate-50"] {
  background: #f8fafc !important;
}

html.dark .admin-theme .bg-gray-50,
html.dark .admin-theme .bg-slate-50 {
  background: #f1f5f9 !important;
}

/* Jodit ??? (???? ?? ??) */
html.dark .admin-theme .jodit-container,
html.dark .admin-theme .jodit-workplace,
html.dark .admin-theme .jodit-wysiwyg {
  background: #ffffff !important;
  color: #0f172a !important;
}

.admin-theme input,
.admin-theme select,
.admin-theme textarea {
  background: #f8fafc !important;
  color: var(--gaia-slate-900) !important;
  box-shadow: var(--gaia-neu-in) !important;
  border: 1px solid #94a3b8 !important;
}

.admin-theme input::placeholder,
.admin-theme textarea::placeholder {
  color: #64748b !important;
  opacity: 1;
}

/* ????: ?? ?? ?? ?? (?? ??? ???? ??) */
.admin-theme > aside,
.admin-theme aside.w-64,
.admin-theme aside.bg-slate-900,
.admin-theme .sidebar {
  background: #0f172a !important; /* slate-900 */
  color: #e2e8f0 !important; /* slate-200 ? ??? ?? ??? */
  box-shadow: none !important;
  border-right: 1px solid #1e293b !important;
}

.admin-theme > aside .text-slate-300,
.admin-theme aside.w-64 .text-slate-300,
.admin-theme > aside .text-slate-400,
.admin-theme aside.w-64 .text-slate-400,
.admin-theme > aside .text-gray-400,
.admin-theme aside.w-64 .text-gray-400,
.admin-theme > aside a,
.admin-theme aside.w-64 a,
.admin-theme > aside button,
.admin-theme aside.w-64 button,
.admin-theme > aside nav a,
.admin-theme aside.w-64 nav a,
.admin-theme > aside nav span,
.admin-theme aside.w-64 nav span,
.admin-theme > aside svg,
.admin-theme aside.w-64 svg {
  color: #e2e8f0 !important;
}

.admin-theme > aside a:hover,
.admin-theme aside.w-64 a:hover,
.admin-theme > aside button:hover,
.admin-theme aside.w-64 button:hover {
  background: #243044 !important;
  color: #ffffff !important;
}

.admin-theme > aside a:hover svg,
.admin-theme aside.w-64 a:hover svg,
.admin-theme > aside button:hover svg,
.admin-theme aside.w-64 button:hover svg {
  color: #5eead4 !important;
}

.admin-theme > aside a.bg-teal-600,
.admin-theme aside.w-64 a.bg-teal-600,
.admin-theme > aside a[class*="bg-teal-600"],
.admin-theme aside.w-64 a[class*="bg-teal-600"],
.admin-theme > aside a.bg-teal-600 span,
.admin-theme aside.w-64 a.bg-teal-600 span,
.admin-theme > aside a[class*="bg-teal-600"] span,
.admin-theme aside.w-64 a[class*="bg-teal-600"] span,
.admin-theme > aside a.bg-teal-600 svg,
.admin-theme aside.w-64 a.bg-teal-600 svg,
.admin-theme > aside a[class*="bg-teal-600"] svg,
.admin-theme aside.w-64 a[class*="bg-teal-600"] svg {
  background: #0f766e !important;
  color: #ffffff !important;
}

/* ?? ?? */
.admin-theme > aside a.bg-blue-600,
.admin-theme aside.w-64 a.bg-blue-600,
.admin-theme > aside a[class*="bg-blue-600"],
.admin-theme aside.w-64 a[class*="bg-blue-600"],
.admin-theme > aside .bg-blue-600,
.admin-theme aside.w-64 .bg-blue-600 {
  background: #0d9488 !important; /* teal-600 */
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(13, 148, 136, 0.35) !important;
}

.admin-theme > aside a.bg-blue-600 svg,
.admin-theme aside.w-64 a.bg-blue-600 svg,
.admin-theme > aside .bg-blue-600 svg,
.admin-theme aside.w-64 .bg-blue-600 svg {
  color: #ffffff !important;
}

.admin-theme > aside .border-slate-800,
.admin-theme aside.w-64 .border-slate-800,
.admin-theme > aside .border-b,
.admin-theme aside.w-64 .border-b,
.admin-theme > aside .border-t,
.admin-theme aside.w-64 .border-t {
  border-color: #1e293b !important;
}

.admin-theme > aside .text-white,
.admin-theme aside.w-64 .text-white,
.admin-theme > aside a.text-white,
.admin-theme aside.w-64 a.text-white {
  color: #ffffff !important;
}

.admin-theme > aside .text-blue-400,
.admin-theme aside.w-64 .text-blue-400 {
  color: #5eead4 !important; /* teal-300 */
}

/* ?? ? */
.admin-theme header.bg-white {
  background: #f8fafc !important;
  border-bottom: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}

.admin-theme header .text-gray-600,
.admin-theme header .text-gray-800 {
  color: #0f172a !important;
}

.admin-theme .bg-blue-600 {
  background-color: var(--gaia-teal-600) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.28) !important;
}

.admin-theme .hover\:bg-blue-700:hover {
  background-color: var(--gaia-teal-700) !important;
}

/* ??? ? ?? ??? ?? */
.admin-theme table {
  color: #0f172a !important;
}

.admin-theme table thead:not(.gaia-dark-thead),
.admin-theme thead.sticky:not(.gaia-dark-thead),
.admin-theme .sticky.top-0:not(.gaia-dark-thead) {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #f1f5f9 !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.12);
}

.admin-theme table thead:not(.gaia-dark-thead) th,
.admin-theme thead.sticky:not(.gaia-dark-thead) th {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* ????/??? ??? ??? ?? ? ?? ??? ?? ?? ?? */
.admin-theme table:not(.gaia-licenses-table):not(.gaia-sessions-table) th .text-blue-300 {
  color: #0f766e !important;
}

.admin-theme table td {
  color: #1e293b !important;
  border-color: #e2e8f0 !important;
}

.admin-theme table tbody tr:hover {
  background: #f8fafc !important;
}

/* Loading ??? index.html ????? "???? ?..."?? ?? */
@media (max-width: 768px) {
  .admin-theme {
    overflow-x: clip;
  }

  .admin-theme .overflow-x-auto,
  .admin-theme .overflow-auto,
  .admin-theme [class*="max-w-\[1480px\]"],
  .admin-theme table {
    -webkit-overflow-scrolling: touch;
  }

  .admin-theme .overflow-x-auto,
  .admin-theme .overflow-auto {
    margin-inline: -0.75rem;
    padding-inline: 0.75rem;
    max-width: 100vw;
  }

  .admin-theme table {
    min-width: 640px;
  }

  /* ????? ??? ???? ??: ?? ??? ?? ??? admin-ops ?? */
}

/* ??? ????? admin-theme ?? aside? ? ?? ?? ?? */
aside.w-64.bg-slate-900,
aside.bg-slate-900 {
  background: #0f172a !important;
  color: #e2e8f0 !important;
}

aside.bg-slate-900 a,
aside.bg-slate-900 button,
aside.bg-slate-900 .text-slate-300,
aside.bg-slate-900 svg {
  color: #e2e8f0 !important;
}

aside.bg-slate-900 a.bg-blue-600,
aside.bg-slate-900 .bg-blue-600 {
  background: #0d9488 !important;
  color: #fff !important;
}

aside.bg-slate-900 a.bg-blue-600 svg {
  color: #fff !important;
}

/* ??? ?? Loading... ??? (??? ?? ?? ?? ? ?? ???? ??) */
.admin-theme > div:only-child:not([class]) {
  color: #0f172a !important;
  font-weight: 600;
  padding: 2rem;
}

/* -------------------------------------------------------------------------- */
/* ?? ???/??? ?? (???? ????) ? ?? ?? ??              */
/* -------------------------------------------------------------------------- */
.admin-theme main .bg-slate-900,
.admin-theme main [class*="bg-slate-900"],
.admin-theme main [class*="from-slate-900"],
.admin-theme main [class*="via-slate-900"] {
  color: #f8fafc !important;
}

.admin-theme main .bg-slate-900 .text-white,
.admin-theme main [class*="bg-slate-900"] .text-white,
.admin-theme main [class*="from-slate-900"] .text-white,
.admin-theme main [class*="via-slate-900"] .text-white,
.admin-theme main .bg-slate-900 h1,
.admin-theme main .bg-slate-900 h2,
.admin-theme main .bg-slate-900 h3,
.admin-theme main [class*="from-slate-900"] h1,
.admin-theme main [class*="from-slate-900"] h2,
.admin-theme main [class*="from-slate-900"] a,
.admin-theme main [class*="via-slate-900"] a,
.admin-theme main .text-white,
.admin-theme main button.text-white,
.admin-theme main a.text-white {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.admin-theme main .bg-amber-500,
.admin-theme main button.bg-amber-500 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.admin-theme main .bg-blue-600,
.admin-theme main button.bg-blue-600,
.admin-theme main a.bg-blue-600 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.admin-theme main button.bg-blue-600:disabled,
.admin-theme main button.bg-blue-600[disabled] {
  background: #64748b !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.admin-theme main .bg-slate-900 .text-slate-300,
.admin-theme main [class*="bg-slate-900"] .text-slate-300 {
  color: #cbd5e1 !important;
}

.admin-theme main .bg-slate-900 .text-blue-100,
.admin-theme main [class*="bg-slate-900"] .text-blue-100 {
  color: #dbeafe !important;
}

.admin-theme main .bg-slate-900 .text-blue-400 {
  color: #93c5fd !important;
}

.admin-theme main .border-indigo-900.bg-slate-900 .shadow-md {
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.35) !important;
}

/* -------------------------------------------------------------------------- */
/* ?????? ?? ?? / ???                                            */
/* -------------------------------------------------------------------------- */
.admin-theme table td,
.admin-theme table th {
  vertical-align: middle;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.admin-theme .inline-flex.items-center.rounded-full:not([role="switch"]),
.admin-theme span.rounded-full[class*="px-"],
.admin-theme span[class*="rounded-full"][class*="py-0"] {
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap !important;
  flex-shrink: 0;
  max-width: max-content;
}

/* 자동저장 등 스위치: 배지 규칙에 잘리지 않도록 */
.admin-theme button[role="switch"] {
  overflow: visible !important;
  max-width: none !important;
  flex-shrink: 0 !important;
}

.admin-theme table td .text-xs.text-gray-500,
.admin-theme table td [class*="text-[11px]"],
.admin-theme table td time,
.admin-theme table td [class*="whitespace-nowrap"] {
  white-space: nowrap !important;
}

.admin-theme table .min-w-0 {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.admin-theme table .font-mono,
.admin-theme table [class*="font-mono"],
.admin-theme table td [class*="text-[11px]"].text-gray-500 {
  word-break: break-all;
  overflow-wrap: anywhere;
  hyphens: none;
}

.admin-theme table td .font-bold.text-gray-900,
.admin-theme table td .font-bold.text-sm {
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.35;
}

.admin-theme .overflow-x-auto {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-theme table:not(.gaia-fluid-table) {
  table-layout: auto;
  width: 100%;
}

/* -------------------------------------------------------------------------- */
/* ?? ?? ?? ? ??????? ??                                        */
/* -------------------------------------------------------------------------- */
.admin-theme .max-w-7xl [class*="grid-cols-[360px"] > .bg-white,
.admin-theme .max-w-7xl [class*="grid-cols-[360px"] > div.bg-white {
  border-radius: 1rem !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: var(--gaia-neu-out) !important;
}

.admin-theme .max-w-7xl label.border-dashed {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
  transition: border-color 0.15s, background 0.15s;
}

.admin-theme .max-w-7xl label.border-dashed:hover {
  border-color: var(--gaia-teal-600) !important;
  background: var(--gaia-teal-50) !important;
}

.admin-theme .max-w-7xl .divide-y > div.p-5 {
  transition: background 0.12s;
}

.admin-theme .max-w-7xl .divide-y > div.p-5:hover {
  background: rgba(13, 148, 136, 0.04) !important;
}

.admin-theme .max-w-7xl .h-2.bg-gray-100 .bg-blue-600 {
  background: linear-gradient(90deg, var(--gaia-teal-600), var(--gaia-teal-500)) !important;
}

/* -------------------------------------------------------------------------- */
/* ??? ??? ? ?? ? ?? + ?? ??                                        */
/* -------------------------------------------------------------------------- */
.admin-theme main {
  padding: 1.25rem 1.5rem !important;
}

.admin-theme main > div[class*="max-w-"],
.admin-theme main .mx-auto[class*="max-w-"],
.admin-theme main [class*="max-w-[1480px]"],
.admin-theme main [class*="max-w-[1560px]"],
.admin-theme main .max-w-7xl {
  max-width: none !important;
  width: 100% !important;
}

.admin-theme .overflow-x-auto,
.admin-theme .overflow-auto {
  overflow-x: auto;
  max-width: 100%;
}

.admin-theme table.gaia-fluid-table,
.admin-theme .gaia-table-shell table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse;
}

.admin-theme table.gaia-fluid-table td,
.admin-theme table.gaia-fluid-table th,
.admin-theme .gaia-table-shell table td,
.admin-theme .gaia-table-shell table th {
  padding: 0.625rem 0.75rem !important;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-theme table.gaia-fluid-table tbody tr:nth-child(even),
.admin-theme .gaia-table-shell table tbody tr:nth-child(even) {
  background: rgba(248, 250, 252, 0.92) !important;
}

.admin-theme table.gaia-fluid-table tbody tr:hover,
.admin-theme .gaia-table-shell table tbody tr:hover {
  background: rgba(13, 148, 136, 0.07) !important;
}

/* ???? ?? ? NO(??) ?? */
.admin-theme table.gaia-program-table col:nth-child(1),
.admin-theme table.gaia-program-table th:nth-child(1),
.admin-theme table.gaia-program-table td:nth-child(1) {
  width: 2.75rem !important;
  min-width: 2.75rem !important;
  max-width: 2.75rem !important;
  text-align: center !important;
  padding-inline: 0.35rem !important;
  font-size: 0.6875rem !important;
  color: #64748b !important;
}

.admin-theme table.gaia-program-table col:nth-child(2) { width: 19% !important; }
.admin-theme table.gaia-program-table col:nth-child(3) { width: 10% !important; }
.admin-theme table.gaia-program-table col:nth-child(4) { width: 7% !important; }
.admin-theme table.gaia-program-table col:nth-child(5) { width: 12% !important; }
.admin-theme table.gaia-program-table col:nth-child(6) { width: 12% !important; }
.admin-theme table.gaia-program-table col:nth-child(7) { width: 14% !important; }
.admin-theme table.gaia-program-table col:nth-child(8) { width: 10% !important; }
.admin-theme table.gaia-program-table col:nth-child(9) { width: 8% !important; }
.admin-theme table.gaia-program-table col:nth-child(10) { width: 7% !important; }

.admin-theme table.gaia-program-table td:nth-child(2) .font-bold,
.admin-theme table.gaia-program-table td:nth-child(2) [class*="font-bold"] {
  font-size: 0.8125rem !important;
  line-height: 1.35 !important;
}

/* ?? ?? */
.admin-theme table.gaia-requests-table col:nth-child(1) { width: 28% !important; }
.admin-theme table.gaia-requests-table col:nth-child(2) { width: 11% !important; }
.admin-theme table.gaia-requests-table col:nth-child(3) { width: 8% !important; }
.admin-theme table.gaia-requests-table col:nth-child(4) { width: 10% !important; }
.admin-theme table.gaia-requests-table col:nth-child(5) { width: 17% !important; }
.admin-theme table.gaia-requests-table col:nth-child(6) { width: 12% !important; }
.admin-theme table.gaia-requests-table col:nth-child(7) { width: 10% !important; }

/* ?????? */
.admin-theme table.gaia-useful-table col:nth-child(1) { width: 26% !important; }
.admin-theme table.gaia-useful-table col:nth-child(2) { width: 36% !important; }
.admin-theme table.gaia-useful-table col:nth-child(3) { width: 10% !important; }
.admin-theme table.gaia-useful-table col:nth-child(4) { width: 12% !important; }
.admin-theme table.gaia-useful-table col:nth-child(5) { width: 10% !important; }

.admin-theme table.gaia-useful-table td:nth-child(2) a,
.admin-theme table.gaia-useful-table td:nth-child(2) span {
  word-break: break-all;
}

/* ?? ? ????? ? + ?? ? ?? */
.admin-theme table.gaia-orders-table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  font-size: 0.72rem !important;
}

.admin-theme table.gaia-orders-table col:nth-child(1),
.admin-theme table.gaia-orders-table th:nth-child(1),
.admin-theme table.gaia-orders-table td:nth-child(1) {
  width: 2.4rem !important;
  min-width: 2.4rem !important;
  max-width: 2.4rem !important;
  text-align: center !important;
  padding-inline: 0.25rem !important;
  color: #64748b !important;
}

.admin-theme table.gaia-orders-table thead th {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-bottom: 1px solid #dbe4ee !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  white-space: nowrap;
  padding: 0.55rem 0.45rem !important;
}

.admin-theme table.gaia-orders-table tbody td {
  padding: 0.5rem 0.45rem !important;
  vertical-align: top !important;
  border-color: #eef2f7 !important;
  word-break: break-word;
}

.admin-theme table.gaia-orders-table tbody tr:nth-child(even) {
  background: #f8fafc !important;
}

.admin-theme table.gaia-orders-table tbody tr:hover {
  background: rgba(13, 148, 136, 0.07) !important;
}

.admin-theme table.gaia-orders-table .line-clamp-4 {
  -webkit-line-clamp: 3;
}

/* ?? ?? ? ?? ?? ?? */
.admin-theme .gaia-filter-panel,
html[data-gaia-page="orders"] .admin-theme .rounded-2xl.border.border-gray-200.bg-white.p-5.shadow-sm {
  background:
    linear-gradient(180deg, #f0fdfa 0%, #e8f8f5 100%) !important;
  border: 1px solid #99f6e4 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.85),
    0 10px 24px rgba(13, 148, 136, 0.06) !important;
}

.admin-theme .gaia-filter-panel > .mb-3,
.admin-theme .gaia-filter-panel [class*="mb-3"].flex {
  color: #0f766e !important;
}

.admin-theme .gaia-filter-panel label,
.admin-theme .gaia-filter-panel .text-xs.font-bold {
  color: #0f766e !important;
}

.admin-theme .gaia-filter-panel input,
.admin-theme .gaia-filter-panel select,
.admin-theme .gaia-filter-panel button:not(.gaia-filter-toggle):not(.bg-blue-600):not(.bg-slate-900):not(.bg-amber-500) {
  background: #ffffff !important;
  border-color: #a7f3d0 !important;
}

.admin-theme .gaia-filter-panel button.gaia-filter-toggle {
  background: #0f766e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: #0f766e !important;
}

.admin-theme .gaia-filter-panel input:focus,
.admin-theme .gaia-filter-panel select:focus {
  border-color: #14b8a6 !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.18) !important;
}

/* ?? ?? ?? (????/?? ?) */
.admin-theme .gaia-filter-bar {
  background: linear-gradient(180deg, #f0f9ff 0%, #eef6ff 100%) !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 1rem !important;
  padding: 0.75rem 0.9rem !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.05) !important;
}

.admin-theme .gaia-filter-bar input,
.admin-theme .gaia-filter-bar select {
  background: #fff !important;
  border-color: #bfdbfe !important;
}

/* ?? ?? ?? */
.admin-theme .gaia-orders-summary > div,
.admin-theme .gaia-stat-grid > div.bg-white,
.admin-theme .gaia-stat-grid > .bg-white,
.admin-theme .gaia-stat-grid > div {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: var(--gaia-neu-out) !important;
  position: relative;
  overflow: hidden;
}

.admin-theme .gaia-orders-summary > div::before,
.admin-theme .gaia-stat-grid > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #14b8a6, #0f766e);
}

.admin-theme .gaia-page-card {
  border-color: #e2e8f0 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04) !important;
}

/* ?? ??? ? */
html[data-gaia-page] .admin-theme .gaia-table-shell {
  border-radius: 0.9rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}

html[data-gaia-page] .admin-theme table.gaia-fluid-table thead th {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-bottom: 1px solid #dbe4ee !important;
  font-weight: 800 !important;
}

html[data-gaia-page] .admin-theme table.gaia-fluid-table tbody tr:nth-child(even) {
  background: #f8fafc !important;
}

html[data-gaia-page] .admin-theme table.gaia-fluid-table tbody tr:hover {
  background: rgba(13, 148, 136, 0.07) !important;
}

/* ??/??/??????/???? */
.admin-theme table.gaia-users-table,
.admin-theme table.gaia-notices-table,
.admin-theme table.gaia-useful-table,
.admin-theme table.gaia-requests-table,
.admin-theme table.gaia-program-table {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: fixed !important;
  font-size: 0.78rem !important;
}

.admin-theme table.gaia-users-table thead th,
.admin-theme table.gaia-notices-table thead th,
.admin-theme table.gaia-useful-table thead th,
.admin-theme table.gaia-requests-table thead th {
  padding: 0.55rem 0.6rem !important;
  font-size: 0.7rem !important;
}

.admin-theme table.gaia-users-table tbody td,
.admin-theme table.gaia-notices-table tbody td,
.admin-theme table.gaia-useful-table tbody td,
.admin-theme table.gaia-requests-table tbody td {
  padding: 0.55rem 0.6rem !important;
  vertical-align: top !important;
  word-break: break-word;
}

/* ???? ?? ? (?? ???) */
html[data-gaia-page="users"] .admin-theme .gaia-filter-panel,
html[data-gaia-page="users"] .admin-theme .rounded-2xl.border.border-gray-200.bg-white.p-4.shadow-sm {
  background: linear-gradient(180deg, #f0f9ff 0%, #eef6ff 100%) !important;
  border-color: #bfdbfe !important;
}

html[data-gaia-page="programs"] .admin-theme .gaia-filter-bar,
html[data-gaia-page="notices"] .admin-theme .gaia-filter-bar,
html[data-gaia-page="useful"] .admin-theme .gaia-filter-bar,
html[data-gaia-page="requests"] .admin-theme .gaia-filter-bar,
html[data-gaia-page="builds"] .admin-theme .gaia-filter-bar {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%) !important;
  border-color: #cbd5e1 !important;
}

html[data-gaia-page="licenses"] .admin-theme .gaia-filter-bar,
html[data-gaia-page="sessions"] .admin-theme .gaia-filter-bar {
  background: linear-gradient(180deg, #f0fdfa 0%, #ecfeff 100%) !important;
  border-color: #99f6e4 !important;
}

/* ?? ?? ? 2? ???? ??? */
html[data-gaia-page="builds"] .admin-theme [class*="grid-cols-[360px"],
html[data-gaia-page="builds"] .admin-theme [class*="grid-cols-[minmax"] {
  gap: 1rem !important;
}

html[data-gaia-page="builds"] .admin-theme .gaia-page-card {
  min-height: 0;
}

/* ?? ? */
html[data-gaia-page="settings"] .admin-theme section.rounded-3xl,
html[data-gaia-page="settings"] .admin-theme .rounded-3xl.border {
  background: #fff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04) !important;
}

html[data-gaia-page="settings"] .admin-theme form input,
html[data-gaia-page="settings"] .admin-theme form textarea,
html[data-gaia-page="settings"] .admin-theme form select {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

/* ???? ?? */
html[data-gaia-page="dashboard"] .admin-theme .gaia-stat-grid > div,
html[data-gaia-page="dashboard"] .admin-theme .gaia-page-card {
  border-radius: 1rem !important;
}

html[data-gaia-page="orders"] .admin-theme .gaia-table-shell {
  border-radius: 0.9rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}

html[data-gaia-page="orders"] .admin-theme main {
  padding-bottom: 2rem !important;
}

@media (max-width: 1100px) {
  .admin-theme table.gaia-orders-table,
  .admin-theme table.gaia-program-table,
  .admin-theme table.gaia-users-table,
  .admin-theme table.gaia-requests-table {
    min-width: 960px !important;
  }

  .admin-theme .gaia-table-shell {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* ???? ?? ? NO ?? + 8? ?? */
.admin-theme table.gaia-licenses-table col:nth-child(1),
.admin-theme table.gaia-licenses-table th:nth-child(1),
.admin-theme table.gaia-licenses-table td:nth-child(1) {
  width: 2.75rem !important;
  min-width: 2.75rem !important;
  max-width: 2.75rem !important;
  text-align: center !important;
  padding: 0.5rem 0.35rem !important;
  font-size: 0.6875rem !important;
  color: #64748b !important;
}

.admin-theme table.gaia-licenses-table col:nth-child(2) { width: 20% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(3) { width: 13% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(4) { width: 13% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(5) { width: 9% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(6) { width: 11% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(7) { width: 17% !important; }
.admin-theme table.gaia-licenses-table col:nth-child(8) { width: 12% !important; }

.admin-theme table.gaia-licenses-table td,
.admin-theme table.gaia-licenses-table tbody td {
  vertical-align: top !important;
  padding: 0.625rem 0.7rem !important;
  font-size: 0.75rem !important;
  line-height: 1.4 !important;
}

.admin-theme table.gaia-licenses-table thead th {
  padding: 0 !important;
  vertical-align: top !important;
}

.admin-theme table.gaia-licenses-table thead th button span {
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
  font-size: 0.75rem !important;
}

.admin-theme table.gaia-licenses-table thead th:first-child span {
  padding-inline: 0.25rem !important;
}

.admin-theme table.gaia-licenses-table code,
.admin-theme table.gaia-licenses-table .font-mono {
  font-size: 0.625rem !important;
  line-height: 1.35 !important;
}

/* ????/?? ??? ? ?? 2? ??? ??? ????? ?? ?? */
.admin-theme table.gaia-licenses-table,
.admin-theme table.gaia-sessions-table {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: fixed !important;
}

.admin-theme table.gaia-licenses-table thead th,
.admin-theme table.gaia-sessions-table thead th,
.admin-theme table.gaia-licenses-table thead th.gaia-light-th,
.admin-theme table.gaia-sessions-table thead th.gaia-light-th {
  background: #f8fafc !important;
  border-color: #dbe4ee !important;
  border-right: 1px solid #dbe4ee !important;
  border-bottom: 1px solid #dbe4ee !important;
  padding: 0 !important;
  vertical-align: top !important;
  height: auto !important;
}

.admin-theme table.gaia-licenses-table thead th:last-child,
.admin-theme table.gaia-sessions-table thead th:last-child {
  border-right: 0 !important;
}

.admin-theme table.gaia-licenses-table thead th > div,
.admin-theme table.gaia-sessions-table thead th > div,
.admin-theme table.gaia-licenses-table thead th > button,
.admin-theme table.gaia-sessions-table thead th > button {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 3.5rem !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.admin-theme table.gaia-licenses-table thead th span,
.admin-theme table.gaia-sessions-table thead th span,
.admin-theme table.gaia-licenses-table thead th [class*="bg-[#"],
.admin-theme table.gaia-sessions-table thead th [class*="bg-[#"] {
  background: transparent !important;
  border-color: transparent !important;
  color: inherit !important;
}

.admin-theme table.gaia-licenses-table thead th > div > span:first-child,
.admin-theme table.gaia-sessions-table thead th > div > span:first-child,
.admin-theme table.gaia-licenses-table thead th > button > span:first-child,
.admin-theme table.gaia-sessions-table thead th > button > span:first-child {
  flex: 1 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  min-height: 2rem !important;
  padding: 0.45rem 0.5rem !important;
  background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%) !important;
  color: #0f172a !important;
  border-bottom: 1px solid #dbe4ee !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.admin-theme table.gaia-licenses-table thead th > div > span:last-child,
.admin-theme table.gaia-sessions-table thead th > div > span:last-child,
.admin-theme table.gaia-licenses-table thead th > button > span:last-child,
.admin-theme table.gaia-sessions-table thead th > button > span:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 1.5rem !important;
  padding: 0.3rem 0.5rem !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.admin-theme table.gaia-licenses-table thead th svg,
.admin-theme table.gaia-sessions-table thead th svg {
  color: #94a3b8 !important;
  width: 12px !important;
  height: 12px !important;
}

.admin-theme table.gaia-licenses-table thead th button:hover > span:first-child,
.admin-theme table.gaia-sessions-table thead th button:hover > span:first-child {
  background: linear-gradient(180deg, #f0fdfa 0%, #ccfbf1 100%) !important;
  color: #0f766e !important;
}

.admin-theme table.gaia-licenses-table tbody tr,
.admin-theme table.gaia-sessions-table tbody tr {
  background: #ffffff !important;
}

.admin-theme table.gaia-licenses-table tbody tr:nth-child(even),
.admin-theme table.gaia-sessions-table tbody tr:nth-child(even) {
  background: #f8fafc !important;
}

.admin-theme table.gaia-licenses-table tbody tr:hover,
.admin-theme table.gaia-sessions-table tbody tr:hover {
  background: rgba(20, 184, 166, 0.08) !important;
}

.admin-theme table.gaia-licenses-table tbody tr td,
.admin-theme table.gaia-sessions-table tbody tr td {
  border-right: 1px solid #eef2f7 !important;
  border-bottom-color: #eef2f7 !important;
  vertical-align: top !important;
}

.admin-theme table.gaia-licenses-table tbody tr td:last-child,
.admin-theme table.gaia-sessions-table tbody tr td:last-child {
  border-right: 0 !important;
}

.admin-theme table.gaia-licenses-table tbody tr[class*="bg-[rgba(59,130,246"],
.admin-theme table.gaia-licenses-table tbody tr.bg-blue-50,
.admin-theme table.gaia-sessions-table tbody tr[class*="bg-[rgba(59,130,246"],
.admin-theme table.gaia-sessions-table tbody tr.bg-blue-50 {
  background: rgba(20, 184, 166, 0.14) !important;
  box-shadow: inset 3px 0 0 #0d9488;
}

.admin-theme table.gaia-licenses-table code {
  background: #f8fafc !important;
  border-color: #dbe4ee !important;
  color: #334155 !important;
}

.admin-theme table.gaia-licenses-table [class*="rounded-full"],
.admin-theme table.gaia-sessions-table [class*="rounded-full"],
.admin-theme table.gaia-licenses-table [class*="rounded"][class*="px-2"],
.admin-theme table.gaia-sessions-table [class*="rounded"][class*="px-2"] {
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  box-shadow: none !important;
}

/* ?? ?? ? ?? */
.admin-theme table.gaia-licenses-table [class*="bg-green"],
.admin-theme table.gaia-licenses-table [class*="bg-emerald"] {
  background: #ecfdf5 !important;
  color: #047857 !important;
}
.admin-theme table.gaia-licenses-table [class*="bg-red"],
.admin-theme table.gaia-licenses-table [class*="bg-rose"] {
  background: #fff1f2 !important;
  color: #be123c !important;
}
.admin-theme table.gaia-licenses-table [class*="bg-amber"],
.admin-theme table.gaia-licenses-table [class*="bg-yellow"] {
  background: #fffbeb !important;
  color: #b45309 !important;
}
.admin-theme table.gaia-licenses-table [class*="bg-indigo"],
.admin-theme table.gaia-licenses-table [class*="bg-blue-100"] {
  background: #f0fdfa !important;
  color: #0f766e !important;
}

/* ?? ?? ?? ?? ???: licenses ??? ?? ?? ?? ?? */
.admin-theme table thead th [class*="bg-[#132846]"],
.admin-theme table thead th [class*="bg-[#1b3354]"],
.admin-theme table thead th [class*="bg-[#173458]"] {
  background: transparent !important;
}

.admin-theme table.gaia-licenses-table thead th [class*="text-slate-50"],
.admin-theme table.gaia-sessions-table thead th [class*="text-slate-50"],
.admin-theme table.gaia-licenses-table thead th [class*="text-slate-300"],
.admin-theme table.gaia-sessions-table thead th [class*="text-slate-300"] {
  color: inherit !important;
}

/* data-gaia-page ? ?? ? ??? ?? ??? ????/?? ??? ?? ?? */
html[data-gaia-page="licenses"] .admin-theme table,
html[data-gaia-page="sessions"] .admin-theme table {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th,
html[data-gaia-page="sessions"] .admin-theme table thead th {
  background: #f8fafc !important;
  border-color: #dbe4ee !important;
  color: #0f172a !important;
  padding: 0 !important;
  vertical-align: top !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th [class*="bg-[#"],
html[data-gaia-page="sessions"] .admin-theme table thead th [class*="bg-[#"],
html[data-gaia-page="licenses"] .admin-theme table thead th [class*="bg-[#"] *,
html[data-gaia-page="sessions"] .admin-theme table thead th [class*="bg-[#"] * {
  background: transparent !important;
  border-color: #dbe4ee !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th > div > span:first-child,
html[data-gaia-page="licenses"] .admin-theme table thead th > button > span:first-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > div > span:first-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > button > span:first-child {
  background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%) !important;
  color: #0f172a !important;
  border-bottom: 1px solid #dbe4ee !important;
  min-height: 2rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-weight: 800 !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th > div > span:last-child,
html[data-gaia-page="licenses"] .admin-theme table thead th > button > span:last-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > div > span:last-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > button > span:last-child {
  background: #f1f5f9 !important;
  color: #64748b !important;
  min-height: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-weight: 700 !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th .text-slate-50,
html[data-gaia-page="licenses"] .admin-theme table thead th span.text-slate-50,
html[data-gaia-page="licenses"] .admin-theme table thead th .text-slate-300,
html[data-gaia-page="sessions"] .admin-theme table thead th .text-slate-50,
html[data-gaia-page="sessions"] .admin-theme table thead th .text-slate-300 {
  color: #0f172a !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead th > div > span:last-child,
html[data-gaia-page="licenses"] .admin-theme table thead th > button > span:last-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > div > span:last-child,
html[data-gaia-page="sessions"] .admin-theme table thead th > button > span:last-child,
html[data-gaia-page="licenses"] .admin-theme table thead th > div > span:last-child.text-slate-300,
html[data-gaia-page="licenses"] .admin-theme table thead th > button > span:last-child.text-slate-300 {
  color: #64748b !important;
}

html[data-gaia-page="licenses"] .admin-theme table thead,
html[data-gaia-page="sessions"] .admin-theme table thead {
  position: sticky;
  top: 0;
  z-index: 5;
}

html[data-gaia-page="licenses"] .admin-theme table tbody tr[class*="bg-[rgba(59,130,246"],
html[data-gaia-page="licenses"] .admin-theme table tbody tr.bg-blue-50 {
  background: rgba(20, 184, 166, 0.14) !important;
  box-shadow: inset 3px 0 0 #0d9488;
}

/* ???? ?? ? */
#gaia-license-tools {
  max-width: 100%;
}

@media (max-width: 900px) {
  html[data-gaia-page="licenses"] .admin-theme [class*="xl:grid-cols-[320px"],
  html[data-gaia-page="licenses"] .admin-theme [class*="xl:grid-cols-[minmax(0,1fr)_minmax(340px"],
  html[data-gaia-page="sessions"] .admin-theme [class*="xl:grid-cols-[320px"],
  html[data-gaia-page="sessions"] .admin-theme [class*="xl:grid-cols-[minmax(0,1fr)_minmax(340px"] {
    grid-template-columns: 1fr !important;
  }

  html[data-gaia-page="licenses"] #gaia-license-tools {
    width: 100%;
    margin: 8px 0 0 !important;
  }

  html[data-gaia-page="licenses"] .admin-theme table {
    min-width: 720px !important;
  }
}

/* ??? ?? ? 8? ?? */
.admin-theme table.gaia-sessions-table col:nth-child(1) { width: 10% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(2) { width: 15% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(3) { width: 13% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(4) { width: 17% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(5) { width: 9% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(6) { width: 13% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(7) { width: 14% !important; }
.admin-theme table.gaia-sessions-table col:nth-child(8) { width: 7% !important; }

.admin-theme table.gaia-sessions-table td,
.admin-theme table.gaia-sessions-table tbody td {
  vertical-align: top !important;
  padding: 0.625rem 0.7rem !important;
  font-size: 0.75rem !important;
  line-height: 1.4 !important;
}

/* ??????? ? ?? ?? ?? + ??? 2? ???? */
.admin-theme [class*="xl:grid-cols-[320px"],
.admin-theme [class*="xl:grid-cols-[minmax(0,1fr)_minmax(340px"] {
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr) !important;
  gap: 1rem !important;
  align-items: start;
}

@media (max-width: 1100px) {
  .admin-theme [class*="xl:grid-cols-[320px"],
  .admin-theme [class*="xl:grid-cols-[minmax(0,1fr)_minmax(340px"] {
    grid-template-columns: 1fr !important;
  }
}

.admin-theme table th:last-child,
.admin-theme table td:last-child {
  white-space: nowrap;
}

/* ?? ?? ? 2? ??? ?? ? ?? */
.admin-theme [class*="grid-cols-[360px"] {
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  gap: 1.25rem !important;
}

.admin-theme [class*="grid-cols-[360px"] > .bg-white,
.admin-theme [class*="grid-cols-[360px"] > div.bg-white {
  min-height: 420px;
}

.admin-theme [class*="grid-cols-[360px"] .divide-y > div.p-5 {
  padding: 1rem 1.125rem !important;
}

/* ?? ?? ?? ?? */
.admin-theme [class*="xl:grid-cols-[minmax(0,1.5fr)"] {
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.85fr) !important;
}

/* ??? ??? */
#gaia-admin-toast {
  position: fixed;
  right: 18px;
  bottom: 72px;
  z-index: 10050;
  max-width: min(360px, calc(100vw - 36px));
  padding: 12px 16px;
  border-radius: 12px;
  background: #0f172a;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.28);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
}

#gaia-admin-toast.show {
  opacity: 1;
  transform: none;
}

#gaia-admin-toast.err {
  background: #9f1239;
}

#gaia-ops-fab .gaia-pending-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.125rem;
  height: 1.125rem;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: #fbbf24;
  color: #78350f;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

/* -------------------------------------------------------------------------- */
/* ??(??????) ??? ??                                              */
/* -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  /* ?? ?? ?? (??? ??) */
  html[data-gaia-surface="store"] body,
  html:not([data-gaia-page]) body {
    overflow-x: clip;
  }

  html[data-gaia-surface="store"] .min-h-screen.bg-\[\#fafbfc\],
  .min-h-screen.bg-\[\#fafbfc\]:not(.admin-theme) {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) !important;
    overflow-x: clip;
  }

  /* ??? ?? blur ? ? ????? ???? ??/?? ?? ?? */
  .min-h-screen.bg-\[\#fafbfc\] .w-\[30rem\],
  .min-h-screen.bg-\[\#fafbfc\] .h-\[30rem\],
  .min-h-screen.bg-\[\#fafbfc\] [class*="w-[30rem]"],
  .min-h-screen.bg-\[\#fafbfc\] [class*="blur-3xl"] {
    width: 12rem !important;
    height: 12rem !important;
    opacity: 0.35 !important;
  }

  /* ?? ?? ? */
  header.sticky .border-b.border-gray-100.bg-gray-50\/50,
  header .bg-gray-50\/50 {
    font-size: 0.625rem !important;
  }

  header.sticky .container,
  header .container {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  /* ??/??? ?? ?? */
  header a img {
    max-height: 1.75rem !important;
  }

  /* ??? */
  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 {
    min-height: auto !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 .container {
    padding-top: 1.1rem !important;
    padding-bottom: 3.25rem !important;
    gap: 0.875rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 h1 {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: 1.35rem !important;
    line-height: 1.35 !important;
    letter-spacing: -0.02em !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
    max-width: 100% !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 a[href*="request"],
  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 a[href*="#/request"] {
    width: 100% !important;
    justify-content: center !important;
  }

  /* ?? ??: ?? ?? (?? ????? ?? ??) */
  .min-h-screen.bg-\[\#fafbfc\] main .grid.md\:grid-cols-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.65rem !important;
    overflow: visible !important;
    margin-top: -1.75rem !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 0 !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] main .grid.md\:grid-cols-3 > div {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* ?? ??? */
  .min-h-screen.bg-\[\#fafbfc\] main .grid.grid-cols-1,
  .min-h-screen.bg-\[\#fafbfc\] main .grid.sm\:grid-cols-2,
  .min-h-screen.bg-\[\#fafbfc\] main .grid[class*="sm:grid-cols-2"] {
    gap: 0.875rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] main .rounded-2xl,
  .min-h-screen.bg-\[\#fafbfc\] main .rounded-xl,
  .min-h-screen.bg-\[\#fafbfc\] main [class*="rounded-[2rem]"] {
    border-radius: 1rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] main h3,
  .min-h-screen.bg-\[\#fafbfc\] main .font-bold {
    word-break: keep-all;
  }

  /* ???? ?: ?? ??? ?? + ?? ??? */
  header [class*="scrollbar-hide"],
  nav [class*="scrollbar-hide"],
  .overflow-x-auto.whitespace-nowrap {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  /* ?? ??: ?? ?? ?? ?? truncate ?? */
  .min-h-screen.bg-\[\#fafbfc\] [class*="lg:grid-cols-[minmax"] .truncate,
  .min-h-screen.bg-\[\#fafbfc\] .bg-slate-900 .truncate,
  .min-h-screen.bg-\[\#fafbfc\] [class*="bg-slate-9"] .truncate {
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: unset !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] [class*="lg:grid-cols-[minmax"] {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] #program-detail {
    padding: 1.25rem !important;
    margin-top: 1.25rem !important;
    border-radius: 1.25rem !important;
  }

  /* ??/?? ?? ?? */
  .min-h-screen.bg-\[\#fafbfc\] .grid.grid-cols-2.gap-2 > button {
    min-height: 3.25rem;
  }

  /* ???/????/????? */
  .min-h-screen.bg-\[\#fafbfc\] form,
  .min-h-screen.bg-\[\#fafbfc\] input,
  .min-h-screen.bg-\[\#fafbfc\] select,
  .min-h-screen.bg-\[\#fafbfc\] textarea,
  html[data-gaia-surface="store"] input,
  html[data-gaia-surface="store"] select,
  html[data-gaia-surface="store"] textarea {
    font-size: 16px !important; /* iOS ?? ? ?? */
  }

  .min-h-screen.bg-\[\#fafbfc\] form {
    width: 100% !important;
    max-width: 100% !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] .max-w-md,
  .min-h-screen.bg-\[\#fafbfc\] .max-w-lg,
  .min-h-screen.bg-\[\#fafbfc\] .max-w-xl,
  .min-h-screen.bg-\[\#fafbfc\] .max-w-2xl {
    max-width: 100% !important;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  /* ????? ? */
  .min-h-screen.bg-\[\#fafbfc\] .flex.border-b.border-gray-200 button {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
    font-size: 0.8125rem !important;
  }

  /* ?? ?? ?? ? ?? */
  body.gaia-has-mobile-buy {
    padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  #gaia-mobile-buy-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10040;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
    background: rgba(248, 250, 252, 0.96);
    backdrop-filter: blur(12px);
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.12);
  }

  #gaia-mobile-buy-bar button,
  #gaia-mobile-buy-bar a {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    border-radius: 0.9rem;
    font-size: 0.875rem;
    font-weight: 800;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
  }

  #gaia-mobile-buy-bar .gaia-buy-cash {
    background: #2563eb;
    color: #fff;
  }

  #gaia-mobile-buy-bar .gaia-buy-card {
    background: linear-gradient(135deg, #0d9488, #0f766e);
    color: #fff;
  }
}

@media (min-width: 769px) {
  #gaia-mobile-buy-bar {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 h1 {
    font-size: 1.2rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] main .grid.md\:grid-cols-3 {
    margin-top: -1.25rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] .container,
  .min-h-screen.bg-\[\#fafbfc\] main.container {
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }

  .min-h-screen.bg-\[\#fafbfc\] > .relative.bg-slate-900 .container {
    padding-bottom: 2.75rem !important;
  }
}

/* -------------------------------------------------------------------------- */
/* ??? ??(????) ? ??? ???                                       */
/* -------------------------------------------------------------------------- */
footer.gaia-site-footer,
footer.bg-slate-950 {
  background: #0b1220 !important;
}

footer.gaia-site-footer .container,
footer.bg-slate-950 > .container {
  max-width: 80rem;
}

@media (max-width: 768px) {
  footer.gaia-site-footer,
  footer.bg-slate-950 {
    border-top-color: #1e293b !important;
  }

  footer.gaia-site-footer > .container,
  footer.bg-slate-950 > .container {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-left: 0.875rem !important;
    padding-right: 0.875rem !important;
  }

  /* 3? ?? ?? ? ??? ?? ?? */
  footer.gaia-site-footer > .container > .grid,
  footer.bg-slate-950 > .container > .grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }

  footer.gaia-site-footer [class*="rounded-[28px]"],
  footer.bg-slate-950 [class*="rounded-[28px]"] {
    border-radius: 0.85rem !important;
    padding: 0.75rem 0.85rem !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(148, 163, 184, 0.12) !important;
    backdrop-filter: none !important;
  }

  /* ??/??? ?? */
  footer.gaia-site-footer img.h-12,
  footer.bg-slate-950 img.h-12,
  footer.gaia-site-footer .h-12.w-12,
  footer.bg-slate-950 .h-12.w-12 {
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: 0.65rem !important;
    padding: 0.3rem !important;
    box-shadow: none !important;
    filter: none !important;
  }

  footer.gaia-site-footer .text-lg.font-bold,
  footer.bg-slate-950 .text-lg.font-bold {
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
  }

  footer.gaia-site-footer .text-sm.text-slate-400,
  footer.bg-slate-950 .text-sm.text-slate-400 {
    font-size: 0.7rem !important;
  }

  /* ?? ?? ?? */
  footer.gaia-site-footer p.mt-4,
  footer.bg-slate-950 p.mt-4.text-sm {
    margin-top: 0.5rem !important;
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
    color: #94a3b8 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  footer.gaia-site-footer p.mt-4.is-expanded,
  footer.bg-slate-950 p.mt-4.text-sm.is-expanded {
    -webkit-line-clamp: unset;
    display: block;
    overflow: visible;
  }

  /* ?? ?? */
  footer.gaia-site-footer .uppercase.tracking-\[0\.18em\],
  footer.bg-slate-950 [class*="tracking-[0.18em]"] {
    font-size: 0.65rem !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 0 !important;
  }

  footer.gaia-site-footer .mt-4.space-y-3,
  footer.bg-slate-950 .mt-4.space-y-3 {
    margin-top: 0.45rem !important;
    gap: 0.35rem !important;
  }

  footer.gaia-site-footer .mt-4.space-y-3 > div,
  footer.bg-slate-950 .mt-4.space-y-3 > div {
    gap: 0.5rem !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }

  /* ??? ? */
  footer.gaia-site-footer .mt-6.border-t,
  footer.bg-slate-950 .mt-6.border-t {
    margin-top: 0.65rem !important;
    padding-top: 0.55rem !important;
    font-size: 0.65rem !important;
  }

  /* ?? ?? ?? */
  .gaia-footer-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.45rem;
  }

  .gaia-footer-tools a,
  .gaia-footer-tools button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.85rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(15, 23, 42, 0.55);
    color: #e2e8f0;
    font-size: 0.68rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
  }

  .gaia-footer-tools a:active,
  .gaia-footer-tools button:active {
    background: rgba(13, 148, 136, 0.28);
  }
}

/* ?? ??? ? ??????? ?? */
.gaia-footer-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
}

.gaia-footer-tools a,
.gaia-footer-tools button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(15, 23, 42, 0.55);
  color: #e2e8f0;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
}

.gaia-footer-tools a:hover,
.gaia-footer-tools button:hover {
  background: rgba(13, 148, 136, 0.28);
}

@media (min-width: 769px) {
  footer.gaia-site-footer [class*="rounded-[28px]"],
  footer.bg-slate-950 [class*="rounded-[28px]"] {
    border-radius: 1.25rem !important;
    padding: 1.25rem !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  }
}

/* ? ?? ?? (???) */
#gaia-back-top {
  position: fixed;
  right: 14px;
  bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  z-index: 10030;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  border: 1px solid #cbd5e1;
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
}

#gaia-back-top.show {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

body.gaia-has-mobile-buy #gaia-back-top {
  bottom: calc(5.75rem + env(safe-area-inset-bottom, 0px));
}

html[data-gaia-surface="admin"] #gaia-back-top {
  display: none !important;
}

@media (min-width: 769px) {
  #gaia-back-top {
    bottom: 1.5rem;
    right: 1.25rem;
  }
}

/* -------------------------------------------------------------------------- */
/* 2026-07-24 ??? ??? ??/?? ?? ??                                   */
/* -------------------------------------------------------------------------- */
.admin-theme {
  overflow-x: visible !important;
}

.admin-theme .gaia-table-shell {
  overflow-x: auto !important;
  max-width: 100% !important;
  -webkit-overflow-scrolling: touch;
}

.admin-theme table.gaia-fluid-table,
.admin-theme .gaia-table-shell table {
  max-width: none !important;
}

.admin-theme table.gaia-fluid-table td,
.admin-theme table.gaia-fluid-table th,
.admin-theme .gaia-table-shell table td,
.admin-theme .gaia-table-shell table th {
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  word-break: break-word;
  vertical-align: top !important;
}

/* ??/?? ?? ?? ? ??? ?? */
/* ?? ?? ?? ?? ?? ? ?? ?? ???? ??? */
.admin-theme table.gaia-licenses-table thead th > div > span:first-child:not(:only-child),
.admin-theme table.gaia-licenses-table thead th > button > span:first-child:not(:only-child),
.admin-theme table.gaia-program-table thead th > div > span:first-child:not(:only-child),
.admin-theme table.gaia-program-table thead th > button > span:first-child:not(:only-child),
.admin-theme table.gaia-orders-table thead th > div > span:first-child:not(:only-child),
.admin-theme table.gaia-orders-table thead th > button > span:first-child:not(:only-child) {
  display: none !important;
}

.admin-theme table.gaia-licenses-table,
.admin-theme table.gaia-program-table,
.admin-theme table.gaia-sessions-table,
.admin-theme table.gaia-orders-table {
  min-width: 1280px !important;
  width: 100% !important;
  table-layout: fixed !important;
}

.admin-theme table.gaia-program-table {
  min-width: 1360px !important;
}

.admin-theme table.gaia-program-table col:nth-child(2) { width: 15% !important; }
.admin-theme table.gaia-program-table col:nth-child(7) { width: 15% !important; }
.admin-theme table.gaia-program-table col:nth-child(8) { width: 13% !important; }
.admin-theme table.gaia-program-table col:nth-child(9) { width: 10% !important; }
.admin-theme table.gaia-program-table col:nth-child(10) { width: 8% !important; }

.admin-theme table.gaia-program-table td [class*="rounded-full"],
.admin-theme table.gaia-program-table td [class*="rounded-md"],
.admin-theme table.gaia-program-table td [class*="rounded"][class*="px-"],
.admin-theme table.gaia-licenses-table td [class*="rounded-full"],
.admin-theme table.gaia-licenses-table td [class*="rounded-md"] {
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  display: inline-flex !important;
  align-items: center;
  margin: 0.1rem 0.15rem 0.1rem 0 !important;
}

.admin-theme table.gaia-program-table td:nth-child(7),
.admin-theme table.gaia-program-table td:nth-child(8),
.admin-theme table.gaia-licenses-table td:nth-child(5),
.admin-theme table.gaia-licenses-table td:nth-child(6),
.admin-theme table.gaia-licenses-table td:nth-child(7) {
  white-space: normal !important;
}

.admin-theme table.gaia-licenses-table code,
.admin-theme table.gaia-licenses-table .font-mono {
  white-space: nowrap !important;
  word-break: normal !important;
  font-size: 0.68rem !important;
}

.admin-theme table.gaia-licenses-table td:nth-child(8),
.admin-theme table.gaia-program-table td:last-child {
  white-space: nowrap !important;
}

/* 라이선스 장치(HWID) 컬럼: 긴 문자열 옆 컬럼 침범 방지 */
.admin-theme table.gaia-licenses-table td.gaia-license-device-cell,
.admin-theme table.gaia-licenses-table td:nth-child(7) {
  overflow: hidden !important;
  max-width: 0; /* table-layout:fixed 에서 셀 폭 강제 준수 */
}

.admin-theme table.gaia-licenses-table td.gaia-license-device-cell .gaia-hwid-text,
.admin-theme table.gaia-licenses-table td:nth-child(7) .gaia-hwid-text,
.admin-theme table.gaia-licenses-table td.gaia-license-device-cell [class*="text-[11px]"]:not([class*="rounded"]) {
  display: block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  overflow: hidden !important;
}

.admin-theme table.gaia-licenses-table td.gaia-license-device-cell > div {
  max-width: 100%;
  min-width: 0;
}

/* ?? ? ?? ?? ?? */
.admin-theme table.gaia-licenses-table td:nth-child(6) {
  font-variant-numeric: tabular-nums;
  line-height: 1.45 !important;
}

/* ???: ?? ?? ??/?? ?? ?? */
html[data-gaia-surface="store"] .min-h-screen.bg-\[\#fafbfc\] .truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[data-gaia-surface="store"] .min-h-screen.bg-\[\#fafbfc\] [class*="rounded-2xl"] h3,
html[data-gaia-surface="store"] .min-h-screen.bg-\[\#fafbfc\] [class*="rounded-xl"] h3 {
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: unset !important;
  line-height: 1.35 !important;
}

/* ??? ???: clip ?? ??? */
@media (max-width: 768px) {
  .admin-theme {
    overflow-x: visible !important;
  }

  .admin-theme table.gaia-licenses-table,
  .admin-theme table.gaia-program-table,
  .admin-theme table.gaia-sessions-table,
  .admin-theme table.gaia-orders-table {
    min-width: 980px !important;
  }
}


/* === v20260731a ???????? === */
.gaia-pay-actions {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
a.gaia-buy-card,
button.gaia-buy-cash {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  width: 100%;
  padding: 14px 16px;
  border-radius: 1.25rem;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
  box-sizing: border-box;
  font-family: Pretendard, "Apple SD Gothic Neo", sans-serif;
}
a.gaia-buy-card {
  color: #fff !important;
  background: linear-gradient(135deg, #0d9488, #0f766e);
  box-shadow: 0 8px 24px rgba(13, 148, 136, 0.28);
}
.gaia-pay-hint {
  margin: 0;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  color: #64748b;
  line-height: 1.45;
}
.gaia-license-masked {
  cursor: pointer;
  letter-spacing: 0.02em;
}
.gaia-approval-auto {
  background: #ecfdf5 !important;
  color: #047857 !important;
}
.gaia-approval-manual {
  background: #fff7ed !important;
  color: #c2410c !important;
}
.badge.dispute-badge,
.gaia-dispute-badge {
  background: #f3e8ff !important;
  color: #6b21a8 !important;
}
:focus-visible {
  outline: 3px solid rgba(13, 148, 136, 0.45);
  outline-offset: 2px;
}
img[loading="lazy"] {
  content-visibility: auto;
}
#gaia-store-search {
  width: min(420px, 92vw);
  margin: 12px auto;
  display: block;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #cbd5e1;
  font-size: 14px;
}
#gaia-store-retry {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 10060;
  padding: 12px 16px;
  border-radius: 12px;
  background: #0f172a;
  color: #fff;
  font-weight: 700;
  border: 0;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.28);
}
#gaia-program-toc {
  position: sticky;
  top: 72px;
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 16px;
}
#gaia-program-toc a {
  font-size: 12px;
  font-weight: 800;
  color: #0f766e;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(13, 148, 136, 0.08);
}
.gaia-sold-count {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}
html[data-gaia-surface="store"] [data-gaia-hero-slim] .gaia-hero-extra {
  display: none !important;
}
