:root{--bg: #f4f4f4;--card: #fff;--primary: #1a56a4;--primary-dark: #134090;--danger: #c0392b;--ok: #27ae60;--text: #222;--muted: #666;--border: #ddd;--radius: 8px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,sans-serif;font-size:15px}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--primary);color:#fff;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:48px}.tabs{display:flex;gap:4px}.tab{background:transparent;border:none;color:#ffffffbf;padding:8px 16px;cursor:pointer;border-bottom:3px solid transparent;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.tab.ativo{color:#fff;border-bottom-color:#fff}.tab:hover{color:#fff}.sair-btn{background:none;border:none;color:#ffffffd9;cursor:pointer;font-size:13px}.card{background:var(--card);border-radius:var(--radius);padding:1.2rem;box-shadow:0 1px 4px #00000014}.login{max-width:340px;margin:6rem auto;display:flex;flex-direction:column;gap:.8rem}.login h1{font-size:1.2rem;text-align:center;color:var(--primary)}input,textarea{width:100%;padding:.55rem .8rem;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none}input:focus,textarea:focus{border-color:var(--primary)}textarea{resize:vertical}button{cursor:pointer;font-size:14px}button[type=submit],button.op{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:500;transition:background .15s}button[type=submit]:hover,button.op:hover{background:var(--primary-dark)}button.link{background:none;border:none;color:var(--primary);padding:0}button.link:hover{text-decoration:underline}.painel{max-width:600px;margin:1.5rem auto;padding:0 1rem}.botoes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.op{display:flex;align-items:center;justify-content:space-between}.op.bloqueado{background:#aaa;cursor:not-allowed}.badge{font-size:11px;background:#00000040;border-radius:4px;padding:2px 6px}.fila{list-style:none;display:flex;flex-direction:column;gap:4px}.fila li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border)}.msg{margin-top:.8rem;color:var(--muted);font-size:13px}.erro{color:var(--danger);font-size:13px}.clientes-page{padding:1rem;max-width:1000px;margin:0 auto}.clientes-header{display:flex;gap:.6rem;margin-bottom:.8rem;align-items:center}.busca-form{display:flex;gap:.4rem;flex:1}.busca-form input{max-width:320px}.total-info{color:var(--muted);font-size:13px;margin-bottom:.6rem}.tabela-clientes{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 4px #00000014}.tabela-clientes th{background:var(--primary);color:#fff;padding:8px 10px;text-align:left}.tabela-clientes td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.tabela-clientes tr:last-child td{border-bottom:none}.tabela-clientes tr:hover td{background:#f0f6ff}.acoes-row{display:flex;gap:.3rem}.btn-mini{background:var(--primary);color:#fff;border:none;border-radius:4px;padding:3px 8px;font-size:12px;cursor:pointer;transition:background .15s;text-decoration:none;display:inline-block}.btn-mini:hover{background:var(--primary-dark)}.aguardando{color:var(--muted);font-size:13px}.erro-inline{color:var(--danger);font-size:12px}.ok{color:var(--ok);font-size:13px}.resultado-inline{font-size:13px}.hint{font-size:13px;color:var(--muted);margin-bottom:.4rem}.paginacao{display:flex;gap:.6rem;align-items:center;margin-top:1rem;justify-content:center}.paginacao button{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:13px}.paginacao button:disabled{background:var(--border);color:var(--muted);cursor:default}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center}.modal-card{background:var(--card);border-radius:var(--radius);padding:1.4rem;width:min(90vw,480px);display:flex;flex-direction:column;gap:.8rem}.modal-card h2{font-size:1.1rem}.modal-actions{display:flex;gap:.6rem}.clientes-acoes{display:flex;gap:8px}.btn-secundario{background:#2e7d32;color:#fff}.btn-secundario:disabled{opacity:.6;cursor:default}.lote-msg{color:#2e7d32;font-weight:600}.aviso-travado{color:#b26a00;font-size:.82rem;font-weight:600}.aguardando{color:#555;font-size:.82rem;font-style:italic}
