.ia-modal .modal-dialog {
    width:880px;
    max-width:96vw;
    min-width:520px;
    resize:both;
    overflow:auto;
}
.ia-modal .ia-modal-content {
    border:none;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    --ia-accent:#03a9f3;
    --ia-accent-2:#0277bd;
    --ia-grad:linear-gradient(135deg,#03a9f3 0%,#0277bd 100%);
    height:100%;
    display:flex;
    flex-direction:column;
    max-height:94vh;
}
.ia-modal-body {
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
.ia-conversa {
    flex:1 1 auto;
    min-height:380px;
}
.ia-modal .ia-modal-content.tema-gpt {
    --ia-accent:#10a37f;
    --ia-accent-2:#0d8a6c;
    --ia-grad:linear-gradient(135deg,#10a37f 0%,#0d8a6c 100%);
}
.ia-modal .ia-modal-content.tema-gemini {
    --ia-accent:#4285F4;
    --ia-accent-2:#9b72cb;
    --ia-grad:linear-gradient(135deg,#4285F4 0%,#9b72cb 55%,#d96570 100%);
}
.ia-modal .ia-modal-content::before {
    content:'';
    display:block;
    height:4px;
    background:var(--ia-grad);
}
.ia-modal-header {
    background:#f7fbfe;
    color:#1f2024;
    border:none;
    border-bottom:1px solid #e3eef6;
    padding:14px 18px;
    align-items:center;
}
.ia-modal-header .modal-title {
    font-weight:600;
    font-size:17px;
    display:flex;
    align-items:center;
    gap:9px;
    color:#1f2024;
}
.ia-modal-logo {
    width: 47px;
    height: 47px;
    border-radius: 8px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.ia-modal-logo img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.ia-modal-engine {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    opacity: .85;
    transition: opacity .15s;
}
.ia-modal-engine:hover {
    opacity:1;
}
.ia-modal-engine img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ia-icon-btn {
    width:32px;
    height:32px;
    border-radius:8px;
    border:1px solid #e3e4ea;
    background:#fff;
    color:#6b6f80;
    cursor:pointer;
    transition:.15s;
}
.ia-icon-btn:hover {
    background:#f3f3f6;
    color:#1f2024;
}
.ia-prov-toggle {
    display:inline-flex;
    background:#f3f3f6;
    border:1px solid #e7e8ee;
    border-radius:9px;
    padding:2px;
    gap:2px;
}
.ia-prov-opt {
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:none;
    background:transparent;
    color:#6b6f80;
    font-size:14px;
    font-weight:600;
    padding:6px 11px;
    border-radius:7px;
    cursor:pointer;
    transition:.15s;
}
.ia-prov-opt:hover {
    color:#1f2024;
}
.ia-prov-opt.ativo {
    background:#fff;
    color:#1f2024;
    box-shadow:0 1px 3px rgba(0,0,0,.14);
}
.ia-prov-opt.ativo .ia-prov-ic {
    color:var(--ia-accent);
}
.ia-prov-ic {
    width:18px;
    height:18px;
    display:inline-flex;
    border-radius:4px;
    overflow:hidden;
    flex:0 0 auto;
}
.ia-prov-ic img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ia-modal-body {
    background:#f4f5fb;
    padding:18px;
}
.ia-contexto-box {
    background:#fff;
    border:1px solid #e7e8f0;
    border-left:3px solid var(--ia-accent);
    border-radius:10px;
    padding:11px 13px;
    margin-bottom:13px;
}
.ia-contexto-label {
    font-size:12px;
    font-weight:600;
    color:var(--ia-accent);
    text-transform:uppercase;
    letter-spacing:.04em;
}
.ia-contexto-texto {
    margin-top:6px;
    font-size:14px;
    color:#444;
    max-height:130px;
    overflow:auto;
}
.ia-contexto-texto p {
    margin:0 0 6px;
}
.ia-contexto-texto ul,.ia-contexto-texto ol {
    margin:0 0 6px;
    padding-left:20px;
}
.ia-contexto-texto table {
    border-collapse:collapse;
    max-width:100%;
}
.ia-contexto-texto td,.ia-contexto-texto th {
    border:1px solid #e0e2ee;
    padding:3px 6px;
}
.ia-contexto-vazio {
    color:#9aa0b4;
    font-style:italic;
}
.ia-tpl {
    display:flex;
    flex-direction:column;
    gap:4px;
}
.ia-tpl-nome {
    font-size:13px;
    font-weight:700;
    color:#3a3f51;
    margin-bottom:2px;
}
.ia-tpl-campo {
    display:flex;
    gap:8px;
    font-size:13.5px;
    line-height:1.35;
}
.ia-tpl-rot {
    flex:0 0 38%;
    font-weight:600;
    color:#5a5f70;
}
.ia-tpl-val {
    flex:1 1 auto;
    color:#222;
    white-space:pre-wrap;
}
.ia-contexto-extra {
    margin-top:8px;
    padding-top:8px;
    border-top:1px dashed #e7e8f0;
}
.ia-modal-content.tema-escuro .ia-tpl-nome {
    color:#e4e5ea;
}
.ia-modal-content.tema-escuro .ia-tpl-rot {
    color:#aeb1bd;
}
.ia-modal-content.tema-escuro .ia-tpl-val {
    color:#e4e5ea;
}
.ia-modal-content.tema-escuro .ia-contexto-extra {
    border-top-color:#33343b;
}
.ia-config-overlay {
    position:absolute;
    inset:0;
    background:rgba(20,21,26,.55);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:20;
    padding:18px;
}
.ia-config-overlay.aberto {
    display:flex;
}
.ia-config-card {
    background:#fff;
    border-radius:14px;
    box-shadow:0 20px 60px rgba(0,0,0,.35);
    width:100%;
    max-width:520px;
    padding:18px 20px;
    max-height:90%;
    overflow:auto;
}
.ia-config-titulo {
    font-size:16px;
    font-weight:700;
    color:#1f2024;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
}
.ia-config-label {
    display:block;
    font-size:13px;
    font-weight:600;
    color:#5a5f70;
    margin:10px 0 4px;
}
.ia-config-input, .ia-config-textarea {
    width:100%;
    border:1px solid #dcdef0;
    border-radius:10px;
    padding:9px 11px;
    font-size:14px;
    outline:none;
    resize:vertical;
}
.ia-config-input:focus, .ia-config-textarea:focus {
    border-color:var(--ia-accent);
}
.ia-config-obs {
    font-size:12px;
    color:#8a8fa3;
    margin-top:10px;
    line-height:1.4;
}
.ia-config-acoes {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:16px;
}
.ia-config-btn-salvar {
    background:var(--ia-accent);
    border:none;
    color:#fff;
    padding:8px 16px;
    border-radius:9px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
}
.ia-config-btn-salvar:hover {
    filter:brightness(1.08);
}
.ia-config-btn-cancelar {
    background:#f1f2f8;
    border:1px solid #e2e4f0;
    color:#555;
    padding:8px 14px;
    border-radius:9px;
    font-size:14px;
    cursor:pointer;
}
.ia-config-btn-limpar {
    background:#fff;
    border:1px solid #f1c0c0;
    color:#c0392b;
    padding:8px 14px;
    border-radius:9px;
    font-size:14px;
    cursor:pointer;
}
.ia-config-btn-limpar:hover {
    background:#fef3f2;
}
.ia-modal-content.tema-escuro .ia-config-card {
    background:#222329;
}
.ia-modal-content.tema-escuro .ia-config-titulo {
    color:#ececf1;
}
.ia-modal-content.tema-escuro .ia-config-label {
    color:#aeb1bd;
}
.ia-modal-content.tema-escuro .ia-config-input, .ia-modal-content.tema-escuro .ia-config-textarea {
    background:#1b1c21;
    border-color:#33343b;
    color:#ececf1;
}
.ia-modal-content.tema-escuro .ia-config-btn-cancelar {
    background:#2a2b31;
    border-color:#3a3b42;
    color:#d4d6de;
}
.ia-modal-content.tema-escuro .ia-config-btn-limpar {
    background:#2a2b31;
    border-color:#5a3030;
    color:#e88;
}
.ia-conversa {
    height:auto;
    overflow:auto;
    padding:14px;
    margin-bottom:13px;
    background:linear-gradient(#fbfbfe,#f4f5fb);
    border:1px solid #e7e8f0;
    border-radius:12px;
}
.ia-conversa::-webkit-scrollbar {
    width:8px;
}
.ia-conversa::-webkit-scrollbar-thumb {
    background:#cfd2e3;
    border-radius:8px;
}
.ia-msg-user {
    display:flex;
    justify-content:flex-end;
    margin-bottom:11px;
}
.ia-msg-user > div {
    max-width:82%;
    min-width:0;
}
.ia-msg-user .ia-bolha {
    background:#ececf1;
    color:#1f2024;
    padding:10px 14px;
    border-radius:16px;
    font-size:15px;
    line-height:1.45;
    word-wrap:break-word;
}
.ia-info {
    text-align:center;
    color:#8a8fa3;
    font-size:13.5px;
    margin:7px 0;
}
.ia-erro {
    display:block;
    color:#b42318;
    background:#fef3f2;
    border:1px solid #fecdca;
    border-radius:8px;
    padding:10px 12px;
    font-size:14px;
    line-height:1.45;
}
.ia-cancelado {
    color:#9aa0b4;
    font-size:13px;
    margin-top:4px;
}
.ia-sugestao {
    background:#fff;
    border:1px solid #e7e8f0;
    border-left:3px solid var(--ia-accent);
    border-radius:12px;
    padding:13px 15px;
    margin-bottom:11px;
    box-shadow:0 4px 14px rgba(0,0,0,.05);
    animation:iaFade .25s ease;
}
.ia-sugestao.ia-resposta-conversa {
    border-left-color:#cfd2e3;
    box-shadow:none;
}
.ia-sugestao-texto {
    font-size:15px;
    color:#222;
    line-height:1.5;
}
.ia-sugestao-texto p {
    margin:0 0 8px;
}
.ia-sugestao-texto ul,.ia-sugestao-texto ol {
    margin:0 0 8px;
    padding-left:20px;
}
.ia-sugestao-texto .ia-code {
    background:#1e1e2e;
    color:#d4d4d4;
    padding:12px 14px;
    border-radius:8px;
    margin:8px 0;
    white-space:pre;
    overflow-x:auto;
    font-size:13px;
    font-family:'Consolas','Courier New',monospace;
    line-height:1.45;
}
.ia-card-uso {
    margin-top:8px;
    font-size:12px;
    color:#9aa0b4;
    border-top:1px dashed #ececf1;
    padding-top:6px;
}
.ia-sugestao-acoes {
    margin-top:11px;
    display:flex;
    gap:8px;
    justify-content:flex-end;
}
@keyframes iaFade {
    from{opacity:0;transform:translateY(6px);}
    to{opacity:1;transform:none;}
}
.ia-btn-aplicar {
    background:var(--ia-accent);
    border:none;
    color:#fff;
    padding:7px 15px;
    border-radius:9px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:.15s;
}
.ia-btn-aplicar:hover {
    filter:brightness(1.08);
}
.ia-btn-ajustar {
    background:#fff;
    border:1px solid #d6d8e5;
    color:#555;
    padding:7px 13px;
    border-radius:9px;
    font-size:14px;
    cursor:pointer;
}
.ia-btn-ajustar:hover {
    background:#f0f0f7;
}
.ia-chips {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:11px;
}
.ia-modal .ia-chip {
    background:#fff;
    border:1px solid #e3e4ea;
    color:#40414f;
    padding:7px 14px;
    border-radius:10px;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    transition:.12s;
}
.ia-modal .ia-chip:hover, .ia-modal .ia-chip:focus {
    background:#f3f3f6 !important;
    color:#1f2024 !important;
    border-color:#cfd0d8 !important;
}
.ia-modal .ia-chip i {
    color:#9a9cae;
}
.ia-anexos-preview {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:8px;
}
.ia-anexo-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#fff;
    border:1px solid #dcdef0;
    border-radius:10px;
    padding:5px 9px;
    font-size:13px;
}
.ia-anexo-pill img {
    height:30px;
    width:30px;
    object-fit:cover;
    border-radius:5px;
    cursor:zoom-in;
}
.ia-msg-user img,
.ia-modal-logo img {
    cursor:zoom-in;
}
.ia-anexo-pill.ia-anexo-abrivel {
    cursor:pointer;
}
.ia-lightbox {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.82);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:20000;
    cursor:zoom-out;
    padding:24px;
}
.ia-lightbox.aberto {
    display:flex;
}
.ia-lightbox img {
    max-width:92%;
    max-height:92%;
    border-radius:8px;
    box-shadow:0 10px 40px rgba(0,0,0,.5);
    background:#fff;
}
.ia-anexo-pill .ia-anexo-est {
    color:#8a8fa3;
    font-size:12px;
}
.ia-anexo-rm {
    cursor:pointer;
    color:#e11d48;
    font-weight:700;
}
.ia-input-row {
    display:flex;
    align-items:flex-end;
    gap:8px;
    background:#fff;
    border:1px solid #dcdef0;
    border-radius:14px;
    padding:8px;
}
.ia-modal .ia-input-btn {
    width:40px;
    height:40px;
    flex:0 0 auto;
    border-radius:10px;
    border:1px solid #e2e4f0;
    background:#eef0fa;
    color:var(--ia-accent);
    cursor:pointer;
    transition:.15s;
}
.ia-modal .ia-input-btn:hover, .ia-modal .ia-input-btn:focus {
    background:var(--ia-accent) !important;
    color:#fff !important;
    border-color:var(--ia-accent) !important;
}
.ia-modal .ia-input-btn:hover i, .ia-modal .ia-input-btn:focus i {
    color:#fff !important;
}
.ia-textarea {
    flex:1 1 auto;
    border:none;
    resize:none;
    outline:none;
    font-size:15px;
    padding:9px;
    max-height:120px;
    background:transparent;
}
.ia-send-btn {
    width:44px;
    height:40px;
    flex:0 0 auto;
    border-radius:10px;
    border:none;
    background:var(--ia-accent);
    color:#fff;
    cursor:pointer;
    transition:.15s;
}
.ia-send-btn:hover {
    filter:brightness(1.08);
}
.ia-send-btn:disabled {
    opacity:.5;
    cursor:default;
}
.ia-stop-btn {
    width:44px;
    height:40px;
    flex:0 0 auto;
    border-radius:10px;
    border:none;
    background:#e11d48;
    color:#fff;
    cursor:pointer;
}
.ia-modal-footer {
    background:#fff;
    border-top:1px solid #eceef6;
    padding:13px 18px;
    display:flex;
    align-items:center;
    gap:18px;
}
.ia-uso {
    flex:1 1 auto;
    min-width:0;
    position:relative;
}
.ia-uso-titulo {
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    color:#9aa0b4;
    margin-bottom:6px;
}
.ia-uso-linha {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:7px;
}
.ia-uso-label {
    font-size:14px;
    color:#3a3f51;
    font-weight:500;
}
.ia-uso-right {
    display:inline-flex;
    align-items:center;
    gap:9px;
}
.ia-uso-pct {
    font-size:19px;
    font-weight:800;
    color:var(--ia-accent);
}
.ia-uso-info {
    width:22px;
    height:22px;
    border-radius:50%;
    border:1px solid #d8dae6;
    background:#fff;
    color:#8a8fa3;
    font-size:11px;
    line-height:1;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    transition:.15s;
}
.ia-uso-info:hover {
    background:var(--ia-accent);
    border-color:var(--ia-accent);
    color:#fff;
}
.ia-uso-track {
    height:10px;
    background:#e4e6ef;
    border-radius:999px;
    overflow:hidden;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
}
.ia-uso-fill {
    height:100%;
    width:0;
    border-radius:999px;
    transition:width .5s ease;
}
.ia-uso-pop {
    position:absolute;
    right:0;
    bottom:calc(100% + 8px);
    width:250px;
    background:#fff;
    border:1px solid #e7e8f0;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
    padding:11px 13px;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:.15s;
    z-index:5;
}
.ia-uso-pop.aberto {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.ia-uso-pop::after {
    content:'';
    position:absolute;
    right:14px;
    bottom:-6px;
    width:12px;
    height:12px;
    background:#fff;
    border-right:1px solid #e7e8f0;
    border-bottom:1px solid #e7e8f0;
    transform:rotate(45deg);
}
.ia-uso-pop-titulo {
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    color:#9aa0b4;
    text-transform:uppercase;
    margin-bottom:8px;
}
.ia-uso-pop-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13.5px;
    color:#5a5f70;
    padding:3px 0;
}
.ia-uso-pop-row b {
    color:#1f2024;
    font-weight:600;
}
.ia-token-ok {
    background:#10b981;
}
.ia-token-warn {
    background:#f59e0b;
}
.ia-token-crit {
    background:#ef4444;
}
.ia-btn-fechar {
    background:#f1f2f8;
    border:1px solid #e2e4f0;
    color:#555;
    padding:8px 17px;
    border-radius:10px;
    font-size:14px;
    cursor:pointer;
}
.ia-btn-fechar:hover {
    background:#e7e8f2;
}
.ia-ajuda-card {
    background:#fff;
    border:1px solid #e7e8f0;
    border-left:3px solid #2563eb;
    border-radius:12px;
    padding:13px 15px;
    margin-bottom:11px;
    font-size:14px;
}
.ia-ajuda-card ul {
    margin:6px 0;
    padding-left:18px;
}
.ia-modal-content.tema-escuro .ia-modal-header {
    background:#1f2024;
    border-bottom-color:#34353b;
}
.ia-modal-content.tema-escuro .ia-modal-header .modal-title, .ia-modal-content.tema-escuro .ia-modal-header .modal-title  {
    color:#ececf1;
}
.ia-modal-content.tema-escuro .ia-icon-btn {
    background:#2a2b31;
    border-color:#3a3b42;
    color:#c7c9d1;
}
.ia-modal-content.tema-escuro .ia-icon-btn:hover {
    background:#34353b;
    color:#fff;
}
.ia-modal-content.tema-escuro .ia-prov-toggle {
    background:#2a2b31;
    border-color:#3a3b42;
}
.ia-modal-content.tema-escuro .ia-prov-opt {
    color:#9a9cae;
}
.ia-modal-content.tema-escuro .ia-prov-opt.ativo {
    background:#3a3b42;
    color:#fff;
}
.ia-modal-content.tema-escuro .ia-modal-body {
    background:#16171b;
}
.ia-modal-content.tema-escuro .ia-contexto-box {
    background:#222329;
    border-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-contexto-texto {
    color:#c7c9d1;
}
.ia-modal-content.tema-escuro .ia-conversa {
    background:#1b1c21;
    border-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-msg-user .ia-bolha {
    background:#34353b;
    color:#ececf1;
}
.ia-modal-content.tema-escuro .ia-sugestao {
    background:#222329;
    border-color:#33343b;
    box-shadow:none;
}
.ia-modal-content.tema-escuro .ia-sugestao-texto {
    color:#e4e5ea;
}
.ia-modal-content.tema-escuro .ia-card-uso {
    color:#8a8fa3;
    border-top-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-info {
    color:#8a8fa3;
}
.ia-modal-content.tema-escuro .ia-modal .ia-chip, .ia-modal-content.tema-escuro .ia-chip {
    background:#2a2b31;
    border-color:#3a3b42;
    color:#d4d6de;
}
.ia-modal-content.tema-escuro .ia-chip:hover {
    background:#34353b !important;
    color:#fff !important;
    border-color:#44454c !important;
}
.ia-modal-content.tema-escuro .ia-input-row {
    background:#222329;
    border-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-textarea {
    color:#ececf1;
}
.ia-modal-content.tema-escuro .ia-textarea::placeholder {
    color:#7a7e90;
}
.ia-modal-content.tema-escuro .ia-input-btn {
    background:#2a2b31;
    border-color:#3a3b42;
}
.ia-modal-content.tema-escuro .ia-btn-ajustar {
    background:#2a2b31;
    border-color:#3a3b42;
    color:#d4d6de;
}
.ia-modal-content.tema-escuro .ia-modal-footer {
    background:#1f2024;
    border-top-color:#34353b;
}
.ia-modal-content.tema-escuro .ia-uso-label {
    color:#c7c9d1;
}
.ia-modal-content.tema-escuro .ia-uso-track {
    background:#34353b;
}
.ia-modal-content.tema-escuro .ia-uso-pop {
    background:#222329;
    border-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-uso-pop::after {
    background:#222329;
    border-color:#33343b;
}
.ia-modal-content.tema-escuro .ia-uso-pop-row {
    color:#aeb1bd;
}
.ia-modal-content.tema-escuro .ia-uso-pop-row b {
    color:#fff;
}
.ia-modal-content.tema-escuro .ia-btn-fechar {
    background:#2a2b31;
    border-color:#3a3b42;
    color:#d4d6de;
}
.ia-modal-content.tema-escuro .ia-ajuda-card {
    background:#222329;
    border-color:#33343b;
    color:#d4d6de;
}
.ia-summernote-btn-logo {
    width: 22px;
    height: 20px;
    vertical-align: middle;
    margin-right: 5px;
}