/* EP Portal — Midnight Galaxy purple (theme-factory) */
:root {
  --ep-bar-primary: #5b2d8e;
  --ep-teal: #a490c2;
  --ep-page-bg-soft: #f4f1f8;
  --ep-text: #2b1e3e;
  --ep-text-soft: #6b6578;
  --ep-tab-h: calc(80px + env(safe-area-inset-bottom, 0px));
  --ep-header-gradient: linear-gradient(94deg, #7c4db8 0%, #5b2d8e 50%, #2b1e3e 100%);
  --ep-cta-gradient: linear-gradient(180deg, #9b6fd4 0%, #6b3fa0 52%, #4a2a7a 100%);
  --ep-nav-gradient: linear-gradient(180deg, #7c4db8 0%, #5b2d8e 55%, #2b1e3e 100%);
  --ep-soft-ui: 5px 8px 18px #2b1e3e14, -4px -4px 14px #ffffffd9;
  --ep-silver: #e6e6fa;
  --ep-lavender: #a490c2;
  --ep-cosmic: #4a4e8f;
}


* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  font-family: 'Plus Jakarta Sans', system-ui, Avenir, Helvetica, Arial, sans-serif;
  color: var(--ep-text);
  background: #1a1028;
  -webkit-font-smoothing: antialiased;
}

button { font-family: inherit; }

.app-shell { position: relative; min-height: 100dvh; min-height: 100vh; }
.app-shell__backdrop {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-color: #1a1028;
  background-image: linear-gradient(180deg, #4a4e8f, #a490c2 42%, #e6e6fa);
  background-size: cover; background-position: center;
}
.app-shell__main { position: relative; z-index: 1; min-height: 100dvh; min-height: 100vh; }

.ep-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--ep-header-gradient); color: #fff;
  padding: 0 16px calc(14px + env(safe-area-inset-top, 0px));
  box-shadow: 0 4px 18px #2b1e3e38;
}
.ep-header__row {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; min-height: 44px;
}
.ep-header__who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ep-header__avatar {
  flex-shrink: 0; display: grid; place-items: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: #ffffff29; border: 2px solid rgba(255,255,255,.35); color: #fff;
}
.ep-header__welcome {
  font-size: .95rem; font-weight: 600; letter-spacing: .03em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ep-header__bell {
  min-width: 44px; min-height: 44px; border: none; background: transparent;
  color: #fffffff5; cursor: pointer; display: grid; place-items: center; padding: 0;
  text-decoration: none;
}

.home-ep {
  min-height: 100dvh; min-height: 100vh;
  background: var(--ep-page-bg-soft);
}
.home-ep__scroll {
  max-width: 520px; margin: 0 auto;
  padding: 14px 16px calc(var(--ep-tab-h) + 72px);
}
.home-ep__carousel-card {
  position: relative; border-radius: 18px; overflow: hidden;
  box-shadow: 0 8px 26px #001e3c1f; background: #111;
}
.home-ep__swipe { position: relative; overflow: hidden; }
.home-ep__swipe-track {
  display: flex; transition: transform .35s ease; will-change: transform;
}
.home-ep__swipe-item { flex: 0 0 100%; min-width: 100%; line-height: 0; }
.home-ep__swipe-item:first-child { line-height: normal; }
.home-ep__indicators {
  position: absolute; bottom: 10px; left: 0; right: 0;
  display: flex; justify-content: center; gap: 6px; z-index: 2;
}
.home-ep__dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.45); border: none; padding: 0; cursor: pointer;
}
.home-ep__dot--on { background: #5b2d8e; }
.home-ep__slide-lead {
  position: relative; aspect-ratio: 16 / 9; min-height: 168px;
  padding: 16px 18px 18px; display: flex; flex-direction: column;
  justify-content: flex-end; gap: 10px; color: #fff;
  background:
    linear-gradient(180deg, #0f2a4a40, #0c375c8c 42%, #2b1e3ee0),
    linear-gradient(125deg, #7a6b96, #3d5a78 35%, #243c58);
}
.home-ep__slide-lead-top {
  position: absolute; top: 12px; left: 14px; right: 14px;
  display: flex; align-items: flex-start; gap: 10px;
}
.home-ep__slide-lead-badge {
  flex-shrink: 0; width: 40px; height: 40px; border-radius: 8px;
  background: #fffffff2; color: #5b2d8e; font-size: 11px; font-weight: 900;
  letter-spacing: .02em; display: grid; place-items: center;
  box-shadow: 0 2px 8px #0003;
}
.home-ep__slide-lead-reg { display: flex; flex-direction: column; gap: 3px; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.home-ep__slide-lead-reg-line { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; opacity: .95; }
.home-ep__slide-lead-reg-sub { font-size: .62rem; font-weight: 600; letter-spacing: .03em; opacity: .88; line-height: 1.3; }
.home-ep__slide-lead-title {
  margin: auto 0 0; font-size: clamp(1.15rem, 4.2vw, 1.45rem);
  font-weight: 800; line-height: 1.22; letter-spacing: .02em;
  text-shadow: 0 2px 14px rgba(0,0,0,.4);
}
.home-ep__slide-lead-guide {
  margin: 0; font-size: .82rem; font-weight: 700; color: #b8eef0;
  letter-spacing: .03em; line-height: 1.35;
}
.home-ep__slide-img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

.ep-pill-cta {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; margin-top: 20px; padding: 14px 20px; border: none; border-radius: 999px;
  font-size: 1.05rem; font-weight: 600; letter-spacing: .03em; color: #fff;
  cursor: pointer; text-decoration: none;
  background: var(--ep-cta-gradient);
  box-shadow: 0 6px 20px #3d206059, inset 0 1px #ffffff47;
}
.ep-pill-cta:active { transform: scale(.992); filter: brightness(.97); }
.ep-pill-cta__orbit {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%; background: #fff3;
}

.home-ep__section-title {
  margin: 24px 0 10px 2px; font-size: .9rem; font-weight: 600; color: var(--ep-text-soft);
}
.home-ep__vb-shell {
  border-radius: 16px; background: #fff; padding: 4px; overflow: hidden;
  box-shadow: 0 4px 14px #00000014;
}
.home-ep__vb-window { height: 54px; overflow: hidden; border-radius: 14px; }
.home-ep__vb-track {
  display: flex; flex-direction: column;
  animation: home-vb-roll calc(var(--vb-n, 4) * 2.85s) linear infinite;
}
@keyframes home-vb-roll {
  0% { transform: translateZ(0); }
  to { transform: translate3d(0, -50%, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .home-ep__vb-track { animation: none; }
}
.home-ep__vb-row {
  box-sizing: border-box; flex: 0 0 54px; height: 54px;
  padding: 0 12px 0 14px; display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: 8px; align-items: center; column-gap: 10px;
}
.home-ep__vb-amt {
  font-size: clamp(.8rem, 3.6vw, 1.02rem); font-weight: 800;
  font-variant-numeric: tabular-nums; color: var(--ep-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.home-ep__vb-dot {
  width: 12px; height: 12px; border-radius: 50%; background: var(--ep-bar-primary);
  display: grid; place-items: center; justify-self: center;
}
.home-ep__vb-dot-core { width: 4px; height: 4px; border-radius: 50%; background: #fff; }
.home-ep__vb-right {
  display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; text-align: right;
}
.home-ep__vb-phone { font-size: .85rem; font-weight: 600; color: var(--ep-text-soft); white-space: nowrap; }
.home-ep__vb-st { font-size: .8rem; font-weight: 700; color: var(--ep-teal); white-space: nowrap; }

.home-ep__fx {
  margin-top: 18px; border-radius: 16px; background: #fff; overflow: hidden;
  box-shadow: 0 4px 14px #00000012;
}
.home-ep__fx-head {
  display: grid; grid-template-columns: 1fr .8fr .8fr; gap: 8px;
  padding: 10px 14px; font-size: .78rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: #7a828c; background: #eceff2;
}
.home-ep__fx-row {
  display: grid; grid-template-columns: 1fr .8fr .8fr; gap: 8px; align-items: center;
  padding: 14px 14px 16px; font-size: .95rem; font-weight: 700;
}
.home-ep__fx-ccy { display: flex; align-items: center; gap: 8px; }
.home-ep__flag { font-size: 1.2rem; line-height: 1; }
.home-ep__fx-num { font-variant-numeric: tabular-nums; }

.home-ep__lic-cta {
  display: flex; align-items: center; gap: 12px; width: 100%;
  margin-top: 22px; padding: 12px 14px; border: 1px solid rgba(13,80,60,.28);
  border-radius: 14px; background: linear-gradient(180deg, #fff, #f4faf8);
  box-shadow: 0 4px 14px #0d503c14; cursor: pointer; text-align: left;
  text-decoration: none; color: inherit;
}
.home-ep__lic-cta__icon {
  flex-shrink: 0; display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: 12px; background: linear-gradient(145deg, #efe8f6, #d4c4e8); color: #5b2d8e;
}
.home-ep__lic-cta__text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.home-ep__lic-cta__en { font-size: .88rem; font-weight: 800; }
.home-ep__lic-cta__ar { font-size: .72rem; font-weight: 700; color: #5b2d8e; }
.home-ep__lic-cta__chev { color: #5b2d8e; opacity: .85; }

.home-ep__policy-mini {
  display: block; width: 100%; margin-top: 18px; padding: 10px; border: none;
  border-radius: 12px; background: transparent; color: #8a929c;
  font-size: .8rem; font-weight: 600; text-decoration: underline; cursor: pointer;
  text-align: center;
}

.ep-tabbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 400;
  padding: 0 10px env(safe-area-inset-bottom, 0px);
  filter: drop-shadow(0 -6px 16px rgba(43,30,62,.16));
}
.ep-tabbar__inner {
  display: flex; align-items: stretch; justify-content: space-around; gap: 4px;
  padding: 10px 8px 12px; border-radius: 22px 22px 0 0;
  background: var(--ep-nav-gradient);
  box-shadow: inset 0 1px #fff3, inset 0 -1px #00000014;
  max-width: 520px; margin-inline: auto;
}
.ep-tab {
  appearance: none; border: none; background: transparent; color: #ffffffb8;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; flex: 1; cursor: pointer; padding: 4px; border-radius: 12px;
  min-height: 56px; text-decoration: none;
}
.ep-tab--on { color: #fff; }
.ep-tab__label { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: capitalize; }

@media (min-width: 640px) {
  .app-shell__main { display: flex; justify-content: center; }
  .home-ep { width: 100%; max-width: 520px; box-shadow: 0 12px 40px rgba(43,30,62,.18); }
}

.login-ep{position:relative;min-height:100dvh;min-height:100vh;display:flex;flex-direction:column;z-index:1}.login-ep__bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse 110% 75% at 50% -12%,rgba(140,210,255,.32),transparent 58%),radial-gradient(ellipse 80% 50% at 100% 40%,rgba(40,120,180,.22),transparent 50%),radial-gradient(ellipse 70% 45% at 0% 60%,rgba(30,100,150,.18),transparent 48%),linear-gradient(168deg,#2b1e3e,#3d2860 38%,#4a2a7a 72%,#2b1e3e)}.login-ep__header-sheet{position:relative;z-index:2;box-sizing:border-box;margin:calc(8px + env(safe-area-inset-top)) 12px 0;padding:16px 16px 20px;max-width:480px;margin-left:auto;margin-right:auto;width:calc(100% - 24px);border-radius:22px 22px 14px 14px;background:linear-gradient(165deg,#1a1028,#3d2860 52%,#0a3550);box-shadow:0 12px 32px #00000038,inset 0 1px #ffffff14}.login-ep__header-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}.login-ep__header-spacer{flex:1;min-width:0}.login-ep__brand-mark{flex-shrink:0;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center;text-decoration:none;background:linear-gradient(145deg,#9b6fd4,#6b3fa0 45%,#4a2a7a);color:#fff;box-shadow:0 4px 14px #3d206073,inset 0 1px #ffffff47;transition:transform .09s ease,filter .09s ease}.login-ep__brand-mark:active{transform:scale(.97)}.login-ep__brand-silhouette{width:26px;height:26px;opacity:.98}.login-ep__main{position:relative;z-index:2;flex:1;box-sizing:border-box;width:100%;max-width:440px;margin-inline:auto;padding:17px 20px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch}.login-ep__title--hero{margin:18px 0 0;text-align:center;font-size:clamp(2.15625rem,6.5vw,2.6875rem);font-weight:800;letter-spacing:.02em;line-height:1.06;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.32)}.login-ep__toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;margin-top:14px;padding-top:2px}.login-ep__toolbar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;color:#ffffffeb;background:#ffffff1a;border:1px solid rgba(255,255,255,.22);box-shadow:0 2px 10px #0000001f;transition:background .12s ease,border-color .12s ease,transform .08s ease}.login-ep__toolbar-btn:active{transform:scale(.98);background:#ffffff29}.login-ep__toolbar-ico{width:15px;height:15px;opacity:.95}.login-ep__lang-code{display:inline-grid;place-items:center;min-width:1.5rem;padding:1px 5px;border-radius:6px;font-size:.65rem;font-weight:800;letter-spacing:.06em;color:#2b1e3ef2;background:#ffffffe0}.login-ep__toolbar-dot{width:4px;height:4px;border-radius:50%;background:#ffffff59;flex-shrink:0}@media (max-width: 340px){.login-ep__toolbar-btn{font-size:.75rem;padding:7px 10px}}.login-ep__form{display:flex;flex-direction:column;gap:14px}.login-ep__btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;border-radius:12px;font-size:1.0625rem;font-weight:700;letter-spacing:.06em;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:transform .08s ease,filter .08s ease}.login-ep__btn:active{transform:scale(.99)}.login-ep__btn--primary{margin-top:8px;border:none;color:#fff;background:linear-gradient(180deg,#8b5cc7,#6b3fa0 52%,#5b2d8e);box-shadow:0 8px 22px #3d206073,inset 0 1px #ffffff38}.login-ep__tri{display:grid;place-items:center}.login-ep__btn--ghost{margin-top:14px;border:1px solid rgba(255,255,255,.88);color:#fffffffa;font-weight:700;background:#ffffff0f;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 10px #0000001f}.login-ep__promo{position:relative;z-index:2;box-sizing:border-box;width:calc(100% - 24px);max-width:440px;margin:10px auto max(14px,env(safe-area-inset-bottom));padding:16px 18px;border-radius:14px;background:linear-gradient(145deg,#fffffff0,#ecf4fafa);border:1px solid rgba(255,255,255,.65);box-shadow:0 12px 32px #0000002e,inset 0 1px #ffffffe6;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.login-ep__promo-text{display:flex;flex-direction:column;gap:4px;min-width:0}.login-ep__promo-line1,.login-ep__promo-line2{display:block;font-weight:800;letter-spacing:.02em;line-height:1.15}.login-ep__promo-line1{font-size:1.25rem;color:#6b3fa0}.login-ep__promo-line2{font-size:1.125rem;color:#5b2d8e}.login-ep__promo-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.login-ep__promo-chip{font-size:.6875rem;font-weight:700;color:#4a2a7a;padding:6px 10px;border-radius:999px;background:#6b3fa01f;border:1px solid rgba(27,138,92,.22);white-space:nowrap}.ico-tel,.ico-lock{display:flex;align-items:center;color:#8a7a9e}.eye-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:4px 2px;background:transparent;cursor:pointer;display:flex;align-items:center}.login-ep .login-ep-field.van-field{background:#ffffffe0!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:14px!important;overflow:visible}.login-ep .login-ep-field .van-cell{padding:12px 14px!important;background:#fff!important;border-radius:12px;border:1px solid #6b5a80;box-shadow:inset 0 1px #ffffffd9,0 1px 4px #00000014}.login-ep .login-ep-field .van-field__left-icon{margin-right:8px!important;display:flex;align-items:center}.login-ep .login-ep-field .van-field__control{font-size:15px}.login-ep .login-ep-field .van-field__control::placeholder{color:#9a8eaa}.login-ep .login-ep-field:first-of-type{margin-top:0}

.user-ep{position:relative;min-height:100dvh;min-height:100vh;background:var(--ep-page-bg)}.user-ep__main{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:14px 18px calc(var(--ep-tab-h) + 28px);box-sizing:border-box}.user-ep__loan{position:relative;border-radius:16px;padding:18px 20px 20px;background:var(--ep-header-gradient);box-shadow:0 4px 18px #2b1e3e38,inset 0 1px #ffffff2e;border:1px solid rgba(255,255,255,.2);overflow:hidden}.user-ep__loan-crest{position:absolute;top:14px;right:16px;opacity:.98;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}.user-ep__loan-brand{display:block;box-sizing:border-box;width:auto;max-width:132px;height:40px;padding:3px 6px;border-radius:10px;object-fit:contain;border:1px solid rgba(255,255,255,.35);background:#fffffff2}.user-ep__loan-cap{margin:0 0 6px;font-size:.8125rem;font-weight:600;letter-spacing:.06em;color:#ffffffc7;text-transform:uppercase}.user-ep__loan-amt{margin:0 0 10px;font-size:1.75rem;font-weight:800;letter-spacing:.02em;color:#fffffffa;text-shadow:0 2px 10px rgba(0,30,60,.35)}.user-ep__loan-amt--pending{font-size:1.125rem;font-weight:650;letter-spacing:.04em;text-transform:none;color:#ffffffd1;text-shadow:none}.user-ep__wallet-subline{margin:0 0 6px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8125rem;line-height:1.35;color:#ffffffb8}.user-ep__wallet-sub-k{font-weight:600;letter-spacing:.04em;text-transform:uppercase}.user-ep__wallet-sub-v{font-weight:800;color:#ffffffeb}.user-ep__fee-cta{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:14px;padding:12px 14px;box-sizing:border-box;border:1px solid rgba(255,255,255,.4);border-radius:12px;background:#00143238;color:#fffffff5;font-size:.6875rem;font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase;cursor:pointer;text-align:center;transition:filter .1s ease,transform .1s ease}.user-ep__fee-cta:active{transform:scale(.99);filter:brightness(1.05)}.user-ep__fee-cta-subl{display:block;font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:none;opacity:.88}.user-ep__resume-cta{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;margin:0 0 16px;padding:12px 14px;box-sizing:border-box;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:var(--ep-cta-gradient);color:#fffffff5;font-size:.75rem;font-weight:800;letter-spacing:.08em;line-height:1.25;text-transform:uppercase;cursor:pointer;text-align:center;transition:transform .1s ease,filter .1s ease;box-shadow:0 6px 22px #4a2a7a52,inset 0 1px #ffffff47}.user-ep__resume-cta:active{transform:scale(.99);filter:brightness(.97)}.user-ep__resume-cta-subl{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:#ffffffc7;opacity:1}.user-ep__agree{display:flex;align-items:flex-start;gap:10px;margin:16px 0 20px;cursor:pointer;font-size:.8125rem;line-height:1.45;color:var(--ep-text-soft)}.user-ep__checkbox{margin-top:2px;width:18px;height:18px;accent-color:#5b2d8e;flex-shrink:0}.user-ep__agree-txt{flex:1}.user-ep__policy-hit{display:inline;padding:0;border:none;background:none;cursor:pointer;color:#6b3fa0;font:inherit;font-weight:700;text-decoration:underline}.user-ep__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:18px}.user-ep__tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.28);border-radius:12px;padding:14px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:104px;box-sizing:border-box;color:#fff;background:var(--ep-cta-gradient);box-shadow:0 6px 22px #4a2a7a52,inset 0 1px #ffffff47;transition:transform .1s ease,filter .1s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:2}.user-ep__tile:active{transform:scale(.98);filter:brightness(.97)}.user-ep__glyph{display:grid;place-items:center;color:#fffffff0;pointer-events:none}.user-ep__tile-lbl{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.2;color:#ffffffeb;pointer-events:none}.user-ep__logout-pill{display:block;width:100%;margin-bottom:20px;padding:15px 20px;border:none;border-radius:999px;cursor:pointer;font-size:1.05rem;font-weight:800;letter-spacing:.06em;color:#fff;background:var(--ep-cta-gradient);box-shadow:0 6px 22px #4a2a7a59,inset 0 1px #ffffff47}.user-ep__logout-pill:active{transform:scale(.992)}.user-ep__glow{height:48px;margin-top:8px;border-radius:50% 50% 0 0;background:radial-gradient(ellipse 85% 100% at 50% 100%,rgba(91,45,142,.12),transparent 68%);pointer-events:none}.user-ep__policy-dialog .van-dialog__header{font-weight:800}.user-ep__policy-body{padding:8px 18px 12px;text-align:left;font-size:13px;line-height:1.56;color:#474d59}.user-ep__policy-body p{margin:0 0 10px}.user-ep__grid.user-ep__grid--account{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;margin-inline:0}.user-ep__grid--account .user-ep__tile{min-height:96px}.user-ep__grid--account .user-ep__tile-lbl{font-size:9px;line-height:1.25;max-width:100%}.user-ep__notif-popup{display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#f6f9fc,#f0ebf7)}.user-ep__notif-head{flex-shrink:0;padding:18px 18px 10px;border-bottom:1px solid rgba(91,45,142,.08)}.user-ep__notif-title{display:block;font-size:1.05rem;font-weight:800;color:#2b1e3e;letter-spacing:.04em}.user-ep__notif-hint{display:block;margin-top:4px;font-size:.72rem;font-weight:600;color:#7a8698}.user-ep__notif-loading{padding:48px 0;text-align:center}.user-ep__notif-scroll{flex:1;overflow-y:auto;padding:12px 14px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.user-ep__notif-empty{text-align:center;padding:40px 16px;font-size:.9rem;font-weight:600;color:#8a929c}.user-ep__notif-card{background:#fffffff5;border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:0 4px 16px #0c284814;border:1px solid rgba(255,255,255,.8)}.user-ep__notif-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.user-ep__notif-src{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#2b1e3e;background:#6b3fa01f;padding:3px 8px;border-radius:999px}.user-ep__notif-time{font-size:.72rem;font-weight:600;color:#8a929c}.user-ep__notif-body{margin:0;font-size:.86rem;line-height:1.5;color:#1a2f4d;white-space:pre-wrap;word-break:break-word}


/* App top nav (inner pages) */
.ep-appnav{position:sticky;top:0;z-index:100;background:var(--ep-header-gradient);color:#fff;box-shadow:0 4px 18px #2b1e3e38}
.ep-appnav__row{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 12px calc(10px + env(safe-area-inset-top,0px));max-width:520px;margin:0 auto}
.ep-appnav__back{appearance:none;border:none;background:transparent;color:#fff;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;text-decoration:none;border-radius:10px}
.ep-appnav__title{flex:1;text-align:center;margin:0 40px 0 0;font-size:1.05rem;font-weight:700;letter-spacing:.04em}
.wallet-ep{min-height:100dvh;background:var(--ep-page-bg-soft)}
.wallet-ep__body{max-width:520px;margin:0 auto;padding:16px 16px calc(var(--ep-tab-h) + 28px)}
.wallet-ep__balance{border-radius:16px;padding:20px 18px;background:var(--ep-header-gradient);color:#fff;box-shadow:0 4px 18px #2b1e3e38,inset 0 1px #ffffff2e}
.wallet-ep__balance-label{margin:0 0 6px;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffffc7}
.wallet-ep__balance-amt{margin:0;font-size:1.85rem;font-weight:800}
.wallet-ep__btn{display:block;width:100%;margin-top:14px;padding:14px 18px;border-radius:12px;text-align:center;font-size:1.02rem;font-weight:700;letter-spacing:.03em;text-decoration:none;box-sizing:border-box;cursor:pointer;appearance:none}
.wallet-ep__btn--solid{border:none;color:#fff;background:var(--ep-cta-gradient);box-shadow:0 6px 20px #3d206059,inset 0 1px #ffffff47}
.wallet-ep__btn--ghost{border:2px solid rgba(91,45,142,.35);color:#5b2d8e;background:#fff}
.wallet-ep__card{margin-top:18px;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 4px 14px #00000012;border:1px solid rgba(91,45,142,.08)}
.wallet-ep__card-title{margin:0;padding:14px 16px;font-size:1rem;font-weight:800;border-bottom:1px solid #efeaf5}
.wallet-ep__row{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #f2eef6}
.wallet-ep__row:last-child{border-bottom:none}
.wallet-ep__row dt{margin:0;color:var(--ep-text-soft);font-weight:600;font-size:.87rem}
.wallet-ep__row dd{margin:0;font-weight:700;text-align:right}
.apply-ep{min-height:100dvh;min-height:100vh;background:var(--ep-page-bg-soft);padding-bottom:calc(var(--ep-tab-h) + 20px);max-width:520px;margin:0 auto;box-shadow:0 12px 40px rgba(43,30,62,.18)}
.apply-ep__hero{max-width:520px;margin:10px auto 0;padding:0 14px}
.apply-ep__hero-inner{border-radius:14px;padding:18px 20px;background:linear-gradient(135deg,#7c4db81f,#5b2d8e14),linear-gradient(180deg,#faf8fc,#f0ebf7);border:1px solid rgba(91,45,142,.12);box-shadow:0 6px 22px #2b1e3e14}
.apply-ep__hero-k{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5b2d8e}
.apply-ep__hero-t{margin:8px 0 0;font-size:1.05rem;font-weight:800;letter-spacing:.02em;color:#2b1e3e}
.apply-ep__body{max-width:520px;margin:14px auto 0;padding:16px 18px 24px}
.apply-ep__h{margin:0 0 12px 2px;font-size:1.05rem;font-weight:800;letter-spacing:.02em;color:var(--ep-text)}
.apply-ep__h--small{margin-top:22px;font-size:1rem}
.apply-ep__amt-card{padding:22px 18px;border-radius:22px;background:#fff;box-shadow:var(--ep-soft-ui);text-align:center}
.apply-ep__amt-hint{margin:0 0 14px;font-size:.74rem;font-weight:600;line-height:1.45;color:#6b7582}
.apply-ep__manual{display:flex;align-items:center;gap:10px;padding:8px 4px;margin-bottom:12px;border-radius:14px;background:#5b2d8e0f;border:1px solid rgba(91,45,142,.12)}
.apply-ep__manual-ccy{flex-shrink:0;padding-left:10px;font-size:.85rem;font-weight:800;color:#5b2d8e;letter-spacing:.04em}
.apply-ep__manual-input{flex:1;width:100%;border:none;outline:none;background:transparent;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:#2b1e3e;padding:10px 8px;font-family:inherit}
.apply-ep__amt-preview-num{margin:0;font-size:.88rem;font-weight:700;text-align:center;color:#5a6570;font-variant-numeric:tabular-nums}
.apply-ep__slider-shell{margin-top:22px;padding:14px 14px 10px;border-radius:18px;background:#fff;box-shadow:var(--ep-soft-ui)}
.apply-ep__slider-row{display:flex;align-items:center;gap:12px}
.apply-ep__slider-core{flex:1;display:flex;align-items:center}
.apply-ep__range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:linear-gradient(90deg,#d4c4e8,#5b2d8e);outline:none}
.apply-ep__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(91,45,142,.35);box-shadow:0 2px 6px #2b1e3e1f,inset 0 1px #fffffff2;cursor:pointer}
.apply-ep__range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(91,45,142,.35);box-shadow:0 2px 6px #2b1e3e1f;cursor:pointer}
.apply-ep__step-btn{flex-shrink:0;-webkit-appearance:none;appearance:none;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;border:1.5px solid rgba(91,45,142,.32);background:linear-gradient(180deg,#fff,#f7f3fb);box-shadow:0 1px 2px #1a10280f,inset 0 1px #ffffffe6;color:#5b2d8e;cursor:pointer}
.apply-ep__step-btn:active{transform:scale(.94);background:#5b2d8e14;border-color:#5b2d8e6b}
.apply-ep__step-glyph{font-size:1.35rem;font-weight:500;line-height:1;margin-top:-1px}
.apply-ep__range-labels{display:flex;justify-content:space-between;padding:10px 8px 4px;font-size:.75rem;font-weight:600;color:#8b939e;font-variant-numeric:tabular-nums}
.apply-ep__months{display:flex;flex-wrap:wrap;gap:10px}
.month-chip{-webkit-appearance:none;appearance:none;border:none;cursor:pointer;padding:11px 14px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:#4a5562;background:#fff;box-shadow:4px 4px 14px #162c4812,-4px -4px 12px #ffffffd9;transition:background .18s,color .18s,box-shadow .18s}
.month-chip--on{color:#fff;background:linear-gradient(90deg,#7c4db8,#5b2d8e 55%,#2b1e3e);box-shadow:0 10px 22px #2b1e3e47,inset 0 1px #ffffff38}
.month-chip:active{transform:scale(.98)}
.apply-ep__rate-note{margin:14px 2px 0;font-size:.72rem;font-weight:600;text-align:center;color:#7a8491;line-height:1.45}
.apply-ep__rate-note--sub{margin-top:6px;font-size:.68rem}
.apply-ep__preview{margin:22px 2px 6px;font-size:.88rem;font-weight:600;color:var(--ep-text-soft);line-height:1.55;text-align:center}
.apply-ep__preview strong{font-size:1.15rem;font-weight:900;color:var(--ep-text)}
.apply-ep__go{margin-top:18px}
.apply-ep__go .ep-pill-cta{margin-top:0}
.login-ep-field{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #6b5a80;box-shadow:inset 0 1px #ffffffd9,0 1px 4px #00000014}
.login-ep-field input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:#2b1e3e;font-family:inherit}
.login-ep-field input::placeholder{color:#9a8eaa}
.login-ep__error{color:#ffb4b4;font-size:.85rem;font-weight:600;margin-top:8px;text-align:center}
.login-ep__success{color:#9dffc0;font-size:.85rem;font-weight:600;margin-top:8px;text-align:center}
a.user-ep__tile{text-decoration:none}/* KYC / inner form pages */
.kyc-ep {
  min-height: 100dvh; min-height: 100vh;
  max-width: 520px; margin: 0 auto;
  background: var(--ep-page-bg-soft);
  box-shadow: 0 12px 40px rgba(43,30,62,.18);
  padding-bottom: calc(var(--ep-tab-h) + 24px);
}
.kyc-ep--wash {
  background: linear-gradient(180deg, #2b1e3e, #4a2a7a 28%, #7a6b96 55%, #f0ebf7);
}
.kyc-ep__intro {
  margin: 14px 18px 8px;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.kyc-ep__intro-title {
  margin: 0; font-size: 1.65rem; font-weight: 800; line-height: 1.15;
}
.kyc-ep__intro-note {
  margin: 6px 0 0; font-size: .8rem; font-weight: 600; line-height: 1.45; color: #ffffffeb;
}
.kyc-ep__body {
  padding: 14px 16px 8px;
}
.kyc-ep__sheet {
  border-radius: 16px;
  background: #fffffff5;
  padding: 16px 16px 20px;
  box-shadow: 0 8px 28px #0f28481f;
}
.kyc-ep__section {
  margin: 0 0 14px;
  font-size: 1rem; font-weight: 800; color: #2b1e3e;
}
.kyc-ep__field { margin-bottom: 14px; }
.kyc-ep__label {
  display: block; margin: 0 0 6px 2px;
  font-size: .78rem; font-weight: 700; letter-spacing: .03em; color: #5a6570;
}
.kyc-ep__input,
.kyc-ep__select {
  display: block; width: 100%; box-sizing: border-box;
  padding: 12px 14px; border-radius: 12px;
  border: 1px solid rgba(91,45,142,.18);
  background: #f7fafc; color: #2b1e3e;
  font-size: .95rem; font-weight: 600; font-family: inherit;
  outline: none;
}
.kyc-ep__input:focus,
.kyc-ep__select:focus {
  border-color: rgba(91,45,142,.45);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(91,45,142,.12);
}
.kyc-ep__input:disabled,
.kyc-ep__select:disabled {
  opacity: .72; cursor: not-allowed;
}
.kyc-ep__group {
  margin: 12px 0 16px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(91,45,142,.12);
  background: #faf8fc;
}
.kyc-ep__group-title {
  margin: 0 0 10px; font-size: .88rem; font-weight: 800; color: #2b1e3e;
}
.kyc-ep__upload {
  margin-bottom: 16px;
}
.kyc-ep__slot {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  background: #f0ebf7;
  border: 1px dashed rgba(91,45,142,.28);
  min-height: 140px;
  display: grid;
  place-items: center;
}
.kyc-ep__slot img {
  display: block; width: 100%; max-height: 220px; object-fit: contain; background: #fff;
}
.kyc-ep__slot-actions {
  display: flex; justify-content: center; margin-top: 8px;
}
.kyc-ep__upload-btn {
  appearance: none; border: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px; border-radius: 999px;
  font-size: .85rem; font-weight: 700; color: #fff;
  background: var(--ep-cta-gradient);
  box-shadow: 0 4px 14px #3d206040;
}
.kyc-ep__file { display: none; }
.kyc-ep__submit {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; margin-top: 8px; padding: 14px 18px;
  border: none; border-radius: 999px; cursor: pointer;
  font-size: 1.02rem; font-weight: 700; letter-spacing: .03em; color: #fff;
  background: var(--ep-cta-gradient);
  box-shadow: 0 6px 20px #3d206059, inset 0 1px #ffffff47;
}
.kyc-ep__submit:active { transform: scale(.992); }
.kyc-ep__ghost {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 14px; border-radius: 10px; cursor: pointer;
  border: 1.5px solid rgba(91,45,142,.3); background: #fff; color: #5b2d8e;
  font-size: .85rem; font-weight: 700;
}

/* signature */
.sign-ep__contract {
  margin: 0 0 14px; padding: 14px 14px 16px;
  border-radius: 14px; background: #fff;
  border: 1px solid #e2e8f0; box-shadow: 0 1px 3px #0f172a0f;
}
.sign-ep__eyebrow {
  margin: 0 0 4px; font-size: 11px; letter-spacing: .06em;
  text-transform: uppercase; color: #64748b; font-weight: 700;
}
.sign-ep__head {
  margin: 0 0 8px; font-size: 1.05rem; font-weight: 800; color: #0f172a;
}
.sign-ep__meta {
  margin: 0 0 12px; font-size: .85rem; color: #475569; line-height: 1.5;
}
.sign-ep__pad {
  min-height: 180px; width: 100%; box-sizing: border-box;
  border: 1px solid #d1d5db; border-radius: 10px; background: #fff; overflow: hidden;
}
.sign-ep__pad canvas { display: block; max-width: 100%; }
.sign-ep__toolbar { display: flex; gap: 8px; margin-top: 10px; justify-content: center; flex-wrap: wrap; }

/* generic inner content card for remaining pages */
.inner-ep {
  min-height: 100dvh; background: var(--ep-page-bg-soft);
  max-width: 520px; margin: 0 auto;
  box-shadow: 0 12px 40px rgba(43,30,62,.18);
  padding-bottom: calc(var(--ep-tab-h) + 28px);
}
.inner-ep__body { padding: 16px; }
.inner-ep__card {
  border-radius: 16px; background: #fff; padding: 16px;
  box-shadow: 0 4px 14px #00000012; border: 1px solid rgba(91,45,142,.08);
}
.inner-ep__card h1, .inner-ep__card h2 {
  margin: 0 0 12px; font-size: 1.1rem; font-weight: 800; color: #2b1e3e;
}
.inner-ep__card p, .inner-ep__card li {
  color: #475569; font-size: .9rem; line-height: 1.55;
}
