/* /prompts/ferramentas (26/09/2026) — mesma paleta escura da biblioteca (prompts.css). */
/* O atributo hidden precisa vencer os display:flex desta página (aviso, campos do QR, lista). */
.fr [hidden],.fr-trava[hidden]{display:none!important}
.fr{padding-top:28px;padding-bottom:48px}
.fr-cab h1{font-size:34px;line-height:1.15;margin:10px 0 8px;letter-spacing:-.02em}
.fr-sub{color:var(--txt2);max-width:760px;font-size:15px}
.topo .btn-txt{margin-left:0}

/* Aviso de quem não assina */
.fr-trava{display:flex;align-items:center;gap:16px;margin:22px 0 4px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(153,37,211,.22),rgba(109,40,217,.12));border:1px solid rgba(192,132,252,.35)}
.fr-trava.pisca{animation:frPisca .9s ease}
@keyframes frPisca{30%{box-shadow:0 0 0 4px rgba(192,132,252,.45)}}
.fr-trava-ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:20px;color:var(--roxo2)}
.fr-trava-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fr-trava-txt span{color:var(--txt2);font-size:14px}
.fr-trava-acoes{display:flex;gap:8px;flex-wrap:wrap}

/* Abas das 5 ferramentas */
.fr-abas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:22px 0 18px}
.fr-abas button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:14px;background:var(--card);border:1px solid var(--linha);color:var(--txt);font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.fr-abas button>i{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(153,37,211,.18);color:var(--roxo2);font-size:17px}
.fr-abas button span{display:flex;flex-direction:column;min-width:0}
.fr-abas button b{font-size:14px}
.fr-abas button small{color:var(--txt3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-abas button:hover{border-color:rgba(192,132,252,.4)}
.fr-abas button.on{background:linear-gradient(135deg,rgba(153,37,211,.3),rgba(109,40,217,.18));border-color:var(--roxo2)}
.fr-abas button.on>i{background:var(--roxo);color:#fff}
.sem-acesso .fr-abas button b::after{content:"\f023";font-family:"Font Awesome 6 Free";font-weight:900;font-size:11px;margin-left:8px;color:var(--txt3)}

/* Painel */
.fr-painel{background:var(--card);border:1px solid var(--linha);border-radius:18px;padding:20px}
.fr-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.fr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;min-height:170px;padding:22px;border-radius:14px;border:2px dashed rgba(192,132,252,.35);background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .15s,background .15s}
.fr-drop i{font-size:30px;color:var(--roxo2)}
.fr-drop b{font-size:15px}
.fr-drop span{color:var(--txt3);font-size:13px}
.fr-drop:hover,.fr-drop:focus-visible,.fr-drop.sobre{border-color:var(--roxo2);background:rgba(153,37,211,.1);outline:none}
.fr-drop-mini{min-height:0;flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding:14px;margin-top:14px}
.fr-drop-mini i{font-size:18px}
.fr-drop-mini span{flex-basis:100%}

.fr-lista{list-style:none;margin:10px 0 0;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}
.fr-lista li{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:10px;background:var(--card2);border:1px solid var(--linha);font-size:13px}
.fr-lista li.arrastando{opacity:.5}
.fr-lista li img{width:36px;height:36px;object-fit:cover;border-radius:7px;flex:none}
.fr-lista li>i.fa-file-pdf{font-size:22px;color:#f87171;width:36px;text-align:center}
.fr-arrastar{color:var(--txt3);cursor:grab}
.fr-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-tam{color:var(--txt3);font-size:12px;flex:none}
.fr-tirar{flex:none;width:28px;height:28px;border-radius:8px;border:0;background:transparent;color:var(--txt3);cursor:pointer}
.fr-tirar:hover{background:rgba(255,255,255,.08);color:var(--txt)}

.fr-opcoes{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.fr-rot{font-size:13px;font-weight:700;color:var(--txt2);display:flex;align-items:center;gap:10px}
.fr-rot input[type=color]{width:38px;height:30px;border:1px solid var(--linha);border-radius:8px;background:transparent;padding:2px;cursor:pointer}
.fr-input{width:100%;background:var(--bg2);border:1px solid var(--linha);color:var(--txt);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px}
.fr-input:focus{outline:none;border-color:var(--roxo2)}
textarea.fr-input{resize:vertical}
.fr-range{width:100%;accent-color:var(--roxo)}
.fr-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--txt2);cursor:pointer}
.fr-check input{accent-color:var(--roxo);width:16px;height:16px}
.fr-dica{color:var(--txt3);font-size:12.5px;display:flex;gap:8px;align-items:flex-start;margin-top:6px}
.fr-dica i{margin-top:3px;color:var(--amarelo)}

.fr-seg{display:flex;flex-wrap:wrap;gap:6px}
.fr-seg button{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:10px;border:1px solid var(--linha);background:var(--bg2);color:var(--txt2);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.fr-seg button.on{background:rgba(153,37,211,.25);border-color:var(--roxo2);color:#fff}
.fr-seg-larga{margin-bottom:16px}
.fr-seg-larga button{flex:1;justify-content:center;padding:11px 12px}

.fr-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.fr-presets button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;border-radius:12px;border:1px solid var(--linha);background:var(--bg2);color:var(--txt);font:inherit;text-align:left;cursor:pointer}
.fr-presets button b{font-size:12.5px;line-height:1.25}
.fr-presets button small{color:var(--txt3);font-size:11.5px}
.fr-presets button.on{border-color:var(--roxo2);background:rgba(153,37,211,.2)}
.fr-prop{display:block;height:26px;max-width:46px;border-radius:4px;border:2px solid var(--roxo2);margin-bottom:4px}

.fr-custo{margin-top:14px;padding:10px 12px;border-radius:10px;background:rgba(255,212,0,.08);border:1px solid rgba(255,212,0,.25);color:#fde68a;font-size:13px;display:flex;gap:8px;align-items:flex-start}
.fr-custo i{margin-top:3px}
.fr-custo a{color:#fff;font-weight:700}
.fr-custo.ok{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.3);color:#bbf7d0}
.fr-custo.pausa{background:rgba(255,255,255,.05);border-color:var(--linha);color:var(--txt2)}
.fr-acao{margin-top:16px;width:100%}
.fr-acao[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.fr-linha-acoes{display:flex;gap:10px}
.fr-linha-acoes .fr-acao{flex:1}
.fr-qr-campos{margin-top:12px}
.fr-qr-campos>div{display:flex;flex-direction:column;gap:8px}
.fr-qr-cores{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;align-items:center}
.fr-qr-cores .fr-input{width:auto;padding:7px 10px}

/* Resultado */
.fr-result{min-height:240px;border-radius:14px;background:var(--bg2);border:1px solid var(--linha);padding:14px;display:flex;flex-direction:column;gap:10px}
.fr-vazio{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--txt3);font-size:13.5px;text-align:center}
.fr-vazio i{font-size:34px;opacity:.6}
.fr-progresso{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--txt2);font-size:14px;text-align:center}
.fr-giro{width:22px;height:22px;border:3px solid var(--linha);border-top-color:var(--roxo2);border-radius:50%;animation:frGiro .8s linear infinite;flex:none}
@keyframes frGiro{to{transform:rotate(360deg)}}
.fr-resumo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13.5px;color:var(--txt2)}
.fr-saidas{display:flex;flex-direction:column;gap:8px;max-height:620px;overflow:auto}
.fr-saida{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;background:var(--card);border:1px solid var(--linha)}
.fr-prev{flex:none;width:96px;height:96px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#fff}
.fr-prev img{max-width:100%;max-height:100%;object-fit:contain}
.fr-prev.xadrez{background:repeating-conic-gradient(#e5e5e5 0 25%,#fff 0 50%) 50%/16px 16px}
.fr-prev-doc{background:var(--card2)}
.fr-prev-doc i{font-size:36px;color:#f87171}
.fr-saida-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:13px;color:var(--txt2)}
.fr-saida-info b:first-child{color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.fr-saida-info em{font-style:normal;font-weight:800;margin-left:4px}
.fr-saida-info em.menos{color:var(--verde)}
.fr-saida-info em.mais{color:#fbbf24}
.fr-saida:only-child{flex-direction:column;align-items:stretch;text-align:center}
.fr-saida:only-child .fr-prev{width:100%;height:auto;aspect-ratio:1;max-height:420px}
.fr-saida:only-child .btn{align-self:center}
.fr-msg{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border-radius:10px;font-size:13.5px}
.fr-msg.erro{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fecaca}
.fr-msg.ok{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#bbf7d0}
.fr-msg a{color:#fff;font-weight:700}
.fr-msg i{margin-top:3px}
.fr-rodape{margin-top:18px;color:var(--txt3);font-size:12.5px;display:flex;gap:8px;align-items:center}

@media (max-width:980px){
  .fr-abas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fr-grade{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .fr{padding-top:18px}
  .fr-cab h1{font-size:26px}
  .fr-sub{font-size:14px}
  .topo .btn-txt{display:none}
  .fr-trava{flex-direction:column;align-items:stretch;text-align:left}
  .fr-trava-acoes .btn{flex:1}
  .fr-abas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-16px;margin-right:-16px;padding:0 16px 4px;scrollbar-width:none}
  .fr-abas::-webkit-scrollbar{display:none}
  .fr-abas button{flex:0 0 auto;scroll-snap-align:start;padding:10px 12px}
  .fr-abas button>i{width:34px;height:34px;font-size:15px}
  .fr-abas button small{display:none}
  .fr-painel{padding:14px;border-radius:14px}
  .fr-drop{min-height:130px}
  .fr-seg-larga button{flex:1 1 45%}
  .fr-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fr-prev{width:72px;height:72px}
}
