@font-face{font-family:BaiJamjuree;src:url('/assets/app-477ceaa5c1f1bbdf.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:BaiJamjuree;src:url('/assets/app-949fc9581d901040.ttf') format('truetype');font-weight:700 900;font-style:normal;font-display:swap}
/* CyberVPN AppTheme / AppColors: Crystal Aurora, white cards, Royal Cyber Blue, emerald brand. */
:root{color-scheme:light;font-family:BaiJamjuree,Tahoma,Arial,sans-serif;font-size:18px;color:#0f172a;background:#f0f4ff;--muted:#475569;--line:#e2e8f0;--surface:#fff;--primary:#2563eb;--green:#059669}
html{scrollbar-gutter:stable}html:has(dialog[open]){overflow:hidden}
*{box-sizing:border-box}body{margin:0;line-height:1.65;min-height:100dvh;background:radial-gradient(ellipse at 0 15%,#b9d5ff75,transparent 50%),radial-gradient(ellipse at 100% 40%,#b5e8f34d,transparent 48%),#f0f4ff}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;min-height:48px;border:1px solid transparent;border-radius:12px;padding:.6rem 1.05rem;background:#eaf1ff;color:#1d4ed8;font-weight:700}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2563eb;outline-offset:3px}a{color:inherit;text-decoration:none}
button.primary,.primary{background:var(--primary);color:#fff}.secondary{background:#fff;border-color:#bfdbfe;color:#2563eb}.danger{background:#fff1f2;border-color:#fda4af;color:#be123c}.topup{background:#fce2ee;border-color:#d06c9d;color:#7c2452;box-shadow:0 3px 0 #d06c9d}.small{font-size:.88rem;min-height:44px;padding:.4rem .8rem}.muted{color:var(--muted)}.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-weight:700}.container{width:min(1240px,calc(100% - 48px));margin:auto}
.header{position:sticky;top:12px;margin:12px auto;width:min(1280px,calc(100% - 24px));border:1px solid #dbe5f6;border-radius:17px;background:#ffffffed;backdrop-filter:blur(18px);box-shadow:0 8px 30px #254d8210;z-index:10}.header-inner{display:flex;align-items:center;gap:24px;min-height:80px}.header-inner.container{width:calc(100% - 38px)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:700}.brand-symbol{display:block;object-fit:contain;width:48px;height:48px}.brand-name{font-size:1.35rem;letter-spacing:-.04em;color:#0f172a;line-height:1.25}.brand-name strong{color:#059669}.brand-pro{display:inline-block;margin-left:8px;background:#059669;border-radius:7px;padding:3px 6px;vertical-align:middle;font-size:.65rem;letter-spacing:0;color:#fff}.brand small{display:block;color:var(--muted);font-size:.65rem;font-weight:400;margin-top:2px}.nav{display:flex;gap:8px;flex:1}.nav button{background:none;color:#475569;padding:.5rem .7rem;font-weight:400}.nav button.selected{color:var(--primary);background:#eaf1ff}.account-actions{display:flex;align-items:center;gap:10px}.account-actions button.secondary{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance{font-size:.85rem;white-space:nowrap}.balance strong{display:block;font-size:1rem;color:#4f3f8b}
.hero{position:relative;overflow:hidden;margin:30px auto;min-height:330px;border:1px solid #c9dafb;border-radius:24px;background:radial-gradient(ellipse at 90% 30%,#b8d8ff70,transparent 65%),linear-gradient(120deg,#fff,#eaf2ff);padding:46px;display:flex;align-items:center;box-shadow:0 14px 36px #3567a40b}.hero-copy{z-index:1;max-width:72%}.hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.4;margin:12px 0 16px;font-weight:700;letter-spacing:-.03em}.hero h1 em{font-style:normal;color:var(--primary)}.hero p{color:#475569;max-width:540px;margin:0 0 22px}.hero-logo{position:absolute;right:32px;width:28%;max-width:310px;height:auto;filter:drop-shadow(0 15px 25px #7294c42b)}.hero-footer{display:flex;gap:24px;flex-wrap:wrap;font-size:.85rem;color:#475569;margin-top:28px}.hero-footer span:before{content:'✓';color:#059669;margin-right:8px}
#plans{scroll-margin-top:120px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 20px}.section-head h1,.section-head h2{margin:0;font-size:1.7rem}.section-head p{margin:0;color:var(--muted)}.network-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 30px}.network-tabs button{text-align:left;border:1px solid #dbe5f2;padding:16px 20px;background:#fff}.network-tabs b{display:block;font-size:1.2rem}.network-tabs small{display:block;color:var(--muted);font-weight:400}.network-tabs .selected{border-color:var(--primary);background:#eff6ff;box-shadow:inset 0 0 0 1px var(--primary)}.ais{--network:#067647;--network-soft:#d1fae5}.true{--network:#c02843;--network-soft:#ffe4e6}.dtac{--network:#0369a1;--network-soft:#d9f2ff}.all{--network:#2563eb;--network-soft:#dbeafe}.network-name{color:var(--network,var(--primary))}
.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.plan-card{max-width:620px;width:100%;margin:0 auto;background:#fff;border:1px solid #d8e4f6;border-radius:19px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px #294e7d0b;transition:transform .15s,box-shadow .15s}.plan-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px #294e7d18}.plan-image-link{position:relative;display:block;overflow:hidden}.plan-artwork{position:relative;display:flex;align-items:center;min-height:210px;padding:26px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 100% 10%,var(--network-soft,#dbeafe),transparent 80%),linear-gradient(135deg,#fff,#eff6ff)}.plan-artwork:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#ffffff80 25%,transparent 70%);z-index:-1}.art-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;max-width:72%;z-index:2}.art-label{font-size:.75rem;letter-spacing:.1em;color:var(--network,#2563eb);font-weight:700}.art-copy strong{font-size:clamp(2.5rem,7vw,4rem);line-height:1.3;color:var(--network,#2563eb);font-weight:700}.art-copy strong small{font-size:1rem;font-weight:400}.art-caption{font-size:1rem;color:#0f172a;font-weight:700}.art-network{margin-top:12px;background:#ffffffbf;border:1px solid #bfd5f3;color:var(--network,#2563eb);padding:3px 10px;border-radius:7px;font-size:.75rem}.art-logo{position:absolute;right:-8px;top:50%;width:43%;height:auto;transform:translateY(-50%) rotate(-8deg);z-index:1;filter:drop-shadow(0 10px 16px #335e9d22)}.ribbon{background:#059669;color:#fff;position:absolute;right:12px;top:12px;z-index:3;font-size:.75rem;border-radius:7px;padding:2px 8px;font-weight:700}.plan-body{padding:20px 22px 14px;text-align:center;display:flex;flex-direction:column;flex:1}.plan-body h3{font-size:1.2rem;line-height:1.5;margin:0 0 4px}.plan-summary{font-size:.9rem;color:var(--muted);margin:0 0 12px}.plan-price{margin-top:auto;font-size:1.6rem;font-weight:700;color:var(--primary);margin-bottom:12px}.plan-cta{display:flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:11px 14px;background:#2563eb;color:#fff;border:1px solid #2563eb;border-radius:11px;font-weight:700}.plan-cta:hover{background:#1d4ed8}.plan-footnote{display:block;margin-top:10px;color:#64748b;font-size:.8rem}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin:20px 0;box-shadow:0 7px 25px #294e7d08}.panel h2,.panel h3{margin:0 0 16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:grid;gap:16px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:grid;gap:7px;font-size:.95rem}.field span{color:#334155}input,select,textarea{width:100%;background:#fff;color:#0f172a;border:1px solid #b9cbe3;border-radius:10px;padding:12px 14px;min-height:48px}input[type=checkbox]{width:24px;min-height:24px;accent-color:#2563eb}textarea{resize:vertical;min-height:110px}.notice{padding:14px 18px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;margin:16px 0}.notice.error{background:#fff1f2;border-color:#fda4af;color:#9f1239}.success{border-color:#6ee7b7;background:#ecfdf5;color:#065f46}.status{display:inline-block;font-size:.85rem;padding:4px 10px;border-radius:8px;background:#edf2f8;color:#334155;white-space:nowrap}.status.approved,.status.active{background:#d1fae5;color:#065f46}.status.pending_review,.status.awaiting_slip,.status.queued{background:#fff4d6;color:#7b4d00}.status.rejected,.status.expired,.status.revoked{background:#ffe4e6;color:#9f1239}.empty{text-align:center;color:#64748b;padding:38px 16px}.empty span{font-size:2.5rem;color:#94a3b8}.empty p{margin:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}td,th{padding:16px 12px;border-bottom:1px solid var(--line)}th{font-size:.9rem;color:#475569;font-weight:400;background:#f8fafc}.table-wrap button{font-size:.85rem}.notification{padding:20px 0;border-bottom:1px solid var(--line)}.notification p{margin:5px 0}.notification.unread h3:before{content:'●';color:#2563eb;font-size:.6rem;vertical-align:middle;margin-right:10px}.pill{border:1px solid #cddcf2;padding:5px 12px;border-radius:99px;font-size:.8rem;color:#475569;background:#fff}.steps li{margin:18px 0;padding-left:8px}.footer{padding:32px 0;margin-top:58px;border-top:1px solid #d9e4f5;background:#ffffffb8;color:#475569;font-size:.85rem}.footer strong{color:#0f172a}
dialog{background:#fff;color:#0f172a;border:1px solid #c9d9f1;border-radius:20px;padding:26px;width:min(560px,calc(100vw - 24px));max-height:90dvh;overflow:auto;box-shadow:0 30px 150px #1e3a8a33}dialog::backdrop{background:#23385c66}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.dialog-head h2{font-size:1.4rem;margin:0}.icon-button{font-size:1.5rem;min-width:44px;padding:0;background:transparent;color:#64748b}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.tabs .selected{color:#fff;background:#2563eb}.receipt-amount{font-size:2rem;margin:12px 0;font-weight:700;color:#2563eb}.qr{display:block;width:240px;max-width:100%;height:auto;border:8px solid #fff;border-radius:12px;margin:20px auto;background:#fff}.slip-preview{max-width:100%;max-height:420px;object-fit:contain;display:block;margin:16px auto}.loading{text-align:center;padding:64px;color:#64748b}.mobile-nav{display:none}.checkbox-label{display:flex;align-items:center;gap:12px}.admin-menu{margin:20px 0}.inline-form{display:grid;gap:16px}.hint{font-size:max(15px,.8rem);color:#475569}.payment-method{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-method button.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.stat-number{font-size:2rem;font-weight:700;color:#4f3f8b}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.break-word{overflow-wrap:anywhere;white-space:normal}
.product-shell{margin-top:28px;padding:30px;border:1px solid #d9e4f4;background:#fff;border-radius:20px;box-shadow:0 12px 32px #315a8c0b}.breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.85rem;color:#64748b;margin-bottom:28px}.breadcrumb button{padding:0;min-height:36px;background:none;font-size:inherit;font-weight:400;color:#2563eb}.breadcrumb strong{font-weight:400;color:#0f172a;overflow-wrap:anywhere}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.product-media{min-width:0}.product-media .plan-artwork{min-height:350px;border-radius:15px;border:1px solid #d7e5fa;padding:32px}.product-media .art-copy strong{font-size:4.4rem}.product-media .art-logo{width:48%}.product-assurance{display:flex;align-items:center;gap:15px;margin-top:20px;padding:18px;background:#f0fdf9;border:1px solid #bae6d9;border-radius:13px}.product-assurance p{font-size:.85rem;color:#475569;margin:3px 0 0}.assurance-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #6ee7b7;border-radius:50%;color:#059669;font-size:1.2rem}.product-info{min-width:0;overflow-wrap:anywhere}.product-network{font-size:.8rem;font-weight:700;letter-spacing:.1em}.product-info h1{font-size:1.8rem;line-height:1.5;margin:8px 0 20px}.product-description{padding:20px 22px;background:#f5f8ff;border:1px solid #dce7f7;border-radius:14px}.product-description h2{font-size:1rem;color:#1e3a8a;margin:0 0 10px}.product-description h2:not(:first-child){margin-top:20px}.product-description p,.product-description ul,.product-description ol{margin:0 0 12px;font-size:.95rem}.product-description ul,.product-description ol{padding-left:24px}.product-description li{margin:7px 0}.product-limit{color:#334155;border-top:1px solid #cbdcf1;padding-top:13px}.product-purchase{margin-top:24px}.product-price{font-size:2.2rem;line-height:1.5;font-weight:700;color:#2563eb}.product-purchase p{color:#475569;margin:7px 0 18px;font-size:.9rem}.product-buy{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:58px;font-size:1.05rem}.product-topup{margin:14px 0 0;width:100%}.product-purchase .hint{display:block;text-align:center;margin:13px 0}.product-specs{border-top:1px solid #e2e8f0;margin-top:34px;padding-top:24px}.product-specs h2{font-size:1.2rem;margin-top:0}.product-specs dl{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin:0}.product-specs dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e2e8f0;padding:13px 0}.product-specs dt{color:#475569}.product-specs dd{margin:0;min-width:0;text-align:right;overflow-wrap:anywhere}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;gap:0 16px;padding-top:12px;padding-bottom:8px;justify-content:space-between}.brand small{display:none}.nav{order:3;flex:0 0 100%;justify-content:center;gap:0}.nav button{font-size:16px}.balance{display:none}#plans{scroll-margin-top:155px}.hero-logo{right:18px;width:30%}.product-layout{gap:24px}.product-shell{padding:24px}.product-media .plan-artwork{min-height:300px;padding:24px}.product-media .art-copy strong{font-size:3.6rem}.product-info h1{font-size:1.5rem}}
@media(max-width:700px){.container{width:calc(100% - 30px)}.header{top:6px;margin:7px auto;width:calc(100% - 16px);border-radius:13px}.header-inner.container{width:calc(100% - 22px);min-height:66px;padding:0;gap:8px;flex-wrap:nowrap}.header .nav{display:none}.brand{gap:8px}.brand-name{font-size:1.15rem}.brand-symbol{width:38px;height:38px}.account-actions{min-width:0;flex-shrink:1}.account-actions button{white-space:nowrap}.account-actions button.secondary{max-width:min(140px,calc(100vw - 218px))}.account-actions .primary{font-size:.85rem;padding:.4rem .7rem}.header .topup{display:none}.hero{padding:26px 22px;min-height:350px;margin-top:22px}.hero-copy{max-width:100%}.hero h1{font-size:2rem}.hero-logo{right:-30px;bottom:-20px;top:auto;width:55%;opacity:.14}.hero-footer{gap:8px 18px;font-size:.8rem}.network-tabs{grid-template-columns:repeat(2,1fr);gap:10px}.network-tabs button{padding:13px 16px}.network-tabs small{font-size:.75rem}.plan-grid{gap:14px}.plan-artwork{min-height:200px;padding:24px}.plan-body{padding:18px 18px 13px}.two-columns,.summary-grid{grid-template-columns:1fr}.panel{padding:20px}.section-head{align-items:flex-start}.section-head h1,.section-head h2{font-size:1.4rem}.section-head .pill{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:#fffffff5;border-top:1px solid #d2e0f5;padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -5px 18px #254d8210}.mobile-nav button{background:none;color:#64748b;font-size:.8rem;font-weight:400;padding:7px 8px}.mobile-nav .selected{color:#2563eb;background:#eff6ff}.footer{padding-bottom:100px}dialog{padding:22px}.product-shell{margin-top:18px;padding:20px 16px;border-radius:16px}.breadcrumb{margin-bottom:18px;font-size:.8rem;gap:7px}.product-layout{grid-template-columns:1fr;gap:24px}.product-media .plan-artwork{min-height:240px;padding:24px}.product-media .art-copy strong{font-size:3.6rem}.product-assurance{padding:14px;gap:12px}.product-assurance strong{font-size:.9rem}.product-description{padding:18px 16px}.product-info h1{font-size:1.6rem}.product-specs dl{grid-template-columns:1fr}.product-specs dl>div{font-size:.9rem}.product-buy{font-size:1rem}}
@media(max-width:400px){.header .brand-pro{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#carrier-promotions{scroll-margin-top:120px}.carrier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.carrier-card{min-width:0;padding:22px;border:1px solid #d4e1f4;border-top:4px solid var(--network);border-radius:16px;background:#fff;box-shadow:0 6px 20px #294e7d08}.carrier-card>.network-name{font-weight:700;font-size:.85rem}.carrier-card h3{margin:6px 0 12px;font-size:1.25rem}.carrier-card p{font-size:.9rem;margin:12px 0;overflow-wrap:anywhere}.carrier-price{font-size:1.25rem;font-weight:700;color:var(--network)}.carrier-price span{font-size:.9rem;font-weight:400;color:#475569}.ussd-code{display:block;font-size:clamp(1.3rem,5vw,1.65rem);font-weight:700;color:#0f172a;letter-spacing:.02em;white-space:nowrap;margin:18px 0}.dial-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1rem;border-radius:12px;background:#2563eb;color:#fff;font-weight:700}.carrier-extras{margin:20px 0;border:1px solid #d4e1f4;border-radius:14px;background:#fff;padding:16px 20px}.carrier-extras summary{cursor:pointer;min-height:44px;line-height:44px;font-weight:700;color:#1d4ed8}.carrier-extras[open] summary{margin-bottom:16px}

.onboarding-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 28px;padding:0}.onboarding-steps li{min-width:0;background:#fff;border:1px solid #d4e1f4;border-radius:16px;padding:20px}.onboarding-steps li>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#2563eb;color:#fff;font-weight:700;margin-bottom:14px}.onboarding-steps strong{font-size:1rem;color:#0f172a}.onboarding-steps p{font-size:.9rem;color:#475569;margin:10px 0 0}@media(max-width:1050px){.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.onboarding-steps{grid-template-columns:1fr}.onboarding-steps li{padding:18px}}
