/* Financeiro: superfícies de consulta e leitura administrativa. */
.bo-finance { max-width: 1500px; }
.bo-finance-query { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; margin-bottom: 16px; background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; }
.bo-finance-query > .bo-field { margin: 0; min-width: 150px; }
.bo-finance-query > .bo-field > label { font-size: .72rem; }
.bo-finance-query > label { display: flex; align-items: center; gap: 8px; margin: 0; min-height: 42px; font-size: .88rem; }
.bo-finance-query input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--bo-navy, #0e3152); }
.bo-finance-query > .bo-button:last-child { margin-left: auto; }
.bo-finance-search { flex: 1 1 230px; min-width: 180px; }
.bo-finance-query .bo-finance-search input { min-width: 0; width: 100%; }
.bo-finance-filters { position: relative; }
.bo-finance-filters > em { background: var(--bo-blue); border: 2px solid #fff; border-radius: 50%; height: 10px; width: 10px; position: absolute; right: -3px; top: -3px; }
.bo-finance-open-filter { display: flex; align-items: center; gap: 8px; min-height: 42px; }
.bo-finance-period { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; }
.bo-finance-period__range { display: flex; border: 1px solid var(--bo-border); border-radius: 9px; min-height: 42px; overflow: hidden; max-width: 100%; }
.bo-finance-period__range button { background: var(--bo-surface); color: var(--bo-ink); border: 0; padding: 0 13px; font: inherit; font-weight: 800; cursor: pointer; }
.bo-finance-period__range button:hover:not(:disabled) { background: #edf5fb; }
.bo-finance-period__range .bo-finance-period__label { display: flex; align-items: center; gap: 5px; border-inline: 1px solid var(--bo-border); white-space: nowrap; }
.bo-finance-period__range button:disabled { opacity: .45; cursor: default; }
@media (max-width: 460px) {
    .bo-finance-period__range .bo-finance-period__label { font-size: .76rem; }
    .bo-finance-period__range button { padding-inline: 8px; }
}
.bo-finance-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
.bo-finance-record { display: grid; grid-template-columns: minmax(160px, 2fr) minmax(115px, .85fr) minmax(130px, .9fr) minmax(130px, 1fr) 16px; align-items: center; gap: 18px; width: 100%; min-width: 0; min-height: 86px; padding: 15px 16px; border: 1px solid var(--bo-border); border-radius: 12px; background: #fff; color: var(--bo-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.bo-finance-record:hover:not(:disabled), .bo-finance-agreement:hover { border-color: var(--bo-blue); box-shadow: 0 3px 12px #10345409; }
.bo-finance-record:focus-visible, .bo-finance-agreement:focus-visible, .bo-finance-period button:focus-visible { outline: 2px solid var(--bo-blue); outline-offset: 3px; }
.bo-finance-record:disabled { opacity: .6; cursor: wait; }
.bo-finance-record strong { font-weight: 700; font-size: .94rem; }
.bo-finance-record small { display: block; color: var(--bo-muted); font-size: .74rem; font-weight: 400; }
.bo-finance-record__identity { display: flex; align-items: center; gap: 12px; min-width: 0; }
.bo-finance-record__identity > i { flex: 0 0 38px; display: grid; place-items: center; height: 38px; border-radius: 10px; color: var(--bo-blue); background: #e8f2fa; }
.bo-finance-record__identity > span { min-width: 0; display: grid; gap: 5px; }
.bo-finance-record__identity strong { overflow-wrap: anywhere; }
.bo-finance-record__identity small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bo-finance-record__detail, .bo-finance-record__amount { display: grid; gap: 4px; }
.bo-finance-record__detail > span { font-size: .84rem; }
.bo-finance-record__amount { text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bo-finance-record__arrow { color: var(--bo-blue); font-size: .8rem; }
.bo-finance-status { display: inline-block; max-width: 100%; background: #f0f5f9; border-radius: 6px; color: #4b657b; padding: 4px 8px; font-size: .72rem; line-height: 1.4; }
.bo-finance-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: space-between; background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; padding: 10px 12px; margin-top: 14px; color: var(--bo-muted); font-size: .82rem; }
.bo-finance-pagination > div { display: flex; gap: 8px; }
.bo-finance-pagination small { font-size: inherit; }
.bo-finance .bo-empty { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; }
.bo-finance-pending { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 16px; background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; min-width: 0; }
.bo-finance-pending > span { display: grid; gap: 5px; min-width: 0; overflow-wrap: anywhere; }
.bo-finance-pending small { color: var(--bo-muted); font-size: .78rem; }
.bo-finance-agreement { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid var(--bo-border); border-radius: 12px; background: #fff; color: var(--bo-ink); text-align: left; }
.bo-finance-agreement span { display: grid; gap: 5px; }
.bo-finance-agreement small { color: var(--bo-muted); }
.bo-finance-agreement i { color: var(--bo-blue); }
.bo-finance-tabs { display: flex; gap: 4px; background: var(--bo-soft); border-radius: 9px; padding: 4px; }
.bo-finance-tabs button { background: transparent; color: var(--bo-muted); border: 0; border-radius: 6px; padding: 9px 14px; font: inherit; font-weight: 700; font-size: .85rem; }
.bo-finance-tabs button.is-active { color: var(--bo-navy); background: #fff; box-shadow: 0 1px 4px #0c31541a; }
.bo-finance-tabs button:focus-visible { outline: 2px solid var(--bo-blue); outline-offset: 2px; }
.bo-finance-integrations { margin-top: 24px; }
.bo-finance-section-heading small { font-size: .7rem; text-transform: uppercase; color: var(--bo-blue); font-weight: 700; }
.bo-finance-section-heading h2 { font-size: 1.12rem; margin: 4px 0 12px; font-weight: 700; color: var(--bo-ink); }
.bo-finance-integrations > p { color: var(--bo-muted); font-size: .82rem; }
.bo-finance-integrations .bo-panel { margin: 0; }
.bo-finance-summary { display: grid; grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) 16px minmax(0, 1fr); align-items: center; gap: 10px; border: 1px solid var(--bo-border); border-radius: 12px; padding: 10px; background: #f7fafc; margin-bottom: 14px; }
.bo-finance-summary > span { display: flex; align-items: center; gap: 14px; background: #fff; padding: 12px 16px; border-radius: 9px; min-width: 0; }
.bo-finance-summary > span > span { display: grid; gap: 3px; min-width: 0; }
.bo-finance-summary small { color: var(--bo-muted); font-size: .72rem; }
.bo-finance-summary strong { font-size: 1.04rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.bo-finance-summary > i { color: var(--bo-muted); font-size: .7rem; text-align: center; }
.bo-finance-summary > .is-balance { background: #e7f1f9; color: var(--bo-ink); }
.bo-finance-summary--aging { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-finance-report .is-incoming { color: #008878; }
.bo-finance-report .is-outgoing { color: #b74738; }
.bo-finance-report__columns, .bo-finance-report__row { display: grid; grid-template-columns: minmax(130px, 1.3fr) repeat(3, minmax(100px, 1fr)); gap: 18px; align-items: center; padding: 13px 16px; }
.bo-finance-report__columns { color: var(--bo-muted); font-size: .65rem; text-transform: uppercase; font-weight: 700; }
.bo-finance-report__columns > span:not(:first-child) { text-align: right; }
.bo-finance-report__row { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; min-height: 68px; }
.bo-finance-report__row > span:not(:first-child), .bo-finance-aging-row > span { text-align: right; font-variant-numeric: tabular-nums; display: grid; gap: 4px; }
.bo-finance-report__row small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); color: var(--bo-muted); font-size: .7rem; }
.bo-finance-report__row strong { font-size: .9rem; }
.bo-finance-report__date { display: flex; align-items: center; gap: 12px; }
.bo-finance-report__date i { color: var(--bo-blue); }
.bo-finance-aging-row { display: grid; grid-template-columns: minmax(140px, 2fr) 1fr 1fr; gap: 16px; align-items: center; background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; padding: 16px; }
.bo-finance-aging-row small { color: var(--bo-muted); font-size: .72rem; }
.bo-report-group { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; min-width: 0; }
.bo-report-group__summary { position: relative; }
.bo-report-group__toggle { display: block; width: 100%; padding: 0; border: 0; border-radius: 12px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.bo-report-group__toggle:hover .bo-finance-report__row, .bo-report-group__toggle:hover .bo-finance-aging-row { background: #f8fafb; }
.bo-report-group__toggle:focus-visible { outline: 2px solid var(--bo-blue); outline-offset: 2px; }
.bo-report-group .bo-finance-report__row, .bo-report-group .bo-finance-aging-row { border: 0; padding-right: 52px; }
.bo-finance-report__columns { padding-right: 52px; }
.bo-report-expand { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 36px; height: 40px; border: 0; border-radius: 8px; background: transparent; color: var(--bo-blue); cursor: pointer; }
.bo-report-detail { border-top: 1px solid var(--bo-border); margin: 0 16px; padding: 4px 0 12px; }
.bo-report-detail__item { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(100px, 1fr)); gap: 16px; padding: 12px 0; align-items: center; }
.bo-report-detail__item.is-single { grid-template-columns: minmax(0, 3fr) minmax(100px, 1fr); }
.bo-report-detail__item + .bo-report-detail__item { border-top: 1px solid var(--bo-border); }
.bo-report-detail__title { display: flex; align-items: center; gap: 4px; min-width: 0; }
.bo-report-detail__title > strong { min-width: 0; }
.bo-report-document-link { display: inline-grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 6px; color: var(--bo-muted); text-decoration: none; font-size: .85rem; }
.bo-report-document-link:hover { background: #f0f3f6; color: var(--bo-blue); }
.bo-report-document-link:focus-visible { outline: 2px solid var(--bo-blue); outline-offset: 1px; }
.bo-report-detail__identity { display: grid; gap: 3px; overflow-wrap: anywhere; }
.bo-report-detail strong { font-size: .88rem; font-weight: 700; }
.bo-report-detail small { font-size: .74rem; color: var(--bo-muted); }
.bo-report-detail__identity > span { font-size: .85rem; }
.bo-report-detail__amount { display: grid; gap: 4px; text-align: right; font-variant-numeric: tabular-nums; }
.bo-report-detail .bo-finance-pagination { margin-top: 8px; padding: 8px 0 0; border: 0; }
@media (max-width: 1050px) {
    .bo-finance-record { grid-template-columns: minmax(160px, 1.5fr) minmax(110px, 1fr) minmax(130px, 1fr) 16px; gap: 12px; }
    .bo-finance-record__identity { grid-column: 1; grid-row: 1 / span 2; }
    .bo-finance-record__detail { grid-column: 2; grid-row: 1; }
    .bo-finance-record__status { grid-column: 2; grid-row: 2; }
    .bo-finance-record__amount { grid-column: 3; grid-row: 1 / span 2; }
    .bo-finance-record__arrow { grid-column: 4; grid-row: 1 / span 2; }
}
@media (max-width: 640px) {
    .bo-finance-query { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .bo-finance-query > * { min-width: 0; grid-column: 1 / -1; }
    .bo-finance-query > .bo-button { grid-column: auto; width: 100%; justify-content: center; }
    .bo-finance-query > .bo-button:last-child { margin-left: 0; }
    .bo-finance-query > .bo-button:last-child { grid-column: 1 / -1; }
    .bo-finance-query:has(> .bo-finance-filters) > .bo-button { grid-column: auto; }
    .bo-finance-query > .bo-finance-tabs { display: flex; }
    .bo-finance-query > .bo-finance-tabs > button { flex: 1; }
    .bo-finance-period { width: 100%; }
    .bo-finance-period > .bo-button { flex: 1 1 0; justify-content: center; min-width: 0; }
    .bo-finance-period__range { flex: 1 0 100%; justify-content: space-between; }
    .bo-finance-period__range .bo-finance-period__label { flex: 1; min-width: 0; justify-content: center; padding-inline: 5px; font-size: .88rem; }
    .bo-finance-period__range > button:not(.bo-finance-period__label) { flex: 0 0 32px; padding: 0; }
    .bo-finance-query > .bo-finance-search { flex-basis: 100%; }
    .bo-finance-query > .bo-field { flex: 1 1 100%; }
    .bo-finance-record { grid-template-columns: minmax(0, 1fr) minmax(110px, .8fr) 14px; gap: 12px; padding: 14px; }
    .bo-finance-record__identity { grid-column: 1 / 3; grid-row: 1; }
    .bo-finance-record__detail { grid-column: 1; grid-row: 2; }
    .bo-finance-record__status { grid-column: 1; grid-row: 3; }
    .bo-finance-record__amount { grid-column: 2; grid-row: 2 / 4; }
    .bo-finance-record__arrow { grid-column: 3; grid-row: 1 / 4; }
    .bo-finance-record__identity strong { font-size: .87rem; }
    .bo-finance-pagination > span, .bo-finance-pagination > div { width: 100%; }
    .bo-finance-pagination > div { justify-content: space-between; }
    .bo-finance-pagination .bo-button { min-height: 42px; }
    .bo-finance-summary { grid-template-columns: 1fr 1fr; gap: 8px; }
    .bo-finance-summary > i { display: none; }
    .bo-finance-summary > span { padding: 10px; gap: 8px; }
    .bo-finance-summary > span > i { display: none; }
    .bo-finance-summary > .is-balance { grid-column: 1 / -1; }
    .bo-finance-summary--aging > .is-balance { grid-column: auto; }
    .bo-finance-report__columns { display: none; }
    .bo-finance-report__row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 8px; padding: 14px; }
    .bo-finance-report__date { grid-column: 1 / -1; border-bottom: 1px solid var(--bo-border); padding-bottom: 10px; }
    .bo-finance-report__row small { position: static; width: auto; height: auto; overflow: visible; clip-path: none; display: block; }
    .bo-finance-report__row strong { font-size: .78rem; overflow-wrap: anywhere; }
    .bo-finance-report__row > span:not(:first-child) { text-align: left; }
    .bo-finance-aging-row { grid-template-columns: 1fr 1fr; }
    .bo-finance-aging-row > strong { grid-column: 1 / -1; }
    .bo-finance-aging-row > span { text-align: left; }
    .bo-report-group .bo-finance-report__row, .bo-report-group .bo-finance-aging-row { padding-right: 14px; }
    .bo-report-group .bo-finance-report__date, .bo-report-group .bo-finance-aging-row > strong { padding-right: 34px; min-height: 36px; }
    .bo-report-expand { top: 10px; transform: none; }
    .bo-report-detail__item, .bo-report-detail__item.is-single { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .bo-report-detail__identity { grid-column: 1 / -1; }
    .bo-report-detail__amount { text-align: left; }
    .bo-finance-pending { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 360px) {
    .bo-finance-period__range .bo-finance-period__label { font-size: .76rem; gap: 4px; padding-inline: 2px; }
}

.backoffice-module,
.backoffice-module * {
    box-sizing: border-box;
    letter-spacing: 0;
}

/* Kardex: produto + posição de estoque, com leitura cronológica. */
.bo-stock-kardex-page { max-width: 1500px; }
.bo-stock-kardex-setup { margin: 0 auto; max-width: 1120px; overflow: hidden; padding: 0; }
.bo-stock-kardex-setup__intro {
    align-items: center;
    background: #f3f8fc;
    border-bottom: 1px solid var(--bo-border);
    display: flex;
    gap: 16px;
    padding: 22px 24px;
}
.bo-stock-kardex-setup__intro > span,
.bo-stock-kardex-report__product > i {
    align-items: center;
    background: #e5f1f9;
    border-radius: 12px;
    color: var(--bo-blue);
    display: inline-flex;
    flex: 0 0 52px;
    height: 52px;
    justify-content: center;
    width: 52px;
}
.bo-stock-kardex-setup__intro div { display: grid; gap: 3px; }
.bo-stock-kardex-setup__intro small,
.bo-stock-kardex-report__head small,
.bo-stock-kardex-timeline__heading small { color: var(--bo-blue); font-size: .68rem; font-weight: 900; letter-spacing: .02em; }
.bo-stock-kardex-setup__intro strong { color: var(--bo-ink); font-size: 1.25rem; }
.bo-stock-kardex-step { border-bottom: 1px solid var(--bo-border); padding: 22px 24px; }
.bo-stock-kardex-step > header { align-items: center; display: flex; gap: 10px; margin-bottom: 14px; }
.bo-stock-kardex-step__number {
    align-items: center;
    background: var(--bo-blue);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}
.bo-stock-kardex-step > header strong { color: var(--bo-ink); font-size: 1rem; }
.bo-stock-kardex-step > header > .bo-button { margin-left: auto; }
.bo-stock-kardex-choice-grid { display: grid; gap: 9px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 430px)); padding-left: 38px; }
.bo-stock-kardex-choice,
.bo-stock-kardex-product-results > button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-ink);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 68px;
    padding: 10px 12px;
    text-align: left;
}
.bo-stock-kardex-choice:hover,
.bo-stock-kardex-choice.is-selected { border-color: var(--bo-blue); }
.bo-stock-kardex-choice.is-selected { background: #eaf4fb; }
.bo-stock-kardex-choice > span:first-child,
.bo-stock-kardex-product-results > button > span:first-child,
.bo-stock-kardex-selected-product > span:first-child {
    align-items: center;
    background: #edf4f8;
    border-radius: 10px;
    color: var(--bo-blue);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.bo-stock-kardex-choice > span:nth-child(2),
.bo-stock-kardex-product-results > button > span:nth-child(2),
.bo-stock-kardex-selected-product > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.bo-stock-kardex-choice strong,
.bo-stock-kardex-product-results strong,
.bo-stock-kardex-selected-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-choice small,
.bo-stock-kardex-product-results small,
.bo-stock-kardex-selected-product small { color: var(--bo-muted); }
.bo-stock-kardex-choice > i:last-child { color: var(--bo-blue); }
.bo-stock-kardex-choice {
    gap: 3px 10px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    min-height: 66px;
    padding: 10px;
}
.bo-stock-kardex-choice > span:first-child { grid-row: 1 / 3; height: 40px; width: 40px; }
.bo-stock-kardex-choice > strong { color: var(--bo-ink); min-width: 0; }
.bo-stock-kardex-choice > small { font-size: .7rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-choice > i:last-child { grid-column: 3; grid-row: 1 / 3; }
.bo-stock-kardex-location-grid { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 390px)); margin-top: 10px; padding-left: 38px; }
.bo-stock-kardex-location-grid > button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-ink);
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    min-height: 56px;
    padding: 8px 10px;
    text-align: left;
}
.bo-stock-kardex-location-grid > button > span { align-items: center; background: #edf4f8; border-radius: 8px; color: var(--bo-blue); display: inline-flex; height: 34px; justify-content: center; width: 34px; }
.bo-stock-kardex-location-grid > button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-location-grid > button.is-selected { background: #eaf4fb; border-color: var(--bo-blue); }
.bo-stock-kardex-location-grid > button > i { color: var(--bo-blue); }
.bo-stock-kardex-product-search { margin-left: 38px; min-height: 48px; width: calc(100% - 38px); }
.bo-stock-kardex-product-results { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-left: 38px; margin-top: 10px; width: calc(100% - 38px); }
.bo-stock-kardex-product-results > button:hover { border-color: var(--bo-blue); }
.bo-stock-kardex-product-results > button > i { color: var(--bo-blue); }
.bo-stock-kardex-product-feedback { align-items: center; color: var(--bo-muted); display: flex; gap: 8px; margin-left: 38px; min-height: 52px; padding: 8px 12px 0; width: calc(100% - 38px); }
.bo-stock-kardex-selected-product {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid var(--bo-blue);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    min-height: 70px;
    margin-left: 38px;
    padding: 10px 12px;
    width: calc(100% - 38px);
}
.bo-stock-kardex-period { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(0, 240px) auto minmax(0, 240px); max-width: 520px; padding-left: 38px; }
.bo-stock-kardex-period label { display: grid; gap: 6px; }
.bo-stock-kardex-period label span { color: var(--bo-muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.bo-stock-kardex-period > i { color: var(--bo-muted); margin-bottom: 15px; }
.bo-stock-kardex-setup__footer {
    align-items: center;
    background: #eef5f9;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 16px 24px;
}
.bo-stock-kardex-setup__footer > span { align-items: center; display: flex; gap: 11px; min-width: 0; }
.bo-stock-kardex-setup__footer > span > i { color: var(--bo-blue); }
.bo-stock-kardex-setup__footer > span > span { display: grid; gap: 2px; min-width: 0; }
.bo-stock-kardex-setup__footer strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-setup__footer small { color: var(--bo-muted); }

.bo-stock-kardex-toolbar { justify-content: flex-start; }
.bo-stock-kardex-toolbar > .bo-button--primary { flex: 0 0 auto; min-height: 42px; }
.bo-stock-kardex-report { display: grid; gap: 12px; margin-top: 12px; }
.bo-stock-kardex-report__head {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    display: flex;
    gap: 22px;
    justify-content: space-between;
    padding: 14px 16px;
}
.bo-stock-kardex-report__product { align-items: center; display: flex; gap: 12px; min-width: 0; }
.bo-stock-kardex-report__product > span,
.bo-stock-kardex-report__scope { display: grid; gap: 2px; min-width: 0; }
.bo-stock-kardex-report__product strong { color: var(--bo-ink); font-size: 1.08rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-report__head em { color: var(--bo-muted); font-size: .78rem; font-style: normal; }
.bo-stock-kardex-report__scope { flex: 0 0 auto; text-align: right; }
.bo-stock-kardex-report__scope strong { color: var(--bo-ink); }
.bo-stock-kardex-balance {
    align-items: stretch;
    background: #edf4f8;
    border: 1px solid #d7e5ee;
    border-radius: 14px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr) auto minmax(130px, 1fr) auto minmax(145px, 1fr);
    padding: 10px;
}
.bo-stock-kardex-balance > span { background: #fff; border-radius: 10px; display: grid; gap: 3px; min-height: 62px; padding: 10px 13px; }
.bo-stock-kardex-balance > span small { color: var(--bo-muted); }
.bo-stock-kardex-balance > span strong { color: var(--bo-ink); font-size: 1.04rem; }
.bo-stock-kardex-balance > i { align-self: center; color: var(--bo-muted); }
.bo-stock-kardex-balance .is-entry strong { color: #00875f; }
.bo-stock-kardex-balance .is-exit strong { color: #c6281d; }
.bo-stock-kardex-balance .is-closing { background: #e3f0f8; }
.bo-stock-kardex-timeline__heading { align-items: center; display: flex; justify-content: space-between; padding: 4px 2px 0; }
.bo-stock-kardex-timeline__heading > span { display: grid; gap: 2px; }
.bo-stock-kardex-timeline__heading > span strong { color: var(--bo-ink); }
.bo-stock-kardex-columns,
.bo-stock-kardex-event__main { column-gap: 12px; display: grid; grid-template-columns: 44px 96px minmax(210px, 1fr) minmax(92px, .55fr) minmax(92px, .55fr) minmax(92px, .55fr) 20px; }
.bo-stock-kardex-columns { color: var(--bo-muted); font-size: .68rem; font-weight: 900; padding: 0 13px; text-transform: uppercase; }
.bo-stock-kardex-columns span:nth-child(n+4):nth-child(-n+6) { text-align: right; }
.bo-stock-kardex-timeline { display: grid; gap: 8px; position: relative; }
.bo-stock-kardex-event {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-left: 3px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}
.bo-stock-kardex-event.is-entry { border-left-color: #00956a; }
.bo-stock-kardex-event.is-exit { border-left-color: #d43b30; }
.bo-stock-kardex-event__main {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--bo-ink);
    cursor: pointer;
    min-height: 70px;
    padding: 9px 12px 9px 10px;
    text-align: left;
    width: 100%;
}
.bo-stock-kardex-event__main:hover { background: #f8fbfd; }
.bo-stock-kardex-event__signal {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.bo-stock-kardex-event.is-entry .bo-stock-kardex-event__signal { background: #e5f6ef; color: #00875f; }
.bo-stock-kardex-event.is-exit .bo-stock-kardex-event__signal { background: #fdeceb; color: #c6281d; }
.bo-stock-kardex-event__date,
.bo-stock-kardex-event__identity,
.bo-stock-kardex-event__number { display: grid; gap: 3px; min-width: 0; }
.bo-stock-kardex-event__date small,
.bo-stock-kardex-event__identity small,
.bo-stock-kardex-event__number small { color: var(--bo-muted); font-size: .72rem; }
.bo-stock-kardex-event__identity { padding-right: 12px; }
.bo-stock-kardex-event__identity strong,
.bo-stock-kardex-event__identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-kardex-event__number { text-align: right; }
.bo-stock-kardex-event__number strong { white-space: nowrap; }
.bo-stock-kardex-event.is-entry .bo-stock-kardex-event__number.is-change strong { color: #00875f; }
.bo-stock-kardex-event.is-exit .bo-stock-kardex-event__number.is-change strong { color: #c6281d; }
.bo-stock-kardex-event__number.is-after strong { color: var(--bo-blue); }
.bo-stock-kardex-event__main > i:last-child { color: var(--bo-blue); justify-self: end; }
.bo-stock-kardex-event__detail {
    background: #f7fafc;
    border-top: 1px solid var(--bo-border);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 12px 14px 12px 58px;
}
.bo-stock-kardex-detail-item { align-items: center; background: #fff; border: 1px solid var(--bo-border); border-radius: 9px; display: flex; gap: 9px; min-height: 52px; padding: 8px 10px; }
.bo-stock-kardex-detail-item > i { color: var(--bo-blue); flex: 0 0 22px; text-align: center; }
.bo-stock-kardex-detail-item > span { display: grid; gap: 2px; min-width: 0; }
.bo-stock-kardex-detail-item small { color: var(--bo-muted); }
.bo-stock-kardex-detail-item strong { overflow-wrap: anywhere; }
.bo-stock-kardex-pager { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; margin: 8px 0 16px; padding: 10px 12px; }
.bo-stock-kardex-pager > div { display: flex; gap: 8px; }
.bo-stock-kardex-empty { background: #fff; border: 1px dashed var(--bo-border); border-radius: 14px; min-height: 260px; }

@media (max-width: 980px) {
    .bo-stock-kardex-event__detail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-stock-kardex-columns,
    .bo-stock-kardex-event__main { grid-template-columns: 44px 88px minmax(165px, 1fr) repeat(3, minmax(78px, .55fr)) 18px; }
}

@media (max-width: 760px) {
    .bo-stock-kardex-product-results { grid-template-columns: 1fr; }
    .bo-stock-kardex-step,
    .bo-stock-kardex-setup__intro { padding-left: 16px; padding-right: 16px; }
    .bo-stock-kardex-setup__footer { align-items: stretch; flex-direction: column; padding: 14px 16px; }
    .bo-stock-kardex-setup__footer .bo-button { width: 100%; }
    .bo-stock-kardex-report__head { align-items: stretch; flex-direction: column; }
    .bo-stock-kardex-report__scope { border-top: 1px solid var(--bo-border); padding-top: 10px; text-align: left; }
    .bo-stock-kardex-balance { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
    .bo-stock-kardex-balance > span:last-child { grid-column: 1 / -1; }
    .bo-stock-kardex-balance > i:nth-of-type(2) { display: none; }
    .bo-stock-kardex-columns { display: none; }
    .bo-stock-kardex-event__main {
        gap: 6px 8px;
        grid-template-columns: 40px repeat(3, minmax(0, 1fr)) 18px;
        grid-template-rows: auto auto auto;
        padding: 10px;
    }
    .bo-stock-kardex-event__signal { grid-column: 1; grid-row: 1 / 3; }
    .bo-stock-kardex-event__date { align-items: center; display: flex; gap: 7px; grid-column: 2 / 4; grid-row: 1; }
    .bo-stock-kardex-event__identity { grid-column: 2 / 5; grid-row: 2; padding: 0 0 8px; }
    .bo-stock-kardex-event__number { border-top: 1px solid var(--bo-border); grid-row: 3; padding-top: 8px; text-align: left; }
    .bo-stock-kardex-event__number:nth-of-type(4) { grid-column: 2; }
    .bo-stock-kardex-event__number:nth-of-type(5) { grid-column: 3; text-align: center; }
    .bo-stock-kardex-event__number:nth-of-type(6) { grid-column: 4; text-align: right; }
    .bo-stock-kardex-event__main > i:last-child { grid-column: 5; grid-row: 1 / 3; }
    .bo-stock-kardex-event__detail { grid-template-columns: 1fr; padding: 10px; }
}

@media (max-width: 680px) {
    .bo-stock-kardex-choice-grid,
    .bo-stock-kardex-location-grid,
    .bo-stock-kardex-period { grid-template-columns: 1fr; padding-left: 0; }
    .bo-stock-kardex-period > i { display: none; }
    .bo-stock-kardex-product-search,
    .bo-stock-kardex-product-results,
    .bo-stock-kardex-product-feedback,
    .bo-stock-kardex-selected-product { margin-left: 0; width: 100%; }
}

@media (max-width: 520px) {
    .bo-stock-kardex-location-grid { grid-template-columns: 1fr; }
    .bo-stock-kardex-setup__intro > span { display: none; }
    .bo-stock-kardex-toolbar > .bo-button--primary { flex: 1 1 100%; justify-content: center; }
    .bo-stock-kardex-report__product > i { flex-basis: 44px; height: 44px; width: 44px; }
    .bo-stock-kardex-balance > span { min-height: 56px; padding: 8px; }
    .bo-stock-kardex-balance > span strong { font-size: .92rem; }
    .bo-stock-kardex-timeline__heading { align-items: stretch; gap: 10px; }
    .bo-stock-kardex-timeline__heading .bo-button { padding-left: 10px; padding-right: 10px; }
    .bo-stock-kardex-event__main { grid-template-columns: 38px repeat(3, minmax(0, 1fr)) 16px; }
    .bo-stock-kardex-event__signal { height: 34px; width: 34px; }
    .bo-stock-kardex-event__number strong { font-size: .86rem; }
    .bo-stock-kardex-pager { align-items: stretch; flex-direction: column; }
    .bo-stock-kardex-pager > div { display: grid; grid-template-columns: 1fr 1fr; }
}

.backoffice-module {
    --bo-navy: #0c3154;
    --bo-navy-strong: #08243e;
    --bo-blue: #1f5d8f;
    --bo-blue-soft: #e8f2fa;
    --bo-cyan: #0e7490;
    --bo-bg: #f3f7fa;
    --bo-surface: #fff;
    --bo-soft: #edf3f7;
    --bo-border: rgba(12, 49, 84, .14);
    --bo-border-strong: rgba(12, 49, 84, .28);
    --bo-ink: #102536;
    --bo-text: #344a5a;
    --bo-muted: #6c7d89;
    --bo-green: #087f5b;
    --bo-green-soft: #e5f6ef;
    --bo-amber: #aa6715;
    --bo-amber-soft: #fff2d8;
    --bo-red: #b42318;
    --bo-red-soft: #fde9e7;
    --bo-purple: #6842b8;
    --bo-shadow: 0 16px 38px rgba(8, 36, 62, .08);
    background:
        linear-gradient(180deg, rgba(219, 235, 247, .82), transparent 300px),
        var(--bo-bg);
    color: var(--bo-text);
    min-height: calc(100vh - 56px);
    min-width: 0;
    overflow-x: clip;
    padding: 28px;
}

@media (min-width: 1001px) {
    .backoffice-module:has(.bo-production-detail-shell) { overflow-x: visible; }
}

@media (min-width: 1321px) {
    .backoffice-module:has(.bo-requisition-detail-shell),
    .backoffice-module:has(.bo-delivery-responsive-detail) { overflow-x: visible; }
}

.bo-page {
    margin: 0 auto;
    max-width: 1500px;
    min-width: 0;
    width: 100%;
}

.bo-page-header {
    align-items: flex-end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.bo-page-header h1,
.bo-dialog h2 {
    color: var(--bo-ink);
    font-weight: 780;
    line-height: 1.12;
    margin: 4px 0 6px;
}

.bo-page-header h1 { font-size: 2.1rem; }
.bo-dialog h2 { font-size: 1.45rem; }
.bo-page-header p,
.bo-dialog__header p { color: var(--bo-muted); margin: 0; }
.bo-page-header__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.bo-eyebrow { color: var(--bo-blue); font-size: .74rem; font-weight: 850; text-transform: uppercase; }

.bo-button,
.bo-icon-button {
    align-items: center;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    color: var(--bo-ink);
    cursor: pointer;
    display: inline-flex;
    font-size: .9rem;
    font-weight: 750;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    text-decoration: none;
}

.bo-button:hover,
.bo-icon-button:hover { border-color: var(--bo-blue); color: var(--bo-blue); }
.bo-button--primary { background: var(--bo-navy); border-color: var(--bo-navy); color: #fff; }
.bo-button--primary:hover { background: var(--bo-navy-strong); border-color: var(--bo-navy-strong); color: #fff; }
.bo-button--danger { color: var(--bo-red); }
.bo-button:disabled,
.bo-icon-button:disabled { cursor: not-allowed; opacity: .5; pointer-events: none; }
.bo-icon-button { height: 42px; padding: 0; width: 42px; }

.bo-kpi-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.bo-kpi {
    align-items: center;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: flex;
    gap: 14px;
    min-height: 116px;
    padding: 18px;
}

.bo-kpi__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    flex: 0 0 44px;
    font-size: 1.15rem;
    height: 44px;
    justify-content: center;
}
.bo-kpi--warning .bo-kpi__icon { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-kpi--danger .bo-kpi__icon { background: var(--bo-red-soft); color: var(--bo-red); }
.bo-kpi--success .bo-kpi__icon { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-kpi span { color: var(--bo-muted); display: block; font-size: .84rem; }
.bo-kpi strong { color: var(--bo-ink); display: block; font-size: 1.8rem; line-height: 1.05; margin-top: 4px; }

.bo-grid { display: grid; gap: 16px; }
.bo-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-workspace { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .7fr); }
.bo-panel { background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 11px; padding: 18px; }
.bo-panel--flush { padding: 0; }
.bo-panel__header { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 16px; }
.bo-panel__header h2, .bo-panel__header h3 { color: var(--bo-ink); font-size: 1rem; font-weight: 780; margin: 0; }
.bo-panel__header p { color: var(--bo-muted); font-size: .84rem; margin: 4px 0 0; }
.bo-panel__actions { display: flex; flex-wrap: wrap; gap: 8px; }

.bo-toolbar { align-items: end; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.bo-field { display: grid; gap: 6px; min-width: 150px; }
.bo-field--grow { flex: 1 1 280px; }
.bo-field label { color: var(--bo-muted); font-size: .78rem; font-weight: 750; }
.bo-input,
.bo-select,
.bo-textarea {
    background: #f8fafc;
    border: 1px solid var(--bo-border);
    border-radius: 8px;
    color: var(--bo-ink);
    font: inherit;
    min-height: 42px;
    padding: 9px 11px;
    width: 100%;
}
.bo-input:focus, .bo-select:focus, .bo-textarea:focus { border-color: var(--bo-blue); box-shadow: 0 0 0 3px rgba(31, 93, 143, .12); outline: 0; }
.bo-textarea { min-height: 90px; resize: vertical; }
.bo-form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
.bo-form-grid > * { min-width: 0; }
.bo-form-grid > .bo-field { align-content: start; align-self: start; width: 100%; }
.bo-form-grid .bo-field--wide { grid-column: 1 / -1; }
.bo-check { align-items: center; display: flex; gap: 8px; min-height: 42px; }

.bo-list { display: grid; gap: 9px; }
.bo-list-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    color: inherit;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 68px;
    padding: 12px 14px;
    text-align: left;
    width: 100%;
}
button.bo-list-card { cursor: pointer; }
.bo-list-card:hover, .bo-list-card--selected { border-color: var(--bo-blue); box-shadow: 0 8px 20px rgba(8, 36, 62, .07); }
.bo-list-card__main { min-width: 0; }
.bo-list-card__main strong { color: var(--bo-ink); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-list-card__main span { color: var(--bo-muted); display: block; font-size: .82rem; margin-top: 3px; }
.bo-list-card__value { color: var(--bo-navy); font-size: 1.05rem; font-weight: 800; white-space: nowrap; }

.bo-badge { align-items: center; background: var(--bo-soft); border-radius: 999px; color: var(--bo-text); display: inline-flex; font-size: .74rem; font-weight: 780; gap: 6px; padding: 5px 9px; }
.bo-badge--success { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-badge--warning { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-badge--danger { background: var(--bo-red-soft); color: var(--bo-red); }
.bo-badge--info { background: var(--bo-blue-soft); color: var(--bo-blue); }

.bo-table-wrap { overflow: auto; }
.bo-table { border-collapse: collapse; min-width: 720px; width: 100%; }
.bo-table th { color: var(--bo-muted); font-size: .73rem; font-weight: 800; padding: 10px 12px; text-align: left; text-transform: uppercase; }
.bo-table td { border-top: 1px solid var(--bo-border); color: var(--bo-text); padding: 12px; vertical-align: middle; }
.bo-table td strong { color: var(--bo-ink); }
.bo-table__numeric { text-align: right !important; white-space: nowrap; }
.bo-table__actions { text-align: right; white-space: nowrap; }

.bo-empty { align-items: center; border: 1px dashed var(--bo-border-strong); border-radius: 11px; color: var(--bo-muted); display: flex; flex-direction: column; gap: 8px; justify-content: center; min-height: 190px; padding: 28px; text-align: center; }
.bo-empty i { color: var(--bo-blue); font-size: 1.5rem; }
.bo-empty strong { color: var(--bo-ink); }
.bo-empty--danger i { color: var(--bo-red); }
.bo-notice { background: var(--bo-blue-soft); border: 1px solid rgba(31, 93, 143, .2); border-radius: 9px; color: var(--bo-navy); margin-bottom: 14px; padding: 11px 13px; }
.bo-notice--danger { background: var(--bo-red-soft); border-color: rgba(180, 35, 24, .2); color: var(--bo-red); }
.bo-notice--success { background: var(--bo-green-soft); border-color: rgba(8, 127, 91, .2); color: var(--bo-green); }

.bo-dialog-backdrop { align-items: center; background: rgba(5, 18, 30, .66); display: flex; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 1080; }
.bo-dialog { background: #fff; border-radius: 12px; box-shadow: 0 28px 80px rgba(5, 18, 30, .35); display: flex; flex-direction: column; max-height: calc(100vh - 36px); overflow: hidden; width: min(100%, 960px); }
.bo-dialog--compact { width: min(100%, 500px); }
.bo-dialog--narrow { width: min(100%, 620px); }
.bo-dialog--wide { width: min(100%, 960px); }
.bo-dialog--xl { width: min(100%, 1240px); }
.bo-dialog__header { align-items: flex-start; border-bottom: 1px solid var(--bo-border); display: flex; justify-content: space-between; padding: 18px 20px; }
.bo-dialog__body { overflow: auto; padding: 20px; }
.bo-dialog__footer { border-top: 1px solid var(--bo-border); display: flex; gap: 10px; justify-content: flex-end; padding: 14px 20px; }
.bo-drawer-backdrop { background: rgba(5, 18, 30, .42); inset: 0; position: fixed; z-index: 1090; }
.bo-drawer {
    background: #fff;
    bottom: 0;
    box-shadow: -18px 0 42px rgba(5, 18, 30, .22);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    position: fixed;
    right: 0;
    top: 0;
    width: min(440px, 100vw);
    z-index: 1100;
}
.bo-drawer__header { align-items: flex-start; border-bottom: 1px solid var(--bo-border); display: flex; gap: 16px; justify-content: space-between; padding: 20px; }
.bo-drawer__header h2 { color: var(--bo-ink); font-size: 1.75rem; line-height: 1.1; margin: 4px 0 0; }
.bo-drawer__body { min-height: 0; overflow: auto; padding: 20px; }
.bo-drawer__body .bo-field > span { color: var(--bo-muted); font-size: .78rem; font-weight: 750; }
.bo-drawer__body .bo-search-box { min-height: 42px; }
.bo-drawer__footer { border-top: 1px solid var(--bo-border); display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding: 14px 20px; }
.bo-confirmation {
    align-items: center;
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 14px;
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 16px;
}
.bo-confirmation__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 12px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.15rem;
    height: 48px;
    justify-content: center;
}
.bo-confirmation > div { display: grid; gap: 4px; }
.bo-confirmation > div strong { color: var(--bo-ink); }
.bo-confirmation > div span { color: var(--bo-muted); font-size: .85rem; }
.bo-confirmation--danger { background: var(--bo-red-soft); border-color: rgba(180, 35, 24, .2); }
.bo-confirmation--danger .bo-confirmation__icon { background: rgba(180, 35, 24, .12); color: var(--bo-red); }

.bo-pager { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-top: 14px; }
.bo-pager span { color: var(--bo-muted); font-size: .82rem; font-weight: 700; }
.bo-stat-list { display: grid; gap: 10px; }
.bo-stat-row { align-items: center; border-bottom: 1px solid var(--bo-border); display: flex; justify-content: space-between; padding: 9px 0; }
.bo-stat-row:last-child { border: 0; }
.bo-stat-row strong { color: var(--bo-ink); }
.bo-progress { background: #e5edf2; border-radius: 99px; height: 7px; overflow: hidden; }
.bo-progress span { background: linear-gradient(90deg, var(--bo-blue), var(--bo-cyan)); display: block; height: 100%; }

.bo-skeleton { animation: bo-pulse 1.35s ease-in-out infinite; background: linear-gradient(90deg, #e7eef3, #f7fafc, #e7eef3); background-size: 220% 100%; border-radius: 10px; }
.bo-skeleton--title { height: 70px; margin-bottom: 20px; max-width: 520px; }
.bo-skeleton--card { height: 116px; }
@keyframes bo-pulse { from { background-position: 100% 0; } to { background-position: -100% 0; } }

.bo-input-with-icon {
    position: relative;
}

.bo-input-with-icon > i {
    color: var(--bo-muted);
    left: 13px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.bo-input-with-icon .bo-input {
    padding-left: 38px;
}

.bo-required {
    color: var(--bo-red);
}

.validation-message {
    color: var(--bo-red);
    font-size: .76rem;
    font-weight: 700;
}

.bo-input.invalid,
.bo-select.invalid {
    border-color: var(--bo-red);
    box-shadow: 0 0 0 3px rgba(180, 35, 24, .09);
    outline: 0;
}

.bo-input.valid.modified,
.bo-select.valid.modified,
.bo-textarea.valid.modified {
    outline: 0;
}

.bo-product-list {
    display: grid;
    gap: 9px;
}

.bo-product-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 13px;
    grid-template-columns: 46px minmax(0, 1fr) auto 16px;
    min-height: 78px;
    padding: 12px 14px;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    width: 100%;
}

.bo-product-row:hover {
    border-color: var(--bo-blue);
    box-shadow: 0 9px 24px rgba(8, 36, 62, .08);
    transform: translateY(-1px);
}

.bo-product-row__icon,
.bo-kind-card > i {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.bo-product-row__main,
.bo-product-row__meta {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.bo-product-row__main > strong {
    align-items: center;
    color: var(--bo-ink);
    display: flex;
    gap: 8px;
    min-width: 0;
}

/* Production extensions built on the established workspace language. */
.bo-production-create-shell {
    display: grid;
    gap: 16px;
    margin: 0 auto;
    max-width: 1040px;
    padding: 18px;
}
.bo-production-create-shell .bo-production-route { margin-bottom: 2px; }
.bo-production-create-shell .bo-production-product-option.is-selected,
.bo-prod-location-editor .bo-production-location-grid button.is-selected {
    background: #effaf5;
    border-color: #37a77b;
}
.bo-production-create-shell .bo-production-product-option.is-selected .bo-production-product-option__summary > i,
.bo-prod-location-editor .bo-production-location-grid button.is-selected > i { color: #087f5b; }
.bo-production-create-shell .bo-production-action-bar { margin-top: 14px; }
.bo-production-create-shell .bo-production-product-search { margin-bottom: -7px; }
.bo-production-draft-list { display: grid; gap: 18px; }
.bo-production-draft {
    background: #f7f9fb;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    padding: 12px;
}
.bo-production-draft .bo-production-output-card { margin-bottom: 0; }
.bo-production-draft > .bo-product-picker { margin-top: 2px; }
.bo-production-batch-list { display: grid; gap: 14px; }
.bo-production-finish-output {
    background: #f7f9fb;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    padding: 12px;
}
.bo-production-finish-output > header {
    align-items: center;
    background: var(--bo-blue-soft);
    border: 1px solid rgba(31, 93, 143, .22);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 10px;
}
.bo-production-finish-output > header > span:first-child { align-items: center; background: #fff; border-radius: 9px; color: var(--bo-blue); display: flex; height: 42px; justify-content: center; }
.bo-production-finish-output > header > span:nth-child(2) { display: grid; }
.bo-production-finish-output > header small { color: var(--bo-muted); }
.bo-production-result-quantity { align-items: stretch; display: flex; gap: 8px; }
.bo-production-result-quantity > label { background: #effaf5; border: 1px solid #a6ddc7; border-radius: 10px; display: grid; flex: 1; grid-template-columns: minmax(0, 1fr) auto; padding: 8px 10px; }
.bo-production-result-quantity > label small { color: var(--bo-muted); grid-column: 1 / -1; }
.bo-production-result-quantity > label input { background: transparent; border: 0; font-size: 1rem; font-weight: 800; min-width: 0; text-align: center; }
.bo-production-result-quantity > label strong { align-self: center; }
.bo-production-result-quantity > span { background: #fff0f0; border-radius: 10px; color: var(--bo-red); display: grid; padding: 8px 12px; }
.bo-production-route--costs > span:first-child { color: var(--bo-blue); }
.bo-prod-location-list {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-prod-location-card {
    overflow: hidden;
    padding: 0;
}
.bo-prod-location-card:hover {
    border-color: var(--bo-blue);
    box-shadow: var(--bo-shadow);
}
.bo-prod-location-card.is-inactive { opacity: .62; }
.bo-prod-location-card__summary {
    align-items: center;
    background: #fff;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: 50px minmax(0, 1fr) auto 16px;
    min-height: 98px;
    padding: 17px;
    text-align: left;
    width: 100%;
}
.bo-prod-location-card__icon {
    align-items: center;
    background: #e8f4fb;
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 50px;
    justify-content: center;
}
.bo-prod-location-card__name,
.bo-prod-location-card__count { display: grid; min-width: 0; }
.bo-prod-location-card__name strong { color: var(--bo-ink); }
.bo-prod-location-card__name small,
.bo-prod-location-card__count small { color: var(--bo-muted); font-size: .76rem; }
.bo-prod-location-card__count { justify-items: end; }
.bo-prod-location-card__detail {
    border-top: 1px solid var(--bo-border);
    display: grid;
    gap: 12px;
    padding: 13px;
}
.bo-prod-location-card__facts { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-prod-location-card__facts .bo-production-route { grid-template-columns: 40px minmax(0, 1fr); }
.bo-prod-location-card__facts .bo-production-route.is-loss > span:first-child { color: #b33b30; }
.bo-production-ingredient__main--readonly { grid-template-columns: 40px minmax(0, 1fr) 40px; }
.bo-prod-location-editor { display: grid; gap: 16px; }
.bo-dialog-tabs {
    border-bottom: 1px solid var(--bo-border);
    display: flex;
    gap: 6px;
}
.bo-dialog-tabs button {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--bo-muted);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 800;
    gap: 7px;
    margin-bottom: -1px;
    padding: 11px 14px;
}
.bo-dialog-tabs button.is-selected { border-bottom-color: var(--bo-blue); color: var(--bo-blue); }
.bo-dialog-tabs button:disabled { cursor: default; opacity: .45; }
.bo-prod-location-selects {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-prod-location-selects .bo-field > span {
    align-items: center;
    display: flex;
    gap: 7px;
}
.bo-prod-location-selects .bo-field--loss > span { color: #a8322a; }
.bo-production-location-grid--loss button.is-selected { background: #fff4f2 !important; border-color: #bd493e !important; }
.bo-production-location-grid--loss button.is-selected > i { color: #bd493e !important; }

@media (max-width: 900px) {
    .bo-prod-location-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .bo-production-create-shell { padding: 10px; }
    .bo-production-output-card { grid-template-columns: 44px minmax(0, 1fr); }
    .bo-production-output-card .bo-quantity-stepper,
    .bo-production-output-card .bo-production-output-quantity { grid-column: 1 / -1; }
    .bo-prod-location-card__summary { grid-template-columns: 44px minmax(0, 1fr) 16px; }
    .bo-prod-location-list { grid-template-columns: 1fr; }
    .bo-prod-location-card__count { display: none; }
    .bo-prod-location-card__facts { grid-template-columns: 1fr; }
    .bo-prod-location-selects { grid-template-columns: 1fr; }
    .bo-dialog-tabs button { flex: 1; justify-content: center; }
}

/* Production workspace */
.bo-production-skeleton { display: grid; gap: 16px; }
.bo-production-search-panel { display: grid; gap: 13px; margin-bottom: 16px; }
.bo-production-search { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto auto; }
.bo-production-modes strong {
    align-items: center;
    background: rgba(8, 36, 62, .08);
    border-radius: 999px;
    display: inline-flex;
    font-size: .74rem;
    justify-content: center;
    margin-left: 3px;
    min-width: 23px;
    padding: 2px 6px;
}
.bo-production-filters {
    background: #f6f8fa;
    border-radius: 12px;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}
.bo-production-filter-locations { display: flex; flex-wrap: wrap; gap: 8px; }
.bo-production-filter-locations button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: inline-flex;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
}
.bo-production-filter-locations button.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); color: var(--bo-blue); }
.bo-production-period { align-items: end; display: flex; gap: 8px; }
.bo-production-period label { color: var(--bo-muted); display: grid; font-size: .74rem; gap: 3px; }
.bo-production-period .bo-input { min-width: 140px; }
.bo-production-workspace {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(300px, .64fr) minmax(0, 1.36fr);
    min-height: calc(100dvh - 92px);
}
.bo-production-queue { min-width: 0; padding: 16px; }
.bo-production-ticket-list { display: grid; gap: 9px; }
.bo-production-ticket {
    --ticket: #b7791f;
    --ticket-soft: #fff7df;
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 44px minmax(0, 1fr) auto 14px;
    min-height: 104px;
    padding: 12px;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    width: 100%;
}
.bo-production-ticket:hover,
.bo-production-ticket.is-selected { border-color: var(--bo-blue); box-shadow: 0 8px 22px rgba(8, 36, 62, .08); transform: translateY(-1px); }
.bo-production-ticket.is-selected { background: var(--bo-blue-soft); }
.bo-production-ticket.is-running { --ticket: #d97706; --ticket-soft: #fff2cf; }
.bo-production-ticket.is-completed { --ticket: #16875f; --ticket-soft: #e7f7ef; }
.bo-production-ticket.is-cancelled { --ticket: #b42318; --ticket-soft: #fff0f0; }
.bo-production-ticket__icon {
    align-items: center;
    background: var(--ticket-soft);
    border-radius: 10px;
    color: var(--ticket);
    display: flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}
.bo-production-ticket__main { display: grid; gap: 4px; min-width: 0; }
.bo-production-ticket__main strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-production-ticket__main small,
.bo-production-ticket__quantity small,
.bo-production-ticket time { color: var(--bo-muted); font-size: .76rem; }
.bo-production-ticket__quantity { display: grid; justify-items: end; }
.bo-production-ticket__quantity strong { color: var(--bo-ink); font-size: 1.15rem; }
.bo-production-ticket time { grid-column: 2; }
.bo-production-ticket > i:last-child { color: var(--bo-text); grid-column: 4; grid-row: 1 / 3; }
.bo-production-pager { margin-top: 14px; }
.bo-detail-sticky-shell {
    align-self: start;
    height: 0;
    min-width: 0;
    overflow: visible;
    position: sticky;
    top: calc(56px + 1rem);
}
.bo-production-detail-desktop {
    max-height: calc(100dvh - 92px);
    min-height: 520px;
    min-width: 0;
    overflow: auto;
    padding: 18px;
}
.bo-production-detail-mobile { display: none; }
.bo-production-detail { display: grid; gap: 14px; }
.bo-production-detail__heading {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
}
.bo-production-detail__heading h2 { color: var(--bo-ink); font-size: 1.25rem; margin: 2px 0 0; }
.bo-production-detail__heading small { color: var(--bo-muted); }
.bo-production-detail__icon,
.bo-production-detail__status {
    --ticket: #b7791f;
    --ticket-soft: #fff7df;
    align-items: center;
    background: var(--ticket-soft);
    border-radius: 11px;
    color: var(--ticket);
    display: flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.bo-production-detail__icon.is-running,
.bo-production-detail__status.is-running { --ticket: #d97706; --ticket-soft: #fff2cf; }
.bo-production-detail__icon.is-completed,
.bo-production-detail__status.is-completed { --ticket: #16875f; --ticket-soft: #e7f7ef; }
.bo-production-detail__icon.is-cancelled,
.bo-production-detail__status.is-cancelled { --ticket: #b42318; --ticket-soft: #fff0f0; }
.bo-production-detail__status { border-radius: 999px; height: 34px; width: 34px; }
.bo-production-route {
    align-items: center;
    background: #f5f8fa;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 11px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    padding: 10px 12px;
}
.bo-production-route > span:first-child {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 40px;
    justify-content: center;
}
.bo-production-route > span:nth-child(2),
.bo-production-route > span:last-child { display: grid; }
.bo-production-route > span:last-child { justify-items: end; }
.bo-production-route small { color: var(--bo-muted); font-size: .76rem; }
.bo-production-route--note { grid-template-columns: 40px minmax(0, 1fr); }
.bo-production-route--note > span:last-child { justify-items: start; }
.bo-production-route--note strong { white-space: pre-wrap; }
.bo-production-ingredient-head { align-items: center; color: var(--bo-ink); display: flex; justify-content: space-between; padding: 2px 3px; }
.bo-production-ingredient-head strong { align-items: center; display: flex; gap: 8px; }
.bo-production-ingredient-head i { color: var(--bo-blue); }
.bo-production-ingredient-head > span { align-items: center; background: var(--bo-blue-soft); border-radius: 999px; color: var(--bo-blue); display: flex; font-size: .76rem; font-weight: 800; justify-content: center; min-width: 24px; padding: 3px 7px; }
.bo-production-ingredient-list,
.bo-production-consumption-list { display: grid; gap: 9px; }
.bo-production-ingredient {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    overflow: hidden;
}
.bo-production-ingredient__main {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: 40px minmax(0, 1fr) auto auto;
    padding: 9px;
}
.bo-production-ingredient__main > span:first-child,
.bo-production-consumption__head > span:first-child {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 40px;
    justify-content: center;
}
.bo-production-ingredient__main > span:nth-child(2),
.bo-production-consumption__head > span:nth-child(2) { display: grid; min-width: 0; }
.bo-production-ingredient__main strong,
.bo-production-consumption__head strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-production-ingredient__main small,
.bo-production-consumption__head small { color: var(--bo-muted); font-size: .76rem; }
.bo-production-ingredient__value { align-items: end; display: grid; justify-items: end; line-height: 1.05; }
.bo-production-ingredient__value strong { font-size: 1rem; }
.bo-production-ingredient__value small { font-size: .7rem; font-weight: 700; }
.bo-production-ingredient__actions { display: flex; gap: 7px; }
.bo-production-ingredient.is-editing { background: #fffaf0; border-color: #e6a640; }
.bo-production-ingredient.is-editing .bo-production-ingredient__main > span:first-child { background: #fff4d6; color: #9a6700; }
.bo-production-ingredient__quantity {
    border-top: 1px solid var(--bo-border);
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 46px 52px;
}
.bo-production-ingredient__quantity button {
    background: #eef3f6;
    border: 0;
    color: var(--bo-blue);
    cursor: pointer;
    min-height: 46px;
}
.bo-production-ingredient__quantity button.is-confirm { background: #e5f6ee; color: #087f5b; }
.bo-production-ingredient__quantity input {
    border: 0;
    color: var(--bo-ink);
    font-size: 1rem;
    font-weight: 800;
    min-width: 0;
    text-align: center;
    width: 100%;
}
.bo-production-ingredient__replace { background: #f5f1fd; border-top: 1px solid #ded5f2; padding: 10px; }
.bo-production-action-bar { align-items: center; display: flex; gap: 9px; justify-content: flex-end; padding-top: 4px; }
.bo-button--production { background: var(--bo-navy); border-color: var(--bo-navy); color: #fff; min-height: 46px; }
.bo-button--production:hover { background: var(--bo-navy-strong); border-color: var(--bo-navy-strong); color: #fff; }
.bo-production-action-bar .bo-button--production { flex: 1; }
.bo-production-cancel-confirm { background: #fff1f2; border: 1px solid #fecdd3; border-radius: 11px; display: flex; gap: 8px; justify-content: flex-end; padding: 10px; }
.bo-production-cancelled { align-items: center; background: #fff0f0; border: 1px solid #efd0cd; border-radius: 12px; color: #b42318; display: flex; gap: 10px; justify-content: center; min-height: 120px; }

.bo-production-progress { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); margin-bottom: 18px; }
.bo-production-progress span {
    align-items: center;
    background: #eef1f3;
    border-radius: 10px;
    color: #89939b;
    display: flex;
    height: 8px;
    justify-content: center;
    position: relative;
}
.bo-production-progress span i { background: #eef1f3; border-radius: 999px; display: none; padding: 8px; }
.bo-production-progress span.is-current { background: #f59e0b; color: #9a5700; }
.bo-production-progress span.is-complete { background: #37a77b; color: #087f5b; }
.bo-production-product-search { margin-bottom: 12px; }
.bo-production-product-grid,
.bo-production-location-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-production-product-option,
.bo-production-location-grid button {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    overflow: hidden;
}
.bo-production-product-option__summary,
.bo-production-location-grid button {
    align-items: center;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 46px minmax(0, 1fr) 14px;
    min-height: 86px;
    padding: 12px;
    text-align: left;
    width: 100%;
}
.bo-production-product-option__summary { background: transparent; border: 0; }
.bo-production-product-option:hover,
.bo-production-location-grid button:hover { border-color: var(--bo-blue); box-shadow: 0 8px 22px rgba(8, 36, 62, .08); }
.bo-production-product-option__summary > span,
.bo-production-location-grid button > span {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    grid-row: 1 / 3;
    height: 46px;
    justify-content: center;
}
.bo-production-location-grid button > span { background: #e8f4fb; color: var(--bo-blue); }
.bo-production-product-option__summary strong,
.bo-production-location-grid button strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-production-product-option__summary small,
.bo-production-location-grid button small { color: var(--bo-muted); grid-column: 2; }
.bo-production-product-option__summary > i,
.bo-production-location-grid button > i { color: var(--bo-blue); grid-column: 3; grid-row: 1 / 3; }
.bo-production-product-option.is-editing { background: #fffaf0; border-color: #e6a640; box-shadow: 0 8px 22px rgba(8, 36, 62, .08); }
.bo-production-product-option.is-editing .bo-production-product-option__summary > span { background: #fff4d6; color: #a96300; }
.bo-production-product-option.is-editing .bo-production-product-option__summary > i { color: #d97706; }
.bo-production-product-option__quantity {
    border-top: 1px solid #f1d69d;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto 46px 52px;
}
.bo-production-product-option__quantity button {
    background: #eef3f6;
    border: 0;
    color: var(--bo-blue);
    cursor: pointer;
    min-height: 48px;
}
.bo-production-product-option__quantity input {
    background: #fff;
    border: 0;
    color: var(--bo-ink);
    font-size: 1rem;
    font-weight: 800;
    min-width: 0;
    text-align: center;
    width: 100%;
}
.bo-production-product-option__quantity > strong { align-items: center; background: #fff; display: flex; padding: 0 8px; }
.bo-production-product-option__quantity button.is-confirm { background: #e5f6ee; color: #087f5b; }
.bo-production-output-card {
    align-items: center;
    background: var(--bo-blue-soft);
    border: 1px solid rgba(31, 93, 143, .22);
    border-radius: 13px;
    display: grid;
    gap: 11px;
    grid-template-columns: 48px minmax(0, 1fr) minmax(180px, .65fr);
    margin-bottom: 16px;
    padding: 12px;
}
.bo-production-output-card__icon {
    align-items: center;
    background: #fff;
    border-radius: 11px;
    color: var(--bo-blue);
    display: flex;
    height: 48px;
    justify-content: center;
}
.bo-production-output-card > span:nth-child(2) { display: grid; }
.bo-production-output-card small { color: var(--bo-muted); }
.bo-production-output-quantity { display: grid; gap: 4px; }
.bo-production-output-quantity > small { font-size: .74rem; font-weight: 700; }
.bo-production-output-quantity__control {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto 46px;
    overflow: hidden;
}
.bo-production-output-quantity__control button {
    background: #eef3f6;
    border: 0;
    color: var(--bo-blue);
    cursor: pointer;
    min-height: 46px;
}
.bo-production-output-quantity__control input {
    border: 0;
    color: var(--bo-ink);
    font-size: 1rem;
    font-weight: 800;
    min-width: 0;
    text-align: center;
    width: 100%;
}
.bo-production-output-quantity__control strong { align-self: center; color: var(--bo-muted); padding: 0 8px; }

.bo-production-result-card {
    background: #effaf5;
    border: 1px solid #a6ddc7;
    border-radius: 13px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(180px, .7fr) 44px;
    padding: 11px;
}
.bo-production-result-card > div:first-child { align-items: center; display: flex; gap: 10px; }
.bo-production-result-card > div:first-child > span:first-child {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    color: var(--bo-green);
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.bo-production-result-card > div:first-child > span:last-child { display: grid; }
.bo-production-result-card small { color: var(--bo-muted); }
.bo-production-waste-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: #b42318;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 42px;
    min-width: 42px;
}
.bo-production-waste-button.is-active { background: #fff0f0; border-color: #f2a9a4; }
.bo-production-output-waste {
    align-items: center;
    background: #fff0f0;
    border-radius: 9px;
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 8px 10px;
}
.bo-production-output-waste input,
.bo-production-consumption__values input {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 8px;
    font-weight: 800;
    min-height: 40px;
    min-width: 0;
    padding: 7px 10px;
    text-align: center;
    width: 100%;
}
.bo-production-consumption { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; overflow: hidden; }
.bo-production-consumption.has-waste { border-color: #f2a9a4; }
.bo-production-consumption__head {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: 40px minmax(0, 1fr) 42px;
    padding: 9px;
}
.bo-production-consumption__head--cancel { grid-template-columns: 40px minmax(0, 1fr); }
.bo-production-consumption__head--cancel > span:first-child { background: var(--bo-red-soft); color: var(--bo-red); }
.bo-production-consumption__values { background: #f5f8fa; border-top: 1px solid var(--bo-border); display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 9px; }
.bo-production-consumption__values--cancel { grid-template-columns: minmax(0, 1fr); }
.bo-production-consumption__values label { align-items: center; display: grid; gap: 7px; grid-template-columns: auto minmax(0, 1fr) auto; }
.bo-production-consumption__values label.is-waste { color: #b42318; }
.bo-production-cancel-flow,
.bo-production-cancelled-detail { display: grid; gap: 12px; }
.bo-production-cancel-intro {
    align-items: center;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 12px;
    color: #9f241c;
    display: grid;
    gap: 10px;
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 10px 12px;
}
.bo-production-cancel-intro > i { text-align: center; }
.bo-production-cancel-intro > span { display: grid; }
.bo-production-cancel-intro small { color: #80504c; }
.bo-production-completed { display: grid; gap: 12px; }
.bo-production-completed__result {
    align-items: center;
    background: #e9f8f0;
    border: 1px solid #a6ddc7;
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    padding: 10px;
}
.bo-production-completed__result > span:first-child { align-items: center; background: #fff; border-radius: 9px; color: var(--bo-green); display: flex; height: 42px; justify-content: center; }
.bo-production-completed__result > span:nth-child(2) { display: grid; }
.bo-production-completed__result small { color: var(--bo-muted); }
.bo-production-completed__materials { display: grid; gap: 8px; }
.bo-production-completed__materials > div {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 9px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 8px;
}
.bo-production-completed__materials > div > span:first-child { align-items: center; background: var(--bo-blue-soft); border-radius: 8px; color: var(--bo-blue); display: flex; height: 38px; justify-content: center; }
.bo-production-cancelled-detail .bo-production-completed__materials > div > span:first-child { background: var(--bo-red-soft); color: var(--bo-red); }
.bo-production-completed__materials > div > span:nth-child(2) { display: grid; }
.bo-production-completed__materials small,
.bo-production-completed__time { color: var(--bo-muted); }
.bo-production-completed .is-waste { color: #b42318; font-size: .8rem; font-weight: 800; }
.bo-production-completed__time { text-align: right; }

@media (max-width: 1000px) {
    .bo-production-workspace { grid-template-columns: 1fr; min-height: 0; }
    .bo-production-detail-shell { display: none; }
    .bo-production-detail-mobile { display: block; }
}

@media (max-width: 720px) {
    .bo-production-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-production-search .bo-search-field { grid-column: 1 / -1; }
    .bo-production-filters { grid-template-columns: 1fr; }
    .bo-production-filter-locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-production-filter-locations button { min-width: 0; }
    .bo-production-period { align-items: stretch; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-production-period .bo-input { min-width: 0; width: 100%; }
    .bo-production-period .bo-button { grid-column: 1 / -1; }
    .bo-production-queue { padding: 12px; }
    .bo-production-ticket { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .bo-production-ticket__quantity { grid-column: 3; grid-row: 1 / 3; }
    .bo-production-ticket time { grid-column: 2; }
    .bo-production-ticket > i:last-child { display: none; }
    .bo-production-product-grid,
    .bo-production-location-grid { grid-template-columns: 1fr; }
    .bo-production-output-card { grid-template-columns: 44px minmax(0, 1fr); }
    .bo-production-output-card .bo-quantity-stepper { grid-column: 1 / -1; }
    .bo-production-ingredient__main { grid-template-columns: 38px minmax(0, 1fr) auto; }
    .bo-production-ingredient__value { grid-column: 2; justify-items: start; }
    .bo-production-ingredient__actions { grid-column: 3; grid-row: 1 / 3; }
    .bo-production-ingredient__actions .bo-icon-button { height: 38px; width: 38px; }
    .bo-production-result-card { grid-template-columns: minmax(0, 1fr) 44px; }
    .bo-production-result-card > .bo-quantity-stepper { grid-column: 1 / -1; grid-row: 2; }
    .bo-production-result-card > .bo-production-waste-button { grid-column: 2; grid-row: 1; }
    .bo-production-consumption__values { grid-template-columns: 1fr; }
    .bo-production-action-bar { position: sticky; bottom: 5px; z-index: 3; }
}

.bo-product-row__main > strong > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-product-row__family {
    align-items: center;
    background: #f1ecfb;
    border-radius: 999px;
    color: #6842b8;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 4px;
    min-height: 23px;
    padding: 3px 8px;
}

.bo-product-row__family small {
    color: inherit;
    font-size: .72rem;
    font-weight: 800;
}

.bo-product-row__main > span,
.bo-product-row__meta small {
    color: var(--bo-muted);
    font-size: .8rem;
}

.bo-product-row__meta {
    justify-items: end;
}

.bo-tone-supply { --bo-tone: #9a6700; --bo-tone-soft: #fff4d6; }
.bo-tone-resale { --bo-tone: #1565a6; --bo-tone-soft: #e9f4fc; }
.bo-tone-manufactured { --bo-tone: #6842b8; --bo-tone-soft: #f0eafd; }
.bo-tone-service { --bo-tone: #087f5b; --bo-tone-soft: #e3f5ef; }
.bo-tone-loan { --bo-tone: #0e7490; --bo-tone-soft: #e2f5f8; }
.bo-tone-charge { --bo-tone: #b54708; --bo-tone-soft: #fff0e3; }

.bo-product-row__icon[class*="bo-tone-"],
.bo-kind-card[class*="bo-tone-"] > i {
    background: var(--bo-tone-soft);
    color: var(--bo-tone);
}

.bo-kind-picker {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 18px;
}

.bo-kind-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 9px;
    min-height: 98px;
    padding: 12px 8px;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.bo-kind-card:hover {
    border-color: var(--bo-tone);
    transform: translateY(-1px);
}

.bo-kind-card.is-selected {
    background: var(--bo-tone-soft);
    border-color: var(--bo-tone);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bo-tone) 12%, transparent);
    color: var(--bo-tone);
}

.bo-kind-card > i {
    font-size: 1.05rem;
}

.bo-editor-tabs {
    border-bottom: 1px solid var(--bo-border);
    display: flex;
    gap: 3px;
    margin: 0 -20px 18px;
    overflow-x: auto;
    padding: 0 20px;
}

.bo-editor-tab {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--bo-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 750;
    gap: 7px;
    min-height: 46px;
    padding: 0 14px;
}

.bo-editor-tab:hover,
.bo-editor-tab.is-active {
    color: var(--bo-blue);
}

.bo-editor-tab.is-active {
    border-bottom-color: var(--bo-blue);
}

.bo-editor-section {
    display: grid;
    gap: 16px;
}

.bo-editor-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bo-editor-card {
    background: #fbfcfd;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    padding: 16px;
}

.bo-editor-card > .bo-eyebrow {
    display: block;
    margin-bottom: 13px;
}

.bo-editor-card--wide {
    grid-column: 1 / -1;
}

.bo-editor-card--accent {
    background: var(--bo-blue-soft);
    border-color: rgba(31, 93, 143, .2);
}

/* Relatórios de estoque: leitura corrida no desktop, detalhes apenas como apoio. */
.bo-registration-card--stock-movements > span {
    background: var(--bo-blue-soft);
    color: var(--bo-blue);
}

.bo-registration-card--stock-valuation > span {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}

.bo-stock-minimum-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}

.bo-stock-minimum-heading > span {
    display: grid;
    gap: 4px;
}

.bo-stock-minimum-heading .bo-eyebrow { margin: 0; }

.bo-stock-minimum-heading > i,
.bo-stock-minimum-row__icon {
    align-items: center;
    background: #f0ebfb;
    border-radius: 9px;
    color: var(--bo-purple);
    display: inline-flex;
    justify-content: center;
}

.bo-stock-minimum-heading > i {
    height: 42px;
    width: 42px;
}

.bo-stock-minimum-list {
    display: grid;
    gap: 9px;
}

.bo-stock-minimum-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr) minmax(180px, 240px);
    padding: 11px;
}

.bo-stock-minimum-row.is-configured {
    background: #f6fbf8;
    border-color: rgba(19, 139, 93, .3);
}

.bo-stock-minimum-row__icon {
    height: 42px;
    width: 42px;
}

.bo-stock-minimum-row__main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.bo-stock-minimum-row__main strong,
.bo-stock-minimum-row__main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-stock-minimum-row__main small { color: var(--bo-muted); }
.bo-stock-minimum-row .bo-field { min-width: 0; }

@media (max-width: 680px) {
    .bo-stock-minimum-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .bo-stock-minimum-row .bo-field { grid-column: 1 / -1; }
}

.bo-form-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bo-toggle-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bo-toggle-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    color: var(--bo-muted);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 94px;
    padding: 12px;
    text-align: center;
}

.bo-toggle-card input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.bo-toggle-card > i {
    font-size: 1.25rem;
}

.bo-toggle-card.is-selected {
    background: var(--bo-green-soft);
    border-color: rgba(8, 127, 91, .35);
    color: var(--bo-green);
}

.bo-toggle-card--horizontal {
    flex-direction: row;
    justify-content: flex-start;
    min-height: 58px;
    text-align: left;
}

.bo-image-picker {
    align-items: center;
    background: #fbfcfd;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: flex;
    gap: 12px;
    padding: 13px;
}

.bo-image-picker__preview {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 9px;
    color: var(--bo-muted);
    display: flex;
    height: 68px;
    justify-content: center;
    overflow: hidden;
    width: 68px;
}

.bo-image-picker__preview img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.bo-image-picker--embedded {
    background: transparent;
    border: 0;
    padding: 0;
}

.bo-file-input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.bo-production-editor {
    gap: 18px;
}

.bo-production-composition {
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 13px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.bo-production-composition__title {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.bo-production-composition__title strong {
    color: var(--bo-muted);
    font-size: .84rem;
}

.bo-production-parameters {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(190px, .75fr);
}

.bo-production-parameter {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 88px;
    padding: 12px;
}

.bo-production-parameter__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.05rem;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.bo-measured-input {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.bo-measured-input .bo-input {
    border-radius: 9px 0 0 9px;
}

.bo-measured-input > span {
    align-items: center;
    background: var(--bo-blue-soft);
    border: 1px solid var(--bo-border);
    border-left: 0;
    border-radius: 0 9px 9px 0;
    color: var(--bo-blue);
    display: flex;
    font-size: .82rem;
    font-weight: 850;
    height: 42px;
    padding: 0 12px;
}

.bo-cost-card {
    background: var(--bo-green-soft);
    border: 1px solid rgba(8, 127, 91, .2);
    border-radius: 10px;
    display: grid;
    min-height: 88px;
    padding: 12px 14px;
}

.bo-cost-card span {
    color: var(--bo-green);
    font-size: .76rem;
    font-weight: 750;
}

.bo-cost-card strong {
    color: var(--bo-ink);
    font-size: 1.28rem;
}

.bo-component-search {
    position: relative;
}

.bo-component-search > i {
    color: var(--bo-muted);
    left: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.bo-component-search .bo-input {
    padding-left: 40px;
}

.bo-component-suggestions {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    box-shadow: var(--bo-shadow);
    display: grid;
    max-height: 260px;
    overflow: auto;
}

.bo-component-suggestions button {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--bo-border);
    color: inherit;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: 11px 13px;
    text-align: left;
}

.bo-component-suggestions button:hover {
    background: var(--bo-blue-soft);
}

.bo-component-suggestions span,
.bo-component-cell {
    display: grid;
}

.bo-component-suggestions small,
.bo-component-cell small {
    color: var(--bo-muted);
}

.bo-product-base-reference {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 11px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 54px;
    padding: 7px 9px;
}

.bo-product-base-reference > span:first-child {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 8px;
    color: var(--bo-blue);
    display: flex;
    height: 38px;
    justify-content: center;
}

.bo-product-base-reference > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.bo-product-base-reference strong,
.bo-product-base-reference small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-product-base-reference small {
    color: var(--bo-muted);
}

.bo-product-family {
    background: #fbf9ff;
    border: 1px solid #ded5f2;
    border-radius: 11px;
    margin-top: 14px;
    overflow: hidden;
}

.bo-product-family > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    list-style: none;
    min-height: 62px;
    padding: 10px 12px;
}

.bo-product-family > summary::-webkit-details-marker {
    display: none;
}

.bo-product-family__icon {
    align-items: center;
    background: #eee8fa;
    border-radius: 9px;
    color: #6842b8;
    display: flex;
    height: 40px;
    justify-content: center;
}

.bo-product-family__heading,
.bo-product-family__item > span:nth-child(2) {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.bo-product-family__heading small,
.bo-product-family__item small {
    color: var(--bo-muted);
    font-size: .78rem;
}

.bo-product-family__chevron {
    color: #6842b8;
    transition: transform .15s ease;
}

.bo-product-family[open] .bo-product-family__chevron {
    transform: rotate(180deg);
}

.bo-product-family__list {
    border-top: 1px solid #e5def3;
    display: grid;
    gap: 8px;
    padding: 10px;
}

.bo-product-family__item {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 54px;
    padding: 7px 10px;
}

.bo-product-family__item-icon {
    align-items: center;
    background: var(--bo-tone-soft);
    border-radius: 8px;
    color: var(--bo-tone);
    display: flex;
    height: 38px;
    justify-content: center;
}

.bo-product-family__item strong,
.bo-product-family__item small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-product-family__item > i {
    color: var(--bo-muted);
}

.bo-product-family__item > i.is-active {
    color: var(--bo-green);
}

.bo-component-empty {
    align-items: center;
    background: #fff;
    border: 1px dashed var(--bo-border);
    border-radius: 10px;
    color: var(--bo-muted);
    display: flex;
    gap: 10px;
    justify-content: center;
    min-height: 96px;
}

.bo-component-empty i {
    color: var(--bo-blue);
    font-size: 1.2rem;
}

.bo-component-table-head,
.bo-component-row {
    display: grid;
    gap: 12px;
    grid-template-columns: 90px minmax(170px, 1fr) 64px 120px 115px 132px;
}

.bo-component-table-head {
    color: var(--bo-muted);
    font-size: .7rem;
    font-weight: 850;
    padding: 0 12px;
    text-transform: uppercase;
}

.bo-component-list {
    display: grid;
    gap: 9px;
}

.bo-component-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    min-height: 68px;
    padding: 10px 12px;
}

.bo-component-row.is-editing {
    border-color: var(--bo-green);
    box-shadow: 0 0 0 3px rgba(8, 127, 91, .08);
}

.bo-component-cell {
    gap: 2px;
    min-width: 0;
}

.bo-component-cell small {
    display: none;
    font-size: .68rem;
    font-weight: 750;
    text-transform: uppercase;
}

.bo-component-cell strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-component-cell--product strong {
    color: var(--bo-ink);
}

.bo-component-cell--quantity .bo-input {
    min-width: 0;
}

.bo-component-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.bo-status-choice {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-muted);
    cursor: pointer;
    display: grid;
    gap: 13px;
    grid-template-columns: 44px minmax(0, 1fr) 50px;
    min-height: 82px;
    padding: 16px;
    text-align: left;
    width: 100%;
}

.bo-status-choice > i {
    font-size: 1.4rem;
    text-align: center;
}

.bo-status-choice.is-active {
    background: var(--bo-green-soft);
    border-color: rgba(8, 127, 91, .3);
    color: var(--bo-green);
}

.bo-switch {
    background: #cbd5dc;
    border-radius: 99px;
    display: block;
    height: 26px;
    padding: 3px;
    width: 46px;
}

.bo-switch i {
    background: #fff;
    border-radius: 50%;
    display: block;
    height: 20px;
    transition: transform .15s ease;
    width: 20px;
}

.bo-switch.is-on {
    background: var(--bo-green);
}

.bo-switch.is-on i {
    transform: translateX(20px);
}

.bo-registration-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bo-registration-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-ink);
    display: grid;
    gap: 14px;
    grid-template-columns: 50px minmax(0, 1fr) 18px;
    min-height: 98px;
    padding: 17px;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.bo-registration-card:hover {
    border-color: var(--bo-blue);
    box-shadow: var(--bo-shadow);
    color: var(--bo-blue);
    transform: translateY(-2px);
}

.bo-registration-card > span {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 11px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.15rem;
    height: 50px;
    justify-content: center;
}

.bo-registration-card--categories > span {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}

.bo-registration-card--units > span {
    background: var(--bo-amber-soft);
    color: var(--bo-amber);
}

.bo-registration-card--receipt > span,
.bo-registration-card--inventory > span {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}

.bo-registration-card--adjustment > span,
.bo-registration-card--stock-map > span {
    background: var(--bo-amber-soft);
    color: var(--bo-amber);
}

.bo-registration-card--requisition > span {
    background: #f0ebfb;
    color: var(--bo-purple);
}

.bo-registration-card--payment-methods > span {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}

.bo-registration-card--billing-methods > span {
    background: var(--bo-amber-soft);
    color: var(--bo-amber);
}

.bo-category-tree {
    padding: 9px;
}

.bo-category-node {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--bo-border);
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: calc(var(--bo-tree-depth) * 24px) 38px minmax(0, 1fr) auto 16px;
    min-height: 62px;
    padding: 8px 11px;
    text-align: left;
    width: 100%;
}

.bo-category-node:hover {
    background: var(--bo-blue-soft);
}

.bo-category-node.is-inactive {
    opacity: .62;
}

.bo-category-node__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 8px;
    color: var(--bo-blue);
    display: flex;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.bo-category-node strong,
.bo-category-node small {
    display: block;
}

.bo-category-node small {
    color: var(--bo-muted);
    font-size: .76rem;
    margin-top: 2px;
}

.bo-parent-picker {
    display: grid;
    gap: 7px;
    margin-top: 16px;
}

.bo-parent-picker + .bo-toggle-card {
    margin-top: 16px;
}

.bo-parent-option {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 8px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 24px minmax(0, 1fr) 20px;
    margin-left: calc(var(--bo-tree-depth, 0) * 18px);
    min-height: 45px;
    padding: 8px 11px;
    text-align: left;
}

.bo-parent-option > .fa-circle-check {
    color: transparent;
}

.bo-parent-option.is-selected {
    background: var(--bo-green-soft);
    border-color: rgba(8, 127, 91, .35);
    color: var(--bo-green);
}

.bo-parent-option.is-selected > .fa-circle-check {
    color: var(--bo-green);
}

.bo-unit-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bo-unit-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 58px minmax(0, 1fr) 16px;
    min-height: 84px;
    padding: 13px;
    text-align: left;
}

.bo-unit-card:hover {
    border-color: var(--bo-blue);
    box-shadow: var(--bo-shadow);
}

.bo-unit-card.is-inactive { opacity: .58; }
.bo-unit-card--readonly { cursor: default; grid-template-columns: 58px minmax(0, 1fr); }
.bo-unit-card--readonly:hover { border-color: var(--bo-border); box-shadow: none; }

.bo-finance-kind-card > span:nth-child(2) { min-width: 0; }
.bo-finance-kind-card > span:nth-child(2) strong,
.bo-finance-kind-card > span:nth-child(2) small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-finance-kind-icon {
    align-items: center;
    border-radius: 11px;
    display: flex;
    font-size: 1.08rem;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.bo-finance-kind-icon--blue { background: var(--bo-blue-soft); color: var(--bo-blue); }
.bo-finance-kind-icon--green { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-finance-kind-icon--cyan { background: #e5f5f8; color: var(--bo-cyan); }
.bo-finance-kind-icon--amber { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-finance-kind-icon--purple { background: #f0ebfb; color: var(--bo-purple); }
.bo-finance-kind-icon--neutral { background: var(--bo-soft); color: var(--bo-muted); }

.bo-unit-card__code {
    align-items: center;
    background: var(--bo-amber-soft);
    border-radius: 9px;
    color: var(--bo-amber);
    display: flex;
    font-weight: 850;
    height: 50px;
    justify-content: center;
}

.bo-unit-card strong,
.bo-unit-card small {
    display: block;
}

.bo-unit-card small {
    color: var(--bo-muted);
    margin-top: 4px;
}

.backoffice-nav-tree > summary {
    cursor: pointer;
    list-style: none;
}

.backoffice-nav-tree > summary::-webkit-details-marker {
    display: none;
}

.backoffice-nav-tree__chevron {
    font-size: .66rem;
    margin-left: auto;
    transition: transform .16s ease;
}

.backoffice-nav-tree[open] .backoffice-nav-tree__chevron {
    transform: rotate(180deg);
}

.backoffice-nav-tree__children {
    border-left: 1px solid rgba(255, 255, 255, .11);
    margin-left: 25px;
}

.backoffice-nav-tree__children .nav-link {
    font-size: .9rem;
    padding-left: 18px;
}

/* Inventory workspaces */
.bo-intent-picker {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
}

.bo-intent-picker--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-intent-picker--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bo-intent-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    min-height: 88px;
    padding: 14px;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.bo-intent-card > i {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 11px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.15rem;
    height: 48px;
    justify-content: center;
}

.bo-intent-card span { min-width: 0; }
.bo-intent-card strong { color: var(--bo-ink); display: block; }
.bo-intent-card small { color: var(--bo-muted); display: block; margin-top: 3px; }
.bo-intent-card:hover { border-color: var(--bo-blue); box-shadow: 0 10px 24px rgba(8, 36, 62, .08); transform: translateY(-1px); }
.bo-intent-card.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); box-shadow: 0 0 0 3px rgba(31, 93, 143, .08); }
.bo-intent-card.is-disabled { cursor: default; opacity: .62; transform: none; }
.bo-intent-card--domain > i, .bo-intent-card--logical > i { background: #e8e7f8; color: var(--bo-purple); }
.bo-intent-card--location > i, .bo-intent-card--physical > i { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-intent-card--entry > i { background: var(--bo-amber-soft); color: var(--bo-amber); }

.bo-card-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bo-entity-card,
.bo-add-card {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    min-height: 118px;
}

.bo-entity-card {
    align-items: center;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 13px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    padding: 16px;
    text-align: left;
    text-decoration: none;
    width: 100%;
}

.bo-entity-card:hover {
    border-color: var(--bo-blue);
    box-shadow: 0 8px 20px rgba(8, 36, 62, .07);
    color: inherit;
    text-decoration: none;
}

.bo-entity-card:focus-visible {
    border-color: var(--bo-blue);
    box-shadow: 0 0 0 3px rgba(31, 93, 143, .14);
    outline: 0;
}

.bo-entity-card:visited { color: inherit; }
.bo-entity-card.is-inactive { opacity: .58; }
.bo-entity-card__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 11px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.15rem;
    height: 48px;
    justify-content: center;
}

.bo-entity-card__content { display: grid; gap: 4px; min-width: 0; }
.bo-entity-card__content strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-entity-card__content span,
.bo-entity-card__content small { color: var(--bo-muted); }
.bo-entity-card__content small { font-size: .76rem; }

.bo-add-card {
    align-items: center;
    border-style: dashed;
    color: var(--bo-blue);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-weight: 780;
    gap: 8px;
    justify-content: center;
}

.bo-add-card i { font-size: 1.2rem; }
.bo-add-card:hover { background: var(--bo-blue-soft); border-color: var(--bo-blue); }

.bo-location-tree { display: grid; gap: 9px; }
.bo-location-node {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: inherit;
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 11px;
    grid-template-columns: calc(var(--bo-location-depth, 0) * 20px) 42px minmax(0, 1fr) auto 14px;
    min-height: 70px;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.bo-location-node:hover {
    border-color: var(--bo-blue);
    box-shadow: 0 8px 20px rgba(8, 36, 62, .07);
}

.bo-location-node:focus-visible {
    border-color: var(--bo-blue);
    box-shadow: 0 0 0 3px rgba(31, 93, 143, .14);
    outline: 0;
}

.bo-location-node.is-inactive { opacity: .58; }
.bo-location-node__rail { border-bottom: 1px solid var(--bo-border-strong); height: 1px; }
.bo-location-node__icon {
    align-items: center;
    background: var(--bo-green-soft);
    border-radius: 9px;
    color: var(--bo-green);
    display: flex;
    height: 42px;
    justify-content: center;
}

.bo-location-node > span:nth-child(3) { display: grid; gap: 3px; min-width: 0; }
.bo-location-node strong { color: var(--bo-ink); }
.bo-location-node small { color: var(--bo-muted); }
.bo-location-node > .fa-chevron-right { color: var(--bo-muted); justify-self: end; }

.bo-choice-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    min-height: 58px;
    padding: 10px 13px;
}

.bo-panel__header--spaced { margin-top: 20px; }
.bo-section-title {
    align-items: center;
    color: var(--bo-muted);
    display: flex;
    font-size: .75rem;
    font-weight: 850;
    gap: 10px;
    margin: 20px 0 10px;
    text-transform: uppercase;
}

.bo-section-title::after { background: var(--bo-border); content: ""; height: 1px; flex: 1; }
.bo-icon-button--danger { color: var(--bo-red); }
.bo-icon-button--danger:hover { border-color: var(--bo-red); color: var(--bo-red); }

.bo-routing-card {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 13px;
    padding: 15px;
}

.bo-routing-card > header {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.bo-routing-card > header strong { color: var(--bo-ink); }
.bo-routing-card__destination {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-navy);
    display: grid;
    gap: 10px;
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 10px;
}

.bo-routing-card__destination > i { text-align: center; }
.bo-routing-card__destination span { display: grid; }
.bo-routing-card__destination small { color: var(--bo-muted); }
.bo-rule-criteria { display: flex; flex-wrap: wrap; gap: 7px; }
.bo-rule-criterion { background: var(--bo-soft); border-radius: 999px; color: var(--bo-text); font-size: .74rem; font-weight: 730; padding: 5px 9px; }

.bo-registration-grid--structure {
    grid-template-columns: repeat(auto-fit, minmax(270px, 360px));
    justify-content: start;
}

.bo-domain-tabs,
.bo-rule-dialog-tabs {
    align-items: center;
    border-bottom: 1px solid var(--bo-border);
    display: flex;
    gap: 4px;
    overflow-x: auto;
}

.bo-domain-tabs { margin-bottom: 14px; }
.bo-domain-tabs button,
.bo-rule-dialog-tabs button {
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    color: var(--bo-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 760;
    padding: 13px 15px 11px;
    white-space: nowrap;
}

.bo-domain-tabs button i { margin-right: 6px; }
.bo-domain-tabs button:hover,
.bo-rule-dialog-tabs button:hover { color: var(--bo-blue); }
.bo-domain-tabs button.is-active,
.bo-rule-dialog-tabs button.is-active {
    border-bottom-color: var(--bo-blue);
    color: var(--bo-blue);
}

.bo-domain-tabs button:disabled {
    cursor: not-allowed;
    opacity: .38;
}

.bo-location-editor-tabs { margin-top: -4px; }
.bo-location-editor-tabs button { align-items: center; display: inline-flex; gap: 6px; }
.bo-tab-count {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 999px;
    color: var(--bo-blue);
    display: inline-flex;
    font-size: .68rem;
    height: 21px;
    justify-content: center;
    min-width: 21px;
    padding: 0 6px;
}
.bo-location-cost-centers { display: grid; gap: 12px; }
.bo-location-purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-location-purpose-grid .bo-selectable-card {
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    min-width: 0;
}
.bo-location-purpose-grid .bo-selectable-card > span:first-child {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    grid-row: 1 / 3;
    height: 38px;
    justify-content: center;
}
.bo-location-purpose-grid .bo-selectable-card > i {
    color: transparent;
    grid-column: 3;
    grid-row: 1 / 3;
}
.bo-location-purpose-grid .bo-selectable-card.is-selected > i { color: var(--bo-blue); }
.bo-location-purpose-grid .bo-selectable-card small { grid-column: 2; }

.bo-domain-editor { display: grid; gap: 17px; }
.bo-domain-editor__footer {
    border-top: 1px solid var(--bo-border);
    display: flex;
    justify-content: flex-end;
    padding-top: 16px;
}

.bo-rule-list { display: grid; gap: 9px; }
.bo-rule-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 44px minmax(180px, 1fr) minmax(110px, .42fr) minmax(160px, .7fr) auto 16px;
    min-height: 76px;
    padding: 11px 13px;
    text-align: left;
    width: 100%;
}

.bo-rule-card:hover { border-color: var(--bo-blue); box-shadow: 0 8px 18px rgba(8, 36, 62, .06); }
.bo-rule-card:disabled { cursor: default; opacity: 1; }
.bo-rule-card.is-inactive { opacity: .58; }
.bo-rule-card__priority {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    font-weight: 850;
    height: 44px;
    justify-content: center;
}

.bo-rule-card__main,
.bo-rule-card__criterion { display: grid; gap: 3px; min-width: 0; }
.bo-rule-card__main strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-rule-card__main small,
.bo-rule-card__criterion small { color: var(--bo-muted); }
.bo-rule-card__criterion {
    grid-template-columns: 22px minmax(0, 1fr);
}
.bo-rule-card__criterion i { color: var(--bo-blue); grid-row: 1 / 3; padding-top: 4px; }
.bo-rule-card__triggers { display: flex; flex-wrap: wrap; gap: 5px; }
.bo-rule-card__triggers span {
    background: var(--bo-soft);
    border-radius: 999px;
    color: var(--bo-muted);
    font-size: .73rem;
    font-weight: 720;
    padding: 5px 8px;
}

.bo-rule-dialog-tabs { margin: -6px 0 17px; }
.bo-readonly-value {
    align-items: center;
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    color: var(--bo-ink);
    display: flex;
    gap: 9px;
    min-height: 43px;
    padding: 9px 11px;
}
.bo-readonly-value i { color: var(--bo-blue); }
.bo-choice-grid--2 { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-choice-row {
    color: var(--bo-text);
    cursor: pointer;
    gap: 10px;
    justify-content: flex-start;
    text-align: left;
}
.bo-choice-row > i { color: var(--bo-blue); width: 28px; }
.bo-choice-row.is-selected {
    background: var(--bo-blue-soft);
    border-color: var(--bo-blue);
    color: var(--bo-blue);
}
.bo-rule-filter {
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 11px;
    margin-top: 16px;
    padding: 14px;
}
.bo-rule-filter .bo-selectable-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-trigger-grid { display: grid; gap: 11px; }
.bo-trigger-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 11px;
    grid-template-columns: 42px minmax(160px, 1fr) minmax(190px, .8fr);
    padding: 12px;
}
.bo-trigger-card > i {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 42px;
    justify-content: center;
}
.bo-trigger-card > span { display: grid; }
.bo-trigger-card strong { color: var(--bo-ink); }
.bo-trigger-card small { color: var(--bo-muted); }
.bo-trigger-card.is-configured { background: var(--bo-blue-soft); border-color: rgba(31, 93, 143, .32); }
.bo-toggle-card--horizontal { align-items: center; display: flex; min-height: 62px; }

.bo-company-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-company-card {
    align-items: center;
    appearance: none;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 12px;
    grid-template-columns: 48px minmax(0, 1fr) auto 18px;
    min-height: 88px;
    padding: 14px;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    width: 100%;
}
.bo-company-card:hover,
.bo-company-card:focus-visible {
    border-color: var(--bo-blue);
    box-shadow: var(--bo-shadow);
    outline: none;
    transform: translateY(-2px);
}

/* Commercial catalog */
.bo-catalog-list { display: grid; gap: 8px; }
.bo-catalog-row {
    align-items: center;
    background: var(--bo-surface);
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 13px;
    grid-template-columns: 46px minmax(0, 1fr) 72px 72px auto 14px;
    min-height: 76px;
    padding: 11px 14px;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    width: 100%;
}
.bo-catalog-row:hover { border-color: var(--bo-blue); box-shadow: 0 9px 24px rgba(8, 36, 62, .08); transform: translateY(-1px); }
.bo-catalog-row.is-inactive { opacity: .58; }
.bo-catalog-row__icon,
.bo-catalog-row__media {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 44px;
    justify-content: center;
    overflow: hidden;
    width: 44px;
}
.bo-catalog-row__media img { height: 100%; object-fit: cover; width: 100%; }
.bo-catalog-row__main,
.bo-catalog-row__meta { display: grid; gap: 3px; min-width: 0; }
.bo-catalog-row__main strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-catalog-row__main small,
.bo-catalog-row__meta small { color: var(--bo-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-catalog-row__meta { justify-items: end; }
.bo-catalog-row--item { grid-template-columns: 46px minmax(0, 1fr) auto 14px; }
.bo-catalog-row--error {
    border-color: #f0c9c5;
    cursor: default;
    grid-template-columns: 46px minmax(0, 1fr) auto;
}
.bo-catalog-row--error:hover { border-color: #f0c9c5; box-shadow: none; transform: none; }
.bo-catalog-row--error .bo-catalog-row__media { background: #fff1ef; color: var(--bo-danger); }
.bo-catalog-row--error .bo-commercial-price { color: var(--bo-danger); }
.bo-menu-summary {
    align-items: center;
    background: rgba(255, 255, 255, .68);
    border: 1px solid var(--bo-border);
    border-radius: 13px;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-bottom: 14px;
    padding: 11px 13px;
}
.bo-menu-summary__identity { align-items: center; display: flex; gap: 10px; margin-right: auto; }
.bo-menu-summary__identity > span:last-child { display: grid; gap: 2px; }
.bo-menu-summary__identity small { color: var(--bo-muted); }
.bo-menu-summary__icon { align-items: center; background: var(--bo-blue-soft); border-radius: 9px; color: var(--bo-blue); display: flex; height: 38px; justify-content: center; width: 38px; }
.bo-menu-workspace { display: grid; gap: 16px; }
.bo-menu-category-list { display: grid; gap: 16px; }
.bo-menu-category { background: #f8fbfd; border: 1px solid var(--bo-border); border-radius: 13px; overflow: hidden; }
.bo-menu-category__header { align-items: center; background: var(--bo-surface); border-bottom: 1px solid var(--bo-border); display: flex; gap: 16px; justify-content: space-between; padding: 12px 14px; }
.bo-menu-category__header > div:first-child { align-items: center; display: flex; gap: 11px; }
.bo-menu-category__header > div:first-child > span:last-child { display: grid; gap: 2px; }
.bo-menu-category__header strong { color: var(--bo-ink); font-size: .96rem; }
.bo-menu-category__header small { color: var(--bo-muted); font-size: .75rem; }
.bo-menu-category__order { align-items: center; background: var(--bo-blue-soft); border-radius: 8px; color: var(--bo-blue); display: flex; font-size: .72rem; font-weight: 850; height: 34px; justify-content: center; min-width: 34px; padding: 0 7px; }
.bo-menu-category > .bo-catalog-list { padding: 10px; }
.bo-menu-category__empty { align-items: center; color: var(--bo-muted); display: flex; font-size: .82rem; gap: 8px; justify-content: center; min-height: 76px; padding: 14px; }
.bo-menu-item-editor { display: grid; gap: 15px; }
.bo-menu-item-editor__section { background: #f8fbfd; border: 1px solid var(--bo-border); border-radius: 13px; display: grid; gap: 14px; padding: 15px; }
.bo-menu-item-editor__heading { align-items: center; display: flex; gap: 10px; }
.bo-menu-item-editor__heading > i { align-items: center; background: var(--bo-blue-soft); border-radius: 9px; color: var(--bo-blue); display: flex; height: 36px; justify-content: center; width: 36px; }
.bo-menu-item-editor__heading > div { display: grid; gap: 2px; }
.bo-menu-item-editor__heading strong { color: var(--bo-ink); }
.bo-menu-item-editor__heading small { color: var(--bo-muted); font-size: .75rem; }
.bo-catalog-editor-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.bo-catalog-editor-grid > * { min-width: 0; }
.bo-catalog-editor-grid > .bo-field { align-content: start; align-self: start; width: 100%; }
.bo-catalog-field--double { grid-column: span 2; }
.bo-catalog-field--wide { grid-column: 1 / -1; }
.bo-product-selection { align-items: center; background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 10px; display: grid; gap: 10px; grid-template-columns: 38px minmax(0, 1fr) auto; padding: 10px; }
.bo-product-selection > span,
.bo-product-search-results button > span { align-items: center; background: var(--bo-blue-soft); border-radius: 8px; color: var(--bo-blue); display: flex; height: 36px; justify-content: center; width: 36px; }
.bo-product-selection > div,
.bo-product-search-results button > div { display: grid; gap: 2px; min-width: 0; }
.bo-product-selection small,
.bo-product-search-results small { color: var(--bo-muted); }
.bo-product-search-results { background: var(--bo-surface); border: 1px solid var(--bo-border); border-radius: 10px; display: grid; max-height: 280px; overflow: auto; padding: 5px; }
.bo-product-search-results button { align-items: center; background: transparent; border: 0; border-radius: 8px; color: inherit; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 36px minmax(0, 1fr) 14px; padding: 8px; text-align: left; }
.bo-product-search-results button:hover { background: var(--bo-blue-soft); }
.bo-pricing-editor { container-type: inline-size; min-width: 0; }
.bo-pricing-editor__layout { display: grid; gap: 12px; min-width: 0; }
.bo-pricing-editor__amount { min-width: 0; }
.bo-pricing-discount { min-width: 0; }
.bo-pricing-discount > .bo-toggle-card { width: 100%; }
.bo-pricing-discount.is-open { background: #f8fcfa; border: 1px solid rgba(8, 127, 91, .35); border-radius: 9px; overflow: hidden; }
.bo-pricing-discount.is-open > .bo-toggle-card { border: 0; border-bottom: 1px solid rgba(8, 127, 91, .24); border-radius: 0; }
.bo-pricing-discount__details { padding: 14px; }
.bo-pricing-discount__fields { display: grid; gap: 14px; grid-template-columns: 1fr; }
.bo-pricing-discount__fields > * { min-width: 0; }
.bo-loan-policy-card > .bo-toggle-card + .bo-pricing-editor { margin-top: 12px; }
@container (min-width: 520px) {
    .bo-pricing-editor__amount { width: calc((100% - 14px) / 2); }
    .bo-pricing-discount__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 900px) {
    .bo-pricing-editor__amount { width: calc((100% - 28px) / 3); }
    .bo-pricing-discount__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.bo-pricing-block { display: grid; gap: 12px; }
.bo-pricing-block + .bo-pricing-block { border-top: 1px solid var(--bo-border); padding-top: 14px; }
.bo-pricing-block h4 { color: var(--bo-ink); margin: 0; }
.bo-commercial-section__heading { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.bo-commercial-section__heading h2,
.bo-commercial-section__heading h3 { color: var(--bo-ink); margin: 3px 0 0; }
.bo-commercial-price { color: var(--bo-blue); font-weight: 850; white-space: nowrap; }
.bo-commercial-image-editor { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.bo-commercial-image-editor img { border: 1px solid var(--bo-border); border-radius: 12px; height: 112px; object-fit: cover; width: 112px; }
.bo-pricing-presentation,
.bo-pricing-value-card { display: grid; gap: 14px; }
.bo-pricing-presentation > .bo-eyebrow,
.bo-pricing-value-card > .bo-eyebrow { margin: 0; }
.bo-pricing-options-card { display: grid; gap: 14px; }
.bo-pricing-options-card__header { align-items: center; display: flex; gap: 16px; justify-content: space-between; }
.bo-pricing-options-card__header > .bo-eyebrow { margin: 0; }
.bo-pricing-accordion { display: grid; gap: 9px; }
.bo-pricing-accordion__item { background: #fff; border: 1px solid var(--bo-border); border-radius: 11px; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.bo-pricing-accordion__item.is-open { border-color: rgba(31, 93, 143, .38); box-shadow: 0 0 0 3px rgba(31, 93, 143, .07); }
.bo-pricing-accordion__header { align-items: center; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; padding: 7px; }
.bo-pricing-accordion__summary { align-items: center; background: transparent; border: 0; border-radius: 8px; color: inherit; cursor: pointer; display: grid; gap: 11px; grid-template-columns: 36px minmax(0, 1fr) 14px; min-width: 0; padding: 5px; text-align: left; width: 100%; }
.bo-pricing-accordion__summary:hover { background: var(--bo-blue-soft); }
.bo-pricing-accordion__index { align-items: center; background: var(--bo-blue-soft); border-radius: 8px; color: var(--bo-blue); display: flex; font-size: .75rem; font-weight: 850; height: 36px; justify-content: center; width: 36px; }
.bo-pricing-accordion__copy { display: grid; gap: 2px; min-width: 0; }
.bo-pricing-accordion__copy strong,
.bo-pricing-accordion__copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-pricing-accordion__copy strong { color: var(--bo-ink); }
.bo-pricing-accordion__copy small { color: var(--bo-muted); font-size: .75rem; }
.bo-pricing-accordion__summary > i { color: var(--bo-blue); font-size: .75rem; }
.bo-pricing-accordion__body { background: #fbfcfd; border-top: 1px solid var(--bo-border); display: grid; gap: 14px; padding: 15px; }
.bo-pricing-option-name { max-width: 360px; }
.bo-pricing-option-price { border-top: 1px solid var(--bo-border); display: grid; gap: 12px; padding-top: 14px; }
.bo-pricing-option-price > .bo-eyebrow { margin: 0; }
.bo-product-change-row { align-items: end; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
.bo-catalog-product-picker { display: grid; gap: 8px; position: relative; }
.bo-catalog-product-picker .bo-product-base-reference { min-height: 44px; }
.bo-commercial-variant-list { display: grid; gap: 9px; margin-top: 14px; }
.bo-commercial-variant-row { align-items: center; display: grid; gap: 9px; grid-template-columns: minmax(130px, .7fr) minmax(180px, 1fr) 130px auto 70px 110px 42px; }
.bo-commercial-variant-discount { align-items: center; color: var(--bo-muted); display: inline-flex; font-size: .75rem; font-weight: 750; gap: 6px; white-space: nowrap; }

@media (max-width: 900px) {
    .bo-catalog-row { grid-template-columns: 46px minmax(0, 1fr) auto 14px; }
    .bo-catalog-row > .bo-catalog-row__meta { display: none; }
    .bo-catalog-editor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-catalog-field--double { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .bo-menu-summary { align-items: stretch; flex-wrap: wrap; }
    .bo-pricing-options-card__header { align-items: stretch; flex-direction: column; }
    .bo-pricing-options-card__header > .bo-button { width: 100%; }
    .bo-pricing-option-name { max-width: none; grid-template-columns: 1fr; }
    .bo-catalog-editor-grid { grid-template-columns: 1fr; }
    .bo-catalog-field--double { grid-column: auto; }
    .bo-product-change-row { align-items: stretch; grid-template-columns: 1fr; }
    .bo-menu-summary__identity { flex: 1 1 100%; }
    .bo-menu-category__header { align-items: stretch; flex-direction: column; }
    .bo-menu-category__header .bo-panel__actions { justify-content: flex-end; }
    .bo-catalog-row { grid-template-columns: 42px minmax(0, 1fr) 14px; }
    .bo-catalog-row > .bo-badge,
    .bo-commercial-price { grid-column: 2; }
    .bo-commercial-variant-row { grid-template-columns: 1fr 110px auto; }
}
.bo-company-card.is-default { border-color: rgba(31, 93, 143, .38); }
.bo-company-card.is-deleting {
    background: #fff8f6;
    border-color: rgba(180, 35, 24, .34);
    opacity: 1;
}
.bo-company-card.is-deleting .bo-company-card__icon {
    background: #fee9e7;
    color: #b42318;
}
.bo-company-card__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 11px;
    color: var(--bo-blue);
    display: flex;
    height: 48px;
    justify-content: center;
    width: 48px;
    grid-row: 1 / 3;
}
.bo-company-card__main { display: grid; min-width: 0; }
.bo-company-card__badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}
.bo-company-card__sync {
    align-items: center;
    color: var(--bo-muted);
    display: flex;
    font-size: .78rem;
    gap: 7px;
    grid-column: 2 / -2;
    white-space: nowrap;
}
.bo-company-card__arrow { color: var(--bo-muted); grid-column: 4; grid-row: 1 / 3; }
.bo-company-card strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-company-card small { color: var(--bo-muted); }
.bo-company-card.is-inactive { opacity: .58; }
.bo-company-card.is-inactive.is-deleting { opacity: 1; }
.bo-company-capabilities { color: var(--bo-blue); display: flex; gap: 8px; grid-column: 2 / 4; }
.bo-company-expansion-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-dialog-delete { margin-right: auto; }
.bo-company-readonly-scope { border: 0; margin: 0; min-width: 0; padding: 0; }
.bo-company-readonly-scope:disabled { opacity: .72; }
.bo-company-deletion-notice { align-items: center; display: flex; gap: 12px; margin: 14px 20px 0; }
.bo-company-deletion-notice > i { font-size: 1.2rem; }
.bo-company-deletion-notice > span { display: grid; gap: 2px; }
.bo-field .validation-message { color: var(--bo-red, #b42318); font-size: .75rem; }

.bo-whatsapp-integration {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    box-shadow: 0 12px 34px rgba(16, 37, 54, .06);
    overflow: hidden;
}
.bo-whatsapp-integration__header {
    align-items: center;
    background: linear-gradient(135deg, rgba(8, 127, 91, .08), rgba(31, 93, 143, .04));
    border-bottom: 1px solid var(--bo-border);
    display: grid;
    gap: 13px;
    grid-template-columns: 50px minmax(0, 1fr) auto 42px;
    padding: 17px 18px;
}
.bo-whatsapp-integration__brand {
    align-items: center;
    background: #e1f7ee;
    border-radius: 13px;
    color: #087f5b;
    display: flex;
    font-size: 1.55rem;
    height: 50px;
    justify-content: center;
    width: 50px;
}
.bo-whatsapp-integration__identity { display: grid; min-width: 0; }
.bo-whatsapp-integration__identity small { color: #087f5b; font-size: .72rem; font-weight: 850; }
.bo-whatsapp-integration__identity strong { color: var(--bo-ink); font-size: 1rem; line-height: 1.3; }
.bo-whatsapp-integration__identity > span { color: var(--bo-muted); font-size: .82rem; }
.bo-whatsapp-status {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 750;
    gap: 6px;
    padding: 6px 9px;
    white-space: nowrap;
}
.bo-company-card__deletion {
    align-items: center;
    color: #b42318;
    display: flex;
    font-size: .78rem;
    gap: 7px;
    grid-column: 2 / 4;
}
.bo-whatsapp-status.is-success { background: var(--bo-green-soft); border-color: rgba(8, 127, 91, .2); color: var(--bo-green); }
.bo-whatsapp-status.is-progress { background: var(--bo-blue-soft); border-color: rgba(31, 93, 143, .2); color: var(--bo-blue); }
.bo-whatsapp-status.is-warning { background: var(--bo-amber-soft); border-color: rgba(191, 120, 0, .2); color: #8a5700; }
.bo-whatsapp-status.is-danger { background: var(--bo-red-soft); border-color: rgba(180, 35, 24, .2); color: var(--bo-red); }
.bo-whatsapp-status.is-neutral { background: var(--bo-soft); border-color: var(--bo-border); color: var(--bo-muted); }
.bo-whatsapp-integration__body { min-height: 270px; padding: 22px; }
.bo-whatsapp-state {
    align-items: center;
    color: var(--bo-muted);
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: center;
    min-height: 226px;
    padding: 24px;
    text-align: center;
}
.bo-whatsapp-state > i {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 50%;
    color: var(--bo-muted);
    display: flex;
    font-size: 1.35rem;
    height: 54px;
    justify-content: center;
    margin-bottom: 4px;
    width: 54px;
}
.bo-whatsapp-state strong { color: var(--bo-ink); font-size: 1rem; }
.bo-whatsapp-state span { font-size: .88rem; max-width: 470px; }
.bo-whatsapp-state--success > i { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-whatsapp-state--progress > i,
.bo-whatsapp-state--loading > i { background: var(--bo-blue-soft); color: var(--bo-blue); }
.bo-whatsapp-state--warning > i { background: var(--bo-amber-soft); color: #a06300; }
.bo-whatsapp-state--danger > i { background: var(--bo-red-soft); color: var(--bo-red); }
.bo-whatsapp-connect-flow {
    align-items: center;
    display: grid;
    gap: 30px;
    grid-template-columns: minmax(0, 1fr) 270px;
    margin: 0 auto;
    max-width: 780px;
}
.bo-whatsapp-connect-flow__guide h3 { color: var(--bo-ink); font-size: 1.15rem; margin: 5px 0 15px; }
.bo-whatsapp-connect-flow__guide ol { color: var(--bo-text); display: grid; gap: 9px; margin: 0; padding-left: 22px; }
.bo-whatsapp-connect-flow__guide p { color: var(--bo-muted); font-size: .82rem; line-height: 1.5; margin: 16px 0 0; }
.bo-whatsapp-qr {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(16, 37, 54, .1);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
}
.bo-whatsapp-qr img { display: block; height: auto; max-width: 100%; }
.bo-whatsapp-qr span { color: var(--bo-muted); font-size: .74rem; }
.bo-whatsapp-integration__actions,
.bo-whatsapp-renew-confirmation {
    align-items: center;
    border-top: 1px solid var(--bo-border);
    display: flex;
    gap: 9px;
    min-height: 66px;
    padding: 12px 18px;
}
.bo-whatsapp-integration__checked { color: var(--bo-muted); margin-left: auto; }
.bo-whatsapp-renew-confirmation { background: var(--bo-amber-soft); }
.bo-whatsapp-renew-confirmation > span { display: grid; margin-right: auto; }
.bo-whatsapp-renew-confirmation strong { color: var(--bo-ink); font-size: .88rem; }
.bo-whatsapp-renew-confirmation small { color: var(--bo-muted); font-size: .78rem; }
@media (max-width: 680px) {
    .bo-company-expansion-grid { grid-template-columns: 1fr; }
    .bo-dialog-delete { margin-right: 0; width: 100%; }
    .bo-whatsapp-integration__header { grid-template-columns: 46px minmax(0, 1fr) 42px; }
    .bo-whatsapp-status { grid-column: 1 / -1; justify-self: start; }
    .bo-whatsapp-connect-flow { grid-template-columns: 1fr; }
    .bo-whatsapp-qr { margin: 0 auto; width: min(100%, 270px); }
    .bo-whatsapp-integration__actions,
    .bo-whatsapp-renew-confirmation { align-items: stretch; flex-direction: column; }
    .bo-whatsapp-integration__actions .bo-button,
    .bo-whatsapp-renew-confirmation .bo-button { width: 100%; }
    .bo-whatsapp-integration__checked { margin: 3px 0 0; text-align: center; }
    .bo-whatsapp-renew-confirmation > span { margin: 0 0 5px; text-align: center; }
}

.bo-company-registration-summary {
    align-items: center;
    background: var(--bo-blue-soft);
    border: 1px solid rgba(31, 93, 143, .18);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    margin-bottom: 14px;
    padding: 14px;
}
.bo-company-registration-summary > span:nth-child(2) { display: grid; }
.bo-company-registration-summary strong { color: var(--bo-ink); }
.bo-company-registration-summary small { color: var(--bo-muted); }
.bo-registration-pendencies {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 16px;
}
.bo-registration-pendencies span {
    align-items: center;
    background: var(--bo-amber-soft);
    border: 1px solid rgba(191, 120, 0, .2);
    border-radius: 999px;
    color: #8a5700;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 740;
    gap: 6px;
    padding: 6px 9px;
}
.bo-form-grid--single { grid-template-columns: 1fr; }

.bo-mini-card-grid { display: grid; gap: 8px; }

.bo-mini-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 56px;
    padding: 8px 10px;
    text-align: left;
}

.bo-mini-card > i { color: var(--bo-blue); text-align: center; }
.bo-mini-card span { display: grid; min-width: 0; }
.bo-mini-card strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-mini-card small { color: var(--bo-muted); }
.bo-mini-card:hover { border-color: var(--bo-blue); }
.bo-mini-card.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-mini-card.is-source { background: var(--bo-amber-soft); border-color: rgba(170, 103, 21, .4); }
.bo-mini-card.is-destination { background: var(--bo-green-soft); border-color: rgba(8, 127, 91, .4); }
.bo-domain-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-domain-company-grid .bo-mini-card { grid-template-columns: 34px minmax(0, 1fr) 18px; }
.bo-domain-company-grid .bo-mini-card > i:last-child { color: transparent; }
.bo-domain-company-grid .bo-mini-card.is-selected > i:last-child { color: var(--bo-blue); }

.bo-product-picker { display: grid; gap: 6px; min-width: 0; position: relative; }
.bo-product-picker__search { min-width: 0; position: relative; }
.bo-product-picker__search > i { color: var(--bo-muted); left: 13px; position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; }
.bo-product-picker__search .bo-input { min-width: 0; padding-left: 38px; padding-right: 44px; width: 100%; }
.bo-product-picker__search > .bo-icon-button {
    height: 34px;
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
}
.bo-product-picker__results {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    max-height: 280px;
    min-width: 0;
    overflow: auto;
}
.bo-product-picker__results.is-overlay {
    box-shadow: var(--bo-shadow);
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 20;
}

.bo-product-picker__item {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--bo-border);
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    min-height: 58px;
    min-width: 0;
    padding: 9px 11px;
    text-align: left;
}

.bo-product-picker__item:hover { background: var(--bo-blue-soft); }
.bo-product-picker__item > span { display: grid; min-width: 0; }
.bo-product-picker__item strong,
.bo-product-picker__item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-product-picker__item small { color: var(--bo-muted); }
.bo-product-picker__icon {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 8px;
    color: var(--bo-blue);
    display: flex !important;
    height: 38px;
    justify-content: center;
}

.bo-product-picker__empty { color: var(--bo-muted); padding: 16px; text-align: center; }
.bo-quantity-stepper {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    display: grid;
    grid-template-columns: 40px minmax(64px, 1fr) 40px;
    overflow: hidden;
}

.bo-quantity-stepper button {
    background: var(--bo-soft);
    border: 0;
    color: var(--bo-navy);
    cursor: pointer;
    font-size: 1rem;
    height: 40px;
}

.bo-quantity-stepper button:disabled { cursor: not-allowed; opacity: .35; }
.bo-quantity-stepper input {
    border: 0;
    color: var(--bo-ink);
    font: inherit;
    font-weight: 800;
    height: 40px;
    min-width: 0;
    text-align: center;
    width: 100%;
}

.bo-request-lines,
.bo-delivery-lines { display: grid; gap: 9px; }

.bo-request-line__icon {
    align-items: center;
    align-self: center;
    background: var(--bo-blue-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 42px;
    justify-content: center;
}

.bo-request-line > span:nth-child(2) { align-self: center; display: grid; min-width: 0; }
.bo-request-line strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-request-line small { color: var(--bo-muted); font-size: .78rem; }

.bo-submit-bar {
    align-items: center;
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 11px 13px;
}

.bo-submit-bar > span { color: var(--bo-muted); }
.bo-submit-bar > span strong { color: var(--bo-ink); }
.bo-request-editor { display: grid; gap: 16px; }
.bo-selectable-cards {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bo-selectable-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 62px;
    padding: 10px;
    text-align: left;
}

.bo-selectable-card > i { color: var(--bo-blue); text-align: center; }
.bo-selectable-card span { display: grid; }
.bo-selectable-card strong { color: var(--bo-ink); }
.bo-selectable-card small { color: var(--bo-muted); }
.bo-selectable-card.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }

.bo-request-line {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 11px;
    grid-template-columns: 42px minmax(0, 1fr) minmax(180px, .45fr) 42px;
    padding: 11px;
}

.bo-request-board {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bo-request-card {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.bo-request-card > header { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.bo-request-card > header span { display: grid; }
.bo-request-card > header strong { color: var(--bo-ink); }
.bo-request-card > header small { color: var(--bo-muted); }
.bo-request-card__destination { align-items: center; background: var(--bo-soft); border-radius: 9px; display: flex; gap: 9px; padding: 9px 10px; }
.bo-request-card__items { color: var(--bo-muted); display: flex; flex-wrap: wrap; font-size: .8rem; gap: 7px; }

.bo-delivery-workspace { align-items: start; grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr); }
.bo-delivery-queue { display: grid; gap: 8px; }
.bo-delivery-ticket {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
    text-align: left;
}

.bo-delivery-ticket > strong,
.bo-delivery-ticket > small { grid-column: 1 / -1; }
.bo-delivery-ticket > strong { color: var(--bo-ink); }
.bo-delivery-ticket > small { color: var(--bo-muted); }
.bo-delivery-ticket.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-delivery-ticket__number { color: var(--bo-blue); font-size: .74rem; font-weight: 850; }
.bo-approval-card {
    align-items: center;
    background: var(--bo-amber-soft);
    border: 1px solid rgba(170, 103, 21, .25);
    border-radius: 11px;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 14px;
}

.bo-approval-card > span { display: grid; }
.bo-approval-card small { color: var(--bo-muted); }
.bo-route-selection { display: grid; gap: 12px; margin-bottom: 16px; }
.bo-delivery-line {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 11px;
    grid-template-columns: 42px minmax(0, 1fr) auto minmax(180px, .45fr);
    padding: 11px;
}

.bo-delivery-line > span:nth-child(2) { display: grid; }
.bo-delivery-line small { color: var(--bo-muted); }
.bo-delivery-line__check {
    align-items: center;
    background: var(--bo-green-soft);
    border-radius: 9px;
    color: var(--bo-green);
    display: flex;
    height: 42px;
    justify-content: center;
}

.bo-count-workspace { display: grid; gap: 16px; }
.bo-count-intro { align-items: center; color: var(--bo-ink); display: flex; font-size: 1.05rem; gap: 10px; }
.bo-count-intro i { color: var(--bo-blue); }
.bo-large-card-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-large-select-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 46px minmax(0, 1fr) 16px;
    min-height: 82px;
    padding: 13px;
    text-align: left;
}

.bo-large-select-card > i:first-child {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 46px;
    justify-content: center;
}

.bo-large-select-card span { display: grid; }
.bo-large-select-card strong { color: var(--bo-ink); }
.bo-large-select-card small { color: var(--bo-muted); }
.bo-large-select-card:hover { border-color: var(--bo-blue); box-shadow: 0 8px 18px rgba(8, 36, 62, .07); }
.bo-back-link { background: transparent; border: 0; color: var(--bo-blue); cursor: pointer; font: inherit; font-weight: 760; justify-self: start; padding: 0; }
.bo-count-loading { display: grid; gap: 9px; }
.bo-count-toolbar {
    align-items: center;
    background: var(--bo-navy);
    border-radius: 12px;
    color: #fff;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 13px 15px;
}

.bo-count-location { align-items: center; display: flex; gap: 11px; }
.bo-count-location > i { font-size: 1.2rem; }
.bo-count-location > span { display: grid; }
.bo-count-location small { color: rgba(255, 255, 255, .7); }
.bo-count-progress { align-items: center; display: grid; gap: 5px; grid-template-columns: auto 130px; }
.bo-count-progress > span { background: rgba(255, 255, 255, .2); border-radius: 99px; height: 7px; overflow: hidden; }
.bo-count-progress > span i { background: #65d5b0; display: block; height: 100%; }
.bo-count-search { margin-bottom: -5px; }
.bo-count-list { display: grid; gap: 8px; }
.bo-count-item {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 11px;
    grid-template-columns: 44px minmax(0, 1fr) minmax(180px, .34fr);
    padding: 10px;
}

.bo-count-item.is-counted { background: #fbfffd; border-color: rgba(8, 127, 91, .32); }
.bo-count-item__zero {
    align-items: center;
    background: var(--bo-soft);
    border: 0;
    border-radius: 9px;
    color: var(--bo-blue);
    cursor: pointer;
    display: flex;
    height: 44px;
    justify-content: center;
}

.bo-count-item.is-counted .bo-count-item__zero { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-count-item__product { display: grid; min-width: 0; }
.bo-count-item__product strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-count-item__product small { color: var(--bo-muted); }
.bo-count-unexpected { background: var(--bo-soft); border-radius: 11px; padding: 12px; }
.bo-count-unexpected summary { color: var(--bo-blue); cursor: pointer; font-weight: 760; }
.bo-count-unexpected[open] summary { margin-bottom: 12px; }
.bo-count-history { display: grid; gap: 10px; }
.bo-count-history-card { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; display: grid; gap: 13px; padding: 14px; }
.bo-count-history-card > header { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.bo-count-history-card > header > span:first-child { display: grid; }
.bo-count-history-card > header strong { color: var(--bo-ink); }
.bo-count-history-card > header small { color: var(--bo-muted); }
.bo-count-history-card__numbers { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-count-history-card__numbers > span { background: var(--bo-soft); border-radius: 9px; display: grid; padding: 10px; }
.bo-count-history-card__numbers b { color: var(--bo-ink); }
.bo-count-history-card__numbers small { color: var(--bo-muted); }
.bo-count-history-card__numbers .is-warning { background: var(--bo-amber-soft); }
.bo-count-detail-facts,
.bo-count-detail-summary {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-count-detail-facts > span {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 10px;
    display: grid;
    gap: 2px 9px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 10px;
}
.bo-count-detail-facts > span > i {
    color: var(--bo-blue);
    grid-row: 1 / 3;
    text-align: center;
}
.bo-count-detail-facts small,
.bo-count-detail-summary small,
.bo-count-detail-notes small,
.bo-count-detail-line small { color: var(--bo-muted); }
.bo-count-detail-summary { margin-top: 10px; }
.bo-count-detail-summary > span {
    background: var(--bo-soft);
    border-radius: 10px;
    display: grid;
    padding: 10px;
}
.bo-count-detail-summary > span.is-balanced { background: var(--bo-green-soft); }
.bo-count-detail-summary > span.is-warning { background: var(--bo-amber-soft); }
.bo-count-detail-notes {
    align-items: center;
    background: #fffbea;
    border: 1px solid rgba(170, 103, 21, .18);
    border-radius: 10px;
    display: flex;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 12px;
}
.bo-count-detail-notes > i { color: var(--bo-amber); }
.bo-count-detail-notes > span { display: grid; }
.bo-count-detail-list { display: grid; gap: 9px; margin-top: 14px; }
.bo-count-detail-line {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 10px;
    padding: 10px;
}
.bo-count-detail-line > header {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr);
}
.bo-count-detail-line > header > span:last-child { display: grid; min-width: 0; }
.bo-count-detail-line__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 38px;
    justify-content: center;
}
.bo-count-detail-line__values {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bo-count-detail-line__values > span {
    background: var(--bo-soft);
    border-radius: 8px;
    display: grid;
    padding: 8px 10px;
}
.bo-count-detail-line.is-balanced .is-difference { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-count-detail-line.is-surplus { border-color: rgba(31, 93, 143, .28); }
.bo-count-detail-line.is-surplus .is-difference { background: var(--bo-blue-soft); color: var(--bo-blue); }
.bo-count-detail-line.is-shortage { border-color: rgba(180, 35, 24, .28); }
.bo-count-detail-line.is-shortage .is-difference { background: var(--bo-red-soft); color: var(--bo-red); }

@media (max-width: 1100px) {
    .bo-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-workspace { grid-template-columns: 1fr; }
    .bo-kind-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bo-component-table-head,
    .bo-component-row { grid-template-columns: 76px minmax(140px, 1fr) 54px 105px 100px 132px; }
    .bo-registration-grid, .bo-unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-intent-picker--4, .bo-card-grid, .bo-large-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-rule-card { grid-template-columns: 44px minmax(160px, 1fr) minmax(110px, .5fr) auto 16px; }
    .bo-rule-card__triggers { display: none; }
    .bo-delivery-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .backoffice-module { padding: 16px; }
    .bo-page-header { align-items: stretch; flex-direction: column; }
    .bo-page-header h1 { font-size: 1.75rem; }
    .bo-page-header__actions > * { flex: 1 1 auto; }
    .bo-kpi-grid, .bo-grid--2, .bo-grid--3, .bo-form-grid { grid-template-columns: 1fr; }
    .bo-kpi { min-height: 96px; }
    .bo-dialog-backdrop { align-items: flex-end; padding: 0; }
    .bo-dialog, .bo-dialog--compact, .bo-dialog--narrow, .bo-dialog--wide, .bo-dialog--xl { border-radius: 14px 14px 0 0; max-height: 94vh; width: 100%; }
    .bo-dialog__body { padding: 16px; }
    .bo-toolbar .bo-field { flex: 1 1 100%; }
    .bo-pager { align-items: stretch; flex-direction: column; }
    .bo-kind-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-editor-tabs { margin-left: -16px; margin-right: -16px; padding: 0 16px; }
    .bo-editor-grid, .bo-form-grid--3, .bo-toggle-grid, .bo-production-parameters,
    .bo-registration-grid, .bo-unit-grid { grid-template-columns: 1fr; }
    .bo-product-row { grid-template-columns: 42px minmax(0, 1fr) 14px; }
    .bo-product-row__meta { display: none; }
    .bo-component-table-head { display: none; }
    .bo-component-row { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 13px; }
    .bo-component-cell small { display: block; }
    .bo-component-cell--product { grid-column: 1 / -1; grid-row: 1; }
    .bo-component-cell--code { grid-row: 2; }
    .bo-component-cell--quantity { grid-column: 1 / -1; }
    .bo-component-actions { border-top: 1px solid var(--bo-border); grid-column: 1 / -1; justify-content: flex-end; padding-top: 10px; }
    .bo-category-node { grid-template-columns: calc(var(--bo-tree-depth) * 12px) 34px minmax(0, 1fr) 14px; }
    .bo-category-node .bo-badge { display: none; }
    .bo-intent-picker--2, .bo-intent-picker--4, .bo-card-grid, .bo-large-card-grid,
    .bo-selectable-cards, .bo-request-board, .bo-registration-grid--structure,
    .bo-company-grid, .bo-choice-grid--2, .bo-rule-filter .bo-selectable-cards { grid-template-columns: 1fr; }
    .bo-intent-card { min-height: 76px; }
    .bo-entity-card { min-height: 92px; }
    .bo-location-node { grid-template-columns: calc(var(--bo-location-depth, 0) * 10px) 38px minmax(0, 1fr) auto 14px; }
    .bo-location-node__icon { height: 38px; }
    .bo-product-picker__results { max-height: 230px; }
    .bo-request-line,
    .bo-delivery-line,
    .bo-count-item {
        align-items: stretch;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
    }
    .bo-request-line > span:nth-child(2),
    .bo-delivery-line > span:nth-child(2),
    .bo-count-item__product { grid-column: 2; }
    .bo-request-line .bo-quantity-stepper,
    .bo-delivery-line .bo-quantity-stepper,
    .bo-count-item .bo-quantity-stepper { grid-column: 1 / -1; }
    .bo-request-line > .bo-icon-button { grid-column: 3; grid-row: 1; }
    .bo-delivery-line__check,
    .bo-count-item__zero { grid-column: 1; grid-row: 1; }
    .bo-submit-bar { align-items: stretch; flex-direction: column; }
    .bo-submit-bar .bo-button { width: 100%; }
    .bo-submit-bar--sticky { bottom: 8px; box-shadow: 0 10px 30px rgba(8, 36, 62, .2); position: sticky; z-index: 8; }
    .bo-approval-card { align-items: stretch; flex-direction: column; }
    .bo-count-toolbar { align-items: stretch; flex-direction: column; }
    .bo-count-progress { grid-template-columns: auto minmax(0, 1fr); }
    .bo-count-history-card__numbers { grid-template-columns: 1fr; }
    .bo-count-detail-facts { grid-template-columns: 1fr; }
    .bo-domain-tabs button { padding-left: 11px; padding-right: 11px; }
    .bo-rule-card {
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .bo-rule-card__criterion { grid-column: 2; }
    .bo-rule-card > .bo-badge { grid-column: 3; grid-row: 1; }
    .bo-rule-card > i:last-child { display: none; }
    .bo-trigger-card { align-items: start; grid-template-columns: 42px minmax(0, 1fr); }
    .bo-trigger-card .bo-select { grid-column: 1 / -1; }
}

/* Material requisitions */
.bo-requisition-hub {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 360px));
}

.bo-requisition-hub-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    color: var(--bo-text);
    display: grid;
    gap: 14px;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    min-height: 116px;
    padding: 18px;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bo-requisition-hub-card:hover {
    border-color: var(--bo-blue);
    box-shadow: 0 12px 28px rgba(8, 52, 88, .1);
    transform: translateY(-2px);
}

.bo-requisition-hub-card__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 12px;
    color: var(--bo-blue);
    display: flex;
    font-size: 1.15rem;
    height: 52px;
    justify-content: center;
}

.bo-requisition-hub-card--delivery .bo-requisition-hub-card__icon {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}

.bo-requisition-hub-card > span:nth-child(2) { display: grid; gap: 3px; }
.bo-requisition-hub-card strong { color: var(--bo-ink); font-size: 1rem; }
.bo-requisition-hub-card small { color: var(--bo-muted); line-height: 1.35; }
.bo-requisition-hub-card > i { color: var(--bo-blue); }

.bo-movement-workspace { display: grid; gap: 16px; }
.bo-requisition-progress--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-movement-focus { display: grid; gap: 13px; }
.bo-movement-selected-route { display: grid; gap: 10px; grid-template-columns: minmax(0, 420px); }
.bo-movement-selected-route--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.bo-movement-route-card {
    align-items: center;
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    min-height: 64px;
    padding: 10px;
    text-align: left;
}
.bo-movement-route-card > span:first-child {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    display: flex;
    height: 40px;
    justify-content: center;
}
.bo-movement-route-card > span:nth-child(2) { display: grid; min-width: 0; }
.bo-movement-route-card strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-movement-route-card small { color: var(--bo-muted); }
.bo-movement-route-card > i { color: var(--bo-muted); }
.bo-movement-route-card.is-source { background: var(--bo-amber-soft); border-color: rgba(170, 103, 21, .28); }
.bo-movement-route-card.is-source > span:first-child { color: var(--bo-amber); }
.bo-movement-route-card.is-destination { background: var(--bo-green-soft); border-color: rgba(8, 127, 91, .25); }
.bo-movement-route-card.is-destination > span:first-child { color: var(--bo-green); }

.bo-movement-meta-grid {
    display: grid;
    gap: 11px;
    grid-template-columns: minmax(0, 1.5fr) minmax(210px, .5fr);
}
.bo-movement-product-list { display: grid; gap: 10px; }
.bo-movement-product-card {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 12px;
}
.bo-movement-product-card > header {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 44px minmax(0, 1fr) auto auto;
}
.bo-movement-product-card.is-editing > header { grid-template-columns: 44px minmax(0, 1fr) auto; }
.bo-movement-product-card--transfer > header { grid-template-columns: 44px minmax(0, 1fr) auto auto; }
.bo-movement-product-card--transfer.is-editing > header { grid-template-columns: 44px minmax(0, 1fr) auto; }
.bo-movement-product-card__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 44px;
    justify-content: center;
}
.bo-movement-product-card__identity { display: grid; min-width: 0; }
.bo-movement-product-card__identity strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-movement-product-card__identity small,
.bo-movement-product-card__available small { color: var(--bo-muted); }
.bo-movement-product-card__summary {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: flex-end;
}
.bo-movement-product-card__summary > span { display: grid; min-width: 88px; }
.bo-movement-product-card__summary small { color: var(--bo-muted); font-size: .72rem; }
.bo-movement-product-card__summary strong { color: var(--bo-ink); white-space: nowrap; }
.bo-movement-product-card__actions { display: flex; gap: 7px; }
.bo-icon-button--confirm { color: var(--bo-green); }
.bo-icon-button--confirm:hover { border-color: var(--bo-green); color: var(--bo-green); }
.bo-movement-product-card__available { display: grid; text-align: right; }
.bo-movement-product-card__available strong { color: var(--bo-green); }
.bo-movement-product-card__values,
.bo-movement-product-card__details { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-movement-product-card--transfer > .bo-field { max-width: 420px; }
.bo-money-input {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 42px;
    overflow: hidden;
}
.bo-money-input span { background: var(--bo-soft); color: var(--bo-muted); height: 100%; padding: 10px; }
.bo-money-input input { border: 0; color: var(--bo-ink); font: inherit; font-weight: 750; min-width: 0; outline: 0; padding: 9px 11px; width: 100%; }
.bo-movement-product-card__details-toggle {
    align-items: center;
    background: var(--bo-soft);
    border: 0;
    border-radius: 9px;
    color: var(--bo-blue);
    cursor: pointer;
    display: grid;
    font: inherit;
    font-size: .82rem;
    font-weight: 750;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 9px 11px;
    text-align: left;
}
.bo-movement-line-card--blue.bo-production-ingredient.is-editing {
    background: #f5f9fd;
    border-color: var(--bo-blue);
}
.bo-movement-line-card--blue .bo-production-ingredient__main > span:first-child {
    background: var(--bo-blue-soft);
    color: var(--bo-blue);
}
.bo-movement-line-card__values { padding: 10px 10px 0; }
.bo-movement-line-card__cost-row {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 42px;
}
.bo-movement-line-card__cost-row > .bo-icon-button { height: 42px; width: 42px; }
.bo-movement-line-card .bo-movement-product-card__details-toggle {
    margin: 10px;
    width: calc(100% - 20px);
}
.bo-movement-line-card .bo-movement-product-card__details { padding: 0 10px 10px; }

.bo-movement-history { display: grid; gap: 14px; }
.bo-movement-history__toolbar { padding: 14px; }
.bo-search-row { align-items: center; display: grid; gap: 9px; grid-template-columns: minmax(0, 1fr) auto; }
.bo-search-box {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 44px;
    padding: 0 12px;
}
.bo-search-box > i { color: var(--bo-muted); }
.bo-search-box > input { background: transparent; border: 0; color: var(--bo-ink); font: inherit; min-width: 0; outline: 0; width: 100%; }
.bo-selection-fallback {
    align-items: center;
    border: 1px dashed var(--bo-border-strong);
    border-radius: 12px;
    color: var(--bo-ink);
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    min-height: 260px;
    text-align: center;
}
.bo-selection-fallback > i { color: var(--bo-blue); font-size: 1.45rem; }
.bo-movement-history__filters {
    align-items: end;
    background: var(--bo-soft);
    border-radius: 11px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(145px, .7fr) minmax(145px, .7fr) minmax(220px, 1.4fr) auto auto;
    margin-top: 12px;
    padding: 12px;
}
.bo-movement-browser {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(300px, 370px) minmax(0, 1fr);
}
.bo-movement-browser__list,
.bo-movement-browser__detail { min-width: 0; }
.bo-movement-browser__detail { min-height: 310px; }
.bo-movement-detail__close { display: none; }
.bo-movement-browser__list-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}
.bo-movement-browser__list-head > span { display: grid; }
.bo-movement-browser__list-head small,
.bo-movement-history-card small { color: var(--bo-muted); font-size: .72rem; }
.bo-movement-browser__list-head strong { color: var(--bo-ink); }
.bo-movement-browser__cards { display: grid; gap: 8px; }
.bo-movement-history-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 9px;
    grid-template-columns: 42px minmax(0, 1fr) auto 12px;
    padding: 10px;
    text-align: left;
    width: 100%;
}
.bo-movement-history-card:hover,
.bo-movement-history-card.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-movement-history-card__icon {
    align-items: center;
    background: var(--bo-green-soft);
    border-radius: 9px;
    color: var(--bo-green);
    display: flex;
    height: 42px;
    justify-content: center;
}
.bo-movement-history-card__main { display: grid; min-width: 0; }
.bo-movement-history-card__main strong,
.bo-movement-history-card__main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-movement-history-card__main strong { color: var(--bo-ink); }
.bo-movement-history-card__main span { font-size: .82rem; }
.bo-movement-history-card__count { display: grid; text-align: right; }
.bo-movement-history-card__count strong { color: var(--bo-blue); }
.bo-movement-history-card > i { color: var(--bo-blue); }
.bo-movement-detail__header {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 54px minmax(0, 1fr);
}
.bo-movement-detail__header > span:last-child { display: grid; }
.bo-movement-detail__header small { color: var(--bo-blue); font-size: .7rem; font-weight: 800; }
.bo-movement-detail__header strong { color: var(--bo-ink); font-size: 1.25rem; }
.bo-movement-detail__header span span { color: var(--bo-muted); }
.bo-movement-detail__hero {
    align-items: center;
    background: var(--bo-green-soft);
    border-radius: 13px;
    color: var(--bo-green);
    display: flex;
    font-size: 1.1rem;
    height: 54px;
    justify-content: center;
}
.bo-movement-detail__route { align-items: center; display: grid; gap: 9px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); margin-top: 16px; }
.bo-movement-detail__route > span {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 10px;
    display: grid;
    gap: 3px 9px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 10px;
}
.bo-movement-detail__route > span > i { color: var(--bo-blue); grid-row: 1 / 3; }
.bo-movement-detail__route small { color: var(--bo-muted); }
.bo-movement-detail__route strong { color: var(--bo-ink); }
.bo-movement-detail__route > i { color: var(--bo-muted); }
.bo-movement-detail__route > span:only-child { grid-column: 1 / -1; }
.bo-movement-detail__facts { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 9px; }
.bo-movement-detail__facts > span,
.bo-movement-detail__notes { align-items: center; background: var(--bo-soft); border-radius: 10px; display: grid; gap: 3px 9px; grid-template-columns: 28px minmax(0, 1fr); padding: 10px; }
.bo-movement-detail__facts i,
.bo-movement-detail__notes > i { color: var(--bo-blue); grid-row: 1 / 3; }
.bo-movement-detail__facts small,
.bo-movement-detail__notes small { color: var(--bo-muted); }
.bo-movement-detail__facts strong,
.bo-movement-detail__notes strong { color: var(--bo-ink); }
.bo-movement-detail__lines { display: grid; gap: 7px; }
.bo-movement-detail__lines article {
    align-items: center;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: grid;
    gap: 9px;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    padding: 9px;
}
.bo-movement-detail__lines article > span:first-child { align-items: center; background: var(--bo-blue-soft); border-radius: 8px; color: var(--bo-blue); display: flex; height: 38px; justify-content: center; }
.bo-movement-detail__lines article > span:not(:first-child) { display: grid; min-width: 0; }
.bo-movement-detail__lines article > span:last-child { text-align: right; }
.bo-movement-detail__lines strong { color: var(--bo-ink); }
.bo-movement-detail__lines small { color: var(--bo-muted); }
.bo-movement-detail__notes { margin-top: 12px; }

.bo-stock-map__controls { align-items: center; display: grid; gap: 14px; grid-template-columns: auto minmax(240px, 1fr); padding: 12px; }
.bo-stock-map__modes { display: flex; gap: 7px; }
.bo-stock-map__modes button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-weight: 750;
    gap: 7px;
    min-height: 44px;
    padding: 9px 13px;
}
.bo-stock-map__modes button i { color: var(--bo-blue); }
.bo-stock-map__modes button.is-active { background: var(--bo-blue); border-color: var(--bo-blue); color: #fff; }
.bo-stock-map__modes button.is-active i { color: #fff; }
.bo-stock-map { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(330px, 410px) minmax(0, 1fr); }
.bo-stock-map__tree,
.bo-stock-map__detail { min-width: 0; }
.bo-stock-map__detail { min-height: 360px; }
.bo-stock-map__tree > header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 12px; }
.bo-stock-map__tree > header span { display: grid; }
.bo-stock-map__tree > header small { color: var(--bo-blue); font-size: .7rem; font-weight: 800; }
.bo-stock-map__tree > header strong { color: var(--bo-ink); }
.bo-stock-map__nodes { display: grid; gap: 8px; max-height: calc(100vh - 290px); overflow: auto; padding-right: 3px; }
.bo-stock-node {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 9px;
    grid-template-columns: 42px minmax(0, 1fr) auto 12px;
    padding: 10px;
    text-align: left;
    width: 100%;
}
.bo-stock-node:hover,
.bo-stock-node.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-stock-node__icon { align-items: center; background: var(--bo-blue-soft); border-radius: 9px; color: var(--bo-blue); display: flex; height: 42px; justify-content: center; }
.bo-stock-node--domain .bo-stock-node__icon { background: #f0ebfb; color: var(--bo-purple); }
.bo-stock-node--location .bo-stock-node__icon { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-stock-node--group .bo-stock-node__icon { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-stock-node > span:nth-child(2),
.bo-stock-node__value { display: grid; min-width: 0; }
.bo-stock-node strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-node > span:nth-child(2) > strong {
    display: -webkit-box;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}
.bo-stock-node > span:nth-child(2) > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-node small { color: var(--bo-muted); font-size: .8rem; }
.bo-stock-node__value { justify-items: end; line-height: 1.2; min-width: 0; text-align: right; width: 96px; }
.bo-stock-node__value strong { font-size: 1.02rem; font-weight: 800; }
.bo-stock-node__value small {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}
.bo-stock-node > i { color: var(--bo-blue); }
.bo-stock-map__pager {
    border-top: 1px solid var(--bo-border);
    margin-top: 10px;
    padding-top: 10px;
}

.bo-stock-detail-head { align-items: center; display: grid; gap: 13px; grid-template-columns: 58px minmax(0, 1fr); }
.bo-stock-detail-head > span:last-child { display: grid; }
.bo-stock-detail-head small { color: var(--bo-blue); font-size: .7rem; font-weight: 800; }
.bo-stock-detail-head strong { color: var(--bo-ink); font-size: 1.3rem; }
.bo-stock-detail-head em { color: var(--bo-muted); font-size: .84rem; font-style: normal; }
.bo-stock-detail-head__icon { align-items: center; background: var(--bo-blue-soft); border-radius: 14px; color: var(--bo-blue); display: flex; font-size: 1.15rem; height: 58px; justify-content: center; }
.bo-stock-detail-head__icon.is-domain { background: #f0ebfb; color: var(--bo-purple); }
.bo-stock-detail-head__icon.is-location { background: var(--bo-green-soft); color: var(--bo-green); }
.bo-stock-detail-head__icon.is-group { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-stock-flow-cards { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; }
.bo-stock-flow-cards > span { align-items: center; background: var(--bo-soft); border-radius: 10px; display: grid; gap: 2px 9px; grid-template-columns: 34px minmax(0, 1fr); padding: 11px; }
.bo-stock-flow-cards i { color: var(--bo-blue); grid-row: 1 / 3; }
.bo-stock-flow-cards .is-entry i { color: var(--bo-green); }
.bo-stock-flow-cards .is-exit i { color: var(--bo-red); }
.bo-stock-flow-cards small,
.bo-stock-product-total small { color: var(--bo-muted); }
.bo-stock-flow-cards strong,
.bo-stock-product-total strong { color: var(--bo-ink); }
.bo-stock-branches,
.bo-stock-product-list { display: grid; gap: 7px; }
.bo-stock-branches button,
.bo-stock-product-list button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 9px;
    grid-template-columns: 40px minmax(120px, 1fr) auto 12px;
    padding: 9px;
    text-align: left;
}
.bo-stock-branches button:hover,
.bo-stock-product-list button:hover { border-color: var(--bo-blue); }
.bo-stock-branches button > span:first-child,
.bo-stock-product-list button > span:first-child { align-items: center; background: var(--bo-soft); border-radius: 8px; color: var(--bo-blue); display: flex; height: 40px; justify-content: center; }
.bo-stock-branches button > span:not(:first-child),
.bo-stock-product-list button > span:not(:first-child) { display: grid; min-width: 0; }
.bo-stock-branches button > span:nth-child(3),
.bo-stock-product-list button > span:nth-child(3) {
    justify-self: end;
    max-width: 160px;
    min-width: 0;
    text-align: right;
    width: auto;
}
.bo-stock-branches strong,
.bo-stock-product-list strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-branches button > span:nth-child(2) > strong,
.bo-stock-product-list button > span:nth-child(2) > strong {
    display: -webkit-box;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}
.bo-stock-branches small,
.bo-stock-product-list small { color: var(--bo-muted); }
.bo-stock-branches button > span:nth-child(2) > small,
.bo-stock-product-list button > span:nth-child(2) > small,
.bo-stock-branches button > span:nth-child(3) > small,
.bo-stock-product-list button > span:nth-child(3) > small {
    display: -webkit-box;
    line-height: 1.2;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
}
.bo-stock-branches button > i,
.bo-stock-product-list button > i { color: var(--bo-blue); }
.bo-stock-product-total { background: var(--bo-soft); border-radius: 11px; display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; padding: 11px; }
.bo-stock-product-total > span { display: grid; }

/* Relatórios de estoque: navegação explorável herdada do mapa original. */
.bo-stock-report-explorer,
.bo-stock-map-page { max-width: 1680px; }

.bo-family-mark {
    background: #f0ebfb;
    border-radius: 999px;
    color: var(--bo-purple);
    display: inline-flex;
    font-size: .68rem;
    font-style: normal;
    gap: 4px;
    margin-left: 5px;
    padding: 3px 7px;
    vertical-align: middle;
}
.bo-family-origin {
    color: var(--bo-purple);
    font-size: .7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bo-stock-map__empty { min-height: 210px; }

.bo-stock-node.is-low,
.bo-stock-product-list button.is-low { box-shadow: inset 3px 0 var(--bo-amber); }
.bo-stock-node.is-missing,
.bo-stock-product-list button.is-missing { box-shadow: inset 3px 0 var(--bo-red); }
.bo-stock-node.is-low .bo-stock-node__value strong,
.bo-stock-product-list button.is-low > span:nth-child(3) small { color: var(--bo-amber); }
.bo-stock-node.is-missing .bo-stock-node__value strong,
.bo-stock-product-list button.is-missing > span:nth-child(3) small { color: var(--bo-red); }
.bo-stock-node.is-expired,
.bo-stock-branches button.is-expired,
.bo-stock-product-list button.is-expired { box-shadow: inset 3px 0 var(--bo-red); }
.bo-stock-node.is-expiring,
.bo-stock-branches button.is-expiring,
.bo-stock-product-list button.is-expiring { box-shadow: inset 3px 0 var(--bo-amber); }
.bo-stock-node.is-expired .bo-stock-node__value strong,
.bo-stock-node.is-expired .bo-stock-node__value small,
.bo-stock-branches button.is-expired > span:nth-child(3) small,
.bo-stock-product-list button.is-expired > span:nth-child(3) small { color: var(--bo-red); }
.bo-stock-node.is-expiring .bo-stock-node__value small,
.bo-stock-branches button.is-expiring > span:nth-child(3) small,
.bo-stock-product-list button.is-expiring > span:nth-child(3) small { color: var(--bo-amber); }

.bo-stock-expiry-overview {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}
.bo-stock-expiry-overview > span {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 10px;
    display: grid;
    gap: 1px 9px;
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 10px;
}
.bo-stock-expiry-overview i {
    align-items: center;
    background: #fff;
    border-radius: 8px;
    display: flex;
    grid-row: 1 / 3;
    height: 34px;
    justify-content: center;
}
.bo-stock-expiry-overview strong { color: var(--bo-ink); }
.bo-stock-expiry-overview small { color: var(--bo-muted); font-size: .72rem; }
.bo-stock-expiry-overview .is-expired { background: var(--bo-red-soft); }
.bo-stock-expiry-overview .is-expired i { color: var(--bo-red); }
.bo-stock-expiry-overview .is-today,
.bo-stock-expiry-overview .is-expiring { background: var(--bo-amber-soft); }
.bo-stock-expiry-overview .is-today i,
.bo-stock-expiry-overview .is-expiring i { color: var(--bo-amber); }

.bo-stock-map__quantity {
    background: var(--bo-soft);
    border-radius: 11px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
    padding: 12px;
}
.bo-stock-map__quantity > span { display: grid; gap: 2px; }
.bo-stock-map__quantity small { color: var(--bo-muted); }
.bo-stock-map__quantity strong { color: var(--bo-ink); font-size: 1.05rem; }
.bo-stock-map__minimums { display: grid; gap: 7px; }
.bo-stock-map__minimums > div {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    padding: 10px 12px;
}
.bo-stock-map__minimums > div.is-low { box-shadow: inset 3px 0 var(--bo-amber); }
.bo-stock-map__minimums span { display: grid; gap: 2px; }
.bo-stock-map__minimums span:last-child { text-align: right; }
.bo-stock-map__minimums strong { color: var(--bo-ink); }
.bo-stock-map__minimums small { color: var(--bo-muted); font-size: .74rem; }
.bo-stock-map__minimums .is-low span:last-child small { color: var(--bo-amber); font-weight: 800; }

.bo-report-focus__filters {
    align-items: end;
    background: var(--bo-soft);
    border-radius: 11px;
    display: grid;
    gap: 10px;
    grid-template-columns: 145px 145px minmax(220px, 1fr) auto;
    margin-top: 16px;
    padding: 11px;
}
.bo-report-focus__filters--period { grid-template-columns: 160px 160px auto; justify-content: start; }
.bo-report-focus__filters label { display: grid; gap: 4px; min-width: 0; }
.bo-report-focus__filters label > span {
    color: var(--bo-muted);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}
.bo-report-focus__filters .bo-input,
.bo-report-focus__filters .bo-search-box { min-height: 42px; width: 100%; }
.bo-report-focus__filters .bo-search-box input { min-width: 0; }
.bo-report-focus__filters .bo-button { min-height: 42px; white-space: nowrap; }
.bo-report-focus__pager { border-top: 1px solid var(--bo-border); margin: 0; padding: 12px 0 0; }

.bo-valuation-commercial { background: #faf8ff; padding: 11px 16px 13px 58px; }
.bo-valuation-commercial > header { align-items: center; color: var(--bo-purple); display: flex; gap: 9px; margin-bottom: 7px; }
.bo-valuation-commercial > header > span { display: grid; }
.bo-valuation-commercial > header small { color: var(--bo-muted); font-size: .7rem; }
.bo-valuation-commercial > div { align-items: center; border-top: 1px solid rgba(104, 66, 184, .12); display: flex; justify-content: space-between; padding: 8px 0; }
.bo-valuation-commercial > div > span { display: grid; gap: 1px; }
.bo-valuation-commercial > div > span:last-child { text-align: right; }
.bo-valuation-commercial small { color: var(--bo-muted); font-size: .7rem; }

/* Relatórios de estoque — composição editorial, leitura contínua e foco responsivo. */
.bo-report-mobile-back {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--bo-blue);
    cursor: pointer;
    display: none;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    gap: 7px;
    margin: -2px 0 14px;
    padding: 0;
}

.bo-stock-report-explorer .bo-stock-map,
.bo-inventory-map-page .bo-stock-map {
    grid-template-columns: minmax(290px, 360px) minmax(0, 1fr);
}

.bo-stock-report-explorer .bo-stock-map__detail,
.bo-inventory-map-page .bo-stock-map__detail {
    overflow: hidden;
    padding: 18px;
}

.bo-valuation-equation {
    align-items: stretch;
    background: #f5f8fa;
    border-radius: 12px;
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding: 10px;
}

.bo-valuation-equation > span {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 9px;
    display: grid;
    gap: 2px;
    min-width: 118px;
    padding: 9px 11px;
}
.bo-valuation-equation > i { align-self: center; color: var(--bo-muted); font-size: .76rem; }
.bo-valuation-equation small { color: var(--bo-muted); font-size: .68rem; }
.bo-valuation-equation strong { color: var(--bo-ink); }
.bo-valuation-equation .is-entry strong { color: var(--bo-green); }
.bo-valuation-equation .is-exit strong { color: var(--bo-red); }
.bo-valuation-equation .is-closing { background: var(--bo-blue-soft); border-color: rgba(19, 101, 154, .18); }

.bo-valuation-equation { grid-template-columns: minmax(125px, 1fr) auto minmax(125px, 1fr) auto minmax(125px, 1fr) auto minmax(135px, 1.1fr); }
.bo-valuation-list { display: grid; gap: 10px; }
.bo-valuation-card { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; overflow: hidden; }
.bo-valuation-card > header {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(180px, 1fr) minmax(125px, .6fr) minmax(140px, .7fr) auto;
    padding: 12px;
}
.bo-valuation-card__icon { align-items: center; background: var(--bo-blue-soft); border-radius: 9px; color: var(--bo-blue); display: flex; height: 42px; justify-content: center; }
.bo-valuation-card__identity,
.bo-valuation-card__cost,
.bo-valuation-card__total { display: grid; min-width: 0; }
.bo-valuation-card__identity strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-valuation-card__identity small,
.bo-valuation-card__cost small,
.bo-valuation-card__total small { color: var(--bo-muted); font-size: .68rem; }
.bo-valuation-card__cost strong { color: var(--bo-purple); font-size: 1rem; }
.bo-valuation-card__total { text-align: right; }
.bo-valuation-card__total strong { color: var(--bo-navy); font-size: 1.08rem; }
.bo-valuation-card__cost em,
.bo-valuation-card__total em { color: var(--bo-muted); font-size: .66rem; font-style: normal; }
.bo-valuation-card__flow {
    align-items: center;
    background: #f5f8fa;
    border-top: 1px solid var(--bo-border);
    display: grid;
    gap: 7px;
    grid-template-columns: minmax(100px, 1fr) auto minmax(100px, 1fr) auto minmax(100px, 1fr) auto minmax(110px, 1fr);
    padding: 10px 12px;
}
.bo-valuation-card__flow > span { display: grid; }
.bo-valuation-card__flow small { color: var(--bo-muted); font-size: .66rem; }
.bo-valuation-card__flow strong { color: var(--bo-ink); }
.bo-valuation-card__flow em { color: var(--bo-muted); font-size: .66rem; font-style: normal; }
.bo-valuation-card__flow > i { color: var(--bo-muted); font-size: .68rem; }
.bo-valuation-card__flow .is-entry strong { color: var(--bo-green); }
.bo-valuation-card__flow .is-exit strong { color: var(--bo-red); }
.bo-valuation-card__flow .is-closing strong { color: var(--bo-navy); }
.bo-valuation-card .bo-valuation-commercial { border-top: 1px solid rgba(104, 66, 184, .12); }

.bo-inventory-map-page .bo-stock-branches {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bo-inventory-map-page .bo-stock-branches button {
    min-height: 76px;
}
.bo-inventory-map-page .bo-stock-product-list { gap: 7px; }

@media (max-width: 1240px) {
    .bo-stock-map__controls { grid-template-columns: 1fr; }
    .bo-stock-map__modes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .bo-stock-map__search { width: 100%; }
    .bo-report-focus__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-report-focus__filters .is-search { grid-column: 1 / -1; }
    .bo-report-focus__filters .bo-button { justify-content: center; }
}

@media (max-width: 980px) {
    .bo-stock-report-explorer.has-selection > .bo-stock-map__controls,
    .bo-inventory-map-page.has-selection > .bo-stock-map__controls { display: none; }
    .bo-stock-report-explorer .bo-stock-map,
    .bo-inventory-map-page .bo-stock-map { grid-template-columns: 1fr; }
    .bo-stock-report-explorer.has-selection .bo-stock-map__tree,
    .bo-inventory-map-page.has-selection .bo-stock-map__tree { display: none; }
    .bo-stock-report-explorer:not(.has-selection) .bo-stock-map__detail,
    .bo-inventory-map-page:not(.has-selection) .bo-stock-map__detail { display: none; }
    .bo-report-mobile-back { display: inline-flex; }
    .bo-stock-report-explorer .bo-stock-map,
    .bo-inventory-map-page .bo-stock-map,
    .bo-stock-report-explorer .bo-stock-map__tree,
    .bo-inventory-map-page .bo-stock-map__tree { height: auto; overflow: visible; }
    .bo-stock-map__nodes { max-height: none; overflow: visible; }
}

@media (max-width: 720px) {
    .bo-stock-map__modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-stock-report-explorer .bo-stock-map__detail,
    .bo-inventory-map-page .bo-stock-map__detail { padding: 12px; }
    .bo-report-focus__filters,
    .bo-report-focus__filters--period { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-report-focus__filters .is-search,
    .bo-report-focus__filters .bo-button,
    .bo-report-focus__filters--period .bo-button { grid-column: 1 / -1; width: 100%; }
    .bo-valuation-equation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-valuation-equation > i { display: none; }
    .bo-valuation-equation > span { min-width: 0; }
    .bo-valuation-card > header { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .bo-valuation-card__cost,
    .bo-valuation-card__total { background: #f5f8fa; border-radius: 8px; padding: 8px; text-align: left; }
    .bo-valuation-card__cost { grid-column: 1 / 3; }
    .bo-valuation-card__total { grid-column: 3 / 4; }
    .bo-valuation-card > header > .bo-icon-button { grid-column: 3; grid-row: 1; }
    .bo-valuation-card__flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-valuation-card__flow > i { display: none; }
    .bo-inventory-map-page .bo-stock-branches { grid-template-columns: 1fr; }
    .bo-stock-map__quantity { grid-template-columns: 1fr; }
    .bo-stock-expiry-overview { grid-template-columns: 1fr; }
    .bo-stock-map__minimums > div { align-items: flex-start; flex-direction: column; gap: 5px; }
    .bo-stock-map__minimums span:last-child { text-align: left; }
    .bo-valuation-commercial { padding: 11px 12px; }
}

@media (max-width: 440px) {
    .bo-stock-map__modes button { justify-content: flex-start; }
    .bo-report-focus__filters,
    .bo-report-focus__filters--period { grid-template-columns: 1fr; }
    .bo-report-focus__filters .is-search,
    .bo-report-focus__filters .bo-button,
    .bo-report-focus__filters--period .bo-button { grid-column: 1; }
    .bo-valuation-card__cost,
    .bo-valuation-card__total { grid-column: 1 / -1; }
}

/* Valorização de estoque — consulta em dois tempos e leitura patrimonial contínua. */
.bo-stock-valuation-page { max-width: 1480px; }
.bo-stock-valuation-setup { margin-inline: auto; max-width: 1120px; overflow: hidden; padding: 0; }
.bo-stock-valuation-setup__intro {
    align-items: center;
    background: linear-gradient(135deg, #f4f0ff 0%, #fbf9ff 100%);
    border-bottom: 1px solid #e8defb;
    display: flex;
    gap: 16px;
    padding: 22px 24px;
}
.bo-stock-valuation-setup__intro > span {
    align-items: center;
    background: #ebe2fb;
    border-radius: 14px;
    color: var(--bo-purple);
    display: flex;
    flex: 0 0 52px;
    font-size: 1.2rem;
    height: 52px;
    justify-content: center;
}
.bo-stock-valuation-setup__intro > div { display: grid; gap: 2px; }
.bo-stock-valuation-setup__intro small,
.bo-stock-valuation-step > header small,
.bo-stock-valuation-setup__footer small { color: var(--bo-muted); font-size: .7rem; }
.bo-stock-valuation-setup__intro > div > small { color: var(--bo-purple); font-weight: 900; letter-spacing: .02em; }
.bo-stock-valuation-setup__intro strong { color: var(--bo-ink); font-size: 1.16rem; }
.bo-stock-valuation-step { display: grid; gap: 13px; padding: 20px 24px; }
.bo-stock-valuation-step + .bo-stock-valuation-step { border-top: 1px solid var(--bo-border); }
.bo-stock-valuation-step > header { align-items: center; display: flex; gap: 10px; min-width: 0; }
.bo-stock-valuation-step > header > em {
    align-items: center;
    background: var(--bo-blue);
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: 0 0 28px;
    font-size: .76rem;
    font-style: normal;
    font-weight: 900;
    height: 28px;
    justify-content: center;
}
.bo-stock-valuation-step > header > span { display: grid; flex: 1; gap: 1px; min-width: 0; }
.bo-stock-valuation-step > header strong { color: var(--bo-ink); }
.bo-stock-valuation-period { align-items: end; display: grid; gap: 12px; grid-template-columns: minmax(0, 240px) auto minmax(0, 240px); max-width: 520px; padding-left: 38px; }
.bo-stock-valuation-period > i { color: var(--bo-muted); margin-bottom: 15px; }
.bo-stock-valuation-period label,
.bo-stock-valuation-refine label,
.bo-stock-valuation-toolbar label { display: grid; gap: 4px; min-width: 0; }
.bo-stock-valuation-period label > span,
.bo-stock-valuation-refine label > span,
.bo-stock-valuation-toolbar label > span { color: var(--bo-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.bo-stock-valuation-choice-grid { display: grid; gap: 9px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 430px)); padding-left: 38px; }
.bo-stock-valuation-choice {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 3px 10px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    min-height: 66px;
    padding: 10px;
    text-align: left;
}
.bo-stock-valuation-choice:hover { border-color: var(--bo-blue); }
.bo-stock-valuation-choice.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-stock-valuation-choice > span {
    align-items: center;
    background: #edf4f8;
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    grid-row: 1 / 3;
    height: 40px;
    justify-content: center;
}
.bo-stock-valuation-choice.is-selected > span { background: #fff; }
.bo-stock-valuation-choice > strong { color: var(--bo-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-valuation-choice > small { color: var(--bo-muted); font-size: .7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-valuation-choice > i { color: var(--bo-blue); grid-column: 3; grid-row: 1 / 3; }
.bo-stock-valuation-choice-grid.is-locations { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 390px)); }
.bo-stock-valuation-choice-grid.is-locations .bo-stock-valuation-choice { min-height: 56px; }
.bo-stock-valuation-choice-grid.is-locations .bo-stock-valuation-choice > span,
.bo-stock-valuation-choice-grid.is-locations .bo-stock-valuation-choice > i { grid-row: 1; }
.bo-stock-valuation-refine { display: grid; grid-template-columns: minmax(220px, 360px); padding-left: 38px; }
.bo-stock-valuation-refine .bo-search-box { min-height: 42px; }
.bo-stock-valuation-setup__footer {
    align-items: center;
    background: #edf4f8;
    border-top: 1px solid var(--bo-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 15px 24px;
}
.bo-stock-valuation-setup__footer > span { align-items: center; display: grid; gap: 1px 10px; grid-template-columns: 28px minmax(0, 1fr); min-width: 0; }
.bo-stock-valuation-setup__footer > span > i { color: var(--bo-purple); grid-row: 1 / 3; text-align: center; }
.bo-stock-valuation-setup__footer strong { color: var(--bo-ink); }
.bo-stock-valuation-setup__footer .bo-button { min-height: 44px; }

.bo-stock-valuation-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
    padding: 12px;
}
.bo-stock-valuation-toolbar__presets,
.bo-stock-valuation-toolbar__query { align-items: center; display: flex; gap: 10px; min-width: 0; }
.bo-stock-valuation-toolbar__presets { flex: 0 0 auto; }
.bo-stock-valuation-toolbar__query { flex: 1 1 390px; min-width: min(100%, 390px); }
.bo-stock-valuation-toolbar__presets > .bo-button,
.bo-stock-valuation-toolbar__query > .bo-button { flex: 0 0 auto; min-height: 42px; white-space: nowrap; }
.bo-stock-valuation-toolbar__back { margin-right: 0; }
.bo-stock-valuation-toolbar__period { align-items: stretch; display: inline-flex; min-width: 0; }
.bo-stock-valuation-toolbar__period > button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    color: var(--bo-ink);
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    padding: 0 13px;
}
.bo-stock-valuation-toolbar__period > button:first-child { border-radius: 9px 0 0 9px; }
.bo-stock-valuation-toolbar__period > button:last-child { border-radius: 0 9px 9px 0; }
.bo-stock-valuation-toolbar__period > button + button { border-left: 0; }
.bo-stock-valuation-toolbar__period > button:hover:not(:disabled) { background: var(--bo-blue-soft); color: var(--bo-blue); }
.bo-stock-valuation-toolbar__range { gap: 8px; white-space: nowrap; }
.bo-stock-valuation-toolbar__search { flex: 1 1 240px; min-width: 180px; }
.bo-stock-valuation-toolbar__filters { position: relative; }
.bo-stock-valuation-toolbar__filters > em { background: var(--bo-blue); border: 2px solid #fff; border-radius: 50%; height: 10px; position: absolute; right: -3px; top: -3px; width: 10px; }
.bo-stock-valuation-report { display: grid; gap: 13px; margin-top: 12px; }
.bo-stock-valuation-report__head {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 14px 16px;
}
.bo-stock-valuation-report__head > span { display: grid; gap: 1px; min-width: 0; }
.bo-stock-valuation-report__head > span:last-child { text-align: right; }
.bo-stock-valuation-report__head small { color: var(--bo-blue); font-size: .68rem; font-weight: 900; }
.bo-stock-valuation-report__head strong { color: var(--bo-ink); font-size: 1.05rem; }
.bo-stock-valuation-report__head em { color: var(--bo-muted); font-size: .72rem; font-style: normal; }
.bo-stock-valuation-equation {
    align-items: stretch;
    background: #f5f8fa;
    border: 1px solid var(--bo-border);
    border-radius: 12px;
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(145px, 1fr) auto) minmax(155px, 1.1fr);
    padding: 10px;
}
.bo-stock-valuation-equation > span {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    display: grid;
    gap: 1px 9px;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 9px 11px;
}
.bo-stock-valuation-equation > span > i { color: var(--bo-blue); grid-row: 1 / 3; text-align: center; }
.bo-stock-valuation-equation > span > small { color: var(--bo-muted); font-size: .68rem; }
.bo-stock-valuation-equation > span > strong { color: var(--bo-ink); }
.bo-stock-valuation-equation > i { align-self: center; color: var(--bo-muted); font-size: .72rem; }
.bo-stock-valuation-equation .is-entry > i,
.bo-stock-valuation-equation .is-entry > strong { color: var(--bo-green); }
.bo-stock-valuation-equation .is-exit > i,
.bo-stock-valuation-equation .is-exit > strong { color: var(--bo-red); }
.bo-stock-valuation-equation .is-closing { background: var(--bo-blue-soft); }
.bo-stock-valuation-columns,
.bo-stock-valuation-card__main {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(250px, 1.55fr) repeat(4, minmax(112px, .66fr)) minmax(118px, .7fr) 22px;
}
.bo-stock-valuation-columns { color: var(--bo-muted); font-size: .66rem; font-weight: 900; padding: 0 13px; text-transform: uppercase; }
.bo-stock-valuation-columns > span:not(:first-child) { text-align: right; }
.bo-stock-valuation-list { display: grid; gap: 8px; }
.bo-stock-valuation-card { background: #fff; border: 1px solid var(--bo-border); border-radius: 12px; overflow: hidden; }
.bo-stock-valuation-card.is-expanded { border-color: rgba(104, 66, 184, .38); box-shadow: 0 5px 18px rgba(24, 50, 74, .06); }
.bo-stock-valuation-card__main {
    align-items: center;
    background: #fff;
    border: 0;
    color: inherit;
    cursor: pointer;
    padding: 12px;
    text-align: left;
    width: 100%;
}
.bo-stock-valuation-card__main:hover { background: #f9fbfc; }
.bo-stock-valuation-product { align-items: center; display: grid; gap: 10px; grid-template-columns: 42px minmax(0, 1fr); min-width: 0; }
.bo-stock-valuation-product > i { align-items: center; background: var(--bo-blue-soft); border-radius: 9px; color: var(--bo-blue); display: flex; height: 42px; justify-content: center; }
.bo-stock-valuation-product > span { display: grid; min-width: 0; }
.bo-stock-valuation-product strong { align-items: center; color: var(--bo-ink); display: flex; gap: 6px; min-width: 0; }
.bo-stock-valuation-product strong > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bo-stock-valuation-product strong > em { align-items: center; background: #f0eafd; border-radius: 999px; color: var(--bo-purple); display: inline-flex; flex: 0 0 auto; font-size: .64rem; font-style: normal; gap: 3px; padding: 3px 6px; }
.bo-stock-valuation-product small,
.bo-stock-valuation-metric small,
.bo-stock-valuation-metric em { color: var(--bo-muted); font-size: .67rem; font-style: normal; }
.bo-stock-valuation-metric { display: grid; min-width: 0; text-align: right; }
.bo-stock-valuation-metric strong { color: var(--bo-ink); font-size: .92rem; white-space: nowrap; }
.bo-stock-valuation-metric.is-entry strong { color: var(--bo-green); }
.bo-stock-valuation-metric.is-exit strong { color: var(--bo-red); }
.bo-stock-valuation-metric.is-closing strong { color: var(--bo-navy); font-size: 1rem; }
.bo-stock-valuation-metric.is-average strong { color: var(--bo-purple); }
.bo-stock-valuation-card__main > i { color: var(--bo-blue); text-align: right; }
.bo-stock-valuation-card__detail { background: #f8fafb; border-top: 1px solid var(--bo-border); display: grid; gap: 10px; padding: 12px 14px 14px 64px; }
.bo-stock-valuation-reading { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-stock-valuation-reading > span { background: #fff; border: 1px solid var(--bo-border); border-radius: 9px; display: grid; gap: 2px; padding: 9px 11px; }
.bo-stock-valuation-reading small { color: var(--bo-muted); font-size: .67rem; }
.bo-stock-valuation-reading strong { color: var(--bo-ink); }
.bo-stock-valuation-reading .is-positive { color: var(--bo-green); }
.bo-stock-valuation-reading .is-negative { color: var(--bo-red); }
.bo-stock-valuation-commercial { background: #fbf9ff; border: 1px solid #e7def8; border-radius: 10px; overflow: hidden; }
.bo-stock-valuation-commercial > header { align-items: center; color: var(--bo-purple); display: flex; gap: 9px; padding: 10px 12px; }
.bo-stock-valuation-commercial > header > span { display: grid; }
.bo-stock-valuation-commercial > header small,
.bo-stock-valuation-commercial > div small { color: var(--bo-muted); font-size: .68rem; }
.bo-stock-valuation-commercial > div { align-items: center; border-top: 1px solid #eee8f9; display: flex; gap: 12px; justify-content: space-between; padding: 9px 12px; }
.bo-stock-valuation-commercial > div > span { display: grid; min-width: 0; }
.bo-stock-valuation-commercial > div > span:last-child { flex: 0 0 auto; text-align: right; }
.bo-stock-valuation-commercial > div strong { color: var(--bo-ink); }
.bo-stock-valuation-pager { background: #fff; border: 1px solid var(--bo-border); border-radius: 11px; margin: 0; padding: 9px 12px; }
.bo-stock-valuation-pager > div { display: flex; gap: 8px; }
.bo-stock-valuation-empty { background: #fff; border: 1px dashed var(--bo-border); border-radius: 12px; min-height: 260px; }

@media (max-width: 1240px) {
    .bo-stock-valuation-columns,
    .bo-stock-valuation-card__main { grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(100px, .7fr)) minmax(105px, .7fr) 20px; }
}

@media (max-width: 900px) {
    .bo-stock-valuation-columns { display: none; }
    .bo-stock-valuation-card__main { grid-template-columns: repeat(2, minmax(0, 1fr)) 22px; padding: 11px; }
    .bo-stock-valuation-product { grid-column: 1 / 3; }
    .bo-stock-valuation-card__main > i { grid-column: 3; grid-row: 1; }
    .bo-stock-valuation-metric { background: #f5f8fa; border-radius: 8px; padding: 8px 9px; text-align: left; }
    .bo-stock-valuation-card__detail { padding-left: 12px; }
}

@media (max-width: 680px) {
    .bo-stock-valuation-setup__intro,
    .bo-stock-valuation-step { padding: 16px; }
    .bo-stock-valuation-setup__intro { align-items: flex-start; }
    .bo-stock-valuation-choice-grid,
    .bo-stock-valuation-period,
    .bo-stock-valuation-refine { grid-template-columns: 1fr; padding-left: 0; }
    .bo-stock-valuation-period > i { display: none; }
    .bo-stock-valuation-step > header { align-items: flex-start; flex-wrap: wrap; }
    .bo-stock-valuation-step > header > .bo-button { margin-left: 38px; }
    .bo-stock-valuation-setup__footer { align-items: stretch; flex-direction: column; padding: 13px 16px; }
    .bo-stock-valuation-setup__footer .bo-button { justify-content: center; width: 100%; }
    .bo-stock-valuation-toolbar__presets {
        display: grid;
        flex: 1 1 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .bo-stock-valuation-toolbar__back { grid-column: 1 / -1; justify-content: center; }
    .bo-stock-valuation-toolbar__period { grid-column: 1 / -1; width: 100%; }
    .bo-stock-valuation-toolbar__range { flex: 1 1 auto; }
    .bo-stock-valuation-toolbar__today,
    .bo-stock-valuation-toolbar__previous-month { justify-content: center; }
    .bo-stock-valuation-toolbar__query { flex: 1 1 100%; flex-wrap: wrap; min-width: 0; width: 100%; }
    .bo-stock-valuation-toolbar__search { flex: 1 1 100%; width: 100%; }
    .bo-stock-valuation-toolbar__query > .bo-button { flex: 1 1 calc(50% - 5px); justify-content: center; }
    .bo-stock-valuation-report__head { align-items: flex-start; flex-direction: column; gap: 8px; }
    .bo-stock-valuation-report__head > span:last-child { text-align: left; }
    .bo-stock-valuation-equation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-stock-valuation-equation > i { display: none; }
    .bo-stock-valuation-reading { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
    .bo-stock-valuation-setup__intro > span { flex-basis: 44px; height: 44px; }
    .bo-stock-valuation-choice-grid { grid-template-columns: 1fr; }
    .bo-stock-valuation-toolbar__range { font-size: .82rem; padding-inline: 8px !important; }
    .bo-drawer__header h2 { font-size: 1.45rem; }
    .bo-drawer__footer .bo-button { flex: 1 1 auto; justify-content: center; }
    .bo-stock-valuation-equation { grid-template-columns: 1fr; }
    .bo-stock-valuation-card__main { grid-template-columns: 1fr 22px; }
    .bo-stock-valuation-product { grid-column: 1; }
    .bo-stock-valuation-metric { grid-column: 1 / -1; }
    .bo-stock-valuation-card__main > i { grid-column: 2; }
    .bo-stock-valuation-commercial > div { align-items: flex-start; flex-direction: column; }
    .bo-stock-valuation-commercial > div > span:last-child { text-align: left; }
}

.bo-location-picker {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bo-location-picker.is-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-location-choice {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: calc(var(--bo-location-level) * 12px) 40px minmax(0, 1fr) 22px;
    min-height: 66px;
    padding: 9px 11px;
    text-align: left;
}

.bo-location-choice:hover { border-color: var(--bo-blue); }
.bo-location-choice.is-selected {
    background: var(--bo-blue-soft);
    border-color: var(--bo-blue);
    box-shadow: inset 3px 0 0 var(--bo-blue);
}

.bo-location-choice__branch {
    border-bottom: 1px solid var(--bo-border);
    border-left: 1px solid var(--bo-border);
    height: 24px;
}

.bo-location-choice__icon {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 9px;
    color: var(--bo-blue);
    display: flex;
    height: 40px;
    justify-content: center;
}

.bo-location-choice__content { display: grid; min-width: 0; }
.bo-location-choice__content strong {
    color: var(--bo-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bo-location-choice__content small { color: var(--bo-muted); }
.bo-location-choice__check { color: transparent; }
.bo-location-choice.is-selected .bo-location-choice__check { color: var(--bo-blue); }

.bo-requisition-page-skeleton,
.bo-delivery-page-skeleton,
.bo-requisition-result-skeleton { display: grid; gap: 12px; }

.bo-requisition-search-panel,
.bo-delivery-search-panel { display: grid; gap: 13px; margin-bottom: 16px; }

.bo-requisition-search,
.bo-delivery-search {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(260px, 1fr) auto auto;
}

.bo-search-field {
    align-items: center;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    position: relative;
}
.bo-search-field > i { color: var(--bo-muted); margin-left: 12px; z-index: 1; }
.bo-search-field > .bo-input { grid-column: 1 / -1; grid-row: 1; padding-left: 40px; padding-right: 42px; }
.bo-search-field > i,
.bo-search-field > .bo-icon-button { grid-row: 1; }
.bo-search-field > .bo-icon-button { grid-column: 3; margin-right: 5px; }
.bo-status-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.bo-status-chip {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 999px;
    color: var(--bo-text);
    cursor: pointer;
    display: inline-flex;
    gap: 7px;
    padding: 8px 11px;
}
.bo-status-chip.is-selected { background: var(--bo-blue); border-color: var(--bo-blue); color: #fff; }

.bo-requisition-advanced-filters {
    background: var(--bo-soft);
    border-radius: 12px;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(560px, .95fr) minmax(320px, 1.05fr);
    padding: 14px;
}

.bo-filter-periods { display: grid; gap: 12px; min-width: 0; padding-right: 18px; }
.bo-filter-periods__dates { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-filter-periods__dates--single { grid-template-columns: minmax(0, 520px); }
.bo-filter-periods > .bo-inline-actions { justify-content: flex-start; }
.bo-filter-dates { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-filter-dates__title { color: var(--bo-ink); font-size: .77rem; font-weight: 850; grid-column: 1 / -1; text-transform: uppercase; }
.bo-filter-dates label { color: var(--bo-muted); display: grid; font-size: .75rem; gap: 4px; }
.bo-filter-dates .bo-input { min-width: 0; width: 100%; }
.bo-filter-cost-centers { border-left: 1px solid var(--bo-border); display: grid; gap: 8px; padding-left: 18px; }
.bo-filter-cost-centers > span { color: var(--bo-ink); font-size: .77rem; font-weight: 850; text-transform: uppercase; }
.bo-filter-cost-centers > div {
    align-content: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 132px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
}
.bo-filter-cost-centers button {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 999px;
    color: var(--bo-text);
    cursor: pointer;
    padding: 7px 10px;
}
.bo-filter-cost-centers button.is-selected { background: var(--bo-blue); border-color: var(--bo-blue); color: #fff; }

.bo-requisition-master-detail,
.bo-delivery-master-detail {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
    min-height: calc(100dvh - 92px);
}

.bo-requisition-list-panel,
.bo-delivery-list-panel { min-width: 0; }
.bo-requisition-summary-list { display: grid; gap: 8px; }

.bo-requisition-summary {
    --requisition-tone: #d97706;
    --requisition-soft: #fff7df;
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 40px minmax(0, 1fr) auto 12px;
    padding: 11px;
    text-align: left;
    width: 100%;
}

.bo-requisition-summary:hover,
.bo-requisition-summary.is-selected { border-color: var(--bo-blue); }
.bo-requisition-summary.is-selected { background: var(--bo-blue-soft); }
.bo-requisition-summary.bo-requisition-status--open {
    --requisition-tone: #d97706;
    --requisition-soft: #fff2cf;
}
.bo-requisition-summary.bo-requisition-status--partial {
    --requisition-tone: #7357b4;
    --requisition-soft: #f1ecff;
}
.bo-requisition-summary.bo-requisition-status--fulfilled {
    --requisition-tone: #16875f;
    --requisition-soft: #e7f7ef;
}
.bo-requisition-summary.bo-requisition-status--cancelled {
    --requisition-tone: #b42318;
    --requisition-soft: #fff0f0;
}
.bo-requisition-summary__status {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 9px;
    display: flex;
    height: 40px;
    justify-content: center;
}
.bo-requisition-summary__status {
    background: var(--requisition-soft);
    color: var(--requisition-tone);
}
.bo-requisition-summary__main,
.bo-requisition-summary__amount { display: grid; min-width: 0; }
.bo-requisition-summary__main strong,
.bo-requisition-summary__main small { overflow-wrap: anywhere; }
.bo-requisition-summary__main small { overflow-wrap: anywhere; }
.bo-requisition-summary__main strong { color: var(--bo-ink); }
.bo-requisition-summary__main small,
.bo-requisition-summary__amount small,
.bo-requisition-summary time { color: var(--bo-muted); font-size: .76rem; }
.bo-requisition-summary__amount { text-align: right; }
.bo-requisition-summary.bo-requisition-status--partial .bo-badge {
    background: var(--requisition-soft);
    color: var(--requisition-tone);
}
.bo-requisition-summary .bo-badge { grid-column: 2; justify-self: start; }
.bo-requisition-summary time { grid-column: 3; grid-row: 2; }
.bo-requisition-summary > i:last-child { grid-column: 4; grid-row: 1 / 3; }
.bo-requisition-pager { margin-top: 14px; }

.bo-requisition-detail-desktop,
.bo-delivery-responsive-detail {
    min-width: 0;
}
.bo-requisition-detail-desktop,
.bo-delivery-detail-surface { max-height: calc(100dvh - 92px); overflow: auto; }
.bo-requisition-detail-mobile { display: none; }

.bo-requisition-editor { display: grid; gap: 16px; }
.bo-requisition-editor__header,
.bo-material-delivery__header {
    align-items: flex-start;
    border-bottom: 1px solid var(--bo-border);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-bottom: 14px;
}
.bo-requisition-editor__header h2,
.bo-material-delivery__header h2 { margin: 2px 0 0; }
.bo-material-delivery__header small { color: var(--bo-muted); }

.bo-requisition-progress {
    background: var(--bo-soft);
    border: 1px solid var(--bo-border);
    border-radius: 14px;
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 7px;
}
.bo-requisition-progress__step {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--bo-muted);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 48px;
    padding: 7px 10px;
}
.bo-requisition-progress__step:disabled { cursor: not-allowed; opacity: .48; }
.bo-requisition-progress__step:not(:disabled):hover { border-color: var(--bo-blue); }
.bo-requisition-progress__step.is-active {
    background: #fff;
    border-color: var(--bo-blue);
    box-shadow: 0 3px 10px rgba(13, 58, 95, .08);
    color: var(--bo-blue);
}
.bo-requisition-progress__step.is-complete {
    background: var(--bo-green-soft);
    border-color: rgba(18, 135, 104, .15);
    color: var(--bo-green);
    opacity: 1;
}
.bo-requisition-progress__marker {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    height: 30px;
    justify-content: center;
    width: 30px;
}
.bo-requisition-progress__step.is-active .bo-requisition-progress__marker {
    background: var(--bo-blue);
    color: #fff;
}
.bo-requisition-progress__step.is-complete .bo-requisition-progress__marker {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}
.bo-requisition-focus { min-width: 0; }

.bo-requisition-step,
.bo-material-delivery__stage {
    align-items: start;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr);
}
.bo-requisition-step__number,
.bo-material-delivery__stage-number {
    align-items: center;
    background: var(--bo-blue);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: .82rem;
    font-weight: 850;
    height: 30px;
    justify-content: center;
    margin-top: 2px;
    width: 30px;
}
.bo-requisition-step__content,
.bo-material-delivery__stage > div { min-width: 0; }
.bo-section-title--subtle { margin-top: 14px; }
.bo-guided-empty {
    align-items: center;
    background: var(--bo-soft);
    border: 1px dashed var(--bo-border);
    border-radius: 11px;
    color: var(--bo-muted);
    display: flex;
    gap: 9px;
    justify-content: center;
    min-height: 66px;
    padding: 12px;
}
.bo-guided-empty i { color: var(--bo-blue); }
.bo-text-button {
    background: transparent;
    border: 0;
    color: var(--bo-blue);
    cursor: pointer;
    font: inherit;
    font-size: .73rem;
    font-weight: 800;
    padding: 4px;
    text-transform: none;
}
.bo-text-button:disabled { cursor: not-allowed; opacity: .55; }

.bo-requisition-cost-centers,
.bo-source-domain-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bo-requisition-cost-center,
.bo-source-domain {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    min-height: 58px;
    padding: 9px 11px;
    text-align: left;
}
.bo-requisition-cost-center > span,
.bo-source-domain > span {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 8px;
    color: var(--bo-blue);
    display: flex;
    grid-row: 1 / 3;
    height: 38px;
    justify-content: center;
}
.bo-requisition-cost-center strong,
.bo-source-domain strong { color: var(--bo-ink); }
.bo-requisition-cost-center small,
.bo-source-domain small { color: var(--bo-muted); grid-column: 2; }
.bo-requisition-cost-center small em {
    color: var(--bo-blue);
    display: block;
    font-style: normal;
    font-weight: 800;
    margin-top: 2px;
}
.bo-requisition-cost-search { margin-bottom: 9px; }
.bo-requisition-cost-center > i,
.bo-source-domain > i { color: transparent; grid-column: 3; grid-row: 1 / 3; }
.bo-requisition-cost-center.is-selected,
.bo-source-domain.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-requisition-cost-center.is-selected > i,
.bo-source-domain.is-selected > i { color: var(--bo-blue); }

.bo-requisition-lines { display: grid; gap: 8px; margin-top: 12px; }
.bo-requisition-line-card__quantity {
    border-top: 1px solid var(--bo-border);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px;
}
.bo-requisition-line-card__quantity .bo-quantity-stepper {
    border: 0;
    border-radius: 0;
}
.bo-requisition-line-card__quantity .bo-quantity-stepper button,
.bo-requisition-line-card__quantity .bo-quantity-stepper input { height: 46px; }
.bo-requisition-line-card__quantity > button {
    background: #e5f6ee;
    border: 0;
    color: #087f5b;
    cursor: pointer;
    min-height: 46px;
}
.bo-requisition-line-card__quantity > button:disabled { cursor: not-allowed; opacity: .45; }
.bo-requisition-facts {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bo-requisition-facts > span,
.bo-requisition-facts > button {
    background: var(--bo-soft);
    border: 0;
    border-radius: 10px;
    color: inherit;
    display: grid;
    font: inherit;
    gap: 2px;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 11px;
    text-align: left;
}
.bo-requisition-facts > span > i,
.bo-requisition-facts > button > i { color: var(--bo-blue); grid-row: 1 / 3; }
.bo-requisition-facts small { color: var(--bo-muted); }
.bo-requisition-facts strong { color: var(--bo-ink); }
.bo-requisition-facts--editable > button {
    cursor: pointer;
    grid-template-columns: 28px minmax(0, 1fr) 36px;
}
.bo-requisition-facts--editable > button:hover { background: var(--bo-blue-soft); }
.bo-requisition-facts--editable > button:disabled { cursor: not-allowed; opacity: .6; }
.bo-requisition-facts--editable > button > small,
.bo-requisition-facts--editable > button > strong { grid-column: 2; }
.bo-requisition-facts--editable .bo-icon-button {
    grid-column: 3;
    grid-row: 1 / 3;
    height: 36px;
    width: 36px;
}
.bo-requisition-delivery {
    align-items: center;
    background: var(--bo-green-soft);
    border: 1px solid rgba(18, 135, 104, .18);
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: 40px minmax(0, 1fr) auto auto;
    padding: 11px;
}
.bo-requisition-delivery__icon { color: var(--bo-green); }
.bo-requisition-delivery > span { display: grid; }
.bo-requisition-delivery small,
.bo-requisition-delivery time { color: var(--bo-muted); font-size: .76rem; }
.bo-requisition-pending-action {
    align-items: center;
    background: var(--bo-amber-soft);
    border-radius: 11px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 13px;
}

.bo-delivery-detail-surface {
    container-name: delivery-detail;
    container-type: inline-size;
    min-height: 420px;
    min-width: 0;
    overflow-x: hidden;
    position: relative;
}
.bo-delivery-detail-close { display: none; position: absolute; right: 12px; top: 12px; z-index: 2; }
.bo-material-delivery { display: grid; gap: 16px; }
.bo-fulfillment-skeleton { display: grid; gap: 10px; }
.bo-fulfillment-skeleton .bo-skeleton { height: 220px; }
.bo-fulfillment-context {
    align-items: stretch;
    background: var(--bo-soft);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    padding: 12px;
}
.bo-fulfillment-context > span {
    align-items: center;
    display: grid;
    gap: 2px 9px;
    grid-template-columns: 30px minmax(0, 1fr);
    min-width: 0;
}
.bo-fulfillment-context > span > i {
    color: var(--bo-blue);
    grid-row: 1 / 4;
    text-align: center;
}
.bo-fulfillment-context small,
.bo-fulfillment-context em { color: var(--bo-muted); font-size: .75rem; font-style: normal; }
.bo-fulfillment-context strong,
.bo-fulfillment-context em { grid-column: 2; overflow-wrap: anywhere; }
.bo-fulfillment-context > i { align-self: center; color: var(--bo-blue); }
.bo-fulfillment-default-source { display: grid; gap: 9px; }
.bo-fulfillment-default-source .bo-section-title { margin: 0; }
.bo-fulfillment-default-source__current {
    align-items: center;
    background: var(--bo-blue-soft);
    border: 1px solid rgba(27, 98, 151, .28);
    border-radius: 12px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 11px;
    grid-template-columns: 42px minmax(0, 1fr) auto 18px;
    min-width: 0;
    padding: 11px;
    text-align: left;
    width: 100%;
}
.bo-fulfillment-default-source__current:hover { border-color: var(--bo-blue); }
.bo-fulfillment-default-source__current > span { display: grid; min-width: 0; }
.bo-fulfillment-default-source__current > span:first-child {
    align-items: center;
    background: #fff;
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex;
    height: 42px;
    justify-content: center;
}
.bo-fulfillment-default-source__current small,
.bo-fulfillment-default-source__current em {
    color: var(--bo-muted);
    font-size: .72rem;
    font-style: normal;
}
.bo-fulfillment-default-source__current > span:nth-child(3) { text-align: right; }
.bo-fulfillment-default-source__current > i { color: var(--bo-blue); }
.bo-fulfillment-default-source__options {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bo-fulfillment-lines { display: grid; gap: 12px; }
.bo-fulfillment-add-product { display: grid; gap: 8px; justify-items: start; }
.bo-fulfillment-add-product > .bo-product-picker { width: 100%; }
.bo-button--accent { background: #ede8fb; border-color: rgba(104, 66, 184, .25); color: var(--bo-purple); }
.bo-fulfillment-line {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 13px;
    cursor: pointer;
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 13px;
}
.bo-fulfillment-line:focus { outline: 0; }
.bo-fulfillment-line.is-additional { border-color: rgba(104, 66, 184, .42); }
.bo-fulfillment-line.is-substitution { border-color: rgba(170, 103, 21, .42); }
.bo-fulfillment-line.is-additional .bo-fulfillment-line__icon { background: #ede8fb; color: var(--bo-purple); }
.bo-fulfillment-line.is-substitution .bo-fulfillment-line__icon { background: var(--bo-amber-soft); color: var(--bo-amber); }
.bo-fulfillment-line.is-active:not(.is-substitution):not(.is-additional) {
    background: #fbfdff;
    border-color: #4f7fa8;
}
.bo-fulfillment-line.is-additional.is-active {
    background: #fdfbff;
    border-color: rgba(104, 66, 184, .42);
}
.bo-fulfillment-line.is-completed {
    background: #eef8f3;
    border-color: #b8d9ca;
}
.bo-fulfillment-line.is-completed .bo-fulfillment-line__identity,
.bo-fulfillment-line.is-completed .bo-fulfillment-line__pending {
    opacity: .84;
}
.bo-fulfillment-line.is-completed:hover .bo-fulfillment-line__identity,
.bo-fulfillment-line.is-completed:hover .bo-fulfillment-line__pending { opacity: .94; }
.bo-fulfillment-line.is-completed .bo-fulfillment-line__icon {
    background: #fff;
    color: #2f7d5a;
    opacity: .9;
}
.bo-fulfillment-line__header {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
}
.bo-fulfillment-line__header > span { display: grid; min-width: 0; }
.bo-fulfillment-line__header small { color: var(--bo-muted); }
.bo-fulfillment-line__identity em {
    color: var(--bo-amber);
    font-size: .72rem;
    font-style: normal;
    margin-top: 3px;
}
.bo-fulfillment-line__actions { display: flex !important; gap: 6px; }
.bo-fulfillment-line__menu { color: var(--bo-blue); }
.bo-fulfillment-line__workspace {
    cursor: default;
    display: grid;
    gap: 12px;
}
.bo-fulfillment-product-swap {
    background: var(--bo-amber-soft);
    border: 1px solid rgba(170, 103, 21, .2);
    border-radius: 11px;
    padding: 10px;
}
.bo-fulfillment-line__icon {
    align-items: center;
    background: var(--bo-blue-soft);
    border-radius: 10px;
    color: var(--bo-blue);
    display: flex !important;
    height: 42px;
    justify-content: center;
}
.bo-fulfillment-line__pending { text-align: right; }
.bo-fulfillment-balance {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
    width: 100%;
}
.bo-fulfillment-balance > span {
    background: #f1f4f6;
    border-radius: 9px;
    display: grid;
    min-width: 0;
    padding: 8px 10px;
}
.bo-fulfillment-balance > span.is-recommended { background: #eaf3fb; }
.bo-fulfillment-balance > span:last-of-type { background: #eef8f3; }
.bo-fulfillment-balance small { color: var(--bo-muted); font-size: .71rem; }
.bo-fulfillment-balance > i { color: var(--bo-muted); text-align: center; }
.bo-fulfillment-line-source {
    align-items: center;
    background: var(--bo-green-soft);
    border: 1px solid rgba(18, 135, 104, .2);
    border-radius: 11px;
    display: grid;
    gap: 9px;
    grid-template-columns: 38px minmax(0, 1fr) minmax(150px, 210px) 38px;
    min-width: 0;
    padding: 9px;
}
.bo-fulfillment-line-source.is-custom {
    background: var(--bo-blue-soft);
    border-color: rgba(27, 98, 151, .24);
}
.bo-fulfillment-line-source__icon {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    color: var(--bo-green);
    display: flex;
    height: 38px;
    justify-content: center;
}
.bo-fulfillment-line-source.is-custom .bo-fulfillment-line-source__icon { color: var(--bo-blue); }
.bo-fulfillment-line-source__identity,
.bo-fulfillment-line-source__quantity { display: grid; min-width: 0; }
.bo-fulfillment-line-source__identity small,
.bo-fulfillment-line-source__quantity small { color: var(--bo-muted); font-size: .7rem; }
.bo-fulfillment-line-source__identity strong { overflow-wrap: anywhere; }
.bo-fulfillment-line-source__quantity { text-align: right; }
.bo-fulfillment-line-source-editor {
    background: #f5f6fb;
    border: 1px solid #d7dbea;
    border-radius: 11px;
    display: grid;
    gap: 9px;
    padding: 10px;
}
.bo-fulfillment-line-source-editor .bo-section-title { margin: 0; }
.bo-fulfillment-source-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bo-fulfillment-source-card {
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    min-width: 0;
    overflow: hidden;
}
.bo-fulfillment-source-card.is-selected,
.bo-fulfillment-source-card.is-confirmed {
    background: #edf4fa;
    border-color: #bfd3e3;
}
.bo-fulfillment-source-card.is-confirmed {
    background: #eef8f3;
    border-color: #b8d9ca;
}
.bo-fulfillment-source-card.is-confirmed .bo-fulfillment-source > span:first-child {
    background: #fff;
    color: #2f7d5a;
}
.bo-fulfillment-source-card.is-confirmed .bo-fulfillment-source > i:last-child { color: #2f7d5a; }
.bo-fulfillment-line-source-card.is-selected {
    background: #edf4fa;
    border-color: #bfd3e3;
}
.bo-fulfillment-line-source-card.is-selected .bo-fulfillment-source > span:first-child {
    background: #fff;
    color: #356f98;
}
.bo-fulfillment-line-source-card.is-selected .bo-fulfillment-source > i:last-child { color: #356f98; }
.bo-fulfillment-line-source-card.is-multi-source {
    background: #f0f2fa;
    border-color: #c4cce5;
}
.bo-fulfillment-line-source-card.is-multi-source .bo-fulfillment-source > span:first-child {
    background: #fff;
    color: #536da6;
}
.bo-fulfillment-line-source-card.is-multi-source .bo-fulfillment-source > i:last-child { color: #536da6; }
.bo-fulfillment-line-source-editor .bo-fulfillment-source-card.is-selected {
    background: #eef0f8;
    border-color: #bdc6e0;
}
.bo-fulfillment-line-source-editor .bo-fulfillment-source-card.is-selected .bo-fulfillment-source > span:first-child {
    background: #fff;
    color: #516aa3;
}
.bo-fulfillment-line-source-editor .bo-fulfillment-source-card.is-selected .bo-fulfillment-source > i:last-child {
    color: #516aa3;
}
.bo-fulfillment-line-source-editor .bo-fulfillment-source-card__quantity {
    border-top-color: rgba(81, 106, 163, .16);
    color: #516aa3;
}
.bo-fulfillment-source-card .bo-fulfillment-source {
    background: transparent;
    border: 0;
    border-radius: 0;
    outline: 0;
    width: 100%;
}
.bo-fulfillment-source-card__quantity {
    align-items: center;
    border-top: 1px solid rgba(53, 111, 152, .16);
    color: #356f98;
    display: grid;
    gap: 9px;
    grid-template-columns: 28px minmax(0, 1fr) 42px;
    padding: 9px;
}
.bo-fulfillment-source-card__quantity .bo-quantity-stepper { width: 100%; }
.bo-fulfillment-source-card__confirm {
    background: #fff;
    border-color: rgba(47, 125, 90, .3);
    color: #2f7d5a;
}
.bo-fulfillment-source-card__confirm:hover {
    border-color: #2f7d5a;
    color: #2f7d5a;
}
.bo-fulfillment-line-source-card__settings {
    align-items: center;
    background: transparent;
    border: 0;
    color: #356f98;
    cursor: pointer;
    display: flex;
    height: 42px;
    justify-content: center;
    padding: 0;
    width: 28px;
}
.bo-fulfillment-line-source-card__settings:hover { color: var(--bo-blue); }
.bo-fulfillment-line-source-card__settings:disabled { cursor: not-allowed; opacity: .5; }
.bo-fulfillment-source {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 10px;
    color: var(--bo-text);
    cursor: pointer;
    display: grid;
    gap: 8px;
    grid-template-columns: 34px minmax(0, 1fr) auto 16px;
    min-width: 0;
    padding: 9px;
    text-align: left;
}
.bo-fulfillment-source:hover { border-color: var(--bo-blue); }
.bo-fulfillment-source.is-selected { background: var(--bo-blue-soft); border-color: var(--bo-blue); }
.bo-fulfillment-source > span { display: grid; min-width: 0; }
.bo-fulfillment-source > span:first-child {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 8px;
    color: var(--bo-blue);
    display: flex;
    height: 34px;
    justify-content: center;
}
.bo-fulfillment-source small { color: var(--bo-muted); font-size: .7rem; }
.bo-fulfillment-source > span:nth-child(3) { text-align: right; }
.bo-fulfillment-source > i { color: var(--bo-blue); }
.bo-fulfillment-allocations { display: grid; gap: 7px; }
.bo-fulfillment-allocation {
    align-items: center;
    background: var(--bo-green-soft);
    border: 1px solid rgba(18, 135, 104, .2);
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) auto;
    padding: 9px;
}
.bo-fulfillment-allocation > span { align-items: center; display: flex; gap: 9px; min-width: 0; }
.bo-fulfillment-allocation > span > i { color: var(--bo-green); }
.bo-fulfillment-allocation > span > span { display: grid; min-width: 0; }
.bo-fulfillment-allocation strong,
.bo-fulfillment-allocation small { overflow-wrap: anywhere; }
.bo-fulfillment-allocation small { color: var(--bo-muted); }
.bo-fulfillment-no-source {
    align-items: center;
    background: var(--bo-red-soft);
    border-radius: 10px;
    color: var(--bo-red);
    display: flex;
    gap: 10px;
    padding: 10px;
}
.bo-fulfillment-no-source span { display: grid; }
.bo-fulfillment-no-source small { color: var(--bo-muted); }
.bo-fulfillment-submit > span { display: grid; margin-right: auto; }
.bo-fulfillment-submit small { color: var(--bo-muted); }
.bo-requisition-delivery--sources small { overflow-wrap: anywhere; }
.bo-fulfillment-line.bo-production-ingredient {
    cursor: default;
    gap: 0;
    padding: 0;
}
.bo-fulfillment-line .bo-fulfillment-line__header {
    cursor: pointer;
    grid-template-columns: 42px minmax(0, 1fr) auto 18px;
    padding: 9px;
}
.bo-fulfillment-line.is-active .bo-fulfillment-line__header {
    grid-template-columns: 42px minmax(0, 1fr) auto;
}
.bo-fulfillment-line .bo-fulfillment-line__icon {
    background: #fff4d6;
    color: #9a6700;
    height: 40px;
}
.bo-fulfillment-line.is-active:not(.is-substitution):not(.is-additional) {
    background: #fffaf0;
    border-color: #e6a640;
}
.bo-fulfillment-line.is-additional {
    background: #fff;
    border-color: #b99bde;
}
.bo-fulfillment-line.is-additional:hover { border-color: #8f62c8; }
.bo-fulfillment-line.is-additional.is-active {
    background: #f8f4ff;
    border-color: #9f76d1;
}
.bo-fulfillment-line.is-additional .bo-fulfillment-line__icon {
    background: #eee8fb;
    color: #6842b8;
}
.bo-fulfillment-line.is-substitution {
    background: #fff;
    border-color: #ded84d;
}
.bo-fulfillment-line.is-substitution:hover { border-color: #c8c12d; }
.bo-fulfillment-line.is-substitution.is-active {
    background: #fffdd1;
    border-color: #d8d13a;
}
.bo-fulfillment-line.is-substitution .bo-fulfillment-line__icon {
    background: #fffba6;
    color: #777000;
}
.bo-fulfillment-line.is-substitution .bo-fulfillment-line__identity em { color: #817a00; }
.bo-fulfillment-line.is-completed {
    background: #f0f8e8;
    border-color: #b6d293;
}
.bo-fulfillment-line.is-completed:hover { border-color: #82ad52; }
.bo-fulfillment-line.is-completed .bo-fulfillment-line__icon {
    background: #fff;
    color: #4d7c1f;
}
.bo-fulfillment-line__state {
    color: var(--bo-blue);
    justify-self: center;
}
.bo-fulfillment-line.is-completed .bo-fulfillment-line__state { color: #4d7c1f; }
.bo-fulfillment-line__pending {
    align-items: baseline;
    display: flex !important;
    gap: 4px;
    justify-content: flex-end;
    white-space: nowrap;
}
.bo-fulfillment-line__workspace {
    gap: 0;
}
.bo-fulfillment-line__quantity {
    border-top: 1px solid var(--bo-border);
    grid-template-columns: minmax(0, 1fr) 52px;
}
.bo-fulfillment-line__quantity .bo-quantity-stepper {
    border: 0;
    border-radius: 0;
}
.bo-fulfillment-line__quantity .bo-quantity-stepper button,
.bo-fulfillment-line__quantity .bo-quantity-stepper input { height: 46px; }
.bo-fulfillment-line__quantity > button:disabled { cursor: not-allowed; opacity: .45; }
.bo-fulfillment-line__source-prompt {
    align-items: center;
    background: var(--bo-red-soft);
    border: 0;
    color: var(--bo-red);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 12px;
    grid-template-columns: 18px minmax(0, 1fr) 18px;
    min-height: 50px;
    padding: 10px 14px;
    text-align: left;
    width: 100%;
}
.bo-fulfillment-line__source-prompt-copy {
    display: grid;
    min-width: 0;
}
.bo-fulfillment-line__source-prompt-copy small {
    color: var(--bo-muted);
    font-size: .72rem;
}
.bo-fulfillment-line__source-prompt > i {
    color: var(--bo-red);
    justify-self: center;
}
.bo-fulfillment-line__source-prompt:hover { background: #fbd9d6; }
.bo-fulfillment-line__source-prompt:disabled { cursor: not-allowed; opacity: .5; }
.bo-fulfillment-product-swap {
    border: 0;
    border-radius: 0;
    border-top: 1px solid #ded5f2;
}
.bo-fulfillment-line__custom-source {
    align-items: center;
    background: #f4f5fa;
    border: 0;
    border-top: 1px solid #d9dce8;
    color: #536da6;
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 9px;
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    padding: 8px 10px;
    text-align: left;
    width: 100%;
}
.bo-fulfillment-line__custom-source > i { text-align: center; }
.bo-fulfillment-line__custom-source > span { display: grid; min-width: 0; }
.bo-fulfillment-line__custom-source small {
    color: var(--bo-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bo-fulfillment-line__custom-source:hover { background: #eceef7; }
.bo-fulfillment-line__custom-source:disabled { cursor: not-allowed; opacity: .5; }
.bo-fulfillment-line .bo-fulfillment-line-source-editor {
    border: 0;
    border-radius: 0;
    border-top: 1px solid #d7dbea;
}
.bo-route-suggestion { color: var(--bo-green) !important; }
.bo-inline-skeletons { display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); }
.bo-inline-skeletons .bo-skeleton { height: 58px; }
.bo-material-delivery-lines { display: grid; gap: 8px; }
.bo-material-delivery-line {
    align-items: center;
    background: #fff;
    border: 1px solid var(--bo-border);
    border-radius: 11px;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr) minmax(0, .45fr);
    min-width: 0;
    padding: 10px;
}
.bo-material-delivery-line.is-selected { border-color: rgba(18, 135, 104, .38); }
.bo-material-delivery-line__state {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 8px;
    color: var(--bo-muted);
    display: flex;
    height: 38px;
    justify-content: center;
}
.bo-material-delivery-line.is-selected .bo-material-delivery-line__state {
    background: var(--bo-green-soft);
    color: var(--bo-green);
}
.bo-material-delivery-line__identity { display: grid; min-width: 0; }
.bo-material-delivery-line .bo-quantity-stepper {
    grid-template-columns: 34px minmax(42px, 1fr) 34px;
    min-width: 0;
    width: 100%;
}
.bo-material-delivery-line__identity strong { color: var(--bo-ink); }
.bo-material-delivery-line__identity small { color: var(--bo-muted); }
.bo-material-delivery__summary {
    align-items: center;
    background: var(--bo-soft);
    border-radius: 11px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    padding: 12px;
}
.bo-material-delivery__summary > span { display: grid; }
.bo-material-delivery__summary small { color: var(--bo-muted); }
.bo-material-delivery__summary > i { color: var(--bo-blue); }

@media (max-width: 1100px) {
    .bo-location-picker.is-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-requisition-advanced-filters { grid-template-columns: 1fr; }
    .bo-filter-periods { padding-bottom: 14px; padding-right: 0; }
    .bo-filter-cost-centers { border-left: 0; border-top: 1px solid var(--bo-border); padding-left: 0; padding-top: 14px; }
    .bo-movement-browser,
    .bo-stock-map { grid-template-columns: 1fr; }
    .bo-movement-browser__detail:has(.bo-movement-detail__header) {
        border-radius: 0;
        inset: 0;
        max-height: 100vh;
        overflow: auto;
        padding: 68px 18px 24px;
        position: fixed;
        z-index: 1300;
    }
    .bo-movement-detail__close {
        display: inline-flex;
        position: fixed;
        right: 18px;
        top: 16px;
        z-index: 1301;
    }
    .bo-stock-map__nodes { max-height: 460px; }
}

@container delivery-detail (max-width: 680px) {
    .bo-fulfillment-line__header {
        align-items: start;
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .bo-fulfillment-line__pending {
        grid-column: 2;
        text-align: left;
    }
    .bo-fulfillment-line__actions { grid-column: 3; grid-row: 1 / 3; }
    .bo-fulfillment-default-source__options { grid-template-columns: 1fr; }
    .bo-fulfillment-line-source {
        grid-template-columns: 38px minmax(0, 1fr) auto;
    }
    .bo-fulfillment-line-source .bo-quantity-stepper {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .bo-fulfillment-line-source > .bo-icon-button {
        grid-column: 3;
        grid-row: 1;
    }
    .bo-fulfillment-source-grid { grid-template-columns: 1fr; }
    .bo-fulfillment-allocation { grid-template-columns: minmax(0, 1fr) auto; }
    .bo-fulfillment-allocation .bo-quantity-stepper {
        grid-column: 1 / -1;
        grid-row: 2;
    }
    .bo-fulfillment-allocation > .bo-icon-button {
        grid-column: 2;
        grid-row: 1;
    }
    .bo-fulfillment-line:not(.is-active) .bo-fulfillment-line__header {
        grid-template-columns: 42px minmax(0, 1fr) 18px;
    }
    .bo-fulfillment-line:not(.is-active) .bo-fulfillment-line__pending {
        grid-column: 2;
        grid-row: 2;
        justify-content: flex-start;
        justify-items: start;
    }
    .bo-fulfillment-line:not(.is-active) .bo-fulfillment-line__state {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
    }
    .bo-fulfillment-line.is-active .bo-fulfillment-line__header {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .bo-fulfillment-line.is-active .bo-fulfillment-line__actions {
        grid-column: 3;
        grid-row: 1 / 3;
    }
}

@media (max-width: 1320px) {
    .bo-requisition-hub { grid-template-columns: 1fr; }
    .bo-requisition-master-detail,
    .bo-delivery-master-detail { display: block; min-height: 0; }
    .bo-requisition-detail-shell { display: none; }
    .bo-requisition-detail-mobile { display: block; }
    .bo-delivery-responsive-detail {
        align-items: flex-end;
        background: rgba(4, 22, 36, .58);
        display: flex;
        height: auto;
        inset: 0;
        max-height: none;
        overflow: hidden;
        padding: 0;
        position: fixed;
        top: 0;
        z-index: 1200;
    }
    .bo-delivery-detail-surface {
        border-radius: 16px 16px 0 0;
        max-height: 94vh;
        overflow: auto;
        width: 100%;
    }
    .bo-delivery-detail-close { display: inline-flex; }
    .bo-material-delivery__header { padding-right: 42px; }
}

@media (max-width: 720px) {
    .bo-search-row { grid-template-columns: minmax(0, 1fr) auto; }
    .bo-search-row > .bo-button { font-size: 0; padding-inline: 13px; }
    .bo-search-row > .bo-button i { font-size: .95rem; }
    .bo-movement-history__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-movement-history__filters .bo-field--grow { grid-column: 1 / -1; }
    .bo-movement-history__filters .bo-button { width: 100%; }
    .bo-movement-history-card { grid-template-columns: 40px minmax(0, 1fr) auto; }
    .bo-movement-history-card__count { grid-column: 2; text-align: left; }
    .bo-movement-history-card > i { grid-column: 3; grid-row: 1 / 3; }
    .bo-movement-detail__route { grid-template-columns: 1fr; }
    .bo-movement-detail__route > i { justify-self: center; transform: rotate(90deg); }
    .bo-movement-detail__facts { grid-template-columns: 1fr; }
    .bo-stock-map__controls { grid-template-columns: 1fr; }
    .bo-stock-map__modes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .bo-stock-map__modes button { flex-direction: column; font-size: .7rem; gap: 4px; justify-content: center; min-height: 58px; padding: 6px 2px; }
    .bo-stock-node { grid-template-columns: 40px minmax(0, 1fr) auto 12px; }
    .bo-stock-node__value { grid-column: auto; justify-items: end; text-align: right; }
    .bo-stock-node > i { grid-column: auto; grid-row: auto; }
    .bo-stock-flow-cards { grid-template-columns: 1fr; }
    .bo-stock-product-total { grid-template-columns: 1fr; }
    .bo-stock-branches button,
    .bo-stock-product-list button { grid-template-columns: 38px minmax(110px, 1fr) auto; }
    .bo-stock-branches button > span:nth-child(3),
    .bo-stock-product-list button > span:nth-child(3) { grid-column: 2; max-width: none; text-align: left; width: auto; }
    .bo-stock-branches button > i,
    .bo-stock-product-list button > i { grid-column: 3; grid-row: 1 / 3; }
    .bo-requisition-progress { gap: 4px; padding: 5px; }
    .bo-requisition-progress__step {
        background: rgba(255, 255, 255, .62);
        border-color: rgba(205, 217, 226, .72);
        flex-direction: column;
        font-size: .68rem;
        gap: 4px;
        min-height: 66px;
        min-width: 0;
        padding: 6px 2px;
    }
    .bo-requisition-progress__step strong {
        line-height: 1.05;
        max-width: 100%;
        text-align: center;
    }
    .bo-requisition-progress__step.is-complete { background: var(--bo-green-soft); }
    .bo-requisition-progress__step.is-active { background: #fff; }
    .bo-requisition-progress__marker { height: 28px; width: 28px; }
    .bo-requisition-search,
    .bo-delivery-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bo-requisition-search .bo-search-field,
    .bo-delivery-search .bo-search-field { grid-column: 1 / -1; }
    .bo-requisition-advanced-filters { grid-template-columns: 1fr; }
    .bo-filter-periods__dates { grid-template-columns: 1fr; }
    .bo-location-picker,
    .bo-location-picker.is-compact,
    .bo-requisition-cost-centers,
    .bo-source-domain-grid,
    .bo-location-purpose-grid,
    .bo-domain-company-grid { grid-template-columns: 1fr; }
    .bo-requisition-summary {
        grid-template-columns: 38px minmax(0, 1fr) auto;
    }
    .bo-requisition-summary__amount { grid-column: 2; text-align: left; }
    .bo-requisition-summary .bo-badge { grid-column: 3; grid-row: 1; }
    .bo-requisition-summary time { grid-column: 2; }
    .bo-requisition-summary > i:last-child { display: none; }
    .bo-requisition-step,
    .bo-material-delivery__stage { grid-template-columns: 28px minmax(0, 1fr); }
    .bo-requisition-step__number,
    .bo-material-delivery__stage-number { height: 26px; width: 26px; }
    .bo-requisition-facts { grid-template-columns: 1fr; }
    .bo-requisition-delivery { grid-template-columns: 34px minmax(0, 1fr) auto; }
    .bo-requisition-delivery time { grid-column: 2; }
    .bo-requisition-pending-action { align-items: stretch; flex-direction: column; }
    .bo-material-delivery-line {
        grid-template-columns: 36px minmax(0, 1fr);
    }
    .bo-material-delivery-line .bo-quantity-stepper { grid-column: 1 / -1; }
    .bo-fulfillment-context { grid-template-columns: 1fr; }
    .bo-fulfillment-context > i { display: none; }
    .bo-fulfillment-default-source__current {
        grid-template-columns: 38px minmax(0, 1fr) 18px;
    }
    .bo-fulfillment-default-source__current > span:nth-child(3) {
        grid-column: 2;
        text-align: left;
    }
    .bo-fulfillment-default-source__current > i { grid-column: 3; grid-row: 1 / 3; }
    .bo-fulfillment-balance {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }
    .bo-fulfillment-balance > span:last-child { grid-column: 1 / -1; }
    .bo-fulfillment-balance > i:nth-of-type(2) { display: none; }
    .bo-fulfillment-allocation { grid-template-columns: minmax(0, 1fr) auto; }
    .bo-fulfillment-allocation .bo-quantity-stepper { grid-column: 1 / -1; grid-row: 2; }
    .bo-fulfillment-allocation > .bo-icon-button { grid-column: 2; grid-row: 1; }
    .bo-fulfillment-submit { align-items: stretch; }
    .bo-movement-selected-route--2,
    .bo-movement-meta-grid,
    .bo-movement-product-card__values,
    .bo-movement-product-card__details { grid-template-columns: 1fr; }
    .bo-movement-product-card > header,
    .bo-movement-product-card.is-editing > header,
    .bo-movement-product-card--transfer > header,
    .bo-movement-product-card--transfer.is-editing > header { grid-template-columns: 44px minmax(0, 1fr) auto; }
    .bo-movement-product-card__summary {
        grid-column: 2;
        grid-row: 2;
        justify-content: flex-start;
        text-align: left;
    }
    .bo-movement-product-card__actions { grid-column: 3; grid-row: 1; }
}

/* A home da retaguarda reserva a área restante para a conversa. */
.op-main-content:has(.bo-home) { flex: 1 1 auto !important; min-height: 0; }
.op-main-content:has(.bo-home) + .op-app-footer { display: none; }
.backoffice-module:has(.bo-home) { height: calc(100dvh - 56px); min-height: 0; padding: 20px 28px; }
@media (max-width: 980px) { .backoffice-module:has(.bo-home) { padding: 16px; } }
@media (max-height: 650px) { .backoffice-module:has(.bo-home) { height: auto; min-height: calc(100dvh - 56px); } .backoffice-module .bo-home { min-height: 550px; } }
