/* Painel /admin. Fonte do sistema, sem ícone externo. */
:root { color-scheme: light; }
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: #1c1c1c;
  background: #f3f4f6;
}
header.topo {
  background: #1e3348;
  color: #fff;
  padding: .55rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem 1rem;
  position: sticky;
  top: 0;
  z-index: 2;
}
header.topo .marca { font-weight: 650; margin-right: .25rem; }
header.topo nav { display: flex; flex-wrap: wrap; gap: .1rem .9rem; }
header.topo a { color: #fff; text-decoration: none; padding: .4rem 0; }
header.topo a:hover, header.topo a.on { text-decoration: underline; }
header.topo a.on { font-weight: 650; }
header.topo .conta { margin-left: auto; display: flex; gap: .9rem; }
main { max-width: 1100px; padding: 1rem 1.15rem 2.5rem; }
body.auth { background: #e9ebef; }
body.auth main { max-width: 26rem; margin: 8vh auto 2rem; }
h1 { font-size: 1.35rem; font-weight: 650; margin: 0 0 .75rem; }
h2 { font-size: 1.08rem; margin: 1.15rem 0 .4rem; }
h3 { font-size: 1rem; margin: 1rem 0 .35rem; }
a { color: #1a4f8b; }
p { margin: .45rem 0; }
code { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .88em; background: #eef1f4; padding: .05em .3em; }
:focus-visible { outline: 2px solid #1a4f8b; outline-offset: 1px; }

.resumo { display: flex; flex-wrap: wrap; gap: .55rem; margin: 0 0 1rem; }
.resumo a {
  background: #fff; border: 1px solid #d5d8de; color: inherit; text-decoration: none;
  padding: .5rem .75rem; min-width: 8.5rem;
}
.resumo a:hover { background: #f7f8fa; }
.resumo b { display: block; font-size: 1.3rem; font-weight: 650; }
.resumo span { color: #5c6570; font-size: .84rem; }

.msg { background: #e8f4ea; border: 1px solid #b7d7be; padding: .55rem .7rem; margin: 0 0 .8rem; }
.msg.err { background: #fdecea; border-color: #f0b4b0; }
.nota { background: #fff; border: 1px solid #d5d8de; padding: .55rem .7rem; margin: 0 0 .8rem; }
.box { background: #fff; border: 1px solid #d5d8de; padding: .85rem 1rem; margin: .7rem 0; }
.links { color: #5c6570; }
.mudo { color: #5c6570; font-size: .88rem; }
.rot { margin: .45rem 0 .15rem; font-weight: 650; font-size: .88rem; }
.voltar { margin: 0 0 .6rem; }
.texto {
  white-space: pre-wrap; background: #f7f8fa; border: 1px solid #e6e8ec;
  padding: .55rem .7rem; margin: .2rem 0 .5rem;
}

label.campo { display: block; margin: .65rem 0; }
input[type="text"], input[type="password"], input[type="email"], input:not([type]), textarea, select {
  font: inherit; color: inherit; background: #fff; border: 1px solid #b7bdc6; padding: .4rem .5rem; max-width: 100%;
}
input[type="text"], input[type="password"], input[type="email"], input:not([type]), textarea { width: 100%; }
textarea { vertical-align: top; }
input[type="checkbox"], input[type="radio"] { width: auto; margin: 0 .35rem 0 0; vertical-align: middle; }
button, .btn {
  font: inherit; line-height: 1.3; padding: .35rem .7rem; border: 1px solid #1e3348; border-radius: 2px;
  background: #fff; color: #1e3348; cursor: pointer; text-decoration: none; display: inline-block;
}
button.p { background: #1e3348; color: #fff; }
button.d { border-color: #9b1c1c; color: #9b1c1c; }
button:hover, .btn:hover { background: #f4f7fb; }
button.p:hover { background: #2a4662; }
form.in { display: inline; }
.acoes { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.filtros { display: flex; flex-wrap: wrap; gap: .5rem .7rem; align-items: flex-end; margin: 0 0 .8rem; }
.filtros label { display: flex; flex-direction: column; gap: .2rem; font-size: .84rem; color: #3d4652; }
.mover {
  display: flex; flex-wrap: wrap; gap: .45rem; align-items: center;
  margin: .85rem 0 0; padding: .65rem .7rem;
  background: #f7f8fa; border: 1px solid #e3e6eb; border-radius: 4px;
}
.mover label { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; flex: 1 1 16rem; }
.mover select { flex: 1 1 12rem; width: auto; max-width: 100%; }

.rolagem { overflow-x: auto; background: #fff; border: 1px solid #d5d8de; margin: .4rem 0 1rem; }
table { border-collapse: collapse; width: 100%; background: #fff; }
.rolagem table { min-width: 720px; }
th, td { border-bottom: 1px solid #e3e5e8; padding: .5rem .6rem; text-align: left; vertical-align: top; }
th { background: #eef1f4; font-weight: 650; font-size: .82rem; }
tr.rec td { background: #fdecea; }
tr.inativo td { color: #6b7280; }
table.kv { min-width: 0; }
table.kv th { width: 11.5rem; background: #f7f8fa; font-weight: 600; font-size: .88rem; }
.rolagem table.kv { min-width: 0; }

.chamado {
  background: #fff; border: 1px solid #d5d8de; border-left: 4px solid #1e3348;
  padding: .75rem .9rem; margin: 0 0 .8rem; scroll-margin-top: 3.2rem;
}
.chamado.fechado { border-left-color: #8b939c; }
.chamado-resumo { padding: .65rem .85rem; }
.chamado-resumo .linha-meta { margin-bottom: .15rem; }
.linha-meta { margin: 0 0 .3rem; }
.equip { margin: .15rem 0 .45rem; }
.coleta {
  background: #fff; border: 1px solid #9aa6b4; border-radius: 6px;
  margin: 0 0 .85rem; padding: 0; scroll-margin-top: 3.4rem;
  box-shadow: 0 1px 2px rgba(30, 51, 72, .08);
}
.coleta > summary {
  cursor: pointer; padding: .65rem .8rem; line-height: 1.45; border-radius: 6px;
}
.coleta[open] > summary {
  background: #eef3f8; border-bottom: 1px solid #e3e6eb; border-radius: 6px 6px 0 0;
}
.coleta > summary > * { margin: 0 .45rem .15rem 0; }
.col-quando, .col-id { font-weight: 650; }
.col-id { font-variant-numeric: tabular-nums; }
.col-tipo {
  display: inline-block; padding: .02rem .4rem; border: 1px solid #d0d4d8; border-radius: 2px;
  background: #f4f5f7; font-size: .78rem; font-weight: 650; color: #1e3348;
}
.col-kit, .selo.kit {
  color: #1e3a5f; background: #e7eef6; border-color: #b9cbe0;
}
.col-kit {
  display: inline-block; padding: .02rem .4rem; border: 1px solid #b9cbe0; border-radius: 2px;
  font-size: .78rem; font-weight: 650;
}
.col-sug { color: #3d4652; font-size: .78rem; font-weight: 650; }
.col-curto { color: #3d4652; font-size: .86rem; }
.coleta-corpo { padding: .7rem .85rem .85rem; }
.chips { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .55rem; }
.mescla-item { margin: .35rem 0; }
.selo {
  display: inline-block; padding: .02rem .4rem; border: 1px solid #d0d4d8; border-radius: 2px;
  font-size: .78rem; font-weight: 650; line-height: 1.45; white-space: nowrap;
}
.selo.ok { color: #146c2e; background: #e8f5e9; border-color: #b7dfc0; }
.selo.alerta { color: #8a5a00; background: #fff6e0; border-color: #f0d48a; }
.selo.erro { color: #9b1c1c; background: #fdecea; border-color: #f0b4b0; }
.selo.aberto { color: #1e3a5f; background: #e7eef6; border-color: #b9cbe0; }
.selo.fechado { color: #4a5560; background: #eef0f2; border-color: #d0d4d8; }
.selo.neutro { color: #4a5560; background: #f4f5f7; }
.selo.largo { white-space: normal; }
.par { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.par > div { background: #fff; border: 1px solid #d5d8de; padding: .7rem .8rem; }
details { margin: .35rem 0; }
summary { cursor: pointer; }
.hist { margin: .2rem 0 .4rem; padding-left: 1.1rem; }
.hist li { margin: .15rem 0; }
.sessoes { margin: .15rem 0 .4rem; padding-left: 1.1rem; }
.sessoes code { word-break: break-all; }
.conversa { display: flex; flex-direction: column; gap: .45rem; margin: 0 0 .8rem; }
.timeline { display: flex; flex-direction: column; gap: .75rem; margin: 0 0 1rem; }
.timeline > .coleta { margin: 0; }
.fala { background: #fff; border: 1px solid #d5d8de; border-left: 3px solid #1e3348; padding: .45rem .7rem; }
.fala.assistente { border-left-color: #146c2e; background: #f4faf5; }
.fala .quem { margin: 0; font-weight: 650; font-size: .84rem; }
.fala .texto { margin-bottom: 0; }
.tl-nota {
  background: #fffdf6; border: 1px solid #e4d3a1; border-left: 4px solid #a37b12;
  padding: .55rem .75rem;
}
.tl-nota .quem { margin: 0; font-weight: 650; font-size: .84rem; }
.tl-nota .texto { background: #fff; }
.selo.nota-tag { color: #7a5b10; background: #fff4d6; border-color: #e6d3a1; }
.selo.msg-tag { color: #1e3a5f; background: #e7eef6; border-color: #b9cbe0; }
.selo.col-tag { color: #3d4652; background: #f4f5f7; border-color: #d0d4d8; }
.nota-acoes { margin-top: .4rem; align-items: flex-start; }
.nota-edit { margin: 0; flex: 1 1 16rem; }
.nota-edit summary { font-size: .88rem; color: #1a4f8b; }
.nota-edit form { margin-top: .35rem; }

@media (max-width: 720px) {
  main { padding: .75rem .65rem 2rem; }
  header.topo { padding: .45rem .65rem; }
  header.topo .conta { margin-left: 0; }
  .par { grid-template-columns: 1fr; }
  .filtros { align-items: stretch; }
  .filtros label, .filtros select { width: 100%; }
  .resumo a { flex: 1 1 8rem; }
  table.kv, table.kv tbody, table.kv tr, table.kv th, table.kv td { display: block; width: auto; }
  table.kv th { border-bottom: 0; padding-bottom: 0; background: transparent; color: #5c6570; }
  table.kv td { padding-top: .1rem; }
  .coleta > summary { padding: .55rem .65rem; }
  .mover, .mover label { flex-direction: column; align-items: stretch; }
  .mover select, .mover button { width: 100%; }
  .chips .selo { white-space: normal; }
}

/* ---- Etapa 2: chamados e triagem ---- */
input[type="search"] { font: inherit; color: inherit; background: #fff; border: 1px solid #b7bdc6; padding: .4rem .5rem; width: 100%; }
.filtros { background: #fff; border: 1px solid #d5d8de; padding: .6rem .75rem; }
.filtros label.campo { margin: 0; min-width: 10rem; }
.filtros label.campo:last-of-type { flex: 1 1 14rem; }
.resumo a.on { border-color: #1e3348; box-shadow: inset 0 -3px 0 #1e3348; }
.num a { font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
.selo.st { border-radius: 10px; padding: .02rem .55rem; }
.selo.st-aberto { color: #1e3a5f; background: #e7eef6; border-color: #b9cbe0; }
.selo.st-em_triagem { color: #5b3c99; background: #f1ecfa; border-color: #d4c6ee; }
.selo.st-aguardando_orcamento, .selo.st-aguardando_aprovacao { color: #8a5a00; background: #fff6e0; border-color: #f0d48a; }
.selo.st-em_execucao { color: #0b5f6b; background: #e3f4f6; border-color: #a9d9df; }
.selo.st-concluido { color: #146c2e; background: #e8f5e9; border-color: #b7dfc0; }
.selo.st-cancelado { color: #4a5560; background: #eef0f2; border-color: #d0d4d8; text-decoration: line-through; }
.selo.urg { margin-top: .2rem; }
.selo.urg-baixa { color: #4a5560; background: #f4f5f7; }
.selo.urg-media { color: #1e3a5f; background: #e7eef6; border-color: #b9cbe0; }
.selo.urg-alta { color: #8a5a00; background: #fff6e0; border-color: #f0d48a; }
.selo.urg-critica { color: #fff; background: #9b1c1c; border-color: #9b1c1c; }
.ch-cab { background: #fff; border: 1px solid #d5d8de; border-left: 4px solid #1e3348; padding: .65rem .85rem; margin: 0 0 .5rem; }
.ch-linha { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.ch-quem { display: flex; flex-wrap: wrap; gap: .3rem 1.6rem; margin-top: .4rem; }
ol.fluxo { list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0; margin: .3rem 0 .6rem; counter-reset: passo; }
ol.fluxo li { counter-increment: passo; position: relative; flex: 1 1 8rem; padding: .45rem .6rem .45rem 2.1rem; background: #fff; border: 1px solid #d5d8de; margin: 0 -1px -1px 0; font-size: .86rem; color: #5c6570; }
ol.fluxo li::before { content: counter(passo); position: absolute; left: .55rem; top: .45rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #e3e6eb; color: #4a5560; font-size: .75rem; font-weight: 650; text-align: center; line-height: 1.2rem; }
ol.fluxo li.feito { color: #146c2e; background: #f4faf5; }
ol.fluxo li.feito::before { content: "✓"; background: #146c2e; color: #fff; }
ol.fluxo li.atual { color: #1e3348; font-weight: 650; background: #eef3f8; box-shadow: inset 0 -3px 0 #1e3348; }
ol.fluxo li.atual::before { background: #1e3348; color: #fff; }
.ch-acoes form.in-bloco { display: block; }
button.grande { font-size: 1rem; padding: .5rem 1rem; }
.ch-acoes .outra { margin-top: .6rem; }
.grade2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .8rem; }
.grade3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 .7rem; }
.grade2 select, .grade3 select, .form-chamado select { width: 100%; }
fieldset.grupo { border: 1px solid #e3e6eb; background: #fafbfc; padding: .3rem .8rem .6rem; margin: .6rem 0; }
fieldset.grupo legend { font-weight: 650; font-size: .9rem; padding: 0 .3rem; }
.eq-lista { display: flex; flex-direction: column; gap: .25rem; margin: .4rem 0; }
.eq-op { display: block; padding: .35rem .5rem; background: #fff; border: 1px solid #e3e6eb; cursor: pointer; }
.eq-op:hover { background: #f4f7fb; }
.eq-op.outro { opacity: .55; }
.tl-ev { background: #fff; border: 1px solid #e3e6eb; padding: .4rem .65rem; font-size: .92rem; }
.tl-ev .texto { margin: .3rem 0 0; }
.tl-status { border-left: 3px solid #5b3c99; }
.historico { background: #fff; border: 1px solid #d5d8de; padding: .5rem .75rem; margin: 1rem 0; }
@media (max-width: 720px) { .grade2, .grade3 { grid-template-columns: 1fr; } ol.fluxo li { flex-basis: 45%; } }

/* Etapa 3: orçamentos */
.orc-total-cab { margin-left: auto; font-size: 1.35rem; font-weight: 700; color: #1e3348; }
table.orc-itens, table.orc-ed { width: 100%; border-collapse: collapse; }
table.orc-itens td.n, table.orc-itens th.n, table.orc-ed td.n, table.orc-ed th.n { text-align: right; white-space: nowrap; }
table.orc-itens tfoot td { border: 0; padding: .3rem .5rem; }
table.orc-itens tr.total td, table.orc-ed tr.total td { font-size: 1.1rem; font-weight: 700; border-top: 2px solid #1e3348; }
table.orc-itens tr.analise td { background: #f7f9fc; }
table.orc-itens .tipo { display: inline-block; font-size: .72rem; color: #1e3a5f; background: #e7eef6; border-radius: 9px; padding: 0 .45rem; margin-right: .3rem; }
table.orc-ed input, table.orc-ed select { width: 100%; min-width: 0; }
table.orc-ed td:nth-child(1) { width: 7.5rem; } table.orc-ed td:nth-child(3) { width: 4.5rem; }
table.orc-ed td:nth-child(4), table.orc-ed td:nth-child(5) { width: 8rem; } table.orc-ed td:nth-child(6) { width: 7rem; }
input.vl, input.q { text-align: right; }
.orc-cond { padding-left: 1.2rem; margin: .6rem 0 0; } .orc-cond li { margin: .2rem 0; }
.orc-link code { background: #f4f5f7; padding: .15rem .4rem; border-radius: 4px; word-break: break-all; }
.orc-decisao.ok { border-left: 4px solid #2e9d4f; } .orc-decisao.erro { border-left: 4px solid #c0392b; }
@media (max-width: 700px) { table.orc-ed td:nth-child(1) { width: 5.5rem; } .orc-total-cab { margin-left: 0; } }

/* Guia "Próximo passo", largura e celular */
main { max-width: 1280px; margin: 0 auto; }
body.auth main { max-width: 26rem; margin: 8vh auto 2rem; }
.nw, td.n, th.n { white-space: nowrap; }
.guia { background: #fff; border: 1px solid #c9d6e4; border-left: 5px solid #1e3348; padding: .7rem 1rem .8rem; margin: .2rem 0 .8rem; box-shadow: 0 1px 3px rgba(20,40,70,.06); }
.guia-rot { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5c6570; }
.guia-txt { margin: .2rem 0 .55rem; font-size: 1.02rem; }
.guia-acoes { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.guia-acoes form.guia-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: flex-end; flex: 1 1 100%; }
.guia-acoes form.guia-form label.campo { flex: 1 1 22rem; margin: 0; }
.guia-espera { border-left-color: #c98a00; background: #fffaf0; }
.guia-alerta { border-left-color: #0b5f6b; background: #f2fafb; }
.guia-fim { border-left-color: #8a949e; background: #f8f9fa; }
a.btn.p { background: #1e3348; color: #fff; }
a.btn.p:hover { background: #2a4662; }
a.btn.grande { font-size: 1rem; padding: .5rem 1rem; }
.selo.ag-cliente { font-weight: 650; }
table.orc-ed tr.sub td { border: 0; padding: .25rem .5rem; color: #4a5560; }
table.orc-ed tr.zero input.vl { border-color: #c0392b; background: #fdecea; }
details.tl-det > summary { cursor: pointer; list-style: revert; }
details.tl-det > summary h2 { display: inline; margin: 0; }
details.tl-det { margin: 1.15rem 0 .4rem; }
details.tl-det .timeline { margin-top: .4rem; }
@media (max-width: 720px) {
  ol.fluxo { flex-wrap: nowrap; }
  ol.fluxo li { flex: 0 0 2.3rem; font-size: 0; padding: .45rem 0; min-height: 2.15rem; }
  ol.fluxo li::before { font-size: .75rem; left: 50%; margin-left: -.6rem; }
  ol.fluxo li.atual { flex: 1 1 auto; font-size: .84rem; padding-left: 2.1rem; }
  ol.fluxo li.atual::before { left: .55rem; margin-left: 0; }
  .c-vu, .c-de { display: none; }
  .guia-acoes > a, .guia-acoes > form.in, .guia-acoes > form.in button { width: 100%; text-align: center; }
  .guia-acoes form.guia-form button { width: 100%; }
  .ch-quem { gap: .2rem 1rem; }
}
.par > div { min-width: 0; }
@media (max-width: 720px) {
  .orc-lista th:nth-child(5), .orc-lista td:nth-child(5), .orc-lista th:nth-child(6), .orc-lista td:nth-child(6) { display: none; }
  .par select, .par input, .par textarea { max-width: 100%; min-width: 0; }
  .par .grade3 { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .par { grid-template-columns: minmax(0, 1fr); }
  .orc-lista .rolagem table { min-width: 0; }
}
