/* ============================================================
   TESTERGH theme — navy + blue + green (matches the logo).
   Light surfaces, light sidebar, Fraunces display + Inter body.
   Solid colors, curved/elevated. No gradients-as-fills.
   ============================================================ */
:root{
  --brand:#16284B;        /* deep navy (logo) */
  --brand-700:#0E1B36;
  --brand-300:#41537A;
  --blue:#2E86E6;         /* logo blue (accent / links) */
  --blue-600:#1E6FCE;
  --blue-soft:#E7F0FC;
  --green:#1FA85C;        /* logo green (money / verified) */
  --green-600:#178A4A;
  --green-soft:#E6F6ED;
  --amber:#C98A00;
  --amber-soft:#FBF1D8;
  --danger:#D1372B;

  --paper:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F4F6FA;
  --ink:#17223A;
  --muted:#5E6B82;
  --line:#E6E9F0;
  --line-strong:#D4DAE6;

  --shadow-sm:0 1px 2px rgba(22,40,75,.06);
  --shadow:0 12px 30px rgba(22,40,75,.10);
  --shadow-lg:0 28px 64px rgba(22,40,75,.16);
  --r:16px;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:'Inter','Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased;margin:0}
.serif,.display{font-family:'Fraunces','Georgia',serif}
h1,h2,h3{font-family:'Fraunces','Georgia',serif;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
h4,h5,h6{font-weight:700;color:var(--ink)}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-600)}
.text-muted{color:var(--muted)!important}
.text-brand{color:var(--brand)!important}
.text-blue{color:var(--blue)!important}
.text-green{color:var(--green)!important}
img{max-width:100%}

/* surfaces */
.card,.tg-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);box-shadow:var(--shadow-sm)}
.card-header{background:transparent;border-bottom:1px solid var(--line);font-weight:700}
.dropdown-menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}
.dropdown-item{color:var(--ink);border-radius:8px}
.dropdown-item:hover{background:var(--surface-2);color:var(--ink)}
hr{border-color:var(--line);opacity:1}

/* buttons */
.btn{border-radius:11px;font-weight:600;transition:transform .08s, background .15s, box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover,.btn-primary:focus{background:var(--brand-700);border-color:var(--brand-700);color:#fff;box-shadow:0 8px 20px rgba(22,40,75,.25)}
.btn-secondary,.btn-blue{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-secondary:hover,.btn-blue:hover{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.btn-accent{background:var(--green);border-color:var(--green);color:#fff}
.btn-accent:hover{background:var(--green-600);border-color:var(--green-600);color:#fff;box-shadow:0 8px 20px rgba(31,168,92,.25)}
.btn-gold{background:#fff;border-color:#fff;color:var(--brand);font-weight:700}
.btn-gold:hover{background:#eef2f8;border-color:#eef2f8;color:var(--brand-700)}
.btn-danger{background:var(--danger);border-color:var(--danger)}
.btn-outline-light{border-color:var(--line-strong);color:var(--ink);background:var(--surface)}
.btn-outline-light:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line-strong)}
.btn-lg{padding:.8rem 1.7rem;font-size:1.02rem}

/* forms */
.form-control,.form-select{background:#fff;border:1px solid var(--line-strong);color:var(--ink);border-radius:11px;padding:.62rem .85rem}
.form-control:focus,.form-select:focus{background:#fff;color:var(--ink);border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(46,134,230,.18)}
.form-control::placeholder{color:#a4adbf}
.form-label{font-weight:600;font-size:.86rem;color:var(--ink);margin-bottom:.35rem}
.input-group-text{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--muted)}
.btn-check:checked+.btn-outline-light{background:var(--brand);border-color:var(--brand);color:#fff}
.form-check-input{border-color:var(--line-strong)}
.form-check-input:checked{background-color:var(--green);border-color:var(--green)}
.form-check-input:focus{border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(46,134,230,.18)}
.form-switch .form-check-input{width:2.6em;height:1.4em}

/* badges */
.badge{font-weight:700;padding:.42em .72em;border-radius:8px}
.badge-primary{background:var(--brand);color:#fff}
.badge-accent{background:var(--green);color:#fff}
.badge-secondary{background:var(--blue);color:#fff}
.badge-muted{background:var(--surface-2);color:var(--muted)}
.badge-warning{background:var(--amber-soft);color:#7a5a00}
.badge-danger{background:var(--danger);color:#fff}

/* tables */
.table{color:var(--ink);--bs-table-bg:transparent;border-color:var(--line)}
.table>:not(caption)>*>*{border-color:var(--line);padding:.85rem .9rem;background:transparent}
.table thead th{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.table tbody tr:hover>*{background:var(--surface-2)}

.alert{border-radius:12px;border:1px solid var(--line)}
.alert-success{background:var(--green-soft);color:var(--green-600);border-color:#c8e8d6}
.alert-danger{background:#FBEAE8;color:#9a241b;border-color:#f2cdc9}
.alert-warning{background:var(--amber-soft);color:#7a5a00;border-color:#eedfb0}
.alert-secondary{background:var(--surface-2);color:var(--ink)}

/* ===== brand logo ===== */
.brand-logo{width:100%;max-width:140px;height:auto;display:block;margin:0 auto}

/* ===== app shell (light sidebar) ===== */
.tg-sidebar{position:fixed;top:0;left:0;bottom:0;width:256px;background:#fff;border-right:1px solid var(--line);padding:18px 14px;overflow-y:auto;z-index:1040;transition:transform .22s ease}
.tg-sidebar .tg-brand{padding:12px 8px 20px;display:flex;align-items:center;justify-content:center}
.tg-nav{list-style:none;padding:0;margin:0}
.tg-nav .lbl{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:#97a1b4;font-weight:800;margin:18px 12px 7px}
.tg-nav a{display:flex;align-items:center;gap:12px;padding:10px 13px;border-radius:11px;color:#46506480;color:#475064;font-weight:500;font-size:.93rem;margin-bottom:2px;transition:background .15s,color .15s}
.tg-nav a i{width:20px;text-align:center;color:#8a94a8;transition:color .15s}
.tg-nav a:hover{background:var(--surface-2);color:var(--brand)}
.tg-nav a:hover i{color:var(--brand)}
.tg-nav a.active{background:var(--brand);color:#fff;box-shadow:0 8px 18px rgba(22,40,75,.22)}
.tg-nav a.active i{color:#fff}

.tg-main{margin-left:256px;min-height:100vh;transition:margin-left .22s ease}
.tg-topbar{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:13px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.tg-topbar h1{font-size:1.3rem;font-weight:600;margin:0}
.tg-content{padding:28px}
.tg-wallet-chip{display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);border:1px solid #cdeada;color:var(--green-600);border-radius:999px;padding:7px 15px;font-weight:700;font-size:.9rem}
.tg-wallet-chip i{color:var(--green)}

/* hamburger + collapse + mobile drawer */
.tg-hamburger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:1.05rem;transition:background .15s}
.tg-hamburger:hover{background:var(--surface-2)}
.tg-bell{position:relative;width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:1.05rem;display:inline-flex;align-items:center;justify-content:center}
.tg-bell:hover{background:var(--surface-2)}
.tg-bell-dot{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff}
.tg-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1039;opacity:0;visibility:hidden;transition:opacity .2s}
body.sb-collapsed .tg-sidebar{transform:translateX(-100%)}
body.sb-collapsed .tg-main{margin-left:0}
@media(min-width:993px){ body.sb-collapsed .tg-content{max-width:1180px;margin:0 auto} }
@media(max-width:992px){
  .tg-sidebar{transform:translateX(-100%);box-shadow:var(--shadow-lg)}
  .tg-main{margin-left:0}
  body.sb-open .tg-sidebar{transform:translateX(0)}
  body.sb-open .tg-backdrop{opacity:1;visibility:visible}
}

/* stat cards */
.stat{display:flex;align-items:center;gap:16px;padding:20px}
.stat .ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}
.stat .ic.b{background:#E8EEF8;color:var(--brand)}
.stat .ic.p{background:var(--blue-soft);color:var(--blue)}
.stat .ic.g{background:var(--green-soft);color:var(--green)}
.stat .ic.w{background:var(--amber-soft);color:var(--amber)}
.stat .v{font-size:1.7rem;font-weight:800;line-height:1;font-family:'Fraunces',serif}
.stat .l{color:var(--muted);font-size:.82rem;margin-top:5px;font-weight:500}

/* dashboard welcome banner */
.tg-welcome{position:relative;overflow:hidden;border-radius:20px;background:var(--brand);color:#fff;padding:26px 30px;margin-bottom:22px}
.tg-welcome::after{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(46,134,230,.28)}
.tg-welcome::before{content:'';position:absolute;right:90px;bottom:-90px;width:200px;height:200px;border-radius:50%;background:rgba(31,168,92,.22)}
.tg-welcome>*{position:relative;z-index:1}
.tg-welcome h2{color:#fff;font-size:1.6rem;margin:0 0 4px}
.tg-welcome p{color:#c9d4e8;margin:0}

/* auth */
.tg-auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(820px 420px at 50% -10%, #e7f0fc, transparent 60%), var(--paper)}
.tg-auth-card{width:100%;max-width:440px}
.tg-auth-logo{width:auto;max-width:200px;max-height:104px;height:auto;margin:0 auto 8px;display:block}

/* ===== landing ===== */
.lp-nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:13px 0}
.lp-logo{height:52px;width:auto;display:block}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);background:#E8EEF8;border:1px solid #d7e1f2;padding:6px 13px;border-radius:999px}
.hero-h{font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:1.04;font-weight:600}
.hero-h em{font-style:italic;color:var(--green)}
.lead-lg{font-size:1.15rem;color:var(--muted);line-height:1.6}

/* curved hero art behind the phone */
.hero-art{position:relative;display:flex;justify-content:center;align-items:center}
.hero-art::before{content:'';position:absolute;width:108%;max-width:520px;aspect-ratio:1/1.05;background:var(--surface-2);border-radius:46% 54% 50% 50%/52% 48% 52% 48%;z-index:0}
.hero-art::after{content:'';position:absolute;width:70%;max-width:330px;height:70%;background:var(--blue-soft);border-radius:54% 46% 52% 48%/48% 54% 46% 52%;right:6%;top:4%;z-index:0}
.hero-art .hero-phone{position:relative;z-index:1}

.band-cream{background:var(--surface-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-ink{background:var(--brand);color:#eaf0fa}
.band-ink h2,.band-ink h3{color:#fff}
.band-ink .text-muted{color:#aebbd2!important}

/* curved divider */
.curve-top{display:block;width:100%;height:60px;margin-bottom:-1px}

.feature{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;height:100%;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.feature:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line-strong)}
.feature .fi{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:16px;background:#E8EEF8;color:var(--brand)}
.feature .fi.g{background:var(--green-soft);color:var(--green)}
.feature .fi.r{background:var(--blue-soft);color:var(--blue)}
.feature .fi.w{background:var(--amber-soft);color:var(--amber)}
.feature h3{font-size:1.18rem;margin-bottom:8px}
.feature p{color:var(--muted);margin:0;font-size:.96rem}

.step{position:relative;padding-left:62px}
.step .num{position:absolute;left:0;top:0;width:46px;height:46px;border-radius:14px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:1.1rem}
.step h4{margin-bottom:6px}
.step p{color:var(--muted);margin:0}

.gplay{display:inline-flex;align-items:center;gap:11px;background:var(--brand);border-radius:12px;padding:10px 18px;border:1px solid var(--brand);transition:transform .15s,box-shadow .15s}
.gplay:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.gplay .gpi{width:24px;height:26px;flex-shrink:0}
.gplay .gpt{display:flex;flex-direction:column;line-height:1.1;color:#fff}
.gplay .gpt small{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#aebbd2}
.gplay .gpt b{font-family:'Fraunces',serif;font-size:17px;font-weight:600}

.hero-phone{width:100%;max-width:330px;margin:0 auto;display:block;border-radius:30px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}

.sec-head{text-align:center}
.secband{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:30px}
.secgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sgi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.sgi .si{width:42px;height:42px;border-radius:11px;background:#E8EEF8;color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:1.1rem}
.sgi h4{font-size:15.5px;margin-bottom:6px}
.sgi p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}

.contact-cta{margin-top:60px;background:var(--brand);border-radius:24px;padding:54px 40px;text-align:center;color:#fff;position:relative;overflow:hidden}
.contact-cta::after{content:'';position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;background:rgba(46,134,230,.25)}
.contact-cta::before{content:'';position:absolute;left:-70px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:rgba(31,168,92,.22)}
.contact-cta>*{position:relative;z-index:1}

.lp-footer{background:var(--brand-700);color:#b9c5dc;padding:60px 0 28px;margin-top:20px}
.lp-footer h6{color:#fff;font-family:'Inter',sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.lp-footer a{color:#b9c5dc;display:block;padding:5px 0;font-size:.93rem}
.lp-footer a:hover{color:#fff}
.lp-footer .foot-logo{height:auto;width:150px;background:#fff;padding:11px 14px;border-radius:12px}
.lp-footer .foot-bottom{border-top:1px solid #2a3a5c;margin-top:40px;padding-top:22px;color:#8a99b6;font-size:.86rem}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

@media(max-width:992px){.secgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.secgrid{grid-template-columns:1fr}}
