#mf-diag-root {
    --coral:#FF5C5C;
    --coral-dark:#E14B44;
    --black:#1A1A1A;
    --brown:#4F210C;
    --gold:#F2C46C;
    --gold-dark:#D9A162;
    --cream:#F7E4BC;
    --pale-pink:#EEDEE0;
    --off-white:#FFF5F1;
    --pink:#F3BCBF;
    --gray-text:#3A3A3A;
    --white:#ffffff;
    --radius:16px;

    background:transparent;
    font-family:'Inter',system-ui,sans-serif;
    color:var(--gray-text);
    -webkit-font-smoothing:antialiased;
    max-width:560px;
    margin:0 auto;
    padding:6px 0 40px;
    position:relative;
  }
  #mf-diag-root * {box-sizing:border-box;}

  #mf-diag-root header.top {
    position:relative;
    z-index:1;
    text-align:center;
    padding:0 0 22px;
  }
  #mf-diag-root header.top h1 {
    font-family:'Righteous',sans-serif;
    font-weight:400;
    font-size:26px;
    color:var(--black);
    margin:16px 0 6px;
    line-height:1.25;
  }
  #mf-diag-root header.top p {
    font-size:14px;
    color:var(--gray-text);
    margin:0;
    max-width:400px;
    margin-inline:auto;
  }

  /* ---- progreso ---- */
  #mf-diag-root .progress-wrap {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:6px;
    margin:22px 0 26px;
  }
  #mf-diag-root .progress-track {
    flex:1;
    height:6px;
    background:var(--pale-pink);
    border-radius:99px;
    overflow:hidden;
  }
  #mf-diag-root .progress-fill {
    height:100%;
    background:var(--coral);
    border-radius:99px;
    transition:width .35s ease;
  }
  #mf-diag-root .progress-label {
    font-size:12px;
    font-weight:600;
    color:var(--brown);
    white-space:nowrap;
  }

  /* ---- tarjeta de pregunta ---- */
  #mf-diag-root .card {
    position:relative;
    z-index:1;
    background:var(--white);
    border:1px solid var(--pale-pink);
    border-radius:var(--radius);
    padding:26px 22px;
    box-shadow:0 8px 24px rgba(79,33,12,0.06);
  }
  #mf-diag-root .q-eyebrow {
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--coral-dark);
    margin-bottom:8px;
  }
  #mf-diag-root .q-label {
    font-size:19px;
    font-weight:700;
    color:var(--black);
    line-height:1.35;
    margin-bottom:18px;
  }
  #mf-diag-root .mf-amount-input {
    width:100%;
    font-size:24px;
    font-weight:700;
    font-family:'Inter',sans-serif;
    color:var(--black);
    border:none;
    border-bottom:3px solid var(--gold);
    background:transparent;
    padding:8px 4px;
    outline:none;
  }
  #mf-diag-root .mf-amount-input::placeholder {color:#C9BEB8; font-weight:500;}
  #mf-diag-root .prefix-row {display:flex; align-items:center; gap:8px;}
  #mf-diag-root .prefix-row span {font-size:22px; font-weight:700; color:var(--gold-dark);}

  #mf-diag-root .item-desc {
    font-size:13px;
    line-height:1.5;
    color:var(--gray-text);
    margin:-6px 0 16px;
  }
  #mf-diag-root .item-list {display:flex; flex-direction:column; gap:2px;}
  #mf-diag-root .item-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid var(--pale-pink);
  }
  #mf-diag-root .item-label {
    font-size:13.5px;
    font-weight:600;
    color:var(--black);
    flex:1;
  }
  #mf-diag-root .item-input {
    width:110px;
    flex:none;
    font-size:15px !important;
    text-align:right;
    padding:4px 2px !important;
    border-bottom-width:2px !important;
  }
  #mf-diag-root .item-total {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:12px;
    padding-top:10px;
    border-top:2px solid var(--black);
    font-family:'Righteous',sans-serif;
    font-size:16px;
    color:var(--black);
  }

  #mf-diag-root .choice-grid {display:flex; flex-direction:column; gap:10px;}
  #mf-diag-root .choice-btn {
    text-align:left;
    padding:14px 16px;
    border-radius:12px;
    border:2px solid var(--pale-pink);
    background:var(--off-white);
    font-family:'Inter',sans-serif;
    font-size:15px;
    font-weight:600;
    color:var(--black);
    cursor:pointer;
    transition:all .15s ease;
  }
  #mf-diag-root .choice-btn:hover {border-color:var(--gold);}
  #mf-diag-root .choice-btn.selected {
    border-color:var(--coral);
    background:var(--coral);
    color:var(--white);
  }

  #mf-diag-root .lead-note {
    font-size:13px;
    color:var(--gray-text);
    margin:-8px 0 18px;
  }
  #mf-diag-root .lead-field-label {
    display:block;
    font-size:12px;
    font-weight:700;
    color:var(--brown);
    margin-bottom:4px;
  }
  #mf-diag-root .mf-text-input {
    font-size:16px !important;
    margin-bottom:16px;
  }
  #mf-diag-root .lead-error {
    font-size:13px;
    color:var(--coral-dark);
    font-weight:600;
    margin-top:-6px;
    margin-bottom:6px;
  }

  #mf-diag-root .nav-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:22px;
    position:relative;
    z-index:1;
  }
  #mf-diag-root .btn {
    font-family:'Inter',sans-serif;
    font-weight:700;
    font-size:15px;
    border:none;
    border-radius:99px;
    padding:13px 26px;
    cursor:pointer;
    transition:transform .1s ease, opacity .15s ease;
  }
  #mf-diag-root .btn:active {transform:scale(0.97);}
  #mf-diag-root .btn-primary {background:var(--coral); color:var(--white);}
  #mf-diag-root .btn-primary:disabled {opacity:0.35; cursor:not-allowed;}
  #mf-diag-root .btn-ghost {background:transparent; color:var(--brown); padding:13px 10px;}
  #mf-diag-root .btn-ghost:disabled {opacity:0; pointer-events:none;}

  /* ---- resultados ---- */
  #result-screen {display:none; position:relative; z-index:1;}
  #mf-diag-root .score-wrap {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:8px 0 6px;
  }
  #mf-diag-root .gauge {position:relative; width:190px; height:190px;}
  #mf-diag-root .gauge svg {transform:rotate(-90deg);}
  #mf-diag-root .gauge-track {fill:none; stroke:var(--pale-pink); stroke-width:14;}
  #mf-diag-root .gauge-fill {fill:none; stroke:var(--coral); stroke-width:14; stroke-linecap:round; transition:stroke-dashoffset 1s ease;}
  #mf-diag-root .gauge-center {
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
  }
  #mf-diag-root .gauge-center .num {font-family:'Righteous',sans-serif; font-size:44px; color:var(--black); line-height:1;}
  #mf-diag-root .gauge-center .den {font-size:12px; color:var(--gray-text); font-weight:600;}
  #mf-diag-root .category-pill {
    margin-top:14px;
    padding:7px 18px;
    border-radius:99px;
    font-weight:700;
    font-size:13px;
    letter-spacing:0.02em;
  }
  #mf-diag-root .result-message {
    margin:14px 0 0;
    font-size:13.5px;
    line-height:1.55;
    color:var(--gray-text);
    text-align:center;
    max-width:400px;
  }

  #mf-diag-root .section-title {
    font-family:'Righteous',sans-serif;
    font-weight:400;
    font-size:17px;
    color:var(--black);
    margin:30px 0 12px;
  }
  #mf-diag-root .chart-card {
    background:var(--white);
    border:1px solid var(--pale-pink);
    border-radius:var(--radius);
    padding:16px 12px 8px;
  }

  #mf-diag-root .rec-card {
    margin-top:26px;
    background:var(--black);
    border-radius:var(--radius);
    padding:22px;
    color:var(--white);
  }
  #mf-diag-root .rec-eyebrow {
    font-size:12px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.06em; color:var(--gold);
    margin-bottom:8px;
  }
  #mf-diag-root .rec-title {font-family:'Righteous',sans-serif; font-size:20px; margin:0 0 8px; line-height:1.3;}
  #mf-diag-root .rec-desc {font-size:14px; line-height:1.55; color:#E9DCD6; margin:0 0 16px;}
  #mf-diag-root .rec-link {
    display:inline-block;
    background:var(--gold);
    color:var(--brown);
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    padding:11px 18px;
    border-radius:99px;
  }

  #mf-diag-root .cta-card {
    margin-top:18px;
    text-align:center;
    padding:22px 18px;
    border:2px dashed var(--gold-dark);
    border-radius:var(--radius);
  }
  #mf-diag-root .cta-card p {font-size:14px; margin:0 0 14px; color:var(--gray-text);}
  #mf-diag-root .whatsapp-btn {
    display:inline-block;
    background:var(--coral);
    color:var(--white);
    font-weight:700;
    font-size:15px;
    text-decoration:none;
    padding:14px 28px;
    border-radius:99px;
  }

  #mf-diag-root .restart {
    display:block;
    text-align:center;
    margin:22px auto 0;
    background:none;
    border:none;
    color:var(--brown);
    font-size:13px;
    font-weight:600;
    text-decoration:underline;
    cursor:pointer;
  }

  #mf-diag-root footer.foot {
    text-align:center;
    margin-top:34px;
    font-size:11.5px;
    color:#A9998F;
    position:relative; z-index:1;
  }

  @media (max-width:380px){
    #mf-diag-root .q-label {font-size:17px;}
    #mf-diag-root .gauge {width:165px; height:165px;}
  }
