/* Shared minimal visual system. No business behavior or layout reordering. */
:root {
  --ui-bg: #f6f7f9;
  --ui-panel: #ffffff;
  --ui-muted-panel: #f8f9fb;
  --ui-border: #e7e9ee;
  --ui-ink: #202733;
  --ui-secondary: #596575;
  --ui-muted: #687586;
  --ui-shadow: 0 1px 3px rgba(24,39,60,.035);
}
html[data-mode="dark"] {
  --ui-bg: #11151c;
  --ui-panel: #1a2029;
  --ui-muted-panel: #202733;
  --ui-border: #303948;
  --ui-ink: #e8edf4;
  --ui-secondary: #bdc8d6;
  --ui-muted: #a0adbe;
  --ui-shadow: none;
}
body {
  background: var(--ui-bg);
  color: var(--ui-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body, body.uc, body.adm { --text: var(--ui-ink); --text-2: var(--ui-secondary); --text-3: var(--ui-muted); --q-dim: var(--ui-muted); --q-ink-soft: var(--ui-secondary); }
body::before { content: none !important; display: none !important; background: none !important; }
body h1, body h2, body h3 { font-weight: 600; letter-spacing: -.015em; }
body h1 { font-size: 26px; }
body h2 { font-size: 19px; }
body h3 { font-size: 16px; }
body .card, body .v6-card, body.uc .uc-card, body.uc .uc-kpi,
body .plan, body .st-card, body .side, body.uc .uc-side,
body.adm .adm-side, body .cs-modal-card {
  background: var(--ui-panel);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow);
}
body .card, body .v6-card, body.uc .uc-card, body .plan, body .st-card { border-radius: 12px; }
body.uc .uc-kpi::after { display: none; }
body.uc .uc-phead h1, body.uc .page-head h1, body .wb-title { font-size: 24px; font-weight: 600; }
body.uc .uc-card-hd { background: transparent; border-color: var(--ui-border); padding: 17px 20px; }
body.uc .uc-card-hd h2, body.uc .uc-card-hd h3 { font-size: 16px; font-weight: 600; }
body.uc .uc-card-bd { padding: 18px 20px; }
body.uc .uc-card-bd.is-tight { padding: 8px 12px; }
body.uc .uc-phead p, body .page-head .sub, body.uc .uc-phead .sub,
body .uc-hint, body .sr-caption { color: var(--ui-muted); line-height: 1.75; }
body.uc .uc-navi {
  font-size: 14px; font-weight: 500; border-radius: 8px;
  padding: 10px 12px; color: var(--ui-secondary); box-shadow: none;
}
body.uc .uc-navi.is-on { background: var(--brand-soft); color: var(--brand-ink); border-color: transparent; box-shadow: none; }
body.uc .uc-navi.is-on::before { display: none; }
html[data-mode="dark"] body.uc .uc-navi.is-on { color: var(--ui-ink); }
body.uc .uc-topbar, body .topbar { background: var(--ui-panel); border-color: var(--ui-border); box-shadow: none; }
body .btn, body .v6-btn, body.uc .uc-btn {
  border-radius: 8px; font-size: 13px; font-weight: 500;
  box-shadow: none; letter-spacing: 0; line-height: 1.45;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body .btn:hover, body .v6-btn:hover, body.uc .uc-btn:hover { transform: none; box-shadow: none; }
body.uc .uc-btn.is-primary { background: var(--brand); color: var(--on-brand); border-color: var(--brand); box-shadow: none; }
body.uc .uc-btn.is-ghost, body .btn.ghost, body .v6-btn.is-ghost { background: var(--ui-panel); border-color: var(--ui-border); color: var(--ui-secondary); }
body .uc-input, body input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), body select, body textarea {
  border-radius: 8px; font-size: 14px; border-color: var(--ui-border);
  background-color: var(--ui-panel); color: var(--ui-ink);
}
body input:focus-visible, body select:focus-visible, body textarea:focus-visible,
body a:focus-visible, body button:focus-visible, body summary:focus-visible {
  outline: 2px solid var(--brand); outline-offset: 3px;
}
body.uc .uc-tag, body .pill, body .chip { font-size: 12px; font-weight: 500; box-shadow: none; }
body.uc .uc-chan .nm { font-size: 15px; font-weight: 600; }
body.uc .uc-chan .meta { font-size: 13px; line-height: 1.7; color: var(--ui-secondary); }
body.uc .uc-plancard, body .v6-channel-card { background: var(--ui-panel); border-color: var(--ui-border); box-shadow: var(--ui-shadow); }
body.uc .uc-kpi .v, body.uc .sr-metric strong { font-size: 25px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
body .sr-table th, body.uc .uc-tbl th, body .tbl th { font-size: 12px; font-weight: 500; letter-spacing: 0; background: var(--ui-muted-panel); }
body .sr-table td, body.uc .uc-tbl td, body .tbl td { font-size: 13px; font-variant-numeric: tabular-nums; }
body .sr-table th, body .sr-table td, body.uc .uc-tbl th, body.uc .uc-tbl td { border-color: var(--ui-border); padding: 12px; }
body .v6-dialog, body.uc .v6-dialog { border-radius: 14px; background: var(--ui-panel); box-shadow: 0 16px 60px rgba(0,0,0,.18); }
body .v6-dialog-head h3, body.uc .v6-dialog-head h3 { font-size: 18px; font-weight: 600; }
body .hero h1 { font-size: clamp(28px,3.2vw,40px); font-weight: 600; }
body .hero .lead { font-size: 16px; }
body .section-title h2 { font-size: 24px; font-weight: 600; }
body .footer { background: var(--ui-panel); border-color: var(--ui-border); }
body .sr-tabs .uc-btn { font-size: 13px; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
body.uc .sr-grid > .uc-card, body .v6-card-grid > .v6-card { margin-top: 0; }
body.uc .uc-tabs { max-width: 100%; overflow-x: auto; min-width: 0; }
body.uc .uc-tabs a { flex-shrink: 0; }
body.uc .uc-kv dd { min-width: 0; overflow-wrap: anywhere; }
body .cs-dock-btn { border-radius: 9px 0 0 9px; box-shadow: var(--ui-shadow); padding: 9px 12px; }
body .cs-dock-btn:hover { transform: none; box-shadow: var(--ui-shadow); }
body .cs-dock-wechat { background: var(--ui-panel); color: var(--brand-ink); border: 1px solid var(--ui-border); }
body .cs-dock-tx b { font-size: 12px; font-weight: 500; }
body .cs-float a, body .cs-float button { border-radius: 10px; box-shadow: var(--ui-shadow); }
@media(min-width:901px) {
  body.uc .uc-shell { grid-template-columns: 224px minmax(0,1fr); }
  body.uc .uc-main { padding: 28px clamp(20px,2.5vw,40px) 40px; }
}
@media(max-width:900px) {
  body.uc .uc-phead h1, body .wb-title { font-size: 22px; }
  body.uc .uc-main { padding: 20px 16px 32px; }
  body.uc .uc-card-hd, body.uc .uc-card-bd { padding: 16px; }
  body.uc .uc-card-bd.is-tight { padding: 8px; }
  body .sr-metric strong { font-size: 21px; }
}
@media(prefers-reduced-motion:reduce) {
  body *, body *::before, body *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
