/* static/support-chat.css */
[data-panel="support"] button {
  min-height: 34px;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  padding: 0 10px;
  background: #fff;
  color: #24332e;
  cursor: pointer;
}
[data-panel="support"] button:disabled {
  opacity: .5;
  cursor: default;
}
[data-panel="support"] [hidden], #supportAdminUnread[hidden] {
  display: none !important;
}
.support-admin-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.support-admin-toolbar input[type="search"], .support-admin-toolbar select {
  min-height: 36px;
  max-width: 100%;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  padding: 0 10px;
  background: #fff;
  color: #24332e;
}
.support-admin-toolbar label {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.support-admin-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  height: max(520px, calc(100dvh - 220px));
  border: 1px solid #dce2e5;
  background: #fff;
}
.support-admin-sidebar {
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #dce2e5;
}
#supportThreadList {
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}
[data-panel="support"] .support-thread {
  position: relative;
  display: block;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #edf0ee;
  width: 100%;
  text-align: left;
  padding: 12px;
}
[data-panel="support"] .support-thread.active {
  background: #e9f6ef;
  box-shadow: inset 3px 0 #16634c;
}
.support-thread strong {
  font-size: 14px;
  padding-right: 40px;
}
.support-thread p {
  font-size: 13px;
  color: #5d6d65;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 6px 0;
}
.support-thread small {
  font-size: 11px;
  color: #78827d;
}
.support-thread-unread, #supportAdminUnread {
  border-radius: 12px;
  background: #b93636;
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
}
.support-thread-unread {
  position: absolute;
  right: 12px;
  top: 12px;
}
.support-thread-pages {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid #dce2e5;
}
.support-admin-conversation {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  background: #f7f9f8;
}
.support-admin-conversation header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid #dce2e5;
  background: #fff;
}
.support-admin-conversation header strong {
  flex: 1 1 150px;
  min-width: 140px;
  overflow-wrap: anywhere;
}
#supportAdminMessages {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}
.support-admin-conversation .support-message {
  width: fit-content;
  max-width: 85%;
  margin-bottom: 14px;
}
.support-admin-conversation .support-message.mine {
  margin-left: auto;
}
.support-admin-conversation .support-message small {
  display: block;
  color: #68746f;
  font-size: 11px;
  line-height: 1.5;
  margin-bottom: 4px;
  overflow-wrap: anywhere;
}
.support-admin-conversation .support-message p {
  padding: 10px 12px;
  border: 1px solid #e1e7e4;
  border-radius: 6px;
  margin: 0;
  background: #fff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.6;
}
.support-admin-conversation .support-message.mine p {
  background: #e9f6ef;
  border-color: #cbe4d5;
}
#supportReplyForm {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  padding: 8px;
  background: #fff;
  border-top: 1px solid #dce2e5;
}
#supportReplyBody {
  box-sizing: border-box;
  flex: 1;
  min-width: 0;
  width: 0;
  height: 36px;
  min-height: 36px;
  max-height: 36px;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  padding: 7px 8px;
  resize: none;
  font: inherit;
  font-size: 14px;
  line-height: 20px;
  color: #24332e;
  background: #fff;
}
#supportReplyForm button {
  min-width: 52px;
  min-height: 36px;
  padding: 0 8px;
  background: #16634c;
  color: #fff;
  border-color: #16634c;
}
#supportAdminError {
  font-size: 13px;
  color: #a82e2e;
  overflow-wrap: anywhere;
}
#supportAdminOlder, #supportAdminNew {
  align-self: center;
  margin: 6px;
}
.support-admin-empty {
  text-align: center;
  color: #78827d;
  font-size: 14px;
}
@media (max-width: 900px) {
  .support-admin-layout {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
  }
  .support-admin-sidebar {
    border-right: 0;
    border-bottom: 1px solid #dce2e5;
    height: max(480px, calc(100dvh - 240px));
  }
  #supportThreadList {
    min-height: 80px;
  }
  .support-admin-conversation {
    height: max(480px, calc(100dvh - 120px));
  }
  .support-admin-layout:not(.has-thread) .support-admin-conversation {
    display: none;
  }
  .support-admin-layout.has-thread .support-admin-sidebar {
    display: none;
  }
  #supportThreadBack {
    display: block !important;
    font-size: 26px;
    padding: 0 8px;
  }
}
#supportThreadBack {
  display: none;
}
.support-composer-tools {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 6px;
  position: relative;
  min-height: 36px;
}
#supportReplyForm .support-composer-tools button {
  min-width: 36px;
  background: #fff;
  color: #44564d;
  border-color: #dce2e5;
}
#supportAdminEmoji {
  font-size: 22px;
  padding: 0 8px;
}
.support-emoji-picker {
  position: absolute;
  bottom: 44px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(6, 36px);
  gap: 4px;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  padding: 8px;
  background: #fff;
  z-index: 2;
  box-shadow: 0 4px 16px rgb(0 0 0 / 10%);
}
[data-panel="support"] .support-emoji-picker button {
  border: 0;
  padding: 0;
  font-size: 22px;
  width: 36px;
  height: 36px;
}
.support-draft-photo {
  position: absolute;
  bottom: 48px;
  left: 0;
  width: 66px;
  height: 54px;
  padding: 4px;
  background: #fff;
  border: 1px solid #dce2e5;
  border-radius: 6px;
}
.support-draft-photo img {
  width: 66px;
  height: 54px;
  object-fit: contain;
  background: #f4f7f5;
}
#supportReplyForm .support-draft-photo button {
  position: absolute;
  right: -4px;
  top: -5px;
  min-width: 22px;
  width: 22px;
  min-height: 22px;
  height: 22px;
  padding: 0;
  border-radius: 50%;
  font-size: 18px;
  background: #fff;
}
[data-panel="support"] .support-message-image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
  width: 260px;
  max-width: 100%;
  height: 200px;
  padding: 0;
  background: #fff;
  overflow: hidden;
}
.support-message-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.support-admin-conversation .support-delivery {
  text-align: right;
  margin-top: 4px;
}
.support-dispatch-dialog {
  box-sizing: border-box;
  width: min(480px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 24px;
  border: 1px solid #dce2e5;
  border-radius: 8px;
}
.support-dispatch-dialog::backdrop {
  background: rgb(0 0 0 / 42%);
}
.support-dispatch-dialog form, .support-dispatch-dialog label {
  display: grid;
  gap: 8px;
}
.support-dispatch-dialog form {
  gap: 16px;
}
.support-dispatch-dialog h2 {
  margin: 0;
  font-size: 18px;
}
.support-dispatch-dialog input, .support-dispatch-dialog select, .support-dispatch-dialog textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  font: inherit;
}
.support-dispatch-dialog textarea {
  resize: vertical;
}
.support-dispatch-dialog [hidden] {
  display: none;
}
.support-dispatch-dialog output {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.support-dispatch-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.support-dispatch-actions button {
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #dce2e5;
  border-radius: 6px;
  background: #fff;
}
.support-dispatch-actions button[type="submit"] {
  color: #fff;
  background: #16634c;
  border-color: #16634c;
}
.support-admin-conversation header {
  flex-wrap: wrap;
}
#supportClearBtn {
  color: #b93636;
}
/* static/maie-sim-admin.css */
.maie-admin .card {
  background: #fff;
  padding: 24px;
  border: 1px solid #e0e6ec;
  border-radius: 16px;
  margin-bottom: 20px;
}
.maie-admin .toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.maie-admin h2 {
  font-size: 18px;
  margin: 0 10px 0 0;
}
.maie-admin p {
  font-size: 12px;
  color: #718092;
  line-height: 1.8;
}
.maie-admin input,.maie-admin select,.maie-admin textarea {
  border: 1px solid #dce4ec;
  border-radius: 7px;
  padding: 9px;
  box-sizing: border-box;
  font: inherit;
  font-size: 12px;
}
.maie-admin input[type=checkbox] {
  width: auto;
  accent-color: #277f63;
}
.maie-admin label {
  display: block;
  font-size: 12px;
  margin: 9px 0;
  color: #455c70;
}
.maie-admin-settings {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
.maie-admin-settings label:first-child {
  display: grid;
  gap: 8px;
  min-width: 260px;
}
.maie-admin button {
  border: 1px solid #d6e6df;
  border-radius: 8px;
  padding: 10px 13px;
  background: #edf8f1;
  color: #246d53;
  font-size: 12px;
  cursor: pointer;
}
.maie-admin button:disabled {
  opacity: .5;
  cursor: default;
}
.maie-admin .table-wrap {
  overflow: auto;
}
.maie-admin table {
  border-collapse: collapse;
  width: 100%;
  min-width: 900px;
}
.maie-admin td,.maie-admin th {
  text-align: left;
  padding: 13px 10px;
  border-bottom: 1px solid #e8edf2;
  font-size: 12px;
  vertical-align: top;
}
.maie-admin small {
  display: block;
  line-height: 1.9;
  color: #8292a3;
  font-size: 11px;
}
.maie-admin td input[type=number] {
  width: 115px;
}
.maie-admin td details {
  min-width: 240px;
  max-width: 380px;
}
.maie-admin td details input,.maie-admin textarea {
  display: block;
  width: 100%;
  margin-top: 6px;
}
.maie-admin summary {
  cursor: pointer;
  font-size: 12px;
  color: #35745f;
}
.maie-admin pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 11px;
}
.maie-admin dialog {
  width: 480px;
  max-width: 90vw;
  border: 0;
  border-radius: 16px;
  padding: 24px;
  color: #284054;
}
.maie-admin dialog::backdrop {
  background: #19344a60;
}
.maie-admin dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 20px;
}
.maie-admin dialog label input:not([type=checkbox]) {
  display: block;
  width: 100%;
  margin-top: 8px;
}
.maie-admin-check {
  line-height: 1.8;
}
.maie-admin code {
  font-size: 11px;
  overflow-wrap: anywhere;
}
#maieAdminNotice {
  position: sticky;
  bottom: 10px;
  padding: 12px 16px;
  background: #eef8f3;
  color: #2b7259;
  border-radius: 10px;
  z-index: 5;
}
#maieAdminNotice:empty {
  display: none;
}
/* static/trxfast-admin.css */
.trx-admin .card {
  background: #fff;
  border: 1px solid #e2e7ec;
  border-radius: 15px;
  padding: 24px;
  margin-bottom: 20px;
}
.trx-admin h2 {
  font-size: 18px;
  margin: 0 10px 0 0;
}
.trx-admin p {
  font-size: 12px;
  line-height: 1.9;
  color: #7c8c9b;
}
.trx-admin .toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.trx-admin-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px 24px;
  max-width: 900px;
}
.trx-admin label {
  font-size: 12px;
  color: #455d71;
  display: grid;
  gap: 8px;
}
.trx-admin input {
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid #dce4eb;
  border-radius: 8px;
  padding: 10px;
  font: 12px/1.5 inherit;
}
.trx-admin input[type=checkbox] {
  accent-color: #99713b;
}
.trx-admin .trx-admin-switch {
  display: flex;
  align-items: center;
  gap: 9px;
}
.trx-admin button {
  border: 1px solid #e4d7c0;
  background: #fbf5e9;
  color: #8a6937;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  cursor: pointer;
}
.trx-admin button:disabled {
  opacity: .45;
  cursor: default;
}
.trx-admin table {
  border-collapse: collapse;
  min-width: 850px;
  width: 100%;
}
.trx-admin td,.trx-admin th {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #e6ecf1;
  padding: 14px 10px;
  font-size: 12px;
}
.trx-admin small {
  display: block;
  color: #8a99a6;
  font-size: 11px;
  line-height: 1.9;
}
.trx-admin code {
  font-size: 10px;
  overflow-wrap: anywhere;
}
.trx-admin .table-wrap {
  overflow: auto;
}
.trx-admin a {
  font-size: 11px;
  color: #8a6937;
}
.trx-admin dialog {
  border: 0;
  border-radius: 17px;
  padding: 26px;
  width: 480px;
  max-width: 90vw;
  color: #234052;
}
.trx-admin dialog::backdrop {
  background: #18364d60;
}
.trx-admin dialog input:not([type=checkbox]) {
  width: 100%;
}
.trx-admin .trx-admin-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  line-height: 1.9;
  margin-top: 18px;
}
.trx-admin dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 18px;
}
#trxAdminConfigState {
  font-size: 12px;
  color: #8a795c;
  margin-left: 18px;
}
#trxAdminNotice {
  position: sticky;
  bottom: 10px;
  background: #fcf6e9;
  color: #947342;
  border: 1px solid #ecdfc6;
  border-radius: 10px;
  padding: 12px 16px;
  z-index: 5;
}
#trxAdminNotice:empty {
  display: none;
}
/* 能量接口配置回归系统设置，支付参数与其他项目同页维护。 */
#apiProviderTron[hidden] {
  display: none!important;
}
#apiProviderTron {
  grid-column: 1/-1;
  min-width: 0;
}
#trxPaymentSettings {
  grid-column: 1/-1;
}
#apiProviderTron .card {
  margin-bottom: 16px;
}
#trxPaymentSettingsForm>button {
  margin-top: 16px;
}
#apiProviderTron label[hidden] {
  display: none!important;
}
.trx-admin .trx-admin-grid label:has(input[type=checkbox]) {
  display: flex;
  align-items: center;
  gap: 8px;
}
.trx-admin .trx-admin-grid input[type=checkbox] {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media(max-width:720px) {
  .trx-admin-grid {
    grid-template-columns: 1fr;
  }
}
/* static/admin-organization.css */
/* 原管理后台的统一标签、表格和设置容器。 */
[hidden] {
  display: none!important;
}
.admin-project-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e2e8f0;
}
.admin-project-tabs button {
  border: 1px solid #dbe3ed;
  background: #fff;
  color: #475569;
  border-radius: 8px;
  padding: 9px 18px;
  cursor: pointer;
}
.admin-project-tabs button.active {
  background: #fff7eb;
  color: #d47700;
  border-color: #ffb44d;
}
.admin-provider {
  min-width: 0;
}
.admin-provider>.card,.unified-api-config>.card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: none;
}
.admin-provider h2,.unified-api-config h2 {
  font-size: 17px;
  margin: 0 0 12px;
}
.admin-provider table {
  width: 100%;
  border-collapse: collapse;
}
.admin-provider th,.admin-provider td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}
.admin-provider .table-wrap {
  overflow: auto;
}
.admin-provider .toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}
.admin-provider .toolbar h2 {
  margin: 0;
  margin-right: auto;
}
.admin-settings-footer {
  display: flex;
  justify-content: flex-end;
  border-top: 1px solid #e2e8f0;
  padding-top: 16px;
  margin-top: 20px;
}
.unified-api-config {
  grid-column: 1/-1;
}
.unified-api-config>.card {
  margin: 0 0 16px;
}
.unified-api-config form>button[type=submit] {
  margin-top: 16px;
}
.admin-advanced {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  margin-top: 16px;
}
.admin-advanced>summary {
  padding: 16px;
  cursor: pointer;
  font-weight: 600;
}
.admin-advanced>.card {
  border: 0;
  margin: 0;
}
.user-wallet-lines {
  display: grid;
  gap: 7px;
  white-space: nowrap;
}
.user-wallet-lines strong {
  font-weight: 600;
}
.user-wallet-lines span {
  color: #617487;
  font-size: 13px;
}
.admin-service-notice:empty {
  display: none;
}
[data-panel=orders] .admin-order-kind-tabs {
  display: flex;
  width: auto;
  height: auto;
  flex-wrap: wrap;
  gap: 8px;
}
[data-panel=orders] .admin-order-kind-tabs button {
  min-height: 40px;
  padding: 8px 16px;
}
#apiProviderTabs.active {
  grid-template-columns: repeat(5,minmax(0,1fr));
}
.admin-provider button,.unified-api-config button {
  font: inherit;
  font-size: 13px;
  border: 1px solid #dfe5eb;
  background: #fff;
  color: #243344;
  border-radius: 6px;
  padding: 8px 12px;
}
.admin-provider button:disabled,.unified-api-config button:disabled {
  opacity: .5;
}
.admin-provider table td,.admin-provider table th {
  font-size: 13px;
  padding: 14px 12px;
}
.unified-api-config label {
  font-size: 13px;
  color: #455364;
}
.unified-api-config input:not([type=checkbox]),.admin-provider input:not([type=checkbox]),.admin-provider select {
  min-height: 38px;
  border: 1px solid #dfe5eb;
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
}
.unified-api-config .card {
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.unified-api-config h2 {
  font-size: 17px;
}
.unified-api-config p,.admin-provider p {
  font-size: 13px;
  line-height: 1.8;
}
@media(max-width:1000px) {
  #apiProviderTabs.active {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
.admin-service-notice,#maieApiNotice,#trxCallbackNotice,#trxPaymentNotice {
  padding: 12px 16px;
  border: 1px solid #e6eaf0;
  border-radius: 8px;
  background: #f8fafc;
  color: #526274;
  font-size: 13px;
  line-height: 1.7;
  margin-top: 16px;
}
#maieApiNotice:empty,#trxCallbackNotice:empty,#trxPaymentNotice:empty {
  display: none;
}
.admin-provider td[colspan] {
  text-align: center;
  color: #7c8794;
  padding: 32px 16px;
}
.maie-admin dialog,.trx-admin dialog {
  border: 1px solid #e2e7ec;
  border-radius: 12px;
  max-width: 540px;
  width: calc(100vw - 48px);
  padding: 24px;
  color: #243344;
}
.maie-admin dialog::backdrop,.trx-admin dialog::backdrop {
  background: #11182766;
}
.maie-admin dialog label,.trx-admin dialog label {
  font-size: 13px;
  line-height: 1.7;
}
.maie-admin dialog footer,.trx-admin dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid #e2e7ec;
  padding-top: 16px;
  margin-top: 20px;
}
/* static/product-consistency.css */
/* 以全球流量为统一商品管理样式，仅作用于商品管理。 */
.uniform-products .admin-provider>.card,.uniform-products .product-energy-container {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.uniform-products .admin-provider .table-panel {
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: auto;
  margin-bottom: 16px;
}
.uniform-products .admin-provider table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
}
.uniform-products .admin-provider th,.uniform-products .admin-provider td {
  height: 46px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  font-size: 13px;
  white-space: nowrap;
  vertical-align: middle;
}
.uniform-products .admin-provider th {
  color: #686f7c;
  background: #fafafa;
  font-weight: 600;
}
.uniform-products .admin-provider td {
  color: #23262d;
}
.uniform-products .admin-provider tr:last-child td {
  border-bottom: 0;
}
.uniform-products .admin-provider td[colspan] {
  height: 96px;
  text-align: center;
  color: var(--muted);
}
.uniform-products .admin-provider small {
  display: block;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
  margin: 3px 0;
  white-space: normal;
  max-width: 320px;
}
.uniform-products .admin-provider .toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
}
.uniform-products .admin-provider input:not([type=checkbox]),.uniform-products .admin-provider select,.uniform-products .admin-provider button {
  box-sizing: border-box;
  min-height: 38px;
  border: 1px solid #d0d5dd;
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  font: inherit;
  font-size: 13px;
  padding: 8px 12px;
}
.uniform-products .admin-provider button {
  cursor: pointer;
  white-space: nowrap;
}
.uniform-products .admin-provider button.primary {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.uniform-products .admin-provider button:disabled {
  opacity: .5;
  cursor: default;
}
.uniform-products .admin-provider input[type=search] {
  width: 250px;
}
.uniform-products .admin-provider .upstream-balance-band {
  padding: 12px 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.uniform-products .admin-provider .upstream-balance-band button {
  min-height: 34px;
  padding: 6px 10px;
}
.uniform-products .product-filterbar {
  align-items: end;
}
.uniform-products .hero-product-filters {
  display: contents;
}
.uniform-products .hero-product-filters label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}
.uniform-products .hero-product-filters select {
  width: 145px;
}
.uniform-products .hero-product-filters input {
  width: 115px;
}
.uniform-products .product-pager {
  justify-content: flex-end;
  padding-top: 10px;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
}
.uniform-products .product-tools {
  margin: 16px 0;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.uniform-products .product-tools>summary {
  cursor: pointer;
  color: var(--muted);
}
.uniform-products .product-tools[open]>summary {
  margin-bottom: 16px;
}
.uniform-product-dialog {
  border: 0;
  border-radius: 12px;
  width: 560px;
  max-width: calc(100vw - 48px);
  max-height: 85vh;
  overflow: auto;
  padding: 24px;
  color: var(--text);
  background: #fff;
}
.uniform-product-dialog::backdrop {
  background: #11182766;
}
.uniform-product-dialog h2 {
  font-size: 20px;
  margin: 0 0 12px;
}
.uniform-product-dialog p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.uniform-product-dialog .product-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.uniform-product-dialog label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13px;
}
.uniform-product-dialog label.check-line {
  flex-direction: row;
  align-items: center;
}
.uniform-product-dialog input:not([type=checkbox]),.uniform-product-dialog textarea {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  padding: 10px;
  border: 1px solid #d0d5dd;
  border-radius: 4px;
  font: inherit;
  font-size: 13px;
}
.uniform-product-dialog label:has(textarea) {
  grid-column: 1/-1;
}
.uniform-product-dialog .modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
  margin-top: 20px;
}
.uniform-product-dialog button {
  padding: 9px 18px;
  border: 1px solid #d0d5dd;
  border-radius: 4px;
  font: inherit;
  background: #fff;
  cursor: pointer;
}
.uniform-product-dialog button.primary {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
}
.uniform-product-dialog [role=status] {
  color: #b42318;
}
.uniform-product-dialog button:disabled {
  opacity: .5;
}
.uniform-products .admin-service-notice {
  display: none!important;
}
.uniform-products .product-feedback {
  margin: 0 0 16px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--muted);
  background: #fafafa;
  font-size: 13px;
  line-height: 1.7;
}
#uniformProductError:empty {
  display: none;
}
#uniformProductError[data-type=info] {
  color: var(--muted);
}
.uniform-products .product-instructions {
  padding: 12px 14px;
  margin: 0 0 16px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fafafa;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}
.uniform-products .product-instructions strong {
  display: block;
  color: var(--text);
  font-weight: 600;
  margin-bottom: 4px;
}
.uniform-products .product-instructions p {
  margin: 0;
  color: inherit;
  font-size: 13px;
  line-height: 1.8;
}
.uniform-products .product-empty {
  text-align: center;
  padding: 30px 14px;
  color: var(--muted);
  font-size: 13px;
}
.uniform-products .product-empty[hidden] {
  display: none!important;
}
.uniform-products .energy-upstream-summary {
  padding: 12px 0 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--line);
}
.uniform-products .energy-upstream-summary .toolbar {
  margin-bottom: 10px;
}
.uniform-products .energy-upstream-summary h2 {
  font-size: 13px;
  font-weight: 600;
  margin: 0 8px 0 0;
}
.uniform-products .energy-upstream-summary p {
  font-size: 13px;
  line-height: 1.8;
  margin: 6px 0;
  color: var(--muted);
}
.uniform-products .energy-balance-policy {
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-bottom: 0;
  border-top: 1px solid var(--line);
}
.uniform-products .energy-balance-policy-note {
  font-size: 12px!important;
  margin-top: 8px;
  color: var(--muted);
}
.realname-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}
.realname-badge.is-required {
  background: #fff3df;
  color: #9a4a00;
  border: 1px solid #f3cc8d;
}
.realname-badge.not-required {
  background: #eaf8ef;
  color: #17673b;
  border: 1px solid #b7dfc6;
}
.realname-badge.is-unknown {
  background: #f0f2f5;
  color: #5d6673;
  border: 1px solid #d5dae1;
}
.project-visibility-controls {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.project-visibility-controls .muted {
  font-size: 12px;
}
.project-visibility-controls {
  display: block;
}
.project-entry-switches {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
/* Compact service-entry cards, separate from the balance forms. */
body .uniform-products>.project-visibility-controls {
  display: block;
  padding: 16px 18px;
  margin: 0 0 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 2px 10px #17374703;
}
.project-entry-switches strong {
  font-size: 14px;
  white-space: nowrap;
}
.project-entry-switches p {
  margin: 0;
  line-height: 1.6;
  color: var(--muted);
}
.project-entry-order {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  list-style: none;
  max-width: none;
  padding: 0;
  margin: 12px 0 0;
}
.project-entry-order li {
  display: grid;
  grid-template-columns: 24px 1fr auto auto;
  align-items: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid #e2ebe9;
  border-radius: 9px;
  background: #f8fbfa;
  min-width: 0;
}
.project-entry-order .project-entry-rank {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  min-width: 0;
  margin: 0;
  border-radius: 6px;
  background: #e5f2ee;
  color: #197767;
  font-size: 12px;
  font-weight: 700;
}
.project-entry-toggle {
  grid-column: 2/-1;
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.project-entry-toggle input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--brand);
}
.project-entry-order button {
  padding: 4px 9px;
  margin: 3px 0 0;
  min-height: 28px!important;
  border: 1px solid #d6e2de;
  border-radius: 6px;
  background: #fff;
  font-size: 11px;
  color: #375f56;
  cursor: pointer;
}
.project-entry-order button:first-of-type {
  grid-column: 3;
}
.project-entry-order button:disabled {
  opacity: .35;
  cursor: default;
}
.project-entry-order .is-hidden-entry {
  background: #fafbfc;
  border-color: #e8edf0;
}
.project-entry-order .is-hidden-entry label {
  color: var(--muted);
}
/* All five providers share the same header, balance and catalog action placement. */
body .uniform-products .catalog-provider>.catalog-balance-band {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px 16px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.uniform-products .catalog-balance-band .upstream-balance-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-width: 0;
}
.uniform-products .catalog-balance-band .upstream-balance-summary>span:first-child {
  font-size: 12px;
  color: var(--muted);
}
.uniform-products .catalog-balance-band .catalog-balance-value {
  display: inline!important;
  max-width: none;
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
  font-weight: 700;
  color: #117b6a;
  font-variant-numeric: tabular-nums;
}
.uniform-products .catalog-balance-band small {
  display: inline;
  max-width: none;
  margin: 0;
  font-size: 11px;
  color: #80918e;
}
.uniform-products .catalog-balance-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
}
.uniform-products .catalog-balance-actions>button {
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 7px;
}
.uniform-products .catalog-balance-band .catalog-balance-value {
  order: 1;
}
.uniform-products .catalog-balance-band .upstream-balance-summary small {
  order: 2;
}
.catalog-balance-alert {
  position: relative;
  font-size: 12px;
}
.catalog-balance-alert>summary {
  cursor: pointer;
  list-style: none;
  padding: 8px 11px;
  color: #55746b;
  border: 1px solid #dce7e2;
  border-radius: 7px;
  background: #f9fcfa;
  white-space: nowrap;
}
.catalog-balance-alert[open] {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  max-width: 560px;
  background: #f8fbfa;
}
.catalog-balance-alert[open]>summary {
  border: 0;
  padding: 0 4px 0 0;
  background: transparent;
}
.catalog-balance-alert label {
  font-size: 12px;
  white-space: nowrap;
}
.catalog-balance-alert .upstream-balance-limit input {
  max-width: 100px;
}
.catalog-balance-alert .energy-balance-policy {
  border: 0!important;
  padding: 0!important;
  margin: 0!important;
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
}
.uniform-products .catalog-balance-band [data-balance-status]:empty {
  display: none;
}
.uniform-products .catalog-balance-band>[data-balance-status] {
  grid-column: 1/-1;
  font-size: 12px;
}
body .uniform-products .catalog-provider .catalog-filterbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 12px;
  padding: 0;
  background: transparent;
}
.uniform-products .catalog-filterbar>input[type=search] {
  width: clamp(210px,24vw,340px);
  flex: 1 1 220px;
  min-width: 160px;
}
.uniform-products .catalog-filterbar select {
  min-width: 112px;
  max-width: 155px;
}
.uniform-products .catalog-filterbar input:not([type=checkbox]),.uniform-products .catalog-filterbar select,.uniform-products .catalog-filterbar button {
  min-height: 36px;
  border-radius: 7px;
  font-size: 12px;
}
.uniform-products .catalog-filterbar>label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}
.uniform-products .catalog-filterbar>label:has(select) {
  font-size: 0;
}
.uniform-products .catalog-filterbar>label select {
  font-size: 12px;
}
.uniform-products .catalog-sync-area {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-left: auto;
  padding-left: 3px;
}
.uniform-products .catalog-sync-area button {
  min-width: 96px!important;
  box-shadow: 0 3px 8px #117c6a12;
}
.uniform-products .catalog-sync-time {
  font-size: 11px;
  color: #7a8e88;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.uniform-products .catalog-extra-tools {
  margin: 0 0 12px;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
}
.catalog-extra-tools>summary {
  cursor: pointer;
  width: max-content;
  padding: 3px 0;
}
.catalog-extra-tools[open] {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfc;
}
.catalog-extra-tools[open]>summary {
  margin-bottom: 9px;
}
.uniform-products .catalog-extra-tools .product-instructions {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.catalog-extra-fields {
  display: flex;
  align-items: end;
  gap: 12px;
  flex-wrap: wrap;
}
.catalog-extra-fields label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 11px;
}
.catalog-extra-fields input {
  max-width: 130px;
}
.catalog-sync-job {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.catalog-sync-job p {
  font-size: 12px;
  margin: 0 0 8px;
}
.catalog-sync-job:has(p:empty):not(:has(button:not([hidden]))):not(:has(progress:not([hidden]))) {
  display: none;
}
@media(max-width:1150px) {
  .project-entry-order {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .uniform-products .catalog-sync-area {
    margin-left: 0;
  }
}
@media(max-width:700px) {
  .project-entry-order {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .project-entry-switches {
    gap: 5px;
  }
  body .uniform-products .catalog-provider>.catalog-balance-band {
    grid-template-columns: 1fr;
    padding: 12px;
  }
  .uniform-products .catalog-balance-actions {
    justify-content: flex-start;
  }
  .uniform-products .catalog-filterbar>input[type=search] {
    flex-basis: 100%;
    width: 100%;
  }
  .uniform-products .catalog-sync-area {
    width: 100%;
    margin-top: 2px;
  }
  .catalog-balance-alert[open] {
    max-width: 100%;
  }
}
@media(max-width:420px) {
  .project-entry-order {
    grid-template-columns: 1fr;
  }
  .project-entry-order li {
    grid-template-columns: 24px minmax(0,1fr) auto auto;
  }
  .project-entry-order .project-entry-rank {
    grid-column: 1;
    grid-row: 1;
  }
  .project-entry-toggle {
    grid-column: 2;
    grid-row: 1;
  }
  .project-entry-order button {
    grid-row: 1;
    margin: 0;
  }
  .project-entry-order button:first-of-type {
    grid-column: 3;
  }
  .project-entry-order button:last-of-type {
    grid-column: 4;
  }
}
/* Expanded Hero tools occupy the space above the catalog, grouped by task. */
.uniform-products .catalog-hero-tools {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  display: grid;
  grid-template-columns: minmax(180px,.7fr) minmax(260px,1.3fr);
  gap: 12px 18px;
  align-items: start;
}
.uniform-products .catalog-hero-tools>summary {
  grid-column: 1/-1;
  font-weight: 600;
  cursor: default;
  list-style: none;
  margin: 0;
}
.uniform-products .catalog-hero-tools>summary::-webkit-details-marker {
  display: none;
}
.uniform-products .catalog-hero-tools .toolbar {
  margin: 0;
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.uniform-products .catalog-hero-tools .hero-bulk-pricing {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: center;
  padding-left: 18px;
  border-left: 1px solid var(--line);
}
.uniform-products .catalog-hero-tools .hero-bulk-pricing input {
  width: 92px;
  min-width: 70px;
  flex: none;
}
.uniform-products .catalog-hero-tools>details {
  margin: 0;
  min-width: 0;
}
.catalog-alert-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.catalog-alert-form label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}
.catalog-alert-form input[type=number] {
  width: 116px;
  min-width: 0;
}
.catalog-alert-form .check-line {
  white-space: nowrap;
}
.catalog-balance-band[hidden] {
  display: none!important;
}
@media(max-width:700px) {
  .uniform-products .catalog-hero-tools {
    grid-template-columns: 1fr;
  }
  .uniform-products .catalog-hero-tools .hero-bulk-pricing {
    grid-column: 1;
    grid-row: auto;
    padding: 12px 0 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}
.uniform-products .catalog-hero-tools>h3 {
  grid-column: 1/-1;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}
.uniform-products .catalog-hero-tools>#heroAdminRefresh {
  justify-self: start;
}
.uniform-products .catalog-hero-tools .toolbar {
  padding-top: 0;
  padding-bottom: 0;
}
.uniform-products .catalog-hero-tools>#heroSingleSync {
  margin: 0;
}
.uniform-products .catalog-hero-tools>#heroSingleSync>summary {
  margin-bottom: 0;
}
/* Product sync has one primary entry; bulk editing stays in one compact row. */
.uniform-products .catalog-hero-tools.catalog-bulk-only {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}
.uniform-products .catalog-bulk-only>h3 {
  margin-right: auto;
}
.uniform-products .catalog-bulk-only .hero-bulk-pricing {
  border: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.uniform-products .catalog-bulk-only [hidden] {
  display: none!important;
}
.catalog-pricing-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}
.catalog-pricing-badges:empty {
  display: none;
}
.catalog-pricing-badge {
  display: inline-flex;
  padding: 2px 6px;
  border-radius: 5px;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 600;
  background: #fff1d8;
  color: #8b5100;
}
.catalog-pricing-badge.is-new {
  background: #e4f5f2;
  color: #086b5c;
}
.catalog-pricing-badge.is-changed {
  background: #fff0e6;
  color: #a64612;
}
/* static/admin-feedback.css */
/* 站内反馈：清晰对比、窄屏适配；危险操作保留独立确认。 */
.field-error {
  margin: 6px 0 12px!important;
  color: #a23b30!important;
  font-size: 13px!important;
  line-height: 1.6!important;
  overflow-wrap: anywhere;
}
[aria-invalid="true"] {
  border-color: #b65046!important;
  outline-color: #b65046!important;
}
.admin-action-dialog {
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: 460px;
  max-height: 85dvh;
  margin: auto;
  padding: 0;
  border: 1px solid #dbe5e8;
  border-radius: 18px;
  background: #fff;
  color: #173747;
  overflow: auto;
  box-shadow: 0 20px 80px #102f4533;
}
.admin-action-dialog::backdrop {
  background: #102f4566;
  backdrop-filter: blur(3px);
}
.admin-action-dialog .admin-action-sheet {
  padding: 24px;
}
.admin-action-dialog h2 {
  margin: 0 0 14px;
  font-size: 19px;
}
.admin-action-dialog p {
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.admin-action-dialog textarea {
  box-sizing: border-box;
  width: 100%;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid #cbd9df;
  border-radius: 10px;
  resize: vertical;
  font: inherit;
  color: #173747;
  background: #fff;
}
.admin-action-dialog .admin-action-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}
.admin-action-dialog button {
  min-height: 42px;
  min-width: 88px;
  padding: 10px 18px;
  border: 1px solid #d2dfe4;
  border-radius: 10px;
  background: #f5f8fa;
  color: #173747;
  font: inherit;
  cursor: pointer;
}
.admin-action-dialog button.primary {
  background: #173e4b;
  color: white;
  border-color: #173e4b;
}
.admin-action-dialog button.danger {
  background: #a33c34;
  color: white;
  border-color: #a33c34;
}
#adminToast.admin-toast {
  position: fixed!important;
  inset: 24px 20px auto auto!important;
  box-sizing: border-box;
  max-width: min(440px,calc(100vw - 40px));
  width: max-content;
  margin: 0;
  padding: 15px 20px;
  border: 1px solid #cbdedc;
  border-left: 4px solid #24836f;
  border-radius: 12px;
  background: #fff;
  color: #173747;
  font-size: 14px;
  line-height: 1.65;
  box-shadow: 0 10px 38px #102e4026;
  z-index: 2147483647;
  pointer-events: none;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#adminToast[data-type="error"] {
  border-left-color: #b65046;
  background: #fff8f6;
  color: #8d3029;
}
#adminToast:not(.show) {
  visibility: hidden;
}
/* Delivery tables have no selection column: do not inherit the 44px checkbox width. */
[data-panel="orders"] .table-wrap:has(>table.delivery-order-table) {
  overflow-x: auto;
  max-width: 100%;
}
[data-panel="orders"] table.delivery-order-table {
  table-layout: fixed;
  width: 100%;
  min-width: 1160px;
}
[data-panel="orders"] table.delivery-order-table th {
  white-space: nowrap;
  width: auto;
}
[data-panel="orders"] table.delivery-order-table th:first-child {
  width: 240px;
}
[data-panel="orders"] table.delivery-order-table th:nth-child(2) {
  width: 280px;
}
[data-panel="orders"] table.delivery-order-table th:nth-child(3) {
  width: 130px;
}
[data-panel="orders"] table.delivery-order-table th:nth-child(4) {
  width: 180px;
}
[data-panel="orders"] table.delivery-order-table th:last-child {
  width: 140px;
}
[data-panel="orders"] table.delivery-order-table td {
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.65;
}
[data-panel="orders"] table.delivery-order-table td code {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
}
/* static/admin-workspace.css */
/* hejuo 管理工作区：一致的导航、操作、表格、编辑弹窗。 */
:root {
  --brand: #127568;
  --brand-dark: #0c5e55;
  --text: #173747;
  --muted: #607681;
  --line: #e1e9ed;
  --soft: #f4f7f8;
  --ok: #147d63;
  --danger: #bc4047;
  font-size: 14px;
}
.admin-shell {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
  padding: 24px 16px;
  background: #fff;
  border-right: 1px solid var(--line);
}
.brand {
  padding: 4px 12px 22px;
  font-size: 29px;
  letter-spacing: -1px;
  font-weight: 800;
  color: #173747;
}
.brand span:last-child {
  color: #14a68f;
}
.side-nav {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.admin-nav-section {
  display: grid;
  gap: 4px;
}
.admin-group-label {
  margin: 0 12px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #788b94;
  letter-spacing: 1px;
}
.side-nav button {
  width: 100%;
  text-align: left;
  display: flex;
  align-items: center;
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #506873;
  font-weight: 500;
  padding: 10px 14px;
  transition: background .15s,color .15s;
}
.side-nav button:hover {
  background: #f0f6f5;
  color: #125e55;
}
.side-nav button.active {
  color: #09695c;
  background: #e8f5f0;
  font-weight: 700;
  box-shadow: inset 3px 0 #189f88;
}
.workspace {
  padding: 26px 32px 48px;
  min-width: 0;
}
.topbar {
  position: relative;
  padding: 0 0 22px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--line);
  background: transparent;
  gap: 16px;
}
.topbar h1 {
  font-size: 25px;
  line-height: 1.3;
  letter-spacing: -.5px;
}
.topbar p {
  font-size: 13px;
  color: #607681;
  line-height: 1.7;
  margin-top: 8px;
}
.top-actions {
  gap: 8px;
}
button {
  line-height: 1.3;
  transition: background .15s,border-color .15s;
}
button:disabled {
  cursor: not-allowed;
  opacity: .5;
}
button:focus-visible,a:focus-visible {
  outline: 3px solid #55b9a7;
  outline-offset: 3px;
}
.top-actions button,.toolbar button,.modal-actions button,.admin-project-tabs button,.admin-provider button,.settings-tabs button,.report-export button,.report-filter>button,.report-card-head button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 14px;
  border: 1px solid #dbe5e8;
  border-radius: 8px;
  background: #fff;
  color: #214551;
  font-size: 13px;
  white-space: nowrap;
}
button.primary,.admin-provider button.primary {
  background: #127568;
  border-color: #127568;
  color: #fff;
}
button.primary:hover {
  background: #0d6257;
}
.danger,.danger-lite {
  color: #b23840!important;
}
.toolbar {
  gap: 10px;
  align-items: center;
  margin: 0 0 16px;
}
.toolbar input[type=search],.toolbar select {
  height: 40px;
  max-width: 100%;
  min-width: 130px;
  border: 1px solid #dbe5e8;
  border-radius: 8px;
  padding: 8px 12px;
  background: #fff;
  color: #214551;
}
.toolbar input[type=search] {
  flex: 1;
  max-width: 380px;
}
.admin-project-tabs {
  position: relative;
  display: flex;
  gap: 6px;
  padding: 6px;
  border: 1px solid #dfe9e8;
  border-radius: 11px;
  background: #eaf1f1;
  margin-bottom: 20px;
  width: fit-content;
  max-width: 100%;
}
.admin-project-tabs button {
  border: 0;
  background: transparent;
  color: #57717a;
  min-height: 38px;
}
.admin-project-tabs button.active {
  background: #fff;
  color: #0c6b5e;
  border: 0;
  box-shadow: 0 2px 6px #153e3e0c;
}
.panel,.report-card,.admin-provider>.card {
  border: 1px solid #e1e9ed;
  border-radius: 12px;
  box-shadow: 0 2px 4px #17374702;
  background: #fff;
}
.table-panel {
  overflow-x: auto;
}
.table-panel table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.table-panel th,.report-card th {
  background: #f7fafb;
  color: #677e88;
  font-weight: 600;
  font-size: 12px;
  white-space: nowrap;
}
.table-panel td,.table-panel th,.report-card td,.report-card th {
  padding: 14px 16px;
  border-bottom: 1px solid #edf1f3;
  line-height: 1.6;
  text-align: left;
}
.table-panel td {
  font-size: 13px;
  color: #264653;
}
.table-panel tbody tr:hover {
  background: #fbfdfd;
}
.table-panel tr:last-child td {
  border-bottom: 0;
}
.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.row-actions button {
  min-height: 32px;
  padding: 6px 10px;
  white-space: nowrap;
}
.upstream-balance-band {
  padding: 16px;
  border: 1px solid #e0eae8;
  background: #f8fcfa;
  border-radius: 11px;
  gap: 12px;
  margin-bottom: 18px;
}
.upstream-balance-summary {
  margin-right: auto;
}
.upstream-balance-summary strong {
  color: #0d6b5d;
}
.upstream-balance-toggle,.upstream-balance-limit {
  font-size: 12px;
}
.settings-tabs {
  display: grid!important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  padding: 0!important;
  margin: 0 0 24px;
  border: 0!important;
  background: transparent!important;
}
.admin-settings-section {
  display: flex;
  align-content: flex-start;
  gap: 6px;
  flex-wrap: wrap;
  padding: 14px;
  background: #edf3f4;
  border: 1px solid #e0e8eb;
  border-radius: 11px;
}
.admin-settings-section>.admin-group-label {
  flex: 0 0 100%;
  margin: 0 0 4px;
  color: #576d76;
}
.settings-tabs button {
  font-size: 12px;
  padding: 8px 11px;
  min-height: 34px;
  border-color: transparent;
  background: transparent;
}
.settings-tabs button.active {
  background: #fff;
  color: #086c5b;
  border-color: #cfe6df;
  font-weight: 600;
}
.settings-head {
  align-items: center;
  gap: 16px;
}
.settings-card {
  border-radius: 12px;
}
.settings-card-head h2 {
  font-size: 17px;
}
.settings-card-head span,.settings-head p {
  line-height: 1.8;
  color: #617984;
}
.modal,.uniform-product-dialog,.maie-admin dialog,.trx-admin dialog {
  color: #173747;
  border: 1px solid #dbe6e9;
  border-radius: 16px;
  padding: 25px;
  max-width: min(640px,calc(100vw - 40px));
  max-height: calc(100dvh - 48px);
  overflow: auto;
  box-shadow: 0 25px 80px #153b4324;
}
.modal::backdrop {
  background: #14323d66;
  backdrop-filter: blur(2px);
}
.modal h2 {
  font-size: 21px;
  margin: 0 0 18px;
}
.modal label {
  font-size: 13px;
  color: #425f6c;
}
.modal input:not([type=checkbox]):not([type=radio]),.modal select,.modal textarea {
  border: 1px solid #d9e4e8;
  border-radius: 8px;
  color: #173747;
  padding: 10px 12px;
  width: 100%;
  background: #fff;
}
.modal .modal-actions {
  position: sticky;
  bottom: -25px;
  margin: 22px -25px -25px;
  padding: 16px 25px;
  background: #fff;
  border-top: 1px solid #e3ebee;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.modal .modal-actions button {
  min-width: 88px;
  flex: none;
  transform: none;
  position: static;
  margin: 0;
}
.modal .check-line {
  display: flex;
  align-items: center;
  gap: 8px;
}
.modal .check-line input {
  margin: 0;
  width: 16px;
  height: 16px;
}
.admin-login-overlay {
  background: linear-gradient(135deg,#123342f5,#0f7567d9);
}
.admin-login-brand {
  font-style: normal;
  color: #147568;
}
.admin-login-card button {
  border-radius: 9px;
}
.admin-login-card input:focus {
  border-color: #38a18d;
  box-shadow: 0 0 0 3px #e1f2ed;
}
.section-kicker {
  color: #188471;
  font-size: 11px;
  letter-spacing: 1px;
  font-weight: 700;
}
.report-heading,.report-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.report-heading h2 {
  font-size: 23px;
  margin: 7px 0;
  color: #173747;
  letter-spacing: -.5px;
}
.report-heading p {
  font-size: 13px;
  color: #6b7f88;
  margin: 0;
}
.report-export {
  display: flex;
  align-items: center;
  gap: 14px;
}
.report-export span {
  font-size: 12px;
  color: #708590;
}
.report-filter {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 22px 0;
}
.report-period-tabs {
  display: flex;
  gap: 4px;
  background: #e8eff1;
  border-radius: 9px;
  padding: 4px;
}
.report-period-tabs button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 9px 15px;
  color: #607985;
  font-size: 13px;
}
.report-period-tabs button.active {
  background: #fff;
  color: #0b705f;
  box-shadow: 0 1px 4px #183a4310;
  font-weight: 600;
}
.report-filter label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #617985;
  font-size: 12px;
}
.report-filter input {
  height: 38px;
  border: 1px solid #dce6e9;
  border-radius: 8px;
  background: #fff;
  padding: 7px 10px;
  color: #284b58;
}
.report-timezone {
  font-size: 11px;
  color: #7b8e97;
  margin-left: auto;
}
.report-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.report-metric {
  padding: 19px 20px;
  background: #fff;
  border: 1px solid #e0e9ed;
  border-radius: 12px;
  min-width: 0;
}
.report-metric>span {
  font-size: 12px;
  color: #617984;
  font-weight: 500;
}
.report-metric>strong {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 29px;
  letter-spacing: -.7px;
  color: #173747;
  margin: 13px 0 9px;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.report-metric small {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  color: #748993;
}
.report-metric p {
  font-size: 11px;
  color: #85969f;
  line-height: 1.6;
  margin: 0;
}
.report-metric.is-primary {
  background: #143b47;
  border-color: #143b47;
}
.report-metric.is-primary>strong {
  color: #fff;
}
.report-metric.is-primary>span,.report-metric.is-primary p,.report-metric.is-primary small {
  color: #add8d1;
}
.report-lower {
  display: grid;
  grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr);
  gap: 18px;
  margin: 20px 0;
}
.report-card {
  min-width: 0;
  padding: 20px;
}
.report-card-head {
  margin-bottom: 16px;
}
.report-card-head h3 {
  font-size: 17px;
  margin: 6px 0 0;
}
.report-card-head>span {
  font-size: 11px;
  color: #81959d;
}
.report-queue {
  display: grid;
  gap: 2px;
}
.report-queue button {
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf2f3;
  padding: 14px 0;
  color: #4c6975;
  text-align: left;
}
.report-queue button strong {
  margin-left: auto;
  font-size: 21px;
  color: #126e60;
  font-variant-numeric: tabular-nums;
}
.report-queue button:last-child {
  border-bottom: 0;
}
.report-table-wrap {
  overflow: auto;
}
.report-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  white-space: nowrap;
  font-size: 12px;
}
.report-table-wrap td {
  font-variant-numeric: tabular-nums;
}
.report-card td,.report-card th {
  padding: 11px 12px;
}
.report-basis {
  margin: 16px 0 0;
  color: #7c909b;
  font-size: 11px;
  line-height: 1.9;
}
#adminReportError {
  padding: 13px 16px;
  border-radius: 8px;
  border: 1px solid #f2d8cc;
  background: #fff6f1;
  color: #9c5034;
}
.report-loading {
  grid-column: 1/-1;
  padding: 24px;
  text-align: center;
  color: #6c858d;
}
@media(min-width:1600px) {
  .workspace {
    padding-left: 42px;
    padding-right: 42px;
  }
  .report-metrics {
    gap: 18px;
  }
}
@media(max-width:1150px) {
  .admin-shell {
    grid-template-columns: 190px minmax(0,1fr);
  }
  .workspace {
    padding: 24px;
  }
  .report-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .settings-tabs {
    grid-template-columns: 1fr!important;
  }
  .report-timezone {
    margin-left: 0;
  }
}
@media(max-width:760px) {
  .admin-shell {
    display: block;
  }
  .sidebar {
    position: relative;
    height: auto;
    padding: 14px;
  }
  .brand {
    padding: 0 8px 12px;
  }
  .side-nav {
    display: flex;
    flex-direction: row;
    overflow: auto;
    gap: 12px;
  }
  .admin-nav-section {
    display: flex;
    flex-shrink: 0;
    gap: 4px;
  }
  .admin-nav-section>.admin-group-label {
    display: none;
  }
  .side-nav button {
    width: auto;
    white-space: nowrap;
    min-height: 36px;
    padding: 8px 10px;
  }
  .workspace {
    padding: 18px 14px;
  }
  .topbar {
    align-items: flex-start;
  }
  .topbar h1 {
    font-size: 22px;
  }
  .topbar p {
    max-width: 280px;
  }
  .report-heading {
    align-items: flex-start;
  }
  .report-export {
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }
  .report-heading h2 {
    font-size: 20px;
  }
  .report-metrics {
    gap: 10px;
  }
  .report-metric {
    padding: 15px 13px;
  }
  .report-metric>strong {
    font-size: 24px;
  }
  .report-lower {
    grid-template-columns: 1fr;
  }
  .report-card {
    padding: 15px;
  }
  .admin-project-tabs {
    width: 100%;
    flex-wrap: wrap;
  }
  .report-filter {
    gap: 10px;
  }
  .report-period-tabs button {
    padding: 8px 12px;
  }
}
.report-profit-metrics {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
  margin-bottom: 16px;
}
.report-profit-metrics .profit-usd {
  background: #123c45;
  border-color: #123c45;
}
.report-profit-metrics .profit-trx {
  background: #22485e;
  border-color: #22485e;
}
.profit-usd>strong,.profit-trx>strong {
  color: #fff;
}
.profit-usd>span,.profit-usd p,.profit-usd small,.profit-trx>span,.profit-trx p,.profit-trx small {
  color: #b9dcd5;
}
.report-trends {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 20px;
}
.report-trends svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 140px;
}
.report-trends svg text {
  fill: #82949e;
  font-size: 10px;
}
.profit-chart-legend {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  font-size: 11px;
  color: #637e88;
}
.profit-chart-legend span {
  display: flex;
  align-items: center;
  gap: 5px;
}
.profit-chart-legend span:last-child {
  margin-left: auto;
}
.profit-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}
.chart-empty {
  padding: 50px 0;
  text-align: center;
  color: #8b9ca4;
  font-size: 12px;
}
@media(max-width:1150px) {
  .report-profit-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .report-trends {
    grid-template-columns: 1fr;
  }
}
@media(max-width:760px) {
  .report-profit-metrics {
    gap: 10px;
  }
}
.brand {
  font-style: normal;
  margin: 0;
  line-height: 1;
}
.side-nav button.active,.side-nav button:hover {
  color: #09695c;
  background: #e8f5f0;
}
.admin-report {
  min-width: 0;
}
.report-card table {
  min-width: 0;
}
.report-profit-metrics .report-metric p {
  white-space: pre-line;
  line-height: 1.8;
}
.table-panel .select-col {
  width: 42px;
  min-width: 42px;
}
button.order-number-copy {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  background: transparent;
  padding: 3px 0;
  min-height: 28px;
  color: #336d7b;
  font: 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
  white-space: nowrap;
  cursor: pointer;
}
button.order-number-copy:hover {
  color: #08715f;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 设置页采用整行分组导航，解除旧版窄侧栏网格限制。 */
[data-panel="settings"].active {
  display: block;
  min-width: 0;
}
[data-panel="settings"] .settings-tabs {
  position: static;
  width: 100%;
  min-width: 0;
  max-width: none;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 18px 0 24px!important;
  box-sizing: border-box;
}
[data-panel="settings"] .admin-settings-section {
  min-width: 0;
  align-items: flex-start;
  align-content: flex-start;
}
[data-panel="settings"] .admin-group-label {
  white-space: nowrap;
  word-break: normal;
  letter-spacing: 1px;
}
[data-panel="settings"] .settings-tabs button {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
  padding: 8px 11px;
  white-space: nowrap;
  text-align: center;
  height: auto;
  line-height: 1.4;
}
[data-panel="settings"] .settings-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}
[data-panel="settings"] .settings-grid {
  width: 100%;
  min-width: 0;
}
@media(max-width:1150px) {
  [data-panel="settings"] .settings-tabs {
    grid-template-columns: 1fr;
  }
}
.report-admin-funds {
  margin-top: 20px;
}
.report-fund-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.report-fund-summary>div {
  display: grid;
  gap: 9px;
  padding: 15px;
  background: #f6faf9;
  border-radius: 9px;
}
.report-fund-summary span {
  color: #617984;
  font-size: 12px;
}
.report-fund-summary strong {
  font-variant-numeric: tabular-nums;
  font-size: 18px;
}
.report-fund-summary small {
  font-size: 10px;
  color: #7b919a;
  font-weight: 400;
}
#userEditDialog .form-hint {
  grid-column: 1/-1;
  line-height: 1.8;
  color: #667f89;
  font-size: 12px;
}
.side-nav #supportAdminUnread {
  margin-left: auto;
}
@media(max-width:760px) {
  .report-fund-summary {
    grid-template-columns: 1fr;
  }
}
.payment-qr-upload {
  margin-top: 12px;
}
.payment-qr-upload button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border: 1px solid #c9ded9;
  border-radius: 8px;
  background: #edf7f3;
  color: #0c6b5e;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.payment-qr-upload [role="status"] {
  font-size: 12px;
  color: #506873;
  line-height: 1.7;
}
/* static/site-themes-admin.css */
.site-theme-options {
  border: 0;
  padding: 0;
  margin: 18px 0;
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(155px,1fr));
  gap: 14px;
}
.site-theme-options legend {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 14px;
}
.site-theme-option {
  position: relative;
  display: flex!important;
  flex-direction: column;
  gap: 9px;
  padding: 14px!important;
  border: 1px solid #dce5e9;
  border-radius: 14px;
  cursor: pointer;
  background: #fff;
}
.site-theme-option:has(input:checked) {
  border-color: #168876;
  box-shadow: 0 0 0 2px #16887622;
}
.site-theme-option:has(input:focus-visible) {
  outline: 2px solid #168876;
  outline-offset: 3px;
}
.site-theme-option input {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 16px;
  height: 16px;
  accent-color: #168876;
}
.site-theme-option strong {
  font-size: 14px;
  color: #173747;
}
.site-theme-option small {
  font-size: 12px;
  color: #526c7b;
}
.site-theme-swatch {
  display: block;
  position: relative;
  height: 92px;
  margin-top: 18px;
  background: var(--palette-soft);
  border-radius: 9px;
  overflow: hidden;
  padding: 10px;
  box-sizing: border-box;
}
.site-theme-swatch i {
  display: block;
  height: 34px;
  background: var(--palette-ink);
  border-radius: 5px;
}
.site-theme-swatch b {
  position: absolute;
  right: 18px;
  top: 20px;
  width: 20px;
  height: 13px;
  background: var(--palette-accent);
  border-radius: 4px;
}
.site-theme-swatch em {
  display: block;
  height: 24px;
  margin-top: 8px;
  background: var(--palette-mint);
  border: 1px solid #ffffff;
  border-radius: 5px;
}
@media(max-width:520px) {
  .site-theme-options {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
body .site-theme-option input[type="radio"] {
  appearance: auto!important;
  position: absolute!important;
  inset: 12px 12px auto auto!important;
  width: 16px!important;
  min-width: 16px!important;
  max-width: 16px!important;
  height: 16px!important;
  min-height: 16px!important;
  max-height: 16px!important;
  margin: 0!important;
  padding: 0!important;
  box-shadow: none!important;
  transform: none!important;
  accent-color: #168876;
}
/* static/gosim-modern-admin.css */
/* Gosim administration: desktop workspace and consistent orange controls. */
:root:root {
  --brand: #ff9200!important;
  --brand-dark: #a85400!important;
  --text: #302c27!important;
  --muted: #82796e!important;
  --line: #e9e4dc!important;
  --soft: #f7f7f8!important;
  --panel: #fff!important;
  --admin-side: 210px;
  font-size: 14px;
}
html {
  overflow-x: clip;
}
html body {
  margin: 0;
  background: #f7f7f8;
  color: var(--text);
  font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
  line-height: 1.5;
}
html body *,html body *:before,html body *:after {
  box-sizing: border-box;
}
html body .admin-shell {
  display: grid;
  grid-template-columns: var(--admin-side) minmax(0,1fr);
  min-height: 100vh;
}
html body .sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: var(--admin-side);
  height: 100vh;
  height: 100dvh;
  padding: 24px 12px 18px;
  overflow: hidden;
  border: 0;
  border-right: 1px solid var(--line);
  background: #fff;
  z-index: 30;
}
html body .brand {
  flex: none;
  padding: 0 12px 22px;
  line-height: 1;
}
html body .brand img {
  display: block;
  width: 160px;
  max-width: 100%;
  height: 46px;
  object-fit: contain;
  object-position: left;
}
html body .side-nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  max-height: none;
  scrollbar-width: thin;
}
html body .admin-nav-section {
  display: grid;
  gap: 3px;
  flex: none;
}
html body .side-nav .admin-group-label {
  display: block;
  margin: 17px 12px 5px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #a39480;
}
html body .side-nav button {
  display: flex;
  align-items: center;
  width: 100%;
  flex: none;
  min-height: 39px;
  padding: 9px 12px;
  gap: 8px;
  text-align: left;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #71675b;
  white-space: normal;
  font-size: 13px;
  line-height: 1.5;
  box-shadow: none;
}
html body .side-nav button:hover {
  background: #fff8ec;
  color: #ac5d00;
}
html body .side-nav button.active {
  background: #fff0d8;
  color: #a85400;
  font-weight: 700;
  box-shadow: none;
}
html body .workspace {
  min-width: 0;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  padding: 24px 28px 44px;
}
html body .workspace>.topbar {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 22px;
  padding: 0 0 20px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
html body .topbar h1 {
  font-size: 23px;
  line-height: 1.4;
  letter-spacing: -.4px;
  margin: 0;
  color: #302c27;
}
html body .topbar p {
  font-size: 12px;
  line-height: 1.7;
  margin: 5px 0 0;
  color: #8a8073;
}
html body :is(.top-actions,.toolbar,.panel-head,.settings-head,.settings-card-head,.report-card-head) {
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}
html body :is(.top-actions,.toolbar,.row-actions,.modal-actions,.admin-action-buttons) button {
  flex-shrink: 0;
}
html body button {
  font-family: inherit;
  cursor: pointer;
}
html body :is(.top-actions,.toolbar,.row-actions,.modal-actions,.admin-action-buttons,.admin-provider,.settings-tabs,.admin-project-tabs,.report-export,.report-period-tabs) button,html body dialog button {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #e7dfd3;
  border-radius: 7px;
  background: #fff;
  color: #675745;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}
html body button:hover:not(:disabled) {
  border-color: #e8be82;
  background: #fff8ed;
}
html body button.primary,html body .admin-provider button.primary,html body .admin-login-card button.primary,html body button.product-workspace-sync {
  background: #ff9200;
  color: #2e2418;
  border-color: #ff9200;
  font-weight: 650;
  box-shadow: none;
}
html body button.primary:hover:not(:disabled) {
  background: #ed8500;
  border-color: #ed8500;
}
html body :is(.danger,.danger-lite) {
  color: #b43d3d!important;
}
html body .admin-action-dialog button.danger {
  background: #b43d3d;
  color: #fff!important;
  border-color: #b43d3d;
}
html body button:disabled {
  opacity: .48;
  cursor: not-allowed;
}
html body :is(input,select,textarea) {
  font-family: inherit;
  color: #3f382f;
  border-color: #e4ddd2;
  border-radius: 7px;
  max-width: 100%;
  min-width: 0;
}
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) {
  min-height: 36px;
  padding: 8px 10px;
  font-size: 13px;
  background: #fff;
}
html body textarea {
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.7;
  resize: vertical;
}
html body :is(input[type=checkbox],input[type=radio]) {
  accent-color: #e88b0e;
}
html body :is(button,a,input,select,textarea):focus-visible {
  outline: 2px solid #ed9b2c;
  outline-offset: 2px;
  box-shadow: none;
}
html body :is(input,textarea,select):focus {
  border-color: #e9a341;
  box-shadow: 0 0 0 2px #ffb3431a;
  outline: none;
}
html body [aria-invalid=true] {
  border-color: #bc4047!important;
}
html body :is(.panel,.card,.table-panel,.report-card,.settings-card,.admin-workspace-panel) {
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
  min-width: 0;
}
html body :is(.panel-head,.settings-card-head) {
  padding: 15px 18px;
  border-bottom-color: #eee9e2;
}
html body :is(.panel-head,.settings-card-head) h2 {
  font-size: 16px;
  margin: 0;
}
html body .toolbar {
  display: flex;
  align-items: center;
  margin: 0 0 14px;
}
html body .toolbar input[type=search] {
  width: 260px;
  max-width: 100%;
  flex: 0 1 320px;
}
html body :is(.table-panel,.table-wrap,.report-table-wrap) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #d5c6b1 transparent;
}
html body :is(.table-panel,.table-wrap)>table {
  width: 100%;
  border-collapse: collapse;
  min-width: 740px;
}
html body :is(.table-panel,.table-wrap,.report-card) :is(td,th) {
  padding: 9px 12px;
  border-bottom: 1px solid #efebe5;
  text-align: left;
  font-size: 12px;
  line-height: 1.6;
  vertical-align: middle;
  color: #4c4439;
}
html body :is(.table-panel,.table-wrap,.report-card) th {
  background: #faf8f4;
  color: #8a7a65;
  font-weight: 600;
  white-space: nowrap;
}
html body :is(.table-panel,.table-wrap) tbody tr:hover {
  background: #fffcf6;
}
html body :is(.table-panel,.table-wrap) td {
  overflow-wrap: anywhere;
}
html body :is(.table-panel,.table-wrap) td:last-child:has(.row-actions),html body .catalog-actions-table td:last-child:not([colspan]) {
  position: sticky;
  right: 0;
  z-index: 2;
  background: #fff;
  box-shadow: -5px 0 10px -8px #5b402f66;
}
html body :is(.table-panel,.table-wrap) th:last-child {
  background: #faf8f4;
}
html body .row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 74px;
}
html body .row-actions button {
  min-height: 29px;
  padding: 4px 8px;
  font-size: 12px;
}
html body [data-panel=orders] .table-panel {
  overflow-x: auto;
}
html body [data-panel=orders] table {
  min-width: 1000px;
}
html body [data-panel=orders] th {
  position: static;
}
html body [data-panel=orders] .row-actions {
  flex-direction: column;
}
html body :is(.admin-project-tabs,.admin-product-workspace-tabs,.admin-order-kind-tabs,.report-period-tabs) {
  position: static;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  gap: 5px;
  padding: 5px;
  margin-bottom: 16px;
  border: 1px solid #f0e3d0;
  border-radius: 9px;
  background: #fff6e7;
  box-shadow: none;
}
html body :is(.admin-project-tabs,.admin-product-workspace-tabs,.admin-order-kind-tabs,.report-period-tabs) button {
  background: transparent;
  border-color: transparent;
  color: #8c7860;
}
html body :is(.admin-project-tabs,.admin-product-workspace-tabs,.admin-order-kind-tabs,.report-period-tabs,.settings-tabs) button.active,html body .admin-workspace-tab.active {
  background: #fff;
  color: #ac5900;
  border-color: #f1d4a9;
  box-shadow: none;
}
html body .settings-tabs {
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  gap: 12px;
  margin-bottom: 18px;
}
html body .admin-settings-section {
  background: #fff;
  border: 1px solid var(--line);
  padding: 12px;
  border-radius: 10px;
}
html body .admin-settings-section>.admin-group-label {
  color: #a17c46;
  font-size: 11px;
}
html body .settings-tabs button {
  min-height: 32px;
  padding: 6px 9px;
  font-size: 12px;
}
html body :is(.settings-card,.admin-provider>.card) {
  padding: 20px;
}
html body :is(.settings-grid,.mail-settings-grid,.product-edit-grid) {
  gap: 14px;
  min-width: 0;
}
html body :is(.settings-grid,.mail-settings-grid,.product-edit-grid)>label {
  min-width: 0;
  font-size: 12px;
  gap: 6px;
  color: #756651;
}
html body :is(.upstream-balance-band,.admin-settings-footer,.project-visibility-controls) {
  background: #fffcf6;
  border-color: #f0e3d0;
  border-radius: 9px;
  padding: 12px 14px;
  gap: 10px;
  flex-wrap: wrap;
}
html body .upstream-balance-summary strong {
  color: #b86a00;
}
html body .stats-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-bottom: 20px;
}
html body .stats-grid article {
  padding: 18px;
  border: 1px solid var(--line);
  border-top: 3px solid #ffba5a;
  border-radius: 10px;
  background: #fff;
  min-width: 0;
}
html body .stats-grid article strong {
  display: block;
  margin-top: 7px;
  font-size: 27px;
  color: #3c3021;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
html body .stats-grid article span {
  color: #8d7c66;
  font-size: 12px;
}
html body .report-metric {
  border-color: var(--line);
  border-radius: 10px;
}
html body .report-metric.is-primary {
  background: linear-gradient(110deg,#4c321e,#855324);
  border-color: #795020;
}
html body .report-metric.is-primary :is(span,p,small) {
  color: #f0d6ae;
}
html body :is(.report-heading h2,.report-metric strong,.report-queue button strong,.section-kicker) {
  color: #9f5c00;
}
html body .report-metric.is-primary strong {
  color: #fff;
}
html body dialog {
  color: #45392b;
  background: #fff;
  border: 1px solid #e8dfd1;
  border-radius: 13px;
  max-width: calc(100vw - 40px);
  max-height: calc(100dvh - 40px);
  box-shadow: 0 18px 70px #36251026;
}
html body dialog::backdrop {
  background: #30271f66;
  backdrop-filter: blur(3px);
}
html body :is(.modal-actions,.admin-action-buttons,.maie-admin dialog footer,.trx-admin dialog footer) {
  gap: 8px;
  flex-wrap: wrap;
  background: #fff;
  border-color: #ece4d9;
}
html body dialog :is(h2,h3) {
  color: #3c3021;
}
html body .admin-action-dialog {
  padding: 0;
}
html body .admin-action-dialog .admin-action-sheet {
  padding: 24px;
}
html body .admin-action-dialog .admin-action-buttons {
  position: sticky;
  bottom: 0;
  padding-top: 12px;
}
html body .admin-login-overlay {
  background: linear-gradient(120deg,#f9edd9,#faf8f3 55%,#fff4df);
}
html body .admin-login-card {
  width: 420px;
  max-width: calc(100vw - 32px);
  border: 1px solid #eee0ca;
  border-radius: 16px;
  box-shadow: 0 18px 65px #76532212;
  padding: 30px;
}
html body .admin-login-card h2 {
  color: #84541a;
  font-size: 23px;
}
html body .admin-login-card input:focus {
  border-color: #e9a341;
  box-shadow: 0 0 0 2px #ffb3431a;
}
html body #adminToast.admin-toast {
  border-left-color: #ed9a25;
  color: #5b4730;
  box-shadow: 0 9px 30px #43321e18;
}
html body #adminToast[data-type=error] {
  border-left-color: #b65046;
  color: #8d3029;
}
html body .site-theme-option:has(input:checked) {
  border-color: #eca740;
  box-shadow: 0 0 0 2px #eca74022;
}
html body .site-theme-option input[type=radio] {
  accent-color: #e88b0e;
}
html body .admin-boot-card {
  border-color: #eee0cb;
  border-top: 4px solid #ff9200;
  color: #4c3c28;
}
html body .admin-boot-brand,html body .admin-boot-brand span {
  color: #d77b00;
}
html body .admin-boot-progress:after {
  background: #ff9200;
}
html body :is([hidden],.admin-hidden) {
  display: none!important;
}
@media(min-width:1600px) {
  html body .workspace {
    padding: 28px 36px 48px;
  }
}
@media(max-width:1150px) {
  html body {
    --admin-side: 186px;
  }
  html body .sidebar {
    padding-inline: 10px;
  }
  html body .brand {
    padding-inline: 8px;
  }
  html body .workspace {
    padding: 22px 20px 38px;
  }
  html body .settings-tabs {
    grid-template-columns: 1fr!important;
  }
  html body .stats-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px) {
  html body .admin-shell {
    display: block;
  }
  html body .sidebar {
    position: relative;
    width: 100%;
    height: auto;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  html body .brand {
    padding: 0 0 12px;
  }
  html body .brand img {
    width: 140px;
    height: 38px;
  }
  html body .side-nav {
    flex-direction: row;
    gap: 5px;
    overflow-x: auto;
    padding: 0 0 4px;
  }
  html body .admin-nav-section {
    display: flex;
    flex-shrink: 0;
    gap: 4px;
  }
  html body .side-nav .admin-group-label {
    display: none;
  }
  html body .side-nav button {
    width: auto;
    white-space: nowrap;
    padding: 8px 11px;
  }
  html body .workspace {
    padding: 18px 14px 32px;
  }
  html body .workspace>.topbar {
    align-items: flex-start;
    gap: 12px;
  }
  html body .topbar h1 {
    font-size: 21px;
  }
  html body .top-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
  }
  html body .stats-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  html body :is(.split,.report-lower) {
    grid-template-columns: minmax(0,1fr);
  }
  html body .toolbar input[type=search] {
    flex: 1 1 200px;
  }
  html body .admin-project-tabs {
    flex-wrap: nowrap;
    overflow: auto;
  }
  html body .admin-project-tabs button {
    flex-shrink: 0;
  }
  html body :is(.settings-card,.admin-provider>.card) {
    padding: 15px;
  }
  html body .modal-actions button {
    min-height: 38px;
  }
}
html body .esim-upstream-name {
  display: block;
  max-width: 380px;
  margin: 3px 0;
  color: #997345;
  font-size: 11px;
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: anywhere;
}
html body #uniformProductInfo {
  white-space: pre-line;
  overflow-wrap: anywhere;
}
html body [data-panel="settings"].active {
  display: block;
}
html body [data-panel="settings"] .settings-tabs {
  position: static;
  display: grid!important;
  width: 100%;
  grid-template-columns: repeat(3,minmax(0,1fr))!important;
  margin: 18px 0;
}
html body .home-project-copy-editor {
  grid-column: 1/-1;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
html body .home-project-copy-editor>h3 {
  margin: 0 0 8px;
  font-size: 16px;
}
html body .home-project-copy-row {
  display: grid;
  grid-template-columns: 150px minmax(140px,.8fr) minmax(220px,1.5fr);
  align-items: start;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid #eee8df;
}
html body .home-project-copy-row>strong {
  font-size: 13px;
  padding-top: 24px;
}
html body .home-project-copy-row>label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
}
html body .home-project-copy-row :is(input,textarea) {
  width: 100%;
}
@media(max-width:1000px) {
  html body [data-panel="settings"] .settings-tabs {
    grid-template-columns: 1fr!important;
  }
  html body .home-project-copy-row {
    grid-template-columns: 1fr 1fr;
  }
  html body .home-project-copy-row>strong {
    grid-column: 1/-1;
    padding: 0;
  }
}
@media(max-width:520px) {
  html body .home-project-copy-row {
    grid-template-columns: 1fr;
  }
}
html body .home-project-copy-row textarea {
  height: 76px;
  min-height: 76px;
}
html body [data-panel="settings"]>.settings-header {
  position: sticky;
  top: 0;
  z-index: 15;
  background: #f7f7f8;
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
  margin-bottom: 18px;
}
html body .admin-login-logo,html body .admin-boot-brand img {
  display: block;
  width: 180px;
  max-width: 100%;
  height: 46px;
  object-fit: contain;
  object-position: left;
  margin: 0 0 8px;
}
/* Group message editor: bounded scroll, visible actions and mode-specific fields. */
html body dialog.group-message-dialog {
  width: 820px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: hidden;
  color: #173747;
}
html body dialog.group-message-dialog form {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 34px);
  margin: 0;
}
html body .group-message-dialog .settings-record-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid #e4ecea;
  background: #fff;
}
html body .group-message-dialog h2 {
  margin: 0;
  font-size: 19px;
  line-height: 1.5;
}
html body .group-message-dialog .settings-record-dialog-head p {
  margin: 4px 0 0;
  color: #71828a;
  font-size: 12px;
}
html body .group-message-dialog [data-group-close] {
  flex: none;
}
html body .group-message-dialog .settings-record-dialog-head button {
  width: 34px;
  padding: 4px;
  min-height: 34px;
  font-size: 21px;
  border: 0;
  background: #fff3df;
  color: #9c6b31;
}
html body .group-message-dialog [data-group-fields] {
  min-height: 0;
  overflow: auto;
  padding: 20px 24px;
  overscroll-behavior: contain;
}
html body .group-message-dialog .structured-row {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
}
html body .group-message-dialog .structured-fields {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px 20px;
}
html body .group-message-dialog [hidden] {
  display: none!important;
}
html body .group-message-dialog .structured-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  margin: 0;
  font-size: 13px;
  color: #547078;
}
html body .group-message-dialog .structured-field-wide {
  grid-column: 1/-1;
}
html body .group-message-dialog .structured-check {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e1e9e6;
  border-radius: 9px;
  background: #fffcf7;
  margin: 0;
  color: #875524;
  font-size: 13px;
}
html body .group-message-dialog :is(input:not([type=checkbox]),select,textarea) {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #dce6e3;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: #254551;
  font: inherit;
  line-height: 1.5;
}
html body .group-message-dialog textarea {
  min-height: 160px;
  resize: vertical;
}
html body .group-message-dialog .group-schedule-note {
  padding: 11px 14px;
  border-radius: 8px;
  background: #fff4e2;
  color: #a45b00;
  font-size: 12px;
  line-height: 1.8;
}
html body .group-message-dialog .group-format-help {
  padding: 10px 13px;
  border: 1px solid #e2eae7;
  border-radius: 8px;
  background: #fffcf7;
  display: block;
  font-size: 12px;
}
html body .group-message-dialog .group-format-help summary {
  cursor: pointer;
  color: #a45b00;
  font-weight: 600;
}
html body .group-message-dialog .group-format-help p {
  line-height: 1.9;
  margin: 10px 0 0;
  overflow-wrap: anywhere;
  color: #71828a;
}
html body .group-message-dialog .group-message-media {
  padding: 14px;
  border: 1px dashed #ead8bd;
  border-radius: 9px;
  background: #fffcf7;
}
html body .group-message-dialog .group-message-media small {
  font-size: 12px;
  color: #82928b;
  font-weight: 400;
}
html body .group-message-dialog [data-photo-status] {
  margin: 0;
  font-size: 12px;
  color: #82928b;
}
html body .group-message-dialog [data-photo-preview] {
  display: block;
  max-height: 180px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  border-radius: 7px;
  align-self: flex-start;
}
html body .group-message-dialog .group-message-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
html body .group-message-dialog .group-message-link {
  display: grid;
  grid-template-columns: minmax(100px,1fr) minmax(180px,2fr) auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 8px;
}
html body .group-message-dialog .group-message-link label {
  display: grid;
  gap: 6px;
}
html body .group-message-dialog [data-add-link] {
  align-self: flex-start;
}
html body .group-message-dialog .dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid #e4ecea;
  background: #fff;
  margin: 0;
  flex-shrink: 0;
}
html body .group-message-dialog .dialog-actions .primary {
  background: #d97b00;
  border-color: #d97b00;
  color: #fff;
}
@media(max-width:600px) {
  html body dialog.group-message-dialog {
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 20px);
  }
  html body .group-message-dialog :is(.settings-record-dialog-head,[data-group-fields],.dialog-actions) {
    padding: 16px;
  }
  html body .group-message-dialog .structured-fields {
    grid-template-columns: minmax(0,1fr);
    gap: 14px;
  }
  html body .group-message-dialog .group-message-link {
    grid-template-columns: minmax(0,1fr);
  }
  html body .group-message-dialog .group-message-link button {
    justify-self: end;
  }
}
html body dialog.group-message-dialog,html body .group-message-dialog [data-group-fields] {
  background: #fff!important;
}
html body .group-message-dialog .structured-check span {
  margin: 0!important;
}
html body .group-message-dialog .structured-check input {
  flex: none;
}
html body .group-message-dialog .group-save-note {
  margin-right: auto;
  align-self: center;
  font-size: 12px;
  color: #82928b;
}
@media(max-width:600px) {
  html body .group-message-dialog .dialog-actions {
    flex-wrap: wrap;
  }
  html body .group-message-dialog .group-save-note {
    flex-basis: 100%;
  }
}
html body .group-message-dialog .structured-check {
  flex-direction: row!important;
}
html body .group-message-dialog .structured-check span {
  order: 0;
  flex: 1;
}
html body .group-message-dialog .structured-check input {
  order: 1;
}
html body .group-message-dialog .group-format-warning {
  font-size: 12px;
  line-height: 1.7;
  color: #a45b00;
  background: #fff4e2;
  padding: 9px 11px;
  border-radius: 6px;
}
/* Updated high-resolution brand, with a modestly larger presentation. */
html body .brand img {
  width: 180px;
  height: 60px;
  max-width: 100%;
}
html body .admin-login-logo, html body .admin-boot-brand img {
  width: 200px;
  height: 67px;
  max-width: 100%;
}
@media(max-width:760px) {
  html body .brand img {
    width: 156px;
    height: 52px;
  }
}
/* Keep product state visible together with its edit action when the table scrolls. */
html body .uniform-products table.network-status-table {
  min-width: 1180px;
  --network-action-width: 104px;
  --network-state-width: 112px;
}
html body .uniform-products table.network-status-table :is(th,td):last-child {
  position: sticky !important;
  right: 0 !important;
  width: var(--network-action-width) !important;
  min-width: var(--network-action-width) !important;
  max-width: var(--network-action-width) !important;
  box-sizing: border-box;
  background: #fff;
  z-index: 3;
}
html body .uniform-products table.network-status-table :is(th,td):nth-last-child(2) {
  position: sticky !important;
  right: var(--network-action-width) !important;
  width: var(--network-state-width) !important;
  min-width: var(--network-state-width) !important;
  max-width: var(--network-state-width) !important;
  box-sizing: border-box;
  background: #fff;
  z-index: 3;
  box-shadow: -5px 0 10px -8px #5b402f66;
}
html body .uniform-products table.network-status-table thead :is(th):is(:last-child,:nth-last-child(2)) {
  background: #faf8f4;
  z-index: 4;
}
html body .uniform-products table.network-status-table .row-actions {
  min-width: 0;
}
html body .manual-review-blocked {
  flex-basis: 100%;
  max-width: 190px;
  white-space: normal;
  font-size: 11px;
  line-height: 1.6;
  color: #8b622d;
}
/* Long product identifiers and names wrap instead of widening the whole catalog. */
html body .uniform-products .admin-provider table td:nth-child(-n+2) {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  max-width: 280px;
  height: auto;
  line-height: 1.65;
}
html body .uniform-products table.network-status-table td:nth-child(5) {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  width: 240px;
  max-width: 280px;
  height: auto;
  line-height: 1.65;
}
html body .uniform-products table.network-status-table td:first-child {
  width: 220px;
  max-width: 220px;
}
html body .uniform-products .admin-provider table td:nth-child(-n+2) :is(strong,small,span:not(.status)),html body .uniform-products table.network-status-table td:nth-child(5) :is(strong,small) {
  white-space: normal !important;
  overflow-wrap: anywhere;
}
/* static/admin-clarity.css */
/* Clear hierarchy for the existing Gosim operator workspace. */
html body .admin-shell.admin-clarity {
  --admin-side: 230px;
  background: #f5f6f8;
}
html body .admin-clarity .sidebar {
  padding: 22px 14px 18px;
  background: #fff;
  border-right: 1px solid #e9e4dc;
}
html body .admin-clarity .brand {
  padding: 0 10px 16px;
}
html body .admin-clarity .clarity-nav-search {
  flex: none;
  margin: 0 3px 12px;
  position: relative;
}
html body .admin-clarity .clarity-search-label {
  display: grid;
  gap: 7px;
  color: #8b8174;
  font-size: 11px;
}
html body .admin-clarity .clarity-search-label input {
  width: 100%;
  font-size: 12px;
  min-height: 38px;
  padding: 9px 34px 9px 10px;
  background: #f8f8f9;
  border: 1px solid #e8e4de;
  border-radius: 8px;
}
html body .admin-clarity .clarity-search-clear {
  position: absolute;
  right: 5px;
  bottom: 6px;
  padding: 3px 5px;
  border: 0;
  border-radius: 4px;
  background: #fff;
  color: #8d6535;
  font-size: 10px;
}
html body .admin-clarity .clarity-nav-empty {
  padding: 10px;
  font-size: 12px;
  color: #8b8174;
  line-height: 1.7;
}
html body .admin-clarity .clarity-filtered {
  display: none!important;
}
html body .admin-clarity .side-nav {
  gap: 9px;
  scroll-padding: 12px;
}
html body .admin-clarity .admin-nav-section {
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid #f1ede7;
}
html body .admin-clarity .side-nav .admin-group-label {
  font-size: 11px;
  margin: 8px 12px 5px;
  letter-spacing: .6px;
  color: #9a8c7a;
}
html body .admin-clarity .side-nav button {
  min-height: 40px;
  border-radius: 8px;
  color: #665e54;
  font-size: 13px;
}
html body .admin-clarity .side-nav button.active {
  background: #fff0d9;
  color: #9c5400;
  box-shadow: inset 3px 0 #ed8c09;
}
html body .admin-clarity .workspace {
  padding: 26px 30px 50px;
  max-width: 1720px;
}
html body .admin-clarity .topbar {
  padding-bottom: 20px;
  margin-bottom: 20px;
  align-items: center;
}
html body .admin-clarity .topbar h1 {
  font-size: 25px;
  letter-spacing: -.5px;
  color: #292722;
}
html body .admin-clarity .topbar .clarity-breadcrumb {
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 1.3px;
  color: #ac7c3f;
  margin: 0 0 8px;
}
html body .admin-clarity .topbar p:not(.clarity-breadcrumb) {
  font-size: 13px;
  color: #867e74;
  line-height: 1.8;
}
html body .admin-clarity .clarity-view-guide {
  border: 1px solid #f0e2cb;
  border-left: 3px solid #efa432;
  background: #fffcf6;
  color: #8a6d46;
  padding: 11px 14px;
  margin: 0 0 18px;
  font-size: 12px;
  line-height: 1.8;
  border-radius: 8px;
}
html body .admin-clarity .clarity-shortcuts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin: 0 0 22px;
}
html body .admin-clarity button.clarity-shortcut {
  position: relative;
  display: grid;
  gap: 7px;
  text-align: left;
  min-height: 92px;
  padding: 18px 34px 18px 17px;
  border: 1px solid #e8e2d9;
  border-radius: 11px;
  background: #fff;
  color: #3e362b;
  white-space: normal;
  line-height: 1.5;
}
html body .admin-clarity .clarity-shortcut strong {
  font-size: 14px;
  font-weight: 650;
}
html body .admin-clarity .clarity-shortcut span {
  font-size: 11px;
  color: #958677;
  line-height: 1.7;
}
html body .admin-clarity .clarity-shortcut i {
  position: absolute;
  top: 17px;
  right: 15px;
  font-size: 17px;
  color: #d08b2c;
  font-style: normal;
}
html body .admin-clarity button.clarity-shortcut:hover {
  border-color: #e7bd80;
  background: #fffaf2;
  transform: translateY(-1px);
}
html body .admin-clarity .stats-grid {
  gap: 14px;
  margin-bottom: 22px;
}
html body .admin-clarity .stats-grid article {
  padding: 20px;
  border-top: 2px solid #f1bb69;
  border-radius: 11px;
}
html body .admin-clarity .stats-grid article>span {
  font-size: 12px;
  color: #918370;
}
html body .admin-clarity .stats-grid article strong {
  font-size: 28px;
  line-height: 1.35;
  margin-top: 10px;
}
html body .admin-clarity .toolbar {
  padding: 13px 14px;
  border: 1px solid #ebe5dc;
  background: #fff;
  border-radius: 10px;
  gap: 10px;
  margin-bottom: 14px;
}
html body .admin-clarity .toolbar :is(input[type=search],select) {
  background: #fafafa;
  border-color: #e7e2da;
  min-height: 37px;
}
html body .admin-clarity .panel-head {
  padding: 16px 18px;
  background: #fff;
  border-bottom: 1px solid #eee9e1;
}
html body .admin-clarity :is(.table-panel,.table-wrap) :is(td,th) {
  padding: 12px 13px;
  font-size: 12px;
  line-height: 1.7;
}
html body .admin-clarity :is(.table-panel,.table-wrap) th {
  background: #f8f7f4;
  color: #8a7b66;
  font-weight: 600;
}
html body .admin-clarity :is(.table-panel,.table-wrap) tbody tr:hover {
  background: #fffcf5;
}
html body .admin-clarity .settings-tabs {
  gap: 14px!important;
  background: transparent;
  border: 0;
  padding: 0;
}
html body .admin-clarity .admin-settings-section {
  padding: 15px;
  border-radius: 11px;
  border-color: #e9e2d7;
}
html body .admin-clarity .admin-settings-section>.admin-group-label {
  display: block;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 650;
  color: #927445;
}
html body .admin-clarity .settings-tabs button {
  min-height: 35px;
  margin: 2px;
  border-radius: 7px;
}
html body .admin-clarity .settings-card {
  padding: 22px;
  border-radius: 11px;
}
html body .admin-clarity .settings-card-head span {
  line-height: 1.8;
  color: #91816a;
  font-size: 12px;
}
html body .admin-clarity .row-actions {
  gap: 6px;
}
html body .admin-clarity .row-actions button {
  min-height: 30px;
}
@media(min-width:761px) and (max-width:1150px) {
  html body .admin-shell.admin-clarity {
    --admin-side: 205px;
  }
  html body .admin-clarity .workspace {
    padding: 22px 20px;
  }
  html body .admin-clarity .clarity-shortcuts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px) {
  html body .admin-shell.admin-clarity {
    display: block;
  }
  html body .admin-clarity .sidebar {
    position: relative;
    width: 100%;
    height: auto;
    padding: 14px 16px;
    border-right: 0;
    border-bottom: 1px solid #e9e4dc;
    overflow: visible;
  }
  html body .admin-clarity .brand {
    padding: 0 0 10px;
  }
  html body .admin-clarity .clarity-nav-search {
    margin: 0 0 10px;
  }
  html body .admin-clarity .side-nav {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding: 0 0 6px;
  }
  html body .admin-clarity .admin-nav-section {
    flex: none;
    display: flex;
    flex-wrap: wrap;
    max-width: 330px;
    padding: 0 8px 0 0;
    gap: 4px;
    border: 0;
    border-right: 1px solid #eee8df;
  }
  html body .admin-clarity .side-nav .admin-group-label {
    width: 100%;
    margin: 2px 5px;
    font-size: 10px;
  }
  html body .admin-clarity .side-nav button {
    width: auto;
    min-height: 34px;
    padding: 7px 10px;
    white-space: nowrap;
  }
  html body .admin-clarity .workspace {
    padding: 18px 14px 36px;
  }
  html body .admin-clarity .topbar {
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  html body .admin-clarity .topbar h1 {
    font-size: 22px;
  }
  html body .admin-clarity .clarity-shortcuts {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }
  html body .admin-clarity button.clarity-shortcut {
    padding: 14px 26px 14px 12px;
    min-height: 88px;
  }
  html body .admin-clarity .stats-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
  }
  html body .admin-clarity .stats-grid article {
    padding: 15px;
  }
  html body .admin-clarity .stats-grid article strong {
    font-size: 24px;
  }
  html body .admin-clarity .settings-tabs {
    grid-template-columns: minmax(0,1fr)!important;
  }
  html body .admin-clarity .toolbar {
    padding: 11px;
    gap: 8px;
  }
  html body .admin-clarity .toolbar input[type=search] {
    width: 100%;
    flex: 1 1 100%;
  }
}
@media(prefers-reduced-motion:reduce) {
  html body .admin-clarity button.clarity-shortcut:hover {
    transform: none;
  }
}
html body .admin-clarity .report-heading h2 {
  font-size: 22px;
  color: #342b21;
}
html body .admin-clarity .report-metric {
  border: 1px solid #e8e3db;
  border-radius: 11px;
  padding: 19px;
  background: #fff;
  color: #40372d;
  box-shadow: none;
}
html body .admin-clarity .report-metric:is(.profit-usd,.profit-trx,.is-primary) {
  background: #fffaf2;
  color: #40372d;
  border-color: #ead7b6;
}
html body .admin-clarity .report-metric>span {
  color: #8c7a62;
}
html body .admin-clarity .report-metric p {
  color: #8c7a62;
  line-height: 1.8;
}
html body .admin-clarity .report-profit-metrics {
  gap: 13px;
  margin-bottom: 16px;
}
html body .admin-clarity .side-nav a {
  font-size: 13px;
  color: #71675b;
  padding: 10px 12px!important;
  min-height: 39px;
}
html body .admin-clarity .report-metric strong small {
  color: #8a755c;
}
@media(max-width:760px) {
  html body .admin-clarity .side-nav .admin-group-label {
    display: block!important;
  }
}
/* System settings: a directory rail and one content area, keeping the original forms. */
html body .admin-clarity [data-panel="settings"]>.clarity-view-guide {
  display: none!important;
}
html body .admin-clarity .clarity-settings-layout {
  display: grid;
  grid-template-columns: 178px minmax(0,1fr);
  gap: 20px;
  align-items: start;
}
html body .admin-clarity .clarity-settings-layout>.settings-tabs {
  display: grid!important;
  grid-template-columns: minmax(0,1fr)!important;
  gap: 0!important;
  position: sticky;
  top: 18px;
  max-height: calc(100dvh - 36px);
  overflow: auto;
  margin: 0!important;
  padding: 8px!important;
  background: #fff;
  border: 1px solid #e9e2d8!important;
  border-radius: 11px;
}
html body .admin-clarity .clarity-settings-layout .admin-settings-section {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 3px;
  padding: 12px 6px!important;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #eee8df;
  border-radius: 0;
  background: transparent;
}
html body .admin-clarity .clarity-settings-layout .admin-settings-section:last-child {
  border-bottom: 0;
}
html body .admin-clarity .clarity-settings-layout .admin-group-label {
  display: block!important;
  margin: 0 6px 8px;
  font-size: 10px;
  letter-spacing: .4px;
  color: #9d8a71;
}
html body .admin-clarity .clarity-settings-layout [data-settings-tab] {
  width: 100%;
  text-align: left;
  white-space: normal;
  margin: 0;
  padding: 9px 10px;
  line-height: 1.5;
  min-height: 36px;
  border: 1px solid transparent;
  background: transparent;
  color: #716451;
  font-size: 12px;
}
html body .admin-clarity .clarity-settings-layout [data-settings-tab].active {
  background: #fff1dc;
  border-color: #efd9b6;
  color: #9f5a0b;
  font-weight: 650;
  box-shadow: none;
}
html body .admin-clarity .clarity-settings-body {
  min-width: 0;
}
html body .admin-clarity .clarity-settings-body>.settings-header {
  padding: 18px 20px!important;
  margin: 0 0 14px;
  border: 1px solid #e9e2d8!important;
  background: #fff;
  border-radius: 11px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
html body .admin-clarity .clarity-settings-body>.settings-header>div {
  flex: 1;
  min-width: 180px;
}
html body .admin-clarity .clarity-settings-body>.settings-header h2 {
  font-size: 19px;
  margin: 0 0 6px;
  color: #3b3023;
}
html body .admin-clarity .clarity-settings-body>.settings-header .form-hint {
  font-size: 12px;
  line-height: 1.8;
  color: #8b7a62;
  margin: 0;
}
html body .admin-clarity .clarity-settings-save-note {
  flex-basis: 100%;
  margin: 2px 0 0;
  padding-top: 9px;
  border-top: 1px solid #f0ebe4;
  font-size: 11px;
  color: #9a866b;
}
html body .admin-clarity [data-settings-category="api"] #saveSiteConfig,html body .admin-clarity [data-settings-category="security"] #saveSiteConfig {
  display: none!important;
}
html body .admin-clarity .clarity-settings-body>.settings-grid {
  display: block!important;
  margin: 0;
  min-width: 0;
  background: transparent;
}
html body .admin-clarity .clarity-settings-body .settings-grid>.settings-card {
  margin: 0 0 15px!important;
  padding: 20px!important;
  border: 1px solid #e9e2d8!important;
  border-radius: 11px;
  background: #fff!important;
  min-width: 0;
}
html body .admin-clarity .clarity-settings-body #apiProviderTabs.active:not([hidden]) {
  display: flex!important;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px!important;
  min-height: auto;
  border: 1px solid #e9e2d8!important;
  background: #fff!important;
}
html body .admin-clarity .clarity-settings-body #apiProviderTabs button {
  flex: 1 1 100px;
  min-height: 36px;
  padding: 8px 10px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #faf9f6;
  color: #897354;
  font-size: 12px;
  white-space: nowrap;
}
html body .admin-clarity .clarity-settings-body #apiProviderTabs button[aria-selected="true"] {
  border-color: #efcf9a;
  background: #fff2de;
  color: #9b5605;
  font-weight: 650;
}
html body .admin-clarity .clarity-settings-body .settings-card-head,html body .admin-clarity .clarity-settings-body .panel-head {
  padding: 0 0 14px;
  margin: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #eee8e0;
  background: transparent;
}
html body .admin-clarity .clarity-settings-body :is(.settings-card-head,.panel-head) h2 {
  font-size: 16px;
  margin: 0;
  color: #493a28;
}
html body .admin-clarity .clarity-settings-body :is(.mail-settings-grid,.settings-form-grid,.admin-security-grid) {
  gap: 16px;
  align-items: start;
}
html body .admin-clarity .clarity-settings-body label {
  font-size: 12px;
  line-height: 1.75;
  color: #79664d;
  min-width: 0;
}
html body .admin-clarity .clarity-settings-body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {
  border: 1px solid #e4dcd0;
  border-radius: 8px;
  background: #fff;
  min-width: 0;
  max-width: 100%;
  line-height: 1.65;
}
html body .admin-clarity .clarity-settings-body :is(.settings-config-section,.home-project-copy-editor,#manualRechargeSettings,#gosimPaySettings) {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #ede5d9;
}
html body .admin-clarity .clarity-settings-body .admin-settings-footer {
  margin: 20px 0 0;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid #eee6db;
  background: transparent;
  display: flex;
  justify-content: flex-end;
}
html body .admin-clarity .clarity-settings-mobile {
  display: none;
}
@media(max-width:1200px) {
  html body .admin-clarity .clarity-settings-body :is(.mail-settings-grid,.settings-form-grid,.admin-security-grid) {
    grid-template-columns: minmax(0,1fr)!important;
  }
}
@media(max-width:950px) {
  html body .admin-clarity .clarity-settings-layout {
    display: block;
  }
  html body .admin-clarity .clarity-settings-layout>.settings-tabs {
    display: none!important;
  }
  html body .admin-clarity .clarity-settings-mobile {
    display: grid;
    gap: 8px;
    font-size: 12px;
    color: #8b7355;
    padding: 13px 15px;
    margin-bottom: 14px;
    background: #fff;
    border: 1px solid #e9e2d8;
    border-radius: 10px;
  }
  html body .admin-clarity .clarity-settings-mobile select {
    width: 100%;
    min-height: 40px;
    background: #fffcf7;
    border: 1px solid #e7dac7;
    border-radius: 7px;
  }
  html body .admin-clarity .clarity-settings-body>.settings-header {
    padding: 15px!important;
  }
  html body .admin-clarity .clarity-settings-body .settings-grid>.settings-card {
    padding: 16px!important;
  }
  html body .admin-clarity .clarity-settings-body #apiProviderTabs button {
    flex-basis: 100px;
  }
}
html body .admin-clarity .clarity-settings-layout>.settings-tabs {
  background: #fff!important;
}
html body .admin-clarity .clarity-settings-layout [data-settings-tab] {
  text-align: left!important;
  min-height: 32px!important;
  padding: 7px 10px!important;
}
html body .admin-clarity .clarity-payment-section {
  border: 1px solid #e8dfd2;
  border-radius: 9px;
  background: #fff;
  margin: 0 0 13px;
  overflow: hidden;
}
html body .admin-clarity .clarity-payment-section>summary {
  padding: 13px 15px;
  font-size: 13px;
  font-weight: 600;
  color: #72542c;
  cursor: pointer;
  background: #fdfaf5;
  line-height: 1.6;
}
html body .admin-clarity .clarity-payment-section[open]>summary {
  border-bottom: 1px solid #eee4d5;
}
html body .admin-clarity .clarity-payment-fields {
  padding: 16px;
  min-width: 0;
}
html body .admin-clarity .clarity-payment-fields>:last-child {
  margin-bottom: 0!important;
}
html body .admin-clarity .clarity-payment-fields>section {
  padding: 0!important;
  margin: 0!important;
  border: 0!important;
  border-radius: 0!important;
}
html body .admin-clarity .clarity-settings-body #manualRechargeSettings {
  margin: 0;
  padding: 0;
  border: 0;
}
html body .admin-clarity .clarity-payment-fields .payment-qr-upload {
  margin: 12px 0;
}
html body .admin-clarity .clarity-payment-fields .settings-card-head {
  margin-top: 20px;
}
html body .admin-shell.admin-clarity [data-panel="settings"] .clarity-settings-layout .settings-tabs button[data-settings-tab] {
  text-align: left!important;
  justify-content: flex-start!important;
}
/* Click-to-open sidebar categories; settings disclosure cards are unchanged. */
html body .admin-clarity .side-nav .admin-group-label {
  margin: 0!important;
  padding: 0!important;
  width: 100%;
}
html body .admin-clarity .side-nav .clarity-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 11px 12px!important;
  min-height: 40px;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
  border: 0;
  background: #faf8f5;
  color: #806a50;
  border-radius: 7px;
  cursor: pointer;
}
html body .admin-clarity .side-nav .clarity-nav-toggle::after {
  content: '⌄';
  font-size: 15px;
  transition: transform .15s;
}
html body .admin-clarity .side-nav .clarity-nav-toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}
html body .admin-clarity .side-nav .clarity-nav-toggle:focus-visible {
  outline: 2px solid #d68a25;
  outline-offset: 2px;
}
html body .admin-clarity .side-nav .clarity-nav-closed>:is([data-view],a) {
  display: none!important;
}
@media(max-width:760px) {
  html body .admin-clarity .side-nav .admin-nav-section {
    min-width: 142px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  html body .admin-clarity .side-nav .admin-nav-section>[data-view] {
    width: 100%;
    text-align: left;
  }
}
