: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}html,body{overflow-x:hidden;max-width:100vw}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:1200px;margin:0 auto;overflow:hidden}.clientes-header{display:flex;gap:.6rem;margin-bottom:.8rem;align-items:center;flex-wrap:wrap}.busca-form{display:flex;gap:.4rem;flex:1;min-width:200px}.busca-form input{max-width:320px}.total-info{color:var(--muted);font-size:13px;margin-bottom:.6rem}.tabela-container{overflow:auto;max-height:60vh;border:1px solid #e0e0e0;border-radius:8px;margin-top:.5rem;width:100%;max-width:100%;-webkit-overflow-scrolling:touch}.tabela-clientes{border-collapse:collapse;font-size:14px;background:var(--card)}.tabela-clientes th{background:#f5f5f5;color:var(--text);padding:8px 10px;text-align:center;font-weight:600;white-space:nowrap;position:relative;border-right:1px solid #e8e8e8}.tabela-clientes th:last-child{border-right:none}.tabela-clientes th.col-nome{text-align:left;border-right:2px solid #ccc}.tabela-clientes thead th{position:sticky;top:0;z-index:3;background:#f5f5f5}.tabela-clientes th.col-nome,.tabela-clientes td.col-nome{position:sticky;left:0;z-index:2;background:#fff;overflow:visible}.tabela-clientes thead th.col-nome{z-index:4;background:#f5f5f5;overflow:visible}.tabela-clientes td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;text-align:center;border-right:1px solid #e8e8e8;overflow:hidden;text-overflow:ellipsis}.tabela-clientes td:last-child{border-right:none}.tabela-clientes td.col-nome{text-align:left;border-right:2px solid #ccc}.tabela-clientes tr:last-child td{border-bottom:none}.tabela-clientes tr:hover td{background:#f0f6ff}.tabela-clientes tr.row-selecionavel{cursor:pointer}.tabela-clientes tr.row-selecionavel:hover td{background:#e8f0fe}.col-check{width:40px;min-width:40px;text-align:center}.tabela-clientes thead th.col-check{position:sticky;left:0;z-index:4;background:#f5f5f5}.tabela-clientes td.col-check{position:sticky;left:0;z-index:2;background:#fff}.col-nome-shifted{left:40px!important}.sort-indicator{font-size:11px;color:var(--primary)}.filter-bar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem;padding:.5rem 0}.filter-bar label{display:flex;align-items:center;gap:.3rem;font-size:13px;color:var(--muted);font-weight:500}.filter-bar select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--card);outline:none}.filter-bar select:focus{border-color:var(--primary)}.btn-selecionar{background:transparent;border:1px solid var(--primary);color:var(--primary);border-radius:6px;padding:.4rem .8rem;font-size:13px;font-weight:500;transition:all .15s}.btn-selecionar.ativo{background:var(--primary);color:#fff}.selecao-info{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:.4rem}.export-wrapper{position:relative;display:inline-block}.export-dropdown{position:absolute;top:100%;right:0;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:20;min-width:100px;margin-top:4px}.export-dropdown button{display:block;width:100%;text-align:left;padding:.5rem .8rem;border:none;background:transparent;font-size:13px;cursor:pointer}.export-dropdown button:hover{background:#f0f6ff}.export-dropdown button:first-child{border-radius:6px 6px 0 0}.export-dropdown button:last-child{border-radius:0 0 6px 6px}.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;border:none;border-radius:6px;padding:.4rem .8rem}.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}.resize-handle{width:16px;height:16px;border-radius:50%;background:#bbb;border:2px solid #999;position:absolute;right:-8px;top:50%;transform:translateY(-50%);cursor:col-resize;z-index:5;touch-action:none}.resize-handle:hover,.resize-handle:active{background:var(--primary);border-color:var(--primary-dark)}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid #ccc;border-top-color:#333;border-radius:50%;animation:spin .8s linear infinite;margin-right:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.btn-mini:disabled{background:#bbb;cursor:not-allowed;opacity:.7}.col-nome{max-width:200px;white-space:nowrap}.col-nome .nome-text{display:block;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.clientes-page{padding:.5rem}.clientes-header{flex-direction:column;align-items:stretch}.busca-form{min-width:unset}.busca-form input{max-width:100%}.clientes-acoes{flex-wrap:wrap;justify-content:flex-start}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar label{width:100%}.filter-bar select{flex:1}.tabela-container{max-height:70vh;overflow:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:calc(100vw - 1rem)}.col-nome{max-width:40vw;white-space:nowrap}.paginacao{flex-wrap:wrap}}
