/* RAFA IA — portal do colaborador
   Folha única com tokens. Sidebar redesenhada; mesmo contrato de classes/IDs
   que o chat.js consulta (nada renomeado). */

:root{
  /* camadas — paleta da marca Rafa IA: azul profundo + ciano */
  --bg:#050b24;
  --bg-2:#03081c;
  --bg-3:#0b1436;
  --surface:rgba(8,16,42,.94);
  --surface-2:#0a1330;
  --hover:rgba(120,170,255,.10);
  --hover-2:rgba(120,170,255,.14);

  /* linhas */
  --line:rgba(130,170,255,.12);
  --line-2:rgba(130,170,255,.18);
  --line-3:rgba(130,170,255,.26);

  /* texto */
  --txt:#eaf0ff;
  --muted:#a8b6d4;
  --dim:#7c8bab;

  /* marca */
  --brand:#22d3ee;
  --brand-2:#055ffe;
  --gold:#d9b46a;
  --grad:linear-gradient(135deg,#055ffe 0%,#22d3ee 100%);
  --grad-soft:linear-gradient(135deg,rgba(5,95,254,.22),rgba(34,211,238,.16));

  /* semânticos */
  --ok:#38e8a8;
  --danger:#ff6b7d;

  /* elevação */
  --sh-2:0 18px 44px rgba(0,6,26,.55);
  --sh-3:0 30px 80px rgba(0,6,26,.68);
  --ring:0 0 0 2px rgba(130,170,255,.22);

  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--txt);
  font:15px/1.56 "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing:antialiased; overflow:hidden;
}
button{font:inherit; color:inherit; cursor:pointer; background:none; border:0}
input,textarea,select{font:inherit; color:inherit}
[hidden]{display:none !important}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.085); border-radius:9px; border:3px solid transparent; background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.18); background-clip:padding-box}
::-webkit-scrollbar-track{background:transparent}
:focus-visible{outline:none; box-shadow:0 0 0 2px rgba(160,190,255,.18)}

/* ícones (sprite inline em index.html) */
.i{width:16px; height:16px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round}

/* ---------------- auth ---------------- */
.auth{
  position:fixed; inset:0; display:grid; place-items:center; padding:24px;
  background:
    radial-gradient(820px 520px at 18% 0%, rgba(5,95,254,.28) 0%, transparent 62%),
    radial-gradient(900px 620px at 84% 12%, rgba(34,211,238,.16) 0%, transparent 62%),
    linear-gradient(180deg,#05102e 0%,#03081c 100%);
  overflow:auto; z-index:50;
}
.auth-card{
  width:100%; max-width:404px; background:var(--surface); border:1px solid var(--line-2);
  border-radius:22px; padding:30px 26px 22px; box-shadow:var(--sh-3);
  backdrop-filter:blur(14px); animation:fadeUp .32s var(--ease) both;
}
.auth-brand{display:flex; align-items:center; gap:12px; margin-bottom:24px}
.auth-mark{width:40px; height:40px; object-fit:contain; filter:drop-shadow(0 4px 14px rgba(34,211,238,.35))}
.auth-name{font-size:18px; letter-spacing:.14em; font-weight:600}
.auth-name span{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.auth-sub{font-size:11.5px; color:var(--dim); letter-spacing:.06em}
.tabs{display:flex; gap:4px; background:rgba(0,0,0,.32); padding:4px; border-radius:13px; margin-bottom:18px; border:1px solid var(--line)}
.tabs button{flex:1; padding:9px 0; border-radius:9px; font-size:13px; color:var(--muted); transition:.18s var(--ease)}
.tabs button:hover{color:var(--txt)}
.tabs button.on{background:var(--grad-soft); color:#fff; box-shadow:inset 0 0 0 1px rgba(34,211,238,.28)}
.form{display:flex; flex-direction:column; gap:12px}
.form label{display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--muted)}
.form input{
  background:rgba(0,0,0,.35); border:1px solid var(--line-2); border-radius:11px; padding:12px 13px;
  font-size:14.5px; outline:none; transition:.18s var(--ease); color:#f1f1f1;
}
.form input:focus{border-color:rgba(150,180,240,.45); background:rgba(3,8,28,.8)}
.primary{
  background:var(--grad); color:#04121a; border-radius:11px; padding:12px 16px;
  font-size:14px; font-weight:700; transition:.18s var(--ease); margin-top:4px;
  box-shadow:0 8px 22px rgba(34,211,238,.22);
}
.primary:hover{filter:brightness(1.08); transform:translateY(-1px)}
.primary:active{transform:scale(.99)}
.primary:disabled{opacity:.5; cursor:default; transform:none; filter:none}
.msg{font-size:12.5px; margin:2px 0 0; padding:9px 11px; border-radius:9px; line-height:1.45}
.msg.err{background:rgba(255,107,125,.10); color:#ffb3bd; border:1px solid rgba(255,107,125,.3)}
.msg.ok{background:rgba(56,232,168,.10); color:#a9f6d6; border:1px solid rgba(56,232,168,.3)}
.auth-foot{margin:18px 0 0; font-size:11px; color:var(--dim); text-align:center; letter-spacing:.04em}

/* ---------------- layout ---------------- */
.app{display:flex; height:100%}
.side{
  width:260px; flex:0 0 260px;
  background:var(--bg-2);
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; min-height:0;
  transition:width .18s var(--ease), flex-basis .18s var(--ease);
  position:relative; overflow:hidden;
}
.side-top{display:flex; align-items:center; gap:2px; padding:8px 8px 6px; flex:0 0 auto}
.brand{display:flex; align-items:center; gap:8px; font-size:13.5px; letter-spacing:.02em; font-weight:500; flex:1 1 auto; min-width:0; padding-left:4px}
.brand img{width:22px; height:22px; object-fit:contain; border-radius:6px}
.brand span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14.5px; letter-spacing:.015em; font-weight:650}
.brand b{color:var(--brand); font-weight:600}
.icon-btn{
  width:32px; height:32px; display:grid; place-items:center; border-radius:8px;
  color:var(--muted); transition:background .14s, color .14s; flex:0 0 auto;
}
.icon-btn:hover{background:rgba(255,255,255,.07); color:#fff}
.icon-btn:active{transform:scale(.96)}

/* linha de ação principal (Novo chat) */
.nav-item{
  display:flex; align-items:center; gap:10px; margin:2px 8px; padding:8px 10px;
  border-radius:8px; font-size:13.5px; color:var(--txt); text-align:left;
  transition:background .14s; min-height:36px; flex:0 0 auto;
}
.nav-item .ico{display:grid; place-items:center; color:var(--muted)}
.nav-item .lbl{flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.nav-item .kbd{font-size:10.5px; color:var(--dim); letter-spacing:.04em}
.nav-item:hover{background:rgba(255,255,255,.07)}
.nav-item:hover .ico{color:#fff}

.search-row{padding:2px 8px 4px; flex:0 0 auto}
.search-row[hidden]{display:none}

.side-scroll{flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; padding:2px 8px 10px}
.side-head{
  display:flex; align-items:center; justify-content:space-between; padding:10px 8px 4px;
  font-size:11.5px; font-weight:500; color:var(--muted); letter-spacing:.01em;
}
.side-head .cnt-pill{font-size:10px; font-weight:600; color:var(--dim); background:rgba(255,255,255,.06); border-radius:99px; padding:1px 7px}
.proj-list,.chat-list{display:flex; flex-direction:column; gap:1px}

/* busca */
.search-wrap{position:relative; margin:0}
.search-wrap .i{position:absolute; left:10px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--dim); pointer-events:none; transition:color .18s}
.side-search{
  width:100%; padding:8px 28px 8px 32px; font-size:13px;
  background:rgba(255,255,255,.05); border:1px solid transparent; border-radius:9px;
  color:var(--txt); outline:none; transition:.16s;
  -webkit-appearance:none; appearance:none;
}
.side-search::placeholder{color:var(--dim)}
.side-search::-webkit-search-cancel-button{-webkit-appearance:none; height:12px; width:12px; border-radius:50%; background:rgba(255,255,255,.28); cursor:pointer}
.side-search:hover{background:rgba(255,255,255,.07)}
.side-search:focus{background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14)}
.search-wrap:focus-within .i{color:var(--brand)}

/* itens */
.item{
  display:flex; align-items:center; gap:10px; padding:7px 9px; border-radius:8px;
  font-size:13.5px; color:var(--txt); text-align:left; width:100%;
  transition:background .12s; overflow:hidden; white-space:nowrap; min-height:34px; position:relative;
}
.item .ico{color:var(--muted); flex:0 0 auto; display:grid; place-items:center}
.item .lbl{flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; cursor:pointer}
.item .cnt{font-size:10px; color:var(--dim); flex:0 0 auto; padding:0 2px}
.item:hover{background:rgba(255,255,255,.07)}
.item.on{background:rgba(255,255,255,.09); color:#fff}
.item.on .ico{color:#fff}
.item .del{
  opacity:0; flex:0 0 auto; width:20px; height:20px; border-radius:6px; display:grid; place-items:center;
  font-size:11px; color:var(--dim); transition:.12s;
}
.item:hover .del{opacity:1}
.item .del:hover{background:rgba(255,107,125,.16); color:var(--danger)}
.item .proj-edit{
  opacity:0; flex:0 0 auto; width:20px; height:20px; border-radius:6px; display:grid; place-items:center;
  color:var(--dim); transition:.12s;
}
.item:hover .proj-edit, .item.on .proj-edit{opacity:1}
.item .proj-edit:hover{background:rgba(255,255,255,.12); color:#fff}
.side.mini .item .proj-edit{display:none}

.side-empty{
  margin:2px 0; padding:14px 10px; border:1px dashed rgba(255,255,255,.14); border-radius:9px;
  font-size:12px; color:var(--muted); text-align:center; line-height:1.5;
}
.side-empty svg{display:block; margin:0 auto 6px; width:16px; height:16px; color:var(--dim)}

.side-foot{border-top:1px solid var(--line); padding:6px 8px; position:relative; flex:0 0 auto}
.user-btn{display:flex; align-items:center; gap:9px; width:100%; padding:7px 8px; border-radius:9px; text-align:left; transition:background .14s}
.user-btn:hover{background:rgba(255,255,255,.07)}
.av{
  width:28px; height:28px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  background:var(--grad); color:#04121a; font-size:12px; font-weight:800;
}
.user-txt{display:flex; flex-direction:column; min-width:0; flex:1 1 auto}
.user-txt b{font-size:12.5px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.user-txt i{font-size:11px; color:var(--dim); font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.dots{color:var(--dim); font-size:15px}
.user-btn:hover .dots{color:var(--muted)}
.user-menu{
  position:absolute; left:8px; right:8px; bottom:54px; background:var(--surface-2); border:1px solid var(--line-2);
  border-radius:11px; padding:5px; box-shadow:var(--sh-2); z-index:20; backdrop-filter:blur(10px);
  animation:fadeUp .16s var(--ease) both;
}
.user-menu button{display:flex; align-items:center; gap:8px; width:100%; text-align:left; padding:8px 10px; border-radius:7px; font-size:13px; transition:.14s}
.user-menu button:hover{background:rgba(255,107,125,.12); color:#ffb3bd}

/* barra recolhida: só ícones */
.side.mini{width:64px; flex-basis:64px}
.side.mini .brand span,
.side.mini .nav-item .lbl,
.side.mini .nav-item .kbd,
.side.mini .side-head span,
.side.mini .side-head .cnt-pill,
.side.mini .item .lbl,
.side.mini .item .cnt,
.side.mini .user-txt,
.side.mini .dots,
.side.mini .side-empty,
.side.mini .search-row{display:none}
.side.mini .brand{justify-content:center; padding-left:0}
.side.mini .side-top{flex-direction:column; gap:4px; padding:10px 8px 6px}
.side.mini .nav-item,
.side.mini .item{justify-content:center; padding:8px; margin-left:8px; margin-right:8px}
.side.mini .side-head{justify-content:center; padding:8px 0 2px}
.side.mini .side-head .icon-btn{width:28px; height:28px}
.side.mini .item .del{display:none}
.side.mini .user-btn{justify-content:center; padding:6px}
.side.mini .side-scroll{padding:2px 6px 10px}

/* ---------------- main ---------------- */
.main{flex:1 1 auto; min-width:0; display:flex; flex-direction:column; min-height:0; background:var(--bg)}
.topbar{
  display:flex; align-items:center; gap:8px; padding:8px 14px; border-bottom:1px solid var(--line);
  background:rgba(10,12,18,.78); backdrop-filter:blur(12px); flex:0 0 auto; min-height:52px;
}
.top-actions{display:flex; align-items:center; gap:2px}
.topbar .icon-btn{width:30px; height:30px}
.topbar .icon-btn:hover{background:rgba(255,255,255,.08)}
.top-title{display:flex; align-items:center; gap:9px; min-width:0; flex:1 1 auto}
.top-title b{font-size:13.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.chip{
  font-size:10.5px; color:#bff4ff; border:1px solid rgba(34,211,238,.32); background:rgba(34,211,238,.10);
  padding:2px 9px; border-radius:99px; white-space:nowrap; letter-spacing:.02em;
}
.effort{position:relative; flex:0 0 auto}
.effort-btn{
  display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.06); border:1px solid transparent;
  border-radius:8px; padding:6px 8px; font:inherit; font-size:11.5px; color:var(--muted); cursor:pointer;
  outline:none; transition:.16s;
}
.effort-btn:hover,.effort-btn[aria-expanded="true"]{color:var(--txt); border-color:var(--line-2); background:rgba(255,255,255,.09)}
.effort-btn .i{opacity:.7; transition:transform .16s var(--ease)}
.effort-btn[aria-expanded="true"] .i{transform:rotate(180deg)}
.effort-menu{
  position:absolute; top:calc(100% + 6px); right:0; z-index:70; min-width:168px; padding:4px;
  background:#0d1730; border:1px solid rgba(150,180,240,.22); border-radius:10px;
  box-shadow:0 18px 40px rgba(0,4,18,.6), 0 2px 8px rgba(0,4,18,.5);
}
.effort-menu button{
  display:flex; flex-direction:column; align-items:flex-start; gap:1px; width:100%; text-align:left;
  background:transparent; border:0; border-radius:7px; padding:7px 9px; cursor:pointer;
  font:inherit; font-size:12.5px; color:#dbe6ff; transition:background .12s var(--ease);
}
.effort-menu button small{font-size:10.5px; color:#8fa1c4}
.effort-menu button:hover,.effort-menu button:focus-visible{background:rgba(255,255,255,.07); outline:none}
.effort-menu button.on{background:rgba(5,95,254,.18); color:#fff}
.effort-menu button.on small{color:#a9c2ee}
.effort-menu button.on::after{content:"✓"; position:absolute; right:14px; font-size:11px; color:#8fb8ff}
.effort-menu button{position:relative}
@media (max-width:520px){ .effort-menu{right:-6px; min-width:150px} }
.thread{flex:1 1 auto; min-height:0; overflow-y:auto; scroll-behavior:smooth}
.thread-inner{max-width:780px; margin:0 auto; padding:28px 20px 8px; display:flex; flex-direction:column; gap:24px; animation:fadeUp .26s var(--ease) both}

/* welcome */
.welcome{min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 18px; gap:12px}
.welcome-logo{width:76px; height:76px; object-fit:contain; opacity:.98; filter:drop-shadow(0 10px 30px rgba(34,211,238,.28)); animation:float 6s ease-in-out infinite}
.welcome h1{font-size:27px; font-weight:600; margin:8px 0 0; letter-spacing:-.015em}
.welcome p{margin:0; color:var(--muted); font-size:14px}
.suggest{display:flex; flex-wrap:wrap; gap:9px; justify-content:center; margin-top:16px; max-width:540px}
.suggest button{
  border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:13px;
  padding:10px 14px; font-size:12.5px; color:#d7dbe7; transition:.16s var(--ease);
}
.suggest button:hover{background:var(--hover-2); border-color:var(--line-3); transform:translateY(-1px); color:#fff}
.suggest button:active{transform:scale(.985)}

/* mensagens */
.msg-row{display:flex; gap:13px; align-items:flex-start; animation:msgIn .22s var(--ease) both}
.msg-row.user{justify-content:flex-end}
.user-col{display:flex; flex-direction:column; align-items:flex-end; gap:2px; max-width:80%}
.user-col .bubble-user{max-width:100%}
.user-acts{opacity:0; transition:opacity .14s}
.msg-row.user:hover .user-acts{opacity:1}
.bubble-user{
  background:#303030; border:1px solid rgba(255,255,255,.04);
  border-radius:18px 18px 6px 18px; padding:10px 16px; max-width:80%;
  white-space:pre-wrap; word-break:break-word; font-size:15px;
}
.avatar-ai{
  width:30px; height:30px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  background:#0d2630; border:1px solid rgba(34,211,238,.35); overflow:hidden;
  box-shadow:0 0 0 4px rgba(34,211,238,.05);
}
.avatar-ai img{width:22px; height:22px; object-fit:contain}
.body-ai{flex:1 1 auto; min-width:0; padding-top:2px; font-size:15px; word-break:break-word}
.body-ai > *:first-child{margin-top:0}
.body-ai > *:last-child{margin-bottom:0}
.body-ai p{margin:0 0 12px}
.body-ai h1,.body-ai h2,.body-ai h3{margin:18px 0 8px; font-size:16px; line-height:1.35}
.body-ai ul,.body-ai ol{margin:0 0 12px; padding-left:22px}
.body-ai li{margin:3px 0}
.body-ai strong{color:#fff}
.body-ai a{color:var(--brand); text-decoration:underline; text-underline-offset:2px}
.body-ai code{background:rgba(255,255,255,.06); border:1px solid var(--line); padding:1px 5px; border-radius:5px; font-size:.88em; font-family:"Cascadia Mono",Consolas,monospace}
.body-ai pre{
  position:relative; background:#0c0f16; border:1px solid var(--line-2); border-radius:12px;
  padding:14px 14px; overflow-x:auto; margin:0 0 14px;
}
.body-ai pre code{background:none; border:0; padding:0; font-size:12.8px; line-height:1.5; display:block; white-space:pre}
.body-ai blockquote{margin:0 0 12px; padding-left:12px; border-left:2px solid var(--line-3); color:var(--muted)}
.copy{
  position:absolute; top:7px; right:7px; font-size:10.5px; color:var(--muted);
  background:rgba(255,255,255,.07); border:1px solid var(--line-2); border-radius:7px; padding:3px 8px; opacity:0; transition:.15s;
}
pre:hover .copy{opacity:1}
/* atividade de ferramentas: uma linha discreta, detalhes sob demanda */
.activity{
  display:inline-flex; align-items:center; gap:8px; margin:0 0 8px; padding:5px 10px 5px 9px;
  background:rgba(255,255,255,.045); border-radius:999px; font-size:12.5px; color:var(--muted);
  cursor:pointer; transition:background .14s; max-width:100%;
}
.activity:hover{background:rgba(255,255,255,.08); color:var(--txt)}
.activity .act-txt{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.act-dot{width:13px; height:13px; border-radius:50%; border:1.6px solid rgba(255,255,255,.35); flex:0 0 auto; position:relative}
.activity.run .act-dot{border-color:transparent; border-top-color:var(--brand); border-right-color:var(--brand); animation:spin .8s linear infinite}
.activity:not(.run) .act-dot{background:rgba(255,255,255,.28); border-color:transparent}
.activity:not(.run) .act-dot::after{content:""; position:absolute; left:3px; top:3.2px; width:5px; height:3px; border-left:1.6px solid #212121; border-bottom:1.6px solid #212121; transform:rotate(-45deg)}
.activity.bad .act-dot{background:rgba(255,107,125,.55)}
.activity.bad{color:#ffb3bd}
.act-caret{opacity:.5; transition:transform .15s}
.act-list{margin:0 0 10px; padding:2px 0 2px 6px; border-left:1px solid rgba(255,255,255,.10); display:flex; flex-direction:column; gap:3px}
.act-item{display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--dim); max-width:420px}
.act-item.bad{color:#ffb3bd}
@keyframes spin{to{transform:rotate(360deg)}}
.reason{
  margin:0 0 10px; font-size:12.5px; color:var(--dim); border-left:2px solid var(--line-2); padding-left:10px;
  white-space:pre-wrap; max-height:120px; overflow:hidden; cursor:pointer;
}
.reason.open{max-height:none}
.msg-acts{display:flex; gap:4px; margin-top:4px}
.msg-acts button{color:var(--dim); font-size:11.5px; padding:3px 7px; border-radius:7px; transition:.14s}
.msg-acts button:hover{background:var(--hover-2); color:#fff}
.typing{display:inline-flex; gap:4px; padding:4px 0}
.typing i{width:6px; height:6px; border-radius:50%; background:var(--muted); animation:tp 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{opacity:.25; transform:translateY(0)}30%{opacity:1; transform:translateY(-3px)}}
.err-box{color:#ffb3bd; font-size:13px; background:rgba(255,107,125,.08); border:1px solid rgba(255,107,125,.25); border-radius:10px; padding:9px 12px}

/* composer */
.composer-wrap{flex:0 0 auto; padding:6px 20px 14px; background:linear-gradient(180deg, rgba(5,11,36,0), var(--bg) 24%)}
.composer{
  max-width:780px; margin:0 auto; display:flex; align-items:flex-end; gap:8px;
  background:#0e1a3c; border:1px solid transparent; border-radius:26px; padding:8px 8px 8px 16px;
  box-shadow:0 10px 26px rgba(0,6,26,.45); transition:border-color .18s var(--ease), background .18s var(--ease);
}
.composer:focus-within{border-color:transparent; background:#101f47; box-shadow:0 10px 26px rgba(0,6,26,.5)}
.composer textarea{
  flex:1 1 auto; resize:none; border:0; outline:none; background:none; padding:8px 0;
  max-height:200px; font-size:15px; line-height:1.5; color:#f1f1f1; box-shadow:none;
}
.composer textarea::placeholder{color:#8293b5}
.composer textarea:focus,.composer textarea:focus-visible{outline:none; box-shadow:none; border:0}
.send{
  width:34px; height:34px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  background:#f2f3f5; color:#0b0d12; transition:.14s var(--ease);
}
.send:hover{background:#fff}
.send:active{transform:scale(.95)}
.send:disabled{background:rgba(255,255,255,.12); color:#5b6478; cursor:default; transform:none}
.send.stop{background:#ff6b7d; color:#1a0b0e}
.legal{max-width:780px; margin:8px auto 0; text-align:center; font-size:10.5px; color:#5c6478}

/* modal */
.modal{position:fixed; inset:0; background:rgba(3,5,9,.66); display:grid; place-items:center; padding:20px; z-index:60; backdrop-filter:blur(3px)}
.modal-card{width:100%; max-width:440px; background:var(--surface-2); border:1px solid var(--line-2); border-radius:18px; padding:22px; box-shadow:var(--sh-3); animation:fadeUp .2s var(--ease) both}
.modal-card h3{margin:0 0 16px; font-size:15px; font-weight:600}
.modal-card form{display:flex; flex-direction:column; gap:12px}
.modal-card label{display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--muted)}
.modal-card input,.modal-card textarea{
  background:rgba(0,0,0,.35); border:1px solid var(--line-2); border-radius:10px; padding:10px 12px;
  font-size:14px; outline:none; resize:vertical; transition:.16s;
}
.modal-card input:focus,.modal-card textarea:focus{border-color:rgba(150,180,240,.42)}
.modal-card input[type=file]{padding:8px 10px; font-size:12px; color:var(--muted)}
.modal-card input[type=file]::file-selector-button{
  margin-right:10px; padding:6px 10px; border-radius:8px; border:1px solid var(--line-2);
  background:rgba(255,255,255,.05); color:var(--txt); font-size:12px; cursor:pointer;
}
.pfile-list{display:flex; flex-direction:column; gap:6px}
.pfile{display:flex; align-items:center; gap:8px; padding:7px 9px; border:1px solid var(--line-2); border-radius:9px; background:rgba(255,255,255,.03); font-size:12px}
.pfile.up{opacity:.6}
.pfile.bad{border-color:rgba(255,107,125,.5); color:#ffb3bd}
.pfile-name{flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pfile-x{width:20px; height:20px; border-radius:6px; color:var(--dim); font-size:10px}
.pfile-x:hover{background:rgba(255,107,125,.16); color:var(--danger)}
.modal-acts{display:flex; justify-content:flex-end; gap:8px; margin-top:4px}
.ghost{border:1px solid var(--line-2); border-radius:10px; padding:10px 14px; font-size:13.5px; color:var(--muted); transition:.16s}
.ghost:hover{background:var(--hover); color:#fff}

.scrim{position:fixed; inset:0; background:rgba(3,5,9,.6); z-index:30; backdrop-filter:blur(1px)}
.only-mobile{display:none}

/* ---------------- anexos ---------------- */
.attach-btn{
  width:34px; height:34px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center;
  background:transparent; color:#a8b0c6; border:1px solid var(--line-2); transition:.16s var(--ease);
}
.attach-btn:hover{background:var(--hover-2); color:#fff; border-color:var(--line-3)}
.composer.drop{border-color:rgba(34,211,238,.55); box-shadow:0 0 0 3px rgba(34,211,238,.10)}
.attach-bar{max-width:780px; margin:0 auto 8px; display:flex; flex-wrap:wrap; gap:8px}
.att-chip{
  display:flex; align-items:center; gap:8px; max-width:260px; padding:6px 8px 6px 6px;
  background:var(--surface-2); border:1px solid var(--line-2); border-radius:12px;
}
.att-chip.up{opacity:.7}
.att-chip.bad{border-color:rgba(255,107,125,.55); background:rgba(255,107,125,.08)}
.att-chip img{width:34px; height:34px; object-fit:cover; border-radius:8px; flex:0 0 auto}
.att-badge{
  flex:0 0 auto; min-width:34px; height:34px; padding:0 6px; border-radius:8px; display:grid; place-items:center;
  background:rgba(255,255,255,.08); color:#dcdcdc; font-size:9.5px; font-weight:700; letter-spacing:.04em;
}
.att-meta{display:flex; flex-direction:column; min-width:0; line-height:1.25}
.att-meta b{font-size:11.5px; font-weight:500; color:#eaeaea; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.att-meta small{font-size:10px; color:#8f97ab}
.att-x{flex:0 0 auto; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.12); color:#cfcfcf; font-size:10px; display:grid; place-items:center; transition:.14s}
.att-x:hover{background:var(--danger); color:#1a0b0e}

.att-view{display:flex; flex-wrap:wrap; gap:8px}
.bubble-user .bubble-text{white-space:pre-wrap; word-break:break-word}
.bubble-user .att-view{margin-top:8px}
.att-imgs{display:flex; flex-wrap:wrap; gap:8px}
.att-imgs a{display:block; line-height:0}
.att-imgs img{
  max-width:240px; max-height:240px; border-radius:12px; object-fit:cover;
  border:1px solid var(--line-2); background:#12151d;
}
.att-file{
  display:flex; align-items:center; gap:8px; padding:7px 10px 7px 7px; max-width:280px;
  background:rgba(255,255,255,.06); border:1px solid var(--line-2); border-radius:10px; text-decoration:none;
  transition:.14s;
}
.att-file:hover{background:rgba(255,255,255,.12)}
.att-file .att-meta b{color:#f1f1f1}

/* imagens geradas pelo núcleo (image_gen) na bolha da IA */
.gen-imgs{display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 4px}
.gen-imgs a{display:block; line-height:0}
.gen-imgs img{display:block; width:100%; height:auto; cursor:zoom-in; background:#12151d}
.gen-imgs figure{margin:0; background:#0f141d; border:1px solid #242c3a; border-radius:14px; overflow:hidden; max-width:min(440px,100%)}
.gen-imgs .cap-pic{display:block; line-height:0}
.gen-imgs figcaption{display:flex; align-items:center; gap:10px; padding:9px 10px 9px 12px; background:#0f141d; border-top:1px solid #1f2733}
.gen-imgs .cap-txt{flex:1 1 auto; min-width:0; display:flex; align-items:baseline; gap:7px; overflow:hidden}
.gen-imgs .cap-txt b{font-size:12.5px; font-weight:600; color:#e7ecf6; letter-spacing:.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gen-imgs .cap-txt i{flex:0 0 auto; font-style:normal; font-size:11px; color:#7d879b; letter-spacing:.02em}
.gen-imgs .cap-acts{flex:0 0 auto; display:flex; gap:6px}
.gen-imgs .cap-btn{display:inline-flex; align-items:center; gap:5px; padding:6px 10px; border-radius:9px; border:1px solid #2c3543; background:#171e29; color:#dbe3f0; font-size:12px; font-weight:600; line-height:1; letter-spacing:.01em; text-decoration:none; white-space:nowrap; transition:background .15s, border-color .15s, color .15s}
.gen-imgs .cap-btn svg{width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round}
.gen-imgs .cap-btn:hover{background:#212b39; border-color:var(--gold); color:var(--gold); text-decoration:none}
.gen-imgs .cap-btn:active{transform:translateY(1px)}
@media (max-width:560px){
  .gen-imgs figure{max-width:100%}
  .gen-imgs figcaption{padding:8px; gap:8px}
  .gen-imgs .cap-btn{padding:7px 9px; font-size:11.5px}
  .gen-imgs .cap-txt i{display:none}
}
.gen-files{display:flex; flex-direction:column; gap:8px; margin:10px 0 4px}
.gen-file{display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid rgba(217,180,106,.32); border-radius:10px; background:rgba(217,180,106,.06); text-decoration:none; color:inherit; max-width:420px; transition:.14s}
.gen-file:hover{background:rgba(217,180,106,.12); border-color:rgba(217,180,106,.6)}
.gf-badge{flex:0 0 auto; font-size:10px; font-weight:700; letter-spacing:.06em; color:#0b0b0b; background:var(--gold); border-radius:6px; padding:6px 7px}
.gf-meta{display:flex; flex-direction:column; min-width:0}
.gf-meta b{font-size:12.5px; font-weight:600; color:#e7ecf6; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.gf-meta small{font-size:11px; color:#8b94a6; letter-spacing:.02em}
.tbl{overflow-x:auto; margin:10px 0; border:1px solid var(--line-2); border-radius:10px}
.tbl table{border-collapse:collapse; width:100%; font-size:12.5px}
.tbl th,.tbl td{border-bottom:1px solid var(--line); padding:7px 10px; text-align:left; vertical-align:top}
.tbl th{background:rgba(217,180,106,.1); font-weight:600; white-space:nowrap}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.message ul ul,.message ol ol,.message ul ol,.message ol ul{margin:4px 0 4px 16px}

/* ---------------- motion ---------------- */
@keyframes fadeUp{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
@keyframes msgIn{from{opacity:0; transform:translateY(6px)}to{opacity:1; transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media (max-width:860px){
  .only-mobile{display:grid}
  .side{position:fixed; inset:0 auto 0 0; z-index:40; width:288px; flex-basis:288px; transform:translateX(-102%); box-shadow:var(--sh-3)}
  .side.open{transform:translateX(0)}
  .thread-inner{padding:18px 14px 6px}
  .composer-wrap{padding:6px 12px 10px}
  .welcome h1{font-size:22px}
  .welcome-logo{width:60px;height:60px}
  .bubble-user{max-width:88%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
}

/* ---------------- biblioteca (arquivos e imagens salvos) ---------------- */
.main.lib .topbar{display:none}
.main.lib .composer-wrap{display:none}
.library{flex:1 1 auto; overflow:auto; padding:26px 30px 44px}
.lib-head{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:16px}
.lib-head h1{font-size:27px; margin:0; letter-spacing:-.015em; font-weight:650}
.lib-tools{margin-left:auto; display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.lib-search{display:flex; align-items:center; gap:8px; background:#0b1533; border:1px solid var(--line-2); border-radius:999px; padding:8px 14px; min-width:230px}
.lib-search input{background:none; border:0; outline:none; width:100%; font-size:13.5px; box-shadow:none}
.lib-search input::placeholder{color:var(--dim)}
.lib-search:focus-within{border-color:rgba(160,190,255,.4)}
.lib-new{display:flex; align-items:center; gap:7px; background:#eaf0ff; color:#08102a; font-weight:640; font-size:13.5px; border-radius:999px; padding:9px 16px}
.lib-new:hover{background:#fff}
.lib-tabs{display:flex; gap:8px; flex-wrap:wrap; margin:2px 0 20px}
.lib-tabs button{font-size:13px; padding:7px 14px; border-radius:999px; border:1px solid var(--line-2); color:var(--muted); transition:.15s var(--ease)}
.lib-tabs button:hover{color:#fff; border-color:rgba(160,190,255,.3)}
.lib-tabs button.on{background:rgba(160,190,255,.16); color:#fff; border-color:transparent}
.lib-sect{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); margin:22px 0 10px}
.lib-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(176px,1fr)); gap:15px}
.lib-card{background:#0a1330; border:1px solid var(--line); border-radius:14px; overflow:hidden; text-align:left; display:flex; flex-direction:column; transition:.16s var(--ease); position:relative}
.lib-card:hover{border-color:rgba(160,190,255,.34); transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,5,22,.5)}
.lib-thumb{height:126px; background:#060f28; display:grid; place-items:center; overflow:hidden; position:relative}
.lib-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.lib-thumb .sheet{width:100%; height:100%; display:grid; place-items:center; background:linear-gradient(160deg,#0b1638,#081026)}
.lib-badge{width:46px; height:56px; border-radius:6px; display:grid; place-items:center; font-size:10px; font-weight:800; letter-spacing:.04em; color:#fff; box-shadow:0 6px 16px rgba(0,0,0,.35)}
.lib-badge.pdf{background:#c8322f}
.lib-badge.doc{background:#1f5fd6}
.lib-badge.sheet{background:#1c7a4a}
.lib-badge.txt{background:#3a4a75}
.lib-badge.out{background:#2b3556}
.lib-meta{padding:9px 11px 11px}
.lib-name{font-size:12.5px; color:#e9efff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lib-sub{font-size:11px; color:var(--dim); margin-top:3px; display:flex; gap:8px; align-items:center}
.lib-card .dl{position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:rgba(4,10,30,.72); color:#cfdcff; opacity:0; transition:.15s var(--ease)}
.lib-card:hover .dl{opacity:1}
.lib-folder .lib-thumb{height:96px; background:linear-gradient(160deg,#0d1c46,#0a1330)}
.lib-folder .lib-thumb svg{width:42px; height:42px; color:#8fb0ff}
.lib-empty{padding:56px 10px; text-align:center; color:var(--dim); font-size:13.5px}
.lib-note{margin-top:26px; font-size:11.5px; color:var(--dim)}
.lib-light{position:fixed; inset:0; background:rgba(2,5,18,.9); display:grid; place-items:center; z-index:70; padding:24px; cursor:zoom-out}
.lib-light img{max-width:min(94vw,1200px); max-height:88vh; border-radius:14px; box-shadow:var(--sh-3)}
@media (max-width:720px){
  .library{padding:16px 14px 30px}
  .lib-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .lib-search{min-width:0; flex:1 1 100%}
}

/* slogan da marca */
.slogan{margin:6px 0 0; font-size:13px; color:var(--muted); letter-spacing:.01em}
.auth-card .slogan{text-align:center; margin-top:2px; font-size:12.5px; color:var(--dim)}
.auth-slogan{margin-top:2px; font-size:11.5px; color:var(--dim); letter-spacing:.02em}

/* conta: painel de configurações */
.acc-meta{display:flex; flex-direction:column; gap:6px; margin:0 0 16px; padding:12px 14px; border:1px solid var(--line-2); border-radius:12px; background:rgba(255,255,255,.02)}
.acc-meta div{display:flex; justify-content:space-between; gap:12px; font-size:12px}
.acc-meta span{color:var(--muted)}
.acc-meta b{font-weight:600; color:var(--text); max-width:62%; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.user-menu #acc-open{border-bottom:1px solid var(--line)}

/* ---- título editável no lugar (renomear sem janela do navegador) ---- */
.top-title #chat-title{cursor:text; border-radius:7px; padding:2px 6px; margin-left:-6px; transition:background .15s var(--ease)}
.top-title #chat-title:hover{background:rgba(255,255,255,.05)}
.title-edit{font:inherit; font-size:14.5px; font-weight:650; color:var(--text); background:#0e1a3c; border:1px solid rgba(150,180,240,.35); border-radius:8px; padding:3px 8px; outline:none; min-width:300px; max-width:56vw}
.title-edit:focus{border-color:rgba(150,180,240,.6); box-shadow:0 0 0 3px rgba(5,95,254,.16)}

/* ---- faixa de conversa compartilhada ---- */
.ro-banner{display:flex; align-items:center; gap:8px; margin:10px auto 0; max-width:760px; padding:7px 12px; border:1px solid rgba(150,180,240,.28); border-radius:10px; background:rgba(5,95,254,.10); color:#c9d7f6; font-size:12px}
.ro-banner .i{flex:0 0 auto; opacity:.85}
.ro-banner a{margin-left:auto; color:#9fc0ff; text-decoration:none; font-weight:600}
.ro-banner a:hover{text-decoration:underline}
body.readonly #composer, body.readonly .legal, body.readonly #act-copy, body.readonly #act-regen, body.readonly #act-rename, body.readonly #act-share, body.readonly .effort{display:none !important}

/* ---- modal de compartilhamento ---- */
.share-toggle{flex-direction:row !important; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border:1px solid var(--line-2); border-radius:12px; background:rgba(255,255,255,.02)}
.share-toggle span{display:flex; flex-direction:column; gap:2px; color:var(--text); font-size:12.5px; font-weight:600}
.share-toggle small{color:var(--muted); font-weight:400; font-size:11px}
.share-toggle input{width:38px; height:21px; appearance:none; background:#1b2a4d; border-radius:999px; position:relative; cursor:pointer; transition:background .18s var(--ease); flex:0 0 auto}
.share-toggle input::after{content:""; position:absolute; top:3px; left:3px; width:15px; height:15px; border-radius:50%; background:#8fa3c8; transition:transform .18s var(--ease), background .18s}
.share-toggle input:checked{background:#055ffe}
.share-toggle input:checked::after{transform:translateX(17px); background:#fff}
.share-link-box{display:flex; gap:8px; margin-top:10px}
.share-link-box input{flex:1; font-size:12px; font-family:ui-monospace,Consolas,monospace; color:#c9d7f6}
.share-link-box button{flex:0 0 auto; padding:0 14px; border-radius:10px; border:1px solid var(--line-2); background:rgba(255,255,255,.04); color:var(--text); font-size:12px; cursor:pointer}
.share-link-box button:hover{background:rgba(255,255,255,.09)}
.share-sub{margin:16px 0 6px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
.share-team{max-height:220px; overflow:auto; display:flex; flex-direction:column; gap:2px; border:1px solid var(--line-2); border-radius:12px; padding:6px}
.share-team label{display:flex; flex-direction:row; align-items:center; gap:10px; padding:7px 9px; border-radius:9px; cursor:pointer; font-size:12.5px; color:var(--text)}
.share-team label:hover{background:rgba(255,255,255,.045)}
.share-team input{width:16px; height:16px; accent-color:#055ffe; flex:0 0 auto}
.share-team .st-av{width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:rgba(5,95,254,.18); color:#9fc0ff; font-size:11px; font-weight:700; flex:0 0 auto}
.share-team .st-mail{color:var(--muted); font-size:11px; margin-left:auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:46%}
.share-msg{margin:10px 0 0; font-size:12px; color:#8fe3b8}
.share-msg.err{color:#ff9aa8}
.share-load{padding:12px; font-size:12px; color:var(--muted)}
.side-item-shared .ico{color:#9fc0ff}
.side-item-shared .lbl{color:#cfe0ff}
.sh-chip{flex:0 0 auto; font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:#9fc0ff; background:rgba(5,95,254,.16); border:1px solid rgba(150,180,240,.28); border-radius:6px; padding:2px 5px; margin-right:2px}

/* =================== Área jurídica · Tributário =================== */
.nav-jur .ico{color:#8fd7ff}
.nav-jur .nav-tag{font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:#9fc0ff; background:rgba(5,95,254,.16); border:1px solid rgba(150,180,240,.26); border-radius:6px; padding:2px 5px; white-space:nowrap}
.side.mini .nav-jur .nav-tag{display:none}
.main.jur .topbar{display:none}
.main.jur .composer-wrap{display:none}
.juridico{flex:1 1 auto; overflow:auto; padding:34px 30px 48px; background:radial-gradient(1100px 380px at 50% -12%, rgba(34,211,238,.10), transparent 72%)}
.jur-wrap{max-width:900px; margin:0 auto}
.jur-hero{text-align:center; padding:6px 0 4px}
.jur-kicker{display:inline-flex; align-items:center; gap:6px; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#8fd7ff}
.jur-hero h1{font-size:38px; letter-spacing:-.025em; margin:12px 0 10px; font-weight:620; background:linear-gradient(180deg,#f2f7ff,#b9cdf2); -webkit-background-clip:text; background-clip:text; color:transparent}
.jur-sub{max-width:620px; margin:0 auto; color:var(--muted); font-size:14px; line-height:1.65}
.jur-search{display:flex; align-items:center; gap:10px; margin:24px auto 10px; max-width:780px; background:#0a1330; border:1px solid var(--line-2); border-radius:16px; padding:8px 8px 8px 16px; box-shadow:0 18px 44px rgba(0,6,26,.45); transition:border-color .15s, box-shadow .15s}
.jur-search:focus-within{border-color:rgba(34,211,238,.52); box-shadow:0 0 0 3px rgba(34,211,238,.12), 0 18px 44px rgba(0,6,26,.45)}
.jur-search > .i{color:var(--dim); flex:0 0 auto}
#jur-q{flex:1 1 auto; min-width:0; background:transparent; border:0; outline:0; box-shadow:none; -webkit-appearance:none; appearance:none; color:var(--txt); font-size:14.5px; padding:10px 0}
#jur-q::placeholder{color:var(--dim)}
#jur-q::-webkit-search-cancel-button{display:none}
.jur-ask{display:inline-flex; align-items:center; gap:7px; background:var(--grad); color:#03102a; border:0; border-radius:11px; padding:11px 16px; font-size:12.5px; font-weight:650; cursor:pointer; white-space:nowrap}
.jur-ask:hover{filter:brightness(1.07)}
.jur-status{display:flex; justify-content:center; align-items:center; gap:9px; flex-wrap:wrap; font-size:11.5px; color:var(--dim); margin:10px 0 2px; min-height:16px}
.jur-status b{color:#d7e6ff; font-weight:600}
.jur-status .dot{color:rgba(143,215,255,.6)}
.jur-chips{display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:14px 0 4px}
.jur-chip{font-size:12.5px; color:#d6e4ff; background:rgba(120,170,255,.07); border:1px solid var(--line); border-radius:999px; padding:7px 13px; cursor:pointer; transition:.14s}
.jur-chip:hover{background:rgba(120,170,255,.16); border-color:var(--line-3)}
.jur-body{max-width:820px; margin:26px auto 0}
.jur-sec{font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin:26px 0 10px; font-weight:600}
.jur-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(238px,1fr)); gap:10px}
.jur-card{text-align:left; background:#0a1330; border:1px solid var(--line); border-radius:13px; padding:14px 15px; cursor:pointer; transition:.15s}
.jur-card:hover{border-color:rgba(34,211,238,.38); transform:translateY(-1px); box-shadow:0 12px 26px rgba(0,6,26,.4)}
.jur-card b{display:block; font-size:13.5px; color:var(--txt); font-weight:600; margin-bottom:5px}
.jur-card span{font-size:12px; color:var(--muted); line-height:1.5}
.jur-caps{display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:8px}
.jur-cap{display:flex; gap:10px; align-items:baseline; text-align:left; background:rgba(120,170,255,.04); border:1px solid var(--line); border-radius:10px; padding:10px 12px; font-size:12.5px; color:#d6e4ff; cursor:pointer; line-height:1.4}
.jur-cap i{font-style:normal; color:#8fd7ff; font-variant-numeric:tabular-nums; min-width:16px}
.jur-cap:hover{background:rgba(120,170,255,.12); border-color:var(--line-2)}
.jur-res{background:#0a1330; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:10px}
.jur-res.ask{border-color:rgba(34,211,238,.34); background:linear-gradient(135deg,rgba(5,95,254,.16),rgba(34,211,238,.10)); text-align:left; cursor:pointer}
.jur-res header{display:flex; gap:9px; align-items:baseline; flex-wrap:wrap; margin-bottom:7px}
.jur-res .ref{font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:#8fd7ff; white-space:nowrap}
.jur-res b{font-size:13.8px; color:var(--txt); font-weight:620}
.jur-res p{font-size:13px; line-height:1.65; color:#c9d6f2; margin:6px 0 0}
.jur-tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:11px}
.jur-tag{font-size:11px; color:#a9c6ff; background:rgba(5,95,254,.14); border:1px solid rgba(150,180,240,.22); border-radius:6px; padding:3px 7px; white-space:nowrap}
.jur-acts{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap}
.jur-act{font-size:12px; color:#cfe0ff; background:transparent; border:1px solid var(--line-2); border-radius:8px; padding:6px 11px; cursor:pointer}
.jur-act:hover{background:rgba(120,170,255,.12)}
.jur-act.primary{background:var(--grad-soft); border-color:rgba(34,211,238,.42); color:#eaf6ff}
.jur-empty{padding:26px 6px; color:var(--muted); font-size:13px; text-align:center}
.jur-loading{display:flex; gap:9px; align-items:center; justify-content:center; padding:22px; color:var(--muted); font-size:13px}
.jur-text{white-space:pre-wrap; font-size:13.4px; line-height:1.72; color:#dbe6ff; margin-top:12px; border-top:1px solid var(--line); padding-top:12px}
.jur-upd{display:flex; gap:10px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--line); font-size:12.5px; color:var(--muted)}
.jur-upd b{color:#d6e4ff; font-weight:600; white-space:nowrap}
.jur-foot{max-width:820px; margin:28px auto 0; font-size:11.5px; color:var(--dim); text-align:center; line-height:1.7}
.jur-foot a{color:#8fd7ff; text-decoration:none; margin-left:6px}
.jur-foot a:hover{text-decoration:underline}
.chip-jur{display:inline-flex !important; align-items:center; gap:5px; background:rgba(34,211,238,.12); border:1px solid rgba(34,211,238,.34); color:#bdf1ff; cursor:pointer; padding:3px 8px}
.chip-jur .chip-x{opacity:.65; font-size:10px}

/* ditado por voz (funcionários): fala vira texto no campo, igual ao ChatGPT */
.mic-btn{width:34px; height:34px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:transparent; color:#a8b0c6; border:1px solid var(--line-2); transition:.16s var(--ease)}
.mic-btn:hover{background:var(--hover-2); color:#fff; border-color:var(--line-3)}
.mic-btn.rec{background:rgba(255,107,125,.16); border-color:rgba(255,107,125,.65); color:#ff8d9c; animation:pulsoMic 1.1s ease-in-out infinite}
.jur-mic{width:32px; height:32px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:transparent; color:#a8b0c6; border:1px solid var(--line-2); transition:.16s}
.jur-mic:hover{background:rgba(120,170,255,.14); color:#fff; border-color:var(--line-3)}
.jur-mic.rec{background:rgba(255,107,125,.16); border-color:rgba(255,107,125,.6); color:#ff8d9c; animation:pulsoMic 1.1s ease-in-out infinite}
@keyframes pulsoMic{0%,100%{box-shadow:0 0 0 0 rgba(255,107,125,.45)}50%{box-shadow:0 0 0 7px rgba(255,107,125,0)}}
@media (max-width:760px){
  .juridico{padding:20px 16px 40px}
  .jur-hero h1{font-size:29px}
  .jur-search{flex-wrap:wrap; padding:10px 10px 10px 14px}
  .jur-ask{width:100%; justify-content:center}
  .jur-status{font-size:11px; gap:6px}
}

/* video entregue na conversa: player + download */
.gen-video{display:flex;flex-direction:column;gap:6px;max-width:340px}
.gen-video video{width:100%;max-height:420px;border-radius:12px;background:#000;display:block}
.gen-video .gen-file{margin-top:2px}
