/* Análise do mapa por IA (uso interno) — botão + painel lateral */
.gr-ai-btn { border: 1px solid #6d5dfc; color: #4c3fd1; background: #f3f1ff; }
.gr-ai-btn:hover { background: #e6e2ff; color: #3b2fb8; }
.offcanvas.gr-ai-panel { --bs-offcanvas-width: min(100vw, 620px); width: min(100vw, 620px); box-shadow: -4px 0 20px rgba(15, 23, 42, .12); }
.gr-ai-panel .offcanvas-body { background: #f8fafc; }
.gr-ai-footer { background: #fff; }
.gr-ai-chip { border-radius: .6rem; padding: .45rem .7rem; font-size: .85rem; display: inline-flex; align-items: center; gap: .4rem; }
.gr-ai-chip.c-items { background: #e0e7ff; color: #3730a3; }
.gr-ai-chip.c-warn { background: #fef3c7; color: #92400e; }
.gr-ai-chip.c-rec { background: #dbeafe; color: #1e40af; }
.gr-ai-chip.c-miss { background: #fee2e2; color: #991b1b; }
.gr-ai-section { background: #fff; border: 1px solid #e2e8f0; border-radius: .6rem; margin-bottom: .75rem; }
.gr-ai-section > .gr-ai-head { display: flex; align-items: center; gap: .5rem; padding: .6rem .8rem; cursor: pointer; font-weight: 600; }
.gr-ai-section > .gr-ai-head .bi-chevron-down { margin-left: auto; transition: transform .15s; }
.gr-ai-section.open > .gr-ai-head .bi-chevron-down { transform: rotate(180deg); }
.gr-ai-section > .gr-ai-content { display: none; padding: .2rem .8rem .8rem; }
.gr-ai-section.open > .gr-ai-content { display: block; }
.gr-ai-crit { background: #f5f3ff; border: 1px solid #ddd6fe; border-radius: .5rem; padding: .5rem .7rem; margin: .5rem 0; }
.gr-ai-crit-title { color: #5b21b6; font-weight: 600; }
.gr-ai-find { border-left: 3px solid #cbd5e1; padding: .35rem .6rem; margin: .4rem 0; background: #fff; border-radius: .3rem; }
.gr-ai-find.t-atencao { border-left-color: #f59e0b; }
.gr-ai-find.t-recomendacao { border-left-color: #3b82f6; }
.gr-ai-find.s-concluido, .gr-ai-find.s-descartado { opacity: .7; }
.gr-ai-find .gr-ai-find-head { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; font-size: .82rem; }
.gr-ai-find .gr-ai-text { font-size: .86rem; white-space: pre-wrap; margin: .25rem 0; }
.gr-ai-find .gr-ai-text.revised { border-left: 2px solid #16a34a; padding-left: .4rem; }
.gr-ai-find .form-select-sm { font-size: .78rem; padding-top: .1rem; padding-bottom: .1rem; }
.gr-ai-panel textarea.form-control { font-size: .86rem; }
.gr-ai-muted { font-size: .78rem; color: #64748b; }
.gr-ai-progress { background: #fff; border: 1px dashed #c7d2fe; border-radius: .6rem; padding: 1rem; }
.gr-ai-cmp .badge { font-weight: 500; }
