:root{--ink:#142b2b;--sub:#617572;--green:#165b4e;--mint:#e6f0e9;--line:#dbe5de;--paper:#f5f7f2;--white:#fff;--red:#a43636;color-scheme:light;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.65;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:var(--green)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a,button,input,select{outline-offset:4px}h1,h2,p{margin:0}h1{font-size:clamp(29px,4vw,43px);line-height:1.2;letter-spacing:-.035em;font-weight:650}h2{font-size:20px;line-height:1.4}input,select{background:white;color:var(--ink);border:1px solid #bccfc4;border-radius:9px;padding:10px 12px;min-width:0}input:focus,select:focus{outline:2px solid #79ab93}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input[readonly]{color:#416358}.topbar{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 32px}.brand{font-size:23px;font-weight:750;letter-spacing:-.04em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:9px}.brand-mark{font-size:18px;line-height:34px;width:34px;text-align:center;border-radius:10px;background:var(--green);color:white}.topbar nav,.topbar nav form{display:flex;align-items:center;gap:24px}.topbar nav a{text-decoration:none;font-weight:550}main{max-width:1096px;margin:0 auto;padding:28px 24px 64px;min-height:calc(100vh - 170px)}.site-footer{max-width:1096px;padding:20px 24px;margin:auto;display:flex;justify-content:space-between;color:var(--sub);border-top:1px solid var(--line);font-size:12px;letter-spacing:.04em}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:11px 19px;border:1px solid var(--green);border-radius:10px;background:var(--green);color:white;text-decoration:none;font-weight:600;white-space:nowrap}.button:hover{background:#0d493f}.button.secondary{color:var(--green);background:white;border-color:var(--line)}.button.secondary:hover{background:var(--mint)}.button.small{padding:6px 13px;font-size:14px}.text-button{padding:0;border:0;background:transparent;color:var(--green);font-weight:550}.text-link{text-decoration:none;font-weight:550}.danger{color:var(--red)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.16em;color:var(--green)}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding:44px 0 58px}.hero h1{font-size:clamp(44px,5.4vw,66px);line-height:1.22;margin:16px 0 24px}.hero .lead{max-width:400px;font-size:18px;color:var(--sub);margin-bottom:28px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hint{color:var(--sub);font-size:13px;margin-top:16px}.connection-card{padding:22px;border:1px solid #cfdfd3;border-radius:24px;background:#edf3e9;box-shadow:0 18px 45px #234f3110;transform:rotate(1deg)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.1em;font-weight:700}.pill{display:inline-block;background:#e3eee6;color:var(--green);border:1px solid #ccdecf;padding:4px 10px;border-radius:30px;white-space:nowrap;font-size:12px;letter-spacing:0;font-weight:550}.network-art{height:170px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}.network-art>span{font-size:45px;font-weight:700;color:white;background:var(--green);width:78px;height:78px;line-height:78px;text-align:center;border-radius:24px;transform:rotate(-8deg);z-index:1}.ring{position:absolute;width:145px;height:145px;border:1px solid #c1d4c3;border-radius:50%}.ring-two{width:225px;height:225px}.region{padding:12px 10px;border-top:1px solid #d5e0d2;display:flex;align-items:center;gap:12px;font-size:14px}.region>span:last-child{margin-left:auto;color:var(--sub);font-size:12px}.region-code{font-weight:700;font-size:11px;background:#fff8;border-radius:5px;width:28px;text-align:center;padding:3px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:26px}.step-number{font-size:12px;color:var(--green);font-weight:700}.steps h2{margin:10px 0 5px;font-size:17px}.steps p,.muted{color:var(--sub)}.steps p{font-size:14px}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:900px;margin:60px auto}.auth-intro{padding-top:30px}.auth-intro h1{margin:16px 0;font-size:37px}.auth-intro p{color:var(--sub)}.auth-panel h2{margin-bottom:22px}.stack{display:grid;gap:16px}.stack label{display:grid;gap:5px;font-size:14px;font-weight:550}.stack button{margin-top:8px}.notice{padding:12px 16px;border-radius:10px;border:1px solid #b9d9c6;background:#ebf5ee;color:var(--green);margin-bottom:18px}.notice.error{color:var(--red);background:#fff4f1;border-color:#efd2cc}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0 28px;flex-wrap:wrap}.page-heading h1{margin:6px 0 10px}.waiting{text-align:center;max-width:700px;margin:65px auto;padding:48px 24px}.waiting h2,.waiting h1{margin:14px 0;font-size:26px}.waiting .button{margin-top:24px}.large-symbol{font-size:45px;color:var(--green)}.subscription-panel h2{margin:6px 0}.url-label{display:block;margin:24px 0 18px;font-size:13px;font-weight:600}.copy-field{display:flex;gap:8px;margin-top:7px}.copy-field input{width:100%;font:13px/1.7 ui-monospace,monospace}.usage-section{margin:30px 0}.section-heading,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.controls,.controls nav,.controls form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.controls{justify-content:space-between;margin-bottom:16px;gap:12px}.controls nav a{display:block;padding:5px 14px;border-radius:8px;border:1px solid var(--line);text-decoration:none;background:white}.controls a[aria-current]{background:var(--green);color:white;border-color:var(--green)}.controls select{padding:5px 10px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.summary .panel{padding:18px 20px}.summary strong{display:block;font-size:28px;margin-top:4px}.primary-stat{background:var(--green);color:white}.table-wrap{overflow:auto;padding:0}.table-wrap table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table-wrap th,.table-wrap td{padding:13px 18px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap tr>:first-child{text-align:left}.table-wrap tr:last-child>*{border-bottom:0}.table-wrap thead th{background:#f1f6f1;color:var(--sub);font-size:13px;font-weight:550}.admin-table{font-size:14px;min-width:640px}.admin-table td:last-child{text-align:left}.user-id{display:block;color:var(--sub);font-size:12px;font-weight:400}.review-actions,.review-actions form{display:flex;align-items:center;gap:8px}.review-actions{gap:16px}.review-actions select{max-width:160px;padding:6px 8px}.empty{text-align:center!important;color:var(--sub);padding:32px!important}.help-panel details{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.help-panel summary{cursor:pointer;font-weight:550}.help-panel details p{margin-top:10px;color:var(--sub)}.small-text{font-size:13px}
@media(max-width:760px){.topbar{padding:18px 20px}.topbar nav{gap:16px}.hero{grid-template-columns:1fr;gap:36px;padding:20px 0 38px}.hero h1{font-size:46px}.hero-copy{max-width:530px}.connection-card{max-width:430px;transform:none;width:100%}.network-art{height:130px}.steps{gap:18px}.steps h2{font-size:15px}.steps p{font-size:12px}.auth-layout{grid-template-columns:1fr;gap:24px;margin:10px auto;max-width:460px}.auth-intro{padding-top:10px}.auth-intro h1{font-size:31px}.auth-panel{padding:22px}.page-heading h1{font-size:30px}.summary strong{font-size:22px}.summary .panel{padding:14px 12px}.panel{padding:20px}.panel.table-wrap{padding:0}.copy-field{flex-wrap:wrap}.copy-field input{flex-basis:100%}.copy-field .button{width:100%}.table-wrap th,.table-wrap td{padding:12px}.table-wrap{margin:0}.review-actions{gap:12px}}
@media(prefers-reduced-motion:no-preference){.button,a{transition:background-color .15s}}
.account-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.page-heading .muted{overflow-wrap:anywhere}
.usage-section .section-heading{align-items:flex-start;flex-wrap:wrap}
.usage-section .section-heading h2{margin-bottom:3px}
.usage-warning{background:#fff8e9;border-color:#e8d9b4;color:#77551b}
.node-distribution{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.node-stat{padding:18px 20px}
.node-stat-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}
.node-stat-heading h3{font-size:15px;margin:0;font-weight:600}
.node-stat-heading>span{font-size:14px}
.node-stat meter{display:block;width:100%;height:9px;margin:14px 0 8px;border:0;border-radius:8px;background:var(--mint)}
.node-stat meter::-webkit-meter-bar{border:0;border-radius:8px;background:var(--mint);height:9px}
.node-stat meter::-webkit-meter-optimum-value{border-radius:8px;background:var(--green)}
.node-stat meter::-moz-meter-bar{border-radius:8px;background:var(--green)}
@media(max-width:520px){
  .account-actions{gap:8px;width:100%;justify-content:space-between}
  .node-distribution{grid-template-columns:1fr}
  .usage-section .summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .usage-section .summary .primary-stat{grid-column:1 / -1}
  .usage-section .summary strong{font-size:clamp(19px,5.4vw,25px);white-space:nowrap}
  .controls form{width:100%}
}
:root{
  --ink:#26334d;--sub:#718096;--green:#3d5a99;--mint:#edf2fa;--line:#e0e6ef;--paper:#f2f4f8;
}
.button:hover{background:#2c477e}
.pill{background:#edf2fa;border-color:#d7e1f2}
.table-wrap thead th{background:#f6f8fc}
.connection-card{background:#eef2f8;border-color:#d5dfed}
.ring{border-color:#cfdaeb}
.region{border-color:#d9e2ef}
.auth-page{background:#e9edf4}
.auth-page>.topbar,.auth-page>.site-footer{display:none}
.auth-page>main{min-height:100vh;display:grid;place-items:center;padding:36px 20px}
.auth-page .auth-layout{display:block;width:100%;max-width:440px;margin:0}
.auth-page .auth-panel{padding:30px 28px 22px;border:0;border-radius:7px;box-shadow:0 12px 40px #26334d0c}
.auth-brand{text-align:center;margin:0 0 26px}
.auth-brand>a{font-size:33px;font-weight:500;letter-spacing:-.04em;color:var(--ink);text-decoration:none}
.auth-brand h1{font-size:14px;font-weight:400;letter-spacing:0;color:var(--sub);margin-top:8px}
.auth-page .stack{gap:17px}
.auth-page .stack label{font-weight:400;font-size:13px;gap:6px}
.auth-page .stack input{border-color:#e8ecf3;background:#f5f7fb;border-radius:4px;padding:10px 12px}
.auth-page .stack button{border-radius:4px;margin-top:3px}
.auth-page .auth-panel>.hint{border-top:1px solid var(--line);margin:23px -28px -22px;padding:16px 28px;background:#fafbfe;border-radius:0 0 7px 7px}
.auth-page .notice{width:100%;max-width:440px;grid-row:1}
.auth-page>main:has(>.notice){align-content:center;gap:15px}
@media(max-width:520px){
  .auth-page>main{padding:24px 20px}
  .auth-page .auth-panel{padding-top:26px}
}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:28px}
.plan-card{padding:34px;background:linear-gradient(145deg,#fff,#edf2fa);border-color:#d2dcef}
.plan-card h2{font-size:26px;margin-top:20px}.plan-price{font-size:76px;font-weight:650;letter-spacing:-.06em;line-height:1.35;margin:18px 0}.plan-price>span{font-size:28px;vertical-align:top;display:inline-block;margin-top:16px;margin-right:7px}.plan-price small{font-size:16px;color:var(--sub);font-weight:400;letter-spacing:0;margin-left:9px}.plan-features{padding:0;list-style:none;margin:20px 0}.plan-features li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.checkout-panel{padding:30px}.checkout-panel>h2{margin-bottom:16px}.checkout-panel>p{margin-bottom:20px}.checkout-panel>.button{margin-top:16px}.checkout-panel .stack{margin-top:20px}.payment-methods{border:0;padding:0;margin:0;display:grid;gap:10px}.payment-methods legend{font-size:13px;color:var(--sub);margin-bottom:8px}.method-option{display:flex!important;align-items:center;gap:12px!important;padding:15px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.method-option:has(input:checked){border-color:var(--green);background:var(--mint)}.method-option input{accent-color:var(--green);width:17px;height:17px}.payment-empty{margin:20px 0}.order-total{font-size:42px;font-weight:650;line-height:1.5;margin:8px 0 22px;letter-spacing:-.04em}.order-facts{margin:18px 0;font-size:14px}.order-facts>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.order-facts dt{color:var(--sub)}.order-facts dd{margin:0;overflow-wrap:anywhere}.order-number{font-family:ui-monospace,monospace;font-size:13px;overflow-wrap:anywhere}.payment-qr{display:block;width:100%;max-width:280px;height:auto;object-fit:contain;margin:24px auto 10px;border:1px solid var(--line);border-radius:10px;background:white;padding:10px}.admin-qr{max-height:300px;width:auto;max-width:100%}.qr-placeholder{min-height:170px;border:1px dashed #c9d4e6;border-radius:10px;display:grid;place-items:center;background:#f6f8fc;color:var(--sub);margin:20px 0}.checkbox-row{display:flex!important;gap:10px!important;align-items:flex-start;font-weight:400!important}.checkbox-row input{flex:0 0 auto;accent-color:var(--green);width:17px;height:17px;margin-top:4px}.review-reject{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.review-reject summary{cursor:pointer;font-size:14px;color:var(--sub)}.cancel-order{margin-top:20px;font-size:13px}.order-history{margin-top:26px}.order-history ol{list-style:none;padding:0;margin:18px 0 0}.order-history li{border-left:2px solid #d7e1f2;padding:4px 0 18px 18px;font-size:14px}.order-history time{display:block;font-size:12px;color:var(--sub)}.order-history p{margin-top:5px;overflow-wrap:anywhere}.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 24px}.admin-nav a{padding:7px 13px;text-decoration:none;border-radius:8px;font-size:14px}.admin-nav a[aria-current]{background:var(--green);color:white}.order-filters{display:flex;align-items:center;gap:10px;margin-bottom:16px}.orders-table{min-width:720px;font-size:14px}.status-review{color:#90600c;background:#fff7e5;border-color:#eedeb5}.status-paid{color:#275b96;background:#edf5ff}.status-rejected{color:#a34235;background:#fff2ee;border-color:#edcec8}.status-cancelled{color:var(--sub);background:#f5f6f8;border-color:#e0e4ea}.account-plan{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}.account-plan h2{font-size:18px}.stack input[type=file]{width:100%;font-size:13px;padding:9px}.stack input[type=file]::file-selector-button{border:0;border-radius:5px;padding:5px 9px;margin-right:8px;background:var(--mint);color:var(--green);cursor:pointer}.topbar nav{flex-wrap:wrap}
@media(max-width:760px){.checkout-grid{grid-template-columns:1fr;gap:18px}.plan-card,.checkout-panel{padding:24px}.plan-price{font-size:64px}.order-grid .checkout-panel{padding:24px}.topbar{align-items:flex-start;gap:16px}.topbar nav{justify-content:flex-end;gap:10px 14px;font-size:13px}.order-facts>div{grid-template-columns:92px minmax(0,1fr)}.account-plan .actions{width:100%}.order-filters{flex-wrap:wrap}.order-history{padding:22px}}

/* Cheung customer portal */
:root{--paper:#eff3f9;--ink:#354052;--sub:#87909c;--green:#3e5c99;--line:#edf0f4;--mint:#eff3fb;--surface:#fff;--sidebar-width:238px}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--paper);color:var(--ink)}
svg{flex-shrink:0;vertical-align:middle}
h3{margin:0;font-size:17px;font-weight:600;line-height:1.5}
.panel{border:0;border-radius:4px;background:var(--surface);box-shadow:0 1px 2px #26334d04;padding:24px}
.button{border-radius:4px;font-size:14px;font-weight:500;padding:9px 16px;gap:8px}
.button.small{font-size:13px;padding:6px 12px}
.button.secondary{background:var(--surface);border-color:#dce2ec;color:var(--green)}
input,select{border-radius:4px;border-color:#e1e6ed;font-size:14px}
.text-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500}
.pill{font-size:11px;border:0;border-radius:3px;padding:4px 9px;font-weight:400}
.portal-shell{padding-top:56px}
.portal-shell>main{max-width:1440px;margin:0 0 0 var(--sidebar-width);padding:28px;min-height:calc(100vh - 116px)}
.portal-shell>.site-footer{max-width:none;margin:0 28px 0 calc(var(--sidebar-width) + 28px);padding:18px 0;font-size:11px}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-width);background:var(--surface);border-right:1px solid #e7edf4;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
.sidebar-brand{display:flex;align-items:center;gap:11px;min-height:92px;padding:18px 25px;color:var(--ink);font-size:27px;line-height:1.15;letter-spacing:-.8px;font-weight:650;text-decoration:none}
.brand-symbol{width:38px;height:40px;display:grid;place-items:center;background:var(--green);color:white;font-size:26px;font-weight:650;border-radius:9px}
.sidebar-brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;color:#9aa4b4;margin-top:7px}
.sidebar nav{padding:12px 12px 28px;flex:1}
.nav-item{display:flex;align-items:center;gap:14px;padding:12px 16px;margin:3px 0;color:#647084;text-decoration:none;font-size:14px;border-radius:4px;min-height:44px}
.nav-item svg{opacity:.7;width:18px;height:18px}
.nav-item:hover{background:#f3f6fb;color:var(--green)}
.nav-item.active{color:var(--green);background:#edf2fb;font-weight:550}
.nav-item.active svg{opacity:1}
.nav-section{font-size:11px;color:#a3aab6;margin:24px 0 8px;padding:0 16px;letter-spacing:2px}
.sidebar-foot{font-size:10px;color:#a5acb7;padding:20px 25px;border-top:1px solid var(--line);white-space:nowrap}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#85b86a;margin-right:5px}
.app-header{position:fixed;left:var(--sidebar-width);right:0;top:0;z-index:30;height:56px;background:#3e5c99;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 24px;box-shadow:0 1px 3px #26334d08}
.header-start,.header-tools{display:flex;align-items:center;gap:18px;font-size:15px}
.header-tools{gap:20px}
.icon-button{border:0;background:none;color:inherit;display:inline-flex;align-items:center;justify-content:center;width:28px;height:32px;padding:0;text-decoration:none;cursor:pointer}
.icon-button:hover{opacity:.75}
.user-menu{position:relative}
.user-menu>summary{list-style:none;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12px}
.user-menu>summary::-webkit-details-marker{display:none}
.user-dropdown{position:absolute;right:0;top:39px;min-width:225px;padding:16px;background:var(--surface);color:var(--ink);box-shadow:0 6px 24px #172d5520;border-radius:5px;border:1px solid var(--line);display:grid;gap:7px}
.user-dropdown>span{font-size:12px;color:var(--sub);overflow-wrap:anywhere;max-width:260px}
.user-dropdown a,.user-dropdown button{display:block;width:100%;text-align:left;color:var(--ink);background:transparent;text-decoration:none;border:0;border-top:1px solid var(--line);padding:10px 0 3px;margin-top:4px;font:inherit;font-size:13px}
.sidebar-backdrop{display:none}
.sidebar-collapsed{--sidebar-width:76px}
.sidebar-collapsed .sidebar-brand{padding:20px 18px}
.sidebar-collapsed .sidebar-brand>span:last-child,.sidebar-collapsed .nav-item>span,.sidebar-collapsed .sidebar-foot{display:none}
.sidebar-collapsed .nav-item{padding:13px 16px;justify-content:center}
.sidebar-collapsed .nav-section{font-size:0;height:12px;margin:10px 0;padding:0;border-bottom:1px solid var(--line)}
.page-heading{margin:0 0 25px;align-items:center;gap:12px}
.page-heading h1{font-size:23px;font-weight:500;letter-spacing:0;margin:0 0 7px;line-height:1.5}
.page-heading p{font-size:13px}
.page-heading .eyebrow{display:none}
.announcement{display:flex;align-items:center;gap:12px;background:#f9fbff;color:#60749b;border:1px solid #e2e9f5;padding:15px 19px;text-decoration:none;font-size:13px;border-radius:4px;margin-bottom:24px}
.announcement>svg{margin-left:auto}
.announcement-tag{background:#e8eef9;color:#416199;padding:2px 8px;border-radius:3px;font-size:11px;white-space:nowrap}
.dashboard-subscription,.shortcuts{padding:0;margin-bottom:26px;overflow:hidden}
.card-title{padding:17px 21px;border-bottom:1px solid #f2f3f6;display:flex;justify-content:space-between;align-items:center;background:#fcfdff}
.card-title h2{font-size:17px;line-height:1.5;font-weight:500}
.card-body{padding:22px}
.subscription-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
.subscription-heading h3{font-size:20px;margin-bottom:9px}
.subscription-heading p{font-size:13px}
.empty-subscription{display:flex;align-items:center;gap:17px;padding:23px 0 8px;margin-top:14px;border-top:1px solid var(--line)}
.empty-icon{display:grid;place-items:center;width:55px;height:55px;background:#f2f5fb;border-radius:50%;color:#8195b7;flex-shrink:0}
.empty-subscription h3{font-size:14px;font-weight:500;margin-bottom:6px}
.empty-subscription p{font-size:12px;max-width:590px;line-height:1.8}
.empty-subscription .button{margin-left:auto;flex-shrink:0}
.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:21px;border-bottom:1px solid #f0f2f5;color:var(--ink);text-decoration:none;min-height:85px;gap:22px}
.shortcut-row:last-child{border-bottom:0}
.shortcut-row:hover{background:#fafcff}
.shortcut-row h3{font-size:15px;font-weight:400;margin-bottom:2px}
.shortcut-row p{font-size:11px;color:#a0a6ae}
.shortcut-row>svg{color:#a7acb3;stroke-width:1.25}
.access-message{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f4f7fc;border-radius:4px;margin-top:20px;padding:15px 17px;font-size:13px}
.access-message strong{color:#5273a5;font-weight:500}
.access-message p{font-size:12px;line-height:1.8;margin-top:4px}
.access-expired{background:#fff6eb}
.access-expired strong{color:#a77b3f}
.subscription-usage{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;display:flex;gap:14px;align-items:center;font-size:12px;color:var(--sub)}
.subscription-usage strong{font-size:17px;color:var(--ink)}
.subscription-usage a{margin-left:auto;text-decoration:none}
.url-label{font-size:12px;font-weight:400;margin:19px 0 15px}
.copy-field input{color:#66758c;background:#f8fafd;min-width:0}
.summary strong{font-size:26px;font-weight:550}
.summary .panel{border-top:2px solid #c9d7ed;border-radius:3px}
.summary .primary-stat{background:var(--surface);color:var(--green);border-color:var(--green)}
.summary .panel>span{font-size:12px}
.section-heading h2{font-size:18px;font-weight:500}
.node-stat-heading{flex-wrap:wrap;gap:5px}
.node-stat-heading h3{font-size:13px}
.node-stat meter::-webkit-meter-optimum-value{background:#8eb76b}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:24px}
.guide-card{display:block;text-decoration:none;color:var(--green);padding:26px}
.guide-card h2{font-size:16px;font-weight:500;margin:15px 0 4px}
.guide-card p{color:var(--sub);font-size:12px}
.article-panel{margin:24px 0;padding:26px;scroll-margin-top:80px}
.article-panel h2{font-size:18px;font-weight:550;margin-bottom:16px}
.article-panel p,.article-panel li{font-size:14px;line-height:1.9;color:#697587}
.article-panel p{margin-bottom:13px}
.article-panel ol{padding-left:20px;margin:0 0 18px}
.article-panel li{padding:5px 0}
.article-panel>.pill{margin-bottom:18px}
.node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.region-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.region-badge{font-size:15px;color:var(--green);font-weight:600;display:grid;place-items:center;background:var(--mint);width:48px;height:42px;border-radius:5px}
.region-panel>h2{font-size:20px;font-weight:550;margin-bottom:5px}
.region-panel>p{font-size:12px}
.status-ok{background:#edf5e7;color:#71984f}
.profile-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:24px}
.profile-card{text-align:center;padding:37px 25px}
.profile-avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e8eef8;color:var(--green);font-size:27px;margin:0 auto 16px}
.profile-card h2{font-size:19px;margin-bottom:6px;overflow-wrap:anywhere}
.profile-card p{font-size:13px;overflow-wrap:anywhere}
.profile-card .pill{margin-top:20px}
.feature-intro{padding:32px;margin-bottom:24px}
.feature-intro>svg{color:#7390ba;margin-bottom:18px}
.feature-intro h2{font-size:20px;margin-bottom:10px;font-weight:550}
.feature-intro>p{font-size:13px;max-width:760px;line-height:1.9}
.feature-intro .actions{margin-top:22px}
.feature-intro .copy-field{max-width:650px}
.neutral{background:#f5f7fa;color:#788596;border:1px solid var(--line)}
.notice{border-radius:4px;font-size:13px}
.help-panel h2{font-size:18px;font-weight:550}
.help-panel summary,.help-panel details p{font-size:14px}
.plan-card{background:var(--surface);border-top:3px solid var(--green);padding:30px}
.plan-card h2{font-size:23px;font-weight:500}
.plan-price{font-size:65px;font-weight:500}
.plan-features li{font-size:13px}
.payment-methods .method-option{border-radius:4px;font-size:13px}
.checkout-panel h2{font-size:19px;font-weight:500}
.install-panel{max-width:780px;margin:20px auto}
.order-access{margin-bottom:24px}.order-access .access-message{margin-top:0}
.install-panel>h1{font-size:28px;margin-bottom:12px}
.install-panel>.article-panel{padding:22px 0;border-top:1px solid var(--line)}
.public-site .connection-card{border-radius:10px;transform:none;box-shadow:none}
.public-site .hero h1{font-size:52px}
.auth-page .auth-panel{box-shadow:0 8px 35px #273d6310}
.auth-page .auth-brand>a{color:var(--green);font-weight:600}
[data-theme=dark]{--paper:#1b2230;--surface:#252f40;--ink:#e0e6f0;--sub:#98a6ba;--line:#354155;--mint:#303d54;--green:#8aa8e2}
[data-theme=dark] .app-header{background:#2c426c}
[data-theme=dark] .sidebar{border-color:var(--line)}
[data-theme=dark] .nav-item{color:#aebbd0}
[data-theme=dark] .nav-item.active,[data-theme=dark] .nav-item:hover,[data-theme=dark] .card-title,[data-theme=dark] .access-message,[data-theme=dark] .announcement{background:#2b374b;color:#c5d6f3;border-color:var(--line)}
[data-theme=dark] .shortcut-row:hover{background:#2b374b}
[data-theme=dark] .shortcut-row,[data-theme=dark] .card-title{border-color:var(--line)}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] .copy-field input,[data-theme=dark] .table-wrap thead th{background:#202a3a;color:var(--ink);border-color:var(--line)}
[data-theme=dark] .controls nav a{background:var(--surface)}
[data-theme=dark] .article-panel p,[data-theme=dark] .article-panel li{color:#acbad0}
[data-theme=dark] .button{background:#4b6ca8;color:white;border-color:#4b6ca8}
[data-theme=dark] .button.secondary{background:transparent;color:#aec7ef;border-color:#465674}
[data-theme=dark] .pill,[data-theme=dark] .region-badge,[data-theme=dark] .profile-avatar,[data-theme=dark] .empty-icon{background:#33405a;color:#adc8f7}
@media(min-width:1680px){.portal-shell>main{margin-right:auto}}
@media(max-width:1100px){.node-distribution{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid{gap:15px}.guide-card{padding:22px}}
@media(max-width:960px){
 .portal-shell{--sidebar-width:238px}.sidebar{transform:translateX(-100%);visibility:hidden}.app-header{left:0}.portal-shell>main{margin-left:0;padding:25px}.portal-shell>.site-footer{margin-left:25px;margin-right:25px}.nav-open .sidebar{transform:translateX(0);visibility:visible}.nav-open .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:35;background:#1a29476b;border:0;padding:0}.nav-open{overflow:hidden}.app-header{padding:0 22px}
}
@media(max-width:620px){
 .portal-shell>main{padding:19px 15px}.portal-shell>.site-footer{margin:0 15px;gap:10px;font-size:10px}.app-header{padding:0 15px}.header-start{gap:12px}.header-tools{gap:12px}.desktop-label{display:none}.page-heading h1{font-size:21px}.page-heading{margin-bottom:20px}.announcement{padding:12px;gap:9px;font-size:11px;align-items:flex-start;margin-bottom:18px}.announcement>svg{margin-top:2px}.card-title{padding:15px 17px}.card-body{padding:18px 17px}.subscription-heading{align-items:flex-start}.subscription-heading h3{font-size:18px}.subscription-heading p{font-size:11px}.subscription-heading>.text-link{white-space:nowrap;padding-top:4px}.empty-subscription{flex-wrap:wrap;gap:12px}.empty-icon{width:43px;height:43px}.empty-subscription>div{flex:1;min-width:190px}.empty-subscription .button{margin:0 0 0 55px}.shortcut-row{padding:19px 17px;min-height:82px}.shortcut-row p{font-size:10px}.shortcut-row svg{width:28px;height:28px}.access-message{display:block;padding:13px}.access-message .text-link{margin-top:10px}.dashboard-subscription,.shortcuts{margin-bottom:19px}.guide-grid,.node-grid,.profile-grid{grid-template-columns:1fr;gap:15px}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.guide-card{padding:17px 11px}.guide-card h2{font-size:12px}.guide-card p{font-size:10px}.guide-card svg{width:22px;height:22px}.feature-intro,.article-panel{padding:21px}.profile-grid{gap:18px}.subscription-usage{flex-wrap:wrap;font-size:11px;gap:9px}.subscription-usage strong{font-size:15px}.subscription-usage a{font-size:11px}.node-distribution{grid-template-columns:repeat(2,minmax(0,1fr))}.node-stat{padding:15px 12px}.node-stat-heading{display:block}.node-stat-heading span{font-size:13px}.node-stat p{font-size:10px}.public-site .hero h1{font-size:41px}.install-panel{padding:20px}.install-panel>h1{font-size:25px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.activation-panel{margin-top:20px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}
.activation-panel>summary{display:flex;align-items:center;gap:14px;padding:17px;list-style:none;cursor:pointer;color:var(--green)}
.activation-panel>summary::-webkit-details-marker{display:none}
.activation-panel>summary>span{flex:1}.activation-panel>summary strong{display:block;font-size:15px;font-weight:500}
.activation-panel>summary small{display:block;font-size:12px;color:var(--sub);margin-top:2px}
.activation-panel[open]>summary{border-bottom:1px solid var(--line)}
.activation-panel[open]>summary>svg:last-child{transform:rotate(90deg)}
.activation-panel>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.activation-content{padding:18px}.activation-content .url-label{display:block;margin:0 0 9px}.activation-content .hint{margin:15px 0 0}
.admin-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:22px 0}
.admin-filters label{display:grid;gap:6px;font-size:12px;color:var(--sub)}
.admin-search{min-width:230px;flex:1}.admin-filters input,.admin-filters select{padding:8px 10px;font-size:13px}
.admin-filters>.text-link{align-self:center;margin-top:23px}.management-table{min-width:800px;font-size:13px}
.management-table td,.management-table th{vertical-align:middle}.management-table .user-id{font-size:11px;max-width:260px;overflow-wrap:anywhere}
.subscription-code{font-family:ui-monospace,monospace;font-size:16px;font-weight:600;text-decoration:none}
.review-link{display:block;font-size:12px;margin-top:6px;color:#9a6a14;text-decoration:none}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:18px 0;font-size:12px;color:var(--sub)}
.pagination>span{margin-right:auto}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.admin-detail-grid h2,.admin-customer-orders h2{font-size:18px;font-weight:500}.admin-action-copy{font-size:13px;line-height:1.9;margin:18px 0 22px}
.admin-link-panel{padding:0;margin-bottom:28px}.admin-link-panel>.activation-panel{margin-top:0}.admin-link-panel>.hint{padding:0 18px 16px}
.admin-customer-orders{margin-top:25px}.admin-customer-orders table{min-width:660px;font-size:13px}
[data-theme=dark] .review-link{color:#e9c16c}
@media(max-width:760px){.admin-detail-grid{grid-template-columns:1fr;gap:16px}.admin-search{flex-basis:100%}.admin-filters{gap:10px}.admin-filters label{flex:1;min-width:120px}.activation-content{padding:15px}.activation-panel>summary{padding:15px;gap:10px}.activation-panel>summary small{font-size:11px}.activation-content .copy-field{flex-wrap:wrap}.activation-content .copy-field input{width:100%}}

.quota-summary{margin:4px 0 24px}.quota-dates{color:var(--sub);font-size:14px;line-height:1.9;margin:0 0 22px}.quota-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;background:#e8ecef}.quota-progress::-webkit-progress-bar{background:#e8ecef;border-radius:8px}.quota-progress::-webkit-progress-value{background:repeating-linear-gradient(45deg,#84b94e 0,#84b94e 7px,#a5ca78 7px,#a5ca78 14px);border-radius:8px}.quota-progress::-moz-progress-bar{background:repeating-linear-gradient(45deg,#84b94e 0,#84b94e 7px,#a5ca78 7px,#a5ca78 14px)}.quota-progress.quota-full::-webkit-progress-value{background:#d99a3c}.quota-progress.quota-full::-moz-progress-bar{background:#d99a3c}.quota-total{font-size:16px;font-weight:550;margin-top:7px;font-variant-numeric:tabular-nums}.quota-summary>.hint{font-size:12px;margin-top:9px}.redeem-card{max-width:620px;padding:35px}.redeem-card h2{margin:15px 0 12px}.redeem-card .stack{margin-top:26px}.coupon-emblem{display:inline-flex;color:var(--green);background:var(--mint);padding:15px;border-radius:14px}.coupon-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.coupon-callout h2{font-size:17px}.coupon-callout p{font-size:13px;margin-top:8px}.coupon-create summary{cursor:pointer;color:var(--green);font-weight:550}.coupon-create-form{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;margin-top:20px}.coupon-create-form label{display:grid;gap:6px;font-size:13px}.coupon-create-form input[type=number]{width:100px}.coupon-code{width:290px;max-width:100%;font:13px/1.7 ui-monospace,monospace;letter-spacing:.02em;background:var(--surface);color:var(--ink)!important}.coupon-disable{display:inline-block;margin-left:12px}.coupon-disable button{border:0;background:none;color:var(--sub);font-size:12px}.coupon-create{margin-bottom:0}section:has(>.coupon-create){margin-bottom:24px}
@media(max-width:760px){.redeem-card{padding:22px}.coupon-callout{align-items:flex-start;flex-direction:column}.quota-dates{font-size:13px}.quota-total{font-size:14px}.coupon-create-form{display:grid;grid-template-columns:1fr 1fr}.coupon-create-form label:first-of-type,.coupon-create-form button{grid-column:1/-1}.coupon-create-form input[type=number]{width:100%}}
