.ag-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); } .ag-header h2 { font-size: 1.05rem; font-weight: 700; } .ag-subtitle { font-size: 0.85rem; color: var(--text-muted); margin-top: 2px; } .ag-empty { text-align: center; color: var(--text-muted); font-size: 0.9rem; padding: var(--space-6); border: 1px dashed var(--border-subtle); border-radius: var(--radius-md); } .ag-sections { display: flex; flex-direction: column; gap: var(--space-5); } .ag-section { background: var(--card-bg); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); padding: var(--space-4); } .ag-section__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); } .ag-section__title { font-size: 0.95rem; font-weight: 700; color: var(--text-primary); } .ag-section__actions { display: flex; gap: var(--space-1); } .ag-row-list { display: flex; flex-direction: column; gap: var(--space-1); } .ag-row-empty { font-size: 0.85rem; color: var(--text-muted); padding: var(--space-2) var(--space-3); } .ag-row { position: relative; display: flex; align-items: center; gap: var(--space-2); border-radius: var(--radius-sm); transition: background var(--transition-fast); } .ag-row:hover { background: var(--card-bg-hover); } .ag-row--draggable { cursor: grab; } .ag-row--dragging { opacity: 0.4; } .ag-row--drop-before, .ag-row--drop-after { position: relative; } .ag-row--drop-before::before, .ag-row--drop-after::after { content: ""; position: absolute; left: 0; right: 0; height: 2px; border-radius: var(--radius-sm); background: var(--accent); } .ag-row--drop-before::before { top: -2px; } .ag-row--drop-after::after { bottom: -2px; } .ag-row__open { flex: 1; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); text-align: left; font-size: 0.88rem; color: var(--text-primary); min-width: 0; } .ag-row__icon { flex-shrink: 0; color: var(--accent); } .ag-row__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .ag-row__admin { display: flex; align-items: center; gap: var(--space-1); padding-right: var(--space-2); } .ag-row__move { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-sm); color: var(--text-muted); transition: color var(--transition-fast), background var(--transition-fast); } .ag-row__move:hover { color: var(--text-primary); background: var(--bg-surface-raised); } .ag-row__move:disabled { opacity: 0.35; cursor: default; } .ag-add-row-btn { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2); padding: var(--space-2) var(--space-3); font-size: 0.82rem; font-weight: 600; color: var(--accent); border-radius: var(--radius-sm); } .ag-add-row-btn:hover { background: var(--bg-surface-raised); } /* Popup de visualização de um acesso */ .ag-view-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); } .ag-view-field { margin-top: var(--space-3); } .ag-view-field label { display: block; font-size: 0.78rem; font-weight: 600; color: var(--text-secondary); margin-bottom: var(--space-1); } .ag-view-field a { color: var(--accent); word-break: break-all; } .ag-view-observacoes { font-size: 0.88rem; color: var(--text-primary); white-space: pre-wrap; max-height: 320px; overflow-y: auto; } .ag-view-observacoes img { max-width: 100%; border-radius: var(--radius-sm); margin: var(--space-2) 0; } .ag-view-copyable { display: flex; align-items: center; gap: var(--space-2); } .ag-view-copyable span { font-size: 0.88rem; color: var(--text-primary); } /* Formulário de seção — checklist de perfis restritos */ .ag-secao-form-hint { font-size: 0.78rem; color: var(--text-muted); margin-bottom: var(--space-2); } /* Formulário de acesso — observações ricas (contenteditable + imagens) */ .ag-richtext { min-height: 90px; max-height: 260px; overflow-y: auto; padding: var(--space-3); border-radius: var(--radius-sm); border: 1px solid var(--border-subtle); background: var(--bg-canvas); color: var(--text-primary); font-size: 0.9rem; } .ag-richtext:focus { outline: none; border-color: var(--accent); } .ag-richtext:empty::before { content: attr(data-placeholder); color: var(--text-muted); } .ag-richtext img { max-width: 100%; border-radius: var(--radius-sm); margin: var(--space-2) 0; } .ag-richtext-hint { font-size: 0.76rem; color: var(--text-muted); margin-top: var(--space-1); }