:root{
  --bg:#F5F1E8; --superficie:#FBF8F1; --card:#FFFFFF; --ink:#241B1E; --muted:#7A6F63;
  --brand:#291D34; --brand-soft:#F1E9D8; --accent:#B08D46; --line:#E4DCC8;
  --radius:18px; --font:'Inter',system-ui,sans-serif; --titulo:'Sora',system-ui,sans-serif;
  --shadow: 0 10px 30px rgba(41,29,52,.08);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.6}

/* ===== topo ===== */
header{background:var(--superficie);border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:10}
header .logo{width:38px;height:38px;border-radius:11px;background:#000;display:grid;place-items:center;color:var(--accent);font-weight:700;font-family:var(--titulo);font-size:16px;border:1px solid var(--line)}
.logo-img-sm{width:38px;height:38px;border-radius:11px;object-fit:cover;background:#000;border:1px solid var(--line)}
.logo-img{width:74px;height:74px;border-radius:20px;object-fit:cover;display:block;margin:0 auto 20px;background:#000;border:1px solid var(--line)}
header h1{font-family:var(--titulo);font-size:19px;margin:0;font-weight:700;letter-spacing:-.01em;color:var(--brand)}
header small{color:var(--muted);font-size:13px}
header .sair{margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 14px;color:var(--muted);font-size:13px;cursor:pointer;transition:.2s}
header .sair:hover{border-color:var(--accent);color:var(--accent)}

.wrap{max-width:1040px;margin:0 auto;padding:0 22px}

/* ===== boas-vindas ===== */
.boas-vindas{padding:34px 0 8px}
.boas-vindas h2{font-family:var(--titulo);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:var(--brand)}
.boas-vindas p{color:var(--muted);margin:0;font-size:15px;max-width:520px;line-height:1.6}

/* ===== cards de agente ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:26px 0 32px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;cursor:pointer;
  transition:.2s;text-align:left;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-2px);border-color:var(--accent)}
.card.ativo{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.card .ic{width:42px;height:42px;border-radius:12px;background:var(--brand-soft);display:grid;place-items:center;margin-bottom:14px;border:1px solid var(--line)}
.card .ic svg{width:21px;height:21px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card h3{margin:0 0 6px;font-family:var(--titulo);font-size:16.5px;font-weight:700;color:var(--brand)}
.card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6}
.card .tag{position:absolute;top:16px;right:16px;font-size:11px;color:var(--accent);background:var(--brand-soft);
  border:1px solid var(--line);padding:2px 8px;border-radius:8px;font-weight:600}

/* ===== painel de conversa ===== */
.panel{background:var(--superficie);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:40px;box-shadow:var(--shadow)}
.panel-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.panel-head .ic{width:40px;height:40px;border-radius:11px;background:var(--brand-soft);display:grid;place-items:center;flex:none;border:1px solid var(--line)}
.panel-head .ic svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.panel-head h2{margin:0 0 3px;font-family:var(--titulo);font-size:20px;font-weight:700;color:var(--brand)}
.panel-head p{margin:0;color:var(--muted);font-size:13.5px}
.dica{background:var(--brand-soft);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:13px;color:var(--brand);margin-bottom:16px;display:flex;gap:8px;align-items:flex-start}
.dica svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.8;flex:none;margin-top:1px}
textarea{width:100%;min-height:100px;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-family:inherit;
  font-size:15px;resize:vertical;background:var(--card);color:var(--ink);transition:.2s}
textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
textarea::placeholder{color:var(--muted);opacity:.8}
button.primary{background:var(--brand);color:var(--accent);border:1px solid var(--brand);border-radius:12px;
  padding:12px 22px;font-weight:600;font-size:14.5px;cursor:pointer;margin-top:14px;transition:.2s;font-family:var(--titulo)}
button.primary:hover{background:#000;border-color:#000}
button.primary:disabled{opacity:.5;cursor:not-allowed}
.saida{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:18px;white-space:pre-wrap;
  line-height:1.7;font-size:14.5px;position:relative;color:var(--ink);animation:surge .3s ease}
@keyframes surge{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.saida .quem{font-family:var(--titulo);font-weight:700;font-size:12.5px;color:var(--accent);text-transform:uppercase;
  letter-spacing:.8px;margin-bottom:8px;display:block}
.pensando{color:var(--muted);font-size:14px;display:flex;align-items:center;gap:8px;padding:6px 0}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}
.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}
@keyframes pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
.disclaimer-fixo{font-size:12px;color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;gap:7px;align-items:flex-start}
.disclaimer-fixo svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:1.8;flex:none;margin-top:1px}

/* ===== upload de print ===== */
.upload-box{border:1.5px dashed var(--line);border-radius:14px;padding:18px;text-align:center;margin-bottom:14px;
  background:var(--card);cursor:pointer;transition:.2s}
.upload-box:hover{border-color:var(--accent)}
.upload-box svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:1.6;margin-bottom:8px}
.upload-box p{margin:0;color:var(--muted);font-size:13px}
.upload-box input{display:none}
.preview-print{position:relative;display:inline-block;margin-bottom:14px}
.preview-print img{max-width:220px;max-height:220px;border-radius:12px;border:1px solid var(--line);display:block}
.preview-print .remover{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--brand);
  color:#fff;border:2px solid var(--superficie);display:grid;place-items:center;cursor:pointer;font-size:13px;line-height:1}

/* ===== diário ===== */
.diario-form{margin-bottom:24px}
.diario-form label{font-size:13px;color:var(--muted);font-weight:600;display:block;margin-bottom:8px}
.linha{list-style:none;margin:0;padding:0}
.entrada{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:10px;
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;transition:.2s}
.entrada:hover{border-color:var(--accent)}
.entrada .data{font-family:var(--titulo);font-weight:700;font-size:13px;color:var(--accent);white-space:nowrap;
  background:var(--brand-soft);border:1px solid var(--line);padding:3px 10px;border-radius:8px;flex:none}
.entrada .txt{color:var(--ink);font-size:14.5px;line-height:1.6;flex:1}
.entrada .sent{font-size:12px;color:var(--accent);background:var(--brand-soft);border:1px solid var(--line);padding:4px 11px;border-radius:20px;
  white-space:nowrap;flex:none;font-weight:600}
.vazio{text-align:center;color:var(--muted);padding:30px 10px;font-size:14px}
.secao-titulo{font-family:var(--titulo);font-weight:700;font-size:15px;margin:24px 0 12px;color:var(--brand);letter-spacing:.02em;text-transform:uppercase;opacity:.85}

/* ===== login ===== */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}
.login{max-width:410px;width:100%;background:var(--superficie);border:1px solid var(--line);border-radius:26px;
  padding:42px 36px 34px;box-shadow:0 30px 70px rgba(41,29,52,.14)}
.login h2{text-align:center;font-family:var(--titulo);font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:var(--brand)}
.login>p{text-align:center;color:var(--muted);font-size:14.5px;margin:0 0 30px;line-height:1.6}
.campo{position:relative;margin-bottom:18px}
.campo label{font-size:12.5px;color:var(--muted);font-weight:700;display:block;margin-bottom:7px;
  text-transform:uppercase;letter-spacing:.5px}
.campo .campo-ic{position:absolute;left:14px;top:39px;pointer-events:none}
.campo .campo-ic svg{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login input{width:100%;padding:13px 14px 13px 40px;border:1px solid var(--line);border-radius:13px;font-size:15px;
  font-family:inherit;background:var(--card);color:var(--ink);transition:.2s}
.login input::placeholder{color:var(--muted);opacity:.8}
.login input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.campo:focus-within .campo-ic svg{stroke:var(--accent)}
.login button.primary{width:100%;margin-top:8px;padding:15px;font-size:15.5px;font-weight:700;border-radius:13px}
.login .priv{display:flex;gap:9px;align-items:flex-start;background:var(--brand-soft);border:1px solid var(--line);border-radius:13px;
  padding:13px 15px;margin-top:22px;font-size:12.5px;color:var(--brand);line-height:1.6}
.login .priv svg{width:15px;height:15px;stroke:var(--accent);fill:none;stroke-width:1.8;flex:none;margin-top:1px}

@media(max-width:600px){.wrap{padding:0 16px}.boas-vindas h2{font-size:22px}.panel,.card{padding:18px}}
