.btn.btn-imprimir,
.btn.btn-exportar {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: 1rem 1.2rem;
    border: 0;
    border-radius: .3rem;
    background: #007bff;
    color: #fff;
    font-family: graphie, sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    white-space: nowrap;
}
.btn-imprimir::before {
    content: "";
    flex: 0 0 2rem;
    width: 2rem;
    height: 1.8rem;
    background: url("/admin/img/imprimir.svg") center no-repeat;
}
.btn-exportar::before {
    content: "";
    flex: 0 0 1.635rem;
    width: 1.635rem;
    height: 2.0375rem;
    background: url("/admin/img/exportar.svg") center no-repeat;
}
body .btn.btn-imprimir:hover,
body .btn.btn-exportar:hover {
    background: #0069d9;
    color: #fff;
}
body .btn.btn-imprimir:focus-visible,
body .btn.btn-exportar:focus-visible {
    outline: .2rem solid var(--admin-focus, #252e37);
    outline-offset: .3rem;
    box-shadow: none;
}
body[data-admin-contrast="high"] .btn.btn-imprimir,
body[data-admin-contrast="high"] .btn.btn-exportar {
    background: #ffe100;
    color: #000;
}
body[data-admin-contrast="high"] .btn.btn-imprimir:hover,
body[data-admin-contrast="high"] .btn.btn-exportar:hover {
    background: #ffea3d;
}
body[data-admin-contrast="high"] .btn-imprimir::before,
body[data-admin-contrast="high"] .btn-exportar::before {
    filter: brightness(0);
}

.well-btn-modal {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1rem;
}

.btn-descargar-certificado {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: 2rem;
    padding: 1rem 1.2rem;
    border: 0;
    border-radius: .3rem;
    background: #007bff;
    color: #fff;
    font-family: graphie, sans-serif;
    font-size: 1.7rem !important;
    font-weight: 700;
    line-height: normal;
    text-align: left;
    cursor: pointer;
}
.btn-descargar-certificado > img {
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
}
.btn-descargar-certificado > span {
    color: inherit !important;
}
.btn-descargar-certificado:hover {
    background: #0069d9;
	color: #fff;
}
.btn-descargar-certificado:focus-visible {
    outline: .2rem solid var(--admin-focus, #252e37);
    outline-offset: .3rem;
}
body[data-admin-contrast="high"] .btn-descargar-certificado {
    background: #ffe100;
    color: #000;
}
body[data-admin-contrast="high"] .btn-descargar-certificado:hover {
    background: #ffea3d;
}
body[data-admin-contrast="high"] .btn-descargar-certificado > img {
    filter: brightness(0);
}

/* Editor de artículos: estilos trasladados del bloque de facturación del ERP. */
[data-pedido-articulos] { min-width: 0; padding: 0 2rem; }
[data-pedido-articulos] > legend { margin: 3rem 0 2rem; font-size: 2.5rem; }
[data-pedido-articulos] .well-table-facturacion {
    min-height: auto;
    margin: 3rem 0;
    overflow-x: auto;
}
[data-pedido-articulos] .well-table-facturacion table { margin-bottom: 2rem; min-width: 550px; }
[data-pedido-articulos] .tabla-facturacion th { white-space: nowrap; }
[data-pedido-articulos] .td-servicio { width: 100%; }
[data-pedido-articulos] .td-servicio input { min-width: 100%; max-width: 100%; }
[data-pedido-articulos] :is(.input-precio, .input-iva) { text-align: right; width: 12rem; }
[data-pedido-articulos] img.img-borrar { width: 22px; min-width: 22px; height: 22px; }
[data-pedido-articulos] .total-factura { display: flex; justify-content: flex-end; }
[data-pedido-articulos] .total-factura dl div { display: flex; justify-content: space-between; gap: 3rem; }
[data-pedido-articulos] .total-factura dt { min-width: 10rem; }
[data-pedido-articulos] .total-factura dl div:last-child { font-weight: bold; text-transform: uppercase; }

/* Estado del pago: el color sigue la opción seleccionada, también al cambiarla. */
select.form-select.form-select-estados {
    --estado-pago-color: #555;
    display: inline-block;
    width: auto;
    field-sizing: content;
    padding: 3px 24px 3px 10px;
    border: 1px solid var(--estado-pago-color);
    border-radius: 3px;
    background-color: var(--estado-pago-color);
    background-image: url("/admin/img/estado-pago-arrow.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: auto;
    color: #fff;
    font-family: graphie, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    cursor: pointer;
}
select.form-select.form-select-estados:has(option[value="1"]:checked) {
    --estado-pago-color: #d81616;
}
select.form-select.form-select-estados:has(option[value="2"]:checked) {
    --estado-pago-color: #2f8111;
}
select.form-select.form-select-estados:focus-visible {
    outline: 2px solid var(--admin-focus, #252e37);
    outline-offset: 2px;
    box-shadow: none;
}
select.form-select.form-select-estados option {
    background-color: var(--admin-input-bg, #fff);
    color: var(--admin-input-text, #0e1113);
}
body:is([data-admin-mode="dark"], [data-admin-contrast="high"]) select.form-select.form-select-estados {
    /* Los temas aplican !important a los controles; conservar los colores de estado. */
    background: var(--estado-pago-color) url("/admin/img/estado-pago-arrow.svg") no-repeat right 10px center !important;
    color: #fff !important;
    border-color: var(--estado-pago-color) !important;
}

/* Agrupaciones de formularios: retirar dos-columnas restaura la disposición de las filas. */
fieldset.dos-columnas {
    min-width: 0;
    margin-bottom: 3rem;
    border-bottom: 1px solid #252E37;
    border-radius: .375rem;
}

body[data-admin-mode="dark"] fieldset.dos-columnas,
body[data-admin-contrast="high"] fieldset.dos-columnas {
    border-bottom-color: var(--admin-border);
}

fieldset.dos-columnas .collapse {
	padding: 3rem
}

/* Un único bloque se muestra siempre, sin encabezado de acordeón. */
form #formulario > fieldset.dos-columnas:only-of-type {
    border: 0;
}
form #formulario > fieldset.dos-columnas:only-of-type > legend {
    display: none;
}
form #formulario > fieldset.dos-columnas:only-of-type > :is(.collapse, .collapsing) {
    display: block;
    height: auto !important;
    overflow: visible;
    transition: none;
}

fieldset.dos-columnas > legend {
    float: none;
    width: 100%;
    margin: 0;
    font-size: 3.2rem;
	padding-bottom: 1rem;
}
fieldset.dos-columnas > legend > button {
    gap: 16px;
    padding: 0;
    border-radius: .375rem;
    font: inherit;
    font-weight: 600;
    line-height: normal;
    color: inherit;
    background: transparent;
    box-shadow: none;
}
fieldset.dos-columnas > legend > button.accordion-button::after {
    content: "";
    display: block;
    order: -1;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    margin: 0;
    background: url("/admin/img/legend-arrow.svg") center no-repeat;
    border: 0;
    transform: rotate(0deg);
    transition: transform .2s ease;
}
fieldset.dos-columnas > legend > button.accordion-button[aria-expanded="true"]::after {
    transform: rotate(180deg);
}
fieldset.dos-columnas > legend > button.accordion-button:focus-visible {
    outline: 2px solid var(--admin-focus, #252e37);
    outline-offset: 4px;
}

.swal2-popup {
  width: min(90vw, 800px) !important;
  font-size: 16px !important;
}

.swal2-popup .swal2-styled {
  font-size: 16px !important;
}

@media (prefers-reduced-motion: reduce) {
    fieldset.dos-columnas > legend > button.accordion-button::after {
        transition: none;
    }
}
fieldset.dos-columnas > .collapse > div,
fieldset.dos-columnas > .collapsing > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem 4rem;
    padding: 1rem;
}
fieldset.dos-columnas > :is(.collapse, .collapsing) > div > .row {
    min-width: 0;
    margin: 0 !important;
    align-content: start;
}
fieldset.dos-columnas > :is(.collapse, .collapsing) > div > .row > * {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}
fieldset.dos-columnas > :is(.collapse, .collapsing) > div > .row > .col-form-label {
    text-align: left !important;
}

.remesa-socios { padding: 2rem 2rem;
background: #fff;
border-radius: .5rem;}

.remesa-socios td .form-check-input {
    margin-top: 0.4rem !important;
}

.estado-remesa {
	display: inline-block;
padding: 0rem 1.2rem;
    border-radius: 0.4rem;
	font-size: 1.6rem;
}

.estado-1 { background-color: #d81616; color: #fff; }
.estado-2 { background-color: #2f8111; color: #fff; }	
.estado-3 { background-color: #d8a116; color: #fff; }
@media (min-width: 768px) {
    fieldset.dos-columnas > :is(.collapse, .collapsing) > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Albarán de pedidos */

body.albaran-body{background:#eef0f2}
.albaran-shell{background:#eef0f2;padding:2.4rem 1.6rem 4.8rem}
.albaran-actions{max-width:210mm;margin:0 auto 1.6rem;display:flex;flex-flow:row wrap;gap:.8rem;justify-content:flex-end}
.albaran-page{position:relative;box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto;background:#fff;border:1px solid #bebebe;box-shadow:0 1.6rem 4rem rgba(22,25,29,.16);color:#111;font-family:graphie,Arial,sans-serif;font-size:15px;line-height:1.35;overflow:hidden}
.albaran-page p{margin:0}
.albaran-logo-tbv{position:absolute;left:62px;top:54px;width:102px;height:102px;object-fit:contain}
.albaran-logo-begisare{position:absolute;right:62px;top:50px;width:168px;height:auto;object-fit:contain}
.albaran-contact{position:absolute;right:62px;top:96px;width:278px;text-align:right;font-size:15px;line-height:20px}
.albaran-title{position:absolute;left:72px;top:212px;margin:0;color:#111;font-size:28px;font-weight:700;line-height:34px;text-transform:uppercase;letter-spacing:0}
/* Ventana del sobre: 110 mm desde la izquierda, 45 mm desde arriba y 45 mm de alto. */
.albaran-address{position:absolute;box-sizing:border-box;left:110mm;top:45mm;width:100mm;height:45mm;padding:8mm;font-size:13px;line-height:17.55px}
.albaran-address strong{font-weight:700}
.albaran-address p{margin-bottom:5.7px}
.albaran-meta{position:absolute;left:62px;top:372px;width:270px;font-size:15px;line-height:20px}
.albaran-dates{position:absolute;right:62px;top:372px;width:275px;text-align:right;font-size:15px;line-height:20px}
.albaran-meta strong,.albaran-dates strong{font-weight:700}
.albaran-table{position:absolute;left:62px;top:429px;width:658px;table-layout:fixed;border-collapse:collapse;color:#111;font-size:15px;line-height:20.25px}
.albaran-table caption{caption-side:top;padding:0;margin:0;color:#111;font-size:0;text-align:left}
.albaran-table col:first-child{width:358px}
.albaran-table col:nth-child(2),.albaran-table col:nth-child(3){width:106px}
.albaran-table col:nth-child(4){width:88px}
.albaran-table th,.albaran-table td{border:1px solid #cfd4da;padding:8.5px 10px 9.75px;vertical-align:middle}
.albaran-table th{background:#eef1f4;font-weight:700}
.albaran-table th:first-child,.albaran-table td:first-child{text-align:left}
.albaran-table th:nth-child(2),.albaran-table th:nth-child(3){text-align:center}
.albaran-table th:nth-child(4),.albaran-table td:nth-child(2),.albaran-table td:nth-child(3),.albaran-table td:nth-child(4){text-align:right}
.albaran-table .albaran-total-row td{font-weight:700}
.albaran-table .albaran-total-row td:first-child{text-transform:uppercase}
.albaran-payment{position:absolute;left:62px;top:581px;width:315px;font-size:15px;line-height:22px;text-transform:uppercase}
.albaran-payment:empty{display:none}
.albaran-footer{position:absolute;left:56px;right:56px;bottom:51px;text-align:center;font-size:12px;line-height:20px}
.albaran-footer strong{display:block;font-weight:700;text-transform:uppercase}
@media (max-width:900px){
.albaran-shell{overflow-x:auto}
.albaran-actions{justify-content:flex-start;min-width:210mm}
}
@media print{
body.albaran-body{background:#fff}
body.albaran-body.header{padding-top:0}
body.albaran-body #contenido{padding-top:0}
.albaran-shell{padding:0;background:#fff}
body.albaran-body .albaran-actions,body.albaran-body #contenido-carga>p,body.albaran-body #contenido-carga>.navbar,body.albaran-body #contenido-carga>header,body.albaran-body>.header,body.albaran-body nav,body.albaran-body #burua{display:none!important}
.albaran-page{width:210mm;min-height:297mm;margin:0;border:0;box-shadow:none}
@page albaran{size:A4;margin:0}
}

/* Las líneas y el pago fluyen para admitir pedidos de cualquier longitud. */
.albaran-page {
    display: flex;
    flex-direction: column;
    padding: 429px 0 51px;
    overflow: visible;
}
.albaran-page .albaran-table {
    position: static;
    margin: 0 62px;
}
.albaran-page .albaran-payment {
    position: static;
    margin: 24px 62px 0;
}
.albaran-page .albaran-footer {
    position: static;
    margin: auto 56px 0;
    padding-top: 80px;
}
body.albaran-body .albaran-page :is(p, strong, h2, th, td) {
    color: #111;
}
.albaran-table td { overflow-wrap: anywhere; }
@media print {
    body.albaran-body { page: albaran; }
    body.albaran-body .container-fluid { padding: 0; }
    body.albaran-body .albaran-shell { overflow: visible; }
    .albaran-page { display: block; }
    .albaran-table thead { display: table-header-group; }
    .albaran-table tr, .albaran-payment, .albaran-footer { break-inside: avoid; }
}

.remesa-socios { margin: 2rem 0; }
.remesa-socios table { min-width: 760px; }
.remesa-socios .table > :not(caption) > * > * {
    border-bottom: 1px solid #d5d7d9;
}
.remesa-socios th { white-space: nowrap; }
.remesa-socios th:first-child,
.remesa-socios td:first-child { width: 4rem; text-align: center; }
.remesa-socios .form-check-input { float: none; margin: 0; cursor: pointer; }
.remesa-marcar-todos { display: inline-flex; align-items: center; gap: 1rem; }
@media (max-width: 992px) {
    .remesa-socios { overflow: visible; padding: 1rem; }
    .remesa-socios table { min-width: 0; width: 100%; }
    .remesa-socios :is(table, thead, tbody, tr, th, td) { display: block; }
    .remesa-socios thead th:not(:first-child) { display: none; }
    .remesa-socios th:first-child,
    .remesa-socios td:first-child { width: auto; text-align: left; }
    .remesa-socios tbody tr {
        padding: 2rem;
        margin-bottom: 1rem;
        border: 1px solid #d5d7d9;
        border-radius: .5rem;
        background: var(--admin-surface, #fff);
    }
    .remesa-socios .table > tbody > tr > td {
        padding: .7rem 0 0 1rem;
        border: 0;
        overflow-wrap: anywhere;
    }
    .remesa-socios td[data-title]::before {
        content: attr(data-title) ":\00a0";
        font-weight: 700;
        padding-right: .5rem;
    }
    .remesa-socios .remesa-marcar-texto {
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: normal !important;
    }
}

/* Pasos de remesa: estilos de Aspegi. */
form[action="/admin/remesas/modificar.php"] .ruta {
    padding-top: 15px;
    overflow: hidden;
	margin-bottom: 1.5rem;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos {
    font-size: 1.7rem;
    font-weight: 700;
    padding-bottom: 2rem;
    width: 100%;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item {
    flex: 1 20%;
    min-width: 20%;
    border: 0;
    border-top: 5px solid #d5d7d9;
    padding: 1.5rem 0 0 0;
    background: none;
    position: relative;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.completo, form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.actual {
    border-top: 5px solid #007bff;
	position: relative;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item span.ruta-texto {
    line-height: 1.9rem;
	text-align: center;
	display: inline-block;
	width: 100%;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item:last-child span.ruta-texto {
    text-indent: -3.8rem;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item span.bola {
    position: absolute;
    top: -11px;
    /* left: 0; */
	right: 0;
    display: inline-block;
    width: 17px;
    height: 17px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: 3px solid #D5D7D9;
    background-color: #F1EFEA;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item:last-child span.bola {
    margin-left: -12px;
}
form[action="/admin/remesas/modificar.php"] .final {
    margin-left: -22px !important;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item span.bola.activo, form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.actual span.bola,
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.completo span.bola {
    width: 27px;
    height: 27px;
    top: -16px;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.completo span.bola {
    border: 0;
    background: #007bff url(/admin/img/remesa-paso-completo.svg) 50% 50% no-repeat;
}
form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item span.bola.activo:before, form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.actual span.bola:before  {
    position: absolute;
    top: 4px;
    left: 4px;
    content: '';
    width: 13px;
    height: 13px;
    background-color: #007bff;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}

form[action="/admin/remesas/modificar.php"] .list-group-pasos .list-group-item.completo span.bola.activo:before{
	display: none;
}
