/* Scoped upload API review, receipt and recovery surfaces. */
.upload-service { margin: 24px 0; padding: 24px; min-width: 0; }
.upload-service h2, .upload-service h3 { margin: 8px 0 12px; }
.upload-service p { line-height: 1.6; }
.upload-service-head, .upload-account-row, .upload-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.upload-actions { justify-content: flex-start; margin-top: 20px; }
.upload-account-row { margin: 20px 0; }
.upload-account-row label { flex: 1; min-width: 0; }
.upload-account-row select { display: block; width: 100%; max-width: 100%; margin-top: 8px; }
.upload-config { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.upload-config > div, .upload-receipt-fields > div { min-width: 0; }
.upload-config dt, .upload-receipt-fields dt { font-size: 11px; color: var(--ink-3); font-weight: 500; margin-bottom: 6px; }
.upload-config dd, .upload-receipt-fields dd { margin: 0; font-size: 13px; line-height: 1.6; }
.upload-byte-review, .upload-receipt { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.upload-hash, .upload-wrap { overflow-wrap: anywhere; word-break: break-word; }
.upload-hash { font-size: 12px; }
.upload-raw { white-space: pre; overflow: auto; max-height: 320px; max-width: 100%; padding: 16px; background: var(--paper, #fff); border: 1px solid var(--line); font-size: 12px; line-height: 1.6; }
.upload-service summary { cursor: pointer; padding: 12px 0; }
.upload-consent { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0; line-height: 1.6; }
.upload-consent input { flex: 0 0 auto; margin-top: 5px; }
.upload-receipt-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.upload-history { list-style: none; padding: 0; }
.upload-history li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.upload-history li > div { min-width: 0; overflow-wrap: anywhere; }
.upload-history button { flex-shrink: 0; }
.upload-events { padding-left: 20px; font-size: 12px; line-height: 1.8; }
.upload-service :is(button, select, summary, input, pre):focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.upload-local-input { max-width: 100%; }
.upload-local-page { min-width: 0; }
@media (max-width: 900px) { .upload-service { padding: 20px; } .upload-config { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
    .upload-service { padding: 16px; }
    .upload-receipt-fields { grid-template-columns: minmax(0, 1fr); }
    .upload-service-head, .upload-account-row { align-items: stretch; }
    .upload-service-head > *, .upload-account-row > * { width: 100%; }
    .upload-history li { align-items: flex-start; flex-direction: column; }
    .upload-actions .btn { width: 100%; }
}
