:root{--green:#00c65e;--navy:#253746;--pale-green:#e6faf0;--page:#f5f6f8;--border:#d1d5db;--red:#ef4444;--amber:#f59e0b;--radius:10px}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",sans-serif;color:#1a1a1a;background:var(--page)}button,input,select{font:inherit}.login-view{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),#182731);padding:20px}.login-card{width:min(100%,360px);color:#fff}.brand{font-size:1.4rem;font-weight:800;letter-spacing:0}.brand span{color:var(--green)}.brand small{display:block;font-size:.55rem;color:#9ca3af;font-weight:500;margin-top:3px}.login-card>p{color:#c4cbd0;margin:8px 0 28px}.login-card label{display:block;font-size:.8rem;font-weight:600;margin:12px 0 4px}.login-card input{width:100%;padding:12px;border-radius:8px;color:#fff;border:1px solid #607080;background:#ffffff14}.login-card small{display:block;text-align:center;color:#9ca3af;margin-top:16px}.form-error{color:#fecaca!important;min-height:20px;margin:10px 0!important;font-size:.8rem}.app-view{display:flex;min-height:100vh}.sidebar{width:240px;min-height:100vh;display:flex;flex-direction:column;flex:none;color:#fff;background:var(--navy);padding:18px 6px 10px}.sidebar .brand{padding:0 10px 16px;border-bottom:1px solid #ffffff16}.navigation{flex:1;padding-top:8px}.nav-item,.logout{border:0;background:transparent;color:#d1d5db;text-align:left;cursor:pointer}.nav-item{width:100%;padding:10px 12px;margin:2px 0;border-radius:7px;font-size:.84rem}.nav-item:hover{background:#ffffff12}.nav-item.active{color:var(--green);background:#00c65e1c;font-weight:700}.sidebar-footer{padding:12px;color:#9ca3af;font-size:.72rem;border-top:1px solid #ffffff16}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:4px}.logout{padding:10px 12px;color:#fca5a5}.main-panel{flex:1;min-width:0}.topbar{height:54px;background:#fff;border-bottom:1px solid var(--border);padding:0 20px;display:flex;justify-content:space-between;align-items:center}.topbar h1{font-size:.95rem;color:var(--navy);margin:0}.market-summary{font-size:.76rem;color:#596570}.page{display:none;padding:18px}.page.active{display:block}.market-grid,.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.market-card,.kpi,.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.market-card{padding:12px;border-left:4px solid var(--green)}.market-card.closed{border-left-color:var(--red)}.market-card strong{display:block;color:var(--navy);font-size:.86rem}.market-card span,.muted{font-size:.75rem;color:#66727d}.kpi{background:var(--navy);text-align:center;padding:13px}.kpi strong{display:block;color:var(--green);font-size:1.25rem}.kpi span{font-size:.7rem;color:#c4cbd0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel{padding:16px;margin-bottom:12px}.panel h2{font-size:.92rem;color:var(--navy);margin:0 0 8px}.button-row,.search-row,.panel-heading{display:flex;gap:8px;align-items:center}.panel-heading{justify-content:space-between}.button{border:0;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:700;padding:9px 12px}.primary{background:var(--green);color:#fff}.secondary{background:var(--navy);color:#fff}.outline{background:#fff;border:1px solid var(--border);color:var(--navy)}.pending-list{display:grid;gap:8px}.pending{background:#fef3c7;border-radius:8px;padding:10px;font-size:.8rem}.pending strong{display:block;color:#92400e}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid label{font-size:.76rem;font-weight:700;color:#4b5563}.form-grid input,.form-grid select,.search-row input{display:block;width:100%;margin-top:4px;border:1px solid var(--border);border-radius:7px;padding:9px;background:#fff}.form-grid .button{align-self:end}.api-result{white-space:pre-wrap;background:var(--pale-green);border:1px solid var(--green);border-radius:8px;padding:12px;font-size:.75rem;overflow:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.78rem}th{color:#fff;background:var(--navy);text-align:left;padding:8px}td{padding:8px;border-bottom:1px solid var(--border)}.empty,.loading{padding:20px;text-align:center;color:#66727d;font-size:.82rem}.notice{margin:12px 18px 0;border-radius:8px;padding:10px 12px;background:#fef3c7;color:#92400e;font-size:.8rem}.notice.error{background:#fef2f2;color:#b91c1c}.mobile-nav{display:none}@media(max-width:800px){.sidebar{display:none}.app-view{padding-bottom:62px}.topbar{position:sticky;top:0;z-index:5;background:var(--navy);border:0}.topbar h1{color:#fff}.market-summary{color:#c4cbd0}.page{padding:12px}.market-grid,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.content-grid,.form-grid{grid-template-columns:1fr}.panel{border:0;box-shadow:0 1px 3px #0000000d}.mobile-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;height:62px;display:flex;background:#fff;border-top:1px solid var(--border)}.mobile-nav .nav-item{padding:5px;text-align:center;border-radius:0;font-size:.68rem;color:#7b8790}.mobile-nav .nav-item.active{color:var(--green);background:#fff}.notice{margin:8px 12px 0}.search-row{align-items:stretch}.search-row input{margin:0}.panel-heading{align-items:flex-start}.button-row{flex-wrap:wrap}.button-row .button{flex:1}}
[hidden]{display:none!important}
.modal-backdrop{position:fixed!important;inset:0!important;z-index:1000!important;display:grid!important;place-items:center!important;padding:24px!important;background:rgba(16,24,32,.62)!important}.modal-card{width:min(760px,100%)!important;max-height:calc(100vh - 48px)!important;overflow:auto!important;margin:0!important;box-shadow:0 20px 48px #0000004d!important}.pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;font-size:.78rem;color:#596570}.pagination-actions{display:flex;align-items:center;gap:6px}.pagination select{padding:7px;border:1px solid var(--border);border-radius:7px;background:#fff}@media(max-width:800px){.modal-backdrop{padding:12px!important;align-items:end!important}.modal-card{width:100%!important;max-height:calc(100vh - 24px)!important;border-radius:12px 12px 8px 8px!important}.pagination{align-items:flex-start}.pagination-actions{width:100%;justify-content:space-between}}
.modal-backdrop[hidden]{display:none!important}
.provider-list{display:flex;flex-wrap:wrap;gap:4px}.provider-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:6px;font-size:.67rem;line-height:1.2;white-space:nowrap}.provider-chip strong{font-size:.66rem}.provider-chip.ok{background:#e6faf0;color:#087f3f}.provider-chip.pending{background:#fff7df;color:#986500}.provider-chip.missing,.provider-chip.error{background:#fef0f0;color:#b42318}.provider-empty{font-size:.74rem;color:#77828c}
.history-modal-card{max-width:900px!important}.history-summary{display:flex;gap:8px;margin:12px 0}.history-metric{background:var(--pale-green);border-radius:7px;padding:9px 12px;min-width:120px;font-size:.75rem;color:#53606a}.history-metric strong{display:block;color:var(--navy);font-size:1.05rem}.history-event{border:1px solid var(--border);border-left:4px solid var(--green);border-radius:7px;padding:12px;margin:8px 0;font-size:.78rem}.history-event.quote{border-left-color:#3b82f6}.event-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.history-event h3{font-size:.82rem;color:var(--navy);margin:0 0 5px}.history-event p{margin:3px 0;color:#58636e}.history-event .event-meta{font-size:.7rem;color:#7b8790}.event-chip{display:inline-flex;flex:none;padding:3px 7px;border-radius:5px;font-size:.66rem;font-weight:700;white-space:nowrap}.event-chip.pending{background:#eef1f3;color:#58636e}.event-chip.success{background:#e6faf0;color:#087f3f}.event-chip.neutral{background:#eff6ff;color:#2563eb}.event-values{display:flex;align-items:baseline;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid #edf0f2;color:#75808a;font-size:.7rem}.event-values strong{font-size:.9rem;color:var(--navy)}@media(max-width:800px){.history-summary{overflow:auto}.history-metric{min-width:108px}.history-modal-card{padding:14px!important}.event-heading{align-items:flex-start}.event-chip{font-size:.62rem}}
.history-modal-card{position:relative}
.table-actions{display:flex;gap:5px;justify-content:flex-end}.table-actions .button{padding:7px 9px;font-size:.72rem}@media(max-width:800px){.table-actions{justify-content:flex-start}.table-actions .button{padding:7px 8px}}
.history-event.spread{border-left-color:#64748b}
.sort-column{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;text-align:left;white-space:nowrap}.sort-column:hover{color:var(--green)}.sort-column:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
.nav-icon{width:17px;display:inline-flex;justify-content:center;font-size:.9rem;color:#b9c4cc}.nav-item.active .nav-icon{color:var(--green)}.market-context{display:flex;align-items:center;gap:10px;font-size:.78rem;color:#697681}.market-context strong{font-size:.9rem;color:var(--navy)}.market-state{display:inline-flex;align-items:center;gap:5px}.market-summary{display:flex;align-items:center;gap:12px}.market-pair{display:inline-flex;align-items:center;gap:4px;font-size:.74rem;color:var(--navy)}.market-pair.closed{color:#9b3a3a}.market-pair.closed .status-dot{background:var(--red)}
.market-card .status-dot{width:7px;height:7px}.market-card .market-closed{background:var(--red)}
.product-filters{display:flex;gap:8px;margin:14px 0}.product-filters select,.product-filters input{margin:0;padding:9px;border:1px solid var(--border);border-radius:7px;background:#fff}.product-filters select{width:180px}.product-filters input{flex:1}@media(max-width:800px){.product-filters{display:grid;grid-template-columns:1fr}.product-filters select,.product-filters input{width:100%}}
.search-row{margin-bottom:10px}.product-filters select,.product-filters input{height:42px;font-size:.92rem}.product-filters select{color:#66727d}.product-filters input::placeholder{color:#8a949c}
.market-updated{font-size:.7rem;color:#7b8790;padding-left:4px;border-left:1px solid var(--border)}
.typeahead{position:relative;margin-top:4px}.form-grid .typeahead input{margin-top:0}.form-grid .full-width{grid-column:1/-1}.field-hint{display:block;margin-top:4px;font-size:.68rem;font-weight:400;color:#7b8790;text-transform:none;letter-spacing:0}
.status-chip{display:inline-flex;padding:3px 8px;border-radius:5px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.status-pendente{background:#fef3c7;color:#92400e}.status-solicitado{background:#dbeafe;color:#1d4ed8}.status-recebido{background:#e0e7ff;color:#4338ca}.status-vinculado{background:#dcfce7;color:#166534}.status-vencido{background:#fee2e2;color:#b91c1c}.status-cancelado{background:#e5e7eb;color:#4b5563}.status-protegida{background:#fef3c7;color:#92400e}.status-executada{background:#dbeafe;color:#1d4ed8}.status-ordem_criada{background:#e0e7ff;color:#4338ca}.status-concluida{background:#dcfce7;color:#166534}.status-cancelada{background:#e5e7eb;color:#4b5563}.status-expirada{background:#fee2e2;color:#b91c1c}
.order-actions{margin:14px 0;justify-content:flex-start;flex-wrap:wrap}
.association-form{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:8px;background:#f8fafb}.association-form>strong{display:block;margin-bottom:9px;color:var(--navy);font-size:.8rem}.association-form small{display:block;margin:-4px 0 9px;color:#92400e;font-size:.7rem}.association-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:8px;margin-bottom:10px}.association-fields label{font-size:.7rem;font-weight:700;color:#58636e}.association-fields input{display:block;width:100%;margin-top:4px;border:1px solid var(--border);border-radius:6px;padding:8px;background:#fff;font-size:.78rem}.association-form .button{font-size:.75rem}@media(max-width:800px){.association-fields{grid-template-columns:1fr 1fr}}
.form-section{margin:6px 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#7b8790;border-bottom:1px solid var(--border);padding-bottom:5px}
.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:12px 14px}
.form-grid>button[type=submit]{grid-column:1/-1;justify-self:end;align-self:center;width:auto;min-width:190px;height:40px;margin-top:2px}
.quote-result{margin-top:18px;padding-top:16px;border-top:1px solid var(--border);font-size:.82rem}
.quote-result h3{margin:0 0 4px;font-size:.95rem;color:var(--navy)}
.quote-result>.muted{margin:0 0 12px;font-size:.76rem}
.quote-result th:not(:first-child):not(:last-child),.quote-result td:not(:first-child):not(:last-child){text-align:right}
.quote-result tbody tr.best-offer{background:var(--pale-green)}
.quote-result tbody tr.best-offer td{font-weight:600}
.quote-result .button{margin-top:14px}
.quotation-actions{justify-content:flex-start;gap:8px;flex-wrap:wrap}
.offer-reason{display:inline-block;margin-top:3px;font-size:.68rem;font-weight:400;color:#b45309;text-align:left;max-width:220px;white-space:normal}
.empty-reason{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#fef3c7;color:#92400e;font-size:.76rem}
.history-summary{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:12px 0;overflow:visible!important}
.history-metric{min-width:0!important;padding:8px 11px}
.history-modal-card{max-width:960px!important}
.timeline{max-height:320px;overflow-y:auto}
@media(max-width:900px){.form-grid{grid-template-columns:1fr!important}.form-grid>button[type=submit]{justify-self:stretch;width:100%}}
.timeline{margin-top:14px;display:grid;gap:7px}.timeline .timeline-item{border-left:2px solid var(--border);padding:2px 0 2px 10px;font-size:.76rem;color:#58636e}.timeline .timeline-item strong{display:block;font-size:.72rem;text-transform:uppercase;color:var(--navy)}.timeline .timeline-item span{font-size:.68rem;color:#7b8790}.typeahead-list{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:232px;overflow:auto;margin-top:3px;background:#fff;border:1px solid var(--border);border-radius:7px;box-shadow:0 10px 24px #00000022}.typeahead-option{display:block;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #f0f2f4;background:transparent;text-align:left;font-size:.8rem;color:var(--navy);cursor:pointer}.typeahead-option:last-child{border-bottom:0}.typeahead-option:hover,.typeahead-option:focus-visible{background:var(--pale-green);outline:none}.typeahead-empty{padding:9px 11px;font-size:.78rem;color:#77828c}
@media(min-width:801px){body{background:#fff}.app-view{height:100vh;overflow:hidden;padding:14px 16px 14px 16px;gap:12px}.sidebar{width:240px;min-height:0;height:calc(100vh - 28px);border-radius:12px;padding:16px 8px 10px;overflow-y:auto}.main-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{height:50px;flex:none;border:1px solid var(--border);border-radius:12px;padding:0 18px}.page{flex:1;overflow:auto;padding:14px 0 0}.page.active{display:block}.page>.panel,.page>.market-grid,.page>.kpi-grid,.page>.content-grid{margin-left:0;margin-right:0}.panel{border-radius:12px}.navigation{padding-top:10px}.nav-item{padding:9px 12px}.sidebar-footer{margin-top:10px}.notice{margin:10px 0 0}}
.login-view{background:#223849;padding:24px}.login-card{width:375px;max-width:100%;color:#dce4ea}.login-brand{margin-bottom:14px;text-align:center;color:var(--green);font-size:2.3rem;font-weight:800;line-height:1}.login-subtitle{margin:0 0 34px!important;text-align:center;color:#a7b8c6!important;font-size:.9rem}.login-card label{display:block;color:#dce4ea;font-size:.85rem;font-weight:600;margin:0 0 5px}.login-card input:not([type="checkbox"]){height:40px;margin:0 0 12px;padding:9px 12px;border:1px solid #526878;border-radius:6px;background:#304656;color:#fff}.login-card input:not([type="checkbox"]):focus{border-color:var(--green);box-shadow:0 0 0 2px #00c65e33}.remember-user{display:flex!important;align-items:center;gap:4px;color:#9eb0bd!important;font-size:.78rem!important;font-weight:400!important;margin:2px 0 18px!important}.remember-user input{width:14px!important;height:14px!important;margin:0!important;accent-color:var(--green)}.login-card>.button{width:100%;height:52px;border-radius:6px;font-size:.9rem}.login-card>.form-error{min-height:18px;margin-top:10px!important}.login-card>small{display:none}@media(max-width:800px){.login-view{padding:20px}.login-card{width:min(100%,375px)}.login-subtitle{margin-bottom:28px!important}}

.alert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:12px}.alert-card{border:1px solid var(--border);border-left:4px solid var(--border);border-radius:8px;padding:14px;background:#fff}.alert-card.reached{border-left-color:var(--green);background:var(--pale-green)}.alert-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.alert-card-head strong{color:var(--navy);font-size:.9rem}.alert-card p{margin:3px 0;font-size:.75rem}.alert-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.alert-metrics div{background:#f7f9fa;border-radius:6px;padding:8px 10px;font-size:.68rem;color:#66727c}.alert-card.reached .alert-metrics div{background:#ffffffb8}.alert-metrics strong{display:block;color:var(--navy);font-size:.95rem}

.limit-card{border:1px solid var(--border);border-radius:8px;padding:14px;background:#fff}.limit-card .alert-card-head{flex-wrap:wrap}.limit-card .alert-metrics{grid-template-columns:repeat(2,1fr)}.limit-bar-wrap{margin-top:10px}.limit-bar-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.7rem;color:#66727c;margin-bottom:4px}.limit-bar-head strong{color:var(--navy);font-size:.72rem}.limit-bar{height:7px;border-radius:4px;background:#eef1f3;overflow:hidden}.limit-bar-fill{display:block;height:100%;border-radius:4px;background:var(--green)}.limit-bar-fill.warning{background:var(--amber)}.limit-bar-fill.critical{background:var(--red)}.limit-card .event-meta{margin:4px 0 0;font-size:.7rem;color:#7b8790}
.market-grid.global{flex:none;margin:10px 0 0;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.market-grid.global .market-card{padding:8px 10px}.market-grid.global .loading,.market-grid.global .empty{grid-column:1/-1;margin:0}
@media (max-width:760px){.market-grid.global{grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 12px 0}}
