/* Admin presentation only. Public pages and payment execution are unaffected. */
.admin-layout {
  --admin-border: #e6eaf0;
  --admin-muted: #778194;
  --admin-ink: #202c40;
  --admin-blue: #3569e8;
  --el-color-primary: #3569e8;
  --el-border-radius-base: 8px;
  color: var(--admin-ink);
  background: #f5f7fb !important;
  height: 100dvh !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.admin-layout > .el-container {height: 100dvh !important; min-width: 0;}
.admin-layout .el-container, .admin-layout .el-main {min-width: 0;}
.admin-layout .aside {background: #fff; border-color: var(--admin-border); padding: 0 10px; box-sizing: border-box;}
.admin-layout .logo {height: 76px; justify-content: flex-start; padding-left: 14px; border-bottom: 0;}
.admin-layout .logo-text {font-size: 17px; letter-spacing: 0;}
.admin-layout .side-menu {padding-top: 8px;}
.admin-layout .side-menu .el-menu-item {height: 46px; line-height: 46px; margin: 5px 0; font-size: 14px; border-radius: 9px;}
.admin-layout .side-menu .el-menu-item.is-active {font-weight: 600; background: #edf2ff !important; color: var(--admin-blue) !important;}
.admin-layout .side-menu .el-menu-item .el-icon {margin-right: 12px;}
.admin-layout .header {height: 68px; padding: 0 28px; border-color: var(--admin-border); flex-shrink: 0;}
.admin-layout .page-title {font-size: 18px; color: var(--admin-ink);}
.admin-layout .collapse-btn {display: inline-flex; align-items: center; justify-content: center; padding: 9px; border-radius: 8px; color: #64748b; width: 36px; height: 36px; box-sizing: border-box;}
.admin-layout .collapse-btn:hover {background: #f1f4f9;}
.admin-layout .collapse-btn:focus-visible {outline: 2px solid var(--admin-blue); outline-offset: 2px;}
.admin-layout .main-content {padding: 24px 28px 36px; overflow-x: hidden;}
.admin-layout .main-content > * {max-width: 1600px; margin-left: auto; margin-right: auto;}
.admin-layout .glass-toolbar {box-shadow: none !important; border-color: var(--admin-border) !important; border-radius: 12px !important; padding: 16px !important; gap: 12px !important;}
.admin-layout .toolbar-left, .admin-layout .toolbar-right {flex-wrap: wrap; gap: 8px !important; min-width: 0;}
.admin-layout .toolbar-right .el-button + .el-button {margin-left: 0;}
.admin-layout .glass-table-card, .admin-layout .glass-config-card {box-shadow: none !important; border-color: var(--admin-border) !important; border-radius: 12px !important; padding: 18px !important; min-width: 0;}
.admin-layout .el-table {--el-table-header-bg-color: #f8fafc; --el-table-row-hover-bg-color: #f5f8ff; --el-table-border-color: #edf0f5; font-size: 13px;}
.admin-layout .el-table .el-table__cell {padding: 12px 0;}
.admin-layout .el-table .cell {padding-left: 12px; padding-right: 12px;}
.admin-layout .el-table th.el-table__cell {background: #f8fafc !important; color: #697589 !important; font-size: 12px;}
.admin-layout .el-tag {font-weight: 500; border-radius: 6px;}
.admin-layout .el-input__wrapper, .admin-layout .el-select__wrapper {border-radius: 8px !important; background: #fff !important; min-height: 36px; box-sizing: border-box;}
.admin-layout .el-input__wrapper {box-shadow: 0 0 0 1px #dfe5ee inset !important; border: 0 !important;}
.admin-layout .el-button {min-height: 34px;}
.admin-layout .el-button.is-text {min-height: 28px;}
.admin-layout .pagination {padding: 16px 0 0; margin-top: 0; display: flex; justify-content: flex-end;}
.admin-layout .cdk-stats {gap: 8px; flex-wrap: wrap; margin-bottom: 16px;}
.admin-layout .stat-chip {border-radius: 9px; padding: 10px 14px; box-shadow: none;}
.admin-layout .config-subhint {line-height: 1.6;}
.admin-layout .system-config {max-width: 1400px;}
.admin-layout .system-config .el-tabs__nav-wrap:after {height: 1px;}
.admin-layout .system-config .el-tabs__item {height: 46px;}
.admin-layout .system-config .tab-form {max-width: 1100px;}
.admin-layout .system-config .el-form-item {margin-bottom: 22px;}
.admin-layout .system-config .protocol-radios {flex-wrap: wrap; gap: 8px;}
.admin-layout .system-config .el-radio {margin-right: 16px;}
.admin-layout .system-config .form-hint, .admin-layout .system-config .field-extra {line-height: 1.6; color: #7c8798;}
.admin-layout .dashboard .ops-hero {margin-bottom: 22px;}
.admin-layout .dashboard .ops-title {font-size: 24px;}
.admin-layout .dashboard .ops-sub {line-height: 1.7;}
.admin-layout .dashboard .ops-card, .admin-layout .dashboard .glass-stat-card {box-shadow: none; border-color: var(--admin-border); border-radius: 12px;}
.admin-layout .dashboard .ops-card {padding: 20px 22px; min-height: 132px;}
.admin-layout .dashboard .ops-card-value {font-size: 36px;}
.admin-layout .dashboard .ops-card-foot {font-size: 12px; line-height: 1.7;}
.admin-layout .dashboard .stat-row {row-gap: 16px;}
.admin-layout .dashboard .stat-value {font-size: 26px;}
.admin-layout .dashboard .stat-footer {gap: 10px; flex-wrap: wrap;}
.admin-layout .dashboard .ops-row {row-gap: 16px;}
.admin-layout .dashboard .stat-row > .el-col {margin-top: 0;}
.admin-nav-backdrop {display: none;}
/* Task management: focused table, secondary information stays in details. */
.admin-layout .task-section-heading {display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px;}
.admin-layout .task-section-heading > div:first-child {display: flex; gap: 12px; align-items: baseline;}
.admin-layout .task-section-heading h2 {font-size: 20px; font-weight: 650; margin: 0; letter-spacing: -.02em;}
.admin-layout .task-section-heading .muted {font-size: 12px;}
.admin-layout .task-heading-actions {display: flex; gap: 8px; align-items: center;}
.admin-layout .muted {color: var(--admin-muted); font-weight: 400;}
.admin-layout .task-filter-panel {background: #fff; border: 1px solid var(--admin-border); border-radius: 12px; padding: 14px 16px; margin-bottom: 16px;}
.admin-layout .task-main-filters, .admin-layout .task-extra-filters {display: flex; gap: 10px; align-items: center;}
.admin-layout .task-search {flex: 1; min-width: 160px; max-width: 480px;}
.admin-layout .admin-filter-select {width: 160px; flex-shrink: 0;}
.admin-layout .task-extra-filters {border-top: 1px solid #eef1f5; padding-top: 14px; margin-top: 14px;}
.admin-layout .task-results-panel {background: #fff; border: 1px solid var(--admin-border); border-radius: 12px; overflow: hidden;}
.admin-layout .task-desktop-table .el-table__cell {padding-top: 15px; padding-bottom: 15px;}
.admin-layout .task-account-cell {display: flex; flex-direction: column; gap: 5px; min-width: 0;}
.admin-layout .task-account-cell strong {font-size: 13px; font-weight: 550; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.admin-layout .task-account-cell .muted {font-size: 11px; line-height: 1.4;}
.admin-layout .task-plan-cell {display: flex; flex-direction: column; gap: 4px; font-weight: 550;}
.admin-layout .task-plan-cell .muted {font-size: 11px;}
.admin-layout .task-no-text {font-size: 11px; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; color: #8b95a4; white-space: nowrap;}
.admin-layout .task-row-actions {display: flex; align-items: center; gap: 4px; flex-wrap: wrap;}
.admin-layout .task-row-actions .el-button {padding: 4px 7px; margin: 0;}
.admin-layout .task-batch-bar {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px 14px; margin-bottom: 12px; border-radius: 10px; background: #edf2ff; border: 1px solid #d9e4ff;}
.admin-layout .task-batch-bar .el-button + .el-button {margin-left: 0;}
.admin-layout .task-selected-count {font-size: 12px; font-weight: 600; color: #3569e8; margin-right: 6px;}
/* Teleported admin dialogs. */
body:has(.admin-layout) .el-dialog {border-radius: 14px !important; padding: 22px; max-width: calc(100vw - 40px); box-sizing: border-box;}
body:has(.admin-layout) .el-dialog__header {padding-bottom: 18px; border-bottom: 1px solid #edf0f5; margin-bottom: 18px;}
body:has(.admin-layout) .el-dialog__title {font-size: 17px; font-weight: 650;}
body:has(.admin-layout) .el-dialog__footer {padding-top: 18px; border-top: 1px solid #edf0f5; margin-top: 18px;}
body:has(.admin-layout) .el-dialog__body {overflow-wrap: anywhere;}
body:has(.admin-layout) .el-message-box {max-width: calc(100vw - 32px); border-radius: 12px;}
body:has(.admin-layout) .admin-task-dialog .el-descriptions__label {font-size: 12px; width: 104px; color: #7c8798; background: #f8fafc;}
body:has(.admin-layout) .admin-task-dialog .el-descriptions__content {font-size: 13px;}
body:has(.admin-layout) .admin-task-dialog .task-detail-summary {margin-bottom: 16px;}
body:has(.admin-layout) .admin-task-dialog .task-advanced-details,
body:has(.admin-layout) .admin-task-dialog .task-log-details {border: 1px solid #e6eaf0; border-radius: 10px; margin-top: 12px; overflow: hidden;}
body:has(.admin-layout) .admin-task-dialog details summary {padding: 13px 15px; cursor: pointer; color: #58667b; font-size: 13px; font-weight: 550; background: #f8fafc;}
body:has(.admin-layout) .admin-task-dialog details[open] summary {border-bottom: 1px solid #e6eaf0;}
body:has(.admin-layout) .admin-task-dialog .token-block {padding: 2px; display: flex; gap: 8px; align-items: flex-start;}
body:has(.admin-layout) .admin-task-dialog .token-text {font-size: 11px; max-height: 100px; overflow-y: auto; overflow-wrap: anywhere; font-family: ui-monospace, Consolas, monospace;}
body:has(.admin-layout) .admin-task-dialog .log-scroll-area {background: #f8fafc; color: #475569; max-height: 360px; padding: 14px; border-radius: 0; line-height: 1.7; font-size: 12px;}
body:has(.admin-layout) .admin-task-dialog .log-line {display: flex; gap: 12px; padding: 6px 0; border-bottom: 1px solid #e6eaf0;}
body:has(.admin-layout) .admin-task-dialog .log-time {color: #8792a2; font-size: 11px; min-width: 138px;}
body:has(.admin-layout) .admin-task-dialog .log-info {color: #586d8c;}
body:has(.admin-layout) .admin-task-dialog .log-success {color: #168858;}
body:has(.admin-layout) .admin-task-dialog .log-error {color: #d64545;}
body:has(.admin-layout) .admin-task-dialog .log-warning {color: #b47b15;}
body:has(.admin-layout) .admin-task-dialog .detail-footer {display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap;}
body:has(.admin-layout) .admin-task-dialog .detail-footer .el-button {margin: 0;}
@media (max-width: 1200px) and (min-width: 901px) {
  .admin-layout .header {padding-left: 20px; padding-right: 20px;}
  .admin-layout .main-content {padding-left: 20px; padding-right: 20px;}
  .admin-layout .toolbar-left, .admin-layout .toolbar-right {width: 100%;}
}
@media (max-width: 900px) {
  .admin-layout .aside {position: fixed; top: 0; bottom: 0; left: 0; z-index: 2200; transform: translateX(-100%); transition: transform .2s ease; box-shadow: 8px 0 30px #1c2c4015; width: 232px !important;}
  .admin-layout.admin-nav-open .aside {transform: translateX(0);}
  .admin-nav-backdrop {display: block; position: fixed; inset: 0; border: 0; background: #182b4859; z-index: 2199; cursor: pointer;}
  .admin-layout .header {height: 58px; padding: 0 14px;}
  .admin-layout .header-left {gap: 5px;}
  .admin-layout .header-right {gap: 8px;}
  .admin-layout .page-title {font-size: 16px;}
  .admin-layout .username {font-size: 12px;}
  .admin-layout .logout-btn {padding: 6px;}
  .admin-layout .main-content {padding: 18px 14px 26px;}
  .admin-layout .glass-toolbar {padding: 12px !important; margin-bottom: 12px;}
  .admin-layout .toolbar-left, .admin-layout .toolbar-right {width: 100%; display: flex; flex-wrap: wrap; gap: 8px !important;}
  .admin-layout .toolbar-left > .el-input {width: 100% !important; min-width: 0; flex: 1 1 100%;}
  .admin-layout .toolbar-left > .el-select {width: auto !important; min-width: 120px; flex: 1;}
  .admin-layout .toolbar-right > .el-button {margin: 0; flex: 1 1 auto;}
  .admin-layout .glass-table-card {padding: 12px !important;}
  .admin-layout .pagination {justify-content: center; padding-top: 15px;}
  .admin-layout .el-pagination {gap: 4px; flex-wrap: wrap; justify-content: center;}
  .admin-layout .el-pagination__sizes {display: none;}
  .admin-layout .el-pagination .btn-prev, .admin-layout .el-pagination .btn-next, .admin-layout .el-pager li {min-width: 32px;}
  .admin-layout .cdk-stats {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px;}
  .admin-layout .stat-chip {font-size: 12px; margin: 0; padding: 10px; min-width: 0;}
  .admin-layout .glass-config-card {padding: 14px !important;}
  .admin-layout .config-header {gap: 12px;}
  .admin-layout .config-title {font-size: 17px;}
  .admin-layout .config-subhint {font-size: 12px;}
  .admin-layout .save-btn {position: sticky; top: 0; z-index: 3; min-height: 38px;}
  .admin-layout .system-config .el-tabs__item {padding: 0 15px; font-size: 13px;}
  .admin-layout .system-config .tab-form {width: 100%;}
  .admin-layout .system-config .el-form-item {display: block; margin-bottom: 20px;}
  .admin-layout .system-config .el-form-item__label {display: block; text-align: left; width: auto !important; height: auto; padding: 0 0 8px; line-height: 1.5; float: none; font-size: 13px;}
  .admin-layout .system-config .el-form-item__content {margin-left: 0 !important; min-width: 0; width: 100%;}
  .admin-layout .system-config .el-input, .admin-layout .system-config .el-select, .admin-layout .system-config .el-input-number {max-width: 100%;}
  .admin-layout .system-config .protocol-radios {display: flex; flex-wrap: wrap; gap: 6px;}
  .admin-layout .system-config .el-radio {margin-right: 10px; white-space: normal; height: auto; min-height: 32px;}
  .admin-layout .system-config .el-radio__label {white-space: normal;}
  .admin-layout .dashboard .ops-title {font-size: 21px;}
  .admin-layout .dashboard .ops-hero {margin-bottom: 16px;}
  .admin-layout .dashboard .ops-sub {font-size: 12px;}
  .admin-layout .dashboard .ops-card {padding: 16px; min-height: 120px;}
  .admin-layout .dashboard .ops-card-value {font-size: 32px;}
  .admin-layout .dashboard .glass-stat-card {padding: 14px 12px; height: 100%; box-sizing: border-box;}
  .admin-layout .dashboard .stat-row {row-gap: 12px; margin-bottom: 14px;}
  .admin-layout .dashboard .stat-row > .el-col {padding-left: 6px !important; padding-right: 6px !important;}
  .admin-layout .dashboard .stat-item {gap: 10px;}
  .admin-layout .dashboard .stat-icon {width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;}
  .admin-layout .dashboard .stat-icon .el-icon {font-size: 20px !important;}
  .admin-layout .dashboard .stat-label {font-size: 11px;}
  .admin-layout .dashboard .stat-value {font-size: 24px;}
  .admin-layout .dashboard .stat-footer {font-size: 11px; gap: 7px; margin-top: 10px; padding-top: 10px;}
  .admin-layout .task-section-heading {margin-bottom: 14px; align-items: center;}
  .admin-layout .task-section-heading > div:first-child {flex-direction: column; gap: 3px;}
  .admin-layout .task-section-heading h2 {font-size: 19px;}
  .admin-layout .task-heading-actions {gap: 2px;}
  .admin-layout .task-filter-panel {padding: 12px; margin-bottom: 12px;}
  .admin-layout .task-main-filters {display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 8px;}
  .admin-layout .task-search {width: 100%; max-width: none; min-width: 0;}
  .admin-layout .task-main-filters .admin-filter-select {width: 100%;}
  .admin-layout .task-main-filters .el-button {margin: 0;}
  .admin-layout .task-extra-filters {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px;}
  .admin-layout .task-extra-filters .admin-filter-select {width: 100%;}
  .admin-layout .task-extra-filters > .el-button {grid-column: 1/-1; justify-self: start; margin-left: 0;}
  .admin-layout .task-results-panel {border: 0; background: none; overflow: visible;}
  .admin-layout .task-mobile-list {display: flex; flex-direction: column; gap: 12px;}
  .admin-layout .task-mobile-card {background: #fff; border: 1px solid var(--admin-border); border-radius: 12px; padding: 14px; min-width: 0;}
  .admin-layout .task-mobile-top {display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px;}
  .admin-layout .task-mobile-top .el-checkbox {height: 24px; margin: 0;}
  .admin-layout .task-mobile-account {display: flex; flex-direction: column; gap: 5px; min-width: 0;}
  .admin-layout .task-mobile-account strong {font-size: 14px; font-weight: 600; overflow-wrap: anywhere; line-height: 1.5;}
  .admin-layout .task-mobile-account .muted {font-size: 11px;}
  .admin-layout .task-mobile-status {display: flex; gap: 8px; flex-wrap: wrap; margin-left: 24px; margin-bottom: 12px;}
  .admin-layout .task-mobile-meta {display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid #f0f2f6; font-size: 13px;}
  .admin-layout .task-mobile-meta strong {font-weight: 550;}
  .admin-layout .task-mobile-bottom {display: flex; justify-content: flex-end; padding-bottom: 8px;}
  .admin-layout .task-mobile-bottom .el-button {min-height: 32px;}
  .admin-layout .task-number-last {display: flex; gap: 8px; flex-wrap: wrap; font-size: 10px; color: #909aaa; padding-top: 10px; border-top: 1px dashed #edf0f5;}
  .admin-layout .task-number-last > span:last-child {font-family: ui-monospace, Consolas, monospace; overflow-wrap: anywhere;}
  .admin-layout .task-batch-bar {gap: 7px; padding: 10px;}
  .admin-layout .task-selected-count {width: 100%;}
  body:has(.admin-layout) .el-dialog {max-width: calc(100vw - 24px); padding: 16px; margin-top: 3vh !important;}
  body:has(.admin-layout) .el-dialog__body .el-form-item {display: block;}
  body:has(.admin-layout) .el-dialog__body .el-form-item__label {width: auto !important; float: none; display: block; text-align: left; line-height: 1.5; height: auto; padding-bottom: 7px;}
  body:has(.admin-layout) .el-dialog__body .el-form-item__content {margin-left: 0 !important;}
  body:has(.admin-layout) .el-dialog__body .el-input, body:has(.admin-layout) .el-dialog__body .el-select {max-width: 100%;}
  body:has(.admin-layout) .admin-task-dialog .el-descriptions__label {width: 88px; font-size: 11px;}
  body:has(.admin-layout) .admin-task-dialog .el-descriptions__content {font-size: 12px;}
  body:has(.admin-layout) .admin-task-dialog .log-line {flex-direction: column; gap: 3px;}
  body:has(.admin-layout) .admin-task-dialog .log-time {min-width: 0;}
  body:has(.admin-layout) .admin-task-dialog .detail-footer {gap: 8px;}
  /* Other management tables become labeled cards; desktop tables keep their original behavior. */
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__header-wrapper {display: none;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__body-wrapper {overflow: visible;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-scrollbar__view {display: block !important; width: 100% !important;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__body {width: 100% !important; display: block;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) colgroup {display: none;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) tbody {display: block;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__row {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 10px; padding: 12px; border: 1px solid #e6eaf0; border-radius: 10px; margin-bottom: 12px; background: #fff;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) td.el-table__cell {display: block; position: static !important; width: auto !important; border-bottom: 0; padding: 6px 0; min-width: 0; background: transparent !important;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) td .cell {padding: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.6; width: auto !important;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label]::before {content: attr(data-admin-label); display: block; font-size: 10px; color: #8a95a6; margin-bottom: 3px;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label="操作"],
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label="卡密"],
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label="API Key"],
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label="用户邮箱"],
  .admin-layout .main-content .el-table:not(.task-desktop-table) td[data-admin-label="任务编号"] {grid-column: 1/-1;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__body tr:hover > td {background: transparent !important;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__inner-wrapper:before {display: none;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-table__empty-block {width: 100% !important;}
  .admin-layout .main-content .el-table:not(.task-desktop-table) .el-scrollbar__bar {display: none;}
}
@media (max-width: 380px) {
  .admin-layout .username {display: none;}
  .admin-layout .main-content {padding-left: 10px; padding-right: 10px;}
  .admin-layout .task-heading-actions .el-button {padding-left: 7px; padding-right: 7px;}
}
@media (prefers-reduced-motion: reduce) {
  .admin-layout .aside {transition: none;}
}
.admin-layout .el-header.header {height: 68px; padding: 0 28px;}
.admin-layout .el-main.main-content {padding: 24px 28px 36px;}
.admin-layout .task-desktop-table .task-account-cell strong {line-height: 1.45;}
.admin-layout .task-desktop-table .task-plan-cell {line-height: 1.5;}
.admin-layout .task-desktop-table .el-table__body td.el-table__cell {padding-top: 12px; padding-bottom: 12px;}
.admin-layout .task-desktop-table .task-account-cell .muted {line-height: 1.3;}
.admin-layout .task-main-filters > .el-button + .el-button {margin-left: 0;}
@media (max-width: 900px) {
 .admin-layout .el-header.header {height: 58px; padding: 0 14px;}
 .admin-layout .el-main.main-content {padding: 18px 14px 26px;}
}
@media (max-width: 380px) {
 .admin-layout .el-main.main-content {padding-left: 10px; padding-right: 10px;}
}
@media (max-width: 900px) {
 .admin-layout .aside {visibility: hidden;}
 .admin-layout.admin-nav-open .aside {visibility: visible;}
}

.admin-layout .task-plan-cell .muted {white-space: nowrap; font-size: 11px; font-variant-numeric: tabular-nums;}
body:has(.admin-layout) .admin-task-dialog .task-plan-cell {display:flex; flex-direction:column; gap:5px;}
body:has(.admin-layout) .admin-task-dialog .task-plan-cell .muted {color:#778194; font-size:12px;}
@media (max-width:900px) {
 .admin-layout .task-mobile-meta .task-plan-cell {gap:5px;}
 .admin-layout .task-mobile-meta .task-plan-cell .muted {font-size:12px;}
}

/* Historical failures retain their original payment/accounting state. */
.task-state-stack {display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.admin-layout .task-history-entry.el-button {height:auto;padding:1px 0;margin:0;font-size:11px;}
.admin-task-dialog .task-history-details {margin:16px 0;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc;overflow:hidden;}
.admin-task-dialog .task-history-details > summary {cursor:pointer;padding:12px 16px;font-weight:600;color:#334155;}
.admin-task-dialog .task-history-explanation,.admin-task-dialog .task-history-review {padding:0 16px;margin:0 0 12px;font-size:12px;line-height:1.6;color:#64748b;}
.admin-task-dialog .task-history-review {color:#92400e;}
.admin-task-dialog .task-history-record {display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 16px;border-top:1px solid #e2e8f0;background:#fff;}
.admin-task-dialog .task-history-main {display:flex;flex-direction:column;gap:5px;min-width:0;}
.admin-task-dialog .task-history-order {font-size:12px;overflow-wrap:anywhere;}
.admin-task-dialog .task-history-state {display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.admin-task-dialog .task-history-error {font-size:11px;color:#64748b;overflow-wrap:anywhere;}
.admin-task-dialog .task-history-open {flex-shrink:0;}
.admin-task-dialog .task-accounting-notice {margin:14px 0;padding:11px 14px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;line-height:1.6;font-size:12px;}
@media (max-width:600px) {
 .admin-task-dialog .task-history-record {align-items:flex-start;flex-direction:column;gap:7px;}
 .admin-task-dialog .task-history-open.el-button {margin-left:0;padding-left:0;}
 .admin-layout .task-mobile-status {flex-wrap:wrap;}
}

/* Compact backend modals; payment verification keeps its existing layout. */
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) {
  max-width: min(600px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 48px);
  margin-top: max(24px, 5dvh) !important;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  overflow: hidden;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-dialog__header,
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-dialog__footer {
  flex: 0 0 auto;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-dialog__body {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-dialog__footer {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-dialog__footer .el-button {
  margin: 0;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) :is(.el-form, .el-form-item__content, .el-row, .el-col, .el-input, .el-textarea, .el-select, .el-input-number, .el-date-editor, .el-upload, .el-tabs, .el-table) {
  min-width: 0;
  max-width: 100%;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) :is(.el-input__inner, .el-input__wrapper, .el-select__wrapper, .el-textarea__inner) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-textarea__inner {
  overflow-x: auto;
  resize: vertical;
}
body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) :is(.batch-result-toolbar, .export-toolbar, .pagination) {
  flex-wrap: wrap;
  gap: 8px;
}
body:has(.admin-layout) .admin-task-dialog .el-descriptions__table {
  table-layout: fixed;
  width: 100%;
}
body:has(.admin-layout) .admin-task-dialog :is(.el-descriptions__content, .token-block, .token-text, .log-msg) {
  min-width: 0;
  overflow-wrap: anywhere;
}
body:has(.admin-layout) .admin-task-dialog .token-text {
  flex: 1 1 auto;
}
body:has(.admin-layout) .admin-task-dialog .token-block .el-button {
  flex-shrink: 0;
}
body:has(.admin-layout) .el-message-box {
  max-width: min(440px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 48px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
body:has(.admin-layout) .el-message-box__header,
body:has(.admin-layout) .el-message-box__btns {
  flex: 0 0 auto;
}
body:has(.admin-layout) .el-message-box__content {
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
}
body:has(.admin-layout) .el-message-box__btns {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}
body:has(.admin-layout) .el-message-box__btns .el-button {
  margin: 0;
}
body:has(.admin-layout) .el-message-box :is(.el-message-box__input, .el-input, .el-textarea, .el-input__wrapper, .el-textarea__inner) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
body:has(.admin-layout) .el-popover:has(.el-popconfirm) {
  max-width: min(320px, calc(100vw - 32px));
  box-sizing: border-box;
}
.admin-layout .api-key-table .api-key-actions-column .cell {
  white-space: normal;
  overflow: visible;
}
.admin-layout .api-key-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px 6px;
  min-width: 0;
  width: 100%;
}
.admin-layout .api-key-actions .el-button {
  margin: 0;
  width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 4px 5px;
  white-space: nowrap;
}
@media (max-width: 900px) {
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) {
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px);
    margin-top: 16px !important;
    margin-bottom: 16px;
    padding: 16px;
  }
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-form-item__content {
    width: 100%;
  }
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 0 12px;
  }
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-row > .el-col {
    flex: 1 1 calc(50% - 6px);
    width: auto;
    max-width: calc(50% - 6px);
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-row > .el-col-16,
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-row > .el-col-24 {
    flex-basis: 100%;
    max-width: 100%;
  }
  body:has(.admin-layout) .el-dialog:not(:has(.verification-body)) .el-input-number {
    width: 100%;
  }
  body:has(.admin-layout) .el-message-box {
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px);
  }
  .admin-layout .api-key-table .api-key-actions-column {
    grid-column: 1 / -1;
  }
  .admin-layout .api-key-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
}
