/* BeeMoney V2 — capa visual con identidad propia.
   Editorial + producto gamificado. Paleta miel/carbón/crema + acentos vivos. */
:root{
  --miel:#F4B400; --miel-2:#FFCB47; --miel-soft:#FFE08A; --naranja:#FF8A3D;
  --carbon:#161512; --carbon-2:#2a2620; --crema:#FFF8E7; --crema-2:#FBEFD3;
  --verde:#7FB069; --azul:#3D5A80; --azul-2:#5BA4CF; --rojo:#C44D58;
  --blanco:#FFFDF8; --txt:#1c1b18; --txt-soft:#7a7259; --linea:#ece0bd;
  --radius:24px; --radius-sm:16px;
  --sh:0 14px 40px -8px rgba(60,40,0,.18); --sh-sm:0 4px 16px -4px rgba(60,40,0,.12);
  --sh-pop:0 10px 0 -2px rgba(232,144,30,.35);
  --maxw:480px;
  --font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --display:'Fraunces','Poppins',Georgia,serif;
  --ease:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:var(--font);color:var(--txt);
  background:
    var(--hc, none),
    radial-gradient(1100px 520px at 50% -8%, #fff1c4 0%, transparent 58%),
    linear-gradient(180deg,#FFF8E7 0%, #FBEFD3 100%);
  background-attachment:fixed;background-size:auto, auto, auto;
  -webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;
}
#app{min-height:100%;display:flex;justify-content:center}
.bm-screen{width:100%;max-width:var(--maxw);min-height:100vh;display:flex;flex-direction:column;position:relative}
.bm-pad{padding:20px 20px 70px;display:flex;flex-direction:column;gap:15px;flex:1}

/* entrada de pantalla — SOLO opacidad: un transform aquí crearía containing block
   y rompería el position:fixed de la nav inferior. */
@keyframes screenIn{from{opacity:0}to{opacity:1}}
.bm-screen,.bm-admin{animation:screenIn .35s ease both}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.bm-rise{animation:riseIn .5s var(--ease) both}
.bm-rise.d1{animation-delay:.05s}.bm-rise.d2{animation-delay:.12s}.bm-rise.d3{animation-delay:.19s}
.bm-rise.d4{animation-delay:.26s}.bm-rise.d5{animation-delay:.33s}.bm-rise.d6{animation-delay:.4s}

/* Topbar */
.bm-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  padding:11px 16px;background:rgba(255,248,231,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--linea)}
.bm-brand{font-family:var(--display);font-weight:600;text-decoration:none;color:var(--carbon);font-size:19px;letter-spacing:-.4px}
.bm-brand b{color:var(--naranja)}
.bm-topbar-right{display:flex;gap:6px;align-items:center}
.bm-chip{background:var(--blanco);border:1px solid var(--linea);border-radius:30px;padding:5px 11px;font-size:13px;font-weight:600;box-shadow:var(--sh-sm);transition:transform .2s var(--ease)}
.bm-chip-link{text-decoration:none;color:var(--carbon)}
.bm-chip.pulse{animation:chipPulse .6s var(--ease)}
@keyframes chipPulse{0%{transform:scale(1)}40%{transform:scale(1.22);background:var(--miel-soft)}100%{transform:scale(1)}}

/* Tipografía */
.bm-h1{font-family:var(--display);font-size:clamp(34px,10vw,46px);font-weight:600;line-height:1.02;letter-spacing:-1.2px;text-align:center;font-optical-sizing:auto}
.bm-h1 em{font-style:italic;color:var(--naranja)}
.bm-h2{font-family:var(--display);font-size:27px;font-weight:600;letter-spacing:-.6px;line-height:1.12}
.bm-sub{text-align:center;color:var(--txt-soft);font-size:16px;max-width:340px;margin:0 auto}
.bm-sub-sm{color:var(--txt-soft);font-size:14px;margin-top:-4px}
.bm-micro{text-align:center;font-weight:600;color:var(--naranja);font-size:14px;letter-spacing:.2px}
.bm-quote{text-align:center;font-style:italic;color:var(--azul);font-weight:500;padding:6px 0}
.bm-kicker{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--naranja)}

/* ---- Mel: mascota guía ---- */
.bm-mel-bubble{display:flex;gap:11px;align-items:flex-start;background:var(--blanco);border:1px solid var(--linea);
  border-radius:20px;border-bottom-left-radius:6px;padding:12px 15px 13px;box-shadow:var(--sh-sm);position:relative}
.bm-mel-bubble .bm-mel-art{flex:none;width:52px;height:52px;filter:drop-shadow(0 4px 6px rgba(232,144,30,.3));animation:melBob 3.2s ease-in-out infinite}
@keyframes melBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
.bm-mel-bubble p{font-size:14px;line-height:1.45;padding-top:4px}
.bm-mel-bubble p b{color:var(--naranja)}
.bm-mel-name{font-size:11px;font-weight:700;color:var(--miel);text-transform:uppercase;letter-spacing:1px}
.bm-wings{transform-origin:60px 44px;animation:flap 0.5s ease-in-out infinite alternate}
@keyframes flap{from{transform:scaleX(1)}to{transform:scaleX(.93)}}
.bm-hero-bee .bm-wings{animation-duration:.32s}

/* Botones */
.bm-btn{font-family:inherit;font-size:16px;font-weight:600;border:none;border-radius:30px;padding:15px 22px;cursor:pointer;
  transition:transform .14s var(--ease),box-shadow .22s,filter .2s;width:100%;text-align:center;text-decoration:none;display:inline-block;position:relative}
.bm-btn:active{transform:scale(.95)}
.bm-btn-lg{padding:17px 24px;font-size:17px}
.bm-btn-primary{background:linear-gradient(135deg,var(--miel-2) 0%,var(--naranja) 100%);color:#2a1e00;box-shadow:0 8px 0 -2px #d9701f, 0 16px 26px -10px rgba(255,138,61,.6)}
.bm-btn-primary:active{box-shadow:0 3px 0 -2px #d9701f, 0 8px 14px -8px rgba(255,138,61,.5);transform:translateY(3px) scale(.99)}
.bm-btn-secondary{background:var(--blanco);color:var(--carbon);border:1.5px solid var(--linea);box-shadow:var(--sh-sm)}
.bm-btn-secondary:hover{border-color:var(--miel-2)}
.bm-btn-ghost{background:transparent;color:var(--txt-soft);box-shadow:none;font-weight:600}
.bm-btn-dark{background:var(--carbon);color:var(--miel-2);box-shadow:0 8px 0 -2px #000, 0 16px 24px -12px rgba(0,0,0,.5)}
.bm-btn-dark:active{transform:translateY(3px) scale(.99);box-shadow:0 3px 0 -2px #000}
.bm-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none;filter:grayscale(.3)}
.bm-cta-stack{display:flex;flex-direction:column;gap:10px;margin-top:6px}

/* Disclaimer */
.bm-disclaimer{font-size:11px;color:#bdb293;text-align:center;line-height:1.45;margin-top:14px;padding:0 8px}
.bm-fineprint{font-size:12px;color:var(--txt-soft);line-height:1.45}

/* ---- Landing ---- */
.bm-landing{padding:34px 22px 28px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;flex:1;text-align:center;position:relative}
.bm-hero-bee{width:130px;height:130px;animation:heroFloat 3.4s ease-in-out infinite;filter:drop-shadow(0 14px 20px rgba(244,180,0,.4))}
@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
.bm-hero-orbit{position:absolute;top:18px;font-size:20px;opacity:.6;animation:orbit 9s linear infinite}
.bm-trust{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:2px}
.bm-trust span{background:var(--blanco);border:1px solid var(--linea);border-radius:30px;padding:7px 13px;font-size:12px;font-weight:600;color:var(--txt-soft)}
.bm-admin-link{margin-top:16px;font-size:11px;color:#cabf9f;text-decoration:none;letter-spacing:1.5px}

/* ---- Onboarding ---- */
.bm-dots{display:flex;gap:8px;justify-content:center;margin-bottom:4px}
.bm-dot{width:8px;height:8px;border-radius:50%;background:var(--linea);transition:.35s var(--ease)}
.bm-dot.on{background:var(--naranja);width:26px}
.bm-input{font-family:inherit;font-size:17px;padding:16px 18px;border:1.5px solid var(--linea);border-radius:16px;background:var(--blanco);width:100%;outline:none;transition:.2s}
.bm-input:focus{border-color:var(--miel);box-shadow:0 0 0 4px rgba(244,180,0,.16)}
.bm-label{font-weight:600;font-size:14px;margin-top:6px;display:block}
.bm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-grid-sm{grid-template-columns:1fr 1fr 1fr}
.bm-pick{font-family:inherit;font-size:14px;font-weight:600;text-align:left;background:var(--blanco);border:1.5px solid var(--linea);
  border-radius:16px;padding:14px;cursor:pointer;transition:.18s var(--ease);display:flex;align-items:center;gap:9px;min-height:58px;box-shadow:var(--sh-sm)}
.bm-pick:active{transform:scale(.96)}
.bm-pick:hover{border-color:var(--miel-2);transform:translateY(-2px)}
.bm-pick.sel{border-color:var(--naranja);background:linear-gradient(135deg,#fff3cf,#fff);box-shadow:0 8px 20px -6px rgba(255,138,61,.4)}
.bm-pick-emoji{font-size:21px}
.bm-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--txt-soft);cursor:pointer}
.bm-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--naranja)}

/* Steps / how */
.bm-steps{display:flex;flex-direction:column;gap:11px;list-style:none;counter-reset:s}
.bm-steps li{counter-increment:s;position:relative;padding:14px 16px 14px 54px;background:var(--blanco);border:1px solid var(--linea);border-radius:16px;font-size:14px;box-shadow:var(--sh-sm)}
.bm-steps li::before{content:counter(s);position:absolute;left:13px;top:50%;transform:translateY(-50%);width:28px;height:28px;background:linear-gradient(135deg,var(--miel-2),var(--naranja));color:#2a1e00;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}

/* ---- Test ---- */
.bm-progress{height:10px;background:var(--crema-2);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.08)}
.bm-progress-fill{height:100%;background:linear-gradient(90deg,var(--miel),var(--naranja));border-radius:10px;transition:width .5s var(--ease);position:relative}
.bm-progress-fill::after{content:"🐝";position:absolute;right:-3px;top:50%;transform:translateY(-52%);font-size:13px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}
.bm-qcount{font-size:13px;color:var(--txt-soft);font-weight:600}
.bm-q{font-family:var(--display);font-size:23px;font-weight:600;line-height:1.18;letter-spacing:-.4px}
.bm-answers{display:flex;flex-direction:column;gap:10px}
.bm-answer{font-family:inherit;font-size:15px;font-weight:500;text-align:left;background:var(--blanco);border:1.5px solid var(--linea);border-radius:16px;padding:16px 18px;cursor:pointer;transition:.16s var(--ease);box-shadow:var(--sh-sm);animation:riseIn .4s var(--ease) both}
.bm-answer:nth-child(1){animation-delay:.03s}.bm-answer:nth-child(2){animation-delay:.09s}.bm-answer:nth-child(3){animation-delay:.15s}.bm-answer:nth-child(4){animation-delay:.21s}
.bm-answer:hover{border-color:var(--miel-2);transform:translateY(-2px)}
.bm-answer:active{transform:scale(.98)}
.bm-answer.chosen{border-color:var(--naranja);background:linear-gradient(135deg,#fff3cf,#fff);opacity:1;animation:pickPop .4s var(--ease)}
.bm-answer:disabled{opacity:.5}
.bm-answer.chosen:disabled{opacity:1}
@keyframes pickPop{0%{transform:scale(1)}45%{transform:scale(1.03)}100%{transform:scale(1)}}
.bm-feedback{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.bm-feedback.show{max-height:460px}
.bm-fb-card{background:linear-gradient(135deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:20px;padding:16px;margin-top:8px;display:flex;flex-direction:column;gap:11px;box-shadow:var(--sh)}
.bm-fb-head{display:flex;gap:10px;align-items:center}
.bm-fb-head .bm-mel-art{width:42px;height:42px;flex:none}
.bm-fb-name{font-size:11px;font-weight:700;color:var(--miel-2);letter-spacing:1px;text-transform:uppercase}
.bm-fb-card p{font-size:14.5px;line-height:1.5}
.bm-fb-card .bm-btn-primary{margin-top:2px}

/* ---- Resultado ---- */
.bm-result-kicker{text-align:center;color:var(--txt-soft);font-weight:600}
.bm-bee-hero{background:linear-gradient(160deg,var(--carbon) 0%,var(--carbon-2) 100%);color:var(--crema);border-radius:28px;padding:26px 22px 24px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--sh)}
.bm-bee-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,var(--bee),transparent 62%);opacity:.4}
.bm-bee-hero::after{content:"";position:absolute;inset:0;background:var(--hc-dark,none);opacity:.5}
.bm-bee-avatar{width:124px;height:124px;margin:0 auto;position:relative;animation:beePop .6s var(--ease) both;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}
@keyframes beePop{0%{transform:scale(.4) rotate(-12deg);opacity:0}60%{transform:scale(1.08) rotate(4deg)}100%{transform:scale(1) rotate(0);opacity:1}}
.bm-bee-tag{position:relative;display:inline-block;background:var(--bee);color:#2a1e00;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 13px;border-radius:30px;margin-bottom:4px}
.bm-bee-name{font-family:var(--display);font-size:30px;font-weight:600;position:relative;margin-top:8px;letter-spacing:-.5px}
.bm-bee-energy{position:relative;color:var(--miel-2);font-weight:600;font-size:13px;letter-spacing:.5px}
.bm-bee-with{position:relative;opacity:.85;font-size:13.5px;margin-top:10px;display:flex;gap:8px;align-items:center;justify-content:center}
.bm-bee-with .bm-bee-svg{width:30px;height:30px}
.bm-bee-phrase{position:relative;font-family:var(--display);font-style:italic;margin-top:14px;font-size:17px;color:#fff;line-height:1.3}
.bm-block{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:16px 18px;box-shadow:var(--sh-sm)}
.bm-block h3{font-size:15px;margin-bottom:5px;display:flex;align-items:center;gap:7px}
.bm-block p{font-size:14.5px;color:var(--txt)}
.bm-block-h{font-family:var(--display);font-size:19px;font-weight:600;margin-top:4px}
.bm-insight{background:linear-gradient(135deg,#1c1b18,#2a2620);color:var(--crema);border:none}
.bm-insight h3{color:var(--miel-2)}.bm-insight p{color:#f0e7d2}
.bm-challenge{background:linear-gradient(135deg,#fff3cf,#ffe6c6);border-color:#f3d79a}
.bm-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-mini{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:13px;box-shadow:var(--sh-sm)}
.bm-mini h4{font-size:13px;margin-bottom:4px}
.bm-mini p{font-size:13px;color:var(--txt-soft)}
.bm-mini.good{border-color:#cfe8b8;background:linear-gradient(135deg,#f3fbe9,#fff)}
.bm-mini.watch{border-color:#f3d79a;background:linear-gradient(135deg,#fff7e6,#fff)}
.bm-dims{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:6px 16px}
.bm-dims summary{padding:11px 0;font-weight:600;font-size:14px;cursor:pointer}
.bm-dimbars{display:flex;flex-direction:column;gap:9px;padding-bottom:12px}
.bm-dimbar span{font-size:12px;color:var(--txt-soft)}
.bm-dimbar-track{height:8px;background:var(--crema-2);border-radius:8px;overflow:hidden;margin-top:3px}
.bm-dimbar-track div{height:100%;background:linear-gradient(90deg,var(--azul),var(--verde));border-radius:8px;animation:growBar .8s var(--ease) both}
@keyframes growBar{from{width:0!important}}

/* ---- Share card modal ---- */
.bm-modal-bg{position:fixed;inset:0;background:rgba(15,12,4,.74);backdrop-filter:blur(5px);z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.bm-modal{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;animation:riseIn .4s var(--ease)}
.bm-sharecard{background:linear-gradient(160deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:26px;padding:26px 22px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--sh);border:2px solid rgba(255,203,71,.25)}
.bm-sharecard::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,var(--bee),transparent 60%);opacity:.32}
.bm-sc-top{font-family:var(--display);font-weight:600;color:var(--miel-2);position:relative;font-size:16px}
.bm-sc-avatar{width:96px;height:96px;margin:6px auto;position:relative;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4))}
.bm-sc-name{font-family:var(--display);font-size:25px;font-weight:600;position:relative;line-height:1.05}
.bm-sc-with{position:relative;opacity:.82;font-size:12.5px;margin-top:3px}
.bm-sc-phrase{position:relative;font-family:var(--display);font-style:italic;color:#fff;margin:14px 0 6px;font-size:15px;line-height:1.3}
.bm-sc-reto{position:relative;font-size:12.5px;background:rgba(255,255,255,.1);border-radius:12px;padding:11px;margin-top:8px;text-align:left}
.bm-sc-reto b{color:var(--miel-2)}
.bm-sc-foot{position:relative;font-size:10.5px;opacity:.6;margin-top:16px;letter-spacing:1.5px;text-transform:uppercase}

/* ---- Valor / email / success ---- */
.bm-value,.bm-success,.bm-email{align-items:center;text-align:center}
.bm-value-emoji,.bm-success-icon{font-size:54px}
.bm-success-icon{width:96px;height:96px;margin:0 auto}
.bm-value-text{color:var(--txt-soft);font-size:15px;max-width:360px}
.bm-email{align-items:stretch}
.bm-email .bm-input,.bm-email .bm-check,.bm-email .bm-btn,.bm-email .bm-fineprint{width:100%;text-align:left}
.bm-email .bm-h2,.bm-email .bm-value-text{text-align:center;align-self:center}
.bm-confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
.bm-confetti i{position:absolute;top:-20px;width:9px;height:9px;border-radius:2px;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg);opacity:.9}}

/* ---- Píldoras ---- */
.bm-pill-list{display:flex;flex-direction:column;gap:10px}
.bm-pill-item{display:flex;align-items:center;gap:12px;background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:14px;text-decoration:none;color:var(--txt);box-shadow:var(--sh-sm);transition:.16s var(--ease)}
.bm-pill-item:hover{transform:translateY(-2px);border-color:var(--miel-2)}
.bm-pill-item:active{transform:scale(.98)}
.bm-pill-item.done{background:linear-gradient(135deg,#f3fbe9,#fff);border-color:#cfe8b8}
.bm-pill-num{width:34px;height:34px;flex:none;background:linear-gradient(135deg,var(--miel-2),var(--naranja));color:#2a1e00;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--display)}
.bm-pill-item.done .bm-pill-num{background:linear-gradient(135deg,#9ece78,#7FB069);color:#fff}
.bm-pill-title{flex:1;font-size:14px;font-weight:600}
.bm-pill-meta{font-size:12px;color:var(--txt-soft);white-space:nowrap}
.bm-back{font-size:13px;color:var(--azul);text-decoration:none;font-weight:600}
.bm-pill-badge{align-self:flex-start;background:var(--bee,var(--miel));color:#2a1e00;font-size:12px;font-weight:700;padding:6px 13px;border-radius:30px;display:inline-flex;align-items:center;gap:7px}
.bm-pill-badge .bm-bee-svg{width:24px;height:24px}
.bm-pill-body{font-size:15px;line-height:1.62;color:var(--txt)}
.bm-quiz{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh-sm)}
.bm-quiz h4{font-size:15px}
.bm-quiz-opt{font-family:inherit;font-size:14px;font-weight:500;text-align:left;background:var(--crema);border:1.5px solid var(--linea);border-radius:14px;padding:13px 16px;cursor:pointer;transition:.16s var(--ease)}
.bm-quiz-opt:hover{border-color:var(--miel-2)}
.bm-quiz-opt.ok{border-color:var(--verde);background:#eef8e3;animation:pickPop .4s var(--ease)}
.bm-quiz-opt.bad{border-color:var(--rojo);background:#fdeef0}
.bm-quiz-opt:disabled{cursor:default}
.bm-quiz-res{font-weight:600;font-size:14px;padding-top:6px}
.bm-quiz-res.ok{color:var(--verde)}.bm-quiz-res.bad{color:var(--rojo)}

/* ---- Pro ---- */
.bm-pro-tag{align-self:flex-start;background:var(--carbon);color:var(--miel-2);font-size:11px;letter-spacing:1.5px;padding:6px 13px;border-radius:30px;font-weight:700}
.bm-feature-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.bm-feature-list li{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:14px 16px;font-size:14px;font-weight:500;box-shadow:var(--sh-sm);display:flex;gap:11px;align-items:center}
.bm-feature-list li b{font-weight:700}
.bm-feat-ico{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,#fff3cf,#ffe1bd);display:flex;align-items:center;justify-content:center;font-size:17px}
.bm-pro-preview{background:linear-gradient(160deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:20px;padding:20px;box-shadow:var(--sh)}
.bm-pro-preview h4{font-size:12px;opacity:.65;margin-bottom:14px;text-transform:uppercase;letter-spacing:1.5px}
.bm-pro-grid{display:grid;gap:11px}
.bm-pro-grid>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:9px}
.bm-pro-grid span{font-size:12px;opacity:.6}
.bm-pro-grid b{font-size:13px;text-align:right}
.bm-blur b{filter:blur(5px);user-select:none}

/* ---- Plan ---- */
.bm-plan{list-style:none;display:flex;flex-direction:column;gap:8px}
.bm-plan li{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:13px 16px;font-size:14px;display:flex;gap:11px;align-items:center;box-shadow:var(--sh-sm)}
.bm-plan-day{background:linear-gradient(135deg,var(--miel-2),var(--naranja));color:#2a1e00;font-weight:700;font-size:12px;padding:4px 10px;border-radius:20px;white-space:nowrap}

/* ---- Colmena ---- */
.bm-hive{align-items:center;text-align:center}
.bm-hive .bm-block,.bm-hive .bm-invite,.bm-hive .bm-rank,.bm-hive .bm-fineprint,.bm-hive .bm-block-h,.bm-hive .bm-sub-sm,.bm-hive .bm-mel-bubble,.bm-hive .bm-hive-uses{width:100%;text-align:left}
.bm-hive .bm-block-h,.bm-hive .bm-sub-sm{text-align:center}
.bm-hive-uses{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.bm-use{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:13px;box-shadow:var(--sh-sm)}
.bm-use b{font-size:13px;display:block}.bm-use span{font-size:12px;color:var(--txt-soft)}
.bm-invite{display:flex;flex-direction:column;gap:8px;background:var(--blanco);border:1.5px dashed var(--miel);border-radius:16px;padding:14px}
.bm-invite-link{font-size:12px;color:var(--azul);word-break:break-all;font-weight:600}
.bm-rank{display:flex;flex-direction:column;gap:7px}
.bm-rank-row{display:flex;align-items:center;gap:12px;background:var(--blanco);border:1px solid var(--linea);border-radius:13px;padding:11px 14px;animation:riseIn .4s var(--ease) both}
.bm-rank-row.you{border-color:var(--naranja);background:linear-gradient(135deg,#fff3cf,#fff)}
.bm-rank-pos{width:26px;height:26px;background:var(--crema-2);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.bm-rank-row:nth-child(1) .bm-rank-pos{background:linear-gradient(135deg,var(--miel-2),var(--naranja));color:#2a1e00}
.bm-rank-name{flex:1;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.bm-rank-name .bm-bee-svg{width:26px;height:26px}
.bm-rank-val{font-size:13px;font-weight:700}

/* ---- Perfil ---- */
.bm-level{background:linear-gradient(135deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--sh)}
.bm-level-top{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.bm-level-top b{font-family:var(--display);font-size:16px}
.bm-level .bm-progress{background:rgba(255,255,255,.14)}
.bm-profile-head{display:flex;gap:14px;align-items:center}
.bm-profile-head .bm-bee-avatar{width:72px;height:72px;animation:none}
.bm-badges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.bm-badge{background:var(--blanco);border:1px solid var(--linea);border-radius:15px;padding:13px 8px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;opacity:.42;filter:grayscale(.8);transition:.3s}
.bm-badge.got{opacity:1;filter:none;border-color:#f3d79a;background:linear-gradient(135deg,#fff3cf,#fff)}
.bm-badge-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.bm-badge-name{font-size:10.5px;font-weight:600;line-height:1.2}

/* ---- Toast / celebraciones ---- */
.bm-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:var(--carbon);color:var(--crema);padding:13px 20px;border-radius:30px;font-size:14px;font-weight:600;box-shadow:var(--sh);z-index:90;opacity:0;transition:.32s var(--ease);max-width:90vw;text-align:center;display:flex;gap:8px;align-items:center}
.bm-toast.show{opacity:1;transform:translate(-50%,0)}
.bm-honey-pop{position:fixed;z-index:95;font-weight:800;color:var(--naranja);font-size:18px;pointer-events:none;animation:honeyUp 1s var(--ease) forwards;text-shadow:0 2px 4px rgba(255,255,255,.6)}
@keyframes honeyUp{0%{opacity:0;transform:translateY(0) scale(.6)}25%{opacity:1;transform:translateY(-14px) scale(1.1)}100%{opacity:0;transform:translateY(-54px) scale(1)}}
.bm-badge-burst{position:fixed;inset:0;z-index:92;display:flex;align-items:center;justify-content:center;pointer-events:none}
.bm-badge-burst .card{background:var(--blanco);border:2px solid var(--miel);border-radius:22px;padding:22px 26px;text-align:center;box-shadow:var(--sh);animation:badgePop .6s var(--ease)}
.bm-badge-burst .card .ic{font-size:46px;animation:spinIn .7s var(--ease)}
.bm-badge-burst .card b{display:block;font-family:var(--display);font-size:18px;margin-top:6px}
.bm-badge-burst .card span{font-size:12px;color:var(--txt-soft)}
@keyframes badgePop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes spinIn{from{transform:rotate(-30deg) scale(.4)}to{transform:none}}

/* ---- Admin ---- */
.bm-admin{width:100%;max-width:1100px;padding:24px 20px 60px;margin:0 auto}
.bm-admin-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.bm-admin-head h1{font-family:var(--display);font-size:26px;font-weight:600}
.bm-admin-head>div{display:flex;gap:8px;flex-wrap:wrap}
.bm-admin-head .bm-btn{width:auto;padding:10px 16px;font-size:13px;box-shadow:var(--sh-sm)}
.bm-admin-head .bm-btn-primary{box-shadow:0 4px 0 -1px #d9701f}
.bm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.bm-kpi{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:16px;text-align:center;box-shadow:var(--sh-sm)}
.bm-kpi b{font-family:var(--display);font-size:30px;display:block;color:var(--naranja)}
.bm-kpi span{font-size:12px;color:var(--txt-soft)}
.bm-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bm-card{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:18px;box-shadow:var(--sh-sm)}
.bm-card h3{font-size:15px;margin-bottom:12px}
.bm-fnl{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}
.bm-fnl span{flex:none;width:130px;color:var(--txt-soft);font-size:12px;text-align:right}
.bm-fnl-bar{flex:1;height:15px;background:var(--crema-2);border-radius:8px;overflow:hidden}
.bm-fnl-bar div{height:100%;background:linear-gradient(90deg,var(--miel),var(--naranja));border-radius:8px;min-width:2px;animation:growBar .8s var(--ease) both}
.bm-fnl b{width:30px;text-align:right}
.bm-emails,.bm-events{display:flex;flex-direction:column;gap:6px;font-size:13px;max-height:260px;overflow:auto}
.bm-emails>div{padding:6px 0;border-bottom:1px solid var(--linea)}
.bm-evrow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--linea);color:var(--txt-soft)}
.bm-evrow time{font-size:11px}
.bm-admin-foot{margin-top:18px;font-size:12px;color:var(--txt-soft);text-align:center}

/* ===================== V3 ===================== */
/* topbar back + nav inferior */
.bm-topbar-left{display:flex;align-items:center;gap:6px}
.bm-back-btn{width:34px;height:34px;border:1px solid var(--linea);background:var(--blanco);border-radius:50%;font-size:22px;line-height:1;color:var(--carbon);cursor:pointer;box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:center;padding-bottom:3px;transition:transform .14s var(--ease)}
.bm-back-btn:active{transform:scale(.9)}
.bm-screen.has-nav{padding-bottom:74px}
.bm-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:var(--maxw);display:flex;justify-content:space-around;background:rgba(255,248,231,.92);backdrop-filter:blur(14px);border-top:1px solid var(--linea);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:40}
.bm-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--txt-soft);font-size:10px;font-weight:600;padding:4px 10px;border-radius:14px;transition:.18s var(--ease)}
.bm-nav-ic{font-size:20px;transition:transform .2s var(--ease)}
.bm-nav-item.on{color:var(--naranja);background:rgba(255,138,61,.1)}
.bm-nav-item.on .bm-nav-ic{transform:translateY(-2px) scale(1.12)}

/* dashboard */
.bm-dash-head{display:flex;gap:14px;align-items:center}
.bm-dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bm-dstat{background:var(--blanco);border:1px solid var(--linea);border-radius:16px;padding:13px;text-align:center;box-shadow:var(--sh-sm)}
.bm-dstat b{font-family:var(--display);font-size:20px;display:block;color:var(--naranja)}
.bm-dstat span{font-size:11px;color:var(--txt-soft)}
.bm-dash-route{background:linear-gradient(150deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:22px;padding:20px;box-shadow:var(--sh);position:relative;overflow:hidden}
.bm-dash-route::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,var(--bee),transparent 60%);opacity:.5}
.bm-dash-route h3{font-family:var(--display);font-size:21px;position:relative;margin:4px 0 6px}
.bm-dash-route p{position:relative;font-size:14px;opacity:.9;margin-bottom:14px}
.bm-dash-route .bm-btn{position:relative}
.bm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bm-tile{background:var(--blanco);border:1px solid var(--linea);border-radius:18px;padding:16px;text-decoration:none;color:var(--txt);box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:3px;transition:.16s var(--ease)}
.bm-tile:hover{transform:translateY(-3px);border-color:var(--miel-2)}
.bm-tile:active{transform:scale(.97)}
.bm-tile-ic{font-size:26px}
.bm-tile b{font-size:14px}
.bm-tile-sub{font-size:11.5px;color:var(--txt-soft)}
.bm-privacy-link{text-align:center;font-size:12px;color:var(--txt-soft);text-decoration:none;padding:6px;font-weight:600}

/* rutas */
.bm-route-list,.bm-tool-list,.bm-game-list{display:flex;flex-direction:column;gap:11px}
.bm-route-card,.bm-tool-card,.bm-game-card{display:flex;align-items:center;gap:13px;background:var(--blanco);border:1px solid var(--linea);border-left:5px solid var(--bee,var(--miel));border-radius:16px;padding:14px;text-decoration:none;color:var(--txt);box-shadow:var(--sh-sm);transition:.16s var(--ease)}
.bm-route-card:hover,.bm-tool-card:hover,.bm-game-card:hover{transform:translateY(-2px);border-color:var(--miel-2);border-left-color:var(--bee,var(--miel))}
.bm-route-emoji,.bm-tool-ic,.bm-game-ic{font-size:30px;flex:none;width:42px;text-align:center}
.bm-route-body{flex:1;display:flex;flex-direction:column;gap:2px}
.bm-route-body b{font-size:15px}
.bm-route-body>span{font-size:12.5px;color:var(--txt-soft);line-height:1.35}
.bm-route-meta{font-size:11px!important;color:var(--miel)!important;font-weight:600;margin-top:2px}
.bm-route-state{font-size:18px;color:var(--txt-soft);flex:none}
.bm-tool-card>div,.bm-game-card>div{flex:1}
.bm-tool-card b,.bm-game-card b{font-size:14.5px;display:block}
.bm-tool-card span,.bm-game-card span{font-size:12px;color:var(--txt-soft)}
.bm-game-card.soon{opacity:.66}
/* ruta detalle */
.bm-route-detail .bm-route-hero{text-align:center;background:var(--blanco);border:1px solid var(--linea);border-top:5px solid var(--bee);border-radius:20px;padding:20px;box-shadow:var(--sh-sm)}
.bm-route-emoji-lg{font-size:48px}
.bm-checklist{list-style:none;display:flex;flex-direction:column;gap:7px}
.bm-checklist li{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:11px 14px;font-size:13.5px;font-weight:500}
.bm-checklist li.lock{opacity:.5;font-style:italic}
.bm-video-list{display:flex;flex-direction:column;gap:10px}
.bm-video{font-family:inherit;display:flex;gap:12px;align-items:center;text-align:left;background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:11px;cursor:pointer;transition:.16s var(--ease);box-shadow:var(--sh-sm)}
.bm-video:hover{border-color:var(--rojo)}
.bm-video.locked{opacity:.62;cursor:pointer}
.bm-video-thumb{flex:none;width:60px;height:44px;border-radius:10px;background:linear-gradient(135deg,#3a3a3a,#1c1b18);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}
.bm-video:not(.locked) .bm-video-thumb{background:linear-gradient(135deg,#ff5a5a,#c4302b)}
.bm-video-body{flex:1;display:flex;flex-direction:column;gap:2px}
.bm-video-body b{font-size:13.5px;line-height:1.25}
.bm-video-meta{font-size:11px;color:var(--txt-soft)}
.bm-video-why{font-size:11.5px;color:var(--azul);font-style:italic}
.bm-lock-card{background:linear-gradient(135deg,#fff3cf,#fff);border:1.5px solid var(--miel);border-radius:20px;padding:22px;text-align:center;box-shadow:var(--sh-sm)}
.bm-lock-ic{font-size:38px}
.bm-lock-card h3{font-family:var(--display);font-size:19px;margin:6px 0}
.bm-lock-card p{font-size:13.5px;color:var(--txt-soft);margin-bottom:14px}

/* herramientas / calculadoras */
.bm-num{margin-bottom:2px}
.bm-tool-out{margin-top:8px;display:flex;flex-direction:column;gap:12px}
.bm-result-num{display:flex;justify-content:space-between;align-items:baseline;background:linear-gradient(135deg,var(--carbon),var(--carbon-2));color:var(--crema);border-radius:16px;padding:16px 18px}
.bm-result-num span{font-size:13px;opacity:.75}
.bm-result-num b{font-family:var(--display);font-size:30px;color:var(--miel-2)}
.bm-result-sub{font-size:13px;color:var(--txt-soft);text-align:center}
.bm-risk{align-self:center;font-size:12px;font-weight:700;padding:6px 14px;border-radius:30px}
.bm-risk-bajo{background:#eef8e3;color:#4f8a2e}.bm-risk-medio{background:#fff3cf;color:#b07d12}.bm-risk-alto{background:#fdeef0;color:var(--rojo)}
.bm-crit-list{display:flex;flex-direction:column;gap:8px}
.bm-crit{background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:12px 14px}
.bm-crit b{font-size:13.5px;display:block}.bm-crit span{font-size:12px;color:var(--txt-soft)}
.bm-aid-list{display:flex;flex-direction:column;gap:10px}
.bm-aid{background:var(--blanco);border:1px solid var(--linea);border-radius:14px;padding:14px;box-shadow:var(--sh-sm)}
.bm-aid-cat{display:inline-block;background:var(--crema-2);color:var(--txt-soft);font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.bm-aid b{display:block;font-size:14.5px;margin:6px 0 3px}
.bm-aid p{font-size:12.5px;color:var(--txt-soft);line-height:1.4}
.bm-aid-where{font-size:11.5px;color:var(--azul);font-weight:600;display:block;margin-top:6px}

/* minijuego */
.bm-canvas-wrap{display:flex;justify-content:center;margin:6px 0}
#bm-game{border-radius:18px;border:2px solid var(--linea);box-shadow:var(--sh);touch-action:none;background:#FFF8E7}
.bm-game-play{align-items:stretch}

/* privacidad */
.bm-priv-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.bm-priv-list li{background:var(--blanco);border:1px solid var(--linea);border-left:4px solid var(--verde);border-radius:12px;padding:13px 15px;font-size:13.5px;line-height:1.45}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.05s!important}}
@media(max-width:560px){.bm-admin-grid{grid-template-columns:1fr}.bm-kpis{grid-template-columns:repeat(2,1fr)}}
