.paper-document-panel { margin: 12px 0; padding: clamp(12px, 2vw, 22px); border: 1px solid #d7e0e8; border-radius: 16px; background: #f7fafc; color: #183247; min-width: 0; }
.paper-document-panel[hidden] { display: none; }
.paper-document-heading h2 { margin: 0 0 8px; font-size: 1.12rem; }
.paper-document-panel p { line-height: 1.6; overflow-wrap: anywhere; }
.paper-document-controls, .paper-document-pages { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.paper-document-panel button, .paper-document-controls label { font: inherit; padding: 9px 12px; border: 1px solid #bdccd8; border-radius: 8px; background: white; color: #183247; cursor: pointer; overflow-wrap: anywhere; max-width: 100%; }
.paper-document-panel button:focus-visible, .paper-document-panel input:focus-visible { outline: 3px solid #287ba1; outline-offset: 2px; }
.paper-document-panel button[aria-pressed="true"] { background: #e0eef4; border-color: #287ba1; }
.paper-document-panel button:disabled { opacity: .55; cursor: default; }
.paper-document-controls input { display: block; max-width: 100%; width: 100%; margin-top: 8px; }
.paper-document-list { display: grid; gap: 8px; margin: 16px 0; }
.paper-document-list button { text-align: left; }
.paper-document-detail { border-top: 1px solid #d7e0e8; padding-top: 12px; min-width: 0; }
.paper-document-detail h3 { overflow-wrap: anywhere; }
.paper-document-detail details { margin-top: 16px; }
.paper-document-detail summary { cursor: pointer; padding: 6px 0; }
.paper-document-report { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; font: inherit; line-height: 1.7; max-height: 65vh; overflow-y: auto; padding: 12px; background: white; border-radius: 8px; }
.paper-document-notice { border-left: 3px solid #a87720; padding: 8px 12px; background: #fff8e9; }
@media (max-width: 620px) { .paper-document-controls > * { width: 100%; } .paper-document-pages button { flex: 1 0 70px; } }

.paper-document-dialog { box-sizing: border-box; width: min(1040px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: calc(100dvh - 32px); padding: 16px; border: 1px solid #bdccd8; border-radius: 18px; overflow-y: auto; background: #f7fafc; }
.paper-document-dialog::backdrop { background: rgb(13 32 48 / 45%); }
.paper-document-dialog-close { display: flex; justify-content: flex-end; margin: 0; }
.paper-document-dialog-close button { font: inherit; padding: 8px 16px; border: 1px solid #bdccd8; border-radius: 8px; background: white; color: #183247; cursor: pointer; }
.paper-document-dialog .paper-document-panel { border: 0; margin: 0; padding: 10px 0; }
@media (max-width: 620px) { .paper-document-dialog { padding: 12px; } }

.paper-document-list { grid-template-columns: minmax(0, 1fr); }
.paper-document-list button { min-width: 0; width: 100%; white-space: normal; display: block; overflow-wrap: anywhere; box-sizing: border-box; }

.paper-document-progress { padding: 14px; border: 1px solid #c6d8e3; border-radius: 12px; background: white; }
.paper-document-state { font-weight: 700; font-size: 1.1rem; }
.paper-document-progress progress { display: block; width: 100%; height: 16px; accent-color: #287ba1; }
.paper-document-timing { font-size: .88rem; color: #466074; }
.paper-document-phases { padding-left: 24px; line-height: 1.8; }
.paper-document-page-progress { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 6px; }
.paper-document-page-progress p { margin: 0; padding: 7px; background: #f1f6f9; border-radius: 6px; }

.paper-document-state-working::before { content: ''; display: inline-block; width: .85em; height: .85em; margin-right: .55em; border: 2px solid #c6d8e3; border-top-color: #287ba1; border-radius: 50%; vertical-align: -.08em; animation: paper-document-wait 1s linear infinite; }
@keyframes paper-document-wait { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .paper-document-state-working::before { animation: none; } }

.paper-document-synthesis { margin: 16px 0; padding: clamp(12px, 2vw, 22px); border: 1px solid #b6cfdc; border-radius: 12px; background: white; overflow-wrap: anywhere; }
.paper-document-synthesis h4 { margin: 18px 0 8px; font-size: 1.05rem; }
.paper-document-synthesis h4:first-child { margin-top: 0; }
.paper-document-overall { font-size: 1.04rem; white-space: pre-wrap; }
.paper-document-opinions { padding-left: 24px; }
.paper-document-opinions li { margin: 16px 0; padding-left: 4px; }
.paper-document-opinions p { margin: 6px 0; white-space: pre-wrap; }
.paper-document-assessment { font-weight: 600; }
.paper-document-citation { font-size: .84rem; color: #466074; }
.paper-document-synthesis ul { padding-left: 24px; line-height: 1.7; }

.paper-document-independent-option { display: flex; align-items: flex-start; gap: .6rem; margin-block: .8rem; }
.paper-document-independent-option input { width: auto; flex: 0 0 auto; margin-top: .2rem; }
