/* ============================================================
   Earnify - Green/money theme over Bootstrap 5
   ============================================================ */
:root{
  --brand: #0fae6b;
  --brand-dark: #0a8a55;
  --brand-darker: #07623c;
  --brand-light: #e6f9f0;
  --brand-soft: #ccf2dd;
  --gold: #f4c000;
  --ink: #0b1f17;
  --muted: #6c7a73;
}

html,body{ height:100%; }
body{
  font-family: 'Inter','Segoe UI', Arial, sans-serif;
  color: var(--ink);
  display:flex; flex-direction:column; min-height:100vh;
  background:#f6faf8;
}
main{ flex: 1 0 auto; }

a{ color: var(--brand-dark); text-decoration:none; }
a:hover{ color: var(--brand-darker); text-decoration:underline; }

/* ---------- Brand colors ---------- */
.bg-brand{ background: linear-gradient(90deg,var(--brand) 0%, var(--brand-dark) 100%); }
.bg-brand-dark{ background: var(--brand-darker); }
.text-brand{ color: var(--brand) !important; }
.text-50{ color: rgba(255,255,255,.75); }
.text-50 a{ color: rgba(255,255,255,.85); }

.bg-success-soft{ background: var(--brand-light); }
.text-success{ color: var(--brand-dark) !important; }

/* ---------- Buttons ---------- */
.btn-primary, .btn-success{
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
}
.btn-primary:hover, .btn-success:hover{
  background-color: var(--brand-dark) !important;
  border-color: var(--brand-dark) !important;
}
.btn-outline-primary, .btn-outline-success{
  color: var(--brand-dark) !important; border-color: var(--brand) !important;
}
.btn-outline-primary:hover, .btn-outline-success:hover{
  background: var(--brand) !important; color:#fff !important;
}
.btn-gold{ background: var(--gold); color:#000; border:none; }
.btn-gold:hover{ background:#dca900; color:#000; }

/* ---------- Navbar ---------- */
.navbar.bg-brand .navbar-brand,
.navbar.bg-brand .nav-link{ color:#fff !important; }
.navbar.bg-brand .nav-link:hover{ color: #fff !important; opacity:.85; }

/* ---------- Footer ---------- */
.footer{
  background: var(--brand-darker);
  color:#fff;
  margin-top: 3rem;
}
.footer a{ color: rgba(255,255,255,.85); }
.footer a:hover{ color:#fff; }
.footer h5, .footer h6{ font-weight:600; }

/* ---------- Hero ---------- */
.hero{
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-darker) 100%);
  color:#fff;
  padding: 4rem 0 5rem;
  border-radius: 0 0 30px 30px;
}
.hero h1{ font-weight:800; letter-spacing:-.5px; }
.hero .lead{ opacity:.9; }
.hero .search-box{
  background:#fff; border-radius:50px; padding:.25rem .25rem .25rem 1.25rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  display:flex; align-items:center; gap:.5rem; max-width:560px; margin: 1.5rem auto 0;
}
.hero .search-box input{ border:0; outline:0; flex:1; padding:.65rem; }

/* ---------- Cards ---------- */
.task-card{
  background:#fff; border:1px solid #e6ece9; border-radius: 14px; padding:1rem 1.1rem;
  transition: transform .15s, box-shadow .15s, border-color .15s;
  height:100%;
}
.task-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 24px rgba(15,174,107,.12); border-color: var(--brand-soft); }
.task-card .badge-cat{ background: var(--brand-light); color: var(--brand-darker); border-radius:50px; padding:.25rem .6rem; font-size:.75rem; }
.task-card .price{ color: var(--brand-dark); font-weight:700; font-size:1.25rem; }
.task-card h5{ font-size:1.05rem; margin:.5rem 0; line-height:1.3; }
.task-card .meta{ color: var(--muted); font-size:.8rem; }

/* ---------- Stat cards ---------- */
.stat-card{
  background:#fff; border-radius:14px; border:1px solid #e6ece9; padding:1.1rem 1.2rem;
  display:flex; align-items:center; justify-content:space-between;
}
.stat-card .icon{
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border-radius:12px; background:var(--brand-light); color:var(--brand-dark); font-size:1.2rem;
}
.stat-card .label{ color: var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.5px; }
.stat-card .value{ font-size:1.5rem; font-weight:700; }

/* ---------- Sidebar (dashboards) ---------- */
.sidebar{
  background:#fff; min-height: calc(100vh - 60px); border-right:1px solid #e6ece9;
}
.sidebar .list-group-item{
  border:none; padding:.6rem .8rem; border-radius:8px; color:#222; font-size:.92rem;
}
.sidebar .list-group-item:hover{ background: var(--brand-light); color: var(--brand-darker); }
.sidebar .list-group-item.active{ background: var(--brand); color:#fff; }
.sidebar hr{ margin:.6rem 0; color:#dde7e2; }

/* ---------- Tables ---------- */
.table thead{ background: var(--brand-light); color: var(--brand-darker); }
.table > :not(caption) > * > * { vertical-align: middle; }

/* ---------- Wallet ---------- */
.wallet-card{
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-darker) 100%);
  color:#fff; border-radius:18px; padding:1.6rem; box-shadow: 0 12px 30px rgba(7,98,60,.25);
}
.wallet-card .amount{ font-size:2rem; font-weight:800; }
.wallet-card .label{ opacity:.85; font-size:.85rem; }

/* ---------- Status badges ---------- */
.badge-status{ font-size:.72rem; padding:.35rem .55rem; border-radius:50px; font-weight:600; }
.s-pending  { background:#fff5d6; color:#7a5a00; }
.s-approved { background:#d1f5e1; color:#0a6b3a; }
.s-active   { background:#d1f5e1; color:#0a6b3a; }
.s-completed{ background:#cdebff; color:#0b5797; }
.s-rejected { background:#ffd6d6; color:#8b1d1d; }
.s-paused   { background:#eaeaea; color:#444; }
.s-banned   { background:#ffd6d6; color:#8b1d1d; }
.s-suspended{ background:#ffe4c2; color:#7a3e00; }
.s-frozen   { background:#cfeaff; color:#0b5797; }
.s-processing{ background:#fff5d6; color:#7a5a00; }
.s-expired  { background:#eaeaea; color:#444; }
.s-draft    { background:#eaeaea; color:#444; }
.s-published{ background:#d1f5e1; color:#0a6b3a; }

/* ---------- Auth ---------- */
.auth-wrap{ min-height: calc(100vh - 60px); display:flex; align-items:center; justify-content:center; padding:2rem 1rem;}
.auth-card{ background:#fff; border-radius:18px; box-shadow: 0 20px 60px rgba(0,0,0,.08); padding:2rem; max-width: 460px; width:100%; }
.auth-card .logo{ font-size:1.6rem; font-weight:800; color: var(--brand-dark); text-align:center; margin-bottom:.4rem; }

/* ---------- Blog ---------- */
.blog-card img{ object-fit:cover; height:200px; width:100%; border-radius: 14px 14px 0 0; }
.blog-content img{ max-width:100%; height:auto; border-radius: 8px; }
.blog-content h2{ margin-top:1.5rem; font-weight:700; }
.blog-content p { line-height:1.8; }
.blog-content ul, .blog-content ol{ line-height:1.8; }

/* ---------- Misc ---------- */
.section-title{ font-weight:700; margin-bottom:1.2rem; }
.divider{ height:1px; background:#e6ece9; margin:2rem 0; }
.text-muted-2{ color: var(--muted); }
.shadow-sm{ box-shadow: 0 6px 18px rgba(0,0,0,.04) !important; }

@media (max-width: 767px){
  .sidebar{ min-height:auto; border:0; }
  .hero{ padding: 2.5rem 0 3rem; border-radius: 0 0 20px 20px; }
}
