/* GX Linear — Minimal white / black theme.
 * Rebuilt from the V6 layout, recolored to a restrained light console.
 * Scoped to body.theme-linear so the Classic UI is untouched.
 */
body.theme-linear{
  --gx-bg:#ffffff;
  --gx-sidebar:#fafafa;
  --gx-top:#ffffff;
  --gx-panel:#ffffff;
  --gx-panel-2:#fafafa;
  --gx-panel-3:#f5f5f5;
  --gx-control:#ffffff;
  --gx-control-hover:#fafafa;
  --gx-line:#e6e6e6;
  --gx-line-soft:#eeeeee;
  --gx-line-strong:#d2d2d2;
  --gx-text:#111111;
  --gx-text-strong:#000000;
  --gx-muted:#555555;
  --gx-dim:#777777;
  --gx-accent:#111111;
  --gx-accent-hover:#2b2b2b;
  --gx-accent-soft:#f0f0f0;
  --gx-accent-line:#d0d0d0;
  --gx-blue:#2563eb;
  --gx-green:#087443;
  --gx-yellow:#8a5700;
  --gx-red:#b42335;
  --gx-radius:8px;
  --gx-radius-sm:6px;
  --gx-sidebar-w:228px;
  --gx-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter","SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
  --gx-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  color-scheme:light;
}

html.gx-bg-fixed:has(body.theme-linear),
body.theme-linear{
  background:var(--gx-bg)!important;
  background-image:none!important;
}
body.theme-linear,
body.theme-linear *{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.theme-linear::before,
body.theme-linear::after{display:none!important;content:none!important}
body.theme-linear{font-family:var(--gx-font)!important;color:var(--gx-text)!important;letter-spacing:-.006em}
body.theme-linear a{text-decoration:none!important}
body.theme-linear img{filter:none!important;-webkit-filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
body.theme-linear ::selection{background:#111!important;color:#fff!important}

/* ---------- typography ---------- */
body.theme-linear.is-admin h1,
body.theme-linear.is-admin h2,
body.theme-linear.is-admin h3,
body.theme-linear.is-admin h4,
body.theme-linear.is-admin h5,
body.theme-linear.is-admin h6,
body.theme-linear.is-admin .section-title,
body.theme-linear.is-admin .settings-title,
body.theme-linear.is-admin .compact-head strong,
body.theme-linear.is-admin .card-title-row h3,
body.theme-linear.is-admin .page-head h1,
body.theme-linear.is-admin .clean-head h1,
body.theme-linear.is-admin .clean-head h2{
  color:var(--gx-text-strong)!important;
  -webkit-text-fill-color:var(--gx-text-strong)!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
  text-shadow:none!important;
}
body.theme-linear.is-admin p,
body.theme-linear.is-admin li,
body.theme-linear.is-admin dd,
body.theme-linear.is-admin dt,
body.theme-linear.is-admin .small,
body.theme-linear.is-admin .small-text,
body.theme-linear.is-admin .muted,
body.theme-linear.is-admin .help,
body.theme-linear.is-admin .tip,
body.theme-linear.is-admin .form-tip,
body.theme-linear.is-admin .cloud-muted,
body.theme-linear.is-admin .cloud-card-sub,
body.theme-linear.is-admin .simple-msg,
body.theme-linear.is-admin .mini-note,
body.theme-linear.is-admin .multi-plan-hint,
body.theme-linear.is-admin .civil-tip{
  color:var(--gx-muted)!important;
  -webkit-text-fill-color:var(--gx-muted)!important;
  opacity:1!important;
}
body.theme-linear.is-admin label,
body.theme-linear.is-admin .form-row>label,
body.theme-linear.is-admin .check-line,
body.theme-linear.is-admin .check-input-wrap{
  color:#333!important;
  -webkit-text-fill-color:#333!important;
  opacity:1!important;
}
body.theme-linear.is-admin strong,
body.theme-linear.is-admin b{color:#111!important}
body.theme-linear.is-admin code{font-family:var(--gx-mono)!important}

/* ---------- admin shell ---------- */
body.theme-linear.is-admin .app-frame{
  width:100%!important;max-width:none!important;min-height:100vh!important;min-height:100dvh!important;
  margin:0!important;padding:0!important;display:grid!important;
  grid-template-columns:var(--gx-sidebar-w) minmax(0,1fr)!important;gap:0!important;
  background:var(--gx-bg)!important;
}
body.theme-linear.is-admin .sidebar{
  position:fixed!important;inset:0 auto 0 0!important;width:var(--gx-sidebar-w)!important;height:100vh!important;height:100dvh!important;
  padding:14px 10px!important;margin:0!important;display:flex!important;flex-direction:column!important;
  border:0!important;border-right:1px solid var(--gx-line)!important;border-radius:0!important;
  background:var(--gx-sidebar)!important;background-image:none!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:hidden!important;z-index:100!important;
}
body.theme-linear.is-admin .side-brand{
  min-height:58px!important;margin:0 0 12px!important;padding:8px 8px 14px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  border:0!important;border-bottom:1px solid var(--gx-line-soft)!important;background:transparent!important;box-shadow:none!important;
}
body.theme-linear.is-admin .side-brand>div{display:block!important;min-width:0!important}
body.theme-linear.is-admin .side-brand .brand-logo,
body.theme-linear.is-admin .side-brand .brand-mark{
  width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;
  border:1px solid var(--gx-line-strong)!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;
  filter:none!important;-webkit-filter:none!important;
}
body.theme-linear.is-admin .side-brand strong{
  display:block!important;color:#111!important;-webkit-text-fill-color:#111!important;
  font-size:14px!important;font-weight:650!important;line-height:1.25!important;letter-spacing:-.012em!important;
}
body.theme-linear.is-admin .side-brand small{
  display:block!important;margin-top:2px!important;color:#777!important;-webkit-text-fill-color:#777!important;
  font-size:10px!important;font-weight:550!important;line-height:1.2!important;letter-spacing:.02em!important;
}
body.theme-linear.is-admin .side-nav{
  display:flex!important;flex-direction:column!important;gap:3px!important;padding:0!important;margin:0!important;overflow:auto!important;
}
body.theme-linear.is-admin .side-link,
body.theme-linear.is-admin .sidebar .side-link{
  position:relative!important;min-height:38px!important;height:auto!important;padding:0 10px!important;margin:0!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;background-image:none!important;
  box-shadow:none!important;transform:none!important;color:#555!important;-webkit-text-fill-color:#555!important;
  font-size:13px!important;font-weight:520!important;line-height:1.2!important;letter-spacing:-.01em!important;
}
body.theme-linear.is-admin .side-link::before{display:none!important;content:none!important}
body.theme-linear.is-admin .side-link::after{display:none!important}
body.theme-linear.is-admin .side-link .nav-label{
  display:block!important;max-width:none!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  color:inherit!important;-webkit-text-fill-color:currentColor!important;font-size:13px!important;font-weight:inherit!important;
}
body.theme-linear.is-admin .side-link .nav-icon{
  width:18px!important;height:18px!important;min-width:18px!important;flex:0 0 18px!important;display:grid!important;place-items:center!important;
  color:#777!important;-webkit-text-fill-color:#777!important;opacity:1!important;
}
body.theme-linear.is-admin .side-link .nav-icon svg{width:16px!important;height:16px!important;fill:currentColor!important;stroke:none!important;opacity:1!important}
body.theme-linear.is-admin .side-link:hover{
  background:#f0f0f0!important;border-color:#e6e6e6!important;color:#111!important;-webkit-text-fill-color:#111!important;
}
body.theme-linear.is-admin .side-link:hover .nav-icon{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .side-link.active,
body.theme-linear.is-admin .sidebar .side-link.active{
  background:#eaeaea!important;background-image:none!important;border-color:#d5d5d5!important;
  color:#000!important;-webkit-text-fill-color:#000!important;box-shadow:none!important;
}
body.theme-linear.is-admin .side-link.active::after{
  content:""!important;display:block!important;position:absolute!important;left:-1px!important;top:8px!important;bottom:8px!important;
  width:2px!important;border-radius:999px!important;background:#111!important;
}
body.theme-linear.is-admin .side-link.active .nav-label{color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .side-link.active .nav-icon{color:#111!important;-webkit-text-fill-color:#111!important}

body.theme-linear.is-admin .side-bottom{
  margin-top:auto!important;padding:12px 0 0!important;display:grid!important;gap:6px!important;border-top:1px solid var(--gx-line-soft)!important;
}
body.theme-linear.is-admin .user-card{
  min-height:44px!important;padding:7px 8px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;
  border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:var(--gx-text)!important;
}
body.theme-linear.is-admin .user-card>div:not(.avatar){display:block!important;min-width:0!important}
body.theme-linear.is-admin .avatar{
  width:30px!important;height:30px!important;min-width:30px!important;border:1px solid #ddd!important;border-radius:50%!important;
  background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:11px!important;font-weight:700!important;
}
body.theme-linear.is-admin .user-card strong{display:block!important;color:#111!important;-webkit-text-fill-color:#111!important;font-size:12px!important;font-weight:600!important}
body.theme-linear.is-admin .user-card small{display:block!important;color:#777!important;-webkit-text-fill-color:#777!important;font-size:10px!important;margin-top:1px!important}
body.theme-linear.is-admin .logout-link{
  min-height:36px!important;padding:0 9px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;
  border:1px solid transparent!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:#777!important;-webkit-text-fill-color:#777!important;font-size:12px!important;
}
body.theme-linear.is-admin .logout-link:hover{background:#f5f5f5!important;border-color:#e6e6e6!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important}
body.theme-linear.is-admin .logout-link .nav-icon{color:inherit!important}

body.theme-linear.is-admin .workspace{
  grid-column:2!important;min-width:0!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;gap:0!important;background:var(--gx-bg)!important;background-image:none!important;overflow:visible!important;
}
body.theme-linear.is-admin .workspace-top{
  position:sticky!important;top:0!important;z-index:80!important;min-height:56px!important;height:56px!important;margin:0!important;padding:0 24px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  border:0!important;border-bottom:1px solid var(--gx-line)!important;border-radius:0!important;
  background:#fff!important;background-image:none!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.theme-linear.is-admin .workspace-top h1{
  margin:0!important;color:#111!important;-webkit-text-fill-color:#111!important;font-size:14px!important;font-weight:620!important;letter-spacing:-.012em!important;
}
body.theme-linear.is-admin .top-actions{display:flex!important;align-items:center!important;gap:8px!important}
body.theme-linear.is-admin .top-user{
  min-height:30px!important;padding:0 9px!important;display:inline-flex!important;align-items:center!important;border:1px solid var(--gx-line)!important;border-radius:6px!important;
  background:#fff!important;color:#555!important;-webkit-text-fill-color:#555!important;font-size:11px!important;font-weight:560!important;
}
body.theme-linear.is-admin .notice-bell-btn{
  width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid #ddd!important;border-radius:7px!important;
  background:#fff!important;color:#444!important;-webkit-text-fill-color:#444!important;box-shadow:none!important;
}
body.theme-linear.is-admin .notice-bell-btn:hover{border-color:#aaa!important;background:#f5f5f5!important;color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .notice-bell-badge{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#fff!important}
body.theme-linear.is-admin .container{
  width:100%!important;max-width:1380px!important;margin:0 auto!important;padding:28px 28px 64px!important;box-sizing:border-box!important;color:var(--gx-text)!important;
}

/* ---------- page headings ---------- */
body.theme-linear.is-admin .page-head,
body.theme-linear.is-admin .clean-head,
body.theme-linear.is-admin .hero,
body.theme-linear.is-admin .dashboard-welcome{
  margin:0 0 22px!important;padding:0 0 20px!important;border:0!important;border-bottom:1px solid var(--gx-line)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:var(--gx-text)!important;
}
body.theme-linear.is-admin .page-head h1,
body.theme-linear.is-admin .clean-head h1,
body.theme-linear.is-admin .hero h1,
body.theme-linear.is-admin .dashboard-welcome h1{
  margin:0!important;font-size:28px!important;line-height:1.15!important;font-weight:650!important;letter-spacing:-.03em!important;color:#111!important;-webkit-text-fill-color:#111!important;
}
body.theme-linear.is-admin .page-head p,
body.theme-linear.is-admin .clean-head p,
body.theme-linear.is-admin .hero p,
body.theme-linear.is-admin .dashboard-welcome p{
  margin:7px 0 0!important;color:#666!important;-webkit-text-fill-color:#666!important;
}

/* ---------- surfaces ---------- */
body.theme-linear.is-admin .card,
body.theme-linear.is-admin .compact-card,
body.theme-linear.is-admin .create-card,
body.theme-linear.is-admin .clean-create-card,
body.theme-linear.is-admin .create-section,
body.theme-linear.is-admin .project-item,
body.theme-linear.is-admin .project-edit-panel,
body.theme-linear.is-admin .project-manage-box,
body.theme-linear.is-admin .profile-card-lite,
body.theme-linear.is-admin .settings-card,
body.theme-linear.is-admin .appearance-section,
body.theme-linear.is-admin .security-settings-card,
body.theme-linear.is-admin .cloud-card,
body.theme-linear.is-admin .cloud-top,
body.theme-linear.is-admin .cloud-current,
body.theme-linear.is-admin .client-download-card,
body.theme-linear.is-admin .device-stats-card,
body.theme-linear.is-admin .app-notice-card,
body.theme-linear.is-admin .choice-card,
body.theme-linear.is-admin .plan-rule-box,
body.theme-linear.is-admin .gx-accordion,
body.theme-linear.is-admin .user-edit-panel,
body.theme-linear.is-admin .quota-card,
body.theme-linear.is-admin .recharge-card,
body.theme-linear.is-admin .recharge-stat,
body.theme-linear.is-admin .support-chat,
body.theme-linear.is-admin .so-manage-card,
body.theme-linear.is-admin .local-so-setting,
body.theme-linear.is-admin .lua-update-panel{
  background:var(--gx-panel)!important;background-image:none!important;border:1px solid var(--gx-line)!important;border-radius:8px!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:var(--gx-text)!important;
}
body.theme-linear.is-admin .card,
body.theme-linear.is-admin .compact-card,
body.theme-linear.is-admin .cloud-card,
body.theme-linear.is-admin .recharge-card,
body.theme-linear.is-admin .settings-card,
body.theme-linear.is-admin .appearance-section{padding:18px!important}
body.theme-linear.is-admin .card-title-row,
body.theme-linear.is-admin .section-title-row{border-color:var(--gx-line-soft)!important;color:var(--gx-text)!important}
body.theme-linear.is-admin .card-title-row p,
body.theme-linear.is-admin .section-title-row p{color:var(--gx-muted)!important;-webkit-text-fill-color:var(--gx-muted)!important}

/* inner surfaces that legacy pages hard-code white */
body.theme-linear.is-admin .multi-plan-section,
body.theme-linear.is-admin .type-plan-row,
body.theme-linear.is-admin .detail-settings-body,
body.theme-linear.is-admin .accordion-body-form,
body.theme-linear.is-admin .recharge-plans label,
body.theme-linear.is-admin .traffic-plans label,
body.theme-linear.is-admin .cloud-app-picker,
body.theme-linear.is-admin .so-uploader,
body.theme-linear.is-admin .so-kv,
body.theme-linear.is-admin .so-mode-card,
body.theme-linear.is-admin .so-detail-body,
body.theme-linear.is-admin .client-file-box,
body.theme-linear.is-admin .client-admin-form,
body.theme-linear.is-admin .support-chat-header,
body.theme-linear.is-admin .support-chat-footer,
body.theme-linear.is-admin .user-edit-details .user-edit-panel,
body.theme-linear.is-admin .plain-file{
  background:var(--gx-panel-2)!important;background-image:none!important;border-color:var(--gx-line)!important;color:var(--gx-text)!important;box-shadow:none!important;
}
body.theme-linear.is-admin .multi-plan-section,
body.theme-linear.is-admin .type-plan-row,
body.theme-linear.is-admin .cloud-app-picker,
body.theme-linear.is-admin .so-uploader,
body.theme-linear.is-admin .so-kv,
body.theme-linear.is-admin .so-mode-card,
body.theme-linear.is-admin .client-file-box,
body.theme-linear.is-admin .plain-file{border:1px solid var(--gx-line)!important;border-radius:8px!important}
body.theme-linear.is-admin .type-plan-row:hover,
body.theme-linear.is-admin .so-mode-card:hover{border-color:#bbb!important;box-shadow:none!important}

/* ---------- forms ---------- */
body.theme-linear.is-admin input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
body.theme-linear.is-admin select,
body.theme-linear.is-admin textarea,
body.theme-linear.is-auth input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
body.theme-linear.is-auth select,
body.theme-linear.is-auth textarea{
  min-height:40px!important;padding:9px 11px!important;border:1px solid #d9d9d9!important;border-radius:7px!important;
  background:#fff!important;background-color:#fff!important;background-image:none!important;
  color:#111!important;-webkit-text-fill-color:#111!important;caret-color:#111!important;
  box-shadow:none!important;text-shadow:none!important;opacity:1!important;font-family:inherit!important;
}
body.theme-linear.is-admin textarea,
body.theme-linear.is-auth textarea{min-height:110px!important;line-height:1.6!important}
body.theme-linear.is-admin select,
body.theme-linear.is-auth select{
  -webkit-appearance:none!important;appearance:none!important;color-scheme:light!important;padding-right:38px!important;
  background-color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:15px!important;
}
body.theme-linear.is-admin select option,
body.theme-linear.is-admin select optgroup,
body.theme-linear.is-auth select option,
body.theme-linear.is-auth select optgroup{
  background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;
}
body.theme-linear.is-admin input::placeholder,
body.theme-linear.is-admin textarea::placeholder,
body.theme-linear.is-auth input::placeholder,
body.theme-linear.is-auth textarea::placeholder{
  color:#999!important;-webkit-text-fill-color:#999!important;opacity:1!important;
}
body.theme-linear.is-admin input:hover,
body.theme-linear.is-admin select:hover,
body.theme-linear.is-admin textarea:hover{border-color:#bbb!important;background-color:#fff!important}
body.theme-linear.is-admin input:focus,
body.theme-linear.is-admin select:focus,
body.theme-linear.is-admin textarea:focus,
body.theme-linear.is-auth input:focus,
body.theme-linear.is-auth select:focus,
body.theme-linear.is-auth textarea:focus{
  border-color:#111!important;background-color:#fff!important;color:#000!important;-webkit-text-fill-color:#000!important;
  outline:none!important;box-shadow:0 0 0 3px rgba(0,0,0,.08)!important;
}
body.theme-linear.is-admin input:disabled,
body.theme-linear.is-admin select:disabled,
body.theme-linear.is-admin textarea:disabled,
body.theme-linear.is-auth input:disabled,
body.theme-linear.is-auth select:disabled,
body.theme-linear.is-auth textarea:disabled{
  background:#f5f5f5!important;border-color:#e0e0e0!important;color:#999!important;-webkit-text-fill-color:#999!important;opacity:1!important;
}
body.theme-linear.is-admin input[readonly],
body.theme-linear.is-admin textarea[readonly]{background:#fafafa!important;color:#555!important;-webkit-text-fill-color:#555!important;opacity:1!important}
body.theme-linear.is-admin input[type="checkbox"],
body.theme-linear.is-admin input[type="radio"],
body.theme-linear.is-auth input[type="checkbox"],
body.theme-linear.is-auth input[type="radio"]{accent-color:#111!important;opacity:1!important;filter:none!important}
body.theme-linear.is-admin input:-webkit-autofill,
body.theme-linear.is-admin input:-webkit-autofill:hover,
body.theme-linear.is-admin input:-webkit-autofill:focus,
body.theme-linear.is-auth input:-webkit-autofill,
body.theme-linear.is-auth input:-webkit-autofill:hover,
body.theme-linear.is-auth input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#111!important;caret-color:#111!important;
}

/* ---------- buttons ---------- */
body.theme-linear.is-admin .btn,
body.theme-linear.is-admin button,
body.theme-linear.is-auth .btn,
body.theme-linear.is-auth button{
  min-height:36px!important;padding:0 12px!important;border:1px solid #d5d5d5!important;border-radius:7px!important;
  background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;box-shadow:none!important;
  font-weight:600!important;transform:none!important;text-shadow:none!important;
}
body.theme-linear.is-admin .btn:hover,
body.theme-linear.is-admin button:hover,
body.theme-linear.is-auth .btn:hover,
body.theme-linear.is-auth button:hover{background:#f5f5f5!important;border-color:#aaa!important;color:#000!important;-webkit-text-fill-color:#000!important;transform:none!important}
body.theme-linear.is-admin .btn.primary,
body.theme-linear.is-admin button[type="submit"]:not(.secondary):not(.danger):not(.danger-btn),
body.theme-linear.is-auth .btn.primary,
body.theme-linear.is-auth button[type="submit"]{
  background:#111!important;border-color:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body.theme-linear.is-admin .btn.primary:hover,
body.theme-linear.is-admin button[type="submit"]:not(.secondary):not(.danger):not(.danger-btn):hover,
body.theme-linear.is-auth .btn.primary:hover,
body.theme-linear.is-auth button[type="submit"]:hover{background:#2b2b2b!important;border-color:#2b2b2b!important}
body.theme-linear.is-admin .btn.secondary,
body.theme-linear.is-admin button.secondary,
body.theme-linear.is-admin a.btn.secondary{background:#fff!important;border-color:#d5d5d5!important;color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-admin .btn.danger,
body.theme-linear.is-admin .danger-btn,
body.theme-linear.is-admin button.danger{background:#fff!important;border-color:#f2b7c0!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important}
body.theme-linear.is-admin .btn.danger:hover,
body.theme-linear.is-admin .danger-btn:hover{background:#fff0f2!important;border-color:#e89aa8!important;color:#8f1d2c!important;-webkit-text-fill-color:#8f1d2c!important}
body.theme-linear.is-admin button:disabled,
body.theme-linear.is-admin .btn.disabled{opacity:1!important;background:#f5f5f5!important;border-color:#e0e0e0!important;color:#aaa!important;-webkit-text-fill-color:#aaa!important;cursor:not-allowed!important}

/* ---------- data / tables ---------- */
body.theme-linear.is-admin .table-wrap,
body.theme-linear.is-admin .card.table-wrap,
body.theme-linear.is-admin .cards-table-card{
  overflow:auto!important;background:#fff!important;border:1px solid var(--gx-line)!important;border-radius:8px!important;box-shadow:none!important;
}
body.theme-linear.is-admin table,
body.theme-linear.is-admin .table{background:transparent!important;color:var(--gx-text)!important;border-collapse:collapse!important}
body.theme-linear.is-admin table th,
body.theme-linear.is-admin .table th{
  background:#fafafa!important;color:#555!important;-webkit-text-fill-color:#555!important;border-color:var(--gx-line)!important;font-size:12px!important;font-weight:650!important;
}
body.theme-linear.is-admin table td,
body.theme-linear.is-admin .table td{
  background:transparent!important;color:#333!important;-webkit-text-fill-color:#333!important;border-color:var(--gx-line-soft)!important;opacity:1!important;
}
body.theme-linear.is-admin table td strong,
body.theme-linear.is-admin .table td strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin table tr:hover td,
body.theme-linear.is-admin .table tr:hover td{background:#fafafa!important;color:#000!important;-webkit-text-fill-color:#000!important}

/* ---------- stats ---------- */
body.theme-linear.is-admin .stat-grid{
  display:grid!important;background:#fff!important;border:1px solid var(--gx-line)!important;border-radius:8px!important;box-shadow:none!important;overflow:hidden!important;
}
body.theme-linear.is-admin .stat{background:transparent!important;border:0!important;border-right:1px solid var(--gx-line)!important;border-radius:0!important;box-shadow:none!important}
body.theme-linear.is-admin .stat:last-child{border-right:0!important}
body.theme-linear.is-admin .stat span{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-admin .stat strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .stat:nth-child(2) strong{color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
body.theme-linear.is-admin .stat:nth-child(3) strong{color:#087443!important;-webkit-text-fill-color:#087443!important}
body.theme-linear.is-admin .stat:nth-child(4) strong{color:#6b4fd8!important;-webkit-text-fill-color:#6b4fd8!important}
body.theme-linear.is-admin .stat:nth-child(5) strong{color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}

/* ---------- badges / alerts ---------- */
body.theme-linear.is-admin .badge,
body.theme-linear.is-admin .mini-tag,
body.theme-linear.is-admin .cloud-badge,
body.theme-linear.is-admin .so-count-pill{
  border:1px solid #e0e0e0!important;border-radius:999px!important;background:#fafafa!important;color:#555!important;-webkit-text-fill-color:#555!important;box-shadow:none!important;
}
body.theme-linear.is-admin .badge.success,
body.theme-linear.is-admin .online,
body.theme-linear.is-admin .status-success,
body.theme-linear.is-admin .so-badge-optional{
  background:#ecfdf3!important;border-color:#b7ebcd!important;color:#087443!important;-webkit-text-fill-color:#087443!important;
}
body.theme-linear.is-admin .badge.pending,
body.theme-linear.is-admin .warn,
body.theme-linear.is-admin .status-warning{
  background:#fff8e7!important;border-color:#f0d28a!important;color:#8a5700!important;-webkit-text-fill-color:#8a5700!important;
}
body.theme-linear.is-admin .badge.error,
body.theme-linear.is-admin .badge.danger,
body.theme-linear.is-admin .offline,
body.theme-linear.is-admin .status-error{
  background:#fff0f2!important;border-color:#f2b7c0!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important;
}
body.theme-linear.is-admin .alert{
  border:1px solid #e0e0e0!important;border-radius:7px!important;background:#fafafa!important;color:#333!important;-webkit-text-fill-color:#333!important;box-shadow:none!important;
}
body.theme-linear.is-admin .alert.success{background:#ecfdf3!important;border-color:#b7ebcd!important;color:#087443!important;-webkit-text-fill-color:#087443!important}
body.theme-linear.is-admin .alert.error{background:#fff0f2!important;border-color:#f2b7c0!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important}
body.theme-linear.is-admin .alert.warn{background:#fff8e7!important;border-color:#f0d28a!important;color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}

/* ---------- cards.php ---------- */
body.theme-linear.is-admin .multi-plan-section{padding:16px!important}
body.theme-linear.is-admin .type-plan-row{padding:16px!important;margin-bottom:10px!important}
body.theme-linear.is-admin .type-plan-index{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:6px!important}
body.theme-linear.is-admin .type-plan-remove{background:transparent!important;border-color:transparent!important;color:#777!important;-webkit-text-fill-color:#777!important}
body.theme-linear.is-admin .type-plan-remove:hover{background:#fff0f2!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important}
body.theme-linear.is-admin .multi-add-button{background:#fff!important;border:1px dashed #bbb!important;color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-admin .multi-add-button:hover{background:#f5f5f5!important;border-color:#888!important;color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .type-plan-empty{background:#fafafa!important;border:1px dashed #ccc!important;color:#777!important;-webkit-text-fill-color:#777!important;border-radius:7px!important}
body.theme-linear.is-admin .kami-gen-overlay{background:rgba(0,0,0,.35)!important;backdrop-filter:blur(3px)!important}
body.theme-linear.is-admin .kami-gen-dialog{background:#fff!important;border:1px solid #e0e0e0!important;border-radius:9px!important;color:var(--gx-text)!important;box-shadow:0 24px 70px rgba(0,0,0,.18)!important}
body.theme-linear.is-admin .kami-gen-text{background:#fafafa!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#ddd!important}

/* ---------- users ---------- */
body.theme-linear.is-admin .user-row-name strong,
body.theme-linear.is-admin .user-row-stat b{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .user-row-nick,
body.theme-linear.is-admin .user-row-sub,
body.theme-linear.is-admin .user-row-stat{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-admin .user-row-dot::before{color:#aaa!important}
body.theme-linear.is-admin .user-letter-sm,
body.theme-linear.is-admin .user-letter{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-admin .toggle-btn,
body.theme-linear.is-admin .user-manage-btn{background:#fff!important;border-color:#d5d5d5!important;color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-admin .toggle-btn:hover,
body.theme-linear.is-admin .user-manage-btn:hover{background:#f5f5f5!important;border-color:#aaa!important;color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .user-manage-btn.active,
body.theme-linear.is-admin .pagination-bar .current{background:#111!important;border-color:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-admin .pagination-bar a{background:#fff!important;border-color:#d5d5d5!important;color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-admin .pagination-bar a:hover{background:#f5f5f5!important;border-color:#aaa!important;color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .empty-card{color:#777!important;-webkit-text-fill-color:#777!important}

/* ---------- recharge ---------- */
body.theme-linear.is-admin .recharge-title p,
body.theme-linear.is-admin .recharge-card p,
body.theme-linear.is-admin .recharge-plans small,
body.theme-linear.is-admin .recharge-stat small{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-admin .recharge-stat strong,
body.theme-linear.is-admin .recharge-plans strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .recharge-plans label{cursor:pointer!important}
body.theme-linear.is-admin .recharge-plans label:has(input:checked){background:#f0f0f0!important;border-color:#d0d0d0!important}
body.theme-linear.is-admin .recharge-unit span{color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-admin .recharge-tip{background:#eff6ff!important;border:1px solid #bfdbfe!important;color:#1e40af!important;-webkit-text-fill-color:#1e40af!important}
body.theme-linear.is-admin .recharge-tip span{color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
body.theme-linear.is-admin .recharge-admin{background:#fff8e7!important;border-color:#f0d28a!important}
body.theme-linear.is-admin .recharge-admin h3{color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}

/* ---------- notices ---------- */
body.theme-linear.is-admin .notice-pin-toggle{background:#fff!important;border:1px solid #ddd!important;border-radius:7px!important;color:var(--gx-text)!important}
body.theme-linear.is-admin .notice-pin-toggle:hover{background:#f5f5f5!important;border-color:#bbb!important}
body.theme-linear.is-admin .notice-pin-label{color:#111!important;-webkit-text-fill-color:#111!important;font-weight:650!important}
body.theme-linear.is-admin .notice-pin-label small{color:#777!important;-webkit-text-fill-color:#777!important}
body.theme-linear.is-admin .notice-pin-track{background:#ccc!important;border:1px solid #bbb!important}
body.theme-linear.is-admin .notice-pin-toggle input:checked~.notice-pin-track{background:#087443!important;border-color:#087443!important}
body.theme-linear.is-admin .notice-list-item{border-color:var(--gx-line-soft)!important}
body.theme-linear.is-admin .notice-list-title{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .notice-list-body{color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-admin .notice-list-meta{color:#777!important;-webkit-text-fill-color:#777!important}

/* ---------- cloud / dex ---------- */
body.theme-linear.is-admin .cloud-title p,
body.theme-linear.is-admin .cloud-app-picker label,
body.theme-linear.is-admin .cloud-current small,
body.theme-linear.is-admin .so-kv small,
body.theme-linear.is-admin .so-summary-meta small,
body.theme-linear.is-admin .client-file-main p,
body.theme-linear.is-admin .local-so-copy small,
body.theme-linear.is-admin .traffic-plans small,
body.theme-linear.is-admin .so-mode-card small{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-admin .cloud-current strong,
body.theme-linear.is-admin .so-summary-main strong,
body.theme-linear.is-admin .client-file-main strong,
body.theme-linear.is-admin .local-so-copy strong,
body.theme-linear.is-admin .traffic-plans strong,
body.theme-linear.is-admin .so-mode-card strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-admin .cloud-pill,
body.theme-linear.is-admin .so-summary-meta em{background:#111!important;border:1px solid #111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-admin .so-status{background:#ecfdf3!important;border-color:#b7ebcd!important;color:#087443!important;-webkit-text-fill-color:#087443!important}
body.theme-linear.is-admin .so-status.empty{background:#fff8e7!important;border-color:#f0d28a!important;color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}
body.theme-linear.is-admin .so-badge-force{background:#eff6ff!important;color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
body.theme-linear.is-admin .so-badge-hidden{background:#fff0f2!important;color:#b42335!important;-webkit-text-fill-color:#b42335!important}
body.theme-linear.is-admin .so-manage-card[open] .so-summary{background:#fafafa!important;border-color:var(--gx-line)!important}
body.theme-linear.is-admin .client-file-icon{background:#eff6ff!important;color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
body.theme-linear.is-admin .client-file-main code{background:#fafafa!important;color:#333!important;-webkit-text-fill-color:#333!important;border:1px solid #e0e0e0!important}
body.theme-linear.is-admin .local-so-switch i{background:#ddd!important;border-color:#bbb!important}
body.theme-linear.is-admin .local-so-switch i:before{background:#fff!important;box-shadow:none!important}
body.theme-linear.is-admin .local-so-switch input:checked+i{background:#111!important;border-color:#111!important}
body.theme-linear.is-admin .project-image-warning{background:#fff8e7!important;border-color:#f0d28a!important;color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}
body.theme-linear.is-admin .project-image-warning a{color:#8a5700!important;-webkit-text-fill-color:#8a5700!important}

/* ---------- support / chat ---------- */
body.theme-linear.is-admin .support-chat-header{border-bottom:1px solid var(--gx-line)!important}
body.theme-linear.is-admin .support-chat-footer{border-top:1px solid var(--gx-line)!important}
body.theme-linear.is-admin .msg-bubble{box-shadow:none!important}
body.theme-linear.is-admin .msg-bubble.user{background:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-admin .msg-bubble.user *{color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-admin .msg-bubble.ai{background:#fafafa!important;border-color:#e0e0e0!important;color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-admin .msg-bubble.admin{background:#ecfdf3!important;border-color:#b7ebcd!important;color:#087443!important;-webkit-text-fill-color:#087443!important}
body.theme-linear.is-admin .msg-bubble.system{background:#fafafa!important;color:#777!important;-webkit-text-fill-color:#777!important}
body.theme-linear.is-admin .msg-act-btn,
body.theme-linear.is-admin .cb-btn{background:#fff!important;border-color:#d5d5d5!important;color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-admin .msg-act-btn:hover,
body.theme-linear.is-admin .cb-btn:hover{background:#f5f5f5!important;border-color:#aaa!important;color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-admin .code-block-wrapper{background:#fafafa!important;border-color:#e0e0e0!important}
body.theme-linear.is-admin .code-block-toolbar{background:#f5f5f5!important;border-color:#e0e0e0!important}
body.theme-linear.is-admin .code-block-lang{color:#777!important;-webkit-text-fill-color:#777!important}
body.theme-linear.is-admin .mode-switch{background:#fff!important;border:1px solid var(--gx-line)!important}
body.theme-linear.is-admin .mode-btn{background:transparent!important;border:0!important;color:#777!important;-webkit-text-fill-color:#777!important;box-shadow:none!important}
body.theme-linear.is-admin .mode-btn.active{background:#f0f0f0!important;color:#111!important;-webkit-text-fill-color:#111!important;box-shadow:none!important}
body.theme-linear.is-admin .user-list-item .name{color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-admin .user-list-item:hover{background:#fafafa!important}
body.theme-linear.is-admin .user-list-item.active{background:#f0f0f0!important}
body.theme-linear.is-admin .ai-tip{color:#777!important;-webkit-text-fill-color:#777!important}

/* ---------- code ---------- */
body.theme-linear.is-admin pre,
body.theme-linear.is-admin .code-box,
body.theme-linear.is-admin .codebox,
body.theme-linear.is-admin .code-block-content,
body.theme-linear.is-admin .lua-output-box,
body.theme-linear.is-admin .lua-code-box,
body.theme-linear.is-admin .cloud-code{
  background:#fafafa!important;border-color:#e0e0e0!important;color:#222!important;-webkit-text-fill-color:#222!important;
}
body.theme-linear.is-admin pre{border:1px solid #e0e0e0!important;border-radius:7px!important;box-shadow:inset 2px 0 0 #999!important}

/* ---------- switches / tabs / selected ---------- */
body.theme-linear.is-admin .project-tab,
body.theme-linear.is-admin .mode-btn,
body.theme-linear.is-admin .choice-card{color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-admin .project-tab.active,
body.theme-linear.is-admin .mode-btn.active,
body.theme-linear.is-admin .choice-card.active,
body.theme-linear.is-admin .current{
  background:#f0f0f0!important;border-color:#d0d0d0!important;color:#111!important;-webkit-text-fill-color:#111!important;
}

/* ---------- auth ---------- */
body.theme-linear.is-auth{
  min-height:100vh!important;min-height:100dvh!important;background:#fff!important;color:#111!important;
}
body.theme-linear.is-auth .auth-shell{width:min(100% - 28px,430px)!important;margin:0 auto!important;padding:9vh 0 40px!important}
body.theme-linear.is-auth .auth-panel,
body.theme-linear.is-auth .auth-card,
body.theme-linear.is-auth .auth-panel .card{
  background:#fff!important;background-image:none!important;border:1px solid #e6e6e6!important;border-radius:10px!important;box-shadow:none!important;color:#111!important;
}
body.theme-linear.is-auth .auth-brand{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-auth .auth-brand strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-auth h1,
body.theme-linear.is-auth h2,
body.theme-linear.is-auth h3{color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-auth label{color:#333!important;-webkit-text-fill-color:#333!important}
body.theme-linear.is-auth p,
body.theme-linear.is-auth .muted,
body.theme-linear.is-auth small{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-auth .captcha-line img{filter:none!important;-webkit-filter:none!important}

/* ---------- public ---------- */
body.theme-linear.is-public{background:#fff!important;color:#111!important}
body.theme-linear.is-public .public-shell,
body.theme-linear.is-public .public-main{background:transparent!important}
body.theme-linear.is-public .public-nav{
  background:#fff!important;border:1px solid #e6e6e6!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important;
}
body.theme-linear.is-public .public-brand,
body.theme-linear.is-public .public-brand span{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-public .public-nav nav a{color:#555!important;-webkit-text-fill-color:#555!important}
body.theme-linear.is-public .public-nav nav a:hover{color:#000!important;-webkit-text-fill-color:#000!important}
body.theme-linear.is-public .public-nav .nav-pill{background:#111!important;border-color:#111!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.theme-linear.is-public .public-hero,
body.theme-linear.is-public .feature-card,
body.theme-linear.is-public .public-flow,
body.theme-linear.is-public .mini-window{
  background:#fff!important;background-image:none!important;border:1px solid #e6e6e6!important;border-radius:10px!important;box-shadow:none!important;backdrop-filter:none!important;
}
body.theme-linear.is-public .public-hero::before{display:none!important}
body.theme-linear.is-public .hero-copy h1,
body.theme-linear.is-public .public-flow h2,
body.theme-linear.is-public .feature-card strong{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-public .hero-copy p,
body.theme-linear.is-public .feature-card span,
body.theme-linear.is-public .mini-row span,
body.theme-linear.is-public .public-footer{color:#666!important;-webkit-text-fill-color:#666!important}
body.theme-linear.is-public .eyebrow{background:#f5f5f5!important;border-color:#e0e0e0!important;color:#333!important;-webkit-text-fill-color:#333!important;backdrop-filter:none!important}
body.theme-linear.is-public .mini-row,
body.theme-linear.is-public .flow-list div{background:#fafafa!important;border:1px solid #e6e6e6!important;border-radius:8px!important;box-shadow:none!important}
body.theme-linear.is-public .mini-row strong,
body.theme-linear.is-public .flow-list span{color:#111!important;-webkit-text-fill-color:#111!important}
body.theme-linear.is-public .platform-strip span{background:#fafafa!important;color:#555!important;-webkit-text-fill-color:#555!important}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  body.theme-linear{--gx-sidebar-w:184px}
  body.theme-linear.is-admin .container{padding:24px 20px 60px!important}
  body.theme-linear.is-admin .side-link{padding:0 9px!important}
  body.theme-linear.is-admin .side-link .nav-label{font-size:12px!important}
}
@media (max-width:760px){
  body.theme-linear{--gx-sidebar-w:0px}
  body.theme-linear.is-admin .app-frame{display:block!important}
  body.theme-linear.is-admin .sidebar{
    position:fixed!important;left:8px!important;right:8px!important;top:auto!important;bottom:8px!important;width:auto!important;height:58px!important;
    padding:6px!important;display:flex!important;flex-direction:row!important;align-items:center!important;border:1px solid #e0e0e0!important;border-radius:10px!important;
    background:#fff!important;box-shadow:0 14px 38px rgba(0,0,0,.12)!important;backdrop-filter:none!important;overflow:hidden!important;
  }
  body.theme-linear.is-admin .side-brand,
  body.theme-linear.is-admin .side-bottom{display:none!important}
  body.theme-linear.is-admin .side-nav{width:100%!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-around!important;gap:3px!important;overflow-x:auto!important}
  body.theme-linear.is-admin .side-link{min-width:46px!important;height:44px!important;min-height:44px!important;flex:0 0 46px!important;padding:0!important;justify-content:center!important;border-radius:7px!important}
  body.theme-linear.is-admin .side-link .nav-label{display:none!important}
  body.theme-linear.is-admin .side-link .nav-icon{width:20px!important;height:20px!important;min-width:20px!important}
  body.theme-linear.is-admin .side-link .nav-icon svg{width:18px!important;height:18px!important}
  body.theme-linear.is-admin .side-link.active::after{left:10px!important;right:10px!important;top:auto!important;bottom:-1px!important;width:auto!important;height:2px!important}
  body.theme-linear.is-admin .side-link:nth-child(n+7){display:none!important}
  body.theme-linear.is-admin .workspace{display:block!important}
  body.theme-linear.is-admin .workspace-top{height:52px!important;min-height:52px!important;padding:0 14px!important}
  body.theme-linear.is-admin .top-user{display:none!important}
  body.theme-linear.is-admin .container{padding:18px 14px 88px!important}
  body.theme-linear.is-admin .page-head h1,
  body.theme-linear.is-admin .clean-head h1,
  body.theme-linear.is-admin .hero h1,
  body.theme-linear.is-admin .dashboard-welcome h1{font-size:24px!important}
  body.theme-linear.is-admin .grid,
  body.theme-linear.is-admin .two,
  body.theme-linear.is-admin .two-col,
  body.theme-linear.is-admin .form-grid-2,
  body.theme-linear.is-admin .form-grid-3,
  body.theme-linear.is-admin .cloud-grid,
  body.theme-linear.is-admin .recharge-grid,
  body.theme-linear.is-admin .recharge-stats,
  body.theme-linear.is-admin .recharge-plans,
  body.theme-linear.is-admin .traffic-card-grid,
  body.theme-linear.is-admin .traffic-plans{grid-template-columns:1fr!important}
  body.theme-linear.is-admin .stat-grid{grid-template-columns:1fr 1fr!important}
  body.theme-linear.is-admin .stat{border-bottom:1px solid var(--gx-line)!important}
}

@media (prefers-reduced-motion:reduce){
  body.theme-linear *,body.theme-linear *::before,body.theme-linear *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- 加载方式：卡片式单选（替代原生 radio） ---------- */
body.theme-linear.is-admin .so-mode-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
body.theme-linear.is-admin .so-mode-card{
  position:relative!important;
  display:block!important;
  padding:14px!important;
  cursor:pointer!important;
  border:1px solid #e0e0e0!important;
  border-radius:8px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  transition:border-color .15s ease,background .15s ease!important;
}
body.theme-linear.is-admin .so-mode-card:hover{
  border-color:#bbb!important;
  background:#fafafa!important;
}
body.theme-linear.is-admin .so-mode-card input[type="radio"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  margin:0!important;
}
body.theme-linear.is-admin .so-mode-card strong{
  display:block!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:14px!important;
  font-weight:600!important;
  margin:0 0 4px!important;
}
body.theme-linear.is-admin .so-mode-card small{
  display:block!important;
  color:#666!important;
  -webkit-text-fill-color:#666!important;
  font-size:12px!important;
  line-height:1.5!important;
  margin:0!important;
}
body.theme-linear.is-admin .so-mode-card:has(input[type="radio"]:checked){
  border-color:#111!important;
  background:#fafafa!important;
  box-shadow:inset 0 0 0 1px #111!important;
}
body.theme-linear.is-admin .so-mode-card:has(input[type="radio"]:checked) strong{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
}
@media(max-width:760px){
  body.theme-linear.is-admin .so-mode-row{grid-template-columns:1fr!important}
}

/* ---------- 项目展示：白底黑字卡片 ---------- */
body.theme-linear.is-admin .project-item{
  background:#fff!important;
  border:1px solid #e6e6e6!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
body.theme-linear.is-admin .project-item-head{
  gap:14px!important;
}
body.theme-linear.is-admin .project-item .project-cover{
  width:72px!important;
  height:72px!important;
  flex:0 0 72px!important;
  border-radius:12px!important;
  border:1px solid #e6e6e6!important;
  background:#fafafa!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.theme-linear.is-admin .project-item .project-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.theme-linear.is-admin .project-item .project-cover-text span{
  font-size:26px!important;
  font-weight:700!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  letter-spacing:.02em!important;
}
body.theme-linear.is-admin .project-meta h3{
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:16px!important;
  font-weight:650!important;
  margin:0 0 6px!important;
}
body.theme-linear.is-admin .project-meta code{
  display:inline-block!important;
  color:#555!important;
  -webkit-text-fill-color:#555!important;
  background:#fafafa!important;
  border:1px solid #eeeeee!important;
  border-radius:6px!important;
  padding:2px 7px!important;
  font-size:12px!important;
}
body.theme-linear.is-admin .project-tags{
  gap:6px!important;
  margin-top:10px!important;
}
body.theme-linear.is-admin .project-tags .mini-tag,
body.theme-linear.is-admin .project-tags .badge{
  background:#fafafa!important;
  background-image:none!important;
  border:1px solid #e0e0e0!important;
  color:#555!important;
  -webkit-text-fill-color:#555!important;
  border-radius:999px!important;
  padding:3px 10px!important;
  font-size:12px!important;
  line-height:1.4!important;
  box-shadow:none!important;
}
body.theme-linear.is-admin .project-tags .badge.active{
  background:#ecfdf3!important;
  border-color:#b7ebcd!important;
  color:#087443!important;
  -webkit-text-fill-color:#087443!important;
}
body.theme-linear.is-admin .project-tags .badge.disabled{
  background:#f5f5f5!important;
  border-color:#e0e0e0!important;
  color:#999!important;
  -webkit-text-fill-color:#999!important;
}
body.theme-linear.is-admin .project-manage-box summary{
  color:#555!important;
  -webkit-text-fill-color:#555!important;
}
