/* Report preview: floating tile, details-page thumbnail and the full-screen preview. */
.rp-tile{position:fixed;right:16px;bottom:16px;z-index:40;display:none;align-items:center;gap:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 16px 8px 8px;font:700 13px var(--font-body);box-shadow:var(--shadow);cursor:pointer}
.rp-tile.is-visible{display:inline-flex}
.rp-tile-page{width:28px;height:38px;border-radius:4px;background:#fff;border:1px solid var(--line);display:block;position:relative;flex:none;overflow:hidden}
.rp-tile-page::before{content:"";position:absolute;left:5px;top:6px;width:12px;height:3px;background:var(--green)}
.rp-tile-page::after{content:"";position:absolute;left:5px;right:5px;top:13px;height:2px;background:var(--green-2);box-shadow:0 5px 0 var(--green-2),0 10px 0 var(--green-2),0 15px 0 var(--green-2)}
.rp-tile-text{display:grid;text-align:left;line-height:1.2}.rp-tile-text small{font-weight:600;color:var(--muted);font-size:11px}
.rp-thumb{display:grid;gap:10px;margin-bottom:12px}
.rp-thumb canvas{width:100%;height:auto;border-radius:8px;border:1px solid var(--line);box-shadow:0 6px 20px rgba(38,47,40,.08);display:block;background:#fff}
.rp-thumb button{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:999px;padding:10px 14px;font:700 13px var(--font-body);cursor:pointer}
.document-preview.has-real>*:not(.rp-thumb){display:none}
.rp-backdrop{position:fixed;inset:0;z-index:90;background:rgba(24,34,28,.55);display:flex;align-items:stretch;justify-content:center}
.rp-backdrop[hidden]{display:none}
.rp-dialog{width:min(100%,920px);background:var(--paper);display:flex;flex-direction:column;min-height:0;max-height:100dvh}
.rp-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:18px 20px 12px}
.rp-head h2{margin:0;font:700 22px var(--font-display);color:var(--ink)}.rp-head p{margin:4px 0 0;color:var(--muted);font-size:13px;max-width:56ch}
.rp-close{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:20px;cursor:pointer;color:var(--ink)}
.rp-todo{margin:0 20px 8px;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-size:13px;color:var(--ink)}
.rp-todo h3{margin:0 0 6px;font:700 13px var(--font-body)}.rp-todo ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.rp-todo li{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rp-todo li.is-note{color:var(--muted)}.rp-todo li.is-warn span::before{content:"● ";color:var(--coral)}
.rp-todo li span{flex:1 1 200px}.rp-todo button{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:999px;padding:6px 12px;font:700 12px var(--font-body);cursor:pointer}
.rp-todo.is-ready{background:var(--green-2);border-color:var(--green-2)}
.rp-pages{flex:1;overflow:auto;padding:8px 20px 20px;display:grid;gap:18px;align-content:start;justify-items:center}
.rp-page{width:100%;max-width:640px;margin:0}.rp-page canvas{width:100%;height:auto;display:block;background:#fff;box-shadow:0 8px 30px rgba(38,47,40,.16);border-radius:3px}
.rp-page figcaption{margin-top:6px;text-align:center;font-size:11px;color:var(--muted)}
.rp-loading,.rp-error{color:var(--muted);font-size:14px;padding:30px 0;text-align:center}
.rp-foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}
.rp-foot[hidden]{display:none}
.rp-foot button{border-radius:999px;padding:12px 18px;font:700 13px var(--font-body);cursor:pointer}
.rp-foot .rp-edit{border:1px solid var(--line);background:transparent;color:var(--ink)}
.rp-foot .rp-confirm{border:0;background:var(--green);color:#fff}
@media (max-width:640px){.rp-foot{flex-direction:column-reverse}.rp-foot button{width:100%}.rp-head{padding:14px 16px 10px}.rp-pages{padding:8px 12px 16px}.rp-todo{margin:0 12px 8px}}
.document-preview.has-real{height:auto;padding:0;background:transparent;border:0;box-shadow:none;transform:none;margin:7px 0 18px}
