/* Preparação do roteiro (componente compartilhado). Usa tokens de tokens.css. Alvos de toque de 44 px. */
.rp-wrap{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:32px}
.rp-scrim{position:absolute;inset:0;background:var(--color-scrim)}
.rp-dlg{position:relative;width:min(640px,100%);max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}
.rp-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border)}
.rp-titulo{margin:0;font-size:20px;line-height:28px}
.rp-fechar{min-width:44px;min-height:44px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:22px;cursor:pointer}
.rp-corpo{overflow:auto;padding:16px 20px;display:grid;gap:16px}
.rp-bloco{margin:0;padding:0;border:0;min-width:0}
.rp-sub{margin:0 0 8px;font-size:15px;line-height:22px;font-weight:600}
.rp-meta{margin:0 0 4px;font-size:14px;line-height:22px;color:var(--color-text-muted)}
.rp-legenda{margin:0 0 4px;font-size:14px;line-height:22px;overflow-wrap:anywhere}
.rp-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-link);font-weight:500}
.rp-lista{margin:0;padding-left:20px;font-size:14px;line-height:22px;display:grid;gap:4px}
.rp-caminhos{display:grid;gap:8px}
.rp-opcao{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;cursor:pointer}
.rp-opcao input{width:20px;height:20px;margin:0}
.rp-aviso{margin:0;padding:12px;border-radius:8px;background:var(--color-warning-bg);font-size:14px;line-height:22px}
.rp-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--color-border)}
.rp-sec,.rp-pri{min-height:44px;padding:0 16px;border-radius:8px;font:inherit;font-weight:500;cursor:pointer}
.rp-sec{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-link)}
.rp-pri{border:0;background:var(--color-primary);color:var(--color-on-primary)}
.rp-pri[disabled]{opacity:.5;cursor:not-allowed}
@media (max-width:767px){
  .rp-wrap{padding:0}
  .rp-dlg{max-height:100vh;height:100%;width:100%;border-radius:0;border:0}
  .rp-acoes .rp-sec,.rp-acoes .rp-pri{flex:1 1 auto}
}
