/* Assistente de IA interno. Vidro fosco com a paleta oficial da Gire */
.gc-fab{position:fixed;right:20px;bottom:20px;z-index:58;width:62px;height:62px;padding:0;border-radius:50%;border:1px solid rgb(233 78 27/.75);background:radial-gradient(circle at 30% 25%,#3a3a3a,#0a0a0a 62%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgb(233 78 27/.35),0 4px 14px rgb(0 0 0/.5);transition:transform .18s ease,box-shadow .18s ease}
.gc-fab:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 36px rgb(233 78 27/.5),0 4px 14px rgb(0 0 0/.5)}
.gc-fab svg{width:32px;height:auto;display:block}
.gc-fab:focus-visible,.gc-panel :focus-visible{outline:2px solid #fff;outline-offset:2px}
.gc-panel{position:fixed;right:20px;bottom:94px;z-index:58;width:420px;height:min(640px,calc(100vh - 116px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;color:#fff;font:14px/1.5 Lato,Helvetica,Roboto,Arial,sans-serif;background:linear-gradient(160deg,rgb(233 78 27/.2),rgb(10 10 10/.3) 34%),rgb(12 12 12/.84);-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);border:1px solid rgb(255 255 255/.18);box-shadow:0 28px 70px rgb(0 0 0/.6),inset 0 1px 0 rgb(255 255 255/.14);transform-origin:100% 100%;animation:gc-in .2s cubic-bezier(.2,.8,.2,1)}
.gc-panel[hidden],.gc-set[hidden],.gc-stop[hidden],.gc-send[hidden]{display:none}
@keyframes gc-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.gc-head{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 16px;border-bottom:1px solid rgb(255 255 255/.12)}
.gc-head>svg{width:26px;height:auto;flex-shrink:0}
.gc-title{flex:1;min-width:0}
.gc-title strong{display:block;font-size:15px;line-height:1.2}
.gc-title span{font-size:12px;color:#bdbdbd}
.gc-ib{width:36px;height:36px;padding:0;border:0;border-radius:9px;background:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gc-ib:hover{background:rgb(255 255 255/.12)}
.gc-ib svg,.gc-send svg,.gc-stop svg,.gc-copy svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gc-log{flex:1;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
.gc-hello{margin:auto 0;display:flex;flex-direction:column;gap:10px}
.gc-hello h3{margin:0;font-size:19px;font-weight:900;line-height:1.25}
.gc-hello p{margin:0;color:#c8c8c8}
.gc-chips{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.gc-chip{text-align:left;padding:9px 12px;border-radius:11px;border:1px solid rgb(255 255 255/.16);background:rgb(255 255 255/.06);color:#fff;font:inherit;cursor:pointer}
.gc-chip:hover{border-color:#E94E1B;background:rgb(233 78 27/.14)}
.gc-msg{max-width:92%;overflow-wrap:anywhere}
.gc-msg.user{align-self:flex-end;padding:9px 13px;border-radius:14px 14px 4px 14px;background:rgb(255 255 255/.14);white-space:pre-wrap}
.gc-msg.bot{align-self:flex-start;width:92%}
.gc-body>*:first-child{margin-top:0}.gc-body>*:last-child{margin-bottom:0}
.gc-body p{margin:0 0 8px}.gc-body ul,.gc-body ol{margin:0 0 8px;padding-left:20px}.gc-body li{margin-bottom:3px}
.gc-body h4{margin:10px 0 4px;font-size:14px;font-weight:900}
.gc-body code{padding:1px 5px;border-radius:5px;background:rgb(255 255 255/.12);font:12.5px Consolas,Menlo,monospace}
.gc-body pre{margin:0 0 8px;padding:10px;border-radius:9px;background:rgb(0 0 0/.6);overflow-x:auto}
.gc-body pre code{padding:0;background:none}
.gc-body a{color:#ff9a75;text-decoration:underline}
.gc-tools{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:26px}
.gc-copy{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:0;border-radius:7px;background:none;color:#bdbdbd;font:12px Lato,Helvetica,Arial,sans-serif;cursor:pointer}
.gc-copy:hover{background:rgb(255 255 255/.1);color:#fff}
.gc-copy svg{width:13px;height:13px}
.gc-note{font-size:12px;color:#f2c14e}
.gc-err{align-self:stretch;padding:10px 12px;border-radius:11px;border:1px solid rgb(248 113 113/.55);background:rgb(127 29 29/.42)}
.gc-err button{margin-top:6px;display:block;padding:5px 10px;border-radius:8px;border:1px solid rgb(255 255 255/.3);background:none;color:#fff;font:700 12px Lato,Helvetica,Arial,sans-serif;cursor:pointer}
.gc-typing{display:inline-flex;gap:5px;padding:6px 0}
.gc-typing i{width:7px;height:7px;border-radius:50%;background:#E94E1B;animation:gc-dot 1.1s ease-in-out infinite}
.gc-typing i:nth-child(2){animation-delay:.15s}.gc-typing i:nth-child(3){animation-delay:.3s}
@keyframes gc-dot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.gc-foot{padding:10px 12px 12px;border-top:1px solid rgb(255 255 255/.12)}
.gc-form{display:flex;align-items:flex-end;gap:8px}
.gc-form textarea{flex:1;min-width:0;max-height:130px;min-height:42px;padding:10px 12px;resize:none;border-radius:12px;border:1px solid #777;background:rgb(0 0 0/.45);color:#fff;font:14px/1.4 Lato,Helvetica,Roboto,Arial,sans-serif}
.gc-form textarea::placeholder{color:#a0a0a0;opacity:1}
.gc-send,.gc-stop{width:42px;height:42px;padding:0;border:0;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:#E94E1B}
.gc-send:hover{background:#d3450f}.gc-send[disabled]{background:#3a3a3a;color:#8a8a8a;cursor:not-allowed}
.gc-stop{background:#3a3a3a}
.gc-warn{margin:8px 2px 0;font-size:11.5px;color:#ababab}
.gc-set{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;background:rgb(10 10 10/.97);overflow-y:auto}
.gc-set-body{padding:16px;display:flex;flex-direction:column;gap:12px}
.gc-set label{display:block;font-weight:700;font-size:13px;margin-bottom:5px}
.gc-set input,.gc-set select{width:100%;box-sizing:border-box;height:42px;padding:0 12px;border-radius:10px;border:1px solid #777;background:#000;color:#fff;font:14px Lato,Helvetica,Arial,sans-serif}
.gc-set p{margin:0;font-size:12.5px;color:#c4c4c4}
.gc-set .gc-risk{padding:10px 12px;border-radius:10px;background:rgb(233 78 27/.14);border:1px solid rgb(233 78 27/.5);color:#fff}
.gc-btns{display:flex;flex-wrap:wrap;gap:8px}
.gc-btn{height:38px;padding:0 14px;border-radius:9px;border:1px solid #777;background:none;color:#fff;font:700 13px Lato,Helvetica,Arial,sans-serif;cursor:pointer}
.gc-btn.main{background:#E94E1B;border-color:transparent}
.gc-status{min-height:18px;font-size:12.5px}
.gc-status.ok{color:#6ee7a0}.gc-status.bad{color:#fca5a5}
body.has-gc main{padding-bottom:96px}
@media(max-width:560px){.gc-panel{right:0;left:0;bottom:0;width:auto;height:100dvh;border-radius:0;border:0}.gc-fab{right:14px;bottom:14px}body.gc-open .gc-fab{display:none}}
@media(prefers-reduced-motion:reduce){.gc-panel,.gc-typing i{animation:none}.gc-fab{transition:none}}
@media print{.gc-fab,.gc-panel{display:none!important}body.has-gc main{padding-bottom:0}}
