:root { --b2b-primary: #3a57e8; --b2b-ink: #182433; --b2b-muted: #6f7f92; }
body.hope-ui-theme { background: #f6f7fb; color: var(--b2b-ink); }
.brand-mark { width: 42px; height: 42px; display: inline-grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg,#536dfe,#263dbd); color: #fff!important; box-shadow: 0 8px 18px rgba(var(--b2b-primary-rgb),.24); font-size: 1.45rem; font-weight: 800; line-height: 1; font-family: Arial, sans-serif; text-shadow: 0 1px 2px rgba(0,0,0,.18); }
.brand-mark-lg { width: 64px; height: 64px; border-radius: 18px; font-size: 2rem; background: #fff; color: var(--b2b-primary)!important; text-shadow: none; box-shadow: 0 14px 30px rgba(14,27,100,.18); }
.place-center { place-items: center; }
.b2b-sidebar { box-shadow: 10px 0 40px rgba(30, 41, 59, .045); border-right: 1px solid rgba(226,232,240,.75); }
.brand-caption { color: #94a3b8; font-size: .68rem; letter-spacing: .02em; }
.sidebar .nav-link { margin: .2rem .75rem; padding: .8rem 1rem; font-weight: 500; }
.sidebar .static-item { margin: .75rem .75rem .35rem; padding: 0 1rem; }
.sidebar .static-item .default-icon { display: block; color: #78869a; font-size: .68rem; font-weight: 700; letter-spacing: .11em; }
.sidebar .nav-link { transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.sidebar .nav-link:not(.active):hover { color: var(--b2b-primary); background: #f1f3ff; transform: translateX(3px); }
.sidebar .nav-link.active { box-shadow: 0 8px 20px rgba(var(--b2b-primary-rgb),.16); }
.menu-icon { width: 34px; height: 34px; flex: 0 0 34px; display: inline-grid; place-items: center; margin-right: .65rem; border-radius: 10px; color: #64748b; background: #f5f7fb; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.menu-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar .nav-link:hover .menu-icon { color: var(--b2b-primary); background: #e9edff; transform: scale(1.04); }
.sidebar .nav-link.active .menu-icon { color: #fff; background: rgba(255,255,255,.2); }
.person-identification-card { padding: 1rem 1.1rem; border: 1px solid #dce3ff; border-radius: 12px; background: linear-gradient(135deg, #f8faff 0%, #f3f6ff 100%); }
.person-kind-options { min-height: 42px; display: flex; align-items: center; flex-wrap: nowrap; gap: .8rem; padding: .55rem .7rem; border: 1px solid #e0e5ef; border-radius: .5rem; background: #fff; white-space: nowrap; }
.person-kind-options .form-check { margin: 0; }
.person-identification-card > .row { display: grid; grid-template-columns: minmax(230px, 1fr) minmax(420px, 2fr); }
.person-identification-card > .row > [class*="col-"] { width: auto; max-width: none; }
.person-identification-card > .row > [class*="col-"]:last-child { grid-column: 1 / -1; }
.person-identification-card > .row > [class*="col-"]:last-child > .person-kind-options { justify-content: flex-start; }
@media (max-width: 991.98px) {
    .person-identification-card > .row { grid-template-columns: 1fr; }
    .person-identification-card > .row > [class*="col-"]:last-child { grid-column: auto; }
    .person-kind-options { overflow-x: auto; }
}
.form-section-title { display: flex; align-items: baseline; gap: .65rem; padding-bottom: .55rem; border-bottom: 1px solid #e5e9f0; }
.form-section-title span { color: #25324b; font-weight: 600; }
.form-section-title small { color: #94a3b8; }
.address-card { min-height: 92px; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .9rem; border: 1px solid #e2e7f0; border-radius: 10px; background: #fff; }
.address-card strong, .address-card small { display: block; margin-top: .35rem; }
.address-card small { color: #7c899d; }
#newPerson .modal-dialog, [id^="editPerson"] .modal-dialog { height: calc(100vh - 2rem); margin-top: 1rem; margin-bottom: 1rem; }
#newPerson .modal-content, [id^="editPerson"] .modal-content { max-height: 100%; }
#newPerson .modal-content > form, [id^="editPerson"] .modal-content > form { min-height: 0; max-height: 100%; display: flex; flex-direction: column; }
#newPerson .modal-header, #newPerson .modal-footer, [id^="editPerson"] .modal-header, [id^="editPerson"] .modal-footer { flex: 0 0 auto; }
#newPerson .modal-body, [id^="editPerson"] .modal-body { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 1rem 1.25rem; }
#newPerson .modal-header, [id^="editPerson"] .modal-header { padding: 1rem 1.25rem; }
#newPerson .modal-footer, [id^="editPerson"] .modal-footer { padding: .7rem 1.25rem; }
.person-form { --bs-gutter-y: .7rem; }
.person-form .person-identification-card { padding: .75rem .9rem; }
.person-form .form-label { margin-bottom: .3rem; }
.person-form .form-section-title { padding-bottom: .4rem; }
.person-form .address-editor { padding: .75rem !important; }
.person-form textarea.form-control { min-height: 58px; }
.product-modal .modal-dialog { height: calc(100vh - 2rem); margin: 1rem auto; }
.product-modal .modal-content { max-height: 100%; }
.product-modal .modal-content > form { min-height: 0; max-height: 100%; display: flex; flex-direction: column; }
.product-modal .modal-header, .product-modal .modal-footer { flex: 0 0 auto; padding: 1rem 1.25rem; }
.product-modal .modal-body { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 1rem 1.25rem; }
.product-tabs { flex-wrap: nowrap; overflow-x: auto; }
.product-tabs .nav-link { white-space: nowrap; font-weight: 600; }
.product-form .accordion-body { padding: 1.5rem; }
.product-form .accordion-body .row { --bs-gutter-x: 1.15rem; --bs-gutter-y: 1.25rem; }
.product-form .accordion-body .form-label { margin-bottom: .45rem; color: #66758a; font-size: .82rem; font-weight: 600; }
.product-form .accordion-body .form-control, .product-form .accordion-body .form-select { min-height: 43px; }
.product-general-body { position: relative; padding-top: 3.25rem !important; }
.product-general-body > .row { --bs-gutter-x: 1.5rem !important; }
.product-active-control { position: absolute; top: 1rem; right: 1.5rem; display: flex; align-items: center; gap: .45rem; color: #7b8798; font-size: .76rem; font-weight: 600; }
.product-active-control .form-check-input { width: 1.8rem; height: .95rem; margin: 0; cursor: pointer; }
.product-section-static { cursor: default; }
.product-section-static::after { display: none; }
.fiscal-autocomplete { position: relative; }
.fiscal-autocomplete-menu { position: absolute; top: calc(100% + 5px); left: 0; right: 0; z-index: 1085; display: none; max-height: 280px; overflow-y: auto; padding: .35rem; background: #fff; border: 1px solid #dfe4ed; border-radius: 10px; box-shadow: 0 12px 30px rgba(25,35,66,.16); }
.fiscal-autocomplete.open .fiscal-autocomplete-menu { display: block; }
.fiscal-autocomplete-option { display: grid; width: 100%; gap: .12rem; padding: .55rem .65rem; color: #263248; text-align: left; background: transparent; border: 0; border-radius: 7px; }
.fiscal-autocomplete-option:hover, .fiscal-autocomplete-option:focus { color: #243dbd; background: #f0f3ff; outline: 0; }
.fiscal-autocomplete-option strong { font-size: .82rem; }
.fiscal-autocomplete-option span { overflow: hidden; color: #768397; font-size: .75rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.fiscal-autocomplete-empty { padding: .75rem; color: #8a96a5; font-size: .8rem; text-align: center; }
.product-tax-details { padding-top: .75rem; border-top: 1px solid #e5e9f0; }
.product-tax-details summary { width: max-content; cursor: pointer; color: var(--b2b-primary); font-size: .82rem; font-weight: 600; }
.product-tax-details[open] summary { margin-bottom: 1rem; }
.product-image-picker { display: grid; place-items: center; width: 100%; height: 168px; margin: 0; overflow: hidden; cursor: pointer; color: #768397; background: #fbfcff; border: 1.5px dashed #cdd5e3; border-radius: 12px; transition: border-color .18s ease, background-color .18s ease; }
.product-image-picker:hover { color: var(--b2b-primary); background: #f5f7ff; border-color: var(--b2b-primary); }
.product-image-picker .product-image-preview { display: block; width: 100%; height: 100%; object-fit: contain; border: 0; border-radius: 0; }
.product-image-placeholder { display: grid; place-items: center; gap: .2rem; }
.product-image-placeholder strong { font-size: 2rem; font-weight: 400; line-height: 1; }
.product-image-placeholder small { font-size: .78rem; font-weight: 600; }
.product-image-actions { display: flex; gap: .4rem; margin-top: .55rem; }
.product-image-actions .btn { flex: 1; padding: .35rem .5rem; font-size: .75rem; }
.product-crop-overlay { position: fixed; inset: 0; z-index: 1090; display: grid; place-items: center; padding: 1rem; background: rgba(20,29,48,.62); }
.product-crop-dialog { width: min(520px, 100%); max-height: calc(100vh - 2rem); overflow-y: auto; padding: 1.25rem; background: #fff; border-radius: 16px; box-shadow: 0 24px 70px rgba(15,23,42,.3); }
.product-crop-canvas { display: block; width: min(100%, 420px); height: auto; margin: 1rem auto 0; cursor: crosshair; border-radius: 10px; background: #eef1f6; touch-action: none; }
.product-crop-hint { display: block; margin-top: .55rem; color: #7b8798; text-align: center; font-size: .75rem; }
.product-thumb { width: 42px; height: 42px; object-fit: cover; border-radius: 8px; border: 1px solid #e2e7f0; }
.certificate-status { display: grid; gap: .25rem; padding: 1rem; border: 1px solid; border-radius: 10px; }
.certificate-status.valid { color: #16794b; border-color: #b9e8d1; background: #f0fbf6; }
.certificate-status.expired { color: #b42318; border-color: #f2c4bf; background: #fff5f4; }
.sidebar-body { display: flex; flex-direction: column; height: calc(100vh - 76px); }
.main-content { min-height: 100vh; }
.content-inner { min-height: calc(100vh - 155px); padding-top: 2rem; }
.iq-navbar { background: rgba(255,255,255,.88)!important; backdrop-filter: blur(12px); }
.page-heading small { font-size: .63rem; letter-spacing: .12em; }
.avatar-gradient { background: linear-gradient(135deg,#536dfe,#3048ce); box-shadow: 0 6px 15px rgba(var(--b2b-primary-rgb),.22); }
.avatar-soft { background: #eef1ff; color: var(--b2b-primary); font-weight: 700; }
/* Sair fica sempre neutro: cor fixa, sem herdar nada do tema — trocar a cor do
   sistema não pode deixar o botão ilegível sobre a navbar clara. */
.logout-button { display: flex; align-items: center; gap: .35rem; --bs-btn-color:#4b5563; --bs-btn-bg:#fff; --bs-btn-border-color:#e2e6ef; --bs-btn-hover-color:#dc3545; --bs-btn-hover-bg:#fff4f5; --bs-btn-hover-border-color:#f3b8be; --bs-btn-active-color:#dc3545; --bs-btn-active-bg:#ffe9eb; --bs-btn-active-border-color:#f3b8be; color:#4b5563!important; background:#fff!important; border-color:#e2e6ef!important; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.logout-button:hover, .logout-button:focus { color: #dc3545!important; border-color: #f3b8be!important; background: #fff4f5!important; box-shadow: 0 5px 14px rgba(220,53,69,.1); }
.logout-button svg { width: 17px; height: 17px; fill: currentColor; }
.eyebrow { font-size: .67rem; font-weight: 700; letter-spacing: .14em; }
.welcome-banner { min-height: 235px; display: flex; position: relative; overflow: hidden; padding: 2.5rem; border-radius: 20px; color: #fff; background: linear-gradient(120deg,var(--b2b-primary),#5d72ee 65%,#7486f4); box-shadow: 0 18px 36px rgba(var(--b2b-primary-rgb),.2); }
.welcome-content { position: relative; z-index: 2; max-width: 560px; }
.welcome-content h2 { color: #fff; margin: .65rem 0; font-size: clamp(1.7rem,3vw,2.35rem); }
.welcome-content p { color: rgba(255,255,255,.78); margin-bottom: 1.5rem; }
.welcome-art { position: absolute; inset: 0 0 0 auto; width: 43%; }
.welcome-art > span { position: absolute; display: block; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.welcome-art > span:nth-child(1) { width: 280px; height: 280px; right: -30px; top: -55px; }
.welcome-art > span:nth-child(2) { width: 185px; height: 185px; right: 45px; top: 23px; background: rgba(255,255,255,.06); }
.welcome-art > span:nth-child(3) { width: 90px; height: 90px; right: 94px; top: 70px; background: rgba(255,255,255,.08); }
.art-card { position: absolute; right: 70px; top: 65px; width: 140px; padding: 1rem; border-radius: 17px; background: rgba(255,255,255,.93); color: #3048ce; box-shadow: 0 15px 30px rgba(31,47,130,.2); text-align: center; transform: rotate(-3deg); }
.art-card b { display: block; font-size: 2rem; line-height: 1; }.art-card small { color: #7d88ad; }
.metric-card { border: 0; transition: transform .2s ease, box-shadow .2s ease; }
.metric-card:hover { transform: translateY(-3px); box-shadow: 0 15px 32px rgba(27,39,73,.1); }
.metric-card .card-body { display: flex; gap: 1rem; align-items: center; padding: 1.35rem; }
.metric-icon { flex: 0 0 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; }
.metric-icon svg { width: 25px; height: 25px; fill: currentColor; }
.metric-icon.primary { color:var(--b2b-primary);background:#eef1ff}.metric-icon.success{color:#1aa053;background:#e9f9f0}.metric-icon.warning{color:#e58b12;background:#fff5df}
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: .4rem; border-radius: 50%; background: #21b66f; box-shadow: 0 0 0 4px #e7f8ef; }
.quick-card { background: linear-gradient(155deg,#fff,#fafbff); }
.quick-link { display: flex; align-items: center; gap: .85rem; color: var(--b2b-ink); padding: .8rem; border: 1px solid #edf0f6; border-radius: 13px; transition: color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.quick-link:hover { border-color: #dbe1ff; transform: translateX(3px); color: var(--b2b-primary); box-shadow: 0 8px 18px rgba(48,72,206,.07); }
.quick-link div { flex: 1; display: grid; }.quick-link small { color: #8995a5; }.quick-link > b { font-size: 1.5rem; font-weight: 400; }
.quick-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #eef1ff; color: var(--b2b-primary); font-size: 1.3rem; font-weight: 600; }.quick-icon.alt { background:#eaf9f1;color:#1a9c55; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.actions { display: flex; align-items: center; gap: .5rem; }
.actions form { margin: 0; }
.search { display: flex; gap: .5rem; }
.search .form-control { max-width: 380px; }
.form-actions { display: flex; gap: .75rem; margin-top: 1.5rem; }
.btn { transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary:hover, .btn-primary:focus { color: #fff!important; background-color: #2943c7!important; border-color: #2943c7!important; box-shadow: 0 7px 16px rgba(41,67,199,.22); }
.btn-light:hover, .btn-light:focus { color: #2943c7!important; background-color: #eef1ff!important; border-color: #dce2ff!important; }
.btn-secondary:hover, .btn-secondary:focus { color: #fff!important; background-color: #475569!important; border-color: #475569!important; }
.btn-danger:hover, .btn-danger:focus { color: #fff!important; background-color: #b91c2b!important; border-color: #b91c2b!important; }
.btn-outline-primary:hover, .btn-outline-primary:focus { color: #fff!important; background-color: var(--b2b-primary)!important; border-color: var(--b2b-primary)!important; }
.btn-soft-primary:hover { color: #fff!important; background: var(--b2b-primary)!important; }
.btn-soft-secondary:hover { color: #334155!important; background: #e2e8f0!important; }
.btn-soft-danger:hover { color: #fff!important; background: #dc3545!important; }
.btn-soft-warning:hover { color: #fff!important; background: #d9850b!important; }
.btn-soft-success:hover { color: #fff!important; background: #168a49!important; }
.btn-success{color:#fff!important;background-color:#22a35a!important;border-color:#22a35a!important}.btn-success:hover,.btn-success:focus,.btn-success:focus-visible{color:#fff!important;background-color:#178447!important;border-color:#178447!important;box-shadow:0 7px 16px rgba(23,132,71,.22)!important}.btn-success:active,.btn-success.active{color:#fff!important;background-color:#126d3a!important;border-color:#126d3a!important}
.btn-warning{color:#fff!important;background-color:#e99a18!important;border-color:#e99a18!important}.btn-warning:hover,.btn-warning:focus,.btn-warning:focus-visible{color:#fff!important;background-color:#c97d08!important;border-color:#c97d08!important;box-shadow:0 7px 16px rgba(201,125,8,.22)!important}.btn-warning:active,.btn-warning.active{color:#fff!important;background-color:#aa6805!important;border-color:#aa6805!important}
/* Botão claro é para fundo colorido (capa, faixas). Fora dele viraria texto
   branco sobre fundo branco — por isso o :not() do Sair. O hover usa cinza
   escuro, não um azul fixo: precisa funcionar com qualquer cor de tema. */
.btn-outline-light:not(.logout-button){color:#fff!important;border-color:rgba(255,255,255,.72)!important;background-color:transparent!important}
.btn-outline-light:not(.logout-button):hover,.btn-outline-light:not(.logout-button):focus,.btn-outline-light:not(.logout-button):focus-visible{color:#1f2937!important;background-color:#fff!important;border-color:#fff!important}
.btn-outline-light:not(.logout-button):active,.btn-outline-light:not(.logout-button).active{color:#1f2937!important;background-color:#eef1f7!important;border-color:#eef1f7!important}
.btn-primary:disabled,.btn-success:disabled,.btn-danger:disabled,.btn-warning:disabled,.btn-secondary:disabled,.btn-light:disabled,.btn-soft-primary:disabled,.btn-soft-secondary:disabled,.btn-soft-success:disabled,.btn-soft-danger:disabled{transform:none!important;pointer-events:none}
.status-indicator { display: inline-block; width: 7px; height: 7px; margin-right: .4rem; border-radius: 50%; background: #94a3b8; }
.status-indicator.active { background: #1aa053; box-shadow: 0 0 0 3px rgba(26,160,83,.12); }
.status-switch-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0; padding: .75rem 1rem; border: 1px solid #e8ecf3; border-radius: 10px; background: #fafbfe; }
.status-switch-row small { display: block; color: #7c8999; }
.status-switch-row .form-check-input { width: 2.8rem; height: 1.45rem; cursor: pointer; }
.status-switch-row .form-check-input:checked { background-color: #1aa053; border-color: #1aa053; }
.status-switch-row .form-check-input:disabled { cursor: not-allowed; opacity: .65; }
.user-form-grid .form-control { min-height: 44px; }
.user-form-grid .form-label { margin-bottom: .4rem; }
.form-hint { display: block; margin-top: .35rem; color: #8a96a5; font-size: .76rem; }
.dt-container .dt-search input, .dt-container .dt-length select { border: 1px solid #dfe4ed!important; border-radius: 9px!important; background-color: #fff!important; min-height: 40px; }
.dt-container .dt-search { width: min(100%, 460px); }
.dt-container .dt-search label { display: block; margin-bottom: .4rem; color: #667588; font-size: .78rem; font-weight: 600; }
.dt-container .dt-search input { width: 100%!important; min-width: 360px; margin-left: 0!important; padding: .62rem 2.65rem .62rem .9rem!important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23788799' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E")!important; background-repeat: no-repeat!important; background-position: right .85rem center!important; }
.dt-container .dt-search input:focus { border-color: #8798f4!important; box-shadow: 0 0 0 .2rem rgba(var(--b2b-primary-rgb),.1)!important; }
.dt-container .dt-length label, .dt-container .dt-info { color: #7a8797; font-size: .875rem; }
.dt-container .dt-layout-row { align-items: center; margin: 0 0 1rem!important; }
.dt-container .dt-layout-row:last-child { margin: 1rem 0 0!important; }
.dt-container .pagination { gap: .25rem; }
.dt-container .page-link { border: 0; border-radius: 8px!important; color: #566477; min-width: 36px; text-align: center; }
.dt-container .active > .page-link { color: #fff; background: var(--b2b-primary); box-shadow: 0 5px 12px rgba(var(--b2b-primary-rgb),.2); }
table.dataTable > tbody > tr:hover > * { background-color: #f8f9ff!important; box-shadow: none!important; }
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before { content: "+"!important; width: 22px; height: 22px; display: inline-grid!important; place-items: center; margin-right: .65rem!important; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1; vertical-align: middle; background-color: var(--b2b-primary)!important; border: 0!important; border-radius: 7px; box-shadow: 0 3px 8px rgba(var(--b2b-primary-rgb),.25); }
table.dataTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control::before { content: "−"!important; color: #fff!important; background-color: #243dbd!important; border: 0!important; }
table.dataTable > tbody > tr.child ul.dtr-details { width: 100%; }
table.dataTable > tbody > tr.child span.dtr-title { min-width: 110px; }
.swal2-container { z-index: 1095!important; }
.swal2-popup { border-radius: 18px!important; box-shadow: 0 24px 70px rgba(25,35,66,.2)!important; }
.swal2-title { color: var(--b2b-ink)!important; font-size: 1.45rem!important; }
.swal2-html-container { color: var(--b2b-muted)!important; white-space: pre-line; }
.swal2-actions { gap: .5rem; }
.swal2-timer-progress-bar { background: rgba(var(--b2b-primary-rgb),.35)!important; }
.swal2-toast { border-left: 4px solid #1aa053!important; }
@keyframes b2b-toast-enter { from { opacity: 0; transform: translate3d(24px,0,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
.b2b-toast-enter { animation: b2b-toast-enter .35s ease both!important; }
.modal { transition: opacity .38s ease; }
.modal.fade { opacity: 0; }
.modal.fade.show { opacity: 1; }
.modal.fade .modal-dialog { opacity: 0; transform: translateY(14px) scale(.985); transition: opacity .38s ease, transform .48s cubic-bezier(.22,1,.36,1); }
.modal.show .modal-dialog { opacity: 1; transform: translateY(0) scale(1); }
.modal.modal-animated.show .modal-dialog { animation: b2b-modal-enter .55s cubic-bezier(.22,1,.36,1) both!important; }
.modal.modal-static .modal-dialog { transform: scale(1.015); }
.modal-content { border: 0; border-radius: 18px; box-shadow: 0 24px 70px rgba(25,35,66,.18); overflow: hidden; }
.modal-header { padding: 1.4rem 1.5rem; border-bottom-color: #edf0f6; background: linear-gradient(180deg,#fff,#fbfcff); }
.modal-body { padding: 1.5rem; }
.modal-footer { padding: 1rem 1.5rem; border-top-color: #edf0f6; background: #fbfcfe; }
.modal-backdrop { background: #172033; opacity: 0; transition: opacity .4s ease; }
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.show { opacity: .42; }
.modal .btn-close { border-radius: 50%; transition: background-color .18s ease, opacity .18s ease, transform .18s ease; }
.modal .btn-close:hover { background-color: #edf0f7; opacity: 1; transform: rotate(8deg); }
@keyframes b2b-modal-enter {
    0% { opacity: 0; transform: translate3d(0,16px,0) scale(.985); }
    45% { opacity: .72; }
    100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
.auth-wrapper { min-height: 100vh; display: grid; grid-template-columns: minmax(420px, 44%) 1fr; }
/* Gradiente derivado só do tema: a capa acompanha qualquer cor escolhida. */
.auth-brand { position: relative; overflow: hidden; align-items: center; justify-content: center; padding: 3.5rem 4rem; background: linear-gradient(145deg, var(--b2b-primary) 0%, var(--b2b-primary-active, var(--b2b-primary)) 100%); }
.auth-brand-content { position: relative; z-index: 2; max-width: 470px; }
.auth-brand h1 { font-size: clamp(2.4rem,3.6vw,3.6rem); line-height: 1.05; letter-spacing: -.045em; }
.auth-title { font-weight: 800; text-transform: uppercase; letter-spacing: .01em; }
.auth-brand p { color: rgba(255,255,255,.7); font-size: 1.04rem; max-width: 380px; margin: 1.1rem 0 1.4rem; }
/* Ilustração vetorial: branco translúcido + cor de destaque, então serve para
   qualquer tema sem precisar de uma imagem por cor. */
.auth-art { display: block; width: 100%; max-width: 470px; height: auto; margin: 0 0 1.4rem; filter: drop-shadow(0 18px 30px rgba(0,0,0,.18)); }
.auth-art-float { animation: authFloat 7s ease-in-out infinite; transform-origin: center; }
.auth-art-float-slow { animation-duration: 9s; animation-delay: -2s; }
.auth-art-drone { animation: authFloat 4.5s ease-in-out infinite; animation-delay: -1s; }
@keyframes authFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@media (prefers-reduced-motion: reduce) { .auth-art-float, .auth-art-drone { animation: none; } }
.auth-feature { color: rgba(255,255,255,.82); margin-top: .8rem; }.auth-feature span { display: inline-grid; place-items:center; width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.13);margin-right:.65rem; }
.auth-orb { position: absolute; border-radius: 50%; filter: blur(1px); background: rgba(255,255,255,.07); }.orb-one{width:420px;height:420px;left:-190px;top:-130px}.orb-two{width:310px;height:310px;right:-130px;bottom:-100px;border:1px solid rgba(255,255,255,.13);background:transparent}
.auth-grid { position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom right,black,transparent 75%); }
.auth-form-wrap { display: grid; place-items: center; padding: 2rem; }
.auth-card { width: min(470px, 100%); border: 0; box-shadow: 0 22px 60px rgba(44, 62, 106, .1); }
.auth-card .form-control { min-height: 48px; border-color: #e2e6ef; background: #fbfcfe; }.auth-card .form-control:focus { background:#fff;box-shadow:0 0 0 .2rem rgba(var(--b2b-primary-rgb),.12); }
.sidebar-backdrop { display: none; position: fixed; inset: 0; z-index: 1025; background: rgba(15,23,42,.45); }
@media (max-width: 991.98px) {
    .auth-wrapper { display: block; }
    .auth-form-wrap { min-height: 100vh; }
    .sidebar { transform: translateX(-110%); transition: transform .25s ease; z-index: 1030; }
    .sidebar.show { transform: translateX(0); }
    .sidebar-backdrop.show { display: block; }
    .welcome-art { opacity: .45; width: 55%; }
}
@media (max-width: 575.98px) {
    .content-inner { padding: 1rem; }
    .page-head, .search { align-items: stretch; flex-direction: column; }
    .search .form-control { max-width: none; }
    .welcome-banner { padding: 1.7rem; min-height: 270px; }.welcome-art{display:none}.metric-card .card-body{padding:1.1rem}.auth-form-wrap{padding:1rem}.auth-card .card-body{padding:1.5rem!important}
    .dt-container .dt-layout-row { display: flex!important; flex-direction: column; align-items: stretch!important; gap: .8rem; }
    .dt-container .dt-search, .dt-container .dt-search input { width: 100%!important; min-width: 0; }
    .dt-container .dt-length { text-align: left!important; }
}
@media (prefers-reduced-motion: reduce) {
    .modal, .modal.fade .modal-dialog, .modal-backdrop, .btn, .quick-link, .metric-card, .sidebar .nav-link { transition-duration: .01ms!important; }
}
.import-option{width:100%;min-height:160px;padding:22px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;color:#263244;text-align:left;display:flex;flex-direction:column;gap:8px;transition:.18s ease}
.import-option:hover,.import-option.active{border-color:var(--b2b-primary);box-shadow:0 8px 24px rgba(var(--b2b-primary-rgb),.1);transform:translateY(-2px)}
.import-option.active{background:#f6f8ff}
.import-option-icon{width:46px;height:46px;border-radius:10px;background:#eef1ff;color:var(--b2b-primary);display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.04em}
.import-option strong{font-size:16px}.import-option small{color:#8791a5;line-height:1.45}
.import-file-panel{margin-top:24px;padding:18px 20px;border:1px solid #e2e7f0;border-radius:12px;background:#f8f9fc;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.import-file-name{min-width:220px;overflow-wrap:anywhere}
.import-note-summary small,.import-note-summary strong,.import-note-summary span{display:block}.import-note-summary small{color:#8791a5;margin-bottom:4px}.import-note-summary span{color:#667085;margin-top:3px}
.import-product-card{border:1px solid #e2e7f0;border-radius:12px;padding:18px;background:#fff}.import-product-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.import-product-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.import-product-head small{color:#8791a5}.import-decision-row{display:flex;gap:22px;flex-wrap:wrap;padding:14px 0;margin:14px 0;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5}.import-decision-row label{font-weight:600;display:flex;align-items:center;gap:7px}.import-existing-fields{max-width:720px}
.import-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.import-data-panel{border:1px solid #e3e8f1;border-radius:12px;padding:16px;background:#fbfcfe}.import-xml-panel{border-left:4px solid #7c8da6}.import-saved-panel{border-left:4px solid var(--b2b-primary);background:#f9faff}.import-panel-title{display:flex;align-items:center;gap:10px;padding-bottom:13px;margin-bottom:13px;border-bottom:1px solid #e7ebf2}.import-panel-title strong,.import-panel-title small{display:block}.import-panel-title small{color:#8791a5;margin-top:2px}.import-panel-icon{width:38px;height:38px;border-radius:9px;background:#e9edf3;color:#526176;display:grid;place-items:center;font-size:11px;font-weight:800}.import-panel-icon-product{background:#e9edff;color:var(--b2b-primary);font-size:18px}.import-data-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 16px;margin:0}.import-data-list div{min-width:0}.import-data-list dt{color:#8791a5;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.import-data-list dd{color:#2f3b4c;font-weight:600;margin:0;overflow-wrap:anywhere}.import-data-list .import-data-wide{grid-column:1/-1}.import-empty-product{min-height:125px;display:grid;place-items:center;align-content:center;color:#8791a5}.import-empty-product span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9edff;color:var(--b2b-primary);font-size:26px;margin-bottom:7px}.import-empty-product p{margin:0}.import-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #edf0f5}.import-icon-button{display:inline-flex;align-items:center;gap:8px}.import-icon-button>span{font-size:21px;line-height:1}.import-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.import-link-box{margin-top:14px;padding:14px;border-radius:10px;background:#f4f6fa;border:1px solid #e2e7f0}.import-link-box small{display:block;margin-top:7px}@media(max-width:991.98px){.import-compare-grid{grid-template-columns:1fr}.import-data-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.import-data-list{grid-template-columns:1fr}.import-data-list .import-data-wide{grid-column:auto}.import-actions .btn{width:100%;justify-content:center}}
.import-selected-product{margin-right:auto;align-self:center;color:#667085;font-size:.86rem;font-weight:600}.import-product-search{position:relative;margin-bottom:14px}.import-product-search>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:24px;color:#7b8798;z-index:2}.import-product-search .form-control{padding-left:44px;min-height:48px}.import-product-results{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto;padding:2px}.import-product-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #e1e6ef;border-radius:10px;cursor:pointer;transition:.15s ease;background:#fff}.import-product-result:hover,.import-product-result:has(input:checked){border-color:var(--b2b-primary);background:#f6f8ff;box-shadow:0 3px 12px rgba(var(--b2b-primary-rgb),.08)}.import-product-result span,.import-product-result small{display:block;min-width:0}.import-product-result strong{overflow-wrap:anywhere}.import-product-result small{color:#8791a5;margin-top:4px}.import-product-result b{white-space:nowrap;color:#344054}.import-product-no-results{text-align:center;color:#8791a5;padding:28px 12px}@media(max-width:575.98px){.import-selected-product{width:100%;text-align:center}.import-product-result{grid-template-columns:auto minmax(0,1fr)}.import-product-result b{grid-column:2}}
.import-product-card.is-resolved{border-color:#91dfb4;background:linear-gradient(135deg,#f3fff7 0%,#eafff2 100%);box-shadow:0 8px 24px rgba(22,163,74,.09)}.import-product-card.is-resolved .import-data-panel{border-color:#bce9ce;background:rgba(255,255,255,.76)}.import-product-card.is-resolved .import-saved-panel{border-left-color:#20a760}.import-status-badge{background:#d9fbe7;color:#138a4b;border:1px solid #a9e7c3}.import-item-number{font-size:.75rem;font-weight:700;color:#56806a}.import-match-status{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;border:1px solid #a9e3c1;border-radius:10px;background:#dcfce7;color:#126d3d}.import-match-status>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#22a75f;color:#fff;font-weight:800}.import-match-status strong,.import-match-status small{display:block}.import-match-status small{color:#438261;margin-top:2px}
.import-empty-product span{background:#eef1f5;color:#8591a3}.import-empty-product span svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.xml-company-warning-popup{width:min(620px,calc(100vw - 32px))}.xml-company-warning{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.xml-company-warning>div{padding:14px;border:1px solid #e3e7ef;border-radius:10px;background:#f8f9fc}.xml-company-warning>div:first-child{border-color:#f3c7a5;background:#fff8f2}.xml-company-warning small,.xml-company-warning strong,.xml-company-warning span{display:block}.xml-company-warning small{color:#8791a5;font-size:.7rem;font-weight:800;letter-spacing:.05em;margin-bottom:6px}.xml-company-warning strong{color:#27364a;line-height:1.35}.xml-company-warning span{color:#667085;margin-top:4px;font-family:monospace;font-size:.92rem}@media(max-width:575.98px){.xml-company-warning{grid-template-columns:1fr}}
.xml-company-warning-popup .swal2-confirm.btn-warning{color:#fff!important;background:#e85d04!important;border-color:#e85d04!important;opacity:1!important;visibility:visible!important}.xml-company-warning-popup .swal2-confirm.btn-warning:hover,.xml-company-warning-popup .swal2-confirm.btn-warning:focus,.xml-company-warning-popup .swal2-confirm.btn-warning:active{color:#fff!important;background:#c94f03!important;border-color:#c94f03!important;opacity:1!important;visibility:visible!important;box-shadow:0 0 0 .25rem rgba(232,93,4,.22)!important}
.import-conversion{margin-top:16px;padding:15px;border:1px solid #dce4ef;border-radius:11px;background:#f8fafc}.import-product-card.is-resolved .import-conversion{border-color:#b7e5ca;background:rgba(255,255,255,.72)}.import-conversion-heading{display:flex;gap:10px;align-items:center;margin-bottom:13px}.import-conversion-heading>span{width:36px;height:36px;border-radius:9px;background:#e8edff;color:var(--b2b-primary);display:grid;place-items:center}.import-conversion-heading svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.import-conversion-heading strong,.import-conversion-heading small{display:block}.import-conversion-heading small{color:#7b8798;margin-top:2px}.import-conversion-fields{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.35fr) minmax(200px,.85fr);gap:12px;align-items:end}.import-conversion-result{min-height:43px;padding:8px 12px;border-radius:8px;background:#e7f8ee;color:#147343}.import-conversion-result small,.import-conversion-result strong{display:block}.import-conversion-result small{font-size:.7rem;text-transform:uppercase;letter-spacing:.035em}.import-conversion-result strong{font-size:1.05rem;margin-top:1px}.import-conversion-complete{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:#536174}.import-conversion-complete strong{padding:7px 10px;border-radius:7px;background:#dcfce7;color:#147343}@media(max-width:991.98px){.import-conversion-fields{grid-template-columns:1fr 1fr}.import-conversion-result{grid-column:1/-1}}@media(max-width:575.98px){.import-conversion-fields{grid-template-columns:1fr}.import-conversion-result{grid-column:auto}}
.import-conversion-unit{max-width:92px;flex:0 0 92px;font-weight:700;color:#334155;background-color:#fff}
.import-pricing-next{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #b8d2ff;border-radius:12px;background:linear-gradient(135deg,#f4f7ff,#eaf1ff)}.import-pricing-next strong,.import-pricing-next small{display:block}.import-pricing-next strong{color:#2946b8}.import-pricing-next small{color:#6677a5;margin-top:3px}.import-pricing-next .btn:disabled{opacity:.72}@media(max-width:575.98px){.import-pricing-next{align-items:stretch;flex-direction:column}.import-pricing-next .btn{width:100%}}
.import-product-card{padding:13px 15px}.import-product-head{align-items:center}.import-product-head>div{gap:8px}.import-product-head small{font-size:.82rem}.import-match-compact{display:flex;align-items:center;gap:7px;margin-top:9px;color:#187447;font-size:.84rem}.import-match-compact>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#23a864;color:#fff;font-size:.72rem;font-weight:800}.import-match-compact small{color:#609076;margin-left:3px}.import-compare-details{margin-top:9px;border-top:1px solid rgba(75,120,95,.16)}.import-compare-details>summary{display:flex;align-items:center;gap:9px;padding:9px 2px 0;color:#536174;cursor:pointer;font-size:.82rem;font-weight:700;list-style:none}.import-compare-details>summary::-webkit-details-marker{display:none}.import-compare-details>summary:before{content:'›';font-size:1.25rem;line-height:1;color:var(--b2b-primary);transition:.15s}.import-compare-details[open]>summary:before{transform:rotate(90deg)}.import-compare-details>summary small{color:#929bad;font-weight:400}.import-compare-details .import-compare-grid{margin-top:9px}.import-compare-details .import-data-panel{padding:12px}.import-compare-details .import-panel-title{padding-bottom:8px;margin-bottom:9px}.import-compare-details .import-panel-icon{width:30px;height:30px}.import-conversion{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(360px,1.3fr);gap:14px;align-items:end;margin-top:10px;padding:10px 12px}.import-conversion-heading{margin:0}.import-conversion-heading>span{width:32px;height:32px}.import-conversion-heading small{font-size:.76rem}.import-conversion-fields{grid-template-columns:minmax(230px,1fr) minmax(180px,.65fr);gap:10px}.import-conversion-fields .form-label{margin-bottom:4px;font-size:.76rem}.import-conversion-result{min-height:40px;padding:6px 10px}.import-actions{margin-top:10px;padding-top:10px}.import-product-card.is-resolved .import-selected-product{display:none}@media(max-width:991.98px){.import-conversion{grid-template-columns:1fr}.import-conversion-fields{grid-template-columns:1fr 1fr}.import-conversion-result{grid-column:auto}}@media(max-width:575.98px){.import-match-compact{align-items:flex-start;flex-wrap:wrap}.import-match-compact small{width:100%;margin-left:27px}.import-compare-details>summary small{display:none}.import-conversion-fields{grid-template-columns:1fr}}
.import-compare-always-visible{margin-top:9px;gap:10px}.import-compare-always-visible .import-data-panel{padding:9px 11px;border-radius:9px}.import-compare-always-visible .import-panel-title{padding-bottom:6px;margin-bottom:7px;gap:7px}.import-compare-always-visible .import-panel-title>div{display:flex;align-items:center;gap:7px;min-width:0}.import-compare-always-visible .import-panel-title>div small{margin:0;font-size:.72rem;white-space:nowrap}.import-compare-always-visible .import-panel-icon{width:26px;height:26px;border-radius:7px;font-size:9px;flex:0 0 26px}.import-compare-always-visible .import-panel-icon-product{font-size:14px}.import-compare-always-visible .import-panel-title strong{font-size:.84rem;white-space:nowrap}.import-compare-always-visible .import-data-list{gap:6px 11px}.import-compare-always-visible .import-data-list dt{font-size:.61rem;margin-bottom:1px}.import-compare-always-visible .import-data-list dd{font-size:.8rem;line-height:1.25}.import-compare-always-visible .import-data-wide dd{font-size:.75rem;color:#536174}@media(max-width:1199.98px){.import-compare-always-visible .import-panel-title>div small{display:none}}@media(max-width:767.98px){.import-compare-always-visible{grid-template-columns:1fr}.import-compare-always-visible .import-data-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.import-item-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:10px}.import-item-controls .import-conversion{margin-top:0}.import-item-controls>.import-actions{margin:0;padding:0;border:0;align-self:stretch;align-items:center}.import-item-controls>.import-actions .btn{height:100%;min-height:42px}.import-item-controls .import-selected-product{display:none}@media(max-width:1199.98px){.import-item-controls{grid-template-columns:1fr}.import-item-controls>.import-actions{justify-content:flex-end}.import-item-controls>.import-actions .btn{height:auto}}@media(max-width:575.98px){.import-item-controls>.import-actions{display:grid;grid-template-columns:1fr}.import-item-controls>.import-actions .btn{width:100%}}
.import-compare-always-visible .import-data-list{grid-template-columns:minmax(145px,1.8fr) minmax(72px,.9fr) minmax(68px,.8fr) minmax(62px,.8fr) minmax(48px,.55fr) minmax(82px,.9fr);column-gap:9px;row-gap:5px}.import-compare-always-visible .import-data-list .import-data-wide{grid-column:1/-1;padding-top:3px;border-top:1px dashed #e3e8ef}.import-compare-always-visible .import-data-list dd{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-compare-always-visible .import-data-list .import-data-wide dd{white-space:normal;overflow:visible}.import-compare-always-visible .import-data-panel{min-width:0}@media(max-width:1399.98px){.import-compare-always-visible .import-data-list{grid-template-columns:repeat(3,minmax(0,1fr))}.import-compare-always-visible .import-data-list .import-data-wide{grid-column:1/-1}}@media(max-width:767.98px){.import-compare-always-visible .import-data-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.import-item-controls{align-items:center}.import-item-controls>.import-actions{align-self:center;align-items:center}.import-item-controls>.import-actions .btn{height:42px;min-height:42px;min-width:174px;padding:.55rem 1rem;justify-content:center}.import-item-controls .import-conversion-fields .form-control,.import-item-controls .import-conversion-fields .form-select,.import-item-controls .import-conversion-fields .input-group-text{height:42px;min-height:42px}.import-item-controls .import-conversion-result{height:42px;min-height:42px;display:flex;flex-direction:column;justify-content:center}.import-item-controls .import-conversion{min-height:70px}@media(max-width:1199.98px){.import-item-controls>.import-actions .btn{height:42px;min-height:42px}}@media(max-width:575.98px){.import-item-controls>.import-actions .btn{min-width:0}}
.import-item-controls .import-conversion{height:42px;min-height:42px;padding:0;border:0;background:transparent;grid-template-columns:minmax(220px,.65fr) minmax(470px,1.35fr);align-items:center}.import-product-card.is-resolved .import-item-controls .import-conversion{border:0;background:transparent}.import-item-controls .import-conversion-heading{height:42px}.import-item-controls .import-conversion-heading small,.import-item-controls .import-conversion-fields .form-label{display:none}.import-item-controls .import-conversion-fields{height:42px;align-items:center}.import-item-controls .import-conversion-heading>span{width:32px;height:32px}.import-item-controls .import-conversion-result small{font-size:.62rem}@media(max-width:1199.98px){.import-item-controls .import-conversion{height:auto;min-height:42px;grid-template-columns:1fr}.import-item-controls .import-conversion-heading{display:none}}@media(max-width:575.98px){.import-item-controls .import-conversion-fields{height:auto}}
.pricing-intro{display:flex;justify-content:space-between;gap:22px;align-items:end}.pricing-bulk{width:min(780px,66%)}.pricing-bulk .form-label{font-size:.76rem;font-weight:700;color:#667085}.pricing-table{font-size:.82rem;min-width:1320px}.pricing-table th{padding:10px 9px;background:#f5f7fb;color:#667085;font-size:.68rem;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}.pricing-table td{padding:10px 9px}.pricing-table td strong,.pricing-table td small{display:block}.pricing-table td small{color:#8791a5;margin-top:3px;font-size:.72rem}.pricing-check{width:38px;text-align:center}.pricing-table .input-group{min-width:125px}.pricing-table .pricing-margin-group{min-width:98px}.pricing-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border-top:1px solid #e7ebf2;background:#fbfcfe}.pricing-footer strong,.pricing-footer small{display:block}.pricing-footer small{color:#8791a5;margin-top:3px}@media(max-width:991.98px){.pricing-intro{align-items:stretch;flex-direction:column}.pricing-bulk{width:100%}}@media(max-width:575.98px){.pricing-bulk .input-group{display:grid;grid-template-columns:1fr auto}.pricing-bulk .input-group .btn,.pricing-bulk .pricing-base{grid-column:1/-1}.pricing-bulk #bulkMargin{width:auto}.pricing-footer{align-items:stretch;flex-direction:column}.pricing-footer .btn{width:100%}}
.pricing-current-data{background:#f8fafc}.pricing-current-data strong{color:#344054}.pricing-table td .badge+strong{display:inline}
.import-history-table{font-size:.82rem}.import-history-table th{padding:.72rem .65rem;color:#7b8497;font-size:.72rem;font-weight:700;white-space:nowrap}.import-history-table td{padding:.72rem .65rem;color:#667085;font-size:.8rem}.import-history-table td strong{font-size:.8rem;font-weight:600;color:#667085}.import-history-table td:nth-child(2){max-width:360px}.import-history-table td:nth-child(2) strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-history-table .badge{font-size:.68rem;font-weight:700;padding:.35em .58em}.import-history-table .btn-sm{font-size:.76rem}.import-history-table .dropdown-item{font-size:.8rem;padding:.48rem .85rem}
.import-history-wrap{overflow:visible}.import-history-actions{position:relative}.import-history-actions .dropdown-menu{min-width:185px;padding:.4rem;background:#fff!important;border:1px solid #dfe4ec;border-radius:.55rem;box-shadow:0 10px 28px rgba(30,41,59,.16)!important}.import-history-actions .dropdown-item{color:#344054!important;background:#fff!important;border-radius:.38rem}.import-history-actions .dropdown-item:hover,.import-history-actions .dropdown-item:focus{color:#2946b8!important;background:#eef2ff!important}.import-history-actions .dropdown-item.text-danger{color:#dc3545!important}.import-history-actions .dropdown-item.text-danger:hover,.import-history-actions .dropdown-item.text-danger:focus{color:#b42318!important;background:#fff0f0!important}.import-history-actions .dropdown-divider{border-color:#e7ebf2;opacity:1}@media(max-width:991.98px){.import-history-wrap{overflow-x:auto;overflow-y:visible}}
.purchase-request-items{display:flex;flex-direction:column;gap:10px;overflow-x:auto;padding-bottom:2px}.purchase-request-item{display:grid;grid-template-columns:minmax(400px,1.35fr) minmax(210px,.55fr) minmax(320px,1fr) 118px;gap:12px;align-items:end;min-width:1080px;padding:12px;border:1px solid #e2e7f0;border-radius:10px;background:#fafbfc}.purchase-request-item .form-label{white-space:nowrap}.purchase-request-item .form-control,.purchase-request-item .form-select{min-width:0}.purchase-request-item .request-product{white-space:nowrap;text-overflow:ellipsis}.purchase-request-item .request-remove{width:118px;height:42px;white-space:nowrap}.purchase-request-product,.purchase-request-quantity,.purchase-request-notes{min-width:0}.purchase-request-product small{display:block;max-width:100%;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-request-summary small,.purchase-request-summary strong,.purchase-request-summary span{display:block}.purchase-request-summary small{font-size:.7rem;color:#8791a5;text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px}.purchase-request-summary span{color:#667085;margin-top:2px}.purchase-request-table{font-size:.85rem}.purchase-request-table th{font-size:.7rem;text-transform:uppercase;color:#7b8497;background:#f5f7fb;white-space:nowrap}.purchase-request-table td strong,.purchase-request-table td small{display:block}.purchase-request-table td small{font-size:.72rem;color:#8791a5;margin-top:2px}.purchase-order-convert{border:1px solid #bcd1ff}.purchase-order-price-table{font-size:.84rem}.purchase-order-price-table th{font-size:.7rem;text-transform:uppercase;color:#7b8497;background:#f5f7fb}.purchase-order-price-table .input-group{min-width:170px}.purchase-order-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.purchase-order-head small{display:block;color:#8791a5;font-size:.7rem;font-weight:700;letter-spacing:.06em}.purchase-order-head h3{margin:.2rem 0}.purchase-order-head>div:last-child strong{display:block;color:#17894b;font-size:1.6rem;margin-top:3px}@media(max-width:575.98px){.purchase-order-head{flex-direction:column}.purchase-order-head>div:last-child{text-align:left!important}}
.request-custom-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.request-custom-inline.d-none,.request-product-selector.d-none{display:none!important}.request-custom-inline .btn{height:42px;white-space:nowrap}.request-product-info{display:inline!important;margin:0 0 0 7px!important;padding:2px 6px;border-radius:10px;background:#eef2ff;color:#4560c9!important;font-size:.64rem!important;font-weight:600;vertical-align:middle}.request-product-info:empty{display:none!important}.request-unit-input{max-width:128px!important;flex:0 0 128px!important;text-transform:uppercase;font-weight:700}
.purchase-state{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.8rem;font-weight:600;color:#526071}.purchase-state-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.14)}.purchase-state-dot.is-info{background:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.14)}.purchase-state-dot.is-secondary{background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.14)}.purchase-state-dot.is-warning{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}.purchase-state-dot.is-danger{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.14)}.purchase-state-dot.is-success{background:#22a763;box-shadow:0 0 0 3px rgba(34,167,99,.14)}
.sidebar .nav-link{flex-wrap:nowrap}
.sidebar .nav-link .item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}
.sidebar .static-item .default-icon{font-size:.7rem}
.purchase-request-floating-add{position:fixed;right:28px;bottom:24px;z-index:1020;padding:.72rem 1.1rem;border-radius:999px;box-shadow:0 10px 28px rgba(var(--b2b-primary-rgb),.28);white-space:nowrap}@media(max-width:575.98px){.purchase-request-floating-add{right:16px;bottom:16px}}
.purchase-item-launcher-scroll{overflow-x:auto}.purchase-item-launcher{display:grid;grid-template-columns:minmax(330px,1.4fr) minmax(110px,.35fr) minmax(140px,.45fr) minmax(260px,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #cdd9f7;border-radius:10px;background:#f7f9ff}.purchase-item-launcher>div{min-width:0}.purchase-item-launcher .form-label{white-space:nowrap}.purchase-launch-product .form-label small{display:inline;margin-left:6px;padding:2px 6px;border-radius:10px;background:#e9efff;color:#4560c9;font-size:.63rem}.purchase-launch-product .form-label small:empty{display:none}.purchase-launch-actions{display:flex;gap:6px}.purchase-launch-actions .btn{height:42px;white-space:nowrap}.purchase-items-entry-table{font-size:.9rem}.purchase-items-entry-table th{padding:10px 9px;background:#f5f7fb;color:#758095;font-size:.75rem;text-transform:uppercase;white-space:nowrap}.purchase-items-entry-table td{padding:10px 9px}.purchase-items-entry-table td strong,.purchase-items-entry-table td small{display:block}.purchase-items-entry-table td strong{font-size:.9rem}.purchase-items-entry-table td small{font-size:.76rem;color:#8791a5;margin-top:2px}.purchase-items-empty{text-align:center;padding:22px;color:#8791a5;border:1px dashed #dce2eb;border-top:0}.purchase-items-empty.d-none{display:none!important}@media(max-width:1199.98px){.purchase-item-launcher{min-width:1050px}}
.purchase-request-modal-search{position:sticky;top:0;z-index:2;padding-bottom:12px;background:#fff}.purchase-request-modal-list{display:flex;flex-direction:column;gap:8px}.purchase-request-modal-item{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(170px,.7fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #e1e6ef;border-radius:9px;background:#fff}.purchase-request-modal-item:hover{border-color:#b9c7f5;background:#f8faff}.purchase-request-modal-item strong,.purchase-request-modal-item span,.purchase-request-modal-item small{display:block}.purchase-request-modal-item span,.purchase-request-modal-item small{color:#7b8798;font-size:.76rem;margin-top:2px}.purchase-request-modal-empty{text-align:center;padding:28px;color:#8791a5}@media(max-width:575.98px){.purchase-request-modal-item{grid-template-columns:1fr}.purchase-request-modal-item .btn{width:100%}}
.purchase-items-table-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid #e2e7f0;border-bottom:0;border-radius:9px 9px 0 0;background:#fbfcfe}.purchase-items-table-tools>strong{white-space:nowrap}.purchase-items-search{position:relative;width:min(390px,100%)}.purchase-items-search>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#7b8798;font-size:18px;pointer-events:none}.purchase-items-search .form-control{padding-left:34px}@media(max-width:575.98px){.purchase-items-table-tools{align-items:stretch;flex-direction:column}.purchase-items-search{width:100%}}
.purchase-price-product{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.purchase-price-trend{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:700;line-height:1.2;white-space:nowrap}.purchase-price-trend.is-up{color:#b42318;background:#feeceb;border:1px solid #f9c8c4}.purchase-price-trend.is-down{color:#147a46;background:#e8f8ef;border:1px solid #bee8d0}.purchase-price-trend.is-equal{color:#526071;background:#eef1f5;border:1px solid #dce1e8}.purchase-price-trend.is-new{color:#536b9e;background:#eef3ff;border:1px solid #d5e0fb}.purchase-order-price-table input[data-money]{text-align:right;font-variant-numeric:tabular-nums}.purchase-order-price-table [data-order-line-total]{font-variant-numeric:tabular-nums;white-space:nowrap}
.purchase-price-impact{min-width:175px}.purchase-price-impact strong,.purchase-price-impact small{display:block;white-space:nowrap}.purchase-price-impact strong{font-size:.76rem}.purchase-price-impact small{font-size:.67rem;margin-top:3px}.purchase-price-impact.is-gain strong,.purchase-price-impact.is-gain small,#purchaseOrderImpact.is-gain{color:#147a46}.purchase-price-impact.is-loss strong,.purchase-price-impact.is-loss small,#purchaseOrderImpact.is-loss{color:#b42318}.purchase-price-impact.is-equal strong,.purchase-price-impact.is-equal small,#purchaseOrderImpact.is-equal{color:#667085}.purchase-price-impact.is-new strong,.purchase-price-impact.is-new small,#purchaseOrderImpact.is-new{color:#789}.purchase-order-impact-row td{padding-top:8px!important;background:#fbfcfe}.purchase-order-impact-row td>small{display:block;color:#8791a5;font-size:.66rem;margin-top:2px}.purchase-order-impact-row #purchaseOrderImpact{display:block;min-width:185px;font-size:.9rem;white-space:nowrap}
.product-presentation-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:8px;border-radius:11px;background:#eef2ff;color:var(--b2b-primary);font-size:.7rem}/* Sem rolagem no modal: larguras justas, uso empilhado e remover só com o ícone. */
.product-presentations-table{min-width:840px;font-size:.78rem}.product-presentations-table th{white-space:nowrap;color:#758095;font-size:.67rem;text-transform:uppercase}.product-presentations-table td{padding:.5rem .3rem}.product-presentations-table td:nth-child(1){min-width:145px}.product-presentations-table td:nth-child(3){min-width:195px}.product-presentations-table td:nth-child(4){min-width:105px}.product-presentations-table td:nth-child(5){min-width:125px}.product-presentation-factor{display:flex;align-items:center;gap:6px;white-space:nowrap}.product-presentation-factor input{width:76px;text-align:center}.product-presentation-uses{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.product-presentation-uses label{display:flex;align-items:center;gap:4px;margin:0;font-size:.74rem}.product-presentation-uses input[type=checkbox]{accent-color:var(--b2b-primary)}
.purchase-import-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.purchase-import-source{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:18px;border:1px solid #dfe5ef;border-radius:12px;background:#fff;color:#344054;text-align:left;transition:.18s}.purchase-import-source:hover,.purchase-import-source:focus{border-color:#8fa1f3;background:#f7f9ff;box-shadow:0 8px 20px rgba(var(--b2b-primary-rgb),.1)}.purchase-import-source strong{font-size:1rem}.purchase-import-source small{color:#7b8798;line-height:1.35}.purchase-import-source-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eaf0ff;color:var(--b2b-primary);font-size:.75rem;font-weight:700}.purchase-pdf-drop{display:flex;flex-direction:column;align-items:center;gap:7px;padding:30px;border:1px dashed #aebcf0;border-radius:12px;background:#f8faff;text-align:center;cursor:pointer}.purchase-pdf-drop input{position:absolute;width:1px;height:1px;opacity:0}.purchase-pdf-drop small{color:#7b8798}@media(max-width:575.98px){.purchase-import-source-grid{grid-template-columns:1fr}}
.purchase-conversion-inline{display:flex;align-items:center;gap:5px;margin-top:5px;white-space:nowrap}.purchase-conversion-inline small{color:#667085;font-size:.66rem}.purchase-conversion-inline input{width:68px;min-width:68px;height:28px;padding:.2rem .4rem;text-align:center}.purchase-conversion-inline strong{font-size:.72rem}.purchase-conversion-inline span{display:block;margin-left:3px;color:#147a46;font-size:.65rem;font-weight:600}.purchase-conversion-inline.is-fixed input{background:#f2f4f7;color:#667085}
.purchase-ai-progress{text-align:center;padding:28px}.purchase-ai-mark{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 12px;border-radius:16px;background:linear-gradient(135deg,var(--b2b-primary),#7587f3);color:#fff;font-weight:700;box-shadow:0 10px 24px rgba(var(--b2b-primary-rgb),.25)}.purchase-ai-progress h5{margin-bottom:4px}.purchase-ai-progress p{color:#667085;margin-bottom:16px}.purchase-ai-progress .progress{height:10px;margin-bottom:14px}.purchase-ai-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:15px}.purchase-ai-steps span{color:#98a2b3;font-size:.65rem}.purchase-ai-steps span.is-active{color:var(--b2b-primary);font-weight:700}.purchase-ai-progress>small{color:#8791a5}@media(max-width:575.98px){.purchase-ai-steps{grid-template-columns:repeat(3,1fr)}}
.purchase-import-source-form{margin:0}.purchase-import-source-form label{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:5px;width:100%;height:100%;cursor:pointer}.purchase-import-source-form input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.purchase-import-source-form em{display:block;margin-top:5px;color:#6677a5;font-size:.66rem;font-style:normal;font-weight:600;line-height:1.35}
.b2b-autocomplete{position:relative;min-width:0}.b2b-autocomplete>.form-control{padding-right:38px;background-image:none}.b2b-autocomplete-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8791a5;font-size:18px;pointer-events:none}.b2b-autocomplete-results{position:absolute;z-index:1085;top:calc(100% + 5px);left:0;right:0;display:none;max-height:260px;overflow-y:auto;padding:5px;border:1px solid #dce3ef;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(28,39,60,.16)}.b2b-autocomplete.is-open .b2b-autocomplete-results{display:block}.b2b-autocomplete-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#344054;text-align:left;font-size:.82rem}.b2b-autocomplete-option:hover,.b2b-autocomplete-option.is-active{background:#edf2ff;color:#2947d3}.b2b-autocomplete-empty{padding:10px;color:#8791a5;font-size:.78rem;text-align:center}
.purchase-product-import .product-presentations-table th:nth-child(5),.purchase-product-import .product-presentations-table td:nth-child(5){display:none}.purchase-product-import .product-presentations-table{min-width:720px}
.purchase-pdf-items{min-width:1540px}.purchase-pdf-items tbody tr{height:74px}.purchase-pdf-items tbody td{white-space:nowrap;vertical-align:middle}.purchase-pdf-items tbody td:first-child{max-width:230px;overflow:hidden;text-overflow:ellipsis}.purchase-pdf-link{display:grid!important;grid-template-columns:auto auto minmax(330px,1fr);align-items:center;gap:8px 10px;min-width:720px!important}.purchase-pdf-link>div:not(.purchase-pdf-item-supplier){display:flex;gap:6px;flex-wrap:nowrap}.purchase-pdf-item-supplier{display:grid;grid-template-columns:auto minmax(300px,1fr);align-items:center;gap:7px;min-width:390px}.purchase-pdf-item-supplier>small{font-size:.68rem;white-space:nowrap}.purchase-pdf-item-supplier .b2b-autocomplete,.purchase-pdf-item-supplier .form-select{width:100%;min-width:300px}.purchase-pdf-item-supplier .form-control{height:34px;font-size:.78rem}.purchase-pdf-link .purchase-linked-status,.purchase-pdf-link .purchase-unlinked-status{margin:0}
.purchase-pdf-items{min-width:1180px;font-size:.84rem}.purchase-pdf-items th{font-size:.68rem;text-transform:uppercase;letter-spacing:.025em;color:#7b8497;background:#f5f7fb;white-space:nowrap}.purchase-pdf-items td{padding-top:12px;padding-bottom:12px}.purchase-pdf-items tr.needs-link{background:#fffaf6}.purchase-pdf-items tr.is-linked{background:#f4fcf7}.purchase-pdf-link{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:310px}.purchase-pdf-link>div{display:flex;gap:6px;flex-wrap:nowrap}.purchase-pdf-link .btn{white-space:nowrap}.purchase-linked-status,.purchase-unlinked-status{display:inline-flex;align-items:center;max-width:310px;padding:4px 9px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.purchase-linked-status{color:#147a45;background:#dcf7e8}.purchase-unlinked-status{color:#b54708;background:#fff0e5}.purchase-pdf-product-list{display:flex;flex-direction:column;gap:7px;max-height:390px;overflow-y:auto}.purchase-pdf-product-option{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #e0e5ed;border-radius:9px;cursor:pointer;transition:.15s}.purchase-pdf-product-option:hover{border-color:#8da2f5;background:#f7f9ff}.purchase-pdf-product-option:has(input:checked){border-color:var(--b2b-primary);background:#f1f4ff;box-shadow:0 0 0 1px var(--b2b-primary)}.purchase-pdf-product-option span,.purchase-pdf-product-option strong,.purchase-pdf-product-option small{display:block}.purchase-pdf-product-option span{min-width:0}.purchase-pdf-product-option strong{color:#344054}.purchase-pdf-product-option small{margin-top:2px;color:#7b8798;font-size:.73rem}
.b2b-icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;padding:0;line-height:1}
.b2b-icon-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.purchase-pdf-actions{display:flex;gap:6px;flex-wrap:nowrap}
.purchase-pdf-items{min-width:1060px}
.purchase-pdf-items tbody tr{height:64px}
.purchase-pdf-link{grid-template-columns:auto auto minmax(300px,1fr)!important;min-width:600px!important}
.import-crop-stage{position:relative;display:inline-block;max-width:100%;border:1px solid #dfe5ef;border-radius:10px;background:#f4f6fb;overflow:hidden;cursor:crosshair;user-select:none}
.import-crop-stage img{display:block;max-width:100%;height:auto;pointer-events:none}
.import-option.is-disabled{position:relative;opacity:.55;cursor:not-allowed;background:#f7f8fb}
.import-option.is-disabled:hover{border-color:#dfe5ef;box-shadow:none;transform:none}
.import-crop-manual{padding:14px 16px;border:1px solid #dfe5ef;border-radius:10px;background:#f9fbff}
.import-crop-preview{display:block;max-width:100%;max-height:320px;border:1px solid #dfe5ef;border-radius:8px}
.import-crop-selection{position:absolute;border:2px solid var(--b2b-primary);background:rgba(var(--b2b-primary-rgb),.14);box-shadow:0 0 0 9999px rgba(23,32,54,.35);pointer-events:none}
.purchase-result-panel{padding:16px 18px;border:1px dashed #c9d5ff;border-radius:12px;background:#f7f9ff}
.purchase-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.purchase-result-head strong{display:block;color:#23314b}
.purchase-result-head small{color:#7b8798}
.purchase-result-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.purchase-result-grid small{display:block;color:#7b8798;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}
.purchase-result-grid strong{display:block;margin-top:3px;font-size:1rem;white-space:nowrap}
@media(max-width:1199.98px){.purchase-result-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:575.98px){.purchase-result-grid{grid-template-columns:repeat(2,1fr)}}
.purchase-order-actions{display:inline-flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap}
.purchase-order-group-list{display:flex;flex-direction:column;gap:8px}
.purchase-pdf-link{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px;grid-template-columns:none!important;min-width:0!important;white-space:nowrap}
.purchase-pdf-item-supplier{display:block!important;grid-template-columns:none!important;min-width:0!important}
.purchase-pdf-item-supplier .b2b-autocomplete,.purchase-pdf-item-supplier .form-select{width:210px;min-width:210px}
.purchase-pdf-supplier-cell{min-width:215px}
.purchase-linked-status,.purchase-unlinked-status{max-width:none}
.purchase-linked-status.is-check{width:24px;height:24px;padding:0;justify-content:center;border-radius:50%;font-size:.8rem;cursor:help}
.ai-agent-fields{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:14px}
.ai-agent-fields .form-label{margin-bottom:.25rem;white-space:nowrap}
.ai-agent-provider{flex:0 0 190px}
.ai-agent-key{flex:1 1 300px;min-width:220px}
.ai-agent-model{flex:0 0 200px}
.ai-agent-fields .ai-agent-check{flex:0 0 auto;margin:0 0 .55rem;white-space:nowrap}
.ai-agent-fields .btn{flex:0 0 auto;white-space:nowrap}
.ai-agent-test{display:flex;align-items:center;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid #e7ebf2}
.ai-agent-test small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:991.98px){.ai-agent-fields{flex-wrap:wrap}.ai-agent-key,.ai-agent-model,.ai-agent-provider{flex:1 1 220px}}
.pricing-bulk .input-group{flex-wrap:nowrap}
.pricing-bulk #bulkMargin{flex:0 0 132px;width:132px;text-align:right;font-weight:600}
.pricing-bulk .pricing-base{flex:0 0 auto;width:auto;min-width:148px;border-left:0}
.pricing-bulk .btn{flex:0 0 auto;white-space:nowrap}
.pricing-table .pricing-margin{text-align:right;min-width:88px}
.pricing-table .pricing-margin-group{max-width:150px}
.pricing-table td.pricing-inline{white-space:nowrap}
.pricing-table td.pricing-inline strong{display:inline-block;margin-right:6px;vertical-align:middle}
.pricing-table td.pricing-inline .input-group{display:inline-flex;width:auto;margin-right:6px;vertical-align:middle}
.pricing-table td.pricing-inline .pricing-price{width:104px}
.pricing-table td.pricing-inline .purchase-price-trend{vertical-align:middle}
.purchase-pdf-items tbody tr.needs-review{background:#fffbf2;box-shadow:inset 3px 0 0 #f0a642}
.purchase-pdf-items tbody tr.needs-review td:first-child small.text-warning{color:#b54708!important}
.purchase-price-trend.is-positive{color:#147a46;background:#e8f8ef;border:1px solid #bee8d0}
.purchase-price-trend.is-negative{color:#b42318;background:#feeceb;border:1px solid #f9c8c4}
.purchase-price-cell{white-space:nowrap}
.purchase-price-cell small{display:block;margin-top:3px;color:#8995a7;font-size:.67rem}
.purchase-buy-input{display:flex;align-items:center;gap:5px}
.purchase-buy-input span{color:#8995a7;font-size:.72rem;font-weight:600}
.purchase-buy-input input{width:104px;min-width:104px;height:32px;text-align:right;font-size:.8rem}
.purchase-pdf-items td [data-margin-impact]{min-width:132px}
.purchase-pdf-items{min-width:1180px}
.purchase-pdf-items tbody tr{height:60px}
.purchase-origin{display:flex;align-items:center;gap:6px;max-width:210px}
.purchase-origin-name{max-width:145px;overflow:hidden;text-overflow:ellipsis;color:var(--b2b-primary);font-weight:600;text-decoration:none;white-space:nowrap}
.purchase-origin-name:hover{text-decoration:underline}
.purchase-origin-tag{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:2px 7px;border:1px solid transparent;border-radius:999px;font-size:.64rem;font-weight:700;white-space:nowrap;cursor:help}
.purchase-origin-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.origin-tone-0{color:#2947d3;background:#eaefff;border-color:#c9d5ff}
.origin-tone-1{color:#0f7a52;background:#e6f8f0;border-color:#bfe9d7}
.origin-tone-2{color:#9a4d0a;background:#fdf0e4;border-color:#f6d7b6}
.origin-tone-3{color:#7b3fb5;background:#f4ecfd;border-color:#e0cdf7}
.origin-tone-4{color:#0b6d80;background:#e5f6f9;border-color:#bde5ed}
.origin-tone-5{color:#a83a5b;background:#fdecf1;border-color:#f7c8d6}
.person-kinds{white-space:nowrap}
.person-kinds .badge{margin-right:.2rem}
.person-driver-fields .form-label{margin-bottom:.25rem;white-space:nowrap}

.vehicle-identification-card{margin:0;padding:.7rem .8rem;border:1px solid #dce3ff;border-radius:12px;background:linear-gradient(135deg,#f8faff 0%,#f3f6ff 100%)}
.vehicle-form .form-label{margin-bottom:.2rem;font-size:.78rem;white-space:nowrap}
.vehicle-form .form-check-label{white-space:nowrap}
#newVehicle .modal-dialog,[id^="editVehicle"] .modal-dialog{max-height:calc(100vh - 2rem);margin:1rem auto}
#newVehicle .modal-body,[id^="editVehicle"] .modal-body{padding:1rem 1.25rem}
.vehicle-status{white-space:nowrap}
.vehicle-status .badge{margin-right:.2rem}

/* O tema esconde o que passa de 92vh na sidebar (depende de um plugin de scroll
   que não é carregado). Com o menu maior, o último item sumia: aqui ela rola. */
.b2b-sidebar{display:flex;flex-direction:column}
.b2b-sidebar .sidebar-header{flex:0 0 auto}
.b2b-sidebar .sidebar-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;padding-bottom:1rem}
.b2b-sidebar .sidebar-body::-webkit-scrollbar{width:6px}
.b2b-sidebar .sidebar-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
.b2b-sidebar .sidebar-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.b2b-sidebar .sidebar-body::-webkit-scrollbar-track{background:transparent}
.b2b-sidebar .sidebar-body>.navbar-nav{flex:0 0 auto}

/* Tipografia padronizada: mesmo tamanho do menu (.9rem) no restante do sistema. */
body{font-size:.9rem}
.form-label{font-size:.83rem;font-weight:600}
.form-control,.form-select,.input-group-text{font-size:.9rem}
.btn{font-size:.9rem}
.btn-sm,.btn-group-sm>.btn{font-size:.8rem}
.table{font-size:.9rem}
.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}
.modal-title{font-size:1.05rem}
h5,.h5{font-size:1.05rem}
.badge{font-size:.72rem}
.dropdown-menu,.datatable-input,div.dt-container .dt-length,div.dt-container .dt-search,div.dt-container .dt-info,div.dt-container .dt-paging{font-size:.85rem}
.page-heading h5{font-size:1.05rem}

/* Destino do item na importação: faixa própria, fora do grid de altura fixa dos controles. */
.import-destination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding:11px 13px;border:1px solid #dce4ef;border-radius:10px;background:#f8fafc}
.import-destination-row>div{min-width:0}
.import-destination-row strong{display:block;font-size:.82rem}
.import-destination-row small{display:block;margin-top:2px;color:#7b8798;font-size:.72rem}
.import-destination-row .form-select{width:auto;min-width:180px;flex:0 0 auto}
@media(max-width:575.98px){.import-destination-row .form-select{width:100%}}

/* Indicadores do painel: os 8 cards em uma única linha nas telas largas. */
.dashboard-cards{display:grid;grid-template-columns:repeat(var(--cards,8),minmax(0,1fr));gap:10px}
.dashboard-cards>.card{margin:0;height:100%}
.dashboard-cards .card-body{padding:11px 12px}
.dashboard-cards h4{font-size:clamp(.72rem,1.02vw,1rem);margin-top:2px;letter-spacing:-.3px;white-space:nowrap}
.dashboard-cards small{font-size:clamp(.58rem,.62vw,.68rem);line-height:1.25;display:block}
.dashboard-cards small.text-uppercase{letter-spacing:.03em}
@media(max-width:991.98px){.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767.98px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Modal rolável cujo conteúdo é um <form>: sem encolher o form, o corpo estoura
   e empurra o rodapé (botões) para fora da tela. */
.modal-dialog-scrollable .modal-content > form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:100%;overflow:hidden}
.modal-dialog-scrollable .modal-content > form > .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}
.modal-dialog-scrollable .modal-content > form > .modal-header,
.modal-dialog-scrollable .modal-content > form > .modal-footer{flex:0 0 auto}

/* Impressão do navegador (relatórios/telas): mantém as cores do tema em vez
   de sair tudo em branco e preto. */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .b2b-sidebar,.iq-navbar,.btn,form[method],.dropdown{display:none!important}
  .main-content{margin:0!important}
  .card{border:1px solid #dfe4ec!important;box-shadow:none!important;break-inside:avoid}
  .table{font-size:.78rem}
}

/* Barra de rolagem: a padrão do Windows é fina demais para arrastar nas tabelas
   largas do sistema. Vale para a página e para qualquer área com overflow. */
/* Nada de scrollbar-width aqui: quando a propriedade padrão aparece, o Chromium
   passa a ignorar os ::-webkit-scrollbar e a barra volta a ficar fina. */
::-webkit-scrollbar{width:16px;height:16px}
::-webkit-scrollbar-track{background:#eef1f7;border-radius:10px}
::-webkit-scrollbar-thumb{background:rgba(var(--b2b-primary-rgb,58,87,232),.45);border-radius:10px;border:4px solid #eef1f7;min-height:48px;min-width:48px}
::-webkit-scrollbar-thumb:hover{background:rgba(var(--b2b-primary-rgb,58,87,232),.7)}
::-webkit-scrollbar-thumb:active{background:rgba(var(--b2b-primary-rgb,58,87,232),.9)}
::-webkit-scrollbar-corner{background:#eef1f7}
.table-responsive{padding-bottom:2px}
.modal-body::-webkit-scrollbar,.table-responsive::-webkit-scrollbar{width:16px;height:16px}
/* Firefox não tem os pseudo-elementos: aqui a barra larga vem da propriedade padrão. */
@supports not selector(::-webkit-scrollbar){
  *{scrollbar-width:auto;scrollbar-color:rgba(var(--b2b-primary-rgb,58,87,232),.55) #eef1f7}
}

/* Ícones dentro de botões de ação (itens da venda, tabelas em geral). */
.btn-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; line-height: 1; }
.btn-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.btn-icon-label { display: inline-flex; align-items: center; gap: .4rem; }
.btn-icon-label svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
/* Badge no resumo da venda: o span do bloco vira bloco, o selo não. */
.purchase-request-summary .badge { display: inline-block; font-size: .68rem; font-weight: 600; padding: .18rem .5rem; vertical-align: middle; }

/* O tema capitaliza cada palavra do cabeçalho; em português só a primeira. */
table thead tr th { text-transform: none; }

/* Chave de acesso da NF-e: 44 dígitos legíveis, em grupos de quatro. */
.access-key { font-family: 'DejaVu Sans Mono', ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; letter-spacing: .06em; word-break: break-all; line-height: 1.5; }
.fiscal-chip { display: inline-block; background: #f2f5fa; color: #5b6b7f; border-radius: 6px; padding: .08rem .4rem; font-size: .69rem; margin: .1rem .25rem .1rem 0; white-space: nowrap; }
.fiscal-chip strong { color: #2d3a51; font-weight: 600; }
/* Botão de ações só com a seta: o rótulo vive no title/aria-label. */
.btn-caret { padding-left: .55rem; padding-right: .55rem; }
.btn-caret::after { margin-left: 0; }

/*
 * Cards de indicador: a quantidade vem do --cards da própria tela (o painel tem
 * oito, os relatórios variam). Abaixo de 1200px as colunas se acomodam sozinhas,
 * senão o conteúdo aperta e escapa do quadro.
 */
@media (max-width: 1200px) {
  .dashboard-cards { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
}
/* Selo e comparativo quebram linha em vez de vazar quando o card é estreito. */
.dashboard-cards .card-body > .d-flex { flex-wrap: wrap; row-gap: 2px; }
.dashboard-cards .card-body { overflow: hidden; }
