/* Shared business typography; official unmodified Source Han Sans CN, OFL 1.1. */
@font-face {
  font-family: "Dudu Sans";
  src: url("/static/vendor/source-han-sans/SourceHanSansCN-VF.woff2?v=2.005") format("woff2");
  font-style: normal;
  font-weight: 250 900;
  font-display: swap;
}
:root {
  --font-ui: "Dudu Sans", "Source Han Sans CN", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-title: 22px;
  --font-section: 16px;
  --font-body: 14px;
  --font-caption: 13px;
  --line-body: 1.6;
}
html, body { font-family: var(--font-ui); line-height: var(--line-body); }
button, input, select, textarea, optgroup {
  font-family: var(--font-ui);
  font-size: var(--font-body);
  line-height: var(--line-body);
}
button, .btn { font-weight: 500; }
strong, b { font-weight: 600; }
.page-title, .videoops-hero h1 { font-size: var(--font-title); font-weight: 600; line-height: 1.4; }
.card-title, .wsx-sec-head .h, .wsx-ex-title, .videoops-panel h2 { font-size: var(--font-section); font-weight: 600; line-height: 1.5; }
.wsx-amt, .wsx-ono, .kpi-cell .value, .appr-stats .as-val { font-weight: 600; }
.detail-head .id, .order-id-cell, .alert-id, .tool-name, .profile-subtitle {
  font-family: var(--font-ui);
  font-variant-numeric: lining-nums tabular-nums;
}
.detail-head .id { font-weight: 600; overflow-wrap: anywhere; }
.tabular, .duration-cell, .alert-duration, .kpi-cell .value, .as-val,
.core-amount, .core-facts dd, .wsx-k .val {
  font-variant-numeric: lining-nums tabular-nums;
}
.orders-table th, .wsx-table th { font-weight: 500; }
.partner-chip { white-space: nowrap; }
.approval-page-table th, .approval-page-table td:not(:nth-child(2)) { white-space: nowrap; }
.videoops-page button.ddu-control, .videoops-dialog button.ddu-control {
  appearance: none;
  min-height: var(--control-height);
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text-1);
  font-weight: 500;
  cursor: pointer;
}
.videoops-page button.ddu-control:hover, .videoops-dialog button.ddu-control:hover { background: var(--surface-alt); }
.videoops-page button.videoops-primary, .videoops-dialog button.videoops-primary {
  background: var(--accent-blue); border-color: var(--accent-blue); color: #fff;
}
.videoops-page button.videoops-primary:hover, .videoops-dialog button.videoops-primary:hover { background: #1A4FD0; }
.videoops-page button.ddu-control:disabled, .videoops-dialog button.ddu-control:disabled { cursor: not-allowed; opacity: .6; }
.videoops-page :is(input:not([type=checkbox]):not([type=radio]), select).ddu-control {
  min-width: 0;
  min-height: var(--control-height);
  padding: 8px 10px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text-1);
}
.videoops-command-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 680px) {
  .videoops-page button.ddu-control, .videoops-dialog button.ddu-control,
  .videoops-page :is(input:not([type=checkbox]):not([type=radio]), select).ddu-control {
    min-height: var(--control-height-mobile);
  }
}
