/* VirtuNum v1.0 — local light design system. No remote fonts or dependencies. */
:root {
  color-scheme:light; --bg:#f7f8f8; --surface:#fff; --surface-2:#f0f6f3; --line:#e3e8e5; --line-strong:#bdcfc5; --text:#172621; --muted:#68766f; --muted-2:#84918a;
  --accent:#087f61; --accent-2:#0b956f; --blue:#276fe8; --danger:#b64050; --warning:#a06c19; --success:#087f61;
  --shadow:0 24px 80px rgb(23 38 33 / 12%); --shadow-sm:0 2px 6px rgb(23 38 33 / 3%); --radius:12px; --radius-sm:8px; --container:1220px; --sidebar:244px;
}
/* Foundations. Hidden remains stronger than every layout class. */
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--text); font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; font-size:14px; line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body.is-locked { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
button,input,select { touch-action:manipulation; }
button:disabled { cursor:not-allowed; }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2,h3,h4 { font-weight:650; line-height:1.28; }
p { overflow-wrap:anywhere; }
svg { display:block; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible { outline:3px solid rgb(8 127 97 / 35%); outline-offset:3px; }
::selection { background:#d7eee3; color:#154a36; }
.container { width:min(calc(100% - 80px),var(--container)); margin-inline:auto; }
.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; }
.skip-link { position:fixed; top:12px; left:12px; z-index:200; transform:translateY(-160%); padding:10px 16px; border-radius:6px; background:var(--accent); color:#fff; font-weight:650; }
.skip-link:focus { transform:translateY(0); }
.eyebrow,.kicker,.page-eyebrow { display:block; margin:0 0 8px; color:var(--accent); font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.12em; }
/* Controls: predictable dimensions; no floating or scale animations. */
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:9px; padding:10px 18px; border:1px solid transparent; border-radius:var(--radius-sm); cursor:pointer; font-size:13px; font-weight:650; line-height:1.5; text-align:center; transition:background-color .14s,border-color .14s,color .14s; }
.button svg { width:17px; height:17px; flex-shrink:0; }
.button:disabled,.row-action:disabled { opacity:.48; cursor:not-allowed; }
.button-primary { border-color:var(--accent); background:var(--accent); color:#fff; }
.button-primary:hover:not(:disabled) { border-color:#076b52; background:#076b52; }
.button-secondary { border-color:#d9e2dc; background:#fff; color:var(--text); }
.button-secondary:hover:not(:disabled) { border-color:var(--line-strong); background:#f6f9f7; }
.button-compact { min-height:40px; padding:8px 16px; }
.button-small { min-height:36px; padding:7px 12px; font-size:12px; }
.text-button,.text-link { padding:5px 0; border:0; background:none; color:var(--accent); cursor:pointer; font-size:12px; font-weight:650; }
.text-button:hover,.text-link:hover { color:#075a45; text-decoration:underline; text-underline-offset:3px; }
.icon-button { display:grid; width:38px; height:38px; flex-shrink:0; place-items:center; padding:8px; border:1px solid var(--line); border-radius:7px; background:#fff; cursor:pointer; }
.icon-button svg { width:20px; height:20px; }
.icon-button:hover { background:#f3f6f4; }
.row-action { display:inline-flex; min-height:33px; align-items:center; justify-content:center; padding:5px 10px; border:1px solid #dbe5de; border-radius:6px; background:#fff; color:var(--accent); cursor:pointer; font-size:12px; font-weight:650; line-height:1.5; white-space:nowrap; }
.row-action:hover:not(:disabled) { border-color:var(--line-strong); background:#f4f9f6; }
.row-action.danger { border-color:#efdce0; color:var(--danger); }
.row-action.danger:hover:not(:disabled) { background:#fff6f7; border-color:#ddb7be; }
/* Brand and public entry: one message, one viewport on desktop. */
.brand { display:inline-flex; align-items:center; gap:10px; font-size:21px; font-weight:750; letter-spacing:-.055em; white-space:nowrap; }
.brand>span:last-of-type>span { color:var(--accent); }
.brand small { margin-left:1px; padding:2px 5px; border:1px solid var(--line); border-radius:4px; color:var(--muted); font-size:9px; font-weight:500; letter-spacing:0; line-height:1.5; }
.brand-mark { display:grid; width:34px; height:34px; flex-shrink:0; place-items:center; }
.brand-mark svg { width:100%; height:100%; fill:transparent; stroke:var(--accent); stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; border-bottom:1px solid var(--line); background:#fff; }
.site-header.is-scrolled { background:#fff; }
.landing-access-label { margin-left:auto; color:var(--muted); font-size:11px; letter-spacing:.03em; }
.nav-shell { display:flex; min-height:84px; align-items:center; gap:30px; }
.landing-nav { justify-content:flex-start; }
.primary-nav,.nav-actions { display:flex; align-items:center; gap:24px; }
.primary-nav { margin-left:auto; }
.primary-nav a { color:var(--muted); font-size:13px; }
.nav-toggle { display:none; }
body.landing-mode { height:100svh; background:#fff; overflow:hidden; }
body.landing-mode #main-content,body.landing-mode #public-view { height:100%; }
.hero-single { position:relative; display:grid; width:100%; height:100svh; min-height:100svh; align-items:center; overflow:hidden; padding:112px 0 36px; background:#fff; }
.hero-grid,.landing-glow { display:none; }
.hero-single-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr); align-items:center; gap:54px; }
.hero-single .hero-copy { min-width:0; }
.hero-single .eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:29px; color:#53665b; font-size:10px; letter-spacing:.13em; }
.live-dot { display:inline-block; width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:var(--accent); }
.hero-single h1 { margin:0 0 28px; font-size:clamp(44px,4.7vw,68px); font-weight:650; line-height:1.16; letter-spacing:-.065em; }
.hero-single h1 span { color:var(--accent); }
.hero-lead { max-width:575px; margin:0 0 32px; color:#647169; font-size:15px; line-height:1.9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-single .button { min-width:164px; min-height:48px; padding-inline:20px; }
.trust-list { display:flex; flex-wrap:wrap; gap:22px; margin:25px 0 0; padding:0; list-style:none; color:var(--muted); font-size:11px; }
.trust-list li { display:inline-flex; align-items:center; gap:7px; }
.trust-list li::before { content:""; width:5px; height:5px; border:1px solid var(--accent); border-radius:50%; }
.hero-art { position:relative; min-width:0; padding:36px 0 26px; color:#8ba899; }
.hero-art>svg { width:100%; max-width:420px; margin-inline:auto; height:auto; overflow:visible; }
.hero-art-label { display:flex; justify-content:space-between; gap:14px; padding:0 12px; color:var(--muted); font-size:8px; font-weight:500; letter-spacing:.12em; white-space:nowrap; }
.hero-art-note { display:flex; justify-content:space-between; gap:14px; margin:22px 0 0; padding:0 12px; color:var(--muted); font-size:8px; letter-spacing:.09em; }
.landing-orbit { display:none; }
.reveal,.reveal.is-visible { opacity:1; transform:none; }
/* Application shell: ordered rail, quiet canvas, clear page hierarchy. */
.app-view,.admin-body { min-height:100vh; background:var(--bg); }
.app-sidebar { position:fixed; inset:0 auto 0 0; z-index:60; display:flex; width:var(--sidebar); flex-direction:column; padding:25px 16px 18px; border-right:1px solid var(--line); background:#fff; overflow-y:auto; overscroll-behavior:contain; }
.app-brand { padding:0 12px; font-size:21px; }
.sidebar-context { display:flex; align-items:center; gap:10px; margin:18px 12px 0; padding:16px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.7; }
.sidebar-context small { display:block; font-size:10px; }
.sidebar-context strong { display:block; color:var(--text); font-size:12px; font-weight:600; }
.sidebar-caption,.admin-label { margin:29px 12px 10px; color:var(--muted); font-size:9px; font-weight:650; letter-spacing:.1em; }
.app-nav { display:grid; gap:4px; margin-top:30px; }
.sidebar-caption+.app-nav,.admin-label+.app-nav { margin-top:0; }
.app-nav button { position:relative; display:flex; min-height:43px; align-items:center; gap:11px; padding:9px 12px; border:0; border-radius:7px; background:transparent; color:#6b7870; cursor:pointer; text-align:left; font-size:13px; font-weight:500; line-height:1.5; }
.app-nav button:hover { background:#f6f8f6; color:var(--text); }
.app-nav button.is-active { background:#eaf4ee; color:#07674b; font-weight:650; }
.app-nav button.is-active::before { position:absolute; inset:11px auto 11px 0; width:2px; border-radius:2px; background:var(--accent); content:""; }
.app-nav button>span:first-child:not(.nav-label),.nav-icon { display:inline-flex; width:20px; height:20px; flex:0 0 20px; align-items:center; justify-content:center; color:#91a095; }
.app-nav button.is-active .nav-icon,.app-nav button.is-active>span:first-child:not(.nav-label) { color:var(--accent); }
.nav-icon svg { width:19px; height:19px; }
.nav-label { min-width:0; }
.sidebar-foot { display:grid; gap:3px; margin-top:auto; padding-top:28px; }
.sidebar-foot a,.sidebar-foot button { display:flex; min-height:38px; align-items:center; gap:10px; padding:8px 12px; border:0; border-radius:6px; background:none; color:var(--muted); cursor:pointer; text-align:left; font-size:12px; }
.sidebar-foot a:hover,.sidebar-foot button:hover { background:#f6f8f6; color:var(--text); }
.app-main { min-width:0; min-height:100vh; margin-left:var(--sidebar); padding:0 36px 48px; }
.app-topbar { display:flex; min-height:91px; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.app-topbar>div:first-of-type { min-width:0; }
.app-topbar .kicker { margin:0 0 3px; color:var(--muted); font-size:9px; letter-spacing:.1em; }
.app-topbar h2 { margin:0; font-size:18px; font-weight:650; letter-spacing:-.025em; }
.topbar-description { margin:3px 0 0; color:var(--muted); font-size:11px; }
.topbar-meta { display:flex; align-items:center; gap:24px; flex:0 0 auto; }
.connection-state { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; line-height:1.5; white-space:nowrap; }
.connection-state i { width:6px; height:6px; flex-shrink:0; border-radius:50%; background:var(--warning); }
.connection-state.success i { background:var(--success); }
.connection-state.danger i { background:var(--danger); }
.user-chip { display:flex; align-items:center; gap:9px; padding-left:20px; border-left:1px solid var(--line); }
.user-chip>span { display:grid; width:34px; height:34px; flex-shrink:0; place-items:center; border:1px solid #d9e8df; border-radius:50%; background:#f0f6f2; color:#47725a; font-size:12px; font-weight:650; }
.user-chip div { display:grid; min-width:0; }
.user-chip b { max-width:160px; overflow:hidden; color:#3d4c43; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:600; }
.user-chip small { color:var(--muted); font-size:8px; letter-spacing:.07em; }
.mobile-only { display:none; }
.workspace-section { display:none; min-width:0; padding-top:30px; }
.workspace-section.is-active { display:block; }
.section-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.section-intro>div { min-width:0; }
.page-eyebrow { margin-bottom:7px; color:var(--muted); font-size:9px; letter-spacing:.12em; }
.section-intro h3 { margin:0 0 7px; font-size:26px; font-weight:650; letter-spacing:-.035em; }
.page-description { max-width:720px; margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.section-intro-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; padding-top:12px; }
.alert { margin-top:18px; padding:12px 15px; border:1px solid #dae3dc; border-radius:8px; background:#fff; color:#496153; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.alert.danger { border-color:#ecd4d9; background:#fff7f8; color:#a03749; }
.alert.success { border-color:#cfe6d8; background:#f3faf5; color:#1d7750; }
/* Panels, metrics, tables. Horizontal scrolling stays local, never page-wide. */
.panel { min-width:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-sm); }
.workspace-grid>.panel,.workspace-section>.panel,.order-layout>.panel,.wallet-layout>.panel,.admin-split>.panel,.admin-users-layout>.panel,.provider-settings-panel>.panel { padding:24px; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:22px; }
.panel-heading>div { min-width:0; }
.panel-heading h3 { margin:0; font-size:16px; font-weight:650; letter-spacing:-.02em; }
.panel-heading .kicker { margin-bottom:5px; color:var(--muted); font-size:9px; letter-spacing:.09em; }
.panel-heading>.button,.panel-heading>.text-button { flex-shrink:0; }
.panel-subtitle { max-width:760px; margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.panel-actions { display:flex; align-items:center; gap:7px; }
.panel-actions select { width:auto; min-height:36px; padding:7px 30px 7px 10px; font-size:11px; }
.stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.reseller-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stat-card { min-width:0; padding:20px 22px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.stat-card>span,.stat-card small { display:block; color:var(--muted); font-size:13px; }
.stat-card .stat-label { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.stat-label svg { width:16px; height:16px; color:#a5b3a8; }
.stat-card strong { display:block; margin:16px 0 8px; font-size:28px; font-weight:650; line-height:1.2; letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.stat-card small { color:var(--muted); font-size:11px; line-height:1.6; }
.profit-card { border-color:#d6e7dc; background:#fafffc; }
.profit-card strong { color:var(--accent); }
.workspace-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr); align-items:stretch; gap:20px; }
.quick-start { display:flex; flex-direction:column; align-items:flex-start; }
.quick-start h3 { margin:13px 0 12px; font-size:21px; letter-spacing:-.035em; }
.quick-start>p { margin-bottom:22px; color:var(--muted); font-size:12px; line-height:1.9; }
.quick-start .button { margin-top:auto; }
.guide-list { display:grid; width:100%; gap:15px; margin:5px 0 25px; padding:0; list-style:none; }
.guide-item { display:flex; align-items:flex-start; gap:11px; }
.guide-number { display:grid; width:23px; height:23px; flex:0 0 23px; place-items:center; border:1px solid #d8e6dc; border-radius:5px; background:#f4f8f5; color:#546e5c; font-size:10px; font-weight:650; font-variant-numeric:tabular-nums; }
.guide-item strong { display:block; color:#4d6154; font-size:13px; font-weight:600; }
.guide-item p,.guide-item small { display:block; margin:2px 0 0; color:var(--muted); font-size:12px; line-height:1.7; }
.data-region { min-width:0; min-height:150px; overflow-x:auto; overscroll-behavior-x:contain; }
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#cbd8ce #f7f9f7; }
.data-table { width:100%; min-width:640px; border-collapse:collapse; color:#4b5b50; }
.data-table th,.data-table td { padding:14px 13px; border-bottom:1px solid #eaf0eb; text-align:left; font-size:13px; line-height:1.7; vertical-align:middle; }
.data-table th { padding-block:11px; background:#f8faf8; color:var(--muted); font-size:11px; font-weight:600; white-space:nowrap; letter-spacing:.025em; }
.data-table th:first-child { border-top-left-radius:5px; }
.data-table th:last-child { border-top-right-radius:5px; }
.data-table td { overflow-wrap:anywhere; }
.data-table td strong { display:block; color:#344b3d; font-weight:550; }
.data-table td small { display:block; margin-top:3px; color:var(--muted); font-size:11px; line-height:1.5; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table tbody tr:hover { background:#fcfdfc; }
.data-table td .panel-actions { min-width:105px; flex-wrap:wrap; }
.cell-identity { min-width:120px; }
.cell-identity strong { overflow-wrap:anywhere; }
.cell-identity small { max-width:240px; overflow-wrap:anywhere; }
.status-pill { display:inline-flex; min-height:23px; align-items:center; gap:5px; padding:3px 7px; border:1px solid #f0e4cd; border-radius:5px; background:#fffaef; color:#865f29; font-size:11px; font-weight:550; line-height:1.5; white-space:nowrap; }
.status-pill.success { border-color:#d7e9dc; background:#f1f9f3; color:#28734c; }
.status-pill.danger { border-color:#f1dbe0; background:#fff4f6; color:#b45063; }
.status-pill.muted { border-color:#e5eae6; background:#f6f8f6; color:var(--muted); }
.count-badge { display:inline-flex; min-width:25px; min-height:25px; align-items:center; justify-content:center; padding:3px 7px; border:1px solid var(--line); border-radius:5px; background:#f5f9f6; color:#5b7461; font-size:10px; font-weight:600; }
.loading-state,.empty-state,.error-state { display:flex; min-height:200px; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:28px 22px; color:var(--muted); text-align:center; }
.loading-state strong,.empty-state strong,.error-state strong,.empty-state h4 { margin:0; color:#607164; font-size:14px; font-weight:550; line-height:1.6; }
.loading-state p,.empty-state p,.error-state p { max-width:420px; margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.empty-state>span { color:#a6bbae; font-size:31px; }
.state-icon { display:grid; width:44px; height:44px; place-items:center; margin-bottom:7px; border:1px solid #e6eee7; border-radius:10px; background:#f8faf8; color:#a6b9ab; }
.state-icon svg { width:22px; height:22px; }
svg.state-icon { padding:10px; }
.error-state strong { color:var(--danger); }
.error-state .state-icon { border-color:#f1dfe2; color:#c38691; background:#fff9fa; }
.error-state .button { margin-top:6px; }
.loading-state::before { width:21px; height:21px; margin-bottom:10px; border:2px solid #e1ebe4; border-top-color:var(--accent); border-radius:50%; content:""; animation:spin .8s linear infinite; }
.loading-state .state-icon { display:none; }
@keyframes spin { to { transform:rotate(360deg); } }
/* Forms and read-only values: honest prices in yuan, readable native selects. */
.stack-form { display:grid; gap:18px; }
.field { display:grid; min-width:0; gap:7px; }
.field>span { color:#526457; font-size:13px; font-weight:550; }
.field input,.field select,.panel-actions select { width:100%; min-width:0; min-height:42px; padding:9px 12px; border:1px solid #dfe7e1; border-radius:7px; background:#fff; color:#354c3e; font-size:14px; line-height:1.6; }
.field input[type="number"] { font-variant-numeric:tabular-nums; }
.field input::placeholder { color:var(--muted); font-size:13px; }
.field input:hover:not(:disabled),.field select:hover:not(:disabled),.panel-actions select:hover:not(:disabled) { border-color:#bfcfc2; }
.field input:focus,.field select:focus,.panel-actions select:focus { border-color:var(--accent); outline:none; box-shadow:0 0 0 3px rgb(8 127 97 / 9%); }
.field input:disabled,.field select:disabled { background:#f8faf8; color:var(--muted); }
.field-help { color:var(--muted); font-size:12px; line-height:1.75; }
.field-error { color:var(--danger); font-size:12px; line-height:1.7; }
.field-error:empty { display:none; }
.input-action { display:flex; min-width:0; overflow:hidden; border:1px solid #dfe7e1; border-radius:7px; background:#fff; }
.input-action:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgb(8 127 97 / 9%); }
.input-action input { min-width:0; flex:1; border:0; border-radius:0; box-shadow:none!important; }
.input-action button { flex-shrink:0; padding:0 13px; border:0; background:transparent; color:#5c7a66; cursor:pointer; font-size:12px; white-space:nowrap; }
.input-action button:hover { background:#f6faf7; }
.fixed-value { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:14px; padding:11px 13px; border:1px solid #e5ece6; border-radius:7px; background:#f8faf8; }
.fixed-value span { color:var(--muted); font-size:12px; }
.fixed-value strong { color:#577561; font-size:13px; font-weight:550; }
.toggle-field { display:flex; min-height:32px; align-items:center; gap:9px; color:#64786a; font-size:13px; }
.toggle-field input { width:16px; height:16px; flex:0 0 auto; margin:0; accent-color:var(--accent); }
.muted-copy { color:var(--muted); font-size:13px; line-height:1.9; }
/* Orders and wallet. Warnings and SMS remain visibly distinct. */
.order-layout { display:grid; grid-template-columns:minmax(290px,.75fr) minmax(0,1.25fr); align-items:start; gap:22px; }
.quote-box { padding:15px; border:1px solid #dfece3; border-radius:8px; background:#f8fcf9; color:#546f5e; font-size:13px; line-height:1.9; overflow-wrap:anywhere; }
.quote-box strong { color:#3a6c4d; font-weight:650; }
.quote-box p:last-child { margin-bottom:0; }
.active-order-panel { min-height:566px; }
#active-order.empty-state,.active-order-region>.empty-state { min-height:420px; }
#active-order:has(.active-order-content) { display:block; min-height:0; padding:0; text-align:left; }
.active-order-content { display:grid; gap:14px; }
.phone-display,.code-display { position:relative; min-width:0; padding:21px; border:1px solid #e0e9e2; border-radius:9px; background:#fafcfa; }
.phone-display>span,.code-display>span { display:block; margin-bottom:10px; color:var(--muted); font-size:11px; font-weight:550; letter-spacing:.04em; }
.phone-display>.row-action,.code-display>.row-action { display:flex; width:fit-content; margin-top:14px; }
.phone-display strong { color:#2c4b36; font-size:clamp(23px,2.4vw,32px); font-weight:600; line-height:1.4; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.code-display { border-color:#d8eade; background:#f5fbf6; }
.code-display>strong { color:var(--accent); font-size:35px; font-weight:600; line-height:1.3; letter-spacing:.12em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.code-message-only>strong { font-size:16px; line-height:1.7; letter-spacing:0; }
.order-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.order-meta div { min-width:0; padding:11px 0; border-bottom:1px solid #edf1ed; }
.order-meta span { display:block; margin-bottom:4px; color:var(--muted); font-size:11px; }
.order-meta b { color:#5d7365; font-size:13px; font-weight:500; overflow-wrap:anywhere; }
.live-note { margin:2px 0 0; color:var(--muted); font-size:12px; line-height:1.9; }
.active-order-content>.row-action { justify-self:start; padding-inline:13px; white-space:normal; text-align:left; }
.order-countdown { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:3px 20px; padding:16px 18px; border:1px solid #efdfc2; border-radius:8px; background:#fffaf0; }
.order-countdown span { color:#906918; font-size:12px; font-weight:550; }
.order-countdown strong { grid-row:1/3; grid-column:2; color:var(--warning); font-size:27px; font-weight:600; line-height:1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.order-countdown small { color:#80643d; font-size:11px; }
.order-countdown.is-expiring { border-color:#eac9d0; background:#fff7f8; }
.order-countdown.is-expiring strong { color:var(--danger); }
.sms-preview { margin-top:17px; padding-top:14px; border-top:1px solid #dfece3; }
.sms-preview span { display:block; margin-bottom:6px; color:#5f7967; font-size:9px; }
.sms-preview p { margin:0; color:#5f7c67; font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.policy-check { display:flex; align-items:flex-start; gap:10px; padding:13px; border:1px solid #e5e9df; border-radius:8px; background:#fefefa; color:var(--muted); font-size:12px; line-height:1.9; }
.policy-check input { width:16px; height:16px; flex:0 0 auto; margin:3px 0 0; accent-color:var(--accent); }
.premium-policy { padding:12px 14px; border:1px solid #e3eae5; border-radius:7px; background:#f8faf9; line-height:1.8; }
.provider-tag { color:var(--muted); font-size:11px; }
.wallet-layout { display:grid; grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr); align-items:start; gap:22px; }
.balance-card { min-width:0; min-height:237px; padding:28px; border:1px solid #196849; border-radius:11px; background:#14684d; color:#fff; }
.balance-card span,.balance-card small { display:block; color:#d3e7d9; font-size:11px; line-height:1.8; }
.balance-card strong { display:block; margin:37px 0 13px; font-size:38px; font-weight:600; line-height:1.3; letter-spacing:-.045em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.balance-card small { color:#d3e7d9; font-size:10px; }
.balance-card-note { margin:24px 0 0; padding-top:16px; border-top:1px solid rgb(255 255 255 / 16%); color:#d3e7d9; font-size:11px; line-height:1.9; }
/* Admin login and management surfaces; no new public admin links. */
.admin-gate { position:relative; display:grid; min-height:100svh; place-items:center; padding:36px 24px; background:#f8faf8; }
.admin-gate::before { position:absolute; inset:0; z-index:0; background-image:linear-gradient(#eff3ee 1px,transparent 1px),linear-gradient(90deg,#eff3ee 1px,transparent 1px); background-size:88px 88px; mask-image:radial-gradient(ellipse 65% 60% at center,#000,transparent 85%); pointer-events:none; content:""; }
.gate-card { position:relative; z-index:1; width:min(100%,464px); padding:39px; border-color:#dde7df; box-shadow:0 8px 30px rgb(35 71 46 / 4%); }
.gate-card>.brand { margin-bottom:43px; }
.gate-card h1 { margin:0 0 12px; font-size:31px; font-weight:600; letter-spacing:-.04em; }
.gate-card>p,.gate-heading p { margin-bottom:28px; color:var(--muted); font-size:12px; line-height:1.8; }
.gate-heading { margin-bottom:28px; }
.gate-heading p { margin:0; }
.back-link { display:inline-flex; align-items:center; gap:7px; margin-top:24px; color:var(--muted); font-size:11px; }
.back-link:hover { color:var(--accent); }
.gate-security { display:flex; align-items:flex-start; gap:8px; margin-top:22px; padding-top:17px; border-top:1px solid #edf1ed; color:var(--muted); font-size:10px; }
.gate-security svg { width:13px; height:13px; flex:0 0 auto; margin-top:2px; }
.admin-auth-loading .auth-loading-card { display:grid; justify-items:center; text-align:center; }
.admin-auth-loading .brand-mark { width:42px; height:42px; margin-bottom:22px; }
.admin-auth-loading .auth-spinner { width:21px; height:21px; margin-bottom:20px; border:2px solid #e5ede7; border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; }
.admin-auth-loading .gate-card h1 { font-size:22px; }
.admin-auth-loading .gate-card p { margin-bottom:0; font-size:11px; }
.admin-sidebar .app-nav { margin-top:0; }
.admin-sidebar .app-nav button { min-height:40px; }
.admin-split { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; gap:22px; }
.admin-users-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:22px; }
.admin-users-list { grid-column:1/-1; overflow:hidden; }
.admin-users-list .data-table { min-width:970px; }
.admin-users-list .data-table td:nth-child(3) { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; letter-spacing:.03em; }
.customer-actions { min-width:130px; flex-wrap:wrap; }
.issued-key { display:grid; gap:9px; margin-top:19px; padding:14px; border:1px solid #eadcc0; border-radius:8px; background:#fffcf5; }
.issued-key strong { color:#826c46; font-size:10px; font-weight:550; }
.issued-key code { overflow:auto; padding:11px; border:1px solid #f1e8d5; border-radius:5px; background:#fff; color:#817657; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:14px; letter-spacing:.1em; }
.issued-key button { justify-self:start; min-height:28px; padding:3px 0; border:0; background:none; color:var(--accent); cursor:pointer; font-size:10px; }
.compact-region { max-height:340px; margin-top:20px; overflow:auto; }
.catalog-admin-layout { grid-template-columns:minmax(0,1fr); }
#admin-catalog-table .data-table { min-width:960px; }
#admin-catalog-table th,#admin-catalog-table .row-action,#admin-catalog-table .status-pill { white-space:nowrap; }
#price-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px 24px; }
#price-form>.button { align-self:end; }
#price-form>.toggle-field { align-self:center; }
#price-form .field-error:empty { display:none; }
.provider-admin-layout { margin:20px 0; }
.provider-admin-layout > .panel { min-width: 0; }
.provider-admin-layout .field { margin-bottom:16px; }
.provider-admin-layout .data-region { margin-top:18px; }
.provider-overview .data-region { min-height:0; overflow-x:auto; }
.provider-overview .data-table { min-width:790px; }
.provider-overview .panel-actions { flex-wrap:wrap; }
.provider-settings-heading { display:grid; gap:20px; margin-top:24px; }
.provider-settings-heading h3 { margin:0; font-size:16px; font-weight:650; }
.provider-settings-switch { display:flex; width:fit-content; max-width:100%; gap:4px; padding:4px; border:1px solid #e3eae5; border-radius:8px; background:#f7faf7; }
.provider-settings-switch button { min-width:136px; min-height:37px; padding:7px 18px; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--muted); font:inherit; font-size:12px; font-weight:550; cursor:pointer; }
.provider-settings-switch button[aria-pressed="true"] { border-color:#dce7df; background:#fff; color:#317b50; box-shadow:0 1px 3px rgb(29 56 37 / 4%); }
.provider-settings-switch button:hover:not([aria-pressed="true"]) { color:#48634f; }
.provider-settings-switch button:focus-visible { outline:3px solid rgb(8 127 97 / 35%); outline-offset:2px; }
.provider-settings-state { margin:0; color:var(--muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.provider-settings-panel { min-width:0; }
.provider-settings-panel .data-region { overflow-x:auto; }
.provider-settings-panel .panel-heading>.button { flex-shrink:0; white-space:nowrap; }
.provider-secret-note { margin:22px 0 0; padding-top:15px; border-top:1px solid #edf2ee; color:var(--muted); font-size:12px; }
#admin-nex-catalog-state { margin-top:12px; color:var(--muted); font-size:12px; }
/* Native dialogs and catalog; bounded scrolling for short screens and large text. */
.login-dialog,.catalog-dialog,.customer-card-dialog { max-height:calc(100svh - 32px); overflow-y:auto; border:1px solid #dce7df; border-radius:14px; background:#fff; color:var(--text); box-shadow:var(--shadow); overscroll-behavior:contain; }
.login-dialog::backdrop,.catalog-dialog::backdrop,.customer-card-dialog::backdrop { background:rgb(23 38 33 / 27%); backdrop-filter:blur(3px); }
.login-dialog { width:min(calc(100% - 32px),456px); padding:34px; }
.dialog-close { position:absolute; top:17px; right:17px; display:grid; width:30px; height:30px; place-items:center; padding:0; border:1px solid #edf1ed; border-radius:6px; background:#fafcfb; color:#697a6e; cursor:pointer; font-size:21px; line-height:1; }
.dialog-close:hover { border-color:#d4e1d6; background:#f2f7f3; color:#57725e; }
.login-brand { display:grid; width:43px; height:43px; margin-bottom:29px; place-items:center; }
.login-brand .brand-mark { width:39px; height:39px; }
.login-dialog h2 { margin-bottom:11px; font-size:27px; font-weight:600; letter-spacing:-.04em; }
.login-dialog>p { margin-bottom:26px; color:var(--muted); font-size:12px; line-height:1.9; }
.security-note { display:flex; align-items:flex-start; gap:9px; margin-top:22px; padding-top:18px; border-top:1px solid #edf2ee; color:var(--muted); font-size:10px; line-height:1.9; }
.security-note>span { color:#8aaa95; }
.security-note svg { width:14px; height:14px; margin-top:2px; }
.security-note p { margin:0; }
.catalog-dialog { width:min(calc(100% - 32px),940px); padding:32px; }
.catalog-dialog-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:24px; padding-right:34px; }
.catalog-dialog-heading h2 { margin:0; font-size:28px; font-weight:600; letter-spacing:-.04em; }
.catalog-dialog-heading>p { max-width:300px; margin:0; color:var(--muted); font-size:11px; text-align:right; }
.catalog-toolbar { display:flex; align-items:end; gap:14px; padding:18px; margin-bottom:18px; border-color:#e5ece7; background:#fafcfa; box-shadow:none; }
.catalog-toolbar .field { flex:1; }
.catalog-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.catalog-columns>.panel { padding:20px; box-shadow:none; }
.directory-list { display:grid; min-height:190px; max-height:min(340px,42svh); align-content:start; gap:8px; overflow:auto; }
.directory-item { display:flex; min-height:53px; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid #e5ede7; border-radius:7px; background:#fcfefc; }
.directory-item b { color:#617e68; font-size:12px; font-weight:550; }
.directory-item span { color:var(--muted); font-size:10px; }
.customer-card-dialog { width:min(560px,calc(100vw - 24px)); padding:16px; background:#f7faf8; }
.card-toolbar { display:flex; justify-content:flex-end; margin-bottom:12px; }
#customer-card { padding:32px; border:1px solid #dfe8e2; border-radius:10px; background:#fff; color:#2c4636; }
.customer-card-header { padding-bottom:21px; border-bottom:1px solid #e5ede7; }
.customer-card-header .kicker { color:var(--muted); font-size:9px; }
.customer-card-header h2 { margin:9px 0 0; font-size:25px; font-weight:600; letter-spacing:-.04em; }
.customer-card-phone { display:block; padding:27px 0 22px; color:#2f6644; font-size:30px; font-weight:600; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.customer-card-details { margin:0; }
.customer-card-details>div { display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid #f1f5f1; font-size:12px; }
.customer-card-details dt { flex-shrink:0; color:var(--muted); }
.customer-card-details dd { min-width:0; margin:0; color:#647c6b; font-weight:500; text-align:right; overflow-wrap:anywhere; }
.customer-card-total { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; padding-top:19px; border-top:1px solid #dce8de; color:#5f7868; font-size:12px; }
.customer-card-total strong { color:var(--accent); font-size:30px; font-weight:600; line-height:1.3; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.customer-card-note { margin:22px 0 0; color:var(--muted); font-size:10px; line-height:1.9; }
.noscript-note { position:fixed; right:15px; bottom:15px; z-index:200; max-width:calc(100% - 30px); padding:12px 15px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:12px; }
/* Responsive: compact rails give way to a deliberate mobile drawer. */
@media(min-width:1600px) {
  .app-main { padding-inline:48px; } .workspace-section,.app-topbar { max-width:1400px; margin-inline:auto; } .hero-single h1 { font-size:72px; }
}
@media(max-width:1180px) {
  :root { --sidebar:224px; } .app-main { padding-inline:28px; } .reseller-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .workspace-grid { grid-template-columns:minmax(0,1fr); }
  .quick-start { min-height:0; } .quick-start .guide-list { grid-template-columns:repeat(3,minmax(0,1fr)); } .quick-start .button { margin-top:0; }
  .topbar-meta { gap:17px; } .user-chip { padding-left:16px; } .hero-single-layout { gap:30px; } .hero-single h1 { font-size:clamp(43px,4.7vw,58px); } .hero-art { padding-inline:8px; }
}
@media(max-width:980px) {
  .container { width:min(calc(100% - 56px),var(--container)); } .app-sidebar { width:256px; box-shadow:10px 0 45px rgb(23 38 33 / 10%); visibility:hidden; transform:translateX(-100%); transition:transform .18s ease; }
  .app-sidebar.is-open { visibility:visible; transform:translateX(0); } .app-main { margin-left:0; padding-inline:28px; } .mobile-only { display:grid; } .app-topbar { justify-content:flex-start; gap:14px; }
  .topbar-meta { margin-left:auto; } .topbar-description { display:none; } .admin-split { grid-template-columns:minmax(0,1fr); }
  .hero-single-layout { grid-template-columns:minmax(0,1.4fr) minmax(220px,.75fr); gap:15px; } .hero-single h1 { font-size:45px; } .hero-single .eyebrow { font-size:8px; letter-spacing:.09em; } .hero-art-note { font-size:8px; letter-spacing:.09em; }
  #price-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .order-layout,.wallet-layout,.admin-users-layout { grid-template-columns:minmax(0,1fr); } .admin-users-list { grid-column:auto; } .connection-state { display:none; } .user-chip { padding-left:0; border:0; } .user-chip div { display:none; }
  .hero-single-layout { grid-template-columns:minmax(0,1fr); max-width:650px; } .hero-art { display:none; } .hero-single .hero-copy { text-align:center; } .hero-single .eyebrow { justify-content:center; font-size:9px; letter-spacing:.09em; }
  .hero-single h1 { font-size:54px; } .hero-lead { margin-inline:auto; } .hero-actions,.trust-list { justify-content:center; }
}
@media(max-width:700px) {
  .container { width:min(calc(100% - 40px),var(--container)); } .nav-shell { min-height:70px; } .brand { font-size:20px; } .landing-access-label { font-size:9px; letter-spacing:0; } .brand-mark { width:31px; height:31px; }
  body.landing-mode { height:auto; min-height:100svh; overflow:auto; } body.landing-mode #main-content,body.landing-mode #public-view { height:auto; }
  .hero-single { height:auto; min-height:100svh; padding:114px 0 54px; } .hero-single .eyebrow { margin-bottom:27px; font-size:8px; letter-spacing:.07em; }
  .hero-single h1 { margin-bottom:24px; font-size:clamp(36px,9.2vw,49px); line-height:1.22; letter-spacing:-.06em; }
  .hero-lead { max-width:500px; margin-bottom:29px; font-size:13px; line-height:1.95; } .hero-single .hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .hero-single .button { min-width:0; min-height:46px; padding-inline:9px; font-size:11px; } .trust-list { gap:16px; margin-top:24px; font-size:9px; } .trust-list li { gap:5px; }
  .app-main { padding-inline:18px; padding-bottom:32px; } .app-topbar { min-height:78px; gap:12px; } .app-topbar h2 { font-size:16px; } .app-topbar .kicker { font-size:8px; letter-spacing:.06em; }
  .topbar-meta { gap:0; } .user-chip>span { width:31px; height:31px; font-size:10px; } .workspace-section { padding-top:25px; }
  .section-intro { display:block; margin-bottom:20px; } .section-intro h3 { margin-bottom:8px; font-size:23px; } .page-description { font-size:12px; line-height:1.9; } .section-intro-actions { padding-top:13px; }
  .stat-grid { gap:12px; margin-bottom:18px; } .stat-card { padding:17px 16px; border-radius:8px; } .stat-card>span { font-size:12px; } .stat-card strong { margin:13px 0 7px; font-size:25px; } .stat-card small { font-size:11px; } .stat-label svg { width:14px; height:14px; }
  .workspace-grid,.order-layout,.wallet-layout,.admin-split,.admin-users-layout { gap:18px; }
  .workspace-grid>.panel,.workspace-section>.panel,.order-layout>.panel,.wallet-layout>.panel,.admin-split>.panel,.admin-users-layout>.panel,.provider-settings-panel>.panel { padding:19px 18px; }
  .panel-heading { gap:13px; margin-bottom:20px; } .panel-heading h3 { font-size:15px; } .panel-subtitle { font-size:12px; } .panel-heading .kicker { font-size:8px; } .panel-heading>.button { font-size:12px; padding-inline:10px; }
  .row-action { min-height:38px; } .active-order-content>.row-action { min-height:42px; } .panel-actions { flex-wrap:wrap; } .panel-actions select { width:100%; min-width:125px; } .data-table { min-width:640px; } .data-table td { padding:12px; } .quick-start .guide-list { grid-template-columns:minmax(0,1fr); }
  .active-order-panel { min-height:425px; } #active-order.empty-state,.active-order-region>.empty-state { min-height:310px; } .phone-display,.code-display { padding:18px; } .phone-display>.row-action,.code-display>.row-action { display:flex; width:fit-content; margin-top:14px; }
.phone-display strong { font-size:27px; } .code-display>strong { font-size:32px; } .code-message-only>strong { font-size:15px; }
  .order-meta { gap:0 12px; } .order-countdown { gap:3px 12px; padding:14px; } .order-countdown strong { font-size:24px; } .order-countdown span { font-size:12px; } .order-countdown small { font-size:11px; }
  .balance-card { min-height:211px; padding:24px; } .balance-card strong { margin:28px 0 12px; font-size:35px; } .provider-settings-heading { margin-top:18px; gap:17px; } .provider-settings-switch { width:100%; } .provider-settings-switch button { min-width:0; flex:1; }
  .provider-overview .panel-actions { align-items:flex-start; } .provider-admin-layout { margin-block:18px; } .catalog-dialog { padding:29px 20px 22px; } .catalog-dialog-heading { display:block; padding-right:34px; } .catalog-dialog-heading h2 { font-size:25px; }
  .catalog-dialog-heading>p { margin-top:9px; text-align:left; } .catalog-toolbar { align-items:stretch; flex-direction:column; padding:15px; } .catalog-toolbar .button { justify-self:start; } .catalog-columns { grid-template-columns:minmax(0,1fr); } .catalog-columns>.panel { padding:18px; } .directory-list { max-height:210px; }
  .gate-card { padding:31px 26px; } .gate-card>.brand { margin-bottom:35px; } .gate-card h1 { font-size:28px; }
}
@media(max-width:480px) {
  .panel-heading .panel-actions { max-width:150px; justify-content:flex-end; } .reseller-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .stat-card small { max-width:140px; } .stat-label svg { display:none; } .stat-card strong { font-size:23px; }
  .login-dialog { padding:30px 24px; } .login-brand { margin-bottom:24px; } .login-dialog h2 { font-size:25px; } #price-form { grid-template-columns:minmax(0,1fr); }
  #customer-card { padding:24px; } .customer-card-header h2 { font-size:22px; } .customer-card-phone { padding-block:24px 18px; font-size:25px; } .customer-card-details>div { font-size:11px; } .customer-card-total strong { font-size:27px; }
}
@media(max-width:360px) {
  .hero-single h1 { font-size:33px; } .hero-single .eyebrow { font-size:7px; } .trust-list { gap:10px; font-size:8px; } .app-main { padding-inline:14px; } .stat-card { padding:15px 13px; } .stat-card strong { font-size:21px; }
}
@media(max-height:680px) and (min-width:701px) {
  .hero-single { padding-top:103px; padding-bottom:24px; } .hero-single .eyebrow { margin-bottom:20px; } .hero-single h1 { margin-bottom:20px; font-size:clamp(40px,4.5vw,58px); }
  .hero-lead { margin-bottom:23px; font-size:13px; line-height:1.8; } .trust-list { margin-top:18px; } .hero-art { padding-block:20px; } .hero-art>svg { max-width:325px; } .hero-art-note { margin-top:15px; }
}
@media(max-height:500px) and (min-width:701px) {
  .nav-shell { min-height:62px; } .hero-single { padding-top:78px; padding-bottom:14px; } .hero-single .eyebrow { margin-bottom:12px; font-size:8px; } .hero-single h1 { margin-bottom:14px; font-size:38px; }
  .hero-lead { margin-bottom:17px; font-size:11px; line-height:1.7; } .hero-single .button { min-height:39px; font-size:11px; } .trust-list { margin-top:13px; font-size:9px; } .hero-art>svg { max-width:240px; } .hero-art-label,.hero-art-note { display:none; }
  .login-dialog { padding:24px 28px; } .login-brand { display:none; } .login-dialog h2 { font-size:23px; } .login-dialog>p { margin-bottom:19px; font-size:11px; } .login-dialog .stack-form { gap:14px; }
}


/* v1.0 motion: CSS-only; the native setting never touches API, accounts or orders. */
.motion-toggle-input {
  position:fixed; right:164px; bottom:29px; z-index:76; width:16px; height:16px; margin:0;
  accent-color:var(--accent); cursor:pointer;
}
.motion-control {
  position:fixed; right:18px; bottom:18px; z-index:75; display:flex; width:176px; min-height:38px;
  align-items:center; padding:8px 12px 8px 39px; border:1px solid var(--line); border-radius:7px;
  background:var(--surface); color:var(--muted); font-size:12px; line-height:1.6; cursor:pointer;
  box-shadow:0 2px 8px rgb(23 38 33 / 4%);
}
.motion-toggle-input:focus-visible + .motion-control { outline:3px solid rgb(8 127 97 / 35%); outline-offset:3px; }
.motion-toggle-input:checked + .motion-control { border-color:var(--line-strong); background:#f4f9f6; color:#446b51; }
/* The fixed preference never covers the last operational action on a short page. */
.app-main { padding-bottom:94px; }
.admin-gate { padding-bottom:94px; }
.hero-single { padding-bottom:66px; }

/* Only the inner globe moves: frame, coordinates and labels stay anchored. */
.hero-globe .globe-rotation, .hero-globe .globe-orbit { transform-box:view-box; transform-origin:220px 220px; }
.hero-globe .globe-rotation { animation:vn-globe-turn 56s linear infinite; }
.hero-globe .globe-orbit { animation:vn-orbit-turn 34s linear infinite reverse; }
@keyframes vn-globe-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes vn-orbit-turn { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
/* Display-hidden surfaces and the mobile-hidden illustration do not keep decoration running. */
#public-view[hidden] .globe-rotation, #public-view[hidden] .globe-orbit { animation:none!important; }
body:has(dialog[open]) .hero-globe .globe-rotation, body:has(dialog[open]) .hero-globe .globe-orbit { animation-play-state:paused; }
@media(max-width:760px) { .hero-globe .globe-rotation, .hero-globe .globe-orbit { animation:none!important; } }

/* Entrances begin readable, and never change a number, balance, status or row layout. */
.hero-copy > * { animation:vn-enter 600ms cubic-bezier(.2,.7,.2,1) both; }
.hero-copy > .eyebrow { animation-delay:20ms; }
.hero-copy > h1 { animation-delay:70ms; }
.hero-copy > .hero-lead { animation-delay:120ms; }
.hero-copy > .hero-actions { animation-delay:170ms; }
.hero-copy > .trust-list { animation-delay:210ms; }
.hero-art { animation:vn-enter 650ms 150ms cubic-bezier(.2,.7,.2,1) both; }
.workspace-section.is-active { animation:vn-enter 260ms cubic-bezier(.2,.7,.2,1) both; }
.provider-settings-panel:not([hidden]) { animation:vn-enter 220ms cubic-bezier(.2,.7,.2,1) both; }
.admin-gate:not([hidden]) .gate-card { animation:vn-enter 360ms cubic-bezier(.2,.7,.2,1) both; }
.login-dialog[open], .catalog-dialog[open], .customer-card-dialog[open] { animation:vn-dialog-in 220ms cubic-bezier(.2,.7,.2,1) both; }
@keyframes vn-enter { from { opacity:.78; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes vn-dialog-in { from { opacity:.72; transform:translateY(8px) scale(.995); } to { opacity:1; transform:none; } }

/* Real hover only; touch does not acquire sticky hover or moving tables. */
@media(hover:hover) and (pointer:fine) {
  .button, .row-action, .icon-button, .stat-card, .quick-start, .directory-item { transition:transform 160ms ease,opacity 160ms ease; }
  .app-nav .nav-icon, .button .button-icon { transition:transform 160ms ease; }
  .button:hover:not(:disabled), .icon-button:hover:not(:disabled) { transform:translateY(-1px); }
  .stat-card:hover, .quick-start:hover, .directory-item:hover { transform:translateY(-2px); }
  .app-nav button:hover .nav-icon { transform:translateX(1px); }
  .button:hover:not(:disabled) .button-icon { transform:translateX(2px); }
  .button:active:not(:disabled), .row-action:active:not(:disabled), .icon-button:active:not(:disabled) { transform:translateY(0) scale(.985); }
}

/* Pause freezes continuous decoration at its current position, not at a reset frame. */
#motion-paused:checked ~ main .globe-rotation,
#motion-paused:checked ~ main .globe-orbit { animation-play-state:paused!important; }
/* Finite entries instead settle immediately; paused/new pages always remain fully readable. */
#motion-paused:checked ~ main .hero-copy > *,
#motion-paused:checked ~ main .hero-art,
#motion-paused:checked ~ main .workspace-section,
#motion-paused:checked ~ main .provider-settings-panel,
#motion-paused:checked ~ main .gate-card,
#motion-paused:checked ~ dialog[open] { animation:none!important; opacity:1!important; transform:none!important; }
#motion-paused:checked ~ main *, #motion-paused:checked ~ dialog * { transition:none!important; }
#motion-paused:checked ~ main .button,
#motion-paused:checked ~ main .row-action,
#motion-paused:checked ~ main .icon-button,
#motion-paused:checked ~ main .stat-card,
#motion-paused:checked ~ main .quick-start,
#motion-paused:checked ~ main .directory-item,
#motion-paused:checked ~ main .nav-icon,
#motion-paused:checked ~ main .button-icon,
#motion-paused:checked ~ dialog .button,
#motion-paused:checked ~ dialog .nav-icon { transform:none!important; }
#motion-paused:checked ~ main .loading-state::before,
#motion-paused:checked ~ dialog .loading-state::before,
#motion-paused:checked ~ main .auth-spinner { animation:none!important; }

@media(max-width:700px) {
  .motion-control { right:14px; bottom:12px; min-height:44px; }
  .motion-toggle-input { right:160px; bottom:26px; }
  .app-main { padding-bottom:86px; }
  .hero-single { padding-bottom:74px; }
}
@media(max-height:500px) and (min-width:701px) {
  .hero-single { padding-bottom:58px; }
  .hero-copy > * { animation-duration:320ms; animation-delay:0ms; }
}

/* System preference is authoritative for visual movement, including loading glyphs. */
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .hero-copy > *, .hero-art, .workspace-section, .provider-settings-panel, .gate-card,
  .login-dialog[open], .catalog-dialog[open], .customer-card-dialog[open], .reveal,
  .button, .row-action, .icon-button, .stat-card, .quick-start, .directory-item, .button-icon, .nav-icon { opacity:1!important; transform:none!important; }
}


/* VirtuNum v1.0 admin polish: isolated operations-console design.
   Existing public/agent/motion styles above are preserved byte-for-byte. */
.admin-body {
  --bg:#f5f7f9;
  --surface:#ffffff;
  --line:#e2e7ec;
  --text:#1b2635;
  --muted:#637180;
  --accent:#087f61;
  --sidebar:228px;
  color:var(--text);
  background:var(--bg);
}
.admin-body .app-main { margin-left:var(--sidebar); padding:0 32px 94px; }
.admin-body .admin-sidebar { padding:27px 16px 18px; background:#fff; border-right:1px solid var(--line); }
.admin-body .app-brand { gap:9px; margin:0 12px; font-size:22px; letter-spacing:-.9px; }
.admin-body .app-brand .brand-mark { width:31px; height:35px; }
.admin-body .admin-label { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:17px 12px 26px; color:#657381; font-size:11px; letter-spacing:.02em; }
.admin-body .admin-label span { padding:2px 5px; border:1px solid #e5e9ed; border-radius:4px; color:#667380; font-size:10px; letter-spacing:0; }
.admin-body .app-nav { gap:4px; }
.admin-body .sidebar-caption { margin:22px 12px 9px; color:#6a7683; font-size:10px; font-weight:550; letter-spacing:.06em; }
.admin-body .sidebar-caption:first-child { margin-top:0; }
.admin-body .app-nav button { min-height:44px; gap:12px; padding:10px 12px; border-radius:7px; color:#576574; font-size:13px; font-weight:500; }
.admin-body .app-nav .nav-icon { width:18px; height:18px; color:#71808c; }
.admin-body .app-nav button.is-active { background:#eaf5f0; color:#11694f; font-weight:650; }
.admin-body .app-nav button.is-active::before { top:13px; bottom:13px; left:0; width:2px; background:#087f61; }
.admin-body .app-nav button.is-active .nav-icon { color:#087f61; }
.admin-body .sidebar-foot { gap:8px; margin-top:auto; padding:24px 10px 0; }
.admin-body .sidebar-foot a,.admin-body .sidebar-foot button { min-height:44px; color:#647280; font-size:12px; }
.admin-body .app-topbar { min-height:68px; gap:20px; margin:0 -32px 30px; padding:12px 32px; border-bottom:1px solid var(--line); background:#fff; }
.admin-body .app-topbar > div:not(.topbar-meta) { min-width:0; }
.admin-body .admin-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:11px; color:#697785; font-size:12px; line-height:1.5; }
.admin-body .admin-breadcrumb > span[aria-hidden] { color:#a0aab4; }
.admin-body .admin-breadcrumb-current { color:#2a3746; font-weight:650; }
.admin-body .topbar-description { margin:4px 0 0; color:#637180; font-size:11px; line-height:1.6; }
.admin-body .topbar-meta { gap:20px; }
.admin-body .connection-state { color:#596c60; font-size:11px; }
.admin-body .user-chip { gap:9px; padding-left:20px; border-color:#e8ecef; }
.admin-body .user-chip > span { width:32px; height:32px; border:1px solid #e4e9ed; background:#f8fafb; color:#566875; font-size:11px; }
.admin-body .user-chip b { max-width:150px; color:#394755; font-size:11px; }
.admin-body .user-chip small { color:#637180; font-size:10px; }
.admin-body .workspace-section { min-width:0; padding-top:0; }
.admin-body .section-intro { gap:20px; margin-bottom:26px; }
.admin-body .section-intro > div { min-width:0; }
.admin-body .section-intro h1 { margin:0; color:#1b2635; font-size:28px; font-weight:680; line-height:1.35; letter-spacing:-.6px; }
.admin-body .page-description { max-width:840px; margin:10px 0 0; color:#637180; font-size:13px; line-height:1.85; }
.admin-body .panel { border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 2px 5px rgb(24 41 59 / 2%); }
.admin-body .workspace-section > .panel,
.admin-body .admin-management-layout > .panel,
.admin-body .admin-editor-panel > .panel,
.admin-body .admin-split > .panel,
.admin-body .provider-settings-panel > .panel { padding:22px; }
.admin-body .panel-heading { align-items:flex-start; gap:18px; margin-bottom:20px; }
.admin-body .panel-heading > div { min-width:0; }
.admin-body .panel h2 { margin:0; color:#283646; font-size:15px; line-height:1.5; font-weight:650; letter-spacing:-.15px; }
.admin-body .panel-subtitle { margin:7px 0 0; color:#637180; font-size:12px; line-height:1.8; }
.admin-body .muted-copy { color:#637180; font-size:13px; line-height:1.85; }
.admin-body .admin-management-layout { display:grid; grid-template-columns:minmax(0,1fr) 308px; gap:22px; align-items:start; }
.admin-body .admin-primary-panel { min-width:0; }
.admin-body .admin-users-list { grid-column:auto; overflow:visible; }
.admin-body .admin-users-list .data-table { min-width:760px; table-layout:fixed; }
.admin-body .admin-users-list .data-table th,.admin-body .admin-users-list .data-table td { padding-inline:10px; }
.admin-body .admin-users-list .data-table th:nth-child(1) { width:16%; }
.admin-body .admin-users-list .data-table th:nth-child(2) { width:14%; }
.admin-body .admin-users-list .data-table th:nth-child(3) { width:22%; }
.admin-body .admin-users-list .data-table th:nth-child(4) { width:6%; }
.admin-body .admin-users-list .data-table th:nth-child(5) { width:12%; }
.admin-body .admin-users-list .data-table th:nth-child(6) { width:16%; }
.admin-body .admin-users-list .data-table th:nth-child(7) { width:14%; }
.admin-body .admin-users-list .cell-identity { min-width:0; }
.admin-body .admin-users-list .data-table td .customer-actions { min-width:0; flex-direction:column; align-items:flex-start; gap:6px; }
.admin-body .admin-editor-panel { display:grid; min-width:0; gap:20px; }
.admin-body .admin-list-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-bottom:20px; padding:18px 0; border-top:1px solid #edf0f3; border-bottom:1px solid #edf0f3; }
.admin-body .admin-summary-item { min-width:0; padding:0 18px; border-left:1px solid #e8edf1; }
.admin-body .admin-summary-item:first-child { padding-left:0; border-left:0; }
.admin-body .admin-summary-item:last-child { padding-right:0; }
.admin-body .admin-summary-item span { display:block; color:#657381; font-size:11px; line-height:1.6; }
.admin-body .admin-summary-item strong { display:block; margin-top:7px; color:#213142; font-size:23px; line-height:1.2; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.5px; }
.admin-body .admin-list-summary > .muted-copy { grid-column:1/-1; margin:0; }
.admin-body .data-region { min-width:0; max-width:100%; }
.admin-body .table-scroll { max-width:100%; border:1px solid #e7ebef; border-radius:7px; }
.admin-body .data-table { color:#435162; }
.admin-body .data-table th { padding:12px 13px; border-bottom:1px solid #e6ebef; background:#f7f9fb; color:#647180; font-size:11px; line-height:1.6; font-weight:550; white-space:nowrap; }
.admin-body .data-table td { padding:15px 13px; border-bottom:1px solid #edf0f3; color:#435162; font-size:13px; line-height:1.7; vertical-align:middle; font-variant-numeric:tabular-nums; }
.admin-body .data-table tbody tr:last-child td { border-bottom:0; }
.admin-body .data-table td small { color:#637180; font-size:11px; }
.admin-body .data-table td strong { color:#283646; font-weight:600; }
.admin-body .admin-users-list .data-table td:nth-child(3) { font-size:12px; }
.admin-body .cell-identity { min-width:130px; }
.admin-body .cell-identity strong { color:#2b3949; font-size:12px; }
.admin-body .row-actions { gap:7px; }
.admin-body .row-action { min-height:34px; padding:7px 10px; border-color:#dde4e9; border-radius:5px; background:#fff; font-size:11px; }
.admin-body .admin-table-toolbar { align-items:center; margin-bottom:18px; padding-bottom:17px; border-bottom:1px solid #edf0f3; }
.admin-body .admin-table-toolbar .panel-subtitle { margin:0; font-size:12px; }
.admin-body .button { min-height:42px; border-radius:6px; font-size:13px; font-weight:550; }
.admin-body .button-small { min-height:36px; padding:7px 12px; font-size:12px; }
.admin-body .button-primary { border-color:#087f61; background:#087f61; color:#fff; box-shadow:0 1px 2px rgb(8 127 97 / 12%); }
.admin-body .button-secondary { border-color:#dce3e9; background:#fff; color:#415263; box-shadow:0 1px 2px rgb(24 41 59 / 2%); }
.admin-body .stack-form { gap:17px; }
.admin-body .field { min-width:0; }
.admin-body .field > span { color:#445362; font-size:12px; font-weight:550; }
.admin-body .field input,.admin-body .field select,.admin-body .field textarea { min-width:0; min-height:43px; border-color:#dae2e8; border-radius:6px; background:#fff; color:#283747; font-size:14px; line-height:1.5; }
.admin-body .field input::placeholder,.admin-body .field textarea::placeholder { color:#697885; }
.admin-body .field input:focus,.admin-body .field select:focus,.admin-body .field textarea:focus { border-color:#399c7e; box-shadow:0 0 0 3px rgb(8 127 97 / 9%); }
.admin-body .field small { font-size:11px; line-height:1.7; }
.admin-body .field-error { color:#a13c42; }
.admin-body .fixed-value { min-width:0; gap:12px; padding:12px; border-color:#e7ecf0; border-radius:6px; background:#f8fafb; }
.admin-body .fixed-value span { color:#637180; font-size:11px; }
.admin-body .fixed-value strong { color:#354858; font-size:12px; overflow-wrap:anywhere; }
.admin-body .toggle-field { min-height:40px; color:#526373; font-size:12px; line-height:1.65; }
.admin-body .toggle-field input { width:17px; height:17px; }
.admin-body .issued-key { border-color:#e7d9b9; background:#fffcf5; }
.admin-body .issued-key strong { color:#796132; font-size:12px; }
.admin-body .issued-key button { min-height:36px; color:#087054; font-size:12px; }
.admin-body .issued-key code { color:#57472d; }
.admin-body #price-form { grid-template-columns:minmax(0,1fr); gap:17px; }
.admin-body #price-form > .fixed-value,.admin-body #price-form > .toggle-field,.admin-body #price-form > .button,.admin-body #price-form > .field-error { grid-column:1/-1; }
.admin-body .admin-wallet-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:24px; max-width:1060px; }
.admin-body .admin-wallet-layout .admin-primary-panel { padding:27px; }
.admin-body .admin-wallet-layout .stack-form { gap:21px; }
.admin-body .admin-guidance { background:#fbfcfd; }
.admin-body .guide-list { margin-top:24px; }
.admin-body .guide-item { gap:15px; padding:20px 0; border-color:#e8edf1; }
.admin-body .guide-number { color:#087f61; border-color:#dcece5; background:#f1f8f4; }
.admin-body .guide-item strong { color:#344353; font-size:13px; }
.admin-body .guide-item p { color:#637180; font-size:12px; line-height:1.9; }
.admin-body .provider-overview { border:0; background:transparent; box-shadow:none; }
.admin-body .workspace-section > .provider-overview { padding:0; }
.admin-body .provider-overview > .panel-heading { align-items:center; margin-bottom:18px; }
.admin-body .provider-overview > .panel-heading h2 { font-size:14px; }
.admin-body .provider-overview .data-region { min-height:0; overflow:visible; }
.admin-body .admin-provider-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.admin-body .admin-provider-card { display:flex; min-width:0; flex-direction:column; padding:23px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 2px 5px rgb(24 41 59 / 2%); }
.admin-body .admin-provider-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.admin-body .admin-provider-head h3 { font-size:21px; line-height:1.4; letter-spacing:-.6px; }
.admin-body .admin-provider-head .status-pill { flex-shrink:0; }
.admin-body .admin-provider-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0 0; }
.admin-body .admin-provider-meta > div { min-width:0; }
.admin-body .admin-provider-meta dt { margin-bottom:7px; color:#637180; font-size:11px; line-height:1.5; }
.admin-body .admin-provider-meta dd { margin:0; color:#334657; font-size:13px; font-weight:550; line-height:1.7; overflow-wrap:anywhere; }
.admin-body .admin-provider-note { margin:17px 0 0; color:#637180; font-size:12px; line-height:1.8; }
.admin-body .admin-provider-actions { margin-top:auto; padding-top:21px; align-items:center; gap:9px; }
.admin-body .admin-provider-actions .row-action { min-height:38px; padding-inline:13px; font-size:12px; }
.admin-body .provider-settings-heading { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px 24px; margin-top:26px; background:#fff; }
.admin-body .provider-settings-heading > div { min-width:0; }
.admin-body .provider-settings-switch { gap:3px; padding:4px; border-color:#e2e8ed; border-radius:7px; background:#f5f7f9; }
.admin-body .provider-settings-switch button { min-width:108px; min-height:36px; padding:7px 17px; border-radius:4px; color:#5b6b79; font-size:12px; }
.admin-body .provider-settings-switch button[aria-pressed="true"] { border-color:#dce5e1; background:#fff; color:#087054; box-shadow:0 1px 3px rgb(24 41 59 / 5%); }
.admin-body .provider-settings-state { grid-column:1/-1; padding-top:12px; border-top:1px solid #edf0f3; color:#526b5e; font-size:12px; }
.admin-body .provider-admin-layout { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:22px; margin:22px 0; }
.admin-body .provider-secret-note { padding-top:17px; border-top:1px solid #edf0f3; }
.admin-body .provider-settings-panel .panel > h2 + .muted-copy { margin-top:16px; }
.admin-body .provider-settings-panel .panel-actions { flex-wrap:wrap; gap:9px; }
.admin-body #provider-settings-panel-nexsms .provider-admin-layout { grid-template-columns:minmax(0,1fr) 360px; }
.admin-body #admin-nex-catalog-state { margin-top:17px; color:#637180; font-size:12px; }
.admin-body .loading-state,.admin-body .empty-state,.admin-body .error-state { color:#637180; }
.admin-body .status-pill { font-size:11px; }
.admin-body .alert { border-radius:7px; font-size:13px; }
.admin-body .admin-gate { padding:44px 28px 94px; background:#f5f7f9; }
.admin-body .admin-gate::before { content:none; }
.admin-body .admin-gate-layout { display:grid; width:min(1060px,100%); grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:stretch; border:1px solid #dfe6eb; border-radius:14px; background:#fff; box-shadow:0 14px 55px rgb(24 41 59 / 5%); }
.admin-body .admin-gate-brand { display:flex; min-width:0; flex-direction:column; padding:42px 46px 32px; border-radius:14px 0 0 14px; background:#f8fafb; }
.admin-body .admin-gate-brand .brand { justify-content:flex-start; font-size:24px; }
.admin-body .admin-gate-brand .brand small { margin-left:auto; color:#637180; font-size:10px; }
.admin-body .admin-gate-copy { margin-top:44px; }
.admin-body .admin-gate-caption { margin:0 0 14px; color:#087054; font-size:11px; font-weight:650; letter-spacing:.08em; }
.admin-body .admin-gate-copy h1 { margin:0; color:#203344; font-size:34px; line-height:1.5; font-weight:680; letter-spacing:-1.2px; }
.admin-body .admin-gate-copy > p:last-child { max-width:360px; margin:17px 0 0; color:#637180; font-size:13px; line-height:1.9; }
.admin-body .admin-gate-art { display:block; width:100%; max-width:405px; height:auto; margin:15px auto 6px; color:#087f61; }
.admin-body .admin-gate-note { margin:auto 0 0; padding-top:14px; border-top:1px solid #e3eaee; color:#637180; font-size:11px; line-height:1.9; }
.admin-body .admin-gate-form { display:flex; width:auto; min-width:0; flex-direction:column; justify-content:center; padding:54px 44px; border:0; border-left:1px solid #e4eaee; border-radius:0 14px 14px 0; box-shadow:none; }
.admin-body .admin-gate-form .gate-heading { margin-bottom:31px; }
.admin-body .admin-gate-form .gate-heading h2 { margin:0; color:#253444; font-size:25px; line-height:1.45; font-weight:650; letter-spacing:-.6px; }
.admin-body .admin-gate-form .gate-heading p { margin-top:11px; color:#637180; font-size:13px; line-height:1.85; }
.admin-body .admin-gate-form .stack-form { gap:21px; }
.admin-body .admin-gate-form .field > span { font-size:13px; }
.admin-body .admin-gate-form .field input { min-height:46px; }
.admin-body .admin-gate-form .button { min-height:46px; margin-top:3px; }
.admin-body .admin-gate-form .gate-security { justify-content:flex-start; margin-top:25px; padding-top:21px; border-top:1px solid #edf0f3; color:#637180; font-size:11px; }
.admin-body .admin-gate-form .back-link { align-self:flex-start; margin-top:26px; color:#516577; font-size:12px; }
.admin-body .admin-auth-loading .gate-card { max-width:420px; padding:36px; }
.admin-body .admin-auth-loading h1 { color:#283747; font-size:20px; }
.admin-body .admin-auth-loading p { color:#637180; font-size:13px; }
.admin-body .motion-control { border-color:#e0e6eb; color:#5b6b7a; background:#fff; }

@media (hover:hover) and (pointer:fine) {
  .admin-body .app-nav button:hover:not(.is-active) { background:#f4f7f9; color:#324858; }
  .admin-body .data-table tbody tr:hover { background:#fafcfd; }
  .admin-body .button-secondary:hover:not(:disabled),.admin-body .row-action:hover:not(:disabled) { border-color:#bfcdd5; background:#f7fafb; }
  .admin-body .button-primary:hover:not(:disabled) { border-color:#066e53; background:#066e53; }
  .admin-body .provider-settings-switch button:hover:not([aria-pressed="true"]):not(:disabled) { color:#304c40; background:#edf2ef; }
}
@media (min-width:981px) {
  .admin-body:has(#admin-app:not([hidden])) .motion-control { left:18px; right:auto; width:calc(var(--sidebar) - 36px); }
  .admin-body:has(#admin-app:not([hidden])) .motion-toggle-input { left:30px; right:auto; }
  .admin-body .sidebar-foot { padding-bottom:64px; }
}
@media (max-width:1640px) {
  .admin-body .catalog-admin-layout { grid-template-columns:minmax(0,1fr); }
  .admin-body #price-form { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .admin-body #price-form > .fixed-value,.admin-body #price-form > .toggle-field { grid-column:auto; }
}
@media (max-width:1350px) {
  .admin-body .admin-management-layout { grid-template-columns:minmax(0,1fr); }
  .admin-body .admin-users-layout > .admin-editor-panel { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .admin-body #price-form { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .admin-body #price-form > .fixed-value,.admin-body #price-form > .toggle-field { grid-column:auto; }
  .admin-body #provider-settings-panel-nexsms .provider-admin-layout { grid-template-columns:minmax(0,1fr); }
  .admin-body #nex-offer-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-body #nex-offer-form > .toggle-field,.admin-body #nex-offer-form > .muted-copy,.admin-body #nex-offer-form > .panel-actions { grid-column:1/-1; }
}
@media (max-width:1180px) {
  .admin-body { --sidebar:214px; }
  .admin-body .app-main { padding-inline:26px; }
  .admin-body .app-topbar { margin-inline:-26px; padding-inline:26px; }
  .admin-body .app-brand { margin-inline:8px; font-size:21px; }
  .admin-body .admin-label { margin-inline:8px; }
  .admin-body .provider-admin-layout { grid-template-columns:minmax(0,1fr); }
  .admin-body .admin-gate-brand { padding-inline:35px; }
  .admin-body .admin-gate-form { padding-inline:35px; }
}
@media (max-width:980px) {
  .admin-body .admin-sidebar { width:256px; visibility:hidden; transform:translateX(-100%); }
  .admin-body .admin-sidebar.is-open { visibility:visible; transform:translateX(0); }
  .admin-body .app-main { margin-left:0; }
  .admin-body .app-topbar { min-height:72px; gap:15px; }
  .admin-body .admin-wallet-layout { grid-template-columns:minmax(0,1fr); max-width:none; }
  .admin-body #price-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-body .admin-gate-layout { width:min(740px,100%); grid-template-columns:minmax(0,1fr); }
  .admin-body .admin-gate-brand { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:20px; padding:30px 34px; border-radius:14px 14px 0 0; }
  .admin-body .admin-gate-brand > .brand { grid-column:1/-1; }
  .admin-body .admin-gate-copy { align-self:center; margin-top:5px; }
  .admin-body .admin-gate-copy h1 { font-size:27px; line-height:1.45; }
  .admin-body .admin-gate-copy > p:last-child { margin-top:12px; font-size:12px; }
  .admin-body .admin-gate-art { align-self:center; margin:0; }
  .admin-body .admin-gate-note { grid-column:1/-1; padding-top:16px; }
  .admin-body .admin-gate-form { padding:34px; border:0; border-top:1px solid #e4eaee; border-radius:0 0 14px 14px; }
  .admin-body .admin-gate-form .stack-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-body .admin-gate-form .stack-form > .button { grid-column:1/-1; }
  .admin-body .admin-gate-form .gate-heading { margin-bottom:23px; }
}
@media (max-width:760px) {
  .admin-body .topbar-meta { gap:0; margin-left:auto; }
  .admin-body .user-chip { padding-left:0; border:0; }
  .admin-body .provider-settings-heading { grid-template-columns:minmax(0,1fr); }
  .admin-body .provider-settings-switch { width:100%; }
  .admin-body .provider-settings-switch button { min-width:0; flex:1; }
}
@media (max-width:700px) {
  .admin-body .app-main { padding:0 18px 86px; }
  .admin-body .app-topbar { min-height:73px; gap:12px; margin:0 -18px 25px; padding:12px 18px; }
  .admin-body .admin-breadcrumb { gap:8px; font-size:11px; }
  .admin-body .topbar-description { max-width:230px; font-size:10px; line-height:1.6; }
  .admin-body .section-intro { margin-bottom:21px; }
  .admin-body .section-intro h1 { font-size:24px; letter-spacing:-.5px; }
  .admin-body .page-description { margin-top:10px; font-size:12px; line-height:1.85; }
  .admin-body .workspace-section > .panel,
  .admin-body .admin-management-layout > .panel,
  .admin-body .admin-editor-panel > .panel,
  .admin-body .admin-split > .panel,
  .admin-body .provider-settings-panel > .panel { padding:19px 17px; }
  .admin-body .admin-management-layout,.admin-body .admin-users-layout > .admin-editor-panel,.admin-body .admin-provider-cards { grid-template-columns:minmax(0,1fr); gap:18px; }
  .admin-body .panel-heading { gap:13px; margin-bottom:18px; }
  .admin-body .panel h2 { font-size:15px; }
  .admin-body .panel-subtitle { font-size:12px; }
  .admin-body .admin-list-summary { margin-bottom:17px; padding-block:16px; }
  .admin-body .admin-summary-item { padding-inline:12px; }
  .admin-body .admin-summary-item span { font-size:10px; }
  .admin-body .admin-summary-item strong { font-size:22px; }
  .admin-body .button,.admin-body .button-small,.admin-body .row-action,.admin-body .issued-key button,.admin-body .provider-settings-switch button,.admin-body .back-link { min-height:44px; }
  .admin-body .icon-button { width:44px; height:44px; }
  .admin-body .button-small { padding:8px 12px; font-size:12px; }
  .admin-body .row-action { padding:9px 11px; font-size:12px; }
  .admin-body .field > span { font-size:13px; }
  .admin-body .field input,.admin-body .field select,.admin-body .field textarea { min-height:46px; font-size:16px; }
  .admin-body .toggle-field { min-height:44px; font-size:13px; }
  .admin-body .fixed-value { min-height:44px; }
  .admin-body #price-form,.admin-body #nex-offer-form { grid-template-columns:minmax(0,1fr); gap:18px; }
  .admin-body #price-form > .fixed-value,.admin-body #price-form > .toggle-field { grid-column:1/-1; }
  .admin-body .workspace-section > .provider-overview { padding:0; }
  .admin-body .admin-provider-card { padding:21px 19px; }
  .admin-body .admin-provider-head h3 { font-size:21px; }
  .admin-body .admin-provider-actions .row-action { min-height:44px; }
  .admin-body .provider-settings-heading { margin-top:22px; gap:18px; }
  .admin-body .provider-admin-layout { gap:18px; margin-block:18px; }
  .admin-body .provider-settings-panel .panel-heading { flex-wrap:wrap; }
  .admin-body .provider-settings-panel .panel-heading > .button { flex-shrink:1; white-space:normal; }
  .admin-body .admin-table-toolbar { align-items:flex-start; }
  .admin-body .admin-table-toolbar .panel-subtitle { flex:1; }
  .admin-body .admin-gate { padding:22px 16px 86px; }
  .admin-body .admin-gate-layout { border-radius:11px; }
  /* Small-screen sign-in prioritizes fields; only its aria-hidden SVG is omitted. */
  .admin-body #admin-gate { align-items:start; padding-top:18px; }
  .admin-body .admin-gate-brand { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 25px; border-radius:11px 11px 0 0; }
  .admin-body .admin-gate-brand .brand { font-size:22px; }
  .admin-body .admin-gate-copy { margin:4px 0 0; }
  .admin-body .admin-gate-caption { margin-bottom:8px; font-size:10px; }
  .admin-body .admin-gate-copy h1 { font-size:22px; line-height:1.4; letter-spacing:-.5px; }
  .admin-body .admin-gate-copy > p:last-child { margin-top:10px; font-size:12px; line-height:1.75; }
  .admin-body .admin-gate-art { display:none; }
  .admin-body .admin-gate-note { padding-top:12px; font-size:10px; line-height:1.8; }
  .admin-body .admin-gate-form { padding:24px 25px; border-radius:0 0 11px 11px; }
  .admin-body .admin-gate-form .gate-heading { margin-bottom:20px; }
  .admin-body .admin-gate-form .gate-heading h2 { font-size:22px; }
  .admin-body .admin-gate-form .gate-heading p { margin-top:8px; font-size:12px; }
  .admin-body .admin-gate-form .stack-form { grid-template-columns:minmax(0,1fr); gap:18px; }
  .admin-body .admin-gate-form .field input { min-height:46px; }
  .admin-body .admin-gate-form .gate-security { margin-top:20px; padding-top:16px; }
  .admin-body .admin-gate-form .back-link { margin-top:18px; }
  .admin-body .admin-auth-loading .gate-card { width:100%; padding:30px 24px; }
}

/* Sidebar operating-console title: larger, centered, with a quiet version. */
.admin-body .admin-sidebar .admin-label {
  flex-direction:column;
  justify-content:center;
  gap:4px;
  margin:16px 12px;
  text-align:center;
  color:#344353;
  font-size:16px;
  font-weight:650;
  line-height:1.4;
  letter-spacing:0;
}
.admin-body .admin-sidebar .admin-label span {
  padding:0;
  border:0;
  color:#637180;
  font-size:10px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.03em;
}

/* Group dividers use existing whitespace: no taller drawer or blocked actions. */
.admin-body .admin-sidebar .app-nav .sidebar-caption {
  position:relative;
  color:#556575;
  font-size:11px;
  font-weight:650;
  line-height:16px;
  letter-spacing:.02em;
}
.admin-body .admin-sidebar .app-nav .sidebar-caption::before {
  content:"";
  position:absolute;
  top:-12px;
  left:0;
  right:0;
  height:1px;
  background:#d1dcd6;
  pointer-events:none;
}
.admin-body .admin-sidebar .sidebar-foot {
  position:relative;
}
.admin-body .admin-sidebar .sidebar-foot::before {
  content:"";
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  height:1px;
  background:#d1dcd6;
  pointer-events:none;
}

/* Current page is distinct from hover without changing navigation geometry. */
.admin-body .admin-sidebar .app-nav button.is-active {
  background:#06694f;
  color:#ffe3a1;
  font-weight:700;
  box-shadow:inset 0 0 0 1px rgba(0,60,43,.08),0 4px 10px rgba(8,127,97,.16);
}
.admin-body .admin-sidebar .app-nav button.is-active::before {
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:0 3px 3px 0;
  background:#ffe3a1;
  pointer-events:none;
}
.admin-body .admin-sidebar .app-nav button.is-active .nav-icon {
  color:#ffe3a1;
  stroke-width:2;
}
.admin-body .admin-sidebar .app-nav button.is-active:focus-visible {
  outline:2px solid #064e3b;
  outline-offset:3px;
}
@media (hover:hover) and (pointer:fine) {
  .admin-body .admin-sidebar .app-nav button.is-active:hover {
    background:#05533f;
  }
}
@media (forced-colors:active) {
  .admin-body .admin-sidebar .app-nav button.is-active {
    background:Highlight;
    color:HighlightText;
    box-shadow:none;
  }
  .admin-body .admin-sidebar .app-nav button.is-active::before {
    background:HighlightText;
  }
  .admin-body .admin-sidebar .app-nav button.is-active .nav-icon {
    color:HighlightText;
  }
  .admin-body .admin-sidebar .app-nav button.is-active:focus-visible {
    outline-color:Highlight;
  }
}
