:root {
  color-scheme: dark;
  --bg: #050609;
  --panel: rgba(16, 18, 27, .78);
  --line: rgba(255,255,255,.12);
  --text: #f7f8ff;
  --muted: #a9b0c3;
  --gold: #e5c56d;
  --cyan: #7bdff2;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: Arial, "Microsoft YaHei", sans-serif; }
#stars { position: fixed; inset: 0; width: 100%; height: 100%; }
.shell { position: relative; min-height: 100vh; padding: 28px; }
.hero { min-height: calc(100vh - 56px); display: grid; place-items: center; }
.hero-copy { width: min(960px, 92vw); text-align: center; }
.hero-brand { position: relative; width: min(900px, 100%); aspect-ratio: 1098 / 192; margin: 30px auto 24px; overflow: hidden; }
.hero-brand img { position: absolute; top: 50%; left: -4.65%; display: block; width: 109.3%; max-width: none; height: auto; transform: translateY(-50%); mix-blend-mode: screen; }
.home-subtitle { margin: 0; }
.eyebrow { color: var(--cyan); letter-spacing: 0; text-transform: uppercase; }
h1 { margin: 0 0 18px; font-size: clamp(36px, 7vw, 86px); line-height: 1.05; }
p { color: var(--muted); font-size: 18px; line-height: 1.7; }
.login-card { position: fixed; top: 44px; right: 56px; width: 280px; padding: 16px; border: 1px solid var(--line); background: rgba(10,12,18,.54); backdrop-filter: blur(14px); border-radius: 8px; display: grid; gap: 10px; }
input, button, a { border-radius: 6px; }
input, textarea { width: 100%; padding: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: var(--text); }
textarea { resize: vertical; min-height: 96px; font-family: inherit; line-height: 1.6; }
button, .actions a { padding: 11px 16px; border: 1px solid rgba(229,197,109,.42); color: var(--text); background: rgba(229,197,109,.12); text-decoration: none; cursor: pointer; }
.auth-card form { display: grid; gap: 10px; }
.auth-card form.hidden, .hidden { display: none; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.auth-tabs button { border-color: var(--line); background: rgba(255,255,255,.05); }
.auth-tabs button.active { border-color: rgba(229,197,109,.72); background: rgba(229,197,109,.16); color: #fff; }
.form-hint { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.ok-text { color: var(--cyan) !important; }
.danger-text { color: #ff8ea8 !important; }
.actions, .toolbar { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 28px; }
.panel { width: min(1120px, 94vw); margin: 54px auto; padding: 28px; border: 1px solid var(--line); background: var(--panel); backdrop-filter: blur(16px); border-radius: 8px; }
.panel h1 { font-size: 34px; }
.panel > h1 { margin-bottom: 18px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 18px; border: 1px solid var(--line); background: rgba(10,12,18,.62); backdrop-filter: blur(14px); border-radius: 8px; }
.topbar a { color: var(--text); text-decoration: none; }
.topbar nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.topbar form { margin: 0; }
.role-pill { padding: 7px 10px; border: 1px solid rgba(123,223,242,.38); background: rgba(123,223,242,.1); color: var(--cyan); border-radius: 999px; font-size: 13px; }
.page-head { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: stretch; margin-bottom: 22px; }
.page-head h1 { font-size: 42px; margin-bottom: 10px; }
.page-head p { margin: 0; }
.quick-guide { padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; display: grid; gap: 10px; align-content: center; }
.quick-guide strong { font-size: 18px; }
.quick-guide span { color: var(--muted); font-size: 14px; }
.subnav { position: sticky; top: 12px; z-index: 5; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; padding: 10px; border: 1px solid var(--line); background: rgba(11,13,20,.9); backdrop-filter: blur(16px); border-radius: 8px; }
.subnav a { color: var(--text); text-decoration: none; padding: 9px 12px; border: 1px solid transparent; border-radius: 6px; background: rgba(0,0,0,.14); }
.subnav a:hover { border-color: rgba(123,223,242,.44); color: var(--cyan); }
.subnav a.active { border-color: rgba(229,197,109,.72); background: rgba(229,197,109,.14); color: var(--text); }
.admin-tab-panel[hidden] { display: none; }
.jump-section { scroll-margin-top: 92px; padding-top: 8px; margin-bottom: 34px; }
.jump-section + .jump-section { border-top: 1px solid var(--line); padding-top: 26px; }
.section-note { margin: 0 0 16px; font-size: 14px; color: var(--muted); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
article { padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; }
article span { display: block; color: var(--muted); margin-bottom: 10px; }
article strong { font-size: 18px; }
article a { color: var(--cyan); text-decoration: none; }
.stats article { min-height: 118px; display: grid; align-content: start; gap: 6px; }
.stats article small { color: var(--muted); font-size: 13px; }
.secondary-stats { margin-top: 14px; }
.secondary-stats article { min-height: 92px; background: rgba(255,255,255,.03); }
.module-grid, .software-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 20px 0 26px; }
.module-grid a, .software-grid a { min-height: 104px; padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; color: var(--text); text-decoration: none; display: grid; align-content: center; gap: 8px; }
.module-grid a:hover, .software-grid a:hover { border-color: rgba(229,197,109,.48); background: rgba(229,197,109,.08); }
.software-grid strong { font-size: 20px; }
.software-grid span { color: var(--muted); line-height: 1.5; }
.guide-section { margin-top: 28px; }
.guide-grid { display: grid; grid-template-columns: 1fr; gap: 22px; margin: 18px 0 28px; }
.guide-grid article { padding: 0; overflow: hidden; align-content: start; background: rgba(255,255,255,.035); }
.guide-grid img { width: 100%; display: block; aspect-ratio: 12 / 7; object-fit: cover; border-bottom: 1px solid var(--line); background: #111722; }
.guide-grid > article > strong { display: block; padding: 20px 24px 6px; font-size: 24px; }
.guide-grid > article > span { display: block; padding: 0 24px 24px; color: var(--muted); line-height: 1.8; font-size: 16px; }
.guide-visual { min-height: 320px; padding: 34px; border-bottom: 1px solid var(--line); background: linear-gradient(135deg, rgba(123,223,242,.16), rgba(255,255,255,.035)); display: grid; align-content: center; justify-items: center; gap: 14px; text-align: center; }
.guide-visual strong { padding: 0; font-size: clamp(54px, 9vw, 96px); color: var(--text); letter-spacing: 0; }
.guide-visual span { padding: 0; color: var(--cyan); font-size: clamp(18px, 2.8vw, 30px); font-weight: 700; }
.guide-visual.accent { background: linear-gradient(135deg, rgba(229,197,109,.18), rgba(255,255,255,.035)); }
.guide-visual.accent span { color: var(--gold); }
.guide-visual.success { background: linear-gradient(135deg, rgba(92,255,184,.13), rgba(255,255,255,.035)); }
.guide-visual.success span { color: #87ffd0; }
.guide-steps { display: grid; gap: 14px; margin-top: 20px; }
.guide-steps section { padding: 18px; border: 1px solid var(--line); background: rgba(255,255,255,.04); border-radius: 8px; }
.guide-steps h3 { margin: 0 0 8px; font-size: 20px; }
.guide-steps p { margin: 0; font-size: 15px; line-height: 1.8; }
.guide-notes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.recharge-desk { margin: 22px 0 26px; padding: 18px; border: 1px solid rgba(123,223,242,.32); background: linear-gradient(135deg, rgba(123,223,242,.12), rgba(229,197,109,.075)); border-radius: 8px; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 18px; align-items: stretch; box-shadow: 0 18px 70px rgba(0,0,0,.28); }
.qr-card { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.075); border-radius: 8px; padding: 15px; display: grid; gap: 12px; place-items: center; align-content: center; }
.qr-card img { width: 190px; height: 190px; border-radius: 6px; background: #fff; padding: 8px; }
.qr-card span { color: var(--cyan); font-weight: 700; }
.recharge-main { display: grid; gap: 14px; align-content: center; }
.recharge-main h2 { margin: 0 0 8px; }
.recharge-main p { margin: 0; font-size: 15px; }
.info-band, .download-panel { margin: 18px 0 24px; padding: 18px; border: 1px solid rgba(123,223,242,.28); background: rgba(123,223,242,.075); border-radius: 8px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 360px) minmax(180px, 260px); gap: 14px; align-items: center; }
.download-panel { grid-template-columns: minmax(0, 1fr) auto; border-color: rgba(229,197,109,.32); background: rgba(229,197,109,.07); }
.info-band h2, .download-panel h2 { margin: 0 0 8px; }
.info-band p, .download-panel p { margin: 0; font-size: 15px; }
.copy-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; min-width: 0; align-items: end; }
.copy-field span { color: var(--muted); font-size: 13px; }
.copy-field code { grid-column: 1; display: block; overflow-wrap: anywhere; padding: 12px; border: 1px solid var(--line); background: rgba(0,0,0,.22); border-radius: 6px; color: #fff; min-height: 44px; }
.copy-field button { grid-column: 2; grid-row: 1 / span 2; min-width: 106px; height: 44px; align-self: end; }
.copy-field.accent code { border-color: rgba(229,197,109,.52); background: rgba(229,197,109,.1); color: #fff5ce; font-weight: 700; letter-spacing: .4px; }
button.copied { border-color: rgba(123,223,242,.72); background: rgba(123,223,242,.18); }
.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.badge.ok { border-color: rgba(123,223,242,.42); color: var(--cyan); background: rgba(123,223,242,.08); }
.badge.pending { border-color: rgba(229,197,109,.42); color: var(--gold); background: rgba(229,197,109,.08); }
.split { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin: 18px 0 26px; }
.license-purchase-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 18px 0 26px; align-items: start; }
.license-column { min-width: 0; display: grid; gap: 14px; align-content: start; }
.license-column-head { min-height: 76px; padding: 4px 2px 12px; border-bottom: 1px solid var(--line); display: grid; align-content: end; gap: 5px; }
.license-column-head span { color: var(--cyan); font-size: 12px; font-weight: 700; }
.license-column-head h3 { margin: 0; font-size: 19px; line-height: 1.35; }
.license-offer { min-width: 0; align-content: start; }
.license-offer h3 { margin: 2px 0 6px; font-size: 17px; }
.license-offer button { width: 100%; }
.empty-offer { margin: 4px 0 8px; padding: 12px; border: 1px dashed var(--line); border-radius: 6px; font-size: 13px; line-height: 1.55; }
.form-card { padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; display: grid; gap: 10px; }
.form-card.narrow { max-width: 520px; }
.form-card h2, .panel h2 { margin: 8px 0 10px; font-size: 20px; }
.form-card label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; }
.admin-action-grid { display: grid; grid-template-columns: repeat(2, minmax(280px, 1fr)); gap: 14px; margin: 18px 0 24px; }
.license-manager { align-content: start; }
.mini-form { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(130px, .55fr) auto; gap: 10px; align-items: end; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,0,0,.12); }
.mini-form p { margin: 0; font-size: 13px; }
.mini-form.danger-zone { grid-template-columns: minmax(0, 1.3fr) minmax(160px, .7fr) auto; }
.mini-form button { min-height: 42px; white-space: nowrap; }
.danger-zone { border-color: rgba(255,92,122,.45); background: rgba(255,92,122,.06); }
.danger-zone button { border-color: rgba(255,92,122,.56); background: rgba(255,92,122,.14); }
.plan-options { display: grid; gap: 10px; margin: 4px 0 8px; }
.plan-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); background: rgba(0,0,0,.18); border-radius: 8px; cursor: pointer; }
.plan-option:has(input:checked) { border-color: rgba(229,197,109,.72); background: rgba(229,197,109,.12); }
.plan-option input { width: auto; }
.plan-option span { display: grid; gap: 4px; }
.plan-option strong { font-size: 15px; }
.plan-option small { color: var(--muted); font-size: 13px; }
.recharge-submit { grid-template-columns: minmax(0, 1.65fr) minmax(180px, .7fr); margin-top: 18px; }
.recharge-submit input[type="hidden"] { display: none; }
.recharge-submit button { grid-column: 1 / -1; width: 100%; min-height: 44px; }
.bind-account-form { grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.2fr) minmax(180px, 1fr) auto; align-items: end; }
.bind-account-form input[type="hidden"] { display: none; }
.bind-account-form button { min-height: 44px; white-space: nowrap; }
.inline-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; gap: 10px; align-items: center; margin: 12px 0 12px; }
.inline-search a { padding: 11px 14px; border: 1px solid var(--line); color: var(--muted); text-decoration: none; border-radius: 6px; text-align: center; }
.settings-form { grid-template-columns: 1fr; align-items: end; }
.settings-form.compact { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.settings-form label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; }
.settings-form label.wide { grid-column: 1 / -1; }
.settings-form button { justify-self: start; min-width: 160px; }
.settings-main-form { gap: 18px; }
.settings-save-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid rgba(229,197,109,.42); border-radius: 8px; background: rgba(229,197,109,.08); }
.settings-save-bar strong { display: block; margin-bottom: 4px; color: var(--text); font-size: 18px; }
.settings-save-bar span { display: block; color: var(--muted); font-size: 13px; line-height: 1.5; }
.settings-save-bar button { justify-self: auto; min-width: 190px; }
.settings-save-bar.bottom { background: rgba(123,223,242,.06); border-color: rgba(123,223,242,.34); }
.form-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.form-actions.wide { grid-column: 1 / -1; }
.danger-button { border-color: rgba(255,92,124,.72); background: rgba(255,92,124,.16); color: #ffdce4; }
.danger-button:hover { background: rgba(255,92,124,.24); }
.settings-block { display: grid; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,0,0,.12); }
.settings-block h3 { margin: 0; font-size: 18px; }
.qr-upload-form { margin-top: 14px; }
.qr-upload-block { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) auto; align-items: end; }
.qr-upload-block h3, .qr-upload-block .form-hint { grid-column: 1 / -1; }
.qr-preview { min-height: 180px; padding: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; display: grid; place-items: center; gap: 8px; }
.qr-preview img { width: 150px; height: 150px; object-fit: contain; padding: 8px; border-radius: 6px; background: #fff; }
.qr-preview span { color: var(--cyan); font-size: 13px; font-weight: 700; }
.plan-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(190px, 1fr)); gap: 12px; }
.plan-setting-card { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.035); border-radius: 8px; }
.check-row { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 8px; color: var(--text) !important; }
.check-row input { width: auto; }
.platform-edit-list { display: grid; gap: 14px; margin-top: 18px; }
.platform-edit-card { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
.platform-edit-card h2, .platform-edit-card button, .platform-edit-card .wide { grid-column: 1 / -1; }
.plan-edit-list { display: grid; gap: 14px; margin-top: 18px; }
.plan-edit-card { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
.plan-edit-card h2, .plan-edit-card button, .plan-edit-card .wide { grid-column: 1 / -1; }
.add-plan-panel { margin-top: 18px; border: 1px solid rgba(229,197,109,.42); border-radius: 8px; background: rgba(229,197,109,.06); overflow: hidden; }
.add-plan-panel summary { cursor: pointer; list-style: none; padding: 14px 16px; color: var(--text); font-weight: 800; }
.add-plan-panel summary::-webkit-details-marker { display: none; }
.add-plan-panel[open] summary { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.035); }
.add-plan-panel .plan-edit-card { margin: 14px; }
.agreement-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 24px; background: rgba(0,0,0,.72); backdrop-filter: blur(10px); }
.agreement-dialog { width: min(720px, 94vw); max-height: min(760px, 88vh); padding: 22px; border: 1px solid rgba(229,197,109,.46); background: #11141d; border-radius: 8px; box-shadow: 0 30px 100px rgba(0,0,0,.5); display: grid; gap: 14px; }
.agreement-dialog h2 { margin: 0; font-size: 24px; }
.agreement-text { max-height: 420px; overflow: auto; padding: 16px; border: 1px solid var(--line); background: rgba(255,255,255,.045); border-radius: 8px; color: var(--text); line-height: 1.85; font-size: 15px; }
.agreement-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.agreement-actions button:first-child { border-color: var(--line); background: rgba(255,255,255,.05); color: var(--muted); }
select { width: 100%; padding: 11px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: var(--text); border-radius: 6px; }
select option { background: #171b24; color: #f7f8ff; }
select option:checked { background: #2d3342; color: #ffffff; }
.notice { width: min(1120px, 94vw); margin: 20px auto 0; padding: 12px 14px; border: 1px solid rgba(123,223,242,.38); background: rgba(123,223,242,.1); border-radius: 8px; }
.muted { color: var(--muted); }
.data-box { border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.035); overflow: hidden; }
.data-box .table-wrap { max-height: 520px; overflow: auto; margin-bottom: 0; }
.data-box th { position: sticky; top: 0; z-index: 2; background: #171b24; }
.table-wrap { overflow-x: auto; margin-bottom: 24px; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { text-align: left; padding: 10px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; }
th { color: var(--text); background: rgba(255,255,255,.04); }
.row-actions { white-space: nowrap; }
.row-actions a { color: var(--cyan); text-decoration: none; margin-right: 10px; }
.inline-form { display: inline-block; margin: 0 8px 0 0; }
.inline-form button { min-height: 34px; padding: 7px 12px; white-space: nowrap; }
.deposit-action-form { display: grid; grid-template-columns: minmax(112px, 1fr) auto; gap: 6px; margin: 0 0 7px; min-width: 280px; }
.deposit-action-form input[type="hidden"] { display: none; }
.deposit-action-form > button:only-child { grid-column: 1 / -1; }
.deposit-action-form input { min-height: 38px; padding: 8px 10px; }
.deposit-action-form button { min-height: 38px; padding: 8px 11px; white-space: nowrap; }
.deposit-action-form.reject button { border-color: rgba(255,92,124,.56); background: rgba(255,92,124,.14); }
.deposit-message { min-width: 180px; max-width: 280px; white-space: normal; line-height: 1.55; }
.auto-credit-status { display: grid; gap: 7px; padding: 12px; border: 1px solid rgba(123,223,242,.3); background: rgba(123,223,242,.07); border-radius: 8px; }
.auto-credit-status strong { color: var(--cyan); }
.auto-credit-status span { color: var(--muted); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.auto-credit-card form, .auto-credit-card form button { width: 100%; }
button[disabled] { opacity: .5; cursor: not-allowed; }
.preview-only { display: none; }

@media (max-width: 980px) {
  .license-purchase-grid { grid-template-columns: 1fr; }
  .license-column-head { min-height: 0; }
}

@media (max-width: 720px) {
  .login-card { position: static; width: 100%; margin-bottom: 40px; }
  .hero { align-content: start; padding-top: 8px; }
  .hero-brand { margin-top: 22px; }
  .page-head, .recharge-desk, .info-band, .download-panel, .copy-field, .settings-form, .settings-form.compact, .recharge-submit, .bind-account-form, .inline-search, .plan-settings-grid, .admin-action-grid, .mini-form, .mini-form.danger-zone, .qr-upload-block, .guide-grid, .guide-notes, .platform-edit-card, .plan-edit-card { grid-template-columns: 1fr; }
  .settings-form label.wide { grid-column: auto; }
  .settings-save-bar { display: grid; }
  .settings-save-bar button { width: 100%; }
  .copy-field button { grid-column: auto; grid-row: auto; width: 100%; }
}
