/* BusinessConnect — bloque de estilo de Pages/BusinessConnect/Pages/ConnectProductos.razor (verbatim). */
    .ce-page-subtitle { color:#6b7280; font-size:13px; margin:2px 0 0; }
    .ce-alert-error { background:#fee2e2; color:#991b1b; border-radius:8px; padding:10px 14px; font-size:13px; margin-bottom:12px; }
    .ce-code { font-weight:600; }
    .ce-muted { color:#9ca3af; font-size:12.5px; }
    .ce-precio-strike { text-decoration:line-through; color:#9ca3af; font-size:12px; }
    .ce-precio-shown { font-weight:700; }
    .ce-badge-oferta { background:#fff1e0; color:#9a4b00; font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:999px; margin-left:6px; }
    .ce-imgs-count { color:#6b7280; font-size:12.5px; }

    .ce-switch { position:relative; display:inline-block; width:36px; height:20px; }
    .ce-switch input { opacity:0; width:0; height:0; position:absolute; }
    .ce-switch-track { position:absolute; inset:0; background:#cbd5e1; border-radius:999px; cursor:pointer; transition:background .15s; }
    .ce-switch-track::before { content:""; position:absolute; width:15px; height:15px; left:2.5px; top:2.5px; background:#fff; border-radius:50%; transition:transform .15s; box-shadow:0 1px 2px rgba(0,0,0,.3); }
    .ce-switch input:checked + .ce-switch-track { background:#16a34a; }
    .ce-switch input:checked + .ce-switch-track::before { transform:translateX(16px); }

    /* ── Filtro de categorías (adaptado de GestionExistencias.razor .inv-tree) ── */
    .ce-body-grid { display:grid; grid-template-columns:190px 1fr; gap:12px; align-items:start; }
    @media (max-width: 760px) { .ce-body-grid { grid-template-columns:1fr; } }

    .ce-tree {
        background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:12px 10px;
        position:sticky; top:8px; box-shadow:0 1px 3px rgba(0,0,0,.06);
    }
    .ce-tree-title {
        display:flex; align-items:center; justify-content:space-between;
        font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
        color:#6b7280; margin-bottom:8px; padding:0 4px;
    }
    .ce-tree-clear { border:none; background:transparent; cursor:pointer; color:#9ca3af; padding:3px; border-radius:4px; }
    .ce-tree-clear:hover:not(:disabled) { color:var(--em-cobalt); background:var(--em-cobalt-subtle); }
    .ce-tree-clear:disabled { opacity:.35; cursor:default; }

    .ce-tree-node {
        display:flex; align-items:center; gap:6px; padding:6px 6px; border-radius:6px; cursor:pointer;
        font-size:12px; color:#1f2937; transition:background .12s;
    }
    .ce-tree-node:hover { background:var(--em-cobalt-pale, #f3f6fc); }
    .ce-tree-node.active { background:var(--em-cobalt-subtle); color:var(--em-cobalt-deep); font-weight:600; }
    .ce-tree-node i { font-size:9px; color:#9ca3af; flex-shrink:0; }
    .ce-tree-node.active i { color:var(--em-cobalt-deep); }
    .ce-tree-node span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

    .ce-tree-skeleton { height:24px; border-radius:6px; margin-bottom:4px; background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%); background-size:200% 100%; animation:ce-tree-shimmer 1.2s infinite; }
    @keyframes ce-tree-shimmer { 0% { background-position:200% 0; } 100% { background-position:-200% 0; } }
    .ce-tree-error { color:#dc2626; font-size:11.5px; padding:0 4px; }
    .ce-tree-empty { color:#9ca3af; font-size:11.5px; padding:0 4px; }

    .ce-main { min-width:0; }
