/* Late compatibility layer for released CIM cabinets. It contains no business
   rules and can be removed after each plugin consumes semantic tokens natively. */
.cim-mw-shell {
    --cim-mw-panel:var(--cim-color-surface);
    --cim-mw-panel-muted:var(--cim-color-surface-muted);
    --cim-mw-line:var(--cim-color-border);
    --cim-mw-line-strong:var(--cim-color-border-strong);
    --cim-mw-text:var(--cim-color-heading);
    --cim-mw-muted:var(--cim-color-text-secondary);
    --cim-mw-radius:var(--cim-app-panel-radius);
    grid-template-columns:var(--cim-app-sidebar-width-manager,var(--cim-app-sidebar-width,260px)) minmax(0,1fr)!important;
}
.cim-mw-shell.is-sidebar-collapsed { grid-template-columns:var(--cim-app-sidebar-collapsed-width) minmax(0,1fr)!important; }
.cim-mw-sidebar { background:var(--cim-app-sidebar-bg)!important; }
.cim-mw-topbar { min-height:var(--cim-app-topbar-height); background:var(--cim-app-topbar-bg)!important; }
.cim-mw-content { width:min(100%,var(--cim-app-content-max)); margin-inline:auto; padding:var(--cim-app-page-padding)!important; }
.cim-mw-nav a,.cim-mw-nav__disabled { min-height:var(--cim-app-nav-item-height)!important; border-radius:var(--cim-app-nav-radius)!important; font-size:var(--cim-app-nav-font-size)!important; }
.cim-mw-nav a svg,.cim-mw-nav__disabled svg { width:var(--cim-app-nav-icon-size)!important; height:var(--cim-app-nav-icon-size)!important; }
.cim-mw-nav a.is-active,.cim-mw-nav a[aria-current="page"] { background:var(--cim-app-nav-active-bg)!important; color:var(--cim-app-nav-active-color)!important; }
.cim-mw-card,.cim-mw-metric { border-width:var(--cim-card-border-width)!important; border-radius:var(--cim-app-panel-radius)!important; }
.cim-mw-card__body { padding:var(--cim-app-panel-padding)!important; }
.cim-mw-btn { min-height:var(--cim-control-h)!important; border-radius:var(--cim-btn-radius)!important; }
.cim-mw-toolbar input,.cim-mw-toolbar select,.cim-mw-field input,.cim-mw-field select,.cim-mw-field textarea,.cim-mw-product-picker__input { min-height:var(--cim-control-h)!important; border-width:var(--cim-form-border-width)!important; border-radius:var(--cim-form-radius)!important; }

html[data-cim-theme="dark"] .cim-mw-shell :is(
    .cim-mw-sidebar,.cim-mw-sidebar-toggle,.cim-mw-icon-button,.cim-mw-metric,
    .cim-mw-card,.cim-mw-card__head,.cim-mw-btn,.cim-mw-toolbar,.cim-mw-tabs button.is-active,
    .cim-mw-table-wrap,.cim-mw-table,.cim-mw-filter,.cim-mw-empty,.cim-mw-modal__dialog
) { background:var(--cim-color-surface)!important; color:var(--cim-color-text)!important; }
html[data-cim-theme="dark"] .cim-mw-shell :is(
    input,select,textarea,.cim-mw-product-picker__input
) { background:var(--cim-color-surface)!important; color:var(--cim-color-text)!important; border-color:var(--cim-color-border-strong)!important; }
html[data-cim-theme="dark"] .cim-mw-shell :is(.cim-mw-tabs,.cim-mw-empty__icon) { background:var(--cim-color-surface-muted)!important; }
html[data-cim-theme="dark"] .cim-mw-shell :is(.cim-mw-btn--primary,.cim-mw-btn--orange) { background:var(--cim-color-orange)!important; color:#fff!important; }

@media(max-width:920px){
    .cim-mw-shell,.cim-mw-shell.is-sidebar-collapsed { display:block!important; }
}

/* CIM B2B Shell 1.7/1.8 public header bridge. */
.cim-shell-v17 .cim-header,.cim-shell-v18 .cim-header { border-bottom:var(--cim-header-border-width) solid var(--cim-color-border)!important; background:var(--cim-header-bg)!important; box-shadow:0 8px 28px rgba(24,35,43,var(--cim-header-shadow-opacity))!important; }
.cim-shell-v17 .cim-header-inner,.cim-shell-v18 .cim-header-inner { min-height:var(--cim-header-height)!important; padding:var(--cim-header-inner-pad-y) var(--cim-header-inner-pad-x)!important; gap:var(--cim-header-gap)!important; }
.cim-shell-v17 .cim-brand-logo,.cim-shell-v18 .cim-brand-logo { transform:translate(var(--cim-logo-offset-x),var(--cim-logo-offset-y)); }
.cim-shell-v17 .cim-nav-list,.cim-shell-v18 .cim-nav-list { gap:var(--cim-nav-gap)!important; }
.cim-shell-v17 .cim-nav-list a,.cim-shell-v18 .cim-nav-list a { color:var(--cim-nav-color)!important; font-size:var(--cim-font-nav-size)!important; font-weight:var(--cim-nav-weight)!important; line-height:var(--cim-nav-line-height)!important; letter-spacing:var(--cim-nav-letter-spacing)!important; }
.cim-shell-v17 .cim-nav-list a:hover,.cim-shell-v18 .cim-nav-list a:hover { color:var(--cim-nav-hover-color)!important; }
.cim-shell-v17 .cim-nav-list .current-menu-item>a,.cim-shell-v18 .cim-nav-list .current-menu-item>a { color:var(--cim-nav-active-color)!important; }
.cim-shell-v17 .cim-nav-list .sub-menu,.cim-shell-v18 .cim-nav-list .sub-menu { width:var(--cim-nav-dropdown-width)!important; padding:var(--cim-nav-dropdown-padding)!important; border-radius:var(--cim-nav-dropdown-radius)!important; box-shadow:0 18px 48px rgba(24,35,43,var(--cim-nav-dropdown-shadow-opacity))!important; }
.cim-shell-v17 .cim-mobile-panel,.cim-shell-v18 .cim-mobile-panel { right:auto!important; width:min(100%,var(--cim-mobile-menu-width)); padding:var(--cim-mobile-menu-padding)!important; background:var(--cim-mobile-menu-bg)!important; }
.cim-shell-v17 .cim-mobile-panel .cim-nav-list a,.cim-shell-v18 .cim-mobile-panel .cim-nav-list a { min-height:var(--cim-mobile-menu-item-height); border-radius:var(--cim-mobile-menu-item-radius); font-size:var(--cim-mobile-menu-font-size)!important; }
.cim-shell-v17.cim-ui-nav-mobile .cim-primary-nav,.cim-shell-v18.cim-ui-nav-mobile .cim-primary-nav { display:none!important; }
.cim-shell-v17.cim-ui-nav-mobile .cim-mobile-toggle,.cim-shell-v18.cim-ui-nav-mobile .cim-mobile-toggle { display:grid!important; }
.cim-shell-v17.cim-ui-nav-desktop .cim-primary-nav,.cim-shell-v18.cim-ui-nav-desktop .cim-primary-nav { display:flex!important; }
.cim-shell-v17.cim-ui-nav-desktop .cim-mobile-toggle,.cim-shell-v18.cim-ui-nav-desktop .cim-mobile-toggle { display:none!important; }


/* CIM UI 1.9.1 — one table/list token layer for all released cabinets. */
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table-wrap,.cim-seller-table-wrap,.cim-mw-table-wrap,.cim-table-wrap){
    max-width:100%;
    overflow:auto;
    border:var(--cim-table-border-width,1px) solid var(--cim-table-border-color,var(--cim-color-border))!important;
    border-radius:var(--cim-table-radius,14px)!important;
    background:var(--cim-color-surface,#fff)!important;
    box-shadow:none;
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table){
    width:100%;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:transparent!important;
    color:var(--cim-color-text)!important;
    font-size:var(--cim-table-body-font-size,14px)!important;
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) thead th{
    padding:var(--cim-table-cell-padding-y,13px) var(--cim-table-cell-padding-x,16px)!important;
    border:0!important;
    border-bottom:var(--cim-table-border-width,1px) solid var(--cim-table-border-color,var(--cim-color-border))!important;
    background:var(--cim-table-header-bg,var(--cim-color-surface-muted))!important;
    color:var(--cim-color-text-secondary)!important;
    font-size:var(--cim-table-header-font-size,12px)!important;
    font-weight:var(--cim-table-header-weight,650)!important;
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) tbody tr{
    height:var(--cim-table-row-height,54px);
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) tbody td{
    padding:var(--cim-table-cell-padding-y,13px) var(--cim-table-cell-padding-x,16px)!important;
    border:0!important;
    border-bottom:var(--cim-table-border-width,1px) solid var(--cim-table-border-color,var(--cim-color-border))!important;
    background:transparent;
    vertical-align:middle;
    font-size:var(--cim-table-body-font-size,14px)!important;
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) tbody tr:last-child td{border-bottom:0!important}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) tbody tr:nth-child(even):not(.is-error):not(.is-warning) td{
    background:var(--cim-table-zebra-row-bg,transparent);
}
:is(.cim-client-app,.cim-seller-app,.cim-mw-shell,.cim-portal) :is(.cim-ui-table,.cim-seller-table,.cim-mw-table,.cim-table) tbody tr:hover:not(.is-error):not(.is-warning) td{
    background:var(--cim-table-row-hover-bg,var(--cim-color-surface-hover))!important;
}
/* Lists intentionally cover card-like lists only, not order composition/timelines. */
.cim-seller-app .cim-seller-timeline{gap:var(--cim-list-gap,10px)!important}
.cim-seller-app .cim-seller-timeline>li{padding:var(--cim-list-item-padding,14px)!important;border-radius:var(--cim-list-item-radius,12px)!important}
.cim-mw-shell .cim-mw-task-list{gap:var(--cim-list-gap,10px)!important}
.cim-mw-shell .cim-mw-task{padding:var(--cim-list-item-padding,14px)!important;border-radius:var(--cim-list-item-radius,12px)!important}

/* Client orders intentionally become cards on phones; do not let the generic
   desktop table bridge turn them back into table cells. */
@media(max-width:700px){
    .cim-client-app .cim-client-orders-table{
        overflow:visible!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
    }
    .cim-client-app .cim-client-orders-table .cim-ui-table tbody tr{height:auto!important}
    .cim-client-app .cim-client-orders-table .cim-ui-table tbody td{
        padding:0!important;
        border:0!important;
        background:transparent!important;
        font-size:inherit!important;
    }
}
