/* =========================================================
   GrassFaucet Theme
   - User pages: dark blue background + white text
   - Admin pages: dark background, but white content panels with black text
   ========================================================= */


/* ---------- Theme variables ---------- */
:root{
  --gf-bg-top:#0b1220;
  --gf-bg-bottom:#081126;
  --gf-panel: rgba(15, 26, 51, 0.92);
  --gf-panel-border: rgba(31, 42, 74, 0.65);
  --gf-nav: #0b5ed7; /* blue top bar */
  --gf-nav-border: rgba(255,255,255,0.15);
}
/* ---------- User pages (dashboard/marketplace/inventory/lotto/profile/etc) ---------- */
body.user-page {
  background: linear-gradient(180deg, #0b1220 0%, #081126 100%) !important;
  color: #ffffff;
}

/* Wider layout: use the screen (fix “small centered dashboard”) */
body.user-page .container {
  width: min(1600px, calc(100% - 48px));
  max-width: none;
}
body.user-page .container-fluid {
  width: 100%;
  max-width: none;
  padding-left: 24px;
  padding-right: 24px;
}
/* Reduce “boxed inside boxed” feeling on large screens */
body.user-page .navbar .container {
  box-shadow: none;
  border: none;
  background: transparent;
}


body.user-page a,
body.user-page a:visited,
body.user-page a:hover { color: #ffffff; }

body.user-page .card,
body.user-page .panel,
body.user-page .box,
body.user-page .topbar,
body.user-page .navbar {
  background-color: var(--gf-nav) !important;
  color: #ffffff;
  border: 1px solid var(--gf-nav-border);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
  border-radius: 12px;
}

body.user-page .text-dark,
body.user-page .text-muted,
body.user-page .text-secondary { color: rgba(255,255,255,0.90); }

/* Make common “muted” helper text readable on dark backgrounds */
body.user-page small,
body.user-page .small,
body.user-page .muted,
body.user-page .hint { color: rgba(255,255,255,0.72); }

body.user-page input,
body.user-page textarea,
body.user-page select {
  background-color: #0f1a33;
  color: #ffffff;
  border-color: #1f2a4a;
}

body.user-page input:focus,
body.user-page textarea:focus,
body.user-page select:focus {
  outline: none;
  border-color: rgba(78, 156, 255, 0.85);
  box-shadow: 0 0 0 0.2rem rgba(78, 156, 255, 0.15);
}

body.user-page input::placeholder,
body.user-page textarea::placeholder { color: rgba(255,255,255,0.65); }

/* Tables: remove “white table” look (dashboard payouts / leaderboards) */
body.user-page table,
body.user-page .table {
  background-color: rgba(15, 26, 51, 0.92);
  color: #ffffff;
}
body.user-page th,
body.user-page td {
  color: #ffffff;
  border-color: rgba(31, 42, 74, 0.75);
  /* Kill the default white cell background from Bootstrap tables */
  background-color: transparent !important;
}
body.user-page thead th {
  background-color: rgba(11, 18, 32, 0.55);
}

/* Fix bootstrap “white/light” utility classes on user pages */
body.user-page .bg-white,
body.user-page .bg-light,
body.user-page .table-light,
body.user-page .table-white,
body.user-page .alert-light {
  background-color: rgba(15, 26, 51, 0.92) !important;
  color: #ffffff !important;
}

body.user-page .alert,
body.user-page .alert-secondary,
body.user-page .alert-warning,
body.user-page .alert-light,
body.user-page .alert-success,
body.user-page .alert-danger,
body.user-page .alert-info {
  background-color: #0f1a33;
  color: #ffffff;
  border-color: #1f2a4a;
}

/* Chat box / misc white boxes */
body.user-page .chat-box,
body.user-page .chat-messages,
body.user-page .message-box {
  background-color: rgba(15, 26, 51, 0.92);
  color: #ffffff;
}

/* Keep status badge colors readable */
body.user-page .badge { color: #ffffff; }

/* ---------- Admin pages ---------- */
body.admin-page {
  background: #0b1220;
  color: #ffffff;
}

/* White panels/cards inside admin */
body.admin-page .card,
body.admin-page .panel,
body.admin-page .box,
body.admin-page .container,
body.admin-page .container-fluid,
body.admin-page .table,
body.admin-page table {
  background-color: #ffffff;
  color: #000000;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}

/* Some admin pages use bg-black classes; force them back to white panels */
body.admin-page .bg-black {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* Make outline-light buttons readable on white panels */
body.admin-page .btn-outline-light {
  color: #0b1220;
  border-color: rgba(11,18,32,0.55);
}
body.admin-page .btn-outline-light:hover {
  background-color: #0b1220;
  color: #ffffff;
}

/* Ensure table text is black on white */
body.admin-page table th,
body.admin-page table td,
body.admin-page label,
body.admin-page .text-dark,
body.admin-page .text-muted,
body.admin-page .text-secondary,
body.admin-page small {
  color: #000000;
}

body.admin-page input,
body.admin-page textarea,
body.admin-page select {
  background-color: #ffffff;
  color: #000000;
  border-color: #cfd6e3;
}

body.admin-page a,
body.admin-page a:visited,
body.admin-page a:hover { color: #0b2bbd; }
/* ===== Patch 116: visibility + dark UI polish (scoped, no !important) ===== */

body.user-page {
  background: linear-gradient(180deg, #0b1220 0%, #081126 100%) !important;
  color: #ffffff;
}

body.user-page .gf-adbar {
  background: rgba(15, 26, 51, 0.85);
}

/* Text + muted */
body.user-page, body.user-page * {
  color: #ffffff;
}

body.user-page .text-muted,
body.user-page .text-secondary,
body.user-page small {
  color: rgba(255, 255, 255, 0.72);
}

/* Inputs */
body.user-page input,
body.user-page textarea,
body.user-page select,
body.user-page .form-control,
body.user-page .form-select {
  background-color: #0f1a33;
  color: #ffffff;
  border-color: rgba(255,255,255,0.12);
}

body.user-page input::placeholder,
body.user-page textarea::placeholder {
  color: rgba(255,255,255,0.55);
}

/* Dropdown menus */
body.user-page .dropdown-menu {
  background-color: #0f1a33;
  border-color: rgba(255,255,255,0.12);
}

body.user-page .dropdown-item {
  color: #ffffff;
}

body.user-page .dropdown-item:hover,
body.user-page .dropdown-item:focus {
  background-color: rgba(27, 42, 82, 0.65);
}

/* Cards */
body.user-page .card {
  background-color: #0f1a33;
  border-color: rgba(255,255,255,0.08);
}

/* Tables */
body.user-page table,
body.user-page th,
body.user-page td {
  color: #ffffff;
}

body.user-page .table,
body.user-page .table th,
body.user-page .table td {
  border-color: rgba(255,255,255,0.12);
}

/* Marketplace listings: list-group */
body.user-page .list-group-item {
  background-color: rgba(15, 26, 51, 0.65);
  border-color: rgba(255,255,255,0.10);
  color: #ffffff;
}

/* Alerts (no gray/yellow boxes) */
body.user-page .alert {
  background-color: rgba(15, 26, 51, 0.70);
  border-color: rgba(255,255,255,0.12);
  color: #ffffff;
}

/* ===============================
   PATCH 118: FORCE WHITE TEXT
   =============================== */
html, body { color: #ffffff !important; }
body * { color: #ffffff !important; }

a, a:visited { color: #60a5fa !important; }
a:hover { color: #93c5fd !important; }

input, textarea, select, option, optgroup {
  color: #ffffff !important;
  background-color: #0f172a !important;
  border-color: #334155 !important;
}

::placeholder { color: #94a3b8 !important; opacity: 1 !important; }

.text-muted, .text-secondary, .text-dark, .text-body, .text-black, .text-black-50 {
  color: #ffffff !important;
}

table, th, td, thead th, tbody td { color: #ffffff !important; }


/* ===============================
   PATCH118c: FORCE WHITE TEXT EVERYWHERE (incl. admin)
   =============================== */
html, body {
  color: #ffffff !important;
  background-color: #0b1220 !important;
}

/* If admin pages use a wrapper class */
.admin-page, .admin-page * ,
.admin, .admin * ,
.admin-shell, .admin-shell * {
  color: #ffffff !important;
}

/* Kill bootstrap background utilities that make text unreadable */
.bg-white, .bg-light, .bg-body, .bg-body-tertiary, .bg-body-secondary, .table-light, .table-white {
  background-color: #0f172a !important;
}

/* Cards / modals / dropdowns should stay dark */
.card, .card-body, .modal-content, .dropdown-menu {
  background-color: #0f172a !important;
  color: #ffffff !important;
}

/* Buttons text */
.btn, .btn * {
  color: #ffffff !important;
}

/* Alerts */
.alert, .alert * {
  color: #ffffff !important;
}

/* Navbar items */
.navbar, .navbar * , .nav, .nav * {
  color: #ffffff !important;
}

/* Table hover/striped compatibility */
.table, .table * {
  color: #ffffff !important;
}


/* PATCH120: wider app shell + marketplace empty state */
.page-wrap{ max-width: 1800px !important; width:100% !important; }
.market-empty{ background: rgba(15,23,42,0.55) !important; border: 1px solid rgba(255,255,255,0.10) !important; }
.market-empty .text-muted{ color: rgba(255,255,255,0.75) !important; }

/* =========================================
   PATCH 121 — VISIBILITY (NO INVISIBLE TEXT)
   ========================================= */

/* Ensure "muted" text is still readable on dark backgrounds */
.text-muted,
.text-secondary,
small, .small,
.form-text,
.card-subtitle,
.help-text,
.hint,
label,
.table-caption {
  color: #cbd5e1 !important;
  opacity: 1 !important;
}

/* Some components use low-opacity overlays */
.opacity-50, .opacity-25, .opacity-10 {
  opacity: 1 !important;
}

/* Ensure table borders/text stay visible */
table, thead, tbody, tfoot, tr, th, td {
  color: #ffffff !important;
}

/* Quest cards: force all inner text to visible gray/white */
.quests, .quests *,
.quest, .quest *,
.quest-card, .quest-card *,
.quest-item, .quest-item * {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Inputs/select text and placeholders */
input, textarea, select {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
input::placeholder, textarea::placeholder {
  color: #94a3b8 !important;
  opacity: 1 !important;
}

/* Dropdown menus */
.dropdown-menu, .dropdown-menu * {
  color: #ffffff !important;
  opacity: 1 !important;
}


/* =========================================
   PATCH 122 — QUEST BLUE HIGHLIGHT FIX
   (removes blue highlight backgrounds inside quest cards)
   ========================================= */

/* Remove iOS/Chrome tap highlight */
.quests, .quest, .quest-card, .quest-item {
  -webkit-tap-highlight-color: transparent !important;
}

/* If any quest text uses bootstrap "bg-*" utilities, neutralize them */
.quests .bg-primary,
.quests .bg-info,
.quests .bg-success,
.quests .bg-warning,
.quests .bg-danger,
.quests .text-bg-primary,
.quests .text-bg-info,
.quests .text-bg-success,
.quests .text-bg-warning,
.quests .text-bg-danger,
.quests mark {
  background-color: rgba(255,255,255,0.06) !important; /* subtle, not bright blue */
  color: #ffffff !important;
  padding: 0 .25rem !important;
  border-radius: .35rem !important;
}

/* If the highlight is coming from a focused/active state */
.quests :focus,
.quests :active {
  outline: none !important;
  box-shadow: none !important;
}

/* Text selection inside quests (when you drag to select) */
.quests ::selection {
  background: rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
}

/* =========================================
   PATCH 123 — EVERYTHING WHITE (LOCKED)
   ========================================= */

*, *::before, *::after {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* Kill muted/opacity helpers */
[class*="opacity"],
.text-muted, .text-secondary, .text-body, .text-dark, .text-black, .text-black-50,
.small, small, .form-text, .help-text {
  opacity: 1 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Inputs + placeholders */
input, textarea, select, option, optgroup {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

::placeholder {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Tables */
table, thead, tbody, tfoot, tr, th, td {
  color: #ffffff !important;
}

/* Remove tap highlight + tame selection */
* { -webkit-tap-highlight-color: transparent !important; }

::selection {
  background: rgba(255,255,255,0.15) !important;
  color: #ffffff !important;
}



/* PATCH132: Homepage FAQ + link styling */
.accordion-item{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  overflow: hidden;
  margin-bottom: 10px;
}
.accordion-button{
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}
.accordion-button:not(.collapsed){
  background: rgba(255,255,255,0.06) !important;
}
.accordion-button::after{
  filter: invert(1) !important;
}
.accordion-body{
  color: #fff !important;
}
.foot a{
  color: #fff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.foot a:hover{ opacity: .85; }


/* PATCH 133 — FAQ accordion readable on dark theme */
.accordion-item{background-color:#0f172a !important;border:1px solid rgba(255,255,255,0.08) !important;}
.accordion-button{background-color:#0f172a !important;color:#fff !important;}
.accordion-button:not(.collapsed){background-color:#0b1220 !important;color:#fff !important;}
.accordion-body{background-color:#0f172a !important;color:#fff !important;}
.accordion-button:after{filter: invert(1) !important;}


/* Centered layout helpers */
.page-center{display:flex;justify-content:center;padding:40px 16px;}
.withdraw-wrapper{width:100%;max-width:980px;}

/* Panels / cards on user pages */
body.user-page .gf-panel,
body.user-page .card,
body.user-page .list-group,
body.user-page .table,
body.user-page .alert {
  background-color: var(--gf-panel) !important;
  color: #fff;
  border: 1px solid var(--gf-panel-border);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
  border-radius: 12px;
}

body.user-page .form-control,
body.user-page .form-select {
  background-color: rgba(9, 16, 35, 0.85);
  color: #fff;
  border-color: rgba(255,255,255,0.14);
}
body.user-page .form-control::placeholder { color: rgba(255,255,255,0.55); }

/* Auth pages (login/register/forgot/reset) */
body.user-page .gf-auth {
  min-height: 100vh;
  display: flex;
  /* Move auth cards DOWN (user preference) */
  align-items: flex-start;
  justify-content: center;
  padding: 170px 16px 64px;
}
body.user-page .gf-auth .gf-auth-card {
  width: 100%;
  max-width: 520px;
}


/* PATCH — subtle hover glow (keeps old layout) */
:root{
  --gf-glow: rgba(59, 130, 246, 0.45); /* blue glow */
  --gf-glow-strong: rgba(59, 130, 246, 0.70);
}

body.user-page .btn,
body.user-page button,
body.user-page .nav-link,
body.user-page a{
  transition: box-shadow .18s ease, transform .18s ease, filter .18s ease, border-color .18s ease;
}

body.user-page .btn:hover,
body.user-page button:hover{
  box-shadow: 0 0 0 1px rgba(255,255,255,0.10), 0 10px 26px rgba(0,0,0,0.25), 0 0 18px var(--gf-glow);
  transform: translateY(-1px);
}

body.user-page .btn:focus-visible,
body.user-page button:focus-visible,
body.user-page a:focus-visible{
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.18), 0 0 0 4px var(--gf-glow-strong);
}

body.user-page .gf-panel:hover,
body.user-page .card:hover{
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 14px 34px rgba(0,0,0,0.30), 0 0 22px rgba(59,130,246,0.18);
  transform: translateY(-1px);
}

body.user-page .table:hover,
body.user-page .list-group:hover{
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 10px 26px rgba(0,0,0,0.22), 0 0 16px rgba(59,130,246,0.14);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  body.user-page .btn,
  body.user-page button,
  body.user-page .nav-link,
  body.user-page a,
  body.user-page .gf-panel,
  body.user-page .card{
    transition: none !important;
  }
  body.user-page .gf-panel:hover,
  body.user-page .card:hover,
  body.user-page .btn:hover,
  body.user-page button:hover{
    transform: none !important;
  }
}

