.login-shell {
  max-width: 480px;
  margin: 10vh auto;
  padding: 32px;
}
.login-shell .white-card {
  padding: 32px;
}
.login-shell h1 {
  margin-bottom: 12px;
}
.login-shell label,
.cloud-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0;
}
.login-shell input,
.cloud-form input,
.cloud-form select,
.cloud-form textarea {
  padding: 12px;
  border: 1px solid #dce5df;
  border-radius: 9px;
  background: #fff;
  font: inherit;
  min-width: 0;
}
.cloud-form textarea {
  min-height: 90px;
}
.cloud-form input[type="checkbox"] {
  width: auto;
}
.cloud-form .check-label {
  display: block;
}
.cloud-form .check-label input {
  margin-right: 8px;
}
.cloud-form {
  padding: 0 24px 24px;
}
.cloud-form.inline {
  padding: 0;
}
.cloud-form .form-grid {
  gap: 16px;
}
.cloud-form button {
  margin-top: 12px;
}
.error {
  color: #a33;
  white-space: pre-wrap;
}
.cloud-table {
  width: 100%;
  border-collapse: collapse;
}
.cloud-table th,
.cloud-table td {
  text-align: left;
  padding: 18px 12px;
  border-bottom: 1px solid #e8ece8;
}
.cloud-table small {
  display: block;
  color: #78877c;
  margin-top: 6px;
}
.click-row {
  cursor: pointer;
}
.click-row:hover {
  background: #f3f6f1;
}
.amount {
  text-align: right !important;
  white-space: nowrap;
}
.loading-note {
  padding: 20px;
  color: #647569;
}
.report-content {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.report-content pre {
  white-space: pre-wrap;
}
.attachment {
  width: 100%;
  text-align: left;
}
.section-padding {
  padding: 24px;
}
.status.void {
  background: #eee;
  color: #666;
}
.tagline {
  font-size: 13px;
  color: #708477;
}
.toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.task-grid:empty:after {
  content: "暂无对账任务";
  padding: 40px;
}
.row-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.muted {
  color: #738176;
}
.account-admin {
  border-bottom: 1px solid #eee;
  padding: 14px 0;
}
.account-admin button {
  margin: 4px;
}
.history-item pre {
  font-size: 12px;
  white-space: pre-wrap;
}
.file-list {
  margin: 15px 0;
}
.wide {
  width: 100%;
}
button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.login-shell .button {
  width: 100%;
}
.metric-amount {
  font-variant-numeric: tabular-nums;
}
.mobile-only {
  display: none;
}
.task-card {
  text-align: left;
}
.notice {
  padding: 12px;
  background: #f5f1e6;
  border-radius: 8px;
  margin: 12px 0;
}
.empty {
  padding: 36px;
}
.report-grid {
  margin-top: 24px;
}
.proof-image {
  max-width: 100%;
  max-height: 55vh;
  object-fit: contain;
}
.confirm-summary {
  padding: 12px;
  background: #edf3e9;
  border-radius: 10px;
}
.raw-json {
  max-height: 350px;
  overflow: auto;
}
.filter-selects input {
  border: 1px solid #dce5df;
  border-radius: 8px;
  padding: 10px;
}
.detail-block {
  padding: 0 24px;
}
.cloud-modal-body {
  padding: 0 24px 24px;
}
@media (max-width: 700px) {
  .login-shell {
    margin: 3vh auto;
    padding: 16px;
  }
  .top-actions .tagline {
    display: none;
  }
  .cloud-table th,
  .cloud-table td {
    padding: 14px 8px;
  }
  .cloud-table .hide-mobile {
    display: none;
  }
  .cloud-form {
    padding: 0 16px 20px;
  }
  .cloud-form .form-grid {
    grid-template-columns: 1fr;
  }
  .summary-card strong {
    font-size: 25px;
  }
  .page-heading .toolbar {
    margin-top: 16px;
  }
  .topbar {
    gap: 8px;
  }
  .main-shell {
    padding-bottom: 100px;
  }
}

.report-frame {
  width: 100%;
  height: 65vh;
  border: 1px solid #dce5df;
  border-radius: 10px;
  margin: 20px 0;
}
dialog:has(.report-frame) {
  max-width: 1100px;
  width: 95vw;
}
/* The production table has five columns; do not inherit the preview's seven-column mobile hiding rules. */
@media (max-width: 680px) {
  .cloud-table td:nth-child(1) {
    display: block;
    grid-column: 1;
    grid-row: 2;
    color: #71826a;
    font-size: 11px;
  }
  .cloud-table td:nth-child(2) {
    display: block;
    grid-column: 1;
    grid-row: 1;
    overflow-wrap: anywhere;
  }
  .cloud-table td:nth-child(3) {
    display: none;
  }
  .cloud-table td:nth-child(4) {
    display: block;
    grid-column: 2;
    grid-row: 1;
    font-size: 13px;
  }
  .cloud-table td:nth-child(5) {
    display: block;
    grid-column: 2;
    grid-row: 2;
    text-align: right;
  }
  .cloud-table td .text-button {
    font-size: 13px;
    text-align: left;
  }
  .cloud-table td small {
    font-size: 11px;
    line-height: 1.5;
  }
}
