/* TungstenCloud page-level console layouts. Keep plugin templates upgrade-safe. */
html[theme="tungstencloud"][data-tc-page] {
  --tc-page-gradient: linear-gradient(118deg, #071c33 0%, #0d4f8b 56%, #0795aa 100%);
  --tc-page-shadow: 0 18px 46px rgba(25, 55, 88, .08);
}

html[theme="tungstencloud"][data-tc-page="account"] .el-main,
html[theme="tungstencloud"][data-tc-page="finance"] .el-main,
html[theme="tungstencloud"][data-tc-page="security"] .el-main,
html[theme="tungstencloud"][data-tc-page="product"] .el-main,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main { padding: 30px !important; }

html[theme="tungstencloud"][data-tc-page="account"] .el-main > *,
html[theme="tungstencloud"][data-tc-page="finance"] .el-main > *,
html[theme="tungstencloud"][data-tc-page="security"] .el-main > *,
html[theme="tungstencloud"][data-tc-page="product"] .el-main > *,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main > * {
  width: 100%;
  max-width: 1500px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Dynamic product module host */
html[theme="tungstencloud"][data-tc-page="product"] .tc-product-shell {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}

html[theme="tungstencloud"][data-tc-page="product"] .tc-product-shell > .content {
  min-height: 0;
  padding: 26px !important;
  overflow-x: auto;
  border: 1px solid var(--tc-line) !important;
  border-radius: 18px !important;
  color: var(--tc-text);
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-page-shadow) !important;
}

html[theme="tungstencloud"][data-tc-page="product"] .tc-product-shell .tc-product-error {
  min-height: 360px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  color: var(--tc-muted);
  text-align: center;
}

html[theme="tungstencloud"][data-tc-page="product"] .tc-product-error > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: var(--color-primary);
  background: rgba(23, 105, 224, .1);
  font-size: 24px;
  font-weight: 800;
}

/* Account information and security center share a console page banner. */
html[theme="tungstencloud"][data-tc-page="account"] .main-card-title,
html[theme="tungstencloud"][data-tc-page="security"] .main-card-title,
html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .main-card-title {
  position: relative;
  min-height: 96px;
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 24px 30px !important;
  overflow: hidden;
  border: 1px solid rgba(137, 205, 255, .18);
  border-radius: 18px;
  color: #fff !important;
  background: var(--tc-page-gradient) !important;
  box-shadow: 0 20px 46px rgba(15, 75, 128, .18);
  font-size: 26px !important;
  font-weight: 760;
  line-height: 1.25 !important;
  letter-spacing: -.025em;
}

html[theme="tungstencloud"][data-tc-page="account"] .main-card-title::after,
html[theme="tungstencloud"][data-tc-page="security"] .main-card-title::after,
html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .main-card-title::after {
  position: absolute;
  right: 24px;
  bottom: -44px;
  color: rgba(255, 255, 255, .07);
  font-size: 110px;
  font-weight: 900;
  line-height: 1;
  content: "TC";
  pointer-events: none;
}

/* Account information */
html[theme="tungstencloud"][data-tc-page="account"] .content-box {
  margin-top: 20px !important;
  padding: 28px 30px 32px !important;
  overflow: hidden;
  border: 1px solid var(--tc-line) !important;
  border-radius: 18px !important;
  color: var(--tc-text) !important;
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-page-shadow) !important;
}

html[theme="tungstencloud"][data-tc-page="account"] .box-top {
  min-height: 104px;
  height: auto !important;
  padding: 22px 24px;
  border: 1px solid var(--tc-line) !important;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--tc-surface-2), var(--tc-surface));
}

html[theme="tungstencloud"][data-tc-page="account"] .name-text,
html[theme="tungstencloud"][data-tc-page="account"] .attestation-text { color: var(--tc-text) !important; }
html[theme="tungstencloud"][data-tc-page="account"] .box-main { margin-top: 24px !important; }

html[theme="tungstencloud"][data-tc-page="account"] .basic,
html[theme="tungstencloud"][data-tc-page="account"] .account,
html[theme="tungstencloud"][data-tc-page="account"] .oauth {
  margin-top: 20px !important;
  padding: 24px;
  border: 1px solid var(--tc-line);
  border-radius: 14px;
  background: var(--tc-surface);
  box-shadow: 0 12px 30px rgba(25, 55, 88, .07);
}

html[theme="tungstencloud"][data-tc-page="account"] .basic > .el-row,
html[theme="tungstencloud"][data-tc-page="account"] .account > .el-row,
html[theme="tungstencloud"][data-tc-page="account"] .oauth-box { margin-top: 22px !important; }

html[theme="tungstencloud"][data-tc-page="account"] .account-title,
html[theme="tungstencloud"][data-tc-page="account"] .basic-title {
  padding-left: 12px !important;
  border-left: 3px solid var(--color-primary) !important;
  color: var(--tc-text) !important;
  font-size: 16px !important;
  font-weight: 720;
  line-height: 1.45 !important;
}

html[theme="tungstencloud"][data-tc-page="account"] .box-item-t {
  height: auto !important;
  min-height: 22px;
  margin-bottom: 10px !important;
  color: var(--tc-muted) !important;
  line-height: 1.55;
  font-weight: 650;
}

html[theme="tungstencloud"][data-tc-page="account"] .el-input__inner,
html[theme="tungstencloud"][data-tc-page="account"] .el-textarea__inner {
  border-color: rgba(22, 87, 158, .24) !important;
  color: var(--tc-text) !important;
  background: var(--tc-surface-2) !important;
}

html[theme="tungstencloud"][data-tc-page="account"] .el-tabs__nav-wrap::after { background: var(--tc-line) !important; }
html[theme="tungstencloud"][data-tc-page="account"] .el-tabs__item { font-weight: 650; }

html[theme="tungstencloud"][data-tc-page="account"] .btn-save {
  min-width: 150px;
  height: 44px !important;
  margin-top: 24px !important;
  border-radius: 11px !important;
}

/* Finance workspace */
html[theme="tungstencloud"][data-tc-page="finance"] .finance.main-card { display: grid; gap: 20px; }

html[theme="tungstencloud"][data-tc-page="finance"] .finance > .top {
  min-height: 150px;
  height: auto !important;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 26px 30px !important;
  overflow: hidden;
  border: 1px solid rgba(137, 205, 255, .18);
  border-radius: 18px;
  color: #fff;
  background: var(--tc-page-gradient) !important;
  box-shadow: 0 20px 46px rgba(15, 75, 128, .18);
}

html[theme="tungstencloud"][data-tc-page="finance"] .top-l {
  min-width: 210px;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 780;
  line-height: 1.25;
  letter-spacing: -.025em;
}

html[theme="tungstencloud"][data-tc-page="finance"] .top-r {
  min-width: 0;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  gap: 12px;
  margin-left: auto;
}

html[theme="tungstencloud"][data-tc-page="finance"] .item-balance,
html[theme="tungstencloud"][data-tc-page="finance"] .item-unbalance {
  min-width: 190px;
  margin: 0 !important;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 13px;
  background: rgba(4, 21, 38, .24);
}

html[theme="tungstencloud"][data-tc-page="finance"] .money,
html[theme="tungstencloud"][data-tc-page="finance"] .money-num {
  color: #fff !important;
  font-size: 26px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

html[theme="tungstencloud"][data-tc-page="finance"] .money-num > .text,
html[theme="tungstencloud"][data-tc-page="finance"] .item-balance > .text,
html[theme="tungstencloud"][data-tc-page="finance"] .item-unbalance > .text { color: rgba(235, 247, 255, .68) !important; }

html[theme="tungstencloud"][data-tc-page="finance"] .btn-cz,
html[theme="tungstencloud"][data-tc-page="finance"] .btn-tx {
  min-width: 54px;
  min-height: 28px;
  padding: 0 10px !important;
  border-color: rgba(255, 255, 255, .22) !important;
  border-radius: 8px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, .12) !important;
}

html[theme="tungstencloud"][data-tc-page="finance"] .content_box {
  margin: 0 !important;
  padding: 24px 26px 30px !important;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  background: var(--tc-surface);
  box-shadow: var(--tc-page-shadow);
}

html[theme="tungstencloud"][data-tc-page="finance"] .content_searchbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin: 20px 0 16px !important;
}

html[theme="tungstencloud"][data-tc-page="finance"] .left_tips,
html[theme="tungstencloud"][data-tc-page="finance"] .searchbar { min-width: 0; flex-wrap: wrap; gap: 10px; }

html[theme="tungstencloud"][data-tc-page="finance"] .tabledata {
  overflow: hidden;
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px;
}
html[theme="tungstencloud"][data-tc-page="finance"] .finance .el-tabs__content { min-height: 420px !important; }

/* Security center */
html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs {
  min-height: 520px;
  margin-top: 20px !important;
  padding: 0 26px 28px;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  color: var(--tc-text);
  background: var(--tc-surface);
  box-shadow: var(--tc-page-shadow);
}

html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs > .el-tabs__header {
  margin: 0 -26px 22px !important;
  padding: 0 26px;
  border-bottom: 1px solid var(--tc-line);
  background: var(--tc-surface-2);
}

html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs .el-tabs__item {
  height: 54px !important;
  color: var(--tc-muted) !important;
  font-weight: 680;
  line-height: 54px !important;
}

html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs .el-tabs__item.is-active {
  color: var(--color-primary) !important;
}

html[theme="tungstencloud"][data-tc-page="security"] .main-card .content-table {
  margin-top: 0 !important;
  padding: 24px 26px 28px;
  border: 1px solid var(--tc-line);
  border-radius: 18px;
  background: var(--tc-surface);
  box-shadow: var(--tc-page-shadow);
}

html[theme="tungstencloud"][data-tc-page="security"] .content_searchbar { flex-wrap: wrap; align-items: center; gap: 14px; }
html[theme="tungstencloud"][data-tc-page="security"] .left-btn {
  min-width: 126px;
  width: auto !important;
  height: 42px !important;
  padding: 0 18px;
  border-radius: 10px !important;
  background: var(--color-primary) !important;
  box-shadow: 0 10px 24px rgba(23, 105, 224, .18);
}

html[theme="tungstencloud"][data-tc-page="security"] .tabledata {
  margin-top: 18px !important;
  overflow: hidden;
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px;
}

html[theme="tungstencloud"][data-tc-page="security"] .open-show .open,
html[theme="tungstencloud"][data-tc-page="security"] .open-show .un-open {
  width: auto !important;
  min-width: 58px;
  height: 28px !important;
  padding: 0 10px;
  border-radius: 999px !important;
}

html[theme="tungstencloud"][data-tc-page="security"] .dialog-main .content-msg {
  padding: 8px 18px 22px;
  border-color: var(--tc-line) !important;
  border-radius: 12px !important;
  background: var(--tc-surface-2);
}

/* Add-on pages inherit this shell without modifying plugin files. */
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main > * { min-width: 0; }
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main > * {
  width: 100% !important;
  min-height: 480px;
  color: var(--tc-text) !important;
}
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .main-card { padding: 0 !important; }

html[theme="tungstencloud"][data-tc-plugin="true"] .el-main > .content-box,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main > .el-card {
  padding: 26px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 18px !important;
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-page-shadow) !important;
}

html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content-box,
html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content_table,
html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content-table,
html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .tabledata {
  margin-top: 20px !important;
  padding: 24px 26px !important;
  overflow: hidden;
  border: 1px solid var(--tc-line) !important;
  border-radius: 18px !important;
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-page-shadow) !important;
}

html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .content_searchbar,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .searchbar,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .filter-box,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .search-box {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px !important;
}

html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .tabledata,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-table { max-width: 100%; }
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .tabledata {
  overflow-x: auto;
  border: 1px solid var(--tc-line) !important;
  border-radius: 13px;
}
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-table th.el-table__cell,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-table td.el-table__cell { padding: 15px 0 !important; }
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-table .cell {
  padding-right: 16px !important;
  padding-left: 16px !important;
  line-height: 1.6;
}

html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-tabs,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-collapse,
html[theme="tungstencloud"][data-tc-plugin="true"] .el-main .el-descriptions {
  color: var(--tc-text) !important;
  border-color: var(--tc-line) !important;
}

/* Resource center */
html[theme="tungstencloud"][data-tc-page="source"] .source-list,
html[theme="tungstencloud"][data-tc-page="source"] .host-list,
html[theme="tungstencloud"][data-tc-page="source"] .product-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px !important;
}

html[theme="tungstencloud"][data-tc-page="source"] .source-item,
html[theme="tungstencloud"][data-tc-page="source"] .host-item,
html[theme="tungstencloud"][data-tc-page="source"] .product-item,
html[theme="tungstencloud"][data-tc-page="source"] .el-card {
  min-width: 0;
  padding: 22px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 15px !important;
  background: var(--tc-surface) !important;
  box-shadow: 0 12px 30px rgba(25, 55, 88, .06) !important;
}

/* Tickets */
html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-top,
html[theme="tungstencloud"][data-tc-page="ticket"] .top-box,
html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-type {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px !important;
  margin-bottom: 20px !important;
}

html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-item,
html[theme="tungstencloud"][data-tc-page="ticket"] .top-item,
html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-card {
  min-width: 0;
  padding: 20px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 14px !important;
  background: var(--tc-surface) !important;
}

/* Child accounts */
html[theme="tungstencloud"][data-tc-page="child-account"] .child-top,
html[theme="tungstencloud"][data-tc-page="child-account"] .child-account-top,
html[theme="tungstencloud"][data-tc-page="child-account"] .subaccount-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px !important;
  padding: 20px 22px;
  border: 1px solid var(--tc-line);
  border-radius: 14px;
  background: var(--tc-surface-2);
}

/* Referral plan */
html[theme="tungstencloud"][data-tc-page="recommend"] .recommend-box,
html[theme="tungstencloud"][data-tc-page="recommend"] .recommend-box-open,
html[theme="tungstencloud"][data-tc-page="recommend"] .recommend-content {
  width: 100% !important;
  max-width: none !important;
  padding: 26px !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 18px !important;
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-page-shadow) !important;
}

html[theme="tungstencloud"][data-tc-page="recommend"] .top-statistic {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px !important;
}

html[theme="tungstencloud"][data-theme-mode="dark"] .basic,
html[theme="tungstencloud"][data-theme-mode="dark"] .account,
html[theme="tungstencloud"][data-theme-mode="dark"] .oauth,
html[theme="tungstencloud"][data-theme-mode="dark"] .content_box,
html[theme="tungstencloud"][data-theme-mode="dark"] .content-table,
html[theme="tungstencloud"][data-theme-mode="dark"] .content_table {
  box-shadow: 0 20px 52px rgba(0, 0, 0, .18) !important;
}

@media (max-width: 1180px) {
  html[theme="tungstencloud"][data-tc-page="finance"] .finance > .top { align-items: stretch; flex-direction: column; }
  html[theme="tungstencloud"][data-tc-page="finance"] .top-r { width: 100%; margin-left: 0; }
  html[theme="tungstencloud"][data-tc-page="source"] .source-list,
  html[theme="tungstencloud"][data-tc-page="source"] .host-list,
  html[theme="tungstencloud"][data-tc-page="source"] .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-top,
  html[theme="tungstencloud"][data-tc-page="ticket"] .top-box,
  html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-type { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  html[theme="tungstencloud"][data-tc-page="account"] .el-main,
  html[theme="tungstencloud"][data-tc-page="finance"] .el-main,
  html[theme="tungstencloud"][data-tc-page="security"] .el-main,
  html[theme="tungstencloud"][data-tc-page="product"] .el-main,
  html[theme="tungstencloud"][data-tc-plugin="true"] .el-main { padding: 14px 12px 84px !important; }
  html[theme="tungstencloud"][data-tc-page="account"] .main-card-title,
  html[theme="tungstencloud"][data-tc-page="security"] .main-card-title,
  html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .main-card-title { min-height: 78px; padding: 20px !important; font-size: 22px !important; }
  html[theme="tungstencloud"][data-tc-page="account"] .content-box,
  html[theme="tungstencloud"][data-tc-page="product"] .tc-product-shell > .content,
  html[theme="tungstencloud"][data-tc-page="security"] .main-card .content-table,
  html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content-box,
  html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content_table,
  html[theme="tungstencloud"][data-tc-plugin="true"] .main-card > .content-table { padding: 16px !important; }
  html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs { min-height: 420px; padding: 0 16px 18px; }
  html[theme="tungstencloud"][data-tc-page="security"] .main-card > .el-tabs > .el-tabs__header { margin: 0 -16px 16px !important; padding: 0 16px; }
  html[theme="tungstencloud"][data-tc-page="account"] .basic,
  html[theme="tungstencloud"][data-tc-page="account"] .account,
  html[theme="tungstencloud"][data-tc-page="account"] .oauth { padding: 16px; }
  html[theme="tungstencloud"][data-tc-page="finance"] .finance > .top { min-height: 0; padding: 22px 18px !important; }
  html[theme="tungstencloud"][data-tc-page="finance"] .top-l { min-width: 0; font-size: 24px !important; }
  html[theme="tungstencloud"][data-tc-page="finance"] .top-r,
  html[theme="tungstencloud"][data-tc-page="recommend"] .top-statistic,
  html[theme="tungstencloud"][data-tc-page="source"] .source-list,
  html[theme="tungstencloud"][data-tc-page="source"] .host-list,
  html[theme="tungstencloud"][data-tc-page="source"] .product-list,
  html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-top,
  html[theme="tungstencloud"][data-tc-page="ticket"] .top-box,
  html[theme="tungstencloud"][data-tc-page="ticket"] .ticket-type { grid-template-columns: minmax(0, 1fr) !important; }
  html[theme="tungstencloud"][data-tc-page="finance"] .item-balance,
  html[theme="tungstencloud"][data-tc-page="finance"] .item-unbalance { min-width: 0; }
  html[theme="tungstencloud"][data-tc-page="finance"] .content_box { padding: 16px !important; }
  html[theme="tungstencloud"][data-tc-page="finance"] .content_searchbar,
  html[theme="tungstencloud"][data-tc-page="security"] .content_searchbar { align-items: stretch; flex-direction: column !important; }
  html[theme="tungstencloud"][data-tc-page="security"] .left-btn { width: 100% !important; }
  html[theme="tungstencloud"][data-tc-page="product"] .tc-product-shell > .content { min-height: 0; }
}

/* Product module loading and failure states (2.1.8). */
html[theme="tungstencloud"][data-tc-page="product"] .tc-product-loading,
html[theme="tungstencloud"][data-tc-page="product"] .tc-product-error {
  min-height: 240px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 14px;
  padding: 32px;
  color: var(--tc-muted);
  text-align: center;
}
html[theme="tungstencloud"][data-tc-page="product"] .tc-product-loading::before {
  width: 34px;
  height: 34px;
  border: 3px solid var(--tc-line);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  content: "";
  animation: tc-product-spin .8s linear infinite;
}
@keyframes tc-product-spin { to { transform: rotate(360deg); } }
