:root{
    --stellar-blue:#2f63ff;
    --stellar-blue-2:#1f55ee;
    --stellar-blue-3:#0b3dff;
    --stellar-ink:#070816;
    --stellar-muted:#6f7280;
    --stellar-soft:#f3f5ff;
    --stellar-soft-2:#eef2ff;
    --stellar-line:#e4e8f4;
    --stellar-card:#ffffff;
    --stellar-danger:#ff4d5e;
    --stellar-green:#12a765;
    --stellar-shadow:0 22px 70px rgba(15,23,42,.06);
    --stellar-shadow-blue:0 18px 42px rgba(47,99,255,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--stellar-soft);
    color:var(--stellar-ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}
a{color:inherit}

/* Auth */
.auth-shell{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:28px;
    background:
        radial-gradient(circle at 18% 8%,rgba(47,99,255,.22),transparent 30%),
        radial-gradient(circle at 84% 12%,rgba(47,99,255,.12),transparent 34%),
        linear-gradient(180deg,#ffffff 0%,#f3f5ff 100%);
}
.auth-card{
    width:min(500px,100%);
    background:rgba(255,255,255,.86);
    backdrop-filter:blur(18px);
    border:1px solid rgba(228,232,244,.92);
    border-radius:34px;
    box-shadow:0 34px 110px rgba(15,23,42,.10);
    padding:36px;
}
.brand{
    display:flex;
    align-items:center;
    gap:13px;
    font-weight:950;
    font-size:24px;
    letter-spacing:-.045em;
    color:var(--stellar-ink);
}
.brand-mark{
    width:42px;
    height:42px;
    display:inline-grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(145deg,var(--stellar-blue) 0%,var(--stellar-blue-3) 100%);
    box-shadow:0 16px 36px rgba(47,99,255,.26);
    position:relative;
    flex:0 0 auto;
}
.brand-mark:after{
    content:"";
    width:16px;
    height:22px;
    background:#fff;
    clip-path:polygon(48% 0,100% 0,66% 44%,100% 44%,36% 100%,52% 56%,16% 56%);
    display:block;
}
h1{
    font-size:42px;
    line-height:.96;
    letter-spacing:-.065em;
    margin:28px 0 12px;
    color:var(--stellar-ink);
}
.sub{color:var(--stellar-muted);line-height:1.6;margin:0 0 22px;font-size:15px}
.field{display:grid;gap:8px;margin-bottom:15px}
.field label{font-size:13px;font-weight:850;color:#4f5568}
.input,.select{
    width:100%;
    border:1px solid #dbe1ee;
    background:#fff;
    border-radius:18px;
    min-height:50px;
    padding:0 16px;
    font-size:15px;
    color:var(--stellar-ink);
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.input:focus,.select:focus{
    border-color:var(--stellar-blue);
    box-shadow:0 0 0 5px rgba(47,99,255,.12);
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:18px;
    min-height:50px;
    padding:0 22px;
    background:var(--stellar-blue);
    color:#fff;
    font-weight:900;
    font-size:15px;
    text-decoration:none;
    cursor:pointer;
    box-shadow:var(--stellar-shadow-blue);
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
    white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);background:var(--stellar-blue-2);box-shadow:0 22px 44px rgba(47,99,255,.28)}
.btn.secondary{background:#fff;color:var(--stellar-blue);border:1px solid rgba(47,99,255,.38);box-shadow:none}
.btn.secondary:hover{background:#f7f9ff;border-color:var(--stellar-blue)}
.btn.dark{background:var(--stellar-ink)}
.btn.compact{min-height:42px;border-radius:15px;padding:0 16px}
.link{color:var(--stellar-blue);font-weight:850;text-decoration:none}
.error,.success{border-radius:18px;padding:13px 16px;margin:0 0 18px;font-weight:700}
.error{background:#fff1f2;border:1px solid #ffc6cc;color:#b42318}
.success{background:#effaf3;border:1px solid #bdebd0;color:#147a43}

/* App shell */
.app{display:grid;grid-template-columns:286px minmax(0,1fr);min-height:100vh;background:var(--stellar-soft)}
.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    background:rgba(255,255,255,.92);
    border-right:1px solid var(--stellar-line);
    padding:22px 16px;
    backdrop-filter:blur(14px);
}
.sidebar .brand{padding:2px 10px 26px;font-size:22px}
.nav{display:grid;gap:8px;margin-top:4px}
.nav a{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:52px;
    padding:0 15px;
    border-radius:18px;
    color:#11162d;
    text-decoration:none;
    font-weight:850;
    letter-spacing:-.02em;
    transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.nav a:hover{background:#f2f5ff;color:var(--stellar-blue);transform:translateX(2px)}
.nav a.active{
    background:linear-gradient(135deg,#eff3ff 0%,#f7f9ff 100%);
    color:var(--stellar-blue);
    box-shadow:inset 0 0 0 1px rgba(47,99,255,.10);
}
.nav-icon{
    width:22px;
    height:22px;
    display:inline-block;
    border-radius:7px;
    position:relative;
    background:#dce5ff;
    flex:0 0 auto;
}
.nav a.active .nav-icon,.nav a:hover .nav-icon{background:var(--stellar-blue)}
.nav-icon:after{content:"";position:absolute;inset:6px;border-radius:3px;border:2px solid currentColor;color:#fff;opacity:.95}
.nav-icon-dashboard:after{border:0;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg);inset:6px 5px 7px 6px;border-radius:0}
.nav-icon-plans:after{inset:6px 5px;border-radius:2px}
.nav-icon-orders:after{inset:5px 7px;border-radius:2px;border-top:5px solid #fff;border-left:0;border-right:0;border-bottom:0;box-shadow:0 6px 0 #fff,0 12px 0 #fff}
.nav-icon-billing:after{inset:7px 4px 6px 4px;border-radius:2px;border:2px solid #fff}
.nav-icon-payments:after{inset:6px 4px;border-radius:3px;border:2px solid #fff;box-shadow:inset 0 5px 0 rgba(255,255,255,.75)}
.nav-icon-profile:after{inset:5px;border-radius:999px;border:2px solid #fff;box-shadow:0 11px 0 -3px #fff}

.main{min-width:0}
.topbar{
    min-height:78px;
    background:rgba(255,255,255,.88);
    border-bottom:1px solid var(--stellar-line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:0 32px;
    position:sticky;
    top:0;
    z-index:5;
    backdrop-filter:blur(16px);
}
.topbar-kicker{font-weight:850;color:#6d7487;letter-spacing:-.02em}
.topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.balance-pill{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:132px;
    min-height:54px;
    padding:9px 18px;
    border-radius:999px;
    background:#f7f9ff;
    border:1px solid #e0e6ff;
    text-decoration:none;
    color:#647086;
    font-size:12px;
    font-weight:800;
}
.balance-amount{color:var(--stellar-blue);font-weight:950;font-size:20px;line-height:1.05;letter-spacing:-.035em}
.userbox{display:flex;align-items:center;gap:12px;color:#242b45;font-weight:850;min-width:0}
.userbox small{color:#747b8d;font-weight:700;display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar{
    width:46px;
    height:46px;
    border-radius:999px;
    background:linear-gradient(145deg,#eef3ff,#dce6ff);
    color:var(--stellar-blue);
    display:grid;
    place-items:center;
    font-weight:950;
    flex:0 0 auto;
}
.content{padding:32px 34px 54px}
.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.page-title h1{margin:0;font-size:38px;line-height:1;letter-spacing:-.065em}
.grid{display:grid;gap:20px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{
    background:var(--stellar-card);
    border:1px solid rgba(228,232,244,.95);
    border-radius:28px;
    box-shadow:var(--stellar-shadow);
    padding:24px;
}
.card h2{margin:0 0 16px;font-size:21px;letter-spacing:-.04em;color:var(--stellar-ink)}
.stat{display:flex;align-items:center;gap:16px}
.stat-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:#fff2df;
    color:#f5a000;
    font-size:24px;
    font-weight:950;
}
.stat-icon.blue{background:#eef4ff;color:var(--stellar-blue)}
.stat-icon.green{background:#edfff5;color:var(--stellar-green)}
.stat-value{font-size:27px;font-weight:950;letter-spacing:-.05em;color:var(--stellar-ink)}
.stat-label{color:#657084;font-weight:750}
.filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;align-items:end}
.table-wrap{overflow:auto;border-radius:22px;border:1px solid #edf0f7;background:#fff}
.table{width:100%;border-collapse:collapse;min-width:880px;background:#fff}
.table th{
    background:#fbfcff;
    color:#949cb0;
    text-align:left;
    font-size:12px;
    padding:15px 16px;
    font-weight:950;
    letter-spacing:-.01em;
}
.table td{padding:16px;border-top:1px solid #eef1f7;color:#293158;vertical-align:middle;font-weight:650}
.table a{color:var(--stellar-blue);font-weight:850;text-decoration:none}
.table a:hover{text-decoration:underline}
.badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:8px 11px;
    background:#eef2ff;
    color:#2458ff;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.badge.green{background:#edfff5;color:#12985a}
.badge.red{background:#fff1f2;color:#c32135}
.badge.gray{background:#f2f4f9;color:#6b7280}
.plan-name{display:flex;gap:13px;align-items:center}
.flag{
    width:42px;
    height:42px;
    border-radius:15px;
    display:grid;
    place-items:center;
    background:#f3f6ff;
    font-size:24px;
    box-shadow:inset 0 0 0 1px #e6ebf7;
}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.qty{width:84px}.money{font-weight:950}.negative{color:var(--stellar-danger)}.positive{color:var(--stellar-green)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;word-break:break-all}
.esim-card{border:1px solid #edf0f7;border-radius:22px;padding:18px;display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:start;background:#fff}
.qr{width:150px;border:1px solid #e5eaf2;border-radius:22px}
hr{border:0;border-top:1px solid #eef1f7;margin:22px 0}

@media(max-width:1080px){
    .app{grid-template-columns:248px minmax(0,1fr)}
    .filters{grid-template-columns:repeat(3,minmax(0,1fr))}
    .grid.three{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
    .app{display:block}
    .sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--stellar-line);padding:16px}
    .sidebar .brand{padding:0 4px 14px}
    .nav{display:flex;overflow:auto;gap:8px;padding-bottom:4px}
    .nav a{flex:0 0 auto;min-height:46px;border-radius:999px;padding:0 14px}
    .topbar{position:relative;min-height:auto;padding:14px 16px;display:block}
    .topbar-left{display:none}
    .topbar-right{justify-content:space-between;gap:10px;flex-wrap:wrap}
    .balance-pill{min-width:120px}
    .content{padding:22px 14px 38px}
    .grid.two,.grid.three{grid-template-columns:1fr}
    .filters{grid-template-columns:1fr}
    .page-title{display:block}.page-title h1{font-size:34px}
    .auth-card{padding:26px}.auth-shell{padding:18px}
    .esim-card{grid-template-columns:1fr}.qr{width:180px}
    .table{min-width:760px}
}

/* Plan detail / richer snapshot metadata */
.plans-table small,
.table small{color:#7a8294;font-weight:700;line-height:1.45}
.stacked-actions{display:grid;gap:9px;min-width:190px}
.buy-inline{display:flex;align-items:center;gap:8px}
.detail-list{display:grid;gap:0;border:1px solid #edf0f7;border-radius:22px;overflow:hidden;background:#fff}
.detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid #edf0f7}
.detail-list>div:last-child{border-bottom:0}
.detail-list span{color:#727b8f;font-size:13px;font-weight:850}
.detail-list strong{color:var(--stellar-ink);font-size:14px;text-align:right;word-break:break-word}
.buy-panel{display:grid;gap:14px;margin-top:18px}
.notice-soft{margin-top:18px;border:1px solid #dbe5ff;background:#f5f8ff;border-radius:18px;padding:14px 16px;color:#46506a;font-weight:750;line-height:1.5}
.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.country-pill{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e4e9f6;background:#fbfcff;border-radius:16px;padding:12px 14px}
.country-pill strong{font-size:14px;color:#15192b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.country-pill span{color:var(--stellar-blue);font-weight:900;font-size:12px;background:#eef4ff;border-radius:999px;padding:5px 8px;min-width:34px;text-align:center}
.networks-table{min-width:720px}
.stat-card .sub{margin-bottom:0;margin-top:8px}
@media (max-width: 900px){
    .stacked-actions{min-width:160px}
    .country-grid{grid-template-columns:1fr}
}

/* Functional billing profile */
.settings-grid{align-items:stretch}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.section-heading h2{margin:3px 0 0}
.eyebrow{display:block;color:var(--stellar-blue);font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.billing-summary-line{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-top:1px solid #edf0f7;padding-top:16px;margin-top:18px}
.billing-summary-line strong{font-size:16px}.billing-summary-line span{color:#737c90;font-size:13px;font-weight:800}
.billing-form{max-width:940px}.billing-form-heading{margin-bottom:22px}
.billing-address-grid{display:grid;grid-template-columns:.7fr 1.2fr 1fr .55fr;gap:16px}
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #edf0f7;padding-top:20px;margin-top:8px}
.form-footer .sub{margin:0;max-width:560px}.uppercase-input{text-transform:uppercase}

/* Structured plan information modal */
.plan-trigger{display:flex;align-items:center;gap:13px;width:100%;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer;font:inherit}
.plan-trigger strong{display:block;color:var(--stellar-blue);font-weight:900}.plan-trigger small{display:block;margin-top:4px}
.plan-trigger:hover strong{text-decoration:underline}.plan-trigger:focus-visible{outline:3px solid rgba(36,88,255,.2);outline-offset:5px;border-radius:16px}
body.modal-open{overflow:hidden}
.plan-modal{width:min(1080px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:28px;background:#fff;box-shadow:0 26px 80px rgba(18,25,55,.24);overflow:hidden}
.plan-modal::backdrop{background:rgba(13,18,36,.55);backdrop-filter:blur(7px)}
.plan-modal-shell{display:flex;flex-direction:column;max-height:calc(100vh - 32px)}
.plan-modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e9edf5;background:rgba(255,255,255,.98)}
.plan-modal-title-wrap{display:flex;align-items:center;gap:15px;min-width:0}.plan-modal-title-wrap h2{margin:3px 0 4px;font-size:23px}.plan-modal-title-wrap p{margin:0;color:#747d91;font-size:13px;font-weight:750;word-break:break-word}
.plan-modal-icon{width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:18px;background:#f2f5ff;box-shadow:inset 0 0 0 1px #e1e7f6;font-size:27px}
.modal-close{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #e2e7f1;border-radius:50%;background:#fff;color:#343b50;font-size:28px;line-height:1;cursor:pointer}
.modal-close:hover{background:#f4f6fa}.modal-close:focus-visible{outline:3px solid rgba(36,88,255,.22);outline-offset:2px}
.plan-modal-body{padding:22px 24px 28px;overflow:auto;background:#f8f9fc}
.plan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.plan-metric{padding:16px;border:1px solid #e4e9f3;border-radius:20px;background:#fff}.plan-metric span,.plan-metric small{display:block;color:#778095;font-size:12px;font-weight:800}.plan-metric strong{display:block;margin:7px 0 4px;color:#13182a;font-size:20px}
.plan-modal-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:16px}
.modal-section{border:1px solid #e4e9f3;border-radius:22px;background:#fff;padding:18px;margin-top:16px}.plan-modal-grid .modal-section{margin-top:0}
.modal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.modal-section-heading h3{margin:3px 0 0;font-size:17px}
.modal-detail-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid #edf0f6;border-radius:17px;overflow:hidden}
.modal-detail-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid #edf0f6}.modal-detail-list>div:nth-child(odd){border-right:1px solid #edf0f6}.modal-detail-list>div:nth-last-child(-n+2){border-bottom:0}
.modal-detail-list span{color:#737c90;font-size:12px;font-weight:800}.modal-detail-list strong{text-align:right;font-size:13px;word-break:break-word}
.purchase-section{display:flex;flex-direction:column}.modal-buy-form{display:grid;gap:12px;margin-top:14px}.modal-buy-form .field{margin:0}.purchase-note{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid #edf0f6}.purchase-note span{color:#747d91;font-size:13px;font-weight:800}.purchase-note strong{font-size:18px}
.additional-info-section p{margin:0;white-space:pre-line;color:#50596f;line-height:1.65;font-weight:650}
.modal-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:9px}.modal-country-grid>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e7ebf4;border-radius:14px;background:#fbfcff}.modal-country-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.modal-country-grid span,.country-code-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:5px 7px;border-radius:999px;background:#edf3ff;color:var(--stellar-blue);font-size:11px;font-weight:950}
.modal-network-wrap{max-height:350px;overflow:auto;border:1px solid #e6eaf3;border-radius:16px}.modal-network-table{width:100%;border-collapse:collapse;font-size:13px}.modal-network-table th{position:sticky;top:0;z-index:1;padding:11px 13px;background:#f6f8fb;color:#697287;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.modal-network-table td{padding:11px 13px;border-top:1px solid #edf0f6}.modal-network-table tbody tr:hover{background:#fafbfe}.empty-meta{margin:0;color:#798196;font-weight:700}

@media(max-width:900px){
    .billing-address-grid{grid-template-columns:1fr 1fr}.form-footer{align-items:stretch;flex-direction:column}.form-footer .btn{width:100%}
    .plan-modal{width:calc(100% - 16px);max-height:calc(100vh - 16px);border-radius:22px}.plan-modal-shell{max-height:calc(100vh - 16px)}
    .plan-modal-header{padding:16px}.plan-modal-body{padding:14px}.plan-metrics{grid-template-columns:1fr 1fr}.plan-modal-grid{grid-template-columns:1fr}.modal-detail-list{grid-template-columns:1fr}.modal-detail-list>div:nth-child(odd){border-right:0}.modal-detail-list>div:nth-last-child(-n+2){border-bottom:1px solid #edf0f6}.modal-detail-list>div:last-child{border-bottom:0}.modal-country-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
    .billing-address-grid,.plan-metrics,.modal-country-grid{grid-template-columns:1fr}.billing-summary-line{align-items:flex-start;flex-direction:column}.plan-modal-title-wrap h2{font-size:19px}.plan-modal-icon{width:44px;height:44px;border-radius:15px}.plan-modal-header{align-items:flex-start}.modal-section{padding:15px}.modal-network-wrap{max-height:300px}
}

/* Delivered eSIM installation card */
.esim-qr-column{width:280px;max-width:100%;display:grid;justify-items:center;gap:10px}
.esim-qr-frame{width:280px;max-width:100%;aspect-ratio:1;display:grid;place-items:center;padding:10px;border:1px solid #e4e9f3;border-radius:26px;background:#fff;overflow:hidden}
.esim-qr-frame img,.esim-qr-frame canvas{display:block;width:100%!important;height:auto!important;max-width:260px}
.esim-qr-frame table{margin:auto;border-collapse:collapse}
.esim-qr-caption{margin:0;color:#727b8f;font-size:13px;font-weight:800;text-align:center}
.esim-provisioning-card{width:280px;max-width:100%;aspect-ratio:1;border:1px solid #e6eaf2;border-radius:26px;background:#f7f8fb;display:grid;place-items:center;padding:24px;text-align:center}
.esim-provisioning-icon{font-size:32px;line-height:1;margin-bottom:12px}
.esim-activation-code{background:#f6f8fb;border-radius:14px;padding:14px;overflow-wrap:anywhere;word-break:break-word}
.esim-qr-error{padding:24px;color:#727b8f;text-align:center;font-weight:800}
@media(max-width:760px){.esim-qr-column,.esim-qr-frame,.esim-provisioning-card{width:100%;max-width:320px}.esim-card{gap:22px}}

/* Secure customer eSIM installation links */
.esim-share-block{margin-top:18px;padding:16px;border:1px solid #e4e9f3;border-radius:18px;background:#fafbff}
.esim-share-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.esim-share-heading .sub{margin:4px 0 0}
.esim-share-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}
.esim-share-field input{width:100%;min-width:0;border:1px solid #dfe5f1;border-radius:14px;background:#fff;padding:12px 14px;color:#131726;font:700 13px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.esim-share-warning{margin:10px 0 0;color:#727b8f;font-size:12px;font-weight:700}

.public-esim-body{margin:0;background:#f3f5fa;color:#080b18;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.public-esim-shell{width:min(760px,calc(100% - 32px));margin:0 auto;padding:36px 0}
.public-esim-card{background:#fff;border:1px solid #e4e9f3;border-radius:30px;padding:32px;box-shadow:0 18px 60px rgba(22,32,70,.06)}
.public-esim-brand{display:flex;align-items:center;gap:10px;color:#20263a;font-size:14px;font-weight:800}
.public-esim-header{text-align:center;margin:30px auto 24px;max-width:560px}
.public-esim-header h1{margin:14px 0 8px;font-size:38px;letter-spacing:-.04em}
.public-esim-header p{margin:0;color:#727b8f;font-size:16px;line-height:1.55}
.public-esim-qr-wrap{width:322px;max-width:100%;aspect-ratio:1;margin:0 auto;border:1px solid #e4e9f3;border-radius:26px;padding:10px;background:#fff;display:grid;place-items:center}
.public-esim-qr-image,.public-esim-qr-image img,.public-esim-qr-image canvas{display:block;width:100%!important;height:auto!important;max-width:300px}
.public-esim-qr-caption{text-align:center;color:#727b8f;font-size:14px;font-weight:800;margin:12px 0 0}
.public-esim-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e8ecf4;border:1px solid #e8ecf4;border-radius:20px;overflow:hidden;margin-top:28px}
.public-esim-details>div{background:#fff;padding:16px 18px;display:flex;justify-content:space-between;gap:16px}
.public-esim-details span{color:#727b8f}.public-esim-details strong{text-align:right;overflow-wrap:anywhere}
.public-esim-code-block{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:18px;padding:16px 18px;border:1px solid #e4e9f3;border-radius:20px;background:#fafbff}
.public-esim-code-block span{display:block;color:#727b8f;font-size:13px;font-weight:800;margin-bottom:7px}
.public-esim-code-block code{display:block;overflow-wrap:anywhere;font-size:13px;line-height:1.55}
.public-esim-networks{margin-top:30px;padding-top:28px;border-top:1px solid #e8ecf4}
.public-esim-section-heading h2{margin:0;font-size:22px}.public-esim-section-heading p{margin:5px 0 0;color:#727b8f}
.public-network-list{margin-top:16px;border:1px solid #e4e9f3;border-radius:20px;overflow:hidden}
.public-network-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:14px 16px;border-bottom:1px solid #edf0f6}.public-network-row:last-child{border-bottom:0}
.public-network-row>div{display:flex;justify-content:space-between;gap:10px}.public-network-row span{color:#727b8f;font-size:13px;font-weight:800}
.public-esim-more{margin:12px 0 0;color:#727b8f;font-size:13px}
.public-esim-footer{margin-top:28px;padding-top:22px;border-top:1px solid #e8ecf4;color:#727b8f;font-size:12px;text-align:center}
@media(max-width:760px){
    .esim-share-field,.public-esim-code-block{grid-template-columns:1fr}
    .public-esim-shell{width:min(100% - 20px,760px);padding:10px 0}
    .public-esim-card{padding:22px 16px;border-radius:24px}
    .public-esim-header h1{font-size:30px}
    .public-esim-details{grid-template-columns:1fr}
    .public-network-row{grid-template-columns:1fr}
}

/* Order delivery layout: reserve a dedicated QR column so content never overlaps it. */
.esim-card{
    grid-template-columns:minmax(240px,280px) minmax(0,1fr);
    column-gap:28px;
}
.esim-card>div{min-width:0}
.esim-qr-column{width:100%;max-width:280px;align-self:start}
.esim-qr-frame{width:100%;max-width:280px}
.esim-activation-code{width:100%;max-width:100%;box-sizing:border-box}
.esim-share-block{width:100%;max-width:100%;box-sizing:border-box}

/* Purchase provisioning overlay. */
.purchase-loading-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:24px;
    background:rgba(8,12,28,.72);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
}
.purchase-loading-overlay.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.purchase-loading-panel{
    width:min(430px,100%);
    padding:30px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:28px;
    background:rgba(255,255,255,.98);
    text-align:center;
    box-shadow:0 30px 100px rgba(0,0,0,.28);
}
.purchase-loading-spinner{
    width:54px;
    height:54px;
    margin:0 auto 20px;
    border:4px solid #e5eaff;
    border-top-color:var(--stellar-blue);
    border-radius:50%;
    animation:purchase-spin .8s linear infinite;
}
.purchase-loading-panel h2{margin:0 0 8px;font-size:24px}
.purchase-loading-panel p{margin:0;color:#727b8f;font-weight:700;line-height:1.55}
.purchase-loading-progress{
    height:7px;
    margin-top:22px;
    overflow:hidden;
    border-radius:999px;
    background:#edf1fa;
}
.purchase-loading-progress::after{
    content:"";
    display:block;
    width:38%;
    height:100%;
    border-radius:inherit;
    background:var(--stellar-blue);
    animation:purchase-progress 1.25s ease-in-out infinite;
}
body.purchase-loading{overflow:hidden}
@keyframes purchase-spin{to{transform:rotate(360deg)}}
@keyframes purchase-progress{0%{transform:translateX(-115%)}100%{transform:translateX(365%)}}

@media(max-width:980px){
    .esim-card{grid-template-columns:1fr;row-gap:24px}
    .esim-qr-column{justify-self:center}
}
@media(prefers-reduced-motion:reduce){
    .purchase-loading-overlay{transition:none}
    .purchase-loading-spinner,.purchase-loading-progress::after{animation-duration:1.8s}
}

/* Public eSIM live usage */
.public-esim-alert{margin:0 0 20px;padding:13px 16px;border-radius:16px;font-size:14px;font-weight:700}
.public-esim-alert.success{background:#ecfbf3;color:#0f8f51;border:1px solid #c9f2dc}
.public-esim-alert.warning{background:#fff8e8;color:#8c5c00;border:1px solid #f2dfaa}
.public-esim-usage{margin-top:28px;padding:24px;border:1px solid #e4e9f3;border-radius:24px;background:#fafbff}
.public-esim-usage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.public-esim-eyebrow{display:block;margin-bottom:7px;color:#2863ff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.public-esim-usage-heading h2{margin:0;font-size:24px;letter-spacing:-.025em}
.public-esim-usage-heading p{margin:6px 0 0;color:#727b8f;font-size:14px}
.public-esim-status-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px;color:#727b8f;font-size:13px}
.public-esim-status-row strong{color:#151a2b;font-size:14px}
.public-esim-status-dot{width:9px;height:9px;border-radius:50%;background:#18a65b;box-shadow:0 0 0 5px rgba(24,166,91,.1)}
.public-esim-usage-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.public-esim-usage-metrics>div{padding:17px;border:1px solid #e4e9f3;border-radius:18px;background:#fff}
.public-esim-usage-metrics span{display:block;color:#727b8f;font-size:12px;font-weight:800;margin-bottom:7px}
.public-esim-usage-metrics strong{display:block;font-size:20px;letter-spacing:-.025em;overflow-wrap:anywhere}
.public-esim-progress{height:10px;margin-top:18px;border-radius:999px;background:#e4e9f3;overflow:hidden}
.public-esim-progress>div{height:100%;border-radius:inherit;background:#2863ff;transition:width .3s ease}
.public-esim-progress-labels{display:flex;justify-content:space-between;gap:14px;margin-top:8px;color:#727b8f;font-size:12px;font-weight:700}
.public-esim-usage-empty{margin-top:20px;padding:15px 16px;border-radius:16px;background:#fff;border:1px dashed #d8deea;color:#727b8f;font-size:14px;line-height:1.5}
.public-esim-updated{margin:14px 0 0;color:#8a92a4;font-size:12px}
@media(max-width:640px){
    .public-esim-usage{padding:18px 16px}
    .public-esim-usage-heading{display:grid;grid-template-columns:1fr}
    .public-esim-usage-heading form,.public-esim-usage-heading button{width:100%}
    .public-esim-usage-metrics{grid-template-columns:1fr}
}

.order-provisioning-summary {
    border-color: rgba(47, 101, 255, .2);
}
.order-provisioning-track {
    height: 8px;
    margin-top: 16px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1f8;
}
.order-provisioning-track > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2f65ff;
    transition: width .35s ease;
}

/* Refined asynchronous provisioning experience */
.order-provisioning-experience{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
    margin-bottom:20px;
    padding:24px 26px;
    overflow:hidden;
    border:1px solid rgba(47,99,255,.14);
    border-radius:30px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,249,255,.96));
    box-shadow:0 24px 70px rgba(25,42,92,.07);
}
.order-provisioning-experience::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-150px;
    top:-190px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,99,255,.13),rgba(47,99,255,0) 68%);
    pointer-events:none;
}
.provisioning-orbit{
    position:relative;
    width:74px;
    height:74px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
}
.provisioning-orbit-core{
    width:24px;
    height:24px;
    border-radius:9px;
    background:linear-gradient(145deg,#3f72ff,#164dff);
    box-shadow:0 12px 26px rgba(47,99,255,.3),inset 0 1px 0 rgba(255,255,255,.45);
    animation:stellar-core-breathe 2.2s ease-in-out infinite;
}
.provisioning-orbit-ring{
    position:absolute;
    inset:7px;
    border:1px solid rgba(47,99,255,.18);
    border-radius:50%;
}
.provisioning-orbit-ring.ring-two{inset:17px;border-color:rgba(47,99,255,.28)}
.provisioning-orbit-dot{
    position:absolute;
    top:3px;
    left:50%;
    width:9px;
    height:9px;
    margin-left:-4.5px;
    border-radius:50%;
    background:#2f63ff;
    box-shadow:0 0 0 5px rgba(47,99,255,.11);
    transform-origin:4.5px 34px;
    animation:stellar-orbit 1.8s linear infinite;
}
.provisioning-copy{min-width:0}
.provisioning-eyebrow{
    display:block;
    margin-bottom:6px;
    color:var(--stellar-blue);
    font-size:11px;
    font-weight:950;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.provisioning-copy h2{margin:0;font-size:22px;letter-spacing:-.045em}
.provisioning-copy p{margin:7px 0 0;color:#747c8e;font-size:14px;font-weight:650;line-height:1.5}
.provisioning-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;margin-top:17px;max-width:660px}
.provisioning-progress-row strong{color:#4e586f;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.order-provisioning-track{
    height:6px;
    margin:0;
    overflow:hidden;
    border-radius:999px;
    background:#e9edf7;
}
.order-provisioning-track>span{
    position:relative;
    display:block;
    min-width:7px;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#275cff,#5d83ff);
    box-shadow:0 0 18px rgba(47,99,255,.35);
    transition:width .55s cubic-bezier(.22,1,.36,1);
}
.order-provisioning-track>span::after{
    content:"";
    position:absolute;
    inset:0;
    width:42%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
    animation:stellar-progress-glint 1.6s ease-in-out infinite;
}
.provisioning-metrics{position:relative;z-index:1;display:flex;align-items:stretch;gap:10px}
.provisioning-metrics>div{
    min-width:92px;
    padding:12px 14px;
    border:1px solid rgba(224,229,242,.9);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(12px);
}
.provisioning-metrics span{display:block;color:#838a9b;font-size:11px;font-weight:850}
.provisioning-metrics strong{display:block;margin-top:3px;color:#11162a;font-size:22px;letter-spacing:-.04em;font-variant-numeric:tabular-nums}

.esim-provisioning-card{
    position:relative;
    width:280px;
    max-width:100%;
    aspect-ratio:1;
    overflow:hidden;
    border:1px solid rgba(222,227,239,.95);
    border-radius:28px;
    background:linear-gradient(150deg,#fbfcff 0%,#f3f6fc 100%);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:28px;
    text-align:center;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
}
.esim-provisioning-card::before{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    top:-108px;
    right:-90px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(47,99,255,.12),transparent 70%);
}
.esim-provisioning-kicker{margin-top:17px;color:#667086;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.esim-provisioning-card strong{margin-top:6px;font-size:18px;letter-spacing:-.035em}
.esim-provisioning-card p{margin:9px 0 0;color:#7a8293;font-size:13px;font-weight:650;line-height:1.55}
.esim-signal-loader{height:42px;display:flex;align-items:flex-end;justify-content:center;gap:5px}
.esim-signal-loader span{
    width:5px;
    border-radius:999px;
    background:linear-gradient(180deg,#6e91ff,#2f63ff);
    box-shadow:0 5px 12px rgba(47,99,255,.2);
    animation:stellar-signal 1.15s ease-in-out infinite;
}
.esim-signal-loader span:nth-child(1){height:13px;animation-delay:-.45s}
.esim-signal-loader span:nth-child(2){height:22px;animation-delay:-.30s}
.esim-signal-loader span:nth-child(3){height:31px;animation-delay:-.15s}
.esim-signal-loader span:nth-child(4){height:40px}
.esim-provisioning-shimmer{position:absolute;left:24px;right:24px;bottom:22px;height:4px;border-radius:999px;background:#e7ebf4;overflow:hidden}
.esim-provisioning-shimmer::after{content:"";display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#dfe6ff,#4a76ff,#dfe6ff);animation:stellar-shimmer 1.45s ease-in-out infinite}
.esim-provisioning-card.is-failed{background:#fff8f8;border-color:#f0dede}
.esim-provisioning-state-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff0f1;color:#c43a48;font-size:22px;font-weight:950}

@keyframes stellar-orbit{to{transform:rotate(360deg)}}
@keyframes stellar-core-breathe{0%,100%{transform:scale(.92)}50%{transform:scale(1.05)}}
@keyframes stellar-progress-glint{0%{transform:translateX(-130%)}100%{transform:translateX(340%)}}
@keyframes stellar-signal{0%,100%{transform:scaleY(.48);opacity:.5}50%{transform:scaleY(1);opacity:1}}
@keyframes stellar-shimmer{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}

@media(max-width:860px){
    .order-provisioning-experience{grid-template-columns:auto minmax(0,1fr);padding:22px}
    .provisioning-metrics{grid-column:1/-1;width:100%}
    .provisioning-metrics>div{flex:1}
}
@media(max-width:560px){
    .order-provisioning-experience{grid-template-columns:1fr;text-align:center;padding:22px 18px}
    .provisioning-orbit{margin:0 auto}
    .provisioning-progress-row{grid-template-columns:minmax(0,1fr) 38px}
    .provisioning-metrics{justify-content:center}
}
@media(prefers-reduced-motion:reduce){
    .provisioning-orbit-core,.provisioning-orbit-dot,.order-provisioning-track>span::after,.esim-signal-loader span,.esim-provisioning-shimmer::after{animation:none}
}

/* Stellar pagination */
.stellar-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    color:#72798b;
    font-size:13px;
    font-weight:750;
}
.stellar-pagination-summary strong{color:#11162d;font-weight:900}
.stellar-pagination-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.stellar-page-button{
    width:40px;
    height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dde3f0;
    border-radius:13px;
    background:#fff;
    color:#30384d;
    font-size:13px;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    box-shadow:0 5px 16px rgba(15,23,42,.035);
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.stellar-page-button:hover{background:#f6f8ff;border-color:#bfcaff;color:var(--stellar-blue);transform:translateY(-1px);box-shadow:0 9px 20px rgba(47,99,255,.10)}
.stellar-page-button svg{display:block;width:18px;height:18px;max-width:18px;max-height:18px;flex:0 0 18px}
.stellar-page-button.is-current{background:var(--stellar-blue);border-color:var(--stellar-blue);color:#fff;box-shadow:0 10px 24px rgba(47,99,255,.22)}
.stellar-page-button.is-disabled{background:#f5f6fa;color:#b3b8c5;border-color:#e8ebf2;box-shadow:none;cursor:default;transform:none}
.stellar-page-text{width:auto;min-width:86px;padding:0 16px}
.stellar-page-ellipsis{min-width:24px;text-align:center;color:#959bab;font-weight:900}
.stellar-pagination-simple{justify-content:flex-end}

/* Safety net for any framework pagination markup still cached during deployment. */
nav[role="navigation"] svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}

@media(max-width:700px){
    .stellar-pagination{align-items:flex-start;flex-direction:column}
    .stellar-pagination-controls{justify-content:flex-start}
    .stellar-pagination-summary{font-size:12px}
    .stellar-page-button{width:38px;height:38px;border-radius:12px}
}

/* Searchable region selector */
.region-combobox-field{position:relative;z-index:20}
.region-combobox{position:relative}
.region-combobox-control{position:relative}
.region-combobox-input{
    width:100%;
    min-height:50px;
    border:1px solid #dbe1ee;
    border-radius:18px;
    background:#fff;
    padding:0 48px 0 16px;
    color:var(--stellar-ink);
    font:inherit;
    font-size:15px;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.region-combobox-input::placeholder{color:#8a91a3}
.region-combobox-input:focus,
.region-combobox.is-open .region-combobox-input{
    border-color:var(--stellar-blue);
    box-shadow:0 0 0 5px rgba(47,99,255,.12);
}
.region-combobox-toggle{
    position:absolute;
    inset:0 8px 0 auto;
    width:38px;
    display:grid;
    place-items:center;
    border:0;
    background:transparent;
    color:#727b8f;
    cursor:pointer;
}
.region-combobox-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.region-combobox.is-open .region-combobox-toggle svg{transform:rotate(180deg)}
.region-combobox-menu{
    position:absolute;
    z-index:80;
    top:calc(100% + 9px);
    left:0;
    right:0;
    max-height:320px;
    overflow:auto;
    padding:7px;
    border:1px solid #e1e6f0;
    border-radius:20px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 48px rgba(20,30,70,.16),0 3px 10px rgba(20,30,70,.07);
    backdrop-filter:blur(18px);
}
.region-combobox-option{
    width:100%;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 12px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--stellar-ink);
    font:inherit;
    font-size:14px;
    font-weight:760;
    text-align:left;
    cursor:pointer;
}
.region-combobox-option small{color:#8a91a3;font-size:12px;font-weight:750}
.region-combobox-option:hover,
.region-combobox-option.is-active{background:#f2f5ff;color:var(--stellar-blue)}
.region-combobox-empty{padding:18px 12px;color:#7a8294;font-size:13px;font-weight:750;text-align:center}
@media(max-width:900px){
    .region-combobox-menu{position:relative;top:7px;max-height:280px;margin-bottom:8px}
}
.region-combobox-option[hidden]{display:none!important}
