:root{
  --admin-bg:#050914;
  --admin-bg-secondary:#07101d;
  --admin-sidebar:#040a12;
  --admin-panel:#0b1523;
  --admin-panel-secondary:#0e1a2a;
  --admin-panel-hover:#111f31;
  --admin-line:#1b2c42;
  --admin-line-strong:#29415d;
  --admin-text:#f4f7fb;
  --admin-text-secondary:#9aabc0;
  --admin-text-muted:#71849b;
  --admin-blue:#1473e6;
  --admin-blue-bright:#2388ff;
  --admin-cyan:#16c7e8;
  --admin-green:#22c55e;
  --admin-orange:#f59e0b;
  --admin-red:#ef4444;
  --admin-purple:#8b5cf6;
  --admin-radius-sm:8px;
  --admin-radius:14px;
  --admin-radius-lg:18px;
  --admin-shadow:0 18px 50px rgba(0,0,0,.32);
  --admin-sidebar-width:252px;
  --principal:var(--admin-sidebar);
  --destaque:var(--admin-blue);
  --sucesso:var(--admin-green);
  --alerta:var(--admin-orange);
  --perigo:var(--admin-red);
  --fundo:var(--admin-bg);
  --borda:var(--admin-line);
  --texto:var(--admin-text);
  --suave:var(--admin-text-secondary);
  --branco:var(--admin-panel);
}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--fundo);color:var(--texto)}button,input,select{font:inherit}.app{display:flex;min-height:100vh}.sidebar{width:270px;min-height:100vh;background:var(--principal);color:#fff;position:fixed;inset:0 auto 0 0;overflow:auto}.marca{padding:24px 20px;border-bottom:1px solid #ffffff18}.marca h1{margin:0;font-size:22px}.marca p{margin:6px 0 0;color:#9ca3af;font-size:13px}.status-sistema{margin:16px;padding:12px;background:#ffffff12;border-radius:10px;font-size:13px;display:flex;gap:8px;align-items:center}.bolinha{width:10px;height:10px;border-radius:50%;background:#f59e0b}.bolinha.online{background:#22c55e;box-shadow:0 0 10px #22c55e}.bolinha.offline{background:#ef4444}.menu-titulo{padding:18px 20px 7px;color:#9ca3af;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.menu-botao{width:calc(100% - 24px);margin:0 12px 4px;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#d1d5db;cursor:pointer;text-align:left}.menu-botao:hover{background:#ffffff12;color:#fff}.menu-botao.ativo{background:var(--destaque);color:#fff}.conteudo{margin-left:270px;width:calc(100% - 270px)}.topo{height:72px;background:#fff;border-bottom:1px solid var(--borda);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:5}.topo h2{margin:0;font-size:20px}.topo-direita{display:flex;align-items:center;gap:14px;color:var(--suave);font-size:13px}.pagina{display:none;padding:26px}.pagina.ativa{display:block}.cabecalho-pagina{margin-bottom:20px}.cabecalho-pagina h3{margin:0 0 5px;font-size:24px}.cabecalho-pagina p{margin:0;color:var(--suave)}.cards{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin-bottom:22px}.card{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:18px;box-shadow:0 3px 12px #0000000a;display:flex;flex-direction:column;gap:8px}.card span,.card small{color:var(--suave)}.card strong{font-size:27px}.card.azul{border-left:5px solid var(--destaque)}.card.verde{border-left:5px solid var(--sucesso)}.card.amarelo{border-left:5px solid var(--alerta)}.card.vermelho{border-left:5px solid var(--perigo)}.grade-dupla{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.painel{background:#fff;border:1px solid var(--borda);border-radius:14px;overflow:hidden;margin-bottom:20px}.painel-cabecalho{padding:16px 18px;border-bottom:1px solid var(--borda)}.painel-cabecalho h4{margin:0}.painel-conteudo{padding:18px}.lista-resumo>div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--borda)}.lista-resumo>div:last-child{border-bottom:0}.filtros{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}.campo{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;background:#fff}.tabela-area{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:12px 11px;text-align:left;border-bottom:1px solid var(--borda);font-size:13px}th{color:#4b5563;background:#f9fafb;font-size:12px;text-transform:uppercase}tr:hover td{background:#f9fafb}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.badge-cinza{background:#e5e7eb;color:#374151}.badge-azul{background:#dbeafe;color:#1d4ed8}.badge-verde{background:#dcfce7;color:#15803d}.badge-amarelo{background:#fef3c7;color:#b45309}.badge-vermelho{background:#fee2e2;color:#b91c1c}.acoes-os{display:flex;gap:7px;flex-wrap:wrap;min-width:215px}.botao{border:0;border-radius:8px;padding:9px 12px;cursor:pointer;background:#e5e7eb;color:#374151}.botao.primario{background:var(--destaque);color:#fff}.botao.sucesso{background:var(--sucesso);color:#fff}.botao.pequeno{padding:7px 9px;font-size:11px;font-weight:700}.botao:disabled{opacity:.55;cursor:not-allowed}.kanban{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;overflow-x:auto}.kanban-coluna{background:#e5e7eb;border-radius:12px;padding:12px;min-height:300px}.kanban-titulo{display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px}.kanban-contador{background:#fff;border-radius:999px;padding:3px 8px;font-size:11px}.kanban-card{background:#fff;border-radius:9px;padding:11px;margin-bottom:10px;box-shadow:0 2px 6px #00000012}.kanban-card strong,.kanban-card small{display:block;margin-bottom:4px}.kanban-card small{color:var(--suave)}.vazio{text-align:center;padding:30px;color:var(--suave)}.rodape-info{color:var(--suave);font-size:12px}.modal{border:0;border-radius:14px;padding:0;max-width:480px;width:calc(100% - 32px);box-shadow:0 20px 60px #0004}.modal::backdrop{background:#11182799}.modal form{padding:22px}.modal h3{margin-top:0}.modal label{display:block;margin:16px 0 7px;font-weight:700}.modal-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.aviso{background:#fef3c7;padding:10px;border-radius:8px;color:#92400e}.toast{position:fixed;right:24px;bottom:24px;background:#111827;color:#fff;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:50}.toast.visivel{opacity:1;transform:none}.toast.erro{background:#b91c1c}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grade-dupla{grid-template-columns:1fr}}@media(max-width:760px){.app{display:block}.sidebar{position:relative;width:100%;min-height:auto}.conteudo{margin-left:0;width:100%}.cards,.filtros{grid-template-columns:1fr}.topo{padding:0 16px}.pagina{padding:16px}}

/* V3.1 — formulários e gestão de cadastros */
.modal-largo { width: min(760px, calc(100vw - 32px)); }
.grade-formulario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.grade-formulario label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 600; color: #374151; }
.grade-formulario .campo-largo { grid-column: 1 / -1; }
textarea.campo { resize: vertical; min-height: 84px; }
.botao.perigo { background: #dc2626; color: #fff; }
.botao.perigo:hover:not(:disabled) { background: #b91c1c; }
.botao:disabled { opacity: .48; cursor: not-allowed; }
.linha-inativa td { opacity: .66; background: #f9fafb; }
small { color: #6b7280; }
@media (max-width: 720px) { .grade-formulario { grid-template-columns: 1fr; } .grade-formulario .campo-largo { grid-column: auto; } }

/* V4.3 — Equipe e Permissões */
.tela-login.oculta{display:none}
.app-bloqueado{display:none}.usuario-atual{font-weight:700;color:#111827}.cabecalho-flex{display:flex;justify-content:space-between;align-items:center;gap:16px}.cards-equipe{grid-template-columns:repeat(3,minmax(180px,1fr))}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}.checkbox-label input{width:auto}.permissoes-box{border:1px solid var(--borda);border-radius:10px;padding:12px}.permissoes-box legend{font-weight:700;padding:0 6px}.permissoes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-botao[hidden]{display:none}.topo-direita{flex-wrap:wrap}@media(max-width:760px){.cabecalho-flex{align-items:flex-start;flex-direction:column}.cards-equipe,.permissoes-grid{grid-template-columns:1fr}.usuario-atual{display:none}}


/* V4.4 — Controle de Estoque */
.cards-estoque{grid-template-columns:repeat(4,minmax(180px,1fr))}
.estoque-painel-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:14px}
.filtros-estoque{grid-template-columns:2fr 1fr 1fr}
.tabela-estoque{min-width:1120px}
.estoque-baixo td{background:#fffbeb}
.estoque-baixo:hover td{background:#fef3c7}
.saldo-estoque{font-weight:800;font-size:15px}
.saldo-estoque.baixo{color:var(--alerta)}
.saldo-estoque.zerado{color:var(--perigo)}
.estoque-resumo-material{background:#f8fafc;border:1px solid var(--borda);border-radius:10px;padding:12px 14px;margin:12px 0;color:#334155}
.estoque-resumo-material strong{display:block;color:#111827;margin-bottom:4px}
.aviso-suave{background:#eff6ff;color:#1e40af}
@media(max-width:1100px){.cards-estoque{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cards-estoque,.filtros-estoque{grid-template-columns:1fr}.estoque-painel-cabecalho{align-items:flex-start;flex-direction:column}}


/* V4.5 — Tabelas de Preço */
.cards-tabelas-preco{grid-template-columns:repeat(3,minmax(180px,1fr))}
.tabela-tabelas-preco{min-width:980px}
.tabela-tabelas-preco code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:5px 8px;color:#0f172a;font-size:12px}
.modal-preco{width:min(980px,calc(100vw - 32px));max-width:980px}
.painel-precos-modal{border:1px solid var(--borda);border-radius:12px;margin-top:20px;overflow:hidden}
.grade-precos-tabela{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.item-preco-tabela{margin:0!important;padding:13px 15px;border-bottom:1px solid var(--borda);display:grid!important;grid-template-columns:1fr 150px!important;align-items:center;gap:14px!important;font-weight:500!important}
.item-preco-tabela:nth-child(odd){border-right:1px solid var(--borda)}
.item-preco-tabela span>strong{display:block;color:#111827;font-size:13px}
.item-preco-tabela small{display:block;margin-top:3px;font-weight:400}
.input-preco{display:flex;align-items:center;gap:6px}
.input-preco>span{font-size:12px;color:var(--suave);font-weight:700}
.input-preco .campo{padding:8px 9px;text-align:right}
@media(max-width:900px){.grade-precos-tabela{grid-template-columns:1fr}.item-preco-tabela:nth-child(odd){border-right:0}}
@media(max-width:760px){.cards-tabelas-preco{grid-template-columns:1fr}.item-preco-tabela{grid-template-columns:1fr!important}.modal-preco{width:calc(100vw - 20px)}}


/* V4.6 — Catálogo de Produtos integrado às Tabelas de Preço */
.cards-produtos{grid-template-columns:repeat(3,minmax(180px,1fr))}
.filtros-produtos{grid-template-columns:2fr 1fr}
.tabela-produtos{min-width:1050px}
@media(max-width:760px){.cards-produtos,.filtros-produtos{grid-template-columns:1fr}}

/* OS — arquivos e detalhes */
.tabela-os-trabalhos{min-width:1080px}
.celula-os,.celula-arquivos{white-space:nowrap;vertical-align:middle}
.arquivos-vazio{color:var(--suave);font-size:12px}
.lista-arquivos-os{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto;padding-right:4px}
.item-arquivo-os{display:flex;gap:12px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:12px;background:#fff}
.item-arquivo-os .icone-arquivo{font-size:22px;line-height:1}
.item-arquivo-os .acoes-os{margin-left:auto;flex-shrink:0}
.detalhes-os{max-height:70vh;overflow:auto;padding-right:4px}
.bloco-detalhe-os{border:1px solid var(--borda);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#fff}
.bloco-detalhe-os h4{margin:0 0 10px;font-size:14px}
.grade-detalhe-os{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:13px}
.grade-detalhe-os span{color:var(--suave);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.item-detalhe-os{border-top:1px solid var(--borda);padding-top:10px;margin-top:10px}
.item-detalhe-os:first-child{border-top:0;padding-top:0;margin-top:0}
.preview-imagem-os{max-width:100%;border-radius:10px;display:block}
#modalArquivosOS,#modalDetalhesOS,#modalPreviewImagemOS{padding:22px}
@media(max-width:760px){.grade-detalhe-os{grid-template-columns:1fr}.tabela-os-trabalhos{min-width:920px}}

/* Login administrativo — isolado em .tela-login */
.tela-login{
  --login-bg:#070b12;
  --login-bg2:#0a1018;
  --login-panel:#0d1520;
  --login-panel2:#111b28;
  --login-line:#1c2d40;
  --login-text:#f4f7fb;
  --login-muted:#8b9cb3;
  --login-blue:#0066ff;
  --login-blue2:#1a7aff;
  --login-cyan:#19b9ff;
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px 16px;
  overflow-x:hidden;
  overflow-y:auto;
  color:var(--login-text);
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(25,185,255,.16), transparent 58%),
    radial-gradient(700px 420px at 88% 8%, rgba(0,102,255,.18), transparent 55%),
    linear-gradient(160deg, #05080e 0%, var(--login-bg) 42%, #060d16 100%);
}
.tela-login.oculta{display:none}
.tela-login .login-shell{
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:center;
}
.tela-login .login-identidade{
  position:relative;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:28px 20px 36px;
  overflow:hidden;
}
.tela-login .login-identidade-brilho,
.tela-login .login-identidade-orbe{
  position:absolute;
  pointer-events:none;
}
.tela-login .login-identidade-brilho{
  inset:8% 12%;
  background:radial-gradient(circle at 50% 42%, rgba(25,185,255,.22), transparent 62%);
  filter:blur(8px);
}
.tela-login .login-identidade-orbe-a{
  width:220px;height:220px;border-radius:40% 60% 55% 45%;
  border:1px solid rgba(25,185,255,.18);
  top:12%;left:8%;
  transform:rotate(18deg);
}
.tela-login .login-identidade-orbe-b{
  width:160px;height:160px;border-radius:46% 54% 42% 58%;
  border:1px solid rgba(0,102,255,.2);
  right:10%;bottom:16%;
  transform:rotate(-12deg);
}
.tela-login .login-marca{
  position:relative;
  z-index:1;
}
.tela-login .login-marca img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:transparent;
  -webkit-mask-image:radial-gradient(ellipse 92% 92% at 50% 50%, #000 76%, transparent 100%);
  mask-image:radial-gradient(ellipse 92% 92% at 50% 50%, #000 76%, transparent 100%);
}
.tela-login .login-marca-principal{
  width:min(400px,86%);
  filter:drop-shadow(0 0 28px rgba(25,185,255,.22));
}
.tela-login .login-kicker{
  position:relative;
  z-index:1;
  margin:6px 0 8px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--login-cyan);
}
.tela-login .login-complemento{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  max-width:34ch;
  color:var(--login-muted);
  font-size:15px;
  line-height:1.5;
}
.tela-login .login-indicadores{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.tela-login .login-indicadores li{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid var(--login-line);
  border-radius:999px;
  background:rgba(13,21,32,.65);
  color:var(--login-text);
  font-size:12px;
  font-weight:600;
  letter-spacing:.02em;
}
.tela-login .login-indicadores li span{
  width:7px;height:7px;border-radius:50%;
  background:var(--login-cyan);
  box-shadow:0 0 8px rgba(25,185,255,.7);
}
.tela-login .login-card{
  width:100%;
  max-width:440px;
  justify-self:end;
  margin:0;
  padding:32px 30px 26px;
  border:1px solid var(--login-line);
  border-radius:22px;
  background:linear-gradient(180deg, var(--login-panel2), var(--login-panel));
  box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.tela-login .login-marca-card{
  width:118px;
  margin:0 auto 8px;
  filter:drop-shadow(0 0 16px rgba(25,185,255,.18));
}
.tela-login .login-card h1{
  margin:4px 0 6px;
  text-align:center;
  font-size:28px;
  font-weight:700;
  color:var(--login-text);
}
.tela-login .login-subtitulo{
  margin:0 0 22px;
  text-align:center;
  color:var(--login-muted);
  font-size:14px;
}
.tela-login .login-card label{
  display:block;
  margin:0 0 8px;
  font-size:13px;
  font-weight:700;
  color:var(--login-text);
}
.tela-login .login-card label + .campo{margin-bottom:16px}
.tela-login .campo{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid var(--login-line);
  border-radius:12px;
  background:#0a121c;
  color:var(--login-text);
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.tela-login .campo::placeholder{color:#6f8299}
.tela-login .campo:hover{border-color:#2a415c}
.tela-login .campo:focus{
  outline:2px solid rgba(25,185,255,.45);
  outline-offset:2px;
  border-color:var(--login-cyan);
  box-shadow:0 0 0 4px rgba(0,102,255,.18);
}
.tela-login .campo:disabled{
  opacity:.48;
  cursor:not-allowed;
}
.tela-login .campo:-webkit-autofill,
.tela-login .campo:-webkit-autofill:hover,
.tela-login .campo:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--login-text);
  caret-color:var(--login-text);
  box-shadow:0 0 0 1000px #0a121c inset;
  transition:background-color 9999s ease-out;
}
.tela-login .botao.login-botao,
.tela-login .login-botao{
  width:100%;
  min-height:48px;
  margin-top:8px;
  padding:12px 16px;
  border:0;
  border-radius:12px;
  background:linear-gradient(180deg, var(--login-blue2), var(--login-blue));
  color:#fff;
  font-weight:700;
  letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(0,102,255,.28);
  transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tela-login .botao.login-botao:hover:not(:disabled),
.tela-login .login-botao:hover:not(:disabled){
  filter:brightness(1.08);
  box-shadow:0 12px 28px rgba(25,185,255,.28);
}
.tela-login .botao.login-botao:focus-visible,
.tela-login .login-botao:focus-visible{
  outline:2px solid var(--login-cyan);
  outline-offset:3px;
}
.tela-login .botao.login-botao:disabled,
.tela-login .login-botao:disabled{
  opacity:.48;
  cursor:not-allowed;
  box-shadow:none;
}
.tela-login .login-erro{
  min-height:20px;
  margin:12px 0 0;
  color:#fecaca;
  font-size:13px;
  line-height:1.45;
}
.tela-login .login-erro:not(:empty){
  background:#2a1014;
  border:1px solid #7f1d1d;
  border-radius:10px;
  padding:10px 12px;
}
.tela-login .login-rodape{
  margin:18px 0 0;
  text-align:center;
  color:#7f93aa;
  font-size:12px;
}
@media(max-width:1024px){
  .tela-login .login-shell{grid-template-columns:1fr 1fr;gap:18px}
  .tela-login .login-marca-principal{width:min(340px,92%)}
  .tela-login .login-identidade{min-height:480px;padding:16px}
  .tela-login .login-card{max-width:none;justify-self:stretch}
}
@media(max-width:760px){
  .tela-login{align-items:start;padding:16px}
  .tela-login .login-shell{grid-template-columns:1fr;width:min(480px,100%);gap:10px}
  .tela-login .login-identidade{min-height:0;padding:8px 8px 4px}
  .tela-login .login-marca-principal{width:min(210px,68%)}
  .tela-login .login-identidade-orbe,
  .tela-login .login-indicadores,
  .tela-login .login-complemento{display:none}
  .tela-login .login-kicker{font-size:13px;margin:4px 0}
  .tela-login .login-card{padding:24px 18px 20px;border-radius:18px}
  .tela-login .login-card h1{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
  .tela-login .campo,
  .tela-login .botao.login-botao,
  .tela-login .login-botao{transition:none}
}

/* Tema administrativo moderno — isolado em .app, dialog.modal e .toast */
html{color-scheme:dark}
body{
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  background:
    radial-gradient(1000px 480px at 80% -8%, rgba(20,115,230,.16), transparent 52%),
    var(--admin-bg);
  color:var(--admin-text);
}
.app ::-webkit-scrollbar,
.modal ::-webkit-scrollbar{width:8px;height:8px}
.app ::-webkit-scrollbar-thumb,
.modal ::-webkit-scrollbar-thumb{background:var(--admin-line-strong);border-radius:8px}
.app ::-webkit-scrollbar-track,
.modal ::-webkit-scrollbar-track{background:transparent}
.admin-menu-toggle{
  position:absolute;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.app{
  min-height:100vh;
  background:transparent;
}
.app .sidebar{
  width:var(--admin-sidebar-width);
  background:linear-gradient(180deg, #061018 0%, var(--admin-sidebar) 100%);
  border-right:1px solid var(--admin-line);
  color:var(--admin-text);
  overflow-x:hidden;
  overflow-y:auto;
}
.app .marca{
  padding:18px 16px 10px;
  border-bottom:1px solid var(--admin-line);
  text-align:center;
}
.app .marca h1{display:none}
.app .marca-logo{
  width:min(168px,100%);
  margin:0 auto;
}
.app .marca-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(22,199,232,.18));
}
.app .marca-versao,
.app .marca p{
  margin:8px 0 0;
  color:var(--admin-text-muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.app .status-sistema{
  margin:14px 14px 8px;
  padding:10px 12px;
  border:1px solid var(--admin-line);
  border-radius:999px;
  background:rgba(11,21,35,.72);
  color:var(--admin-text-secondary);
  font-size:12px;
}
.app .bolinha{background:var(--admin-orange);box-shadow:0 0 0 0 transparent}
.app .bolinha.online{background:var(--admin-green);box-shadow:0 0 10px rgba(34,197,94,.55)}
.app .bolinha.offline{background:var(--admin-red);box-shadow:0 0 10px rgba(239,68,68,.45)}
.app nav{padding:8px 0 24px}
.app .menu-titulo{
  padding:16px 18px 6px;
  color:var(--admin-text-muted);
  font-size:10px;
  letter-spacing:.12em;
}
.app .menu-botao{
  width:calc(100% - 20px);
  min-height:42px;
  margin:0 10px 4px;
  padding:10px 12px;
  border-radius:10px;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--admin-text-secondary);
  background:transparent;
  transition:background .18s ease, color .18s ease;
}
.app .menu-botao:hover{background:var(--admin-panel-hover);color:var(--admin-text)}
.app .menu-botao:focus-visible{outline:2px solid var(--admin-cyan);outline-offset:2px}
.app .menu-botao.ativo{
  background:linear-gradient(90deg, var(--admin-blue), var(--admin-blue-bright));
  color:#fff;
  box-shadow:0 8px 20px rgba(20,115,230,.28);
}
.app .menu-icone,
.app .topo-icone{
  width:18px;height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
  flex-shrink:0;
}
.app .card-kpi-icone svg{
  width:20px;height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.app .menu-rotulo{pointer-events:none}
.app .conteudo{
  margin-left:var(--admin-sidebar-width);
  width:calc(100% - var(--admin-sidebar-width));
  min-height:100vh;
  background:
    radial-gradient(720px 280px at 12% 0%, rgba(22,199,232,.06), transparent 46%),
    var(--admin-bg-secondary);
}
.app .topo{
  height:auto;
  min-height:68px;
  padding:12px 24px;
  background:rgba(5,9,20,.78);
  border-bottom:1px solid var(--admin-line);
  backdrop-filter:blur(12px);
  gap:16px;
}
.app .topo-esquerda{display:flex;align-items:center;gap:12px;min-width:0}
.app .topo-menu-botao{
  display:none;
  width:40px;height:40px;
  align-items:center;justify-content:center;
  border:1px solid var(--admin-line);
  border-radius:10px;
  background:var(--admin-panel);
  color:var(--admin-text);
  cursor:pointer;
}
.app .topo h2{color:var(--admin-text);font-size:20px;font-weight:700}
.app .topo-direita{color:var(--admin-text-muted)}
.app .usuario-atual{color:var(--admin-text);font-weight:600}
.app .pagina{padding:24px 28px 36px}
.app .cabecalho-pagina h3{color:var(--admin-text);font-size:26px}
.app .cabecalho-pagina p{color:var(--admin-text-muted)}
.app .cards{gap:14px}
.app .card{
  background:linear-gradient(180deg, var(--admin-panel-secondary), var(--admin-panel));
  border:1px solid var(--admin-line);
  border-radius:var(--admin-radius);
  box-shadow:none;
  color:var(--admin-text);
  min-height:118px;
  transition:border-color .18s ease, transform .18s ease;
}
.app .card:hover{border-color:var(--admin-line-strong);transform:translateY(-1px)}
.app .card span,.app .card small{color:var(--admin-text-muted)}
.app .card strong{color:var(--admin-text);font-size:22px;letter-spacing:-.03em;line-height:1.2}
.app .card.azul,.app .card.verde,.app .card.amarelo,.app .card.vermelho{border-left:1px solid var(--admin-line)}
.app .card-kpi{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:14px}
.app .card-kpi > div:last-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-width:0;
}
.app .card-kpi span{font-size:13px;line-height:1.3}
.app .card-kpi strong{display:block;font-size:22px;line-height:1.15;margin:2px 0}
.app .card-kpi small{font-size:12px;line-height:1.3}
.app .card-kpi-icone{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:12px;
  border:1px solid currentColor;
  background:rgba(20,115,230,.12);
}
.app .card.azul .card-kpi-icone{color:var(--admin-blue);background:rgba(20,115,230,.14)}
.app .card.amarelo .card-kpi-icone{color:var(--admin-orange);background:rgba(245,158,11,.12)}
.app .card.verde .card-kpi-icone{color:var(--admin-green);background:rgba(34,197,94,.12)}
.app .card.vermelho .card-kpi-icone{color:var(--admin-red);background:rgba(239,68,68,.12)}
.app .card.roxo .card-kpi-icone{color:var(--admin-purple);background:rgba(139,92,246,.14)}
.app .card.ciano .card-kpi-icone{color:var(--admin-cyan);background:rgba(22,199,232,.12)}
.app .card.turquesa .card-kpi-icone{color:#2dd4bf;background:rgba(45,212,191,.12)}
.app .grade-dupla{grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:16px}
.app .painel{
  background:var(--admin-panel);
  border:1px solid var(--admin-line);
  border-radius:var(--admin-radius);
  box-shadow:var(--admin-shadow);
}
.app .painel-cabecalho{border-bottom:1px solid var(--admin-line);color:var(--admin-text)}
.app .painel-cabecalho h4{color:var(--admin-text)}
.app .lista-resumo>div{border-bottom:1px solid var(--admin-line);color:var(--admin-text-secondary)}
.app .lista-resumo>div strong{color:var(--admin-text)}
.app .lista-resumo>div:last-child strong{color:var(--admin-cyan)}
.app .campo,
.modal .campo{
  background:var(--admin-bg);
  border:1px solid var(--admin-line-strong);
  border-radius:10px;
  color:var(--admin-text);
  min-height:44px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.app .campo::placeholder,
.modal .campo::placeholder{color:#6d8198}
.app .campo:hover,
.modal .campo:hover{border-color:#3a5878}
.app .campo:focus,
.modal .campo:focus{
  outline:2px solid rgba(22,199,232,.45);
  outline-offset:2px;
  border-color:var(--admin-cyan);
  box-shadow:0 0 0 3px rgba(20,115,230,.18);
}
.app .campo:disabled,
.modal .campo:disabled{opacity:.5;cursor:not-allowed}
.app .campo:-webkit-autofill,
.modal .campo:-webkit-autofill{
  -webkit-text-fill-color:var(--admin-text);
  caret-color:var(--admin-text);
  box-shadow:0 0 0 1000px var(--admin-bg) inset;
}
.app select.campo,
.modal select.campo{color-scheme:dark}
.app .tabela-area{overflow-x:auto}
.app table{min-width:720px}
.app th,.app td,.modal th,.modal td{
  border-bottom:1px solid var(--admin-line);
  color:var(--admin-text);
}
.app th,.modal th{
  color:var(--admin-text-muted);
  background:rgba(7,16,29,.92);
  position:sticky;top:0;
  font-size:11px;
}
.app tr:hover td,.modal tbody tr:hover td{background:var(--admin-panel-hover)}
.app .badge,.modal .badge{
  border:1px solid transparent;
  font-weight:700;
}
.app .badge-cinza,.modal .badge-cinza{background:#1b2433;color:#c5d0de;border-color:#334155}
.app .badge-azul,.modal .badge-azul{background:rgba(20,115,230,.16);color:#93c5fd;border-color:rgba(20,115,230,.35)}
.app .badge-verde,.modal .badge-verde{background:rgba(34,197,94,.16);color:#86efac;border-color:rgba(34,197,94,.35)}
.app .badge-amarelo,.modal .badge-amarelo{background:rgba(245,158,11,.16);color:#fcd34d;border-color:rgba(245,158,11,.35)}
.app .badge-vermelho,.modal .badge-vermelho{background:rgba(239,68,68,.16);color:#fca5a5;border-color:rgba(239,68,68,.35)}
.app .badge-roxo,.modal .badge-roxo{background:rgba(139,92,246,.16);color:#c4b5fd;border-color:rgba(139,92,246,.35)}
.app .badge-ciano,.modal .badge-ciano{background:rgba(22,199,232,.16);color:#67e8f9;border-color:rgba(22,199,232,.35)}
.app .badge-turquesa,.modal .badge-turquesa{background:rgba(45,212,191,.16);color:#5eead4;border-color:rgba(45,212,191,.35)}
.app .botao,
.modal .botao{
  border-radius:10px;
  background:var(--admin-panel-secondary);
  color:var(--admin-text);
  border:1px solid var(--admin-line-strong);
  min-height:40px;
  transition:filter .18s ease, background .18s ease, border-color .18s ease;
}
.app .botao:hover:not(:disabled),
.modal .botao:hover:not(:disabled){filter:brightness(1.08);border-color:var(--admin-cyan)}
.app .botao:focus-visible,
.modal .botao:focus-visible{outline:2px solid var(--admin-cyan);outline-offset:2px}
.app .botao:active:not(:disabled),
.modal .botao:active:not(:disabled){transform:translateY(1px)}
.app .botao.primario,
.modal .botao.primario{
  background:linear-gradient(180deg, var(--admin-blue-bright), var(--admin-blue));
  color:#fff;
  border-color:transparent;
}
.app .botao.sucesso,
.modal .botao.sucesso{background:linear-gradient(180deg,#34d399,var(--admin-green));color:#fff;border-color:transparent}
.app .botao.perigo,
.modal .botao.perigo{background:linear-gradient(180deg,#f87171,var(--admin-red));color:#fff;border-color:transparent}
.app .botao.pequeno,
.modal .botao.pequeno{min-height:32px;padding:6px 9px}
.app #botaoAtualizar,
.app #botaoSair{min-height:40px;display:inline-flex;align-items:center;gap:8px}
.app #botaoSair{background:transparent}
.app .kanban-coluna{
  background:var(--admin-panel);
  border:1px solid var(--admin-line);
  border-radius:var(--admin-radius);
}
.app .kanban-titulo{color:var(--admin-text)}
.app .kanban-contador{background:var(--admin-bg);color:var(--admin-cyan);border:1px solid var(--admin-line)}
.app .kanban-card{
  background:var(--admin-panel-secondary);
  border:1px solid var(--admin-line);
  color:var(--admin-text);
  width:100%;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:4px;
  font:inherit;
}
.app .kanban-card:hover{border-color:var(--admin-cyan)}
.app .kanban-coluna:nth-child(1) .kanban-titulo{color:#93c5fd}
.app .kanban-coluna:nth-child(2) .kanban-titulo{color:#c4b5fd}
.app .kanban-coluna:nth-child(3) .kanban-titulo{color:#fcd34d}
.app .kanban-coluna:nth-child(4) .kanban-titulo{color:#67e8f9}
.app .kanban-coluna:nth-child(5) .kanban-titulo{color:#86efac}
.app .kanban-coluna:nth-child(6) .kanban-titulo{color:#2dd4bf}
.app .vazio{color:var(--admin-text-muted)}
.app .rodape-info{color:var(--admin-text-muted)}
.app .aviso{background:rgba(245,158,11,.12);color:#fcd34d;border:1px solid rgba(245,158,11,.28)}
.app .aviso-suave,.modal .aviso-suave{background:rgba(20,115,230,.12);color:#93c5fd;border:1px solid rgba(20,115,230,.25)}
.app small,.modal small{color:var(--admin-text-muted)}
.app .linha-inativa td,.modal .linha-inativa td{background:rgba(15,23,42,.45);opacity:.72}
.app .permissoes-box,.modal .permissoes-box{border-color:var(--admin-line);background:var(--admin-panel-secondary);color:var(--admin-text)}
.app .estoque-baixo td{background:rgba(245,158,11,.08)}
.app .estoque-baixo:hover td{background:rgba(245,158,11,.14)}
.app .item-arquivo-os,.app .bloco-detalhe-os,
.modal .item-arquivo-os,.modal .bloco-detalhe-os{
  background:var(--admin-panel-secondary);
  border-color:var(--admin-line);
}
.app .tabela-tabelas-preco code,.modal .tabela-tabelas-preco code{
  background:var(--admin-bg);
  border-color:var(--admin-line);
  color:var(--admin-text);
}
.app .item-preco-tabela,.modal .item-preco-tabela{border-color:var(--admin-line);color:var(--admin-text)}
.app .estoque-resumo-material,.modal .estoque-resumo-material{
  background:var(--admin-panel-secondary);
  border-color:var(--admin-line);
  color:var(--admin-text-secondary);
}
.app .acoes-cabecalho-financeiro{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.app .filtro-financeiro{display:flex;align-items:end;gap:20px;flex-wrap:wrap}
.app .filtro-financeiro label{min-width:190px;color:var(--admin-text-secondary)}
.app .financeiro-legenda{font-size:12px;color:var(--admin-text-muted);padding-bottom:9px}
.app .cards-financeiro-v47{grid-template-columns:repeat(5,minmax(150px,1fr))}
.app .financeiro-fechamento-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}
.app .financeiro-fechamento-bloco{
  border:1px solid var(--admin-line);
  border-radius:12px;
  padding:14px;
  background:var(--admin-panel-secondary);
}
.app .financeiro-fechamento-bloco span{display:block;font-size:12px;color:var(--admin-text-muted);margin-bottom:6px}
.app .financeiro-fechamento-bloco strong{font-size:20px;color:var(--admin-text)}
.app .financeiro-fechamento-bloco.destaque{border-color:rgba(22,199,232,.35);box-shadow:inset 0 0 0 1px rgba(22,199,232,.12)}
.app .financeiro-resumo-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:12px}
.app .filtros-financeiro-despesas{grid-template-columns:2fr 1fr}
dialog.modal{
  background:linear-gradient(180deg, var(--admin-panel-secondary), var(--admin-panel));
  color:var(--admin-text);
  border:1px solid var(--admin-line);
  border-radius:var(--admin-radius-lg);
  box-shadow:var(--admin-shadow);
  max-height:calc(100vh - 32px);
  overflow:auto;
}
dialog.modal::backdrop{background:rgba(2,6,14,.72)}
dialog.modal label{color:var(--admin-text)}
.modal .grade-formulario label,
.modal .checkbox-label{color:var(--admin-text) !important}
.modal .item-preco-tabela span>strong{color:var(--admin-text)}
.modal .item-preco-tabela{background:transparent}
.toast{background:#07111d;border:1px solid var(--admin-line);box-shadow:var(--admin-shadow)}
.toast.erro{background:#7f1d1d;border-color:#991b1b}
@media(max-width:1100px){
  .app .cards-financeiro-v47{grid-template-columns:repeat(3,minmax(160px,1fr))}
  .app .financeiro-fechamento-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}
  .app .grade-dupla{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .app .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .app .topo-menu-botao{display:inline-flex}
  .app .sidebar{
    position:fixed;
    z-index:30;
    transform:translateX(-110%);
    transition:transform .2s ease;
    box-shadow:var(--admin-shadow);
  }
  .admin-menu-toggle:checked ~ .sidebar{transform:translateX(0)}
  .app .conteudo{margin-left:0;width:100%}
  .app .pagina{padding:16px}
  .app .cards,.app .cards-equipe,.app .cards-estoque,.app .cards-produtos,.app .cards-tabelas-preco,
  .app .cards-financeiro-v47,.app .financeiro-fechamento-grid,.app .filtros-financeiro-despesas{grid-template-columns:1fr}
  .app .usuario-atual{display:inline !important}
  .app .topo{flex-wrap:wrap;padding:10px 16px;flex-direction:column;align-items:stretch}
  .app .topo-direita{width:100%;justify-content:flex-start}
  .app #botaoAtualizar,.app #botaoSair{flex:1 1 auto}
  .app .botao,.modal .botao{min-height:44px}
  .app .filtro-financeiro{display:block}
}
@media(prefers-reduced-motion:reduce){
  .app .card,.app .botao,.app .menu-botao,.app .campo,.modal .campo,.modal .botao,.app .sidebar{transition:none}
}
