:root { --ink:#17212b; --muted:#6d7985; --line:#d9e0e6; --paper:#f7f8fa; --blue:#2365d1; --blue-soft:#eaf1ff; --green:#18794e; --green-soft:#e7f6ed; --yellow:#976b00; --yellow-soft:#fff6d9; --red:#a53232; --red-soft:#fff0f0; --black:#211c2b; --shadow:0 10px 30px rgba(20,35,55,.08); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; line-height:1.55; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; border:0; border-radius:8px; padding:9px 14px; background:var(--blue); color:white; font-weight:600; }
button.secondary { color:var(--ink); background:#eef1f4; }
button.danger { background:var(--red); }
button.small { font-size:12px; padding:5px 9px; }
.button-link { display:inline-block; border-radius:8px; padding:9px 14px; background:var(--blue); color:white; font-weight:600; text-decoration:none; }
.complaint-card { margin-bottom:14px; }
.correction-fields, .revision-detail-fields { display:grid; gap:12px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#fbfcfd; }
.inline-editor { margin:9px 0; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fbfcfd; }
.inline-editor summary { cursor:pointer; color:var(--blue); font-weight:700; }
.inline-editor form { margin-top:10px; }
.preview-banner { position:sticky; top:0; z-index:10; padding:10px 18px; color:#5f4700; background:#fff0b8; border-bottom:1px solid #e5c75c; text-align:center; font-weight:700; }
.submission-panel, .history-panel { max-width:480px; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:#fbfcfd; font-size:12px; }
.submission-panel code, .history-panel code { overflow-wrap:anywhere; }
.history-panel { margin-top:8px; }
.history-panel summary { cursor:pointer; color:var(--blue); font-weight:700; }
.ai-policy-fields { margin:14px 0; padding:14px; border:1px solid #cbd8ef; border-radius:10px; background:var(--blue-soft); }
.ai-policy-fields legend { padding:0 6px; color:var(--blue); font-weight:800; }
.ai-workbench { border:2px solid #cbd8ef; }
.ai-materials { display:grid; gap:8px; margin-bottom:18px; }
.ai-material-choice { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:#fbfcfd; }
.ai-material-choice .muted { margin-right:auto; }
.ai-candidates { display:grid; gap:12px; }
.ai-candidate { padding:14px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.ai-candidate.ai-high-risk { border:2px solid var(--red); background:var(--red-soft); }
.ai-candidate .claim-text { margin:8px 0; }
.ai-candidate blockquote.ai-evidence { border-left-color:var(--blue); background:var(--blue-soft); }
.ai-candidate-form, .ai-promote-form { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.correction-record { border:2px solid var(--red); border-radius:10px; padding:15px; background:var(--red-soft); margin:12px 0; }
.correction-record h3 { margin:0 0 8px; color:var(--red); }
blockquote { margin:8px 0; padding:8px 12px; border-left:3px solid #9eacba; background:#f6f8fa; }
a { color:var(--blue); }
.loading, .login-card { max-width:480px; margin:12vh auto; padding:32px; background:white; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
.login-card h1 { margin-top:0; }
.shell { min-height:100vh; }
.topbar { height:68px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:white; }
.brand { font-weight:800; font-size:19px; letter-spacing:.02em; }
.brand span { color:var(--blue); }
.topbar .identity { color:var(--muted); font-size:13px; display:flex; gap:12px; align-items:center; }
.layout { display:grid; grid-template-columns:215px 1fr; min-height:calc(100vh - 68px); }
.sidebar { padding:20px 14px; border-right:1px solid var(--line); background:white; }
.nav { display:grid; gap:6px; }
.nav button { text-align:left; color:var(--muted); background:transparent; font-weight:600; }
.nav button.active, .nav button:hover { background:var(--blue-soft); color:var(--blue); }
.main { max-width:1400px; width:100%; padding:28px 34px 60px; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:22px; }
.page-head h1 { margin:0 0 5px; font-size:28px; }
.muted { color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { background:white; border:1px solid var(--line); border-radius:13px; padding:19px; box-shadow:0 4px 15px rgba(20,35,55,.03); }
.card h2, .card h3 { margin:0 0 13px; }
.metric { font-size:30px; font-weight:800; }
.metric-label { color:var(--muted); font-size:13px; }
.section { margin-top:20px; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:10px; }
table { width:100%; border-collapse:collapse; background:white; font-size:13px; }
th, td { padding:11px 12px; border-bottom:1px solid #edf0f2; text-align:left; vertical-align:top; }
th { color:var(--muted); font-weight:700; background:#fbfcfd; white-space:nowrap; }
tr:last-child td { border-bottom:0; }
.badge { display:inline-block; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:700; background:#eef1f4; color:var(--muted); white-space:nowrap; }
.badge.green { color:var(--green); background:var(--green-soft); } .badge.yellow { color:var(--yellow); background:var(--yellow-soft); } .badge.red { color:var(--red); background:var(--red-soft); } .badge.black { color:#fff; background:var(--black); }
.warning { padding:10px 12px; border-left:3px solid #d59900; background:var(--yellow-soft); color:#765500; font-size:13px; margin:8px 0; }
.error { padding:11px 13px; border-left:3px solid var(--red); background:var(--red-soft); color:#8d2424; font-size:13px; margin:9px 0; }
.success { padding:11px 13px; border-left:3px solid var(--green); background:var(--green-soft); color:#14643f; font-size:13px; margin:9px 0; }
form { display:grid; gap:12px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
label { display:grid; gap:5px; color:#47535e; font-size:13px; font-weight:600; }
input, textarea, select { width:100%; padding:9px 10px; border:1px solid #cbd4dc; border-radius:8px; color:var(--ink); background:#fff; }
textarea { min-height:90px; resize:vertical; }
.actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.detail-layout { display:grid; grid-template-columns:260px minmax(0,1fr) 320px; gap:16px; align-items:start; }
.sticky { position:sticky; top:15px; }
.list { display:grid; gap:7px; }
.list-item { padding:11px; border:1px solid var(--line); border-radius:9px; background:white; cursor:pointer; }
.list-item:hover, .list-item.selected { border-color:var(--blue); background:var(--blue-soft); }
.claim { padding:14px; border:1px solid var(--line); border-radius:10px; background:#fff; margin:10px 0; }
.claim-header { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.claim-text { font-weight:700; }
.evidence { border-left:3px solid #b6c3d4; padding:8px 10px; margin-top:9px; background:#f8fafc; font-size:13px; }
.evidence.refutes { border-color:var(--red); background:var(--red-soft); }
.evidence.supports { border-color:var(--green); background:var(--green-soft); }
.public { max-width:1080px; margin:0 auto; padding:25px 20px 60px; }
.public-header { background:#13243b; color:white; padding:40px 42px; border-radius:0 0 16px 16px; }
.public-header h1 { font-size:36px; line-height:1.25; margin:10px 0; }
.public-header p { color:#d6e2f1; font-size:17px; }
.public-section { margin-top:18px; background:white; border:1px solid var(--line); border-radius:13px; padding:22px; }
.public-section h2 { margin:0 0 13px; font-size:20px; }
.fact { border-left:4px solid var(--green); padding:10px 13px; background:var(--green-soft); margin:9px 0; }
.statement { border-left:4px solid #d59900; padding:10px 13px; background:var(--yellow-soft); margin:9px 0; }
.analysis { border-left:4px solid var(--blue); padding:10px 13px; background:var(--blue-soft); margin:9px 0; }
.withdrawn { border:2px solid var(--red); padding:25px; background:var(--red-soft); border-radius:12px; }
.timeline-item { border-left:2px solid #cdd6df; padding:4px 0 12px 16px; margin-left:8px; }
.timeline-item:last-child { padding-bottom:0; }
.footer-note { color:var(--muted); font-size:12px; margin-top:22px; }
.public-filter-form { background:#f8fafc; border:1px solid var(--line); border-radius:10px; padding:16px; }
.public-event-card { display:block; color:inherit; text-decoration:none; transition:transform .12s ease, border-color .12s ease; }
.public-event-card:hover { transform:translateY(-2px); border-color:var(--blue); }
.public-event-card h3 { margin-top:12px; }
.public-dates { font-size:13px !important; }
.public-pagination { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; justify-content:center; }
.page-link { display:inline-flex; min-width:34px; height:34px; padding:0 10px; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:8px; color:var(--blue); background:#fff; text-decoration:none; }
.page-link.active { color:#fff; background:var(--blue); border-color:var(--blue); }
.body-block { margin:12px 0; }
.body-block-label { font-size:12px; font-weight:800; letter-spacing:.04em; margin-bottom:5px; }
.body-block p { margin:5px 0; white-space:pre-wrap; }
.body-block-dispute { border-left-color:var(--red); background:var(--red-soft); }
.body-block-analysis { border-left-color:var(--blue); background:var(--blue-soft); }
.block-reference { margin-top:10px; padding:8px 10px; border:1px solid rgba(80,100,120,.22); border-radius:8px; background:rgba(255,255,255,.7); }
.block-reference summary { cursor:pointer; color:var(--blue); font-weight:650; }
.public-document-list { margin:0; padding-left:20px; display:grid; gap:9px; }
.public-document-list li { line-height:1.55; }
.translation-panel { border:2px solid #cbd8ef; }
.translation-card { margin-top:12px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#fbfcfd; }
.translation-card .page-head { margin-bottom:8px; }
.translation-card textarea { min-height:110px; }
@media (max-width:1000px) { .detail-layout { grid-template-columns:1fr; } .sticky { position:static; } }
@media (max-width:700px) { .layout { grid-template-columns:1fr; } .sidebar { border-right:0; border-bottom:1px solid var(--line); } .nav { display:flex; overflow:auto; } .nav button { white-space:nowrap; } .main { padding:20px 15px 45px; } .form-grid, .grid.two { grid-template-columns:1fr; } .topbar { padding:0 15px; } .topbar .identity span { display:none; } .public-header { padding:28px 22px; } .public-header h1 { font-size:28px; } }
