/* CIM UI 1.9.3 — role-aware cabinet geometry.
 * The configured width must drive the grid column and the physical sidebar together;
 * otherwise a wider Seller/Manager rail overlays the workspace. */
.cim-client-app { --cim-app-sidebar-width-current:var(--cim-app-sidebar-width-buyer,var(--cim-app-sidebar-width,220px)); }
.cim-seller-app { --cim-app-sidebar-width-current:var(--cim-app-sidebar-width-seller,var(--cim-app-sidebar-width,230px)); }
.cim-mw-shell { --cim-app-sidebar-width-current:var(--cim-app-sidebar-width-manager,var(--cim-app-sidebar-width,260px)); }

.cim-app-shell {
    min-height:100vh;
    display:grid;
    grid-template-columns:var(--cim-app-sidebar-width-current,var(--cim-app-sidebar-width)) minmax(0,1fr);
    background:var(--cim-color-bg-page);
    color:var(--cim-color-text);
    font-family:var(--cim-font-family);
    transition:grid-template-columns var(--cim-app-sidebar-transition);
}
.cim-app-navigation-open { overflow:hidden; }
.cim-app-shell.is-sidebar-collapsed { grid-template-columns:var(--cim-app-sidebar-collapsed-width) minmax(0,1fr); }
.cim-app-sidebar {
    position:sticky;
    z-index:80;
    top:0;
    align-self:start;
    height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    width:var(--cim-app-sidebar-width-current,var(--cim-app-sidebar-width));
    border-right:1px solid var(--cim-color-border);
    background:#fff;
    transition:width var(--cim-app-sidebar-transition),box-shadow var(--cim-app-sidebar-transition);
}
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar { width:var(--cim-app-sidebar-collapsed-width); }
.cim-app-sidebar__head { min-height:var(--cim-app-topbar-height); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:0; }
.cim-app-sidebar__brand { display:flex; align-items:center; min-width:0; text-decoration:none!important; }
.cim-app-sidebar__brand img { display:block; width:112px; max-height:46px; object-fit:contain; object-position:left center; transition:width var(--cim-app-sidebar-transition),opacity var(--cim-transition-fast); }
.cim-app-sidebar-toggle,.cim-app-mobile-toggle { display:grid; place-items:center; flex:0 0 auto; width:40px; height:40px; padding:0; border:1px solid var(--cim-color-border); border-radius:11px; background:#fff; color:var(--cim-color-heading); cursor:pointer; }
.cim-app-sidebar-toggle:hover,.cim-app-mobile-toggle:hover { border-color:var(--cim-color-border-strong); background:var(--cim-color-surface-hover); }
.cim-app-sidebar-toggle:focus-visible,.cim-app-mobile-toggle:focus-visible { outline:3px solid rgba(var(--cim-orange-rgb),.14); outline-offset:2px; }
.cim-app-sidebar-toggle svg { width:19px; height:19px; transition:transform var(--cim-app-sidebar-transition); }
.cim-app-sidebar__nav { flex:1; overflow-x:hidden; overflow-y:auto; padding:18px 12px; scrollbar-width:thin; }
.cim-app-nav { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.cim-app-nav li { min-width:0; margin:0; padding:0; list-style:none; }
.cim-app-nav a { position:relative; display:flex; align-items:center; gap:13px; min-height:44px; padding:8px 12px; border-radius:var(--cim-app-nav-radius); color:var(--cim-color-text-secondary); font-size:14px; font-weight:560; line-height:1.25; text-decoration:none!important; white-space:nowrap; transition:background var(--cim-transition-fast),color var(--cim-transition-fast); }
.cim-app-nav a:hover { background:var(--cim-color-surface-hover); color:var(--cim-color-heading); }
.cim-app-nav a[aria-current="page"],.cim-app-nav .current-menu-item > a { background:var(--cim-app-nav-active-bg); color:var(--cim-color-heading); font-weight:650; }
.cim-app-nav a[aria-current="page"]::before,.cim-app-nav .current-menu-item > a::before { content:""; position:absolute; left:0; top:12px; bottom:12px; width:3px; border-radius:0 3px 3px 0; background:var(--cim-color-orange); }
.cim-app-nav__icon { display:grid; place-items:center; flex:0 0 auto; width:22px; height:22px; color:currentColor; }
.cim-app-nav__icon svg { display:block; width:21px; height:21px; }
.cim-app-nav__label { min-width:0; overflow:hidden; text-overflow:ellipsis; opacity:1; transition:opacity var(--cim-transition-fast); }
.cim-app-sidebar__footer { display:grid; gap:10px; padding:14px 12px; border-top:0; }
.cim-app-sidebar__utilities { display:flex; align-items:center; gap:8px; min-width:0; }
.cim-app-sidebar__theme { min-width:0; flex:1; }
.cim-app-sidebar__theme:empty { display:none; }
.cim-app-sidebar__theme .cim-theme-toggle { width:100%; justify-content:flex-start; }
.cim-app-user { display:flex; align-items:center; gap:11px; min-height:48px; padding:6px 8px; border-radius:12px; }
.cim-app-user__avatar { display:grid; place-items:center; flex:0 0 auto; width:36px; height:36px; overflow:hidden; border-radius:50%; background:var(--cim-color-bg-page); color:var(--cim-color-heading); font-size:13px; font-weight:700; }
.cim-app-user__avatar img { width:100%; height:100%; object-fit:cover; }
.cim-app-user__meta { min-width:0; display:grid; line-height:1.25; opacity:1; transition:opacity var(--cim-transition-fast); }
.cim-app-user__meta strong,.cim-app-user__meta span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cim-app-user__meta strong { color:var(--cim-color-heading); font-size:13px; }
.cim-app-user__meta span { margin-top:2px; color:var(--cim-color-text-muted); font-size:11px; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__brand img { width:0; opacity:0; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__head { justify-content:center; padding-inline:10px; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar-toggle svg { transform:rotate(180deg); }
.cim-app-shell.is-sidebar-collapsed .cim-app-nav a { justify-content:center; padding-inline:10px; }
.cim-app-shell.is-sidebar-collapsed .cim-app-nav__label,.cim-app-shell.is-sidebar-collapsed .cim-app-user__meta { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); opacity:0; }
.cim-app-shell.is-sidebar-collapsed .cim-app-user { justify-content:center; padding-inline:0; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__utilities { display:grid; justify-items:center; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme { width:40px; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme .cim-theme-toggle { width:40px; padding:0; justify-content:center; }
.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme .cim-theme-toggle__label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.cim-app-shell.is-sidebar-collapsed .cim-app-nav a:hover::after,.cim-app-shell.is-sidebar-collapsed .cim-app-nav a:focus-visible::after { content:attr(data-label); position:absolute; z-index:90; left:calc(100% + 10px); top:50%; transform:translateY(-50%); max-width:240px; padding:8px 10px; border:1px solid var(--cim-color-border); border-radius:9px; background:#fff; color:var(--cim-color-heading); box-shadow:var(--cim-shadow-md); font-size:12px; white-space:nowrap; pointer-events:none; }
.cim-app-workspace { min-width:0; }
.cim-app-topbar { position:sticky; z-index:60; top:0; min-height:var(--cim-app-topbar-height); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px var(--cim-app-page-padding); border-bottom:1px solid var(--cim-color-border); border-bottom-left-radius:22px; background:rgba(255,255,255,.94); box-shadow:0 8px 22px rgba(18,29,36,.025); backdrop-filter:blur(12px); }
.cim-app-topbar__start,.cim-app-topbar__actions { display:flex; align-items:center; gap:12px; min-width:0; }
.cim-app-mobile-toggle { display:none; }
.cim-app-breadcrumb { min-width:0; }
.cim-app-breadcrumb small { display:block; margin-bottom:2px; color:var(--cim-color-text-muted); font-size:11px; }
.cim-app-breadcrumb strong { display:block; overflow:hidden; color:var(--cim-color-heading); font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.cim-app-topbar__link { display:grid; place-items:center; min-width:40px; height:40px; padding:0 12px; border:1px solid var(--cim-color-border); border-radius:11px; background:#fff; color:var(--cim-color-heading); text-decoration:none!important; }
.cim-app-topbar__link:hover { border-color:var(--cim-color-border-strong); background:var(--cim-color-surface-hover); }
.cim-app-content { width:min(100%,var(--cim-app-content-max)); margin:0 auto; padding:var(--cim-app-page-padding); }
.cim-app-content > :first-child { margin-top:0; }
.cim-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.cim-page-head h1 { margin:0; color:var(--cim-color-heading); font-size:clamp(27px,2.2vw,36px); line-height:1.16; letter-spacing:-.025em; }
.cim-page-head p { max-width:760px; margin:7px 0 0; color:var(--cim-color-text-secondary); }
.cim-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.cim-stat-card { min-width:0; padding:20px; border:1px solid var(--cim-color-border); border-radius:16px; background:#fff; box-shadow:var(--cim-shadow-xs); }
.cim-stat-card__label { color:var(--cim-color-text-secondary); font-size:12px; }
.cim-stat-card__value { display:block; margin-top:8px; color:var(--cim-color-heading); font-size:28px; font-weight:700; line-height:1; letter-spacing:-.02em; }
.cim-stat-card__meta { display:block; margin-top:8px; color:var(--cim-color-text-muted); font-size:11px; }
.cim-panel { padding:var(--cim-app-panel-padding); border:1px solid var(--cim-color-border); border-radius:var(--cim-app-panel-radius); background:#fff; box-shadow:var(--cim-shadow-xs); }
.cim-panel + .cim-panel { margin-top:18px; }
.cim-panel__head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.cim-panel__head h2,.cim-panel__head h3 { margin:0; color:var(--cim-color-heading); }
.cim-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.cim-toolbar__group { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.cim-app-shell .cim-ui-table-wrap { border-radius:14px; box-shadow:none; }
.cim-app-shell .woocommerce-MyAccount-navigation { display:none!important; }
.cim-app-shell .woocommerce-MyAccount-content { float:none!important; width:100%!important; }
.cim-app-shell .woocommerce-message,.cim-app-shell .woocommerce-info,.cim-app-shell .woocommerce-error,.cim-app-shell .notice,.cim-app-shell .cim-notice { position:relative; display:block; margin:0 0 16px!important; padding:14px 16px 14px 46px!important; border:1px solid #d8e6ec!important; border-left:3px solid var(--cim-color-info)!important; border-radius:12px!important; background:var(--cim-color-info-bg)!important; color:var(--cim-color-text)!important; box-shadow:none!important; list-style:none!important; }
.cim-app-shell .woocommerce-message::before,.cim-app-shell .woocommerce-info::before,.cim-app-shell .woocommerce-error::before { left:16px!important; top:14px!important; color:var(--cim-color-info)!important; }
.cim-app-shell .woocommerce-message { border-color:#d7ebdf!important; border-left-color:var(--cim-color-success)!important; background:var(--cim-color-success-bg)!important; }
.cim-app-shell .woocommerce-message::before { color:var(--cim-color-success)!important; }
.cim-app-shell .woocommerce-error { border-color:#f0d4d4!important; border-left-color:var(--cim-color-danger)!important; background:var(--cim-color-danger-bg)!important; }
.cim-app-shell .woocommerce-error::before { color:var(--cim-color-danger)!important; }
.cim-app-shell .woocommerce-message .button,.cim-app-shell .woocommerce-info .button { margin:-5px 0 -5px 12px; }
.cim-app-empty { display:grid; justify-items:center; padding:52px 24px; text-align:center; }
.cim-app-empty__icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:16px; border-radius:16px; background:var(--cim-color-bg-page); color:var(--cim-color-text-secondary); }
.cim-app-empty h3 { margin:0; color:var(--cim-color-heading); }
.cim-app-empty p { max-width:500px; margin:7px 0 0; color:var(--cim-color-text-secondary); }
.cim-app-sidebar-backdrop { display:none; }
@media(max-width:1180px){
    .cim-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px){
    .cim-app-shell,.cim-app-shell.is-sidebar-collapsed { display:block; }
    .cim-app-sidebar,.cim-app-shell.is-sidebar-collapsed .cim-app-sidebar { position:fixed; top:0; bottom:0; left:0; width:min(86vw,292px); height:100dvh; transform:translateX(-105%); box-shadow:0 24px 70px rgba(18,26,31,.2); transition:transform var(--cim-app-sidebar-transition); }
    .cim-app-shell.is-sidebar-open .cim-app-sidebar { transform:none; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__brand img { width:112px; opacity:1; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__head { justify-content:space-between; padding-inline:16px; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-nav a { justify-content:flex-start; padding-inline:12px; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-nav__label,.cim-app-shell.is-sidebar-collapsed .cim-app-user__meta { position:static; width:auto; height:auto; overflow:hidden; clip:auto; opacity:1; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-user { justify-content:flex-start; padding-inline:8px; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__utilities { display:flex; justify-items:stretch; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme { width:auto; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme .cim-theme-toggle { width:100%; padding-inline:12px; justify-content:flex-start; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-sidebar__theme .cim-theme-toggle__label { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
    .cim-app-shell.is-sidebar-collapsed .cim-app-nav a::after { display:none; }
    .cim-app-sidebar-toggle { transform:rotate(180deg); }
    .cim-app-mobile-toggle { display:grid; }
    .cim-app-sidebar-backdrop { position:fixed; z-index:70; inset:0; display:block; border:0; background:var(--cim-overlay-bg); opacity:0; visibility:hidden; transition:opacity var(--cim-transition-fast),visibility var(--cim-transition-fast); }
    .cim-app-shell.is-sidebar-open .cim-app-sidebar-backdrop { opacity:1; visibility:visible; }
    .cim-app-topbar { padding-inline:var(--cim-app-page-padding); border-bottom-left-radius:0; }
    .cim-app-content { padding:var(--cim-app-page-padding); }
}
@media(max-width:620px){
    .cim-app-topbar { min-height:64px; padding:10px var(--cim-app-page-padding); }
    .cim-app-content { padding:var(--cim-app-page-padding); }
    .cim-page-head { align-items:stretch; flex-direction:column; gap:14px; }
    .cim-page-head__actions { display:grid; grid-template-columns:1fr; }
    .cim-stat-grid { grid-template-columns:1fr; gap:10px; }
    .cim-stat-card { padding:17px; }
    .cim-panel { padding:var(--cim-app-panel-padding); border-radius:var(--cim-app-panel-radius); }
    .cim-panel__head { flex-direction:column; }
    .cim-app-topbar__link--label span { display:none; }
}
@media(prefers-reduced-motion:reduce){
    .cim-app-shell,.cim-app-sidebar,.cim-app-sidebar-toggle svg,.cim-app-sidebar__brand img,.cim-app-nav__label,.cim-app-user__meta,.cim-app-sidebar-backdrop { transition:none; }
}
