:root {
  color-scheme: dark;
  --bg: #121413;
  --panel: #1b1e1b;
  --line: #30352f;
  --muted: #969e93;
  --text: #eceee5;
  --gold: #dfc699;
  --green: #b9cbb3;
  --error: #f2a89d;
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "PingFang SC",
    sans-serif;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
}
button,
input,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
button {
  transition:
    background 0.18s,
    transform 0.18s;
}
button:hover:not(:disabled) {
  filter: brightness(1.12);
}
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
[hidden] {
  display: none !important;
}
h1,
h2,
p {
  margin-top: 0;
}
.muted {
  color: var(--muted);
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--gold);
  font-weight: 600;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 650;
  letter-spacing: 3px;
}
.brand small {
  display: block;
  font-size: 8px;
  color: var(--muted);
  letter-spacing: 2px;
  margin-top: 6px;
}
.brand-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 42px;
  border: 1px solid #7f8977;
  color: var(--gold);
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: 400;
}
.workspace {
  display: flex;
  min-height: 100vh;
}
.sidebar {
  width: 238px;
  position: fixed;
  inset: 0 auto 0 0;
  border-right: 1px solid var(--line);
  padding: 35px 24px;
  display: flex;
  flex-direction: column;
  background: #171a17;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.nav-label {
  font-size: 10px;
  color: #7e897a;
  letter-spacing: 2px;
  margin: 56px 12px 20px;
}
.nav {
  width: 100%;
  border: 0;
  background: transparent;
  color: #a5ada0;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px;
  margin: 6px 0;
  border-radius: 5px;
  text-align: left;
}
.nav > span {
  font-size: 21px;
  width: 22px;
}
.nav small {
  margin-left: auto;
  font-size: 10px;
  opacity: 0.6;
}
.nav.active {
  color: var(--gold);
  background: #2c3027;
  box-shadow: inset 2px 0 var(--gold);
}
.balance-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:30px; border:1px solid #6b5531; background:linear-gradient(120deg,#342b1d,#211f19 70%); margin-bottom:22px; }
.balance-hero h2 { margin:8px 0 10px; font-size:28px; }
.balance-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:22px; }
.balance-card { min-height:180px; padding:28px; border:1px solid var(--line); background:linear-gradient(145deg,#28231a,#1d1c18); display:flex; flex-direction:column; justify-content:center; }
.balance-card span { color:var(--muted); letter-spacing:1px; }
.balance-card strong { color:var(--gold); font-family:Georgia,serif; font-size:44px; font-weight:500; margin:14px 0 8px; }
.balance-card small { color:var(--muted); }
.update-card code { color:var(--gold); }
.sidebar-bottom {
  margin-top: auto;
  padding-top: 34px;
  flex: 0 0 auto;
}
.sidebar nav { flex: 0 0 auto; }
.sidebar::-webkit-scrollbar { width: 6px; }
.sidebar::-webkit-scrollbar-thumb { background: #5c4b2e; border-radius: 10px; }
.server-status {
  font-size: 10px;
  color: var(--muted);
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b9d3a6;
  margin-right: 6px;
}
.admin-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 23px 0 15px;
}
.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #363c30;
  color: #c7d2b8;
  flex-shrink: 0;
}
.admin-profile strong {
  font-size: 12px;
}
.admin-profile small {
  display: block;
  font-size: 9px;
  color: var(--muted);
  margin-top: 5px;
}
.text-button {
  border: 0;
  background: none;
  color: var(--muted);
  padding: 4px 0;
  font-size: 12px;
}
.sidebar-bottom > .text-button {
  font-size: 10px;
}
main {
  margin-left: 238px;
  flex: 1;
  min-width: 0;
}
.topbar {
  height: 79px;
  border-bottom: 1px solid var(--line);
  padding: 0 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: var(--muted);
}
.topbar strong {
  font-weight: 400;
  color: var(--text);
}
.topbar > div > span {
  margin: 0 14px;
  color: #5d6758;
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.topbar-right #sync-status {
  color: var(--muted);
  margin: 0;
}
.version {
  border: 1px solid var(--line);
  padding: 5px 7px;
  font-size: 9px;
  letter-spacing: 1px;
}
.page {
  max-width: 1500px;
  margin: auto;
  padding: 40px 44px 0;
}
.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.page-heading h1 {
  font-size: 29px;
  font-weight: 500;
  letter-spacing: 1px;
  margin: 10px 0;
}
.title-dot {
  color: var(--gold);
}
.page-heading p {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 0;
}
.primary,
.outline {
  border-radius: 4px;
  padding: 12px 19px;
  font-size: 12px;
  font-weight: 550;
}
.primary {
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #28271f;
}
.outline {
  border: 1px solid #4b5544;
  background: transparent;
  color: var(--text);
}
.wide {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.hero {
  display: flex;
  min-height: 269px;
  padding: 34px 36px;
  border: 1px solid #444d3c;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(115deg, #30392a, #222a20 58%, #33382a);
}
.hero > div:first-child {
  z-index: 1;
}
.hero h2 {
  font-weight: 400;
  line-height: 1.55;
  font-size: 26px;
  margin: 15px 0 9px;
}
.hero p {
  font-size: 11px;
  color: #b2bba8;
}
.hero .outline {
  padding: 9px 13px;
  margin-top: 5px;
  font-size: 10px;
}
.hero-visual {
  position: absolute;
  right: 6%;
  top: 0;
  width: 310px;
  height: 100%;
  perspective: 500px;
}
.orb {
  position: absolute;
  border: 1px solid #8f9578;
  border-radius: 50%;
  width: 210px;
  height: 210px;
  top: 31px;
  left: 30px;
  background: radial-gradient(ellipse at 30% 20%, #a4ae8144, transparent 65%);
  transform: rotate(-30deg) rotateY(50deg);
}
.orb-two {
  transform: rotate(25deg) rotateY(50deg);
  border-color: #bbc69c88;
}
.orb-three {
  transform: rotate(80deg) rotateY(50deg);
  border-color: #c4c29b66;
}
.hero-visual span {
  position: absolute;
  bottom: 24px;
  left: 100px;
  color: #a4ac93;
  font-size: 8px;
  letter-spacing: 4px;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 22px 0 34px;
}
.stats article {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 22px;
  background: #1b1e1a;
}
.stats article > span {
  font-size: 11px;
  color: #b7beb1;
}
.stats strong {
  font-size: 34px;
  font-weight: 400;
  display: block;
  margin: 15px 0;
  color: #ecebdf;
  font-variant-numeric: tabular-nums;
}
.stats small {
  font-size: 10px;
  color: #808a79;
}
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 17px;
}
.section-heading h2 {
  font-size: 15px;
  font-weight: 500;
  margin: 0;
}
.section-heading h2 span {
  color: #6d7766;
  font-size: 8px;
  letter-spacing: 2px;
  margin-left: 12px;
}
.table-container {
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: auto;
  background: #191c18;
}
table {
  border-collapse: collapse;
  width: 100%;
  white-space: nowrap;
  text-align: left;
}
th {
  font-size: 10px;
  font-weight: 400;
  color: #8d9786;
  background: #20251e;
  padding: 14px 20px;
}
td {
  padding: 17px 20px;
  font-size: 11px;
  border-top: 1px solid #2a3026;
  color: #b1baaa;
}
td strong {
  font-weight: 500;
  color: #e0e5d9;
}
.member-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.member-cell small {
  display: block;
  margin-top: 5px;
  color: #838e7c;
  font-size: 10px;
}
.badge {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  padding: 5px 8px;
  border: 1px solid #46523e;
  border-radius: 4px;
  color: #bfceae;
  background: #293025;
}
.badge.red {
  color: #dda99e;
  background: #382925;
  border-color: #60433b;
}
.badge.gray {
  color: #a7aa9f;
  background: #2d3029;
  border-color: #454a3e;
}
.row-action {
  border: 0;
  background: none;
  color: var(--gold);
  font-size: 11px;
}
.mono {
  font-family: ui-monospace, monospace;
  color: #d0c29f;
}
.empty {
  text-align: center;
  padding: 64px 25px;
  color: var(--muted);
  font-size: 13px;
}
.info-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0;
  padding: 18px 20px;
  border: 1px solid #30372a;
  border-radius: 5px;
  color: #a0ad93;
}
.info-strip p {
  font-size: 10px;
  margin: 0;
  line-height: 1.8;
}
.info-strip > span:last-child {
  margin-left: auto;
  font-size: 8px;
  letter-spacing: 1px;
  white-space: nowrap;
  color: #738369;
}
footer {
  padding: 25px 0;
  border-top: 1px solid var(--line);
  margin-top: 36px;
  font-size: 8px;
  letter-spacing: 2px;
  color: #66725e;
  display: flex;
  justify-content: space-between;
}
.list-toolbar {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}
.search {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #1d211b;
  border: 1px solid var(--line);
  padding: 0 14px;
  border-radius: 4px;
  max-width: 340px;
  width: 100%;
}
.search input {
  border: 0;
  background: none;
  margin: 0;
  padding: 12px 0;
  outline-offset: 0;
}
.list-toolbar > button {
  margin-left: auto;
}
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
  font-size: 11px;
  color: var(--muted);
}
.pagination button {
  padding: 8px 12px;
  margin-left: 9px;
}
.login-screen {
  display: flex;
  min-height: 100vh;
}
.login-art {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
  background: linear-gradient(150deg, #35402d, #1c231a);
  padding: 50px;
}
.login-art .brand {
  font-size: 16px;
  z-index: 1;
}
.login-art .brand small {
  font-size: 8px;
  margin-left: auto;
}
.art-caption {
  z-index: 1;
  margin: 150px 0 100px;
}
.art-caption h1 {
  font-size: 48px;
  line-height: 1.5;
  font-weight: 400;
  margin: 25px 0;
}
.art-caption p {
  color: #abb79d;
  font-size: 13px;
}
.art-footer {
  font-size: 8px;
  letter-spacing: 3px;
  color: #8c9a7e;
}
.art-orbit {
  position: absolute;
  width: 500px;
  height: 500px;
  border: 1px solid #9aab7055;
  border-radius: 50%;
  right: -150px;
  top: 100px;
  box-shadow:
    0 0 0 60px #99ad6609,
    0 0 0 120px #99ad6608;
}
.login-side {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}
.login-card {
  width: 350px;
  max-width: 100%;
}
.login-card h2 {
  font-weight: 400;
  font-size: 30px;
  margin: 16px 0;
}
.login-card > .muted {
  font-size: 12px;
  margin-bottom: 35px;
}
.login-note {
  font-size: 10px;
  color: #78836f;
  line-height: 1.8;
  margin-top: 22px;
  text-align: center;
}
label {
  display: block;
  font-size: 11px;
  color: #b0baa5;
  margin: 22px 0;
}
input,
textarea {
  width: 100%;
  display: block;
  background: #181c16;
  border: 1px solid #3a4333;
  border-radius: 4px;
  color: var(--text);
  padding: 13px;
  margin-top: 9px;
  outline: none;
}
input::placeholder {
  color: #65715b;
}
.error {
  font-size: 12px;
  color: var(--error);
  min-height: 18px;
}
.notice {
  font-size: 11px;
  background: #363327;
  color: #d4c292;
  padding: 13px;
  line-height: 1.7;
}
dialog {
  color: var(--text);
  background: #20251d;
  border: 1px solid #4b5642;
  border-radius: 10px;
  padding: 30px;
  width: 470px;
  max-width: calc(100% - 30px);
  box-shadow: 0 30px 120px #0008;
}
dialog::backdrop {
  background: #080b08bb;
  backdrop-filter: blur(4px);
}

.service-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}
.service-card{display:grid;gap:14px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.service-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.service-card header h3{margin:0;font-size:18px}.service-card header small{display:block;color:var(--muted);margin-top:4px}
.service-card textarea{min-height:76px}.service-card .service-status{font-size:12px;color:var(--muted)}
.service-card .toggle-inline{display:flex;align-items:center;gap:8px}.service-card .toggle-inline input{width:auto}
.service-category{grid-column:1/-1;padding:22px;border:1px solid #574628;border-radius:20px;background:#1c1914}
.service-category-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.service-category-heading h2{margin:0;color:var(--gold)}.service-category-heading span{color:var(--muted);font-size:12px}
.service-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.common-tool-card input[type="file"]{border-style:dashed}.common-tool-card .clear-script{color:var(--muted)}
select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:#171717;color:var(--text);padding:12px}
.dialog-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.dialog-heading h2 {
  font-weight: 400;
  font-size: 23px;
  margin: 10px 0 16px;
}
.icon-button {
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 25px;
}
.form-row {
  display: flex;
  gap: 20px;
}
.form-row label {
  flex: 1;
}
.dialog-actions {
  display: flex;
  gap: 10px;
  margin-top: 22px;
  justify-content: flex-end;
}
dialog p {
  line-height: 1.8;
  font-size: 12px;
}
textarea {
  font-family: ui-monospace, monospace;
  line-height: 1.8;
  resize: vertical;
  font-size: 12px;
}
#toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 23px;
  background: #e0c99f;
  color: #242a1d;
  border-radius: 5px;
  box-shadow: 0 7px 30px #0008;
  z-index: 100;
  font-size: 12px;
  max-width: 90vw;
}
@media (min-width: 1600px) {
  .hero {
    min-height: 310px;
  }
  .hero h2 {
    font-size: 32px;
  }
}
@media (max-width: 1050px) {
  .sidebar {
    width: 190px;
    padding: 30px 16px;
  }
  main {
    margin-left: 190px;
  }
  .page {
    padding: 28px 25px 0;
  }
  .topbar {
    padding: 0 25px;
  }
  .stats {
    gap: 10px;
  }
  .stats article {
    padding: 16px;
  }
  .hero-visual {
    right: -20px;
    opacity: 0.6;
  }
  .hero {
    padding: 28px;
  }
  .info-strip > span:last-child {
    display: none;
  }
}
@media (max-width: 720px) {
  .sidebar {
    position: relative;
    width: 100%;
    padding: 18px;
    display: block;
  }
  .sidebar .brand {
    font-size: 14px;
  }
  .nav-label,
  .sidebar-bottom {
    display: none;
  }
  .sidebar nav {
    display: flex;
    margin-top: 15px;
    gap: 6px;
  }
  .nav {
    padding: 10px;
    font-size: 11px;
    gap: 5px;
  }
  .nav small {
    display: none;
  }
  .workspace {
    display: block;
  }
  main {
    margin: 0;
  }
  .topbar {
    height: 60px;
  }
  .topbar-right .version {
    display: none;
  }
  .page-heading h1 {
    font-size: 24px;
  }
  .page-heading {
    gap: 15px;
  }
  .page-heading .primary {
    padding: 10px;
    white-space: nowrap;
  }
  .stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-visual {
    opacity: 0.25;
  }
  .login-art {
    display: none;
  }
  .login-side {
    min-height: 100vh;
  }
  .page {
    padding: 26px 18px 0;
  }
  .list-toolbar {
    gap: 10px;
  }
  .list-toolbar #list-count {
    display: none;
  }
  footer {
    font-size: 7px;
    letter-spacing: 1px;
  }
  .info-strip {
    padding: 13px;
  }
}
@media (max-width: 720px) {
  .sidebar-bottom {
    display: block;
    padding: 0;
    margin: 0;
  }
  .sidebar-bottom .server-status,
  .sidebar-bottom .admin-profile {
    display: none;
  }
  .sidebar-bottom > .text-button {
    position: absolute;
    right: 20px;
    top: 32px;
  }
}
.update-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 28px;
  background: #283022;
  border: 1px solid #47533b;
  border-radius: 7px;
  margin-bottom: 22px;
}
.update-summary h2 {
  font-size: 23px;
  font-weight: 400;
  margin: 13px 0;
}
.update-summary p {
  margin-bottom: 0;
  font-size: 12px;
}
.update-columns {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 20px;
  margin-bottom: 32px;
}
.update-card {
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  min-width: 0;
}
.update-card h2 {
  font-size: 21px;
  font-weight: 400;
  margin: 13px 0;
}
.update-card p {
  font-size: 12px;
  line-height: 1.8;
}
.update-card label {
  margin: 14px 0;
}
.update-card .form-row label {
  min-width: 0;
}
.remote-feature {
  border-top: 1px solid var(--line);
  padding: 12px 0;
}
.remote-feature .feature-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
.remote-feature input[type="checkbox"] {
  width: auto;
  display: inline;
  margin: 0;
}
.remote-feature .feature-order {
  width: 62px;
}
.remote-feature small {
  color: var(--muted);
}
select {
  background: #181c16;
  color: var(--text);
  border: 1px solid #3a4333;
  border-radius: 4px;
  padding: 12px;
  display: block;
  width: 100%;
  margin-top: 8px;
}
.update-log-heading {
  margin-top: 30px;
}
.update-job-message {
  white-space: normal;
  min-width: 230px;
  line-height: 1.7;
}
.release-notes {
  white-space: normal;
  max-width: 330px;
  line-height: 1.6;
}
input[type="file"] {
  font-size: 11px;
  padding: 12px 8px;
}
.sidebar nav {
  flex-wrap: wrap;
}
@media (max-width: 1150px) {
  .update-columns {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .sidebar .nav {
    width: auto;
    flex: 1;
    white-space: nowrap;
  }
  .update-summary {
    padding: 19px;
    display: block;
  }
  .update-summary .badge {
    margin-top: 15px;
  }
  .update-card {
    padding: 18px;
  }
}
:root {
  --bg: #151411;
  --panel: #24211b;
  --line: #3d372b;
  --muted: #a49984;
  --text: #eee7d8;
  --gold: #ddbf87;
}
.sidebar {
  background: #1b1915;
}
.nav.active {
  background: #342c1e;
}
.hero {
  background: linear-gradient(115deg, #403420, #2e271b 58%, #44361f);
  border-color: #6b5531;
}
.hero p {
  color: #c3b292;
}
.hero .orb {
  border-color: #b69a61;
}
.stats article {
  background: #242019;
}
.table-container {
  background: #211e18;
}
th {
  background: #2b251b;
  color: #b5a383;
}
td {
  border-color: #3b3325;
  color: #c4b59a;
}
.badge {
  background: #353321;
  border-color: #635b38;
  color: #d6c999;
}
.login-art {
  background: linear-gradient(150deg, #473820, #282014);
}
.art-orbit {
  border-color: #c29a5355;
  box-shadow:
    0 0 0 60px #b98b4109,
    0 0 0 120px #b98b4108;
}
.login-card input,
input,
textarea {
  background: #211d17;
  border-color: #554831;
}
.update-summary {
  background: #342a1c;
  border-color: #6b5430;
}
.brand-mark {
  border-color: #947b4e;
}
dialog {
  background: #2b2419;
  border-color: #79603b;
}
.search {
  background: #241f17;
}
.badge.gray {
  background: #302b22;
  color: #afa18a;
}
.info-strip {
  border-color: #4b3e27;
  color: #bead8b;
}
.server-status {
  color: #a8997f;
}
.release-notes {
  white-space: pre-wrap;
  min-width: 220px;
}
.hero-visual span {
  color: #bba171;
}
.provider-service-card{align-content:start}
.provider-heading{display:flex;justify-content:space-between;align-items:center;color:var(--text);font-size:13px;margin-top:2px}.provider-heading small{color:var(--muted)}
.provider-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:5px;border:1px solid #514328;border-radius:14px;background:#171510}
.provider-switch button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;border:1px solid transparent;border-radius:10px;background:transparent;color:#a99d87;cursor:pointer}.provider-switch button b{font-size:14px}.provider-switch button small{font-size:10px}.provider-switch button.active{color:#1b170f;background:linear-gradient(135deg,#f0cc77,#c89b43);box-shadow:0 7px 20px #0006}.provider-switch button.active small{color:#55401c}
.provider-panel{display:none;gap:13px;padding:16px;border:1px solid #4b402d;border-radius:14px;background:#1b1813}.provider-panel.active{display:grid}.provider-panel-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #3c3325}.provider-panel-title strong{font-size:14px;color:#e8d4aa}.provider-panel-title span{font-size:10px;color:var(--muted)}

.provider-help{margin:0;padding:11px 12px;border:1px solid #4d4028;border-radius:9px;background:#211c13;color:#b9aa8e;font-size:11px;line-height:1.7}
.member-plans{display:grid;gap:8px;min-width:180px}.member-plan{display:grid;gap:3px;padding:8px 10px;border:1px solid rgba(215,174,92,.2);border-radius:10px;background:rgba(215,174,92,.06)}.member-plan strong{color:#f1d28d}.member-plan small{display:block;color:#9f9b94}

.nav-group{margin:10px 0;border-top:1px solid #3b3328;padding-top:12px}.nav-group summary{padding:12px 15px;color:#d7b77e;font-weight:600;cursor:pointer}.nav-group .nav{padding-left:27px}.sidebar{overflow-y:auto;max-height:100vh}.service-card select[multiple]{min-height:120px}.finance-wallet{color:#e8c58b}#finance-user-dialog{min-width:360px}#finance-user-dialog form{display:flex;flex-direction:column;gap:16px}#finance-admin-root>h2{grid-column:1/-1}#plans-view{display:none!important}

/* 1.9.61 全宽编辑，不为新增表单留侧栏空位 */
.service-config-grid,.service-category-grid{grid-template-columns:minmax(0,1fr)}
.update-card,.service-card,#new-ai-service-form,#finance-admin-root{width:100%;max-width:none;box-sizing:border-box;min-width:0}
#new-ai-service-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}
#new-ai-service-form>h2,#new-ai-service-form>h3,#new-ai-service-form>.form-row,#new-ai-service-form>button{grid-column:1/-1}
.nav-group{margin:5px 0;padding-top:5px}.nav-group summary{border-radius:10px;background:linear-gradient(90deg,#b98d3313,transparent);padding:11px 15px}.nav-group[open] summary{color:#f0d499}
.user-wallet{display:block;padding:8px 0;color:#e5c184}.user-quota{display:flex;justify-content:space-between;gap:18px;color:#b7b0a4;font-size:12px}.user-quota strong{color:#e3d5b5}
#finance-user-dialog{width:min(560px,calc(100vw - 36px));min-width:0}#finance-user-summary{line-height:1.8;color:#c8bfae}
@media(max-width:700px){#new-ai-service-form{grid-template-columns:1fr}}

.update-columns{grid-template-columns:minmax(0,1fr)}

/* 常用动作与预设管理：每行三个独立配置卡片 */
#common-tools-list,#presets-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#common-tools-list>.service-card,#presets-list>.service-card{min-width:0;padding:18px;overflow:hidden}
#common-tools-list .service-card header,#presets-list .service-card header{flex-wrap:wrap;gap:10px}
#common-tools-list .service-card h3,#presets-list .service-card h3{overflow-wrap:break-word}
#common-tools-list input,#presets-list input{box-sizing:border-box;min-width:0;max-width:100%}
#common-tools-list input[type=file],#presets-list input[type=file]{width:100%;font-size:11px}
#common-tools-list .service-status,#presets-list .service-status{overflow-wrap:anywhere}

.recharge-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}.recharge-tier-preview{display:flex;flex-direction:column;align-items:center;gap:9px;padding:24px;border:1px solid #98763e66;border-radius:13px;background:radial-gradient(circle at 100% 0,#b58d4426,transparent 65%),#282217;margin-bottom:9px}.recharge-tier-preview strong{font-size:32px;color:#ebc985}.recharge-tier-preview span{font-size:12px;color:#c3b392}.recharge-tier-preview em{font-style:normal;color:#86b795;font-size:11px}.recharge-rules-card p{color:#b5aa96;line-height:1.8;font-size:12px}@media(max-width:1000px){.recharge-admin-grid{grid-template-columns:minmax(0,1fr)}}

/* 后台 AI 服务：每个分类一行三个配置卡片。 */
#ai-services-list .service-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
#ai-services-list .service-category{min-width:0;padding:18px}
#ai-services-list .provider-service-card{min-width:0;padding:16px;overflow:hidden}
#ai-services-list .provider-service-card header{flex-wrap:wrap;align-items:start;gap:10px}
#ai-services-list .provider-service-card header h3{font-size:16px;overflow-wrap:anywhere}
#ai-services-list .provider-service-card header small,#ai-services-list .service-status{overflow-wrap:anywhere}
#ai-services-list .provider-service-card .form-row{grid-template-columns:minmax(0,1fr)}
#ai-services-list .provider-service-card input,#ai-services-list .provider-service-card textarea,#ai-services-list .provider-service-card select{min-width:0;max-width:100%;box-sizing:border-box}
#ai-services-list .provider-service-card .provider-panel{padding:12px;min-width:0}
#ai-services-list .provider-service-card .provider-switch{gap:5px;border-radius:10px}
#ai-services-list .provider-service-card .provider-switch button{flex-direction:column;align-items:start;gap:5px;padding:9px 7px;min-width:0}
#ai-services-list .provider-service-card .provider-switch button b{font-size:12px;overflow-wrap:anywhere}
#ai-services-list .provider-service-card .provider-switch button small{font-size:9px}
#ai-services-list .provider-service-card .provider-heading{flex-wrap:wrap;gap:6px}
#ai-services-list .provider-service-card .provider-panel-title{flex-wrap:wrap;gap:6px}
@media(max-width:800px){#ai-services-list .service-category-grid{grid-template-columns:minmax(0,1fr)}}

#new-ai-prompt-form{margin-bottom:20px}.prompt-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.prompt-admin-grid .service-card{min-width:0;padding:18px}.prompt-admin-grid textarea{width:100%;box-sizing:border-box;min-height:120px}.prompt-delete{border:1px solid #84564c;background:transparent;color:#ddb3a2;padding:10px;border-radius:9px}@media(max-width:800px){.prompt-admin-grid{grid-template-columns:minmax(0,1fr)}}

/* 模型平台配置：每次只展示所选平台，切换保留尚未保存的输入。 */
.provider-panel[hidden]{display:none!important}
#new-ai-service-form>.provider-heading,#new-ai-service-form>.provider-switch,#new-ai-service-form>.provider-panel{grid-column:1/-1}
#new-ai-service-form>.provider-switch{grid-template-columns:repeat(4,minmax(0,1fr))}
#new-ai-service-form>.provider-switch button{flex-direction:column;gap:5px;min-width:0}
@media(max-width:700px){#new-ai-service-form>.provider-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* AI 模型配置按需展开，默认收起。 */
.model-config-collapse{min-width:0;border:1px solid #4c402a;border-radius:12px;background:#1a1813;align-self:start}
.model-config-collapse>summary{display:flex;align-items:center;gap:10px;padding:14px;cursor:pointer;list-style:none;color:#e8d4aa;font-weight:600}
.model-config-collapse>summary::-webkit-details-marker{display:none}
.model-config-collapse>summary:after{content:"⌄";font-size:20px;margin-left:auto;transition:transform .18s}
.model-config-collapse[open]>summary:after{transform:rotate(180deg)}
.model-config-collapse .collapse-hint{font-size:10px;color:#a99d87;font-weight:400}
.model-config-body{display:grid;gap:14px;padding:0 14px 14px;min-width:0}
#new-ai-service-form>.model-config-collapse{grid-column:1/-1}
#new-ai-service-form .model-config-body>.provider-switch{grid-template-columns:repeat(4,minmax(0,1fr))}
#new-ai-service-form .provider-switch button{flex-direction:column;gap:5px;min-width:0}
@media(max-width:700px){#new-ai-service-form .model-config-body>.provider-switch{grid-template-columns:repeat(2,minmax(0,1fr))}}

.prompt-admin-grid{align-items:start}
#ai-prompts-list .model-config-body{padding:0 12px 12px}

/* 常用动作、预设与新增 AI 服务按需配置。 */
#common-tools-list,#presets-list,#ai-services-list .service-category-grid{align-items:start}
#new-ai-service-form .new-service-config-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#new-ai-service-form .new-service-config-body>.form-row,#new-ai-service-form .new-service-config-body>.provider-heading,#new-ai-service-form .new-service-config-body>.provider-switch,#new-ai-service-form .new-service-config-body>.provider-panel,#new-ai-service-form .new-service-config-body>button{grid-column:1/-1}
@media(max-width:700px){#new-ai-service-form .new-service-config-body{grid-template-columns:1fr}}

.creative-quality-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;grid-column:1/-1}.creative-quality-prices .service-card{min-width:0;margin:0}@media(max-width:900px){.creative-quality-prices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.creative-quality-prices{grid-template-columns:1fr}}

/* 八大管理分类：统一层级，独立展开收回。 */
.admin-navigation .nav-group{border:1px solid #3b3328;border-radius:12px;margin:8px 0;padding:0;overflow:hidden}
.admin-navigation .nav-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;font-size:14px;letter-spacing:.02em;background:linear-gradient(110deg,#b98d3319,transparent)}
.admin-navigation .nav-group>summary::-webkit-details-marker{display:none}
.admin-navigation .nav-group>summary::after{content:'＋';color:#b69a6f;font-size:16px}
.admin-navigation .nav-group[open]>summary::after{content:'−'}
.admin-navigation .nav-group[open]>summary{border-bottom:1px solid #3b3328;color:#f0d499}
.admin-navigation .nav-group .nav{width:calc(100% - 12px);margin:4px 6px;padding:10px 13px;border-radius:8px;font-size:13px;text-align:left}
.admin-navigation .website-management-link{display:flex;text-decoration:none;align-items:center}

.admin-page-fold{border:1px solid var(--line,#3b3328);border-radius:14px;overflow:hidden;background:rgba(20,20,18,.45)}
.admin-page-fold>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;color:#e4c894;background:linear-gradient(110deg,#b98d3315,transparent)}
.admin-page-fold>summary::-webkit-details-marker{display:none}
.admin-page-fold>summary .collapse-hint{font-size:12px;white-space:nowrap;color:#bda77f}
.admin-page-fold[open]>summary{border-bottom:1px solid #3b3328}
.admin-page-fold-body{padding:20px;min-width:0}
.admin-config-fold{margin-top:12px}
@media(max-width:700px){.admin-page-fold-body{padding:12px}.admin-page-fold>summary{padding:13px 14px}}

.finance-five-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}.finance-five-grid .service-card{min-width:0;margin:0;padding:16px}.finance-plan-card h3{overflow-wrap:anywhere}.finance-plan-card p{white-space:pre-wrap;overflow-wrap:anywhere}.plan-list-price{display:block;color:#dfba72;font-size:24px;margin:12px 0}.plan-list-actions{display:flex;gap:8px;margin-top:16px}.plan-list-actions button{flex:1;min-width:0;padding:8px}.finance-plan-dialog{width:min(680px,90vw);max-height:85vh;overflow:auto;background:#17191b;color:#eee;border:1px solid #8b7144;border-radius:18px;padding:24px}.finance-plan-dialog::backdrop{background:rgba(0,0,0,.65)}@media(max-width:1100px){.finance-five-grid{overflow-x:auto;grid-template-columns:repeat(5,minmax(160px,1fr));padding-bottom:8px}}

.dialog-return-bar{display:flex;justify-content:flex-start;margin-bottom:18px}.dialog-return-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #7e6b49;border-radius:10px;background:#25231e;color:#ead7af;padding:9px 18px;cursor:pointer;font-weight:600}.dialog-return-button:hover{background:#353024;border-color:#d8b56e}.dialog-return-button:focus-visible{outline:2px solid #d8b56e;outline-offset:3px}

/* 后台紧凑排版：缩小尺寸与留白，保留已有列数及移动端布局。 */
body{font-size:13px}
.sidebar{width:208px;padding:24px 16px}
main{margin-left:208px}
.brand{gap:9px;font-size:16px}.brand-mark{width:31px;height:35px;font-size:24px}
.nav-label{margin:30px 8px 14px}.sidebar-bottom{padding-top:20px}.admin-profile{margin:16px 0 10px}
.admin-navigation .nav-group{margin:6px 0;border-radius:9px}
.admin-navigation .nav-group>summary{padding:10px 11px;font-size:13px}
.admin-navigation .nav-group .nav{padding:8px 10px;margin:3px 6px;font-size:12px}
.topbar{height:60px;padding:0 28px}.topbar-right{gap:14px}
.page{padding:24px 28px 0}.page-heading{margin-bottom:20px}.page-heading h1{font-size:24px;margin:7px 0}
.page h2,dialog h2{font-size:18px}.page h3,dialog h3{font-size:15px;margin-top:0;margin-bottom:8px}
.primary,.outline{padding:9px 14px;font-size:12px}
.page label,dialog label{margin:12px 0;font-size:12px}
.page input,.page textarea,.page select,dialog input,dialog textarea,dialog select{padding:9px 10px;margin-top:6px;font-size:12px}
.page input[type=checkbox],dialog input[type=checkbox]{padding:0}
.page input[type=file]{padding:8px;font-size:11px}
.page textarea,dialog textarea{min-height:64px}
.page .form-row,dialog .form-row{gap:12px}
.service-card,.update-card{padding:16px;gap:10px;border-radius:12px}
.service-card header h3{font-size:15px}.service-card select[multiple]{min-height:96px}
.service-category,#ai-services-list .service-category{padding:14px;border-radius:14px}
.service-category-heading{margin-bottom:12px;padding-bottom:10px}
.service-config-grid,.service-category-grid,.service-grid,.prompt-admin-grid,.creative-quality-prices,.recharge-admin-grid{gap:12px}
#common-tools-list>.service-card,#presets-list>.service-card,.prompt-admin-grid .service-card,#ai-services-list .provider-service-card{padding:14px}
#ai-services-list .provider-service-card header h3{font-size:15px}
.provider-panel,#ai-services-list .provider-service-card .provider-panel{padding:10px;gap:10px}
.provider-switch button{padding:9px 11px}.provider-help{padding:8px 10px}
.model-config-collapse>summary{padding:10px 12px;font-size:12px}
.model-config-body{gap:10px;padding:0 12px 12px}
.admin-page-fold{border-radius:11px}.admin-page-fold>summary{padding:12px 15px;gap:12px}.admin-page-fold-body{padding:14px}
.finance-five-grid{gap:10px}.finance-five-grid .service-card{padding:12px;gap:8px}
.plan-list-price{font-size:21px;margin:8px 0}.plan-list-actions{margin-top:10px}
.recharge-tier-preview{padding:16px;gap:6px;border-radius:10px}.recharge-tier-preview strong{font-size:27px}
#finance-user-dialog form{gap:10px}
.hero{min-height:205px;padding:24px 26px}.hero h2{font-size:23px}.hero-visual{transform:scale(.8);transform-origin:center right}
.stats{gap:12px}.stats article{padding:16px}.stats strong{font-size:28px}
.update-summary{padding:18px}.update-summary h2{font-size:20px}.info-strip{padding:12px 16px}
.page th,.page td{padding:11px 12px;font-size:12px}.list-toolbar{margin-bottom:14px}
.balance-hero{padding:20px;gap:16px}.balance-hero h2{font-size:23px}.balance-card{min-height:140px;padding:20px}.balance-card strong{font-size:34px}
dialog{width:430px;padding:20px;max-height:88vh;overflow:auto}
.finance-plan-dialog{width:min(580px,90vw);padding:20px;border-radius:14px}
#finance-user-dialog{width:min(490px,calc(100vw - 30px))}
.dialog-return-bar{margin-bottom:12px}.dialog-return-button{padding:7px 13px;font-size:12px}.dialog-heading{margin-bottom:14px}.dialog-actions{gap:10px}.notice{padding:10px}
@media(max-width:1050px) and (min-width:721px){.sidebar{width:184px;padding:20px 12px}main{margin-left:184px}.page{padding:20px 20px 0}.topbar{padding:0 20px}}
@media(max-width:720px){.sidebar{width:100%;padding:14px;max-height:none}main{margin-left:0}.page{padding:16px 12px 0}.topbar{height:52px;padding:0 14px}.page-heading h1{font-size:21px}.admin-page-fold-body{padding:10px}.admin-page-fold>summary{padding:10px 12px}.hero{min-height:190px;padding:20px}.admin-navigation .nav-group .nav{width:calc(100% - 12px)}}

.finance-plan-frame{width:100%;min-width:0;grid-column:1/-1;border:1px solid #574628;border-radius:12px;background:#1c1914;overflow:hidden}.finance-plan-frame>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;list-style:none;color:var(--gold);cursor:pointer}.finance-plan-frame>summary::-webkit-details-marker{display:none}.finance-plan-frame[open]>summary{border-bottom:1px solid var(--line)}.finance-plan-frame .collapse-hint{font-size:11px;color:var(--muted)}.finance-plan-frame-body{padding:14px;min-width:0}.finance-plan-section{min-width:0}.finance-plan-section+.finance-plan-section{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.finance-plan-section>h2{font-size:16px;margin:0 0 12px}.finance-plan-section>.service-card{margin-bottom:14px}.finance-plan-section>.service-card+h2{font-size:13px;color:var(--muted);margin:16px 0 10px}
