.reference-preview-bar { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; padding:14px 20px; background:#e9f2ff; color:#183b65; border:1px solid #a9c8ec; border-radius:14px; margin:14px 0; font-size:14px; }
.reference-preview-bar span { font-weight:750; margin-right:auto; }
.reference-preview-bar a, .reference-link { color:#164faf; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.reference-status { padding:10px 12px; margin:10px 0 14px; border:1px solid #d6e0ec; border-radius:8px; background:#f6f8fc; color:#43546b; font-size:13px; }
.source-status-line { margin:8px 0 14px; font-size:12px; line-height:1.5; color:#607087; }
.source-status-line.attention { color:#8a4b16; }
.reference-status.attention { border-color:#d2ae58; background:#fff6de; color:#644308; }
.reference-status p { margin:8px 0; line-height:1.6; }
.reference-status.reviewed { background:#eaf7f0; border-color:#72b894; color:#164d33; }
.reference-status.pending { background:#edf3fc; color:#283a59; border-color:#a8b9d2; }
.reference-policy { margin-top:8px; font-size:12px; line-height:1.6; }
.reference-policy summary { cursor:pointer; }
.reference-evidence.reference-pending { color:#64748b; }
.reference-evidence { margin-top:14px; padding-top:12px; border-top:1px solid #cad7e4; font-size:13px; line-height:1.6; }
.reference-evidence p { margin:6px 0; }
.reference-evidence .reference-link { display:inline-block; background:#fff; border:1px solid #aabfda; border-radius:8px; padding:7px 10px; }
.reference-candidates { margin-top:12px; font-size:13px; }
.reference-candidates summary { cursor:pointer; font-weight:700; }
.reference-warning { color:#8a3c13; }
.ref-body { margin:0; background:#f2f5fa; color:#14243b; font:16px/1.6 system-ui,sans-serif; }
.ref-main { max-width:1120px; margin:0 auto; padding:30px 20px; }
.ref-main h1 { font-size:30px; line-height:1.3; margin:16px 0 10px; }
.ref-main h2 { font-size:21px; }
.ref-main a { color:#174eaa; }
.ref-panel { padding:24px; background:#fff; border:1px solid #d5dfeb; border-radius:14px; margin:20px 0; }
.ref-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.ref-form label { display:flex; flex-direction:column; gap:5px; flex:1; min-width:160px; }
.ref-form input, .ref-form select, .ref-form button, .ref-button { font:inherit; padding:10px 14px; border:1px solid #a6b7ce; border-radius:8px; }
.ref-form button, .ref-button { background:#1854b4; color:#fff; cursor:pointer; }
.ref-result { border-top:1px solid #d6e0ec; padding:16px 0; }
.ref-result p { margin:8px 0; white-space:pre-line; }
.ref-meta { font-size:14px; color:#53647c; }
.ref-page { display:block; width:100%; height:auto; background:white; border:1px solid #cad5e2; }
.ref-stats { display:flex; flex-wrap:wrap; gap:14px; margin:18px 0; }
.ref-stat { flex:1; min-width:140px; border:1px solid #d4dfed; border-radius:10px; padding:15px; }
.ref-stat strong { display:block; font-size:30px; }
.ref-audit-list { max-height:650px; overflow:auto; }
.ref-error { padding:16px; background:#fff0eb; color:#83340f; border-radius:10px; }
.ref-hidden { display:none; }
.explanation-card.reference-option-pending { border-color:#ad7a17; background:#fff9eb; }
.reference-option-pending .explanation-head { color:#704800; }
.reference-option-pending .explanation-head span { font-size:13px; }
.reference-evidence > strong { display:block; margin-top:10px; }
@media (max-width:600px) { .ref-main { padding:18px 12px; } .ref-panel { padding:16px; } .ref-main h1 { font-size:24px; } }
