* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.portal-page {
  background: #f5f7f6;
  color: #14211d;
  font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

a {
  color: #2f705b;
}

.portal-topbar {
  align-items: center;
  background: #ffffff;
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 18px 28px;
  position: sticky;
  top: 0;
  z-index: 30;
}

.portal-brand {
  color: #252525;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
}

.portal-brand span {
  color: #ce3232;
}

.portal-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.portal-nav a,
.button,
button {
  background: #173f33;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  min-height: 44px;
  padding: 11px 16px;
  border-radius: 11px;
  text-decoration: none;
  touch-action: manipulation;
}

.portal-nav a.muted,
.button.muted {
  background: #292929;
}

.portal-wrap {
  margin: 0 auto;
  max-width: 1180px;
  padding: 34px 22px 60px;
}

.auth-card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.08);
  margin: 70px auto;
  max-width: 460px;
  padding: 34px;
  border-radius: 18px;
}

.install-card {
  max-width: 760px;
}

h1,
h2,
h3 {
  color: #14211d;
  letter-spacing: -.025em;
  margin-top: 0;
}

h1 {
  font-size: 28px;
}

h2 {
  font-size: 20px;
  margin-top: 26px;
}

label {
  color: #333333;
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin: 14px 0 7px;
}

input,
select,
textarea {
  background: #ffffff;
  border: 1px solid #dddddd;
  color: #444444;
  font-size: 16px;
  line-height: 1.35;
  min-height: 44px;
  padding: 10px 12px;
  width: 100%;
  border-radius: 10px;
  font-family: inherit;
}

input[type="checkbox"],
input[type="radio"] {
  min-height: 0;
  width: auto;
}

textarea {
  min-height: 110px;
  resize: vertical;
}

.notice {
  border: 1px solid #dddddd;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 12px;
}

.notice.success {
  background: #eefaf1;
  border-color: #bde8c8;
  color: #1f7c35;
}

.notice.error {
  background: #fff2f2;
  border-color: #f0bcbc;
  color: #b42323;
}

.small {
  color: #777777;
  font-size: 13px;
  line-height: 1.5;
}

.grid {
  display: grid;
  gap: 18px;
}

.grid.products {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.card {
  background: #ffffff;
  border: 1px solid #e4e4e4;
  padding: 18px;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(24,45,38,.06);
}

.product-card img {
  aspect-ratio: 4 / 3;
  background: #eeeeee;
  display: block;
  object-fit: cover;
  width: 100%;
}

.product-card h3 {
  font-size: 18px;
  margin: 14px 0 8px;
}

.price {
  color: #247258;
  font-size: 18px;
  font-weight: 700;
}

.quantity-input {
  max-width: 100px;
}

.table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  background: #ffffff;
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
}

th,
td {
  border: 1px solid #dddddd;
  padding: 12px;
  text-align: left;
  vertical-align: top;
}

th {
  background: #f3f3f3;
  color: #252525;
}

.status {
  color: #ffffff;
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 9px;
  text-transform: uppercase;
}

.status-pending {
  background: #3759d7;
}

.status-accepted {
  background: #006d1e;
}

.status-preparing {
  background: #c8b700;
  color: #252525;
}

.status-shipped {
  background: #7c2ce0;
}

.status-cancelled {
  background: #555555;
}

.split {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

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

.inline-form {
  display: inline;
}

.invoice-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 6px;
}

.icon-danger {
  background: #b42323;
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  min-height: 34px;
  padding: 6px 11px;
}

.icon-danger:hover,
.icon-danger:focus {
  background: #7a1616;
}

.copy-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.copy-row input {
  max-width: 240px;
}

@media (max-width: 760px) {
  .portal-topbar,
  .split {
    display: block;
  }

  .portal-topbar {
    padding: 14px 12px;
  }

  .portal-nav {
    gap: 8px;
    margin-top: 14px;
  }

  .portal-nav a,
  .button,
  button {
    font-size: 14px;
    min-height: 44px;
    padding: 11px 14px;
  }

  .auth-card {
    margin: 30px 12px;
    padding: 24px;
  }

  .portal-wrap {
    padding: 24px 12px 50px;
  }

  h1 {
    font-size: 24px;
    line-height: 1.15;
  }

  h2 {
    font-size: 19px;
    line-height: 1.2;
  }

  .grid.products {
    grid-template-columns: 1fr;
  }

  .card {
    padding: 16px;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  .quantity-input {
    max-width: 130px;
  }
}
.portal-account-label{display:inline-flex;align-items:center;max-width:240px;color:#5f6f69;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-nav-link,.portal-nav-logout{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #d9e1de;border-radius:11px;background:#fff;color:#183d31;font-weight:800;text-decoration:none}.portal-nav-link:hover{background:#edf5f2}.portal-nav-logout{margin-left:8px;border-color:#ecd5d5;color:#8b3333}.portal-nav-logout:hover{background:#fff3f3}.portal-settings-shell{width:min(760px,calc(100% - 28px));margin:34px auto}.portal-settings-card{padding:26px;border:1px solid #dce4e1;border-radius:18px;background:#fff;box-shadow:0 16px 40px rgba(18,44,35,.08)}.portal-settings-card h1{margin:0 0 8px}.portal-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-settings-field{display:grid;gap:7px}.portal-settings-field input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfdad6;border-radius:11px;font:inherit}.portal-settings-actions{display:flex;gap:10px;align-items:center;margin-top:18px}.portal-settings-button{min-height:44px;padding:10px 16px;border:0;border-radius:11px;background:#183d31;color:#fff;font-weight:800;cursor:pointer}.portal-password-rules{margin:16px 0 0;padding:13px 15px;border-radius:12px;background:#f1f6f4;color:#52655e;font-size:13px}@media(max-width:700px){.portal-account-label{display:none}.portal-nav-logout{margin-left:0}.portal-settings-grid{grid-template-columns:1fr}.portal-settings-card{padding:20px}.portal-nav{gap:6px}}
.account-settings-modal{position:fixed;z-index:300;inset:0;display:none;pointer-events:none}.account-settings-modal.is-open{display:block}.account-settings-overlay{position:fixed;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:default;pointer-events:auto}.account-settings-dialog{position:absolute;top:72px;right:16px;width:min(390px,calc(100vw - 32px));max-height:calc(100vh - 88px);overflow:auto;padding:22px;border:1px solid #d9e3df;border-radius:17px;background:#fff;box-shadow:0 20px 55px rgba(7,25,19,.22);outline:0;pointer-events:auto}.account-settings-dialog::before{content:"";position:absolute;top:-7px;right:70px;width:12px;height:12px;border-top:1px solid #d9e3df;border-left:1px solid #d9e3df;background:#fff;transform:rotate(45deg)}.account-settings-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.account-settings-dialog h2{margin:2px 0 4px;font-size:22px}.account-settings-dialog header p{margin:0;color:#65756f;font-size:12px}.account-settings-eyebrow{color:#2f705b;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.account-settings-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dbe3e0;border-radius:10px;background:#fff;color:#263d35;font-size:21px;cursor:pointer}.account-settings-field{display:grid;gap:5px;margin-top:11px}.account-settings-field label{font-size:12px;font-weight:800}.account-settings-field input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cdd9d5;border-radius:10px;font:inherit}.account-settings-field input:focus{border-color:#2f705b;outline:3px solid rgba(47,112,91,.12)}.account-settings-submit{width:100%;min-height:43px;margin-top:14px;border:0;border-radius:11px;background:#183d31;color:#fff;font-weight:900;cursor:pointer}@media(max-width:600px){.account-settings-dialog{position:absolute;top:64px;right:10px;left:10px;width:auto;max-height:calc(100vh - 76px);padding:18px;border-radius:15px}.account-settings-dialog::before{right:76px}.account-settings-dialog h2{font-size:20px}}


/* === Portal Lygis compact professional UI refresh === */
body.portal-page { background: #f7f9f8; color: #14211d; font-size: 14px; }
.portal-topbar { padding: 14px 34px; border-bottom-color: #e1e8e4; box-shadow: 0 8px 24px rgba(20,33,29,.045); }
.portal-brand { letter-spacing: -.02em; }
.portal-wrap { max-width: 1340px; padding: 30px 24px 56px; }
.card { border-color: #e1e8e4; border-radius: 15px; box-shadow: 0 10px 28px rgba(20,33,29,.045); }
input, select, textarea { border-color: #d7e0dc; border-radius: 11px; }
textarea { min-height: 86px; }
.button, button, .portal-nav a { border-radius: 999px; font-size: 13px; min-height: 40px; padding: 9px 16px; }
.table-wrap { border: 1px solid #dfe7e3; border-radius: 15px; background: #fff; box-shadow: 0 12px 34px rgba(20,33,29,.055); }
table.orders-table { min-width: 1060px; border-collapse: separate; border-spacing: 0; }
.orders-table th { padding: 11px 12px; border: 0; border-bottom: 1px solid #dfe7e3; background: #f7f9f8; color: #263c34; font-size: 11px; letter-spacing: .045em; text-transform: none; }
.orders-table td { padding: 11px 12px; border: 0; border-bottom: 1px solid #e9efec; vertical-align: middle; font-size: 13px; }
.orders-table tbody tr:hover td { background: #fbfcfb; }
.order-code-cell { min-width: 145px; }
.order-code { display: block; color: #17223b; font-size: 13px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.order-code-caption { display: block; margin-top: 3px; color: #6b7670; font-size: 11px; }
.odoo-info { display: grid; gap: 7px; align-content: start; }
.odoo-pill { display: inline-flex; width: fit-content; align-items: center; padding: 5px 10px; border-radius: 999px; background: #edf5f2; color: #1c6249; font-size: 12px; font-weight: 800; }
.odoo-delivery { background: #fff3d7; color: #a35110; }
.status { border-radius: 999px; padding: 5px 9px; font-size: 11px; letter-spacing: .02em; }
.tracking-row { display: grid; gap: 7px; justify-items: start; }
@media (max-width: 760px) {
  .portal-topbar { padding: 13px 14px; }
  .portal-wrap { padding: 22px 12px 48px; }
}

/* === Lygis V4: interior de app tipo marketplace profesional === */
body.portal-page {
  background: #f3f5f8;
  color: #111827;
}
.portal-benefits-bar {
  background: #111827;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.portal-topbar {
  min-height: 82px;
  padding: 18px 40px;
  background: #fff;
  border-bottom: 1px solid #dde3ec;
  box-shadow: 0 1px 0 rgba(17,24,39,.02);
}
.portal-wrap {
  max-width: 1440px;
}
.portal-sidebar-card,
.portal-section-card {
  border-color: #dde3ec !important;
  box-shadow: 0 18px 45px rgba(17,24,39,.035) !important;
}
.portal-sidebar-card {
  padding: 18px !important;
}
.portal-side-nav a {
  min-height: 52px;
  border-radius: 12px;
  color: #1f2937;
}
.portal-side-nav a.is-active {
  background: #fff;
  border-left: 4px solid #111827;
  box-shadow: 0 8px 22px rgba(17,24,39,.05);
}
.portal-page-head {
  padding: 8px 0 2px;
}
.portal-page-head h1 {
  font-size: clamp(34px, 4vw, 48px) !important;
  letter-spacing: -.055em !important;
}
.portal-section-head h2 {
  font-size: 30px !important;
  letter-spacing: -.045em !important;
}
#order-form > .grid.products {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
}
#order-form .product-card,
#order-form .single-product .product-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
#order-form .product-card:hover,
#order-form .single-product .product-card:hover {
  transform: translateY(-2px);
  border-color: #cdd6e3;
  box-shadow: 0 16px 32px rgba(17,24,39,.055) !important;
}
.quantity-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.quantity-input {
  max-width: 92px !important;
  text-align: center;
  font-weight: 800;
}
.order-final-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  gap: 18px !important;
  align-items: stretch;
  background: #fff !important;
}
.order-final-block .order-notes-block label {
  margin-top: 0;
}
.order-summary-actions {
  display: grid !important;
  align-content: stretch;
}
.order-summary-actions .order-total-preview {
  width: 100%;
  min-height: 122px !important;
  display: grid;
  align-content: center;
}
.order-summary-actions .submit-row {
  width: 100%;
  display: grid;
}
.order-summary-actions #submit-order-button {
  width: 100%;
  min-height: 52px !important;
  margin-top: 10px;
}
.orders-table {
  min-width: 1160px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.orders-table th {
  height: 58px;
  font-size: 14px !important;
  color: #111827 !important;
}
.orders-table td {
  height: 68px;
  color: #344054;
}
.orders-table tbody tr.order-row:hover td {
  background: #f9fafb !important;
}
.order-code-cell {
  width: 170px;
}
.order-code {
  display: inline-flex !important;
  align-items: center;
  min-height: 32px;
  color: #111827 !important;
  font-size: 15px !important;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.order-total-cell {
  display: block;
  color: #111827;
  font-weight: 800;
}
.order-units-count {
  display: block;
  margin-top: 3px;
  color: #7c8798;
  font-size: 12px;
}
.order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.order-preview-button {
  background: #111827 !important;
  color: #fff !important;
  border: 1px solid #111827 !important;
}
.order-detail-row[hidden] {
  display: none !important;
}
.order-detail-row td {
  padding: 0 !important;
  background: #fbfcfe !important;
}
.order-preview-panel {
  margin: 0;
  padding: 22px 26px 24px;
  border-top: 1px solid #e5eaf1;
  background: linear-gradient(180deg,#fbfcfe 0%,#fff 100%);
}
.order-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.order-preview-head strong {
  display: block;
  color: #111827;
  font-size: 22px;
  letter-spacing: -.03em;
}
.order-preview-head > span {
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}
.order-preview-list {
  display: grid;
  gap: 8px;
}
.order-preview-line {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid #e6eaf1;
  border-radius: 14px;
  background: #fff;
}
.order-preview-product {
  display: grid;
  gap: 2px;
}
.order-preview-product strong {
  color: #1f2937;
  font-size: 14px;
}
.order-preview-product span {
  color: #667085;
  font-size: 12px;
}
.order-preview-line-total {
  color: #111827;
  font-variant-numeric: tabular-nums;
}
.order-preview-total {
  display: flex;
  justify-content: flex-end;
  gap: 18px;
  align-items: baseline;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e6eaf1;
}
.order-preview-total span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}
.order-preview-total strong {
  color: #111827;
  font-size: 22px;
}
.order-preview-empty {
  margin: 0;
  color: #667085;
}
@media (max-width: 980px) {
  .order-final-block { grid-template-columns: 1fr; }
  .portal-topbar { padding: 15px 16px; }
}
@media (max-width: 760px) {
  #order-form > .grid.products { grid-template-columns: 1fr !important; }
  .order-final-block { padding: 14px !important; }
  .orders-table { min-width: 1040px !important; }
}

/* === Lygis V5: portal con panel lateral real y ancho completo === */
.portal-nav-compact { margin-left:auto; }
.portal-nav-compact .portal-account-label { padding:0;border:0;background:transparent;color:#6b7280;font-weight:700; }
.portal-wrap { width:100% !important; max-width:none !important; padding:28px clamp(18px,2.4vw,46px) 56px !important; }
.portal-shell { grid-template-columns:260px minmax(0,1fr) !important; gap:clamp(18px,2vw,34px) !important; width:100%; }
.portal-content { width:100%; min-width:0; }
.portal-tab-panel[hidden] { display:none !important; }
.portal-tab-panel { animation:portalPanelFade .16s ease-out; }
@keyframes portalPanelFade { from{opacity:.7;transform:translateY(4px);} to{opacity:1;transform:none;} }
.portal-sidebar { top:112px !important; }
.portal-side-nav a { cursor:pointer; }
.portal-side-nav a.is-active { background:#111827 !important;color:#fff !important;border-left:0 !important;box-shadow:0 12px 24px rgba(17,24,39,.12) !important; }
.portal-side-nav a.is-active:hover { color:#fff !important; }
.portal-side-logout { margin-top:10px;color:#b42318 !important;background:#fff5f5 !important;border-color:#fee4e2 !important; }
.portal-side-logout:hover { background:#ffecec !important; }
.portal-section-card { width:100%; }
.portal-orders-card { overflow:hidden; }
.table-wrap { width:100%; overflow-x:auto; }
.orders-table { width:100% !important; min-width:0 !important; table-layout:fixed !important; }
.orders-table th:nth-child(1), .orders-table td:nth-child(1) { width:12% !important; }
.orders-table th:nth-child(2), .orders-table td:nth-child(2) { width:10% !important; }
.orders-table th:nth-child(3), .orders-table td:nth-child(3) { width:12% !important; }
.orders-table th:nth-child(4), .orders-table td:nth-child(4) { width:10% !important; }
.orders-table th:nth-child(5), .orders-table td:nth-child(5) { width:27% !important; }
.orders-table th:nth-child(6), .orders-table td:nth-child(6) { width:21% !important; }
.orders-table th:nth-child(7), .orders-table td:nth-child(7) { width:8% !important; }
.orders-table th, .orders-table td { overflow:hidden; }
.odoo-info { max-width:100%; }
.odoo-pill { max-width:100%; white-space:normal; line-height:1.25; }
.tracking-link, .invoice-link, .order-preview-button, .orders-table .button.muted { max-width:100%; white-space:normal; line-height:1.25; }
.order-actions { align-items:flex-start; }
.order-preview-button { width:100%; justify-content:center; }
.orders-table .button.muted { width:100%; text-align:center; justify-content:center; }
.portal-account-form { display:grid;gap:18px; }
.portal-form-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.account-settings-field { display:grid;gap:8px; }
.account-settings-field label { color:#344054;font-size:13px;font-weight:800; }
.portal-form-actions { display:flex;gap:12px;align-items:center;justify-content:flex-start;flex-wrap:wrap;margin-top:4px; }
.portal-soft-badge { display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:12px;font-weight:800; }
.portal-soft-badge.is-ok { background:#e8f7ef;color:#067647; }
.portal-soft-badge.is-pending { background:#fff4dc;color:#92400e; }
.portal-info-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0; }
.portal-info-card { border:1px solid #e6eaf1;border-radius:18px;background:#fbfcfe;padding:18px; }
.portal-info-card span { display:block;color:#667085;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px; }
.portal-info-card strong { display:block;color:#111827;font-size:20px;letter-spacing:-.025em;margin-bottom:8px; }
.portal-info-card p { margin:0;color:#667085;font-size:13px;line-height:1.45; }
.account-settings-submit { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid #111827;background:#111827;color:#fff !important;font-weight:900;text-decoration:none; }
.account-settings-submit:hover { background:#0f172a; }
@media (max-width:1180px){ .orders-table{min-width:980px !important;} .portal-form-grid,.portal-info-grid{grid-template-columns:1fr;} }
@media (max-width:880px){ .portal-shell{grid-template-columns:1fr !important;} .portal-sidebar{position:static !important;} .portal-side-nav{display:flex !important;overflow-x:auto;padding-bottom:4px;} .portal-side-nav a{white-space:nowrap;min-width:max-content;} .portal-nav-compact{display:none;} }

/* === Lygis V7: pantallas separadas, pedido compacto y detalle desplegable === */
.portal-page-head h1 {
  font-size: clamp(28px, 3vw, 38px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.04 !important;
}
.portal-page-head p {
  font-size: 14px !important;
  max-width: 760px;
}
.portal-section-head h2 {
  font-size: clamp(22px, 2vw, 27px) !important;
  line-height: 1.08 !important;
}
.portal-sidebar-card h2 {
  font-size: 18px !important;
}
.portal-side-nav a {
  min-height: 46px !important;
  font-size: 15px !important;
  padding: 10px 14px !important;
}
.portal-shell {
  grid-template-columns: 250px minmax(0,1fr) !important;
  align-items: start;
}
.portal-section-card {
  border-radius: 22px !important;
}
#portal-panel-nuevo .portal-section-card {
  padding: 16px !important;
}
#portal-panel-nuevo .portal-status-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}
#portal-panel-nuevo .shipping-free-banner {
  min-height: auto !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
}
#portal-panel-nuevo .shipping-free-banner strong {
  font-size: 14px !important;
}
#order-form {
  display: grid;
  gap: 12px;
}
#order-form > .grid.products,
#order-form > .grid.products.single-product {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}
#order-form .product-card,
#order-form .single-product .product-card {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
}
#order-form .product-card img,
#order-form .single-product .product-card img {
  width: 118px !important;
  height: 118px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  background: #fff !important;
  border: 1px solid #e6eaf1 !important;
  border-radius: 16px !important;
  padding: 10px !important;
}
#order-form .product-info {
  min-width: 0;
}
#order-form .product-info h3 {
  font-size: 16px !important;
  line-height: 1.22 !important;
  margin: 0 0 2px !important;
}
#order-form .product-info .ean,
#order-form .product-info p:not(.price) {
  font-size: 12px !important;
  margin: 2px 0 !important;
}
#order-form .price {
  font-size: 22px !important;
  margin: 8px 0 6px !important;
  color: #111827 !important;
}
#order-form label {
  margin: 4px 0 4px !important;
  font-size: 12px !important;
}
#order-form .quantity-row {
  gap: 8px !important;
}
#order-form .quantity-input {
  width: 88px !important;
  min-height: 42px !important;
  border-radius: 13px !important;
}
#portal-panel-nuevo .shipping-methods {
  margin-top: 0 !important;
  padding: 13px 16px !important;
  border-radius: 18px !important;
}
#portal-panel-nuevo .shipping-methods-title {
  margin: 0 0 8px !important;
  font-size: 14px !important;
}
#portal-panel-nuevo .shipping-methods-options {
  gap: 10px !important;
}
#portal-panel-nuevo .shipping-method-option {
  min-height: 54px !important;
  padding: 9px 12px !important;
  border-radius: 15px !important;
}
#portal-panel-nuevo .shipping-method-copy strong {
  font-size: 14px !important;
}
#portal-panel-nuevo .shipping-method-copy span {
  font-size: 11px !important;
}
#portal-panel-nuevo .bank-transfer-details {
  margin-top: 10px !important;
  padding: 11px 12px !important;
  border-radius: 15px !important;
}
.order-final-block {
  grid-template-columns: minmax(0,1fr) 310px !important;
  gap: 12px !important;
  margin-top: 0 !important;
  padding: 13px 16px !important;
  border-radius: 18px !important;
}
.order-notes-block textarea {
  min-height: 76px !important;
  font-size: 14px !important;
}
.order-summary-actions .order-total-preview {
  min-height: 78px !important;
  padding: 14px !important;
  border-radius: 15px !important;
}
.order-summary-actions .order-total-preview span,
.order-summary-actions .order-total-preview p {
  font-size: 12px !important;
}
.order-summary-actions .order-total-preview strong {
  font-size: 19px !important;
}
.order-summary-actions #submit-order-button {
  min-height: 46px !important;
  margin-top: 8px !important;
  font-size: 14px !important;
}
.orders-table {
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 980px !important;
}
.orders-table th,
.orders-table td {
  padding: 9px 10px !important;
  font-size: 12.5px !important;
  vertical-align: top !important;
}
.orders-table th {
  height: 48px !important;
  font-size: 12px !important;
}
.orders-table td {
  height: 58px !important;
}
.orders-table th:nth-child(1), .orders-table td:nth-child(1) { width: 10% !important; }
.orders-table th:nth-child(2), .orders-table td:nth-child(2) { width: 8% !important; }
.orders-table th:nth-child(3), .orders-table td:nth-child(3) { width: 10% !important; }
.orders-table th:nth-child(4), .orders-table td:nth-child(4) { width: 9% !important; }
.orders-table th:nth-child(5), .orders-table td:nth-child(5) { width: 31% !important; }
.orders-table th:nth-child(6), .orders-table td:nth-child(6) { width: 21% !important; }
.orders-table th:nth-child(7), .orders-table td:nth-child(7) { width: 11% !important; }
.order-code {
  text-decoration: none !important;
  font-size: 13px !important;
  letter-spacing: .04em !important;
}
.order-total-cell {
  font-size: 13px !important;
}
.order-units-count { display: none !important; }
.status {
  font-size: 10.5px !important;
  padding: 5px 8px !important;
}
.odoo-pill,
.tracking-empty,
.tracking-link,
.invoice-link {
  font-size: 11.5px !important;
}
.tracking-link-number {
  display: inline !important;
  font-size: 10.5px !important;
}
.order-actions {
  display: grid !important;
  gap: 7px !important;
}
.order-preview-button,
.orders-table .button.muted {
  width: 100% !important;
  min-height: 34px !important;
  padding: 7px 8px !important;
  font-size: 11.5px !important;
  line-height: 1.15 !important;
  border-radius: 999px !important;
  white-space: normal !important;
}
.order-detail-row td {
  background: #fff !important;
  overflow: visible !important;
}
.order-preview-panel {
  position: relative;
  margin: -1px 14px 16px !important;
  padding: 18px 20px 20px !important;
  border: 1px solid #dfe7f1 !important;
  border-top: 0 !important;
  border-radius: 0 0 20px 20px !important;
  background: linear-gradient(180deg,#ffffff 0%,#fbfcff 100%) !important;
  box-shadow: 0 18px 36px rgba(17,24,39,.08) !important;
  animation: lygisOrderDrop .18s ease-out;
}
.order-preview-panel:before {
  content: "";
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #cdd8e6, transparent);
}
@keyframes lygisOrderDrop {
  from { opacity: .4; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}
.order-preview-head {
  margin-bottom: 12px !important;
}
.order-preview-head strong {
  font-size: 16px !important;
}
.order-preview-list {
  gap: 9px !important;
}
.order-preview-line {
  display: grid !important;
  grid-template-columns: 54px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 16px !important;
  background: #fff !important;
}
.order-preview-media img,
.order-preview-image-placeholder {
  width: 54px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e6eaf1 !important;
  border-radius: 13px !important;
  background: #fff !important;
  object-fit: contain !important;
  padding: 5px !important;
  color: #667085 !important;
  font-weight: 900 !important;
  font-size: 11px !important;
}
.order-preview-product strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.order-preview-product span {
  font-size: 11.5px !important;
}
.order-preview-line-total {
  font-size: 13px !important;
  white-space: nowrap;
}
.order-preview-total {
  margin-top: 10px !important;
  padding-top: 10px !important;
}
.order-preview-total strong {
  font-size: 17px !important;
}
.portal-sepa-card .portal-page-head h1,
#portal-panel-sepa .portal-page-head h1 {
  font-size: clamp(26px, 2.7vw, 34px) !important;
}
.portal-inline-panel-head span:empty {
  display: none !important;
}
@media (min-width: 1420px) {
  .orders-table { min-width: 0 !important; }
  .portal-wrap { padding-left: 54px !important; padding-right: 54px !important; }
}
@media (max-width: 1180px) {
  .orders-table { min-width: 960px !important; }
  .order-final-block { grid-template-columns: 1fr !important; }
}
@media (max-width: 760px) {
  #order-form .product-card,
  #order-form .single-product .product-card {
    grid-template-columns: 92px minmax(0,1fr) !important;
  }
  #order-form .product-card img,
  #order-form .single-product .product-card img {
    width: 92px !important;
    height: 92px !important;
  }
}


/* V8 final: portal Qogita compact/pro */
.portal-page-head h1 { font-size: clamp(26px,2.4vw,34px) !important; line-height: 1.06 !important; letter-spacing: -.045em !important; }
.portal-page-head p { font-size: 14px !important; margin-top: 8px !important; }
.portal-section-head h2, .portal-section-card h2 { font-size: 21px !important; }
.portal-benefits-inner { gap: 34px !important; }
.portal-benefits-inner span { font-size: 12.5px !important; }
.portal-section-card { padding: 18px !important; }
#portal-panel-nuevo .portal-section-card { padding: 14px !important; }
#order-form { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(360px, .82fr) !important; gap: 14px !important; align-items: start !important; }
#order-form > .grid.products { grid-column: 1 !important; grid-row: 1 / span 3 !important; margin: 0 !important; }
#order-form > .shipping-methods:first-of-type { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; }
#order-form > .shipping-methods:nth-of-type(2) { grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; }
#order-form > .order-final-block { grid-column: 1 / -1 !important; grid-row: 4 !important; margin: 0 !important; }
#order-form > .grid.products, #order-form > .grid.products.single-product { grid-template-columns: 1fr !important; gap: 10px !important; }
#order-form .product-card, #order-form .single-product .product-card { grid-template-columns: 96px minmax(0,1fr) !important; gap: 14px !important; padding: 14px !important; min-height: 168px !important; }
#order-form .product-card > img, #order-form .single-product .product-card > img { width: 96px !important; height: 96px !important; padding: 9px !important; border-radius: 16px !important; background: #fff !important; object-fit: contain !important; }
#order-form .product-info h3 { font-size: 15px !important; line-height: 1.22 !important; margin: 0 0 3px !important; max-width: 100% !important; }
#order-form .product-info .ean { font-size: 11.5px !important; margin: 1px 0 6px !important; }
#order-form .price { font-size: 20px !important; margin: 5px 0 7px !important; }
#order-form label { font-size: 12px !important; margin: 0 0 5px !important; }
.quantity-stepper-row { display: grid !important; grid-template-columns: 32px 70px 32px !important; gap: 6px !important; align-items: center !important; width: max-content !important; }
.qty-stepper { width: 32px !important; height: 36px !important; min-height: 36px !important; padding: 0 !important; border-radius: 11px !important; display: grid !important; place-items: center !important; font-size: 22px !important; line-height: 1 !important; background: #fff !important; border: 1px solid #d4dbe7 !important; color: #111827 !important; }
#order-form .quantity-input { width: 70px !important; height: 36px !important; min-height: 36px !important; padding: 0 6px !important; text-align: center !important; border-radius: 11px !important; font-size: 14px !important; }
.qty-inline-error { grid-column: 1 / -1 !important; font-size: 11px !important; }
#portal-panel-nuevo .shipping-methods { padding: 13px !important; border-radius: 18px !important; }
#portal-panel-nuevo .shipping-methods-title { font-size: 13px !important; margin: 0 0 8px !important; }
#portal-panel-nuevo .shipping-methods-options { gap: 8px !important; }
#portal-panel-nuevo .shipping-method-option { min-height: 48px !important; padding: 9px 11px !important; border-radius: 14px !important; }
#portal-panel-nuevo .shipping-method-copy strong { font-size: 13.5px !important; }
#portal-panel-nuevo .shipping-method-copy span { font-size: 11px !important; }
#portal-panel-nuevo .bank-transfer-details { margin: 9px 0 0 !important; padding: 0 !important; border: 1px solid #dce3ef !important; border-radius: 15px !important; background: #fff !important; }
#portal-panel-nuevo .bank-transfer-details > summary { padding: 10px 12px !important; font-size: 12.5px !important; cursor: pointer !important; font-weight: 800 !important; list-style: none !important; }
#portal-panel-nuevo .bank-transfer-details > summary::-webkit-details-marker { display:none !important; }
#portal-panel-nuevo .bank-transfer-details-body { padding: 0 12px 12px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; }
#portal-panel-nuevo .bank-transfer-details-body strong { font-size: 13px !important; color:#0f5d46 !important; }
#portal-panel-nuevo .copy-bank-button { min-height: 34px !important; padding: 7px 12px !important; font-size: 12px !important; white-space: nowrap !important; }
.order-final-block { grid-template-columns: minmax(0,1fr) minmax(280px,340px) !important; gap: 12px !important; padding: 13px !important; border-radius: 18px !important; }
.order-notes-block textarea { min-height: 72px !important; font-size: 13px !important; }
.order-summary-actions { display: grid !important; grid-template-rows: auto auto !important; gap: 10px !important; }
.order-summary-actions .order-total-preview { min-height: 72px !important; padding: 12px !important; border-radius: 14px !important; }
.order-summary-actions .order-total-preview strong { font-size: 18px !important; }
.submit-row { position: relative !important; }
.submit-row #submit-order-button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; width: 100% !important; min-height: 46px !important; border-radius: 999px !important; margin: 0 !important; overflow: hidden !important; }
.submit-row .submit-spinner { position: static !important; width: 17px !important; height: 17px !important; margin: 0 !important; border-width: 2px !important; display: none !important; transform: none !important; }
.submit-row .submit-spinner.is-visible { display: inline-block !important; }
.orders-table { table-layout: auto !important; width: 100% !important; min-width: 0 !important; }
.orders-table th, .orders-table td { padding: 10px 12px !important; font-size: 12.5px !important; line-height: 1.35 !important; }
.orders-table th:nth-child(1), .orders-table td:nth-child(1) { width: 9% !important; }
.orders-table th:nth-child(2), .orders-table td:nth-child(2) { width: 8% !important; }
.orders-table th:nth-child(3), .orders-table td:nth-child(3) { width: 10% !important; }
.orders-table th:nth-child(4), .orders-table td:nth-child(4) { width: 8% !important; }
.orders-table th:nth-child(5), .orders-table td:nth-child(5) { width: 30% !important; }
.orders-table th:nth-child(6), .orders-table td:nth-child(6) { width: 24% !important; }
.orders-table th:nth-child(7), .orders-table td:nth-child(7) { width: 11% !important; }
.order-code { text-decoration: none !important; border: 0 !important; font-size: 12.5px !important; letter-spacing: .055em !important; }
.tracking-row { max-width: none !important; }
.tracking-link { display: inline-flex !important; flex-wrap: wrap !important; gap: 4px 7px !important; max-width: 100% !important; white-space: normal !important; word-break: normal !important; }
.tracking-link-number { display: inline !important; max-width: none !important; overflow: visible !important; text-overflow: clip !important; white-space: normal !important; word-break: break-all !important; font-family: ui-monospace,SFMono-Regular,Menlo,monospace !important; font-size: 10.8px !important; }
.invoice-actions { margin-top: 7px !important; }
.order-actions { gap: 6px !important; }
.order-preview-button, .orders-table .button.muted { min-height: 33px !important; padding: 7px 9px !important; font-size: 11.5px !important; white-space: nowrap !important; }
.order-detail-row td { padding: 0 !important; background: #fff !important; }
.order-preview-panel { margin: -1px 18px 18px !important; padding: 14px 16px 16px !important; border: 1px solid #dbe4f0 !important; border-top: 0 !important; border-radius: 0 0 22px 22px !important; background: linear-gradient(180deg,#fff 0%,#fbfcff 100%) !important; box-shadow: 0 22px 42px rgba(16,24,40,.11) !important; transform-origin: top center !important; animation: lygisOrderDrop .22s ease-out !important; }
.order-preview-panel:after { content:""; position:absolute; top:-1px; left:42px; width:72px; height:3px; border-radius:999px; background:#111827; opacity:.12; }
.order-preview-head { display:none !important; }
.order-preview-list { display: grid !important; gap: 8px !important; }
.order-preview-line { display: grid !important; grid-template-columns: 48px minmax(0,1fr) auto !important; gap: 11px !important; align-items: center !important; padding: 9px 10px !important; border: 1px solid #e4e9f2 !important; border-radius: 15px !important; background: #fff !important; }
.order-preview-media img, .order-preview-image-placeholder { width: 48px !important; height: 48px !important; object-fit: contain !important; background: #fff !important; border: 1px solid #e5e8f0 !important; border-radius: 12px !important; padding: 5px !important; }
.order-preview-product strong { font-size: 12.8px !important; line-height: 1.25 !important; }
.order-preview-product span { font-size: 11.5px !important; color:#667085 !important; }
.order-preview-line-total { font-size: 12.8px !important; white-space: nowrap !important; }
.order-preview-total { margin-top: 8px !important; padding-top: 9px !important; }
.order-preview-total strong { font-size: 15px !important; }
#portal-panel-sepa .portal-page-head h1 { font-size: clamp(24px,2.2vw,32px) !important; }
#portal-panel-sepa .portal-section-card { padding: 22px !important; }
#portal-panel-sepa .portal-section-head h2 { font-size: 24px !important; }
#portal-panel-sepa .portal-info-card strong { font-size: 17px !important; }
@media (min-width: 1500px) { .portal-wrap { padding-left: 64px !important; padding-right: 64px !important; } }
@media (max-width: 1220px) { #order-form { grid-template-columns: 1fr !important; } #order-form > .grid.products, #order-form > .shipping-methods:first-of-type, #order-form > .shipping-methods:nth-of-type(2), #order-form > .order-final-block { grid-column: auto !important; grid-row: auto !important; } .orders-table { min-width: 980px !important; } }
@media (max-width: 820px) { .order-final-block { grid-template-columns: 1fr !important; } .portal-page-head h1 { font-size: 26px !important; } }


/* V9: ajuste real de desplegables y checkout compacto */
.portal-page-head h1{
  font-size:clamp(24px,2.15vw,31px)!important;
  margin-top:0!important;
}
.portal-page-head p{max-width:820px!important;}
#portal-panel-nuevo .portal-section-card{padding:16px!important;}
#order-form{
  display:grid!important;
  grid-template-columns:minmax(460px,1.02fr) minmax(360px,.82fr)!important;
  grid-template-areas:
    "products delivery"
    "products payment"
    "final final"!important;
  gap:12px!important;
  align-items:start!important;
}
#order-form>.order-products-block{
  grid-area:products!important;
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
}
#order-form>.delivery-methods-block{
  grid-area:delivery!important;
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
}
#order-form>.payment-methods-block{
  grid-area:payment!important;
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
}
#order-form>.order-final-block{
  grid-area:final!important;
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
}
#order-form>.order-products-block,
#order-form>.order-products-block.single-product{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
#order-form .product-card,
#order-form .single-product .product-card{
  grid-template-columns:112px minmax(0,1fr)!important;
  min-height:156px!important;
  padding:14px!important;
  align-items:center!important;
}
#order-form .product-card>img,
#order-form .single-product .product-card>img{
  width:112px!important;
  height:112px!important;
  border-radius:18px!important;
  background:#fff!important;
  object-fit:contain!important;
  padding:10px!important;
}
#order-form .product-info h3{font-size:14.5px!important;line-height:1.22!important;margin-bottom:3px!important;}
#order-form .product-info .ean{font-size:11px!important;margin:0 0 5px!important;}
#order-form .price{font-size:19px!important;margin:5px 0 7px!important;}
.quantity-stepper-row{grid-template-columns:30px 66px 30px!important;gap:6px!important;}
.qty-stepper{width:30px!important;height:34px!important;min-height:34px!important;border-radius:10px!important;font-size:20px!important;}
#order-form .quantity-input{width:66px!important;height:34px!important;min-height:34px!important;border-radius:10px!important;}
#portal-panel-nuevo .shipping-methods{padding:14px!important;border-radius:18px!important;background:#fbfcff!important;}
#portal-panel-nuevo .shipping-methods-options{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
#portal-panel-nuevo .shipping-method-option{min-height:46px!important;padding:9px 11px!important;flex:0 1 auto!important;}
#portal-panel-nuevo .payment-methods-block .shipping-method-option{max-width:360px!important;}
#portal-panel-nuevo details.bank-transfer-details{margin-top:10px!important;border-radius:16px!important;overflow:hidden!important;}
#portal-panel-nuevo details.bank-transfer-details:not([open]) .bank-transfer-details-body{display:none!important;}
#portal-panel-nuevo .bank-transfer-details>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}
#portal-panel-nuevo .bank-transfer-details>summary span{font-weight:900!important;}
#portal-panel-nuevo .bank-transfer-details>summary em{
  font-style:normal!important;
  font-size:11px!important;
  color:#64748b!important;
}
#portal-panel-nuevo .bank-transfer-details[open]>summary em{font-size:0!important;}
#portal-panel-nuevo .bank-transfer-details[open]>summary em:after{content:'Ocultar';font-size:11px!important;}
#portal-panel-nuevo .bank-transfer-details>summary:after{
  content:'+';
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid #d8e1ec;
  border-radius:999px;
  font-weight:900;
  color:#111827;
  background:#fff;
}
#portal-panel-nuevo .bank-transfer-details[open]>summary:after{content:'−';}
#portal-panel-nuevo .bank-transfer-details-body{
  padding:0 14px 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
}
#portal-panel-nuevo .copy-bank-button{border-radius:999px!important;}
.order-final-block{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(440px,.62fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:14px!important;
  background:#fff!important;
}
.order-notes-block{height:100%!important;}
.order-notes-block textarea{min-height:78px!important;height:calc(100% - 24px)!important;}
.order-summary-actions{
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) minmax(170px,200px)!important;
  grid-template-rows:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.order-summary-actions .order-total-preview{min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.order-summary-actions .submit-row{display:flex!important;align-items:center!important;}
.submit-row #submit-order-button{height:54px!important;min-height:54px!important;margin:0!important;}
.submit-row .submit-spinner.is-visible{display:inline-block!important;}

/* V9: tabla y acordeón de pedido mejor encajados */
.portal-orders-card{padding:16px!important;overflow:hidden!important;}
.table-wrap{overflow-x:auto!important;}
.orders-table{width:100%!important;min-width:1080px!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important;}
.orders-table th,.orders-table td{padding:9px 10px!important;font-size:12px!important;line-height:1.32!important;vertical-align:top!important;}
.orders-table th:nth-child(1),.orders-table td:nth-child(1){width:8.5%!important;}
.orders-table th:nth-child(2),.orders-table td:nth-child(2){width:7.5%!important;}
.orders-table th:nth-child(3),.orders-table td:nth-child(3){width:9.5%!important;}
.orders-table th:nth-child(4),.orders-table td:nth-child(4){width:8%!important;}
.orders-table th:nth-child(5),.orders-table td:nth-child(5){width:27%!important;}
.orders-table th:nth-child(6),.orders-table td:nth-child(6){width:29%!important;}
.orders-table th:nth-child(7),.orders-table td:nth-child(7){width:11.5%!important;}
.tracking-row,.invoice-actions{max-width:none!important;}
.tracking-link{
  display:flex!important;
  width:fit-content!important;
  max-width:100%!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
}
.tracking-link-number{
  display:inline!important;
  white-space:normal!important;
  word-break:break-all!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:none!important;
  font-size:10.5px!important;
}
.order-actions{min-width:108px!important;}
.order-preview-button,.orders-table .button.muted{font-size:11px!important;padding:7px 8px!important;white-space:nowrap!important;}
.order-detail-row td{
  padding:0!important;
  background:#f8fafc!important;
  border-bottom:1px solid #dce4ef!important;
  position:relative!important;
}
.order-detail-row td:before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background:#dbe4f0;
}
.order-preview-panel{
  position:relative!important;
  margin:0!important;
  padding:14px 16px 16px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%)!important;
  box-shadow:inset 0 14px 20px rgba(15,23,42,.045)!important;
  animation:lygisOrderDrop .18s ease-out!important;
}
.order-preview-panel:after{
  content:''!important;
  position:absolute!important;
  top:0!important;
  left:28px!important;
  width:96px!important;
  height:3px!important;
  border-radius:0 0 999px 999px!important;
  background:#cbd5e1!important;
  opacity:1!important;
}
.order-preview-list{display:grid!important;gap:8px!important;}
.order-preview-line{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px 12px!important;
  border:1px solid #e3e9f2!important;
  border-radius:16px!important;
  background:#fff!important;
}
.order-preview-media{width:52px!important;height:52px!important;border:1px solid #e5eaf2!important;border-radius:14px!important;background:#fff!important;display:grid!important;place-items:center!important;overflow:hidden!important;}
.order-preview-media img,.order-preview-image-placeholder{width:52px!important;height:52px!important;padding:6px!important;border:0!important;border-radius:0!important;object-fit:contain!important;background:#fff!important;}
.order-preview-product strong{font-size:12.8px!important;line-height:1.28!important;}
.order-preview-product span{font-size:11.2px!important;color:#667085!important;}
.order-preview-line-total{font-size:12.8px!important;white-space:nowrap!important;}
.order-preview-total{margin-top:9px!important;padding-top:10px!important;border-top:1px solid #e3e9f2!important;display:flex!important;justify-content:flex-end!important;gap:14px!important;align-items:baseline!important;}
.order-preview-total strong{font-size:15px!important;}
@media(max-width:1320px){
  #order-form{grid-template-columns:1fr!important;grid-template-areas:"products" "delivery" "payment" "final"!important;}
  .order-final-block{grid-template-columns:1fr!important;}
  .order-summary-actions{grid-template-columns:1fr!important;}
  .orders-table{min-width:1040px!important;}
}



/* Lygis V10: ajuste de checkout, desplegable y carga */
@keyframes portal-spin {
  to { transform: rotate(360deg); }
}

/* Textos/títulos un poco más proporcionados */
.portal-page-head h1 {
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.06 !important;
}
.portal-page-head p {
  font-size: 13.5px !important;
}

/* Nuevo pedido: orden claro y sin bloques cortados */
#portal-panel-nuevo .portal-section-card {
  padding: 14px !important;
  overflow: visible !important;
}
#order-form {
  display: grid !important;
  grid-template-columns: minmax(420px, 1.08fr) minmax(330px, .92fr) !important;
  grid-template-areas:
    "products delivery"
    "products payment"
    "final final" !important;
  gap: 12px !important;
  align-items: start !important;
}
#order-form > .order-products-block {
  grid-area: products !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
}
#order-form > .delivery-methods-block {
  grid-area: delivery !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
}
#order-form > .payment-methods-block {
  grid-area: payment !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin: 0 !important;
}
#order-form > .order-final-block {
  grid-area: final !important;
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  margin: 0 !important;
}

/* Producto compacto, foto cuadrada y cantidad clara */
#order-form .product-card,
#order-form .single-product .product-card {
  min-height: 0 !important;
  grid-template-columns: 112px minmax(0,1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px !important;
}
#order-form .product-card > img,
#order-form .single-product .product-card > img {
  width: 112px !important;
  height: 112px !important;
  min-width: 112px !important;
  object-fit: contain !important;
  background: #fff !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 18px !important;
  padding: 10px !important;
}
#order-form .product-info {
  min-width: 0 !important;
}
#order-form .product-info h3 {
  font-size: 14.5px !important;
  line-height: 1.22 !important;
  margin: 0 0 3px !important;
}
#order-form .product-info .ean {
  font-size: 11px !important;
  margin: 0 0 5px !important;
}
#order-form .price {
  font-size: 19px !important;
  line-height: 1.1 !important;
  margin: 5px 0 7px !important;
}
.quantity-stepper-row {
  grid-template-columns: 30px 66px 30px !important;
  gap: 6px !important;
  width: max-content !important;
}
.qty-stepper {
  width: 30px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 10px !important;
  font-size: 20px !important;
  padding: 0 !important;
}
#order-form .quantity-input {
  width: 66px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 6px !important;
}

/* Entrega / pago más legible */
#portal-panel-nuevo .shipping-methods {
  padding: 14px !important;
  border-radius: 18px !important;
  background: #fbfcff !important;
}
#portal-panel-nuevo .shipping-methods-title {
  font-size: 13px !important;
  margin: 0 0 9px !important;
}
#portal-panel-nuevo .shipping-methods-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#portal-panel-nuevo .shipping-method-option {
  min-height: 48px !important;
  padding: 9px 11px !important;
  border-radius: 15px !important;
}
#portal-panel-nuevo .shipping-method-copy strong {
  font-size: 13.5px !important;
}
#portal-panel-nuevo .shipping-method-copy span {
  font-size: 11px !important;
}

/* Cuenta bancaria: cerrada de verdad hasta pulsar */
#portal-panel-nuevo details.bank-transfer-details {
  margin-top: 10px !important;
  border: 1px solid #dce4ef !important;
  border-radius: 16px !important;
  background: #fff !important;
  overflow: hidden !important;
}
#portal-panel-nuevo details.bank-transfer-details:not([open]) .bank-transfer-details-body {
  display: none !important;
}
#portal-panel-nuevo .bank-transfer-details > summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  cursor: pointer !important;
  list-style: none !important;
}
#portal-panel-nuevo .bank-transfer-details > summary::-webkit-details-marker {
  display: none !important;
}
#portal-panel-nuevo .bank-transfer-details > summary span {
  font-weight: 900 !important;
}
#portal-panel-nuevo .bank-transfer-details > summary em {
  font-style: normal !important;
  font-size: 11px !important;
  color: #64748b !important;
}
#portal-panel-nuevo .bank-transfer-details[open] > summary em {
  font-size: 0 !important;
}
#portal-panel-nuevo .bank-transfer-details[open] > summary em::after {
  content: "Ocultar";
  font-size: 11px !important;
}
#portal-panel-nuevo .bank-transfer-details > summary::after {
  content: "+" !important;
  width: 22px !important;
  height: 22px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #d8e1ec !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  color: #111827 !important;
  background: #fff !important;
}
#portal-panel-nuevo .bank-transfer-details[open] > summary::after {
  content: "−" !important;
}
#portal-panel-nuevo .bank-transfer-details-body {
  padding: 0 14px 14px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 12px !important;
  align-items: end !important;
}
#portal-panel-nuevo .bank-transfer-details-body strong {
  font-size: 14px !important;
  color: #0f5132 !important;
}
#portal-panel-nuevo .copy-bank-button {
  border-radius: 999px !important;
  white-space: nowrap !important;
}

/* Notas + resumen + botón: que no se corte nada */
.order-final-block {
  display: grid !important;
  grid-template-columns: minmax(430px,1fr) 260px 220px !important;
  gap: 12px !important;
  align-items: stretch !important;
  padding: 14px !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: visible !important;
}
.order-notes-block {
  min-width: 0 !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
}
.order-notes-block label {
  display: block !important;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
.order-notes-block textarea {
  width: 100% !important;
  min-height: 92px !important;
  height: 92px !important;
  max-height: 180px !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  padding: 12px !important;
}
.order-summary-actions {
  display: contents !important;
}
.order-summary-actions .order-total-preview {
  grid-column: 2 !important;
  min-height: 92px !important;
  height: auto !important;
  padding: 13px !important;
  border-radius: 15px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.order-summary-actions .order-total-preview span,
.order-summary-actions .order-total-preview p {
  font-size: 11.5px !important;
  line-height: 1.25 !important;
}
.order-summary-actions .order-total-preview strong {
  font-size: 18px !important;
  line-height: 1.1 !important;
}
.order-summary-actions .submit-row {
  grid-column: 3 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.submit-row #submit-order-button {
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  overflow: hidden !important;
}
#submit-order-button:disabled {
  opacity: .95 !important;
  cursor: wait !important;
}
#submit-spinner {
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,255,255,.42) !important;
  border-top-color: #fff !important;
  animation: portal-spin .72s linear infinite !important;
  margin: 0 !important;
}
#submit-spinner::before {
  content: none !important;
}
#submit-spinner:not(.is-visible) {
  display: none !important;
}
#submit-spinner.is-visible {
  display: inline-block !important;
}

/* Pedidos: que entren columnas, seguimiento y acordeón completo */
.portal-orders-card {
  padding: 14px !important;
  overflow: visible !important;
}
.table-wrap {
  overflow-x: visible !important;
  max-width: 100% !important;
}
.orders-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.orders-table th,
.orders-table td {
  padding: 8px 9px !important;
  font-size: 11.7px !important;
  line-height: 1.32 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}
.orders-table th:nth-child(1), .orders-table td:nth-child(1) { width: 8.2% !important; }
.orders-table th:nth-child(2), .orders-table td:nth-child(2) { width: 7.5% !important; }
.orders-table th:nth-child(3), .orders-table td:nth-child(3) { width: 9.2% !important; }
.orders-table th:nth-child(4), .orders-table td:nth-child(4) { width: 8.2% !important; }
.orders-table th:nth-child(5), .orders-table td:nth-child(5) { width: 26.5% !important; }
.orders-table th:nth-child(6), .orders-table td:nth-child(6) { width: 29.2% !important; }
.orders-table th:nth-child(7), .orders-table td:nth-child(7) { width: 11.2% !important; }
.order-code {
  text-decoration: none !important;
  border: 0 !important;
  font-size: 12px !important;
  letter-spacing: .05em !important;
}
.status,
.odoo-pill,
.tracking-link,
.invoice-link {
  max-width: 100% !important;
}
.tracking-row,
.invoice-actions {
  max-width: none !important;
  width: 100% !important;
}
.tracking-link {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px 6px !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
}
.tracking-link-number {
  display: inline !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
  font-size: 10.4px !important;
}
.order-actions {
  min-width: 0 !important;
  gap: 6px !important;
}
.order-actions .button,
.order-preview-button {
  width: 100% !important;
  max-width: 118px !important;
  padding: 7px 8px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

/* Acordeón: debajo de la fila, sin cortar por los lados */
.order-detail-row[hidden] {
  display: none !important;
}
.order-detail-row td {
  padding: 0 !important;
  background: #f8fafc !important;
  border-bottom: 1px solid #dce4ef !important;
  overflow: visible !important;
}
.order-preview-panel {
  position: relative !important;
  width: calc(100% - 18px) !important;
  max-width: calc(100% - 18px) !important;
  margin: 0 9px 12px !important;
  padding: 13px !important;
  box-sizing: border-box !important;
  border: 1px solid #e1e8f2 !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: linear-gradient(180deg,#f8fafc 0%,#fff 100%) !important;
  box-shadow: 0 18px 34px rgba(15,23,42,.07) !important;
  animation: lygisOrderDrop .18s ease-out !important;
  overflow: visible !important;
}
.order-preview-panel::after {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: 28px !important;
  width: 96px !important;
  height: 3px !important;
  border-radius: 0 0 999px 999px !important;
  background: #cbd5e1 !important;
}
.order-preview-list {
  display: grid !important;
  gap: 8px !important;
}
.order-preview-line {
  display: grid !important;
  grid-template-columns: 50px minmax(0,1fr) auto !important;
  gap: 11px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 10px !important;
  border: 1px solid #e3e9f2 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.order-preview-media {
  width: 50px !important;
  height: 50px !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 13px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.order-preview-media img,
.order-preview-image-placeholder {
  width: 50px !important;
  height: 50px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  background: #fff !important;
}
.order-preview-product {
  min-width: 0 !important;
}
.order-preview-product strong {
  display: block !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.order-preview-product span {
  display: block !important;
  margin-top: 2px !important;
  font-size: 11px !important;
  color: #667085 !important;
}
.order-preview-line-total {
  font-size: 12.8px !important;
  white-space: nowrap !important;
}
.order-preview-total {
  margin-top: 9px !important;
  padding-top: 10px !important;
  border-top: 1px solid #e3e9f2 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  align-items: baseline !important;
}
.order-preview-total span {
  font-size: 12px !important;
}
.order-preview-total strong {
  font-size: 15px !important;
}

@media (max-width: 1300px) {
  #order-form {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "products"
      "delivery"
      "payment"
      "final" !important;
  }
  .order-final-block {
    grid-template-columns: 1fr 220px !important;
  }
  .order-notes-block {
    grid-column: 1 / -1 !important;
  }
  .order-summary-actions .order-total-preview {
    grid-column: 1 !important;
  }
  .order-summary-actions .submit-row {
    grid-column: 2 !important;
  }
  .orders-table th,
  .orders-table td {
    font-size: 11px !important;
    padding: 7px !important;
  }
  .order-actions .button,
  .order-preview-button {
    max-width: 104px !important;
  }
}
@media (max-width: 860px) {
  .table-wrap {
    overflow-x: auto !important;
  }
  .orders-table {
    min-width: 920px !important;
  }
  .order-final-block {
    grid-template-columns: 1fr !important;
  }
  .order-summary-actions .order-total-preview,
  .order-summary-actions .submit-row {
    grid-column: 1 !important;
  }
}




/* Lygis V11: spinner dentro del botón y detalle de pedido completo */
@keyframes lygisButtonSpin {
  to { transform: rotate(360deg); }
}

/* Botón Calcular: círculo dentro del botón, siempre visible al calcular */
#submit-order-button {
  position: relative !important;
}
#submit-order-button #submit-spinner,
#submit-order-button .submit-spinner {
  display: none !important;
}
#submit-order-button.is-loading {
  cursor: wait !important;
  opacity: .98 !important;
}
#submit-order-button.is-loading::after {
  content: "" !important;
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  margin-left: 2px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(255,255,255,.42) !important;
  border-top-color: #fff !important;
  animation: lygisButtonSpin .68s linear infinite !important;
  display: inline-block !important;
}

/* Mis pedidos: evitar que el acordeón se corte o quede estrecho */
.portal-orders-card,
.portal-orders-card .table-wrap {
  overflow: visible !important;
}
.orders-table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.orders-table th,
.orders-table td {
  box-sizing: border-box !important;
}
.orders-table th:nth-child(1), .orders-table td:nth-child(1) { width: 8% !important; }
.orders-table th:nth-child(2), .orders-table td:nth-child(2) { width: 7.5% !important; }
.orders-table th:nth-child(3), .orders-table td:nth-child(3) { width: 9% !important; }
.orders-table th:nth-child(4), .orders-table td:nth-child(4) { width: 8% !important; }
.orders-table th:nth-child(5), .orders-table td:nth-child(5) { width: 25% !important; }
.orders-table th:nth-child(6), .orders-table td:nth-child(6) { width: 30% !important; }
.orders-table th:nth-child(7), .orders-table td:nth-child(7) { width: 12.5% !important; }

/* La fila desplegada ocupa toda la tabla y no hereda alturas/anchos raros */
.order-detail-row {
  display: table-row;
}
.order-detail-row[hidden] {
  display: none !important;
}
.order-detail-row > td {
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  background: #f8fafc !important;
  border-left: 1px solid #dfe6f0 !important;
  border-right: 1px solid #dfe6f0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  overflow: visible !important;
}

/* Acordeón tipo “se descuelga”, pero contenido completo y centrado */
.order-preview-panel {
  display: block !important;
  position: relative !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px 18px 20px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 92%) !important;
  box-shadow: inset 0 18px 22px rgba(15,23,42,.045) !important;
  overflow: visible !important;
  animation: lygisOrderDrop .18s ease-out !important;
}
.order-preview-panel::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 24px !important;
  width: 130px !important;
  height: 3px !important;
  border-radius: 0 0 999px 999px !important;
  background: #cbd5e1 !important;
}
.order-preview-panel::after {
  content: none !important;
}

.order-preview-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
}
.order-preview-line {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) max-content !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  background: #fff !important;
}
.order-preview-media {
  width: 58px !important;
  height: 58px !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 14px !important;
  background: #fff !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.order-preview-media img,
.order-preview-image-placeholder {
  width: 58px !important;
  height: 58px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  background: #fff !important;
}
.order-preview-product {
  min-width: 0 !important;
}
.order-preview-product strong {
  display: block !important;
  max-width: 100% !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  color: #111827 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.order-preview-product span {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11.5px !important;
  color: #667085 !important;
}
.order-preview-line-total {
  justify-self: end !important;
  font-size: 13px !important;
  color: #111827 !important;
  white-space: nowrap !important;
}
.order-preview-total {
  width: 100% !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e2e8f0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 14px !important;
}
.order-preview-total span {
  color: #667085 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.order-preview-total strong {
  color: #111827 !important;
  font-size: 15px !important;
}

/* Acciones más compactas para ganar espacio al detalle */
.order-actions {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.order-actions .button,
.order-preview-button {
  width: 100% !important;
  max-width: none !important;
  min-height: 34px !important;
  padding: 7px 8px !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

/* Seguimiento entero */
.tracking-link-number {
  display: inline !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

/* En pantallas medianas, permitimos scroll horizontal antes que cortar el desplegable */
@media (max-width: 980px) {
  .portal-orders-card .table-wrap {
    overflow-x: auto !important;
  }
  .orders-table {
    min-width: 980px !important;
  }
}




/* Lygis V12: cantidad limpia, sin flechas internas del navegador */
.quantity-input,
#order-form .quantity-input,
input.quantity-input[type="number"] {
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  text-align: center !important;
  padding: 0 !important;
  font-weight: 900 !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

/* Chrome, Edge, Safari */
.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button,
#order-form .quantity-input::-webkit-outer-spin-button,
#order-form .quantity-input::-webkit-inner-spin-button,
input.quantity-input[type="number"]::-webkit-outer-spin-button,
input.quantity-input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

/* Firefox */
input.quantity-input[type="number"] {
  -moz-appearance: textfield !important;
}

.quantity-stepper-row {
  grid-template-columns: 42px 86px 42px !important;
  gap: 10px !important;
  align-items: center !important;
}

.qty-stepper {
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 15px !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

#order-form .quantity-input {
  width: 86px !important;
  height: 42px !important;
  min-height: 42px !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
}




/* Lygis V13: desplegable de pedidos separado, sin solaparse ni esconder contenido */
#portal-panel-pedidos,
#mis-pedidos,
.portal-orders-card,
.portal-orders-card .table-wrap {
  overflow: visible !important;
}

.orders-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  width: 100% !important;
  min-width: 0 !important;
}

.orders-table tbody tr.order-row > td {
  height: auto !important;
  min-height: 72px !important;
  position: relative !important;
  z-index: 2 !important;
  background: #fff !important;
}

.orders-table tbody tr.order-detail-row,
.orders-table tbody tr.order-detail-row.is-open {
  height: auto !important;
  min-height: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.orders-table tbody tr.order-detail-row[hidden] {
  display: none !important;
}

.orders-table tbody tr.order-detail-row > td {
  height: auto !important;
  min-height: 0 !important;
  padding: 14px 14px 18px !important;
  vertical-align: top !important;
  background: #f7f9fc !important;
  border-left: 1px solid #dfe6f0 !important;
  border-right: 1px solid #dfe6f0 !important;
  border-bottom: 1px solid #dfe6f0 !important;
  border-top: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
}

.orders-table tbody tr.order-detail-row > td::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: #dfe6f0 !important;
}

.order-preview-panel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid #e1e8f2 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 16px 32px rgba(15,23,42,.08) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  transform: none !important;
  animation: lygisOrderDrop .16s ease-out !important;
}

.order-preview-panel::before,
.order-preview-panel::after {
  content: none !important;
}

.order-preview-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
}

.order-preview-line {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: 62px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 12px 14px !important;
  border: 1px solid #e4eaf3 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.order-preview-media {
  width: 62px !important;
  height: 62px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #e4eaf3 !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.order-preview-media img,
.order-preview-image-placeholder {
  width: 62px !important;
  height: 62px !important;
  object-fit: contain !important;
  padding: 6px !important;
  border: 0 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.order-preview-product {
  min-width: 0 !important;
}

.order-preview-product strong {
  display: block !important;
  font-size: 13px !important;
  line-height: 1.28 !important;
  color: #111827 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.order-preview-product span {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11.5px !important;
  color: #667085 !important;
}

.order-preview-line-total {
  justify-self: end !important;
  font-size: 13px !important;
  color: #111827 !important;
  white-space: nowrap !important;
}

.order-preview-total {
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e4eaf3 !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 14px !important;
}

.order-preview-total span {
  font-size: 12px !important;
  color: #667085 !important;
  font-weight: 800 !important;
}

.order-preview-total strong {
  font-size: 15px !important;
  color: #111827 !important;
}

/* Evita que la fila siguiente tape visualmente el desplegable */
.orders-table tbody tr.order-detail-row.is-open + tr.order-row > td {
  border-top: 0 !important;
}

/* Botones de acciones ajustados */
.order-actions {
  display: grid !important;
  gap: 7px !important;
  min-width: 0 !important;
}

.order-actions .button,
.order-preview-button {
  width: 100% !important;
  max-width: none !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  padding: 8px 9px !important;
}

/* Mantiene el número de seguimiento entero */
.tracking-link-number {
  white-space: normal !important;
  word-break: break-all !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

@media (max-width: 980px) {
  .portal-orders-card .table-wrap {
    overflow-x: auto !important;
  }
  .orders-table {
    min-width: 980px !important;
  }
}




/* Lygis V14: selector de cantidad más fino e IBAN en una sola línea */
.quantity-stepper-row {
  grid-template-columns: 34px 72px 34px !important;
  gap: 7px !important;
  align-items: center !important;
  width: max-content !important;
}

.qty-stepper {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 12px !important;
  padding: 0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

#order-form .quantity-input,
.quantity-input,
input.quantity-input[type="number"] {
  width: 72px !important;
  height: 34px !important;
  min-height: 34px !important;
  border-radius: 13px !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button,
#order-form .quantity-input::-webkit-outer-spin-button,
#order-form .quantity-input::-webkit-inner-spin-button,
input.quantity-input[type="number"]::-webkit-outer-spin-button,
input.quantity-input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

/* Cuenta bancaria: IBAN seguido, sin salto en medio */
#portal-panel-nuevo .bank-transfer-details-body {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}

#portal-panel-nuevo .bank-transfer-details-body strong,
#portal-bank-iban {
  display: block !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  letter-spacing: .01em !important;
}

#portal-panel-nuevo .bank-transfer-details-body small {
  display: block !important;
  white-space: nowrap !important;
  font-size: 11px !important;
}

#portal-panel-nuevo .bank-transfer-details-body > div {
  min-width: 0 !important;
  overflow-x: auto !important;
  padding-bottom: 1px !important;
}

#portal-panel-nuevo .bank-transfer-details > summary {
  min-width: 0 !important;
}

#portal-panel-nuevo .bank-transfer-details > summary span {
  white-space: nowrap !important;
}

/* En pantallas estrechas, la cuenta sigue sin partirse, pero puede desplazarse horizontalmente */
@media (max-width: 900px) {
  #portal-panel-nuevo .bank-transfer-details-body {
    grid-template-columns: 1fr !important;
  }
  #portal-panel-nuevo .copy-bank-button {
    width: max-content !important;
  }
}

