
:root {
  --ink:#1d1d1f;
  --muted:#1d1d1f;
  --subtle:#1d1d1f;
  --line: #e2e2e7;
  --canvas: #f5f5f7;
  --blue: #0066cc;
  --side: 242px;
  --radius: 18px;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; color: #68686e; background: #ececf0; border-color: #dedee4; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #0071e3; outline-offset: 3px; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }
svg.icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
button svg { pointer-events: none; }
input, select, textarea { min-width: 0; }
input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; }
::selection { background: #dbe9fc; }
.screen-reader { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--side); padding: 28px 16px 20px; background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; z-index: 30; overflow: auto; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; }
.brand-mark { width: 39px; height: 39px; border-radius: 12px; display: grid; place-items: center; background: #1d1d1f; color: white; flex: none; }
.brand-mark .icon { width: 25px; height: 25px; }
.brand strong { font-size: 16px; font-weight: 650; letter-spacing: -.5px; }
.brand small { display: block; color: var(--muted); font-size:13px; margin-top: 3px; }
.workspace { width: calc(100% - 8px); display: flex; align-items: center; gap: 9px; padding: 12px 10px; text-align: left; background: #f5f5f7; border: 1px solid #e7e7eb; border-radius: 11px; margin: 27px 4px 21px; }
.workspace-avatar { width: 32px; height: 32px; border: 1px solid #d9d9df; background: #fff; border-radius: 8px; display: grid; place-items: center; font-size: 13px; flex: none; }
.workspace strong { display: block; font-size: 13px; font-weight: 600; }
.workspace small { display: block; color: var(--muted); font-size:13px; margin-top: 3px; }
.workspace > .icon { width: 14px; margin-left: auto; color: var(--muted); }
.nav-label { color:#1d1d1f; font-size:13px; font-weight: 500; margin: 11px 13px 9px; }
.nav { display: grid; gap: 4px; }
.nav-link { width: 100%; display: flex; align-items: center; gap: 11px; padding: 10px 13px; min-height: 42px; border: 0; background: transparent; text-align: left; font-size: 14px; border-radius: 9px; color:#1d1d1f; }
.nav-link .icon { width: 18px; height: 18px; color:#1d1d1f; }
.nav-link:hover { background: #f5f5f7; }
.nav-link[aria-current=page] { color: #0057b0; background: #eaf2fd; font-weight: 600; }
.nav-link[aria-current=page] .icon { color: #0057b0; }
.nav-link .tag { margin-left: auto; border: 1px solid #d8e6f9; border-radius: 5px; padding: 1px 5px; color: #0057b0; background: #f3f7fe; font-size:13px; }
.side-foot { padding: 24px 11px 0; margin-top: auto; }
.side-state { color:#1d1d1f; font-size:13px; display: flex; align-items: center; gap: 7px; }
.side-foot small { color: var(--muted); font-size:13px; display: block; margin-top: 6px; }
.dot { width: 5px; height: 5px; border-radius: 50%; background: #73737c; flex: none; }
.shell { min-height: 100vh; margin-left: var(--side); display: flex; flex-direction: column; }
.topbar { height: 68px; padding: 0 34px; border-bottom: 1px solid var(--line); background: #ffffffef; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.breadcrumb { display: flex; align-items: center; gap: 12px; font-size: 13px; color:#1d1d1f; white-space: nowrap; }
.breadcrumb .slash { color:#1d1d1f; }
.breadcrumb strong { font-weight: 500; color: var(--ink); }
.top-actions { display: flex; align-items: center; gap: 16px; }
.quick-search { display: flex; align-items: center; gap: 8px; width: 183px; padding: 7px 10px; border: 1px solid #e0e0e6; border-radius: 8px; background: #fafafa; color:#1d1d1f; font-size:13px; }
.quick-search .icon { width: 15px; height: 15px; }
.quick-search kbd { margin-left: auto; border: 1px solid #d7d7de; border-radius: 4px; padding: 0 4px; font: inherit; font-size:13px; }
.icon-btn { display: grid; place-items: center; padding: 7px; border: 0; border-radius: 8px; background: transparent; color:#1d1d1f; }
.icon-btn:hover { background: #eeeeF2; }
.top-divider { width: 1px; height: 24px; background: var(--line); }
.account { display: flex; align-items: center; gap: 9px; padding: 0; border: 0; background: none; font-size: 13px; }
.avatar { width: 30px; height: 30px; border-radius: 50%; background: #efeff3; color:#1d1d1f; font-size:13px; display: grid; place-items: center; }
.account > .icon { width: 13px; color:#1d1d1f; }
.mobile-menu { display: none; }
main { flex: 1; width: 100%; max-width: 1680px; margin: 0 auto; padding: 34px 34px 29px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 27px; }
.eyebrow { font-size:13px; color:#1d1d1f; font-weight: 550; letter-spacing: .4px; margin-bottom: 7px; }
.page-heading h1 { font-size: 32px; line-height: 1.3; font-weight: 650; letter-spacing: -1px; outline: 0; }
.page-heading p.description { font-size: 14px; color:#1d1d1f; margin-top: 10px; }
.heading-actions { display: flex; align-items: center; gap: 10px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #d2d2d7; border-radius: 9px; background: #fff; padding: 9px 14px; min-height: 39px; font-size: 13px; font-weight: 500; white-space: nowrap; }
.btn .icon { width: 16px; height: 16px; }
.btn:hover:not(:disabled) { background: #f5f5f7; }
.btn.primary { color: #fff; background: #1d1d1f; border-color: #1d1d1f; }
.btn.primary:hover:not(:disabled) { background: #353537; }
.btn.blue { color: #fff; background: #0071e3; border-color: #0071e3; }
.btn.blue:hover:not(:disabled) { background: #0066cc; }
.btn.soft { background: #f5f5f7; border-color: #e1e1e7; color:#1d1d1f; }
.text-btn { display: inline-flex; align-items: center; gap: 5px; border: 0; background: none; color: #0066cc; font-size:13px; padding: 0; white-space: nowrap; }
.text-btn:hover { text-decoration: underline; }
.text-btn .icon { width: 14px; height: 14px; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 6px; color:#1d1d1f; background: #f0f0f4; font-size:13px; white-space: nowrap; }
.pill.blue { color: #0057b0; background: #ebf3ff; }
.pill .icon { width: 14px; height: 14px; }
.notice { display: flex; align-items: center; gap: 12px; padding: 14px 17px; border: 1px solid var(--line); border-radius: 11px; background: #fff; margin-bottom: 22px; }
.notice-icon { width: 34px; height: 34px; background: #f3f3f6; color:#1d1d1f; border-radius: 10px; display: grid; place-items: center; flex: none; }
.notice strong { display: block; font-size: 13px; font-weight: 550; color:#1d1d1f; }
.notice p { font-size:13px; color:#1d1d1f; margin-top: 3px; }
.notice .text-btn { margin-left: auto; }
.stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin-bottom: 23px; }
.stat { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 2px 8px #1d1d1f03; }
.stat-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; color:#1d1d1f; }
.stat-label .icon { width: 17px; height: 17px; color:#1d1d1f; }
.stat-value { color:#1d1d1f; font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -1px; margin: 13px 0 11px; }
.stat-note { display: flex; align-items: center; gap: 5px; font-size:13px; color:#1d1d1f; }
.stat-note .icon { width: 12px; height: 12px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(300px,1fr); gap: 20px; }
.card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 2px 8px #1d1d1f03; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 22px 23px 18px; }
.card-head h2 { font-size: 16px; font-weight: 600; letter-spacing: -.3px; }
.card-head p { font-size:13px; color:#1d1d1f; margin-top: 5px; }
.segmented { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid #e0e0e7; border-radius: 8px; background: #f0f0f4; }
.segmented button { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 0; border-radius: 5px; color:#1d1d1f; background: transparent; font-size:13px; white-space: nowrap; }
.segmented .icon { width: 15px; height: 15px; }
.segmented button[aria-pressed=true] { background: #fff; color:#1d1d1f; box-shadow: 0 1px 4px #1d1d1f12; }
.trend-meta { display: flex; align-items: center; gap: 7px; padding: 0 23px; font-size:13px; color:#1d1d1f; }
.legend-square { height: 7px; width: 7px; background: #36363c; border-radius: 2px; }
.legend-square.light { background: #a5a5b0; margin-left: 9px; }
.trend-meta .pill { margin-left: auto; }
.chart { height: 180px; position: relative; margin: 15px 23px 0 35px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top,transparent 0,transparent 44px,#efeff3 44px,#efeff3 45px); }
.chart-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 7px; color:#1d1d1f; font-size: 13px; }
.chart-empty .icon { height: 27px; width: 27px; color:#1d1d1f; }
.chart-empty small { font-size:13px; color:#1d1d1f; }
.chart-dates { display: flex; justify-content: space-between; padding: 11px 23px 20px 35px; font-size:13px; color:#1d1d1f; }
.update-card { background: linear-gradient(145deg,#fff 30%,#fafaff); }
.update-content { padding: 0 23px 23px; }
.update-app { display: flex; align-items: center; gap: 12px; margin: 4px 0 18px; }
.app-tile { height: 47px; width: 47px; border-radius: 14px; display: grid; place-items: center; background: #1d1d1f; color: #fff; flex: none; }
.app-tile .icon { height: 25px; width: 25px; }
.update-app strong { display: block; font-size: 15px; font-weight: 600; }
.update-app p { font-size:13px; color:#1d1d1f; margin-top: 4px; }
.version-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.version-pair label { display: block; font-size:13px; color:#1d1d1f; }
.version-pair strong { display: block; font-size: 21px; font-weight: 600; margin-top: 7px; }
.version-pair > div+div { border-left: 1px solid var(--line); padding-left: 20px; }
.update-policy { display: flex; align-items: center; gap: 6px; margin: 15px 0; color:#1d1d1f; font-size:13px; }
.update-policy .icon { height: 14px; width: 14px; }
.update-content > .btn { width: 100%; }
.lower-grid { margin-top: 20px; align-items: start; }
.table-tabs { display: flex; gap: 22px; padding: 0 23px; border-bottom: 1px solid var(--line); }
.table-tabs button { border: 0; padding: 0 0 13px; background: none; color:#1d1d1f; font-size: 13px; position: relative; }
.table-tabs button[aria-pressed=true] { font-weight: 600; color:#1d1d1f; }
.table-tabs button[aria-pressed=true]::after { content: ""; height: 2px; background: #1d1d1f; position: absolute; left: 0; right: 0; bottom: -1px; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13px; }
th { padding: 13px 19px; background: #fafafa; border-bottom: 1px solid var(--line); color:#1d1d1f; font-size:13px; font-weight: 500; white-space: nowrap; }
td { padding: 14px 19px; color:#1d1d1f; }
td.empty-cell { padding: 0; }
.empty { padding: 31px 20px 34px; color:#1d1d1f; text-align: center; }
.empty-art { width: 45px; height: 45px; border: 1px solid #e4e4e9; border-radius: 13px; background: #f5f5f7; color:#1d1d1f; display: grid; place-items: center; margin: 0 auto 13px; }
.empty-art .icon { width: 23px; height: 23px; }
.empty strong { display: block; color:#1d1d1f; font-size: 14px; font-weight: 550; }
.empty p { max-width: 440px; margin: 7px auto 0; color:#1d1d1f; font-size:13px; line-height: 1.9; }
.empty .btn { margin-top: 16px; }
.card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 23px; border-top: 1px solid var(--line); color:#1d1d1f; font-size:13px; }
.robot-visual { display: flex; align-items: center; gap: 12px; margin: 3px 23px 16px; }
.device-tile { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: #f5f5f7; color:#1d1d1f; flex: none; }
.robot-visual strong { display: block; font-size: 14px; font-weight: 550; }
.robot-visual p { font-size:13px; color:#1d1d1f; margin-top: 4px; }
.status-list { padding: 0 23px; }
.status-row { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--line); color:#1d1d1f; font-size: 13px; }
.status-row:last-child { border: 0; }
.status-row > strong { color:#1d1d1f; font-size: 13px; font-weight: 500; }
.robot-actions { display: flex; gap: 8px; padding: 14px 23px 22px; }
.robot-actions .btn { flex: 1; }
footer { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin: 0 34px; padding: 19px 0; border-top: 1px solid var(--line); color:#1d1d1f; font-size:13px; }
.footer-right { display: flex; align-items: center; gap: 12px; }
.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.input-wrap { display: flex; align-items: center; gap: 8px; min-width: 225px; min-height: 39px; padding: 8px 11px; background: #fff; border: 1px solid #d7d7de; border-radius: 8px; }
.input-wrap .icon { height: 16px; width: 16px; color:#1d1d1f; }
.input-wrap input { width: 100%; padding: 0; border: 0; outline: none; color: var(--ink); background: none; font-size: 13px; }
input::placeholder, textarea::placeholder { color:#1d1d1f; opacity: 1; }
.select { min-height: 39px; padding: 8px 28px 8px 11px; color:#1d1d1f; border: 1px solid #d7d7de; border-radius: 8px; background: #fff; font-size: 13px; }
.toolbar .right { margin-left: auto; }
.big-empty { padding: 59px 25px; }
.big-empty .empty-art { width: 55px; height: 55px; border-radius: 16px; margin-bottom: 16px; }
.big-empty .empty-art .icon { width: 28px; height: 28px; }
.big-empty strong { font-size: 16px; }
.big-empty p { max-width: 520px; font-size: 13px; }
.subnote { display: flex; align-items: flex-start; gap: 7px; margin: 17px 2px; color:#1d1d1f; font-size:13px; }
.subnote .icon { height: 14px; width: 14px; margin-top: 2px; }
.kanban { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.kanban-col { min-height: 270px; padding: 16px; border: 1px solid #dedee5; border-radius: 14px; background: #eeeeF2; }
.kanban-title { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 550; color:#1d1d1f; }
.kanban-title span:last-child { margin-left: auto; font-size:13px; }
.kanban-empty { min-height: 165px; margin-top: 17px; border: 1px dashed #c6c6d0; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: #f6f6f8; color:#1d1d1f; font-size:13px; }
.wide-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,1fr); gap: 20px; }
.history { margin-top: 22px; }
.chat-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); min-height: 470px; }
.chat-list { background: #fafafa; border-right: 1px solid var(--line); }
.chat-list .input-wrap { min-width: 0; margin: 17px; }
.chat-area { display: flex; flex-direction: column; }
.chat-title { padding: 18px 23px; color:#1d1d1f; font-size: 14px; border-bottom: 1px solid var(--line); }
.chat-area .empty { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.chat-footer { display: flex; align-items: center; gap: 7px; padding: 15px 23px; border-top: 1px solid var(--line); color:#1d1d1f; font-size:13px; }
.chat-footer .icon { width: 14px; height: 14px; }
.permissions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 22px; }
.permission-card { padding: 24px; }
.permission-icon { height: 40px; width: 40px; background: #f5f5f7; border: 1px solid #e3e3e9; border-radius: 12px; display: grid; place-items: center; color:#1d1d1f; margin-bottom: 15px; }
.permission-card h2 { font-size: 16px; font-weight: 600; }
.permission-card > p { color:#1d1d1f; font-size:13px; margin: 8px 0 19px; }
.permission-card ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.permission-card li { display: flex; align-items: flex-start; gap: 7px; color:#1d1d1f; font-size:13px; }
.permission-card li .icon { height: 14px; width: 14px; margin-top: 2px; color:#1d1d1f; }
.form-card { padding: 0 24px 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field label { display: block; color:#1d1d1f; font-size: 13px; font-weight: 550; margin-bottom: 8px; }
.field input, .field select, .field textarea { width: 100%; padding: 10px 12px; border: 1px solid #cfcfd6; border-radius: 9px; background: #fff; color:#1d1d1f; font-size: 14px; }
.field textarea { resize: vertical; min-height: 125px; line-height: 1.8; }
.field small { display: block; color:#1d1d1f; font-size:13px; margin-top: 7px; }
.field.full { grid-column: 1/-1; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 22px; }
.form-actions .form-hint { margin-right: auto; font-size:13px; color:#1d1d1f; }
.overlay { display: none; }
.toast { position: fixed; bottom: 29px; left: calc(50% + 121px); transform: translate(-50%,12px); opacity: 0; pointer-events: none; z-index: 100; max-width: min(570px,calc(100vw - 28px)); padding: 12px 19px; border-radius: 12px; color: #fff; background: #242426; font-size: 13px; box-shadow: 0 5px 22px #1d1d1f18; transition: opacity .15s,transform .15s; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
dialog { width: min(590px,calc(100vw - 28px)); padding: 0; border: 1px solid #dedee6; border-radius: 20px; color:#1d1d1f; box-shadow: 0 24px 90px #1d1d1f30; max-height: calc(100vh - 40px); overflow: auto; }
dialog::backdrop { background: #23232d40; backdrop-filter: blur(6px); }
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 25px 27px 18px; }
.dialog-head h2 { font-size: 21px; font-weight: 600; letter-spacing: -.5px; }
.dialog-body { padding: 0 27px 27px; }
.dialog-body > p { color:#1d1d1f; font-size: 14px; line-height: 1.9; }
.dialog-body .status-list { padding: 0; }
.dialog-body ol { padding-left: 21px; margin: 14px 0; color:#1d1d1f; font-size: 14px; line-height: 2.1; }
.policy-note { padding: 13px 15px; border-radius: 10px; background: #f5f5f7; color:#1d1d1f; font-size:13px; line-height: 1.8; }
.dialog-body .policy-note { margin-top: 16px; font-size: 13px; }
.search-results { display: grid; gap: 5px; margin-top: 16px; }
.search-result { display: flex; align-items: center; gap: 10px; padding: 12px 13px; border: 0; border-radius: 8px; background: none; color:#1d1d1f; text-align: left; font-size: 14px; }
.search-result:hover { background: #f0f0f4; }
.search-result > .icon:last-child { margin-left: auto; width: 15px; }
.preview-label { padding: 4px 9px; background: #f0f0f4; border: 1px solid #e0e0e6; border-radius: 6px; font-size:13px; color:#1d1d1f; }
/* 发布后台：上传、草稿和发布审核，以清楚的真实状态呈现。 */
.release-summary { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr); gap: 15px; margin-bottom: 22px; }
.release-summary-card { display: flex; align-items: center; gap: 13px; padding: 17px 20px; border: 1px solid var(--line); background: #fff; border-radius: 14px; }
.release-summary-card .summary-icon { width: 38px; height: 38px; border-radius: 11px; background: #f5f5f7; color:#1d1d1f; display: grid; place-items: center; flex: none; }
.release-summary-card label { display: block; font-size:13px; color:#1d1d1f; }
.release-summary-card strong { display: block; margin-top: 3px; font-size: 14px; font-weight: 550; color:#1d1d1f; }
.release-grid { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(284px,1fr); gap: 22px; align-items: start; }
.release-main { padding-bottom: 24px; }
.release-main .card-head { padding-bottom: 20px; }
.section-number { display: inline-grid; place-items: center; width: 23px; height: 23px; margin-right: 7px; border: 1px solid #dedee5; border-radius: 50%; font-size:13px; color:#1d1d1f; }
.release-main .section-title { font-size: 15px; font-weight: 600; margin: 26px 0 17px; letter-spacing: -.2px; }
.release-form-content { padding: 0 24px; }
.upload-dropzone { padding: 25px 20px 23px; border: 1.5px dashed #bdbdc8; border-radius: 13px; background: #fbfbfd; text-align: center; transition: background .15s,border-color .15s; }
.upload-dropzone.dragover { border-color: #0071e3; background: #f0f6ff; }
.upload-symbol { width: 42px; height: 42px; margin: 0 auto 10px; color: #0066cc; background: #eaf2fd; border-radius: 12px; display: grid; place-items: center; }
.upload-symbol .icon { width: 23px; height: 23px; }
.upload-dropzone h3 { color:#1d1d1f; font-size: 16px; font-weight: 550; letter-spacing: -.2px; }
.upload-dropzone p { font-size:13px; color:#1d1d1f; margin-top: 6px; }
.upload-dropzone .btn { margin-top: 15px; }
.upload-dropzone small { display: block; margin-top: 12px; color:#1d1d1f; font-size:13px; }
.upload-file-list { display: grid; gap: 8px; margin-top: 13px; }
.upload-file { display: flex; align-items: center; gap: 11px; padding: 12px; border: 1px solid #e1e1e8; border-radius: 10px; background: #fff; }
.file-type { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 8px; background: #f0f0f5; color:#1d1d1f; font-size:13px; font-weight: 650; flex: none; }
.file-meta { min-width: 0; flex: 1; }
.file-meta strong { display: block; font-size:13px; font-weight: 550; overflow-wrap: anywhere; }
.file-meta small { display: block; margin-top: 3px; font-size:13px; color:#1d1d1f; }
.upload-file .icon-btn { padding: 5px; }
.upload-file .icon-btn .icon { height: 16px; width: 16px; }
.release-side { display: grid; gap: 19px; }
.release-side .card-head { padding: 21px 21px 15px; }
.release-side-content { padding: 0 21px 21px; }
.release-review-row { display: flex; align-items: flex-start; gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.release-review-row:last-child { border: 0; }
.review-marker { width: 22px; height: 22px; flex: none; border: 1px solid #d2d2dc; color:#1d1d1f; border-radius: 50%; display: grid; place-items: center; margin-top: 2px; font-size:13px; }
.review-marker.ready { color: #0057b0; background: #eaf2fd; border-color: #d4e6ff; }
.review-marker .icon { width: 13px; height: 13px; }
.release-review-row strong { display: block; font-size: 13px; font-weight: 550; color:#1d1d1f; }
.release-review-row p { font-size:13px; color:#1d1d1f; margin-top: 3px; overflow-wrap: anywhere; }
.release-side-content .btn { width: 100%; margin-top: 17px; }
.release-side-content .text-btn { margin-top: 14px; }
.release-side .steps { display: grid; gap: 16px; padding: 0 21px 22px; }
.release-side .step { display: flex; align-items: flex-start; gap: 10px; }
.step-number { width: 23px; height: 23px; border: 1px solid #d2d2dc; border-radius: 50%; display: grid; place-items: center; font-size:13px; color:#1d1d1f; flex: none; }
.step strong { display: block; color:#1d1d1f; font-size: 13px; font-weight: 550; }
.step p { color:#1d1d1f; font-size:13px; margin-top: 3px; }
.release-bottom { display: flex; align-items: center; justify-content: space-between; gap: 13px; margin-top: 21px; }
.release-bottom p { color:#1d1d1f; font-size:13px; max-width: 280px; }
.release-error { color: #9e2525; font-size: 13px; margin-top: 15px; }
.release-error:empty { display: none; }
.draft-name { display: block; font-size: 14px; font-weight: 600; color:#1d1d1f; }
.draft-desc { display: block; font-size:13px; margin-top: 4px; color:#1d1d1f; }
.draft-actions { display: flex; gap: 13px; align-items: center; }
.review-details { padding: 3px 15px; border: 1px solid var(--line); border-radius: 11px; margin-top: 17px; }
.review-notes { color:#1d1d1f; font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; padding: 15px; border-radius: 10px; background: #f5f5f7; margin-top: 15px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.release-screen-note { margin-bottom: 22px; color:#1d1d1f; font-size:13px; display: flex; align-items: center; gap: 8px; }
.release-screen-note .icon { width: 15px; height: 15px; color:#1d1d1f; }
.release-main .field label .optional { font-size:13px; font-weight: 400; color:#1d1d1f; }
@media(max-width:1220px) {
  :root { --side: 224px; }
  .sidebar { padding-left: 12px; padding-right: 12px; }
  main { padding: 29px 25px; }
  .topbar { padding: 0 25px; }
  .brand strong { font-size: 15px; }
  .brand { gap: 9px; }
  .workspace small { font-size:13px; }
  .release-grid { grid-template-columns: minmax(0,1.7fr) minmax(270px,1fr); gap: 17px; }
  .release-summary-card { padding: 15px; gap: 10px; }
  .release-summary-card strong { font-size: 13px; }
  .release-form-content { padding: 0 21px; }
  .release-bottom { align-items: flex-start; }
  .quick-search { width: 160px; }
  .dashboard-grid { grid-template-columns: minmax(0,1.4fr) minmax(285px,1fr); gap: 17px; }
  .card-head { padding-left: 20px; padding-right: 20px; }
  .stat { padding: 17px; }
  .stat-label { font-size:13px; }
  .date-label { display: none; }
  footer { margin: 0 25px; }
  .toast { left: calc(50% + 112px); }
}
@media(max-width:1050px) {
  .release-grid, .wide-grid, .dashboard-grid { grid-template-columns: 1fr; }
  .release-side { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .release-summary { gap: 11px; }
  .release-summary-card .summary-icon { display: none; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .update-content { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
  .update-app { margin: 0; align-self: center; }
  .version-pair { border: 0; padding: 0; }
  .update-policy { margin: 0; }
  .update-content > .btn { align-self: center; }
  .kanban { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .permissions { gap: 12px; }
  .permission-card { padding: 19px; }
  .chat-layout { grid-template-columns: 215px minmax(0,1fr); }
}
@media(max-width:760px) {
  :root { --side: 242px; }
  .sidebar { transform: translateX(-100%); visibility: hidden; transition: transform .2s; }
  .sidebar.open { transform: translateX(0); visibility: visible; }
  .shell { margin-left: 0; }
  .mobile-menu { display: grid; padding: 5px; }
  .topbar { height: 59px; padding: 0 16px; }
  .breadcrumb { font-size:13px; gap: 8px; }
  .breadcrumb > span:first-of-type, .breadcrumb .slash { display: none; }
  .top-actions { gap: 10px; }
  .quick-search { width: auto; border: 0; background: none; padding: 5px; }
  .quick-search .icon { width: 18px; height: 18px; }
  .quick-search .search-text, .quick-search kbd, .account-label, .account > .icon, .top-divider { display: none; }
  main { padding: 27px 18px; }
  .page-heading { align-items: flex-start; flex-wrap: wrap; gap: 17px; margin-bottom: 22px; }
  .page-heading h1 { font-size: 29px; }
  .page-heading p.description { font-size: 13px; max-width: 340px; }
  .heading-actions { gap: 9px; width: 100%; }
  .heading-actions .btn { flex: 1; }
  .heading-actions .text-btn { font-size:13px; }
  .notice { padding: 13px; gap: 10px; }
  .notice .text-btn { display: none; }
  .notice p { font-size:13px; }
  .notice strong { font-size:13px; }
  .notice-icon { width: 29px; height: 29px; }
  .stats { gap: 12px; }
  .stat { padding: 17px 15px; }
  .stat-value { font-size: 29px; }
  .stat-label { font-size:13px; }
  .stat-note { font-size:13px; }
  .card-head { padding: 20px 18px 17px; flex-wrap: wrap; }
  .card-head h2 { font-size: 15px; }
  .card-head p { font-size:13px; }
  .segmented button { font-size:13px; padding: 6px 8px; }
  .trend-meta { padding: 0 18px; font-size:13px; gap: 5px; }
  .chart { margin: 15px 18px 0 24px; height: 170px; }
  .chart-empty { font-size:13px; }
  .chart-empty small { font-size:13px; }
  .chart-dates { padding: 11px 18px 19px 24px; font-size:13px; }
  .update-content { padding: 0 18px 20px; grid-template-columns: 1fr; gap: 16px; }
  .version-pair { padding: 0 0 15px; border-bottom: 1px solid var(--line); }
  .release-summary { grid-template-columns: 1fr; gap: 10px; }
  .release-summary-card { padding: 13px 16px; gap: 12px; }
  .release-summary-card .summary-icon { display: grid; width: 33px; height: 33px; }
  .release-summary-card > div:last-child { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .release-summary-card strong { margin-top: 0; font-size:13px; text-align: right; }
  .release-grid { gap: 18px; }
  .release-main { padding-bottom: 21px; }
  .release-form-content { padding: 0 18px; }
  .upload-dropzone { padding: 23px 15px; }
  .release-main .section-title { margin-top: 24px; }
  .form-grid { grid-template-columns: 1fr; gap: 19px; }
  .field input, .field select, .field textarea { font-size: 14px; }
  .release-bottom { flex-wrap: wrap; gap: 13px; }
  .release-bottom p { max-width: none; }
  .release-bottom .btn { width: 100%; }
  .release-side { grid-template-columns: 1fr; }
  .release-screen-note { font-size:13px; align-items: flex-start; }
  .release-screen-note .icon { margin-top: 2px; }
  .upload-file { gap: 8px; padding: 10px; }
  .upload-file .pill { font-size:13px; padding: 3px 5px; }
  .file-meta strong { font-size:13px; }
  .file-meta small { font-size:13px; }
  .toolbar .input-wrap { width: 100%; min-width: 0; }
  .toolbar .select { flex: 1; }
  .toolbar .right { margin-left: 0; }
  .table-wrap table { min-width: 640px; }
  .table-wrap table.draft-table { min-width: 780px; }
  .table-wrap:has(td.empty-cell) table { min-width: 0; }
  .table-wrap:has(td.empty-cell) th { font-size:13px; padding: 10px 7px; }
  .empty { padding: 29px 18px; }
  .empty p { font-size:13px; }
  .empty strong { font-size: 13px; }
  .big-empty { padding: 43px 20px; }
  .big-empty p { font-size:13px; }
  .big-empty strong { font-size: 15px; }
  .kanban { gap: 12px; }
  .kanban-col { min-height: 225px; padding: 13px; }
  .kanban-empty { min-height: 135px; font-size:13px; }
  .permissions { grid-template-columns: 1fr; }
  .permission-card { padding: 22px; }
  .permission-card ul { grid-template-columns: 1fr 1fr; gap: 12px; }
  .chat-layout { grid-template-columns: 1fr; }
  .chat-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .chat-list .empty { display: none; }
  .chat-area { min-height: 370px; }
  .chat-footer { font-size:13px; padding: 14px 18px; }
  .form-card { padding: 0 18px 21px; }
  .form-actions { flex-wrap: wrap; }
  .subnote { font-size:13px; }
  .overlay.open { display: block; position: fixed; inset: 0; z-index: 25; background: #23232d40; }
  .toast { left: 50%; width: max-content; bottom: 21px; font-size:13px; text-align: center; }
  footer { font-size:13px; margin: 0 18px; }
  .footer-right > span:first-child { display: none; }
  .dialog-head { padding: 23px 21px 17px; }
  .dialog-body { padding: 0 21px 23px; }
  .dialog-head h2 { font-size: 19px; }
  .dialog-actions { flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
  
    /* 易读苹果风：正文和说明保持近黑，层级使用字号、字重和留白。 */
    :root{--ink:#1d1d1f;--muted:#1d1d1f;--subtle:#1d1d1f;--blue:#0066cc;--radius:20px}
    body{font-size:14px}.shell,main,.dashboard-grid>*,.wide-grid>*,.stats>*,.permissions>*,.form-grid>*,.chat-area,.chat-list{min-width:0}.sidebar{padding-top:27px;padding-bottom:22px;overscroll-behavior:contain}.brand-mark{border-radius:13px}.brand strong{font-size:17px;font-weight:750}.brand small{font-size:13px;font-weight:500;letter-spacing:.4px}.workspace{border-radius:14px;padding:13px 11px}.workspace-avatar{border-radius:10px;font-weight:700}.workspace strong{font-size:13px;font-weight:700}.workspace small{font-size:13px}.nav-label{font-size:13px;font-weight:650;letter-spacing:.6px}.nav-link{font-size:14px;font-weight:600;border-radius:12px;min-height:44px;padding:11px 13px}.nav-link[aria-current=page]{font-weight:750}.nav-link .tag{border-radius:7px;font-size:13px;font-weight:650;padding:2px 6px}.side-state,.side-foot small{font-size:13px;color:#1d1d1f;line-height:1.85}.side-state{font-weight:600}.topbar{height:72px}.breadcrumb{font-size:13px;font-weight:500;color:#1d1d1f}.breadcrumb strong{font-weight:700}.quick-search{border-radius:11px;font-size:13px;padding:8px 11px;min-height:37px;width:185px}.quick-search kbd{font-size:13px;border-radius:5px}.icon-btn{border-radius:10px;color:#1d1d1f}.account{font-size:13px;font-weight:650}.avatar{font-size:13px;font-weight:700}.page-heading{align-items:flex-start;gap:20px}.page-heading>div{min-width:0}.page-heading h1{font-size:29px;font-weight:750;line-height:1.4}.eyebrow{font-size:13px;color:#1d1d1f;font-weight:650;letter-spacing:.8px}.page-heading p.description{font-size:13px;color:#1d1d1f;line-height:1.85;margin-top:9px}.heading-actions{flex-wrap:wrap;justify-content:flex-end;flex:none}.btn{border-radius:12px;font-size:13px;font-weight:650;min-height:40px;padding:10px 14px;color:#1d1d1f}.btn.soft{color:#1d1d1f}.btn.primary{color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.12)}.text-btn{font-size:13px;font-weight:650;color:#1d1d1f}.pill,.pill.blue{font-size:13px;font-weight:600;border-radius:8px;padding:4px 8px;color:#1d1d1f}.notice{border-radius:16px;padding:16px;align-items:flex-start}.notice-icon{border-radius:11px;flex:none;color:#1d1d1f}.notice>div{min-width:0}.notice strong{font-size:13px;font-weight:700;color:#1d1d1f}.notice p{font-size:13px;line-height:1.8;margin-top:4px;color:#1d1d1f}.notice .text-btn{align-self:center;flex:none}.stat{padding:20px;border-radius:20px;box-shadow:0 4px 18px rgba(0,0,0,.03)}.stat-label{font-size:13px;font-weight:650;color:#1d1d1f;gap:8px}.stat-value{font-size:34px;font-weight:750;color:#1d1d1f}.stat-note{font-size:13px;line-height:1.75;color:#1d1d1f;align-items:flex-start}.stat-note .icon{flex:none;margin-top:4px}.card{border-radius:20px;box-shadow:0 4px 18px rgba(0,0,0,.03)}.card-head{align-items:flex-start}.card-head h2{font-size:16px;font-weight:700}.card-head p{font-size:13px;color:#1d1d1f;line-height:1.8;margin-top:5px}.card-head>div{min-width:0}.segmented{border-radius:11px;padding:4px;flex:none}.segmented button{font-size:13px;color:#1d1d1f;border-radius:8px;padding:6px 10px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.segmented button[aria-pressed=true]{color:#1d1d1f;font-weight:700}.trend-meta{font-size:13px;color:#1d1d1f;flex-wrap:wrap;row-gap:8px}.chart-empty{font-size:13px;color:#1d1d1f}.chart-empty small{font-size:13px;color:#1d1d1f;line-height:1.8}.chart-dates{font-size:13px;color:#1d1d1f;gap:7px;flex-wrap:wrap}.update-app>div{min-width:0}.update-app strong{font-size:15px;font-weight:700}.update-app p{font-size:13px;color:#1d1d1f;line-height:1.8}.app-tile{border-radius:15px;flex:none}.version-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.version-pair label{font-size:13px;font-weight:600;color:#1d1d1f}.version-pair strong{font-size:20px;font-weight:750;overflow-wrap:anywhere}.update-policy{font-size:13px;color:#1d1d1f;line-height:1.8;align-items:flex-start}.update-policy .icon{flex:none;margin-top:4px}.update-content>.btn{min-height:40px}.table-tabs button{font-size:13px;color:#1d1d1f;font-weight:600;padding-bottom:13px}.table-tabs button[aria-pressed=true]{font-weight:750}.table-wrap{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.table-wrap table{min-width:640px}table{font-size:13px}th{font-size:13px;font-weight:700;color:#1d1d1f;padding:13px 17px}td{color:#1d1d1f;padding:14px 17px;line-height:1.8}.empty{color:#1d1d1f;line-height:1.85;padding:31px 22px}.empty-art{border-radius:15px;color:#1d1d1f}.empty strong{font-size:14px;font-weight:700;color:#1d1d1f}.empty p{font-size:13px;color:#1d1d1f;line-height:1.85;margin-top:8px}.card-foot{font-size:13px;color:#1d1d1f;line-height:1.8;flex-wrap:wrap;gap:8px}.robot-visual .device-tile{border-radius:13px;flex:none;color:#1d1d1f}.robot-visual strong{font-size:13px;font-weight:700;color:#1d1d1f}.robot-visual p{font-size:13px;color:#1d1d1f;line-height:1.8}.status-row{font-size:13px;color:#1d1d1f;padding:13px 0}.status-row>strong{font-size:13px;font-weight:650;color:#1d1d1f}.robot-actions .btn{min-width:0}.toolbar{gap:11px;min-width:0}.input-wrap{border-radius:12px;padding:9px 12px;min-height:40px;min-width:0;width:280px;max-width:100%}.input-wrap input{font-size:13px;color:#1d1d1f}.input-wrap input::placeholder{color:#1d1d1f;opacity:1}.select{border-radius:12px;font-size:13px;color:#1d1d1f;min-height:40px;padding:10px 32px 10px 12px;max-width:100%}.big-empty{padding:50px 24px}.big-empty strong{font-size:16px;font-weight:700}.big-empty p{font-size:13px;color:#1d1d1f;line-height:1.9}.subnote{font-size:13px;color:#1d1d1f;line-height:1.9}.subnote .icon{flex:none;margin-top:5px}.kanban-col{border-radius:17px;min-width:0}.kanban-title{font-size:13px;font-weight:700;color:#1d1d1f;flex-wrap:wrap}.kanban-title span:last-child{font-size:13px;color:#1d1d1f}.kanban-empty{border-radius:13px;font-size:13px;color:#1d1d1f}.update-hero{border-radius:20px}.update-hero-top>div{min-width:0}.update-hero-top h2{font-size:21px;font-weight:700}.update-hero-top p{font-size:13px;color:#1d1d1f;line-height:1.8}.release-notice{font-size:13px;color:#1d1d1f;line-height:1.8;border-radius:13px;align-items:flex-start}.release-notice .icon{flex:none;margin-top:4px}.steps{gap:15px}.step{min-width:0}.step-number{font-size:13px;font-weight:700;width:28px;height:28px;color:#1d1d1f}.step strong{font-size:13px;font-weight:700;color:#1d1d1f}.step p{font-size:13px;color:#1d1d1f;line-height:1.85}.preference-row{gap:17px}.preference-row>div{min-width:0}.preference-row strong{font-size:13px;font-weight:650;color:#1d1d1f}.preference-row small{font-size:13px;color:#1d1d1f;line-height:1.8}.policy-note{font-size:13px;color:#1d1d1f;border-radius:12px;line-height:1.9;padding:13px 15px}.chat-title{font-size:13px;font-weight:650;color:#1d1d1f}.chat-footer{font-size:13px;color:#1d1d1f;line-height:1.8}.permission-card h2{font-size:16px;font-weight:700}.permission-card>p{font-size:13px;color:#1d1d1f;line-height:1.8}.permission-card li{font-size:13px;color:#1d1d1f;line-height:1.8}.permission-card li .icon{flex:none;margin-top:5px;color:#1d1d1f}.permission-icon{border-radius:13px;color:#1d1d1f}.field label{font-size:13px;font-weight:650;color:#1d1d1f}.field input,.field select{font-size:13px;border-radius:12px;color:#1d1d1f;padding:11px 13px;min-width:0}.field small{font-size:13px;color:#1d1d1f;line-height:1.85}.field{min-width:0}.toast{border-radius:14px;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.16)}dialog{border-radius:21px;max-height:calc(100dvh - 40px);box-shadow:0 24px 90px rgba(0,0,0,.18)}.dialog-head h2{font-size:20px;font-weight:700}.dialog-body>p,.dialog-body ol,.dialog-body .policy-note{font-size:13px;color:#1d1d1f;line-height:1.9}.dialog-body .status-row{font-size:13px}.search-result{font-size:13px;font-weight:600;color:#1d1d1f;border-radius:11px}.search-results>p{color:#1d1d1f!important;font-size:13px!important}.preview-label{font-size:13px;font-weight:600;color:#1d1d1f;border-radius:8px}footer{font-size:13px;color:#1d1d1f;line-height:1.8;flex-wrap:wrap}.footer-right{flex-wrap:wrap}input::placeholder{color:#1d1d1f;opacity:1}button:disabled{color:#5c5c64;opacity:.6}.btn.primary:disabled{color:#fff}
    @media(min-width:1024px) and (max-width:1280px){main{padding:28px 25px}.page-heading p.description{max-width:500px}.heading-actions{gap:8px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{padding:18px 15px}.stat-label{font-size:13px}.stat-note{font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:17px}.wide-grid{grid-template-columns:minmax(0,1.3fr) minmax(295px,1fr);gap:17px}.card-head{padding:18px}.segmented button{font-size:13px;padding:6px 8px}.quick-search{width:155px}.version-pair{gap:11px}.version-pair>div+div{padding-left:14px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:19px}.permission-card{padding:20px}.toolbar .input-wrap{width:250px}.toolbar .right{margin-left:0}}
    @media(max-width:1023px){.dashboard-grid,.wide-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-wrap:wrap}.heading-actions{justify-content:flex-start}.permissions{grid-template-columns:1fr}.permission-card ul{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}.card-head{flex-wrap:wrap}.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.toolbar .right{margin-left:0}}
    @media(max-width:760px){.page-heading h1{font-size:26px}.page-heading p.description{font-size:13px;max-width:none}.heading-actions{width:100%;justify-content:flex-start;gap:9px}.heading-actions .btn{font-size:13px;padding:9px 12px}.breadcrumb{font-size:13px}.topbar{height:62px}.notice{padding:14px}.notice p{font-size:13px;max-width:none}.stat{padding:17px 15px}.stat-label{font-size:13px}.stat-value{font-size:30px}.stat-note{font-size:13px}.card-head h2{font-size:16px}.card-head p{font-size:13px}.update-content{display:block}.update-app{margin:2px 0 18px}.update-app strong{font-size:15px}.update-app p{font-size:13px}.version-pair{padding:0 0 17px}.version-pair strong{font-size:20px}.update-policy{font-size:13px;margin:13px 0 16px}.update-content>.btn{width:100%}.card-foot{font-size:13px}.empty strong{font-size:14px}.empty p{font-size:13px}.big-empty strong{font-size:16px}.big-empty p{font-size:13px}.toolbar .input-wrap{width:100%}.toolbar .select{font-size:13px;min-width:135px}.step strong{font-size:13px}.step p{font-size:13px}.update-hero-top h2{font-size:21px}.update-hero-top p{font-size:13px}.hero-actions .btn{font-size:13px}.subnote{font-size:13px}.table-wrap table{min-width:640px}.chat-title{font-size:13px}.chat-footer{font-size:13px}.toast{font-size:13px}.sidebar{box-shadow:12px 0 36px rgba(0,0,0,.14)}.permissions ul{grid-template-columns:1fr}.kanban-col{padding:15px}.kanban-empty{font-size:13px}footer{font-size:13px;gap:8px}.footer-right{gap:9px}.notice>div{flex:1}}
    @media(max-width:390px){.page-heading h1{font-size:25px}.page-heading p.description{max-width:none}.stat{padding:15px 13px}.stat-note{font-size:13px}.stats{gap:10px}.kanban{grid-template-columns:1fr}.top-actions{gap:5px}.quick-search{padding:5px}.steps{grid-template-columns:1fr 1fr}.chart-dates{font-size:13px}}

  
    /* 大小底线：正文15px，输入与业务数据14px，辅助说明至少13px。 */
    body{font-size:15px}table,.input-wrap input,.select,.field input,.field select,.dialog-body>p,.dialog-body ol,.dialog-body .policy-note,.status-row,.status-row>strong,.chat-title,.permission-card li,.notice strong,.release-notice,.preference-row strong,.empty strong,.big-empty p,.update-hero-top p,.robot-visual strong{font-size:14px}.btn,.text-btn,.table-tabs button,.account{font-size:14px}.btn{padding:10px 15px}.stat-label,.stat-note,.card-head p,.page-heading p.description,.notice p,.empty p,.policy-note,.step p,.field small,.chat-footer,.preference-row small,.side-state,.side-foot small,.update-policy,.robot-visual p,.update-app p,.chart-empty small,.card-foot,.subnote,.version-pair label,th{font-size:13px}.nav-link{font-size:14px}.search-result{font-size:14px}.search-results>p{font-size:14px!important}.card-head h2{font-size:16px}.step strong{font-size:14px}.segmented button{font-size:13px}
    @media(max-width:760px){body{font-size:15px}.page-heading p.description,.card-head p,.notice p,.stat-label,.stat-note,.empty p,.update-app p,.update-policy,.card-foot,.step p,.chat-footer,.subnote,footer{font-size:13px}.heading-actions .btn,.hero-actions .btn,.btn,.text-btn,.toolbar .select,.chat-title,.status-row,.status-row>strong,.big-empty p,.update-hero-top p{font-size:14px}.step strong{font-size:14px}.card-head{padding:19px 17px}.page-heading h1{font-size:27px}}

.financial-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}@media(max-width:620px){.financial-stats{grid-template-columns:minmax(0,1fr)!important}}
    /* 窄屏固定搜索和账号按钮宽度，避免顶部控件挤出页面。 */
    @media(max-width:760px){
      .topbar .top-actions{gap:8px;flex-shrink:0}
      .topbar .quick-search{width:30px;min-width:30px;max-width:30px;flex:0 0 30px;padding:5px;justify-content:center}
      .topbar .account{width:30px;flex:none}
      .topbar .account>span:not(.avatar){display:none}
      .topbar .top-actions>.icon-btn{padding:5px}
    }
[hidden]{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:min(450px,100%);background:#fff;border:1px solid var(--line);border-radius:25px;padding:35px;box-shadow:0 12px 55px rgba(0,0,0,.05)}.login-card h1{font-size:27px;margin:20px 0 10px;font-weight:750}.login-card>p{font-size:14px;line-height:1.85;margin-bottom:22px}.login-card .field{display:block;font-size:14px;font-weight:650;margin-top:17px}.login-card input{display:block;margin-top:7px;width:100%}.login-card>.btn{width:100%;margin-top:17px}.form-error{color:#a13c3c!important;min-height:21px;font-size:14px}.workspace select{width:100%;padding:9px 7px;margin-top:7px;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:10px}.workspace>div{width:100%;min-width:0}.plain-icon{display:grid;place-items:center;height:26px;width:26px;flex:none;font-weight:700;font-size:15px;background:#f2f2f5;border-radius:9px}.business-actions{display:flex;gap:7px;flex-wrap:wrap}.business-actions .btn{font-size:13px;padding:7px 10px;min-height:34px}.record-card{margin-bottom:22px}.data-table{min-width:760px}.data-table td{vertical-align:top;font-size:14px}.data-table small{display:block;font-size:13px;margin-top:5px;color:#1d1d1f;overflow-wrap:anywhere}.preformatted{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.85 ui-monospace,SFMono-Regular,Consolas,"Microsoft YaHei",monospace;color:#1d1d1f;border:1px solid var(--line);background:#fafafa;border-radius:13px;padding:16px;max-height:380px;overflow:auto}.check-field{display:flex;align-items:flex-start;gap:8px;font-size:14px;margin:14px 0}.check-field input{width:17px;height:17px;flex:none;margin-top:4px;accent-color:#1d1d1f}.field textarea{font:14px/1.8 inherit;width:100%;min-height:110px;padding:11px 13px;border:1px solid #ddd;border-radius:12px;resize:vertical;color:#1d1d1f}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.split-fields .full{grid-column:1/-1}.detail-grid{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;padding:5px 15px;margin-bottom:18px}.detail-grid>div{display:flex;justify-content:space-between;gap:15px;font-size:14px;border-bottom:1px solid var(--line);padding:11px 0;overflow-wrap:anywhere}.detail-grid>div:last-child{border:0}.detail-grid strong{font-weight:700;text-align:right}.private-item{border:1px solid var(--line);border-radius:13px;padding:15px;margin-bottom:12px}.private-item p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px}.private-item small{display:block;font-size:13px;margin-bottom:7px}.draft-card{padding:20px;border:1px solid var(--line);background:#fff;border-radius:17px;margin:15px 0}.draft-card strong{font-weight:700}.draft-card .btn{margin-top:12px}.side-foot .btn{margin-top:15px;width:100%}.page-heading p{font-size:14px;line-height:1.85;margin-top:8px}.field{margin-bottom:16px}.notice strong{font-weight:700}.card{min-width:0}.status-tag{font-size:13px;border-radius:8px;padding:5px 8px;background:#f2f2f5;white-space:nowrap;display:inline-block}.status-tag.error{background:#fceeed;color:#903a3a}.stats .stat-value{font-size:31px}.section-note{font-size:14px;line-height:1.85;margin:14px 0}.detail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.toggle-permission{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.upload-input{padding:20px;border:1px dashed #c9c9d1;border-radius:16px;background:#fafafa;width:100%;margin:13px 0}.summary-highlight{font-size:16px;font-weight:700}.topbar,.heading-actions{min-width:0}.toolbar .input-wrap input{color:#1d1d1f}.notice{overflow-wrap:anywhere}#editor{width:min(700px,calc(100vw - 28px))}#editor-submit[hidden]{display:none!important}
@media(max-width:760px){.split-fields{grid-template-columns:1fr}.toggle-permission{grid-template-columns:1fr}.login-card{padding:27px}.detail-grid>div{flex-wrap:wrap}.detail-grid strong{text-align:left}.page-heading h1{font-size:27px}.private-item p{font-size:14px}.data-table{min-width:760px}.heading-actions{width:100%;justify-content:flex-start}.sidebar{visibility:hidden}.sidebar.open{visibility:visible}}
