:root{font-family:Arial,sans-serif;background:#f3f5f7;color:#0f172a}body{margin:0}.connection-banner{position:sticky;top:0;z-index:10;text-align:center;padding:8px;color:#fff;font-size:13px}.connection-banner.online{background:#15803d}.connection-banner.offline{background:#b91c1c}.screen-center{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-logo-pwa{width:56px;height:56px;object-fit:contain;display:block;margin:0 auto 6px}.page{max-width:760px;margin:0 auto;padding:16px}.card{background:#fff;border:1px solid #d9dde2;border-radius:10px;padding:14px;margin-bottom:12px}.queue-card h3{margin-top:0}.offline-hint{margin:6px 0 10px;font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:6px 8px}.slip-pos{max-width:320px;margin:0 auto;font-size:11px;line-height:1.32;font-family:Courier New,Courier,monospace}.slip-center{text-align:center}.slip-center h3{margin:0;font-size:17px;letter-spacing:.2px}.slip-center p{margin:2px 0}.slip-title{font-weight:700}.slip-logo{display:block;margin:0 auto 8px;max-width:110px;max-height:90px;object-fit:contain}.slip-line{border-top:1px dashed #111827;margin:8px 0}.slip-row{display:flex;justify-content:space-between;gap:8px;margin:2px 0}.slip-meta{margin:2px 0;font-size:11px}.slip-row.total{font-size:15px;font-weight:700}.slip-foot{margin-top:8px}.topbar h2{margin:0}label{display:block;font-size:13px;margin-bottom:5px;color:#475569}input{width:100%;box-sizing:border-box;padding:10px;margin-bottom:10px;border:1px solid #cbd5e1;border-radius:8px}select{width:100%;box-sizing:border-box;padding:10px;margin-bottom:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.row-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.posto-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.posto-btn{background:#e2e8f0;color:#0f172a}.posto-btn.active{background:#1d4ed8;color:#fff}.posto-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.posto-card{text-align:left;background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1}.posto-card.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.produto-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:10px}.produto-card{background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;text-align:left;display:flex;flex-direction:column;gap:3px}.produto-card span{font-size:12px;color:#475569}.produto-card.active{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.produto-card.active span{color:#dbeafe}.periodo-print{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:8px}button{border:none;border-radius:8px;background:#2563eb;color:#fff;padding:10px 12px;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.ghost-btn{background:#334155}.list{margin:0;padding-left:20px}.list-compact li{font-size:12px;line-height:1.25;margin-bottom:6px}.despesa-meta{display:flex;flex-direction:column;gap:2px;color:#475569;font-size:11px;margin-top:2px}.toast{position:sticky;bottom:10px;background:#0f172a;color:#fff;border-radius:8px;padding:10px}.error{margin:8px 0;padding:8px;border-radius:8px;background:#fee2e2;color:#b91c1c}.app-actions{max-width:760px;margin:0 auto;padding:8px 16px 0;display:flex;justify-content:flex-end}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:30}.modal-card{width:min(92vw,420px);background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:16px;box-shadow:0 20px 45px #0f172a40}.reprint-modal{width:min(95vw,620px)}.reprint-list{max-height:300px;overflow:auto;padding-right:4px}.reprint-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.reprint-list button{padding:6px 10px;font-size:12px}.caixa-print-area h3{font-size:16px;margin-bottom:8px}.caixa-print-area h4{font-size:14px;margin:10px 0 6px}.caixa-print-area p,.caixa-print-area li{font-size:12px;line-height:1.3}.modal-card h3{margin:0 0 8px}.modal-card p{margin:0 0 14px;color:#334155}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.cobrador-municipio .cobrador-header-card h2{margin-top:0}.cobrador-identidade p{margin:6px 0}.cobrador-identidade .muted{font-size:12px;color:#64748b}.cobrador-municipio .btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cobrador-municipio .primary-btn{padding:10px 16px;border-radius:8px;border:none;background:#15803d;color:#fff;font-weight:600;cursor:pointer}.cobrador-municipio .ghost-btn{padding:10px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;cursor:pointer}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.section-title-row h3{margin:0}.form-grid-pwa{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;align-items:center}.form-grid-pwa label{font-size:13px;font-weight:600;color:#334155}.form-grid-pwa input,.form-grid-pwa select{padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px}.error-banner{margin-top:10px;padding:8px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:13px}.modal-backdrop-pwa{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:16px}.modal-card-pwa{background:#fff;border-radius:12px 12px 0 0;max-width:520px;width:100%;max-height:85vh;overflow:auto;padding:16px;box-shadow:0 -4px 24px #0000001f}.extrato-lista{list-style:none;padding:0;margin:12px 0 0;font-size:13px}.extrato-lista li{padding:8px 0;border-bottom:1px solid #e2e8f0}.extrato-data{color:#64748b;font-size:12px}.cobrador-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:cobrador-backdrop-in .2s ease-out}@keyframes cobrador-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes cobrador-dialog-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cobrador-confirm-dialog{width:min(100%,400px);background:#fff;border-radius:16px;padding:22px 20px 18px;box-shadow:0 25px 50px -12px #0f172a59,0 0 0 1px #94a3b833;text-align:center;animation:cobrador-dialog-in .28s cubic-bezier(.22,1,.36,1)}.cobrador-confirm-icon{display:flex;justify-content:center;margin-bottom:12px}.cobrador-confirm-title{margin:0 0 8px;font-size:1.2rem;font-weight:700;color:#0f172a;letter-spacing:-.02em}.cobrador-confirm-lead{margin:0 0 16px;font-size:.95rem;line-height:1.45;color:#475569}.cobrador-confirm-resumo{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;padding:12px 14px;margin-bottom:18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.cobrador-confirm-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:4px}.cobrador-confirm-value{font-size:.95rem;font-weight:600;color:#0f172a;word-break:break-all}.cobrador-confirm-total{color:#15803d;font-size:1.05rem}.cobrador-confirm-actions{display:flex;flex-direction:column-reverse;gap:10px}@media (min-width: 400px){.cobrador-confirm-actions{flex-direction:row;justify-content:stretch}.cobrador-confirm-btn{flex:1}}.cobrador-confirm-btn{padding:12px 16px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;min-height:48px}.cobrador-confirm-btn--secondary{background:#fff;color:#334155;border:1px solid #cbd5e1}.cobrador-confirm-btn--primary{background:linear-gradient(180deg,#16a34a,#15803d);color:#fff;box-shadow:0 2px 8px #15803d59}.cobrador-confirm-btn--primary:active,.cobrador-confirm-btn--secondary:active{transform:scale(.98)}@media (max-width: 520px){.form-grid-pwa{grid-template-columns:1fr}}@media print{.no-print,.app-actions{display:none!important}body{background:#fff}.page{padding:0;max-width:100%}.card{border:none;box-shadow:none;margin:0;padding:0}.print-area{border:none;margin:0;padding:0}.slip-pos{width:80mm;max-width:80mm;margin:0 auto}}
