/* Módulos da comanda (Equipe e Gerência): estilo de recibo de restaurante, fino, sem enfeite.
   Usa as variáveis do comanda.css do núcleo; os valores depois da vírgula são de reserva. */
.cm { font-family: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "Courier New", monospace; font-weight: 300; font-size: 15px; line-height: 1.5; color: var(--tinta, #222); }
.cm * { box-sizing: border-box; }
.cm h2 { margin: 18px 0 6px; font-size: 12px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; }
.cm h3 { margin: 14px 0 4px; font-size: 12px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: #666; }
.cm p { margin: 0 0 8px; }
.cm .mudo { color: #777; font-size: 13px; }
.cm .vazio { padding: 20px 0; text-align: center; color: #888; }
.cm .tracejado { border: 0; border-top: 1px dashed var(--linha, #BBB); margin: 12px 0; }
.cm .erro { color: #8a2a22; font-size: 13px; min-height: 1.3em; }

/* linha de recibo: nome ........ valor */
.cm .linha { display: flex; align-items: baseline; gap: 6px; padding: 5px 0; }
.cm .linha .nome { flex: none; max-width: 62%; overflow-wrap: anywhere; }
.cm .linha .pontos { flex: 1; min-width: 12px; border-bottom: 1px dotted #AAA; transform: translateY(-3px); }
.cm .linha .valor { flex: none; text-align: right; font-variant-numeric: tabular-nums; }
.cm .total { display: flex; align-items: baseline; gap: 6px; margin-top: 8px; padding-top: 6px; border-top: 3px double var(--tinta, #222); font-weight: 600; }
.cm .total .pontos { flex: 1; border-bottom: 1px dotted #AAA; transform: translateY(-3px); }

/* controles planos */
.cm input, .cm select, .cm textarea { font: inherit; font-weight: 300; width: 100%; min-height: 48px; padding: 10px 12px; margin: 0 0 8px; background: transparent; color: inherit; border: 1px solid var(--linha, #BBB); border-radius: 4px; }
.cm input:focus-visible, .cm button:focus-visible, .cm select:focus-visible { outline: 2px solid var(--destaque, #4C4934); outline-offset: 1px; }
.cm button { font: inherit; font-weight: 400; min-height: 48px; padding: 10px 16px; background: transparent; color: var(--tinta, #222); border: 1px solid var(--tinta, #222); border-radius: 4px; cursor: pointer; }
.cm button.principal { background: var(--destaque, #4C4934); border-color: var(--destaque, #4C4934); color: #fff; }
.cm button.pequeno { min-height: 44px; padding: 6px 12px; font-size: 13px; }
.cm button.largo { width: 100%; }
.cm button:disabled { opacity: .4; }
.cm .fila { display: flex; gap: 8px; flex-wrap: wrap; }
.cm .fila > * { flex: 1; }
.cm .atalhos { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 10px; }
.cm .atalhos button { flex: none; min-height: 44px; font-size: 13px; font-weight: 300; }

/* chat da equipe */
.cm .conversa { display: flex; flex-direction: column; gap: 10px; max-height: 52vh; overflow-y: auto; padding: 4px 0 8px; }
.cm .msg { max-width: 88%; padding: 6px 0 8px; border-bottom: 1px dashed #DDD; }
.cm .msg.minha { align-self: flex-end; text-align: right; }
.cm .msg .quem { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #777; }
.cm .msg .texto { overflow-wrap: anywhere; }
.cm .msg audio { width: 100%; height: 40px; margin-top: 4px; }
.cm .gravar { min-height: 64px; font-size: 15px; user-select: none; -webkit-user-select: none; touch-action: none; }
.cm .gravar.gravando { background: #8a2a22; border-color: #8a2a22; color: #fff; }

/* gerência */
.cm .edita { display: grid; grid-template-columns: 1fr 96px; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px dashed #DDD; }
.cm .edita.retirado { opacity: .5; }
.cm .edita input { margin: 0; text-align: right; min-height: 44px; }
.cm .edita .acoes { grid-column: 1 / -1; display: flex; gap: 6px; }
.cm .edita .acoes button { flex: 1; min-height: 44px; font-size: 13px; }
.cm .historico { font-size: 13px; color: #555; padding: 4px 0; border-bottom: 1px dotted #DDD; }
@media (prefers-reduced-motion: reduce) { .cm * { transition: none !important; animation: none !important; } }
