/* SITEWIDE BUTTON & SIDEBAR SPACING FIX | 2026-10-21
   Overrides only geometry/shadow: existing gradient and theme colors remain intact.
   Place last in <head> to override the earlier legacy 8/9px offset 3D shadows.
*/

/* Consistent hit targets and safe line-height on both buttons and anchor buttons. */
body .layout .btn,
body .layout button,
body .topbar .btn,
body .content-page .btn,
body .content-page button,
body .auth-wrap button,
body .auth-wrap .btn {
  box-sizing:border-box !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  min-height:40px;
  max-width:100%;
  line-height:1.35 !important;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Prevent the extruded blue shadow from visually joining adjacent buttons.
   Do not replace background colors: public design/theme selections keep working. */
body .layout .btn,
body .layout button {
  box-shadow:0 3px 11px rgba(49,92,255,.16) !important;
  transform:none !important;
  transition:filter .15s ease,box-shadow .15s ease !important;
}
body .layout .btn:hover,
body .layout button:hover { transform:none !important;filter:brightness(1.06); }
body .layout .btn:active,
body .layout button:active { transform:none !important;filter:brightness(.97); }
body .layout .danger,
body .layout .btn.danger,
body .layout button.danger,
body .layout .danger-btn { box-shadow:0 3px 11px rgba(185,28,28,.18) !important; }
body .layout button:disabled,
body .layout button[disabled] { opacity:.55;cursor:not-allowed;box-shadow:none!important;filter:none!important; }

/* Sidebar: real row gaps replace 3D shadow offsets, desktop and mobile. */
body .layout .sidebar {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  height:max-content !important;
}
body .layout .sidebar .side-title {
  display:block !important;
  flex:0 0 auto !important;
  margin:0 0 4px !important;
  min-width:0;
}
body .layout .sidebar .side-link {
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  gap:11px !important;
  margin:0 !important;
  padding:12px 13px !important;
  min-height:46px !important;
  width:100% !important;
  border-radius:13px !important;
  line-height:1.3 !important;
  overflow-wrap:anywhere;
  box-shadow:0 2px 8px rgba(15,23,42,.055) !important;
  transform:none !important;
}
body .layout .sidebar .side-link.active,
body .layout .sidebar .side-link:hover {
  box-shadow:0 3px 11px rgba(49,92,255,.14) !important;
  transform:none !important;
}
body .layout .sidebar .side-link.logout-link:hover {box-shadow:0 3px 11px rgba(185,28,28,.16) !important;}
body .layout .sidebar .side-ico {flex-shrink:0 !important;}
body .layout .sidebar .logout-link {margin-top:6px !important;}

/* Table markup and scroll container preserve genuine table-cell widths. */
body .layout .main {min-width:0 !important;max-width:100% !important;}
body .layout .responsive-table-scroll {
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  border-radius:16px;
  margin:10px 0 20px;
  padding-bottom:8px;
}
body .layout .responsive-table-scroll > table.table {min-width:660px;border-radius:12px;}
body .layout .responsive-table-scroll > .admin-withdrawals-table {min-width:950px;}
body .layout .table td.table-actions-cell {display:table-cell !important;vertical-align:top !important;min-width:180px;}
body .layout .table .table-action-group {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px 12px;
  min-width:0;
}
body .layout .table .table-action-group > form {
  display:inline-flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px 12px !important;
  margin:0 !important;
  max-width:100%;
}
body .layout .table .table-action-group > form > button,
body .layout .table .table-action-group > a.btn,
body .layout .table .admin-action-group button,
body .layout .table .admin-action-group a.btn {
  min-height:38px !important;
  padding:9px 13px !important;
  border-radius:10px !important;
  margin:0 !important;
  box-shadow:0 2px 7px rgba(49,92,255,.13) !important;
  white-space:nowrap;
}
body .layout .table .admin-actions-cell {min-width:230px !important;vertical-align:top !important;}
body .layout .table .admin-action-group {gap:14px !important;align-items:flex-start;}
body .layout .table .admin-row-actions {display:flex !important;flex-direction:column !important;gap:14px !important;margin:0 !important;}
body .layout .table .admin-row-buttons {display:flex !important;flex-wrap:wrap !important;gap:12px !important;}
body .layout .table .admin-row-buttons button {margin:0 !important;}
body .layout .table td:last-child > form:not(.admin-row-actions) {
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  max-width:100%;
  margin:4px 8px 8px 0 !important;
}
body .layout .table td:last-child > form:not(.admin-row-actions) button {margin:0 !important;}
body .layout .table .proof-link-form {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  min-width:180px;
  margin:7px 0 10px;
}
body .layout .table .proof-link-form .input {min-width:100px;flex:1 1 100px;width:auto;}

/* Standalone actions and inline forms get breathing room without affecting forms laid out as grids. */
body .layout .main > a.btn,
body .layout .panel > a.btn,
body .layout .lottery-mini > a.btn {margin:5px 10px 9px 0 !important;}
body .layout .lottery-mini > form[style*="display:inline"] {
  display:inline-flex !important;
  vertical-align:middle;
  margin:5px 10px 9px 0 !important;
}
body .layout .form {row-gap:16px;}
body .layout .form > button,
body .layout .form > .btn {justify-self:start;margin:2px 0 8px !important;}
body .layout .form > button + .btn {margin-top:2px !important;}

/* Auth and header controls on non-dashboard pages also should not visually merge. */
body:not(.home-faucet) .topbar nav {display:flex;gap:10px 15px;align-items:center;flex-wrap:wrap;}
body .topbar nav .btn.small {box-shadow:0 3px 12px rgba(49,92,255,.13) !important;transform:none !important;}
body .auth-wrap .auth-submit,body .auth-wrap .btn-3d {
  box-shadow:0 5px 16px rgba(49,92,255,.16) !important;
  transform:none !important;
}
body .layout a:focus-visible,body .layout button:focus-visible,
body .topbar a:focus-visible,body .topbar button:focus-visible {
  outline:3px solid #f59e0b !important;outline-offset:3px !important;
}

@media (max-width:980px) {
  body .layout .sidebar {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(175px,1fr)) !important;
    align-items:stretch !important;
    gap:10px !important;
    position:static !important;
    max-height:none !important;
  }
  body .layout .sidebar .side-title {grid-column:1/-1 !important;}
  body .layout .sidebar .side-link {height:100% !important;margin:0 !important;}
}
@media (max-width:600px) {
  body .layout .sidebar {grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr)) !important;gap:9px !important;}
  body .layout .sidebar .side-link {font-size:12.5px !important;padding:10px !important;min-height:44px !important;}
  body .layout .main > a.btn,body .layout .panel > a.btn {margin-bottom:12px!important;}
  body .layout .table .admin-row-buttons button {min-height:40px !important;}
}

/* Long page titles must not force a horizontal scrollbar on 320px phones. */
body .layout .main h1,body .layout .main h2 {
  max-width:100%;overflow-wrap:anywhere;line-height:1.2;
}
@media(max-width:600px){body .layout .main h1{font-size:clamp(23px,7.6vw,32px) !important;}}
