/* utils.css — Menu Utilitários: nav secundária (sub-menus) + conteúdo */
/* Sprint 37.7: alinhado ao padrão Conf (conf-shell): nav 210px transparente + gap,
   sem painel branco/borda. Mantém os grupos expansíveis (intencional p/ Utils). */
.utils { display: flex; min-height: 0; flex: 1; gap: 18px; }
.utils-nav { width: 210px; flex-shrink: 0; overflow-y: auto; padding: 4px 0; background: transparent; }
.utils-sec { margin-bottom: 4px; }
.utils-sec .sec-h { display: flex; align-items: center; gap: 8px; padding: 8px 16px; font-size: 11px; font-weight: 600;
  color: var(--az-text-secondary); text-transform: uppercase; letter-spacing: .4px; cursor: pointer; user-select: none; }
.utils-sec .sec-h:hover { color: var(--az-text-primary); }
.utils-sec .sec-h .caret { margin-left: auto; transition: transform .12s; font-size: 14px; }
.utils-sec.collapsed .sec-h .caret { transform: rotate(-90deg); }
.utils-sec.collapsed .sec-items { display: none; }
/* alinhado ao padrão Conf (Sprint 10): item arredondado, cor primária, sem barra lateral */
.utils-item { display: flex; align-items: center; gap: 8px; margin: 2px 8px; padding: 9px 12px 9px 26px; font-size: 13px; cursor: pointer; color: var(--az-text-secondary); border-radius: 8px; }
.utils-item:hover { background: var(--az-bg-secondary); }
.utils-item.active { background: var(--az-primary-50); color: var(--az-primary); font-weight: 500; }

.utils-content { flex: 1; min-width: 0; overflow-y: auto; padding: 20px 24px; }
.util-head { margin-bottom: 16px; }
.util-head .crumb { font-size: 11px; color: var(--az-text-tertiary); text-transform: uppercase; letter-spacing: .4px; }
.util-head h2 { font-size: 18px; font-weight: 500; margin: 4px 0 2px; }
.util-head .desc { font-size: 13px; color: var(--az-text-secondary); }

.util-banner { display: flex; align-items: flex-start; gap: 10px; background: var(--az-warning-50); color: var(--az-warning-700);
  border-radius: var(--az-radius-md); padding: 12px 14px; font-size: 13px; margin-bottom: 16px; }
.util-banner.info { background: var(--az-primary-50); color: var(--az-primary-dark); }
.util-banner code { font-family: var(--font-mono); font-size: 12px; }

.util-form { display: flex; gap: 8px; align-items: flex-end; margin-bottom: 16px; flex-wrap: wrap; }
.util-form .field { min-width: 180px; }
.util-form .field.grow { flex: 1; }
/* 2.B.5: polish — combo padronizado, cards não esticam, ação à direita */
.util-content .card { max-width: 560px; }
.btn.combo { height: 36px; background: #fff; font-size: 13px; font-weight: 400; }
.btn.combo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.util-form .btn.primary { margin-left: auto; }

.util-table { width: 100%; border-collapse: collapse; }
.util-table th, .util-table td { text-align: left; padding: 9px 12px; border-bottom: .5px solid var(--az-border-tertiary); font-size: 13px; }
.util-table th { font-size: 11px; color: var(--az-text-secondary); text-transform: uppercase; }
.util-table .actions { text-align: right; }

.scripts-layout { display: grid; grid-template-columns: 260px 1fr; gap: 16px; }
.scripts-list .si { padding: 10px 12px; border: .5px solid var(--az-border-tertiary); border-radius: 6px; margin-bottom: 6px; cursor: pointer; font-size: 13px; }
.scripts-list .si:hover { background: var(--az-bg-tertiary); }
.scripts-list .si.active { border-color: var(--az-primary); background: var(--az-primary-50); }
.scripts-editor textarea { width: 100%; min-height: 280px; padding: 12px; font-family: var(--font-mono); font-size: 13px; border: .5px solid var(--az-border-secondary); border-radius: 6px; resize: vertical; }

/* Sprint 49.11 — Capacity layout lado a lado (responsivo) */
@media (max-width: 760px) { .cap-grid { grid-template-columns: 1fr !important; } }
