/* ================================
   Root + Reset
================================ */
:root{
  --bg:#f8f9fa;
  --text:#1f2937;
  --muted:#6b7280;
  --card:#ffffff;
  --border:#e5e7eb;

  --brand:#27ae60;
  --brand-600:#219150;
  --brand-700:#1c7e45;

  --danger:#e74c3c;
  --warning:#f39c12;
  --info:#3498db;
  --success:#2ecc71;

  --shadow-sm:0 2px 6px rgba(0,0,0,.08);
  --shadow-md:0 8px 18px rgba(0,0,0,.10);
  --radius:12px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;
  line-height:1.45;
}

/* smooth hover motion */
a,button,.btn{transition:all .2s ease}

/* ================================
   Top Navbar / Branding
================================ */
.navbar-brand{
  font-weight:700;
  color:var(--brand) !important;
  letter-spacing:.2px;
}
.navbar{
  border-bottom:1px solid var(--border);
  background:#fff;
}

/* ================================
   Cards
================================ */
.card-custom{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:20px;
  margin-bottom:20px;
}
.card-custom:hover{ box-shadow:var(--shadow-md) }

/* small cards (KPI) */
.card-kpi{
  display:flex; align-items:center; gap:12px;
  padding:16px;
}
.card-kpi .kpi-icon{
  width:44px; height:44px; border-radius:10px;
  display:grid; place-items:center; color:#fff; font-size:20px;
  background:linear-gradient(135deg, var(--brand), var(--brand-600));
}
.card-kpi .kpi-meta .kpi-label{ color:var(--muted); font-size:13px }
.card-kpi .kpi-meta .kpi-value{ font-size:22px; font-weight:800 }

/* ================================
   Buttons
================================ */
.btn{border-radius:10px; font-weight:600}
.btn-custom{
  background:var(--brand); color:#fff; border:1px solid var(--brand-600);
}
.btn-custom:hover{ background:var(--brand-600); color:#fff }

.btn-outline-custom{
  background:#fff; color:var(--brand); border:2px solid var(--brand);
}
.btn-outline-custom:hover{ background:var(--brand); color:#fff }

.btn-danger-soft{
  background:rgba(231,76,60,.12); color:#c0392b; border:1px solid rgba(231,76,60,.3);
}
.btn-success-soft{
  background:rgba(46,204,113,.12); color:#1e8449; border:1px solid rgba(46,204,113,.3);
}

/* mini buttons */
.btn-mini{ padding:6px 10px; font-size:13px; border-radius:8px }

/* ================================
   Forms
================================ */
.form-control, .form-select, textarea{
  background:#fff; border:1px solid var(--border);
  border-radius:10px; padding:10px 12px;
}
.form-control:focus, .form-select:focus, textarea:focus{
  border-color:var(--brand-600);
  box-shadow:0 0 0 3px rgba(39,174,96,.15);
  outline:0;
}
.input-lg{ height:48px; font-size:16px }

/* helper text */
.text-muted{ color:var(--muted) !important }

/* ================================
   Tables (responsive, soft rows)
================================ */
.table-wrap{ width:100%; overflow:auto }
table.super{
  width:100%; border-collapse:separate; border-spacing:0 10px;
}
table.super thead th{
  text-transform:uppercase; font-size:12px; letter-spacing:.4px;
  color:var(--muted); padding:10px; border-bottom:1px solid var(--border);
}
table.super tbody tr{
  background:#fff; border:1px solid var(--border);
}
table.super tbody td{
  padding:10px 12px; font-size:14px; vertical-align:middle;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
table.super tbody tr td:first-child{ border-left:1px solid var(--border); border-radius:10px 0 0 10px }
table.super tbody tr td:last-child{ border-right:1px solid var(--border); border-radius:0 10px 10px 0 }

/* address / txid column */
.addr{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace; word-break:break-all }

/* badges */
.badge{
  font-weight:700; padding:5px 9px; border-radius:999px; font-size:12px;
  border:1px solid transparent;
}
.b-pending{ background:rgba(243,156,18,.12); color:#b06b00; border-color:rgba(243,156,18,.35) }
.b-approved{ background:rgba(46,204,113,.12); color:#1e8449; border-color:rgba(46,204,113,.35) }
.b-rejected{ background:rgba(231,76,60,.12); color:#c0392b; border-color:rgba(231,76,60,.35) }

.b-l1{ background:rgba(124,92,255,.15); color:#7c5cff; border-color:rgba(124,92,255,.35) }
.b-l2{ background:rgba(90,214,160,.15); color:#2c9f77; border-color:rgba(90,214,160,.35) }
.b-l3{ background:rgba(255,184,77,.15); color:#b36b00; border-color:rgba(255,184,77,.35) }

/* pagination */
.pagination a{
  color:var(--text); margin:0 4px; padding:6px 10px;
  border:1px solid var(--border); border-radius:8px; text-decoration:none; background:#fff;
}
.pagination a:hover{ border-color:var(--brand) }
.pagination .active{ background:var(--brand); border-color:var(--brand); color:#fff }

/* ================================
   Alerts
================================ */
.alert{ border-radius:10px; border:1px solid var(--border); box-shadow:var(--shadow-sm) }
.alert-success{ background:rgba(46,204,113,.1); color:#1e8449; border-color:rgba(46,204,113,.35) }
.alert-danger{ background:rgba(231,76,60,.1); color:#c0392b; border-color:rgba(231,76,60,.35) }
.alert-warning{ background:rgba(243,156,18,.1); color:#b06b00; border-color:rgba(243,156,18,.35) }
.alert-info{ background:rgba(52,152,219,.1); color:#1b6fa8; border-color:rgba(52,152,219,.35) }

/* ================================
   Copy address chip
================================ */
.copy-btn{
  background:#eaf7ef; border:1px solid #cde9d6; border-radius:8px;
  padding:8px 14px; font-weight:700; color:#1e8449;
}
.copy-btn:hover{ background:#def2e6 }

/* wallet address box */
.addr-box{
  font-family:ui-monospace,Menlo,Monaco,Consolas,monospace;
  background:#f6f7fb; border:1px solid #e7e9f2; border-radius:10px; padding:10px 12px;
}

/* ================================
   Bottom Sticky Nav (only for logged-in users)
   — body.is-auth होने पर दिखे
================================ */
.bottom-nav{
  position:fixed; left:0; right:0; bottom:-80px; height:64px;
  background:#ffffff; border-top:1px solid var(--border);
  box-shadow:0 -6px 16px rgba(0,0,0,.06);
  display:flex; justify-content:space-around; align-items:center;
  z-index:999; transition:bottom .25s ease;
}
body.is-auth .bottom-nav{ bottom:0 }     /* show only when logged-in */

.bottom-nav a{
  display:flex; flex-direction:column; align-items:center; gap:6px;
  color:#475569; text-decoration:none; font-size:12px; font-weight:700;
}
.bottom-nav a .fa, .bottom-nav a .fas, .bottom-nav a .far{
  font-size:18px; line-height:18px;
}
.bottom-nav a.active{ color:var(--brand) }

/* spacing so content isn't hidden behind bottom nav */
body.is-auth main, body.is-auth .page-content{ padding-bottom:80px }

/* ================================
   Footer
================================ */
.footer{
  background:#2c3e50; color:#fff; padding:12px; text-align:center; margin-top:30px;
  border-top:1px solid rgba(255,255,255,.1);
}

/* ================================
   Utilities
================================ */
.text-center{text-align:center}
.text-right{text-align:right}
.w-100{width:100%}
.mt-1{margin-top:6px} .mt-2{margin-top:10px} .mt-3{margin-top:14px} .mt-4{margin-top:18px}
.mb-1{margin-bottom:6px} .mb-2{margin-bottom:10px} .mb-3{margin-bottom:14px} .mb-4{margin-bottom:18px}
.p-2{padding:10px} .p-3{padding:14px} .p-4{padding:18px}
.round{border-radius:10px}
.hidden{display:none !important}

/* ================================
   Animations (subtle)
================================ */
.fade-in{animation:fade .25s ease both}
@keyframes fade{from{opacity:0; transform:translateY(4px)} to{opacity:1; transform:none}}

.hover-lift{transition:transform .15s ease, box-shadow .15s ease}
.hover-lift:hover{transform:translateY(-2px); box-shadow:var(--shadow-md)}
