
:root{
  --emg-card:#fff;
  --emg-border:#e5e7eb;
  --emg-text:#111827;
  --emg-muted:#6b7280;
  --emg-primary:#EA9912;
  --emg-primary-600:#d0810b;
  --emg-shadow:0 8px 22px rgba(0,0,0,.06);
  --emg-radius:16px;
}
.emgdb-panel,.emgdb-results{background:var(--emg-card);border:1px solid var(--emg-border);border-radius:var(--emg-radius);padding:26px;margin:0 auto 28px;box-shadow:var(--emg-shadow);max-width:980px}
.emgdb-panel h2{margin:0 0 16px;font-weight:800;color:var(--emg-text);position:relative;padding-left:88px}
.emgdb-panel[data-step] h2::before{content:none !important; display:none !important;}
.emgdb-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px 22px!important;align-items:start!important}
#emgdb-step-1 .emgdb-field--full{grid-column:auto}
.emgdb-grid input[type=number]{width:100%;box-sizing:border-box;margin-top:8px;padding:13px 14px;font-size:16px;color:var(--emg-text);background:#fff;border:1px solid var(--emg-border);border-radius:12px;transition:.2s border-color,.2s box-shadow}
.emgdb-grid input::placeholder{color:#9ca3af}
.emgdb-grid input:focus{outline:none;border-color:var(--emg-primary);box-shadow:0 0 0 3px rgba(234,153,18,.18)}
.emgdb-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:8px}
.emgdb-chip{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--emg-border);border-radius:12px;padding:12px 14px;background:#fff;color:var(--emg-text);cursor:pointer;user-select:none;transition:.2s transform,.2s box-shadow,.2s background,.2s color,.2s border-color}
.emgdb-chip:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.06)}
.emgdb-chip input{display:none}
.emgdb-chip::after{content:"";width:18px;height:18px;border:2px solid var(--emg-border);border-radius:999px;margin-left:10px;flex:0 0 auto;transition:.2s background,.2s border-color}
.emgdb-chip.is-selected{background:#111827;color:#fff;border-color:#111827}
.emgdb-chip.is-selected::after{background:var(--emg-primary);border-color:var(--emg-primary)}
.emgdb-inline-field label{display:block;font-weight:600;margin-bottom:6px;color:var(--emg-text)}
.emgdb-inline-field input{width:240px;max-width:100%;padding:12px;border:1px solid var(--emg-border);border-radius:12px;font-size:16px}
.emgdb-help{display:block;margin-top:6px;color:var(--emg-muted);font-size:13px}
.emgdb-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}
.emgdb-btn{appearance:none;cursor:pointer;border-radius:12px;border:1px solid var(--emg-border);padding:10px 14px;font-weight:700;color:var(--emg-text);background:#fff;transition:.2s transform,.2s box-shadow,.2s background,.2s color}
.emgdb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.08)}
.emgdb-btn--primary{background:var(--emg-primary);color:#fff;border-color:var(--emg-primary)}
.emgdb-btn--primary:hover{background:var(--emg-primary-600)}
.emgdb-progress-bottom{display:flex;justify-content:center;gap:10px;margin-top:12px;position:relative}
.emgdb-progress-bottom:before{content:"";position:absolute;left:calc(50% - 180px);right:calc(50% - 180px);top:50%;height:2px;background:#f3f4f6;border-radius:2px}
.emgdb-dot{width:10px;height:10px;border-radius:999px;background:#e5e7eb;position:relative;z-index:1;transition:.2s transform,.2s background}
.emgdb-dot.is-active{background:var(--emg-primary);transform:scale(1.15)}
.emgdb-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:8px}
.emgdb-card{background:#fff;border:1px solid var(--emg-border);border-radius:14px;padding:14px 16px;box-shadow:var(--emg-shadow)}
.emgdb-card h3{margin:0 0 8px;color:var(--emg-text);font-weight:800}
.emgdb-card div{font-size:16px;color:#374151}
@media (max-width:900px){ .emgdb-summary-grid{grid-template-columns:1fr} }
.emgdb-meal-card{background:#fff;border:1px solid var(--emg-border);border-radius:14px;padding:14px 16px;margin-top:12px;box-shadow:var(--emg-shadow)}
.emgdb-meal-card h3{margin:0 0 8px;color:#0f172a;font-weight:800}
.emgdb-table{width:100%;border-collapse:separate;border-spacing:0 6px}
.emgdb-table th{font-weight:700;text-align:left;color:#374151;padding:6px 8px}
.emgdb-table td{background:#f9fafb;border:1px solid var(--emg-border);padding:8px 10px}
.emgdb-table td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}
.emgdb-table td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px;text-align:right;white-space:nowrap}
.emgdb-macroline{margin-top:8px;color:#374151}
.emgdb-wrapper.is-results .emgdb-panel,.emgdb-wrapper.is-results .emgdb-progress-bottom{display:none!important}
.emgdb-wrapper.is-results #emgdb-results{display:block!important}
.emgdb-alert{margin-top:6px;color:#b45309;background:#fff7ed;border:1px solid #fed7aa;padding:10px 12px;border-radius:10px;font-size:14px}
.emgdb-panel[hidden],.emgdb-results[hidden]{display:none!important;visibility:hidden!important}
@media (max-width:1200px){.emgdb-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:960px){.emgdb-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:640px){.emgdb-grid{grid-template-columns:1fr!important}.emgdb-panel{padding:20px}.emgdb-progress-bottom:before{left:calc(50% - 120px);right:calc(50% - 120px)}}
@media print{.emgdb-actions,.emgdb-progress-bottom{display:none!important}.emgdb-panel,.emgdb-results{box-shadow:none;border-color:#ddd}}


/* --- Aesthetic overhaul for Step 5 (Number of meals) --- */
#emgdb-step-5{
  padding: 28px 28px 20px;
}
#emgdb-step-5 .emgdb-inline-field{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:linear-gradient(180deg,#fff, #fafafa);
  border:1px solid var(--emg-border);
  border-radius:18px;
  padding:18px 20px;
  box-shadow: var(--emg-shadow);
}
#emgdb-step-5 .emgdb-inline-field label{
  font-size:18px;
  font-weight:800;
  margin:0;
  color:var(--emg-text);
}
#emgdb-step-5 #emgdb-meals{
  -moz-appearance: textfield;
  appearance: textfield;
  width:140px;
  height:56px;
  border-radius:14px;
  border:2px solid var(--emg-border);
  text-align:center;
  font-size:26px;
  font-weight:800;
  color:var(--emg-text);
  background:#fff;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
  transition:.2s border-color,.2s box-shadow,.2s transform;
}
#emgdb-step-5 #emgdb-meals:focus{
  outline:none;
  border-color:var(--emg-primary);
  box-shadow:0 0 0 4px rgba(234,153,18,.15);
}
/* remove default spinners */
#emgdb-step-5 #emgdb-meals::-webkit-outer-spin-button,
#emgdb-step-5 #emgdb-meals::-webkit-inner-spin-button{
  -webkit-appearance: none; margin:0;
}
#emgdb-step-5 .emgdb-help{
  margin:14px 0 0;
  text-align:center;
  font-size:14px;
  color:var(--emg-muted);
}
#emgdb-step-5 .emgdb-btn{
  height:46px;
  padding:0 18px;
  border-radius:14px;
  font-weight:800;
}
/* progress dots a bit closer and subtle */
#emgdb-step-5 + .emgdb-progress-bottom{
  margin-top:10px;
}
@media (max-width: 640px){
  #emgdb-step-5 .emgdb-inline-field{
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
  #emgdb-step-5 #emgdb-meals{
    width:100%;
  }
  }


/* Ocultar la etiqueta "Paso" si existe */
.emgdb-step-label{ display:none !important; }

/* Panel visual */
.emgdb-panel{
  background:#fff;
  border-radius:18px;
  box-shadow:0 6px 20px rgba(0,0,0,.05);
  padding:40px;
}

/* Progreso */
#emgdb-progress{ max-width:900px; margin:0 auto 24px; height:8px; background:#f3f4f6; border-radius:20px; overflow:hidden; }
#emgdb-progress .emgdb-progress-bar{ height:100%; width:0%; background:linear-gradient(90deg,#f59e0b,#facc15); transition:width .3s ease; }

/* Slider comidas */
.emgdb-meals-slider{ max-width:520px; margin:12px auto 8px; position:relative; padding:12px 6px 6px; text-align:center; }
.emgdb-meals-slider input[type="range"]{ -webkit-appearance:none; width:100%; height:4px; border-radius:999px; background:linear-gradient(90deg,#f59e0b,#facc15); outline:none; }
.emgdb-meals-slider input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; background:#111827; border-radius:50%; border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.15); cursor:pointer; }
.emgdb-meals-slider input[type="range"]::-moz-range-thumb{ width:22px; height:22px; background:#111827; border-radius:50%; border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.15); cursor:pointer; }
.emgdb-meals-bubble{ position:absolute; top:-22px; transform:translateX(-50%); min-width:48px; padding:4px 8px; font-size:12px; font-weight:700; color:#111827; background:#fff; border:1px solid #e5e7eb; border-radius:999px; box-shadow:0 2px 8px rgba(0,0,0,.06); pointer-events:none; }
.emgdb-meals-ticks{ display:grid; grid-template-columns:repeat(5,1fr); margin-top:8px; color:#6b7280; font-size:12px; }
.emgdb-meals-ticks span{ transform:translateX(-6px); }
.emgdb-meals-preview{ margin-top:8px; font-size:.95rem; color:#4b5563; }

#emgdb-step-5 .emgdb-actions{ justify-content:flex-end; }
