/* Revisa: quiet, readable, usable with a thumb. */
:root
{
    --rv-ink: #17212f;
    --rv-soft: #5b6775;
    --rv-line: #dde3ea;
    --rv-canvas: #f4f6f9;
    --rv-accent: #1d4f91;
    --rv-accent-dim: #e8eef7;
}

body { background: var(--rv-canvas); color: var(--rv-ink); }
button, a, .rv-click, summary, label[for] { cursor: pointer; }
.btn { min-height: 44px; }
.btn-sm { min-height: 36px; }
.rv-navbar { background: var(--rv-ink); }
.rv-beta { background: #e0a100; color: #17212f; font-weight: 600; }
.rv-user { max-width: 12rem; }
.rv-main { padding-top: 1.25rem; padding-bottom: 3rem; max-width: 60rem; }
.rv-alerts { position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1090; display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; pointer-events: none; }
.rv-alerts .alert { pointer-events: auto; max-width: 32rem; margin: 0; }
.rv-card { background: #fff; border: 1px solid var(--rv-line); border-radius: .6rem; padding: 1rem; margin-bottom: .75rem; }
.rv-card-link { display: block; color: inherit; text-decoration: none; }
.rv-card-link:hover { border-color: var(--rv-accent); }
.rv-muted { color: var(--rv-soft); font-size: .875rem; }
.rv-section { margin-top: 1.5rem; margin-bottom: .6rem; font-size: 1.05rem; font-weight: 600; }
.rv-doc { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; padding: .6rem 0; border-top: 1px solid var(--rv-line); }
.rv-doc:first-child { border-top: 0; }
.rv-doc-name { min-width: 0; overflow-wrap: anywhere; flex: 1 1 14rem; }
.rv-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.rv-pill { display: inline-block; padding: .1rem .55rem; border-radius: 1rem; font-size: .78rem; background: var(--rv-accent-dim); color: var(--rv-accent); }
.rv-pill-ok { background: #e4f3ea; color: #1d6b45; }
.rv-pill-no { background: #fbeae9; color: #a12a25; }
.rv-pill-warn { background: #fdf3dc; color: #8a5a12; }
.rv-note { white-space: pre-wrap; overflow-wrap: anywhere; margin: .4rem 0; }
.rv-empty { text-align: center; padding: 2rem 1rem; color: var(--rv-soft); }
.rv-login { max-width: 24rem; margin: 3rem auto; }
.form-text, .rv-muted, p { text-wrap: pretty; }

@media (max-width: 575.98px)
{
    .modal-dialog { margin: 0; max-width: none; min-height: 100dvh; }
    .modal-content { min-height: 100dvh; border-radius: 0; }
    .rv-actions .btn { flex: 1 1 auto; }
}
