/* Docentes · O Meu Horário: janela do evento, menu de contexto e pedidos de alteração */

.horario-seccao [class*="alt-cel-"] { cursor: cell; }

/* janela do evento */
.alt-info { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 6px 12px; font-size: 14px; }
.alt-info > b { color: var(--texto-2); font-weight: 600; font-size: 13px; }
.alt-estado { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; background: #e6e9ec; }
.alt-estado.at { background: #d6e9c6; color: #23692a; }
.alt-estado.pend { background: #fff1cc; color: #8a5a00; }
.alt-estado.canc { background: #fde2e2; color: #a4262c; }
.alt-aviso { margin-top: 10px; padding: 6px 10px; border-radius: var(--raio); background: #fff8e1; color: #6b4b00; font-size: 13px; }
.alt-confirmar { margin-top: 10px; padding: 8px 10px; border-radius: var(--raio); background: #fde2e2; color: #6b1d22; font-size: 13px; }
.alt-botoes { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; width: 100%; }

/* menu de contexto */
.alt-menu-fundo { position: fixed; inset: 0; z-index: 1999; }
.alt-menu { position: fixed; z-index: 2000; min-width: 240px; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio);
            box-shadow: 0 6px 24px rgba(0, 0, 0, .18); padding: 4px 0; font-size: 14px; }
.alt-menu-titulo { padding: 6px 12px 4px; font-size: 12px; color: var(--texto-2); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 320px; }
.alt-menu button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 6px 12px; font: inherit; cursor: pointer; color: inherit; }
.alt-menu button:hover:not(:disabled) { background: #eef5fb; }
.alt-menu button:disabled { color: #9aa5ae; cursor: default; }
.alt-menu hr { margin: 4px 0; border: 0; border-top: 1px solid var(--linha); }
.alt-menu .alt-menu-nota { padding: 2px 12px 6px; font-size: 12px; color: var(--texto-2); max-width: 320px; }

/* formulário do pedido */
.alt-form { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 8px 12px; align-items: center; }
.alt-form > label { font-size: 13px; color: var(--texto-2); }
.alt-form > label.obrig::after { content: " *"; color: #a4262c; }
.alt-form .alt-linha { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.alt-form .alt-linha > .dxbl-combobox, .alt-form .alt-linha > .dxbl-text-edit { flex: 1 1 200px; min-width: 0; }
.alt-form .alt-escolha { font-size: 13px; padding: 6px 8px; border: 1px dashed var(--linha); border-radius: var(--raio); background: #f7f9fb; flex: 1 1 200px; }
.alt-form .alt-escolha.feita { border-style: solid; border-color: #9cc59f; background: #f0f8f0; }
.alt-sala { font-size: 12px; white-space: nowrap; }
.alt-sala.livre { color: #23692a; }
.alt-sala.ocupada { color: #8a5a00; }
.alt-origem { font-size: 13px; padding: 8px 10px; border-radius: var(--raio); background: #eef5fb; margin-bottom: 10px; }
@media (max-width: 640px) { .alt-form { grid-template-columns: minmax(0, 1fr); } }

/* calendário para a segunda seleção */
.alt-calendario-ajuda { font-size: 13px; color: var(--texto-2); margin-bottom: 6px; }
.alt-calendario .dxbl-scheduler { height: 560px; }
.alt-ev { height: 100%; padding: 2px 4px; font-size: 12px; line-height: 1.25; overflow: hidden; border-radius: 3px; background: #fff; color: #0a0a0a;
          border: 1px solid #c8d3dc; cursor: pointer; }
.alt-ev.inativo { background: #ff6c6c; border-color: #e05454; cursor: not-allowed; }
.alt-ev.escolhido { outline: 3px solid var(--azul); }
.alt-ev .alt-ev-hora { font-weight: 600; }
.alt-calendario [class*="alt-cel-"] { cursor: cell; }
.alt-calendario.sem-celulas [class*="alt-cel-"] { cursor: default; }
