*{box-sizing:border-box;margin:0;padding:0;font-family:'Segoe UI',sans-serif}
:root{--pc:#0a2d6e;--bg:#f0f4f8;--fc:#1a1a2e;--card:#fff;--gray:#6b7280;--green:#16a34a;--red:#dc2626;--gold:#d97706}
body{background:var(--bg);color:var(--fc);min-height:100vh}
#app{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:80px;position:relative}

/* TOP BAR */
.topbar{background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;position:sticky;top:0;z-index:200}
.topbar h1{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.topbar select{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 8px;border-radius:8px;font-size:13px}
.topbar select option{color:#1a1a2e;background:#fff}

/* BOTTOM NAV */
.bottom-nav{background:var(--pc);position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;align-items:flex-end;justify-content:space-around;padding:8px 0 6px;z-index:200}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;color:rgba(255,255,255,.55);text-decoration:none;font-size:10px;gap:3px;padding:0 4px}
.bottom-nav a.on,.bottom-nav a:hover{color:#fff}
.bottom-nav a i{font-size:18px}
.nav-mid{margin-top:-22px!important}
.mid-icon{background:#fff;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:3px solid var(--pc);box-shadow:0 0 0 3px #fff;margin-bottom:2px}
.mid-icon i{font-size:22px;color:var(--pc)}
.mid-icon img{width:36px;height:36px;object-fit:contain;border-radius:50%}

/* CARDS */
.card{background:var(--card);border-radius:16px;padding:16px;margin:10px 12px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.card-dark{background:var(--pc);color:#fff;border-radius:16px;padding:20px;margin:10px 12px}
.page-hdr{background:var(--pc);color:#fff;display:flex;align-items:center;gap:12px;padding:16px}
.page-hdr h2{font-size:17px;font-weight:700}
.back{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1}

/* FORMS */
.fg{margin-bottom:14px}
.fg label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:5px}
.fg label .req{color:var(--red)}
.inp{display:flex;align-items:center;background:#f0f4f8;border-radius:12px;padding:0 14px;border:1.5px solid transparent;transition:.2s}
.inp:focus-within{border-color:var(--pc);background:#fff}
.inp i{color:var(--gray);font-size:15px;margin-right:10px;flex-shrink:0}
.inp input,.inp select{background:transparent;border:none;outline:none;flex:1;font-size:15px;padding:13px 0;width:100%;color:var(--fc)}
.inp .prefix{color:#374151;font-weight:700;padding-right:10px;border-right:2px solid #d1d5db;margin-right:10px;white-space:nowrap}
.inp .eye{background:none;border:none;cursor:pointer;color:var(--gray);padding:0;font-size:15px}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;margin:8px 0}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 20px;border-radius:12px;border:none;cursor:pointer;font-size:15px;font-weight:600;text-decoration:none;width:100%;transition:.15s}
.btn-p{background:var(--pc);color:#fff}
.btn-o{background:transparent;border:2px solid var(--pc);color:var(--pc)}
.btn-g{background:var(--green);color:#fff}
.btn-r{background:var(--red);color:#fff}
.btn-sm{padding:7px 14px;font-size:13px;border-radius:8px;width:auto}

/* ALERTS */
.alert{padding:12px 14px;border-radius:10px;font-size:14px;margin:8px 12px}
.alert-s{background:#d1fae5;color:#065f46}
.alert-e{background:#fee2e2;color:#991b1b}

/* BALANCE CARD */
.bal-card{background:var(--pc);color:#fff;border-radius:16px;padding:20px;margin:10px 12px}
.bal-label{font-size:12px;opacity:.75;margin-bottom:4px}
.bal-amount{font-size:30px;font-weight:800;letter-spacing:.5px}
.bal-actions{display:flex;gap:10px;margin-top:14px}
.bal-actions a{flex:1;text-align:center;padding:9px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none}
.bal-dep{background:rgba(255,255,255,.2);color:#fff}
.bal-wit{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:#fff}

/* QUICK SERVICES GRID */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 4px}
.svc-btn{background:#fff;border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fc);box-shadow:0 1px 6px rgba(0,0,0,.06);transition:.15s}
.svc-btn:hover{box-shadow:0 3px 12px rgba(0,0,0,.1)}
.svc-ico{background:var(--pc);color:#fff;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.svc-btn span{font-size:13px;font-weight:600;line-height:1.3}

/* SECTION TITLE */
.sec-title{font-size:16px;font-weight:700;padding:10px 14px 6px;display:flex;align-items:center;gap:8px}

/* TICKER */
.ticker{background:#e8f0fe;margin:8px 12px;border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:13px;overflow:hidden}
.ticker-wrap{overflow:hidden;flex:1}
.ticker-text{display:inline-block;white-space:nowrap}

/* ORDER / LIST ITEMS */
.list-item{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #f0f4f8}
.list-item:last-child{border:none}
.status{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase}
.st-p{background:#fef3c7;color:#d97706}
.st-a{background:#d1fae5;color:#059669}
.st-r{background:#fee2e2;color:#dc2626}
.st-active{background:#dbeafe;color:#1d4ed8}
.st-done{background:#f3f4f6;color:#6b7280}

/* EMPTY STATE */
.empty{text-align:center;padding:52px 24px}
.empty i{font-size:52px;color:#d1d5db;margin-bottom:14px}
.empty h3{font-size:17px;color:#374151;margin-bottom:6px}
.empty p{font-size:14px;color:var(--gray)}

/* TEAM */
.team-box{background:var(--pc);color:#fff;border-radius:16px;padding:20px;margin:10px 12px}
.team-stats{background:rgba(255,255,255,.12);border-radius:10px;display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center;padding:14px;margin-top:12px;gap:4px}
.team-stats div{font-size:11px;opacity:.8}
.team-stats strong{display:block;font-size:15px;margin-bottom:3px}
.tier-tabs{display:flex;gap:8px;margin:10px 12px}
.tier-tab{flex:1;padding:9px;border-radius:10px;background:#f0f4f8;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--fc)}
.tier-tab.on{background:var(--pc);color:#fff}

/* PAYMENT NETWORKS GRID */
.net-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px}
.net-card{border:2px solid #e5e7eb;border-radius:12px;padding:14px;text-align:center;cursor:pointer;transition:.15s;background:#fff}
.net-card.sel{border-color:var(--pc);background:#eff6ff}
.net-card img{width:48px;height:48px;object-fit:contain;border-radius:8px;margin-bottom:6px}
.net-card .net-ico{width:48px;height:48px;background:#f0f4f8;border-radius:8px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:22px;color:var(--pc)}
.net-card span{font-size:13px;font-weight:600;display:block}
.pay-details{background:#eff6ff;border:1.5px solid var(--pc);border-radius:12px;padding:14px;margin:10px 12px;display:none}
.pay-details.show{display:block}
.pay-details .pd-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}
.pay-details .pd-row span:first-child{color:var(--gray)}
.pay-details .pd-row strong{font-weight:700}

/* LOGO LOGIN */
.auth-logo{text-align:center;padding:28px 16px 10px}
.auth-logo img{height:56px}
.auth-logo .ico-wrap{width:70px;height:70px;background:var(--pc);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.auth-logo .ico-wrap i{font-size:32px;color:#fff}
.auth-logo h2{font-size:24px;font-weight:800;color:var(--pc);margin:6px 0 4px}
.auth-logo p{font-size:14px;color:var(--gray)}
.auth-sub{font-size:13px;font-weight:700;color:var(--pc);margin-bottom:2px}

/* NEWS */
.news-card{background:#fff;border-radius:14px;margin:10px 12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.news-card img{width:100%;height:170px;object-fit:cover}
.news-body{padding:14px}
.news-body h3{font-size:15px;font-weight:700;margin-bottom:6px}
.news-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--gray);margin-bottom:8px}
.cat-badge{background:#e8f0fe;color:var(--pc);padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700}

/* PROFILE */
.profile-hdr{background:var(--pc);color:#fff;padding:20px 16px}
.p-user{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.p-avatar{width:50px;height:50px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px}
.p-info h3{font-size:15px;font-weight:700}
.p-info p{font-size:12px;opacity:.75}
.p-bal{font-size:28px;font-weight:800;margin:4px 0}
.acc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px}
.acc-btn{background:#fff;border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fc);box-shadow:0 1px 5px rgba(0,0,0,.05)}
.acc-ico{background:var(--pc);color:#fff;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.acc-btn .tx{font-size:13px;font-weight:600;line-height:1.2}
.acc-btn .tx small{font-size:11px;color:var(--gray);font-weight:400}

/* SHIP BANNER */
.ship-img{width:calc(100% - 24px);border-radius:14px;display:block;margin:10px 12px;object-fit:cover;max-height:165px}

/* TICKER ANIM */
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== PLAN CARDS ===== */
.plan-card{background:#fff;border-radius:16px;margin:10px 12px;padding:0;box-shadow:0 3px 14px rgba(0,0,0,.09);overflow:hidden;border:none;position:relative}
.plan-head{background:var(--pc);padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
.plan-name{color:#fff;font-size:17px;font-weight:800;letter-spacing:.3px}
.plan-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}
.badge-daily{background:rgba(255,255,255,.25);color:#fff}
.badge-maturity{background:#fef3c7;color:#92400e}

/* Rows: two-column grid so all labels align left and all values align right,
   like a proper table, instead of per-row flex with leader dots */
.plan-rows{
  padding:14px 16px 10px;
  display:grid;
  grid-template-columns:max-content 1fr;
  column-gap:14px;
  row-gap:9px;
  align-items:baseline;
}
.pr{
  display:contents; /* lets pr-l / pr-r become direct grid items */
}
.pr-l{color:#475569;font-weight:500;white-space:nowrap;grid-column:1}
.pr-r{font-weight:700;color:var(--fc);text-align:right;grid-column:2;white-space:nowrap}
.pr-r.green{color:var(--green)}
.pr-dots{display:none}

.total-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:max-content 1fr;
  column-gap:14px;
  border-top:1.5px solid #f0f4f8;
  padding-top:9px;
  margin-top:2px;
}
.total-row .pr-l{font-weight:700;color:var(--fc)}
.total-row .pr-r{font-size:16px;color:var(--green)}

.plan-desc{font-size:12px;color:var(--gray);padding:0 16px 8px;line-height:1.5}
.plan-card .btn{margin:0 16px 16px;width:calc(100% - 32px)}

/* old inline plan-info grid no longer used */
.plan-info{display:none}