button:disabled { opacity: .5; cursor: not-allowed; }
.environment-note { margin: -10px 0 22px; padding: 11px 14px; border: 1px solid #c8e6e5; background: #eaf8f6; color: #315d66; border-radius: 10px; font-size: 12px; line-height: 1.6; }
.empty-state > button { margin: 4px; }
button:focus-visible, a:focus-visible, .drop-zone:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.local-status small { font-size: 10px; margin-left: 5px; }
.secondary { border: 1px solid #b9dce0; border-radius: 8px; background: #f1fbfb; color: #076b75; padding: 8px 11px; cursor: pointer; font-size: 11px; font-weight: 600; }
.secondary:hover { background: #dff6f3; }
.evidence-actions { margin-top: 10px; }
.history-actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.document-row b, .history-row b { overflow-wrap: anywhere; }
.drop-zone[aria-busy="true"] { opacity: .6; cursor: wait; }
#sourceDialog { width: min(900px, 94vw); max-height: 88vh; padding: 28px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); box-shadow: 0 20px 90px #00152a55; }
#sourceDialog::backdrop { background: #04182cc9; }
#sourceDialog[open] { display: flex; flex-direction: column; overflow: hidden; }
.source-header, .source-note, #sourceLocation, .source-link { flex-shrink: 0; }
.source-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.source-header h2 { margin: 6px 0 0; color: var(--navy); font-size: 23px; overflow-wrap: anywhere; }
.source-note { background: #edf9f7; border-radius: 8px; padding: 11px 13px; font-size: 12px; line-height: 1.6; color: #356269; }
.source-link { display: inline-block; color: #08757d; font-size: 12px; padding: 4px 0 12px; }
.source-content { border-top: 1px solid var(--line); margin-top: 8px; line-height: 1.75; font-size: 14px; overflow-wrap: anywhere; min-height: 0; max-height: 52vh; overflow-y: auto; padding-right: 10px; }
.source-content p { white-space: pre-wrap; }
.source-content mark { color: inherit; background: #bef5e8; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
@media (max-width: 560px) { #sourceDialog { padding: 18px; } .history-row { grid-template-columns: 30px minmax(0, 1fr); } .history-actions { grid-column: 2; align-items: flex-start; } .source-header h2 { font-size: 18px; } }
