:root{--azul: #0d6efd;--azul-escuro: #0b5ed7;--cinza: #6c757d;--cinza-claro: #f1f3f5;--verde: #198754;--vermelho: #dc3545;--fundo: #f8f9fa;--texto: #212529;--borda: #dee2e6}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fundo);color:var(--texto)}.app{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.topo{background:var(--azul);color:#fff;padding:1rem 1.25rem;padding-top:max(1rem,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:.75rem}.botao-sair{background:#ffffff2e;color:#fff;padding:.45rem .9rem;font-size:.9rem;flex:0 0 auto}.botao-sair:hover:not(:disabled){background:#ffffff4d}.topo h1{margin:0;font-size:1.5rem}.topo .subtitulo{font-size:.85rem;opacity:.9}.conteudo{flex:1;padding:1rem 1rem 5rem}.cartao{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:1.25rem}.cartao h2{margin-top:0;font-size:1.2rem}.instrucao{color:var(--cinza);font-size:.95rem}.qr-region{width:100%;min-height:260px;background:var(--cinza-claro);border-radius:8px;overflow:hidden;margin:.75rem 0}.acoes{display:flex;gap:.5rem;margin-top:.75rem}button{background:var(--azul);color:#fff;border:none;border-radius:8px;padding:.7rem 1.1rem;font-size:1rem;cursor:pointer}button:hover:not(:disabled){background:var(--azul-escuro)}button:disabled{opacity:.55;cursor:not-allowed}button.secundario{background:var(--cinza)}.botao-arquivo{display:inline-block;background:var(--azul);color:#fff;border-radius:8px;padding:.7rem 1.1rem;cursor:pointer;margin-top:.5rem}.preview{margin-top:1rem}.preview img{max-width:100%;border-radius:8px;border:1px solid var(--borda)}.status{margin-top:1rem;padding:.6rem .8rem;border-radius:8px;font-size:.95rem}.status--ok{background:#d1e7dd;color:var(--verde)}.status--erro{background:#f8d7da;color:var(--vermelho)}.status--info{background:#cfe2ff;color:var(--azul-escuro)}.cabecalho-lista{display:flex;justify-content:space-between;align-items:center}.lista-notas{list-style:none;padding:0;margin:1rem 0 0}.item-nota{border:1px solid var(--borda);border-radius:8px;padding:.75rem;margin-bottom:.6rem}.item-nota .chave{font-size:.8rem;word-break:break-all;color:var(--cinza)}.item-nota .meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:.4rem;font-size:.9rem}.badge{background:var(--azul);color:#fff;border-radius:6px;padding:.05rem .5rem;font-weight:600}.registrada{color:var(--cinza)}.abas{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;display:flex;background:#fff;border-top:1px solid var(--borda);padding-bottom:env(safe-area-inset-bottom)}.abas button{flex:1;background:transparent;color:var(--cinza);border-radius:0;padding:.9rem .5rem;font-size:.9rem}.abas button.ativa{color:var(--azul);font-weight:700}.abas button:hover:not(:disabled){background:var(--cinza-claro)}.nota-detalhe{width:100%}.form-detalhe{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-top:.75rem}.form-detalhe label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--cinza);flex:1 1 8rem}.form-detalhe input,.form-detalhe select{font-size:1rem;padding:.6rem .7rem;border:1px solid var(--borda);border-radius:8px;background:#fff;color:var(--texto)}.form-detalhe input:focus,.form-detalhe select:focus{outline:none;border-color:var(--azul)}.form-detalhe button[type=submit]{flex:0 0 auto}.item-nota .nota-detalhe .chave{display:block;margin-bottom:.4rem}.conteudo--centro{display:flex;align-items:center;justify-content:center}.cartao--login{width:100%;max-width:26rem;text-align:center}.botao-google{width:100%;margin-top:.5rem;padding:.8rem 1rem;font-weight:600}.form-empresa{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;text-align:left}.form-empresa label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--cinza)}.form-empresa input{font-size:1rem;padding:.65rem .75rem;border:1px solid var(--borda);border-radius:8px}.form-empresa input:focus{outline:none;border-color:var(--azul)}.link-sair{background:transparent;color:var(--cinza);font-size:.85rem;margin-top:1rem;padding:.4rem}.link-sair:hover:not(:disabled){background:var(--cinza-claro)}.dono-nota{display:block;font-size:.8rem;font-weight:600;color:var(--azul);margin-bottom:.3rem}.subsecao{font-size:1rem;margin:1.25rem 0 .5rem;color:var(--texto)}.form-funcionario{display:flex;gap:.5rem;margin-top:.75rem}.form-funcionario input{flex:1;font-size:1rem;padding:.6rem .7rem;border:1px solid var(--borda);border-radius:8px}.form-funcionario input:focus{outline:none;border-color:var(--azul)}.lista-funcionarios{list-style:none;padding:0;margin:.5rem 0 0}.item-funcionario{display:flex;align-items:center;gap:.6rem;border:1px solid var(--borda);border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem}.fn-info{display:flex;flex-direction:column;flex:1;min-width:0}.fn-info strong{font-size:.95rem}.fn-email{font-size:.82rem;color:var(--cinza);word-break:break-all}.fn-voce{font-size:.8rem;color:var(--cinza);font-style:italic}.fn-remover{padding:.4rem .7rem;font-size:.85rem}.badge--pendente{background:var(--cinza)}.metricas{display:flex;gap:.75rem;margin-top:.5rem}.metrica{flex:1;background:var(--cinza-claro);border-radius:10px;padding:1rem;text-align:center}.metrica-valor{display:block;font-size:1.8rem;font-weight:700;color:var(--azul)}.metrica-rotulo{font-size:.85rem;color:var(--cinza)}.lista-empresas{list-style:none;padding:0;margin:.5rem 0 0}.item-empresa,.item-cliente{display:flex;align-items:center;gap:.6rem;border:1px solid var(--borda);border-radius:8px;padding:.6rem .75rem;margin-bottom:.5rem}.item-cliente .fn-info input{font-size:.95rem;padding:.4rem .5rem;border:1px solid var(--borda);border-radius:6px}.badge--cliente,.badge--ativa{background:var(--verde)}.badge--suspensa{background:var(--vermelho)}.item-empresa--gestao{flex-direction:column;align-items:stretch;gap:.5rem}.empresa-cabecalho{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}.empresa-status{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}.empresa-form{display:flex;gap:.5rem}.empresa-form input{flex:1;font-size:.95rem;padding:.5rem .6rem;border:1px solid var(--borda);border-radius:6px}.empresa-acoes{display:flex;flex-wrap:wrap;gap:.4rem}.empresa-acoes button{padding:.4rem .7rem;font-size:.85rem}.item-empresa--gestao .fn-info input{font-size:.95rem;padding:.4rem .5rem;border:1px solid var(--borda);border-radius:6px}
