/* Manutenção (formulário aberto + painel). Vars próprias nos dois temas; o modal é irmão das
   páginas no DOM, por isso repete as variáveis (mesma armadilha do módulo de Compras). */
#page-manut-form, #page-manutencao, #manutencao-modal {
  --mn-bg: #F4F5F7; --mn-card: #FFFFFF; --mn-linha: #E1E5EA; --mn-texto: #1B2733; --mn-fraco: #6B7785;
  --mn-azul: #15293a; --mn-ambar: #D97706; --mn-maq: #0369A1; --mn-pred: #7C3AED;
  --mn-ok: #15803D; --mn-ruim: #B91C1C;
}
[data-theme="dark"] #page-manut-form, [data-theme="dark"] #page-manutencao, [data-theme="dark"] #manutencao-modal {
  --mn-bg: #12161B; --mn-card: #1B222A; --mn-linha: #2C353F; --mn-texto: #E7ECF1; --mn-fraco: #94A2B0;
  --mn-ambar: #E9AC5C; --mn-maq: #6FB6E8; --mn-pred: #B69CF5; --mn-ok: #63C58C; --mn-ruim: #F58A80;
}
#page-manut-form, #page-manutencao { background: var(--mn-bg); }
#manut-form-content, #manutencao-content { flex: 1; overflow-y: auto; color: var(--mn-texto); }
.mn-load { padding: 40px 20px; text-align: center; color: var(--mn-fraco); font-size: 14px; }

/* Formulário: coluna estreita, alvo de toque grande (tablet do chão de fábrica). */
.mn-form { max-width: 640px; margin: 16px auto 0; background: var(--mn-card); border: 1px solid var(--mn-linha); border-radius: 12px; padding: 18px 18px 20px; }
.mn-campo { margin-bottom: 16px; }
.mn-campo > label { display: block; font-size: 14.5px; font-weight: 700; margin-bottom: 6px; }
.mn-campo .ob { color: var(--mn-ruim); }
.mn-campo input[type="text"], .mn-campo textarea, .mn-atend input, .mn-atend select, .mn-atend textarea, .mn-barra input[type="text"] {
  width: 100%; box-sizing: border-box; font-family: inherit; font-size: 15px; padding: 11px 12px;
  border: 1.5px solid var(--mn-linha); border-radius: 9px; background: var(--mn-card); color: var(--mn-texto);
}
.mn-dica { font-size: 12px; color: var(--mn-fraco); margin-top: 5px; line-height: 1.4; }
.mn-radios { display: flex; flex-direction: column; gap: 8px; }
.mn-radio { display: flex; align-items: center; gap: 10px; font-size: 15px; padding: 11px 12px; border: 1.5px solid var(--mn-linha); border-radius: 9px; cursor: pointer; }
.mn-radio input { width: 19px; height: 19px; }
.mn-radio:has(input:checked) { border-color: var(--mn-ambar); background: rgba(217, 119, 6, .07); }
.mn-btn { background: var(--mn-azul); color: #fff; border: 0; border-radius: 9px; padding: 12px 20px; font-family: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.mn-btn:disabled { opacity: .6; cursor: default; }
.mn-form > .mn-btn { width: 100%; }
.mn-btn-fraco { background: none; border: 1.5px solid var(--mn-linha); color: var(--mn-fraco); border-radius: 9px; padding: 8px 14px; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.mn-linha-tit { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.mn-meu { padding: 9px 0; border-bottom: 1px solid var(--mn-linha); font-size: 13.5px; }
.mn-ok { text-align: center; }
.mn-ok-ico { font-size: 44px; }
.mn-ok h2 { margin: 6px 0; font-size: 20px; }
.mn-ok-btns { display: flex; gap: 10px; justify-content: center; margin-top: 14px; }

/* Etapas e tipos */
.mn-etapa { display: inline-block; padding: 2px 9px; border-radius: 20px; font-size: 11px; font-weight: 700; border: 1px solid currentColor; color: var(--mn-fraco); margin-left: 6px; white-space: nowrap; }
.mn-etapa.e1, .mn-etapa.e2 { color: var(--mn-ambar); }
.mn-etapa.e3 { color: var(--mn-maq); }
.mn-etapa.e4 { color: var(--mn-ok); }
.mn-etapa.e5 { color: var(--mn-ruim); }
.mn-tipo { display: inline-block; padding: 1px 8px; border-radius: 5px; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .3px; color: #fff; }
.mn-tipo.t-maquinas { background: var(--mn-maq); }
.mn-tipo.t-predial { background: var(--mn-pred); }
[data-theme="dark"] .mn-tipo { color: #10151a; }

/* Painel */
.mn-wrap { padding: 14px 16px 40px; }
.mn-barra { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: var(--mn-card); border: 1px solid var(--mn-linha); border-radius: 10px; padding: 10px 12px; }
.mn-barra input[type="text"] { flex: 1; min-width: 240px; font-size: 13px; padding: 8px 10px; }
.mn-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.mn-chip { font-family: inherit; font-size: 12px; padding: 5px 11px; border-radius: 20px; cursor: pointer; border: 1.5px solid var(--mn-linha); background: var(--mn-card); color: var(--mn-texto); white-space: nowrap; }
.mn-chip.on { border-color: var(--mn-ambar); color: var(--mn-ambar); background: rgba(217, 119, 6, .08); }
.mn-cont { margin-left: auto; font-size: 12.5px; font-weight: 700; color: var(--mn-fraco); }
.mn-quadro { display: grid; grid-template-columns: repeat(6, minmax(215px, 1fr)); gap: 10px; margin-top: 12px; overflow-x: auto; align-items: start; }
.mn-col { background: rgba(0, 0, 0, .03); border-radius: 10px; padding: 8px; min-height: 120px; }
[data-theme="dark"] .mn-col { background: rgba(255, 255, 255, .04); }
.mn-col.fim { opacity: .85; }
.mn-col-tit { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--mn-fraco); padding: 4px 4px 8px; display: flex; justify-content: space-between; }
.mn-vazio { text-align: center; color: var(--mn-fraco); font-size: 12px; padding: 14px 0; }
.mn-card { background: var(--mn-card); border: 1px solid var(--mn-linha); border-left: 4px solid var(--mn-maq); border-radius: 9px; padding: 9px 10px; margin-bottom: 8px; cursor: pointer; }
.mn-card.t-predial { border-left-color: var(--mn-pred); }
.mn-card.velho { box-shadow: 0 0 0 1.5px var(--mn-ambar); }
.mn-card:hover { background: rgba(217, 119, 6, .05); }
.mn-card-top { display: flex; justify-content: space-between; align-items: center; font-size: 12px; }
.mn-card-tit { font-size: 13px; font-weight: 700; margin-top: 4px; }
.mn-card-txt { font-size: 12px; color: var(--mn-fraco); margin-top: 3px; line-height: 1.35; }
.mn-card-pe { display: flex; gap: 8px; flex-wrap: wrap; font-size: 11px; color: var(--mn-fraco); margin-top: 6px; }

/* Modal do pedido */
.mn-modal { max-width: 940px; width: 96vw; max-height: 92vh; overflow-y: auto; text-align: left; padding: 0 !important; color: var(--mn-texto); }
[data-theme="dark"] .mn-modal { background: var(--mn-card); }
.mn-modal-top { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--mn-linha); position: sticky; top: 0; background: inherit; z-index: 2; font-size: 15px; }
.mn-x { background: none; border: 0; font-size: 18px; cursor: pointer; color: var(--mn-fraco); }
.mn-modal-cols { display: grid; grid-template-columns: 1.2fr 1fr; }
.mn-modal-cols > div { padding: 6px 18px 18px; min-width: 0; }
.mn-atend { border-left: 1px solid var(--mn-linha); background: rgba(0, 0, 0, .02); display: flex; flex-direction: column; gap: 9px; }
[data-theme="dark"] .mn-atend { background: rgba(255, 255, 255, .03); }
.mn-modal h3 { font-size: 11.5px; text-transform: uppercase; letter-spacing: .5px; color: var(--mn-fraco); margin: 14px 0 8px; }
.mn-dl { font-size: 13px; margin-bottom: 5px; }
.mn-dl span { display: inline-block; min-width: 118px; color: var(--mn-fraco); font-size: 12px; }
.mn-dl i { color: var(--mn-fraco); font-size: 11.5px; }
.mn-texto { background: rgba(0, 0, 0, .04); border-radius: 8px; padding: 9px 11px; font-size: 13.5px; white-space: pre-wrap; line-height: 1.45; }
[data-theme="dark"] .mn-texto { background: rgba(255, 255, 255, .05); }
.mn-anexos { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.mn-thumb { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; border: 1px solid var(--mn-linha); }
.mn-arq { font-size: 12.5px; color: var(--mn-ambar); }
.mn-hist > div { font-size: 12.5px; padding: 6px 0; border-bottom: 1px solid var(--mn-linha); }
.mn-hist span { color: var(--mn-fraco); font-size: 11.5px; }
.mn-atend label { font-size: 12px; color: var(--mn-fraco); display: flex; flex-direction: column; gap: 3px; }
.mn-atend input, .mn-atend select, .mn-atend textarea { font-size: 13.5px; padding: 8px 10px; }
.mn-atend .mn-chk { flex-direction: row; align-items: center; gap: 7px; font-size: 13px; color: var(--mn-texto); }
.mn-atend .mn-chk input { width: auto; }
.mn-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
@media (max-width: 820px) { .mn-modal-cols { grid-template-columns: 1fr; } .mn-atend { border-left: 0; border-top: 1px solid var(--mn-linha); } }

/* Andamento por botão (17/09/2026): trilha clicável, ação principal, secundárias e recusa. */
.mn-trilha { display: flex; gap: 4px; }
.mn-passo { flex: 1; font-family: inherit; font-size: 10.5px; font-weight: 700; line-height: 1.2; padding: 7px 4px; border-radius: 8px; cursor: pointer;
  border: 1.5px solid var(--mn-linha); background: var(--mn-card); color: var(--mn-fraco); display: flex; flex-direction: column; align-items: center; gap: 3px; }
.mn-passo i { font-style: normal; width: 18px; height: 18px; border-radius: 50%; background: var(--mn-linha); color: var(--mn-texto); display: grid; place-items: center; font-size: 10.5px; }
.mn-passo.feito { color: var(--mn-ok); border-color: var(--mn-ok); }
.mn-passo.feito i { background: var(--mn-ok); color: #fff; }
.mn-passo.atual { color: var(--mn-ambar); border-color: var(--mn-ambar); background: rgba(217, 119, 6, .08); cursor: default; }
.mn-passo.atual i { background: var(--mn-ambar); color: #fff; }
.mn-passo:not(.atual):hover { border-color: var(--mn-ambar); }
.mn-recusado { font-size: 12.5px; color: var(--mn-ruim); border: 1px solid var(--mn-ruim); border-radius: 8px; padding: 7px 10px; }
.mn-acoes { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.mn-principal { width: 100%; padding: 13px 16px; font-size: 14.5px; }
.mn-acoes-sec { display: flex; gap: 6px; flex-wrap: wrap; }
.mn-acoes-sec .mn-btn-fraco { flex: 1; white-space: nowrap; }
.mn-perigo { color: var(--mn-ruim); border-color: var(--mn-ruim); }
.mn-perigo-cheio { background: var(--mn-ruim); margin-top: 6px; }
.mn-avanca { margin-top: 8px; width: 100%; font-family: inherit; font-size: 11.5px; font-weight: 700; padding: 6px 8px; border-radius: 7px; cursor: pointer;
  border: 1.5px solid var(--mn-linha); background: none; color: var(--mn-fraco); text-align: center; }
.mn-avanca:hover { border-color: var(--mn-ambar); color: var(--mn-ambar); background: rgba(217, 119, 6, .07); }
