/* RIOS prototype — minimal additions on top of Steex (app.min.css / bootstrap) */

/* Scrollable modals: a <form> between .modal-header and .modal-body is display:block by default,
   so it does not shrink inside .modal-content (flex column + max-height). The body never gets a
   bounded height (no scroll) and the footer is clipped below the viewport. */
.modal-dialog-scrollable .modal-content > form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.modal-dialog-scrollable .modal-content > form > .modal-body {
    flex: 1 1 auto;
    min-height: 0;
}

/* Receivable / trade payment modal: equal column widths (flex min-width:auto breaks date inputs). */
#riosReceivablePaymentModal .rios-receivable-pay-form .row > [class*="col-"] {
    min-width: 0;
}

#riosReceivablePaymentModal .rios-receivable-pay-form .form-control,
#riosReceivablePaymentModal .rios-receivable-pay-form .form-select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

#riosReceivablePaymentModal .rios-receivable-pay-form input[type="date"] {
    min-width: 0;
}

/* Nav tab labels: remove theme hover fill (e.g. light pink primary tint) */
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus-visible {
    background-color: transparent !important;
}

/* Toast stack bottom-right */
#rios-toast-container {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1090;
    max-width: 22rem;
    pointer-events: none;
}

#rios-toast-container .toast {
    pointer-events: auto;
}

/* Create trade (AGRI): PO vs sample choice — hover uses solid primary with white text */
#riosFormModal .agri-create-trade-pick-btn:hover,
#riosFormModal .agri-create-trade-pick-btn:focus-visible,
#riosFormModal .agri-create-trade-pick-btn:active {
    background-color: var(--tb-primary) !important;
    border-color: var(--tb-primary) !important;
    color: #fff !important;
}

#riosFormModal .agri-create-trade-pick-btn:hover .fw-semibold,
#riosFormModal .agri-create-trade-pick-btn:focus-visible .fw-semibold,
#riosFormModal .agri-create-trade-pick-btn:hover .fs-xs,
#riosFormModal .agri-create-trade-pick-btn:focus-visible .fs-xs,
#riosFormModal .agri-create-trade-pick-btn:hover cite,
#riosFormModal .agri-create-trade-pick-btn:focus-visible cite {
    color: #fff !important;
}

#riosFormModal .agri-create-trade-lines th,
#riosFormModal .agri-create-trade-lines td {
    white-space: normal;
    vertical-align: middle;
}

#riosFormModal .modal-dialog.agri-create-trade-modal-width {
    max-width: min(96vw, 900px);
}

/* Create trade: party master preview (supplier / buyer) */
#riosFormModal .agri-party-preview {
    background: linear-gradient(
        135deg,
        rgba(var(--tb-primary-rgb, 13, 110, 253), 0.07) 0%,
        rgba(var(--tb-body-bg-rgb, 255, 255, 255), 0.92) 48%
    );
    border: 1px solid rgba(var(--tb-primary-rgb, 13, 110, 253), 0.18);
}

#riosFormModal .agri-party-preview-facts > div:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#riosFormModal .agri-party-preview-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
}

#riosFormModal .agri-party-preview-icon--user {
    background-color: var(--tb-primary-bg-subtle, rgba(13, 110, 253, 0.12));
    color: var(--tb-primary);
}

#riosFormModal .agri-party-preview-icon--loc {
    background-color: var(--tb-success-bg-subtle, rgba(25, 135, 84, 0.12));
    color: var(--tb-success);
}

/* Trade workspace (agri-trade-detail*.html) */
.agri-trade-ws-step {
    scroll-margin-top: 5.5rem;
}

.agri-trade-ws-readonly {
    align-self: flex-start;
    width: 100%;
}

.agri-trade-ws-nav .list-group-item-action {
    border-left: 3px solid transparent;
}

.agri-trade-ws-nav .list-group-item-action:hover {
    border-left-color: var(--tb-primary);
}

/* Flex layout: allow wide tables to scroll inside main column (Velzon / Steex shell) */
.main-content,
.page-content,
.main-content > .page-content > .container-fluid {
    min-width: 0;
}

.card.rios-data-table-card > .card-body {
    min-width: 0;
}

/* Data table toolbar + horizontal scroll */
.rios-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 0;
    max-width: 100%;
}

/* Keep each header/cell on one line; table grows with content — scroll in .rios-table-scroll / .table-responsive */
.rios-table-scroll table.table,
.page-content table.table {
    width: max-content;
    min-width: 100%;
}

.rios-table-scroll table.table thead th,
.rios-table-scroll table.table tbody td,
.page-content table.table thead th,
.page-content table.table tbody td {
    white-space: nowrap;
}

/* Sticky Actions column */
.rios-table-scroll table.table th:last-child,
.rios-table-scroll table.table td:last-child {
    position: sticky;
    right: 0;
    z-index: 2;
    background-color: var(--tb-body-bg);
    box-shadow: -6px 0 10px -8px rgba(15, 34, 58, 0.35);
}

.card .rios-table-scroll table.table th:last-child,
.card .rios-table-scroll table.table td:last-child {
    background-color: var(--tb-secondary-bg);
}

/* RIOS list tables (cream grid): sticky Actions column matches cell/header tints */
.card .rios-table-scroll .rios-list-panel .rios-dash-list-table thead th:last-child,
.card .rios-table-scroll .rios-list-panel .rios-dash-list-table tbody td:last-child {
    background-color: var(--rios-dash-table-cell-bg, #f2f7fb);
}

.card .rios-table-scroll .rios-list-panel .rios-dash-list-table thead th:last-child {
    background-color: var(--rios-dash-table-head-bg, #e4eef7) !important;
}

/* No Actions column: last column is normal data (e.g. PAN upload scrolls with the row) */
.rios-data-table-card[data-rios-no-sticky-last="1"] .rios-table-scroll table.table thead th:last-child,
.rios-data-table-card[data-rios-no-sticky-last="1"] .rios-table-scroll table.table tbody td:last-child {
    position: static !important;
    right: auto !important;
    box-shadow: none !important;
}

.card[data-rios-no-sticky-last="1"] .rios-table-scroll .rios-list-panel .rios-dash-list-table thead th:last-child,
.card[data-rios-no-sticky-last="1"] .rios-table-scroll .rios-list-panel .rios-dash-list-table tbody td:last-child {
    background-color: var(--rios-dash-table-cell-bg, #f2f7fb);
}

.card[data-rios-no-sticky-last="1"] .rios-table-scroll .rios-list-panel .rios-dash-list-table thead th:last-child {
    background-color: var(--rios-dash-table-head-bg, #e4eef7) !important;
}

.rios-data-table-card[data-rios-no-sticky-last="1"] .rios-data-table table.rios-dash-list-table thead th:last-child {
    text-align: inherit !important;
}

.rios-list-panel .rios-dash-list-table tbody tr:hover td:last-child {
    background-color: var(--rios-dash-table-cell-hover, #e8f2fa);
}

/* Actions column: center header + edit/delete icon groups (RIOS data tables) */
.rios-data-table table.rios-dash-list-table thead th:last-child {
    text-align: center !important;
}

table.rios-dash-list-table tbody td:has(.rios-row-edit) {
    text-align: center !important;
    vertical-align: middle !important;
}

/* System settings · order channels table (icon actions, no rios-row-edit) */
table.rios-order-channels-table thead th:last-child,
table.rios-order-channels-table tbody td:last-child {
    text-align: center !important;
    vertical-align: middle !important;
}

/* Pagination: 5px total horizontal gap between page items */
.rios-pagination.pagination {
    flex-wrap: wrap;
    gap: 0;
}

.rios-pagination.pagination .page-item {
    margin-left: 2.5px;
    margin-right: 2.5px;
}

/* Tabs: thin rule + primary underline overlap (extends template nav-tabs) */
.rios-nav-tabs.nav-tabs {
    border-bottom: 1px solid var(--tb-border-color);
}

.rios-nav-tabs.nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    color: var(--tb-secondary-color);
}

.rios-nav-tabs.nav-tabs .nav-link:hover {
    border-bottom-color: rgba(var(--tb-primary-rgb), 0.35);
    color: var(--tb-body-color);
}

.rios-nav-tabs.nav-tabs .nav-link.active {
    color: var(--tb-primary);
    font-weight: 600;
    border-bottom-color: var(--tb-primary);
    border-bottom-width: 2px;
}

/* Square-ish outline action buttons (icon color = border) */
.rios-btn-icon-outline {
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem;
}

/* AI Copilot chat transcript */
.rios-chat-history {
    max-height: min(52vh, 520px);
    overflow-y: auto;
}

/* Layout: prevent wide tables/charts from stretching viewport (template-safe) */
.main-content,
.page-content .container-fluid {
    min-width: 0;
}

/* Header outlet switcher — readable hover (theme can set dark bg + dark text on outline buttons) */
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:hover,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:focus-visible,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary.show {
    color: #212529 !important;
    background-color: #eef0f5 !important;
    border-color: rgba(15, 34, 58, 0.2) !important;
}

#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:hover .rios-header-outlet-label,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:focus-visible .rios-header-outlet-label,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary.show .rios-header-outlet-label {
    color: #212529 !important;
}

#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:hover .text-muted,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:focus-visible .text-muted,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary.show .text-muted {
    color: #5d6169 !important;
}

#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:hover .text-primary,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary:focus-visible .text-primary,
#page-topbar #rios-header-outlet-dropdown.btn-outline-secondary.show .text-primary {
    color: var(--tb-primary) !important;
}

#rios-header-outlet-menu button.rios-outlet-option.dropdown-item:hover,
#rios-header-outlet-menu button.rios-outlet-option.dropdown-item:focus,
#rios-header-outlet-menu button.rios-outlet-option.dropdown-item:focus-visible {
    background-color: #eef0f5 !important;
    color: #212529 !important;
}

/* Menu Intelligence (rios-ai-menu-intelligence.html): paired chart cards same height */
.rios-ai-menu-chart-row > [class*="col-"] > .card > .card-body > .apex-charts {
    min-height: 300px;
}

/* Table card: clip horizontal scroll inside card radius */


/* Export feedback */
.rios-data-table.rios-export-loading {
    opacity: 0.65;
    transition: opacity 0.15s ease-in-out;
    pointer-events: none;
}

/* Pagination: avoid overflow on narrow screens */
.card .d-flex.flex-wrap.justify-content-between.align-items-center.gap-2 {
    row-gap: 0.5rem;
}

@media (max-width: 575.98px) {
    .topbar-head-dropdown .dropdown-menu-lg {
        max-width: min(22rem, calc(100vw - 1.25rem));
    }
}

/* —— RIOS dashboard (rios-dashboard.html) —— */
.rios-dashboard-page .page-title-box.rios-page-title-plain {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0.75rem;
}

.rios-dashboard-page .page-title-box.rios-page-title-plain h4 {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
}

.rios-dashboard-page .rios-dash-kpi--alert {
    box-shadow: inset 0 0 0 2px rgba(var(--tb-warning-rgb, 253, 185, 24), 0.55) !important;
}

.rios-dashboard-page .rios-dash-list-table .rios-dash-dish-cat {
    font-weight: 600;
    font-size: 0.6875rem;
}

.rios-dashboard-page .rios-dash-feed-section .rios-dash-feed-scroll .rios-dash-alert-row.border-0 {
    border-bottom: 1px solid rgba(40, 35, 30, 0.06) !important;
}

.rios-dashboard-page .rios-dash-feed-section .rios-dash-feed-scroll .rios-dash-alert-row.border-0:last-child {
    border-bottom: none !important;
}

.rios-dash-insight-row .rios-dash-insight-scroll {
    min-height: 220px;
    max-height: 220px;
}

/* Dashboard alert cards v2 — tinted header, clean white body, dot + type (no inner box) */
.rios-dashboard-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--inv {
    background: linear-gradient(180deg, rgba(var(--tb-primary-rgb, 139, 52, 119), 0.1) 0%, #fffaf7 100%);
}

.rios-dashboard-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--stock {
    background: linear-gradient(180deg, rgba(var(--tb-danger-rgb, 220, 53, 69), 0.08) 0%, #fffbfb 100%);
}

.rios-dashboard-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--var {
    background: linear-gradient(180deg, rgba(var(--tb-warning-rgb, 253, 185, 24), 0.22) 0%, #f2f7fb 100%);
}

.rios-dashboard-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--ai {
    background: linear-gradient(180deg, rgba(var(--tb-primary-rgb, 139, 52, 119), 0.12) 0%, #fff9fb 100%);
}

.rios-dashboard-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--activity {
    background: linear-gradient(180deg, rgba(108, 117, 125, 0.1) 0%, #fafbfc 100%);
}

.rios-dashboard-page .rios-dash-alert-card .card-body {
    background-color: #fff;
    flex: 1 1 auto;
    min-height: 0;
}

.rios-dashboard-page .rios-dash-alert-stack {
    border: none;
    background: transparent;
}

.rios-dashboard-page .rios-dash-alert-row {
    padding: 0.8rem 1.15rem;
    border-bottom: 1px solid rgba(40, 35, 30, 0.06);
}

.rios-dashboard-page .rios-dash-alert-stack .rios-dash-alert-row:last-child {
    border-bottom: none;
}

.rios-dashboard-page .rios-dash-alert-row-title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--tb-body-color, #212529);
    line-height: 1.35;
}

.rios-dashboard-page .rios-dash-alert-row-meta {
    font-size: 0.72rem;
    color: var(--tb-secondary-color, #6c757d);
    margin-top: 0.15rem;
    line-height: 1.4;
}

.rios-dashboard-page .rios-dash-alert-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 0.38rem;
}

.rios-dashboard-page .rios-dash-alert-dot--danger {
    background-color: rgb(var(--tb-danger-rgb, 220, 53, 69));
    box-shadow: 0 0 0 3px rgba(var(--tb-danger-rgb, 220, 53, 69), 0.2);
}

.rios-dashboard-page .rios-dash-alert-dot--warning {
    background-color: rgb(var(--tb-warning-rgb, 253, 185, 24));
    box-shadow: 0 0 0 3px rgba(var(--tb-warning-rgb, 253, 185, 24), 0.25);
}

.rios-dashboard-page .rios-dash-alert-dot--info {
    background-color: rgb(var(--tb-info-rgb, 13, 110, 253));
    box-shadow: 0 0 0 3px rgba(var(--tb-info-rgb, 13, 110, 253), 0.18);
}

.rios-dashboard-page .rios-dash-alert-dot--neutral {
    background-color: #adb5bd;
    box-shadow: 0 0 0 3px rgba(173, 181, 189, 0.35);
}

.rios-dashboard-page .rios-dash-alert-dot--success {
    background-color: rgb(var(--tb-success-rgb, 25, 135, 84));
    box-shadow: 0 0 0 3px rgba(var(--tb-success-rgb, 25, 135, 84), 0.2);
}

.rios-dashboard-page .rios-dash-alert-row--grid {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    column-gap: 1rem;
}

.rios-dashboard-page .rios-dash-alert-metric {
    font-size: 0.8125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.rios-dashboard-page .rios-dash-alert-metric--bad {
    color: rgb(var(--tb-danger-rgb, 220, 53, 69));
}

.rios-dashboard-page .rios-dash-alert-metric--mid {
    color: #b8860b;
}

.rios-dashboard-page .rios-dash-alert-metric--ok {
    color: #5c636a;
}

/* AI recommendations + Recent activity — same stack/row pattern as alert v2 */
.rios-dashboard-page .rios-dash-alert-card__head--ai .rios-dash-ai-copilot-btn {
    font-size: 0.6875rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    line-height: 1.25;
}

.rios-dashboard-page .rios-dash-feed-section .rios-dash-feed-scroll {
    min-height: 16rem;
    max-height: 18.5rem;
}

.rios-dashboard-page .rios-dash-feed-pill {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgb(var(--tb-primary-rgb, 139, 52, 119));
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
    margin-top: 0.1rem;
}

.rios-dashboard-page .rios-dash-feed-pill--danger {
    color: rgb(var(--tb-danger-rgb, 220, 53, 69));
}

.rios-dashboard-page .rios-dash-feed-avatar {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    object-fit: cover;
    margin-top: 0.32rem;
}

/* RIOS list tables (bordered columns + header) — very light blue grid */
.rios-list-panel {
    --rios-dash-table-border: #c8d8e8;
    --rios-dash-table-head-bg: #e4eef7;
    --rios-dash-table-cell-bg: #f2f7fb;
    --rios-dash-table-cell-hover: #e8f2fa;
}

.rios-dash-list-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--rios-dash-table-border, #c8d8e8);
}

.rios-list-panel.bg-body {
    background-color: #f2f7fb !important;
    border: 1px solid var(--rios-dash-table-border) !important;
}

.rios-dash-list-table thead th {
    font-weight: 600;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.rios-list-panel .rios-dash-list-table thead.table-light th,
.rios-list-panel .rios-dash-list-table thead th {
    background-color: var(--rios-dash-table-head-bg) !important;
    color: #3a5068 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--rios-dash-table-border) !important;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
    font-size: 0.6875rem;
    line-height: 1.3;
}

.rios-dash-list-table tbody td {
    vertical-align: middle;
}

.rios-list-panel .rios-dash-list-table tbody td {
    background-color: var(--rios-dash-table-cell-bg);
    border-width: 1px !important;
    border-style: solid !important;
    border-color: var(--rios-dash-table-border) !important;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
    font-size: 0.8125rem;
    line-height: 1.35;
}

/* Row actions: smaller than default rios-btn-icon-outline so row height matches dashboard grids */
.rios-list-panel .rios-dash-list-table .rios-btn-icon-outline {
    width: 1.5rem;
    height: 1.5rem;
    min-width: 1.5rem;
    min-height: 1.5rem;
    border-radius: 0.2rem;
}

.rios-list-panel .rios-dash-list-table .rios-btn-icon-outline i {
    font-size: 0.8125rem;
    line-height: 1;
}

.rios-list-panel .rios-dash-list-table td .rios-btn-icon-outline.me-1 {
    margin-right: 0.25rem !important;
}

.rios-list-panel .rios-dash-list-table tbody tr:hover td {
    background-color: var(--rios-dash-table-cell-hover);
}

.rios-dash-list-table .rios-col-rank {
    width: 2.75rem;
}

.rios-dash-list-table .rios-col-cat {
    width: 7.5rem;
}

.rios-dash-list-table .rios-col-city {
    width: 5.5rem;
}

.rios-list-export.rios-export-loading,
.rios-list-export.disabled {
    pointer-events: none;
    opacity: 0.65;
}

/* Data-table pages: match dashboard list card shell */
.card.rios-data-table-card {
    border-radius: var(--tb-border-radius-lg, 0.5rem);
}

.card.rios-data-table-card > .card-body > .d-flex.flex-wrap.justify-content-between.align-items-center.gap-2.mt-3 {
    padding-top: 0.75rem;
    margin-top: 0.75rem !important;
    border-top: 1px solid var(--tb-border-color-translucent, rgba(0, 0, 0, 0.06));
}

/* SweetAlert2 (delete confirm): space between Cancel and Delete */
.swal2-actions.rios-swal-actions-gap {
    gap: 0.75rem;
}

/* —— Order details (rios-order-details.html) —— */
.rios-order-details-page .rios-order-micro-label {
    letter-spacing: 0.06em;
}

.rios-order-details-page .rios-order-meta-tile {
    background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
}

.rios-order-details-page .rios-order-details-ticket > .card-header {
    background: linear-gradient(
        180deg,
        rgba(var(--tb-primary-rgb, 139, 52, 119), 0.05) 0%,
        transparent 100%
    );
}

.rios-order-details-page .rios-order-timeline__item {
    position: relative;
    padding: 0 0 1.25rem 1.5rem;
    margin: 0;
}

.rios-order-details-page .rios-order-timeline__item:last-child {
    padding-bottom: 0;
}

.rios-order-details-page .rios-order-timeline__item::after {
    content: "";
    position: absolute;
    left: 0.2rem;
    top: 0.3rem;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #c9ced6;
    z-index: 1;
}

.rios-order-details-page .rios-order-timeline__item--done::after {
    border-color: var(--tb-primary, #8b3477);
    background: var(--tb-primary, #8b3477);
    box-shadow: inset 0 0 0 2px #fff;
}

.rios-order-details-page .rios-order-timeline__item--current::after {
    border-color: var(--tb-primary, #8b3477);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(var(--tb-primary-rgb, 139, 52, 119), 0.22);
}

.rios-order-details-page .rios-order-timeline__item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 0.4375rem;
    top: 0.95rem;
    bottom: 0.15rem;
    width: 2px;
    background: #e2e5ea;
}

/* —— Revenue page KPI strip (rios-revenue.html) —— */
.rios-revenue-kpi-icon {
    margin-top: 0.1rem;
}

.rios-revenue-kpi-icon .avatar-title {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
}

/* —— Header notifications dropdown —— */
/* Do not use max-width: 100% — parent .dropdown is only as wide as the bell button and would shrink the panel. */
.topbar-head-dropdown .rios-notifications-panel {
    width: min(30rem, calc(100vw - 1.25rem));
    min-width: min(280px, calc(100vw - 1.5rem));
    max-width: none !important;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.12) !important;
}

.topbar-head-dropdown .rios-notifications-panel__head {
    background: #fff;
}

.topbar-head-dropdown .rios-notifications-mark-read {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--tb-primary, #8b3477) !important;
}

.topbar-head-dropdown .rios-notifications-mark-read:hover {
    color: var(--tb-primary-text-emphasis, #6d285e) !important;
}

.topbar-head-dropdown .rios-notification-row {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    transition: background-color 0.12s ease;
}

.topbar-head-dropdown .rios-notification-row:last-of-type {
    border-bottom: none;
}

.topbar-head-dropdown .rios-notification-row:hover {
    background-color: rgba(var(--tb-primary-rgb, 139, 52, 119), 0.05) !important;
}

.topbar-head-dropdown .rios-notification-row:focus-visible {
    outline: 2px solid rgba(var(--tb-primary-rgb, 139, 52, 119), 0.45);
    outline-offset: -2px;
    z-index: 1;
}

.topbar-head-dropdown .rios-notification-row--unread {
    background: linear-gradient(
        90deg,
        rgba(var(--tb-primary-rgb, 139, 52, 119), 0.1) 0%,
        rgba(255, 255, 255, 0.96) 42%,
        #fff 100%
    );
}

.topbar-head-dropdown .rios-notification-row__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.15rem;
}

.topbar-head-dropdown .rios-notification-row__icon--warn {
    background: rgba(var(--tb-warning-rgb, 246, 183, 73), 0.2);
    color: var(--tb-warning-text-emphasis, #9a6b12);
}

.topbar-head-dropdown .rios-notification-row__icon--ok {
    background: rgba(var(--tb-success-rgb, 45, 203, 115), 0.18);
    color: var(--tb-success-text-emphasis, #1a8a4a);
}

.topbar-head-dropdown .rios-notification-row__icon--info {
    background: rgba(var(--tb-primary-rgb, 139, 52, 119), 0.12);
    color: var(--tb-primary, #8b3477);
}

.topbar-head-dropdown .rios-notifications-panel__foot {
    background-color: #f4f6f9 !important;
}

/* -------------------------------------------------------------------------- */
/* Header AI drawer — Cursor-style assistant panel                             */
/* -------------------------------------------------------------------------- */

.rios-header-ai-offcanvas {
    --rios-ai-chat-bg: #f4f5f7;
    --rios-ai-chat-border: rgba(80, 95, 112, 0.14);
    width: min(26.5rem, 100vw - 1rem) !important;
    border-left: 1px solid var(--rios-ai-chat-border) !important;
    background: var(--rios-ai-chat-bg);
}

.rios-header-ai-offcanvas .offcanvas-header.rios-ai-chat-tabbar {
    background: #fff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.rios-ai-chat-thread-bg {
    background: var(--rios-ai-chat-bg) !important;
}

.rios-ai-msg-user-bubble {
    max-width: 100%;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 0.5rem;
    padding: 0.65rem 2rem 0.65rem 0.75rem;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.rios-ai-msg-reply {
    position: absolute;
    right: 0.35rem;
    bottom: 0.25rem;
    color: #9aa3af !important;
    line-height: 1;
}

.rios-ai-msg-reply:hover {
    color: #505f70 !important;
}

.rios-ai-answer-md strong {
    font-weight: 600;
    color: var(--tb-body-color, #212529);
}

.rios-ai-chat-composer {
    box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.04);
}

.rios-ai-chat-examples-label {
    letter-spacing: 0.06em;
}

.rios-ai-chat-example-chip {
    font-size: 0.8125rem;
    line-height: 1.35;
    color: #3d4450 !important;
    background: #f0f1f4 !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    border-radius: 0.5rem !important;
    padding: 0.45rem 0.65rem !important;
    white-space: normal;
}

.rios-ai-chat-example-chip:hover {
    background: #e8eaef !important;
    border-color: rgba(var(--tb-primary-rgb, 139, 52, 119), 0.25) !important;
    color: var(--tb-primary, #8b3477) !important;
}

.rios-ai-chat-input {
    border-radius: 0.625rem !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    font-size: 0.875rem;
    resize: none;
    background: #fff !important;
}

.rios-ai-chat-input:focus {
    border-color: rgba(80, 95, 112, 0.35) !important;
    box-shadow: 0 0 0 0.15rem rgba(80, 95, 112, 0.12) !important;
}

.rios-ai-toolbar-pill {
    background: #f0f1f4;
    color: #3d4450;
    border-radius: 999px !important;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
}

.rios-ai-toolbar-select {
    width: auto;
    min-width: 5.25rem;
    border-radius: 0.5rem !important;
    font-size: 0.8125rem;
    background-color: #fff;
}

/* Send FAB: override .btn padding/line-height so Remix glyph centers in the circle */
button.btn.rios-ai-chat-send-fab.rounded-circle,
.rios-ai-chat-send-fab.rounded-circle.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem !important;
    min-height: 2.25rem !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box;
    background: var(--tb-primary, #8b3477) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

button.btn.rios-ai-chat-send-fab.rounded-circle:hover,
.rios-ai-chat-send-fab.rounded-circle.btn:hover {
    background: var(--tb-primary-text-emphasis, #6d285e) !important;
    color: #fff !important;
}

button.btn.rios-ai-chat-send-fab.rounded-circle > i,
.rios-ai-chat-send-fab.rounded-circle.btn > i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.05rem !important;
    line-height: 1 !important;
    font-style: normal !important;
    color: #fff !important;
    -webkit-font-smoothing: antialiased;
}

button.btn.rios-ai-chat-send-fab.rounded-circle > i::before,
.rios-ai-chat-send-fab.rounded-circle.btn > i::before {
    color: #fff !important;
    vertical-align: 0;
}

/* RIOS form modals (batch cook, recipe norm) — compact width + 100px */
.modal-dialog.modal-dialog-scrollable.rios-modal-form-tight {
    max-width: calc(40rem + 100px);
}

/* Inline issue / BOM lines (compact table — batch + recipe norm) */
.rios-batch-raw-table-wrap,
.rios-norm-ing-table-wrap {
    background: var(--tb-body-bg, #fff);
}

.rios-batch-raw-table thead th,
.rios-norm-ing-table thead th {
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--tb-secondary-color);
    border-bottom: 1px solid var(--tb-border-color, #dee2e6);
    white-space: nowrap;
}

.rios-batch-raw-table tbody td,
.rios-norm-ing-table tbody td {
    border-color: var(--tb-border-color-translucent, rgba(0, 0, 0, 0.06));
    vertical-align: middle;
}

.rios-batch-raw-table tbody tr:last-child td,
.rios-norm-ing-table tbody tr:last-child td {
    border-bottom: 0;
}

/* Recipe norms list — BOM preview column (numbered lines) */
.rios-dash-list-table .rios-norm-bom-ol {
    margin-bottom: 0;
    padding-left: 1.1rem;
}

.rios-dash-list-table .rios-norm-bom-ol li {
    padding-left: 0.15rem;
    margin-bottom: 0.2rem;
}

.rios-dash-list-table .rios-norm-bom-ol li:last-child {
    margin-bottom: 0;
}

/* —— Orders board: flat, minimal lines, max viewport —— */
/* Keep page-content top padding so toolbar clears the fixed #page-topbar (theme default uses tb-header-height + gutter). */
body.rios-orders-kanban-page .page-content {
    padding-top: calc(var(--tb-header-height, 70px) + var(--tb-grid-gutter-width, 1.25rem)) !important;
    padding-bottom: 0.5rem !important;
}

body.rios-orders-kanban-page .page-content > .container-fluid {
    padding-left: max(0.45rem, env(safe-area-inset-left));
    padding-right: max(0.45rem, env(safe-area-inset-right));
    padding-top: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

body.rios-orders-kanban-page .page-content > .container-fluid > .row:first-of-type {
    display: none !important;
}

@media (min-width: 992px) {
    body.rios-orders-kanban-page #layout-wrapper .main-content {
        min-height: calc(100vh - var(--tb-header-height, 70px));
        display: flex;
        flex-direction: column;
    }

    body.rios-orders-kanban-page .page-content {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
    }
}

body.rios-orders-kanban-page .rios-pos-orders-shell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

body.rios-orders-kanban-page .rios-pos-topbar {
    flex-shrink: 0;
    border-bottom: 1px solid var(--tb-border-color, #e9ebec);
    align-items: flex-end;
}

body.rios-orders-kanban-page .rios-pos-main {
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
}

.rios-pos-view-tabs {
    border-bottom: 1px solid var(--tb-border-color, #e9ebec);
    gap: 0;
}

.rios-pos-view-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    color: var(--tb-secondary-color);
    white-space: nowrap;
    border-radius: 0.35rem 0.35rem 0 0;
    background: transparent;
}

.rios-pos-view-tabs .nav-link:hover {
    color: var(--tb-body-color);
    border-bottom-color: rgba(15, 34, 58, 0.15);
}

.rios-pos-view-tabs .nav-link.active {
    color: var(--tb-body-color);
    font-weight: 600;
    border-bottom-color: var(--tb-primary, #8b3477);
    background: transparent;
}

.rios-pos-view-tabs .nav-item .badge {
    font-size: 0.65rem;
    vertical-align: middle;
}

.rios-pos-orders-shell[data-rios-order-tab="new"] .rios-pos-kanban-scroll > div:nth-child(2),
.rios-pos-orders-shell[data-rios-order-tab="new"] .rios-pos-kanban-scroll > div:nth-child(3) {
    display: none !important;
}

.rios-pos-orders-shell[data-rios-order-tab="new"] .rios-pos-kanban-scroll > div:nth-child(1) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.rios-pos-orders-shell[data-rios-order-tab="processing"] .rios-pos-kanban-scroll > div:nth-child(1),
.rios-pos-orders-shell[data-rios-order-tab="processing"] .rios-pos-kanban-scroll > div:nth-child(3) {
    display: none !important;
}

.rios-pos-orders-shell[data-rios-order-tab="processing"] .rios-pos-kanban-scroll > div:nth-child(2) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.rios-pos-orders-shell[data-rios-order-tab="dispatched"] .rios-pos-kanban-scroll > div:nth-child(1),
.rios-pos-orders-shell[data-rios-order-tab="dispatched"] .rios-pos-kanban-scroll > div:nth-child(2) {
    display: none !important;
}

.rios-pos-orders-shell[data-rios-order-tab="dispatched"] .rios-pos-kanban-scroll > div:nth-child(3) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

#rios-pos-col-new,
#rios-pos-col-prep,
#rios-pos-col-out {
    scroll-margin-top: 6.5rem;
}

body.rios-orders-kanban-page .rios-pos-kanban-root {
    flex: 1 1 auto;
    min-height: 0;
}

body.rios-orders-kanban-page .rios-pos-kanban-board {
    flex: 1 1 auto;
    min-height: 0;
}

body.rios-orders-kanban-page .rios-pos-kanban-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.rios-orders-kanban-page .rios-pos-kanban-scroll > [class*="col-"] {
    display: flex;
    align-items: stretch;
}

body.rios-orders-kanban-page .rios-pos-order-lane {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    margin-top: 0.75rem;
}

/* Match dashboard Inventory / Low stock / Variance alert columns */
body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--inv {
    background: linear-gradient(180deg, rgba(var(--tb-primary-rgb, 139, 52, 119), 0.1) 0%, #fffaf7 100%);
}

body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--stock {
    background: linear-gradient(180deg, rgba(var(--tb-danger-rgb, 220, 53, 69), 0.08) 0%, #fffbfb 100%);
}

body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--var {
    background: linear-gradient(180deg, rgba(var(--tb-warning-rgb, 253, 185, 24), 0.22) 0%, #f2f7fb 100%);
}

body.rios-orders-kanban-page .rios-dash-alert-card .card-body {
    background-color: #fff;
    flex: 1 1 auto;
    min-height: 0;
}

[data-bs-theme="dark"] body.rios-orders-kanban-page .rios-dash-alert-card .card-body {
    background-color: var(--tb-secondary-bg, #1e2228);
}

[data-bs-theme="dark"] body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--inv,
[data-bs-theme="dark"] body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--stock,
[data-bs-theme="dark"] body.rios-orders-kanban-page .rios-dash-alert-card .card-header.rios-dash-alert-card__head--var {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(30, 34, 40, 0.98) 100%);
}

.rios-pos-column-scroll {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
    flex: 1 1 auto;
    max-height: none !important;
    padding-bottom: 0.15rem;
}

@media (max-width: 1199.98px) {
    body.rios-orders-kanban-page .rios-pos-column-scroll {
        max-height: min(48vh, 20rem) !important;
    }
}

.rios-pos-card {
    background: #fff;
}

[data-bs-theme="dark"] .rios-pos-card {
    background: var(--tb-secondary-bg, #1e2228);
    box-shadow: none;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.rios-pos-card-link {
    border-radius: 0.35rem;
}

.rios-pos-card-link:hover .fw-semibold {
    color: var(--tb-primary);
}

.rios-pos-card-body {
    padding: 0.55rem 0.65rem 0.65rem;
}

.rios-pos-card--quiet {
    opacity: 0.97;
}

.rios-pos-card--quiet .rios-pos-card-body {
    padding-bottom: 0.55rem;
}

.rios-pos-platform {
    flex-shrink: 0;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.rios-pos-platform--swiggy {
    background: #fc8019;
}

.rios-pos-platform--zomato {
    background: #e23744;
}

.rios-pos-platform--magicpin {
    background: #6b46c1;
}

.ls-1 {
    letter-spacing: 0.06em;
}

/* AGRI · Profit & Loss (statement + trade scope panels) */
.agri-pnl-filters .form-label {
    letter-spacing: 0.02em;
}

.agri-pnl-filter-row .agri-pnl-filter-item {
    min-width: 9.5rem;
}

.agri-pnl-filter-row .agri-pnl-filter-item:first-child {
    min-width: 19rem;
}

.agri-pnl-filter-row .agri-pnl-date-input {
    min-width: 9.25rem;
}

table.agri-pnl-statement tbody tr.agri-pnl-section td {
    background-color: rgba(var(--tb-body-color-rgb, 33, 37, 41), 0.05);
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--tb-secondary-color);
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

table.agri-pnl-statement td.pnl-indent {
    padding-left: 1.5rem !important;
}

table.agri-pnl-statement td.pnl-amt {
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
    width: 9.5rem;
}

table.agri-pnl-statement tr.agri-pnl-subtotal td {
    border-top: 1px solid rgba(var(--tb-border-color-rgb, 222, 226, 230), 0.9);
    font-weight: 600;
}

table.agri-pnl-statement tr.agri-pnl-highlight td {
    border-top: 1px solid rgba(var(--tb-border-color-rgb, 222, 226, 230), 0.9);
}

table.agri-pnl-statement tr.agri-pnl-grand td {
    border-top: 2px solid rgba(var(--tb-body-color-rgb, 33, 37, 41), 0.2);
    border-bottom: 3px double rgba(var(--tb-body-color-rgb, 33, 37, 41), 0.35);
    font-weight: 700;
}
