/* Área do Cliente — identidade Barcelos & Bernardes */
:root{--champanhe:#F9DCA5;--dourado-ch:#EDD093;--dourado:#D8BB76;--ambar:#BEA151;--ouro:#B89B48;
--onix:#000;--carvao:#1A1A1A;--grafite:#3D3D3D;--nevoa:#6B6B6B;--areia:#F7F2E7;
--grad:linear-gradient(135deg,#F9DCA5 0%,#D8BB76 50%,#B89B48 100%);
--serif:'Playfair Display',Georgia,serif;--sans:'Inter',Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);color:var(--grafite);background:var(--areia);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--ouro);text-decoration:none}
.centro{min-height:100vh;display:grid;place-items:center;background:var(--onix);padding:24px;position:relative;overflow:hidden}
.centro::before{content:"";position:absolute;top:-200px;right:-160px;width:640px;height:640px;background:radial-gradient(circle,rgba(216,187,118,.16),transparent 62%)}
.cartao{position:relative;z-index:2;width:100%;max-width:420px;background:#111;border:1px solid rgba(216,187,118,.3);border-radius:16px;padding:42px 36px;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.cartao img.logo{height:52px;margin:0 auto 8px;display:block}
.cartao .desc{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dourado);text-align:center;font-weight:600;margin-bottom:28px}
.cartao h1{font-family:var(--serif);color:#fff;font-size:1.45rem;font-weight:600;text-align:center;margin-bottom:22px}
label{display:block;font-size:.84rem;font-weight:600;margin-bottom:6px}
.cartao label{color:rgba(255,255,255,.75)}
input,select,textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid #DFD5BC;background:#FDFBF6;font-family:var(--sans);font-size:.95rem;color:var(--onix)}
.cartao input{background:#0D0D0D;border-color:#2B2B2B;color:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--dourado)}
.grupo{margin-bottom:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 22px;border:0;border-radius:8px;background:var(--grad);color:var(--onix);font-weight:600;font-size:.98rem;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(216,187,118,.35)}
.btn-linha{background:transparent;border:1px solid rgba(216,187,118,.5);color:var(--dourado-ch)}
.btn-mini{width:auto;padding:8px 14px;font-size:.82rem}
.aviso{padding:12px 14px;border-radius:8px;font-size:.86rem;margin-bottom:18px;background:rgba(216,187,118,.12);border:1px solid rgba(216,187,118,.4);color:var(--dourado-ch)}
.aviso-claro{background:#FFF;border:1px solid var(--dourado);color:var(--grafite)}
.rodape-login{margin-top:22px;text-align:center;font-size:.78rem;color:rgba(255,255,255,.4)}
.rodape-login a{color:var(--dourado)}
/* painel */
.topo{background:var(--onix);border-bottom:2px solid;border-image:var(--grad) 1;padding:0 24px}
.topo-in{max-width:1080px;margin:0 auto;height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topo img{height:34px}
.topo .quem{color:#fff;font-size:.88rem;text-align:right}
.topo .quem b{display:block;font-size:.94rem}
.topo .quem span{color:var(--dourado);font-size:.76rem}
.topo a.sair{color:var(--dourado-ch);font-size:.84rem;font-weight:600;border:1px solid rgba(216,187,118,.45);padding:8px 14px;border-radius:8px;white-space:nowrap}
.miolo{max-width:1080px;margin:0 auto;padding:36px 24px 70px}
h2.titulo{font-family:var(--serif);font-size:1.6rem;color:var(--onix);margin-bottom:6px}
.sub{color:var(--nevoa);font-size:.92rem;margin-bottom:26px}
.painel-caixa{background:#fff;border:1px solid #E9E0CB;border-radius:14px;padding:26px;margin-bottom:24px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
th{text-align:left;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nevoa);padding:10px 12px;border-bottom:2px solid var(--areia)}
td{padding:12px;border-bottom:1px solid #F0EADA;vertical-align:middle}
tr:hover td{background:#FCFAF3}
.tag{display:inline-block;padding:4px 10px;border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.tag-ok{background:#EDF5EC;color:#2E6B34}.tag-perto{background:#FFF4DC;color:#8A6A12}.tag-vencida{background:#FBEAEA;color:#A03030}.tag-off{background:#EEE;color:#777}
.acoes{display:flex;gap:8px;flex-wrap:wrap}
.filtro{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.filtro .grupo{margin:0;min-width:180px}
.abas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.abas a{padding:10px 18px;border-radius:100px;border:1px solid #DFD5BC;background:#fff;color:var(--grafite);font-size:.88rem;font-weight:600}
.abas a.ativa{background:var(--grad);border-color:transparent;color:var(--onix)}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:720px){.duas{grid-template-columns:1fr}.topo .quem b{font-size:.84rem}}
/* modal recálculo */
.veu{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:50;padding:20px}
.veu.aberto{display:grid;place-items:center}
.modal{width:100%;max-width:440px;background:#fff;border-radius:14px;border-top:4px solid var(--dourado);padding:28px}
.modal h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:6px}
.modal p{font-size:.86rem;color:var(--nevoa);margin-bottom:16px}
.modal .acoes{margin-top:16px;justify-content:flex-end}
.vazio{text-align:center;padding:44px 16px;color:var(--nevoa)}
.vazio b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--grafite);margin-bottom:6px}
/* assistente IA */
.chat{background:#fff;border:1px solid #E9E0CB;border-radius:14px;display:flex;flex-direction:column;height:min(62vh,560px)}
.chat-msgs{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:12px}
.balao{max-width:82%;padding:12px 16px;border-radius:14px;font-size:.92rem;line-height:1.55;white-space:pre-wrap;word-wrap:break-word}
.balao-c{align-self:flex-end;background:linear-gradient(135deg,#F9DCA5,#D8BB76);color:#000;border-bottom-right-radius:4px}
.balao-ia{align-self:flex-start;background:#1A1A1A;color:rgba(255,255,255,.88);border-bottom-left-radius:4px}
.balao-ia b{color:#EDD093}
.chat-form{display:flex;gap:10px;padding:14px;border-top:1px solid #F0EADA}
.chat-form input{flex:1}
.chat-form button{width:auto;padding:12px 22px}
.chat-rodape{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.76rem;color:var(--nevoa);margin-top:10px}
.digitando{align-self:flex-start;color:var(--nevoa);font-size:.85rem;font-style:italic}
/* logo clicável -> página inicial do site */
.logo-link{display:inline-flex;line-height:0;border-radius:6px}
.logo-link img{transition:opacity .2s,transform .2s}
.logo-link:hover img{opacity:.82;transform:translateY(-1px)}
.logo-link:focus-visible{outline:2px solid var(--dourado-ch);outline-offset:4px}
.cartao .logo-link{display:block}
