
:root{ --lwwmf-bg: rgba(0,0,0,.72); --lwwmf-card:#fff; --lwwmf-accent:#0E94F3; --lwwmf-muted:#6b7280; }
html.lwwmf-locked, body.lwwmf-locked { overflow: hidden!important; }
.lwwmf-modal{ position:fixed; inset:0; background:var(--lwwmf-bg); z-index:999999; display:none; }
.lwwmf-modal.is-open{ display:block; }
.lwwmf-wrap{ width:100vw; height:100vh; background:var(--lwwmf-card); overflow:hidden; display:grid; grid-template-columns:65% 35%; }
@media (max-width: 992px){ .lwwmf-wrap{ grid-template-columns:1fr; } }
.lwwmf-left{ display:flex; flex-direction:column; overflow:auto; }
.lwwmf-prod{ flex:1; display:grid; place-items:center; background:#fafafa; padding:18px; }
.lwwmf-summary{ background:#fff; border-top:1px solid #eee; padding:18px; }
.lwwmf-row{ display:flex; justify-content:space-between; margin:6px 0; color:var(--lwwmf-muted); }
.lwwmf-total{ display:flex; justify-content:space-between; font-weight:700; font-size:20px; margin-top:12px; }
.lwwmf-right{ border-left:1px solid #eee; display:flex; flex-direction:column; overflow:auto; }
.lwwmf-header{ position:sticky; top:0; z-index:3; background:#fff; border-bottom:1px solid #eee; padding:12px 16px; display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; }
.lwwmf-subtotal{ font-weight:800; }
.lwwmf-actions-top{ display:flex; gap:8px; }
.lwwmf-reset{ border:0; background:#eef2f7; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:700; }
.lwwmf-progress{ grid-column: 1 / -1; width:100%; height:8px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.lwwmf-progress .bar{ height:100%; width:0%; background:var(--lwwmf-accent); transition:width .25s ease; }
.lwwmf-body{ padding:16px; display:flex; flex-direction:column; gap:12px; }
.lwwmf-steps{ display:flex; gap:8px; flex-wrap:wrap; }
.lwwmf-step{ padding:6px 10px; border-radius:999px; border:1px solid #e5e7eb; font-size:12px; color:var(--lwwmf-muted); cursor:pointer; }
.lwwmf-step.active{ background:var(--lwwmf-accent); color:#fff; border-color:var(--lwwmf-accent); }
.lwwmf-group{ margin-top:8px; }
.lwwmf-label{ font-weight:700; margin-bottom:6px; display:block; }
.lwwmf-input{ width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; }
.lwwmf-checklist{ display:grid; grid-template-columns:1fr; gap:8px; }
.lwwmf-check{ display:flex; align-items:center; gap:10px; border:1px solid #e5e7eb; border-radius:10px; padding:10px 12px; }
.lwwmf-check.is-disabled{ opacity:.45; pointer-events:none; }
.lwwmf-desc{ display:block; font-size:12px; color:#6b7280; margin-left:28px; line-height:1.35; }
.lwwmf-btn{ border:0; border-radius:12px; padding:12px 16px; font-weight:700; cursor:pointer; }
.lwwmf-btn.primary{ background:var(--lwwmf-accent); color:#fff; }
.lwwmf-btn.muted{ background:#eef2f7; }

/* Receta UI */
.lwwmf-cardRx{ background:#f6f9fc; border:1px solid #e6eef8; border-radius:12px; padding:16px; }
.lwwmf-rowRx{ display:grid; grid-template-columns:120px 1fr 1fr 1fr; gap:10px; align-items:center; margin-bottom:10px; }
.lwwmf-rowRx .lbl{ color:#6b7280; font-size:12px; }
.lwwmf-select{ width:100%; padding:10px 12px; border:1px solid #dbe3ef; border-radius:10px; background:#fff; }
.lwwmf-linksRx{ display:flex; gap:16px; align-items:center; margin-bottom:10px; }
.lwwmf-linksRx a{ color:#0E94F3; text-decoration:none; font-weight:600; }
.lwwmf-inline{ display:flex; gap:10px; align-items:center; }
.lwwmf-small{ font-size:12px; color:#6b7280; }
.lwwmf-h-sep{ height:6px; }




/* Close button (global, top-right) */
.lwwmf-close{
  position: fixed;
  top: 10px;
  right: 12px;
  z-index: 1000001;
  background: rgba(255,255,255,0.95);
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.lwwmf-close:focus{ outline: 2px solid var(--lwwmf-accent); outline-offset: 2px; }


/* Rx upload filename */
#rx_file_name{ margin-left:10px; }


/* Rx preview */
.lwwmf-rx-preview{ margin-top:8px; padding:10px 12px; background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px; }
.lwwmf-rx-preview .pv-line{ display:flex; align-items:center; gap:10px; }
.lwwmf-rx-preview .pv-thumb{ max-height:64px; border-radius:8px; display:block; }
.lwwmf-rx-preview .pv-icon{ font-size:20px; }
.lwwmf-upload-clear{ margin-left:8px; font-size:12px; color:#ef4444; }
