/* ==========================================================================
   MOTRIX — tema escuro premium (azul/ciano da marca)
   ========================================================================== */
:root {
  --bg: #0b0e14;
  --bg-2: #10141d;
  --card: #171c27;
  --card-2: #1d2331;
  --linha: #262e3f;
  --linha-2: #313a4e;
  --txt: #e8edf6;
  --txt-2: #a7b2c6;
  --txt-3: #7a869c;
  --ciano: #4fd1ff;
  --azul: #2f6bff;
  --grad: linear-gradient(135deg, #4fd1ff, #2f6bff);
  --ok: #34d399;
  --warn: #fbbf24;
  --laranja: #fb923c;
  --bad: #f87171;
  --raio: 18px;
  --raio-s: 12px;
  --sombra: 0 10px 30px rgba(0, 0, 0, .35);
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 14px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--txt); background: var(--bg);
  background-image: radial-gradient(1200px 600px at 70% -10%, rgba(47, 107, 255, .10), transparent 60%), radial-gradient(800px 500px at 0% 100%, rgba(79, 209, 255, .05), transparent 60%);
  background-attachment: fixed; min-height: 100vh; }
a { color: var(--ciano); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, h5 { margin: 0; line-height: 1.25; }
h4 { font-size: 14px; margin: 18px 0 8px; color: var(--txt); }
h5 { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--txt-3); margin: 0 0 6px; }
p { margin: 0 0 10px; }
code { background: var(--card-2); padding: 1px 6px; border-radius: 6px; font-size: 12.5px; }
.ic { width: 18px; height: 18px; flex: none; vertical-align: -3px; }
.muted { color: var(--txt-3); }
.bloco { display: block; }
.flex1 { flex: 1; }
.mt { margin-top: 14px; }
.mt-s { margin-top: 8px; }
.dir { margin-left: auto; }
.dir-txt { text-align: right; }
.txt-ok { color: var(--ok); } .txt-warn { color: var(--warn); } .txt-bad { color: var(--bad); }
.linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pilha { display: flex; flex-direction: column; gap: 10px; }
.mono { font-family: ui-monospace, Consolas, monospace; font-size: 12.5px; }

/* ---------------- Estrutura ---------------- */
.sidebar { position: fixed; inset: 0 auto 0 0; width: 84px; display: flex; flex-direction: column; align-items: center; padding: 18px 0; gap: 14px;
  background: rgba(16, 20, 29, .92); border-right: 1px solid var(--linha); z-index: 40; backdrop-filter: blur(10px); transition: width .2s; }
.sidebar-logo img { width: 42px; display: block; filter: drop-shadow(0 0 12px rgba(79, 209, 255, .35)); }
.sidebar nav { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; flex: 1; width: 100%; align-items: center; }
.sidebar nav a, .sidebar-sair { display: flex; align-items: center; justify-content: center; gap: 12px; width: 50px; height: 50px; border-radius: 16px; color: var(--txt-2); transition: .15s; position: relative; }
.sidebar nav a span, .sidebar-sair span { display: none; white-space: nowrap; }
.sidebar nav a:hover, .sidebar-sair:hover { background: var(--card-2); color: var(--txt); text-decoration: none; }
.sidebar nav a.ativo { background: #fff; color: #0b0e14; box-shadow: 0 0 0 4px rgba(255, 255, 255, .06); }
.sidebar .ic { width: 22px; height: 22px; }
@media (min-width: 1101px) {
  .sidebar nav a:hover::after, .sidebar-sair:hover::after { content: attr(title); position: absolute; left: 62px; background: var(--card-2); border: 1px solid var(--linha-2); color: var(--txt); padding: 6px 10px; border-radius: 8px; font-size: 12.5px; white-space: nowrap; box-shadow: var(--sombra); }
}
.main { margin-left: 84px; min-height: 100vh; display: flex; flex-direction: column; }
.topbar { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 16px; padding: 14px 28px; background: rgba(11, 14, 20, .78); backdrop-filter: blur(12px); border-bottom: 1px solid var(--linha); }
.btn-menu { display: none; background: none; border: 0; color: var(--txt); font-size: 22px; cursor: pointer; }
.topbar-marca strong { display: block; letter-spacing: .18em; font-weight: 800; font-size: 15px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.topbar-marca small { color: var(--txt-3); font-size: 11.5px; }
.topbar-busca { flex: 1; max-width: 460px; margin-left: auto; display: flex; align-items: center; gap: 8px; background: var(--card); border: 1px solid var(--linha); border-radius: 99px; padding: 0 14px; color: var(--txt-3); }
.topbar-busca input { background: none; border: 0; padding: 10px 0; color: var(--txt); width: 100%; outline: none; box-shadow: none; }
.topbar-user { display: flex; align-items: center; gap: 12px; }
.conteudo { padding: 26px 28px 40px; flex: 1; width: 100%; max-width: 1480px; margin: 0 auto; }
.rodape { padding: 14px 28px; color: var(--txt-3); font-size: 11.5px; border-top: 1px solid var(--linha); text-align: center; }
.menu-fundo { display: none; }

@media (max-width: 1100px) {
  .sidebar { transform: translateX(-100%); width: 250px; align-items: stretch; padding: 18px 14px; transition: transform .2s; }
  .sidebar nav { align-items: stretch; }
  .sidebar nav a, .sidebar-sair { width: auto; justify-content: flex-start; padding: 0 14px; height: 46px; }
  .sidebar nav a span, .sidebar-sair span { display: inline; }
  .sidebar-logo { padding-left: 8px; }
  .menu-aberto .sidebar { transform: none; }
  .menu-aberto .menu-fundo { display: block; position: fixed; inset: 0; background: rgba(0, 0, 0, .55); z-index: 35; }
  .main { margin-left: 0; }
  .btn-menu { display: block; }
  .topbar { padding: 12px 16px; gap: 12px; }
  .conteudo { padding: 18px 16px 32px; }
}
@media (max-width: 720px) {
  .topbar-marca small, .hide-sm { display: none; }
  .topbar-busca { max-width: none; }
  .topbar-marca { display: none; }
}

/* ---------------- Componentes ---------------- */
.card { background: linear-gradient(180deg, var(--card), #151a24); border: 1px solid var(--linha); border-radius: var(--raio); padding: 20px; margin-bottom: 18px; box-shadow: var(--sombra); min-width: 0; }
.card-tit { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.card-tit h3 { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--txt); }
.card-tit .ic { color: var(--ciano); }
.card-perigo { border-color: rgba(248, 113, 113, .35); }
.titulo-pg { font-size: 26px; font-weight: 800; letter-spacing: -.01em; margin-bottom: 4px; }
.sobre { display: block; color: var(--ciano); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }
.pg-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.link-sm { font-size: 12.5px; }
.nota { font-size: 12px; color: var(--txt-3); background: rgba(255, 255, 255, .03); border: 1px solid var(--linha); border-radius: 10px; padding: 9px 12px; margin: 10px 0; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border-radius: 12px; border: 1px solid var(--linha-2); background: var(--card-2);
  color: var(--txt); font: 600 13.5px Inter, sans-serif; cursor: pointer; text-decoration: none !important; transition: .15s; white-space: nowrap; }
.btn:hover { border-color: #46516a; background: #232a3a; }
.btn:disabled { opacity: .5; cursor: default; }
.btn-primario { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 6px 20px rgba(47, 107, 255, .35); }
.btn-primario:hover { filter: brightness(1.08); background: var(--grad); }
.btn-sucesso { background: linear-gradient(135deg, #34d399, #0ea5a4); border-color: transparent; color: #04241c; }
.btn-sucesso:hover { filter: brightness(1.06); background: linear-gradient(135deg, #34d399, #0ea5a4); }
.btn-fantasma { background: transparent; }
.btn-perigo { background: rgba(248, 113, 113, .12); border-color: rgba(248, 113, 113, .4); color: #fecaca; }
.btn-sm { padding: 7px 12px; font-size: 12.5px; border-radius: 10px; }
.btn-lg { padding: 13px 22px; font-size: 14.5px; border-radius: 14px; }
.btn-bloco { width: 100%; }
.btn-icone { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--linha); background: transparent; color: var(--txt-2); cursor: pointer; font-size: 18px; }
.btn-icone:hover { color: var(--bad); border-color: var(--bad); }

.pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 600; background: var(--card-2); color: var(--txt-2); border: 1px solid var(--linha-2); white-space: nowrap; }
.pill-ok { background: rgba(52, 211, 153, .12); color: var(--ok); border-color: rgba(52, 211, 153, .3); }
.pill-warn { background: rgba(251, 191, 36, .12); color: var(--warn); border-color: rgba(251, 191, 36, .3); }
.pill-laranja { background: rgba(251, 146, 60, .14); color: var(--laranja); border-color: rgba(251, 146, 60, .35); }
.pill-bad { background: rgba(248, 113, 113, .14); color: var(--bad); border-color: rgba(248, 113, 113, .35); }
.pill-info { background: rgba(79, 209, 255, .12); color: var(--ciano); border-color: rgba(79, 209, 255, .3); }
.pill-muted { color: var(--txt-3); }
.linha-pills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

.alerta { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: 14px; margin-bottom: 16px; border: 1px solid; font-size: 13.5px; }
.alerta .ic { margin-top: 2px; }
.alerta ul { margin: 6px 0; padding-left: 18px; }
.alerta p { margin: 6px 0 0; }
.alerta-ok { background: rgba(52, 211, 153, .08); border-color: rgba(52, 211, 153, .3); color: #a7f3d0; }
.alerta-info { background: rgba(79, 209, 255, .07); border-color: rgba(79, 209, 255, .3); color: #bae6fd; }
.alerta-aviso { background: rgba(251, 191, 36, .08); border-color: rgba(251, 191, 36, .35); color: #fde68a; }
.alerta-erro { background: rgba(248, 113, 113, .09); border-color: rgba(248, 113, 113, .4); color: #fecaca; }
.alerta-grande { padding: 16px 20px; font-size: 14px; }
.alerta-grande .ic { width: 26px; height: 26px; }

/* Formulários */
label { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--txt-2); }
input, select, textarea { font: 14px Inter, sans-serif; color: var(--txt); background: var(--bg-2); border: 1px solid var(--linha-2); border-radius: 11px; padding: 10px 12px; width: 100%; outline: none; transition: border .15s, box-shadow .15s; }
input:focus, select:focus, textarea:focus { border-color: var(--azul); box-shadow: 0 0 0 3px rgba(47, 107, 255, .2); }
textarea { resize: vertical; }
input[type=checkbox], input[type=radio] { width: auto; accent-color: var(--azul); }
input[type=file] { padding: 8px; }
.maiusc { text-transform: uppercase; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { font-size: 12.5px; font-weight: 600; color: var(--txt-2); margin-bottom: 8px; padding: 0; }
.check { flex-direction: row; align-items: center; gap: 8px; font-weight: 500; color: var(--txt-2); cursor: pointer; }
.check-linha { align-self: end; padding-bottom: 10px; }
.grade-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 14px; }
.grade-form .col-2 { grid-column: 1 / -1; }
.grade-form.grade-2 { grid-template-columns: 1fr 1fr; }
.form-pilha { display: flex; flex-direction: column; gap: 14px; }
.sel-mini { width: auto; padding: 6px 10px; font-size: 12.5px; border-radius: 9px; }
.inp-num { text-align: right; max-width: 130px; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; flex-direction: row; cursor: pointer; font-weight: 500; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border-radius: 99px; border: 1px solid var(--linha-2); background: var(--bg-2); color: var(--txt-2); font-size: 12.5px; transition: .15s; }
.chip:hover span { border-color: #4a5670; color: var(--txt); }
.chip input:checked + span { background: rgba(47, 107, 255, .18); border-color: var(--azul); color: #fff; }
.chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(47, 107, 255, .3); }
.chip-cat span { padding: 10px 15px; border-radius: 14px; }
.chip-cat .ic { color: var(--ciano); }
.chip-luz.chip-critico input:checked + span { background: rgba(248, 113, 113, .18); border-color: var(--bad); }
.chip-luz.chip-alto input:checked + span { background: rgba(251, 146, 60, .18); border-color: var(--laranja); }
.chip-luz.chip-moderado input:checked + span { background: rgba(251, 191, 36, .15); border-color: var(--warn); }
button.chip { background: none; border: 0; padding: 0; font: inherit; color: inherit; }

/* Etapas */
.etapas { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; overflow-x: auto; padding-bottom: 2px; }
.etapa { display: flex; align-items: center; gap: 9px; padding: 8px 14px 8px 8px; border-radius: 99px; background: var(--card); border: 1px solid var(--linha); color: var(--txt-3); font-size: 12.5px; font-weight: 600; white-space: nowrap; text-decoration: none !important; }
.etapa b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--card-2); color: var(--txt-2); font-size: 12px; }
.etapa.feita { color: var(--txt-2); } .etapa.feita b { background: rgba(52, 211, 153, .15); color: var(--ok); }
.etapa.ativa { color: #fff; border-color: var(--azul); background: rgba(47, 107, 255, .12); } .etapa.ativa b { background: var(--grad); color: #fff; }
.etapas > i { flex: 0 0 22px; height: 1px; background: var(--linha-2); }

/* Tabelas */
.tabela-wrap { overflow-x: auto; margin: 0 -4px; }
.tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.tabela th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--txt-3); padding: 10px 10px; border-bottom: 1px solid var(--linha); white-space: nowrap; font-weight: 600; }
.tabela td { padding: 11px 10px; border-bottom: 1px solid rgba(38, 46, 63, .6); vertical-align: top; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela .clicavel { cursor: pointer; } .tabela .clicavel:hover td { background: rgba(255, 255, 255, .025); }
.tabela-compacta td, .tabela-compacta th { padding: 7px 8px; }
.tabela tr.inativo td { opacity: .5; }
.tabela-md td, .tabela-md th { white-space: normal; }

.vazio { text-align: center; color: var(--txt-3); padding: 34px 16px; }
.vazio .ic { width: 34px; height: 34px; color: var(--linha-2); margin-bottom: 8px; }
.vazio-sm { padding: 18px 10px; }
.carregando { color: var(--txt-3); padding: 18px 0; }
.dica { font-size: 12.5px; color: var(--txt-3); margin-top: 14px; }
.lista { margin: 0; padding-left: 18px; } .lista li { margin-bottom: 4px; }
.lista-check { list-style: none; padding: 0; margin: 0; } .lista-check li { display: flex; gap: 9px; margin-bottom: 8px; } .lista-check .ic { color: var(--ok); margin-top: 1px; }
.lista-links { list-style: none; margin: 10px 0 0; padding: 0; } .lista-links li { padding: 8px 0; border-bottom: 1px solid var(--linha); } .lista-links li:last-child { border: 0; }
.lista-links small { display: block; color: var(--txt-3); font-size: 11.5px; } .lista-links li.ativo a { color: #fff; font-weight: 600; }
.passos { margin: 0; padding-left: 0; list-style: none; counter-reset: p; }
.passos li { counter-increment: p; position: relative; padding: 0 0 10px 38px; }
.passos li::before { content: counter(p); position: absolute; left: 0; top: -2px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: rgba(47, 107, 255, .16); color: var(--ciano); font-weight: 700; font-size: 12px; }
dl.dados { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; margin: 0; font-size: 13px; }
dl.dados dt { color: var(--txt-3); } dl.dados dd { margin: 0; text-align: right; font-weight: 500; }

.avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--grad); color: #fff; font-weight: 700; font-size: 13px; flex: none; border: 2px solid var(--linha-2); }
.avatar-sm { width: 32px; height: 32px; font-size: 12px; } .avatar-lg { width: 76px; height: 76px; font-size: 24px; }
.pessoa { display: flex; align-items: center; gap: 10px; }
.foto-edicao { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.assinatura-campo { display: flex; flex-direction: column; gap: 8px; } .campo-rot { font-size: 12.5px; font-weight: 600; color: var(--txt-2); }
.assinatura-previa, .logo-previa { background: #fff; border-radius: 12px; min-height: 70px; display: grid; place-items: center; padding: 10px; }
.assinatura-previa img, .logo-previa img { max-height: 64px; max-width: 100%; }
.grade-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 900px) { .grade-2col { grid-template-columns: 1fr; } }

/* Abas */
.abas { display: flex; gap: 6px; margin-bottom: 18px; overflow-x: auto; padding: 5px; background: var(--card); border: 1px solid var(--linha); border-radius: 16px; }
.abas button { display: inline-flex; align-items: center; gap: 7px; border: 0; background: none; color: var(--txt-2); font: 600 13px Inter, sans-serif; padding: 9px 14px; border-radius: 12px; cursor: pointer; white-space: nowrap; }
.abas button:hover { color: #fff; }
.abas button.ativo { background: #fff; color: #0b0e14; }

/* Modal */
.modal { border: 0; padding: 0; background: transparent; max-width: min(960px, 94vw); width: 100%; color: var(--txt); }
.modal::backdrop { background: rgba(0, 0, 0, .7); backdrop-filter: blur(3px); }
.modal-corpo { background: var(--card); border: 1px solid var(--linha-2); border-radius: 20px; padding: 22px; position: relative; }
.modal-x { position: absolute; right: 14px; top: 10px; background: none; border: 0; color: var(--txt-2); font-size: 26px; cursor: pointer; }
.modal-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px; }
.modal-grid img { width: 100%; border-radius: 12px; background: #000; display: block; }
.modal-grid > div:last-child { display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 760px) { .modal-grid { grid-template-columns: 1fr; } }
.marcas { margin: 0; padding-left: 20px; font-size: 12.5px; } .marcas li { margin-bottom: 3px; }
.m-normal::marker { color: var(--ok); } .m-atencao::marker { color: var(--warn); } .m-critico::marker { color: var(--bad); }

/* Processando IA */
.processando { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: rgba(5, 7, 11, .82); backdrop-filter: blur(6px); padding: 20px; }
.processando-box { width: min(440px, 100%); background: var(--card); border: 1px solid var(--linha-2); border-radius: 22px; padding: 28px; text-align: center; box-shadow: 0 30px 80px rgba(0, 0, 0, .5); }
.processando-box h2 { font-size: 18px; margin: 18px 0 14px; }
.processando-box ul { list-style: none; margin: 0 0 14px; padding: 0; text-align: left; }
.processando-box li { padding: 7px 0 7px 28px; position: relative; color: var(--txt-3); font-size: 13.5px; transition: color .3s; }
.processando-box li::before { content: ""; position: absolute; left: 4px; top: 12px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--linha-2); }
.processando-box li.ativo { color: #fff; } .processando-box li.ativo::before { border-color: var(--ciano); border-top-color: transparent; animation: gira .8s linear infinite; }
.processando-box li.feito { color: var(--txt-2); } .processando-box li.feito::before { background: var(--ok); border-color: var(--ok); }
.scanner { width: 92px; height: 92px; margin: 0 auto; border-radius: 50%; position: relative; background: radial-gradient(circle, rgba(47, 107, 255, .25), transparent 70%); }
.scanner::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid transparent; border-top-color: var(--ciano); border-right-color: var(--azul); animation: gira 1.1s linear infinite; }
.scanner div { position: absolute; inset: 22px; background: url(../img/logo.png) center/contain no-repeat; animation: pulsa 1.6s ease-in-out infinite; }
@keyframes gira { to { transform: rotate(360deg); } }
@keyframes pulsa { 50% { opacity: .55; transform: scale(.94); } }
.spin { display: inline-block; width: 13px; height: 13px; border-radius: 50%; border: 2px solid var(--linha-2); border-top-color: var(--ciano); animation: gira .8s linear infinite; vertical-align: -2px; }

.toasts { position: fixed; right: 18px; bottom: 18px; z-index: 120; display: flex; flex-direction: column; gap: 10px; max-width: min(380px, calc(100vw - 36px)); }
.toast { padding: 12px 16px; border-radius: 12px; background: var(--card-2); border: 1px solid var(--linha-2); box-shadow: var(--sombra); font-size: 13.5px; transition: opacity .4s, transform .4s; border-left: 4px solid var(--ok); }
.toast-erro { border-left-color: var(--bad); } .toast-aviso { border-left-color: var(--warn); }
.toast.sai { opacity: 0; transform: translateY(8px); }

.barra-acoes { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin: 6px 0 20px; }
.barra-interna { margin: 18px 0 0; }

/* ---------------- Painel ---------------- */
.hero, .hero-diag { display: grid; grid-template-columns: minmax(300px, .9fr) 1.4fr; gap: 20px; align-items: center; margin-bottom: 22px; }
.hero-txt h1 { font-size: clamp(38px, 5.2vw, 64px); font-weight: 800; letter-spacing: -.02em; line-height: 1; margin: 6px 0 22px; }
.hero-veic { font-size: 18px; font-weight: 600; margin: -10px 0 4px; }
.hero-status { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
.hs-linha { display: flex; align-items: center; gap: 12px; color: var(--txt); text-decoration: none !important; font-size: 13px; flex-wrap: wrap; }
a.hs-linha { padding: 8px 12px; margin: 0 -12px; border-radius: 12px; } a.hs-linha:hover { background: rgba(255, 255, 255, .04); }
.hs-linha b { font-weight: 600; letter-spacing: .03em; }
.hs-tag { min-width: 46px; font-size: 11.5px; font-weight: 700; color: var(--txt-2); }
.hs-1 { color: var(--ciano); } .hs-ok { color: var(--ok); } .hs-bad { color: var(--bad); }
.hs-ir { margin-left: auto; color: var(--txt-3); }
.btn-ia { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 99px; background: var(--grad); color: #fff; font-weight: 700; box-shadow: 0 10px 30px rgba(47, 107, 255, .45); text-decoration: none !important; position: relative; }
.btn-ia:hover { filter: brightness(1.08); }
.btn-ia-anel { width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .5); border-top-color: #fff; animation: gira 1.2s linear infinite; }
.hero-carro { position: relative; min-width: 0; }
.hero-carro::before { content: ""; position: absolute; inset: 10% 5% 0; background: radial-gradient(ellipse at 50% 70%, rgba(47, 107, 255, .18), transparent 65%); pointer-events: none; }
.hero-dica { text-align: center; font-size: 12px; color: var(--txt-3); margin: 0; }
.carro { width: 100%; height: auto; display: block; position: relative; overflow: visible; }
.carro-linhas { filter: drop-shadow(0 0 8px rgba(79, 209, 255, .35)); }
.ponto .ponto-halo { fill: rgba(79, 209, 255, .14); stroke: rgba(79, 209, 255, .5); stroke-width: 1; }
.ponto .ponto-nucleo { fill: #e8edf6; stroke: var(--azul); stroke-width: 3; }
.ponto-neutro .ponto-halo { animation: halo 2.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ponto-ok .ponto-nucleo { fill: var(--ok); stroke: #065f46; }
.ponto-warn .ponto-halo { fill: rgba(251, 191, 36, .18); stroke: var(--warn); } .ponto-warn .ponto-nucleo { fill: var(--warn); stroke: #78350f; }
.ponto-bad .ponto-halo { fill: rgba(248, 113, 113, .22); stroke: var(--bad); animation: halo 1.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ponto-bad .ponto-nucleo { fill: var(--bad); stroke: #7f1d1d; }
a .ponto { cursor: pointer; } a:hover .ponto-nucleo { fill: #fff; stroke: var(--ciano); }
@keyframes halo { 50% { transform: scale(1.35); opacity: .45; } }

.painel-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 18px; }
.painel-grid .card { margin-bottom: 18px; }
@media (max-width: 1250px) { .painel-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 960px) { .hero, .hero-diag { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .painel-grid { grid-template-columns: 1fr; } }
.cilindros { display: flex; justify-content: space-around; gap: 10px; align-items: flex-end; padding-top: 6px; }
.cil { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 11.5px; text-align: center; min-width: 0; flex: 1; }
.cil span { color: var(--txt-3); line-height: 1.25; }
.cil b { font-size: 14px; }
.cil-tubo { width: 26px; height: 104px; border-radius: 13px; background: rgba(255, 255, 255, .05); border: 1px solid var(--linha-2); position: relative; overflow: hidden; }
.cil-nivel { position: absolute; left: 3px; right: 3px; bottom: 3px; border-radius: 10px; background: linear-gradient(180deg, #9ee7ff, var(--azul)); box-shadow: 0 0 16px rgba(79, 209, 255, .5); }
.cil-alerta .cil-nivel { background: linear-gradient(180deg, #fdba74, #ea580c); box-shadow: 0 0 16px rgba(251, 146, 60, .6); }
.num-grande { font-size: 44px; font-weight: 800; line-height: 1; margin: 6px 0 12px; }
.num-grande small { display: block; font-size: 12px; font-weight: 500; color: var(--txt-3); margin-top: 6px; }
.num-linha { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--txt-2); }
.card-assistente { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; background: linear-gradient(160deg, #1b2235, #141a27); }
.assist-msg p { margin-bottom: 6px; }
.assist-form { display: flex; gap: 8px; }
.assist-form input { border-radius: 99px; }

/* ---------------- Novo diagnóstico ---------------- */
.busca-veiculo { position: relative; margin-bottom: 14px; }
.busca-res { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; margin-top: 6px; background: var(--card-2); border: 1px solid var(--linha-2); border-radius: 14px; padding: 6px; box-shadow: var(--sombra); max-height: 340px; overflow: auto; }
.busca-res button { display: block; width: 100%; text-align: left; background: none; border: 0; color: var(--txt); padding: 10px 12px; border-radius: 10px; cursor: pointer; font: inherit; }
.busca-res button:hover { background: rgba(255, 255, 255, .05); }
.busca-res small { display: block; color: var(--txt-3); }
.busca-res .busca-novo { padding: 2px 12px 8px; } .busca-novo small { color: var(--ciano); }
.busca-res > .muted { padding: 10px 12px; }
.selecionado { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(52, 211, 153, .07); border: 1px solid rgba(52, 211, 153, .3); margin-bottom: 14px; }
.selecionado .ic { color: var(--ok); }
.selecionado > div { flex: 1; } .selecionado small { display: block; color: var(--txt-3); }
.triagem-lista { display: flex; flex-direction: column; gap: 8px; }
.triagem-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--linha); font-size: 13.5px; }
.triagem-item.marcado.tri-critico { border-color: var(--bad); background: rgba(248, 113, 113, .08); }
.triagem-item.marcado.tri-alto { border-color: var(--laranja); background: rgba(251, 146, 60, .08); }
.seg { display: inline-flex; background: var(--card-2); border-radius: 10px; padding: 3px; flex: none; }
.seg label { flex-direction: row; cursor: pointer; }
.seg input { position: absolute; opacity: 0; }
.seg span { padding: 6px 14px; border-radius: 8px; font-size: 12.5px; color: var(--txt-3); }
.seg input:checked + span { background: #fff; color: #0b0e14; }
.tri-critico .seg input[value=sim]:checked + span { background: var(--bad); color: #fff; }
.tri-alto .seg input[value=sim]:checked + span { background: var(--laranja); color: #fff; }
@media (max-width: 600px) { .triagem-item { flex-direction: column; align-items: stretch; } .seg { align-self: flex-end; } }
.secao-an { border-top: 1px solid var(--linha); padding: 4px 0; }
.secao-an summary { cursor: pointer; padding: 12px 0; font-weight: 700; font-size: 13.5px; list-style: none; display: flex; align-items: center; gap: 8px; }
.secao-an summary::before { content: "›"; color: var(--ciano); font-size: 18px; transition: transform .15s; }
.secao-an[open] summary::before { transform: rotate(90deg); }
.secao-an .grade-form { padding-bottom: 14px; }
.dtc-lista { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 400; color: var(--txt-2); }
.dtc-lista b { color: var(--ciano); font-family: ui-monospace, Consolas, monospace; margin-right: 6px; }

/* ---------------- Fotos ---------------- */
.caso-topo { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 16px; flex-wrap: wrap; }
.fotos-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 18px; }
@media (max-width: 980px) { .fotos-grid { grid-template-columns: 1fr; } }
.roteiro { display: flex; flex-direction: column; gap: 10px; }
.roteiro-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; padding: 13px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--linha); }
.roteiro-item.feito { border-color: rgba(52, 211, 153, .35); }
.roteiro-item.refazer { border-color: rgba(251, 191, 36, .5); }
.roteiro-num { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--card-2); font-weight: 700; font-size: 13px; color: var(--txt-2); }
.feito .roteiro-num { background: rgba(52, 211, 153, .18); color: var(--ok); }
.roteiro-txt b { margin-right: 6px; }
.roteiro-txt p { margin: 4px 0; color: var(--txt-2); font-size: 13px; }
.roteiro-txt small { display: block; font-size: 12px; color: var(--txt-3); margin-top: 3px; }
.roteiro-bts { display: flex; flex-direction: column; gap: 6px; }
.roteiro-bts .btn { flex-direction: row; }
@media (max-width: 560px) { .roteiro-item { grid-template-columns: auto 1fr; } .roteiro-bts { grid-column: 1 / -1; flex-direction: row; } .roteiro-bts .btn { flex: 1; } }
.foto-livre { margin-top: 12px; } .foto-livre label { flex-direction: row; }
.galeria { display: flex; flex-direction: column; gap: 12px; }
.foto-card { display: grid; grid-template-columns: 140px 1fr; gap: 14px; padding: 12px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--linha); }
@media (max-width: 520px) { .foto-card { grid-template-columns: 1fr; } }
.foto-thumb { padding: 0; border: 0; background: #000; border-radius: 10px; overflow: hidden; cursor: zoom-in; aspect-ratio: 4 / 3; }
.foto-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.foto-info { font-size: 13px; min-width: 0; } .foto-info > b { display: block; } .foto-info > small { color: var(--txt-3); }
.foto-status { margin-top: 8px; color: var(--txt-3); } .foto-status.erro { color: var(--bad); }
.foto-ia { margin-top: 8px; } .foto-ia ul { margin: 4px 0 6px; padding-left: 18px; color: var(--txt-2); } .foto-ia li { margin-bottom: 2px; }
.rot-ia { display: block; font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--ok); margin-top: 8px; font-weight: 700; }
.rot-hip { color: var(--warn); }
ul.hip li, .lista.hip li { font-style: italic; }
.nova-foto { margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(251, 191, 36, .08); border: 1px solid rgba(251, 191, 36, .35); color: #fde68a; font-size: 12.5px; }
.legenda-ia { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12px; color: var(--txt-3); margin-top: 14px; }
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; } .dot.ok { background: var(--ok); } .dot.warn { background: var(--warn); } .dot.bad { background: var(--bad); }

/* ---------------- Entrevista ---------------- */
.entrevista-grid, .resultado-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
@media (max-width: 1050px) { .entrevista-grid, .resultado-grid { grid-template-columns: 1fr; } }
.col-principal, .col-lateral { min-width: 0; }
.perguntas { display: flex; flex-direction: column; gap: 12px; }
.pergunta { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 14px; background: var(--bg-2); border: 1px solid var(--linha); border-radius: 14px; }
.pergunta > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pergunta b { font-size: 14px; }
.pergunta small { font-size: 12px; }
.pergunta-n { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--grad); color: #fff; font-weight: 700; font-size: 12.5px; }
.encerrada { display: flex; gap: 12px; align-items: center; padding: 16px; border-radius: 14px; background: rgba(52, 211, 153, .07); border: 1px solid rgba(52, 211, 153, .3); }
.encerrada > .ic { width: 28px; height: 28px; color: var(--ok); }
.encerrada p { margin: 2px 0 0; }
.hip-jogo { display: flex; flex-direction: column; gap: 8px; }
.hip-item { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.hip-item i { width: 10px; height: 10px; border-radius: 50%; background: var(--txt-3); flex: none; }
.hip-item span { flex: 1; } .hip-item small { color: var(--txt-3); font-size: 11.5px; }
.hip-favorecida i { background: var(--ciano); box-shadow: 0 0 10px var(--ciano); } .hip-favorecida span { font-weight: 600; }
.hip-possivel i { background: var(--warn); }
.hip-enfraquecida { opacity: .6; } .hip-enfraquecida span { text-decoration: line-through; }
.card-gerar { background: linear-gradient(160deg, #18233a, #141a27); border-color: rgba(47, 107, 255, .35); }
.card-gerar .lista-check .ic { color: var(--ciano); }
.historico-qa summary { cursor: pointer; font-weight: 700; }
dl.qa { margin: 0; } dl.qa dt { font-weight: 600; margin-top: 10px; } dl.qa dd { margin: 2px 0 0; color: var(--txt-2); }

/* ---------------- Resultado ---------------- */
.hero-diag { background: linear-gradient(160deg, rgba(23, 28, 39, .9), rgba(15, 19, 28, .6)); border: 1px solid var(--linha); border-radius: 24px; padding: 24px; }
.hero-diag .hero-txt h1 { margin-bottom: 12px; }
.texto p { color: var(--txt-2); }
.resumo { font-size: 14.5px; line-height: 1.7; color: var(--txt) !important; }
details.hipotese { padding: 0; }
.hipotese summary { display: flex; align-items: center; gap: 14px; padding: 18px 20px; cursor: pointer; list-style: none; flex-wrap: wrap; }
.hipotese summary::-webkit-details-marker { display: none; }
.hip-n { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--grad); color: #fff; font-weight: 800; flex: none; }
.hip-tit { flex: 1; min-width: 200px; } .hip-tit b { display: block; font-size: 15.5px; } .hip-tit small { color: var(--txt-3); }
.hip-corpo { padding: 0 20px 20px; border-top: 1px solid var(--linha); padding-top: 16px; }
.hip-corpo > p { color: var(--txt-2); }
.evidencias { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
.evidencias > div { background: var(--bg-2); border: 1px solid var(--linha); border-radius: 12px; padding: 12px 14px; font-size: 13px; }
.evidencias ul { margin: 0; padding-left: 18px; } .evidencias li { margin-bottom: 3px; color: var(--txt-2); }
.ev-favor { border-color: rgba(52, 211, 153, .3) !important; } .ev-favor h5 { color: var(--ok); }
.ev-contra { border-color: rgba(248, 113, 113, .3) !important; } .ev-contra h5 { color: var(--bad); }
@media (max-width: 700px) { .evidencias { grid-template-columns: 1fr; } }
.reparo { display: grid; grid-template-columns: 1.3fr 1fr; gap: 18px; margin-bottom: 10px; }
@media (max-width: 800px) { .reparo { grid-template-columns: 1fr; } }
.dica-campo { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--linha); font-size: 13.5px; } .dica-campo .ic { color: var(--warn); margin-top: 2px; }
.cli-hip .card-tit h3 { text-transform: none; letter-spacing: 0; font-size: 15px; }
.fotos-res { display: flex; flex-direction: column; gap: 14px; }
.foto-res { display: grid; grid-template-columns: 220px 1fr; gap: 16px; font-size: 13px; }
.foto-res img { width: 100%; border-radius: 12px; display: block; }
@media (max-width: 600px) { .foto-res { grid-template-columns: 1fr; } }
.versoes { list-style: none; margin: 12px 0 0; padding: 0; font-size: 13px; }
.versoes li { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--linha); }
.versoes li.ativo a { color: #fff; font-weight: 700; } .versoes small { color: var(--txt-3); }
.fontes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.fontes li { display: flex; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--linha); font-size: 12.5px; min-width: 0; }
.fontes a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.md h2, .md h3 { font-size: 15px; margin: 20px 0 8px; color: #fff; text-transform: none; letter-spacing: 0; }
.md h4 { font-size: 13.5px; }
.md ul, .md ol { padding-left: 20px; color: var(--txt-2); } .md li { margin-bottom: 4px; }
.md p { color: var(--txt-2); }
.md table { margin: 8px 0 14px; }
.orc-tabela input { padding: 7px 9px; font-size: 13px; }
.orc-tabela td { vertical-align: middle; }
.orc-tabela tfoot td { border: 0; }

/* Consulta técnica */
.pergunta-consulta { font-size: 15px; color: #fff !important; font-weight: 600; }
.diagrama-box { margin: 16px 0; border: 1px solid rgba(79, 209, 255, .3); border-radius: 16px; padding: 14px; background: radial-gradient(ellipse at top, rgba(47, 107, 255, .08), transparent 70%), var(--bg-2); overflow-x: auto; }
.diagrama-tit { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13px; margin-bottom: 10px; flex-wrap: wrap; }
.diagrama-tit small { font-weight: 400; color: var(--txt-3); }
pre.mermaid { margin: 0; background: none; text-align: center; color: var(--txt-2); white-space: pre-wrap; }
pre.mermaid-falhou { text-align: left; font-size: 12px; }
.chip-sug span { font-size: 12px; padding: 6px 11px; }

/* Listas de clientes/veículos */
.filtros { display: flex; gap: 10px; flex-wrap: wrap; padding: 14px; }
.filtros input { flex: 1; min-width: 220px; } .filtros select { width: auto; }
.paginacao { display: flex; gap: 6px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.paginacao a { padding: 6px 12px; border-radius: 9px; border: 1px solid var(--linha); color: var(--txt-2); } .paginacao a.ativo { background: var(--azul); color: #fff; border-color: var(--azul); }
.veiculos-lista { display: flex; flex-direction: column; gap: 10px; }
.veiculo-card { display: flex; align-items: center; gap: 14px; padding: 14px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--linha); flex-wrap: wrap; }
.ic-grande { width: 34px; height: 34px; color: var(--ciano); }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--linha); position: relative; }
.tl-data { font-weight: 600; font-size: 13px; } .tl-data small { display: block; color: var(--txt-3); font-weight: 400; }
.tl-corpo p { margin: 6px 0 0; font-size: 13px; color: var(--txt-2); }
.tl-corpo .txt-ok { color: var(--ok); }

/* Custos */
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-bottom: 18px; }
.kpi { display: flex; gap: 14px; align-items: center; background: var(--card); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px; }
.kpi-ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: rgba(47, 107, 255, .15); color: var(--ciano); flex: none; }
.kpi small { display: block; color: var(--txt-3); font-size: 12px; } .kpi b { display: block; font-size: 22px; }
.barras { display: flex; flex-direction: column; gap: 12px; }
.barra { display: grid; grid-template-columns: minmax(140px, 1fr) 1.2fr auto; gap: 12px; align-items: center; font-size: 13px; }
.barra small { display: block; color: var(--txt-3); font-size: 11.5px; }
.barra > div { height: 10px; border-radius: 99px; background: var(--bg-2); overflow: hidden; }
.barra i { display: block; height: 100%; border-radius: 99px; background: var(--grad); }
.grafico { width: 100%; height: auto; display: block; }
.grafico .grade { stroke: var(--linha); stroke-width: 1; }
.grafico .eixo { fill: var(--txt-3); font-size: 11px; font-family: Inter, sans-serif; }
.grafico .barra-g { fill: url(#gb); fill: var(--azul); }
.tabela-precos input { min-width: 90px; padding: 6px 8px; font-size: 12.5px; }

/* Login */
.tela-login { display: grid; place-items: center; padding: 24px 16px; }
.login-wrap { width: min(420px, 100%); display: flex; flex-direction: column; gap: 22px; align-items: center; }
.brand { display: flex; align-items: center; gap: 14px; }
.brand img { width: 64px; filter: drop-shadow(0 0 18px rgba(79, 209, 255, .4)); }
.brand strong { display: block; font-size: 28px; font-weight: 800; letter-spacing: .2em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.brand small { color: var(--txt-2); font-size: 12.5px; }
.login-card { width: 100%; background: var(--card); border: 1px solid var(--linha); border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 14px; box-shadow: var(--sombra); }
.login-card h1 { font-size: 18px; }
.login-rodape { text-align: center; font-size: 11.5px; color: var(--txt-3); margin: 0; }

/* ---------------- Esquemas elétricos ---------------- */
.esquema-barra { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.esquema-barra .topbar-busca { margin: 0; max-width: 520px; }
.esquema-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
@media (max-width: 1050px) { .esquema-grid { grid-template-columns: 1fr; } }
.esquema-papel { background: #fff; color: #141c2b; border-color: #d9dee7; padding: 12px; }
.esquema-papel .nota { background: #f4f6fa; border-color: #e2e7ef; color: #5b6578; }
.esquema-rolagem { overflow-x: auto; }
.esquema-svg { width: 100%; min-width: 760px; height: auto; display: block; font-family: Inter, Arial, sans-serif; }
.esquema-cab-impressao { display: none; }
.esq-bloco { stroke: rgba(0, 0, 0, .25); stroke-width: 1; }
.esq-nome { fill: #fff; font-size: 12px; font-weight: 700; }
.esq-pino { fill: #fff; stroke: #333; stroke-width: 1; }
.esq-pino-txt, .esq-cpino-txt { font-size: 10.5px; font-weight: 700; fill: #111; }
.esq-fio-borda { stroke: #2b2b2b; stroke-width: 5; }
.esq-fio { stroke-width: 3; }
.esq-fio-listra { stroke-dasharray: 7 7; }
.esq-cor { font-size: 10.5px; fill: #222; font-weight: 600; }
.esq-ref { font-size: 10px; fill: #333; font-style: italic; }
.esq-simb { stroke: #222; stroke-width: 2; fill: none; }
.esq-pos { fill: #f2c200; stroke: #333; } .esq-pos-txt { font-size: 12px; font-weight: 800; fill: #111; }
.esq-fus { fill: #f0a020; stroke: #333; } .esq-rele { fill: #2e9d4a; stroke: #1b5e20; }
.esq-central { fill: #667a86; } .esq-central-txt { fill: #fff; font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.esq-cpino { fill: #4f5f6a; stroke: #fff; stroke-width: 1; } .esq-cpino-txt { fill: #fff; }
.esq-comp { cursor: pointer; transition: opacity .15s; outline: none; }
.esq-comp:hover .esq-bloco, .esq-comp:focus .esq-bloco, .esq-comp.sel .esq-bloco { stroke: #2f6bff; stroke-width: 3; }
.esq-comp.sel .esq-fio-borda, .esq-comp.destaque .esq-fio-borda { stroke: #2f6bff; stroke-width: 7; }
.filtrando .esq-comp.apagado { opacity: .15; }
.esq-pino-det { padding: 9px 0; border-bottom: 1px solid var(--linha); font-size: 13px; }
.esq-pino-det small { display: block; color: var(--txt-3); margin-top: 2px; }
.esq-pino-det small.txt-ok { color: var(--ok); }
.fio-amostra { display: inline-block; width: 22px; height: 8px; border-radius: 4px; margin-right: 7px; vertical-align: 1px; border: 1px solid #333; background: linear-gradient(90deg, var(--c1) 50%, var(--c2) 50%); }
.tabela-pinagem td { white-space: normal; }
.modal-largo { max-width: min(1280px, 96vw); }
.ed-tabela input, .ed-tabela select { padding: 6px 8px; font-size: 12.5px; min-width: 70px; }
.ed-tabela .e-nome, .ed-tabela .e-ref, .ed-tabela .e-funcao, .ed-tabela .e-teste { min-width: 140px; }
.abas-links { align-items: center; gap: 10px; padding: 8px 12px; }
.abas-links > span { white-space: nowrap; font-size: 12.5px; }
.abas-links a { padding: 6px 12px; border-radius: 10px; background: var(--card-2); font-size: 12.5px; white-space: nowrap; }
.esq-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
@media print {
  body { background: #fff !important; }
  .sidebar, .topbar, .rodape, .pg-cab .linha, .esquema-barra, .esquema-detalhe, .abas, form, .btn, .menu-fundo { display: none !important; }
  .main { margin: 0 !important; } .conteudo { padding: 0 !important; max-width: none; }
  .esquema-grid { display: block; } .card { box-shadow: none !important; border: 0 !important; background: #fff !important; color: #111 !important; }
  .esquema-cab-impressao { display: block; font-size: 12px; margin-bottom: 6px; }
  .esquema-svg { min-width: 0; }
  .titulo-pg, .sobre, .card-tit h3, .tabela td, .tabela th { color: #111 !important; }
  .pg-esquema .pill { border: 1px solid #999; color: #111; background: #fff; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* ---------------- Tabela de preços / orçamento ---------------- */
.orc-hips { display: flex; flex-direction: column; gap: 8px; }
.orc-hip { align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--linha); }
.orc-hip input { margin-top: 3px; }
.orc-tabela .o-desc { min-width: 240px; }
.orc-peca td { background: rgba(255, 255, 255, .015); }
.filtros-inline { padding: 0 0 12px; }
.tabela-precos-serv input, .tabela-precos-serv select { padding: 6px 8px; font-size: 12.5px; }
.tabela-precos-serv td:first-child input { min-width: 260px; }
.tabela-precos-serv .check .ic { color: var(--txt-3); }
.btn-destaque { background: linear-gradient(135deg, #34d399, #0ea5a4); border-color: transparent; color: #04241c; }
.btn-destaque:hover { filter: brightness(1.06); background: linear-gradient(135deg, #34d399, #0ea5a4); }
.card-orc-lateral { border-color: rgba(52, 211, 153, .3); }
.orc-lateral-total { margin-bottom: 6px; }
.orc-lateral-total small { display: block; color: var(--txt-3); font-size: 12px; }
.orc-lateral-total b { display: block; font-size: 26px; font-weight: 800; }

/* ---------------- Carro em raio-X (estilo HUD) ---------------- */
.hud-fundo { stroke: rgba(79, 209, 255, .22); stroke-width: 1; }
.hud-moldura { fill: none; stroke: #4fd1ff; stroke-width: 2; stroke-opacity: .7; }
.carro-linhas .malha { stroke-width: .8; stroke-opacity: .28; }
.carro-interno { fill: none; stroke: #7fdcff; stroke-width: 1.4; stroke-linejoin: round; stroke-linecap: round; }
.carro-interno .ci-fraco { stroke-opacity: .45; }
.carro-interno .ci-det { stroke-opacity: .55; stroke-width: 1.1; }
.carro-interno .ci-det2 { fill: rgba(79, 209, 255, .12); stroke-opacity: .7; }
.carro-interno .ci-motor { fill: rgba(47, 107, 255, .22); stroke: #9ee7ff; }
.carro-interno .ci-modulo { fill: rgba(79, 209, 255, .2); }
.carro-interno .ci-bateria { fill: rgba(52, 211, 153, .18); stroke: #6ee7b7; }
.carro-interno .ci-radiador { fill: rgba(79, 209, 255, .15); }
.carro-interno .ci-cambio { fill: rgba(47, 107, 255, .16); }
.carro-interno .ci-tanque { fill: rgba(251, 191, 36, .1); stroke: #fcd34d; stroke-opacity: .7; }
.carro-interno .ci-escape { stroke: #a5b4c8; stroke-opacity: .55; stroke-width: 2.4; }
.carro-interno .ci-mola { stroke: #c4b5fd; stroke-width: 1.6; }
.carro-roda .ci-disco { fill: none; stroke: #a5b4c8; stroke-width: 2; stroke-opacity: .7; }
.carro-roda .ci-pinca { fill: none; stroke: #fb923c; stroke-width: 5; stroke-linecap: round; }
.ponto-guia { stroke: rgba(158, 231, 255, .55); stroke-width: 1; fill: none; }
.ponto-ancora { fill: #9ee7ff; }
.ponto-txt { fill: #bfe9ff; font: 600 10.5px Inter, sans-serif; letter-spacing: .08em; }
.ponto .ponto-brilho { fill: #4fd1ff; opacity: .35; }
.ponto-warn .ponto-brilho { fill: #fbbf24; opacity: .7; }
.ponto-warn .ponto-txt { fill: #fde68a; }
.ponto-warn .ponto-guia { stroke: rgba(251, 191, 36, .7); }
.ponto-bad .ponto-brilho { fill: #ef4444; opacity: .8; }
.ponto-bad .ponto-txt { fill: #fecaca; }
.ponto-bad .ponto-guia { stroke: rgba(248, 113, 113, .8); }
.ponto-ok .ponto-brilho { fill: #34d399; opacity: .6; }
.ponto-apagado { opacity: .25; }
a:hover .ponto-txt { fill: #fff; }
a:hover .ponto-guia { stroke: #fff; }
a .ponto-txt { cursor: pointer; }

/* ---------------- Assistente rápido com foto ---------------- */
.assist-form { flex-direction: column; align-items: stretch; }
.assist-linha { display: flex; gap: 6px; align-items: center; }
.assist-linha input[name=pergunta] { flex: 1; min-width: 0; }
.assist-bt { flex: none; width: 38px; height: 38px; border-radius: 50%; color: var(--ciano); border-color: rgba(79, 209, 255, .35); cursor: pointer; }
.assist-bt:hover { color: #fff; border-color: var(--ciano); background: rgba(79, 209, 255, .12); }
.assist-fotos { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.assist-thumb { position: relative; width: 64px; height: 64px; }
.assist-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; border: 1px solid var(--linha-2); }
.assist-thumb button { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: var(--bad); color: #fff; cursor: pointer; font-size: 14px; line-height: 1; }
.consulta-fotos { display: flex; gap: 10px; flex-wrap: wrap; margin: 4px 0 14px; }
.consulta-fotos img { width: 200px; max-width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; border: 1px solid var(--linha-2); }
