*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{margin:0 auto;max-width:1400px;padding:15px}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;margin-bottom:15px;padding:15px 20px}.app-header h1{font-size:1.5rem;margin-bottom:10px}.admin-nav,.main-nav{display:flex;gap:8px;margin-bottom:12px}.nav-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s}.nav-btn:hover{background:#ffffff4d}.nav-btn.active{background:#fff;border-color:#fff;color:#667eea}.header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.header-controls label{align-items:center;display:flex;gap:8px}.header-controls select{border:none;border-radius:5px;font-size:14px;padding:8px 12px}.header-controls button{background:#fff;border:none;border-radius:5px;color:#667eea;cursor:pointer;font-weight:700;padding:8px 16px;transition:transform .2s}.header-controls button:hover{transform:scale(1.05)}.header-controls button.clear-history-btn{background:#0000;border:1px solid #ffffffb3;color:#fffffff2}.header-controls button.clear-history-btn:hover:not(:disabled){background:#ffffff26}.header-controls button.clear-history-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.user-info{background:#ffffff1a;border-radius:4px;color:#ffffffe6;font-size:.85rem;padding:4px 8px}.logout-btn{background:#ef444433;border:1px solid #ef444480;border-radius:5px;color:#fffffff2;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .2s}.logout-btn:hover{background:#ef44444d;transform:scale(1.05)}.app-main{display:flex;flex-direction:column;gap:12px}@media (max-width:1200px){.app-main{grid-template-columns:1fr}}.section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:12px}.section h2{color:#333;font-size:1rem;margin-bottom:10px}.section.full-width{grid-column:1/-1}.comparison-layout{grid-gap:15px;align-items:start;display:grid;gap:15px;grid-template-columns:1fr 320px}.comparison-left{min-width:0}.opportunities-sidebar{display:flex;flex-direction:column;gap:10px}@media (max-width:1200px){.comparison-layout{grid-template-columns:1fr}}.opportunity-panel{display:flex;flex-direction:column}.error,.loading{font-size:1.2rem;padding:40px;text-align:center}.error{color:#e74c3c}.error button{background:#667eea;border:none;border-radius:5px;color:#fff;cursor:pointer;margin-top:15px;padding:10px 20px}.quote-comparison{display:flex;flex-direction:column;gap:12px}.comparison-table-container{overflow-x:auto}.comparison-table{width:100%}.comparison-table table{border-collapse:collapse;width:100%}.comparison-table td,.comparison-table th{border-bottom:1px solid #e0e0e0;font-size:.8rem;padding:6px 8px;text-align:left;vertical-align:middle}.comparison-table td:not(:last-child),.comparison-table th:not(:last-child){white-space:nowrap}.comparison-table td.spread-vs-usd{min-width:120px;white-space:nowrap}.comparison-table th{color:#333;font-weight:700}.comparison-table th,.comparison-table tr:hover{background-color:#f8f9fa}.comparison-table td:first-child{align-items:center;display:flex;gap:6px;vertical-align:middle}.book-detail-lupa{background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1.2;padding:2px 6px;transition:background .2s,border-color .2s}.book-detail-lupa:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.book-detail-lupa:disabled{cursor:wait;opacity:.6}.book-orderbook-btn{background:#eff6ff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;font-size:.85rem;line-height:1.2;padding:2px 6px;transition:background .2s,border-color .2s}.book-orderbook-btn:hover{background:#dbeafe;border-color:#93c5fd}.buy-price{color:#22c55e;font-weight:500}.sell-price{color:#ef4444;font-weight:500}.spread{color:#6366f1;font-weight:500}.spread-percent{color:#8b5cf6;font-weight:500}.spread-vs-usd{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;font-size:.75rem;gap:4px}.spread-vs-usd .positive{color:#22c55e;font-weight:600}.spread-vs-usd .negative{color:#ef4444;font-weight:600}.spread-vs-usd-percent{font-size:.7rem;opacity:.8}.spread-vs-usd .no-reference{color:#94a3b8;font-style:italic}.comparison-chart{margin-top:8px}.chart-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}.comparison-chart h3{color:#333;font-size:.9rem;margin:0}.chart-time-filter{align-items:center;display:flex;gap:8px}.chart-time-filter label{color:#666;font-size:.85rem;font-weight:500}.time-range-select{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:border-color .2s}.time-range-select:hover{border-color:#667eea}.time-range-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.chart-loading,.chart-no-data{color:#666;font-size:.85rem;font-style:italic;padding:20px;text-align:center}.no-data{color:#666;padding:40px}.book-detail-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.book-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.book-detail-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.book-detail-header h3{color:#1e293b;font-size:1.1rem;margin:0}.book-detail-close{background:#e2e8f0;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:1.5rem;height:36px;line-height:1;width:36px}.book-detail-close:hover{background:#cbd5e1;color:#334155}.book-detail-body{overflow-y:auto;padding:20px}.book-detail-quote-amount{color:#475569;font-size:.95rem;margin:0 0 20px}.book-detail-table-value{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:12px}.book-detail-table-value strong{color:#0369a1}.book-detail-table-hint{color:#64748b;font-size:.8rem;margin:8px 0 0}.book-detail-section{margin-bottom:24px}.book-detail-section:last-child{margin-bottom:0}.book-detail-section h4{color:#334155;font-size:1rem;margin:0 0 8px}.book-detail-rationale{color:#64748b;font-size:.85rem;font-style:italic;margin:0 0 8px}.book-detail-result{color:#16a34a;font-size:.9rem;margin:0 0 12px}.book-detail-source{color:#64748b;font-size:.8rem;font-weight:400}.book-detail-ws-price{color:#2563eb;margin-top:4px}.book-detail-diff{color:#6366f1;font-size:.85rem;font-weight:500}.book-detail-ws-error{color:#dc2626;font-size:.8rem;margin:4px 0 0}.book-detail-last-level{color:#2563eb}.book-detail-for-order{color:#059669;font-weight:600}.book-detail-final{color:#0d9488;font-weight:600}.book-detail-symbol-rules{color:#64748b;font-size:.75rem;margin:4px 0 0}.book-detail-levels{border-collapse:collapse;font-size:.85rem;width:100%}.book-detail-levels td,.book-detail-levels th{border-bottom:1px solid #f1f5f9;padding:8px 12px;text-align:right}.book-detail-levels th{background:#f8fafc;color:#475569;font-weight:600;text-align:right}.book-detail-levels td:first-child,.book-detail-levels th:first-child{text-align:center;width:40px}.book-detail-levels tbody tr:hover{background:#f8fafc}.book-detail-empty{color:#94a3b8;font-size:.9rem;margin:0}.arbitrage-opportunities{display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.opportunities-grid{display:flex;flex-direction:column;gap:0}.opportunity-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;overflow:visible;padding:10px;position:relative;transition:transform .2s;z-index:1}.opportunity-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-2px)}.opportunity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.opportunity-badge{background:#fff3}.opportunity-badge,.profit-badge{border-radius:15px;font-size:.75rem;font-weight:700;padding:3px 8px}.profit-badge{color:#fff}.opportunity-body{display:flex;flex-direction:column;gap:8px}.trade-flow{align-items:center;display:flex;gap:15px;justify-content:space-between}.trade-step{background:#ffffff1a;border-radius:4px;flex:1 1;padding:6px;text-align:center}.buy-step{border-left:3px solid #22c55e}.sell-step{border-left:3px solid #ef4444}.step-label{font-size:.7rem;opacity:.9}.step-exchange,.step-label{font-weight:700;margin-bottom:4px}.step-exchange,.step-price{font-size:.85rem}.arrow,.step-price{font-weight:700}.arrow{font-size:1.5rem}.profit-info{border-top:1px solid #fff3;display:flex;justify-content:center;padding-top:6px}.profit-item{align-items:center;display:flex;flex-direction:column;gap:3px}.profit-item span{font-size:.75rem;opacity:.9}.profit-item strong{font-size:.95rem}.opportunity-timestamp{align-items:center;border-top:1px solid #fff3;display:flex;flex-direction:column;gap:2px;margin-top:6px;padding-top:6px}.timestamp-label{font-size:.7rem;opacity:.9}.timestamp-value{font-size:.75rem;font-weight:600}.no-opportunities{color:#666;padding:40px;text-align:center}.no-opportunities .hint{font-size:.9rem;font-style:italic;margin-top:10px}@media (max-width:768px){.opportunities-grid{grid-template-columns:1fr}.trade-flow{flex-direction:column}.arrow{transform:rotate(90deg)}}.opportunities-tabs{display:flex;flex-direction:column}.opportunities-daily-cards{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.opportunities-daily-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:120px;padding:10px 14px}.opportunities-daily-card-profit{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.opportunities-daily-label{color:#64748b;font-size:.75rem;font-weight:500}.opportunities-daily-value{color:#1e293b;font-size:1.1rem;font-weight:700}.opportunities-daily-card-profit .opportunities-daily-value{color:#047857}.tabs-header{border-bottom:2px solid #e0e0e0;display:flex;gap:4px;margin-bottom:10px}.tab-button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:500;gap:6px;justify-content:center;margin-bottom:-2px;padding:8px 12px;position:relative;transition:all .2s}.tab-button:hover{background:#00000005;color:#333}.tab-button.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.tab-badge{border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;min-width:18px;padding:2px 6px;text-align:center}.tab-badge,.tab-button.active .tab-badge{background:#667eea}.tabs-content{display:flex;flex-direction:column;overflow-x:hidden}.exchange-list{width:100%}.exchanges-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.exchange-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:8px;transition:all .2s}.exchange-card.active{border-color:#22c55e;box-shadow:0 2px 8px #22c55e33}.exchange-card.inactive{border-color:#e0e0e0;opacity:.7}.exchange-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.exchange-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:6px;padding-bottom:6px}.exchange-header h3{color:#333;font-size:.85rem;margin:0}.status-badge{border-radius:12px;font-size:.7rem;font-weight:700;padding:2px 6px}.status-badge.online{background-color:#22c55e1a;color:#22c55e}.status-badge.offline{background-color:#0000000d;color:#999}.schedule-info{align-items:center;border-bottom:1px solid #f0f0f0;color:#666;display:flex;font-size:.7rem;justify-content:space-between;margin-bottom:6px;padding:4px 0}.schedule-label{color:#555;font-weight:500}.schedule-value{color:#1976d2;font-weight:500}.schedule-value.schedule-out-of-hours{color:#ef4444}.schedule-warning{background-color:#ef44441a;border-left:3px solid #ef4444;border-radius:4px;font-size:.7rem;margin-bottom:6px;padding:4px 6px}.schedule-warning .warning-text{color:#dc2626;font-weight:500}.exchange-details{display:flex;flex-direction:column;gap:4px}.detail-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;padding:2px 0}.detail-row span:first-child{color:#666;font-size:.75rem}.detail-row strong{font-size:.85rem}.detail-row .buy{color:#22c55e}.detail-row .sell{color:#ef4444}.detail-row .spread{color:#6366f1}.detail-row .spread-vs-usd{align-items:flex-end;display:flex;flex-direction:column;gap:1px;text-align:right}.detail-row .spread-vs-usd strong{font-size:.8rem;font-weight:600}.detail-row .spread-vs-usd.positive strong{color:#22c55e}.detail-row .spread-vs-usd.negative strong{color:#ef4444}.detail-row .spread-vs-usd .spread-vs-usd-percent{color:inherit;font-size:.65rem;font-weight:400;opacity:.8}.timestamp{color:#999;font-size:.7rem}.no-data{color:#999;font-size:.75rem;font-style:italic;padding:10px 0;text-align:center}.usd-reference-compact{align-items:center;background:#ffffff26;border-left:2px solid #ffffff4d;border-radius:4px;display:flex;font-size:.7rem;gap:8px;padding:4px 10px 4px 12px;white-space:nowrap}.usd-label-compact{color:#fffffff2;font-size:.7rem;font-weight:600}.usd-price-compact{background:#ffffff1a;border-radius:3px;font-size:.7rem;padding:2px 6px}.usd-price-compact.buy{color:#a7f3d0}.usd-price-compact.sell{color:#fecaca}.usd-price-compact.spread{color:#bfdbfe}.usd-timestamp-compact{color:#ffffffb3;font-size:.65rem;margin-left:4px}.usd-no-data{color:#ffffffb3;font-size:.7rem;font-style:italic}@media (max-width:1200px){.usd-reference-compact{font-size:.65rem;gap:6px;padding:3px 8px}.usd-price-compact{font-size:.65rem;padding:2px 4px}.usd-timestamp-compact{display:none}}@media (max-width:768px){.usd-reference-compact{flex-wrap:wrap;font-size:.6rem}.usd-price-compact{font-size:.6rem}}.spread-matrix{overflow-x:auto;width:100%}.spread-matrix-header{margin-bottom:10px}.spread-matrix-legend{align-items:center;color:#666;display:flex;flex-wrap:wrap;font-size:.8rem;gap:12px;margin:0}.legend-item{display:inline-flex}.legend-item:before{border-radius:3px;content:"";height:14px;width:14px}.legend-item.green:before{background:#22c55e}.legend-item.yellow:before{background:#eab308}.legend-item.red:before{background:#ef4444}.legend-hint{color:#94a3b8;font-style:italic;margin-left:auto}.legend-format{margin-left:0;margin-right:auto}.spread-matrix-empty{color:#64748b;font-style:italic;margin:0;padding:24px;text-align:center}.spread-matrix-table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.spread-matrix-table{border-collapse:collapse;font-size:.8rem;min-width:280px;width:100%}.spread-matrix-table td,.spread-matrix-table th{border:1px solid #e2e8f0;padding:8px 10px;text-align:center}.spread-matrix-table .corner{background:#f8fafc;min-width:70px}.spread-matrix-table .col-header,.spread-matrix-table .row-header{background:#f1f5f9;color:#334155;font-weight:600;white-space:nowrap}.spread-matrix-table .row-header{padding-left:12px;text-align:left}.spread-matrix-table .cell{font-size:.75rem;font-weight:600;min-width:100px}.cell-content{align-items:center;display:inline-flex;gap:4px;justify-content:center}.cell-lupa{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:.85em;line-height:1;opacity:.7;padding:2px 4px}.cell-lupa:hover{background:#0000000f;opacity:1}.spread-matrix-table .cell-green{background:#22c55e26;color:#15803d}.spread-matrix-table .cell-yellow{background:#eab30833;color:#a16207}.spread-matrix-table .cell-red{background:#ef44441f;color:#b91c1c}.spread-matrix-table .cell-nodata{background:#f8fafc;color:#94a3b8}.spread-matrix-table tbody tr:hover .cell:not(.cell-nodata){filter:brightness(.97)}.spread-detail-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.spread-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.spread-detail-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.spread-detail-header h3{color:#1e293b;font-size:1rem;margin:0}.spread-detail-close{background:#e2e8f0;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:1.5rem;height:36px;line-height:1;width:36px}.spread-detail-close:hover{background:#cbd5e1;color:#334155}.spread-detail-body{overflow-y:auto;padding:20px}.spread-detail-section{margin-bottom:20px}.spread-detail-section:last-child{margin-bottom:0}.spread-detail-note{color:#666;font-size:.85rem;line-height:1.4;margin:0 0 .75rem}.spread-detail-section h4{color:#475569;font-size:.9rem;margin:0 0 10px}.spread-detail-table{border-collapse:collapse;font-size:.9rem;width:100%}.spread-detail-table td{border-bottom:1px solid #f1f5f9;padding:6px 0}.spread-detail-table td:first-child{color:#64748b}.spread-detail-table td:last-child{font-weight:500;text-align:right}.spread-detail-total td{border-bottom:none;color:#334155;font-weight:600;padding-top:10px}.spread-detail-result{color:#1e293b;font-size:1rem;font-weight:600;margin:0}.spread-detail-final .spread-detail-result{font-size:1.1rem}.spread-detail-net{color:#059669}.spread-detail-net.negative{color:#dc2626}.spread-history-chart{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:12px;width:100%}.spread-history-header{margin-bottom:15px}.spread-history-title-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.spread-history-toggle-filters{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;font-size:.8rem;padding:6px 12px;white-space:nowrap}.spread-history-toggle-filters:hover{background:#e9ecef;border-color:#ced4da}.spread-history-header h3{color:#333;font-size:.95rem;margin:0 0 8px}.spread-history-subtitle{color:#666;font-size:.8rem;font-style:italic;margin:0 0 12px}.spread-history-legend{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:12px;padding:10px}.legend-label{color:#495057;display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:4px 8px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.legend-item:hover{background-color:#0000000d}.legend-item input[type=checkbox]{cursor:pointer;margin:0}.legend-color{border-radius:2px;display:inline-block;flex-shrink:0;height:3px;width:16px}.legend-text{color:#495057;white-space:nowrap}.spread-history-empty,.spread-history-loading,.spread-history-no-data{color:#666;font-size:.85rem;font-style:italic;padding:40px;text-align:center}@media (max-width:768px){.exchange-select-group,.spread-history-controls{align-items:stretch;flex-direction:column}.exchange-select{width:100%}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-box h1{color:#667eea;font-size:1.8rem;margin:0 0 10px;text-align:center}.login-box h2{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-size:.9rem;margin-bottom:8px}.form-group input{border:2px solid #e0e0e0;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.login-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.9rem;margin-bottom:20px;padding:12px}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:transform .2s,opacity .2s;width:100%}.login-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.exchange-schedule-manager{margin:0 auto;max-width:1200px;padding:20px}.exchange-schedule-manager h2{color:#333;margin-bottom:10px}.schedule-description{color:#666;font-size:.95em;margin-bottom:20px}.schedule-error,.schedule-loading,.schedule-success{border-radius:4px;margin-bottom:20px;padding:12px}.schedule-loading{background-color:#e3f2fd;color:#1976d2;text-align:center}.schedule-error{background-color:#ffebee;color:#c62828}.schedule-success{background-color:#e8f5e9;color:#2e7d32}.schedule-form-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:24px}.schedule-form{gap:20px}.form-group,.schedule-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#333;font-weight:500}.form-group input[type=number],.form-group input[type=time],.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.fees-group label:first-child{margin-bottom:8px}.fees-row{display:flex;flex-wrap:wrap;gap:24px}.fees-row>div{display:flex;flex-direction:column;gap:4px}.fees-row input{max-width:120px}.fees-hint{color:#64748b;font-size:.8rem;margin-top:6px}.schedule-fees{color:#666;font-size:.85em;margin-top:4px}.buy-sell-group label:first-child{margin-bottom:8px}.buy-sell-checkboxes{display:flex;flex-direction:column;gap:8px}.buy-sell-checkbox{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.buy-sell-hint{color:#666;font-size:.85em;margin-top:8px}.validate-balance-group{margin-top:16px}.validate-balance-checkboxes{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.validate-balance-checkbox{align-items:center;cursor:pointer;display:flex;gap:8px}.validate-balance-checkbox input[type=checkbox]{cursor:pointer;margin:0}.validate-balance-hint{color:#666;font-size:.85em;margin-top:8px}.schedule-validate-balance{color:#555;font-size:.8em;margin-top:2px}.schedule-buy-sell{color:#333;font-size:.85em;margin-top:2px}.days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.day-checkbox{align-items:center;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:8px;transition:background-color .2s}.day-checkbox:hover{background-color:#f5f5f5}.day-checkbox input[type=checkbox]{cursor:pointer;margin:0}.day-checkbox input[type=checkbox]:checked+span{color:#1976d2;font-weight:700}.time-group{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.enabled-checkbox{align-items:center;cursor:pointer;display:flex;gap:8px}.enabled-checkbox input[type=checkbox]{cursor:pointer;margin:0}.form-actions{display:flex;gap:12px;margin-top:10px}.btn-cancel,.btn-delete-small,.btn-edit,.btn-save{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.btn-save{background-color:#1976d2;color:#fff}.btn-save:hover{background-color:#1565c0}.btn-cancel{background-color:#757575;color:#fff}.btn-cancel:hover{background-color:#616161}.btn-edit{background-color:#ff9800;color:#fff;margin-top:8px;width:100%}.btn-edit:hover{background-color:#f57c00}.btn-delete-small{background-color:#d32f2f;color:#fff;font-size:18px;line-height:1;margin:0;padding:4px 10px;width:auto}.btn-delete-small:hover{background-color:#c62828}.schedules-list{margin-top:30px}.schedules-list h3{color:#333;margin-bottom:16px}.no-schedules{background:#fff;border-radius:8px;color:#666;padding:40px;text-align:center}.schedules-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.schedule-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:12px;padding:16px}.schedule-header{align-items:center;display:flex;justify-content:space-between}.schedule-header h4{color:#333;margin:0}.schedule-days{display:flex;flex-wrap:wrap;gap:6px}.day-badge{background-color:#e3f2fd;border-radius:4px;color:#1976d2;font-size:.85em;font-weight:500;padding:4px 8px}.no-days{color:#999;font-style:italic}.schedule-time{color:#333;font-size:1.1em;font-weight:500}.schedule-status{font-size:.9em}.status-enabled{color:#2e7d32;font-weight:500}.status-disabled{color:#c62828;font-weight:500}@media (max-width:768px){.days-grid{grid-template-columns:repeat(4,1fr)}.schedules-grid,.time-group{grid-template-columns:1fr}}.global-fees-manager{margin:0 auto;max-width:600px;padding:20px}.global-fees-manager h2{color:#333;margin-bottom:10px}.global-fees-description{color:#666;font-size:.95em;margin-bottom:24px}.global-fees-loading{color:#666;padding:40px;text-align:center}.global-fees-error{background-color:#ffebee;color:#c62828}.global-fees-error,.global-fees-success{border-radius:4px;margin-bottom:20px;padding:12px}.global-fees-success{background-color:#e8f5e9;color:#2e7d32}.global-fees-form{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.global-fees-form .form-group{margin-bottom:20px}.global-fees-form label{color:#333;display:block;font-weight:500;margin-bottom:8px}.global-fees-form input{border:1px solid #ddd;border-radius:4px;font-size:14px;max-width:150px;padding:8px 12px}.global-fees-form .btn-save{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.global-fees-form .btn-save:hover:not(:disabled){background:#1565c0}.global-fees-form .btn-save:disabled{cursor:not-allowed;opacity:.6}.admin-section{width:100%}.admin-sub-nav{display:flex;gap:8px;margin-bottom:20px;padding:0 20px}.admin-sub-btn{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:.95rem;padding:10px 20px}.admin-sub-btn:hover{background:#eee}.admin-sub-btn.active{background:#1976d2;border-color:#1976d2;color:#fff}.admin-config-arb{padding:20px}.admin-config-arb h3{font-size:1.1rem;margin:0 0 8px}.admin-config-hint{color:#666;font-size:.9rem;margin-bottom:16px}.admin-config-dl{grid-gap:8px 24px;display:grid;gap:8px 24px;grid-template-columns:auto 1fr;max-width:400px}.admin-config-dl dt{color:#555;font-weight:600}.admin-config-dl dd{margin:0}.admin-env-prod-wrap{max-width:920px}.admin-env-prod-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 1px 3px #0000000f;padding:20px}.admin-env-prod-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:8px}.admin-env-prod-card-header h3{font-size:1.1rem;margin:0}.admin-env-copy-btn{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px}.admin-env-copy-btn:hover{background:#1565c0}.admin-env-prod-pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#212529;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem;line-height:1.45;margin:12px 0 0;overflow-x:auto;padding:16px;white-space:pre-wrap;word-break:break-word}.history-full-section{margin:0 auto;max-width:1400px;padding:20px;width:100%}.history-full-finance-status{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;display:flex;font-size:.88rem;gap:10px;line-height:1.45;margin-bottom:14px;padding:12px 14px}.history-full-finance-status.is-pending{background:#fffbeb;border-color:#fde68a;color:#92400e}.history-full-finance-status.is-ok{background:#f0fdf4;border-color:#86efac;color:#166534}.history-full-finance-status-dot{animation:history-finance-pulse 1.2s ease-in-out infinite;background:#f59e0b;border-radius:50%;flex-shrink:0;height:10px;margin-top:4px;width:10px}.history-full-finance-status-dot.ok{animation:none;background:#22c55e}@keyframes history-finance-pulse{0%,to{opacity:1}50%{opacity:.45}}.history-full-recompute-done{background:#ecfdf5;border:1px solid #86efac;border-radius:8px;color:#14532d;font-size:.88rem;margin-bottom:12px;padding:10px 14px}.history-full-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.history-full-header h2{color:#1f2937;font-size:1.25rem;margin:0}.history-full-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.toggle-auto-refresh{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.toggle-label{color:#4b5563;font-size:.9rem}.toggle-auto-refresh input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#d1d5db;border-radius:24px;display:inline-block;height:24px;position:relative;transition:background .2s;width:44px}.toggle-slider:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.toggle-auto-refresh input:checked+.toggle-slider{background:#059669}.toggle-auto-refresh input:checked+.toggle-slider:after{transform:translateX(20px)}.btn-export-excel{background:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.btn-export-excel:hover:not(:disabled){background:#047857}.btn-export-excel:disabled{cursor:not-allowed;opacity:.6}.btn-unlock{background:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.btn-unlock:hover:not(:disabled){background:#6d28d9}.btn-unlock:disabled{cursor:not-allowed;opacity:.6}.btn-unlock.btn-end-batch{background:#dc2626}.btn-unlock.btn-end-batch:hover:not(:disabled){background:#b91c1c}.unlock-batch-group{align-items:center;display:flex;gap:8px}.batch-counter{background:#d1fae5;border-radius:6px;color:#059669;font-size:.9rem;font-weight:500;padding:4px 8px}.batch-counter .batch-sells{color:#0369a1;font-weight:500}.batch-counter .batch-failed{color:#b45309;font-weight:500}.batch-count-input{border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;padding:6px 10px;width:60px}.btn-clear-history{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px}.btn-clear-history:hover:not(:disabled){background:#b91c1c}.btn-clear-history:disabled{cursor:not-allowed;opacity:.6}.history-full-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:16px}.history-full-load-error{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;font-size:.88rem;line-height:1.45;margin-top:12px;padding:10px 12px}.filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.filter-row label{color:#64748b;display:flex;flex-direction:column;font-size:.8rem;gap:4px}.filter-row input,.filter-row select{border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;min-width:120px;padding:8px 12px}.filter-row input[type=number]{min-width:80px}.filter-row label.history-filter-datetime input[type=datetime-local]{min-width:200px}.filter-row label.filter-only-batch{align-items:center;flex-direction:row;white-space:nowrap}.filter-row label.filter-only-batch input[type=checkbox]{margin-right:6px}.btn-apply{align-self:flex-end;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 20px}.btn-apply:hover{background:#2563eb}.history-full-batch-filter{flex:1 1 280px;min-width:260px}.history-full-batch-select{font-size:.82rem;max-width:min(100%,560px)}.history-full-batch-hint{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;color:#78350f;font-size:.78rem;line-height:1.4;margin:12px 0 0;padding:8px 12px}.history-full-cards{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.history-full-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:180px;padding:16px 20px}.history-full-card-profit{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.history-full-card-label{color:#64748b;font-size:.85rem;font-weight:500}.history-full-card-value{color:#1e293b;font-size:1.5rem;font-weight:700}.history-full-card-profit .history-full-card-value{color:#047857}.history-full-summary-loading{color:#64748b;font-size:.9em;font-weight:400}.history-full-summary{color:#64748b;font-size:.9rem;margin-bottom:12px}.history-full-exchange-summary-wrap{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow-x:auto;padding:16px}.history-full-exchange-summary-title{color:#334155;font-size:1rem;font-weight:600;margin:0 0 12px}.history-full-exchange-summary-table{border-collapse:collapse;font-size:.9rem;max-width:100%;width:100%}.history-full-exchange-summary-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#334155;font-weight:600;padding:10px 14px;text-align:left}.history-full-exchange-summary-table th.col-buy{color:#16a34a}.history-full-exchange-summary-table th.col-sell{color:#dc2626}.history-full-exchange-summary-table td{border-bottom:1px solid #f1f5f9;padding:10px 14px}.history-full-exchange-summary-table td.col-buy{color:#16a34a;font-weight:500}.history-full-exchange-summary-table td.col-sell{color:#dc2626;font-weight:500}.history-full-exchange-summary-table td.col-balance,.history-full-exchange-summary-table th.col-balance{color:#4f46e5;font-weight:500;white-space:nowrap}.history-full-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.history-full-empty,.history-full-loading{color:#64748b;font-size:.95rem;padding:40px;text-align:center}.history-full-table{border-collapse:collapse;font-size:.85rem;width:100%}.history-full-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#334155;font-weight:600;padding:12px 14px;text-align:left}.history-full-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.history-full-table th.sortable:hover{background:#e2e8f0}.sort-icon{color:#64748b;font-size:.75rem;margin-left:4px}.history-full-table td{border-bottom:1px solid #f1f5f9;padding:10px 14px}.history-full-table tbody tr:hover{background:#f8fafc}.col-timestamp{color:#64748b;font-size:.8rem;white-space:nowrap}.col-exchange{color:#334155;font-weight:500}.col-price.buy{color:#16a34a;font-weight:500}.col-price.sell{color:#dc2626;font-weight:500}.col-fee,.col-usdt{text-align:right;white-space:nowrap}.col-fee{color:#666;font-size:.9em}.col-profit{color:#6366f1}.col-profit,.col-profit-pct{font-weight:600}.col-profit-pct.high{color:#16a34a}.col-profit-pct.medium{color:#d97706}.history-full-pagination{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:16px;justify-content:center;padding:16px}.history-full-pagination button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 16px}.history-full-pagination button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.history-full-pagination button:disabled{cursor:not-allowed;opacity:.5}.col-action{white-space:nowrap}.btn-execute{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px}.btn-execute:hover:not(:disabled){background:#2563eb}.btn-execute:disabled{cursor:not-allowed;opacity:.6}.btn-details{background:#0000;border:1px solid #cbd5e1;font-size:1rem;margin-left:6px;vertical-align:middle}.btn-details:hover{background:#f1f5f9;border-color:#94a3b8}.execution-status-wrap{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px}.execution-status{border-radius:4px;font-size:.75rem;font-weight:500;padding:2px 6px}.execution-status.status-ok{background:#d1fae5;color:#047857}.execution-status.status-error{background:#fee2e2;color:#b91c1c}.execution-status.status-na{background:#f1f5f9;color:#64748b}.execution-status.status-pending{background:#fef3c7;color:#b45309}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow:auto;width:90%}.modal-content.details-modal{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h3{font-size:1.1rem;margin:0}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 4px}.modal-close:hover{color:#1e293b}.modal-body{padding:20px}.unlock-confirm-modal .unlock-confirm-desc{color:#475569;margin:0 0 12px}.unlock-confirm-modal .unlock-confirm-code-label{color:#334155;font-size:.95rem;margin:0 0 8px}.unlock-confirm-input{border:2px solid #d1d5db;border-radius:8px;display:block;font-size:1.25rem;font-weight:600;letter-spacing:.3em;margin:0 0 16px;max-width:140px;padding:12px 16px;text-align:center;width:100%}.unlock-confirm-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed33;outline:none}.unlock-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.btn-unlock-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-weight:500;padding:8px 16px}.btn-unlock-cancel:hover{background:#e2e8f0}.btn-unlock-confirm{background:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 20px}.btn-unlock-confirm:hover:not(:disabled){background:#6d28d9}.btn-unlock-confirm:disabled{cursor:not-allowed;opacity:.5}.modal-error-block{padding:8px 0}.modal-error-title{color:#b91c1c;font-weight:600;margin:0 0 8px}.modal-error{color:#dc2626;margin:0;white-space:pre-wrap;word-break:break-word}.modal-error-hint{color:#64748b;font-size:.85rem;margin:12px 0 0}.modal-error-inline{background:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;color:#b91c1c;font-size:.85rem;margin:4px 0 0;padding:6px 10px}.modal-error-stage{color:#64748b;font-size:.9rem;margin:0 0 12px}.modal-error-table{border-collapse:collapse;font-size:.9rem;margin:12px 0;width:100%}.modal-error-table td,.modal-error-table th{border-bottom:1px solid #e2e8f0;padding:8px 12px;text-align:left}.modal-error-table th{background:#f1f5f9;color:#334155;font-weight:600}.modal-error-table td{color:#475569}.modal-error-table .status-ok{color:#16a34a;font-weight:500}.modal-error-table .status-error{color:#dc2626;font-weight:500}.execution-result{display:flex;flex-direction:column;gap:12px}.execution-row{align-items:center;display:flex;gap:12px}.exec-label{color:#334155;flex:1 1;font-size:.9rem}.status-badge{border-radius:6px;font-size:.9rem;font-weight:600;padding:4px 10px}.details-sections{display:flex;flex-direction:column;gap:20px}.detail-section h4{color:#334155;font-size:.95rem;margin:0 0 8px}.detail-section p{font-size:.9rem;margin:4px 0}.call-log-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.call-log-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px 24px;margin-bottom:8px}.call-log-note{color:#64748b!important;font-size:.8rem!important;font-style:italic;margin-top:4px!important}.call-log-entry{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-top:16px;padding:12px}.call-log-entry:first-of-type{margin-top:12px}.call-log-entry-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:8px;padding-bottom:8px}.call-log-type{color:#334155;font-weight:600}.call-log-time{color:#64748b;font-size:.85rem}.call-log-ids{color:#475569;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px 20px;margin-bottom:10px}.call-log-label{color:#475569;font-size:.85rem!important;font-weight:600;margin:10px 0 4px!important}.execution-detail-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:12px}.exec-detail-label{color:#475569;font-size:.85rem!important;font-weight:600;margin:8px 0 4px!important}.status-check-block{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:10px}.status-check-block+.status-check-block{margin-top:8px}.detail-no-request{color:#64748b;font-size:.85rem;font-style:italic;margin:8px 0}.detail-json{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:.75rem;margin:8px 0 0;max-height:200px;overflow-x:auto;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.book-analysis-section{margin-top:8px}.book-snapshot-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:16px;padding:12px}.book-snapshot-block h5{color:#334155;font-size:.9rem;margin:0 0 8px}.book-order-info{color:#475569;font-size:.85rem!important;margin:0 0 10px!important}.book-tables{display:flex;flex-wrap:wrap;gap:24px}.book-side{flex:1 1;min-width:180px}.book-side-label{color:#64748b;display:block;font-size:.8rem;font-weight:600;margin-bottom:6px}.book-table{border-collapse:collapse;font-size:.8rem;width:100%}.book-table td,.book-table th{border-bottom:1px solid #e2e8f0;padding:4px 8px;text-align:right}.book-table th{background:#f1f5f9;color:#475569;font-weight:600}.book-tables .book-side:first-child .book-table td:first-child{color:#16a34a;font-weight:500}.book-tables .book-side:last-child .book-table td:first-child{color:#dc2626;font-weight:500}.batches-section{margin:0 auto;max-width:1400px;padding:20px;width:100%}.batches-header{margin-bottom:20px}.batches-header h2{color:#1f2937;font-size:1.25rem;margin:0}.batches-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.col-batch-ref{font-feature-settings:"tnum";color:#334155;font-variant-numeric:tabular-nums;font-weight:600;text-align:center;width:3.25rem}.col-batch-select{text-align:center;width:2.5rem}.col-batch-select input{cursor:pointer;height:1rem;width:1rem}.batch-row-conciliado{background:#ecfdf5}.batch-row-conciliado td{border-color:#a7f3d0}.batches-custo-saque-hint{color:#64748b;font-size:.78rem;line-height:1.35;margin:12px 0 0}.batches-custo-saque-total-row td{border-top:1px solid #e2e8f0;padding-top:8px}.batches-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:12px 16px}.batches-filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px 16px}.batches-filters-row label{color:#475569;display:flex;flex-direction:column;font-size:.8rem;gap:4px}.batches-filters-row label span{font-weight:600}.batches-filters-row input[type=date],.batches-filters-row input[type=datetime-local],.batches-filters-row input[type=time]{border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;padding:6px 8px}.batches-filters-row label.history-filter-datetime input[type=datetime-local]{min-width:200px}.batches-filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;min-width:10rem;padding:6px 8px}.btn-mark-conciliado{background:#0d9488;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.btn-mark-conciliado:disabled{background:#94a3b8;cursor:not-allowed}.batches-filters-row .btn-apply{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.batches-filters-row .btn-secondary{background:#e2e8f0;border:none;border-radius:6px;color:#334155;cursor:pointer;padding:8px 12px}.batches-filter-checkbox{align-items:center;color:#334155;cursor:pointer;display:inline-flex;font-size:.85rem;gap:8px;-webkit-user-select:none;user-select:none}.batches-filter-checkbox input{cursor:pointer;height:1rem;width:1rem}.batches-footer-saque-unificado{color:#64748b;display:block;font-size:.75rem;font-weight:400;line-height:1.35;margin-top:6px;max-width:42rem}.batches-load-error{background:#f8d7da;border:1px solid #f5c2c7;border-radius:6px;color:#842029;font-size:.9rem;margin:0 0 12px;padding:10px 14px}.batches-filters-hint{color:#64748b;font-size:.78rem;line-height:1.35;margin:10px 0 0}.batches-totals-truncated{background:#fffbeb;border-radius:6px;color:#b45309;font-size:.85rem;margin:8px 0 0;padding:8px 12px}.batches-empty,.batches-loading{color:#64748b;padding:40px;text-align:center}.batches-table{border-collapse:collapse;min-width:1680px;width:100%}.batches-table td,.batches-table th{border-bottom:1px solid #e2e8f0;padding:10px 12px;text-align:center}.batches-table th{background:#f8fafc;color:#475569;font-size:.85rem;font-weight:600}.batches-table th .th-fee-hint{color:#64748b;font-size:.72rem;font-weight:500}.batches-table th .th-fee-hint-muted{color:#94a3b8;font-size:.68rem;font-weight:400}.batches-table tbody tr:hover{background:#f8fafc}.batches-table .col-timestamp{white-space:nowrap}.batches-table .col-num{text-align:center}.batches-table .col-num .col-num-with-action{align-items:center;display:inline-flex;gap:6px;justify-content:center}.batches-table .col-money,.batches-table .col-pct,.batches-table .col-profit{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.batches-table .col-pagar{max-width:160px}.batches-table .btn-pagar-breakdown{background:none;border:none;color:#1d4ed8;cursor:pointer;display:inline-block;font:inherit;margin:0;padding:0;text-align:right;text-decoration:underline;-webkit-text-decoration-color:#2563eb;text-decoration-color:#2563eb;text-underline-offset:2px;transition:color .15s,-webkit-text-decoration-color .15s;transition:color .15s,text-decoration-color .15s;transition:color .15s,text-decoration-color .15s,-webkit-text-decoration-color .15s;width:100%}.batches-table .btn-pagar-breakdown:hover{color:#1e40af;-webkit-text-decoration-color:#1d4ed8;text-decoration-color:#1d4ed8}.batches-pagar-modal{max-width:520px}.batches-pagar-modal-table{border-collapse:collapse;font-size:.9rem;width:100%}.batches-pagar-modal-table td,.batches-pagar-modal-table th{border-bottom:1px solid #e2e8f0;padding:8px 10px;text-align:left}.batches-pagar-modal-table td.col-money,.batches-pagar-modal-table th.col-money{text-align:right}.batches-pagar-modal-empty{color:#64748b;font-size:.9rem;margin:0}.batches-pagar-total-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;padding:14px 16px}.batches-pagar-total-title{color:#0f172a;font-size:.95rem;font-weight:600;margin:0 0 12px}.batches-pagar-total-dl{grid-gap:10px;display:grid;font-size:.88rem;gap:10px;grid-template-columns:1fr;margin:0}@media (min-width:440px){.batches-pagar-total-dl{gap:12px;grid-template-columns:repeat(3,1fr)}}.batches-pagar-total-dl dt{color:#64748b;font-size:.8rem;font-weight:500;margin:0}.batches-pagar-total-dl dd{font-feature-settings:"tnum";color:#0f172a;font-variant-numeric:tabular-nums;font-weight:600;margin:4px 0 0}.batches-table-footer{background:#eff6ff;font-weight:600}.batches-table-footer .batches-footer-label{color:#1e40af;text-align:left}.batches-table-footer td{border-top:2px solid #bfdbfe}.batches-table .col-action{text-align:center}.btn-details{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:4px 8px}.btn-details:hover{background:#e2e8f0}.btn-batch-public{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;margin-right:4px;padding:4px 8px}.btn-batch-public:hover{background:#dbeafe}.batches-pagination{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:16px;justify-content:center;padding:16px}.batches-pagination button{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:.9rem;padding:8px 16px}.batches-pagination button:hover:not(:disabled){background:#f1f5f9}.batches-pagination button:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#64748b;font-size:.9rem}.batches-orders-modal{max-height:90vh;max-width:95vw;width:1200px}.batch-summary-inline{background:#f8fafc;border-radius:6px;color:#475569;display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px;margin-bottom:16px;padding:12px}.batch-failure-insights{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#78350f;font-size:.88rem;line-height:1.45;margin-bottom:16px;padding:14px 16px}.batch-failure-insights-title{color:#92400e;font-size:1rem;margin:0 0 8px}.batch-failure-insights-meta{margin:0 0 10px}.batch-failure-insights-suggestions{border-top:1px solid #fde68a;margin-top:8px;padding-top:10px}.batch-failure-insights-suggestions-label{color:#92400e;font-weight:600;margin-bottom:6px}.batch-failure-insights-suggestions-list{margin:0;padding-left:1.25rem}.batch-failure-insights-suggestions-list li{margin-bottom:4px}.batches-orders-modal.batches-orders-modal-failed{width:min(1280px,96vw)}.batches-orders-table .col-failure-type{max-width:9rem;vertical-align:top;white-space:nowrap}.failure-type-label{color:#9a3412;font-size:.82rem;font-weight:600}.batches-orders-table .col-failure-detail{max-width:28rem;min-width:220px;vertical-align:top}.failure-detail-block .failure-title{color:#1c1917;font-weight:600;margin-bottom:4px}.failure-detail-text{color:#57534e;font-size:.8rem;line-height:1.4}.failure-drift-hint{background:#fef3c7;border-radius:4px;color:#854d0e;font-size:.78rem;margin-top:6px;padding:6px 8px}.batch-pay-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:16px;padding:16px}.batch-pay-card h4{color:#1e40af;font-size:1rem;margin:0 0 8px}.batch-pay-hint{color:#64748b;font-size:.8rem;line-height:1.35;margin:0 0 12px}.batch-pay-lucro-note{color:#64748b;font-size:.78rem;font-weight:400;margin-top:6px}.batch-pay-two-cols{overflow-x:auto}.batch-pay-table{border-collapse:collapse;font-size:.9rem;width:100%}.batch-pay-table td,.batch-pay-table th{border-bottom:1px solid #bfdbfe;padding:8px 12px;vertical-align:top}.batch-pay-table th{background:#dbeafe;color:#1e40af;font-weight:600;text-align:left}.batch-pay-table .col-label{color:#1e3a8a;width:220px}.batch-pay-table .col-conciliacao,.batch-pay-table .col-nosso{min-width:180px}.batch-pay-table .batch-pay-row-total td{background:#e0f2fe;border-top:2px solid #0ea5e9;font-weight:600}.batch-pay-sublist-inline{font-weight:400;list-style-type:disc;margin:0;padding-left:16px}.batch-pay-sublist-inline li{margin-bottom:2px}.batch-pay-list{color:#1e3a8a;font-size:.95rem;margin:0;padding-left:24px}.batch-pay-list.batch-pay-numbered{list-style-type:decimal}.batch-pay-list li{margin-bottom:8px}.batch-pay-sublist{font-weight:400;list-style-type:disc;margin:6px 0 0;padding-left:20px}.batch-pay-sublist li{margin-bottom:4px}.batch-pay-formula{color:#64748b;font-size:.9em;font-weight:400}.batch-pay-api-badge{color:#059669;font-size:.85em;font-weight:400}.batch-pay-table .col-deduction{color:#dc2626}.batch-pay-table .col-error{color:#dc2626;font-size:.9em}.modal-body-with-reconciliation{min-height:200px;position:relative}.reconciliation-loading-overlay{align-items:center;background:#ffffffe6;border-radius:0 0 8px 8px;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute;z-index:10}.reconciliation-loading-overlay p{color:#475569;font-size:.95rem;margin:16px 0 0}.reconciliation-loading-spinner{animation:reconciliation-spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0ea5e9;height:40px;width:40px}@keyframes reconciliation-spin{to{transform:rotate(1turn)}}.batch-reconciliation-actions{margin-top:16px}.btn-reconciliation{background:#0ea5e9;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px}.btn-reconciliation:hover:not(:disabled){background:#0284c7}.btn-reconciliation:disabled{cursor:not-allowed;opacity:.5}.batch-reconciliation-results{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:16px;padding:12px}.batch-reconciliation-results h4{color:#334155;font-size:1rem;margin:0 0 12px}.batch-reconciliation-results h5{color:#475569;font-size:.95rem;margin:12px 0 8px}.reconciliation-by-exchange{margin-bottom:16px}.reconciliation-table{border-collapse:collapse;font-size:.85rem;width:100%}.reconciliation-table td,.reconciliation-table th{border-bottom:1px solid #e2e8f0;padding:6px 10px;text-align:left}.reconciliation-table th{background:#f1f5f9;color:#475569;font-weight:600}.reconciliation-table .col-id{color:#64748b;font-size:.85rem}.reconciliation-table .col-quote-id{font-family:monospace;font-size:.8rem}.reconciliation-table .col-payload{padding:4px!important;text-align:center;width:44px}.btn-payload-lupa{background:#0000;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:1rem;padding:4px 8px;transition:background .15s,border-color .15s}.btn-payload-lupa:hover{background:#f1f5f9;border-color:#94a3b8}.reconciliation-table .diff-nonzero{color:#b45309;font-weight:500}.reconciliation-totals-row{background:#e0f2fe;border-top:2px solid #0ea5e9}.reconciliation-totals-row td{padding:8px 10px}.reconciliation-error{color:#dc2626;margin:0}.reconciliation-errors{color:#b45309;font-size:.85rem;margin-top:8px}.payload-modal{max-height:85vh;max-width:720px}.payload-modal-body{max-height:calc(85vh - 60px);overflow-y:auto}.payload-section{margin-bottom:20px}.payload-section h4{color:#334155;font-size:.95rem;margin:0 0 8px}.payload-label{color:#64748b;font-size:.85rem;font-weight:600;margin:8px 0 4px}.payload-json{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-family:Consolas,Monaco,monospace;font-size:.8rem;margin:0 0 12px;max-height:280px;overflow-x:auto;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.payload-empty{color:#94a3b8;font-style:italic;margin:0}.batches-orders-table-wrap{max-height:60vh;overflow-x:auto;overflow-y:auto}.batches-orders-table{font-size:.85rem}.batches-orders-table td,.batches-orders-table th{padding:8px 10px}.batches-orders-table .col-profit-pct.high{color:#059669;font-weight:600}.batches-orders-table .col-profit-pct.medium{color:#0ea5e9}.batches-orders-table.batch-orders-failed tbody tr.row-failed{background-color:#fef2f2}.batches-orders-table.batch-orders-failed tbody tr.row-failed:hover{background-color:#fee2e2}.batch-public-view{color:#1a1a1a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1100px;padding:1.5rem 1rem 3rem}.batch-public-error,.batch-public-loading{padding:2rem;text-align:center}.batch-public-error{background:#f8d7da;border-radius:8px;color:#842029}.batch-public-hint{font-size:.9rem;margin-top:.75rem}.batch-public-header h1{font-size:1.35rem;margin:0 0 1rem}.batch-public-meta{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0}.batch-public-meta dt{color:#555;font-size:.75rem;letter-spacing:.03em;margin:0;text-transform:uppercase}.batch-public-meta dd{font-weight:600;margin:.25rem 0 0}.batch-public-card{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:1.5rem;padding:1.25rem}.batch-public-card h2{font-size:1.1rem;margin:0 0 1rem}.batch-public-card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.batch-public-label{color:#555;display:block;font-size:.8rem}.batch-public-value{display:block;font-size:1.15rem;font-weight:700;margin-top:.2rem}.batch-public-note{color:#666;display:block;font-size:.72rem;line-height:1.3;margin-top:.35rem}.batch-public-table-section{margin-top:2rem}.batch-public-table-section h2{font-size:1.1rem;margin-bottom:.75rem}.batch-public-table-wrap{border:1px solid #dee2e6;border-radius:8px;overflow-x:auto}.batch-public-table{border-collapse:collapse;font-size:.88rem;width:100%}.batch-public-table td,.batch-public-table th{border-bottom:1px solid #eee;padding:.5rem .6rem;text-align:right}.batch-public-table td:first-child,.batch-public-table th:first-child{text-align:left}.batch-public-table th{background:#e9ecef;font-weight:600}.batch-public-totals-row{background:#fafafa;font-weight:600}.batch-public-footer-note{color:#666;font-size:.85rem;margin-top:2rem;text-align:center}.text-left{text-align:left}.batch-public-empty-row{color:#666;padding:1rem!important;text-align:center!important}.orderbook-screen{background:#f8fafc;display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed;z-index:1000}.orderbook-header{align-items:center;background:#1e293b;color:#fff;display:flex;justify-content:space-between;padding:16px 24px}.orderbook-header h2{font-size:1.25rem;margin:0}.orderbook-close{background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;padding:8px 16px}.orderbook-close:hover{background:#ffffff40}.orderbook-desc{color:#64748b;font-size:.9rem;margin:0;padding:12px 24px}.orderbook-quote-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:0 24px 16px;max-width:1000px;padding:14px 18px}.orderbook-quote-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.orderbook-quote-label{color:#475569;font-size:.9rem;font-weight:600}.orderbook-simulator-input{align-items:center;display:flex;gap:8px}.orderbook-simulator-input label{color:#64748b;font-size:.85rem}.orderbook-simulator-input input{border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem;padding:6px 10px;text-align:right;width:100px}.orderbook-simulator-input input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633;outline:none}.orderbook-comparison-blocks{display:flex;gap:24px}.orderbook-comparison-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;min-width:0;padding:12px 16px}.orderbook-comparison-title{border-bottom:1px solid #e2e8f0;color:#1e293b;display:block;font-size:.85rem;font-weight:700;margin-bottom:10px;padding-bottom:8px}.orderbook-quote-grid{grid-gap:12px 24px;display:grid;gap:12px 24px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.orderbook-quote-item{display:flex;flex-direction:column;gap:2px}.orderbook-quote-field{color:#64748b;font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.orderbook-quote-value{color:#1e293b;font-size:1rem;font-weight:600}.orderbook-quote-value.buy{color:#16a34a}.orderbook-quote-value.sell{color:#b91c1c}.orderbook-quote-value.ok{color:#16a34a}.orderbook-quote-value.no{color:#b91c1c}.orderbook-quote-meta{color:#94a3b8;font-size:.8rem;margin-top:10px}.orderbook-quote-wait{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.9rem;margin:0 24px 16px;padding:12px 18px}.orderbook-status{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px 20px;padding:10px 24px}.status-dot{background:#94a3b8;border-radius:50%;height:8px;width:8px}.status-dot.connected{background:#22c55e;box-shadow:0 0 0 2px #22c55e4d}.status-dot.disconnected{background:#ef4444}.status-error{color:#dc2626}.orderbook-content{flex:1 1;overflow:auto;padding:24px}.orderbook-blocks{display:flex;flex-wrap:wrap;gap:24px;margin:0 auto;max-width:1800px;width:100%}.orderbook-block{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000d;flex:1 1 280px;max-width:100%;min-width:280px;padding:16px}.orderbook-block-label{color:#1e293b;display:block;font-size:1rem;font-weight:700;margin-bottom:8px}.orderbook-block-note{color:#64748b;display:block;font-size:.72rem;line-height:1.35;margin:-4px 0 10px}.orderbook-block-error{color:#dc2626;display:block;font-size:.8rem;margin-bottom:8px}.orderbook-tables{display:flex;gap:16px}.orderbook-side{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;min-width:0;overflow:hidden}.orderbook-bids{background:linear-gradient(180deg,#22c55e0a,#0000);border-color:#22c55e4d}.orderbook-asks{background:linear-gradient(180deg,#b91c1c0f,#0000);border-color:#b91c1c4d}.orderbook-side-label{border-bottom:1px solid #e2e8f0;display:block;font-size:.9rem;font-weight:600;padding:12px 14px}.orderbook-bids .orderbook-side-label{background:#22c55e14;color:#16a34a}.orderbook-asks .orderbook-side-label{background:#b91c1c14;color:#b91c1c}.orderbook-table{border-collapse:collapse;font-size:.9rem;width:100%}.orderbook-table td,.orderbook-table th{border-bottom:1px solid #f1f5f9;padding:8px 14px;text-align:right}.orderbook-table th{background:#f8fafc;color:#475569;font-size:.8rem;font-weight:600}.orderbook-table td.price-bid{color:#16a34a;font-weight:600}.orderbook-table td.price-ask{color:#b91c1c;font-weight:600}.orderbook-table tbody tr:hover{background:#00000005}.orderbook-bids .orderbook-table tbody tr:hover{background:#22c55e0a}.orderbook-asks .orderbook-table tbody tr:hover{background:#b91c1c0a}
/*# sourceMappingURL=main.72d6710a.css.map*/