.swal2-popup.cp-modal {
    width: min(1060px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 28px);
    padding: 0 !important;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 26px !important;
    overflow: hidden;
    background: #f8fafc !important;
    box-shadow: 0 32px 90px rgba(15, 23, 42, .24) !important;
}
.cp-modal .cp-titulo {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    padding: 24px 30px 8px !important;
    color: #0f172a !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    text-align: left !important;
}
.cp-modal .cp-titulo .material-symbols-outlined {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #4f46e5, #7c3aed);
    box-shadow: 0 9px 22px rgba(79, 70, 229, .26);
}
.cp-modal .cp-cerrar { top: 17px !important; right: 20px !important; color: #64748b !important; }
.cp-modal .cp-contenido { margin: 0 !important; padding: 0 30px 28px !important; color: #334155 !important; text-align: left !important; overflow: auto; }
.cp-encabezado p { margin: 0 0 22px; color: #64748b; font-size: .94rem; }
.cp-buscador { display: grid; grid-template-columns: minmax(310px, 1fr) auto auto; gap: 12px; align-items: end; }
.cp-campo-producto { position: relative; min-width: 0; }
.cp-buscador label { display: grid; gap: 7px; color: #475569; font-size: .76rem; font-weight: 750; letter-spacing: .01em; }
.cp-input-wrap { display: flex; height: 48px; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid #cbd5e1; border-radius: 14px; background: #fff; transition: .18s ease; }
.cp-input-wrap:focus-within { border-color: #6366f1; box-shadow: 0 0 0 4px rgba(99, 102, 241, .12); }
.cp-input-wrap > span { color: #818cf8; }
.cp-input-wrap input { width: 100%; min-width: 0; border: 0; outline: 0; color: #0f172a; background: transparent; font: inherit; font-weight: 650; }
.cp-fechas { display: flex; align-items: end; gap: 7px; }
.cp-fechas > span { margin-bottom: 13px; color: #94a3b8; font-size: 18px; }
.cp-fechas input { width: 138px; height: 48px; box-sizing: border-box; padding: 0 11px; border: 1px solid #cbd5e1; border-radius: 14px; color: #1e293b; background: #fff; font: inherit; font-size: .86rem; font-weight: 650; }
.cp-boton-buscar { display: inline-flex; height: 48px; align-items: center; justify-content: center; gap: 8px; padding: 0 19px; border: 0; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #4f46e5, #6d28d9); font: inherit; font-weight: 750; cursor: pointer; box-shadow: 0 9px 20px rgba(79, 70, 229, .2); transition: .18s ease; }
.cp-boton-buscar:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(79, 70, 229, .28); }
.cp-boton-buscar:disabled { opacity: .62; cursor: wait; transform: none; }
.cp-periodos { display: flex; gap: 6px; margin: 12px 0 20px; }
.cp-periodos button { padding: 7px 12px; border: 1px solid #dbe2ea; border-radius: 999px; color: #64748b; background: rgba(255, 255, 255, .72); font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; }
.cp-periodos button.activo { border-color: #c7d2fe; color: #4338ca; background: #eef2ff; }
.cp-sugerencias { position: absolute; z-index: 20; top: calc(100% + 7px); left: 0; right: 0; padding: 7px; border: 1px solid #dbe2ea; border-radius: 15px; background: #fff; box-shadow: 0 18px 45px rgba(15, 23, 42, .16); }
.cp-sugerencias button { display: flex; width: 100%; align-items: center; gap: 10px; padding: 9px 10px; border: 0; border-radius: 10px; color: #334155; background: transparent; text-align: left; cursor: pointer; }
.cp-sugerencias button:hover { background: #f1f5f9; }
.cp-sugerencias button > span:last-child { display: grid; min-width: 0; }
.cp-sugerencias strong, .cp-sugerencias small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cp-sugerencias small { color: #64748b; }
.cp-progreso { display: flex; align-items: center; gap: 12px; margin: 8px 0 16px; padding: 14px 16px; border: 1px solid #c7d2fe; border-radius: 15px; color: #3730a3; background: #eef2ff; }
.cp-progreso > div { display: grid; gap: 2px; }
.cp-progreso small { color: #6366f1; }
.cp-spinner { width: 21px; height: 21px; border: 3px solid #c7d2fe; border-top-color: #4f46e5; border-radius: 50%; animation: cp-girar .75s linear infinite; }
@keyframes cp-girar { to { transform: rotate(360deg); } }
.cp-resumen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 20px; }
.cp-resumen article { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid #e2e8f0; border-radius: 15px; background: #fff; }
.cp-resumen article > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 10px; color: #4f46e5; background: #eef2ff; font-size: 19px; }
.cp-resumen article div { display: grid; min-width: 0; }
.cp-resumen strong { overflow: hidden; color: #0f172a; font-size: 1.02rem; text-overflow: ellipsis; white-space: nowrap; }
.cp-resumen small { color: #64748b; font-size: .7rem; font-weight: 650; }
.cp-resultados-barra { display: flex; align-items: center; justify-content: space-between; margin: 0 2px 10px; }
.cp-resultados-barra > strong { color: #334155; font-size: .86rem; }
.cp-resultados-barra button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid #dbe2ea; border-radius: 10px; color: #475569; background: #fff; font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; }
.cp-resultados-barra button:disabled { opacity: .42; cursor: default; }
.cp-resultados { min-height: 210px; }
.cp-inicio, .cp-vacio { display: grid; min-height: 210px; place-items: center; align-content: center; gap: 6px; border: 1px dashed #cbd5e1; border-radius: 18px; color: #64748b; text-align: center; background: rgba(255,255,255,.55); }
.cp-inicio > span, .cp-vacio > span { font-size: 36px; color: #818cf8; }
.cp-inicio strong, .cp-vacio strong { color: #334155; }
.cp-inicio p, .cp-vacio p { margin: 0; font-size: .85rem; }
.cp-lista-clientes { display: grid; gap: 9px; }
.cp-cliente { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; }
.cp-cliente-cabecera { display: grid; width: 100%; grid-template-columns: 42px minmax(170px, 1fr) 76px 76px 118px 24px; align-items: center; gap: 10px; padding: 13px 15px; border: 0; color: #334155; background: #fff; text-align: left; cursor: pointer; }
.cp-cliente-cabecera:hover { background: #f8fafc; }
.cp-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: #4338ca; background: #eef2ff; font-size: .76rem; font-weight: 850; }
.cp-cliente-identidad, .cp-cliente-metrica, .cp-cliente-fecha { display: grid; min-width: 0; }
.cp-cliente-identidad strong { overflow: hidden; color: #0f172a; text-overflow: ellipsis; white-space: nowrap; }
.cp-cliente-identidad small, .cp-cliente-metrica small, .cp-cliente-fecha small { color: #64748b; font-size: .68rem; }
.cp-cliente-metrica strong { color: #334155; }
.cp-cliente-fecha strong { color: #334155; font-size: .78rem; }
.cp-chevron { transition: transform .2s ease; }
.cp-cliente-cabecera[aria-expanded="true"] .cp-chevron { transform: rotate(180deg); }
.cp-compras { border-top: 1px solid #eef2f7; background: #f8fafc; }
.cp-compra { display: grid; width: 100%; grid-template-columns: 34px minmax(0, 1fr) auto 22px; align-items: center; gap: 10px; padding: 12px 17px 12px 24px; border: 0; border-bottom: 1px solid #eef2f7; color: #475569; background: transparent; text-align: left; cursor: pointer; }
.cp-compra:last-child { border-bottom: 0; }
.cp-compra:hover { background: #f1f5f9; }
.cp-compra-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: #0f766e; background: #ccfbf1; font-size: 17px; }
.cp-compra-detalle { display: grid; min-width: 0; }
.cp-compra-detalle strong { overflow: hidden; color: #334155; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.cp-compra-detalle small { color: #64748b; font-size: .68rem; }
.cp-compra-total { color: #0f172a; font-size: .8rem; font-weight: 800; }
[data-theme="dark"] .swal2-popup.cp-modal { border-color: #334155; background: #0f172a !important; }
[data-theme="dark"] .cp-modal .cp-titulo, [data-theme="dark"] .cp-input-wrap input { color: #f8fafc !important; }
[data-theme="dark"] .cp-input-wrap, [data-theme="dark"] .cp-fechas input, [data-theme="dark"] .cp-cliente, [data-theme="dark"] .cp-cliente-cabecera, [data-theme="dark"] .cp-resumen article { border-color: #334155; color: #cbd5e1; background: #1e293b; }
[data-theme="dark"] .cp-cliente-cabecera:hover, [data-theme="dark"] .cp-compras, [data-theme="dark"] .cp-compra:hover { background: #172033; }
[data-theme="dark"] .cp-cliente-identidad strong, [data-theme="dark"] .cp-resumen strong, [data-theme="dark"] .cp-compra-detalle strong, [data-theme="dark"] .cp-compra-total { color: #f8fafc; }
@media (max-width: 820px) {
    .swal2-popup.cp-modal { width: calc(100vw - 14px) !important; max-height: calc(100vh - 14px); border-radius: 20px !important; }
    .cp-modal .cp-titulo { padding: 18px 18px 7px !important; font-size: 1.15rem !important; }
    .cp-modal .cp-contenido { padding: 0 16px 20px !important; }
    .cp-buscador { grid-template-columns: 1fr; }
    .cp-fechas { display: grid; grid-template-columns: 1fr 18px 1fr; }
    .cp-fechas input { width: 100%; }
    .cp-resumen { grid-template-columns: repeat(2, 1fr); }
    .cp-cliente-cabecera { grid-template-columns: 42px minmax(0, 1fr) 58px 22px; }
    .cp-cliente-metrica:nth-of-type(3), .cp-cliente-fecha { display: none; }
    .cp-compra { padding-left: 13px; }
}
