/* gohub.space user-facing visual layer. Loaded only by user layouts; admin assets are not modified. */
:root {
  color-scheme: dark;
  --gh-bg: #070B14;
  --gh-bg-soft: #0B1220;
  --gh-surface: #101A2B;
  --gh-surface-raised: #142238;
  --gh-border: #24344D;
  --gh-border-strong: #315078;
  --gh-blue: #398BFF;
  --gh-blue-bright: #60A5FA;
  --gh-cyan: #42D7F5;
  --gh-text: #F4F7FC;
  --gh-text-soft: #C2CDDE;
  --gh-muted: #8494AD;
  --gh-success: #36D399;
  --gh-warning: #FBBF24;
  --gh-danger: #FB7185;
  --gh-radius-sm: 10px;
  --gh-radius: 16px;
  --gh-radius-lg: 22px;
  --gh-shadow: 0 16px 44px rgba(0,0,0,.28);
  --gh-glow: 0 0 0 1px rgba(57,139,255,.16), 0 12px 36px rgba(26,104,224,.12);
}
html { background: var(--gh-bg); }
body {
  background: radial-gradient(ellipse at 15% -10%, rgba(30,100,220,.18), transparent 38%),
              radial-gradient(ellipse at 100% 12%, rgba(35,188,226,.08), transparent 30%),
              var(--gh-bg) !important;
  color: var(--gh-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
body, body * { scrollbar-color: #304665 #0B1220; }
a { color: var(--gh-blue-bright); transition: color .18s ease, opacity .18s ease; }
a:hover { color: var(--gh-cyan); text-decoration-color: rgba(66,215,245,.65); }
::selection { background: rgba(57,139,255,.36); color: #fff; }
img { max-width: 100%; }
.wrapper, .wrapper-inline, .container, .container-fluid, main, .min-h-screen { background-color: transparent !important; color: var(--gh-text); }
.wrapper { min-height: 100vh; }
.wrapper-inline { width: 100%; max-width: 1180px; margin-inline: auto; padding: 16px 16px 100px; }
.header-with-logo, header, .app-header, .top-header, .navbar {
  color: var(--gh-text) !important;
  background: rgba(8,14,26,.88) !important;
  border-color: var(--gh-border) !important;
  backdrop-filter: blur(18px);
}
.header-with-logo { padding: 14px 16px; margin: -16px -16px 22px; border-bottom: 1px solid var(--gh-border); }
.nv-brand-mark { display:flex; align-items:center; gap:10px; }
.nv-brand-mark::after { content:"gohub.space"; color:var(--gh-text); font-size:17px; font-weight:800; letter-spacing:-.035em; }
.nv-brand-dot { display:none !important; }
.nv-theme-toggle { border:1px solid var(--gh-border-strong) !important; background:linear-gradient(135deg,#152640,#0C1729) !important; border-radius:999px !important; box-shadow:var(--gh-glow); }
.to_time { color:var(--gh-muted) !important; font-size:12px !important; font-weight:600; }
.bottom-menu-section { background:rgba(8,14,26,.94) !important; border-top:1px solid var(--gh-border) !important; box-shadow:0 -10px 35px rgba(0,0,0,.28); backdrop-filter:blur(18px); }
.bottom-menu { display:flex; justify-content:space-around; align-items:center; margin:0; padding:8px 4px max(8px, env(safe-area-inset-bottom)); }
.bottom-menu li { flex:1; text-align:center; margin:0 !important; }
.bottom-menu li a { color:var(--gh-muted) !important; display:block; font-size:11px; font-weight:650; padding:5px 2px; }
.bottom-menu li a:hover, .bottom-menu li.active a { color:var(--gh-blue-bright) !important; }
.bottom-menu li img { opacity:.86; filter:grayscale(1) brightness(1.8); }
.bottom-menu li a:hover img, .bottom-menu li.active img { filter:none; }
/* General cards and content surfaces */
.card, .common_card, .reward_card, .panel, .box, .modal-content, .dropdown-menu,
.table-responsive, .list-group-item, .accordion-item, .form-wrapper, .login-main,
.login-head, .profile-card, .balance-card, .stat-card, .product-card, .vip-card,
[class*="_card"], [class*="-card"] {
  color:var(--gh-text);
  background:linear-gradient(155deg, rgba(20,34,56,.96), rgba(12,20,34,.98)) !important;
  border:1px solid rgba(79,112,157,.25) !important;
  border-radius:var(--gh-radius) !important;
  box-shadow:var(--gh-shadow);
}
.card, .common_card, .panel, .product-card, .vip-card { padding:16px; }
.card-title, .title, h1, h2, h3, h4, h5, h6 { color:var(--gh-text); letter-spacing:-.025em; }
p, label, small, .text-muted, .form-text { color:var(--gh-text-soft); }
small, .text-muted { color:var(--gh-muted) !important; }
hr, .divider { border-color:var(--gh-border) !important; opacity:1; }
/* Buttons */
button, .btn, input[type="submit"], input[type="button"], .form-button, .layui-btn {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.btn-primary, .btn-success, .form-button, .layui-btn, button[type="submit"], .primary-button,
input[type="submit"] {
  color:#fff !important;
  background:linear-gradient(135deg,#2878F0,#1760D3) !important;
  border:1px solid rgba(110,173,255,.48) !important;
  border-radius:12px !important;
  font-weight:750 !important;
  box-shadow:0 8px 22px rgba(25,103,224,.24);
}
.btn-primary:hover, .btn-success:hover, .form-button:hover, .layui-btn:hover, button[type="submit"]:hover,
input[type="submit"]:hover { color:#fff !important; transform:translateY(-1px); box-shadow:0 12px 28px rgba(25,103,224,.34); }
.btn-outline-primary, .btn-outline-secondary, .btn-secondary { color:var(--gh-blue-bright) !important; background:rgba(57,139,255,.07) !important; border:1px solid var(--gh-border-strong) !important; border-radius:12px !important; }
.btn-danger { background:linear-gradient(135deg,#E34D68,#B91C3B) !important; color:white !important; border:0 !important; border-radius:12px !important; }
/* Inputs */
input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea, .form-control, .layui-input, .layui-select, .layui-textarea {
  color:var(--gh-text) !important;
  background:#0A1322 !important;
  border:1px solid #2B3F5B !important;
  border-radius:12px !important;
  min-height:42px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.14);
}
input::placeholder, textarea::placeholder, .form-control::placeholder { color:#7487A2 !important; opacity:1; }
input:focus, select:focus, textarea:focus, .form-control:focus, .layui-input:focus {
  border-color:var(--gh-blue) !important; outline:0 !important; box-shadow:0 0 0 3px rgba(57,139,255,.17) !important;
}
input[type=checkbox], input[type=radio] { accent-color:var(--gh-blue); }
label, .text-name, .form-label { color:var(--gh-text-soft) !important; font-weight:650; }
/* Tables, pagination, menus, modals, alerts */
table { color:var(--gh-text) !important; border-color:var(--gh-border) !important; }
thead, th { color:#EAF2FF !important; background:#14243A !important; }
td, th { border-color:var(--gh-border) !important; padding:12px !important; }
tbody tr { background:rgba(12,20,34,.78) !important; }
tbody tr:nth-child(even) { background:rgba(17,29,47,.78) !important; }
.dropdown-menu, .layui-dropdown-menu { background:#101B2D !important; border:1px solid var(--gh-border) !important; box-shadow:var(--gh-shadow); }
.dropdown-item, .dropdown-menu a, .layui-dropdown-menu a { color:var(--gh-text-soft) !important; }
.dropdown-item:hover, .dropdown-menu a:hover { color:#fff !important; background:rgba(57,139,255,.16) !important; }
.modal-header, .modal-footer { border-color:var(--gh-border) !important; }
.alert { border-radius:12px !important; border:1px solid var(--gh-border) !important; background:#142238 !important; color:var(--gh-text) !important; }
.alert-success { border-color:rgba(54,211,153,.35) !important; }
.alert-danger, .alert-warning { border-color:rgba(251,113,133,.35) !important; }
.page-link { color:var(--gh-blue-bright) !important; background:#101B2D !important; border-color:var(--gh-border) !important; }
.page-item.active .page-link { color:white !important; background:#2878F0 !important; border-color:#2878F0 !important; }
.badge-primary { background:#1C64D5 !important; }
.badge-success { background:#087F65 !important; }
/* Legacy pages use inline backgrounds; soften them without changing behavior. */
[style*="background: #fff"], [style*="background:#fff"], [style*="background: #FFFFFF"], [style*="background:#FFFFFF"],
[style*="background-color: white"], [style*="background-color:#fff"] { background-color:#101A2B !important; color:var(--gh-text) !important; }
[style*="color: #000"], [style*="color:#000"], [style*="color: black"] { color:var(--gh-text) !important; }
/* Auth surfaces */
.loginBg, .login-warp, .login-main { background:transparent !important; color:var(--gh-text) !important; }
.login-warp { max-width:480px; margin-inline:auto; padding:22px 18px; }
.login-tit { color:var(--gh-text) !important; font-weight:800; }
.login-head p { color:var(--gh-muted) !important; }
.login-change a { color:var(--gh-muted) !important; }
.login-change a.cur { color:var(--gh-blue-bright) !important; }
.text-icon { background:#14243A !important; color:var(--gh-text) !important; border-color:var(--gh-border) !important; }
/* Micro-interactions */
.card, .common_card, .reward_card, .product-card, .vip-card, [class*="_card"], [class*="-card"] { transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
@media (hover:hover) { .card:hover, .common_card:hover, .product-card:hover, .vip-card:hover { transform:translateY(-2px); border-color:rgba(57,139,255,.45) !important; box-shadow:var(--gh-glow); } }
@media (min-width:768px) { .wrapper-inline { padding:24px 24px 40px; } .header-with-logo { margin:-24px -24px 26px; padding:18px 24px; } .bottom-menu-section { max-width:1180px; margin:0 auto; border:1px solid var(--gh-border); border-bottom:0; border-radius:18px 18px 0 0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }
.gohub-logo-wordmark { display:inline-flex !important; width:auto !important; height:auto !important; align-items:center; justify-content:center; color:var(--gh-text) !important; font-size:24px; font-weight:850; letter-spacing:-.055em; line-height:1.1; white-space:nowrap; text-decoration:none; }
.gohub-logo-wordmark::first-letter { color:var(--gh-blue-bright); }

/* Phase 2 global shell overrides: keep existing component/business markup intact. */
html, body.gh-user-app { background: #0B0E14 !important; color: #F4F7FC; }
.gh-app-shell, .gh-guest-shell { min-height: 100vh; background: radial-gradient(ellipse at top right, rgba(0,122,255,.12), transparent 42%), #0B0E14 !important; color: #F4F7FC; }
.gh-page-heading, .gh-guest-card { background: rgba(18,24,36,.86) !important; color: #F4F7FC; border: 1px solid rgba(56,189,248,.18); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.gh-user-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .gh-user-app select, .gh-user-app textarea { background-color: #121824; color: #F4F7FC; border-color: #2B3A52; }
.gh-user-app input::placeholder, .gh-user-app textarea::placeholder { color: #8494AD; }
.gh-user-app button, .gh-user-app [role=button], .gh-user-app a.btn { transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
.gh-user-app button:hover, .gh-user-app [role=button]:hover, .gh-user-app a.btn:hover { box-shadow: 0 0 22px rgba(0,122,255,.18); }
.gh-user-app :focus-visible { outline: 2px solid #38BDF8; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .gh-user-app *, .gh-user-app *::before, .gh-user-app *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* ============================================================
   gohub.space — Auth pages (login / register / forgot password)
   ============================================================ */

.gh-guest-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px 40px;
}

.gh-guest-main {
    width: 100%;
    max-width: 440px;
}

.gh-guest-card {
    background: linear-gradient(155deg, rgba(20,34,56,.96), rgba(12,20,34,.98)) !important;
    border: 1px solid rgba(79,112,157,.28) !important;
    border-radius: var(--gh-radius-lg) !important;
    box-shadow: var(--gh-shadow) !important;
    padding: 28px 22px 26px !important;
}

/* Brand */
.gh-auth-brand {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

/* Heading */
.gh-auth-head { text-align: center; margin-bottom: 22px; }
.gh-auth-title {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.03em;
    color: var(--gh-text);
}
.gh-auth-subtitle {
    margin: 0;
    font-size: 13.5px;
    color: var(--gh-muted);
}

/* Form */
.gh-auth-form { display: flex; flex-direction: column; }
.gh-field { display: flex; flex-direction: column; }

.gh-label {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--gh-text-soft);
    letter-spacing: .01em;
}

.gh-input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    font-size: 15px;
    color: var(--gh-text);
    background: #0A1322;
    border: 1px solid #2B3F5B;
    border-radius: 12px;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.gh-input::placeholder { color: #7487A2; }
.gh-input:focus {
    border-color: var(--gh-blue);
    box-shadow: 0 0 0 3px rgba(57,139,255,.18);
}

.gh-error {
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--gh-danger);
}

.gh-auth-status {
    margin-bottom: 14px;
    padding: 10px 12px;
    font-size: 13px;
    color: var(--gh-success);
    background: rgba(54,211,153,.08);
    border: 1px solid rgba(54,211,153,.30);
    border-radius: 10px;
    text-align: center;
}

.gh-row-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.gh-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--gh-text-soft);
    cursor: pointer;
}
.gh-checkbox input[type="checkbox"] {
    width: 16px; height: 16px;
    accent-color: var(--gh-blue);
}

.gh-link {
    font-size: 13.5px;
    font-weight: 650;
    color: var(--gh-blue-bright);
    text-decoration: none;
}
.gh-link:hover { color: var(--gh-cyan); text-decoration: underline; }

.gh-auth-actions { display: flex; }
.gh-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 18px;
    font-size: 15px;
    font-weight: 750;
    color: #fff;
    background: linear-gradient(135deg, #2878F0, #1760D3);
    border: 1px solid rgba(110,173,255,.48);
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(25,103,224,.28);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}
.gh-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(25,103,224,.38);
}

.gh-auth-footer {
    margin: 18px 0 0;
    font-size: 13.5px;
    color: var(--gh-muted);
    text-align: center;
}
.gh-auth-footer .gh-link { margin-left: 4px; }

@media (max-width: 480px) {
    .gh-guest-shell { padding: 20px 14px 32px; }
    .gh-guest-card { padding: 24px 18px !important; border-radius: var(--gh-radius) !important; }
    .gh-auth-title { font-size: 20px; }
    .gh-input, .gh-btn-primary { height: 46px; }
}
