
.cmpr-wrap{padding:18px;font-family:Arial,sans-serif;max-width:1280px;margin:auto}.cmpr-hidden{display:none!important}.cmpr-toolbar,.cmpr-head,.cmpr-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.cmpr-toolbar{justify-content:space-between;margin-bottom:15px}.cmpr-head{margin-bottom:18px;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fff}.cmpr-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.cmpr-box{border:1px solid #ddd;border-radius:10px;padding:14px;background:#fff}.cmpr-card,.cmpr-msg{border:1px solid #eee;border-radius:8px;padding:10px;margin-bottom:10px;background:#fafafa}.cmpr-btn{background:#c62828;color:#fff;padding:9px 12px;border:none;border-radius:7px;text-decoration:none;display:inline-block;cursor:pointer}.cmpr-secondary{background:#455a64}input,select,textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid #ccc;border-radius:7px;margin:4px 0 10px}textarea{min-height:80px}.cmpr-sale label{font-weight:bold;margin-top:8px;display:block}.cmpr-tags{min-height:32px;margin-bottom:10px}.cmpr-tag{display:inline-block;background:#e3f2fd;border:1px solid #90caf9;border-radius:20px;padding:6px 8px;margin:4px}.cmpr-tag button{border:none;background:transparent;font-weight:bold;cursor:pointer}.cmpr-modal{position:fixed;z-index:99999;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center}.cmpr-modal-inner{background:#fff;border-radius:12px;padding:16px;width:min(94vw,520px)}#cmpr-reader{width:100%;min-height:300px}.cmpr-help{font-size:13px;color:#555}#cmpr-login{max-width:380px;margin:30px auto;border:1px solid #ddd;border-radius:12px;padding:20px;background:#fff}.cmpr-check{display:flex;align-items:center;gap:6px;font-weight:normal}.cmpr-check input{width:auto}.cmpr-stockline{padding:8px;background:#fffde7;border:1px solid #fff59d;border-radius:8px;margin-bottom:10px}@media(max-width:900px){.cmpr-grid{grid-template-columns:1fr}.cmpr-head{display:block}.cmpr-toolbar{display:block}}

.cmpr-cc-box{padding:10px;border-radius:8px;margin:8px 0 12px;font-size:14px}.cmpr-cc-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.cmpr-cc-warn{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-weight:600}

.cmpr-grid-main{grid-template-columns:1fr 1fr}
.cmpr-client-modal-inner{width:min(96vw,900px);max-height:92vh;overflow:auto}
.cmpr-scan-block{padding:10px;border:1px solid #eee;border-radius:10px;margin:10px 0;background:#fafafa}
.cmpr-scan-feedback{padding:10px;margin:8px 0;border-radius:8px;background:#f5f5f5;border:1px solid #ddd;text-align:center;font-weight:700;transition:.15s}
.cmpr-scan-feedback-ok{background:#dcfce7!important;border-color:#22c55e!important;color:#166534!important;transform:scale(1.03)}
@media(max-width:900px){.cmpr-grid-main{grid-template-columns:1fr}.cmpr-client-modal-inner{width:96vw}}

/* POS Reparto 0.7.0 - flujo de ruta */
.cmpr-round-title{
    margin:18px 0 8px;
    padding:8px 10px;
    border-bottom:2px solid #222;
    font-size:16px;
}

.cmpr-customer{
    position:relative;
    padding-left:46px;
}

.cmpr-drag-handle{
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:26px;
    padding:8px 2px;
    font-size:24px;
    line-height:1;
    text-align:center;
    cursor:grab;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
}

.cmpr-drag-handle:active{
    cursor:grabbing;
}

.cmpr-dragging{
    opacity:.45;
}

.cmpr-drop-target{
    border:2px dashed #222;
}

.cmpr-route-order{
    position:absolute;
    top:10px;
    right:10px;
    min-width:32px;
    height:32px;
    padding:0 7px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #222;
    border-radius:999px;
    background:#fff;
    font-weight:700;
}

.cmpr-customer-route-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}

.cmpr-customer-route-actions .cmpr-btn{
    margin:0;
}

@media (max-width:700px){
    .cmpr-customer-route-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .cmpr-customer-route-actions .cmpr-btn{
        width:100%;
        text-align:center;
    }
}


/* POS Reparto 0.7.1 - próximo cliente / navegación */
.cmpr-route-flow{
    margin:16px 0;
}

.cmpr-route-progress{
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
}

.cmpr-next-client-box{
    padding:16px;
    border:2px solid #222;
    border-radius:10px;
    background:#fff;
}

.cmpr-next-client-box small{
    display:block;
    margin-bottom:4px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
}

.cmpr-next-client-box strong{
    display:block;
    font-size:21px;
    line-height:1.2;
}

.cmpr-next-client-box > span{
    display:block;
    margin-top:5px;
}

.cmpr-next-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}

.cmpr-gps-status{
    margin-top:10px;
    font-size:13px;
}

.cmpr-customer-visited{
    opacity:.65;
}

.cmpr-visited-label{
    display:inline-block;
    margin-bottom:7px;
    padding:3px 7px;
    border:1px solid #222;
    border-radius:4px;
    font-size:10px;
    font-weight:700;
}

@media (max-width:700px){
    .cmpr-next-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .cmpr-next-actions .cmpr-btn{
        width:100%;
    }

    #cmpr-navigate-next{
        min-height:50px;
        font-size:16px;
    }
}


/* POS Reparto 0.8.0 - productos y cantidades */

.cmpr-toolbar-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.cmpr-sale-products-block,
.cmpr-envases-block{
    margin:14px 0;
    padding:14px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fafafa;
}

.cmpr-product-sale-card{
    padding:12px;
    margin-bottom:10px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
}

.cmpr-product-sale-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
}

.cmpr-product-sale-head small{
    display:block;
    margin-top:4px;
    color:#666;
}

.cmpr-product-stepper,
.cmpr-counter{
    display:flex;
    align-items:center;
    gap:5px;
}

.cmpr-product-stepper input,
.cmpr-counter input{
    width:74px;
    margin:0;
    text-align:center;
    font-size:18px;
    font-weight:700;
}

.cmpr-product-stepper button,
.cmpr-counter-btn{
    width:42px;
    height:42px;
    border:1px solid #bbb;
    border-radius:8px;
    background:#fff;
    font-size:24px;
    cursor:pointer;
}

.cmpr-product-sale-foot{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
}

.cmpr-counter-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.cmpr-counter-card{
    padding:12px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
}

.cmpr-stock-preview{
    margin-top:12px;
    padding:10px;
    border-radius:8px;
    background:#fffde7;
    border:1px solid #fff59d;
}

.cmpr-qr-optional{
    margin-top:14px;
}

.cmpr-qr-optional summary{
    cursor:pointer;
    font-weight:700;
}

.cmpr-total-box{
    margin:16px 0;
    padding:14px;
    text-align:right;
    font-size:22px;
    border:2px solid #222;
    border-radius:10px;
}

.cmpr-products-modal-inner{
    width:min(96vw,850px);
    max-height:92vh;
    overflow:auto;
}

.cmpr-admin-product{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:12px;
    margin-bottom:8px;
    border:1px solid #ddd;
    border-radius:8px;
}

.cmpr-admin-product small{
    display:block;
    color:#666;
    margin:3px 0;
}

.cmpr-tier-row{
    display:grid;
    grid-template-columns:1fr 1fr 44px;
    gap:8px;
    align-items:end;
}

.cmpr-tier-remove{
    height:42px;
    margin-bottom:10px;
    border:1px solid #bbb;
    border-radius:7px;
    background:#fff;
    font-size:22px;
    cursor:pointer;
}

@media(max-width:700px){
    .cmpr-product-sale-head{
        display:block;
    }

    .cmpr-product-stepper{
        margin-top:10px;
    }

    .cmpr-counter-grid{
        grid-template-columns:1fr;
    }

    .cmpr-tier-row{
        grid-template-columns:1fr 1fr 40px;
    }
}


/* POS Reparto 0.9.0 - envases por tipo */

.cmpr-envase-subtitle{
    margin:14px 0 7px;
    font-weight:800;
    font-size:14px;
}

.cmpr-container-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:9px;
    padding:10px 12px;
    margin-bottom:8px;
}

.cmpr-container-row small{
    display:block;
    margin-top:3px;
    color:#666;
}

.cmpr-container-auto{
    min-width:48px;
    text-align:center;
    font-size:21px;
    font-weight:800;
    padding:7px 10px;
    border-radius:8px;
    background:#f2f2f2;
}

.cmpr-container-returned-qty{
    width:70px !important;
    text-align:center;
    font-weight:800;
}

.cmpr-muted{
    color:#777;
    font-size:13px;
}


/* POS Reparto 0.9.3 - resumen sticky de cuenta corriente */

.cmpr-client-summary{
    margin:0 0 10px;
    padding:2px 0 8px;
    line-height:1.35;
}

.cmpr-client-summary strong{
    font-size:17px;
}

.cmpr-client-footer-actions{
    margin-top:16px;
    padding-top:12px;
    border-top:1px solid #e5e7eb;
    display:flex;
    justify-content:flex-end;
}

.cmpr-cc-sticky{
    position:fixed;
    left:50%;
    bottom:max(10px, env(safe-area-inset-bottom));
    transform:translateX(-50%);
    width:min(92vw,860px);
    box-sizing:border-box;
    z-index:100001;
    padding:11px 14px;
    border-radius:10px;
    background:#263238;
    color:#fff;
    box-shadow:0 4px 18px rgba(0,0,0,.3);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-size:15px;
    pointer-events:none;
}

.cmpr-cc-sticky-disabled{
    background:#b91c1c;
    color:#fff;
}

.cmpr-cc-sticky-disabled strong{
    font-size:14px;
}

@media(max-width:600px){
    .cmpr-cc-sticky{
        width:calc(100vw - 18px);
        bottom:max(7px, env(safe-area-inset-bottom));
        padding:10px 12px;
    }

    .cmpr-cc-sticky-disabled{
        display:block;
    }

    .cmpr-cc-sticky-disabled span{
        display:block;
        margin-top:3px;
    }

    .cmpr-client-footer-actions .cmpr-btn{
        width:100%;
    }
}
