.x-quotes-page {
    margin-top: -30px;
    padding: 0 0 28px;
    color: #334155;
}

.x-quotes-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #fff;
    border: 1px solid #e7edf4;
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .04);
}

.x-quotes-hero__left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.x-quotes-hero__icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #fff;
    font-size: 18px;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}

.x-quotes-hero h2 {
    margin: 0;
    color: #172033;
    font-size: 20px;
    font-weight: 700;
}

.x-quotes-new-btn {
    min-width: 205px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 14px;
    border: 0;
    border-radius: 13px;
    background: #2563eb;
    color: #fff !important;
    cursor: pointer;
    text-align: left;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .20);
    transition: all .18s ease;
}

.x-quotes-new-btn:hover {
    background: #1d4ed8;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(37, 99, 235, .25);
}

.x-quotes-new-btn__icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .16);
    font-size: 13px;
}

.x-quotes-new-btn strong {
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.x-quotes-new-btn small {
    display: block;
    margin-top: 2px;
    color: rgba(255, 255, 255, .82);
    font-size: 8.5px;
    font-weight: 500;
}

.x-control-kpis--cotizaciones {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.x-control-kpi {
    display: block;
    width: 100%;
    min-height: 128px;
    padding: 15px 17px;
    border: 1px solid #e7edf4;
    border-radius: 20px;
    background: #fff;
    text-align: left;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.x-control-kpi__top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.x-control-kpi__icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.x-control-kpi__title {
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}

.x-control-kpi strong {
    display: block;
    color: #172033;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.05;
}

.x-control-kpi small {
    display: block;
    margin-top: 9px;
    color: #94a3b8;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.3;
}

.x-control-kpi--blue .x-control-kpi__icon {
    background: #eff6ff;
    color: #2563eb;
}

.x-control-kpi--green .x-control-kpi__icon {
    background: #ecfdf5;
    color: #059669;
}

.x-control-kpi--orange .x-control-kpi__icon {
    background: #fff7ed;
    color: #ea580c;
}

.x-control-kpi--purple .x-control-kpi__icon {
    background: #f5f3ff;
    color: #7c3aed;
}

.x-quotes-kpi small {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 850;
}

.x-quotes-kpi strong {
    margin-top: 1px;
    color: #1e293b;
    font-size: 15px;
    font-weight: 900;
}

.x-quotes-kpi span {
    margin-top: 1px;
    color: #94a3b8;
    font-size: 8.5px;
}

.x-quotes-card {
    background: #fff;
    border: 1px solid #e7edf4;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(15, 23, 42, .04);
    overflow: hidden;
}

.x-quotes-card-header {
    padding: 16px 19px;
    border-bottom: 1px solid #edf1f6;
    background: #fbfcfe;
}

.x-quotes-card-header>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.x-quotes-card-title {
    display: block;
    color: #172033;
    font-size: 14px;
    font-weight: 700;
}

.x-quotes-card-body {
    padding: 16px 18px 18px;
}

.x-quotes-filters {
    display: grid;
    grid-template-columns: 170px minmax(260px, 1fr) 150px 150px auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px 13px;
    border: 1px solid #e7edf4;
    border-radius: 14px;
    background: #fbfcfe;
}

.x-quotes-filter label {
    display: block;
    margin: 0 0 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.x-quotes-filter select,
.x-quotes-filter input {
    width: 100%;
    height: 39px;
    padding: 0 11px;
    border: 1px solid #dbe3ed;
    border-radius: 11px;
    background: #fff;
    color: #334155;
    font-size: 9.5px;
    font-weight: 650;
    outline: none;
}

.x-quotes-search {
    position: relative;
}

.x-quotes-search i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 11px;
}

.x-quotes-search input {
    padding-left: 28px;
}

.x-quotes-clear-btn {
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
    border: 1px solid #dbe3ed;
    border-radius: 10px;
    background: #fff;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.x-quotes-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.x-quotes-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.x-quotes-table thead th {
    padding: 10px 8px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    white-space: nowrap;
}


.x-quotes-table thead th:first-child {
    border-radius: 10px 0 0 10px;
}

.x-quotes-table thead th:last-child {
    border-radius: 0 10px 10px 0;
}

.x-quotes-table tbody td {
    padding: 9px 8px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    color: #334155;
    font-size: 12px;
    font-weight: 580 !important;
    vertical-align: middle !important;
}

.x-quote-code {
    color: #1e3a5f;
    font-weight: 900;
}

.x-quote-client strong {
    display: block;
    color: #334155;
    font-size: 9.5px;
    font-weight: 900;
}

.x-quote-client span {
    display: block;
    margin-top: 2px;
    color: #94a3b8;
    font-size: 8.5px;
}

.x-quote-money {
    color: #047857;
    font-weight: 900;
    white-space: nowrap;
}

.x-quote-status {
    height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 10.5px;
    font-weight: 900;
    white-space: nowrap;
}

.x-quote-status--pending {
    background: #fff7ed;
    color: #c2410c;
}

.x-quote-status--accepted {
    background: #ecfdf5;
    color: #047857;
}

.x-quote-status--rejected,
.x-quote-status--annulled {
    background: #fff1f2;
    color: #be123c;
}

.x-quote-status--expired {
    background: #f1f5f9;
    color: #64748b;
}

.x-quote-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.x-quote-action {
    width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 11px;
    cursor: pointer;
    transition: .15s ease;
}

.x-quote-action:hover {
    background: #edf4ff;
    color: #2563eb;
}

.x-quote-action--whatsapp {
    background: #ecfdf5;
    color: #059669;
}

.x-quote-action--print {
    background: #eef2ff;
    color: #4f46e5;
}

.x-quote-action--edit {
    background: #fff7ed;
    color: #ea580c;
}

.x-quote-action--accept {
    background: #ecfdf5;
    color: #059669;
}

.x-quote-action--reject,
.x-quote-action--annul {
    background: #fff1f2;
    color: #e11d48;
}

.x-quotes-modal,
.x-quotes-pdf-modal {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 55px rgba(15, 23, 42, .2);
}

.x-quotes-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 15px;
    border-bottom: 1px solid #e7edf4;
    background: #fff;
}

.x-quotes-modal__title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.x-quotes-modal__icon {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #edf4ff;
    color: #2563eb;
    font-size: 11px;
}

.x-quotes-modal__icon--pdf {
    background: #fff1f2;
    color: #e11d48;
}

.x-quotes-modal__title h5 {
    margin: 0;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
}

.x-quotes-modal__title span {
    display: block;
    margin-top: 2px;
    color: #94a3b8;
    font-size: 11px;
}

.x-quotes-close {
    color: #94a3b8;
    opacity: 1;
}

.x-quotes-modal__body {
    padding: 15px;
    background: #f8fafc;
}

.x-quotes-modal__footer {
    padding: 10px 13px;
    border-top: 1px solid #e7edf4;
    background: #fff;
}

.x-quotes-footer-btn {
    height: 33px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 11px;
    border: 0;
    border-radius: 9px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 11px;
    font-weight: 850;
}

.x-quotes-loading {
    padding: 35px 10px;
    text-align: center;
    color: #94a3b8;
    font-size: 10px;
}

.x-quote-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}

.x-quote-detail-item {
    padding: 10px;
    border: 1px solid #e7edf4;
    border-radius: 10px;
    background: #fff;
}

.x-quote-detail-item small,
.x-quote-detail-item strong {
    display: block;
}

.x-quote-detail-item small {
    color: #94a3b8;
    font-size: 8px;
    font-weight: 850;
    text-transform: uppercase;
}

.x-quote-detail-item strong {
    margin-top: 3px;
    color: #334155;
    font-size: 9.5px;
    font-weight: 900;
}

.x-quote-products {
    overflow: hidden;
    border: 1px solid #e7edf4;
    border-radius: 11px;
    background: #fff;
}

.x-quote-products__row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 70px 105px 105px;
    gap: 8px;
    align-items: center;
    padding: 9px 10px;
    border-bottom: 1px solid #eef2f7;
}

.x-quote-products__row:last-child {
    border-bottom: 0;
}

.x-quote-products__row--head {
    background: #f8fafc;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.x-quote-products__product {
    color: #334155;
    font-size: 11px;
    font-weight: 850;
}

.x-quote-products__number {
    text-align: right;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}

.x-quote-products__total {
    color: #047857;
    font-weight: 900;
}

.x-quotes-pdf-body {
    padding: 8px;
    background: #e2e8f0;
}

.x-quotes-pdf-body iframe {
    display: block;
    border-radius: 8px;
    background: #fff;
}



.x-quotes-card {
    padding: 10px;
}




.x-quotes-table tbody tr:hover td {
    background: #f8fbff !important;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter label {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter input {
    height: 35px;
    min-width: 220px;
    margin-left: 7px;
    padding: 0 11px;
    border: 1px solid #dbe3ed;
    border-radius: 10px;
    box-shadow: none;
    outline: none;
    font-size: 10px;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #7da5ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .07);
}

.x-quotes-card .dataTables_info {
    color: #94a3b8 !important;
    font-size: 12.5px !important;
}

.x-quotes-card .dataTables_paginate .paginate_button {
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 9px !important;
    min-width: 30px !important;
    height: 30px !important;
    line-height: 18px !important;
}

.x-quotes-card .dataTables_paginate .paginate_button.current {
    background: #2563eb !important;
    color: #fff !important;
}

@media(max-width:992px) {
    .x-control-kpis--cotizaciones {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .x-quotes-hero {
        align-items: flex-start;
    }
}

@media(max-width:768px) {
    .x-quotes-page {
        margin-top: -15px;
    }

    .x-quotes-hero {
        padding: 15px;
        flex-direction: column;
        align-items: stretch;
    }

    .x-quotes-hero__left {
        align-items: flex-start;
    }

    .x-quotes-hero__icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .x-quotes-hero h2 {
        font-size: 17px;
    }

    .x-quotes-new-btn {
        width: 100%;
        min-width: 0;
    }

    .x-control-kpis--cotizaciones {
        grid-template-columns: 1fr;
    }

    .x-quotes-card-body {
        padding: 12px;
    }

    .x-quotes-card .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-top: 8px;
    }

    .x-quotes-card .dataTables_wrapper .dataTables_filter input {
        width: 100%;
        min-width: 0;
        margin: 5px 0 0;
    }
}

.x-quotes-card .dataTables_wrapper>.row:first-child {
    margin: 0 0 12px !important;
}

.x-quotes-card .dataTables_wrapper>.row:first-child>div {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter {
    float: none !important;
    text-align: right !important;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter label {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    white-space: nowrap;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.x-quotes-card .dataTables_wrapper .dataTables_filter input {
    width: 210px !important;
    height: 39px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    border: 1px solid #dbe3ed !important;
    border-radius: 11px !important;
}

.x-quotes-card .dataTables_wrapper .dataTables_info {
    padding-top: 10px !important;
}

.x-quotes-card .dataTables_wrapper .dataTables_paginate {
    padding-top: 6px !important;
}


@media(max-width:1180px) {
    .x-quotes-filters {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .x-quotes-filter--search {
        grid-column: span 2;
    }
}

@media(max-width:900px) {
    .x-quotes-filters {
        grid-template-columns: 1fr 1fr;
    }

    .x-quotes-filter--search {
        grid-column: 1/-1;
    }
}

@media(max-width:650px) {
    .x-quotes-filters {
        grid-template-columns: 1fr;
    }

    .x-quotes-filter--search {
        grid-column: auto;
    }
}



/* =========================================================
   MODALES CREAR / EDITAR COTIZACIÓN
   ========================================================= */
.x-quote-form-modal {
    border: 0 !important;
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24) !important;
}

.x-quote-form-header {
    min-height: 82px;
    padding: 15px 19px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff !important;
    border-bottom: 1px solid #e7edf4 !important;
}

.x-quote-form-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.x-quote-form-heading__icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #eef4ff;
    color: #2563eb;
    font-size: 16px;
}

.x-quote-form-heading__icon--edit {
    background: #fff7ed;
    color: #ea580c;
}

.x-quote-form-heading h5 {
    margin: 0;
    color: #172033;
    font-size: 17px;
    font-weight: 700;
}

.x-quote-form-heading small {
    display: block;
    margin-top: 4px;
    color: #8fa0ba;
    font-size: 10px;
    font-weight: 500;
}

.x-quote-form-close {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #64748b !important;
    opacity: 1 !important;
    font-size: 24px;
}

.x-quote-form-close:hover {
    background: #f1f5f9;
    color: #334155 !important;
}

.x-quote-form-body {
    max-height: calc(100vh - 190px);
    overflow-y: auto;
    padding: 16px !important;
    background: #f8fafc;
}

.x-quote-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

.x-quote-form-card {
    padding: 14px;
    border: 1px solid #e7edf4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .025);
}

.x-quote-form-card--client {
    grid-column: span 8;
}

.x-quote-form-card--validity {
    grid-column: span 4;
}

.x-quote-form-card--products {
    grid-column: span 12;
}

.x-quote-form-card--notes {
    grid-column: span 8;
}

.x-quote-form-card--summary {
    grid-column: span 4;
}

.x-quote-form-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf1f6;
}

.x-quote-form-card__icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
}

.x-quote-form-card__icon--green {
    background: #ecfdf5;
    color: #059669;
}

.x-quote-form-card__icon--purple {
    background: #f5f3ff;
    color: #7c3aed;
}

.x-quote-form-card__icon--slate {
    background: #f1f5f9;
    color: #475569;
}

.x-quote-form-card__head h6 {
    margin: 0;
    color: #25364d;
    font-size: 12px;
    font-weight: 700;
}

.x-quote-form-card__head p {
    margin: 2px 0 0;
    color: #94a3b8;
    font-size: 11.5px;
}

.x-quote-field label {
    display: block;
    margin: 0 0 6px;
    color: #475569;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .25px;
}

.x-quote-field label span {
    color: #ef4444;
}

.x-quote-field input,
.x-quote-field select,
.x-quote-field textarea,
.x-quote-client-select {
    width: 100%;
    border: 1px solid #dbe3ed !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #25364d !important;
    font-size: 10px !important;
    box-shadow: none !important;
    outline: none !important;
}

.x-quote-field input,
.x-quote-field select,
.x-quote-client-select {
    height: 40px !important;
    padding: 0 11px !important;
}

.x-quote-field textarea {
    min-height: 128px;
    padding: 10px 11px !important;
    resize: vertical;
}

.x-quote-field input:focus,
.x-quote-field select:focus,
.x-quote-field textarea:focus,
.x-quote-client-select:focus {
    border-color: #7da5ff !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08) !important;
}

.x-quote-client-selector {
    display: flex;
    align-items: flex-end;
    gap: 7px;
}

.x-quote-field--grow {
    flex: 1;
    min-width: 0;
}

.x-quote-new-client-btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ed;
    border-radius: 11px;
    background: #fff;
    color: #2563eb;
    cursor: pointer;
}

.x-quote-new-client-btn:hover,
.x-quote-new-client-btn.is-active {
    border-color: #93b4ff;
    background: #eff6ff;
}

.x-quote-new-client {
    display: none;
    margin-top: 10px;
    padding: 11px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
}

.x-quote-new-client.is-open {
    display: block;
}

.x-quote-new-client__head {
    margin-bottom: 9px;
}

.x-quote-new-client__head strong,
.x-quote-new-client__head span {
    display: block;
}

.x-quote-new-client__head strong {
    color: #334155;
    font-size: 10px;
    font-weight: 800;
}

.x-quote-new-client__head span {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 8.5px;
}

.x-quote-new-client__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.x-quote-validity-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 10px;
    padding: 9px;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
    font-size: 8.5px;
    line-height: 1.4;
}

.x-quote-validity-note i {
    margin-top: 1px;
    color: #2563eb;
}

.x-quote-status-edit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 10px;
    background: #f8fafc;
}

.x-quote-status-edit span {
    color: #64748b;
    font-size: 11px;
}

.x-quote-status-edit strong {
    color: #c2410c;
    font-size: 11px;
}

.x-quote-product-search-wrap {
    position: relative;
    margin-bottom: 11px;
}

.x-quote-product-search {
    position: relative;
}

.x-quote-product-search i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 10px;
}

.x-quote-product-search input {
    width: 100%;
    height: 41px;
    padding: 0 12px 0 34px;
    border: 1px solid #dbe3ed;
    border-radius: 11px;
    background: #fff;
    color: #334155;
    font-size: 10px;
    outline: none;
}

.x-quote-product-search input:focus {
    border-color: #7da5ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08);
}

.x-quote-product-results {
    display: none;
    position: absolute;
    z-index: 1065;
    left: 0;
    right: 0;
    top: 47px;
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #dbe3ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 15px 35px rgba(15, 23, 42, .14);
}

.x-quote-product-results.is-open {
    display: block;
}

.x-quote-search-result {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 9px 11px;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.x-quote-search-result:last-child {
    border-bottom: 0;
}

.x-quote-search-result:hover {
    background: #f8fbff;
}

.x-quote-search-result strong {
    display: block;
    color: #334155;
    font-size: 9.5px;
    font-weight: 800;
}

.x-quote-search-result small {
    display: block;
    margin-top: 2px;
    color: #94a3b8;
    font-size: 8.5px;
}

.x-quote-search-result__stock {
    color: #64748b;
    font-size: 8.5px;
    font-weight: 700;
    white-space: nowrap;
}

.x-quote-search-result__price {
    color: #047857;
    font-size: 9.5px;
    font-weight: 800;
    white-space: nowrap;
}

.x-quote-selected-products {
    border: 1px solid #e7edf4;
    border-radius: 12px;
    overflow: hidden;
}

.x-quote-selected-products__head,
.x-quote-product-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 105px 130px 115px 120px 38px;
    gap: 8px;
    align-items: center;
}

.x-quote-selected-products__head {
    padding: 9px 10px;
    background: #f8fafc;
    color: #64748b;
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}

.x-quote-product-row {
    padding: 8px 10px;
    border-top: 1px solid #eef2f7;
    background: #fff;
}

.x-quote-product-row__name strong {
    display: block;
    color: #334155;
    font-size: 9.5px;
    font-weight: 800;
}

.x-quote-product-row__name small {
    display: block;
    margin-top: 2px;
    color: #94a3b8;
    font-size: 10px;
}

.x-quote-product-row input {
    width: 100%;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #dbe3ed;
    border-radius: 9px;
    background: #fff;
    color: #334155;
    font-size: 9.5px;
    font-weight: 700;
    text-align: center;
    outline: none;
}

.x-quote-product-row input:focus {
    border-color: #7da5ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .07);
}

.x-quote-product-row__subtotal {
    color: #047857;
    font-size: 10px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.x-quote-product-remove {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    background: #fff1f2;
    color: #e11d48;
    cursor: pointer;
}

.x-quote-empty-products {
    padding: 24px 10px;
    text-align: center;
    color: #94a3b8;
}

.x-quote-empty-products i,
.x-quote-empty-products strong,
.x-quote-empty-products span {
    display: block;
}

.x-quote-empty-products i {
    margin-bottom: 6px;
    font-size: 17px;
}

.x-quote-empty-products strong {
    color: #64748b;
    font-size: 9.5px;
}

.x-quote-empty-products span {
    margin-top: 2px;
    font-size: 8.5px;
}

.x-quote-summary {
    min-height: 128px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #dbe3ed;
    border-radius: 13px;
    background: #f8fafc;
    text-align: center;
}

.x-quote-summary span {
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.x-quote-summary strong {
    display: block;
    margin-top: 7px;
    color: #047857;
    font-size: 24px;
    font-weight: 900;
}

.x-quote-summary strong span {
    color: inherit;
    font-size: inherit;
}

.x-quote-form-footer {
    padding: 11px 17px !important;
    background: #fff;
    border-top: 1px solid #e7edf4 !important;
}

.x-quote-cancel-btn,
.x-quote-save-btn {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border: 0;
    border-radius: 10px;
    font-size: 9.5px;
    font-weight: 800;
    cursor: pointer;
}

.x-quote-cancel-btn {
    background: #f1f5f9;
    color: #64748b;
}

.x-quote-save-btn {
    background: #2563eb;
    color: #fff;
}

.x-quote-save-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

@media(max-width:992px) {

    .x-quote-form-card--client,
    .x-quote-form-card--validity,
    .x-quote-form-card--notes,
    .x-quote-form-card--summary {
        grid-column: span 12;
    }

    .x-quote-new-client__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .x-quote-selected-products {
        overflow-x: auto;
    }

    .x-quote-selected-products__head,
    .x-quote-product-row {
        min-width: 780px;
    }
}

@media(max-width:576px) {

    .x-quote-form-body {
        padding: 10px !important;
    }

    .x-quote-form-card {
        padding: 11px;
    }

    .x-quote-new-client__grid {
        grid-template-columns: 1fr;
    }

    .x-quote-form-heading small {
        display: none;
    }
}



.x-quote-form-card--type {
    grid-column: span 12;
}

.x-quote-form-card--repair {
    display: none;
    grid-column: span 12;
}

.x-quote-form-card--repair.is-open {
    display: block;
}

.x-quote-type-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.x-quote-type-option {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 13px;
    border: 1px solid #dbe3ed;
    border-radius: 13px;
    background: #fff;
    color: #475569;
    text-align: left;
    cursor: pointer;
    transition: .15s ease;
}

.x-quote-type-option:hover {
    border-color: #a9bfe9;
    background: #fbfdff;
}

.x-quote-type-option.is-active {
    border-color: #7da5ff;
    background: #eff6ff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .06);
}

.x-quote-type-option__icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #eef4ff;
    color: #2563eb;
    font-size: 13px;
}

.x-quote-type-option__icon--repair {
    background: #fff7ed;
    color: #ea580c;
}

.x-quote-type-option strong,
.x-quote-type-option small {
    display: block;
}

.x-quote-type-option strong {
    color: #25364d;
    font-size: 10.5px;
    font-weight: 800;
}

.x-quote-type-option small {
    margin-top: 2px;
    color: #94a3b8;
    font-size: 10.5px;
}

.x-quote-form-card__icon--orange {
    background: #fff7ed;
    color: #ea580c;
}

.x-quote-repair-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.x-quote-field--span-2 {
    grid-column: span;
}

.x-quote-money-input {
    display: flex;
    align-items: center;
    border: 1px solid #dbe3ed;
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
}

.x-quote-money-input>span {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border-right: 1px solid #e7edf4;
    background: #f8fafc;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
}

.x-quote-money-input input {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

@media(max-width:900px) {
    .x-quote-repair-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:576px) {

    .x-quote-type-options,
    .x-quote-repair-grid {
        grid-template-columns: 1fr;
    }

    .x-quote-field--span-2 {
        grid-column: auto;
    }
}



/* SELECT2 - COTIZACIONES */
.x-quote-form-modal .select2-container {
    width: 100% !important;
}

.x-quote-form-modal .select2-container .select2-selection--single {
    height: 40px !important;
    border: 1px solid #dbe3ed !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.x-quote-form-modal .select2-container--default.select2-container--focus .select2-selection--single,
.x-quote-form-modal .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #7da5ff !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .08) !important;
}

.x-quote-form-modal .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 11px !important;
    padding-right: 30px !important;
    color: #25364d !important;
    font-size: 12px !important;
}

.x-quote-form-modal .select2-selection__placeholder {
    color: #94a3b8 !important;
}

.x-quote-form-modal .select2-selection__arrow {
    height: 38px !important;
    right: 5px !important;
}

.select2-container--open {
    z-index: 20000 !important;
}

.x-quote-select2-dropdown {
    border: 1px solid #dbe3ed !important;
    border-radius: 11px !important;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .12);
}

.x-quote-select2-dropdown .select2-search--dropdown {
    padding: 8px !important;
    background: #fff;
}

.x-quote-select2-dropdown .select2-search__field {
    height: 36px;
    padding: 0 10px !important;
    border: 1px solid #dbe3ed !important;
    border-radius: 9px !important;
    outline: none;
    font-size: 10px;
}

.x-quote-select2-dropdown .select2-results__option {
    padding: 8px 10px !important;
    color: #475569;
    font-size: 10px;
}

.x-quote-select2-dropdown .select2-results__option--highlighted[aria-selected] {
    background: #eff6ff !important;
    color: #2563eb !important;
}

.x-quote-select2-dropdown .select2-results__option[aria-selected=true] {
    background: #f8fafc;
    color: #1e293b;
    font-weight: 700;
}



.x-quote-action--convert-repair {
    background: #fff7ed !important;
    color: #ea580c !important;
}

.x-quote-action--convert-repair:hover {
    background: #ffedd5 !important;
    color: #c2410c !important;
}

.x-quote-action--convert-sale {
    background: #eff6ff !important;
    color: #2563eb !important;
}

.x-quote-action--convert-sale:hover {
    background: #dbeafe !important;
    color: #1d4ed8 !important;
}



/* =========================================================
   COTIZACIONES - TABLA SIN SCROLLBARS FORZADOS
   ========================================================= */
.x-quotes-card {
    overflow: visible !important;
}

.x-quotes-card-body {
    overflow: visible !important;
}

.x-quotes-table-wrap {
    width: 100% !important;
    overflow: visible !important;
    scrollbar-width: none !important;
}

.x-quotes-table-wrap::-webkit-scrollbar,
.x-quotes-card .dataTables_scrollBody::-webkit-scrollbar,
.x-quotes-card .dataTables_scrollHead::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.x-quotes-card .dataTables_wrapper,
.x-quotes-card .dataTables_scroll,
.x-quotes-card .dataTables_scrollHead,
.x-quotes-card .dataTables_scrollHeadInner,
.x-quotes-card .dataTables_scrollBody {
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
}

.x-quotes-card .dataTables_scrollHeadInner,
.x-quotes-card .dataTables_scrollHeadInner table {
    width: 100% !important;
}

.x-quotes-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
}

/* =========================================================
   ACCIONES - MISMO PATRÓN VISUAL QUE PRODUCTOS
   ========================================================= */
.x-quote-product-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    min-width: max-content;
}

.x-quote-product-actions .x-action-primary {
    min-width: 70px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 11px;
    border: 0;
    border-radius: 9px;
    background: #2563eb;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(37, 99, 235, .16);
    transition: .16s ease;
}

.x-quote-product-actions .x-action-primary:hover {
    background: #1d4ed8;
    color: #fff;
    transform: translateY(-1px);
}

.x-quote-product-actions .x-action-primary--repair {
    background: #f97316;
    box-shadow: 0 3px 8px rgba(249, 115, 22, .16);
}

.x-quote-product-actions .x-action-primary--repair:hover {
    background: #ea580c;
}

.x-quote-product-actions .x-action-primary--soft {
    min-width: 62px;
    border: 1px solid #dbe5f0;
    background: #fff;
    color: #475569;
    box-shadow: none;
}

.x-quote-product-actions .x-action-primary--soft:hover {
    background: #f8fafc;
    color: #2563eb;
    border-color: #cbd8e8;
}

.x-quote-product-actions .x-action-more {
    width: 34px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #dbe5f0;
    border-radius: 9px;
    background: #fff;
    color: #64748b;
    font-size: 12px;
    cursor: pointer;
    box-shadow: none;
    transition: .16s ease;
}

.x-quote-product-actions .x-action-more:hover,
.x-quote-product-actions .show>.x-action-more {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #2563eb;
}

.x-quote-actions-dropdown {
    position: relative;
}

.x-quote-menu {
    min-width: 205px !important;
    padding: 7px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .14) !important;
    z-index: 1060 !important;
}

.x-quote-menu .dropdown-item {
    min-height: 35px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 9px !important;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475569;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.x-quote-menu .dropdown-item:hover {
    background: #f8fafc;
    color: #2563eb;
}

.x-quote-menu .dropdown-item i {
    width: 16px;
    text-align: center;
    font-size: 11px;
}

.x-quote-menu .btnWhatsappCotizacion i {
    color: #10b981;
}

.x-quote-menu .x-menu-success {
    color: #047857;
}

.x-quote-menu .x-menu-warning {
    color: #c2410c;
}

.x-quote-menu .dropdown-divider {
    margin: 6px 2px;
    border-color: #eef2f7;
}

/* Columna acciones con espacio suficiente */
.x-quotes-table th:last-child,
.x-quotes-table td:last-child {
    width: 1%;
    min-width: 118px;
    white-space: nowrap;
}

/* Responsive real: DataTables colapsa columnas en vez de forzar scroll */
@media(max-width:991.98px) {
    .x-quotes-table-wrap {
        overflow: visible !important;
    }

    .x-quotes-table th:last-child,
    .x-quotes-table td:last-child {
        min-width: 105px;
    }

    .x-quote-product-actions .x-action-primary {
        min-width: 64px;
        padding: 0 9px;
    }
}


/* =========================================================
   IMPRESIÓN DE COTIZACIONES - TICKET / A4
   ========================================================= */
.x-quote-print-modal,
.x-quotes-pdf-modal {
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .18);
}

.x-quote-print-body {
    padding: 18px !important;
    background: #f8fafc;
}

.x-quote-print-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.x-quote-print-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 92px;
    padding: 14px;
    border: 1px solid #e2e8f0;
    border-radius: 15px;
    background: #fff;
    color: #334155;
    text-align: left;
    cursor: pointer;
    transition: .18s ease;
}

.x-quote-print-option:hover {
    transform: translateY(-2px);
    border-color: #bfdbfe;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .08);
}

.x-quote-print-option__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 13px;
    font-size: 18px;
}

.x-quote-print-option__icon.is-ticket {
    color: #2563eb;
    background: #eff6ff;
}

.x-quote-print-option__icon.is-a4 {
    color: #7c3aed;
    background: #f5f3ff;
}

.x-quote-print-option__text {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.x-quote-print-option__text strong {
    color: #172033;
    font-size: 13px;
    font-weight: 850;
}

.x-quote-print-option__text small {
    color: #94a3b8;
    font-size: 9.5px;
    line-height: 1.35;
}

.x-quote-print-option__arrow {
    color: #cbd5e1;
    font-size: 10px;
}

.x-quote-pdf-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.x-quote-pdf-open {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    background: #fff;
    color: #64748b;
    font-size: 11px;
}

.x-quote-pdf-open:hover {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #2563eb;
    text-decoration: none;
}

.x-quotes-pdf-body--preview {
    position: relative;
    min-height: 650px;
    padding: 0 !important;
    overflow: hidden;
    background: #eef2f7;
}

#iframePDFCotizacion {
    display: block;
    width: 100%;
    min-height: 650px;
    background: #eef2f7;
}

.x-quote-pdf-loader {
    position: absolute;
    z-index: 5;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    background: #f8fafc;
    color: #334155;
}

.x-quote-pdf-loader strong {
    font-size: 13px;
    font-weight: 800;
}

.x-quote-pdf-loader span {
    color: #94a3b8;
    font-size: 10px;
}

.x-quote-pdf-spinner {
    width: 34px;
    height: 34px;
    border: 3px solid #dbeafe;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: xQuotePdfSpin .75s linear infinite;
}

@keyframes xQuotePdfSpin {
    to {
        transform: rotate(360deg)
    }
}

.x-quote-pdf-footer {
    justify-content: space-between !important;
}

.x-quote-pdf-format {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: 11px;
    font-weight: 750;
}

@media(max-width:575.98px) {
    .x-quote-print-grid {
        grid-template-columns: 1fr;
    }

    .x-quotes-pdf-body--preview,
    #iframePDFCotizacion {
        min-height: 72vh;
        height: 72vh !important;
    }
}



/* =========================================================
   HEADER IMPRESIÓN - MISMO LENGUAJE VISUAL DE COMPRAS
   ========================================================= */
#modalImprimirCotizacion .modal-dialog {
    max-width: 610px;
}

#modalImprimirCotizacion .x-quote-print-modal,
#modalPdfCotizacion .x-quotes-pdf-modal {
    border: 0 !important;
    border-radius: 18px !important;
    overflow: hidden;
    background: #fff;
}

#modalImprimirCotizacion .x-quotes-modal__header,
#modalPdfCotizacion .x-quotes-modal__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 88px;
    padding: 18px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid #e9eef5 !important;
    background: #fff !important;
}

#modalImprimirCotizacion .x-quotes-modal__title,
#modalPdfCotizacion .x-quotes-modal__title {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

#modalImprimirCotizacion .x-quotes-modal__icon,
#modalPdfCotizacion .x-quotes-modal__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 13px;
    background: #eff6ff !important;
    color: #2563eb !important;
    font-size: 17px;
    box-shadow: none !important;
}

#modalPdfCotizacion .x-quotes-modal__icon--pdf {
    background: #fff1f2 !important;
    color: #e11d48 !important;
}

#modalImprimirCotizacion .x-quotes-modal__title h5,
#modalPdfCotizacion .x-quotes-modal__title h5 {
    margin: 0;
    color: #334155;
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
}

#modalImprimirCotizacion .x-quotes-modal__title span:not(.x-quotes-modal__icon),
#modalPdfCotizacion .x-quotes-modal__title span:not(.x-quotes-modal__icon) {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
}

#modalImprimirCotizacion .x-quotes-close,
#modalPdfCotizacion .x-quotes-close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    color: #94a3b8 !important;
    opacity: 1 !important;
    font-size: 25px;
    line-height: 1;
    text-shadow: none !important;
}

#modalImprimirCotizacion .x-quotes-close:hover,
#modalPdfCotizacion .x-quotes-close:hover {
    background: #f8fafc !important;
    color: #64748b !important;
}

#modalPdfCotizacion .x-quote-pdf-open {
    width: 36px;
    height: 36px;
    border: 1px solid #dbe5f0;
    border-radius: 10px;
    background: #fff;
    color: #64748b;
}

#modalImprimirCotizacion .x-quotes-modal__footer,
#modalPdfCotizacion .x-quotes-modal__footer {
    min-height: 58px;
    padding: 10px 16px !important;
    border-top: 1px solid #e9eef5 !important;
    background: #fff !important;
}

#modalImprimirCotizacion .x-quotes-footer-btn,
#modalPdfCotizacion .x-quotes-footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 13px;
    border: 0;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
    font-size: 10px;
    font-weight: 750;
}