:root{
  --u-bg0:#070A1A;
  --u-bg1:#0B1538;
  --u-surface:rgba(255,255,255,.08);
  --u-surface2:rgba(255,255,255,.12);
  --u-border:rgba(255,255,255,.16);
  --u-text:#0f172a;
  --u-muted:#64748b;
  --u-brand:#ff8a00;   /* orange */
  --u-brand2:#1d4ed8;  /* blue */
  --u-shadow:0 18px 50px rgba(2,8,23,.16);
  --u-radius:18px;
}

/* Typography */
body{
  font-family:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  color:var(--u-text);
}
h1,h2,h3,.display-6{
  font-family:"Fraunces", ui-serif, Georgia, serif;
  letter-spacing:-0.02em;
}

/* Public: modern background + hero */
.u-public{
  background:
    radial-gradient(1200px 650px at 15% -10%, rgba(42,167,255,.28), transparent 60%),
    radial-gradient(900px 600px at 95% 0%, rgba(255,138,0,.22), transparent 55%),
    radial-gradient(900px 700px at 30% 110%, rgba(255,138,0,.14), transparent 60%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 40%, #ffffff 100%);
  min-height:100vh;
}
.u-hero{
  background:
    radial-gradient(900px 480px at 15% 10%, rgba(29,78,216,.35), transparent 55%),
    radial-gradient(800px 520px at 90% 15%, rgba(255,138,0,.24), transparent 60%),
    linear-gradient(180deg, #06112e, #0a1c4a);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.u-glass{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: var(--u-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

/* Buttons */
.btn{
  border-radius: 14px;
  padding:.62rem 1rem;
}
.btn.u-btn-brand{
  background: linear-gradient(135deg, var(--u-brand), #ffb100);
  border:0;
  color:#1b1b1b;
  font-weight:700;
  box-shadow: 0 14px 30px rgba(255,138,0,.22);
}

/* Cobanks-like section blocks (blue/orange) */
.u-section{
  border-radius: 26px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(15,23,42,.08);
  box-shadow: var(--u-shadow);
}
.u-section .u-section-inner{
  padding: 2rem;
}
@media (min-width: 992px){
  .u-section .u-section-inner{ padding: 3rem; }
}
.u-section-blue{
  color:#fff;
  background:
    radial-gradient(900px 500px at 10% 10%, rgba(255,138,0,.18), transparent 55%),
    radial-gradient(900px 500px at 90% 0%, rgba(29,78,216,.55), transparent 60%),
    linear-gradient(135deg, #0b1f57, #1337a1);
}
.u-section-orange{
  color:#1b1b1b;
  background:
    radial-gradient(900px 500px at 90% 20%, rgba(29,78,216,.18), transparent 55%),
    radial-gradient(900px 500px at 10% 0%, rgba(255,138,0,.55), transparent 60%),
    linear-gradient(135deg, #ffb100, #ff7a00);
}
.u-section-blue .text-muted,
.u-section-blue .text-secondary,
.u-section-blue .text-white-50,
.u-section-blue .small.text-muted{
  color: rgba(255,255,255,.78) !important;
}
.u-section-blue a{ color:#fff; }
.u-section-blue .card{
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
}
.u-section-orange .card{
  background: rgba(255,255,255,.55);
  border:1px solid rgba(15,23,42,.10);
}
.u-section-kicker{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.10em;
  opacity:.85;
}
.u-cta-band{
  border-radius: 26px;
  overflow:hidden;
  background:
    radial-gradient(900px 520px at 15% 10%, rgba(29,78,216,.45), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(255,138,0,.35), transparent 60%),
    linear-gradient(135deg, #081533, #0b2b78);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 24px 70px rgba(2,8,23,.25);
}
.u-cta-band .btn.u-btn-brand{ box-shadow: 0 18px 45px rgba(255,138,0,.28); }
.btn.u-btn-ghost{
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
}
.btn.u-btn-ghost:hover{ background:rgba(255,255,255,.08); }

/* Cards */
.card{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: var(--u-radius);
  box-shadow: var(--u-shadow);
}
.card .card-body{ padding:1.25rem; }
.u-soft{
  background: linear-gradient(180deg, rgba(15,23,42,.03), rgba(15,23,42,.01));
}
.u-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .65rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.86);
  font-size:.82rem;
}

/* Navbar */
.u-nav{
  background: rgba(255,255,255,.7) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.u-brandmark{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.u-logo{
  width:38px;height:38px;
  border-radius:12px;
  box-shadow: 0 14px 30px rgba(2,8,23,.12);
}

/* Auth pages + inner pages */
.u-auth-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  background:
    radial-gradient(900px 520px at 10% 10%, rgba(42,167,255,.22), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(255,138,0,.18), transparent 60%),
    linear-gradient(180deg, #f8fafc, #ffffff);
}
.u-auth-card{
  border-radius: 24px;
  overflow:hidden;
}
.u-auth-aside{
  background:
    radial-gradient(700px 380px at 20% 10%, rgba(42,167,255,.35), transparent 60%),
    radial-gradient(700px 420px at 90% 20%, rgba(255,138,0,.30), transparent 60%),
    linear-gradient(180deg, var(--u-bg0), var(--u-bg1));
  color:#fff;
}
.u-kpi{
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.76));
  border:1px solid rgba(15,23,42,.08);
}

/* Footer */
.u-footer{
  background: linear-gradient(180deg, rgba(15,23,42,.02), rgba(15,23,42,.00));
}

