/*
  SignBR — estilos do app (app.signbr.com)
  Identidade azul caneta com detalhes verde e amarelo; pensado primeiro para
  o celular do técnico (botões grandes, uma coluna), funcionando também no
  computador do escritório.
*/
:root{--azul:#1E3FA8;--azul-esc:#142B73;--azul-cl:#BCD0EE;--papel:#FBFAF6;--verde:#009C3B;--amarelo:#F2C200;--texto:#142B73;--texto-2:#3D4A63;--borda:#DCE4F2;--fundo:#F4F6FA;--erro:#B42318;--raio:14px}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);background:var(--fundo);line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Plus Jakarta Sans',Inter,sans-serif;margin:0;color:var(--azul-esc);letter-spacing:-.01em}
h1{font-size:24px}h2{font-size:19px}h3{font-size:16px}
p{margin:0}
a{color:var(--azul)}
.faixa{display:flex;height:4px}.faixa i:nth-child(1){flex:6;background:var(--azul)}.faixa i:nth-child(2){flex:2;background:var(--verde)}.faixa i:nth-child(3){flex:1;background:var(--amarelo)}
.topo{background:#fff;border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:10}
.topo .in{max-width:980px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;min-height:60px}
.topo img{height:36px;width:auto}
.topo .dir{margin-left:auto;display:flex;gap:8px;align-items:center;font-size:14px;color:var(--texto-2)}
main{max-width:980px;margin:0 auto;padding:20px 16px 80px;display:flex;flex-direction:column;gap:16px}
.cartao{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:18px;display:flex;flex-direction:column;gap:14px}
.linha{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.entre{justify-content:space-between}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:12px;font:600 15px/1.2 Inter,system-ui,sans-serif;border:1.5px solid var(--azul);background:#fff;color:var(--azul);cursor:pointer;text-decoration:none}
.btn:hover{background:#EEF3FC}
.btn.pri{background:var(--azul);color:#fff}.btn.pri:hover{background:var(--azul-esc)}
.btn.ok{background:var(--verde);border-color:var(--verde);color:#fff}
.btn.peq{min-height:38px;padding:6px 12px;font-size:14px}
.btn.texto{border-color:transparent;background:none}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.largo{width:100%}
label{font-size:14px;font-weight:600;color:var(--texto);display:block;margin-bottom:6px}
input,select,textarea{font:16px Inter,system-ui,sans-serif;color:var(--texto);border:1.5px solid #C9D4EA;border-radius:10px;padding:11px 12px;background:#fff;width:100%;min-height:46px}
textarea{min-height:80px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(30,63,168,.22);border-color:var(--azul)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ajuda{font-size:13px;color:var(--texto-2)}
.erro-msg{background:#FDECEC;color:#9B1C1C;border-radius:10px;padding:10px 12px;font-size:14px}
.ok-msg{background:#E8F6EE;color:#05652A;border-radius:10px;padding:10px 12px;font-size:14px}
.selo{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
.selo.rascunho{background:#EEF1F6;color:var(--texto-2)}
.selo.aguardando{background:#FFF6D6;color:#7A5B00}
.selo.assinado{background:#E3F4EA;color:#05652A}
.selo.cancelado{background:#FDECEC;color:#9B1C1C}
.selo.pendente{background:#FFF6D6;color:#7A5B00}
.lista-docs{display:flex;flex-direction:column;gap:10px}
.doc-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);text-decoration:none;color:inherit}
.doc-item:hover{border-color:var(--azul)}
.doc-item b{display:block}
.doc-item small{color:var(--texto-2)}
.passos{display:flex;flex-direction:column;gap:12px}
.passo{display:flex;gap:14px;align-items:flex-start}
.passo .num{flex:none;width:32px;height:32px;border-radius:10px;background:var(--fundo);border:1.5px solid var(--borda);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--texto-2)}
.passo.feito .num{background:var(--verde);border-color:var(--verde);color:#fff}
.passo.atual .num{background:var(--azul);border-color:var(--azul);color:#fff}
.passo .corpo{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.secao-titulo{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--azul);margin-top:6px}
.item-sit{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #EDF1F7}
.item-sit span{font-size:15px}
.seg{display:inline-flex;border:1.5px solid #C9D4EA;border-radius:10px;overflow:hidden;flex:none}
.seg button{border:0;background:#fff;font:600 14px Inter,sans-serif;color:var(--texto-2);padding:9px 12px;min-width:48px;cursor:pointer}
.seg button+button{border-left:1.5px solid #C9D4EA}
.seg button[aria-pressed="true"].OK{background:var(--verde);color:#fff}
.seg button[aria-pressed="true"].DF{background:var(--erro);color:#fff}
.seg button[aria-pressed="true"].NT{background:var(--texto-2);color:#fff}
.fotos{display:flex;gap:10px;flex-wrap:wrap}
.fotos img{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--borda)}
.sig{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--borda);border-radius:12px;flex-wrap:wrap}
/* modal de assinatura */
.modal{position:fixed;inset:0;background:rgba(20,43,115,.45);display:flex;align-items:flex-end;justify-content:center;z-index:50}
.modal .caixa{background:#fff;width:100%;max-width:640px;max-height:96vh;overflow:auto;border-radius:20px 20px 0 0;padding:18px;display:flex;flex-direction:column;gap:14px}
@media (min-width:700px){.modal{align-items:center}.modal .caixa{border-radius:20px}}
.abas{display:flex;gap:6px;background:var(--fundo);padding:4px;border-radius:12px}
.abas button{flex:1;border:0;background:none;padding:9px;border-radius:9px;font:600 14px Inter,sans-serif;color:var(--texto-2);cursor:pointer}
.abas button[aria-selected="true"]{background:#fff;color:var(--azul);box-shadow:0 1px 3px rgba(20,43,115,.12)}
.quadro{position:relative;border-radius:12px;background:var(--papel);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--azul-cl) 31px,var(--azul-cl) 32px);border:1.5px solid var(--borda);touch-action:none}
.quadro canvas{display:block;width:100%;height:200px;cursor:crosshair}
.quadro .linha-ass{position:absolute;left:20px;right:20px;bottom:34px;height:3px;border-radius:2px;background:linear-gradient(to right,var(--verde) 0 76%,transparent 76% 79%,var(--amarelo) 79%);pointer-events:none}
.quadro .dica{position:absolute;left:20px;bottom:10px;font-size:12px;color:var(--texto-2);pointer-events:none}
.estilos{display:flex;flex-direction:column;gap:8px}
.estilo{border:1.5px solid var(--borda);border-radius:12px;background:var(--papel);padding:8px 14px;font-size:38px;color:var(--azul);cursor:pointer;text-align:left;min-height:64px}
.estilo[aria-pressed="true"]{border-color:var(--azul);outline:3px solid rgba(30,63,168,.18)}
.clausula{font-size:13px;color:var(--texto-2);background:var(--fundo);border-radius:10px;padding:10px 12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{width:22px;height:22px;min-height:0;flex:none;margin-top:1px}
.check label{font-weight:400;margin:0}
.codigo-teste{font-size:13px;background:#FFF6D6;color:#7A5B00;border-radius:8px;padding:6px 10px}
.vazio{text-align:center;color:var(--texto-2);padding:28px 10px}
.oculto{display:none!important}
