/* ============================================================
   ProVisa Bangkok — Admin Portal Theme
   Modern Minimal: zinc neutrals + blue accent | Font: Inter
   ============================================================ */

/* ---- Base typography ---- */
body,
html,
button,
input,
select,
textarea {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ---- Top bar: white, hairline border ---- */
[data-css="topbar"] {
  background-color: #ffffff;
  border-bottom: 1px solid #e4e4e7;
}

/* ---- Sidebar: light, minimal ---- */
[data-css="sidebar"] {
  background-color: #ffffff;
  border-right: 1px solid #e4e4e7;
}

[data-css="sidebar-logo"] h1 {
  color: #09090b;
  font-weight: 700;
  letter-spacing: -0.02em;
}

[data-css="sidebar-logo"]:hover h1 {
  color: #2563eb;
}

[data-css="sidebar"] a {
  color: #52525b;
  text-decoration: none;
  border-radius: 8px;
  transition: background-color 0.12s ease, color 0.12s ease;
}

[data-css="sidebar"] a:hover {
  background-color: #f4f4f5;
  color: #18181b;
}

[data-css="sidebar"] a:hover .icon-box,
[data-css="sidebar"] a:hover .arrow-box {
  color: #18181b;
}

[data-css="sidebar"] label {
  color: #a1a1aa;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 10px;
}

[data-css="sidebar-footer"],
[data-css="sidebar-footer"] a {
  color: #a1a1aa;
}

/* ---- Content area ---- */
[data-css="app"] {
  background-color: #fafafa;
}

/* ---- Tables: subtle row hover ---- */
.adminjs_Table tbody tr:hover {
  background-color: #fafafa;
}

/* ============================================================
   Resource list tables — modern minimal
   Principles: micro headers, hairline horizontal dividers only,
   generous row height, quiet hover, edge padding.
   ============================================================ */

/* Kill the design-system's heavy left/right table borders */
table.adminjs_Table {
  border-left: none;
  border-right: none;
}

/* Header cells: micro uppercase labels */
table.adminjs_Table thead .adminjs_TableCell {
  padding: 10px 12px !important;
  border-top: none !important;
  border-bottom: 1px solid #e4e4e7 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #71717a !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  vertical-align: middle;
}

table.adminjs_Table thead .adminjs_TableCell,
table.adminjs_Table thead .adminjs_TableCell a,
table.adminjs_Table thead .adminjs_TableCell a * {
  color: #71717a;
  text-decoration: none;
}

table.adminjs_Table thead .adminjs_TableCell a:hover,
table.adminjs_Table thead .adminjs_TableCell a:hover * {
  color: #18181b;
}

/* Body cells: comfortable height, whisper dividers */
table.adminjs_Table tbody .adminjs_TableCell {
  padding: 14px 12px !important;
  border-top: none !important;
  border-bottom: 1px solid #f4f4f5 !important;
  font-size: 13px !important;
}

table.adminjs_Table tbody tr:last-child .adminjs_TableCell {
  border-bottom: none !important;
}

/* Edge breathing room */
table.adminjs_Table .adminjs_TableCell:first-child {
  padding-left: 24px !important;
}

table.adminjs_Table .adminjs_TableCell:last-child {
  padding-right: 24px !important;
}

/* Row interactions */
table.adminjs_Table tbody tr.adminjs_TableRow:not(.selected):hover {
  background-color: #fafafa;
}

table.adminjs_Table tbody tr.adminjs_TableRow.selected {
  background-color: rgba(37, 99, 235, 0.04);
}

/* Bulk-action checkbox alignment */
table.adminjs_Table input[type="checkbox"] {
  accent-color: #2563eb;
  cursor: pointer;
}

/* ---- Focus ring: blue glow ---- */
input:focus,
textarea:focus,
select:focus {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
  border-color: #2563eb !important;
}

/* ---- Primary buttons: white text on blue ---- */
button.adminjs_Button_Contained,
a.adminjs_Button_Contained {
  color: #ffffff !important;
}

/* ---- Scrollbars: neutral ---- */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: #d4d4d8;
  border-radius: 8px;
}
::-webkit-scrollbar-thumb:hover {
  background: #a1a1aa;
}

/* ---- Theme toggle button ---- */
.pb-theme-toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(113, 113, 122, 0.45);
  background: var(--pb-surface, #ffffff);
  color: #71717a;
  cursor: pointer;
  transition: all 0.15s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
.pb-theme-toggle:hover {
  color: #2563eb;
  border-color: #2563eb;
  transform: translateY(-1px);
}
.pb-theme-toggle:disabled {
  opacity: 0.5;
  cursor: wait;
}
