:root { color-scheme: light dark; font-family: system-ui, sans-serif; }
body { margin: 0; }
main { max-width: 40rem; margin: 0 auto; padding: 1.5rem 1rem; }
button { font: inherit; padding: 0.5rem 1rem; }
input, select, textarea { font: inherit; padding: 0.4rem; }
label { display: block; margin: 0.75rem 0; }
label input:not([type="checkbox"]), label select, label textarea, #link-texto { display: block; width: 100%; box-sizing: border-box; margin: 0.25rem 0 0.5rem; }
nav { margin: 1rem 0; }
.aviso { font-weight: 600; }
.nota { font-size: 0.9rem; opacity: 0.8; }
.tabela { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
th, td { text-align: left; vertical-align: top; padding: 0.4rem; border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent); }
td button { padding: 0.25rem 0.5rem; margin: 0 0.25rem 0.25rem 0; }
main.larga { max-width: 64rem; }
.link { font: inherit; padding: 0; border: none; background: none; color: LinkText; text-decoration: underline; cursor: pointer; text-align: left; }
.filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0 1rem; align-items: end; }
dl.dados { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; }
dl.dados dt { font-weight: 600; }
dl.dados dd { margin: 0; overflow-wrap: anywhere; }
.acao { margin: 1.5rem 0; }
.linha { list-style: none; padding: 0; }
.linha li { margin: 0.5rem 0; padding: 0.25rem 0.75rem; border-left: 3px solid color-mix(in srgb, currentColor 25%, transparent); }
.linha li.recebida, .linha li.vale { border-left-color: #1a7f37; }
.linha .quem { font-size: 0.85rem; opacity: 0.8; margin: 0; }
.linha .texto { margin: 0.25rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.linha .nota, .linha .roteiro { margin: 0.25rem 0 0; }
.linha .roteiro { font-size: 0.85rem; opacity: 0.8; }
