*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:#f4f6f9;color:#1a2233}h1,h2,h3{margin:0 0 4px}h2{font-size:18px;margin-bottom:12px}a{color:#2563eb}.subtitle{color:#64748b;margin:0 0 20px;font-size:14px}.erro{color:#dc2626;font-size:14px}.sucesso{color:#16a34a;font-size:14px}.muted{color:#64748b;font-size:13px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0f172a,#1e293b);padding:16px}.auth-card{background:#fff;overflow:hidden;border-radius:12px;width:100%;max-width:380px;box-shadow:0 10px 40px rgba(0,0,0,.25)}.auth-card-corpo{padding:32px}.auth-card form{display:flex;flex-direction:column;gap:6px;margin-top:16px}.topbar{display:flex;justify-content:space-between;align-items:center;background:#009c3b;padding:10px 20px;gap:12px}.topbar h1{color:#fff;font-size:18px}.topbar-marca{display:flex;align-items:center;gap:12px}.topbar .btn-secondary{background:#fff;color:#009c3b;margin:0}.tabs{display:flex;gap:2px;background:#fff;padding:0 12px;border-bottom:1px solid #e2e8f0;overflow-x:auto;white-space:nowrap}.tabs a{padding:12px 14px;text-decoration:none;color:#475569;font-size:14px;font-weight:500;border-bottom:2px solid transparent}.tabs a:hover{color:#009c3b}.content{padding:20px;max-width:1100px;margin:0 auto}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label{font-size:13px;color:#64748b}.kpi-valor{font-size:24px;font-weight:700}.kpi-valor.destaque{color:#16a34a}.kpi-sub{font-size:12px;color:#64748b}.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin-bottom:16px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px}.form{display:flex;flex-direction:column;gap:6px}.form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px}.form-inline label{display:flex;flex-direction:column;gap:4px;margin:0}.form-inline label,label{font-size:13px;color:#475569}label{margin-top:8px}button,input,select,textarea{font-family:inherit;font-size:15px}input[type=date],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%}.form-inline input,.form-inline select{width:auto}input:focus,select:focus{border-color:#009c3b}.checkbox{flex-direction:row;align-items:center;gap:8px;margin-top:12px;display:flex}.checkbox input{width:auto}button{cursor:pointer;border:none;border-radius:8px;padding:11px 18px;background:#009c3b;color:#fff;font-weight:600;margin-top:14px;width:-moz-fit-content;width:fit-content}button:hover{background:#007a2e}button:disabled{background:#94a3b8;cursor:not-allowed}.btn{display:inline-block;text-decoration:none;background:#009c3b;color:#fff;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px}.btn-secondary{background:#e2e8f0;color:#1a2233}.btn-pequeno{padding:6px 10px;font-size:13px;margin:0}.btn-perigo{background:#dc2626}.btn-perigo:hover{background:#b91c1c}.tabela-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#64748b;font-weight:600;font-size:12px;text-transform:uppercase;padding:8px;border-bottom:1px solid #e2e8f0}td{padding:9px 8px;border-bottom:1px solid #f1f5f9;vertical-align:top}td.num,th.num{text-align:right;white-space:nowrap}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.tag-ok{background:#dcfce7;color:#166534}.tag-aberto{background:#fef3c7;color:#92400e}.tag-cancelado{background:#fee2e2;color:#991b1b}.paginacao{display:flex;margin-top:12px;font-size:14px}.linha-produto,.paginacao{gap:8px;align-items:center}.linha-produto{display:grid;grid-template-columns:1fr 90px 100px;grid-gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9}.linha-produto-nome{display:flex;flex-direction:column;font-size:14px}.estoque{font-size:12px;color:#64748b}.estoque.baixo{color:#dc2626;font-weight:600}.preco-fixo{text-align:right;font-weight:600}.total-pedido{font-size:20px;margin-top:12px}.app-v{max-width:720px;margin:0 auto;padding:14px 14px 90px}.app-v-topo{display:flex;align-items:center;gap:10px;background:#009c3b;color:#fff;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.app-v-topo h1{font-size:16px;color:#fff}.nav-baixo{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;z-index:5}.nav-baixo a{flex:1 1;text-align:center;padding:12px 4px;text-decoration:none;color:#475569;font-size:13px;font-weight:600}.nav-baixo a:active{background:#f0fdf4;color:#009c3b}.lista-simples{list-style:none;padding:0;margin:0}.lista-simples li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:14px}.lista-simples .info{display:flex;flex-direction:column}.btn-zap{background:#25d366;color:#fff;padding:7px 12px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.aviso{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:14px}@media (max-width:640px){.content{padding:14px}.kpi-valor{font-size:20px}}.filtro-periodo{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:4px 0 14px}.filtro-periodo label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#64748b;font-weight:600}.filtro-periodo select{min-width:150px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:14px;color:#0f172a}.cmp-linha{padding:10px 0;border-bottom:1px solid #f1f5f9}.cmp-linha:last-child{border-bottom:0}.cmp-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}.cmp-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}.cmp-queda{background:#fee2e2;color:#b91c1c}.cmp-alta{background:#dcfce7;color:#166534}.cmp-barra-linha{display:flex;align-items:center;gap:8px;margin:3px 0;font-size:12px}.cmp-nome{width:92px;color:#64748b;flex-shrink:0}.cmp-trilho{flex:1 1;background:#f1f5f9;border-radius:6px;height:14px;overflow:hidden}.cmp-barra{height:100%;border-radius:6px;min-width:2px}.cmp-ant{background:#94a3b8}.cmp-atual{background:#009c3b}.cmp-valor{width:96px;text-align:right;font-weight:600;color:#0f172a;flex-shrink:0}.fab{position:fixed;right:16px;bottom:72px;z-index:6;background:#009c3b;color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:14px 20px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.25)}.fab:active{background:#007a2e}.aviso-cidade{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:10px 14px;border-radius:8px;font-size:14px;margin-top:10px}.nav-topo{position:-webkit-sticky;position:sticky;top:0;z-index:7;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-around}.nav-topo a{flex:1 1;text-align:center;padding:12px 4px;text-decoration:none;color:#475569;font-size:13px;font-weight:600}.nav-topo a:active{background:#f0fdf4;color:#009c3b}.fab{bottom:20px}.app-v-topo{position:static}.tag-aentregar{background:#fee2e2;color:#991b1b}.spinner{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:giro .7s linear infinite;vertical-align:-2px}.btn-pequeno .spinner,.btn-secondary .spinner{border-color:#334155 rgba(0,0,0,.2) rgba(0,0,0,.2)}@keyframes giro{to{transform:rotate(1turn)}}.btn-imprimir{background:none;border:1px solid #cbd5e1;border-radius:8px;padding:4px 8px;text-decoration:none;font-size:16px;line-height:1;display:inline-block}.btn-imprimir:hover{background:#f1f5f9}.cli-selecionado{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f0fdf4;border:2px solid #009c3b;border-radius:10px;padding:10px 12px;font-weight:600}.cli-lista{border:1px solid #cbd5e1;border-radius:10px;max-height:240px;overflow-y:auto;background:#fff;margin-top:4px}.cli-lista button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f1f5f9;padding:10px 12px;color:#0f172a;font-size:14px;border-radius:0;margin:0}.cli-lista button:hover{background:#f0fdf4}.print-only{display:none}.recibo{max-width:780px;margin:0 auto;background:#fff;padding:24px}.recibo-topo{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:3px solid #009c3b;padding-bottom:12px;margin-bottom:14px}.recibo-topo img{height:84px;object-fit:contain}.recibo h1{font-size:20px;margin:0}.recibo h3{margin:14px 0 6px;font-size:14px;text-transform:uppercase;color:#475569}.recibo table{width:100%;border-collapse:collapse}.recibo td,.recibo th{border-bottom:1px solid #e2e8f0;padding:6px 4px;text-align:left;font-size:14px}.recibo td.num,.recibo th.num,.recibo-total{text-align:right}.recibo-total{font-size:20px;margin-top:12px}.recibo-assinatura{margin-top:48px;display:flex;gap:40px}.recibo-assinatura div{flex:1 1;border-top:1px solid #000;text-align:center;padding-top:4px;font-size:12px}@media print{.app-v-topo,.fab,.nav-topo,.no-print,.tabs,.topbar{display:none!important}.print-only{display:block}body{background:#fff!important}.content{padding:0!important}.card{box-shadow:none!important;page-break-inside:avoid;break-inside:avoid}.recibo{padding:0;max-width:none}@page{margin:12mm}}.cabecalho-impressao{align-items:center;justify-content:space-between;gap:16px;border-bottom:3px solid #009c3b;padding-bottom:10px;margin-bottom:14px}.cabecalho-impressao img{height:72px;object-fit:contain}@media print{.cabecalho-impressao{display:flex!important}}.tag-rota{background:#fef08a;color:#854d0e}.chip{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;border:1px solid #009c3b;border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600;margin:0 6px 6px 0}.chip button{border:0;background:#009c3b;color:#fff;border-radius:50%;width:20px;height:20px;line-height:18px;padding:0;margin:0;cursor:pointer}.btn-icone{background:none;border:1px solid #cbd5e1;border-radius:8px;padding:5px 9px;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;color:#0f172a;display:inline-block;margin:0}.btn-icone.perigo{border-color:#fca5a5}.novo-cliente{border:1px dashed #94a3b8;border-radius:10px;padding:10px;margin:6px 0}.tabela-entrega td,.tabela-entrega th{font-size:12.5px;vertical-align:top}.caixa-ok{display:inline-block;width:16px;height:16px;border:1.5px solid #000;border-radius:3px}