/* ============================================================
   CoinEarn — Complete Professional Stylesheet
   TimeBucks / FreeCash inspired — No emojis — Clean & Modern
   ============================================================ */
:root {
  --brand:    #1a73e8;
  --brand-d:  #0d5fa1;
  --brand-l:  #e8f0fe;
  --sidebar:  #1e2d3d;
  --sidebar-h:#253549;
  --bg:       #f0f2f5;
  --panel:    #ffffff;
  --text:     #1e2d3d;
  --muted:    #6c757d;
  --border:   #dee2e6;
  --success:  #27ae60;
  --warning:  #f39c12;
  --danger:   #e74c3c;
  --purple:   #8e44ad;
  --teal:     #16a085;
  --shadow:   0 2px 16px rgba(0,0,0,0.08);
  --radius:   10px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}
a{text-decoration:none;color:var(--brand);transition:.2s}
img{max-width:100%}

/* === SIDEBAR === */
.sidebar{position:fixed;top:0;left:0;width:230px;height:100vh;background:var(--sidebar);color:#fff;padding:0;z-index:800;overflow-y:auto;transition:left .3s;scrollbar-width:thin;scrollbar-color:#3d5775 var(--sidebar)}
.sidebar::-webkit-scrollbar{width:5px}
.sidebar::-webkit-scrollbar-thumb{background:#3d5775;border-radius:4px}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:18px 20px;font-size:17px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;letter-spacing:.2px}
.sidebar-brand .dot{width:10px;height:10px;background:var(--brand);border-radius:50%;flex-shrink:0}
.sidebar-section{padding:14px 20px 6px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:rgba(255,255,255,.35);font-weight:700}
.sidebar a{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.72);padding:10px 20px;margin:1px 8px;border-radius:7px;font-size:13.5px;transition:.2s;font-weight:500}
.sidebar a:hover,.sidebar a.active{background:var(--brand);color:#fff}
.sidebar a .badge{margin-left:auto;background:#e74c3c;color:#fff;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:800}

/* === TOPBAR === */
.topbar{position:fixed;top:0;left:230px;right:0;height:56px;background:var(--panel);border-bottom:1px solid var(--border);z-index:700;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.topbar-title{font-weight:700;font-size:15px}
.topbar-right{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}
.topbar-right a{color:var(--brand);font-weight:600}
.spacer{height:56px}

/* === CONTENT === */
.content{margin-left:230px;padding:28px 24px;min-height:calc(100vh - 56px)}
.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.page-title{margin:0;font-size:21px;font-weight:800;color:var(--text)}

/* === CARDS === */
.cards{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:28px}
.card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px;flex:1 1 170px;border-top:3px solid var(--brand);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.card.success{border-top-color:var(--success)}.card.warning{border-top-color:var(--warning)}.card.danger{border-top-color:var(--danger)}.card.purple{border-top-color:var(--purple)}.card.teal{border-top-color:var(--teal)}.card.gold{border-top-color:#f1c40f}
.card-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:7px}
.card-value{font-size:26px;font-weight:900;color:var(--text);line-height:1}
.card-sub{font-size:12px;color:var(--muted);margin-top:5px}
.card-icon{float:right;font-size:28px;opacity:.15;margin-top:-4px}

/* === PANELS === */
.box{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:24px}
.box-title{font-size:15px;font-weight:800;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}

/* === TABLE === */
.tbl-wrap{overflow-x:auto;margin-bottom:24px}
.tbl{width:100%;border-collapse:collapse;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.tbl th{background:var(--brand);color:#fff;padding:12px 15px;text-align:left;font-size:12.5px;font-weight:700;white-space:nowrap}
.tbl td{padding:12px 15px;border-bottom:1px solid var(--border);font-size:13.5px;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#f5f8ff}
.tbl tr:nth-child(even) td{background:#fafbfc}
.tbl tr:nth-child(even):hover td{background:#f0f4ff}

/* === BADGES === */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.badge-pending {background:#fff3cd;color:#856404}
.badge-approved,.badge-active,.badge-success{background:#d1f5e0;color:#186a3b}
.badge-rejected,.badge-banned{background:#fde8e8;color:#922b21}
.badge-inactive{background:#e9ecef;color:#495057}
.badge-pkg     {background:#ede7f6;color:#5e35b1}
.badge-article {background:#e0f7fa;color:#00695c}

/* === BUTTONS === */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:8px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.2s;line-height:1;white-space:nowrap}
.btn-primary  {background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-d);color:#fff}
.btn-success  {background:var(--success);color:#fff}.btn-success:hover{background:#219a52;color:#fff}
.btn-danger   {background:var(--danger);color:#fff}.btn-danger:hover{background:#c0392b;color:#fff}
.btn-warning  {background:var(--warning);color:#fff}.btn-warning:hover{background:#d68910;color:#fff}
.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;color:#fff}
.btn-teal     {background:var(--teal);color:#fff}.btn-teal:hover{background:#138a72;color:#fff}
.btn-purple   {background:var(--purple);color:#fff}
.btn-outline  {background:transparent;border:1.5px solid var(--brand);color:var(--brand)}.btn-outline:hover{background:var(--brand);color:#fff}
.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 9px;font-size:11px}
.btn-block{width:100%;justify-content:center;padding:13px}

/* === FORMS === */
.form-group{margin-bottom:18px}
.form-group label{display:block;font-weight:700;margin-bottom:6px;font-size:13px;color:#333}
.form-control{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:13.5px;transition:.2s;background:#fff;color:var(--text)}
.form-control:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(26,115,232,.15)}
textarea.form-control{min-height:90px;resize:vertical}
select.form-control{cursor:pointer}
.form-row{display:flex;gap:16px;flex-wrap:wrap}
.form-row .form-group{flex:1 1 200px}
.form-help{font-size:12px;color:var(--muted);margin-top:5px}
.form-error{font-size:12px;color:var(--danger);margin-top:5px;font-weight:600}

/* === ALERTS === */
.alert{padding:14px 18px;border-radius:8px;margin-bottom:18px;font-size:13.5px;display:flex;align-items:flex-start;gap:10px}
.alert-success{background:#d1f5e0;color:#186a3b;border:1px solid #a3e4bc}
.alert-error  {background:#fde8e8;color:#922b21;border:1px solid #f5c6c6}
.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffd97d}
.alert-info   {background:#cce5ff;color:#004085;border:1px solid #b8d9ff}

/* === PAGINATION === */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap}
.pagination a{padding:8px 14px;border-radius:7px;background:var(--brand);color:#fff;font-size:13px;font-weight:700}
.pagination a:hover{background:var(--brand-d);color:#fff}
.pagination span{padding:8px 14px;border-radius:7px;background:#e9ecef;color:var(--muted);font-size:13px;font-weight:700}

/* === EARNING CHANNEL CARDS === */
.earn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin-bottom:28px}
.earn-card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 20px;text-align:center;border-bottom:4px solid var(--brand);cursor:pointer;transition:.25s}
.earn-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.13)}
.earn-card .ec-icon{font-size:36px;margin-bottom:10px;opacity:.8}
.earn-card .ec-title{font-size:14px;font-weight:800;color:var(--text);margin-bottom:4px}
.earn-card .ec-sub{font-size:12px;color:var(--muted)}
.earn-card .ec-earn{font-size:13px;font-weight:800;color:var(--success);margin-top:8px}
.earn-card.pkg   {border-bottom-color:var(--purple)}
.earn-card.ptc   {border-bottom-color:var(--warning)}
.earn-card.offer {border-bottom-color:var(--teal)}
.earn-card.ref   {border-bottom-color:#f1c40f}

/* === BALANCE BOX === */
.balance-hero{background:linear-gradient(135deg,#1a73e8,#0d5fa1);border-radius:14px;padding:28px 28px 24px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden}
.balance-hero::before{content:'';position:absolute;top:-30px;right:-30px;width:160px;height:160px;background:rgba(255,255,255,.06);border-radius:50%}
.balance-hero .bh-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;opacity:.8}
.balance-hero .bh-amount{font-size:38px;font-weight:900;margin:6px 0 2px;line-height:1}
.balance-hero .bh-usd{font-size:14px;opacity:.8}
.balance-hero .bh-row{display:flex;gap:28px;margin-top:18px;flex-wrap:wrap}
.balance-hero .bh-stat .label{font-size:11px;opacity:.7;text-transform:uppercase}
.balance-hero .bh-stat .val{font-size:16px;font-weight:800}

/* === TASK CARD === */
.task-card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px;display:flex;align-items:flex-start;gap:16px;transition:.2s;border-left:4px solid var(--brand)}
.task-card.pkg    {border-left-color:var(--purple)}
.task-card.article{border-left-color:var(--teal)}
.task-card-info{flex:1}
.task-card-title{font-size:14.5px;font-weight:800;margin-bottom:4px;color:var(--text)}
.task-card-desc{font-size:13px;color:var(--muted);line-height:1.5}
.task-card-reward{font-size:16px;font-weight:900;color:var(--success);white-space:nowrap;text-align:right}
.task-card-type{display:inline-block;font-size:10.5px;font-weight:800;border-radius:5px;padding:2px 8px;margin-bottom:6px}
.type-standard{background:#e3f2fd;color:#0d47a1}
.type-pkg{background:#ede7f6;color:#5e35b1}
.type-article{background:#e0f7fa;color:#00695c}

/* === REFERRAL BOX === */
.ref-link-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ref-link-box input{flex:1;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;background:#f8f9fa;color:var(--text)}
.ref-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:20px}
.ref-stat{background:#f8f9fa;border-radius:8px;padding:16px;text-align:center;border:1px solid var(--border)}
.ref-stat .val{font-size:22px;font-weight:900;color:var(--brand)}
.ref-stat .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:700}

/* === PROFILE === */
.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.profile-avatar{width:72px;height:72px;background:var(--brand);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:#fff;flex-shrink:0}

/* === MOBILE MENU BUTTON === */
.menu-btn{display:none;position:fixed;top:14px;left:14px;z-index:999;background:var(--brand);color:#fff;border:none;border-radius:7px;padding:8px 11px;font-size:18px;cursor:pointer;line-height:1}

/* === PUBLIC NAVBAR === */
.pub-nav{display:flex;justify-content:space-between;align-items:center;padding:14px 5%;background:#07111d;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.06)}
.pub-nav .brand{font-size:20px;font-weight:900;color:#1a73e8;letter-spacing:-.3px}
.pub-nav .brand span{color:#fff;font-weight:300}
.pub-nav .links a{color:rgba(255,255,255,.7);margin:0 12px;font-size:13.5px;font-weight:500}
.pub-nav .links a:hover{color:#fff}
.pub-nav .actions{display:flex;gap:8px}
.pub-nav .actions a{padding:8px 18px;border-radius:7px;font-size:13px;font-weight:700}
.pub-nav .actions .login{border:1.5px solid rgba(255,255,255,.3);color:#fff}
.pub-nav .actions .login:hover{background:rgba(255,255,255,.1)}
.pub-nav .actions .register{background:#1a73e8;color:#fff}
.pub-nav .actions .register:hover{background:#0d5fa1}

/* === AUTH PAGES === */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d1b2a,#162238);padding:24px}
.auth-box{background:#fff;border-radius:14px;padding:42px 38px;width:430px;max-width:98vw;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.auth-box h1{margin:0 0 4px;font-size:22px;font-weight:900;color:var(--text)}
.auth-box .sub{font-size:13px;color:var(--muted);margin-bottom:28px}
.auth-divider{text-align:center;position:relative;margin:18px 0}
.auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}
.auth-divider span{background:#fff;padding:0 12px;position:relative;font-size:12px;color:var(--muted)}

/* === RESPONSIVE === */
@media(max-width:900px){
  .sidebar{left:-230px}.sidebar.open{left:0}
  .topbar{left:0}.content{margin-left:0;padding-top:68px;padding-left:14px;padding-right:14px}
  .menu-btn{display:block}
  .earn-grid{grid-template-columns:repeat(2,1fr)}
  .balance-hero{padding:22px 20px}
  .balance-hero .bh-amount{font-size:28px}
}
@media(max-width:560px){
  .earn-grid{grid-template-columns:1fr 1fr}
  .cards .card{flex:1 1 calc(50% - 9px)}
  .auth-box{padding:30px 22px}
  .pub-nav .links{display:none}
}

/* ---- Task Grid (user_tasks.php) ---- */
.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.task-card{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;border-left:4px solid var(--brand);display:flex;flex-direction:column;gap:6px}
.task-card.pkg{border-left-color:var(--purple,#7c3aed)}
.task-card.article{border-left-color:var(--teal,#0ea5e9)}
.task-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.task-card-reward{font-size:16px;font-weight:900;color:var(--success,#27ae60)}
.task-card-title{font-size:14.5px;font-weight:800;color:var(--text)}
.task-card-desc{font-size:13px;color:var(--muted);line-height:1.5}
.task-card-footer{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.type-standard{background:#e3f2fd;color:#0d47a1;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700}
.type-pkg     {background:#f3e5f5;color:#6a1b9a;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700}
.type-article {background:#e0f7fa;color:#006064;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700}
.badge-approved{background:#d1f5e0;color:#186a3b;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700}
.badge-rejected{background:#fde8e8;color:#922b21;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700}
.badge-pending {background:#fff3cd;color:#856404;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700}
.badge-active  {background:#d1e8ff;color:#004085;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:700}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:11px 14px;border-bottom:1px solid #f0f2f5;font-size:13px;text-align:left}
.tbl th{background:#f8f9fa;font-weight:700;color:var(--muted,#6c757d);text-transform:uppercase;font-size:11px;letter-spacing:.5px}
.btn-xs{padding:4px 9px;font-size:11.5px}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-success{background:var(--success,#27ae60);color:#fff}
.btn-success:hover{background:#219a52}
.btn-danger{background:var(--danger,#e74c3c);color:#fff}
.btn-danger:hover{background:#c0392b}
.btn-warning{background:var(--warning,#f39c12);color:#fff}
.btn-warning:hover{background:#d68910}
