.ram-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-5); gap: var(--space-4); flex-wrap: wrap; } .ram-header h2 { font-size: 1.15rem; font-weight: 700; } .ram-subtitle { color: var(--text-muted); font-size: 0.85rem; margin-top: var(--space-1); } .ram-filters { display: flex; gap: var(--space-4); margin-bottom: var(--space-4); flex-wrap: wrap; } .ram-filter { position: relative; flex: 1; min-width: 240px; } .ram-filter input { width: 100%; padding: var(--space-3); padding-right: var(--space-6); border-radius: var(--radius-sm); border: 1px solid var(--border-subtle); background: var(--bg-surface); color: var(--text-primary); font-size: 0.88rem; outline: none; } .ram-filter input:focus { border-color: var(--accent); } .ram-filter svg { position: absolute; right: var(--space-3); top: 50%; transform: translateY(-50%); color: var(--text-muted); } .ram-actions { display: flex; gap: var(--space-3); margin-bottom: var(--space-5); flex-wrap: wrap; } /* Abas vazias (Responsável no Tareffa/Férias) — conteúdo adiado pra uma próxima rodada, só um aviso por enquanto. */ .ram-tab-empty { color: var(--text-muted); font-size: 0.9rem; padding: var(--space-6) 0; text-align: center; } /* Indicadores de linha */ .ram-badge { font-size: 0.72rem; font-weight: 700; } /* Ausente/aniversariante: selo (pill) com cor própria por tema — texto colorido puro direto no --danger/--gold tinha contraste ruim, então o selo usa cores tunadas só pra isso (ver overrides :root[data-theme="light"] abaixo). O tingimento da linha inteira (.ram-row--ausente/.ram-row--aniversario) é mais forte que o selo por baixo, pra ficar fácil de notar a linha mesmo antes de ler o selo. */ .ram-row--ausente td { background: rgba(229, 72, 77, 0.14); } .ram-row--aniversario td { background: rgba(217, 188, 107, 0.18); } :root[data-theme="light"] .ram-row--ausente td { background: rgba(197, 48, 48, 0.18); } :root[data-theme="light"] .ram-row--aniversario td { background: rgba(180, 135, 42, 0.22); } .ram-badge--ausente { display: inline-flex; align-items: center; border: none; margin: 0; font: inherit; font-size: 0.72rem; font-weight: 700; border-radius: var(--radius-pill); padding: 1px 8px; background: rgba(229, 72, 77, 0.16); color: #ff8080; text-decoration: underline; text-underline-offset: 2px; } .ram-badge--ausente:hover { color: var(--text-primary); } :root[data-theme="light"] .ram-badge--ausente { background: rgba(197, 48, 48, 0.12); color: #c53030; } .ram-badge--pendente { color: var(--text-muted); font-style: italic; font-weight: 600; } .ram-badge--aniversario { display: inline-flex; align-items: center; gap: 4px; color: #f0cf82; background: rgba(217, 188, 107, 0.22); border-radius: var(--radius-pill); padding: 1px 8px; margin-left: var(--space-2); } :root[data-theme="light"] .ram-badge--aniversario { color: #8a6614; background: rgba(180, 135, 42, 0.16); } /* Modal do "Novo Chamado": ocupa quase a tela inteira e o iframe preenche todo o espaço vertical restante (flex:1 dentro do .modal-card, que já é flex-column) — sem isso, o conteúdo da ferramenta externa (mais alto que um modal padrão) ficava cortado no meio de um campo em vez de rolar de forma previsível. */ .ram-chamado-card { width: min(900px, 95vw); max-width: none; height: min(92vh, 1000px); max-height: 92vh; } .ram-chamado-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-4); flex-shrink: 0; } .ram-chamado-iframe { flex: 1; width: 100%; min-height: 0; border: 1px solid var(--border-subtle); border-radius: var(--radius-md); background: #fff; }