@font-face{font-family:Jakarta;font-weight:400;src:url(/fonts/plus-jakarta-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Jakarta;font-weight:500;src:url(/fonts/plus-jakarta-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Jakarta;font-weight:600;src:url(/fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Jakarta;font-weight:700;src:url(/fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Jakarta;font-weight:800;src:url(/fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2")}
:root{--azul:#0492D4;--azul-p:#0272A8;--marinho:#0B1B33;--gelo:#EAF5FB;--cinza:#5E6B78;--linha:#DCE3EA;--fundo:#F6F8FA;--ok:#1E9E63;--alerta:#B7791F;--erro:#C53030}
*{box-sizing:border-box}
body{margin:0;font-family:Jakarta,system-ui,sans-serif;color:var(--marinho);background:var(--fundo);font-size:14.5px;line-height:1.5}
a{color:var(--azul-p);text-decoration:none}
a:hover{text-decoration:underline}
header.topo{background:var(--marinho);color:#fff;display:flex;align-items:center;gap:28px;padding:0 28px;height:60px;position:sticky;top:0;z-index:5}
header.topo img{height:26px}
header.topo .marca{font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
header.topo .marca span{color:#7CCBF0;font-weight:500}
header.topo nav{display:flex;gap:4px;flex:1;overflow-x:auto}
header.topo nav a{color:#C9D6E6;padding:8px 12px;border-radius:8px;font-weight:500;white-space:nowrap}
header.topo nav a:hover,header.topo nav a.on{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
header.topo .eu{font-size:13px;color:#C9D6E6;white-space:nowrap}
header.topo .eu a{color:#7CCBF0;margin-left:10px}
main{max-width:1180px;margin:0 auto;padding:28px}
main.largo{max-width:none;padding:0}
h1{font-size:26px;letter-spacing:-.02em;margin:0 0 6px}
h2{font-size:18px;margin:28px 0 10px}
.sub{color:var(--cinza);margin:0 0 22px}
.cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:20px;display:block;color:inherit}
a.cartao:hover{border-color:var(--azul);text-decoration:none;box-shadow:0 4px 18px rgba(11,27,51,.06)}
.cartao h3{margin:0 0 6px;font-size:16px}
.cartao p{margin:0;color:var(--cinza);font-size:13.5px}
.pill{display:inline-block;white-space:nowrap;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--gelo);color:var(--azul-p)}
.pill.ok{background:#E3F6EC;color:var(--ok)}.pill.alerta{background:#FFF3D6;color:#8A5A00}.pill.erro{background:#FDE8E8;color:var(--erro)}.pill.neutro{background:#EEF1F4;color:var(--cinza)}
table.t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
table.t th{text-align:left;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--cinza);padding:10px 14px;border-bottom:1px solid var(--linha);background:#FBFCFD}
table.t td{padding:11px 14px;border-bottom:1px solid var(--linha);vertical-align:top}
table.t tr:last-child td{border-bottom:none}
.num{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
button,.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:10px 16px;background:var(--azul);color:#fff;cursor:pointer;display:inline-block}
button:hover,.btn:hover{background:var(--azul-p);text-decoration:none}
button.sec,.btn.sec{background:#fff;color:var(--marinho);border:1px solid var(--linha)}
button.perigo{background:var(--erro)}
input,select,textarea{font:inherit;border:1px solid var(--linha);border-radius:10px;padding:10px 12px;background:#fff;color:inherit;width:100%}
textarea{resize:vertical}
label{font-size:12.5px;font-weight:600;color:var(--cinza);display:block;margin:10px 0 4px}
.form-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}
.caixa{background:#fff;border:1px solid var(--linha);border-radius:14px;padding:20px;margin-bottom:18px}
.aviso{background:#FFF8E6;border:1px solid #F3D58A;border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:13.5px}
.erro-msg{background:#FDE8E8;border:1px solid #F5B5B5;border-radius:10px;padding:10px 12px;margin-bottom:12px;color:var(--erro)}
/* login */
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#0B1B33 0%,#123058 100%)}
.login .caixa{width:min(400px,92vw);padding:30px}
.login img{height:34px;margin-bottom:14px}
/* proposta: conversa + pré-visualização */
.trabalho{display:grid;grid-template-columns:minmax(360px,460px) 1fr;height:calc(100vh - 60px)}
.conversa{display:flex;flex-direction:column;border-right:1px solid var(--linha);background:#fff;min-height:0}
.conversa .cab{padding:16px 18px;border-bottom:1px solid var(--linha)}
.conversa .cab h1{font-size:17px;margin:0}
.msgs{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:10px}
.b{max-width:92%;padding:10px 13px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;font-size:14px}
.b.eu{align-self:flex-end;background:var(--azul);color:#fff;border-bottom-right-radius:4px}
.b.ia{align-self:flex-start;background:var(--fundo);border:1px solid var(--linha);border-bottom-left-radius:4px}
.b.sis{align-self:center;background:var(--gelo);color:var(--azul-p);font-size:12.5px;font-weight:600;cursor:pointer;border-radius:20px;padding:5px 12px}
.b.pensar{align-self:flex-start;color:var(--cinza);font-style:italic;background:none;padding:4px 2px}
.escrever{border-top:1px solid var(--linha);padding:12px;display:flex;gap:8px;align-items:flex-end}
.escrever textarea{min-height:46px;max-height:200px}
.previa{display:flex;flex-direction:column;min-height:0;background:#E9EDF1}
.previa .barra{display:flex;gap:10px;align-items:center;padding:10px 16px;background:#fff;border-bottom:1px solid var(--linha);flex-wrap:wrap}
.previa .totais{display:flex;gap:18px;font-size:13px;color:var(--cinza)}
.previa .totais b{color:var(--marinho);font-size:15px}
.previa iframe{flex:1;border:0;width:100%;background:#E9EDF1}
.vazio{flex:1;display:grid;place-items:center;color:var(--cinza);text-align:center;padding:30px}
@media (max-width:900px){.trabalho{grid-template-columns:1fr;height:auto}.previa{min-height:80vh}.conversa{min-height:70vh}}
.ops{font-family:ui-monospace,monospace;font-size:12.5px;background:var(--fundo);border-radius:8px;padding:10px;white-space:pre-wrap}
.dois{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dois iframe{width:100%;height:70vh;border:1px solid var(--linha);border-radius:10px;background:#fff}
.separadores{display:flex;gap:4px;border-bottom:1px solid var(--linha);margin:0 0 16px}
.separadores a{padding:9px 14px;color:var(--cinza);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}
.separadores a small{font-weight:500;opacity:.7}
.separadores a.on,.separadores a:hover{color:var(--marinho);border-bottom-color:var(--azul);text-decoration:none}
.faixa{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.faixa form{display:inline}
.btn.peq,button.peq{padding:6px 11px;font-size:12.5px;border-radius:8px}

/* seletor de contactos da proposta */
.contactos-sel{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 12px 6px;font-size:12.5px;color:#5E6B78}
.contactos-sel label{display:flex;align-items:center;gap:4px;color:#0B1B33;cursor:pointer}
.contactos-sel label{white-space:nowrap}
.contactos-sel input[type=checkbox]{width:auto;margin:0;flex:none}
