/* Shared editorial design system: solid surfaces, warm neutrals, restrained copper. */
:root, body.admin {
  --ink:#292722; --ink-2:#504c44; --muted:#79746b; --muted-2:#878178;
  --bg:#faf9f6; --bg-2:#f1efe9; --card:#fff;
  --line:#e3dfd6; --line-2:#efede7; --line-soft:#e8e4dc;
  --brand:#343c32; --brand-ink:#343c32; --brand-soft:#ecefe7;
  --radius:10px; --radius-sm:6px;
  --shadow-sm:0 2px 4px #29272204; --shadow:0 8px 28px #29272207;
  --shadow-lg:0 24px 70px #29272214;
  --header-h:80px;
}
body {background:var(--bg);letter-spacing:.005em;}
::selection,.admin ::selection {background:#ead8ca;color:var(--ink);}
:focus-visible,.admin :focus-visible {outline:2px solid #a25b43;outline-offset:4px;}
.btn,.admin .btn {border-radius:6px;box-shadow:none;transition:background .18s,border-color .18s;}
.btn-primary,.admin .btn-primary {background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-primary:hover,.admin .btn-primary:hover {background:#202a20;border-color:#202a20;color:#fff;}
.btn:hover,.admin .btn:hover {border-color:#bcb5a8;}
input,select,textarea,.input,.admin .input {border-color:var(--line);border-radius:6px;background:#fff;}
input:focus,select:focus,textarea:focus,.input:focus,.admin .input:focus {border-color:#96836d;box-shadow:0 0 0 3px #96836d12;}
.panel,.card,.admin .panel,.admin .card,.modal {border-color:var(--line);box-shadow:none;border-radius:10px;}
.notice {background:#f3f1eb;border-color:var(--line);}
.site-header {height:80px;background:#faf9f6;border-bottom:1px solid var(--line);backdrop-filter:none;}
.site-header .wrap {gap:46px;}
.brand-mark {background:#a75e43;border-radius:7px;}
.brand-name {font-size:20px;letter-spacing:-.7px;}
.nav {gap:12px;}
.nav a {font-size:13px;}
.site-header .btn-primary {background:var(--ink);border-color:var(--ink);}
.hero {background:var(--bg);padding:62px 0 48px;border-bottom:0;}
.hero-inner {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;}
.hero-kicker {font-size:11px;letter-spacing:2px;color:#9a543b;margin-bottom:25px;}
.hero-kicker::before {background:#a75e43;width:24px;}
.hero h1 {font-size:clamp(38px,4.4vw,64px);line-height:1.22;font-weight:500;letter-spacing:-2px;margin-bottom:24px;}
.hero p.lead {font-size:14px;line-height:1.95;max-width:440px;}
.hero-cta {margin-top:28px;gap:12px;}
.hero-cta .btn {font-size:13px;height:48px;padding:0 24px;}
.hero-cta .btn:not(.btn-primary) {background:transparent;}
.hero-stats {margin-top:38px;padding-top:22px;border-top:1px solid var(--line);gap:0;justify-content:space-between;}
.hero-stat {margin-right:0;padding-right:14px;border:0;}
.hero-stat b {font-size:19px;font-weight:500;color:var(--ink);}
.hero-stat span {font-size:10px;}
.hero-visual {min-width:0;}
.connection-art {position:relative;width:100%;height:440px;background:#eeece4;border-radius:160px 160px 10px 10px;overflow:hidden;}
.art-caption {position:absolute;top:42px;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:2px;display:grid;gap:5px;color:#797566;}
.orbit-globe {position:absolute;inset:35px -3% 0;width:106%;height:350px;color:#c7c4b7;}
.digital-sim {position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-10deg);width:162px;height:214px;background:#343c32;color:#faf8ef;border-radius:14px 14px 42px 14px;padding:21px;box-shadow:14px 20px 0 #343c3210;}
.sim-top {display:flex;justify-content:space-between;font-size:20px;}
.sim-top span {font-size:28px;font-weight:650;letter-spacing:-1px;}
.sim-chip {font-size:40px;line-height:1;color:#cfb899;margin-top:20px;}
.sim-bottom {display:grid;gap:12px;font-size:8px;margin-top:20px;letter-spacing:1px;}
.sim-bottom b {font-size:10px;font-weight:400;}
.art-foot {position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1px;color:#6a685c;}
.art-foot>span:last-child {margin-left:auto;}
.art-dot {width:5px;height:5px;background:#a75e43;border-radius:50%;}
.section {padding:64px 0;}
.section-head {max-width:none;margin-bottom:30px;}
.section-head h2 {font-size:28px;font-weight:500;letter-spacing:-.8px;}
.eyebrow {color:#9a543b;font-size:10px;letter-spacing:2px;}
.section-head p {font-size:13px;}
.tier-grid {gap:20px;}
.tier-card {padding:28px;background:#fff;border-radius:10px;border-color:var(--line);box-shadow:none;}
.tier-card.featured {border-color:#a88f73;background:#f6f4ed;}
.tier-card:hover {border-color:#a88f73;box-shadow:var(--shadow);}
.tier-price .amt {font-weight:500;font-size:42px;}
.tier-name {font-size:18px;}
.tier-feats li {font-size:12px;}
.steps {border:0;border-radius:0;background:transparent;gap:28px;}
.step {background:transparent;border-top:1px solid #bcb5a8;padding:22px 0;}
.step .n {background:none;color:#a75e43;border:0;font-family:var(--mono);font-size:22px;width:auto;height:auto;justify-content:flex-start;margin-bottom:24px;}
.step h4 {font-weight:500;}
.bento {gap:20px;}
.bento-card {border-color:var(--line);padding:28px;border-radius:10px;background:#f2f0e9;}
.bento-card.dark {background:#343c32;border-color:#343c32;}
.bento-icon {background:#e8e4d9;color:#7e654d;}
.faq {max-width:none;}
.faq-q {padding:23px 0;font-size:14px;font-weight:500;}
.faq-a {font-size:13px;padding-bottom:24px;}
.site-footer {background:#edeae2;color:var(--ink);border-top:1px solid var(--line);padding:48px 0 24px;}
.site-footer .brand-name {color:var(--ink);}
.site-footer .brand-mark {background:#a75e43;color:#fff;}
.site-footer p,.footer-col a,.footer-bottom {color:#787166;}
.footer-col a:hover {color:var(--ink);}
.footer-col h5 {color:var(--ink);}
.footer-bottom {border-color:#d8d3c8;font-size:11px;}
.auth-wrap {padding:72px 20px 96px;}
.auth-card {background:#fff;border:1px solid var(--line);padding:38px;box-shadow:var(--shadow);border-radius:12px;}
.auth-title {font-size:28px;font-weight:500;}
.page-title,.account-title {letter-spacing:-.7px;}
.tab.active {color:var(--brand-ink);border-color:var(--brand);}
/* Keep independent actions separated, including legacy inline action markup. */
body:not(.admin) .btn + .btn {margin-inline-start:10px;}
body:not(.admin) :is(.row,.row-between,.hero-cta,.header-actions,.payment-actions) > .btn {margin-inline-start:0;}
body:not(.admin) .panel-pad > :is(p,h3) + .btn {margin-top:16px;}
body:not(.admin) .acct-side {gap:14px;flex-wrap:wrap;}
.payment-page {display:flex;flex-direction:column;gap:20px;}
.payment-page > .panel {margin-top:0!important;}
.payment-page h2 {font-size:24px;font-weight:500;margin-bottom:12px;}
.payment-page h3 {font-size:18px;font-weight:500;margin-bottom:12px;}
.payment-page p + p {margin-top:8px;}
.payment-actions {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;}
.payment-actions + p {margin-top:14px;}
.payment-footer {margin-top:0;padding-top:4px;}
.payment-page .online-method {order:1;}
.payment-page .balance-method {order:2;}
.payment-page #payErr {order:3;}
.payment-page .payment-footer {order:4;}
.payment-page #payErr:empty {display:none;}
#esimGrid > * {min-width:0;}
#esimGrid .stat-tile {min-width:0;}
#esimGrid .stat-tile .sub {overflow-wrap:anywhere;}
#esimGrid .tabs {max-width:100%;overflow-x:auto;}
#esimGrid .tabs .tab {flex-shrink:0;white-space:nowrap;}
.payment-methods {margin-top:0;}
.manage-wrap {max-width:560px;padding:56px 0 80px;}
.manage-wrap h1 {font-size:32px;font-weight:500;}
.manage-wrap form {display:grid;gap:20px;}
.manage-wrap .section-head {margin-bottom:24px;}
.coverage-link {display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:4px 0;border:0;background:transparent;color:#765c43;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;}
.coverage-link:disabled {color:var(--muted);cursor:default;}
.coverage-link svg {transform:rotate(-90deg);}
.package-result:not(:empty) {margin-top:14px;}
.package-result .btn {margin-top:12px;}
.coverage-open {overflow:hidden;}
.coverage-dialog {padding:0;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--card);box-shadow:var(--shadow-lg);}
.coverage-dialog::backdrop {background:#29272266;}
.coverage-head {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--line);}
.coverage-head h2 {font-size:21px;font-weight:500;}
.coverage-head p {font-size:12px;color:var(--muted);margin-top:8px;}
.coverage-head .btn {width:36px;height:36px;}
.coverage-content {padding:20px 24px 24px;}
.coverage-count {margin:14px 0;}
.country-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;max-height:48dvh;overflow:auto;overscroll-behavior:contain;}
.country-list li {display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 4px;border-bottom:1px solid var(--line-2);min-width:0;font-size:13px;}
.country-list img {flex:none;object-fit:cover;border:1px solid #00000012;border-radius:3px;}
.country-list span {overflow-wrap:anywhere;}
.country-list small {margin-left:auto;color:var(--muted);font-family:var(--mono);font-size:10px;}
.country-list .country-empty {grid-column:1/-1;color:var(--muted);}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:480px){.coverage-head{padding:20px;}.coverage-content{padding:16px 20px 20px;}.country-list{grid-template-columns:minmax(0,1fr);max-height:48dvh;}}
@media(max-width:900px){#esimGrid{grid-template-columns:minmax(0,1fr)!important;}#esimGrid .summary{position:static;}#esimGrid .cred-split{grid-template-columns:minmax(0,1fr);}#esimGrid .cred-qr{max-width:220px;}#esimGrid .stat-tile .val{font-size:20px;}}
.payment-page img[alt="微信付款二维码"] {max-width:100%;height:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;}
@media(max-width:640px){.payment-page .panel-pad{padding:24px 20px;}.payment-page h2{font-size:21px;}.payment-actions{gap:12px;}.payment-actions .btn{flex:1 1 140px;white-space:normal;min-height:46px;height:auto;padding:12px 16px;}}
.choice {border-radius:8px;padding:20px;border-color:var(--line);}
.choice.sel {background:#f1f0e7;border-color:#8c927d;box-shadow:none;}
.choice .p {font-weight:500;font-size:24px;}
.summary-card {border-color:var(--line);box-shadow:none;}
.summary-head {background:#efede5;padding:20px 24px;font-weight:500;}
.summary-body {padding:24px;gap:16px;}
.summary-foot {background:#f6f4ee;padding:20px 24px;}
.summary-total .amt {font-size:32px;font-weight:500;}
.stepper {padding:0 0 24px;border-bottom:1px solid var(--line);}
.stepper .s.active b {background:#a75e43;border-color:#a75e43;}
.acct-row {border-color:var(--line);border-radius:8px;padding:20px;background:#fff;}
.account-chip {background:#efede5;border-color:var(--line);}
.admin-shell {grid-template-columns:224px minmax(0,1fr);}
.admin .sidebar {background:#efede6;border-right:1px solid #e1dcd2;padding:28px 16px 18px;}
.admin .side-brand {padding:0 10px 30px;}
.admin .side-brand .brand-mark {background:#a75e43;border-radius:7px;width:32px;height:32px;}
.admin .side-brand .nm {font-size:17px;}
.admin .side-brand .sub {font-size:9px;letter-spacing:1.4px;color:#81796b;}
.admin .side-group {font-size:10px;color:#8b8274;letter-spacing:1.5px;padding-top:24px;}
.admin .side-link {border-radius:6px;min-height:40px;font-size:12px;color:#686258;margin-bottom:3px;}
.admin .side-link:hover {background:#e6e2d8;color:var(--ink);}
.admin .side-link.active {background:#fff;color:var(--ink);box-shadow:0 1px 3px #302c2210;}
.admin .side-link.active::before {background:#a75e43;width:3px;}
.admin .side-wallet {background:#e3dfd3;border:0;border-radius:8px;}
.admin .side-wallet .lab,.admin .side-wallet .sub {color:#777062;}
.admin .side-wallet .val {font-weight:500;color:#343c32;font-size:24px;}
.admin .side-foot {border-color:#dcd6c9;}
.admin .topbar {height:68px;padding:0 32px;background:#faf9f6;border-color:var(--line);}
.admin .topbar h1 {font-size:13px;font-weight:500;}
.admin .topbar #syncHint {background:transparent;border:0;color:var(--muted);}
.admin .admin-avatar {background:#e8e3d8!important;color:#786451!important;}
.admin .page {padding:32px 32px 64px;max-width:1560px;}
.admin .page-heading {margin-bottom:28px;}
.admin .page-heading h2 {font-size:27px;font-weight:500;letter-spacing:-.7px;}
.admin .page-heading .eyebrow {color:#9a543b;font-size:9px;letter-spacing:1.8px;}
.admin .page-heading p {font-size:12px;}
.admin .kpi {border:1px solid var(--line);border-radius:8px;padding:23px;min-height:125px;background:#fff;}
.admin .kpi .ic {background:#f1eee5!important;color:#89735a!important;border-radius:7px;}
.admin .kpi .val {font-size:30px;font-weight:500;letter-spacing:-1px;}
.admin .kpi .lab {color:var(--muted);font-size:11px;}
.admin .card-head {background:transparent;padding:20px 22px;border-color:var(--line-2);}
.admin .card-head h3 {font-size:13px;}
.admin .records-surface,.admin .settings-content,.admin .requests-surface {border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;}
.admin .records-controls {background:#fff;padding:18px 20px;border-bottom:1px solid var(--line-2);}
.admin table.tbl th {background:#f6f4ef;color:#83796b;font-weight:500;font-size:11px;padding-top:14px;padding-bottom:14px;border-color:var(--line);}
.admin table.tbl td {border-color:var(--line-2);padding-top:17px;padding-bottom:17px;font-size:12px;}
.admin table.tbl tbody tr:hover {background:#faf9f5;}
.admin .settings-nav {gap:10px;}
.admin .settings-nav button[aria-selected="true"]::after,.admin .section-tabs button[aria-selected="true"]::after {background:#a75e43;}
.admin .settings-pane {padding:28px;}
.admin .settings-save {background:#f8f6f1;border-color:var(--line);}
.admin .detail-head {background:#fff;border-color:var(--line);padding:26px;}
.admin .login-page {background:#efede6;}
.admin .login-card {border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:38px;}
.admin .login-card h2 {font-weight:500;font-size:26px;}
.admin .table-scroll-hint {background:#f6f4ef;}
@media(min-width:1500px){.wrap{width:min(1240px,calc(100% - 96px));}.hero{padding-top:80px;padding-bottom:64px;}.connection-art{height:470px;}.orbit-globe{height:380px;}}
@media(max-width:1100px){.hero-inner{gap:30px;}.connection-art{height:400px;}.hero h1{font-size:46px;}.admin-shell{grid-template-columns:204px minmax(0,1fr);}.admin .page{padding:26px 22px 50px;}.admin .topbar{padding:0 22px;}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr 1fr;gap:24px;}.hero h1{font-size:38px;}.hero-stats{flex-wrap:wrap;gap:16px;}.hero-stat{width:42%;}.connection-art{height:390px;}.digital-sim{width:142px;height:200px;}.art-caption{font-size:8px;}.art-foot{letter-spacing:0;font-size:7px;left:16px;right:16px;}.site-header .wrap{gap:18px;}.nav{gap:0;}.nav a{padding:8px;}.admin-shell{grid-template-columns:1fr;}}
@media(max-width:640px){:root{--header-h:112px;}.wrap{width:calc(100% - 36px);}.site-header{height:auto;min-height:104px;}.site-header .wrap{flex-wrap:wrap;padding-top:14px;padding-bottom:9px;gap:8px 12px;}.site-header .brand{order:0;}.site-header .header-actions{order:1;}.site-header .nav{order:2;flex-basis:100%;justify-content:space-between;margin:0;overflow:auto;}.nav a{font-size:12px;white-space:nowrap;}.brand-name{font-size:18px;}.header-actions{gap:4px;}.header-actions .btn{padding:0 10px;font-size:11px;}.hero{padding:36px 0 20px;}.hero-inner{grid-template-columns:1fr;gap:32px;}.hero h1{font-size:44px;}.hero-kicker{font-size:10px;letter-spacing:1px;margin-bottom:20px;}.hero p.lead{font-size:13px;}.hero-stats{flex-wrap:nowrap;gap:8px;margin-top:28px;}.hero-stat{width:auto;padding:0;}.hero-stat b{font-size:17px;}.hero-stat span{font-size:9px;}.connection-art{height:340px;border-radius:120px 120px 8px 8px;}.orbit-globe{height:295px;top:20px;}.art-caption{top:25px;}.digital-sim{height:188px;width:142px;}.sim-chip{margin-top:10px;}.section{padding:40px 0;}.section-head h2{font-size:23px;}.tier-grid{grid-template-columns:1fr;}.tier-card{padding:24px;}.steps{grid-template-columns:1fr 1fr;gap:20px;}.step{padding-top:18px;}.step .n{margin-bottom:16px;}.bento{grid-template-columns:1fr;}.footer-grid{grid-template-columns:1fr 1fr;gap:28px;}.footer-grid>.footer-col:first-child{grid-column:1/-1;}.footer-bottom{align-items:flex-start;gap:12px;}.auth-wrap{padding:36px 18px 54px;}.auth-card{padding:26px;}.admin .page{padding:24px 16px 48px;}.admin .topbar{height:60px;padding:0 16px;}.admin .page-heading h2{font-size:24px;}.admin .page-heading{gap:12px;}.admin .kpi{padding:18px;min-height:112px;}.admin .settings-pane{padding:20px 16px;}.admin .detail-head{padding:20px;}.admin .login-card{padding:28px;}.admin .sidebar{padding:24px 16px;}}
@media(max-width:640px){.site-header .nav{display:flex;}.hero-visual{display:flex;}.hero-stats{display:flex;flex-direction:row;}.hero-stat{flex:1;}.hero-stat b{font-size:16px;}.hero-stat span{line-height:1.5;}.connection-art{height:300px;}.orbit-globe{height:265px;}.art-caption{top:20px;}.digital-sim{top:50%;height:180px;}.sim-bottom{margin-top:12px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition:none!important;animation:none!important;}}
