:root{
  --primary:#0798df;
  --primary-dark:#057fc4;
  --primary-deep:#045fb0;
  --bg:#eef6fa;
  --surface:#ffffff;
  --ink:#0b1220;
  --muted:#667789;
  --line:#dfeaf2;
  --page-max:520px;
  --title-xl:44px;
  --title-lg:34px;
  --title-md:28px;
  --subtitle:17px;
  --radius-sm:18px;
  --radius-md:24px;
  --radius-lg:30px;

  --shadow-soft:0 10px 28px rgba(12,35,64,.06);
}

html,body{
  margin:0;
  width:100%;
  min-height:100%;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:#0b1220;
  color:var(--ink);
}

.app{
  width:100%;
  max-width:var(--page-max);
  min-height:100dvh;
  margin:0 auto;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.94),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.72),transparent 30%),
    linear-gradient(180deg,#f8fcff 0%,#eef6fa 56%,#ffffff 86%,#0b1220 100%);
}

.page-header,
.topbar{
  min-height:128px;
  padding:calc(24px + env(safe-area-inset-top)) 28px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.18);
}

.icon-btn,
.nav-btn{
  width:72px;
  height:72px;
  border-radius:26px;
  background:#fff;
  color:var(--primary);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  display:grid;
  place-items:center;
}

.page-title{
  font-size:26px;
  font-weight:950;
  letter-spacing:-.045em;
  color:var(--ink);
}

.brand-card{
  border-radius:30px;
  background:
    radial-gradient(circle at 85% 20%,rgba(255,255,255,.12),transparent 28%),
    radial-gradient(circle at 70% 100%,rgba(255,255,255,.08),transparent 35%),
    linear-gradient(135deg,#032ea4 0%,#005fe0 55%,#00a1ef 100%);
  color:#fff;
  box-shadow:0 14px 32px rgba(0,60,140,.10);
  overflow:hidden;
}

.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:var(--shadow-soft);
}

.btn{
  height:64px;
  border-radius:24px;
  font-weight:950;
  font-size:17px;
  border:1px solid var(--line);
}

.btn-primary{
  background:var(--primary-deep);
  color:#fff;
}

.btn-white{
  background:#fff;
  color:var(--primary-dark);
}

.bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:999;
  height:78px;
  background:#fff;
  border-top:1px solid rgba(15,23,42,.055);
  box-shadow:0 -4px 16px rgba(12,35,64,.045);
}

*{
  -webkit-tap-highlight-color:transparent;
}

button:active,
.btn:active,
.icon-btn:active,
.nav-btn:active{
  transform:scale(.985);
}


html,
body{
  width:100%;
  min-height:100%;
  margin:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

.app{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}

.content,
.page-content,
.main-content{
  flex:1;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;

  padding-bottom:
  calc(
    110px +
    env(safe-area-inset-bottom)
  );
}



/* REMITWISE FAMILY LOCK — DASHBOARD SCALE */

.page-header,
.topbar{
  min-height:96px !important;
  padding:calc(14px + env(safe-area-inset-top)) 26px 14px !important;
}

.page-title{
  font-size:24px !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
}

.page-subtitle{
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:850 !important;
  color:#667789 !important;
  opacity:1 !important;
}

.icon-btn,
.nav-btn{
  width:54px !important;
  height:54px !important;
  border-radius:20px !important;
}

.icon-btn svg,
.nav-btn svg{
  width:25px !important;
  height:25px !important;
}

.auth-header{
  min-height:96px !important;
}

.content,
.page-content,
.main-content{
  padding-bottom:calc(110px + env(safe-area-inset-bottom)) !important;
}


/* GLOBAL APP ENDING — REMITWISE */

html,
body{
  background:#0b1220 !important;
}

.app{
  min-height:100dvh;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,255,255,.94),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.72),transparent 30%),
    linear-gradient(
      180deg,
      #f8fcff 0%,
      #eef6fa 56%,
      #ffffff 86%,
      #0b1220 100%
    ) !important;
}

/* FORCE DARK AREA BELOW BOTTOM NAV */

.bottom-nav{
  z-index:9999;
}

body::after{
  content:"";
  display:block;
  height:140px;
  background:#0b1220;
}



/* INDEX / LOGIN — FORCE BROWSER BOTTOM DARK */

html,
body{
  background:#0b1220 !important;
}

.app{
  height:100dvh !important;
  min-height:100dvh !important;
  background:
    linear-gradient(180deg,#0636bd 0%,#078fe0 72%,#0b1220 100%) !important;
}

/* keep content above dark bottom */
.login-screen,
.phone-screen,
.loading-screen{
  padding-bottom:calc(96px + env(safe-area-inset-bottom)) !important;
}