/* GPP Modern Order UI (frontend) — solo presentación */

.gpp-order-page{width:100%;max-width:none;margin:0;padding:0}
.gpp-order-page *, .gpp-order-page *::before, .gpp-order-page *::after{box-sizing:border-box}

.gpp-order-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px;padding:4px 0}
.gpp-order-title{margin:0;font-size:20px;line-height:1.2;font-weight:700}
.gpp-section-title{margin:0 0 10px;font-size:14px;line-height:1.2;font-weight:700}

.gpp-order-split{display:grid;grid-template-columns:1fr;gap:16px;align-items:start;width:100%}
@media (max-width:980px){.gpp-order-split{grid-template-columns:1fr}}

.gpp-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.06);padding:14px 14px 12px}

/* Key/value blocks */
.gpp-kv{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid rgba(0,0,0,.06)}
.gpp-kv:first-child{border-top:0;padding-top:2px}
.gpp-kv--wide{grid-template-columns:1fr}
.gpp-k{font-weight:700;color:rgba(0,0,0,.70);font-size:13px}
.gpp-v{font-size:13px;color:rgba(0,0,0,.85);overflow-wrap:anywhere}

/* Buttons */
.gpp-order-page .button, .gpp-order-page a.button{
  border-radius:6px;
  padding:8px 14px;
  line-height:1.15;
  font-size:14px;
  text-decoration:none;
  border:2px solid #0a67c7;
  background:#fff;
  color:#0a67c7;
  font-weight:700;
  box-shadow:none;
}
.gpp-order-page .button:hover, .gpp-order-page a.button:hover{background:rgba(10,103,199,.06)}
.gpp-order-page .button:active, .gpp-order-page a.button:active{transform:translateY(0.5px)}
.gpp-order-page .button.button-primary, .gpp-order-page a.button.button-primary{
  border-color:#d7a041;
  background:#d7a041;
  color:#fff;
}
.gpp-order-page .button.button-primary:hover, .gpp-order-page a.button.button-primary:hover{filter:brightness(.98)}

/* Seguimiento: form table */
.gpp-seguimiento-page .form-table{margin:0;width:100%;border-collapse:separate;border-spacing:0}
.gpp-seguimiento-page .form-table th, .gpp-seguimiento-page .form-table td{padding:10px 6px;vertical-align:top}
.gpp-seguimiento-page .form-table th{width:180px;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:rgba(0,0,0,.55)}
.gpp-seguimiento-page .form-table td{font-size:13px;color:rgba(0,0,0,.85)}
.gpp-seguimiento-page .form-table input[type="text"],
.gpp-seguimiento-page .form-table input[type="date"],
.gpp-seguimiento-page .form-table input[type="number"],
.gpp-seguimiento-page .form-table select,
.gpp-seguimiento-page .form-table textarea{width:100%;max-width:100%;border-radius:10px;border:1px solid rgba(0,0,0,.12);padding:7px 10px;font-size:13px;line-height:1.2;background:#fff}
.gpp-seguimiento-page .form-table textarea{min-height:90px;resize:vertical}

/* Tables */
.gpp-order-page table.gpp-table, .gpp-seguimiento-page table.widefat{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}
.gpp-order-page table.gpp-table thead th, .gpp-seguimiento-page table.widefat thead th{background:rgba(0,0,0,.03);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:10px;border-bottom:1px solid rgba(0,0,0,.08);white-space:normal;overflow-wrap:anywhere}
.gpp-order-page table.gpp-table tbody td, .gpp-seguimiento-page table.widefat tbody td{padding:10px;font-size:13px;vertical-align:top;border-top:1px solid rgba(0,0,0,.06);overflow-wrap:anywhere}
.gpp-order-page table.gpp-table tbody tr:hover, .gpp-seguimiento-page table.widefat tbody tr:hover{background:rgba(0,0,0,.02)}

/* Inputs inside lines table */
.gpp-seguimiento-page table.widefat input[type="text"],
.gpp-seguimiento-page table.widefat input[type="date"],
.gpp-seguimiento-page table.widefat input[type="number"],
.gpp-seguimiento-page table.widefat select,
.gpp-seguimiento-page table.widefat textarea{width:100% !important;max-width:100% !important;border-radius:10px;border:1px solid rgba(0,0,0,.12);padding:6px 8px;font-size:13px;line-height:1.2}

/* No limitar ancho por .wrap */
.wrap .gpp-order-page{max-width:none}

/* ==========================================================
   Líneas del pedido: scroll horizontal controlado + UX
   - Mantiene la tabla tal cual
   - Permite ver TODAS las columnas sin salirse del card
   - Congela las 2 primeras columnas (tipo Excel)
   ========================================================== */

.gpp-order-lines{position:relative}

/* El JS envuelve la tabla en .gpp-lines-scroll */
.gpp-order-lines .gpp-lines-scroll{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  padding-bottom:6px; /* espacio para que no “muerda” la barra */
}

/* Controles ↔ */
.gpp-order-lines .gpp-scroll-controls{
  position:absolute;
  top:12px;
  right:12px;
  display:flex;
  gap:8px;
  align-items:center;
  z-index:10;
}
.gpp-order-lines .gpp-scroll-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(255,255,255,.92);
  border-radius:6px;
  padding:6px 10px;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
  user-select:none;
}
.gpp-order-lines .gpp-scroll-btn:active{transform:translateY(1px)}
.gpp-order-lines .gpp-scroll-btn[disabled]{opacity:.45;cursor:default}


/* === Ajustes solicitados: sin sombras indicativas === */
.gpp-order-lines .gpp-lines-scroll::before,
.gpp-order-lines .gpp-lines-scroll::after{
  content:none !important;
}

/* === Cabecera fija (thead) en la tabla de líneas === */
.gpp-order-lines .gpp-lines-scroll table.widefat thead th{
  position: sticky;
  top: 0;
  z-index: 6;
  background: #f7f8fa;
}

/* Si el tema fuerza background transparente */
.gpp-order-lines .gpp-lines-scroll table.widefat thead th{
  background-clip: padding-box;
}

/* === Botonizar enlaces en TODOS los shortcodes del plugin === */
.gpp-dashboard-wrap a,
.gpp-pedidos-frontend a,
.gpp-sat-front a,
.gpp-informes a,
.gpp-order-page a,
.gpp-parque-wrap a,
.gpp-order-detail a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#ffffff;
  color:#0b4f7a;
  text-decoration:none !important;
  font-weight:600;
  line-height:1;
  box-shadow:0 6px 14px rgba(0,0,0,.06);
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}

/* Evitar que enlaces dentro de tablas rompan el layout */
.gpp-dashboard-wrap table a,
.gpp-pedidos-frontend table a,
.gpp-sat-front table a,
.gpp-informes table a,
.gpp-order-page table a,
.gpp-parque-wrap table a,
.gpp-order-detail table a{
  white-space:nowrap;
}

/* Hover/focus */
.gpp-dashboard-wrap a:hover,
.gpp-pedidos-frontend a:hover,
.gpp-sat-front a:hover,
.gpp-informes a:hover,
.gpp-order-page a:hover,
.gpp-parque-wrap a:hover,
.gpp-order-detail a:hover{
  transform: translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.10);
  background:#f5fbff;
}

.gpp-dashboard-wrap a:focus-visible,
.gpp-pedidos-frontend a:focus-visible,
.gpp-sat-front a:focus-visible,
.gpp-informes a:focus-visible,
.gpp-order-page a:focus-visible,
.gpp-parque-wrap a:focus-visible,
.gpp-order-detail a:focus-visible{
  outline:2px solid rgba(11,79,122,.25);
  outline-offset:2px;
}

/* Mantener botones WP como están, solo refinamos */
.gpp-dashboard-wrap a.button,
.gpp-pedidos-frontend a.button,
.gpp-sat-front a.button,
.gpp-informes a.button,
.gpp-order-page a.button,
.gpp-parque-wrap a.button,
.gpp-order-detail a.button{
  border-radius:12px;
}


/* Cabecera de tabla fija (sticky) dentro de líneas */
.gpp-order-lines table.widefat thead th{
  position:sticky;
  top:0;
  z-index:3;
  background:#fff;
}
.gpp-order-lines table.widefat thead th:first-child,
.gpp-order-lines table.widefat thead th:nth-child(2){
  z-index:4; /* por encima al congelar columnas */
}


/* En todos los shortcodes del plugin: los enlaces se ven como botones (no literales) */
.gpp-order-page a,
.gpp-dashboard-wrap a,
.gpp-pedidos-frontend a,
.gpp-sat-front a,
.gpp-parque-page a,
.gpp-informes a,
.gpp-nuevo-pedido-page a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  text-decoration:none !important;
  font-weight:600;
  line-height:1.1;
}
.gpp-order-page a:hover,
.gpp-dashboard-wrap a:hover,
.gpp-pedidos-frontend a:hover,
.gpp-sat-front a:hover,
.gpp-parque-page a:hover,
.gpp-informes a:hover,
.gpp-nuevo-pedido-page a:hover{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.16);
}
/* Links as buttons (frontend) */
.gpp-order-page a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 14px;
  border-radius:6px;
  border:2px solid #0a67c7;
  background:#fff;
  color:#0a67c7;
  text-decoration:none;
  font-weight:700;
  line-height:1.1;
  transition:transform .06s ease, background .12s ease, border-color .12s ease, filter .12s ease;
}
.gpp-order-page a:hover{background:rgba(10,103,199,.06)}
.gpp-order-page a:active{transform:translateY(0.5px)}
.gpp-order-page a.button,
.gpp-order-page a.button-primary{background:rgba(2,132,199,.10)}
.gpp-order-page a.button-primary{
  background:#0b74de;
  border-color:rgba(11,116,222,.35);
  color:#fff;
}
.gpp-order-page a.button-primary:hover{background:#0a67c7}
.gpp-order-page a.button:hover{background:rgba(2,132,199,.14)}
.gpp-order-page a:focus{outline:none;box-shadow:0 0 0 3px rgba(11,116,222,.22)}
/* Evitar que enlaces dentro de texto se vean como botones: marca con .gpp-link si hiciera falta */
.gpp-order-page a.gpp-link{display:inline;color:inherit;background:transparent;border:0;padding:0;box-shadow:none;font-weight:inherit}

/* Nuevo pedido: márgenes como seguimiento */
.gpp-nuevo-pedido-page > h1{
  margin:0 0 12px !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
.gpp-seguimiento-wrap > h1{
  margin:0 0 12px !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}
/* Alinear el enlace "Volver" y acciones */
.gpp-order-page .gpp-order-actions, .gpp-order-page .gpp-order-actions *{white-space:nowrap}

/* Quitar padding/márgenes típicos de .wrap en frontend para aprovechar Elementor */
.gpp-order-page.wrap{
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
}


/* Elementor full width fix (Nuevo pedido) */
.gpp-order-page.gpp-nuevo-pedido-page,
.elementor .gpp-order-page.gpp-nuevo-pedido-page,
.elementor-page .gpp-order-page.gpp-nuevo-pedido-page{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}
.gpp-nuevo-pedido-page form,
.gpp-nuevo-pedido-page .gpp-order-split,
.gpp-nuevo-pedido-page .gpp-order-left,
.gpp-nuevo-pedido-page .gpp-order-right{
  width:100% !important;
  max-width:none !important;
}



/* Nuevo pedido — asegurar ancho completo y mismos márgenes que seguimiento */
.gpp-order-page--nuevo, .gpp-order-page--nuevo .wrap, .gpp-order-page--nuevo .gpp-dashboard-wrap{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Convertir enlaces de acción del plugin en botones (evita “literales”) */
.gpp-order-page a,
.gpp-pedidos-frontend a,
.gpp-dashboard-wrap a,
.gpp-sat-front a,
.gpp-parque-wrap a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 14px;
  font-size:14px;
  line-height:1.15;
  font-weight:700;
  text-decoration:none !important;
  border:2px solid #0a67c7;
  background:#fff;
  color:#0a67c7;
  border-radius:6px;
  box-shadow:none;
  cursor:pointer;
}

/* No convertir links dentro de campos/formularios/tabla de datos que ya son inputs */
.gpp-order-page td a:not(.button),
.gpp-pedidos-frontend td a:not(.button){
  white-space:nowrap;
}

.gpp-order-page a:hover,
.gpp-pedidos-frontend a:hover,
.gpp-dashboard-wrap a:hover,
.gpp-sat-front a:hover,
.gpp-parque-wrap a:hover{
  background:rgba(10,103,199,.06);
}

.gpp-order-page a.gpp-btn-primary,
.gpp-pedidos-frontend a.gpp-btn-primary,
.gpp-dashboard-wrap a.gpp-btn-primary{
  background:#d7a23a;
  border-color:#d7a23a;
  color:#fff;
}

/* Botón primario cuando el plugin usa .button-primary */
.gpp-order-page .button.button-primary,
.gpp-order-page a.button.button-primary,
.gpp-pedidos-frontend .button.button-primary,
.gpp-pedidos-frontend a.button.button-primary{
  background:#d7a23a !important;
  border-color:#d7a23a !important;
  color:#fff !important;
}


/* === BOTONES: estilo definitivo (imagen referencia) === */
:root{--gpp-blue:#0a67c7;--gpp-gold:#d7a23a;--gpp-red:#dc3545;}

/* Base botón (links y botones WP) dentro de shortcodes GPP */
.gpp-order-page a,
.gpp-dashboard-wrap a,
.gpp-pedidos-frontend a,
.gpp-sat-front a,
.gpp-parque-page a,
.gpp-parque-wrap a,
.gpp-informes a,
.gpp-nuevo-pedido-page a,
.gpp-order-detail a,
.gpp-order-page button,
.gpp-dashboard-wrap button,
.gpp-pedidos-frontend button,
.gpp-sat-front button,
.gpp-parque-page button,
.gpp-informes button,
.gpp-nuevo-pedido-page button,
.gpp-order-detail button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:10px 16px !important;
  border-radius:6px !important;
  border:2px solid var(--gpp-blue) !important;
  background:#fff !important;
  color:var(--gpp-blue) !important;
  text-decoration:none !important;
  font-weight:700 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  box-shadow:none !important;
  cursor:pointer;
}

/* Hover/focus */
.gpp-order-page a:hover,
.gpp-dashboard-wrap a:hover,
.gpp-pedidos-frontend a:hover,
.gpp-sat-front a:hover,
.gpp-parque-page a:hover,
.gpp-parque-wrap a:hover,
.gpp-informes a:hover,
.gpp-nuevo-pedido-page a:hover,
.gpp-order-detail a:hover,
.gpp-order-page button:hover,
.gpp-dashboard-wrap button:hover,
.gpp-pedidos-frontend button:hover,
.gpp-sat-front button:hover,
.gpp-parque-page button:hover,
.gpp-informes button:hover,
.gpp-nuevo-pedido-page button:hover,
.gpp-order-detail button:hover{
  background:#f6fbff !important;
}

.gpp-order-page a:focus-visible,
.gpp-dashboard-wrap a:focus-visible,
.gpp-pedidos-frontend a:focus-visible,
.gpp-sat-front a:focus-visible,
.gpp-parque-page a:focus-visible,
.gpp-informes a:focus-visible,
.gpp-nuevo-pedido-page a:focus-visible,
.gpp-order-detail a:focus-visible{
  outline:2px solid rgba(10,103,199,.25) !important;
  outline-offset:2px;
}

/* Botones primarios dorados (Seguimiento, Nueva asignación, Guardar...) */
.gpp-btn-primary,
.gpp-order-page .button.button-primary,
.gpp-order-page a.button.button-primary,
.gpp-pedidos-frontend .button.button-primary,
.gpp-pedidos-frontend a.button.button-primary,
.gpp-parque-page a.button.button-primary,
.gpp-parque-page .button.button-primary,
.gpp-nuevo-pedido-page .button.button-primary,
.gpp-nuevo-pedido-page a.button.button-primary{
  background:var(--gpp-gold) !important;
  border-color:var(--gpp-gold) !important;
  color:#fff !important;
}

/* Botón eliminar (parque): detecta el inline style actual con d63638 */
.gpp-parque-page a.button[style*="d63638"],
.gpp-parque-wrap a.button[style*="d63638"]{
  background:var(--gpp-red) !important;
  border-color:var(--gpp-red) !important;
  color:#fff !important;
}

/* Si algún botón usa la clase button-link-delete (admin/otros), también rojo */
.gpp-order-page .button-link-delete,
.gpp-parque-page .button-link-delete,
.gpp-dashboard-wrap .button-link-delete{
  background:var(--gpp-red) !important;
  border-color:var(--gpp-red) !important;
  color:#fff !important;
}

/* Tamaño compacto para grupos de acciones (como captura) */
.gpp-actions a,
.gpp-actions button{
  padding:10px 16px !important;
  font-size:14px !important;
}

/* Asegurar que botones WP no se convierten en relleno azul por reglas antiguas */
.gpp-order-page a.button,
.gpp-dashboard-wrap a.button,
.gpp-parque-page a.button,
.gpp-nuevo-pedido-page a.button{
  background:#fff !important;
  color:var(--gpp-blue) !important;
  border-color:var(--gpp-blue) !important;
}

