body { font-family: system-ui, "Microsoft YaHei", sans-serif; margin: 0; color: #1a1a1a; }
header { background: #1f2937; color: #fff; padding: 10px 20px; display: flex; align-items: center; gap: 14px; }
.back-btn { background: #374151; color: #e5e7eb; border: 1px solid #4b5563; border-radius: 6px; padding: 4px 10px; font-size: 13px; }
.back-btn:hover { background: #4b5563; }
.btn-latest-diff { display: inline-block; background: #2563eb; color: #fff; border: none;
  border-radius: 6px; padding: 7px 14px; font-size: 14px; text-decoration: none; cursor: pointer; }
.btn-latest-diff:hover { background: #1d4ed8; }
.btn-latest-diff[disabled] { background: #9ca3af; cursor: not-allowed; }
header a { color: #93c5fd; margin-left: 14px; }
main { padding: 20px 28px; max-width: 960px; }
textarea { width: 100%; box-sizing: border-box; }
.mono, pre { font-family: ui-monospace, Consolas, monospace; }
pre.diff { background: #f6f8fa; padding: 12px; overflow-x: auto; }
.badge { font-size: 12px; border-radius: 4px; padding: 1px 6px; background: #e5e7eb; }
.badge.published { background: #d1fae5; }
.badge.draft, .badge.submitted { background: #fef3c7; }
.badge.rejected, .badge.archived { background: #fee2e2; }
.muted { color: #6b7280; font-size: 13px; }
.actions { margin: 14px 0; display: flex; gap: 10px; align-items: center; }
.card { border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 16px; margin-bottom: 14px; }
.delta.add { color: #047857; } .delta.mod { color: #b45309; } .delta.del { color: #b91c1c; }
table { border-collapse: collapse; } td, th { border: 1px solid #e5e7eb; padding: 6px 10px; }
.block-table { width: 100%; margin-top: 8px; }
.block-table th { text-align: left; background: #f9fafb; }
.block-table td.ops { white-space: nowrap; }
.block-table td.ops a, .block-table td.ops button { margin-right: 8px; }
.login { margin-top: 80px; text-align: center; }
.error { color: #b91c1c; }
button { cursor: pointer; }
.doc-md { background: #f6f8fa; padding: 6px 18px; border-radius: 6px; margin-bottom: 14px; }
.doc-md h1 { font-size: 20px; } .doc-md h2 { font-size: 17px; } .doc-md h3 { font-size: 15px; }
.doc-md h1, .doc-md h2, .doc-md h3 { margin: 12px 0 6px; }
.doc-md p { margin: 8px 0; line-height: 1.6; }
.doc-md ul, .doc-md ol { padding-left: 22px; margin: 8px 0; }
.doc-md li { margin: 3px 0; line-height: 1.55; }
.doc-md code { background: #e5e7eb; padding: 1px 5px; border-radius: 4px;
  font-family: ui-monospace, Consolas, monospace; font-size: 13px; }
.doc-md pre { background: #e5e7eb; padding: 10px 12px; border-radius: 6px; overflow-x: auto; }
.doc-md pre code { background: none; padding: 0; }
.doc-md table { margin: 8px 0; background: #fff; }
.doc-md table th { background: #eceff3; }
.btn-page { display: inline-block; background: #fff; color: #1f2937; border: 1px solid #d1d5db;
  border-radius: 6px; padding: 6px 14px; font-size: 14px; text-decoration: none; cursor: pointer; }
.btn-page:hover { background: #f3f4f6; }
.badge.method-get { background: #d1fae5; color: #047857; }
.badge.method-post { background: #dbeafe; color: #1d4ed8; }
.badge.method-put { background: #fef3c7; color: #b45309; }
.badge.method-delete { background: #fee2e2; color: #b91c1c; }
.api-path { font-size: 15px; background: #f6f8fa; padding: 2px 8px; border-radius: 4px; }
.api-card { padding: 8px 16px; }
.api-summary { margin: 4px 0; }
.toggle-btn { min-width: 52px; }
.summary-bar { display: flex; gap: 14px; align-items: center; font-size: 15px; }
.badge.breaking { background: #fee2e2; color: #b91c1c; }
.badge.safe { background: #d1fae5; color: #047857; }
.cnt.add { color: #047857; } .cnt.mod { color: #b45309; } .cnt.del { color: #b91c1c; }
.delta-table .chg-removed .path, .delta-table .chg-removed .mono { color: #b91c1c; text-decoration: line-through; }
.delta-table .chg-added .path { color: #047857; }
.delta-table .chg-modified .path { color: #b45309; }
.line-add { color: #047857; background: #ecfdf5; }
.line-del { color: #b91c1c; background: #fef2f2; }
details.textdiff { margin: 14px 0; }
details.textdiff summary { cursor: pointer; font-weight: 600; }
.confirm-card { border: 2px solid #2563eb; margin-top: 14px; }
.breaking-warning { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b;
  border-radius: 8px; padding: 12px 14px; margin: 12px 0; }
#confirm-publish-btn { background: #2563eb; color: #fff; border: none; border-radius: 6px;
  padding: 7px 16px; }
#confirm-publish-btn[disabled] { background: #9ca3af; cursor: not-allowed; }
.btn-danger { background: #b91c1c; color: #fff; border: none; border-radius: 6px; padding: 5px 12px; }
.btn-danger:hover { background: #991b1b; }
.badge.completed { background: #d1fae5; color: #047857; }
.badge.incomplete { background: #f3f4f6; color: #6b7280; }
.config-json { background: #111827; color: #d1fae5; padding: 14px; border-radius: 8px; overflow-x: auto; }
