
/* BornForCloud · AWS CerCloud console theme v133 */
:root{
  --bfc-bg:#020b16;
  --bfc-bg2:#071426;
  --bfc-panel:#07182d;
  --bfc-panel2:#0a1e38;
  --bfc-line:#17304f;
  --bfc-line2:#244d7c;
  --bfc-text:#f5f7fb;
  --bfc-muted:#9fb0c7;
  --bfc-muted2:#6f839f;
  --bfc-aws:#ffae18;
  --bfc-aws2:#ff9900;
  --bfc-blue:#60a5fa;
  --bfc-cyan:#10d4c2;
  --bfc-purple:#b277ff;
  --bfc-green:#53d38a;
  --bfc-red:#fb7185;
  --bfc-shadow:0 24px 80px rgba(0,0,0,.42);
  --bfc-radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:var(--bfc-text)!important;
  background:
    radial-gradient(circle at 38% 40%,rgba(255,153,0,.11),transparent 18%),
    radial-gradient(circle at 78% 19%,rgba(255,174,24,.10),transparent 22%),
    radial-gradient(circle at 38% 83%,rgba(37,99,235,.12),transparent 32%),
    linear-gradient(180deg,#061426 0%,#020b16 100%)!important;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(80,137,206,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(80,137,206,.075) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.42));
  z-index:0;
}
body::after{
  content:"";
  position:fixed;
  right:0;
  top:0;
  width:42vw;
  height:32vh;
  pointer-events:none;
  background:radial-gradient(circle at 55% 15%,rgba(255,176,35,.21),transparent 36%);
  filter:blur(14px);
  opacity:.45;
  z-index:0;
}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}

.page{
  position:relative!important;
  z-index:1!important;
  width:min(1560px,100%)!important;
  margin:0 auto!important;
  padding:18px 30px 40px!important;
  color:var(--bfc-text)!important;
}

/* Topbar */
.topbar{
  position:relative!important;
  z-index:6!important;
  min-height:86px!important;
  border-radius:24px!important;
  padding:14px 22px!important;
  margin-bottom:22px!important;
  background:linear-gradient(180deg,rgba(5,17,31,.96),rgba(4,15,27,.86))!important;
  border:1px solid rgba(96,165,250,.22)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04)!important;
  display:grid!important;
  grid-template-columns:280px minmax(280px,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
}
.brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:var(--bfc-text)!important;
}
.aws-logo{
  width:72px!important;
  height:58px!important;
  border:1px solid rgba(96,165,250,.3)!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(180deg,rgba(8,29,53,.82),rgba(5,20,38,.82))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.brand strong{
  display:block!important;
  font-size:18px!important;
  letter-spacing:-.02em!important;
  color:#fff!important;
}
.brand span{
  display:block!important;
  margin-top:2px!important;
  color:var(--bfc-aws)!important;
  font-weight:950!important;
  letter-spacing:.16em!important;
  font-size:11px!important;
  text-transform:uppercase!important;
}
.search{
  position:relative!important;
  min-height:52px!important;
  border-radius:15px!important;
  border:1px solid rgba(96,165,250,.2)!important;
  background:rgba(8,24,45,.62)!important;
  color:#9fb0c7!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 14px!important;
}
.search input{
  width:100%!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  color:#fff!important;
}
.search-results{
  top:calc(100% + 8px)!important;
  border-radius:18px!important;
  background:#061529!important;
  border:1px solid rgba(96,165,250,.28)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.45)!important;
}
.top-actions{display:flex!important;gap:10px!important;align-items:center!important}
.icon-round{
  width:46px!important;height:46px!important;border-radius:14px!important;
  display:grid!important;place-items:center!important;
  background:rgba(14,38,70,.55)!important;
  border:1px solid rgba(96,165,250,.25)!important;
}
.avatar{
  width:34px!important;height:34px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:linear-gradient(180deg,#ffbd24,#ff9f05)!important;color:#06101e!important;font-weight:950!important;
}

/* Guide layout */
.layout{
  display:grid!important;
  grid-template-columns:330px minmax(0,1fr) 330px!important;
  gap:24px!important;
  align-items:start!important;
}
.side-nav{
  position:sticky!important;
  top:18px!important;
  max-height:calc(100vh - 36px)!important;
  overflow:auto!important;
  border-radius:22px!important;
  padding:20px!important;
  background:linear-gradient(180deg,rgba(8,27,51,.88),rgba(6,21,40,.9))!important;
  border:1px solid rgba(59,130,246,.28)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.sidebar-toggle{
  width:100%!important;
  min-height:42px!important;
  border-radius:12px!important;
  border:1px solid rgba(96,165,250,.25)!important;
  background:rgba(14,38,70,.55)!important;
  color:#bcd8ff!important;
  font-weight:850!important;
  margin-bottom:14px!important;
  cursor:pointer!important;
}
.nav-title{
  color:var(--bfc-text)!important;
  font-size:22px!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
  margin:0 0 14px!important;
}
.lesson-list{display:grid!important;gap:8px!important}
.lesson-group{
  margin:18px 0 5px!important;
  color:var(--bfc-aws)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:950!important;
}
.lesson-link{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 13px!important;
  border-radius:13px!important;
  color:#c6d5e8!important;
  border:1px solid transparent!important;
  font-weight:800!important;
  line-height:1.25!important;
  background:transparent!important;
}
.lesson-link:hover,.lesson-link.active{
  background:rgba(96,165,250,.08)!important;
  border-color:rgba(96,165,250,.22)!important;
  color:#fff!important;
}
.lesson-link.done{
  border-color:rgba(83,211,138,.24)!important;
}
.mini-check{
  width:20px!important;
  height:20px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  color:var(--bfc-green)!important;
  font-size:12px!important;
  background:rgba(83,211,138,.08)!important;
  border:1px solid rgba(83,211,138,.18)!important;
}

/* Hero */
.hero{
  position:relative!important;
  overflow:hidden!important;
  min-height:250px!important;
  border:1px solid rgba(96,165,250,.22)!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 73% 50%,rgba(255,172,33,.24),transparent 16%),
    linear-gradient(135deg,rgba(9,25,47,.95),rgba(8,22,42,.96) 62%,rgba(6,19,36,.96))!important;
  box-shadow:var(--bfc-shadow),inset 0 1px 0 rgba(255,255,255,.03)!important;
  padding:36px 40px 34px!important;
  display:flex!important;
  align-items:center!important;
  margin-bottom:24px!important;
}
.hero::before{
  content:"";
  position:absolute;
  right:72px;
  bottom:-92px;
  width:360px;
  height:210px;
  border-radius:50%;
  border-top:1px solid rgba(255,184,54,.42);
  background:radial-gradient(ellipse at center,rgba(255,167,23,.16),transparent 56%);
  transform:rotate(-4deg);
}
.hero::after{
  content:"";
  position:absolute;
  right:44px;
  top:25px;
  width:260px;
  height:170px;
  opacity:.42;
  background-image:radial-gradient(circle,rgba(255,171,35,.62) 1px,transparent 1.7px);
  background-size:15px 15px;
  mask-image:radial-gradient(circle,black,transparent 72%);
}
.hero-inner{position:relative!important;z-index:2!important;max-width:920px!important}
.pill-row{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-bottom:20px!important}
.pill,.small-pill{
  width:max-content!important;
  border:1px solid rgba(255,174,24,.7)!important;
  color:var(--bfc-aws)!important;
  border-radius:999px!important;
  padding:8px 18px!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  background:rgba(255,153,0,.06)!important;
}
.pill.blue,.small-pill.blue{
  color:#aac5f5!important;
  border-color:rgba(114,159,255,.38)!important;
  background:rgba(70,111,196,.07)!important;
}
.hero h1{
  position:relative!important;
  z-index:2!important;
  margin:0 0 12px!important;
  font-size:clamp(42px,4.7vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  font-weight:950!important;
  text-shadow:0 2px 0 rgba(255,255,255,.12),0 16px 42px rgba(0,0,0,.52)!important;
  color:#fff!important;
}
.hero p{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  color:#c5d0df!important;
  font-size:18px!important;
  line-height:1.5!important;
  max-width:900px!important;
}

/* Content */
.main{min-width:0!important}
.content-card{
  border-radius:22px!important;
  padding:34px!important;
  background:linear-gradient(180deg,rgba(8,27,51,.88),rgba(6,21,40,.9))!important;
  border:1px solid rgba(59,130,246,.28)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.03)!important;
  color:var(--bfc-text)!important;
}
.content-card .breadcrumb{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  color:#9fb0c7!important;
  font-size:14px!important;
  margin-bottom:22px!important;
}
.content-card .breadcrumb a{color:#c7ddff!important;font-weight:850!important}
.content-card h2{
  color:#fff!important;
  margin:34px 0 12px!important;
  font-size:30px!important;
  letter-spacing:-.04em!important;
  line-height:1.1!important;
}
.content-card h3{
  color:#fff!important;
  margin:26px 0 10px!important;
  font-size:22px!important;
  letter-spacing:-.03em!important;
}
.content-card p,.content-card li{
  color:#c5d0df!important;
  line-height:1.72!important;
  font-size:17px!important;
}
.content-card strong{color:#fff!important}
.content-card a{color:#9bc8ff!important}
.content-card ul,.content-card ol{padding-left:24px!important}
.callout{
  margin:24px 0!important;
  padding:20px 22px!important;
  border-radius:18px!important;
  border:1px solid rgba(255,153,0,.28)!important;
  background:linear-gradient(135deg,rgba(255,153,0,.10),rgba(96,165,250,.05))!important;
  color:#dce8f7!important;
  box-shadow:0 16px 40px rgba(0,0,0,.18)!important;
}
.quiz{
  margin-top:34px!important;
  border-top:1px solid rgba(96,165,250,.18)!important;
  padding-top:18px!important;
}
.question{
  margin:18px 0!important;
  padding:20px!important;
  border-radius:18px!important;
  background:rgba(8,24,45,.65)!important;
  border:1px solid rgba(96,165,250,.18)!important;
}
.bottom-nav{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  margin-top:32px!important;
}
.bottom-nav a{
  min-height:88px!important;
  border-radius:18px!important;
  border:1px solid rgba(96,165,250,.25)!important;
  background:rgba(14,38,70,.55)!important;
  color:#c7ddff!important;
  padding:16px!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  align-items:center!important;
}
.bottom-nav a.next{
  border-color:rgba(255,174,24,.35)!important;
  background:linear-gradient(135deg,rgba(255,153,0,.13),rgba(14,38,70,.55))!important;
}
.bottom-nav small{display:block!important;color:#9fb0c7!important;margin-bottom:4px!important}
.bottom-nav strong{display:block!important;color:#fff!important}

/* Rail */
.study-rail{
  position:sticky!important;
  top:18px!important;
  display:grid!important;
  gap:16px!important;
  border-radius:22px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.rail-card{
  border-radius:20px!important;
  padding:22px!important;
  background:
    radial-gradient(circle at 65% 0%,rgba(255,153,0,.10),transparent 26%),
    linear-gradient(180deg,rgba(10,26,49,.92),rgba(7,21,39,.95))!important;
  border:1px solid rgba(255,153,0,.32)!important;
  box-shadow:0 0 32px rgba(255,153,0,.08),0 18px 48px rgba(0,0,0,.28)!important;
  overflow:hidden!important;
}
.rail-card h2{
  margin:0 0 16px!important;
  color:#fff!important;
  font-size:22px!important;
  letter-spacing:-.03em!important;
}
.progress-number{
  font-size:44px!important;
  font-weight:950!important;
  letter-spacing:-.06em!important;
  color:#fff!important;
  margin-bottom:10px!important;
}
.bar{
  height:9px!important;
  border-radius:999px!important;
  background:rgba(129,155,190,.17)!important;
  overflow:hidden!important;
}
.bar i,.bar span,[data-progress-bar]{
  display:block!important;
  height:100%!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,var(--bfc-aws2),#ffbd2d)!important;
  box-shadow:0 0 16px rgba(255,153,0,.45)!important;
}
.quick-grid,.progress-quick-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}
.quick{
  padding:14px!important;
  border-radius:14px!important;
  border:1px solid rgba(96,165,250,.18)!important;
  background:rgba(8,24,45,.65)!important;
}
.quick strong{display:block!important;color:#fff!important;font-size:18px!important}
.quick span{display:block!important;color:#9fb0c7!important;font-size:13px!important;margin-top:3px!important}
.lesson-actions,.quick-actions-panel{display:grid!important;gap:10px!important}
.lesson-action-btn,.btn,.button{
  min-height:48px!important;
  border-radius:12px!important;
  border:1px solid rgba(96,165,250,.31)!important;
  padding:0 18px!important;
  background:rgba(14,38,70,.55)!important;
  color:#bcd8ff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-decoration:none!important;
  font-weight:850!important;
  font-size:15px!important;
  cursor:pointer!important;
  transition:.2s ease!important;
}
.lesson-action-btn:hover,.btn:hover{transform:translateY(-1px)!important;border-color:rgba(96,165,250,.55)!important}
.btn.primary,.btn-primary,.read-action.is-complete,.favorite-action.is-saved{
  background:linear-gradient(180deg,#ffbd24,#ff9f05)!important;
  color:#06101e!important;
  border:0!important;
  box-shadow:0 8px 28px rgba(255,153,0,.22)!important;
  font-weight:950!important;
}
.saved-entry{
  display:block!important;
  padding:13px 14px!important;
  border-radius:14px!important;
  border:1px solid rgba(96,165,250,.18)!important;
  background:rgba(8,24,45,.56)!important;
  color:#fff!important;
  margin-bottom:10px!important;
}
.empty-saved{color:#9fb0c7!important}
.guest-lock{
  border-radius:16px!important;
  border:1px dashed rgba(96,165,250,.28)!important;
  background:rgba(8,24,45,.44)!important;
  padding:18px!important;
}
.logged-mode .guest-lock{display:none!important}
.guest-mode .cap-content{filter:saturate(.75);opacity:.45}
.guest-mode .guest-lock{display:block!important;margin-top:14px!important}

/* Standalone app pages */
.bfc-app{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  min-height:100vh;
}
.bfc-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:26px 14px;
  background:linear-gradient(180deg,rgba(5,17,31,.96),rgba(4,15,27,.86));
  border-right:1px solid rgba(80,137,206,.18);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
}
.bfc-brand{
  width:72px;height:64px;border:1px solid rgba(96,165,250,.3);border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(8,29,53,.82),rgba(5,20,38,.82));
  color:#fff;font-weight:500;font-size:26px;letter-spacing:.5px;position:relative;
}
.bfc-brand::after{
  content:"";position:absolute;width:40px;height:12px;bottom:15px;border-bottom:3px solid var(--bfc-aws);
  border-radius:0 0 50% 50%;transform:rotate(-2deg);
}
.bfc-nav,.bfc-nav-bottom{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.bfc-nav-bottom{margin-top:auto;gap:10px}
.bfc-nav-item{
  width:104px;min-height:80px;border-radius:14px;color:#b4c4d8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:14px;text-decoration:none;border:1px solid transparent;transition:.2s ease;
}
.bfc-nav-item svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.bfc-nav-item.active{
  color:#cde7ff;background:linear-gradient(180deg,rgba(18,62,111,.74),rgba(9,30,57,.68));
  border-color:rgba(96,165,250,.45);box-shadow:0 0 26px rgba(96,165,250,.16),inset 0 0 22px rgba(96,165,250,.1);
}
.bfc-main{width:min(1530px,100%);padding:18px 30px 40px}
.bfc-hero{
  position:relative;overflow:hidden;min-height:232px;border:1px solid rgba(96,165,250,.22);border-radius:24px;
  background:radial-gradient(circle at 73% 50%,rgba(255,172,33,.24),transparent 16%),linear-gradient(135deg,rgba(9,25,47,.95),rgba(8,22,42,.96) 62%,rgba(6,19,36,.96));
  box-shadow:var(--bfc-shadow),inset 0 1px 0 rgba(255,255,255,.03);padding:36px 40px 34px;display:flex;flex-direction:column;justify-content:center;margin-bottom:30px;
}
.bfc-hero::before{
  content:"";position:absolute;right:72px;bottom:-92px;width:360px;height:210px;border-radius:50%;border-top:1px solid rgba(255,184,54,.42);
  background:radial-gradient(ellipse at center,rgba(255,167,23,.16),transparent 56%);transform:rotate(-4deg);
}
.bfc-hero::after{
  content:"";position:absolute;right:44px;top:25px;width:260px;height:170px;opacity:.42;
  background-image:radial-gradient(circle,rgba(255,171,35,.62) 1px,transparent 1.7px);background-size:15px 15px;mask-image:radial-gradient(circle,black,transparent 72%);
}
.bfc-hero>*{position:relative;z-index:2}
.bfc-hero h1{margin:22px 0 10px;font-size:clamp(44px,5vw,70px);line-height:.96;letter-spacing:-.06em;font-weight:950;text-shadow:0 2px 0 rgba(255,255,255,.12),0 16px 42px rgba(0,0,0,.52)}
.bfc-hero p{margin:0;color:#c5d0df;font-size:18px;line-height:1.5;max-width:900px}
.bfc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.bfc-section-head{display:flex;align-items:flex-start;gap:20px;margin:0 0 24px}
.bfc-section-icon{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--bfc-aws);background:rgba(255,153,0,.06);border:1px solid rgba(255,153,0,.14);flex:0 0 auto}
.bfc-section-icon svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bfc-section-head h2{margin:0;font-size:30px;letter-spacing:-.035em;line-height:1.1}
.bfc-section-head p{margin:7px 0 0;color:var(--bfc-muted);font-size:16px}
.bfc-grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}
.bfc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bfc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bfc-glass-card{
  border-radius:22px;background:linear-gradient(180deg,rgba(8,27,51,.88),rgba(6,21,40,.9));border:1px solid rgba(59,130,246,.28);box-shadow:0 14px 36px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-aws-card{
  border-radius:22px;background:radial-gradient(circle at 65% 0%,rgba(255,153,0,.13),transparent 26%),linear-gradient(180deg,rgba(10,26,49,.92),rgba(7,21,39,.95));border:1px solid rgba(255,153,0,.48);box-shadow:0 0 32px rgba(255,153,0,.12),0 28px 70px rgba(0,0,0,.35);
}
.bfc-metric-card{padding:20px;border-radius:18px;background:rgba(8,24,45,.65);border:1px solid rgba(96,165,250,.18);display:flex;gap:14px;align-items:center}
.bfc-metric-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(96,165,250,.09);color:var(--bfc-blue);flex:0 0 auto}
.bfc-metric-icon.orange{color:var(--bfc-aws);background:rgba(255,153,0,.08)}
.bfc-metric-icon.green{color:var(--bfc-green);background:rgba(34,197,94,.08)}
.bfc-metric-icon.purple{color:var(--bfc-purple);background:rgba(178,119,255,.08)}
.bfc-metric-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bfc-metric-card strong{display:block;font-size:24px;letter-spacing:-.04em;color:#fff}
.bfc-metric-card span{color:#9fb0c7;font-size:14px}
.bfc-panel-section{margin-top:28px}
.bfc-domain-card{padding:20px;display:grid;gap:12px}
.bfc-domain-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.bfc-domain-head strong{font-size:17px;color:#fff}
.bfc-domain-meta{font-size:13px;color:#9fb0c7}
.bfc-card-pad{padding:28px}
.bfc-card-title{margin:0 0 10px;font-size:26px;letter-spacing:-.04em}
.bfc-card-text{color:#b7c5d6;line-height:1.55;margin:0}
.bfc-lesson-row{display:flex;align-items:center;gap:16px;padding:16px;border-radius:15px;border:1px solid rgba(96,165,250,.18);background:rgba(8,24,45,.56);margin-top:12px}
.bfc-lesson-num{width:42px;height:42px;border-radius:13px;background:rgba(255,153,0,.09);border:1px solid rgba(255,153,0,.25);display:grid;place-items:center;color:var(--bfc-aws);font-weight:950;flex:0 0 auto}
.bfc-lesson-row strong{display:block;margin-bottom:4px;color:#fff}
.bfc-lesson-row span{color:#9fb0c7;font-size:14px}
.bfc-ring{width:122px;height:122px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--bfc-aws) 0 70%,rgba(126,153,188,.18) 70% 100%);position:relative;flex:0 0 auto}
.bfc-ring::before{content:"";position:absolute;inset:14px;border-radius:50%;background:#07182d}
.bfc-ring span{position:relative;z-index:1;font-size:25px;font-weight:950}

.footer{
  margin-top:28px!important;
  padding:22px!important;
  color:#9fb0c7!important;
  border-radius:20px!important;
  background:rgba(8,27,51,.55)!important;
  border:1px solid rgba(96,165,250,.16)!important;
}
.footer strong{color:var(--bfc-aws)!important}

@media(max-width:1280px){
  .layout{grid-template-columns:300px minmax(0,1fr)!important}
  .study-rail{position:relative!important;top:auto!important;grid-column:1/-1!important;grid-template-columns:repeat(3,1fr)!important}
  .bfc-grid-2,.bfc-grid-3,.bfc-grid-4{grid-template-columns:1fr!important}
}
@media(max-width:1050px){
  .layout{grid-template-columns:1fr!important}
  .side-nav,.study-rail{position:relative!important;top:auto!important;max-height:none!important}
  .study-rail{grid-template-columns:1fr!important}
  .topbar{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .page{padding:14px!important}
  .bfc-app{grid-template-columns:1fr}
  .bfc-sidebar{position:relative;height:auto;flex-direction:row;overflow:auto;padding:12px;justify-content:flex-start}
  .bfc-brand{width:58px;height:52px;font-size:21px;flex:0 0 auto}
  .bfc-nav,.bfc-nav-bottom{flex-direction:row;width:auto;margin-top:0}
  .bfc-nav-item{width:72px;min-height:58px;font-size:11px}
  .bfc-nav-item svg{width:22px;height:22px}
  .bfc-main{padding:18px 16px 32px}
  .hero,.bfc-hero{min-height:210px;padding:28px 24px!important}
  .hero h1,.bfc-hero h1{font-size:42px!important}
  .content-card{padding:24px!important}
  .bottom-nav{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .hero h1,.bfc-hero h1{font-size:36px!important}
  .bfc-actions{flex-direction:column}
  .btn,.lesson-action-btn{width:100%!important}
}


/* v134 · auth state in vertical sidebar */
.bfc-nav-item.auth-state{
  position:relative;
}
.bfc-nav-item.auth-state::before{
  content:"";
  position:absolute;
  top:10px;
  right:14px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--bfc-red);
  box-shadow:0 0 14px rgba(251,113,133,.75);
}
.bfc-nav-item.auth-state.is-logged{
  color:#d8ffe8;
  border-color:rgba(83,211,138,.34);
  background:linear-gradient(180deg,rgba(20,83,45,.38),rgba(8,29,53,.55));
}
.bfc-nav-item.auth-state.is-logged::before{
  background:var(--bfc-green);
  box-shadow:0 0 14px rgba(83,211,138,.75);
}
.bfc-nav-item.auth-state.is-guest{
  color:#ffd5dc;
  border-color:rgba(251,113,133,.28);
  background:linear-gradient(180deg,rgba(127,29,29,.22),rgba(8,29,53,.50));
}
.bfc-nav-item.auth-state.is-guest::before{
  background:var(--bfc-red);
  box-shadow:0 0 14px rgba(251,113,133,.75);
}


/* v135 · próximamente items in vertical sidebar */
.bfc-nav-item.is-soon{
  opacity:.38;
  filter:grayscale(.35);
  cursor:not-allowed;
  pointer-events:none;
  background:rgba(14,38,70,.20);
  border-color:rgba(96,165,250,.08);
}
.bfc-nav-item.is-soon span::after{
  content:"Próx.";
  display:block;
  margin-top:3px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  color:#7f94ae;
  text-transform:uppercase;
}
.bfc-domain-card.is-clickable{
  display:block;
  color:inherit;
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.bfc-domain-card.is-clickable:hover{
  transform:translateY(-2px);
  border-color:rgba(255,174,24,.45)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.34),0 0 22px rgba(255,153,0,.10)!important;
}

/* v135 · robust guide left index collapse */
body.sidebar-collapsed .layout{
  grid-template-columns:56px minmax(0,1fr) 330px!important;
}
body.sidebar-collapsed .side-nav{
  padding:10px!important;
  overflow:visible!important;
}
body.sidebar-collapsed .side-nav .nav-title,
body.sidebar-collapsed .side-nav .lesson-list{
  display:none!important;
}
body.sidebar-collapsed .sidebar-toggle{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
body.sidebar-collapsed .sidebar-toggle .toggle-text{
  display:none!important;
}
@media(max-width:1280px){
  body.sidebar-collapsed .layout{
    grid-template-columns:56px minmax(0,1fr)!important;
  }
}
@media(max-width:1050px){
  body.sidebar-collapsed .layout{
    grid-template-columns:1fr!important;
  }
  body.sidebar-collapsed .side-nav .nav-title,
  body.sidebar-collapsed .side-nav .lesson-list{
    display:block!important;
  }
}

/* v136 · left menu final labels and soon tooltip */
.bfc-nav-item.is-soon span::after{
  content:""!important;
  display:none!important;
}
.bfc-nav-item.is-soon{
  pointer-events:auto!important;
}
.bfc-nav-item.is-soon:hover::after{
  content:"En Desarrollo. Próximamente.";
  position:absolute;
  left:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%);
  width:max-content;
  max-width:220px;
  padding:10px 12px;
  border-radius:12px;
  background:#061529;
  border:1px solid rgba(96,165,250,.28);
  box-shadow:0 18px 44px rgba(0,0,0,.42);
  color:#dbeafe;
  font-size:12px;
  font-weight:850;
  letter-spacing:0;
  text-transform:none;
  z-index:20;
}
.bfc-nav-item.is-soon:hover{
  opacity:.55;
}
@media(max-width:820px){
  .bfc-nav-item.is-soon:hover::after{
    display:none;
  }
}


/* v137 · footer and compact route cards */
.bfc-footer{
  margin-top:32px;
  min-height:52px;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.20);
  background:linear-gradient(180deg,rgba(8,27,51,.72),rgba(6,21,40,.72));
  box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.03);
  color:#aebbd0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 20px;
  font-size:14px;
}
.bfc-footer strong{
  color:var(--bfc-aws)!important;
  font-weight:950;
}
.bfc-footer nav{
  display:flex;
  align-items:center;
  gap:14px;
}
.bfc-footer a{
  color:#c7ddff!important;
  text-decoration:none;
}
.bfc-footer a:hover{
  color:#fff!important;
}
.bfc-compact-route{
  padding:18px 22px!important;
  min-height:116px!important;
}
.bfc-compact-route .bfc-card-title{
  font-size:22px!important;
  margin-bottom:2px!important;
}
.bfc-compact-route .bfc-card-text{
  font-size:14px!important;
  line-height:1.4!important;
}
.bfc-compact-route .btn{
  min-height:42px!important;
  padding:0 16px!important;
  white-space:nowrap;
}
@media(max-width:820px){
  .bfc-footer{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* v139 · guía pública con progreso bloqueado para invitados */
.bfc-guest-only{display:none!important}
.bfc-logged-only{display:none!important}
.guest-mode .bfc-guest-only{display:block!important}
.logged-mode .bfc-logged-only{display:block!important}
.bfc-register-callout{
  border-color:rgba(96,165,250,.36)!important;
  background:
    radial-gradient(circle at 18% 18%,rgba(96,165,250,.14),transparent 26%),
    linear-gradient(180deg,rgba(8,27,51,.92),rgba(6,21,40,.92))!important;
}
.bfc-locked-progress{
  position:relative;
  opacity:.72;
}
.bfc-locked-progress::after{
  content:"🔒";
  position:absolute;
  right:12px;
  bottom:14px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(2,11,22,.72);
  border:1px solid rgba(255,255,255,.08);
}


/* v140 · guía anónima: CTA doble de registro/estudio */
.bfc-register-callout .bfc-actions{
  align-items:center;
}
.bfc-register-callout .btn{
  min-width:180px;
}


/* v142 · intro y prueba visual */
.lesson-link[href="/aws/cloud-practitioner/intro-aws-clfc02.html"] span{
  font-weight:950;
}


/* v143 · panel domains integrated and intro layout */
.bfc-course-progress-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:22px;
  align-items:stretch;
}
.bfc-domain-side-card{
  border-radius:22px;
  padding:24px;
  background:linear-gradient(180deg,rgba(8,27,51,.88),rgba(6,21,40,.9));
  border:1px solid rgba(59,130,246,.28);
  box-shadow:0 14px 36px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-domain-side-head h3{
  margin:18px 0 8px;
  color:#fff;
  font-size:25px;
  letter-spacing:-.04em;
}
.bfc-domain-side-head p{
  margin:0 0 18px;
  color:#9fb0c7;
  line-height:1.5;
}
.bfc-domain-side-list{
  display:grid;
  gap:12px;
}
.bfc-domain-side-list .bfc-domain-card{
  padding:16px!important;
  border-radius:16px!important;
}
.bfc-domain-side-list .bfc-domain-meta{
  font-size:12px!important;
}
.bfc-domain-side-list .bfc-domain-head strong{
  font-size:15px!important;
}
.bfc-domain-side-list .bar{
  height:7px!important;
}
@media(max-width:1180px){
  .bfc-course-progress-layout{
    grid-template-columns:1fr;
  }
}


/* v144 · panel layout fix and intro active state */
.bfc-panel-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.bfc-panel-page-grid > section{
  min-width:0;
}
.bfc-course-progress-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
.bfc-course-progress-layout > .bfc-aws-card,
.bfc-course-progress-layout > .bfc-domain-side-card{
  min-width:0;
}
.bfc-domain-side-card{
  height:100%;
}
.bfc-domain-side-list{
  grid-template-columns:1fr!important;
}
.lesson-link.active{
  background:rgba(255,153,0,.10)!important;
  border-color:rgba(255,174,24,.36)!important;
  color:#fff!important;
}
.lesson-link.active .mini-check{
  border-color:rgba(255,174,24,.42)!important;
  color:var(--bfc-aws)!important;
}
@media(max-width:1280px){
  .bfc-course-progress-layout{
    grid-template-columns:1fr!important;
  }
}


/* v145 · portada más explicativa */
.bfc-home-hero{
  min-height:310px!important;
}
.bfc-mini-feature{
  padding:22px;
  border-radius:18px;
}
.bfc-mini-feature strong{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#ffbd24,#ff9f05);
  color:#06101e;
  font-size:20px;
  font-weight:950;
  margin-bottom:18px;
}
.bfc-mini-feature h3{
  margin:0 0 8px;
  color:#fff;
  font-size:22px;
  letter-spacing:-.03em;
}
.bfc-mini-feature p{
  margin:0;
  color:#9fb0c7;
  line-height:1.5;
}


/* v146 · portada y features */
.bfc-mini-feature-row{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.bfc-mini-feature-row strong{
  flex:0 0 auto;
  margin:0;
}
.bfc-mini-feature-row h3{
  margin-top:1px;
}


/* v148 · saved count, recent order and home header height */
.saved-count{
  color:var(--bfc-aws);
  font-size:.9em;
  font-weight:950;
  margin-left:6px;
}
.bfc-home-hero{
  min-height:240px!important;
  padding-top:28px!important;
  padding-bottom:28px!important;
}
.bfc-home-hero h1{
  margin-top:16px!important;
}
@media(max-width:820px){
  .bfc-home-hero{
    min-height:220px!important;
  }
}


/* v150 · contacto nuevo, móvil y dominios por estado */
.bfc-contact-hero{
  min-height:220px!important;
}
.bfc-contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:24px;
  align-items:start;
}
.bfc-contact-form{
  display:grid;
  gap:16px;
  margin-top:22px;
}
.bfc-contact-form label{
  display:grid;
  gap:8px;
  color:#cbd5e1;
  font-weight:850;
}
.bfc-contact-form input,
.bfc-contact-form select,
.bfc-contact-form textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(8,24,45,.72);
  color:#fff;
  padding:13px 14px;
  outline:none;
}
.bfc-contact-form textarea{
  min-height:150px;
  resize:vertical;
}
.bfc-contact-form input:focus,
.bfc-contact-form select:focus,
.bfc-contact-form textarea:focus{
  border-color:rgba(255,174,24,.58);
  box-shadow:0 0 0 3px rgba(255,153,0,.10);
}
.bfc-contact-status{
  color:#cbd5e1;
  min-height:22px;
}
.bfc-contact-points{
  display:grid;
  gap:14px;
  margin-top:22px;
}
.bfc-contact-points div{
  border-radius:16px;
  border:1px solid rgba(96,165,250,.18);
  background:rgba(8,24,45,.56);
  padding:16px;
}
.bfc-contact-points strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}
.bfc-contact-points span{
  color:#9fb0c7;
  line-height:1.45;
}

/* Dominio 0% = pequeño inicio rojo, 100% = verde */
.bfc-domain-card.domain-zero .bar span,
.bfc-domain-card .bar span.domain-zero{
  width:4%!important;
  min-width:18px;
  background:linear-gradient(90deg,var(--bfc-red),#fb7185)!important;
  box-shadow:0 0 12px rgba(251,113,133,.45)!important;
}
.bfc-domain-card.domain-complete .bar span,
.bfc-domain-card .bar span.domain-complete{
  width:100%!important;
  background:linear-gradient(90deg,#22c55e,var(--bfc-green))!important;
  box-shadow:0 0 16px rgba(83,211,138,.45)!important;
}
.bfc-domain-card.domain-zero .small-pill,
.bfc-domain-card.domain-zero [data-domain-count]{
  color:#fecdd3!important;
  border-color:rgba(251,113,133,.35)!important;
}
.bfc-domain-card.domain-complete .small-pill,
.bfc-domain-card.domain-complete [data-domain-count]{
  color:#bbf7d0!important;
  border-color:rgba(83,211,138,.35)!important;
}

/* Mobile optimization: index, panel, dashboard */
@media(max-width:900px){
  .bfc-main{
    padding:14px!important;
  }
  .bfc-hero,
  .bfc-home-hero,
  .bfc-panel-hero-compact{
    min-height:auto!important;
    padding:24px 20px!important;
    border-radius:20px!important;
  }
  .bfc-hero h1,
  .bfc-home-hero h1,
  .bfc-panel-hero-compact h1{
    font-size:clamp(34px,10vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
  }
  .bfc-hero p{
    font-size:15px!important;
  }
  .bfc-grid-3,
  .bfc-grid-4,
  .bfc-grid-2,
  .bfc-contact-layout,
  .bfc-course-progress-layout{
    grid-template-columns:1fr!important;
  }
  .bfc-card-pad{
    padding:20px!important;
  }
  .bfc-section-head{
    gap:14px!important;
  }
  .bfc-section-icon{
    width:46px!important;
    height:46px!important;
  }
  .bfc-section-head h2{
    font-size:24px!important;
  }
  .bfc-mini-feature-row{
    align-items:flex-start;
  }
  .bfc-domain-side-card{
    padding:20px!important;
  }
  .bfc-domain-side-list .bfc-domain-card{
    padding:14px!important;
  }
  .bfc-footer{
    padding:16px!important;
  }
}
@media(max-width:560px){
  .bfc-card-title{
    font-size:23px!important;
  }
  .bfc-actions{
    flex-direction:column;
  }
  .bfc-actions .btn{
    width:100%;
  }
  .bfc-metric-card{
    padding:15px!important;
  }
  .bfc-contact-form input,
  .bfc-contact-form select,
  .bfc-contact-form textarea{
    font-size:16px;
  }
}


/* v151 · animación motivacional al marcar módulo como leído */
@keyframes bfc-progress-pop {
  0% { transform:scale(1); filter:brightness(1); }
  35% { transform:scale(1.16); filter:brightness(1.35); text-shadow:0 0 22px rgba(255,174,24,.65); }
  70% { transform:scale(.98); }
  100% { transform:scale(1); filter:brightness(1); }
}
@keyframes bfc-progress-bar-shine {
  0% { box-shadow:0 0 0 rgba(255,174,24,0); filter:brightness(1); }
  45% { box-shadow:0 0 24px rgba(255,174,24,.65); filter:brightness(1.35); }
  100% { box-shadow:0 0 16px rgba(255,153,0,.45); filter:brightness(1); }
}
@keyframes bfc-progress-toast-in {
  0% { opacity:0; transform:translateY(10px) scale(.96); }
  14% { opacity:1; transform:translateY(0) scale(1); }
  82% { opacity:1; transform:translateY(0) scale(1); }
  100% { opacity:0; transform:translateY(-8px) scale(.98); }
}
.bfc-progress-bump{
  animation:bfc-progress-pop .85s cubic-bezier(.2,.8,.2,1);
}
.bfc-progress-bar-bump{
  animation:bfc-progress-bar-shine .95s ease;
}
.bfc-progress-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9999;
  max-width:min(360px,calc(100vw - 32px));
  border-radius:18px;
  border:1px solid rgba(255,174,24,.42);
  background:
    radial-gradient(circle at 15% 20%,rgba(255,174,24,.22),transparent 36%),
    linear-gradient(180deg,rgba(8,27,51,.96),rgba(6,21,40,.96));
  box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 28px rgba(255,153,0,.12);
  color:#fff;
  padding:16px 18px;
  display:flex;
  gap:13px;
  align-items:flex-start;
  pointer-events:none;
  animation:bfc-progress-toast-in 2.6s ease both;
}
.bfc-progress-toast .icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(180deg,#ffbd24,#ff9f05);
  color:#06101e;
  font-weight:950;
}
.bfc-progress-toast strong{
  display:block;
  font-size:15px;
  margin-bottom:3px;
}
.bfc-progress-toast span{
  display:block;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:640px){
  .bfc-progress-toast{
    right:16px;
    bottom:16px;
    left:16px;
  }
}


/* v152 · animación inicial de progreso en panel */
@keyframes bfc-panel-progress-enter {
  0% { transform:scale(.92); opacity:.72; text-shadow:none; }
  45% { transform:scale(1.12); opacity:1; text-shadow:0 0 24px rgba(255,174,24,.55); }
  100% { transform:scale(1); opacity:1; text-shadow:none; }
}
@keyframes bfc-panel-bar-enter {
  0% { filter:brightness(.95); box-shadow:0 0 10px rgba(251,113,133,.42); }
  55% { filter:brightness(1.25); box-shadow:0 0 24px rgba(255,174,24,.62); }
  100% { filter:brightness(1); box-shadow:0 0 16px rgba(255,153,0,.45); }
}
.bfc-panel-progress-enter{
  animation:bfc-panel-progress-enter 1.15s cubic-bezier(.2,.8,.2,1);
  display:inline-block;
}
.bfc-panel-bar-enter{
  animation:bfc-panel-bar-enter 1.25s ease;
}
.bfc-panel-progress-zero{
  color:#fecdd3!important;
}
.bfc-panel-progress-complete{
  color:#bbf7d0!important;
}
.bar span.bfc-panel-bar-zero{
  width:4%!important;
  min-width:18px;
  background:linear-gradient(90deg,var(--bfc-red),#fb7185)!important;
  box-shadow:0 0 12px rgba(251,113,133,.45)!important;
}
.bar span.bfc-panel-bar-complete{
  width:100%!important;
  background:linear-gradient(90deg,#22c55e,var(--bfc-green))!important;
  box-shadow:0 0 18px rgba(83,211,138,.52)!important;
}


/* v153 · animación de dominios en panel y % mejor ubicado */
@keyframes bfc-domain-card-enter {
  0% { opacity:.72; transform:translateY(8px); }
  100% { opacity:1; transform:translateY(0); }
}
@keyframes bfc-domain-percent-pop {
  0% { transform:scale(.92); filter:brightness(.9); }
  45% { transform:scale(1.12); filter:brightness(1.25); }
  100% { transform:scale(1); filter:brightness(1); }
}
.bfc-domain-card{
  position:relative;
}
.bfc-domain-head{
  padding-right:82px;
}
.bfc-domain-card [data-domain-count]{
  position:absolute!important;
  top:16px!important;
  right:18px!important;
  min-width:58px;
  text-align:center;
  z-index:3;
  animation:bfc-domain-percent-pop .95s cubic-bezier(.2,.8,.2,1);
}
.bfc-domain-card .bar{
  margin-top:12px;
  width:100%;
}
.bfc-domain-card.domain-animated{
  animation:bfc-domain-card-enter .55s ease both;
}
.bfc-domain-card.domain-animated .bar span{
  transition:width 1.15s cubic-bezier(.2,.8,.2,1), background .35s ease, box-shadow .35s ease;
}
.bfc-domain-card.domain-zero .bar span{
  width:4%!important;
}
.bfc-domain-card.domain-complete .bar span{
  width:100%!important;
}
.bfc-domain-side-list .bfc-domain-card [data-domain-count]{
  top:14px!important;
  right:14px!important;
}
.bfc-domain-side-list .bfc-domain-head{
  padding-right:74px;
}
@media(max-width:560px){
  .bfc-domain-card [data-domain-count]{
    position:static!important;
    margin-top:8px;
    display:inline-flex;
    justify-content:center;
  }
  .bfc-domain-head{
    padding-right:0;
    display:block!important;
  }
}


/* v155 · contacto cabecera compacta */
.bfc-contact-hero-compact{
  min-height:170px!important;
  padding-top:24px!important;
  padding-bottom:24px!important;
  margin-bottom:22px!important;
}
.bfc-contact-hero-compact h1{
  margin-top:14px!important;
  font-size:clamp(38px,4.4vw,58px)!important;
}
.bfc-contact-hero-compact p{
  max-width:780px!important;
}
@media(max-width:820px){
  .bfc-contact-hero-compact{
    min-height:auto!important;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
  .bfc-contact-hero-compact h1{
    font-size:clamp(32px,9vw,42px)!important;
  }
}


/* v156 · nuevo logo nube azul en lateral y favicon */
.bfc-brand{
  font-size:0!important;
  overflow:hidden;
}
.bfc-brand::after{
  display:none!important;
}
.bfc-brand img{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 10px rgba(59,130,246,.18));
}


/* v157 · portada ruta de aprendizaje y beta */
.bfc-learning-route-card{
  grid-column:span 2;
}
.bfc-route-head{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.bfc-route-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  border:1px solid rgba(255,174,24,.24);
  display:grid;
  place-items:center;
  color:var(--bfc-aws);
  background:linear-gradient(180deg,rgba(8,29,53,.82),rgba(5,20,38,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  flex:0 0 auto;
}
.bfc-route-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bfc-route-head .bfc-card-title{
  margin:0 0 6px!important;
}
.bfc-route-head .bfc-card-text{
  margin:0;
}
.bfc-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.bfc-route-step{
  border-radius:22px;
  border:1px solid rgba(59,130,246,.24);
  background:linear-gradient(180deg,rgba(8,29,53,.7),rgba(5,20,38,.7));
  padding:24px 28px;
  min-height:176px;
}
.bfc-route-step h3{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.04em;
}
.bfc-route-step p{
  margin:0;
  color:#c2d0e0;
  line-height:1.55;
  font-size:15px;
}
@media(max-width:1220px){
  .bfc-route-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .bfc-learning-route-card{
    grid-column:auto;
  }
}
@media(max-width:640px){
  .bfc-route-head{
    gap:14px;
  }
  .bfc-route-icon{
    width:50px;
    height:50px;
    border-radius:14px;
  }
  .bfc-route-grid{
    grid-template-columns:1fr;
  }
  .bfc-route-step{
    min-height:auto;
    padding:18px 18px;
  }
  .bfc-route-step h3{
    font-size:18px;
  }
}


/* v158 · ajustes métricas panel y tarjetas ruta portada */
.bfc-metric-card strong[data-read-count]{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  display:inline-block;
  min-width:max-content;
}
.bfc-metric-icon{
  width:50px!important;
  height:50px!important;
  border-radius:15px!important;
}
.bfc-metric-icon svg{
  width:29px!important;
  height:29px!important;
}
.bfc-route-step h3{
  white-space:nowrap;
  font-size:clamp(17px,1.35vw,21px)!important;
  letter-spacing:-.045em!important;
}
@media(max-width:1220px){
  .bfc-route-step h3{
    white-space:normal;
  }
}
@media(min-width:1221px){
  .bfc-route-step{
    padding-left:24px!important;
    padding-right:24px!important;
  }
}


/* v160 · perfil de usuario */
.bfc-profile-hero{
  min-height:200px!important;
}
.bfc-profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:24px;
  align-items:stretch;
}
.bfc-profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}
.bfc-profile-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bfc-profile-top{
  display:flex;
  gap:20px;
  align-items:center;
}
.bfc-profile-avatar{
  width:92px;
  height:92px;
  border-radius:26px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:
    radial-gradient(circle at 30% 25%,rgba(96,165,250,.32),transparent 38%),
    linear-gradient(180deg,rgba(8,29,53,.92),rgba(5,20,38,.92));
  border:1px solid rgba(96,165,250,.36);
  box-shadow:0 0 24px rgba(96,165,250,.12);
  color:#dbeafe;
  font-size:34px;
  font-weight:950;
}
.bfc-profile-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.bfc-profile-badges span{
  border-radius:999px;
  border:1px solid rgba(96,165,250,.24);
  background:rgba(96,165,250,.06);
  color:#bcd8ff;
  padding:8px 12px;
  font-weight:850;
  font-size:12px;
}
.bfc-profile-stats{
  display:grid;
  gap:14px;
  margin-top:20px;
}
.bfc-profile-table{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.bfc-profile-table div{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(96,165,250,.18);
  background:rgba(8,24,45,.56);
}
.bfc-profile-table strong{
  color:#fff;
}
.bfc-profile-table span{
  color:#9fb0c7;
  min-width:0;
  overflow-wrap:anywhere;
}
.bfc-profile-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.bfc-profile-list-item,
.bfc-profile-activity-item{
  display:block;
  padding:14px 15px;
  border-radius:15px;
  border:1px solid rgba(96,165,250,.18);
  background:rgba(8,24,45,.56);
}
.bfc-profile-list-item strong,
.bfc-profile-activity-item strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}
.bfc-profile-list-item span,
.bfc-profile-activity-item span{
  display:block;
  color:#9fb0c7;
  font-size:13px;
  line-height:1.4;
}
@media(max-width:1050px){
  .bfc-profile-layout,
  .bfc-profile-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .bfc-profile-top{
    align-items:flex-start;
  }
  .bfc-profile-avatar{
    width:66px;
    height:66px;
    border-radius:20px;
    font-size:24px;
  }
  .bfc-profile-table div{
    grid-template-columns:1fr;
    gap:5px;
  }
}


/* v163 · protección de layout guía frente a tablas anchas */
.layout > .main{
  min-width:0!important;
}
.layout > .study-rail{
  min-width:0;
}
.content-card table{
  max-width:100%;
}
.content-card .exam-table-wrap{
  max-width:100%;
}


/* v164 · breadcrumbs y título compacto en módulo */
.bfc-breadcrumb-clean .crumb-course{color:#ffbd3a!important}
.bfc-breadcrumb-clean .crumb-domain{color:#fff!important}


/* v165 · encabezados de guía más compactos */
.layout .hero h1,
.page .hero h1{
  font-size:clamp(34px,4.8vw,66px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  max-width:980px!important;
}
.layout .hero{
  min-height:auto!important;
}
.layout .hero .hero-inner{
  padding-top:34px!important;
  padding-bottom:34px!important;
}
@media(max-width:900px){
  .layout .hero h1,
  .page .hero h1{
    font-size:clamp(32px,8.2vw,46px)!important;
  }
  .layout .hero .hero-inner{
    padding-top:26px!important;
    padding-bottom:26px!important;
  }
}
.breadcrumb a:first-child[href*="index.html"].crumb-course,
.bfc-breadcrumb-clean .crumb-course{
  color:#ffbd3a!important;
  font-weight:950;
}
.bfc-breadcrumb-clean .crumb-domain,
.breadcrumb a[href*="/dominios/"]{
  color:#fff!important;
  font-weight:900;
}


/* v166 · guía: encabezados compactos, índice dorado y tablas didácticas */
.layout .hero,
.page .hero{
  min-height:auto!important;
  padding:0!important;
}
.layout .hero .hero-inner,
.page .hero .hero-inner{
  padding:24px 28px!important;
}
.layout .hero h1,
.page .hero h1,
.hero .bfc-module-title-compact{
  font-size:clamp(30px,3.7vw,52px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
  max-width:980px!important;
}
.layout .hero p,
.page .hero p{
  font-size:clamp(15px,1.15vw,18px)!important;
  line-height:1.45!important;
  max-width:980px!important;
}
.layout .pill-row{
  margin-bottom:12px!important;
}
.side-nav .nav-title{
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
}
.side-nav .lesson-group{
  color:#ffbd3a!important;
  font-weight:950!important;
  letter-spacing:.035em!important;
  text-transform:none!important;
}
.side-nav .lesson-group::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#ffbd3a;
  margin-right:8px;
  box-shadow:0 0 10px rgba(255,153,0,.55);
  vertical-align:middle;
}
.bfc-domain-learning-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:22px 0 30px;
}
.bfc-domain-learning-card{
  border:1px solid rgba(96,165,250,.22);
  border-radius:20px;
  padding:18px;
  background:
    radial-gradient(circle at 12% 10%,rgba(96,165,250,.10),transparent 32%),
    linear-gradient(180deg,rgba(8,27,51,.82),rgba(5,20,38,.72));
  box-shadow:0 16px 38px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-domain-learning-card .concept-pill{
  margin-bottom:12px;
}
.bfc-domain-learning-card h3{
  margin:0 0 10px;
  color:#fff;
  font-size:21px;
  letter-spacing:-.025em;
}
.bfc-domain-learning-card p{
  margin:0 0 12px;
  color:#cbd5e1;
  line-height:1.5;
}
.bfc-domain-learning-card small{
  display:block;
  color:#9fb0c7;
  line-height:1.45;
}
.bfc-study-pattern{
  margin:22px 0;
  padding:18px 20px;
  border-radius:18px;
  border:1px solid rgba(255,174,24,.25);
  background:linear-gradient(180deg,rgba(255,153,0,.08),rgba(8,24,45,.45));
}
.bfc-study-pattern strong{
  color:#ffbd3a;
}
@media(max-width:900px){
  .layout .hero .hero-inner,
  .page .hero .hero-inner{
    padding:22px 20px!important;
  }
  .layout .hero h1,
  .page .hero h1{
    font-size:clamp(30px,7vw,42px)!important;
  }
  .bfc-domain-learning-grid{
    grid-template-columns:1fr;
  }
}


/* v169 · protección de tablas en módulos para no invadir study-rail */
.layout > .main{
  min-width:0!important;
}
.content-card{
  min-width:0;
}
.content-card .exam-table-wrap,
.content-card .table-wrap{
  max-width:100%;
  overflow-x:auto;
}
.content-card table{
  box-sizing:border-box;
}


/* v170 · panel alumno cabecera más compacta */
.bfc-panel-hero-compact{
  min-height:130px!important;
  padding:22px 28px!important;
  margin-bottom:22px!important;
}
.bfc-panel-hero-compact .pill{
  margin-bottom:10px!important;
}
.bfc-panel-hero-compact h1{
  margin:10px 0 8px!important;
  font-size:clamp(40px,4.8vw,62px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.bfc-panel-hero-compact p{
  margin:0!important;
  max-width:820px!important;
  font-size:16px!important;
  line-height:1.45!important;
}
@media(max-width:900px){
  .bfc-panel-hero-compact{
    min-height:auto!important;
    padding:20px!important;
    margin-bottom:18px!important;
  }
  .bfc-panel-hero-compact h1{
    font-size:clamp(32px,8vw,44px)!important;
  }
}


/* v172 · estándar formativo módulos CLF-C02 */
.bfc-learning-objectives{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:22px 0 30px;
}
.bfc-learning-objectives .objective-card,
.bfc-exam-card,
.bfc-comparison-card{
  border:1px solid rgba(96,165,250,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,27,51,.78),rgba(5,20,38,.68));
  padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-learning-objectives .objective-card strong{
  color:#ffbd3a;
  display:block;
  margin-bottom:8px;
}
.bfc-learning-objectives .objective-card p,
.bfc-exam-card p,
.bfc-comparison-card p{
  color:#cbd5e1;
  margin:0;
  line-height:1.55;
}
.bfc-exam-focus-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:22px 0 30px;
}
.bfc-exam-card h3,
.bfc-comparison-card h3{
  color:#fff;
  margin:0 0 10px;
  font-size:20px;
  letter-spacing:-.025em;
}
.bfc-exam-card .mini-label{
  display:inline-flex;
  color:#ffbd3a;
  border:1px solid rgba(255,174,24,.32);
  border-radius:999px;
  padding:4px 9px;
  margin-bottom:12px;
  font-weight:950;
  font-size:12px;
}
.bfc-table-wrap{
  margin:22px 0 30px;
  overflow-x:auto;
  border:1px solid rgba(96,165,250,.22);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(8,27,51,.82),rgba(5,20,38,.72));
  box-shadow:0 18px 42px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.03);
  -webkit-overflow-scrolling:touch;
}
.bfc-table{
  width:100%;
  min-width:840px;
  border-collapse:separate;
  border-spacing:0;
}
.bfc-table th{
  text-align:left;
  color:#fff;
  font-weight:950;
  padding:15px 16px;
  background:rgba(6,21,40,.95);
  border-bottom:1px solid rgba(96,165,250,.22);
}
.bfc-table td{
  padding:15px 16px;
  color:#cbd5e1;
  vertical-align:top;
  line-height:1.45;
  border-bottom:1px solid rgba(96,165,250,.12);
}
.bfc-table tr:last-child td{
  border-bottom:0;
}
.bfc-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,174,24,.34);
  background:rgba(255,153,0,.08);
  color:#ffbd3a;
  font-weight:950;
  white-space:nowrap;
}
.bfc-scenario{
  margin:22px 0;
  padding:20px;
  border-radius:20px;
  border:1px solid rgba(255,174,24,.24);
  background:
    radial-gradient(circle at 8% 14%,rgba(255,174,24,.12),transparent 30%),
    linear-gradient(180deg,rgba(8,27,51,.82),rgba(5,20,38,.72));
}
.bfc-scenario h3{
  color:#fff;
  margin:0 0 10px;
}
.bfc-scenario p{
  color:#cbd5e1;
  margin:0;
  line-height:1.55;
}
.answer-toggle{
  margin-top:14px;
  border:1px solid rgba(96,165,250,.22);
  border-radius:16px;
  background:rgba(8,24,45,.55);
  overflow:hidden;
}
.answer-toggle summary{
  cursor:pointer;
  padding:13px 15px;
  color:#93c5fd;
  font-weight:950;
  list-style:none;
}
.answer-toggle summary::-webkit-details-marker{display:none}
.answer-toggle summary::after{content:"＋";float:right;color:#ffbd3a}
.answer-toggle[open] summary::after{content:"−"}
.answer-toggle p{margin:0;padding:0 15px 15px;color:#dbeafe}
.quiz .question{
  border:1px solid rgba(96,165,250,.18);
  border-radius:18px;
  padding:18px;
  margin:18px 0;
  background:rgba(8,24,45,.35);
}
@media(max-width:980px){
  .bfc-learning-objectives,
  .bfc-exam-focus-grid{
    grid-template-columns:1fr;
  }
  .bfc-table{min-width:760px}
}


/* v173 · dominio 2 seguridad: refuerzos formativos */
.bfc-security-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:22px 0 30px;
}
.bfc-security-flow .step{
  border:1px solid rgba(96,165,250,.22);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,rgba(8,27,51,.78),rgba(5,20,38,.68));
}
.bfc-security-flow .step strong{
  display:inline-flex;
  width:34px;
  height:34px;
  border-radius:12px;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#ffbd24,#ff9f05);
  color:#06101e;
  margin-bottom:12px;
}
.bfc-security-flow .step h3{
  color:#fff;
  margin:0 0 8px;
  font-size:19px;
}
.bfc-security-flow .step p{
  color:#cbd5e1;
  margin:0;
  line-height:1.45;
}
@media(max-width:1050px){
  .bfc-security-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .bfc-security-flow{grid-template-columns:1fr}
}


/* v174 · dominio 2 fix + dominio 3 estándar */
.bfc-security-flow .step{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:14px;
  align-items:start;
}
.bfc-security-flow .step strong{
  grid-row:1 / span 2;
  margin:0!important;
}
.bfc-security-flow .step h3{
  margin-top:2px!important;
}
.bfc-security-flow .step p{
  grid-column:2;
}
.bfc-tech-map{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:22px 0 30px;
}
.bfc-tech-map .tech-card{
  border:1px solid rgba(96,165,250,.22);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,rgba(8,27,51,.78),rgba(5,20,38,.68));
}
.bfc-tech-map .tech-card h3{
  color:#fff;
  margin:10px 0 8px;
  font-size:20px;
}
.bfc-tech-map .tech-card p{
  color:#cbd5e1;
  margin:0;
  line-height:1.48;
}
@media(max-width:1100px){
  .bfc-tech-map{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .bfc-tech-map{grid-template-columns:1fr}
  .bfc-security-flow .step{grid-template-columns:auto 1fr}
}


/* v175 · UX guía: índice activo visible, bloqueos discretos y Dominio 2 corregido */
.lesson-list{scroll-behavior:smooth}
.side-nav .lesson-link.active{
  border-color:rgba(255,174,24,.58)!important;
  background:linear-gradient(90deg,rgba(255,153,0,.16),rgba(96,165,250,.07))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 0 #ff9900,0 0 18px rgba(255,153,0,.08)!important;
}
.guest-mode .cap-content{filter:none!important;opacity:.28!important}
.guest-lock{
  padding:10px!important;
  margin-top:8px!important;
  border-radius:14px!important;
  border:1px solid rgba(96,165,250,.18)!important;
  background:rgba(8,24,45,.30)!important;
}
.guest-lock .lock-inner{
  padding:10px 8px!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}
.guest-lock strong{
  display:block!important;
  color:#ffbd3a!important;
  font-size:13px!important;
  margin-bottom:4px!important;
}
.guest-lock p{
  font-size:12px!important;
  line-height:1.35!important;
  color:#9fb0c7!important;
  margin:0 0 8px!important;
}
.guest-lock .btn{
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:11px!important;
  font-size:12px!important;
  width:auto!important;
}
.rail-card{padding:18px!important}
.rail-card h2{font-size:20px!important;margin-bottom:10px!important}

.bfc-security-flow{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.bfc-security-flow .step{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:6px 14px!important;
  align-items:start!important;
  min-height:auto!important;
  padding:18px!important;
}
.bfc-security-flow .step strong{
  grid-row:1 / span 2!important;
  grid-column:1!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
}
.bfc-security-flow .step h3{
  grid-column:2!important;
  margin:2px 0 4px!important;
}
.bfc-security-flow .step p{
  grid-column:2!important;
  margin:0!important;
  text-align:left!important;
}
@media(max-width:760px){.bfc-security-flow{grid-template-columns:1fr!important}}


/* v177 · footer con versión en guía */
.footer .footer-links{
  display:flex;
  align-items:center;
  gap:16px;
}
.footer .footer-links strong{
  color:#ffbd3a!important;
  font-weight:950;
}


/* v178 · guía rail discreto, logo nube y propuesta guiav2 */
.bfc-guide-cloud-logo{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(96,165,250,.22)!important;
  background:rgba(8,24,45,.58)!important;
}
.bfc-guide-cloud-logo img{
  width:32px!important;
  height:32px!important;
  object-fit:contain!important;
  display:block!important;
}
body[data-public-guide="true"] .study-rail .rail-card{
  padding:16px!important;
}
body[data-public-guide="true"] .study-rail .guest-lock{
  margin-top:10px!important;
  padding:0!important;
  border:1px solid rgba(96,165,250,.14)!important;
  background:rgba(6,18,34,.34)!important;
  box-shadow:none!important;
}
body[data-public-guide="true"] .study-rail .guest-lock .lock-inner{
  padding:12px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
body[data-public-guide="true"] .study-rail .guest-lock strong{
  display:block!important;
  color:#93c5fd!important;
  font-size:12px!important;
  letter-spacing:.02em!important;
  margin:0 0 4px!important;
}
body[data-public-guide="true"] .study-rail .guest-lock p{
  color:#8ea4c1!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  margin:0!important;
}
body[data-public-guide="true"] .study-rail .guest-lock .btn{
  margin-top:9px!important;
  min-height:30px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  width:auto!important;
  background:rgba(255,153,0,.14)!important;
  color:#ffbd3a!important;
  border:1px solid rgba(255,174,24,.28)!important;
  box-shadow:none!important;
}
body[data-public-guide="true"] .study-rail .cap-content{
  transition:opacity .2s ease;
}
body[data-public-guide="true"].guest-mode .study-rail .cap-content{
  opacity:.18!important;
  filter:none!important;
}
.study-rail .saved-card{order:2}
.study-rail .actions-card{order:3}

/* guiav2 preview */
.bfc-guide-v2 .bfc-main{
  max-width:none;
}
.guide-v2-shell{
  display:grid;
  grid-template-columns:minmax(220px,290px) minmax(0,1fr) minmax(230px,300px);
  gap:22px;
  align-items:start;
}
.guide-v2-index,
.guide-v2-tools{
  position:sticky;
  top:18px;
}
.guide-v2-index{
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:18px;
}
.guide-v2-index .lesson-list{
  max-height:none;
}
.guide-v2-content .bfc-hero{
  margin-bottom:22px;
}
.guide-v2-content .content-card{
  padding:28px;
}
.guide-v2-tools .rail-card{
  margin-bottom:16px;
}
.guide-v2-tools .guest-lock{
  display:none;
}
.guide-v2-tools .cap-content{
  opacity:1!important;
}
.guide-v2-note{
  border:1px solid rgba(255,174,24,.22);
  background:rgba(255,153,0,.07);
  border-radius:18px;
  padding:16px 18px;
  color:#cbd5e1;
  margin-bottom:18px;
}
@media(max-width:1180px){
  .guide-v2-shell{
    grid-template-columns:1fr;
  }
  .guide-v2-index,
  .guide-v2-tools{
    position:relative;
    top:auto;
    max-height:none;
  }
}


/* v179 · guiav2 radical: guía como cockpit de aprendizaje */
body.bfc-guide-v2-radical{
  background:
    radial-gradient(circle at 16% 12%, rgba(34,197,255,.20), transparent 30%),
    radial-gradient(circle at 84% 18%, rgba(255,153,0,.16), transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(37,99,235,.18), transparent 36%),
    #020817!important;
}
.bfc-guide-v2-radical .bfc-main{
  max-width:none;
  padding:28px 30px 30px;
}
.guide-cockpit{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:24px;
  align-items:start;
}
.guide-hero-radical{
  position:relative;
  overflow:hidden;
  min-height:310px;
  border-radius:34px;
  padding:34px;
  border:1px solid rgba(96,165,250,.24);
  background:
    linear-gradient(135deg,rgba(8,27,51,.88),rgba(3,12,26,.92)),
    radial-gradient(circle at 80% 20%,rgba(255,153,0,.24),transparent 34%);
  box-shadow:0 28px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
}
.guide-hero-radical::after{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(96,165,250,.26),transparent 64%);
  pointer-events:none;
}
.guide-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:26px;
  align-items:center;
}
.guide-kicker{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 12px;
  border:1px solid rgba(255,174,24,.30);
  color:#ffbd3a;
  background:rgba(255,153,0,.08);
  font-weight:950;
  letter-spacing:.04em;
  font-size:12px;
  text-transform:uppercase;
}
.guide-hero-radical h1{
  color:#fff;
  margin:18px 0 14px;
  font-size:clamp(42px,5vw,76px);
  line-height:.94;
  letter-spacing:-.065em;
  max-width:900px;
}
.guide-hero-radical p{
  color:#cbd5e1;
  font-size:18px;
  line-height:1.55;
  max-width:720px;
  margin:0;
}
.guide-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.guide-primary-btn,.guide-secondary-btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  border-radius:16px;
  font-weight:950;
  text-decoration:none;
  border:1px solid transparent;
}
.guide-primary-btn{
  color:#08111f;
  background:linear-gradient(180deg,#ffd56a,#ff9900);
  box-shadow:0 16px 40px rgba(255,153,0,.22);
}
.guide-secondary-btn{
  color:#dbeafe;
  background:rgba(8,24,45,.65);
  border-color:rgba(96,165,250,.25);
}
.guide-orbit{
  position:relative;
  min-height:250px;
  display:grid;
  place-items:center;
}
.guide-orbit-core{
  width:150px;
  height:150px;
  border-radius:42px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(255,153,0,.96),rgba(37,99,235,.92));
  box-shadow:0 24px 70px rgba(37,99,235,.34), 0 0 0 14px rgba(96,165,250,.08);
}
.guide-orbit-core img{
  width:82px;
  height:82px;
  object-fit:contain;
}
.orbit-pill{
  position:absolute;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(2,8,23,.72);
  border:1px solid rgba(96,165,250,.25);
  color:#dbeafe;
  font-size:13px;
  font-weight:850;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.orbit-pill i{
  width:8px;
  height:8px;
  border-radius:99px;
  background:#ffbd3a;
  box-shadow:0 0 14px rgba(255,153,0,.75);
}
.orbit-1{top:4%;left:2%}
.orbit-2{top:18%;right:0}
.orbit-3{bottom:16%;left:0}
.orbit-4{bottom:2%;right:7%}

.guide-radical-main{
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
  gap:24px;
  margin-top:24px;
  align-items:start;
}
.guide-path-panel{
  position:sticky;
  top:22px;
  border-radius:28px;
  padding:18px;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(5,18,35,.76);
  box-shadow:0 24px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
  max-height:calc(100vh - 44px);
  overflow:hidden;
}
.path-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.path-panel-head h2{
  color:#fff;
  margin:0;
  font-size:18px;
}
.path-panel-head span{
  color:#ffbd3a;
  font-weight:950;
  font-size:12px;
}
.path-search{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  border-radius:16px;
  padding:11px 12px;
  background:rgba(2,8,23,.52);
  border:1px solid rgba(96,165,250,.18);
  color:#9fb0c7;
}
.path-search input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
}
.guide-path-panel .lesson-list{
  max-height:calc(100vh - 188px);
  overflow:auto;
  padding-right:4px;
}
.guide-path-panel .lesson-group{
  color:#ffbd3a!important;
  padding:13px 8px 8px;
}
.guide-path-panel .lesson-link{
  border-radius:15px!important;
  min-height:42px;
  padding:10px 12px!important;
  margin:5px 0;
  border:1px solid transparent;
}
.guide-path-panel .lesson-link.active,
.guide-path-panel .lesson-link:hover{
  border-color:rgba(255,174,24,.34)!important;
  background:linear-gradient(90deg,rgba(255,153,0,.13),rgba(96,165,250,.07))!important;
}

.guide-learning-card{
  border-radius:30px;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(5,18,35,.70);
  box-shadow:0 24px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.lesson-status-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:rgba(96,165,250,.12);
  border-bottom:1px solid rgba(96,165,250,.18);
}
.status-tile{
  padding:18px;
  background:rgba(2,8,23,.35);
}
.status-tile span{
  display:block;
  color:#8ea4c1;
  font-size:12px;
  margin-bottom:6px;
}
.status-tile strong{
  color:#fff;
  font-size:20px;
}
.guide-module-content{
  padding:30px;
}
.guide-module-content h2{
  color:#fff;
  font-size:30px;
  letter-spacing:-.04em;
  margin:0 0 14px;
}
.guide-module-content p{
  color:#cbd5e1;
  line-height:1.65;
}
.guide-focus-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
.focus-card{
  border-radius:22px;
  padding:18px;
  background:rgba(8,24,45,.66);
  border:1px solid rgba(96,165,250,.18);
}
.focus-card strong{
  color:#ffbd3a;
  display:block;
  margin-bottom:8px;
}
.focus-card p{
  margin:0;
  color:#cbd5e1;
}
.guide-right-stack{
  position:sticky;
  top:22px;
  display:grid;
  gap:16px;
}
.guide-mini-card{
  border-radius:24px;
  padding:18px;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(5,18,35,.74);
  box-shadow:0 16px 46px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.04);
}
.guide-mini-card h3{
  margin:0 0 12px;
  color:#fff;
  font-size:18px;
}
.guide-progress-ring{
  width:132px;
  height:132px;
  margin:4px auto 14px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at center,#07182d 58%,transparent 59%),
    conic-gradient(#ff9900 0 38%, rgba(96,165,250,.18) 38% 100%);
  border:1px solid rgba(255,174,24,.22);
}
.guide-progress-ring strong{
  color:#fff;
  font-size:30px;
}
.guide-tool-list{
  display:grid;
  gap:10px;
}
.guide-tool-list a,
.guide-tool-list button{
  border:1px solid rgba(96,165,250,.20);
  background:rgba(2,8,23,.36);
  color:#dbeafe;
  min-height:42px;
  border-radius:15px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-weight:850;
  cursor:pointer;
  text-decoration:none;
}
.guide-tool-list a:hover,
.guide-tool-list button:hover{
  border-color:rgba(255,174,24,.32);
  color:#ffbd3a;
}
.guide-saved-preview{
  display:grid;
  gap:10px;
}
.saved-preview-item{
  padding:12px;
  border-radius:15px;
  background:rgba(2,8,23,.36);
  border:1px solid rgba(96,165,250,.16);
}
.saved-preview-item strong{
  display:block;
  color:#fff;
  font-size:13px;
}
.saved-preview-item span{
  display:block;
  margin-top:3px;
  color:#8ea4c1;
  font-size:12px;
}
.guide-radical-footer{
  margin-top:24px;
}
@media(max-width:1320px){
  .guide-cockpit{grid-template-columns:1fr}
  .guide-right-stack{position:relative;top:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1080px){
  .guide-hero-grid,
  .guide-radical-main{
    grid-template-columns:1fr;
  }
  .guide-path-panel,
  .guide-right-stack{
    position:relative;
    top:auto;
    max-height:none;
  }
  .guide-right-stack{grid-template-columns:1fr}
}
@media(max-width:720px){
  .bfc-guide-v2-radical .bfc-main{padding:18px}
  .guide-hero-radical{padding:24px;border-radius:26px}
  .lesson-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guide-focus-grid{grid-template-columns:1fr}
  .guide-module-content{padding:22px}
}


/* v180 · guiav2 mockup trasladado a HTML */
body.bfc-guide-v2-mockup{
  background:
    linear-gradient(rgba(96,165,250,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96,165,250,.035) 1px, transparent 1px),
    radial-gradient(circle at 74% 6%, rgba(255,153,0,.12), transparent 27%),
    radial-gradient(circle at 35% 0%, rgba(59,130,246,.12), transparent 30%),
    #020b16!important;
  background-size:38px 38px,38px 38px,auto,auto,auto;
}
.bfc-guide-v2-mockup .bfc-main{
  max-width:none!important;
  padding:20px 26px 24px!important;
}
.bfc-guide-v2-mockup .bfc-sidebar{
  background:rgba(2,10,22,.78)!important;
}
.v2-hero{
  position:relative;
  overflow:hidden;
  min-height:246px;
  border:1px solid rgba(96,165,250,.24);
  border-radius:28px 28px 0 0;
  padding:26px 36px 22px;
  background:
    radial-gradient(circle at 78% 28%, rgba(37,99,235,.18), transparent 25%),
    linear-gradient(100deg, rgba(5,18,35,.96) 0%, rgba(8,27,51,.92) 54%, rgba(4,14,28,.98) 100%);
  box-shadow:0 28px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
}
.v2-hero::before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:48%;
  height:100%;
  background:
    linear-gradient(rgba(59,130,246,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(59,130,246,.10) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg, transparent, #000 18%, #000);
  opacity:.6;
}
.v2-breadcrumb{
  position:relative;
  z-index:2;
  display:flex;
  gap:12px;
  align-items:center;
  color:#9fb0c7;
  font-size:13px;
  font-weight:850;
  margin-bottom:28px;
}
.v2-breadcrumb strong{
  color:#fff;
}
.v2-breadcrumb span{
  color:#4f6685;
}
.v2-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:28px;
  align-items:center;
}
.v2-hero h1{
  color:#fff;
  margin:0 0 14px;
  font-size:clamp(44px,4.7vw,74px);
  line-height:.96;
  letter-spacing:-.06em;
  max-width:950px;
}
.v2-hero p{
  color:#cbd5e1;
  font-size:18px;
  line-height:1.45;
  margin:0 0 22px;
  max-width:840px;
}
.v2-meta{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
  align-items:center;
}
.v2-meta span{
  display:inline-flex;
  gap:9px;
  align-items:center;
  color:#cbd5e1;
  font-weight:850;
  font-size:14px;
}
.v2-meta svg{
  width:18px;
  height:18px;
  color:#9bc5ff;
}
.v2-cloud-scene{
  min-height:170px;
  position:relative;
  display:grid;
  place-items:center;
}
.v2-cloud-base{
  position:relative;
  width:250px;
  height:148px;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(255,153,0,.32), transparent 62%);
  display:grid;
  place-items:center;
}
.v2-cloud-base::after{
  content:"";
  position:absolute;
  width:230px;
  height:24px;
  bottom:25px;
  border-radius:50%;
  border-bottom:4px solid rgba(255,153,0,.92);
  filter:drop-shadow(0 0 12px rgba(255,153,0,.9));
}
.v2-cloud-shape{
  position:relative;
  width:170px;
  height:82px;
  border:3px solid #5eb6ff;
  border-radius:44px;
  box-shadow:0 0 28px rgba(96,165,250,.55), inset 0 0 16px rgba(96,165,250,.10);
}
.v2-cloud-shape::before,
.v2-cloud-shape::after{
  content:"";
  position:absolute;
  border:3px solid #5eb6ff;
  border-bottom:0;
  background:#081a31;
}
.v2-cloud-shape::before{
  width:76px;
  height:76px;
  left:32px;
  top:-45px;
  border-radius:50% 50% 0 0;
}
.v2-cloud-shape::after{
  width:62px;
  height:58px;
  right:20px;
  top:-26px;
  border-radius:50% 50% 0 0;
}
.v2-route-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:20px;
  align-items:center;
  padding:16px 36px;
  border-left:1px solid rgba(96,165,250,.24);
  border-right:1px solid rgba(96,165,250,.24);
  border-bottom:1px solid rgba(96,165,250,.18);
  background:rgba(4,16,31,.84);
}
.v2-stepper{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}
.v2-step{
  position:relative;
  display:grid;
  justify-items:center;
  gap:8px;
  color:#cbd5e1;
  font-weight:850;
  font-size:13px;
}
.v2-step::before{
  content:"";
  position:absolute;
  top:32px;
  left:50%;
  width:100%;
  height:1px;
  background:rgba(96,165,250,.22);
}
.v2-step:last-child::before{display:none}
.v2-step b{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(96,165,250,.32);
  background:#06162b;
  color:#9fb0c7;
}
.v2-step.active{
  color:#ffbd3a;
}
.v2-step.active b{
  color:#07111f;
  background:#ff9900;
  border-color:#ffbd3a;
  box-shadow:0 0 18px rgba(255,153,0,.45);
}
.v2-step.active::after{
  content:"";
  position:absolute;
  top:56px;
  width:88px;
  height:3px;
  border-radius:99px;
  background:#ff9900;
}
.v2-current{
  border:1px solid rgba(96,165,250,.22);
  border-radius:16px;
  background:rgba(2,8,23,.40);
  padding:12px 16px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.v2-current small{
  color:#ffbd3a;
  display:block;
  font-weight:950;
  margin-bottom:4px;
}
.v2-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:22px;
  padding:16px 0 0;
}
.v2-content-card{
  min-height:590px;
  border:1px solid rgba(96,165,250,.24);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(7,26,49,.86), rgba(4,17,33,.86));
  box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
  padding:34px 42px 26px;
}
.v2-module-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:start;
  margin-bottom:16px;
}
.v2-module-kicker{
  color:#ffbd3a;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.v2-content-card h2{
  color:#fff;
  margin:8px 0 12px;
  font-size:38px;
  line-height:1.05;
  letter-spacing:-.045em;
}
.v2-content-card > p{
  color:#cbd5e1;
  font-size:16px;
  line-height:1.55;
  max-width:880px;
}
.v2-reading-time{
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 12px;
  color:#cbd5e1;
  background:rgba(37,99,235,.18);
  border:1px solid rgba(96,165,250,.20);
  font-weight:850;
  white-space:nowrap;
  font-size:13px;
}
.v2-section-title{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:20px;
  font-weight:950;
  margin:24px 0 14px;
}
.v2-section-title i{
  width:18px;
  height:18px;
  border:2px solid #ff9900;
  border-radius:5px;
}
.v2-objectives{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.v2-objective{
  min-height:74px;
  border-radius:16px;
  padding:15px 16px;
  background:rgba(2,8,23,.30);
  border:1px solid rgba(96,165,250,.20);
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:#cbd5e1;
  line-height:1.35;
}
.v2-objective b{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid #ff9900;
  color:#ffbd3a;
  flex:0 0 auto;
  font-size:11px;
}
.v2-callout{
  margin:18px 0 26px;
  border:1px dashed rgba(255,153,0,.45);
  border-radius:17px;
  background:linear-gradient(90deg,rgba(255,153,0,.10),rgba(255,153,0,.03));
  color:#dbeafe;
  padding:15px 18px;
  display:flex;
  gap:14px;
  align-items:center;
}
.v2-callout i{
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,153,0,.16);
  border:1px solid rgba(255,153,0,.35);
  flex:0 0 auto;
}
.v2-domain-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.v2-domain-card{
  border-radius:18px;
  padding:16px;
  background:rgba(2,8,23,.24);
  border:1px solid rgba(96,165,250,.20);
  min-height:112px;
}
.v2-domain-card:nth-child(2){border-color:rgba(255,153,0,.35)}
.v2-domain-card:nth-child(3){border-color:rgba(34,197,94,.28)}
.v2-domain-card:nth-child(4){border-color:rgba(168,85,247,.28)}
.v2-domain-card header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  color:#fff;
  font-weight:950;
  margin-bottom:9px;
}
.v2-domain-card span{
  color:#9fb0c7;
  line-height:1.4;
  font-size:13px;
}
.v2-percent{
  color:#dbeafe!important;
  font-size:12px!important;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(37,99,235,.20);
  border:1px solid rgba(96,165,250,.22);
}
.v2-bottom-nav{
  display:flex;
  justify-content:space-between;
  margin-top:26px;
}
.v2-btn-dark,.v2-btn-next{
  min-height:42px;
  padding:0 18px;
  border-radius:13px;
  border:1px solid rgba(96,165,250,.20);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:950;
  text-decoration:none;
}
.v2-btn-dark{color:#dbeafe;background:rgba(2,8,23,.38)}
.v2-btn-next{color:#07111f;background:#ff9900;border-color:#ffbd3a}
.v2-utility{
  display:grid;
  gap:16px;
}
.v2-widget{
  border:1px solid rgba(96,165,250,.22);
  border-radius:20px;
  background:rgba(7,23,43,.82);
  box-shadow:0 18px 50px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
  padding:18px;
}
.v2-widget h3{
  color:#fff;
  margin:0 0 14px;
  font-size:18px;
}
.v2-progress-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.v2-donut{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at center,#07182d 57%,transparent 59%), conic-gradient(#ff9900 0 38%, rgba(96,165,250,.18) 38% 100%);
}
.v2-donut strong{
  color:#fff;
  font-size:22px;
}
.v2-widget p{
  color:#cbd5e1;
  margin:0;
  line-height:1.4;
}
.v2-progress-bar{
  height:5px;
  border-radius:99px;
  background:rgba(96,165,250,.18);
  margin-top:14px;
  overflow:hidden;
}
.v2-progress-bar b{
  display:block;
  height:100%;
  width:38%;
  background:#ff9900;
}
.v2-link{
  color:#60a5fa;
  display:flex;
  justify-content:space-between;
  margin-top:13px;
  text-decoration:none;
  font-weight:850;
}
.v2-saved-list,.v2-action-list{
  display:grid;
  gap:9px;
}
.v2-saved-item,.v2-action-item{
  border-radius:13px;
  padding:10px 12px;
  background:rgba(2,8,23,.28);
  border:1px solid rgba(96,165,250,.15);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#dbeafe;
  text-decoration:none;
  font-weight:850;
}
.v2-saved-item small{
  display:block;
  color:#8ea4c1;
  font-weight:700;
  margin-top:3px;
}
.v2-action-item{
  min-height:38px;
}
@media(max-width:1260px){
  .v2-page-grid{grid-template-columns:1fr}
  .v2-utility{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .v2-hero-grid,.v2-route-strip{grid-template-columns:1fr}
  .v2-objectives,.v2-domain-grid,.v2-utility{grid-template-columns:1fr}
}
@media(max-width:720px){
  .bfc-guide-v2-mockup .bfc-main{padding:16px!important}
  .v2-hero{padding:22px;border-radius:22px 22px 0 0}
  .v2-hero h1{font-size:40px}
  .v2-route-strip{padding:14px}
  .v2-stepper{overflow:auto;display:flex;gap:32px;padding-bottom:10px}
  .v2-content-card{padding:24px}
}


/* v181 · guiav2 ajustes cabecera, dropdown y navegación demo */
.bfc-guide-v2-mockup .v2-hero{
  min-height:190px!important;
  padding:24px 34px 24px!important;
}
.bfc-guide-v2-mockup .v2-hero-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
.bfc-guide-v2-mockup .v2-hero h1{
  font-size:clamp(34px,3.8vw,56px)!important;
  max-width:980px!important;
}
.bfc-guide-v2-mockup .v2-hero p{
  max-width:860px!important;
}
.bfc-guide-v2-mockup .v2-cloud-scene{
  display:none!important;
}
.v2-current{
  position:relative;
  cursor:pointer;
}
.v2-current-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(420px,92vw);
  z-index:20;
  display:none;
  border:1px solid rgba(96,165,250,.24);
  border-radius:18px;
  background:rgba(5,18,35,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04);
  padding:10px;
  backdrop-filter:blur(18px);
}
.v2-current.is-open .v2-current-menu{
  display:grid;
  gap:6px;
}
.v2-current-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  padding:10px 12px;
  border-radius:13px;
  color:#dbeafe;
  text-decoration:none;
  border:1px solid transparent;
}
.v2-current-option:hover,
.v2-current-option.is-active{
  border-color:rgba(255,174,24,.28);
  background:rgba(255,153,0,.08);
}
.v2-current-option small{
  display:block;
  color:#8ea4c1;
  font-weight:750;
  margin-top:2px;
}
.v2-current-option b{
  color:#ffbd3a;
  font-size:12px;
  white-space:nowrap;
}
.v2-saved-fav{
  width:30px;
  height:30px;
  border-radius:11px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid rgba(255,174,24,.28);
  background:rgba(255,153,0,.08);
  color:#ffbd3a;
  font-size:15px;
}
.v2-saved-item{
  justify-content:flex-start!important;
}
.v2-saved-item .v2-saved-text{
  min-width:0;
  flex:1;
}
.v2-saved-item .v2-chevron{
  color:#8ea4c1;
}
.v2-page-demo{
  display:none;
}
.v2-page-demo.is-active{
  display:block;
}
@media(max-width:720px){
  .bfc-guide-v2-mockup .v2-hero{
    min-height:auto!important;
    padding:22px!important;
  }
  .bfc-guide-v2-mockup .v2-hero h1{
    font-size:34px!important;
  }
}


/* v182 · guiav2 páginas reales, acciones Dynamo y selector 29 módulos */
.v2-utility .v2-action-list{
  grid-template-columns:1fr;
}
.v2-action-item[data-mark-read],
.v2-action-item[data-save-progress]{
  width:100%;
  cursor:pointer;
  font:inherit;
}
.v2-action-item.is-active{
  border-color:rgba(255,174,24,.40);
  background:rgba(255,153,0,.10);
  color:#ffbd3a;
}
.v2-action-item.is-loading{
  opacity:.62;
  pointer-events:none;
}
.v2-saved-count-pill{
  min-width:30px;
  height:30px;
  padding:0 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,174,24,.32);
  background:rgba(255,153,0,.10);
  color:#ffbd3a;
  font-weight:950;
}
.v2-current-menu{
  max-height:560px;
  overflow:hidden;
  padding:0!important;
}
.v2-menu-search{
  position:sticky;
  top:0;
  z-index:2;
  padding:12px;
  background:rgba(5,18,35,.98);
  border-bottom:1px solid rgba(96,165,250,.16);
}
.v2-menu-search input{
  width:100%;
  height:40px;
  border:1px solid rgba(96,165,250,.20);
  border-radius:12px;
  background:rgba(2,8,23,.42);
  color:#fff;
  padding:0 12px;
  outline:none;
}
.v2-menu-scroll{
  max-height:480px;
  overflow:auto;
  padding:8px 10px 10px;
}
.v2-menu-domain{
  color:#ffbd3a;
  font-size:11px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:11px 8px 6px;
}
.v2-current-option{
  min-height:40px!important;
}
.v2-current-option span{
  min-width:0;
}
.v2-current-option strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
  max-width:275px;
}
.v2-content-card.v2-real-content{
  padding:0;
  overflow:hidden;
}
.v2-real-content .v2-module-head{
  padding:30px 38px 22px;
  margin:0;
  border-bottom:1px solid rgba(96,165,250,.16);
}
.v2-real-body{
  padding:28px 38px 30px;
}
.v2-real-body h2{
  color:#fff;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.035em;
  margin:30px 0 14px;
}
.v2-real-body h3{
  color:#fff;
  font-size:21px;
  margin:22px 0 10px;
}
.v2-real-body p,
.v2-real-body li{
  color:#cbd5e1;
  line-height:1.62;
}
.v2-real-body .bfc-domain-learning-grid,
.v2-real-body .bfc-learning-objectives,
.v2-real-body .bfc-tech-map{
  margin:18px 0 26px;
}
.v2-real-body .bfc-table-wrap{
  margin:18px 0 26px;
}
.v2-real-body .breadcrumb{
  display:none;
}
.v2-page-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.v2-page-links a{
  color:#93c5fd;
  border:1px solid rgba(96,165,250,.20);
  background:rgba(2,8,23,.26);
  border-radius:999px;
  padding:8px 12px;
  text-decoration:none;
  font-weight:850;
  font-size:13px;
}
.v2-page-links a.active{
  color:#07111f;
  background:#ff9900;
  border-color:#ffbd3a;
}
@media(max-width:720px){
  .v2-real-content .v2-module-head,
  .v2-real-body{
    padding:22px;
  }
  .v2-current-menu{
    left:0;
    right:auto;
    width:calc(100vw - 40px);
  }
}


/* v183 · selector Estás en robusto con details/summary */
details.v2-current{
  display:block;
  position:relative;
}
details.v2-current > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
}
details.v2-current > summary::-webkit-details-marker{
  display:none;
}
details.v2-current[open] .v2-current-menu{
  display:grid!important;
}
details.v2-current[open] > summary > span:last-child{
  transform:rotate(180deg);
}
.v2-current-menu{
  z-index:80!important;
}
.v2-btn-dark.is-disabled{
  opacity:.45;
  pointer-events:none;
}


/* v184 · fix layout v2: contenido visible, right rail auth y acciones ok */
.bfc-guide-v2-mockup .v2-hero{
  min-height:150px!important;
  padding:20px 32px 18px!important;
}
.bfc-guide-v2-mockup .v2-breadcrumb{
  margin-bottom:18px!important;
}
.bfc-guide-v2-mockup .v2-hero h1{
  font-size:clamp(30px,3vw,48px)!important;
  margin-bottom:10px!important;
}
.bfc-guide-v2-mockup .v2-hero p{
  font-size:16px!important;
  margin-bottom:14px!important;
}
.bfc-guide-v2-mockup .v2-meta{
  gap:18px!important;
}
.bfc-guide-v2-mockup .v2-route-strip{
  padding:12px 32px!important;
}
.bfc-guide-v2-mockup .v2-step{
  gap:5px!important;
}
.bfc-guide-v2-mockup .v2-step::before{
  top:27px!important;
}
.bfc-guide-v2-mockup .v2-step.active::after{
  top:48px!important;
}
.bfc-guide-v2-mockup .v2-page-grid{
  padding-top:12px!important;
}
.v2-right-locked{
  display:none;
  border:1px solid rgba(255,174,24,.24);
  background:rgba(255,153,0,.06);
  border-radius:18px;
  padding:16px;
  color:#cbd5e1;
}
.v2-right-locked strong{
  display:block;
  color:#ffbd3a;
  margin-bottom:6px;
}
.v2-right-locked p{
  margin:0 0 12px!important;
  color:#9fb0c7!important;
}
.v2-right-locked a{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  padding:0 14px;
  background:#ff9900;
  color:#07111f;
  font-weight:950;
  text-decoration:none;
}
body.v2-logged-out .v2-utility .v2-widget:not(.v2-auth-widget){
  opacity:.38;
  filter:saturate(.55);
  pointer-events:none;
}
body.v2-logged-out .v2-auth-widget .v2-right-locked{
  display:block;
}
body.v2-logged-in .v2-auth-widget{
  display:none;
}
.v2-current-option .v2-read-tick{
  width:18px;
  height:18px;
  border-radius:50%;
  display:none;
  align-items:center;
  justify-content:center;
  background:#22c55e;
  color:#04111f;
  font-size:12px;
  font-weight:950;
  margin-right:8px;
  flex:0 0 auto;
}
.v2-current-option.is-read .v2-read-tick{
  display:inline-flex;
}
.v2-current-option .v2-option-main{
  display:flex;
  align-items:center;
  min-width:0;
  flex:1;
}
.v2-action-item{
  min-height:54px!important;
  font-weight:950!important;
  justify-content:center!important;
  gap:10px!important;
}
.v2-action-item.is-active[data-save-progress]{
  background:linear-gradient(180deg,#ffcf45,#ff9900)!important;
  color:#07111f!important;
}
.v2-action-item.is-active[data-mark-read]{
  background:#22c55e!important;
  color:#05210f!important;
  border-color:#22c55e!important;
}
.v2-widget h3 .v2-saved-count-pill{
  margin-left:6px;
}


/* v185 · fix scroll inicial, selector limpio y login real */
.bfc-guide-v2-mockup .v2-page-grid{
  margin-top:0!important;
  align-items:start!important;
}
.bfc-guide-v2-mockup .v2-current-menu{
  width:min(520px,92vw)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.bfc-guide-v2-mockup .v2-current-option{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:11px 14px!important;
}
.bfc-guide-v2-mockup .v2-current-option .v2-option-main{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
.bfc-guide-v2-mockup .v2-current-option strong{
  display:block!important;
  max-width:330px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.bfc-guide-v2-mockup .v2-current-option small{
  display:block!important;
  color:#8ea4c1!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.bfc-guide-v2-mockup .v2-current-option b{
  color:#ffbd3a!important;
  white-space:nowrap!important;
}
.bfc-guide-v2-mockup .v2-current-option.is-active{
  outline:1px solid rgba(255,174,24,.30)!important;
}
.bfc-guide-v2-mockup .v2-menu-domain{
  padding:13px 12px 7px!important;
  border-top:1px solid rgba(96,165,250,.10)!important;
}
body.v2-logged-out .v2-utility .v2-widget:not(.v2-auth-widget){
  opacity:.42!important;
}
body.v2-logged-in .v2-utility .v2-widget:not(.v2-auth-widget){
  opacity:1!important;
  filter:none!important;
  pointer-events:auto!important;
}


/* v186 · rebuild limpio páginas v2 */
.v2-btn-dark.is-disabled{
  opacity:.45!important;
  pointer-events:none!important;
}
.v2-real-body > .bfc-domain-learning-grid{
  margin-top:20px!important;
}
.v2-real-body article,
.v2-real-body section{
  max-width:100%;
}


/* v187 · polish guía v2 */
.bfc-guide-v2-mockup .v2-current-option{
  grid-template-columns:minmax(0,1fr)!important;
  padding:13px 14px!important;
}
.bfc-guide-v2-mockup .v2-current-option b{
  display:none!important;
}
.bfc-guide-v2-mockup .v2-current-option .v2-option-main{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-width:0!important;
}
.bfc-guide-v2-mockup .v2-current-option .v2-option-text{
  min-width:0!important;
}
.bfc-guide-v2-mockup .v2-current-option strong{
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.25!important;
}
.bfc-guide-v2-mockup .v2-current-option small{
  color:#7fa0c7!important;
  font-size:11px!important;
  margin-top:4px!important;
}
.v2-btn-dark{
  color:#07111f!important;
  background:linear-gradient(180deg,#ffcf45,#ff9900)!important;
  border-color:#ffbd3a!important;
  box-shadow:0 14px 32px rgba(255,153,0,.16)!important;
}
.v2-btn-dark.is-disabled{
  color:#8ea4c1!important;
  background:rgba(2,8,23,.38)!important;
  border-color:rgba(96,165,250,.20)!important;
  box-shadow:none!important;
}
.v2-real-body table,
.v2-real-body .bfc-table{
  width:100%;
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.24)!important;
  background:rgba(2,8,23,.28)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.v2-real-body th,
.v2-real-body .bfc-table th{
  background:linear-gradient(90deg,rgba(255,153,0,.16),rgba(37,99,235,.12))!important;
  color:#fff!important;
  font-weight:950!important;
  padding:14px 16px!important;
  border-bottom:1px solid rgba(96,165,250,.20)!important;
}
.v2-real-body td,
.v2-real-body .bfc-table td{
  padding:14px 16px!important;
  color:#cbd5e1!important;
  border-bottom:1px solid rgba(96,165,250,.10)!important;
  vertical-align:top!important;
}
.v2-real-body tr:last-child td{
  border-bottom:0!important;
}
.v2-real-body tr:hover td{
  background:rgba(96,165,250,.055)!important;
}
.v2-real-body .bfc-table-wrap{
  margin:20px 0 28px!important;
  border:0!important;
  background:transparent!important;
}
.v2-real-body .bfc-domain-learning-grid,
.v2-real-body .bfc-learning-objectives,
.v2-real-body .bfc-tech-map{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.v2-real-body .bfc-domain-learning-card,
.v2-real-body .objective-card,
.v2-real-body .tech-card{
  border-radius:20px!important;
  padding:18px!important;
  border:1px solid rgba(96,165,250,.22)!important;
  background:rgba(8,24,45,.50)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.14);
}
.v2-real-body .callout,
.v2-real-body .bfc-scenario{
  border-radius:18px!important;
  border:1px solid rgba(255,174,24,.26)!important;
  background:linear-gradient(90deg,rgba(255,153,0,.10),rgba(96,165,250,.05))!important;
  padding:18px!important;
}
@media(max-width:800px){
  .v2-real-body .bfc-domain-learning-grid,
  .v2-real-body .bfc-learning-objectives,
  .v2-real-body .bfc-tech-map{
    grid-template-columns:1fr;
  }
}


/* v188 · ajustes finales guía v2 */
.v2-btn-next{
  color:#07111f!important;
  background:linear-gradient(180deg,#ffcf45,#ff9900)!important;
  border-color:#ffbd3a!important;
  box-shadow:0 14px 32px rgba(255,153,0,.16)!important;
}
.v2-bottom-nav{
  gap:14px!important;
}
.v2-bottom-nav a{
  min-width:170px;
  justify-content:center!important;
}
.bfc-guide-v2-mockup .v2-current-option small{
  display:none!important;
}
.bfc-guide-v2-mockup .v2-current-option .v2-option-main{
  align-items:center!important;
}
.v2-step.is-complete b{
  background:#22c55e!important;
  border-color:#22c55e!important;
  color:#05210f!important;
  box-shadow:0 0 18px rgba(34,197,94,.38)!important;
}
.v2-step.is-complete span{
  color:#86efac!important;
}
.v2-real-body.strategy-style table,
.v2-real-body.strategy-style .bfc-table{
  border:0!important;
  border-spacing:0 10px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v2-real-body.strategy-style thead,
.v2-real-body.strategy-style .bfc-table thead{
  display:none!important;
}
.v2-real-body.strategy-style tr{
  display:grid!important;
  grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr) minmax(0,1.1fr)!important;
  gap:0!important;
  margin-bottom:10px!important;
  border:1px solid rgba(96,165,250,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(8,24,45,.72),rgba(5,18,35,.70))!important;
  overflow:hidden!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
}
.v2-real-body.strategy-style td,
.v2-real-body.strategy-style .bfc-table td{
  border:0!important;
  padding:16px!important;
  background:transparent!important;
}
.v2-real-body.strategy-style td:first-child{
  color:#ffbd3a!important;
  font-weight:950!important;
  border-right:1px solid rgba(96,165,250,.14)!important;
}
.v2-real-body.strategy-style td:nth-child(2)::before{
  content:"Qué debes hacer";
  display:block;
  color:#7fa0c7;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.v2-real-body.strategy-style td:nth-child(3)::before{
  content:"Pista de examen";
  display:block;
  color:#7fa0c7;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
@media(max-width:900px){
  .v2-real-body.strategy-style tr{
    grid-template-columns:1fr!important;
  }
  .v2-real-body.strategy-style td:first-child{
    border-right:0!important;
    border-bottom:1px solid rgba(96,165,250,.14)!important;
  }
}


/* v188 · module-list v2 cards */
.v2-real-body .module-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:18px 0 26px;
}
.v2-real-body .module-list .module{
  min-height:96px;
  border-radius:18px;
  padding:16px;
  display:block;
  text-decoration:none;
  border:1px solid rgba(96,165,250,.22);
  background:rgba(8,24,45,.50);
  box-shadow:0 14px 34px rgba(0,0,0,.15);
}
.v2-real-body .module-list .module:hover{
  border-color:rgba(255,174,24,.35);
  background:rgba(255,153,0,.07);
}
.v2-real-body .module-list .module strong{
  color:#fff;
  display:block;
  margin-bottom:7px;
}
.v2-real-body .module-list .module span{
  color:#9fb0c7;
  line-height:1.4;
  font-size:13px;
}
.v2-real-body .exam-box{
  border-radius:18px;
  border:1px solid rgba(255,174,24,.28);
  background:rgba(255,153,0,.08);
  color:#cbd5e1;
  padding:16px 18px;
  margin:18px 0 24px;
}
.v2-real-body .exam-box strong{
  color:#ffbd3a;
}
@media(max-width:800px){
  .v2-real-body .module-list{
    grid-template-columns:1fr;
  }
}


/* v189 · todas las páginas v2 + derecha sticky + bloqueo logout */
.v2-utility{
  position:sticky!important;
  top:18px!important;
  align-self:start!important;
  max-height:calc(100vh - 36px)!important;
  overflow:auto!important;
}
.bfc-guide-v2-mockup .v2-meta{
  gap:20px!important;
}
.bfc-guide-v2-mockup .v2-meta span:nth-child(n+3){
  display:none!important;
}
body.v2-logged-out .v2-utility .v2-widget:not(.v2-auth-widget){
  opacity:.30!important;
  filter:saturate(.35) blur(.2px)!important;
  pointer-events:none!important;
  user-select:none!important;
}
body.v2-logged-out .v2-auth-widget{
  display:block!important;
}
body.v2-logged-out .v2-auth-widget .v2-right-locked{
  display:block!important;
}
body.v2-logged-in .v2-auth-widget{
  display:none!important;
}
.v2-auth-widget{
  display:none;
}
.v2-right-locked{
  display:none;
}
@media(max-width:1260px){
  .v2-utility{
    position:relative!important;
    top:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
}


/* v190 · guardados paginados, tablas unificadas y auth logeado */
.v2-real-body table,
.v2-real-body .bfc-table{
  border:0!important;
  border-spacing:0 10px!important;
  border-collapse:separate!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v2-real-body thead,
.v2-real-body .bfc-table thead{
  display:none!important;
}
.v2-real-body table tr,
.v2-real-body .bfc-table tr{
  display:grid!important;
  grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr) minmax(0,1.1fr)!important;
  gap:0!important;
  margin-bottom:10px!important;
  border:1px solid rgba(96,165,250,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(90deg,rgba(8,24,45,.72),rgba(5,18,35,.70))!important;
  overflow:hidden!important;
  box-shadow:0 14px 34px rgba(0,0,0,.16)!important;
}
.v2-real-body table td,
.v2-real-body .bfc-table td{
  border:0!important;
  padding:16px!important;
  background:transparent!important;
  color:#cbd5e1!important;
  vertical-align:top!important;
}
.v2-real-body table td:first-child,
.v2-real-body .bfc-table td:first-child{
  color:#ffbd3a!important;
  font-weight:950!important;
  border-right:1px solid rgba(96,165,250,.14)!important;
}
.v2-real-body table td:nth-child(2)::before,
.v2-real-body .bfc-table td:nth-child(2)::before{
  content:"Qué significa";
  display:block;
  color:#7fa0c7;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.v2-real-body table td:nth-child(3)::before,
.v2-real-body .bfc-table td:nth-child(3)::before{
  content:"Pista de examen";
  display:block;
  color:#7fa0c7;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
@media(max-width:900px){
  .v2-real-body table tr,
  .v2-real-body .bfc-table tr{
    grid-template-columns:1fr!important;
  }
  .v2-real-body table td:first-child,
  .v2-real-body .bfc-table td:first-child{
    border-right:0!important;
    border-bottom:1px solid rgba(96,165,250,.14)!important;
  }
}

.v2-saved-pager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
}
.v2-saved-pager button{
  min-height:32px;
  border-radius:11px;
  border:1px solid rgba(96,165,250,.20);
  background:rgba(2,8,23,.35);
  color:#dbeafe;
  font-weight:900;
  padding:0 10px;
  cursor:pointer;
}
.v2-saved-pager button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.v2-saved-pager span{
  color:#8ea4c1;
  font-size:12px;
  font-weight:850;
}
.bfc-nav-item.auth-state.is-authenticated,
.bfc-nav-item.auth-state.is-logged,
.bfc-nav-item.auth-state.is-user,
.bfc-nav-item.auth-state:not(.is-guest){
  border-color:rgba(34,197,94,.38)!important;
  background:rgba(34,197,94,.10)!important;
  color:#86efac!important;
}
.bfc-nav-item.auth-state.is-authenticated svg,
.bfc-nav-item.auth-state.is-logged svg,
.bfc-nav-item.auth-state.is-user svg,
.bfc-nav-item.auth-state:not(.is-guest) svg{
  color:#22c55e!important;
}
.bfc-nav-item.auth-state.is-authenticated::after,
.bfc-nav-item.auth-state.is-logged::after,
.bfc-nav-item.auth-state.is-user::after,
.bfc-nav-item.auth-state:not(.is-guest)::after{
  background:#22c55e!important;
  box-shadow:0 0 12px rgba(34,197,94,.65)!important;
}


/* v193 · polish visual tablas, guardados, tiempo y timeline */
.v2-saved-list .v2-saved-item{
  padding:9px 10px!important;
  gap:9px!important;
}
.v2-saved-list .v2-saved-item strong{
  font-size:12.5px!important;
  line-height:1.22!important;
  font-weight:850!important;
}
.v2-saved-list .v2-saved-fav{
  width:26px!important;
  height:26px!important;
  border-radius:9px!important;
  font-size:13px!important;
}
.v2-saved-list .v2-chevron{
  font-size:13px!important;
}

/* Tablas v2 más consistentes: 2 columnas reales y 3 columnas reales */
.v2-real-body table,
.v2-real-body .bfc-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0 12px!important;
}
.v2-real-body table tr,
.v2-real-body .bfc-table tr{
  align-items:stretch!important;
  min-height:0!important;
}
.v2-real-body table tr:has(td:nth-child(2):last-child),
.v2-real-body .bfc-table tr:has(td:nth-child(2):last-child){
  grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr)!important;
}
.v2-real-body table tr:has(td:nth-child(3)),
.v2-real-body .bfc-table tr:has(td:nth-child(3)){
  grid-template-columns:minmax(190px,.72fr) minmax(0,1.08fr) minmax(0,1.12fr)!important;
}
.v2-real-body table td,
.v2-real-body .bfc-table td{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:76px!important;
  line-height:1.46!important;
}
.v2-real-body table td:first-child,
.v2-real-body .bfc-table td:first-child{
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:left!important;
  gap:10px!important;
}
.v2-real-body table td:first-child strong,
.v2-real-body .bfc-table td:first-child strong{
  color:#ffbd3a!important;
}
.v2-real-body table td:nth-child(2):last-child::before,
.v2-real-body .bfc-table td:nth-child(2):last-child::before{
  content:"Qué significa"!important;
}
.v2-real-body table td:nth-child(2):last-child{
  border-left:1px solid rgba(96,165,250,.14)!important;
}
.v2-real-body table td:nth-child(3),
.v2-real-body .bfc-table td:nth-child(3){
  border-left:1px solid rgba(96,165,250,.14)!important;
}
@supports not selector(:has(*)){
  .v2-real-body table tr,
  .v2-real-body .bfc-table tr{
    grid-template-columns:minmax(190px,.72fr) minmax(0,1.08fr) minmax(0,1.12fr)!important;
  }
}
@media(max-width:900px){
  .v2-real-body table tr,
  .v2-real-body .bfc-table tr,
  .v2-real-body table tr:has(td:nth-child(2):last-child),
  .v2-real-body .bfc-table tr:has(td:nth-child(2):last-child),
  .v2-real-body table tr:has(td:nth-child(3)),
  .v2-real-body .bfc-table tr:has(td:nth-child(3)){
    grid-template-columns:1fr!important;
  }
  .v2-real-body table td,
  .v2-real-body .bfc-table td{
    min-height:auto!important;
  }
  .v2-real-body table td:nth-child(2):last-child,
  .v2-real-body .bfc-table td:nth-child(2):last-child,
  .v2-real-body table td:nth-child(3),
  .v2-real-body .bfc-table td:nth-child(3){
    border-left:0!important;
    border-top:1px solid rgba(96,165,250,.14)!important;
  }
}

/* Panel alumno: tiempo invertido en una sola línea */
[data-time-invested]{
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  font-size:20px!important;
  line-height:1!important;
}
.metric-card strong[data-time-invested],
.stat-card strong[data-time-invested],
.bfc-stat strong[data-time-invested]{
  white-space:nowrap!important;
  min-width:max-content!important;
}

/* Timeline: línea activa más separada y en blanco */
.v2-step.active::after{
  top:58px!important;
  background:#ffffff!important;
  box-shadow:0 0 12px rgba(255,255,255,.42)!important;
}
.bfc-guide-v2-mockup .v2-step.active::after{
  top:58px!important;
}
.v2-step.active b{
  margin-bottom:6px!important;
}


/* v193 · clases explícitas para tablas 2/3 columnas */
.v2-real-body table.v2-table-2col tr,
.v2-real-body .bfc-table.v2-table-2col tr{
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)!important;
}
.v2-real-body table.v2-table-3col tr,
.v2-real-body .bfc-table.v2-table-3col tr{
  grid-template-columns:minmax(190px,.72fr) minmax(0,1.08fr) minmax(0,1.12fr)!important;
}
.v2-real-body table.v2-table-2col td:nth-child(2)::before,
.v2-real-body .bfc-table.v2-table-2col td:nth-child(2)::before{
  content:"Detalle"!important;
}
.v2-real-body table.v2-table-2col td:nth-child(2),
.v2-real-body .bfc-table.v2-table-2col td:nth-child(2){
  border-left:1px solid rgba(96,165,250,.14)!important;
}


/* v194 · ajuste panel métricas y dominios */
.bfc-panel-section.bfc-grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.bfc-panel-section .bfc-metric-card{
  min-width:0!important;
  padding:18px 16px!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  overflow:hidden!important;
}
.bfc-panel-section .bfc-metric-card > div:last-child{
  min-width:0!important;
}
.bfc-panel-section .bfc-metric-card strong{
  font-size:24px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
.bfc-panel-section .bfc-metric-card span{
  font-size:13px!important;
  line-height:1.35!important;
}
.bfc-panel-section .bfc-metric-icon{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
}
.bfc-panel-section [data-time-invested]{
  font-size:23px!important;
  white-space:nowrap!important;
  letter-spacing:-.02em!important;
}
.bfc-domain-side-head h3{
  margin-top:12px!important;
}
.bfc-domain-card .bfc-domain-head{
  align-items:flex-start!important;
  margin-bottom:15px!important;
  gap:12px!important;
}
.bfc-domain-card .small-pill{
  margin-top:-2px!important;
  flex:0 0 auto!important;
}
.bfc-domain-card .bar{
  margin-top:8px!important;
}
@media(max-width:1180px){
  .bfc-panel-section.bfc-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .bfc-panel-section.bfc-grid-4{
    grid-template-columns:1fr!important;
  }
}


/* v195 · ajuste final métricas panel y portada próximamente */
.bfc-panel-section.bfc-grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.bfc-panel-section .bfc-metric-card{
  min-width:0!important;
  padding:16px 14px!important;
  gap:12px!important;
}
.bfc-panel-section .bfc-metric-card > div:last-child{
  min-width:0!important;
  overflow:hidden!important;
}
.bfc-panel-section .bfc-metric-card strong{
  font-size:22px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  letter-spacing:-.035em!important;
}
.bfc-panel-section .bfc-metric-card span{
  font-size:12.5px!important;
  line-height:1.32!important;
}
.bfc-panel-section .bfc-metric-icon{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
}
.bfc-panel-section [data-time-invested]{
  font-size:20px!important;
  white-space:nowrap!important;
  letter-spacing:-.055em!important;
  display:block!important;
  max-width:100%!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]){
  padding-left:12px!important;
  padding-right:10px!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]) .bfc-metric-icon{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]) span{
  font-size:12px!important;
}
@supports not selector(:has(*)){
  .bfc-panel-section [data-time-invested]{
    font-size:19px!important;
  }
}
.bfc-home-soon-card .soon-head,
.bfc-soon-card .soon-head,
.soon-card .soon-head,
.bfc-coming-card .soon-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.bfc-home-soon-card .soon-head h3,
.bfc-soon-card .soon-head h3,
.soon-card .soon-head h3,
.bfc-coming-card .soon-head h3{
  margin:0!important;
}
.bfc-home-soon-card .soon-head .pill,
.bfc-soon-card .soon-head .pill,
.soon-card .soon-head .pill,
.bfc-coming-card .soon-head .pill{
  margin-left:auto!important;
  white-space:nowrap!important;
}
@media(max-width:1300px){
  .bfc-panel-section.bfc-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .bfc-panel-section [data-time-invested]{
    font-size:22px!important;
    letter-spacing:-.035em!important;
  }
}
@media(max-width:640px){
  .bfc-panel-section.bfc-grid-4{
    grid-template-columns:1fr!important;
  }
}


/* v196 · panel tiempo y próximamente una línea */
.bfc-panel-section .bfc-metric-card{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  column-gap:10px!important;
  padding:15px 12px!important;
}
.bfc-panel-section .bfc-metric-icon{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
}
.bfc-panel-section .bfc-metric-card strong{
  font-size:21px!important;
  line-height:1!important;
}
.bfc-panel-section [data-time-invested]{
  font-size:18px!important;
  letter-spacing:-.075em!important;
  white-space:nowrap!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]){
  grid-template-columns:38px minmax(0,1fr)!important;
  column-gap:9px!important;
  padding-left:10px!important;
  padding-right:8px!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]) .bfc-metric-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
}
.bfc-panel-section .bfc-metric-card:has([data-time-invested]) span{
  font-size:11.5px!important;
}
.bfc-soon-inline-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.bfc-soon-inline-head .bfc-card-title{
  margin:0!important;
  min-width:0!important;
}
.bfc-soon-inline-head .small-pill{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  margin:0!important;
}
@media(max-width:1420px){
  .bfc-panel-section [data-time-invested]{
    font-size:17px!important;
  }
  .bfc-panel-section .bfc-metric-card{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
}
@media(max-width:1300px){
  .bfc-panel-section [data-time-invested]{
    font-size:22px!important;
    letter-spacing:-.04em!important;
  }
}


/* v197 · dashboard2 integrado */
.bfc-dashboard2 .bfc-main{
  max-width:1500px;
}
.bfc-dashboard2-hero{
  min-height:190px!important;
  padding-bottom:28px!important;
}
.bfc-dashboard2-active{
  margin-top:22px;
}
.bfc-dashboard2-active > .bfc-section-head{
  margin-bottom:18px;
}
.bfc-dashboard2-active .bfc-course-progress-layout{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  align-items:stretch!important;
}
.bfc-dashboard2-active .bfc-aws-card,
.bfc-dashboard2-active .bfc-domain-side-card{
  min-height:0!important;
}
.bfc-dashboard2-active .bfc-card-title{
  font-size:30px!important;
  line-height:1.15!important;
  max-width:850px!important;
}
.bfc-dashboard2-active .bfc-grid-4.bfc-panel-section{
  margin-top:24px!important;
}
.bfc-dashboard2-suggested{
  margin-top:26px;
}
.bfc-dashboard2-suggested > section{
  width:100%;
}
.bfc-dashboard2-suggested .bfc-section-head{
  margin-bottom:18px;
}
.bfc-dashboard2-suggested div[style*="display:grid"]{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.bfc-dashboard2-suggested .bfc-compact-route{
  min-height:220px;
}
.bfc-dashboard2-suggested .bfc-compact-route > div{
  height:100%;
  align-items:flex-start!important;
  flex-direction:column!important;
}
.bfc-dashboard2-suggested .bfc-compact-route .btn{
  margin-top:auto;
}
@media(max-width:1240px){
  .bfc-dashboard2-active .bfc-course-progress-layout{
    grid-template-columns:1fr!important;
  }
  .bfc-dashboard2-suggested div[style*="display:grid"]{
    grid-template-columns:1fr!important;
  }
}


/* v198 · dashboard2 refinado */
.bfc-dashboard2-active-frame{
  border:1px solid rgba(96,165,250,.24);
  border-radius:28px;
  padding:22px;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,153,0,.08), transparent 28%),
    linear-gradient(180deg, rgba(7,24,45,.62), rgba(4,16,31,.44));
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.bfc-dashboard2-active-frame .bfc-course-progress-layout{
  margin:0!important;
}
.bfc-dashboard2-active > .bfc-section-head{
  margin-bottom:16px!important;
}
.bfc-dashboard2-suggested .bfc-compact-route > div{
  gap:10px!important;
}
.bfc-suggested-route-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  width:100%;
}
.bfc-suggested-route-head .bfc-card-title{
  margin:0!important;
  min-width:0;
}
.bfc-suggested-route-head .small-pill{
  flex:0 0 auto;
  white-space:nowrap;
  margin-top:2px;
}
.bfc-dashboard2-suggested .bfc-compact-route strong{
  margin-top:2px;
  display:inline-block;
}
@media(max-width:760px){
  .bfc-dashboard2-active-frame{
    padding:16px;
    border-radius:22px;
  }
  .bfc-suggested-route-head{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* v199 · dashboard2 rutas sugeridas y acción bajo métricas */
.bfc-dashboard2-course-actions{
  margin-top:22px;
  display:flex;
  justify-content:flex-start;
}
.bfc-dashboard2-course-actions .btn{
  min-width:160px;
}
.bfc-dashboard2-routes-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
}
.bfc-dashboard2-routes-grid .bfc-compact-route{
  min-height:220px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.bfc-dashboard2-routes-grid .bfc-compact-route > strong{
  display:block!important;
  margin-top:2px!important;
}
.bfc-dashboard2-routes-grid .bfc-card-text{
  margin-top:4px!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  width:100%!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head .bfc-card-title{
  margin:0!important;
  min-width:0!important;
  line-height:1.18!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head .small-pill{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  margin-top:2px!important;
}
.bfc-dashboard2-suggested .bfc-compact-route > div{
  height:auto!important;
  align-items:initial!important;
  flex-direction:initial!important;
}
@media(max-width:1180px){
  .bfc-dashboard2-routes-grid{
    grid-template-columns:1fr!important;
  }
}


/* v200 · dashboard definitivo y ajuste título/pill rutas sugeridas */
.bfc-dashboard2-hero{
  min-height:150px!important;
}
.bfc-dashboard2-suggested-head{
  align-items:center!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head{
  align-items:center!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head .bfc-card-title{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head .small-pill{
  justify-self:end!important;
  align-self:start!important;
  padding:8px 14px!important;
  font-size:11px!important;
}
@media(max-width:720px){
  .bfc-dashboard2-routes-grid .bfc-suggested-route-head{
    grid-template-columns:1fr!important;
  }
  .bfc-dashboard2-routes-grid .bfc-suggested-route-head .small-pill{
    justify-self:start!important;
    margin-top:8px!important;
  }
}


/* v204 · acceso libre curso CLF-C02 */
.bfc-free-access-section{
  margin-top:26px;
}
.bfc-free-access-card{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:24px;
  align-items:center;
  border:1px solid rgba(96,165,250,.24);
  border-radius:28px;
  padding:26px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,153,0,.10), transparent 30%),
    linear-gradient(135deg, rgba(7,24,45,.82), rgba(4,16,31,.72));
  box-shadow:0 24px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.bfc-free-access-card h2{
  color:#fff;
  font-size:clamp(28px,3vw,42px);
  line-height:1.06;
  letter-spacing:-.045em;
  margin:16px 0 12px;
}
.bfc-free-access-card p{
  color:#cbd5e1;
  line-height:1.58;
  max-width:760px;
}
.bfc-free-access-benefits{
  border-radius:22px;
  padding:20px;
  border:1px solid rgba(255,174,24,.26);
  background:rgba(255,153,0,.07);
}
.bfc-free-access-benefits h3{
  color:#ffbd3a;
  margin:0 0 12px;
  font-size:18px;
}
.bfc-free-access-benefits ul{
  margin:0 0 18px;
  padding-left:20px;
  color:#dbeafe;
  line-height:1.65;
}
.bfc-free-access-benefits li::marker{
  color:#ff9900;
}
@media(max-width:900px){
  .bfc-free-access-card{
    grid-template-columns:1fr;
    padding:22px;
  }
}


/* v206 · fix index metas y separación acceso libre */
.bfc-free-access-section{
  margin-top:28px!important;
  margin-bottom:42px!important;
}
.bfc-free-access-section + .bfc-panel-section{
  margin-top:34px!important;
}


/* v207 · portada con hero + acceso libre integrados */
.bfc-home-hero-combined{
  min-height:auto!important;
  padding:40px 40px 34px!important;
  display:flex;
  flex-direction:column;
  gap:30px;
}
.bfc-home-hero-main{
  max-width:980px;
}
.bfc-home-hero-combined h1{
  margin:20px 0 14px;
}
.bfc-home-hero-combined > p,
.bfc-home-hero-main > p{
  max-width:980px;
}
.bfc-home-hero-access{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:24px;
  align-items:stretch;
  border-top:1px solid rgba(96,165,250,.16);
  padding-top:26px;
}
.bfc-home-hero-access-left h2{
  color:#fff;
  font-size:clamp(30px,3vw,50px);
  line-height:1.04;
  letter-spacing:-.05em;
  margin:14px 0 14px;
}
.bfc-home-hero-access-left p{
  color:#cbd5e1;
  line-height:1.6;
  margin:0;
}
.bfc-home-hero-access-right{
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(255,174,24,.24);
  background:rgba(255,153,0,.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-home-hero-access-right h3{
  color:#ffbd3a;
  margin:0 0 12px;
  font-size:18px;
}
.bfc-home-hero-access-right ul{
  margin:0 0 18px;
  padding-left:20px;
  color:#dbeafe;
  line-height:1.7;
}
.bfc-home-hero-access-right li::marker{
  color:#ff9900;
}
.bfc-home-hero-access-right .btn{
  margin-top:4px;
}
@media(max-width:980px){
  .bfc-home-hero-combined{
    padding:30px 24px 24px!important;
    gap:22px;
  }
  .bfc-home-hero-access{
    grid-template-columns:1fr;
  }
}


/* v208 · portada compacta acceso libre */
.bfc-home-hero-compact{
  min-height:auto!important;
  padding:34px 38px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)!important;
  gap:28px!important;
  align-items:center!important;
}
.bfc-home-hero-compact::before{
  opacity:.55!important;
}
.bfc-home-compact-left h1{
  margin:18px 0 12px!important;
  font-size:clamp(42px,5vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  max-width:1040px!important;
}
.bfc-home-compact-left p{
  color:#cbd5e1!important;
  font-size:18px!important;
  line-height:1.55!important;
  max-width:880px!important;
  margin:0!important;
}
.bfc-home-compact-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.bfc-home-compact-right{
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(255,174,24,.24);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,153,0,.12), transparent 36%),
    rgba(2,8,23,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.bfc-home-compact-right h2{
  color:#ffbd3a;
  font-size:20px;
  line-height:1.25;
  margin:0 0 14px;
  letter-spacing:-.02em;
}
.bfc-home-compact-right ul{
  margin:0;
  padding-left:20px;
  color:#dbeafe;
  line-height:1.65;
}
.bfc-home-compact-right li::marker{
  color:#ff9900;
}
@media(max-width:980px){
  .bfc-home-hero-compact{
    grid-template-columns:1fr!important;
    padding:28px 22px!important;
  }
  .bfc-home-compact-left h1{
    font-size:clamp(38px,10vw,58px)!important;
  }
}


/* v210 · botón registro portada */
.bfc-signup-direct-btn{
  margin-top:18px;
  display:inline-flex!important;
  width:max-content;
}


/* v211 · portada más compacta y registro arriba derecha */
.bfc-home-hero-compact{
  padding:28px 38px!important;
  gap:22px!important;
  min-height:260px!important;
}
.bfc-home-compact-left h1{
  margin:14px 0 10px!important;
  font-size:clamp(44px,4.5vw,68px)!important;
  line-height:.96!important;
}
.bfc-home-compact-left p{
  font-size:17px!important;
  line-height:1.45!important;
}
.bfc-home-compact-right{
  padding:18px 20px!important;
  border-radius:22px!important;
}
.bfc-home-register-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.bfc-home-register-head h2{
  margin:0!important;
  font-size:19px!important;
  line-height:1.2!important;
  max-width:420px;
}
.bfc-home-register-head .bfc-signup-direct-btn{
  margin-top:0!important;
  flex:0 0 auto;
  min-height:42px;
  padding:0 18px;
}
.bfc-home-compact-right ul{
  line-height:1.55!important;
  margin-top:0!important;
}
@media(max-width:980px){
  .bfc-home-hero-compact{
    min-height:auto!important;
    padding:24px 22px!important;
  }
  .bfc-home-register-head{
    flex-direction:column;
  }
}


/* v213 · registro enlazado en título sin botón */
.bfc-register-title-link{
  color:#ffbd3a!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(255,189,58,.55);
}
.bfc-register-title-link:hover{
  color:#ffd166!important;
  border-bottom-color:#ffd166;
}
.bfc-home-register-head{
  justify-content:flex-start!important;
}


/* v214 · recuperación Qué encontrarás */
.bfc-seo-content{
  margin-top:28px!important;
}
.bfc-seo-content .bfc-mini-feature-row{
  min-height:150px;
}
.bfc-seo-content .bfc-mini-feature-row strong{
  color:#ffbd3a;
}


/* v215 · ubicación y separación Qué encontrarás */
.bfc-seo-content{
  margin-top:46px!important;
  margin-bottom:44px!important;
  padding-top:6px!important;
}
.bfc-seo-content::before{
  content:"";
  display:block;
  height:1px;
  width:100%;
  margin-bottom:32px;
  background:linear-gradient(90deg, transparent, rgba(96,165,250,.22), rgba(255,153,0,.18), transparent);
}
.bfc-seo-content + .bfc-panel-section{
  margin-top:36px!important;
}


/* v216 · separación natural Qué encontrarás */
.bfc-seo-content{
  margin-top:24px!important;
  margin-bottom:28px!important;
  padding-top:0!important;
}
.bfc-seo-content::before{
  content:none!important;
  display:none!important;
  height:0!important;
  margin:0!important;
  background:none!important;
}
.bfc-seo-content + .bfc-panel-section{
  margin-top:26px!important;
}


/* v217 · corregir visibilidad números en las 4 cajas */
.bfc-mini-feature-step,
.bfc-mini-feature-row .bfc-step,
.bfc-mini-feature-row .feature-step,
.bfc-mini-feature-row [class*="step"]{
  color:#0b1220!important;
  font-weight:900!important;
  font-size:22px!important;
  line-height:1!important;
  letter-spacing:-0.02em!important;
  text-shadow:none!important;
  opacity:1!important;
}
.bfc-mini-feature-step small,
.bfc-mini-feature-row .bfc-step small,
.bfc-mini-feature-row .feature-step small{
  color:#0b1220!important;
  opacity:1!important;
}


/* v218 · números 4 cajas en blanco fuerte */
.bfc-mini-feature-number,
.bfc-mini-feature-step,
.bfc-mini-feature-badge,
.bfc-mini-feature-row .bfc-step,
.bfc-mini-feature-row .feature-step,
.bfc-mini-feature-row [class*="step"],
.bfc-mini-feature-row [class*="number"],
.bfc-mini-feature-row [class*="badge"]{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:900 !important;
  font-size:21px !important;
  line-height:1 !important;
  letter-spacing:-0.02em !important;
  opacity:1 !important;
  text-shadow:0 1px 0 rgba(0,0,0,.18) !important;
}

.bfc-mini-feature-number *,
.bfc-mini-feature-step *,
.bfc-mini-feature-badge *,
.bfc-mini-feature-row .bfc-step *,
.bfc-mini-feature-row .feature-step *,
.bfc-mini-feature-row [class*="step"] *,
.bfc-mini-feature-row [class*="number"] *,
.bfc-mini-feature-row [class*="badge"] *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

.bfc-mini-feature-number,
.bfc-mini-feature-step,
.bfc-mini-feature-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}


/* v219 · números directos sección Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row > strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  font-weight:950 !important;
  font-size:20px !important;
  line-height:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.28) !important;
  background:linear-gradient(180deg,#ffbd3a,#ff9900) !important;
  border:1px solid rgba(255,189,58,.55) !important;
  box-shadow:0 10px 24px rgba(255,153,0,.18) !important;
}
.bfc-seo-content .bfc-mini-feature-row > strong::first-letter{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* v220 · ajustar altura rutas sugeridas dashboard */
.bfc-dashboard2-routes-grid .bfc-compact-route{
  min-height:150px!important;
  padding:18px 20px!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.bfc-dashboard2-routes-grid .bfc-suggested-route-head{
  margin-bottom:4px!important;
}
.bfc-dashboard2-routes-grid .bfc-compact-route > strong{
  margin-top:0!important;
  margin-bottom:6px!important;
}
.bfc-dashboard2-routes-grid .bfc-card-text{
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1.45!important;
}
.bfc-dashboard2-suggested{
  margin-bottom:18px!important;
}


/* v221 · estado de preparación dinámico */
.bfc-prep-state-title{
  max-width:900px;
}
.bfc-prep-state-text{
  margin:12px 0 0;
  max-width:920px;
  color:#b9c8da;
  font-size:15.5px;
  line-height:1.55;
}
@media(max-width:760px){
  .bfc-prep-state-text{
    font-size:14px;
  }
}


/* v222 · motivación al marcar módulo leído en guía */
.v2-motivation-toast{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:9999;
  width:min(360px,calc(100vw - 32px));
  border-radius:22px;
  border:1px solid rgba(255,189,58,.42);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,153,0,.18), transparent 36%),
    linear-gradient(135deg, rgba(7,24,45,.96), rgba(2,8,23,.96));
  box-shadow:0 22px 60px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.03) inset;
  padding:18px 20px;
  transform:translateY(18px) scale(.96);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}
.v2-motivation-toast.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.v2-motivation-toast strong{
  display:block;
  color:#ffbd3a;
  font-size:18px;
  line-height:1.2;
  margin-bottom:6px;
}
.v2-motivation-toast span{
  display:block;
  color:#e5eefb;
  line-height:1.45;
  font-size:14px;
}
.v2-motivation-toast small{
  display:block;
  margin-top:10px;
  color:#8fb2df;
  font-weight:850;
}
.v2-progress-pop{
  animation:v2ProgressPop .75s ease both;
}
.v2-progress-bar-pop{
  box-shadow:0 0 22px rgba(255,153,0,.42)!important;
  transition:width .22s ease, box-shadow .4s ease!important;
}
@keyframes v2ProgressPop{
  0%{ transform:scale(1); color:inherit; }
  45%{ transform:scale(1.16); color:#ffbd3a; }
  100%{ transform:scale(1); color:inherit; }
}
@media(max-width:720px){
  .v2-motivation-toast{
    right:16px;
    bottom:16px;
  }
}


/* v223 · cabeceras compactas y motivación progreso */
.bfc-dashboard2-hero{
  min-height:110px!important;
  padding-top:26px!important;
  padding-bottom:22px!important;
}
.bfc-dashboard2-hero h1{
  margin-top:0!important;
  margin-bottom:8px!important;
}
.bfc-dashboard2-hero p:empty{
  display:none!important;
}

.bfc-home-hero-compact{
  padding-top:22px!important;
  padding-bottom:22px!important;
  margin-top:0!important;
  margin-bottom:22px!important;
}
.bfc-home-hero-compact + .bfc-panel-section{
  margin-top:22px!important;
}
.bfc-home-compact-left h1{
  margin-top:12px!important;
  margin-bottom:8px!important;
}
.bfc-home-compact-left p{
  margin-bottom:0!important;
}

.v2-widget{
  position:relative;
}
.v2-progress-widget-pulse{
  animation:v2WidgetPulse 1.1s ease both;
}
.v2-progress-plus-one{
  position:absolute;
  top:14px;
  right:16px;
  z-index:5;
  min-width:40px;
  height:32px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#07111f;
  font-weight:950;
  background:linear-gradient(180deg,#ffcf45,#ff9900);
  border:1px solid rgba(255,189,58,.8);
  box-shadow:0 12px 34px rgba(255,153,0,.28);
  opacity:0;
  transform:translateY(10px) scale(.82);
  transition:opacity .22s ease, transform .28s ease;
}
.v2-progress-plus-one.is-visible{
  opacity:1;
  transform:translateY(-8px) scale(1);
}
@keyframes v2WidgetPulse{
  0%{ box-shadow:0 0 0 rgba(255,153,0,0); }
  35%{ box-shadow:0 0 0 4px rgba(255,153,0,.14), 0 22px 52px rgba(255,153,0,.12); border-color:rgba(255,189,58,.45); }
  100%{ box-shadow:inherit; }
}


/* v225 · separación pill dominios dashboard */
.bfc-domain-side-card .pill{
  display:inline-flex!important;
  margin-bottom:22px!important;
}
.bfc-domain-side-card .bfc-domain-card:first-of-type{
  margin-top:6px!important;
}
.bfc-domain-side-card{
  padding-top:26px!important;
}


/* v226 · texto portada y dashboard */
.bfc-aws-orange{
  color:#ff9900!important;
  text-shadow:0 0 28px rgba(255,153,0,.18);
}


/* v227 · navegación autenticada y FAQs */
.bfc-auth-only{
  display:none!important;
}
body.logged-mode .bfc-auth-only,
body.v2-logged-in .bfc-auth-only{
  display:flex!important;
}
.bfc-faqs-hero{
  min-height:220px!important;
  padding-bottom:30px!important;
}
.bfc-faqs-hero h1{
  margin:18px 0 12px!important;
}
.bfc-faqs-section{
  margin-top:26px;
}
.bfc-faqs-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.bfc-faqs-grid .bfc-glass-card{
  min-height:190px;
}
.bfc-faqs-grid h2{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  line-height:1.18;
}
.bfc-faqs-grid p{
  color:#cbd5e1;
  line-height:1.6;
  margin:0;
}
@media(max-width:1100px){
  .bfc-faqs-grid{ grid-template-columns:1fr 1fr; }
}
@media(max-width:720px){
  .bfc-faqs-grid{ grid-template-columns:1fr; }
}


/* v228 · glosario AWS */
.bfc-glossary-hero{
  min-height:260px!important;
  padding-bottom:34px!important;
}
.bfc-glossary-hero h1{
  margin:18px 0 12px!important;
  max-width:980px!important;
}
.bfc-glossary-hero p{
  max-width:900px!important;
}
.bfc-glossary-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.bfc-glossary-stats span{
  border:1px solid rgba(96,165,250,.22);
  background:rgba(2,8,23,.36);
  color:#dbeafe;
  border-radius:999px;
  padding:9px 13px;
  font-weight:850;
  font-size:13px;
}
.bfc-glossary-intro{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:20px;
  align-items:start;
}
.bfc-glossary-note{
  border:1px solid rgba(255,189,58,.22);
  border-radius:24px;
  padding:22px;
  background:rgba(255,153,0,.06);
}
.bfc-glossary-note strong{
  color:#ffbd3a;
  font-size:18px;
}
.bfc-glossary-note p{
  color:#cbd5e1;
  line-height:1.62;
  margin:10px 0 0;
}
.bfc-glossary-toc{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.bfc-glossary-toc a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#e5eefb;
  border:1px solid rgba(96,165,250,.20);
  border-radius:16px;
  padding:11px 12px;
  background:rgba(7,24,45,.58);
}
.bfc-glossary-toc a span{
  width:30px;
  height:30px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#07111f;
  background:linear-gradient(180deg,#ffbd3a,#ff9900);
  font-weight:950;
  font-size:12px;
}
.bfc-glossary-toc a small{
  color:#8fb2df;
  font-weight:900;
}
.bfc-glossary-content{
  display:flex;
  flex-direction:column;
  gap:26px;
  margin-top:28px;
}
.bfc-glossary-category{
  border:1px solid rgba(96,165,250,.22);
  border-radius:28px;
  padding:24px;
  background:
    radial-gradient(circle at 0% 0%, rgba(96,165,250,.07), transparent 30%),
    linear-gradient(180deg, rgba(7,24,45,.54), rgba(4,16,31,.44));
}
.bfc-glossary-category > header{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.bfc-glossary-category > header > span{
  width:46px;
  height:46px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#ffbd3a,#ff9900);
  color:#07111f;
  font-weight:950;
}
.bfc-glossary-category h2{
  margin:0 0 6px;
  color:#fff;
  font-size:30px;
  line-height:1.1;
}
.bfc-glossary-category header p{
  margin:0;
  color:#9fb0c6;
}
.bfc-glossary-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.bfc-glossary-card{
  border:1px solid rgba(96,165,250,.18);
  border-radius:18px;
  padding:16px;
  background:rgba(2,8,23,.34);
  min-height:190px;
}
.bfc-glossary-card h3{
  color:#fff;
  margin:0 0 9px;
  font-size:18px;
  line-height:1.2;
}
.bfc-glossary-card p{
  color:#cbd5e1;
  line-height:1.48;
  margin:0 0 12px;
}
.bfc-glossary-card div{
  border-top:1px solid rgba(96,165,250,.12);
  padding-top:10px;
  color:#aebed2;
  line-height:1.45;
  font-size:14px;
}
.bfc-glossary-card strong{
  color:#ffbd3a;
}
@media(max-width:1240px){
  .bfc-glossary-card-grid,
  .bfc-glossary-toc{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:860px){
  .bfc-glossary-intro{
    grid-template-columns:1fr;
  }
  .bfc-glossary-card-grid,
  .bfc-glossary-toc{
    grid-template-columns:1fr;
  }
  .bfc-glossary-category{
    padding:18px;
  }
}


/* v229 · cleanup y buscador glosario */
.bfc-glossary-intro-compact{
  display:block!important;
}
.bfc-glossary-search{
  margin-bottom:18px;
}
.bfc-glossary-search input{
  width:100%;
  min-height:52px;
  border-radius:18px;
  border:1px solid rgba(96,165,250,.26);
  background:rgba(2,8,23,.55);
  color:#e5eefb;
  padding:0 18px;
  font:inherit;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.bfc-glossary-search input::placeholder{
  color:#7f91aa;
}
.bfc-glossary-search input:focus{
  border-color:rgba(255,153,0,.58);
  box-shadow:0 0 0 3px rgba(255,153,0,.10);
}


/* v230 · buscador funcional glosario */
.bfc-glossary-search{
  position:relative;
  z-index:20;
}
.bfc-glossary-suggestions{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  max-height:420px;
  overflow:auto;
  border:1px solid rgba(96,165,250,.26);
  border-radius:18px;
  background:rgba(3,12,25,.98);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  padding:8px;
}
.bfc-glossary-suggestions.is-visible{
  display:block;
}
.bfc-glossary-suggestion{
  width:100%;
  text-align:left;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#e5eefb;
  padding:12px 13px;
  cursor:pointer;
  display:grid;
  grid-template-columns:minmax(180px,.85fr) minmax(150px,.55fr) minmax(0,1.6fr);
  gap:12px;
  align-items:center;
}
.bfc-glossary-suggestion:hover{
  background:rgba(255,153,0,.10);
}
.bfc-glossary-suggestion strong{
  color:#fff;
}
.bfc-glossary-suggestion span{
  color:#ffbd3a;
  font-weight:850;
  font-size:13px;
}
.bfc-glossary-suggestion small{
  color:#9fb0c6;
  line-height:1.35;
}
.bfc-glossary-no-results{
  color:#9fb0c6;
  padding:14px;
}
.bfc-glossary-card.is-highlighted{
  animation:bfcGlossaryHighlight 1.55s ease both;
}
@keyframes bfcGlossaryHighlight{
  0%{ box-shadow:0 0 0 0 rgba(255,153,0,0); border-color:rgba(255,153,0,.18); }
  35%{ box-shadow:0 0 0 4px rgba(255,153,0,.16), 0 18px 46px rgba(255,153,0,.14); border-color:rgba(255,153,0,.72); }
  100%{ box-shadow:none; border-color:rgba(96,165,250,.18); }
}
@media(max-width:850px){
  .bfc-glossary-suggestion{
    grid-template-columns:1fr;
    gap:4px;
  }
}


/* v232 · glosario detalle propio del servicio */
.bfc-service-more{
  color:#dbeafe;
}
.bfc-glossary-card{
  min-height:230px!important;
}


/* v233 · FAQs ampliadas */
.bfc-faqs-grid .bfc-glass-card{
  min-height:200px;
}


/* v234 · portada: recuperar espacio vertical en hero */
.bfc-hero.bfc-home-hero-compact{
  padding:20px 38px 14px !important;
  gap:20px !important;
  align-items:start !important;
  margin-bottom:20px !important;
}
.bfc-home-compact-left{
  align-self:start !important;
}
.bfc-home-compact-left h1{
  margin:10px 0 8px !important;
}
.bfc-home-compact-left p{
  margin:0 !important;
}
.bfc-home-compact-right{
  align-self:start !important;
  padding:18px 20px !important;
}
.bfc-home-register-head{
  margin-bottom:8px !important;
}
.bfc-home-compact-right ul{
  line-height:1.5 !important;
}
.bfc-home-compact-right li + li{
  margin-top:2px;
}
@media(max-width:980px){
  .bfc-hero.bfc-home-hero-compact{
    padding:18px 22px 14px !important;
    gap:16px !important;
  }
  .bfc-home-compact-right{
    padding:16px 18px !important;
  }
}


/* v235 · portada: recortar hueco inferior en hero */
.bfc-hero.bfc-home-hero-compact{
  min-height:0 !important;
  padding:18px 38px 6px !important;
  gap:18px !important;
  align-items:start !important;
  align-content:start !important;
}
.bfc-home-compact-left,
.bfc-home-compact-right{
  margin-bottom:0 !important;
  align-self:start !important;
}
.bfc-home-compact-left h1{
  margin:10px 0 6px !important;
}
.bfc-home-compact-left p{
  margin:0 !important;
}
.bfc-home-compact-right{
  padding:16px 20px !important;
}
.bfc-home-register-head{
  margin-bottom:6px !important;
}
.bfc-home-compact-right ul{
  margin:0 !important;
  line-height:1.45 !important;
}
.bfc-home-compact-right li + li{
  margin-top:1px !important;
}
@media(max-width:980px){
  .bfc-hero.bfc-home-hero-compact{
    min-height:0 !important;
    padding:16px 22px 8px !important;
    gap:14px !important;
  }
  .bfc-home-compact-right{
    padding:15px 18px !important;
  }
}


/* v236 · ajustes portada cabecera y cajas Qué encontrarás */
.bfc-hero.bfc-home-hero-compact{
  padding-top:22px !important;
  padding-bottom:12px !important;
}
.bfc-seo-content .bfc-mini-feature-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:142px !important;
  padding:22px 24px !important;
}
.bfc-seo-content .bfc-mini-feature-row > strong{
  display:none !important;
}
.bfc-seo-content .bfc-mini-feature-row > div{
  width:100% !important;
}
.bfc-seo-content .bfc-mini-feature-row h3{
  margin:0 0 10px !important;
}
.bfc-seo-content .bfc-mini-feature-row p{
  margin:0 auto !important;
  max-width:280px !important;
}
@media(max-width:980px){
  .bfc-hero.bfc-home-hero-compact{
    padding-top:20px !important;
    padding-bottom:12px !important;
  }
}


/* v237 · cajas premium Qué encontrarás */
.bfc-seo-content .bfc-grid-4{
  gap:18px !important;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  position:relative;
  overflow:hidden;
  min-height:268px !important;
  padding:28px 24px 24px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  border-radius:24px !important;
  border:1px solid rgba(96,165,250,.30) !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(59,130,246,.18), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(59,130,246,.16), transparent 36%),
    linear-gradient(180deg, rgba(8,28,53,.78), rgba(4,16,31,.70)) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.04),
    0 18px 42px rgba(37,99,235,.08) !important;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    linear-gradient(180deg, rgba(147,197,253,.16), transparent 36%),
    radial-gradient(circle at 50% 105%, rgba(96,165,250,.28), transparent 38%);
  pointer-events:none;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:24px;
  width:46px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffbd3a,#ff9900);
  transform:translateX(-50%);
  box-shadow:0 0 18px rgba(255,153,0,.45);
}
.bfc-seo-content .bfc-premium-feature .bfc-feature-icon{
  position:relative;
  z-index:2;
  width:96px;
  height:96px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:6px auto 24px;
  color:#ff9900;
  background:
    radial-gradient(circle at 50% 50%, rgba(15,42,78,.95), rgba(5,19,38,.92)),
    linear-gradient(180deg, rgba(96,165,250,.22), rgba(96,165,250,.05));
  border:1px solid rgba(96,165,250,.36);
  box-shadow:
    0 0 0 12px rgba(37,99,235,.06),
    0 18px 40px rgba(37,99,235,.16),
    inset 0 1px 0 rgba(255,255,255,.04);
}
.bfc-seo-content .bfc-premium-feature .bfc-feature-icon::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  border:1px solid rgba(59,130,246,.20);
  pointer-events:none;
}
.bfc-seo-content .bfc-premium-feature .bfc-feature-icon svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 10px rgba(255,153,0,.18));
}
.bfc-seo-content .bfc-premium-feature > div:not(.bfc-feature-icon){
  position:relative;
  z-index:2;
  width:100%;
}
.bfc-seo-content .bfc-premium-feature h3{
  margin:0 0 16px !important;
  color:#ffffff !important;
  font-size:24px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
}
.bfc-seo-content .bfc-premium-feature p{
  margin:0 auto !important;
  max-width:280px !important;
  color:#b9c8da !important;
  line-height:1.55 !important;
  font-size:16px !important;
}
.bfc-seo-content .bfc-premium-feature:hover{
  transform:translateY(-2px);
  border-color:rgba(147,197,253,.45) !important;
  box-shadow:
    0 30px 82px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 22px 52px rgba(37,99,235,.14) !important;
}
@media(max-width:980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    min-height:236px !important;
  }
}


/* v238 · quitar iconos de las 4 cajas de Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  min-height:220px !important;
  padding:30px 28px 26px !important;
  justify-content:center !important;
}
.bfc-seo-content .bfc-premium-feature .bfc-feature-icon{
  display:none !important;
}
.bfc-seo-content .bfc-premium-feature::before{
  background:
    linear-gradient(180deg, rgba(147,197,253,.14), transparent 30%),
    radial-gradient(circle at 50% 0%, rgba(96,165,250,.18), transparent 42%) !important;
}
.bfc-seo-content .bfc-premium-feature > div:not(.bfc-feature-icon){
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  height:100% !important;
}
.bfc-seo-content .bfc-premium-feature h3{
  margin:0 0 14px !important;
  font-size:22px !important;
}
.bfc-seo-content .bfc-premium-feature p{
  max-width:290px !important;
  font-size:15px !important;
}
@media(max-width:980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    min-height:200px !important;
    padding:24px 20px 22px !important;
  }
}


/* v239 · menos espacio superior en cajas Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  min-height: 192px !important;
  padding: 20px 24px 22px !important;
  justify-content: flex-start !important;
}
.bfc-seo-content .bfc-premium-feature > div:not(.bfc-feature-icon){
  justify-content: flex-start !important;
  padding-top: 4px !important;
}
.bfc-seo-content .bfc-premium-feature h3{
  margin: 0 0 12px !important;
}
.bfc-seo-content .bfc-premium-feature p{
  max-width: 290px !important;
}
@media(max-width:980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    min-height: 180px !important;
    padding: 18px 18px 20px !important;
  }
}


/* v240 · quitar tooltip visual de Próximamente */
.bfc-nav-item.is-soon::after,
.bfc-nav-item.is-soon::before{
  display:none!important;
  content:none!important;
}


/* v242 · menos hueco entre texto y línea naranja en Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  min-height: 184px !important;
  padding: 18px 24px 16px !important;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
  bottom: 14px !important;
}
.bfc-seo-content .bfc-premium-feature h3{
  margin: 0 0 10px !important;
}
.bfc-seo-content .bfc-premium-feature p{
  margin: 0 auto 8px !important;
}
@media(max-width:980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    min-height: 172px !important;
    padding: 16px 18px 14px !important;
  }
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
    bottom: 12px !important;
  }
}

/* v242 · permitir title nativo en iconos deshabilitados */
.bfc-nav-item.is-soon{
  pointer-events: auto !important;
}


/* v243 · reducir hueco libre en las 4 cajas de Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  min-height: 166px !important;
  padding: 14px 24px 12px !important;
}
.bfc-seo-content .bfc-premium-feature h3{
  margin: 0 0 8px !important;
}
.bfc-seo-content .bfc-premium-feature p{
  margin: 0 auto 4px !important;
  max-width: 290px !important;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
  bottom: 10px !important;
}
@media (max-width: 980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    min-height: 154px !important;
    padding: 12px 18px 10px !important;
  }
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
    bottom: 8px !important;
  }
}


/* v244 · acercar la línea naranja al texto en las 4 cajas de Qué encontrarás */
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
  min-height: 166px !important;
  padding: 14px 24px 28px !important;
}
.bfc-seo-content .bfc-premium-feature p{
  margin: 0 auto 10px !important;
}
.bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
  bottom: 24px !important;
}
@media (max-width: 980px){
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature{
    padding: 12px 18px 24px !important;
  }
  .bfc-seo-content .bfc-premium-feature p{
    margin: 0 auto 8px !important;
  }
  .bfc-seo-content .bfc-mini-feature-row.bfc-premium-feature::after{
    bottom: 20px !important;
  }
}


/* v245 · mock simulador */
.bfc-sim-main{max-width:1680px}
.bfc-sim-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  border:1px solid rgba(96,165,250,.24);border-radius:28px;padding:30px 34px;margin-bottom:22px;
  background:radial-gradient(circle at 82% 20%,rgba(255,153,0,.12),transparent 26%),linear-gradient(135deg,rgba(8,24,45,.92),rgba(4,16,31,.82));
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)
}
.bfc-sim-hero h1{font-size:clamp(40px,5vw,72px);line-height:.95;letter-spacing:-.06em;margin:18px 0 10px;color:#fff}
.bfc-sim-hero p{color:#b9c8da;font-size:17px;max-width:820px;line-height:1.55;margin:0}
.bfc-sim-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.bfc-sim-btn{
  border:1px solid rgba(148,163,184,.22);background:rgba(15,23,42,.72);color:#e5eefb;
  border-radius:999px;padding:11px 16px;font-weight:950;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.bfc-sim-btn:hover{border-color:rgba(96,165,250,.45)}
.bfc-sim-btn-primary{background:linear-gradient(180deg,#ffbd3a,#ff9900);color:#07111f;border-color:rgba(255,189,58,.55)}
.bfc-sim-btn-soft{background:linear-gradient(180deg,rgba(51,65,85,.72),rgba(30,41,59,.72));border-color:rgba(148,163,184,.30)}
.bfc-sim-btn-small{padding:9px 13px;font-size:13px}

.bfc-sim-shell{
  border:1px solid rgba(96,165,250,.24);border-radius:28px;padding:18px;
  background:
    radial-gradient(circle at 0% 0%,rgba(96,165,250,.10),transparent 34%),
    linear-gradient(180deg,rgba(17,24,39,.72),rgba(2,8,23,.82));
  box-shadow:0 24px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04)
}
.bfc-sim-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:18px 20px;margin-bottom:16px;
  background:linear-gradient(180deg,rgba(30,41,59,.68),rgba(15,23,42,.72))
}
.bfc-sim-title span{display:block;color:#9fb0c6;font-size:12px;letter-spacing:.08em;font-weight:950}
.bfc-sim-title strong{display:block;color:#fff;font-size:20px;margin-top:4px;letter-spacing:-.02em}
.bfc-sim-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bfc-sim-progress-mini{min-width:190px;border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:8px 12px;display:flex;align-items:center;gap:10px;background:rgba(2,8,23,.36)}
.bfc-sim-progress-mini::before{content:"";height:6px;flex:1;border-radius:999px;background:linear-gradient(90deg,#38bdf8 20%,rgba(148,163,184,.22) 20%)}
.bfc-sim-progress-mini b{display:none}
.bfc-sim-progress-mini span{color:#fff;font-weight:950;font-size:12px}
.bfc-sim-chip{border:1px solid rgba(148,163,184,.18);border-radius:999px;padding:9px 13px;background:rgba(2,8,23,.34);color:#e5eefb;font-size:13px;font-weight:950}

.bfc-sim-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.bfc-sim-stats article{
  border:1px solid rgba(96,165,250,.18);border-radius:20px;padding:18px;text-align:center;
  background:rgba(2,8,23,.40)
}
.bfc-sim-stats span{display:block;color:#9fb0c6;font-weight:950;font-size:12px}
.bfc-sim-stats strong{display:block;color:#60a5fa;font-size:26px;margin-top:6px}

.bfc-sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.bfc-sim-question-card{
  border:1px solid rgba(96,165,250,.22);border-radius:24px;padding:20px;background:rgba(15,23,42,.62);
  box-shadow:inset 4px 0 0 rgba(56,189,248,.80)
}
.bfc-sim-domain-pill{
  display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(96,165,250,.28);border-radius:999px;
  background:rgba(96,165,250,.12);padding:8px 13px;color:#dbeafe;font-weight:950;font-size:12px;margin-bottom:14px
}
.bfc-sim-domain-pill span{width:9px;height:9px;border-radius:999px;background:#38bdf8;box-shadow:0 0 14px rgba(56,189,248,.75)}
.bfc-sim-question{
  display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;border:1px solid rgba(148,163,184,.18);
  border-radius:20px;padding:18px 18px 18px;background:rgba(2,8,23,.26);margin-bottom:14px;color:#e5eefb
}
.bfc-sim-q-number{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(148,163,184,.16);font-size:22px;font-weight:950;color:#fff}
.bfc-sim-question p{margin:0 0 10px;line-height:1.6}
.bfc-sim-question ul{margin:0 0 12px;padding-left:22px;line-height:1.65}

.bfc-sim-options{display:grid;gap:10px}
.bfc-sim-options button{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid rgba(148,163,184,.18);border-radius:16px;
  padding:15px 16px;background:rgba(2,8,23,.32);color:#e5eefb;font-weight:800;line-height:1.45;cursor:pointer
}
.bfc-sim-options button span{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;
  background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.22);color:#7dd3fc;font-weight:950
}
.bfc-sim-options button:hover,.bfc-sim-options button.is-selected{border-color:rgba(96,165,250,.55);background:rgba(96,165,250,.12)}
.bfc-sim-options button.is-wrong{border-color:rgba(251,113,133,.55);background:rgba(251,113,133,.12)}
.bfc-sim-options button.is-correct{border-color:rgba(74,222,128,.55);background:rgba(74,222,128,.12)}

.bfc-sim-actions-row{display:flex;justify-content:flex-end;gap:10px;margin:16px 0}
.bfc-sim-feedback{
  border:1px solid rgba(74,222,128,.22);border-radius:20px;padding:18px;background:rgba(22,163,74,.08);margin-top:14px
}
.bfc-sim-feedback header{display:grid;gap:5px;margin-bottom:14px}
.bfc-sim-feedback header strong{color:#86efac;font-size:18px}
.bfc-sim-feedback header span{color:#dbeafe;font-weight:900}
.bfc-sim-explanation h3{margin:0 0 10px;color:#fff}
.bfc-sim-explanation p{color:#cbd5e1;line-height:1.6}
.bfc-sim-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.bfc-sim-explain-grid article{border:1px solid rgba(148,163,184,.14);border-radius:16px;padding:14px;background:rgba(2,8,23,.25)}
.bfc-sim-explain-grid h4{margin:0 0 8px;color:#ffbd3a}
.bfc-sim-explain-grid ul{margin:0;padding-left:18px;color:#cbd5e1;line-height:1.6}
.bfc-sim-explain-grid p{margin:0;color:#cbd5e1}

.bfc-sim-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px}
.bfc-sim-side{display:grid;gap:16px;position:sticky;top:18px}
.bfc-sim-panel{
  border:1px solid rgba(96,165,250,.20);border-radius:22px;padding:18px;background:rgba(2,8,23,.36)
}
.bfc-sim-panel h2{margin:0 0 14px;color:#fff;font-size:20px}
.bfc-sim-question-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.bfc-sim-question-list button{
  height:42px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:rgba(15,23,42,.7);color:#cbd5e1;font-weight:950
}
.bfc-sim-question-list .is-current{background:#ff9900;color:#07111f;border-color:#ffbd3a}
.bfc-sim-question-list .is-done{border-color:rgba(96,165,250,.44);color:#7dd3fc}
.bfc-sim-question-list .is-correct{border-color:rgba(74,222,128,.55);color:#86efac}
.bfc-sim-status-list{display:grid;gap:10px;margin-bottom:12px}
.bfc-sim-status-list span{display:flex;align-items:center;gap:10px;color:#cbd5e1}
.bfc-sim-status-list b{width:12px;height:12px;border-radius:999px;background:#60a5fa}
.bfc-sim-panel p{color:#9fb0c6;line-height:1.55;margin:0}
.bfc-sim-mobile-preview{margin-top:24px;border:1px dashed rgba(96,165,250,.24);border-radius:24px;padding:22px;background:rgba(7,24,45,.35)}
.bfc-sim-mobile-preview h2{margin:12px 0 8px;color:#fff}
.bfc-sim-mobile-preview p{color:#cbd5e1;margin:0}

@media(max-width:1180px){
  .bfc-sim-layout{grid-template-columns:1fr}
  .bfc-sim-side{position:static;grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .bfc-sim-hero,.bfc-sim-topbar{align-items:flex-start;flex-direction:column}
  .bfc-sim-stats{grid-template-columns:1fr}
  .bfc-sim-question{grid-template-columns:1fr}
  .bfc-sim-explain-grid,.bfc-sim-side{grid-template-columns:1fr}
  .bfc-sim-shell{padding:10px}
}


/* v246 · simulador funcional mock */
.bfc-sim-progress-mini::before{
  background:linear-gradient(90deg,#38bdf8 var(--sim-progress, 0%),rgba(148,163,184,.22) var(--sim-progress, 0%))!important;
}
.bfc-sim-options button.is-wrong{
  border-color:rgba(251,113,133,.58)!important;
  background:rgba(251,113,133,.13)!important;
}
.bfc-sim-feedback.is-wrong{
  border-color:rgba(251,113,133,.26);
  background:rgba(127,29,29,.13);
}
.bfc-sim-feedback.is-wrong header strong{
  color:#fda4af;
}
.bfc-sim-feedback.is-warning{
  border-color:rgba(255,189,58,.28);
  background:rgba(255,153,0,.08);
}
.bfc-sim-feedback.is-warning header strong{
  color:#ffbd3a;
}
.bfc-sim-rule,
.bfc-sim-links{
  border:1px solid rgba(148,163,184,.14);
  border-radius:16px;
  padding:14px;
  background:rgba(2,8,23,.25);
  margin-top:12px;
}
.bfc-sim-rule h4,
.bfc-sim-links h4{
  margin:0 0 8px;
  color:#ffbd3a;
}
.bfc-sim-rule p{
  color:#cbd5e1;
  margin:0;
  line-height:1.55;
}
.bfc-sim-links ul{
  margin:0;
  padding-left:18px;
}
.bfc-sim-links a{
  color:#93c5fd;
}
.bfc-sim-question-list .is-flagged{
  box-shadow:0 0 0 2px rgba(255,153,0,.18);
}
.bfc-sim-btn:disabled{
  opacity:.42;
  cursor:not-allowed;
}


/* v247 · simulador CLF-C02, modal resultado e histórico */
.bfc-sim-hero{
  align-items:center!important;
  padding:26px 32px!important;
}
.bfc-sim-hero p:empty{display:none!important}
.bfc-sim-title strong[data-sim-mode]{
  color:#ffbd3a;
}
.bfc-sim-history{
  display:grid;
  gap:10px;
}
.bfc-sim-history-empty{
  color:#9fb0c6;
  margin:0;
  line-height:1.55;
}
.bfc-sim-history-item{
  border:1px solid rgba(96,165,250,.18);
  border-radius:16px;
  padding:12px;
  background:rgba(2,8,23,.34);
}
.bfc-sim-history-item div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.bfc-sim-history-item strong{
  font-size:22px;
  color:#60a5fa;
}
.bfc-sim-history-item span{
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:950;
}
.bfc-sim-history-item.is-pass span{
  color:#07111f;
  background:#4ade80;
}
.bfc-sim-history-item.is-fail span{
  color:#fff;
  background:#ef4444;
}
.bfc-sim-history-item p{
  margin:6px 0 4px;
  color:#cbd5e1;
  font-weight:850;
}
.bfc-sim-history-item small{
  color:#8fa1b8;
}
.bfc-sim-modal[hidden]{display:none!important}
.bfc-sim-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(2,8,23,.76);
  backdrop-filter:blur(10px);
}
.bfc-sim-modal-card{
  position:relative;
  overflow:hidden;
  width:min(640px,100%);
  border:1px solid rgba(96,165,250,.28);
  border-radius:30px;
  padding:32px;
  background:
    radial-gradient(circle at 50% 0%, rgba(96,165,250,.16), transparent 34%),
    linear-gradient(180deg, rgba(7,24,45,.98), rgba(2,8,23,.98));
  box-shadow:0 32px 100px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05);
  text-align:center;
}
.bfc-sim-modal-card h2{
  margin:18px 0 8px;
  font-size:clamp(54px,8vw,92px);
  line-height:.88;
  letter-spacing:-.07em;
  color:#fff;
}
.bfc-sim-modal.is-pass .bfc-sim-modal-card h2{
  color:#4ade80;
  text-shadow:0 0 34px rgba(74,222,128,.24);
}
.bfc-sim-modal.is-fail .bfc-sim-modal-card h2{
  color:#fb7185;
  text-shadow:0 0 34px rgba(251,113,133,.20);
}
.bfc-sim-modal-card p{
  margin:0 auto 18px;
  color:#cbd5e1;
  max-width:520px;
  line-height:1.55;
}
.bfc-sim-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.20);
  background:rgba(2,8,23,.45);
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.bfc-sim-result-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:20px 0;
}
.bfc-sim-result-grid article{
  border:1px solid rgba(96,165,250,.18);
  border-radius:18px;
  padding:16px;
  background:rgba(2,8,23,.36);
}
.bfc-sim-result-grid span{
  display:block;
  color:#9fb0c6;
  font-weight:900;
  font-size:12px;
}
.bfc-sim-result-grid strong{
  display:block;
  margin-top:8px;
  color:#60a5fa;
  font-size:26px;
}
.bfc-sim-result-actions{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}
.bfc-sim-party{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}
.bfc-sim-party i{
  position:absolute;
  left:var(--x);
  top:-20px;
  width:8px;
  height:14px;
  border-radius:3px;
  background:linear-gradient(180deg,#ffbd3a,#38bdf8);
  animation:bfcConfetti 2.4s ease-in forwards;
  animation-delay:var(--d);
  transform:rotate(var(--r));
}
@keyframes bfcConfetti{
  0%{transform:translateY(-20px) rotate(var(--r)); opacity:0}
  12%{opacity:1}
  100%{transform:translateY(620px) rotate(calc(var(--r) + 520deg)); opacity:0}
}
@media(max-width:720px){
  .bfc-sim-result-grid{grid-template-columns:1fr}
}


/* v248 · simulador lista, feedback ampliado y sin vista responsive */
.bfc-sim-question-list button{
  position:relative;
  display:grid;
  place-items:center;
}
.bfc-sim-question-list button > span:first-child{
  font-weight:950;
}
.bfc-sim-question-list .is-current{
  transform:translateY(-1px);
}
.bfc-sim-question-list .is-correct{
  background:rgba(34,197,94,.14)!important;
  border-color:rgba(74,222,128,.62)!important;
  color:#86efac!important;
}
.bfc-sim-question-list .is-done:not(.is-correct){
  background:rgba(239,68,68,.12)!important;
  border-color:rgba(251,113,133,.58)!important;
  color:#fda4af!important;
}
.bfc-sim-list-flag{
  position:absolute;
  top:-6px;
  right:-5px;
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#ff9900;
  color:#07111f;
  font-size:11px;
  box-shadow:0 8px 18px rgba(255,153,0,.28);
}
.bfc-sim-list-ok,
.bfc-sim-list-bad{
  position:absolute;
  bottom:-6px;
  right:-5px;
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
}
.bfc-sim-list-ok{
  background:#4ade80;
  color:#07111f;
}
.bfc-sim-list-bad{
  background:#fb7185;
  color:#fff;
}
.bfc-sim-explanation > p{
  font-size:15.5px;
  line-height:1.75;
}
.bfc-sim-explain-grid li{
  margin-bottom:7px;
}
.bfc-sim-context-links{
  border:1px solid rgba(255,189,58,.18);
  border-radius:16px;
  padding:14px;
  background:rgba(255,153,0,.06);
  margin-top:12px;
}
.bfc-sim-context-links h4{
  margin:0 0 10px;
  color:#ffbd3a;
}
.bfc-sim-context-links div{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.bfc-sim-context-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(96,165,250,.20);
  border-radius:999px;
  padding:9px 12px;
  background:rgba(2,8,23,.32);
  color:#dbeafe;
  text-decoration:none;
  font-weight:850;
}
.bfc-sim-context-links a:hover{
  border-color:rgba(255,189,58,.38);
  color:#fff;
}


/* v249 · simulador CLF-C02 5 preguntas, texto mayor e histórico paginado */
.bfc-sim-question{
  font-size:17px;
}
.bfc-sim-question p,
.bfc-sim-question li{
  font-size:17px;
}
.bfc-sim-options button{
  font-size:15.8px;
  padding:17px 18px!important;
}
.bfc-sim-explanation > p{
  font-size:16.5px!important;
}
.bfc-sim-explain-grid{
  grid-template-columns:1fr!important;
}
.bfc-sim-explain-grid article{
  padding:16px!important;
}
.bfc-sim-explain-grid li,
.bfc-sim-rule p{
  font-size:15.5px;
}
.bfc-sim-domain-pill b{
  color:#dbeafe;
}
.bfc-sim-context-links{
  margin-top:14px!important;
  margin-bottom:12px!important;
}
.bfc-sim-links h4::after{
  content:" oficiales";
  color:#9fb0c6;
  font-weight:850;
  font-size:.9em;
}
.bfc-sim-history-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:4px;
}
.bfc-sim-history-pager button{
  width:34px;
  height:30px;
  border-radius:999px;
  border:1px solid rgba(96,165,250,.24);
  background:rgba(2,8,23,.42);
  color:#dbeafe;
  font-weight:950;
}
.bfc-sim-history-pager button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.bfc-sim-history-pager span{
  color:#9fb0c6;
  font-weight:900;
  font-size:12px;
}


/* v251 · simulador público y acceso desde portada */
.bfc-sim-locked-btn{
  border:1px solid rgba(96,165,250,.24);
  background:rgba(2,8,23,.34);
  color:#dbeafe;
}
.bfc-sim-locked-btn.is-locked{
  border-color:rgba(255,189,58,.24);
  background:rgba(255,153,0,.08);
}
.bfc-sim-locked-btn span{
  margin-right:6px;
}
body.bfc-sim-finished .bfc-sim-options button{
  cursor:default;
}
body.bfc-sim-finished .bfc-sim-options button:not(.is-selected):not(.is-correct):not(.is-wrong){
  opacity:.72;
}
body.bfc-sim-finished [data-sim-check],
body.bfc-sim-finished [data-sim-flag]{
  opacity:.45;
  cursor:not-allowed;
}


/* v252 · resultados simulador tipo dashboard */
.bfc-sim-results-card{
  position:relative;
  overflow:hidden;
  width:min(1240px,100%);
  border:1px solid rgba(56,189,248,.48);
  border-radius:28px;
  padding:24px;
  background:
    radial-gradient(circle at 0% 0%,rgba(56,189,248,.10),transparent 34%),
    linear-gradient(180deg,rgba(7,24,45,.98),rgba(2,8,23,.98));
  box-shadow:0 32px 100px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.04);
}
.bfc-sim-results-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}
.bfc-sim-results-head h2{
  margin:14px 0 8px;
  color:#fff;
  font-size:36px;
  letter-spacing:-.05em;
}
.bfc-sim-results-head p{
  margin:0;
  color:#9fb0c6;
}
.bfc-sim-results-grid{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:20px;
}
.bfc-sim-result-summary-card,
.bfc-sim-result-domain-card{
  border:1px solid rgba(96,165,250,.22);
  border-radius:22px;
  padding:22px;
  background:rgba(2,8,23,.38);
}
.bfc-sim-result-summary-card header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  font-size:13px;
}
.bfc-sim-result-summary-card header span{
  color:#9fb0c6;
  letter-spacing:0;
  font-weight:800;
}
.bfc-sim-score-big span{
  display:block;
  margin:22px 0 6px;
  color:#60a5fa;
  font-size:92px;
  line-height:.85;
  font-weight:950;
  letter-spacing:-.08em;
}
.bfc-sim-goal{
  margin:0 0 16px;
  color:#cbd5e1;
  font-size:18px;
}
.bfc-sim-scorebar{
  position:relative;
  height:10px;
  border-radius:999px;
  background:rgba(148,163,184,.22);
  overflow:hidden;
  margin-bottom:24px;
}
.bfc-sim-scorebar b{
  display:block;
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg,#38bdf8,#3b82f6);
}
.bfc-sim-scorebar i{
  position:absolute;
  left:70%;
  top:-5px;
  width:2px;
  height:20px;
  background:rgba(255,255,255,.38);
}
.bfc-sim-pass-band{
  border:1px solid rgba(74,222,128,.45);
  border-radius:14px;
  padding:18px;
  text-align:center;
  color:#4ade80;
  background:rgba(22,163,74,.14);
  font-size:34px;
  font-weight:950;
  letter-spacing:.08em;
}
.bfc-sim-modal.is-fail .bfc-sim-pass-band{
  color:#fb7185;
  border-color:rgba(251,113,133,.45);
  background:rgba(127,29,29,.18);
}
.bfc-sim-result-micro{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:18px 0 0;
  color:#cbd5e1;
  font-size:17px;
}
.bfc-sim-result-domain-card h3{
  margin:0 0 18px;
  color:#fff;
  letter-spacing:.10em;
  font-size:16px;
}
.bfc-sim-result-domains{
  display:grid;
  gap:12px;
}
.bfc-sim-domain-result-row{
  border:1px solid rgba(96,165,250,.18);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(2,8,23,.30);
}
.bfc-sim-domain-result-row div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
}
.bfc-sim-domain-result-row strong{
  color:#fff;
}
.bfc-sim-domain-result-row span{
  color:#ff7a18;
  font-size:24px;
  font-weight:950;
}
.bfc-sim-domain-result-row em{
  color:#93c5fd;
  font-style:normal;
  font-weight:950;
}
.bfc-sim-domain-result-row p{
  height:9px;
  border-radius:999px;
  background:rgba(148,163,184,.18);
  margin:12px 0 0;
  overflow:hidden;
}
.bfc-sim-domain-result-row b{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#ff6b35,#ffbd3a);
}
.bfc-sim-result-advice{
  margin-top:18px;
  border:1px solid rgba(96,165,250,.18);
  border-radius:18px;
  padding:18px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  background:rgba(7,24,45,.42);
}
.bfc-sim-result-advice strong{
  color:#60a5fa;
  font-size:20px;
}
.bfc-sim-result-advice p{
  color:#cbd5e1;
  margin:6px 0 0;
}
.bfc-sim-result-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.bfc-sim-dashboard-btn{
  border:1px solid rgba(255,189,58,.35);
  background:rgba(255,153,0,.08);
  color:#ffbd3a;
}
.bfc-dashboard-sim-history{
  margin-top:22px;
}
.bfc-dashboard-history-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:16px;
}
.bfc-dashboard-history-item,
.bfc-dashboard-history-empty{
  border:1px solid rgba(96,165,250,.20);
  border-radius:18px;
  padding:16px;
  background:rgba(2,8,23,.36);
  color:#cbd5e1;
}
.bfc-dashboard-history-item div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.bfc-dashboard-history-item strong{
  font-size:28px;
  color:#60a5fa;
}
.bfc-dashboard-history-item span{
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:950;
}
.bfc-dashboard-history-item.is-pass span{background:#4ade80;color:#07111f}
.bfc-dashboard-history-item.is-fail span{background:#fb7185;color:#fff}
.bfc-dashboard-history-item p{margin:10px 0 4px}
.bfc-dashboard-history-item small{color:#8fa1b8}
.bfc-pill-green{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 11px;
  background:rgba(74,222,128,.14);
  border:1px solid rgba(74,222,128,.36);
  color:#86efac;
  font-weight:950;
  font-size:12px;
  letter-spacing:.08em;
}
.bfc-dev-simulator-card{
  text-decoration:none;
}
.bfc-soon-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
}
@media(max-width:960px){
  .bfc-sim-results-grid,
  .bfc-dashboard-history-grid{
    grid-template-columns:1fr;
  }
  .bfc-sim-results-head,
  .bfc-sim-result-advice{
    flex-direction:column;
  }
}


/* v253 · funcionalidad portada corregida */
.bfc-functionality-grid{
  align-items:stretch;
}
.bfc-functionality-card{
  display:block;
  min-height:156px;
  text-decoration:none;
}
.bfc-functionality-card .bfc-card-title{
  margin:0;
}
.bfc-functionality-card .bfc-card-text{
  margin-top:16px;
}
.bfc-functionality-sim{
  border-color:rgba(74,222,128,.28)!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(74,222,128,.10), transparent 34%),
    linear-gradient(180deg, rgba(7,24,45,.74), rgba(4,16,31,.64))!important;
}
.bfc-functionality-sim:hover{
  transform:translateY(-2px);
  border-color:rgba(74,222,128,.48)!important;
}
.small-pill.green{
  background:rgba(74,222,128,.14)!important;
  border-color:rgba(74,222,128,.38)!important;
  color:#86efac!important;
}


/* v254 · ajustes simulador finalización y resultado perfecto */
.bfc-sim-modal.is-perfect .bfc-sim-scorebar b{
  background:linear-gradient(90deg,#22c55e,#4ade80)!important;
}
.bfc-sim-modal.is-perfect .bfc-sim-score-big span{
  color:#4ade80!important;
}
.bfc-sim-modal.is-perfect .bfc-sim-pass-band{
  border-color:rgba(74,222,128,.60)!important;
  background:rgba(22,163,74,.18)!important;
}
body.bfc-sim-finished [data-sim-finish],
body.bfc-sim-finished [data-sim-next]{
  opacity:.45;
  cursor:not-allowed;
}


/* v255 · dashboard ordenado: dominios + últimos simuladores en la caja derecha */
.bfc-dashboard2-active-frame{
  padding:22px!important;
}
.bfc-course-progress-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.bfc-course-progress-layout > .bfc-aws-card,
.bfc-domain-side-card{
  min-height:100%!important;
}
.bfc-domain-side-card{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  padding:22px!important;
}
.bfc-domain-side-list{
  display:grid!important;
  gap:10px!important;
}
.bfc-domain-side-list .bfc-domain-card{
  padding:13px 14px!important;
  border-radius:16px!important;
}
.bfc-domain-side-list .bfc-domain-meta{
  font-size:12px!important;
  line-height:1.35!important;
}
.bfc-domain-sim-results{
  margin-top:auto;
  border-top:1px solid rgba(96,165,250,.16);
  padding-top:14px;
}
.bfc-domain-sim-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.bfc-domain-sim-head .pill{
  font-size:11px!important;
  padding:7px 11px!important;
}
.bfc-domain-sim-head a{
  color:#93c5fd;
  font-weight:900;
  font-size:12px;
  text-decoration:none;
}
.bfc-dashboard-history-grid-compact{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-item,
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-empty{
  padding:10px!important;
  border-radius:14px!important;
  min-height:86px;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-item strong{
  font-size:20px!important;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-item span{
  font-size:9px!important;
  padding:4px 7px!important;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-item p{
  font-size:11px!important;
  line-height:1.25!important;
  margin:7px 0 3px!important;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-item small{
  font-size:10px!important;
}
.bfc-dashboard-history-grid-compact .bfc-dashboard-history-empty{
  grid-column:1 / -1;
  color:#9fb0c6;
}
.bfc-dashboard2-suggested{
  margin-top:22px!important;
}
.bfc-dashboard2-suggested > section{
  margin-top:0!important;
}
@media(max-width:1180px){
  .bfc-course-progress-layout{
    grid-template-columns:1fr!important;
  }
  .bfc-dashboard-history-grid-compact{
    grid-template-columns:1fr!important;
  }
}


/* v256 · dashboard dominios 2x2 y simulador almacenado al avanzar */
.bfc-domain-side-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.bfc-domain-side-list .bfc-domain-card{
  min-height:112px!important;
}
.bfc-domain-side-list .bfc-domain-head{
  gap:8px!important;
}
.bfc-domain-side-list .bfc-domain-head strong{
  font-size:13px!important;
  line-height:1.2!important;
}
.bfc-domain-side-list .small-pill{
  font-size:10px!important;
  padding:5px 8px!important;
}
.bfc-domain-side-list .bfc-domain-meta{
  font-size:11px!important;
}
@media(max-width:720px){
  .bfc-domain-side-list{
    grid-template-columns:1fr!important;
  }
}


/* v257 · dominios clicables y barras verdes al 100% en resultados */
.bfc-sim-domain-result-row{
  display:block;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.bfc-sim-domain-result-row:hover{
  transform:translateY(-1px);
  border-color:rgba(147,197,253,.42)!important;
  background:rgba(96,165,250,.09)!important;
}
.bfc-sim-domain-result-row.is-perfect{
  border-color:rgba(74,222,128,.42)!important;
  background:rgba(22,163,74,.10)!important;
}
.bfc-sim-domain-result-row.is-perfect span{
  color:#4ade80!important;
}
.bfc-sim-domain-result-row.is-perfect b{
  background:linear-gradient(90deg,#22c55e,#4ade80)!important;
}
.bfc-sim-domain-result-row.is-perfect:hover{
  border-color:rgba(74,222,128,.62)!important;
  background:rgba(22,163,74,.14)!important;
}


/* v259 · simulador conectado a DynamoDB/API */
.bfc-sim-shell.is-loading{
  opacity:.72;
  pointer-events:none;
  position:relative;
}
.bfc-sim-shell.is-loading::after{
  content:"Cargando datos del simulador...";
  position:absolute;
  inset:18px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:rgba(2,8,23,.72);
  color:#dbeafe;
  font-weight:950;
  backdrop-filter:blur(4px);
}


/* v260 · comprobar y carga simulador */
.bfc-sim-feedback.is-warning{
  border-color:rgba(255,189,58,.28);
  background:rgba(255,153,0,.08);
}
.bfc-sim-feedback.is-warning header strong{
  color:#ffbd3a;
}


/* v261 · lista azul para respondidas sin corregir y modo examen */
.bfc-sim-question-list .is-pending,
.bfc-sim-question-list .is-done:not(.is-correct):not(.is-wrong-list){
  background:rgba(96,165,250,.14)!important;
  border-color:rgba(96,165,250,.52)!important;
  color:#93c5fd!important;
}
.bfc-sim-question-list .is-wrong-list{
  background:rgba(239,68,68,.12)!important;
  border-color:rgba(251,113,133,.58)!important;
  color:#fda4af!important;
}


/* v262 · resumen modal sin contestar y FAQs en footer */
.bfc-sim-result-micro strong[data-sim-result-unanswered]{
  color:#ffbd3a;
}
.bfc-footer nav a[href="/faqs.html"]{
  margin-left:12px;
}
