:root{
  --ivory:#fffaf1;
  --paper:#fffdf8;
  --panel:#ffffff;
  --ink:#151722;
  --muted:#6f7280;
  --line:#e5ded3;
  --blue:#1355d8;
  --blue2:#0b49b8;
  --fuchsia:#e51673;
  --fuchsia2:#ff2f91;
  --mustard:#e6a019;
  --shadow:0 20px 60px rgba(27,33,55,.12);
  --shadow2:0 10px 24px rgba(27,33,55,.10);
  --radius:24px;
  --text-size:16px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  min-height:100%;
  color:var(--ink);
  background:
    radial-gradient(circle at 82% 8%, rgba(229,22,115,.14), transparent 34%),
    radial-gradient(circle at 18% 90%, rgba(19,85,216,.10), transparent 31%),
    linear-gradient(135deg,#fffdf8 0%,#fff7ec 54%,#f8f9ff 100%);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow:hidden;
}
button,input,select{font:inherit}
button{cursor:pointer}
.appFrame{
  height:100vh;
  display:grid;
  grid-template-columns:292px 1fr;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(40,45,60,.10);
  background:rgba(255,255,255,.72);
}
.sideRail{
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,251,244,.76));
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:18px 10px;
  gap:16px;
}
.railLogo{
  padding:8px 8px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  border-bottom:1px solid var(--line);
}
.railLogoSeal{width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(27,33,55,.16));}
.railLogoText{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.railLogo strong{font-family:Georgia, 'Times New Roman', serif;font-size:22px;line-height:1;font-weight:800;letter-spacing:-.03em}
.railLogo span{color:#5b6272;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.railNav{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.railItem{
  border:0;background:transparent;border-radius:10px;padding:10px 10px;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:2px;color:#343947;text-align:left;transition:.18s ease;
}
.railItem span{font-size:20px;color:#4b5563;text-align:center}
.railItem b{font-size:13px;font-weight:750}
.railItem:hover{background:#fff;box-shadow:var(--shadow2);transform:translateX(2px)}
.railItem.isActive{background:var(--fuchsia);color:white;box-shadow:0 10px 26px rgba(229,22,115,.28)}
.railItem.isActive span{color:white}

/* V52.1 · Barra izquierda glam agrupada: misma casa, puertas con fantasía. */
.railNavGrouped{gap:10px;padding-top:2px;padding-bottom:4px}
.railGroup{
  border:1px solid rgba(229,22,115,.16);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0, rgba(255,187,44,.18), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,246,252,.86));
  box-shadow:0 10px 22px rgba(27,33,55,.08);
  overflow:hidden;
}
.railGroup[open]{border-color:rgba(229,22,115,.28);box-shadow:0 14px 30px rgba(229,22,115,.12)}
.railGroupSummary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  display:grid;
  grid-template-columns:38px 1fr 16px;
  gap:8px;
  align-items:center;
  padding:12px 12px 12px 10px;
  min-height:78px;
}
.railGroupSummary::-webkit-details-marker{display:none}
.railGroupSummary::after{content:'▾';font-weight:950;color:var(--fuchsia);transition:transform .18s ease;justify-self:center}
.railGroup[open]>.railGroupSummary::after{transform:rotate(180deg)}
.railGroupSummary:hover{background:rgba(255,255,255,.72)}
.groupIcon{
  width:36px;height:36px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(145deg,#fff,#fff0f8);
  border:1px solid rgba(229,22,115,.18);
  box-shadow:0 8px 18px rgba(20,28,48,.08);
  font-size:20px;
}
.groupCopy{min-width:0;display:flex;flex-direction:column;gap:3px;line-height:1.08}
.groupCopy b{font-size:13px;text-transform:uppercase;letter-spacing:.055em;color:#202236;font-weight:950}
.groupCopy em{font-style:normal;font-size:11.2px;line-height:1.18;color:#74415e;font-weight:800;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.railGroupPanel{display:grid;gap:5px;padding:6px;border-top:1px solid rgba(229,22,115,.10);background:rgba(255,255,255,.54)}
.railGroupPanel .railItem{border-radius:12px;padding:8px 8px;grid-template-columns:28px 1fr;background:rgba(255,255,255,.62)}
.railGroupPanel .railItem span{font-size:17px}.railGroupPanel .railItem b{font-size:12px;font-weight:900;line-height:1.12}
.railGroupPanel .railItem:hover{background:#fff;transform:translateX(2px);box-shadow:0 8px 18px rgba(27,33,55,.10)}
.railGroupPanel .railItem.isActive{background:linear-gradient(135deg,var(--fuchsia),#ff55a8);color:#fff;box-shadow:0 12px 24px rgba(229,22,115,.28)}
.railGroupPanel .railItem.isActive span{color:#fff}
.railGroupBoe .groupIcon{background:linear-gradient(145deg,#fffaf1,#fff1c7)}
.railGroupTrain .groupIcon{background:linear-gradient(145deg,#fff5f7,#ffe1e8)}
.railGroupPlan .groupIcon{background:linear-gradient(145deg,#fff8ec,#ffe6a3)}
.railGroupMemory .groupIcon{background:linear-gradient(145deg,#f8f5ff,#eadfff)}
.railGroupSpace .groupIcon{background:linear-gradient(145deg,#f5f1ff,#fff0f8)}

.studentCard{
  margin-top:auto;
  padding:16px 14px 18px;
  border-radius:14px;
  background:linear-gradient(145deg,#0f172a,#142445);
  color:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.26);
}
.studentCrown{font-size:26px;color:var(--fuchsia2);line-height:1}
.studentCard strong{display:block;font-size:16px;line-height:1.1;margin:6px 0}
.studentCard span{font-weight:800;color:var(--mustard);font-size:13px}
.progressLabel{margin-top:18px;font-weight:800}
.progress{height:7px;background:rgba(255,255,255,.15);border-radius:999px;overflow:hidden;margin-top:8px}
.progress i{display:block;height:100%;width:75%;background:linear-gradient(90deg,var(--fuchsia),#ff68aa);border-radius:999px}
.appMain{height:100vh;display:flex;flex-direction:column;min-width:0;}
.topbar{
  min-height:104px;
  display:grid;
  grid-template-columns: 330px minmax(360px,560px) 220px;
  gap:26px;
  align-items:center;
  padding:22px 32px 14px 38px;
  border-bottom:1px solid rgba(229,222,211,.62);
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,250,241,.66));
  position:relative;
  z-index:3;
}
.brand{display:flex;align-items:center;gap:16px}.brandLogoSmall{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(27,33,55,.12))}.brand h1{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1;margin:0 0 4px;letter-spacing:-.04em}.brand p{margin:0;color:#4b5563;font-weight:600}
.searchBox{position:relative;align-self:center}
.searchBox label{display:none}
.searchRow{
  height:50px;background:#fff;border:1px solid #d6d9e0;border-radius:14px;display:grid;grid-template-columns:36px 1fr 38px;align-items:center;padding:0 10px;box-shadow:0 8px 28px rgba(20,28,48,.08)
}
.magnifier{font-size:25px;color:#7b8190;transform:rotate(-20deg);display:inline-flex;align-items:center;justify-content:center}
.searchRow input{border:0;outline:0;font-weight:800;background:transparent;color:#111827;font-size:16px;min-width:0}
.searchRow button{border:0;background:transparent;color:#7b8190;font-size:24px;line-height:1;border-radius:10px}
.searchRow button:hover{background:#f2f4f8;color:#111827}
.searchResults{
  display:none;position:absolute;top:58px;left:0;right:0;background:#fff;border:1px solid #e0e3e8;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;z-index:50;max-height:380px;overflow-y:auto
}
.searchResults.show{display:block}
.resultItem{padding:12px 16px;border-bottom:1px solid #f1f2f5;display:flex;flex-direction:column;gap:3px;cursor:pointer}
.resultItem:hover{background:#fff6fb}
.resultItem strong{color:var(--blue)}
.resultItem span{color:#5f6472;font-size:13px}
.topModeHint{justify-self:end;border:1px solid var(--line);background:#fff;border-radius:16px;padding:11px 16px;box-shadow:var(--shadow2);display:flex;flex-direction:column;gap:1px;min-width:190px}
.topModeHint span{font-size:12px;color:#737987;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.topModeHint strong{font-size:15px;color:#111827}
.viewport{flex:1;overflow:auto;padding:0 24px 0 18px;}
.appShell{
  height:calc(100vh - 164px);
  display:grid;
  grid-template-columns:minmax(560px,2fr) minmax(320px,1fr);
  gap:18px;
  padding:14px 0 12px;
  width:100%;
  min-width:1060px;
  transition:min-width .35s ease, grid-template-columns .35s ease;
}
.appShell.expanded{
  grid-template-columns:minmax(560px,.82fr) minmax(880px,1.18fr);
  min-width:1580px;
}
.leftPanel,.rightPanel{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(211,214,222,.76);
  border-radius:22px;
  box-shadow:var(--shadow2);
  overflow:hidden;
  min-height:0;
}
.leftPanel{display:flex;flex-direction:column;position:relative;background:linear-gradient(180deg,#fff,#fffdf8)}
.leftPanel:before{
  content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--fuchsia),var(--blue),var(--mustard));opacity:.9
}
.articleHeader{padding:34px 30px 12px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #ebe2d6}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8b7280;font-weight:900;margin-bottom:6px}
.articleHeader h2{font-family:Georgia,'Times New Roman',serif;margin:0;font-size:38px;line-height:1.05;letter-spacing:.02em}
.articleHeader p{margin:8px 0 0;color:var(--fuchsia);font-family:Georgia,'Times New Roman',serif;font-size:23px;font-style:italic}
.statusBox{min-width:140px;background:#fff8fd;border:1px solid #f3cae0;border-radius:14px;padding:10px 12px}
.statusBox label{display:block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#9a3b6a;margin-bottom:5px}
.statusBox select{width:100%;border:0;background:transparent;color:#111827;font-weight:800;outline:0}
.articleTools{display:flex;gap:8px;padding:12px 30px;border-bottom:1px solid #f0e6dc}
.articleTools button,.ghostBtn,.miniBtn{
  border:1px solid #dfe3eb;background:#fff;color:#202638;border-radius:12px;padding:8px 12px;font-weight:800;transition:.16s ease;
}
.articleTools button:hover,.ghostBtn:hover,.miniBtn:hover{border-color:var(--blue);color:var(--blue);box-shadow:0 8px 18px rgba(19,85,216,.10)}
.legalText{
  flex:1;overflow:auto;padding:26px 34px 46px;font-family:Georgia,'Times New Roman',serif;font-size:var(--text-size);line-height:1.9;color:#171722;white-space:pre-wrap;background:linear-gradient(180deg,#fff,#fffdf8);
}
.legalText::first-letter{color:var(--fuchsia);font-weight:900}
.rightPanel{display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#fff9fc);transition:.35s ease;border-color:#e6dce4}
body.lolaMode .rightPanel{border-color:rgba(229,22,115,.45);box-shadow:0 16px 45px rgba(229,22,115,.14)}
.sideHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 12px;border-bottom:1px solid #eee0e8}
.sideHeader h3{font-family:Georgia,'Times New Roman',serif;margin:0;font-size:26px;letter-spacing:-.02em}
#collapsePanel{font-size:13px;background:#fff}
.personaBox{display:grid;grid-template-columns:1fr;gap:10px;padding:10px 24px 14px;border-bottom:1px solid #eee0e8;position:relative;}
.modeSwitch{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f5f5f7;border:1px solid #dddfe5;border-radius:15px;padding:5px;align-self:center;max-width:420px;margin-left:auto;width:100%}
.modeBtn{border:0;background:transparent;border-radius:11px;padding:10px 12px;font-weight:900;color:#4b5263;transition:.18s ease}
.modeBtn.isActive{background:#fff;color:#111827;box-shadow:0 6px 16px rgba(17,24,39,.10)}
#modeLola.isActive{background:linear-gradient(135deg,var(--fuchsia),var(--fuchsia2));color:#fff;box-shadow:0 9px 22px rgba(229,22,115,.30)}
.lolaStage{display:none;position:absolute;left:18px;top:58px;width:220px;height:198px;z-index:1;pointer-events:none;}
body.lolaMode .lolaStage{display:block;animation:stageIn .42s ease both}
@keyframes stageIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.lolaSvg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 18px 20px rgba(229,22,115,.16))}
body.lolaMode .lolaMouth{animation:lolaTalk .62s infinite ease-in-out;transform-origin:186px 174px}
body.lolaMode .mouthInner{animation:lolaInner .62s infinite ease-in-out;transform-origin:186px 176px}
body.lolaMode .finger{animation:fingerWag 1.35s infinite ease-in-out;transform-origin:278px 221px}
@keyframes lolaTalk{0%,100%{transform:scaleY(.72)}45%{transform:scaleY(1.22)}}
@keyframes lolaInner{0%,100%{opacity:.52;transform:scaleY(.65)}45%{opacity:.95;transform:scaleY(1.18)}}
@keyframes fingerWag{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(4deg)}}
.soundWaves{position:absolute;left:198px;top:84px;width:52px;height:52px;display:none;z-index:3}
body.lolaMode .soundWaves{display:block}
.soundWaves span{position:absolute;inset:12px;border:4px solid var(--fuchsia);border-left:0;border-bottom:0;border-radius:0 46px 0 0;transform:rotate(45deg);opacity:.85;animation:wave 1.2s infinite ease-out}
.soundWaves span:nth-child(2){inset:5px;animation-delay:.15s;opacity:.55}.soundWaves span:nth-child(3){inset:-2px;animation-delay:.30s;opacity:.33}
@keyframes wave{0%{transform:rotate(45deg) scale(.72);opacity:.9}100%{transform:rotate(45deg) scale(1.15);opacity:.05}}
.lolaTitleBlock{display:none;margin-left:230px;min-height:150px;align-content:center;padding:6px 8px 0}
body.lolaMode .lolaTitleBlock{display:block}
.lolaTitleBlock h4{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.04;font-style:italic;font-weight:500;color:#151722}
.lolaTitleBlock h4 span{font-style:normal;color:var(--fuchsia);font-weight:900;letter-spacing:.04em}
.lolaTitleBlock p{margin:8px 0 0;color:#666d7c;font-weight:800}
.mainButtons{display:grid;grid-template-columns:1fr;gap:8px;padding:14px 24px;border-bottom:1px solid #eee0e8}
.mainButtons button{border:1px solid #dfe3eb;background:#fff;border-radius:12px;padding:12px 14px;text-align:left;font-weight:900;color:#202638;transition:.18s ease;position:relative;padding-left:42px}
.mainButtons button:before{content:"✦";position:absolute;left:15px;color:#8d93a1;font-weight:900}
.mainButtons button:nth-child(2):before{content:"▮"}.mainButtons button:nth-child(3):before{content:"◇"}.mainButtons button:nth-child(4):before{content:"⛓"}
.mainButtons button:after{content:"›";position:absolute;right:16px;color:#7b8190;font-size:23px;top:50%;transform:translateY(-52%)}
.mainButtons button:hover{border-color:var(--blue);box-shadow:0 9px 20px rgba(19,85,216,.10);transform:translateX(2px)}
.mainButtons button.isActive{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-color:var(--blue);box-shadow:0 12px 26px rgba(19,85,216,.24)}
.mainButtons button.isActive:before,.mainButtons button.isActive:after{color:#fff}
body.lolaMode .mainButtons button.isActive{background:linear-gradient(135deg,var(--fuchsia),var(--fuchsia2));border-color:var(--fuchsia);box-shadow:0 12px 26px rgba(229,22,115,.26)}
.sideContent{flex:1;overflow:auto;padding:18px 24px 28px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,250,246,.86))}
.emptyState{border:1px dashed #ced4df;border-radius:18px;padding:24px;background:#fff;color:#4b5563;display:flex;flex-direction:column;gap:10px;line-height:1.5}
.emptyState strong{font-size:18px;color:#151722}.emptyState span{color:#6b7280}
.contentCard,.lolaCard{
  background:#fff;border:1px solid #e4e8ef;border-radius:20px;padding:22px;box-shadow:0 8px 20px rgba(20,28,48,.06);margin-bottom:14px
}
.contentCard h4,.lolaCard h4{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.1;color:#151722}
.bodyText{white-space:pre-wrap;line-height:1.7;color:#242936;font-size:15.5px}
.kicker{color:#697180;margin:0 0 16px;font-weight:700}
.lolaCard{border-color:rgba(229,22,115,.42);box-shadow:0 16px 40px rgba(229,22,115,.12);background:linear-gradient(180deg,#fff,#fff7fb);position:relative;overflow:hidden}
.lolaCard:after{content:"✦";position:absolute;right:18px;top:12px;color:rgba(229,22,115,.18);font-size:42px;line-height:1}
.lolaSpeech{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#fff;border:1px solid #ffd0e5;border-radius:18px;padding:14px 15px;margin-bottom:14px}
.lolaSpeechIcon,.lolaAvatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--fuchsia),var(--fuchsia2));color:#fff;font-weight:1000;box-shadow:0 8px 14px rgba(229,22,115,.20);font-family:Georgia,'Times New Roman',serif}
.lolaSpeech p{margin:0;line-height:1.55;font-weight:650;color:#202638}.introSpeech{background:#fff9fd}
.lolaDialogue{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.lolaLine{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start}
.lolaBubble{background:#fff;border:1px solid #ffc4df;border-radius:18px 18px 18px 4px;padding:14px 16px;line-height:1.55;box-shadow:0 8px 18px rgba(229,22,115,.06)}
.lolaBubble strong{color:var(--fuchsia);text-transform:uppercase;font-size:12px;letter-spacing:.09em}.lolaBubble p{margin:5px 0 0;color:#1f2533;font-weight:650}
.lolaRule{margin:14px 0 0;border-left:4px solid var(--mustard);background:#fff8e6;color:#5b410b;padding:10px 12px;border-radius:0 12px 12px 0;font-weight:800;font-size:13px}
.legalBase{margin-top:14px;background:#fff;border:1px solid #e8e0d8;border-radius:14px;padding:10px 12px}
.legalBase summary{font-weight:900;color:#3b4354;cursor:pointer}.legalBase .bodyText{padding-top:10px;color:#4b5563;font-size:14px}
.relatedGroup{margin:14px 0 6px}.relatedGroup h4{margin:0 0 8px;font-size:18px;color:var(--blue);font-family:Georgia,'Times New Roman',serif}
.relatedBtn{width:100%;border:1px solid #bfd1fb;background:#fff;border-radius:13px;padding:12px 14px;margin:7px 0;text-align:left;display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center;color:#1c2b45;transition:.16s ease;position:relative}
.relatedBtn:after{content:"›";position:absolute;right:14px;color:var(--blue);font-size:24px;top:50%;transform:translateY(-52%)}
.relatedBtn strong{color:var(--blue);font-weight:1000}.relatedBtn span{padding-right:18px;color:#374151}
.relatedBtn:hover{border-color:var(--blue);box-shadow:0 9px 20px rgba(19,85,216,.12);transform:translateX(2px)}
.badgeRow{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.badge{background:#eef4ff;color:#174aaa;border:1px solid #c4d7ff;border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px}
.miniBar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.miniBtn.isActive{background:var(--blue);color:#fff;border-color:var(--blue)}
.backBtn{margin-bottom:12px;background:#fff}
.footer{min-height:44px;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:0 30px;border-top:1px solid var(--line);color:#4d5565;background:rgba(255,255,255,.68);font-size:13px}
.footer strong{color:var(--fuchsia)}
@media (max-width: 1100px){
  body{overflow:auto}.appFrame{height:auto;min-height:100vh;grid-template-columns:1fr}.sideRail{display:none}.topbar{grid-template-columns:1fr;gap:12px}.topModeHint{display:none}.viewport{overflow:auto}.appShell,.appShell.expanded{height:auto;min-width:0;grid-template-columns:1fr}.leftPanel,.rightPanel{min-height:520px}.lolaStage{position:relative;left:auto;top:auto;margin:auto}.lolaTitleBlock{margin-left:0}.personaBox{display:block}.modeSwitch{max-width:none}.footer{display:block;padding:12px 18px}.footer span{display:block;margin:4px 0}}


/* === V4: Lola H. mejorada — avatar imagen + boca animada === */
.lolaStagePhoto{
  left:16px;
  top:42px;
  width:248px;
  height:260px;
  z-index:2;
  pointer-events:none;
}
.lolaStagePhoto .lolaAura{
  position:absolute;
  left:18px;
  top:18px;
  width:210px;
  height:218px;
  border-radius:48% 52% 46% 54%;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,.95) 0 40%, rgba(255,47,145,.14) 62%, rgba(19,85,216,.08) 100%);
  filter:blur(0.2px);
  box-shadow:0 22px 46px rgba(229,22,115,.18);
}
.photoWrap{
  position:absolute;
  left:-4px;
  top:-22px;
  width:252px;
  height:304px;
  overflow:visible;
  filter:drop-shadow(0 18px 24px rgba(229,22,115,.20));
  animation:lolaFloat 3.6s ease-in-out infinite;
}
.lolaPhoto{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  transform-origin:52% 42%;
}
/* Boca animada: sutil, solo como indicador de habla. Está colocada sobre la boca de la referencia. */
.mouthPulse{
  position:absolute;
  left:51.8%;
  top:32.3%;
  width:31px;
  height:9px;
  transform:translate(-50%,-50%);
  border-radius:999px 999px 70% 70%;
  background:linear-gradient(180deg,#ff7bb8 0%,#e51673 45%,#8f0a43 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.7),0 2px 6px rgba(90,0,39,.22);
  opacity:0;
  transform-origin:center center;
}
body.lolaMode .mouthPulse{
  opacity:.92;
  animation:lolaPhotoTalk .48s infinite ease-in-out;
}
.eyeSparkle{
  position:absolute;
  color:#fff;
  text-shadow:0 0 10px rgba(229,22,115,.9),0 0 18px rgba(19,85,216,.35);
  opacity:0;
}
.eyeSparkle.one{left:61%;top:22%;font-size:18px;animation-delay:.2s}
.eyeSparkle.two{left:35%;top:22%;font-size:13px;animation-delay:.75s}
body.lolaMode .eyeSparkle{animation:lolaBlinkSpark 2.4s infinite ease-in-out}
body.lolaMode .soundWaves{
  left:226px;
  top:118px;
  display:block;
}
.lolaTitleBlock{
  margin-left:270px;
  min-height:210px;
  align-content:center;
}
.lolaTitleBlock h4{font-size:40px;}
body.lolaMode .personaBox{
  min-height:310px;
  background:
    radial-gradient(circle at 18% 48%, rgba(229,22,115,.10), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,247,251,.96));
}
@keyframes lolaPhotoTalk{
  0%,100%{height:7px; transform:translate(-50%,-50%) scaleX(.96) scaleY(.62); filter:saturate(1)}
  45%{height:17px; transform:translate(-50%,-50%) scaleX(1.04) scaleY(1.35); filter:saturate(1.18)}
}
@keyframes lolaFloat{
  0%,100%{transform:translateY(0) rotate(-.4deg)}
  50%{transform:translateY(-5px) rotate(.6deg)}
}
@keyframes lolaBlinkSpark{
  0%,76%,100%{opacity:0;transform:scale(.8) rotate(0deg)}
  82%{opacity:.95;transform:scale(1.15) rotate(12deg)}
  90%{opacity:.25;transform:scale(.9) rotate(24deg)}
}
@media (max-width: 1100px){
  .lolaStagePhoto{width:230px;height:260px;left:auto;top:auto;margin:8px auto 0;}
  .lolaTitleBlock{margin-left:0;min-height:auto;text-align:center;padding-top:12px;}
  body.lolaMode .personaBox{min-height:auto;}
}


/* === V6: método 2 — boca como capa real recortada de la ilustración === */
.mouthRig{
  position:absolute;
  left:50.4%;
  top:36.8%;
  width:43px;
  height:24px;
  transform:translate(-50%,-50%);
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.mouthLayer,
.mouthGloss,
.mouthInner{
  position:absolute;
  inset:0;
  display:block;
}
.mouthLayer{
  background-image:url('lola_h_placeholder.png');
  background-size:252px 304px;
  background-repeat:no-repeat;
  /* crop real de la boca desde la ilustración original */
  background-position:-106px -100px;
  transform-origin:50% 58%;
  will-change:transform;
}
/* El interior oscuro de V5 desaparece: aquí solo usamos la capa real */
.mouthInner{display:none;}
.mouthGloss{
  inset:auto 9px 5px 9px;
  height:4px;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 72%);
  opacity:.25;
  mix-blend-mode:screen;
}
body.lolaMode .mouthRig{
  opacity:1;
}
body.lolaMode .mouthLayer{
  animation:mouthRealTalk .46s infinite ease-in-out;
}
body.lolaMode .mouthGloss{
  animation:mouthRealGloss .46s infinite ease-in-out;
}
@keyframes mouthRealTalk{
  0%,100%{transform:translateY(0) scaleX(1) scaleY(1)}
  25%{transform:translateY(0.2px) scaleX(1.01) scaleY(0.97)}
  50%{transform:translateY(0.9px) scaleX(0.99) scaleY(1.12)}
  75%{transform:translateY(0.35px) scaleX(1.01) scaleY(1.04)}
}
@keyframes mouthRealGloss{
  0%,100%{opacity:.16; transform:translateY(0) scaleX(1)}
  50%{opacity:.32; transform:translateY(0.8px) scaleX(.96)}
}


/* === V7 preadelanto: Lola H. más petarda-seria === */
body.lolaMode .brand h1::after{
  content:"  · ROSARITO MODE";
  color:var(--fuchsia);
  font-size:.42em;
  letter-spacing:.08em;
  vertical-align:middle;
}
body.lolaMode .lolaTitleBlock p::after{
  content:" · Manuel Antonio Sebastián de Todos los Santos";
  color:var(--mustard2);
}
body.lolaMode .lolaCard h4::before{
  content:"💅 ";
}
body.lolaMode .lolaBubble{
  border-left:5px solid var(--fuchsia);
}
body.lolaMode .lolaRule{
  font-size:14px;
}
body.lolaMode .studentCard::after{
  content:"Bronca de cabaret tributario activada";
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  opacity:.95;
}

/* ===== V8 · Botones laterales activos ===== */
.railItem:focus-visible,.moduleListItem:focus-visible,.schemaBlock:focus-visible{outline:3px solid rgba(19,85,216,.35);outline-offset:2px}
.articleTools .isFav{border-color:var(--fuchsia);color:var(--fuchsia);background:#fff6fb}
.moduleHero{margin-bottom:12px}
.modulePanel h4{margin-bottom:10px}
.moduleBadges,.badgeRow{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid #dfe3eb;background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:#4b5563}
.moduleSearch{margin:12px 0 14px}
.moduleSearch input{width:100%;border:1px solid #dfe3eb;border-radius:14px;background:#fff;padding:13px 14px;font-weight:800;color:#111827;outline:none;box-shadow:0 8px 22px rgba(20,28,48,.05)}
.moduleSearch input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(19,85,216,.10)}
.moduleList{display:flex;flex-direction:column;gap:9px;max-height:520px;overflow:auto;padding-right:4px}
.moduleList.compact{max-height:360px}
.moduleListItem{width:100%;border:1px solid #e0e5ee;background:#fff;border-radius:15px;padding:13px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;transition:.16s ease;color:#202638}
.moduleListItem:hover{border-color:var(--blue);transform:translateX(2px);box-shadow:0 8px 18px rgba(19,85,216,.09)}
.moduleListItem strong{font-size:14.5px;color:#151722;line-height:1.25}
.moduleListItem span{font-size:12.5px;color:#687083;line-height:1.35}
.moduleTextarea{width:100%;min-height:190px;resize:vertical;border:1px solid #dfe3eb;border-radius:16px;background:#fff;padding:14px 15px;font:600 15px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#151722;outline:none;box-shadow:0 8px 22px rgba(20,28,48,.05)}
.moduleTextarea:focus{border-color:var(--fuchsia);box-shadow:0 0 0 4px rgba(229,22,115,.10)}
.moduleActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.miniBtn.danger{border-color:#ffd0dc;color:#b42350;background:#fff6fa}
.miniEmpty{border:1px dashed #d5dbe5;border-radius:14px;padding:14px;color:#6b7280;background:#fff;font-weight:700;line-height:1.45}
.schemaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.schemaGrid section{border:1px solid #e0e5ee;background:#fff;border-radius:16px;padding:14px;min-width:0}
.schemaGrid h5{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--fuchsia)}
.schemaList{margin:0;padding-left:19px;color:#242936;line-height:1.45;font-size:13px}
.schemaList li{margin-bottom:6px}
.schemaBlocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.schemaBlock{border:1px solid #e0e5ee;background:linear-gradient(180deg,#fff,#fffdf8);border-radius:16px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:4px;transition:.16s ease;color:#202638}
.schemaBlock:hover{border-color:var(--fuchsia);box-shadow:0 10px 20px rgba(229,22,115,.10);transform:translateY(-1px)}
.schemaBlock strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;color:var(--blue)}
.schemaBlock span{font-weight:850;color:#151722;line-height:1.25}
.schemaBlock em{font-style:normal;color:#737987;font-size:12px;font-weight:800}
.favRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.favRow .miniBtn{align-self:center;white-space:nowrap}
body.lolaMode .moduleListItem:hover{border-color:var(--fuchsia);box-shadow:0 8px 18px rgba(229,22,115,.10)}
body.lolaMode .badge{border-color:#ffc4df;background:#fff9fd;color:#8a2451}
@media (max-width:1200px){.schemaGrid{grid-template-columns:1fr}.schemaBlocks{grid-template-columns:1fr}.favRow{grid-template-columns:1fr}}


/* === V9: logo integrado + mapa mental del artículo === */
.moduleHero h4{margin-bottom:8px}
.mindMapPanel{padding-bottom:26px}
.mindMapIntro{margin:0 0 18px;color:#5f6676;font-weight:650;line-height:1.55}
.mindRootWrap{display:flex;justify-content:center;position:relative;margin:10px 0 18px}
.mindRootWrap:after{content:"";position:absolute;left:50%;top:100%;width:2px;height:26px;background:linear-gradient(180deg,var(--fuchsia),rgba(229,22,115,.12));transform:translateX(-50%)}
.mindRoot{max-width:420px;background:linear-gradient(135deg,#fff,#fff6fb);border:2px solid rgba(229,22,115,.45);border-radius:22px;padding:16px 18px;box-shadow:0 16px 28px rgba(229,22,115,.12);text-align:center}
.mindRoot .rootEyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8f6f7f;font-weight:900}
.mindRoot h5{margin:6px 0 4px;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.05;color:#161826}
.mindRoot p{margin:0;color:#3b4253;font-weight:700}
.mindBranches{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;position:relative;margin-top:26px}
.mindBranch{position:relative;background:#fff;border:1px solid #dfe5f0;border-radius:18px;padding:14px 14px 12px;box-shadow:0 8px 18px rgba(20,28,48,.06)}
.mindBranch:before{content:"";position:absolute;top:-18px;width:2px;height:18px;background:linear-gradient(180deg,rgba(19,85,216,.45),rgba(19,85,216,.08))}
.mindBranch.left:before{right:34px}.mindBranch.right:before{left:34px}
.mindBranch .branchCap{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#667085;font-weight:900;margin-bottom:8px}
.mindBranch .branchCap i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef4ff;color:var(--blue);font-style:normal;font-weight:1000}
.mindBranch h6{margin:0 0 7px;font-size:18px;font-family:Georgia,'Times New Roman',serif;color:#18315f}
.mindBranch p{margin:0 0 10px;line-height:1.55;color:#293041;font-weight:650}
.mindSubList{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.mindSubList span{background:#fff8e8;border:1px solid #f5d58a;color:#7b5202;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850}
.mindConcordWrap{margin-top:28px;position:relative;padding-top:28px}
.mindConcordWrap:before{content:"";position:absolute;left:50%;top:0;width:2px;height:22px;background:linear-gradient(180deg,var(--mustard),rgba(230,160,25,.16));transform:translateX(-50%)}
.mindConcordTitle{text-align:center;font-family:Georgia,'Times New Roman',serif;font-size:22px;color:#6b4703;margin:0 0 10px}
.mindConcordTitle small{display:block;font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a06d11;font-weight:900;margin-bottom:2px}
.mindConcordTree{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;position:relative}
.mindNorma{background:#fffdfa;border:1px solid #f0deb0;border-radius:16px;padding:12px;box-shadow:0 8px 18px rgba(230,160,25,.08)}
.mindNorma strong{display:block;color:#6b4703;font-size:14px;margin-bottom:8px}
.mindRelBtn{width:100%;border:1px solid #bfd1fb;background:#fff;border-radius:12px;padding:10px 11px;margin:7px 0 0;text-align:left;display:flex;flex-direction:column;gap:3px;color:#1c2b45;transition:.16s ease}
.mindRelBtn b{color:var(--blue);font-size:13px}.mindRelBtn span{color:#4b5563;font-size:12px}
.mindRelBtn:hover{border-color:var(--blue);box-shadow:0 10px 20px rgba(19,85,216,.12);transform:translateY(-1px)}
.mindMapActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.mindEmpty{background:#fff;border:1px dashed #d6dbe6;border-radius:18px;padding:18px;text-align:center;color:#606775;font-weight:650}
.mindMapLegend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.mindMapLegend span{font-size:12px;font-weight:850;border-radius:999px;padding:6px 10px}.mindMapLegend .lg-main{background:#eef4ff;color:#174aaa;border:1px solid #c4d7ff}.mindMapLegend .lg-sub{background:#fff8e8;color:#7b5202;border:1px solid #f5d58a}.mindMapLegend .lg-rel{background:#fff7fb;color:#9f0f54;border:1px solid #ffc6e0}
@media (max-width: 1100px){.mindBranches{grid-template-columns:1fr}.mindBranch.left:before,.mindBranch.right:before{left:28px;right:auto}.mindConcordTree{grid-template-columns:1fr}}


/* === V10: mapa mental estilo modelo del usuario === */
.mindMapModelPanel{padding-bottom:24px}
.mmCanvas{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start;overflow:auto;padding:8px 4px 2px}
.mmRootCol{position:sticky;left:0;align-self:start;padding-top:42px}
.mmRootCard{position:relative;background:#fff;border:2px solid #ffb977;border-radius:18px;padding:16px 14px;box-shadow:0 14px 28px rgba(255,133,43,.12)}
.mmRootCard:after{content:"";position:absolute;right:-18px;top:50%;width:18px;height:2px;background:#ff8e3b}
.mmRootEyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#a35b10;font-weight:900}.mmRootCard h5{margin:6px 0 6px;font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1.05}.mmRootCard p{margin:0;color:#394050;font-weight:700;line-height:1.35}
.mmTreeCol{display:flex;flex-direction:column;gap:12px;min-width:640px;padding-top:8px;position:relative}.mmTreeCol:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(147,112,219,.35),rgba(147,112,219,.08))}
.mmRow{display:grid;grid-template-columns:18px 290px 1fr;gap:10px;align-items:start;position:relative;min-height:48px}.mmJoint{position:relative;height:100%}.mmJoint:before{content:"";position:absolute;left:0;top:22px;width:18px;height:2px;background:var(--branch-color,#8b5cf6)}
.mmBranchNode{position:relative;background:#fff;border:1.8px solid var(--branch-color,#8b5cf6);border-radius:16px;padding:10px 12px 10px 18px;box-shadow:0 8px 18px rgba(20,28,48,.06);line-height:1.35}.mmDot{position:absolute;left:-8px;top:18px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--branch-color,#8b5cf6)}
.mmBranchNode strong{font-size:16px;color:#202638}.mmLeafGroup{display:flex;flex-direction:column;gap:8px;padding-top:2px}.mmLeafRow{position:relative;padding-left:20px;display:flex;align-items:flex-start}.mmLeafRow:before{content:"";position:absolute;left:0;top:12px;width:14px;height:2px;background:var(--branch-color,#8b5cf6)}
.mmLeafDot{position:absolute;left:10px;top:7px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--branch-color,#8b5cf6)}
.mmLeafText{background:rgba(255,255,255,.96);border-radius:10px;padding:3px 0 3px 2px;line-height:1.42;color:#1f2533;font-weight:650;border-bottom:1px solid rgba(0,0,0,.06);min-height:20px}.mmLeafRow.lastLeaf .mmLeafText{border-bottom:0}
.tone-violet{--branch-color:#8b5cf6}.tone-rose{--branch-color:#e11d48}.tone-orange{--branch-color:#f97316}.tone-blue{--branch-color:#3b82f6}.tone-teal{--branch-color:#14b8a6}.tone-gold{--branch-color:#eab308}.tone-pink{--branch-color:#ec4899}.tone-slate{--branch-color:#64748b}
.mmConcordadosSection{margin-top:10px;padding-top:14px;border-top:2px dashed #ead7a9;position:relative}.mmConcordadosHeader{position:relative;margin:0 0 10px 28px;background:#fff7e8;border:1px solid #f2d28f;border-radius:16px;padding:10px 12px 10px 18px;display:inline-block;color:#6b4703;font-weight:900}.mmConcordadosHeader .mmDot{position:absolute;left:-8px;top:15px;border-color:#d4a017}
.mmConcordadosTree{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-left:28px}.mmConcordNorma{background:#fff;border:1.5px solid var(--branch-color,#8b5cf6);border-radius:16px;padding:10px 10px 12px;box-shadow:0 8px 18px rgba(20,28,48,.05)}
.mmConcordNormaTitle{font-weight:900;color:#202638;margin-bottom:8px}.mmConcordNormaList{display:flex;flex-direction:column;gap:7px}.mmConcordBtn{border:1px solid #d5ddf7;background:#fff;border-radius:12px;padding:8px 9px;text-align:left;display:flex;flex-direction:column;gap:3px;transition:.16s ease}.mmConcordBtn:hover{border-color:var(--blue);box-shadow:0 10px 18px rgba(19,85,216,.10)}.mmConcordBtn span{font-weight:900;color:var(--blue);font-size:13px}.mmConcordBtn small{color:#4b5563;font-size:12px;line-height:1.32}
@media (max-width: 1100px){.mmCanvas{grid-template-columns:1fr}.mmRootCol{position:static;padding-top:0}.mmRootCard:after{display:none}.mmTreeCol{min-width:0}.mmTreeCol:before{display:none}.mmRow{grid-template-columns:14px 1fr}.mmLeafGroup{grid-column:2}.mmConcordadosTree{grid-template-columns:1fr;margin-left:0}.mmConcordadosHeader{margin-left:0}}


/* === V11: esquemas ocupan toda la parte derecha === */
.appShell.schemaFocus{grid-template-columns:minmax(500px,1.15fr) minmax(620px,1.85fr);}
.rightPanel.schemaFocus .personaBox,
.rightPanel.schemaFocus .mainButtons{display:none;}
.rightPanel.schemaFocus .sideHeader{padding:14px 18px 10px;align-items:center;}
.rightPanel.schemaFocus .sideHeader .eyebrow{margin-bottom:2px}
.rightPanel.schemaFocus #collapsePanel{padding:7px 10px;border-radius:10px}
.rightPanel.schemaFocus .sideContent{padding:8px 10px 10px;overflow:auto;background:linear-gradient(180deg,#fff,#fffdf9);}
.rightPanel.schemaFocus .moduleHero{display:none;}
.rightPanel.schemaFocus .mindMapModelPanel{margin:0;border:0;border-radius:16px;box-shadow:none;padding:10px 12px 14px;min-height:calc(100vh - 260px);background:transparent;}
.rightPanel.schemaFocus .mmCanvas{height:100%;grid-template-columns:210px 1fr;gap:14px;align-items:start;}
.rightPanel.schemaFocus .mmRootCol{padding-top:20px}
.rightPanel.schemaFocus .mindMapIntro{margin-bottom:12px}
.rightPanel.schemaFocus .mindMapActions{margin-top:12px}
.rightPanel.schemaFocus .mmTreeCol{min-width:780px;padding-right:10px}
.rightPanel.schemaFocus .mmConcordadosTree{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
@media (max-width: 1100px){.appShell.schemaFocus{grid-template-columns:1fr}.rightPanel.schemaFocus .mindMapModelPanel{min-height:auto}.rightPanel.schemaFocus .mmCanvas{grid-template-columns:1fr}.rightPanel.schemaFocus .mmTreeCol{min-width:0}}


/* === V12: mapas mentales mucho más tipo Word === */
.wordMapPanel{padding-bottom:22px}
.wordMapCanvas{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start;overflow:auto;padding:8px 4px 2px}
.wordMapRootCol{position:sticky;left:0;top:0;padding-top:64px;align-self:start}
.wordMapRoot{position:relative;background:#fff;border:2px solid #f39a3d;border-radius:18px;padding:14px 14px 14px 18px;box-shadow:0 14px 28px rgba(243,154,61,.14)}
.wordMapRoot:after{content:"";position:absolute;right:-34px;top:50%;width:34px;height:2px;background:#f39a3d;border-radius:4px}
.wordMapRoot .rootHalo{position:absolute;inset:-8px;border-radius:24px;background:radial-gradient(circle at 30% 40%, rgba(243,154,61,.16), transparent 62%);pointer-events:none}
.wordMapRoot h5{margin:0 0 4px;font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.02;color:#1a1f2e;position:relative;z-index:1}
.wordMapRoot p{margin:0;color:#2e3648;font-weight:700;line-height:1.33;position:relative;z-index:1}
.wordMapTreeCol{min-width:980px;padding-top:10px}
.wordMapTreeCore{position:relative;padding-left:10px}
.wmBranchRow,.wmConcordBlock{--branch-color:#8b5cf6;display:grid;grid-template-columns:28px 305px 1fr;gap:8px 12px;align-items:start;margin-bottom:12px;position:relative}
.wmBranchConnector{position:relative;height:100%}.wmBranchConnector:before{content:"";position:absolute;left:0;top:18px;width:28px;height:2px;background:var(--branch-color);border-radius:4px}.wmRootHook{position:absolute;left:-10px;top:18px;width:10px;height:10px;border:2px solid var(--branch-color);background:#fff;border-radius:50%;transform:translateY(-50%)}
.wmBranchTitle,.wmConcordHead,.wmConcordNormaTitle{position:relative;padding-left:18px;min-height:24px;display:flex;align-items:center}.wmNodeDot{position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--branch-color)}
.wmBranchTitle strong,.wmConcordHead strong,.wmConcordNormaTitle strong{font-size:15.5px;line-height:1.25;color:#202638}
.wmLeafGroup,.wmConcordNormaList{display:flex;flex-direction:column;gap:6px;padding-top:1px}
.wmLeafRow{position:relative;padding-left:18px;display:flex;align-items:flex-start;min-height:22px}.wmLeafRow:before{content:"";position:absolute;left:0;top:11px;width:14px;height:2px;background:var(--branch-color);border-radius:4px}.wmLeafDot{position:absolute;left:10px;top:6px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--branch-color)}
.wmLeafText{font-size:14px;line-height:1.36;color:#1f2533;font-weight:650;display:inline-block;padding:0 2px 2px 2px;border-bottom:1px solid color-mix(in srgb, var(--branch-color) 45%, #d8dce5 55%);background:linear-gradient(180deg, transparent 75%, rgba(255,255,255,.75) 100%)}
.tone-violet{--branch-color:#9160dc}.tone-rose{--branch-color:#e76088}.tone-orange{--branch-color:#f08b3d}.tone-blue{--branch-color:#4d8fe8}.tone-teal{--branch-color:#31b3b3}.tone-gold{--branch-color:#d3a11c}.tone-pink{--branch-color:#d56ec1}.tone-slate{--branch-color:#8390a4}
.wmConcordBlock{grid-template-columns:28px 280px 1fr;grid-template-areas:"conn head head" ". tree tree";padding-top:14px;margin-top:4px;border-top:1px dashed rgba(211,161,28,.45);row-gap:10px}.wmConcordBlock .wmBranchConnector{grid-area:conn}.wmConcordHead{grid-area:head;max-width:260px;align-self:start}.wmConcordHead:before{content:"";position:absolute;left:-28px;top:12px;width:28px;height:2px;background:var(--branch-color)}
.wmConcordTree{grid-area:tree;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;align-items:start;margin-left:28px}.wmConcordNorma{position:relative;padding:8px 8px 4px 12px;border-left:2px solid var(--branch-color);background:rgba(255,255,255,.56);border-radius:0 12px 12px 0}.wmConcordNormaTitle strong{font-size:14px;text-transform:uppercase;letter-spacing:.03em}
.wmConcordBtn{position:relative;border:0;background:transparent;text-align:left;padding:0 0 0 18px;display:flex;align-items:flex-start;gap:0;cursor:pointer;transition:.16s ease;min-height:24px}.wmConcordBtn:before{content:"";position:absolute;left:0;top:11px;width:14px;height:2px;background:var(--branch-color)}.wmConcordBtn .wmLeafDot{top:6px}.wmConcordBtn:hover div{transform:translateX(2px)}.wmConcordBtn div{transition:.16s ease}.wmConcordBtn b{display:block;font-size:13.5px;color:#174aaa;line-height:1.28}.wmConcordBtn small{display:block;color:#4c5668;font-size:12.3px;line-height:1.28}
.rightPanel.schemaFocus .wordMapPanel{margin:0;border:0;border-radius:16px;box-shadow:none;padding:10px 8px 14px;min-height:calc(100vh - 260px);background:transparent}.rightPanel.schemaFocus .wordMapCanvas{height:100%;grid-template-columns:225px 1fr;gap:12px}.rightPanel.schemaFocus .wordMapRootCol{padding-top:26px}.rightPanel.schemaFocus .wordMapTreeCol{min-width:1120px;padding-right:14px}.rightPanel.schemaFocus .wordMapTreeCore{padding-right:18px}.rightPanel.schemaFocus .wmConcordTree{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
@media (max-width: 1200px){.wordMapCanvas{grid-template-columns:1fr}.wordMapRootCol{position:static;padding-top:0}.wordMapRoot:after{display:none}.wordMapTreeCol{min-width:0}.wmBranchRow,.wmConcordBlock{grid-template-columns:16px 1fr}.wmLeafGroup,.wmConcordTree{grid-column:2}.wmConcordTree{grid-template-columns:1fr;margin-left:0}.wmConcordHead{max-width:none}.rightPanel.schemaFocus .wordMapCanvas{grid-template-columns:1fr}.rightPanel.schemaFocus .wordMapTreeCol{min-width:0}}


/* === V14: mapas mentales más orgánicos y menos rígidos === */
.wordMapPanel{padding-bottom:26px}
.wordMapCanvas{grid-template-columns:245px 1fr;gap:22px;padding:12px 6px 8px}
.wordMapRootCol{padding-top:54px}
.wordMapRoot{border:none;border-radius:42% 58% 53% 47% / 40% 45% 55% 60%;padding:24px 22px 22px 24px;background:linear-gradient(145deg,#fff7ec 0%,#fff 58%,#fff3df 100%);box-shadow:0 18px 34px rgba(243,154,61,.13), inset 0 0 0 2px rgba(243,154,61,.42);min-height:124px;display:flex;flex-direction:column;justify-content:center}
.wordMapRoot:after{right:-44px;width:44px;height:3px;background:linear-gradient(90deg,#f1a14c,#eccca3);border-radius:999px}
.wordMapRoot .rootHalo{inset:-18px;border-radius:40px;background:radial-gradient(circle at 30% 40%, rgba(243,154,61,.19), transparent 58%), radial-gradient(circle at 80% 70%, rgba(229,22,115,.10), transparent 38%)}
.wordMapRoot h5{font-size:29px;letter-spacing:-.02em}
.wordMapRoot p{font-size:15px;line-height:1.4;color:#394050;max-width:175px}
.wordMapTreeCol{min-width:1040px;padding-top:6px}
.wordMapTreeCore{padding-left:6px;display:flex;flex-direction:column;gap:16px}
.wmBranchRow,.wmConcordBlock{grid-template-columns:40px 270px 1fr;gap:6px 14px;margin-bottom:0}
.wmBranchRow:nth-child(odd){margin-left:8px}
.wmBranchRow:nth-child(3n){margin-left:18px}
.wmBranchRow:nth-child(4n){margin-left:4px}
.wmBranchConnector{min-height:38px}.wmBranchConnector:before{left:2px;top:18px;width:38px;height:18px;background:transparent;border-top:3px solid var(--branch-color);border-right:3px solid var(--branch-color);border-radius:0 16px 0 0}.wmRootHook{left:-3px;top:18px;width:11px;height:11px;border-width:3px;box-shadow:0 0 0 6px color-mix(in srgb, var(--branch-color) 12%, transparent)}
.wmBranchTitle,.wmConcordHead,.wmConcordNormaTitle{padding-left:20px;min-height:28px;align-items:flex-start}
.wmNodeDot{left:0;top:10px;width:11px;height:11px;border-width:3px;box-shadow:0 0 0 5px color-mix(in srgb, var(--branch-color) 12%, transparent)}
.wmBranchTitle strong,.wmConcordHead strong,.wmConcordNormaTitle strong{font-size:17px;line-height:1.28;color:#202638;font-weight:800;text-wrap:balance}
.wmBranchTitle strong{display:inline;padding:2px 8px 3px 6px;border-radius:12px;background:linear-gradient(180deg, color-mix(in srgb, var(--branch-color) 14%, white 86%), rgba(255,255,255,.3));box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wmLeafGroup,.wmConcordNormaList{gap:9px;padding-top:2px}
.wmLeafRow{padding-left:24px;min-height:26px}.wmLeafRow:before{left:0;top:12px;width:18px;height:14px;background:transparent;border-top:2.5px solid color-mix(in srgb, var(--branch-color) 92%, white 8%);border-right:2.5px solid color-mix(in srgb, var(--branch-color) 92%, white 8%);border-radius:0 14px 0 0}.wmLeafDot{left:14px;top:8px;width:9px;height:9px;border-width:2px;box-shadow:0 0 0 4px color-mix(in srgb, var(--branch-color) 10%, transparent)}
.wmLeafText{font-size:14.2px;line-height:1.5;color:#253043;font-weight:620;display:inline;padding:1px 8px 3px 5px;border-bottom:none;background:linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--branch-color) 12%, white 88%) 45%, color-mix(in srgb, var(--branch-color) 12%, white 88%) 100%);border-radius:10px;max-width:680px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wmLeafRow:nth-child(even) .wmLeafText{transform:translateX(4px)}
.tone-violet{--branch-color:#9a72df}.tone-rose{--branch-color:#e85d83}.tone-orange{--branch-color:#ef9852}.tone-blue{--branch-color:#5a95eb}.tone-teal{--branch-color:#3eb8b1}.tone-gold{--branch-color:#d8a428}.tone-pink{--branch-color:#d66dc4}.tone-slate{--branch-color:#8a95ad}
.wmConcordBlock{grid-template-columns:40px 270px 1fr;grid-template-areas:'conn head head' '. tree tree';padding-top:18px;margin-top:8px;border-top:1px dashed rgba(211,161,28,.42)}
.wmConcordHead{max-width:255px}.wmConcordHead strong{display:inline;padding:2px 8px 4px 6px;border-radius:12px;background:linear-gradient(180deg, rgba(253,242,213,.95), rgba(255,247,232,.72))}.wmConcordHead:before{left:-38px;top:13px;width:38px;height:18px;background:transparent;border-top:3px solid var(--branch-color);border-right:3px solid var(--branch-color);border-radius:0 16px 0 0}
.wmConcordTree{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;margin-left:16px}.wmConcordNorma{padding:6px 10px 8px 16px;border-left:none;background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.42));border-radius:16px;box-shadow:0 8px 20px rgba(20,28,48,.04);position:relative}.wmConcordNorma:before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--branch-color);border-radius:999px}.wmConcordNormaTitle{padding-left:20px;margin-bottom:6px}.wmConcordNormaTitle strong{font-size:13.5px;letter-spacing:.08em}
.wmConcordBtn{padding:0 0 0 22px;min-height:30px}.wmConcordBtn:before{left:0;top:13px;width:18px;height:14px;background:transparent;border-top:2.5px solid var(--branch-color);border-right:2.5px solid var(--branch-color);border-radius:0 14px 0 0}.wmConcordBtn .wmLeafDot{left:14px;top:8px}.wmConcordBtn b{font-size:14px;line-height:1.28}.wmConcordBtn small{font-size:12.5px;line-height:1.35}
.rightPanel.schemaFocus .wordMapPanel{padding:12px 10px 18px}.rightPanel.schemaFocus .wordMapCanvas{grid-template-columns:245px 1fr;gap:16px}.rightPanel.schemaFocus .wordMapRootCol{padding-top:20px}.rightPanel.schemaFocus .wordMapTreeCol{min-width:1180px;padding-right:18px}.rightPanel.schemaFocus .wordMapTreeCore{gap:18px;padding-right:22px}.rightPanel.schemaFocus .wmConcordTree{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
@media (max-width: 1200px){.wordMapCanvas{grid-template-columns:1fr}.wordMapRootCol{position:static;padding-top:0}.wordMapRoot{border-radius:24px}.wordMapRoot:after{display:none}.wordMapTreeCol{min-width:0}.wmBranchRow,.wmConcordBlock{grid-template-columns:18px 1fr}.wmBranchRow:nth-child(n),.wmConcordBlock{margin-left:0}.wmLeafGroup,.wmConcordTree{grid-column:2}.wmConcordTree{grid-template-columns:1fr;margin-left:0}.wmConcordHead,.wmConcordHead strong{max-width:none}.rightPanel.schemaFocus .wordMapCanvas{grid-template-columns:1fr}.rightPanel.schemaFocus .wordMapTreeCol{min-width:0}}


/* === V15: enfoque Markdown / Markmap — mapa más fluido === */
.markmapLikePanel{margin:0;border:0;box-shadow:none;background:linear-gradient(180deg,#fff,#fffdf8);padding:14px 12px 18px;border-radius:18px}
.markmapLikePanel h4{margin-bottom:8px}
.markmapToolbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.markmapViewport{border:1px solid rgba(229,222,211,.78);background:radial-gradient(circle at 8% 45%,rgba(243,154,61,.10),transparent 28%),linear-gradient(180deg,#fff,#fffdfb);border-radius:18px;overflow:auto;padding:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.mmkStage{position:relative;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.mmkSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.mmkPath{fill:none;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;opacity:.88;filter:drop-shadow(0 1px 0 rgba(255,255,255,.65))}
.mmkPath.leafPath{stroke-width:2.05;opacity:.72}.mmkPath.concordPath{stroke-dasharray:6 7;opacity:.65}
.mmkRootNode,.mmkBranchNode,.mmkLeafNode{position:absolute;z-index:2;text-align:left;color:#202638}
.mmkRootNode{padding:16px 18px 17px;border-radius:34px 24px 38px 22px;background:linear-gradient(145deg,#fff3df,#fff 56%,#fff7ec);box-shadow:0 12px 28px rgba(243,154,61,.13), inset 0 0 0 2px rgba(243,154,61,.45)}
.mmkRootNode span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#9a5f16;font-weight:950;margin-bottom:4px}.mmkRootNode strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.05}.mmkRootNode em{display:block;font-style:normal;color:#485164;font-size:13.5px;line-height:1.28;margin-top:4px;font-weight:750}
.mmkBranchNode{border:0;background:transparent;padding:0 0 4px 22px;font-size:16px;line-height:1.25;font-weight:900;cursor:default;min-height:28px;text-wrap:balance}
.mmkBranchNode:after{content:'';position:absolute;left:22px;right:6px;bottom:0;height:2px;background:linear-gradient(90deg,var(--node-color),rgba(255,255,255,0));border-radius:999px;opacity:.86}
.mmkBranchNode .mmkDot{position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;border:3px solid var(--node-color);background:#fff;box-shadow:0 0 0 5px color-mix(in srgb,var(--node-color) 12%,transparent)}
.mmkLeafNode{padding:0 4px 4px 22px;font-size:14.2px;line-height:1.38;font-weight:650;color:#30384b;cursor:default}
.mmkLeafNode:after{content:'';position:absolute;left:22px;right:8px;bottom:1px;height:1.5px;background:linear-gradient(90deg,color-mix(in srgb,var(--node-color) 65%,#fff 35%),rgba(255,255,255,0));border-radius:999px;opacity:.65}
.mmkSmallDot{position:absolute;left:0;top:5px;width:10px;height:10px;border-radius:50%;border:2.5px solid var(--node-color);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--node-color) 10%,transparent)}
.mmkConcordNode{cursor:pointer;color:#6b4703}.mmkConcordSummary{cursor:pointer;color:#555e72}.mmkConcordSummary b{color:#b07609;font-weight:950}
.mmkConcordNode:hover,.mmkConcordSummary:hover{transform:translateX(2px)}
.mapMarkdownSource{margin-top:12px;border:1px solid #e7decb;border-radius:14px;background:#fff;padding:10px 12px}.mapMarkdownSource summary{font-weight:950;cursor:pointer;color:#394050}.mapMarkdownSource pre{white-space:pre-wrap;font-size:12.5px;line-height:1.45;color:#293041;background:#fffaf1;border-radius:12px;padding:12px;overflow:auto;max-height:300px}.hiddenMarkdown{display:none}
.rightPanel.schemaFocus .markmapLikePanel{min-height:calc(100vh - 250px)}
.rightPanel.schemaFocus .markmapViewport{max-height:calc(100vh - 330px)}
@media (max-width:1200px){.mmkStage{min-width:980px}.markmapViewport{padding:6px}}


/* === V16: motor Markmap real/local === */
.realMarkmapPanel{
  background:linear-gradient(180deg,#fff,#fffdf9);
}
.realMarkmapPanel .mindMapIntro{
  max-width:980px;
  color:#566071;
  line-height:1.55;
}
.realMarkmapHost{
  position:relative;
  min-height:610px;
  height:calc(100vh - 350px);
  border:1px solid rgba(229,222,211,.85);
  border-radius:22px;
  overflow:auto;
  background:
    radial-gradient(circle at 4% 45%, rgba(243,154,61,.13), transparent 25%),
    radial-gradient(circle at 82% 22%, rgba(139,92,246,.08), transparent 30%),
    linear-gradient(180deg,#fff,#fffdf9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 14px 32px rgba(20,28,48,.05);
}
.realMarkmapHost.usingRealMarkmap{
  padding:0;
}
.realMarkmapSvg{
  display:block;
  width:1850px;
  height:980px;
  min-width:100%;
  min-height:100%;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.realMarkmapSvg .markmap-node text{
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:750;
  fill:#202638;
}
.realMarkmapSvg .markmap-node circle{
  stroke-width:2.5px;
}
.realMarkmapSvg .markmap-link{
  stroke-linecap:round;
  stroke-linejoin:round;
}
.markmapEngineStatus{
  align-self:center;
  color:#6b7280;
  font-size:12px;
  font-weight:850;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #ece4d8;
}
.markmapFallbackNotice{
  display:inline-flex;
  margin:12px 12px 0;
  padding:9px 12px;
  border-radius:999px;
  background:#fff8e8;
  border:1px solid #eed091;
  color:#7b5202;
  font-weight:900;
  font-size:12px;
}
.localMarkmapStage{
  position:relative;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  margin:10px 0 20px;
}
.localMarkmapSvg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.localMapPath{
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.72;
}
.localMapNode{
  position:absolute;
  z-index:2;
  padding:0 4px 5px 22px;
  color:#202638;
  font-weight:780;
  line-height:1.32;
  border-bottom:2px solid color-mix(in srgb,var(--node-color) 55%,#fff 45%);
  background:linear-gradient(180deg,transparent 58%,color-mix(in srgb,var(--node-color) 10%,#fff 90%) 58%);
  border-radius:10px;
}
.localMapNode span{
  position:absolute;
  left:0;
  top:6px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--node-color);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--node-color) 12%,transparent);
}
.localRoot{
  padding:18px 20px 19px;
  border:0;
  border-radius:34px 24px 38px 22px;
  background:linear-gradient(145deg,#fff3df,#fff 56%,#fff7ec);
  box-shadow:0 12px 28px rgba(243,154,61,.13), inset 0 0 0 2px rgba(243,154,61,.45);
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
}
.localRoot span{display:none}
.localBranch{
  font-size:17px;
}
.localLeaf{
  font-size:13.5px;
  font-weight:650;
  color:#394254;
}
.rightPanel.schemaFocus .realMarkmapPanel{
  margin:0;
  border:0;
  box-shadow:none;
  padding:10px 10px 16px;
  min-height:calc(100vh - 260px);
}
.rightPanel.schemaFocus .realMarkmapHost{
  height:calc(100vh - 315px);
  min-height:650px;
}
.rightPanel.schemaFocus .realMarkmapSvg{
  width:2050px;
  height:1080px;
}
@media (max-width:1200px){
  .realMarkmapHost{height:620px;min-height:520px}
  .realMarkmapSvg{width:1500px;height:900px}
  .markmapToolbar{gap:6px}
}


/* === V17: render local Markdown corregido — sin solapes === */
.realMarkmapHost{
  min-height:680px;
  height:calc(100vh - 330px);
  overflow:auto;
}
.localMarkmapStage{
  position:relative;
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  margin:22px;
  transform-origin:top left;
}
.localMarkmapSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.localMapPath{
  fill:none;
  stroke-width:3.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.68;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.85));
}
.localMapNode{
  position:absolute;
  z-index:2;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  color:#202638;
  background:transparent;
  border:0;
  border-radius:0;
}
.localMapNode span{
  position:absolute;
  left:0;
  top:8px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--node-color);
  box-shadow:0 0 0 7px color-mix(in srgb,var(--node-color) 13%,transparent);
}
.localRoot{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 22px 20px;
  border-radius:34px 24px 38px 22px;
  background:linear-gradient(145deg,#fff3df,#fff 58%,#fff7ec);
  box-shadow:0 16px 34px rgba(243,154,61,.14), inset 0 0 0 2px rgba(243,154,61,.46);
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
  line-height:1.15;
  font-weight:900;
}
.localRoot span{display:none}
.localBranch{
  padding:0 8px 6px 24px;
  font-size:17px;
  line-height:1.32;
  font-weight:900;
  color:#202638;
}
.localBranch:after{
  content:'';
  position:absolute;
  left:24px;
  right:6px;
  bottom:2px;
  height:2.5px;
  background:linear-gradient(90deg,var(--node-color),rgba(255,255,255,0));
  border-radius:999px;
}
.localLeaf,.localTinyLeaf{
  padding:0 8px 5px 20px;
  font-size:13.7px;
  line-height:1.45;
  font-weight:650;
  color:#394254;
}
.localLeaf:after,.localTinyLeaf:after{
  content:'';
  position:absolute;
  left:20px;
  right:10px;
  bottom:2px;
  height:1.6px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--node-color) 58%,#fff 42%),rgba(255,255,255,0));
  border-radius:999px;
  opacity:.75;
}
.localTinyLeaf{font-size:12.6px;color:#4a5568}
.markmapFallbackNotice{
  margin:12px 12px 4px;
}
.rightPanel.schemaFocus .realMarkmapHost{
  height:calc(100vh - 295px);
  min-height:700px;
}
@media (max-width:1200px){
  .realMarkmapHost{height:650px;min-height:560px}
}

/* === V18: botón de ajuste realmente útil === */
.realMarkmapPanel .mindMapIntro{max-width:1120px}
.markmapToolbar .miniBtn#fitRealMarkmap{
  border-color:#0b62d8;
  color:#0b62d8;
  box-shadow:0 0 0 3px rgba(11,98,216,.06);
}
.markmapToolbar .miniBtn#fitWholeMarkmap{
  border-color:#eed091;
  color:#7b5202;
  background:#fffaf0;
}
.localMarkmapStage{
  transition:transform .24s ease, margin .24s ease;
}
.rightPanel.schemaFocus .realMarkmapHost{
  height:calc(100vh - 292px);
  min-height:700px;
}


/* === V19: ajuste real del mapa local + raíz visible === */
.realMarkmapPanel .mindMapIntro{max-width:1180px}
.realMarkmapHost{
  position:relative;
  min-height:680px;
  height:calc(100vh - 325px);
  overflow:auto;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
}
.localMapScaler{
  position:relative;
  display:block;
  margin:18px 26px 50px 18px;
  transform-origin:top left;
}
.localMarkmapStage{
  position:absolute;
  left:0;
  top:0;
  margin:0 !important;
  transform-origin:top left;
  transition:transform .22s ease;
}
.localRoot{
  border-radius:30px 23px 34px 24px;
  font-size:25px;
  box-shadow:0 18px 38px rgba(243,154,61,.16), inset 0 0 0 2px rgba(243,154,61,.50);
}
.localBranch{
  font-size:16.5px;
  max-width:360px;
}
.localLeaf{
  font-size:13.6px;
  max-width:390px;
}
.localTinyLeaf{
  font-size:12.5px;
  max-width:340px;
}
.localMapPath{stroke-width:3.4;opacity:.72}
.markmapToolbar .miniBtn#fitRealMarkmap{
  border-color:#0b62d8;
  color:#0b62d8;
  box-shadow:0 0 0 3px rgba(11,98,216,.08);
}
.markmapToolbar .miniBtn#goMapRoot{
  border-color:#e7c579;
  color:#7b5202;
  background:#fffaf0;
}
.rightPanel.schemaFocus .realMarkmapHost{
  height:calc(100vh - 300px);
  min-height:690px;
}
@media (max-width:1200px){
  .realMarkmapHost{height:640px;min-height:540px}
}


/* === V20: raíz centrada, no pegada arriba === */
.realMarkmapPanel .mindMapIntro{max-width:1240px}
.markmapToolbar .miniBtn#fitRealMarkmap{
  border-color:#0b62d8;
  color:#0b62d8;
  box-shadow:0 0 0 3px rgba(11,98,216,.08);
}
.markmapToolbar .miniBtn#fitWidthMarkmap,
.markmapToolbar .miniBtn#fitWholeMarkmap{
  border-color:#eed091;
  color:#7b5202;
  background:#fffaf0;
}
.localMapScaler{
  margin:24px 42px 70px 24px;
}
.localRoot{
  border-radius:34px 24px 38px 22px;
  font-size:25px;
}
.localBranch{font-size:16.5px;}
.localLeaf{font-size:13.6px;}
.localTinyLeaf{font-size:12.5px;}
.rightPanel.schemaFocus .realMarkmapHost{
  height:calc(100vh - 300px);
  min-height:690px;
}


/* === V21: visor real para “Ver mapa completo” === */
body.wholeMapOpen{overflow:hidden;}
.wholeMapOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(18,22,34,.42);
  backdrop-filter:blur(8px);
  display:grid;
  place-items:center;
  padding:24px;
}
.wholeMapDialog{
  width:min(96vw,1640px);
  height:min(92vh,980px);
  background:linear-gradient(180deg,#fff,#fffdf9);
  border:1px solid rgba(245,188,110,.9);
  border-radius:24px;
  box-shadow:0 34px 90px rgba(20,28,48,.32);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.wholeMapHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:14px 18px;
  border-bottom:1px solid #f0e6dc;
  background:linear-gradient(90deg,#fff8eb,#fff,#fff7fb);
}
.wholeMapHeader strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:22px;color:#151722;line-height:1.05}
.wholeMapHeader span{display:block;margin-top:3px;color:#626b7d;font-weight:800;font-size:13px}
.wholeMapButtons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.wholeMapHost{
  flex:1;
  min-height:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:radial-gradient(circle at 10% 54%,rgba(243,154,61,.10),transparent 30%),radial-gradient(circle at 82% 28%,rgba(229,22,115,.06),transparent 32%),#fff;
}
.wholeMapHost .markmapFallbackNotice{display:none;}
.wholeMapHost .localMapScaler{margin:auto !important;}
.wholeMapHost .localMarkmapStage{position:absolute;left:0;top:0;}
@media (max-width:800px){.wholeMapOverlay{padding:10px}.wholeMapDialog{width:98vw;height:94vh}.wholeMapHeader{align-items:flex-start;flex-direction:column}.wholeMapButtons{width:100%;justify-content:flex-start}}


/* === V22: zoom real en visor de mapa completo === */
.wholeMapHost{
  overflow:auto;
  align-items:flex-start;
  justify-content:flex-start;
  cursor:grab;
  touch-action:none;
}
.wholeMapHost.isPanning{cursor:grabbing;}
.wholeMapZoomButtons{align-items:center;}
.wholeMapZoomButtons #wholeMapZoomOut,
.wholeMapZoomButtons #wholeMapZoomIn{
  min-width:42px;
  font-size:22px;
  line-height:1;
  padding:8px 12px;
}
.wholeMapZoomRange{
  width:180px;
  accent-color:var(--fuchsia);
}
.wholeMapHost .localMapScaler{
  flex:0 0 auto;
}
@media (max-width:800px){.wholeMapZoomRange{width:130px}.wholeMapZoomButtons #wholeMapZoomOut,.wholeMapZoomButtons #wholeMapZoomIn{min-width:38px}}


/* === V23 · EL CANTAR DE LOS CANTARTÍCULOS === */
.cantorHero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(229,22,115,.18);
  background:
    radial-gradient(circle at 92% 6%, rgba(229,22,115,.13), transparent 38%),
    radial-gradient(circle at 4% 95%, rgba(19,85,216,.12), transparent 36%),
    linear-gradient(135deg,#fffdf8,#fff5fa 58%,#f6f8ff);
}
.cantorTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.cantorTitleRow h4{font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.02;margin:0;letter-spacing:-.04em;color:#151722}
.cantorTitleRow .cantorSeal{min-width:58px;height:58px;border-radius:999px;background:linear-gradient(135deg,var(--fuchsia),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 14px 28px rgba(229,22,115,.22)}
.cantorSubtitle{font-weight:850;color:#41485a;margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.cantorVerse{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.45;color:#5b223f;margin:8px 0 0;padding:12px 14px;border-left:4px solid var(--fuchsia);background:rgba(255,255,255,.72);border-radius:14px}
.cantorArticleBadge{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.cantorArticleBadge span{border-radius:999px;background:#fff;border:1px solid rgba(19,85,216,.18);padding:7px 10px;font-size:12px;font-weight:850;color:#293040}
.cantorGrid{display:grid;grid-template-columns:minmax(260px,.88fr) minmax(320px,1.12fr);gap:16px;align-items:start}
@media(max-width:1100px){.cantorGrid{grid-template-columns:1fr}}
.cantorPanel{border:1px solid rgba(30,38,60,.10);background:rgba(255,255,255,.84);border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(20,25,40,.07)}
.cantorPanel h4{margin:0 0 8px;font-size:16px;letter-spacing:-.02em}
.cantorPanel p{margin:0 0 10px;color:#5e6574;line-height:1.45}
.cantorSteps{display:grid;gap:9px;margin:12px 0}
.cantorStep{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:10px;border:1px solid rgba(30,38,60,.08);border-radius:15px;background:#fffdf9}
.cantorStep b{width:30px;height:30px;border-radius:999px;background:rgba(229,22,115,.12);color:var(--fuchsia);display:flex;align-items:center;justify-content:center;font-weight:950}
.cantorStep strong{display:block;font-size:13px;margin-bottom:2px}
.cantorStep span{font-size:12px;color:#687084;line-height:1.35}
.cantorControls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.cantorControls .miniBtn.isRecording{background:linear-gradient(135deg,#e51673,#ff4a95);color:#fff;box-shadow:0 10px 20px rgba(229,22,115,.25)}
.cantorStatus{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;color:#5d6575;font-size:12px;font-weight:800}
.cantorStatus span{padding:7px 9px;border-radius:999px;border:1px solid rgba(30,38,60,.10);background:#fff}
.cantorStatus .hot{border-color:rgba(229,22,115,.22);color:#ad1057;background:#fff4f9}
.cantorAudioWrap{margin:10px 0;padding:10px;border-radius:16px;background:#f8f9ff;border:1px dashed rgba(19,85,216,.28)}
.cantorAudioWrap audio{width:100%;display:block}
.cantorTextarea{width:100%;min-height:210px;border:1px solid rgba(30,38,60,.16);border-radius:18px;background:#fffdf8;color:#1f2430;padding:14px;font-size:14px;line-height:1.55;resize:vertical;outline:none}
.cantorTextarea:focus{border-color:rgba(19,85,216,.42);box-shadow:0 0 0 4px rgba(19,85,216,.08)}
.cantorSmallHint{font-size:12px;color:#7b8190;line-height:1.4;margin-top:7px}
.cantorResults{display:grid;gap:12px;margin-top:14px}
.cantorScoreCard{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;border-radius:22px;padding:16px;background:linear-gradient(135deg,#ffffff,#fff8fd);border:1px solid rgba(229,22,115,.16)}
.cantorScoreBubble{width:104px;height:104px;border-radius:999px;background:conic-gradient(var(--fuchsia) var(--score-deg,0deg), #efe8df 0deg);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 10px #fff,0 10px 26px rgba(20,25,40,.10)}
.cantorScoreBubble strong{font-size:26px;letter-spacing:-.04em}
.cantorScoreCard h4{margin:0 0 4px;font-size:18px}
.cantorScoreCard p{margin:0;color:#626a7a}
.cantorDiffGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media(max-width:980px){.cantorDiffGrid{grid-template-columns:1fr}}
.cantorDiffBox{border-radius:18px;border:1px solid rgba(30,38,60,.10);background:#fff;padding:12px;min-height:120px}
.cantorDiffBox h5{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#394154}
.cantorDiffBox ul{margin:0;padding-left:18px;color:#4d5566;line-height:1.42;font-size:13px}
.cantorDiffBox li+li{margin-top:5px}
.cantorDiffBox .empty{font-size:13px;color:#8b92a0;font-style:italic}
.cantorVerdict{border-radius:22px;padding:16px;border:1px solid rgba(229,22,115,.25);background:linear-gradient(135deg,#2a1020,#42163c);color:#fff;box-shadow:0 16px 34px rgba(66,22,60,.20)}
.cantorVerdict h4{margin:0 0 10px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:22px}
.cantorVerdict p{margin:0;line-height:1.55;color:#fff7fb;font-size:15px}
.cantorLiteral{max-height:230px;overflow:auto;border-radius:18px;background:#fffdf8;border:1px solid rgba(30,38,60,.10);padding:14px;white-space:pre-wrap;line-height:1.58;font-size:13px;color:#303746}
.cantorHistoryList{display:grid;gap:8px;max-height:240px;overflow:auto;padding-right:4px}
.cantorHistoryItem{border:1px solid rgba(30,38,60,.10);background:#fff;border-radius:15px;padding:10px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.cantorHistoryItem strong{display:block;font-size:13px;color:#252b38}
.cantorHistoryItem span{display:block;font-size:12px;color:#6e7585;margin-top:2px}
.cantorHistoryItem em{font-style:normal;font-weight:950;color:var(--fuchsia)}
.cantorManualTranscribe{padding:10px 12px;border-radius:16px;background:#fff8ea;border:1px solid rgba(230,160,25,.25);font-size:12px;color:#6d4c0f;line-height:1.45}
body.lolaMode .cantorPanel{background:rgba(255,255,255,.88)}


/* V24 — Banco de Supuestos La Pede */
.supuestosModule{background:linear-gradient(180deg,#fff,#fff8fc)}
.supFilterGrid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:14px 0 10px}
@media(max-width:1100px){.supFilterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.supFilterGrid label{display:grid;gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:#596073}
.supFilterGrid select,.supSearchRow input{width:100%;border:1px solid rgba(30,38,60,.14);border-radius:14px;background:#fff;color:#1f2430;padding:10px 11px;font-size:13px;outline:none}
.supFilterGrid select:focus,.supSearchRow input:focus{border-color:rgba(19,85,216,.44);box-shadow:0 0 0 4px rgba(19,85,216,.08)}
.supSearchRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:8px 0}
@media(max-width:900px){.supSearchRow{grid-template-columns:1fr}}
.supCheck{display:flex;align-items:center;gap:8px;border:1px solid rgba(229,22,115,.17);background:#fff4f9;color:#8c124c;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;white-space:nowrap}
.supStats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.supStats span{border-radius:999px;background:#f4f6fb;border:1px solid rgba(30,38,60,.08);padding:8px 10px;font-size:12px;color:#596073}.supStats b{color:#151722;font-size:14px}
.supLayout{display:grid;grid-template-columns:minmax(245px,.58fr) minmax(560px,1.42fr);gap:18px;margin-top:12px;align-items:start}
@media(max-width:1180px){.supLayout{grid-template-columns:1fr}}
.supList{max-height:720px}.supItem{position:relative}.supItem.isSelected{border-color:var(--fuchsia);box-shadow:0 10px 22px rgba(229,22,115,.12);background:#fff9fc}.supItem em{font-style:normal;font-size:11.5px;color:#8a516c;font-weight:850;margin-top:3px}
.supDetailWrap{min-width:0}.supuestosModule{max-width:none}.supDetail{border:1px solid rgba(30,38,60,.10);background:#fff;border-radius:22px;padding:16px;box-shadow:0 16px 34px rgba(20,25,40,.08);display:grid;gap:12px}.supDetailHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.supDetailHeader h4{font-size:20px;line-height:1.15;margin:3px 0 0;letter-spacing:-.035em;color:#151722}.supQuestionBox,.supDetailBlock,.supRefs,.supAnswerBox,.supNoAnswer{border-radius:18px;border:1px solid rgba(30,38,60,.10);background:#fffdf8;padding:13px}.supQuestionBox h5,.supDetailBlock h5,.supRefs h5,.supAnswerBox h5{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#4b5365}.supQuestionBox div,.supDetailBlock div,.supAnswerBox div{white-space:pre-wrap;line-height:1.62;color:#303747;font-size:14px}.supFacts{background:#f8faff}.supAnswerBox{background:linear-gradient(180deg,#fff,#f8fbff);border-color:rgba(19,85,216,.14)}.supAnswerBox div{max-height:520px;overflow:auto;padding-right:6px}.supNoAnswer{background:#fff4f0;border-color:rgba(210,84,36,.22);display:grid;gap:3px}.supNoAnswer strong{color:#923611}.supNoAnswer span{font-size:12.5px;color:#6c5360}.supLgtLinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.supRefBtn{border:1px solid rgba(19,85,216,.22);background:#fff;color:#1355d8;border-radius:999px;padding:8px 10px;font-weight:900;font-size:12px;cursor:pointer}.supRefBtn:hover{background:#eef4ff}.badge.soft{opacity:.65}.moduleListItem.supItem:hover{transform:none}
body.lolaMode .supDetail{box-shadow:0 16px 34px rgba(229,22,115,.10)}
body.lolaMode .supRefBtn{border-color:rgba(229,22,115,.25);color:#b3115b}


/* V25 — Supuestos en pantalla más ancha. La Pede deja de encajonar la respuesta. */
.appShell.expanded{grid-template-columns:minmax(560px,.82fr) minmax(880px,1.18fr);min-width:1580px;}
.appShell.expanded .rightPanel{min-width:880px;}
.supuestosModule .supLayout{grid-template-columns:minmax(245px,.58fr) minmax(560px,1.42fr);gap:18px;}
.supuestosModule .supDetail{padding:18px 20px;}
.supuestosModule .supDetailHeader h4{font-size:22px;}
.supuestosModule .supAnswerBox div{max-height:520px;font-size:14px;line-height:1.62;}
@media(max-width:1180px){.appShell.expanded .rightPanel{min-width:0}.supuestosModule .supLayout{grid-template-columns:1fr}}

/* === V26 · LA PEDE TE VIGILA: dominio real + curva del olvido === */
.reviewRailItem{position:relative}
.reviewDueBadge{position:absolute;right:8px;top:7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ff2d55;color:#fff;font:900 11px/1 system-ui;box-shadow:0 5px 14px rgba(255,45,85,.35);border:2px solid #fff}
.reviewDueBadge[hidden]{display:none}

.reviewModule{max-width:none;background:linear-gradient(180deg,#fff,#fffaf1 46%,#fff7fb);padding-bottom:28px}
.reviewModuleIntro{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:4px 2px 14px}
.reviewModuleIntro h4{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:-.04em;margin:0 0 5px;color:#151722}
.reviewModuleIntro p{margin:0;color:#5a6170;font-weight:700;line-height:1.45}
.todayStamp{min-width:170px;text-align:right;background:#fff;border:1px solid rgba(229,22,115,.18);border-radius:16px;padding:10px 12px;box-shadow:0 8px 20px rgba(20,28,48,.05)}
.todayStamp span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:950;color:var(--fuchsia)}
.todayStamp strong{display:block;margin-top:3px;font-size:13px;color:#343a49}

.reviewStats{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:4px 0 16px}
.reviewStat{border:1px solid rgba(34,45,70,.10);border-radius:17px;padding:12px 13px;background:#fff;box-shadow:0 9px 22px rgba(20,28,48,.05);display:flex;flex-direction:column;gap:1px}
.reviewStat b{font:900 27px/1 Georgia,'Times New Roman',serif;color:#1f2a44}
.reviewStat span{font-size:11.5px;font-weight:800;color:#687083}
.reviewStat.urgent{background:linear-gradient(145deg,#fff1f4,#fff);border-color:rgba(225,29,72,.2)}
.reviewStat.urgent b{color:#c9184a}.reviewStat.diamond{background:linear-gradient(145deg,#eef6ff,#fff)}.reviewStat.diamond b{color:#316bd8}.reviewStat.muted{opacity:.78}

.currentReviewCard{position:relative;border:1px solid rgba(34,45,70,.11);border-radius:22px;padding:17px 18px;background:#fff;box-shadow:0 16px 34px rgba(20,28,48,.07);overflow:hidden;margin-bottom:16px}
.currentReviewCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#b7bdc9}
.currentReviewCard.level-red:before{background:#e63946}.currentReviewCard.level-orange:before{background:#f28c28}.currentReviewCard.level-yellow:before{background:#e3b505}.currentReviewCard.level-green:before{background:#2c9a58}.currentReviewCard.level-diamond:before{background:linear-gradient(#3e8bed,#9c6ee8)}
.currentReviewHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.reviewEyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:950;color:#8b5672;margin-bottom:3px}
.currentReviewHeader h4{margin:0;font:800 22px/1.2 Georgia,'Times New Roman',serif;color:#202536}
.currentReviewStatus{white-space:nowrap;border-radius:999px;padding:7px 10px;background:#f4f6fa;border:1px solid #dde2eb;font-size:12px;font-weight:900;color:#424b5d}
.currentReviewCard>p{margin:10px 0 9px;color:#50596a;font-weight:650;line-height:1.48}
.currentReviewDates,.reviewDates{display:flex;gap:15px;flex-wrap:wrap;color:#687083;font-size:12px;margin:7px 0 12px}.currentReviewDates b,.reviewDates b{color:#323a4b}
.reviewPrompt{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#3b4354;margin:9px 0 8px}

.reviewLevelButtons{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));gap:8px}
.reviewLevelBtn{border:1px solid rgba(34,45,70,.11);background:#fff;border-radius:16px;padding:10px 8px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'icon label' 'icon small';column-gap:7px;text-align:left;align-items:center;cursor:pointer;transition:.16s ease;color:#293041}
.reviewLevelBtn span{grid-area:icon;font-size:22px}.reviewLevelBtn b{grid-area:label;font-size:12.5px}.reviewLevelBtn small{grid-area:small;font-size:10.5px;color:#70788a;line-height:1.15}
.reviewLevelBtn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(20,28,48,.09)}
.reviewLevelBtn.level-red:hover{border-color:#e63946;background:#fff5f6}.reviewLevelBtn.level-orange:hover{border-color:#f28c28;background:#fff8f0}.reviewLevelBtn.level-yellow:hover{border-color:#d4a600;background:#fffceb}.reviewLevelBtn.level-green:hover{border-color:#2c9a58;background:#f0fff6}.reviewLevelBtn.level-diamond:hover{border-color:#528ee8;background:#f1f7ff}

.forgetCurveWrap{border:1px solid rgba(34,45,70,.10);border-radius:22px;background:linear-gradient(180deg,#fafbff,#fff);padding:15px 16px 10px;margin:15px 0 20px;overflow:hidden}
.forgetCurveTitle{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.forgetCurveTitle strong{font:800 18px Georgia,'Times New Roman',serif;color:#272d3d}.forgetCurveTitle span{font-size:11.5px;color:#697184;font-weight:700}
.forgetCurveGraphic{position:relative;height:175px;margin-top:5px}
.forgetCurveGraphic svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.forgetCurveShadow{fill:none;stroke:rgba(31,42,68,.08);stroke-width:12;stroke-linecap:round}.forgetCurveLine{fill:none;stroke:url(#none);stroke:#d692aa;stroke-width:3;stroke-linecap:round;stroke-dasharray:7 7}
.curveNodes{position:absolute;inset:0}.curveNode{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;min-width:80px}.curveNode span{font-size:22px;filter:grayscale(.25)}.curveNode b{font-size:12px;color:#343c4e;margin-top:2px}.curveNode small{font-size:10px;color:#70788a;font-weight:850}.curveNode.isActive{transform:translate(-50%,-50%) scale(1.14)}.curveNode.isActive span{filter:none}.curveNode.isActive:before{content:"";position:absolute;inset:-8px -12px;border-radius:18px;background:rgba(229,22,115,.08);z-index:-1;box-shadow:0 8px 18px rgba(229,22,115,.12)}

.reviewSection{margin:18px 0}.reviewSectionTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.reviewSectionTitle>div{display:flex;align-items:center;gap:8px}.reviewSectionTitle h4{margin:0;font:800 20px Georgia,'Times New Roman',serif;color:#262c3b}.reviewSectionTitle>span{font-size:11px;font-weight:900;color:#737b8d;background:#f2f4f8;border-radius:999px;padding:6px 9px}.reviewSectionIcon{font-size:21px}
.reviewGrid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:10px}.reviewGrid.compactGrid{grid-template-columns:repeat(2,minmax(260px,1fr))}
.reviewCard{position:relative;border:1px solid rgba(34,45,70,.10);border-radius:18px;padding:13px 14px;background:#fff;box-shadow:0 9px 22px rgba(20,28,48,.05);overflow:hidden}.reviewCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#adb5c3}.reviewCard.level-red:before{background:#e63946}.reviewCard.level-orange:before{background:#f28c28}.reviewCard.level-yellow:before{background:#d6aa00}.reviewCard.level-green:before{background:#2c9a58}.reviewCard.level-diamond:before{background:#5c83e8}.reviewCard.due{background:linear-gradient(145deg,#fff,#fff8f8)}
.reviewCardTop{display:flex;justify-content:space-between;gap:8px;align-items:center}.reviewLevelPill{font-size:10.5px;font-weight:900;border-radius:999px;padding:5px 8px;background:#f2f4f8;color:#4a5365}.reviewWhen{font-size:10.5px;font-weight:900;color:#5c6577}.reviewWhen.late{color:#bc1745}
.reviewCard h5{margin:10px 0 2px;font:800 20px/1 Georgia,'Times New Roman',serif;color:#202536}.reviewCard p{margin:0;color:#525b6c;font-size:12.5px;font-weight:650;line-height:1.35}.reviewCardActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.reviewCardActions .miniBtn{font-size:10.5px;padding:7px 8px}.reviewDoneBtn{border-color:rgba(44,154,88,.28)!important;color:#267c4a!important;background:#f4fff8!important}
.reviewEmpty{border:1px dashed #cfd5df;border-radius:18px;padding:20px;background:#fff;text-align:center;display:flex;flex-direction:column;gap:4px;color:#667083}.reviewEmpty strong{color:#333b4d}.reviewEmpty.small{padding:14px}
.reviewAllDetails{border-top:1px solid #eceef3;margin-top:18px;padding-top:12px}.reviewAllDetails summary{cursor:pointer;font-weight:900;color:#394256;margin-bottom:10px}

.reviewToast{position:fixed;right:22px;bottom:22px;z-index:12000;max-width:480px;display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;background:linear-gradient(145deg,#24142b,#3b1530);color:#fff;box-shadow:0 20px 48px rgba(25,12,32,.36);border:1px solid rgba(255,255,255,.16);animation:reviewToastIn .25s ease-out}.reviewToast[hidden]{display:none}.reviewToast>div{display:flex;flex-direction:column;gap:2px;flex:1}.reviewToast strong{font-family:Georgia,'Times New Roman',serif;font-size:17px;color:#ffd39a}.reviewToast span{font-size:12.5px;line-height:1.42;color:#fff}.reviewToast button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.10);color:#fff;border-radius:10px;padding:7px 9px;font-weight:900;cursor:pointer}.reviewToastClose{font-size:17px;padding:5px 8px!important}.reviewToast button:hover{background:rgba(255,255,255,.18)}
@keyframes reviewToastIn{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}

body.lolaMode .reviewModule{background:linear-gradient(180deg,#fff,#fff4fa 46%,#fff8eb)}
body.lolaMode .currentReviewCard{border-color:rgba(229,22,115,.18)}

@media(max-width:1400px){.reviewStats{grid-template-columns:repeat(3,1fr)}.reviewLevelButtons{grid-template-columns:repeat(3,1fr)}.reviewGrid,.reviewGrid.compactGrid{grid-template-columns:1fr}.forgetCurveGraphic{min-width:680px}.forgetCurveWrap{overflow:auto}}
@media(max-width:900px){.reviewModuleIntro,.currentReviewHeader{flex-direction:column}.todayStamp{text-align:left;min-width:0}.reviewStats{grid-template-columns:repeat(2,1fr)}.reviewLevelButtons{grid-template-columns:1fr}.reviewToast{left:12px;right:12px;bottom:12px}}

/* =========================================================
   V26 — LA PEDE TE VIGILA
   Semáforo de dominio + curva del olvido + repasos diarios
   ========================================================= */
.reviewRailItem{position:relative}
.reviewDueBadge{position:absolute;right:8px;top:8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#e51673;color:#fff;font-size:11px;font-weight:1000;box-shadow:0 6px 14px rgba(229,22,115,.3);font-style:normal}
.reviewToast{position:fixed;right:22px;bottom:22px;z-index:9999;max-width:440px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:#171927;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px 15px;box-shadow:0 20px 55px rgba(12,16,30,.28)}
.reviewToast[hidden]{display:none}.reviewToast div{display:grid;gap:3px}.reviewToast strong{font-size:14px;color:#fff}.reviewToast span{font-size:12.5px;line-height:1.42;color:#e9eaf1}.reviewToast button{border:1px solid rgba(255,255,255,.20);background:#fff;color:#191b29;border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer}.reviewToast .reviewToastClose{width:30px;height:30px;padding:0;font-size:18px;background:transparent;color:#fff}

.reviewModule{background:linear-gradient(180deg,#fff 0%,#fff9fc 46%,#fffdf7 100%);max-width:none;padding:20px}
.reviewModuleIntro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.reviewModuleIntro h4{font-family:Georgia,'Times New Roman',serif;font-size:29px;letter-spacing:-.035em;color:#171927;margin:0 0 5px}.reviewModuleIntro p{margin:0;color:#5b6272;font-weight:700;line-height:1.46}.todayStamp{flex:0 0 auto;border:1px solid rgba(229,22,115,.17);background:#fff4f9;border-radius:18px;padding:10px 13px;text-align:right;display:grid;gap:2px}.todayStamp span{text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:950;color:#a42a61}.todayStamp strong{font-size:13px;color:#202536}
.reviewStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:15px 0 18px}.reviewStat{border:1px solid rgba(28,34,50,.09);background:#fff;border-radius:16px;padding:12px;display:grid;gap:3px;box-shadow:0 8px 18px rgba(20,28,48,.04)}.reviewStat b{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1;color:#1e2433}.reviewStat span{font-size:11.5px;color:#697083;font-weight:850}.reviewStat.urgent{background:#fff1f4;border-color:rgba(225,29,72,.18)}.reviewStat.urgent b{color:#c41543}.reviewStat.diamond{background:#f0f9ff;border-color:rgba(14,116,144,.18)}.reviewStat.diamond b{color:#0c7995}.reviewStat.muted{opacity:.72}

.currentReviewCard{--level:#9ca3af;border:1px solid color-mix(in srgb,var(--level) 30%,#d9dee8);background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--level) 7%,white) 100%);border-radius:24px;padding:17px 18px;box-shadow:0 14px 30px rgba(20,28,48,.07);position:relative;overflow:hidden}.currentReviewCard:after{content:"";position:absolute;right:-42px;top:-52px;width:140px;height:140px;border-radius:50%;background:color-mix(in srgb,var(--level) 12%,transparent)}.currentReviewCard.level-red{--level:#d9364f}.currentReviewCard.level-orange{--level:#e88527}.currentReviewCard.level-yellow{--level:#d9b514}.currentReviewCard.level-green{--level:#20a36b}.currentReviewCard.level-diamond{--level:#1c90b3}.currentReviewHeader{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;position:relative;z-index:1}.currentReviewHeader h4{margin:3px 0 0;font-size:20px;line-height:1.22;color:#171927}.reviewEyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:950;color:#767d8e}.currentReviewStatus{white-space:nowrap;border:1px solid color-mix(in srgb,var(--level) 32%,#d6dce7);background:#fff;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:950;color:#283044}.currentReviewCard>p{position:relative;z-index:1;margin:12px 0;color:#4e5668;line-height:1.48;font-weight:670}.currentReviewDates{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 12px;font-size:12px;color:#667084}.currentReviewDates b{color:#252c3b}.reviewPrompt{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#5f6676;font-weight:950;margin:12px 0 8px;position:relative;z-index:1}
.reviewLevelButtons{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;position:relative;z-index:1}.reviewLevelBtn{--level:#888;border:1px solid color-mix(in srgb,var(--level) 34%,#dce1e9);background:#fff;border-radius:15px;padding:10px 8px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'icon label' 'icon short';column-gap:7px;align-items:center;text-align:left;cursor:pointer;transition:.16s ease;color:#1f2635}.reviewLevelBtn:hover{transform:translateY(-2px);box-shadow:0 10px 20px color-mix(in srgb,var(--level) 13%,transparent);border-color:var(--level)}.reviewLevelBtn span{grid-area:icon;font-size:20px}.reviewLevelBtn b{grid-area:label;font-size:12.5px}.reviewLevelBtn small{grid-area:short;font-size:10px;line-height:1.22;color:#697184;font-weight:750}.reviewLevelBtn.level-red{--level:#d9364f}.reviewLevelBtn.level-orange{--level:#e88527}.reviewLevelBtn.level-yellow{--level:#d9b514}.reviewLevelBtn.level-green{--level:#20a36b}.reviewLevelBtn.level-diamond{--level:#1c90b3}

.forgetCurveWrap{margin:19px 0 20px;border:1px solid rgba(29,36,54,.09);background:#fff;border-radius:22px;padding:15px 16px 13px}.forgetCurveTitle{display:flex;justify-content:space-between;gap:14px;align-items:baseline}.forgetCurveTitle strong{font-size:15px;color:#202636}.forgetCurveTitle span{font-size:11.5px;color:#757c8c;font-weight:700}.forgetCurveGraphic{height:170px;position:relative;margin-top:2px}.forgetCurveGraphic svg{position:absolute;inset:8px 0 20px;width:100%;height:130px;overflow:visible}.forgetCurveLine{fill:none;stroke:#e51673;stroke-width:3.5;stroke-linecap:round}.forgetCurveShadow{fill:none;stroke:rgba(229,22,115,.11);stroke-width:13;stroke-linecap:round}.curveNodes{position:absolute;inset:0}.curveNode{position:absolute;left:var(--node-x);top:94px;transform:translateX(-50%);display:grid;justify-items:center;gap:1px;transition:.18s ease}.curveNode:before{content:"";width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #e51673;margin-bottom:2px}.curveNode span{font-size:18px}.curveNode b{font-size:11px;color:#252b3b}.curveNode small{font-size:9.5px;color:#71798b;font-weight:850}.curveNode.isActive{transform:translateX(-50%) scale(1.12)}.curveNode.isActive:before{background:#e51673;box-shadow:0 0 0 7px rgba(229,22,115,.10)}

.reviewSection{margin-top:20px}.reviewSectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.reviewSectionTitle>div{display:flex;align-items:center;gap:8px}.reviewSectionTitle h4{margin:0;font-size:17px;color:#202636}.reviewSectionTitle>span{font-size:11.5px;font-weight:900;color:#7a8191;border:1px solid rgba(29,36,54,.10);background:#fff;border-radius:999px;padding:6px 9px}.reviewSectionIcon{font-size:18px}.reviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.reviewGrid.compactGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.reviewCard{--level:#999;border:1px solid color-mix(in srgb,var(--level) 24%,#dce1e9);background:#fff;border-radius:18px;padding:13px 14px;box-shadow:0 8px 20px rgba(20,28,48,.05);display:grid;gap:8px}.reviewCard.level-red{--level:#d9364f}.reviewCard.level-orange{--level:#e88527}.reviewCard.level-yellow{--level:#d9b514}.reviewCard.level-green{--level:#20a36b}.reviewCard.level-diamond{--level:#1c90b3}.reviewCard.due{background:linear-gradient(180deg,#fff,#fff8fa)}.reviewCardTop{display:flex;justify-content:space-between;gap:8px;align-items:center}.reviewLevelPill{font-size:11px;font-weight:950;color:#303747}.reviewWhen{font-size:10.5px;font-weight:950;color:#765f12;background:#fff8da;border-radius:999px;padding:5px 7px}.reviewWhen.late{color:#a11943;background:#fff0f4}.reviewCard h5{font-family:Georgia,'Times New Roman',serif;font-size:18px;margin:0;color:#171927}.reviewCard p{margin:0;color:#555d70;line-height:1.38;font-size:12.5px;font-weight:650}.reviewDates{display:grid;gap:3px;font-size:10.5px;color:#7a8191}.reviewDates b{color:#343b4c}.reviewCardActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.reviewCardActions .miniBtn{padding:7px 8px;font-size:10.5px}.reviewDoneBtn{border-color:color-mix(in srgb,var(--level) 35%,#d9dfe8)!important;color:color-mix(in srgb,var(--level) 82%,#172030)!important}.reviewEmpty{grid-column:1/-1;border:1px dashed rgba(30,38,60,.16);background:rgba(255,255,255,.75);border-radius:17px;padding:18px;display:grid;gap:4px;text-align:center;color:#687083}.reviewEmpty strong{color:#2c3343}.reviewEmpty.small{padding:13px}.reviewAllDetails{margin-top:18px;border:1px solid rgba(29,36,54,.10);background:#fff;border-radius:18px;padding:12px 14px}.reviewAllDetails summary{cursor:pointer;font-size:13px;font-weight:950;color:#32394a;margin-bottom:12px}

.statusBox select{max-width:280px}.statusBox select option{font-weight:700}
body.lolaMode .reviewModule{box-shadow:0 16px 38px rgba(229,22,115,.09)}
body.lolaMode .currentReviewCard{box-shadow:0 16px 34px rgba(229,22,115,.08)}
@media(max-width:1350px){.reviewStats{grid-template-columns:repeat(3,1fr)}.reviewLevelButtons{grid-template-columns:repeat(2,1fr)}.reviewGrid,.reviewGrid.compactGrid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.reviewModuleIntro,.forgetCurveTitle{display:grid}.reviewStats{grid-template-columns:repeat(2,1fr)}.reviewGrid,.reviewGrid.compactGrid{grid-template-columns:1fr}.reviewLevelButtons{grid-template-columns:1fr}.reviewToast{left:12px;right:12px;bottom:12px;max-width:none}.currentReviewHeader{display:grid}.currentReviewStatus{justify-self:start}}
.sideRail{overflow-y:auto;overflow-x:hidden}.sideRail::-webkit-scrollbar{width:6px}.sideRail::-webkit-scrollbar-thumb{background:rgba(88,96,118,.18);border-radius:999px}

/* === V27: curva del olvido por tramos reales === */
.forgetCurveSequences{height:auto!important;display:grid;gap:8px;margin-top:12px;padding:4px 0 2px;}
.sequenceRow{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;border:1px solid rgba(31,38,56,.08);background:#fff;border-radius:16px;padding:9px 10px;box-shadow:0 6px 14px rgba(20,28,48,.035);}
.sequenceRow.isActive{border-color:rgba(229,22,115,.34);background:linear-gradient(180deg,#fff7fb,#fff);box-shadow:0 10px 22px rgba(229,22,115,.09);}
.sequenceLevel{display:flex;align-items:center;gap:8px;font-weight:950;color:#202636;}
.sequenceLevel span{font-size:20px;}
.sequenceSteps{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.sequenceSteps i{font-style:normal;color:#a7adba;font-weight:1000;}
.sequenceStep{min-width:58px;display:inline-flex;align-items:baseline;justify-content:center;gap:3px;border-radius:999px;padding:6px 9px;background:#f5f7fb;border:1px solid rgba(31,38,56,.08);font-weight:950;color:#263044;}
.sequenceStep b{font-size:13px;}
.sequenceStep small{font-size:9.5px;color:#6e7586;font-weight:850;}
.sequenceRow.level-red .sequenceStep{background:#fff3f5;border-color:rgba(217,54,79,.16)}
.sequenceRow.level-orange .sequenceStep{background:#fff7ec;border-color:rgba(232,133,39,.18)}
.sequenceRow.level-yellow .sequenceStep{background:#fffbea;border-color:rgba(217,181,20,.20)}
.sequenceRow.level-green .sequenceStep{background:#effcf6;border-color:rgba(32,163,107,.18)}
.sequenceRow.level-diamond .sequenceStep{background:#effaff;border-color:rgba(28,144,179,.18)}
.currentReviewDates span:last-child,.reviewDates span:last-child{color:#7b4660;font-weight:850;}

/* === V28 · RADAR DE PLAZOS: vencimientos, días, meses y trampas de examen === */
.plazosModule{max-width:none;background:linear-gradient(180deg,#fff,#f7fbff 48%,#fff8fc);padding-bottom:26px}
.plazosIntro{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:4px 2px 14px}
.plazosIntro h4{font-family:Georgia,'Times New Roman',serif;font-size:30px;letter-spacing:-.04em;margin:0 0 6px;color:#151722}
.plazosIntro p{margin:0;color:#535d72;font-weight:750;line-height:1.45}
.plazosTotal{min-width:125px;text-align:right;border:1px solid rgba(19,85,216,.16);background:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 8px 20px rgba(20,28,48,.05)}
.plazosTotal span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:950;color:#1355d8}.plazosTotal strong{display:block;margin-top:2px;font-size:28px;line-height:1;color:#1d2433;font-family:Georgia,'Times New Roman',serif}
.plazoStats{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 13px}.plazoStats span{border-radius:999px;background:#fff;border:1px solid rgba(30,38,60,.08);padding:8px 10px;font-size:12px;color:#596073;box-shadow:0 6px 14px rgba(20,28,48,.035)}.plazoStats b{color:#151722;font-size:14px}
.plazoQuickRow{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.quickPlazo{border:1px solid rgba(229,22,115,.18);background:#fff4f9;color:#9a1550;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950;cursor:pointer}.quickPlazo:hover{background:#ffe8f3;border-color:rgba(229,22,115,.35)}
.plazoFilters{display:grid;grid-template-columns:1.5fr repeat(4,minmax(125px,.75fr));gap:9px;align-items:center;margin:10px 0 14px}.plazoFilters input,.plazoFilters select{width:100%;border:1px solid rgba(30,38,60,.14);border-radius:14px;background:#fff;color:#1f2430;padding:10px 11px;font-size:13px;outline:none}.plazoFilters input:focus,.plazoFilters select:focus{border-color:rgba(19,85,216,.44);box-shadow:0 0 0 4px rgba(19,85,216,.08)}.plazoFilters .miniBtn{height:38px}.checkLine{display:flex;align-items:center;gap:7px;border:1px solid rgba(19,85,216,.13);background:#f5f8ff;border-radius:999px;padding:9px 10px;font-size:11.5px;font-weight:900;color:#385078;white-space:nowrap}
.plazoWorkArea{display:grid;grid-template-columns:minmax(280px,.70fr) minmax(580px,1.30fr);gap:18px;align-items:start}.plazoList{border:1px solid rgba(30,38,60,.09);background:rgba(255,255,255,.76);border-radius:20px;padding:10px;max-height:760px;overflow:auto}.plazoListHeader{font-size:11px;text-transform:uppercase;letter-spacing:.10em;font-weight:950;color:#697083;margin:3px 4px 9px}.plazoListItem{display:block;width:100%;text-align:left;border:1px solid rgba(31,38,56,.09);background:#fff;border-radius:16px;padding:12px 12px;margin-bottom:9px;cursor:pointer;color:#202737;transition:.15s ease;box-shadow:0 6px 14px rgba(20,28,48,.035)}.plazoListItem:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(20,28,48,.07)}.plazoListItem.isSelected{border-color:rgba(229,22,115,.42);background:#fff8fc;box-shadow:0 10px 24px rgba(229,22,115,.10)}.plazoListTop{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.plazoListTop strong{font-size:18px;line-height:1.05;font-family:Georgia,'Times New Roman',serif;color:#171927}.plazoListItem span:not(.badge){display:block;font-size:12.2px;font-weight:900;color:#3b4355;margin-bottom:5px}.plazoListItem em{display:block;font-style:normal;font-size:12px;line-height:1.35;color:#697184}
.plazoDetailWrap{min-width:0}.plazoDetail{border:1px solid rgba(30,38,60,.10);background:#fff;border-radius:22px;padding:18px 20px;box-shadow:0 16px 34px rgba(20,25,40,.08);display:grid;gap:13px}.plazoDetailHeader{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.plazoDetailHeader h4{font-size:31px;font-family:Georgia,'Times New Roman',serif;line-height:1.05;letter-spacing:-.04em;margin:3px 0 0;color:#151722}.plazoLiteralBox,.plazoExamBox{border-radius:18px;border:1px solid rgba(30,38,60,.10);padding:14px;background:#fffdf8}.plazoLiteralBox h5,.plazoExamBox h5{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#4b5365}.plazoLiteralBox div{white-space:pre-wrap;line-height:1.64;color:#303747;font-size:15px;font-weight:620}.plazoExamBox{background:linear-gradient(180deg,#fff,#f8fbff);border-color:rgba(19,85,216,.14)}.plazoExamBox p{margin:0;line-height:1.55;color:#354055;font-weight:760}.plazoActions{margin-top:2px}.badge.hot{background:#fff0f3!important;border-color:rgba(225,29,72,.22)!important;color:#b3123d!important}.badge.warn{background:#fff7e7!important;border-color:rgba(232,133,39,.22)!important;color:#8a500a!important}.badge.soft{background:#f4f6fb!important;border-color:rgba(30,38,60,.08)!important;color:#596073!important}
body.lolaMode .plazosModule{box-shadow:0 16px 38px rgba(229,22,115,.08)}body.lolaMode .plazoDetail{box-shadow:0 16px 34px rgba(229,22,115,.10)}body.lolaMode .quickPlazo{border-color:rgba(229,22,115,.24)}
@media(max-width:1320px){.plazoFilters{grid-template-columns:1fr 1fr}.plazoWorkArea{grid-template-columns:1fr}.plazoList{max-height:420px}}
@media(max-width:760px){.plazosIntro,.plazoDetailHeader{display:grid}.plazoFilters{grid-template-columns:1fr}.plazoDetailHeader h4{font-size:25px}.plazoWorkArea{gap:12px}}

/* V29 — Modo supuesto práctico */
.practicoModule{display:flex;flex-direction:column;gap:18px}
.practicoHero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(36,34,91,.08),rgba(219,42,134,.10));border:1px solid rgba(36,34,91,.12)}
.practicoHero h4{margin:0 0 6px;font-size:1.25rem;letter-spacing:.02em;color:var(--navy)}
.practicoHero p{margin:0;color:var(--muted);line-height:1.45}
.practicoStamp{min-width:160px;border-radius:18px;background:#fff;padding:12px 14px;border:1px solid rgba(36,34,91,.14);box-shadow:0 10px 24px rgba(36,34,91,.08)}
.practicoStamp span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;color:var(--muted);font-weight:800}
.practicoStamp strong{display:block;margin-top:3px;color:var(--fuchsia);font-size:1rem}
.practicoCaseBox,.practicoAnswerBox,.practicoGuide,.practicoLinked{border-radius:22px;background:#fff;border:1px solid rgba(36,34,91,.12);padding:18px;box-shadow:0 12px 26px rgba(36,34,91,.06)}
.practicoCaseBox h4,.practicoAnswerBox h4,.practicoGuide h4{margin:0 0 10px;color:var(--navy)}
.practicoCaseBox h5{margin:16px 0 8px;color:var(--fuchsia);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.practicoCaseBox p{margin:0 0 6px;line-height:1.58;color:#27243f}
.practicoAnswerTop{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}
.practicoAnswerTop span{font-size:.86rem;color:var(--muted)}
.practicoTextarea{min-height:240px;font-family:Georgia,'Times New Roman',serif;font-size:1rem;line-height:1.55}
.practicoMethodGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 16px}
.practicoMethodGrid article{border-radius:16px;background:rgba(244,238,226,.76);padding:12px;border:1px solid rgba(36,34,91,.10)}
.practicoMethodGrid strong{display:block;color:var(--navy);margin-bottom:4px}
.practicoMethodGrid span{display:block;color:var(--muted);font-size:.86rem;line-height:1.35}
.practicoLiteral{border-left:4px solid var(--mustard);padding-left:14px}
.practicoLiteral h5{margin:0 0 8px;color:var(--navy)}
.practicoLiteral ol{margin:0;padding-left:22px}
.practicoLiteral li{margin:0 0 8px;line-height:1.45;color:#27243f}
.practicoRealList{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.practicoRealItem{text-align:left}
.practicoEmpty{border-radius:18px;background:rgba(244,238,226,.55);border:1px dashed rgba(36,34,91,.22);padding:16px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.pedeVerdict{border-radius:20px;margin-top:14px;padding:16px 18px;background:linear-gradient(135deg,rgba(219,42,134,.12),rgba(242,180,64,.18));border:1px solid rgba(219,42,134,.22);color:#29233c}
.pedeVerdict strong{display:block;color:var(--fuchsia);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;margin-bottom:6px}
.pedeVerdict p{margin:0;line-height:1.5;font-weight:700}
@media (max-width:1100px){.practicoMethodGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.practicoHero{flex-direction:column}.practicoStamp{min-width:0;width:100%}}


/* V30 — Modo práctico seguro */
.practicoModuleSafe .practicoCaseTop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.practicoCaseLead{margin-top:6px;font-style:italic;color:var(--muted)}
.practicoCaseControls{display:flex;flex-direction:column;gap:10px;min-width:min(100%,360px)}
.practicoModes{display:flex;flex-wrap:wrap;gap:8px}
.practicoModeBtn{border:none;border-radius:999px;padding:10px 14px;background:rgba(36,34,91,.08);color:var(--navy);font-weight:800;cursor:pointer;transition:.18s ease}
.practicoModeBtn:hover{transform:translateY(-1px);background:rgba(36,34,91,.12)}
.practicoModeBtn.isActive{background:linear-gradient(135deg,var(--fuchsia),#ff7bb5);color:#fff;box-shadow:0 10px 24px rgba(219,42,134,.22)}
.practicoAutocontenidoTag{margin:8px 0 0;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(17,151,92,.10);color:#146643;font-weight:800;border:1px solid rgba(17,151,92,.18)}
.practicoFactsList{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.practicoFactsList li{line-height:1.5;color:#27243f}
.practicoTrap{margin-top:12px;border-radius:18px;padding:14px 16px;background:rgba(219,42,134,.08);border:1px solid rgba(219,42,134,.16);display:flex;flex-direction:column;gap:4px}
.practicoTrap strong{color:var(--fuchsia)}
.practicoTrap span{color:#5d2f52;line-height:1.45}
.practicoWarning{margin-bottom:12px;border-radius:18px;padding:14px 16px;background:rgba(255,187,44,.12);border:1px solid rgba(255,187,44,.24);display:flex;flex-direction:column;gap:4px}
.practicoWarning strong{color:#9a5d00}
.practicoWarning span{color:#6d5634;line-height:1.45}
@media (max-width:1100px){.practicoCaseControls{min-width:0;width:100%}}

/* V31 — Cuaderno de fallos integrado */
.fallosModule{display:flex;flex-direction:column;gap:18px}
.fallosHero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(219,42,134,.10),rgba(36,34,91,.08));border:1px solid rgba(36,34,91,.12)}
.fallosHero h4{margin:0 0 6px;font-size:1.25rem;color:var(--navy)}
.fallosHero p{margin:0;color:var(--muted);line-height:1.48}
.fallosStats span:nth-child(2) b,.fallosStats span:nth-child(3) b{color:var(--fuchsia)}
.falloCreateBox{border-radius:22px;background:#fff;border:1px solid rgba(36,34,91,.12);box-shadow:0 12px 26px rgba(36,34,91,.06);padding:18px;display:flex;flex-direction:column;gap:12px}
.falloCreateBox h4{margin:0 0 4px;color:var(--navy)}
.falloCreateBox p{margin:0;color:var(--muted);line-height:1.45}
.falloFormGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.falloFormGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.falloFormGrid label{display:flex;flex-direction:column;gap:5px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.falloFormGrid select,.falloFilters select,.falloFilters input{border:1px solid rgba(36,34,91,.16);border-radius:14px;padding:10px 12px;background:#fff;color:#27243f;font:inherit;text-transform:none;letter-spacing:0;font-weight:600}
.falloTextarea.small{min-height:76px;font-size:.95rem;line-height:1.45}
.falloFilters{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr auto auto;gap:10px;align-items:center;border-radius:20px;background:rgba(244,238,226,.62);padding:12px;border:1px solid rgba(36,34,91,.10)}
.fallosLayout{align-items:stretch}
.falloList{max-height:680px;overflow:auto}
.falloItem em{color:var(--fuchsia);font-style:normal;font-weight:800}
.falloDetail{display:flex;flex-direction:column;gap:12px}
.falloMetaRow{display:flex;flex-wrap:wrap;gap:8px}
.falloMetaRow span{border-radius:999px;background:rgba(36,34,91,.08);padding:7px 10px;color:var(--navy);font-weight:800;font-size:.82rem}
.falloBlock{border-radius:18px;background:rgba(244,238,226,.56);padding:14px;border:1px solid rgba(36,34,91,.10)}
.falloBlock h5{margin:0 0 7px;text-transform:uppercase;letter-spacing:.07em;font-size:.75rem;color:var(--navy)}
.falloBlock p{margin:0;white-space:pre-wrap;line-height:1.52;color:#27243f}
.falloBlock.danger{background:rgba(219,42,134,.07);border-color:rgba(219,42,134,.18)}
.falloBlock.ok{background:rgba(17,151,92,.08);border-color:rgba(17,151,92,.18)}
.falloBlock.trigger{background:rgba(255,187,44,.12);border-color:rgba(255,187,44,.26)}
@media (max-width:1200px){.falloFilters{grid-template-columns:1fr 1fr}.falloFormGrid,.falloFormGrid.two{grid-template-columns:1fr}.fallosHero{flex-direction:column}}


/* V32 — Modo repaso Lola H. */
.repasoModule{display:flex;flex-direction:column;gap:18px;background:linear-gradient(180deg,#fff,#fff8fc 56%,#fffdf5);max-width:none;padding:20px}
.repasoHero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border-radius:24px;background:linear-gradient(135deg,rgba(36,34,91,.09),rgba(219,42,134,.12),rgba(255,187,44,.10));border:1px solid rgba(36,34,91,.12)}
.repasoHero h4{margin:0 0 6px;font-size:1.35rem;color:var(--navy);letter-spacing:-.02em}.repasoHero p{margin:0;color:var(--muted);line-height:1.48;font-weight:680}.repasoStamp{min-width:145px;text-align:right;border-radius:18px;background:#fff;padding:12px 14px;border:1px solid rgba(36,34,91,.12);box-shadow:0 10px 24px rgba(36,34,91,.07)}.repasoStamp span{display:block;text-transform:uppercase;letter-spacing:.10em;font-size:.68rem;color:var(--muted);font-weight:900}.repasoStamp strong{display:block;margin-top:2px;color:var(--fuchsia);font-size:1.06rem}
.repasoStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.repasoStats span{border:1px solid rgba(36,34,91,.10);background:#fff;border-radius:16px;padding:12px;display:grid;gap:3px;box-shadow:0 8px 18px rgba(20,28,48,.04)}.repasoStats b{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1;color:#171927}.repasoStats small{font-size:11px;color:#6d7384;font-weight:850}.repasoLayout{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(420px,1.45fr);gap:14px;align-items:start}.repasoList{max-height:68vh;overflow:auto}.repasoItem em{color:var(--fuchsia)!important}
.repasoDetailCard,.repasoEmpty{border:1px solid rgba(36,34,91,.12);background:#fff;border-radius:24px;padding:18px;box-shadow:0 12px 28px rgba(20,28,48,.06);display:grid;gap:14px}.repasoDetailTop{display:grid;gap:5px}.repasoKind{display:inline-flex;justify-self:start;border-radius:999px;padding:6px 10px;background:rgba(219,42,134,.10);color:var(--fuchsia);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.repasoDetailTop h4{margin:0;font-size:23px;color:#171927;font-family:Georgia,'Times New Roman',serif;letter-spacing:-.02em}.repasoDetailTop p{margin:0;color:#5f6676;line-height:1.45;font-weight:700}.repasoBlocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.repasoBlocks article,.repasoArticleResume,.repasoQuestion{border-radius:17px;background:rgba(244,238,226,.58);border:1px solid rgba(36,34,91,.08);padding:13px}.repasoBlocks strong,.repasoArticleResume strong,.repasoQuestion strong{display:block;color:var(--navy);margin-bottom:5px}.repasoBlocks span,.repasoArticleResume span,.repasoQuestion span{display:block;color:#4f5667;line-height:1.45;font-weight:650}.repasoPedeBox{border-left:5px solid var(--fuchsia);background:linear-gradient(90deg,rgba(219,42,134,.08),rgba(255,187,44,.09));border-radius:16px;padding:14px 15px;color:#5b2445;font-weight:850;line-height:1.45}.repasoDecisionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.repasoDecision{border:1px solid rgba(36,34,91,.12);border-radius:18px;background:#fff;padding:13px;text-align:left;display:grid;gap:4px;cursor:pointer;transition:.16s ease}.repasoDecision:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(20,28,48,.10)}.repasoDecision b{font-size:15px;color:#202638}.repasoDecision span{font-size:12px;color:#6b7282;font-weight:750}.repasoDecision.green{border-color:rgba(32,163,107,.26);background:#f4fff9}.repasoDecision.yellow{border-color:rgba(217,181,20,.28);background:#fffdf0}.repasoDecision.red{border-color:rgba(217,54,79,.28);background:#fff5f7}.repasoDetailCard.kind-fallo{background:linear-gradient(180deg,#fff,#fff7f8)}.repasoDetailCard.kind-supuesto{background:linear-gradient(180deg,#fff,#f8fbff)}
@media(max-width:1250px){.repasoLayout{grid-template-columns:1fr}.repasoStats{grid-template-columns:repeat(2,1fr)}.repasoDecisionGrid,.repasoBlocks{grid-template-columns:1fr}.repasoHero{flex-direction:column}.repasoStamp{text-align:left}}


/* =========================================================
   V33 — ESTÉTICA PREMIUM PETARDA
   Dirección: oposición premium + Movida refinada + cabaret puntual.
   Regla del usuario: todos los botones visibles; fuera Jurisprudencia/Doctrina.
   ========================================================= */
:root{
  --navy:#16143f;
  --navy2:#23225b;
  --cream:#fff6e8;
  --cream2:#fffaf1;
  --pearl:#fffdf8;
  --pede-pink:#e51673;
  --pede-pink2:#ff4f9f;
  --gold:#e6a019;
  --red-danger:#ba1f4b;
  --orange-warn:#f08a24;
  --green-ok:#15915c;
  --diamond:#20a6d8;
}
body{
  background:
    radial-gradient(circle at 90% -5%, rgba(229,22,115,.16), transparent 32%),
    radial-gradient(circle at 12% 92%, rgba(19,85,216,.11), transparent 30%),
    linear-gradient(135deg,#fffaf1 0%,#fff6e8 50%,#f7f8ff 100%);
}
.appFrame{border-radius:28px;background:rgba(255,255,255,.78);backdrop-filter:saturate(1.1) blur(8px)}
.sideRail{padding:12px 9px;gap:10px;background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(255,246,232,.88));}
.railLogo{padding:4px 6px 10px;gap:7px}.railLogoSeal{width:92px;height:92px}.railLogo strong{font-size:19px}.railLogo span{font-size:9.8px;letter-spacing:.07em}.railNav{gap:5px;overflow:auto;padding-right:2px;scrollbar-width:thin}.railNav::-webkit-scrollbar{width:7px}.railNav::-webkit-scrollbar-thumb{background:rgba(229,22,115,.22);border-radius:99px}
.railItem{min-height:38px;border-radius:12px;padding:7px 8px;grid-template-columns:27px 1fr;border:1px solid transparent;background:rgba(255,255,255,.30)}
.railItem span{font-size:18px}.railItem b{font-size:12.2px;line-height:1.05;font-weight:850}.railItem:hover{background:#fff;box-shadow:0 10px 22px rgba(22,20,63,.10);transform:translateX(2px);border-color:rgba(229,22,115,.10)}
.railItem.isActive{background:linear-gradient(135deg,var(--navy),var(--pede-pink));box-shadow:0 12px 28px rgba(229,22,115,.24);color:#fff}.railItem.isActive span{color:#fff}
.studentCard{padding:12px 12px 14px;border-radius:16px;background:linear-gradient(150deg,#14133b,#231c58 58%,#471b50);box-shadow:0 14px 26px rgba(22,20,63,.22)}.studentCrown{font-size:20px}.studentCard strong{font-size:14px}.studentCard span{font-size:11.5px}.progressLabel{margin-top:10px;font-size:12px}.progress{height:6px;margin-top:6px}
.topbar{min-height:92px;padding:16px 30px 12px 34px;background:linear-gradient(180deg,rgba(255,253,248,.88),rgba(255,246,232,.74));box-shadow:0 8px 28px rgba(22,20,63,.04)}
.brandLogoSmall{width:62px;height:62px}.brand h1{font-size:31px}.brand p{font-size:13px;color:#4f5060}.topModeHint{border-color:rgba(229,22,115,.15)}
.articleTools{gap:7px}.articleTools button{border-radius:999px;padding:8px 11px;font-size:12.4px;font-weight:850;border:1px solid rgba(22,20,63,.10);background:linear-gradient(180deg,#fff,#fff8ef)}.articleTools button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(22,20,63,.10)}
.articleHeader h2{letter-spacing:-.035em}.legalText{line-height:1.68}.contentCard,.lolaCard,.modulePanel{border-radius:24px;border-color:rgba(22,20,63,.10);box-shadow:0 16px 36px rgba(22,20,63,.075)}.badge,.miniBtn{border-radius:999px}.miniBtn{font-weight:850}

/* Botonera izquierda: estética por módulo, sin ocultar nada */
.railItem[data-module="esquemas"] span{color:#b27400}.railItem[data-module="cantarticulos"] span{color:#e51673}.railItem[data-module="supuestos"] span{color:#1355d8}.railItem[data-module="practico"] span{color:#7c2df0}.railItem[data-module="fallos"] span{color:#ba1f4b}.railItem[data-module="plazos"] span{color:#f08a24}.railItem[data-module="vigilancia"] span{color:#15915c}.railItem[data-module="repaso"] span{color:#d18a00}.railItem[data-module="favoritos"] span{color:#e6a019}.railItem[data-module="notas"] span{color:#23225b}

/* Panel derecho: misma casa, distintas habitaciones */
.rightPanel{
  --module-accent:var(--pede-pink);
  --module-accent-2:var(--blue);
  --module-soft:rgba(229,22,115,.08);
  --module-soft-2:rgba(19,85,216,.08);
  background:
    radial-gradient(circle at 105% -8%, var(--module-soft), transparent 36%),
    radial-gradient(circle at -5% 95%, var(--module-soft-2), transparent 32%),
    linear-gradient(180deg,#fff,#fffaf5 100%);
  border-left:1px solid rgba(22,20,63,.10);
}
body[data-panel-theme="esquemas"] .rightPanel{--module-accent:#d39011;--module-accent-2:#23225b;--module-soft:rgba(211,144,17,.14);--module-soft-2:rgba(35,34,91,.08)}
body[data-panel-theme="cantarticulos"] .rightPanel{--module-accent:#e51673;--module-accent-2:#1355d8;--module-soft:rgba(229,22,115,.16);--module-soft-2:rgba(19,85,216,.10)}
body[data-panel-theme="supuestos"] .rightPanel{--module-accent:#1355d8;--module-accent-2:#e6a019;--module-soft:rgba(19,85,216,.12);--module-soft-2:rgba(230,160,25,.12)}
body[data-panel-theme="practico"] .rightPanel{--module-accent:#6f31e8;--module-accent-2:#e51673;--module-soft:rgba(111,49,232,.12);--module-soft-2:rgba(229,22,115,.10)}
body[data-panel-theme="fallos"] .rightPanel{--module-accent:#ba1f4b;--module-accent-2:#1b183f;--module-soft:rgba(186,31,75,.14);--module-soft-2:rgba(27,24,63,.08)}
body[data-panel-theme="plazos"] .rightPanel{--module-accent:#f08a24;--module-accent-2:#ba1f4b;--module-soft:rgba(240,138,36,.15);--module-soft-2:rgba(186,31,75,.10)}
body[data-panel-theme="vigilancia"] .rightPanel{--module-accent:#15915c;--module-accent-2:#20a6d8;--module-soft:rgba(21,145,92,.12);--module-soft-2:rgba(32,166,216,.10)}
body[data-panel-theme="repaso"] .rightPanel{--module-accent:#e51673;--module-accent-2:#e6a019;--module-soft:rgba(229,22,115,.15);--module-soft-2:rgba(230,160,25,.14)}
body[data-panel-theme="concordancias"] .rightPanel,body[data-panel-theme="estudio"] .rightPanel{--module-accent:#23225b;--module-accent-2:#e51673;--module-soft:rgba(35,34,91,.09);--module-soft-2:rgba(229,22,115,.08)}
body[data-panel-theme="favoritos"] .rightPanel{--module-accent:#e6a019;--module-accent-2:#e51673;--module-soft:rgba(230,160,25,.16);--module-soft-2:rgba(229,22,115,.08)}
body[data-panel-theme="notas"] .rightPanel{--module-accent:#23225b;--module-accent-2:#e6a019;--module-soft:rgba(35,34,91,.10);--module-soft-2:rgba(230,160,25,.10)}
.sideHeader{background:linear-gradient(135deg,rgba(255,255,255,.82),var(--module-soft));border-bottom:1px solid rgba(22,20,63,.08)}.sideHeader h3{display:flex;align-items:center;gap:8px}.sideHeader h3:before{content:"✦";display:inline-flex;width:30px;height:30px;border-radius:999px;align-items:center;justify-content:center;background:var(--module-accent);color:#fff;font-size:15px;box-shadow:0 8px 18px color-mix(in srgb, var(--module-accent) 26%, transparent)}
body[data-panel-theme="cantarticulos"] .sideHeader h3:before{content:"🎤"}body[data-panel-theme="esquemas"] .sideHeader h3:before{content:"✦"}body[data-panel-theme="supuestos"] .sideHeader h3:before{content:"🧾"}body[data-panel-theme="practico"] .sideHeader h3:before{content:"🎭"}body[data-panel-theme="fallos"] .sideHeader h3:before{content:"🧨"}body[data-panel-theme="plazos"] .sideHeader h3:before{content:"⏱"}body[data-panel-theme="vigilancia"] .sideHeader h3:before{content:"💅"}body[data-panel-theme="repaso"] .sideHeader h3:before{content:"👠"}body[data-panel-theme="favoritos"] .sideHeader h3:before{content:"★"}body[data-panel-theme="notas"] .sideHeader h3:before{content:"✎"}body[data-panel-theme="concordancias"] .sideHeader h3:before{content:"⛓"}
.moduleHero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.96),var(--module-soft));border-left:6px solid var(--module-accent)}.moduleHero:after{content:"";position:absolute;right:-46px;top:-58px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,var(--module-soft),transparent 68%);pointer-events:none}.moduleHero h4,.modulePanel h4{color:var(--navy)}.moduleHero h4:after{content:"";display:block;width:54px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--module-accent),var(--module-accent-2));margin-top:8px}.lolaCard.moduleHero{background:linear-gradient(135deg,var(--module-soft),#fff)}.lolaSpeech{border-color:color-mix(in srgb, var(--module-accent) 26%, transparent)}.lolaSpeechIcon{background:linear-gradient(135deg,var(--module-accent),var(--module-accent-2));color:#fff}.mainButtons button.isActive,.mainButtons button:hover{border-color:color-mix(in srgb, var(--module-accent) 28%, white);box-shadow:0 10px 22px color-mix(in srgb, var(--module-accent) 15%, transparent)}
.moduleBadges .badge,.badgeRow .badge{border-color:color-mix(in srgb, var(--module-accent) 22%, white);background:linear-gradient(180deg,#fff,var(--module-soft));}.reviewSectionTitle span,.reviewSectionIcon{color:var(--module-accent)}
.ghostBtn{border-radius:999px;border-color:rgba(22,20,63,.10);background:#fff}.ghostBtn:hover{box-shadow:0 10px 20px rgba(22,20,63,.10)}

/* Módulos estrella: un punto más de identidad */
body[data-panel-theme="cantarticulos"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,246,252,.95))}body[data-panel-theme="fallos"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,247,247,.96))}body[data-panel-theme="plazos"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,249,238,.96))}body[data-panel-theme="repaso"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,246,252,.96))}body[data-panel-theme="practico"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(250,247,255,.96))}

@media(max-height:780px){.railLogoSeal{width:72px;height:72px}.railLogo strong{font-size:17px}.railLogo span{font-size:9px}.railItem{min-height:34px;padding:6px 8px}.studentCard{padding:10px}.studentCard strong{font-size:12.5px}.progressLabel,.progress{display:none}}


/* V34 — DERECHA TRANSFORMADA DE VERDAD: misma casa, distintas habitaciones */
.appShell.expanded .rightPanel{
  position:relative;
  isolation:isolate;
  border-color:color-mix(in srgb,var(--module-accent) 36%,white);
  box-shadow:0 24px 62px color-mix(in srgb,var(--module-accent) 18%,transparent), 0 8px 24px rgba(22,20,63,.10);
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--module-accent) 12%,transparent) 0 8px, transparent 8px),
    radial-gradient(circle at 104% 2%, color-mix(in srgb,var(--module-accent) 28%,transparent), transparent 34%),
    radial-gradient(circle at 0% 100%, color-mix(in srgb,var(--module-accent-2) 18%,transparent), transparent 36%),
    linear-gradient(180deg,#fff 0%, color-mix(in srgb,var(--module-accent) 5%,#fffaf4) 100%);
}
.appShell.expanded .rightPanel:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.24;
  background-image:
    linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 22%,transparent) 1px,transparent 1px),
    linear-gradient(45deg,color-mix(in srgb,var(--module-accent-2) 12%,transparent) 1px,transparent 1px);
  background-size:38px 38px,54px 54px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 86%,transparent 100%);
}
.appShell.expanded .rightPanel:after{
  content:attr(data-panel-mark);
  position:absolute;
  right:28px;
  top:72px;
  z-index:0;
  font-size:126px;
  line-height:1;
  opacity:.075;
  filter:grayscale(.05);
  pointer-events:none;
  transform:rotate(-8deg);
}
.rightPanel > *{position:relative;z-index:1}
.appShell.expanded .sideHeader{
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 16%,#fff),#fff 62%,color-mix(in srgb,var(--module-accent-2) 10%,#fff));
  border-bottom:1px solid color-mix(in srgb,var(--module-accent) 24%,white);
  box-shadow:0 8px 18px rgba(22,20,63,.05);
}
.appShell.expanded .sideHeader h3{
  color:var(--navy);
  text-shadow:0 1px 0 #fff;
}
.appShell.expanded .sideContent{
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.72)),
    radial-gradient(circle at 95% 15%, color-mix(in srgb,var(--module-accent) 11%,transparent), transparent 30%);
}
.moduleScene{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  align-items:center;
  margin:0 0 16px;
  padding:18px 20px;
  border-radius:26px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 20%,#fff),#fff 58%,color-mix(in srgb,var(--module-accent-2) 13%,#fff));
  border:1px solid color-mix(in srgb,var(--module-accent) 28%,white);
  box-shadow:0 18px 34px color-mix(in srgb,var(--module-accent) 13%,transparent);
  position:relative;
  overflow:hidden;
}
.moduleScene:after{
  content:"";
  position:absolute;
  right:-48px;
  top:-62px;
  width:175px;
  height:175px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--module-accent) 20%,transparent),transparent 68%);
}
.moduleSceneIcon{
  width:70px;
  height:70px;
  border-radius:24px;
  display:grid;
  place-items:center;
  font-size:34px;
  background:linear-gradient(135deg,var(--module-accent),var(--module-accent-2));
  color:#fff;
  box-shadow:0 14px 28px color-mix(in srgb,var(--module-accent) 26%,transparent);
}
.moduleSceneText span{
  display:block;
  color:color-mix(in srgb,var(--module-accent) 72%,#23225b);
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:3px;
}
.moduleSceneText strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.72rem;
  line-height:1.02;
  color:var(--navy);
}
.moduleSceneText em{
  display:block;
  margin-top:6px;
  color:#65536a;
  font-style:italic;
  line-height:1.35;
}
/* escenarios más reconocibles */
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(229,22,115,.12) 0 8px,transparent 8px),radial-gradient(circle at 96% 4%,rgba(229,22,115,.30),transparent 32%),radial-gradient(circle at 8% 100%,rgba(19,85,216,.20),transparent 34%),linear-gradient(180deg,#fff,#fff3fa)}
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(211,144,17,.14) 0 8px,transparent 8px),radial-gradient(circle at 102% 0%,rgba(211,144,17,.28),transparent 33%),linear-gradient(180deg,#fff,#fffaf0)}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(19,85,216,.13) 0 8px,transparent 8px),radial-gradient(circle at 101% 0%,rgba(19,85,216,.24),transparent 33%),linear-gradient(180deg,#fff,#f5f8ff)}
body[data-panel-theme="practico"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(111,49,232,.14) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(111,49,232,.26),transparent 34%),linear-gradient(180deg,#fff,#faf6ff)}
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(186,31,75,.15) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(186,31,75,.28),transparent 34%),linear-gradient(180deg,#fff,#fff4f5)}
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(240,138,36,.18) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(240,138,36,.30),transparent 34%),linear-gradient(180deg,#fff,#fff8ec)}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(21,145,92,.14) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(21,145,92,.24),transparent 34%),linear-gradient(180deg,#fff,#f2fff8)}
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(229,22,115,.14) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(229,22,115,.28),transparent 34%),radial-gradient(circle at 10% 100%,rgba(230,160,25,.20),transparent 30%),linear-gradient(180deg,#fff,#fff4fb)}
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(35,34,91,.13) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(35,34,91,.18),transparent 34%),linear-gradient(180deg,#fff,#f7f7ff)}
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(230,160,25,.15) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(230,160,25,.24),transparent 34%),linear-gradient(180deg,#fff,#fff9ed)}
body[data-panel-theme="notas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(35,34,91,.12) 0 8px,transparent 8px),radial-gradient(circle at 100% 0%,rgba(35,34,91,.16),transparent 34%),linear-gradient(180deg,#fff,#faf8f1)}


/* V35 — LA ZONA DE LA PEDE SUBE EL VOLUMEN: más petarda, más brillo, más leopardo */
.appShell.expanded .rightPanel{
  box-shadow:0 28px 72px color-mix(in srgb,var(--module-accent) 24%,transparent), 0 12px 30px rgba(22,20,63,.13);
}
.appShell.expanded .rightPanel:before{
  opacity:.5;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    radial-gradient(circle at 28% 8%, rgba(255,255,255,.85) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 75% 14%, rgba(255,255,255,.78) 0 1.8px, transparent 3px),
    radial-gradient(circle at 90% 28%, rgba(255,255,255,.86) 0 2px, transparent 3px),
    linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 30%,transparent) 1px,transparent 1px),
    linear-gradient(45deg,color-mix(in srgb,var(--module-accent-2) 18%,transparent) 1px,transparent 1px);
  background-size:auto,auto,auto,auto,42px 42px,60px 60px;
  animation:pedeSparkle 14s linear infinite;
}
.appShell.expanded .rightPanel:after{
  font-size:132px;
  opacity:.11;
  text-shadow:0 0 22px rgba(255,255,255,.38);
}
@keyframes pedeSparkle{
  0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0}
  100%{background-position:18px 10px,-12px 18px,22px -8px,-18px 14px,42px 42px,60px 60px}
}
.appShell.expanded .sideHeader{
  background:linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 22%,#fff),#fff 46%,color-mix(in srgb,var(--module-accent-2) 18%,#fff));
  box-shadow:0 12px 26px color-mix(in srgb,var(--module-accent) 12%,transparent);
}
.appShell.expanded .sideContent{
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.74)),radial-gradient(circle at 95% 15%, color-mix(in srgb,var(--module-accent) 14%,transparent), transparent 30%);
}
.moduleScene{
  border-radius:28px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 34%,#fff),#fff 48%,color-mix(in srgb,var(--module-accent-2) 22%,#fff));
  box-shadow:0 22px 42px color-mix(in srgb,var(--module-accent) 16%,transparent);
}
.moduleScene:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.34;background:linear-gradient(120deg,transparent 0 28%,rgba(255,255,255,.58) 32%,transparent 38%,transparent 60%,rgba(255,255,255,.26) 64%,transparent 70%)}
.moduleSceneIcon{
  border:2px solid rgba(255,255,255,.58);
  box-shadow:0 14px 30px color-mix(in srgb,var(--module-accent) 34%,transparent), inset 0 1px 0 rgba(255,255,255,.48);
}
.moduleSceneText strong{letter-spacing:-.02em}

/* fondos MUCHO más petardos por módulo */
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(229,22,115,.22) 0 10px,transparent 10px),radial-gradient(circle at 96% 4%,rgba(229,22,115,.40),transparent 28%),radial-gradient(circle at 10% 100%,rgba(19,85,216,.28),transparent 30%),linear-gradient(180deg,#fff1f9,#ffe7f5)}
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before{background-image:radial-gradient(circle at 12% 18%, rgba(255,255,255,.92) 0 2px, transparent 3px),radial-gradient(circle at 70% 10%, rgba(255,255,255,.82) 0 2px, transparent 3px),radial-gradient(circle at 92% 26%, rgba(255,255,255,.88) 0 2px, transparent 3px),radial-gradient(circle at 14px 16px, rgba(74,38,17,.22) 0 9px, transparent 10px),radial-gradient(circle at 40px 30px, rgba(145,87,23,.18) 0 7px, transparent 8px),radial-gradient(circle at 60px 14px, rgba(49,22,7,.18) 0 5px, transparent 6px),linear-gradient(135deg,rgba(229,22,115,.10) 1px,transparent 1px);background-size:auto,auto,auto,88px 88px,88px 88px,88px 88px,44px 44px;opacity:.42}
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(229,22,115,.22) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(229,22,115,.36),transparent 30%),radial-gradient(circle at 0% 100%,rgba(230,160,25,.28),transparent 28%),linear-gradient(180deg,#fff0f8,#ffecf7)}
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel:before{background-image:radial-gradient(circle at 12% 18%, rgba(255,255,255,.9) 0 2px, transparent 3px),radial-gradient(circle at 76% 12%, rgba(255,255,255,.84) 0 2px, transparent 3px),radial-gradient(circle at 16px 16px, rgba(80,45,18,.24) 0 10px, transparent 11px),radial-gradient(circle at 42px 30px, rgba(170,104,30,.20) 0 8px, transparent 9px),radial-gradient(circle at 68px 16px, rgba(55,29,9,.18) 0 6px, transparent 7px),linear-gradient(135deg,rgba(229,22,115,.10) 1px,transparent 1px);background-size:auto,auto,92px 92px,92px 92px,92px 92px,44px 44px;opacity:.46}
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(186,31,75,.24) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(186,31,75,.35),transparent 32%),radial-gradient(circle at 0% 100%,rgba(56,18,75,.22),transparent 30%),linear-gradient(180deg,#fff1f4,#ffeaee)}
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel:before{background-image:radial-gradient(circle at 16% 16%, rgba(255,255,255,.88) 0 2px, transparent 3px),radial-gradient(circle at 88% 14%, rgba(255,255,255,.82) 0 2px, transparent 3px),radial-gradient(circle at 18px 18px, rgba(72,34,22,.22) 0 8px, transparent 9px),radial-gradient(circle at 46px 30px, rgba(141,71,38,.18) 0 6px, transparent 7px),radial-gradient(circle at 66px 12px, rgba(46,17,10,.18) 0 5px, transparent 6px),linear-gradient(135deg,rgba(186,31,75,.11) 1px,transparent 1px);background-size:auto,auto,84px 84px,84px 84px,84px 84px,42px 42px;opacity:.42}
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(240,138,36,.26) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(240,138,36,.38),transparent 32%),radial-gradient(circle at 0% 100%,rgba(186,31,75,.20),transparent 28%),linear-gradient(180deg,#fff7e8,#fff0d7)}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(21,145,92,.20) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(21,145,92,.34),transparent 32%),radial-gradient(circle at 0% 100%,rgba(32,166,216,.24),transparent 30%),linear-gradient(180deg,#effff7,#e6fff5)}
body[data-panel-theme="practico"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(111,49,232,.22) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(111,49,232,.34),transparent 32%),radial-gradient(circle at 0% 100%,rgba(229,22,115,.20),transparent 30%),linear-gradient(180deg,#f8f0ff,#f5ecff)}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(19,85,216,.22) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(19,85,216,.34),transparent 32%),radial-gradient(circle at 0% 100%,rgba(230,160,25,.20),transparent 30%),linear-gradient(180deg,#f1f6ff,#edf4ff)}
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(211,144,17,.20) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(211,144,17,.34),transparent 32%),radial-gradient(circle at 0% 100%,rgba(35,34,91,.14),transparent 30%),linear-gradient(180deg,#fff8e8,#fff5dd)}
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(230,160,25,.22) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(230,160,25,.32),transparent 32%),radial-gradient(circle at 0% 100%,rgba(229,22,115,.18),transparent 30%),linear-gradient(180deg,#fff8e8,#fff4d9)}
body[data-panel-theme="notas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,rgba(35,34,91,.18) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%,rgba(35,34,91,.26),transparent 32%),radial-gradient(circle at 0% 100%,rgba(230,160,25,.18),transparent 30%),linear-gradient(180deg,#faf8f1,#f5f0e4)}
body[data-panel-theme="cantarticulos"] .moduleScene,body[data-panel-theme="repaso"] .moduleScene,body[data-panel-theme="fallos"] .moduleScene{border:1px solid rgba(255,255,255,.62)}
body[data-panel-theme="cantarticulos"] .moduleSceneText strong,body[data-panel-theme="repaso"] .moduleSceneText strong{color:#56123b}


/* V36 — PETARDA DE VERDAD: cambios MUY VISIBLES en la parte derecha */
.appShell.expanded .rightPanel{outline:3px solid rgba(255,255,255,.42); outline-offset:-3px}
.appShell.expanded .sideHeader{border-bottom-width:2px!important}
.appShell.expanded .sideHeader h3{font-size:1.18rem; letter-spacing:.02em}
.appShell.expanded .sideContent{backdrop-filter:saturate(1.05)}
.moduleScene{border-width:2px!important}
.moduleSceneText strong{text-shadow:0 1px 0 rgba(255,255,255,.82), 0 8px 18px rgba(0,0,0,.07)}
.moduleSceneText span{font-size:.75rem!important; letter-spacing:.16em!important}
.modulePanel{border-width:2px!important; box-shadow:0 16px 34px rgba(22,20,63,.08)}

/* Cantartículos: cabaret, brillo y leopardo */
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg,#ff1990 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(255,45,156,.52),transparent 30%),radial-gradient(circle at 0% 100%,rgba(49,117,255,.34),transparent 30%),linear-gradient(180deg,#ffe6f4,#ffd5ee)!important;
  border-color:#ff4fa8!important;
}
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideHeader{
  background:linear-gradient(135deg,#ff61b5,#ffd9ee 42%,#b6cfff)!important;
  box-shadow:0 14px 30px rgba(255,36,144,.22)!important;
}
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideContent{
  background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.76)), radial-gradient(circle at 92% 10%,rgba(255,64,162,.24),transparent 26%), radial-gradient(circle at 6% 96%,rgba(44,112,255,.14),transparent 30%)!important;
}
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before{
  opacity:.72!important;
  background-image:
    radial-gradient(circle at 18px 18px, rgba(87,42,12,.34) 0 10px, transparent 11px),
    radial-gradient(circle at 42px 32px, rgba(173,106,29,.30) 0 8px, transparent 9px),
    radial-gradient(circle at 74px 18px, rgba(59,26,8,.28) 0 6px, transparent 7px),
    radial-gradient(circle at 24px 70px, rgba(94,45,14,.28) 0 10px, transparent 11px),
    radial-gradient(circle at 68px 62px, rgba(167,102,24,.26) 0 7px, transparent 8px),
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.94) 0 2px, transparent 3px),
    radial-gradient(circle at 74% 8%, rgba(255,255,255,.86) 0 2px, transparent 3px),
    linear-gradient(135deg,rgba(255,29,146,.14) 1px,transparent 1px)!important;
  background-size:96px 96px,96px 96px,96px 96px,96px 96px,96px 96px,auto,auto,48px 48px!important;
}
body[data-panel-theme="cantarticulos"] .moduleScene{background:linear-gradient(135deg,#ff7fc4,#ffe7f4 42%,#d8e6ff)!important;border-color:#ff6ab9!important}
body[data-panel-theme="cantarticulos"] .moduleSceneIcon{background:linear-gradient(135deg,#ff0b85,#2863ff)!important;transform:rotate(-4deg) scale(1.04)}
body[data-panel-theme="cantarticulos"] .modulePanel{background:linear-gradient(180deg,#fff6fb,#ffeef8)!important;border-color:#ff87c5!important}

/* Repaso: camerino descarado */
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#ff198f 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(255,53,152,.46),transparent 30%),radial-gradient(circle at 0% 100%,rgba(255,198,51,.36),transparent 28%),linear-gradient(180deg,#ffe6f7,#ffdff4)!important;border-color:#ff55ab!important}
body[data-panel-theme="repaso"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#ff62b6,#ffe8f8 46%,#ffe18d)!important;box-shadow:0 14px 30px rgba(255,42,146,.22)!important}
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel:before{opacity:.70!important;background-image:radial-gradient(circle at 18px 18px, rgba(88,42,12,.34) 0 11px, transparent 12px),radial-gradient(circle at 44px 32px, rgba(171,103,23,.30) 0 8px, transparent 9px),radial-gradient(circle at 74px 18px, rgba(56,26,8,.28) 0 6px, transparent 7px),radial-gradient(circle at 90% 12%, rgba(255,255,255,.95) 0 2px, transparent 3px),radial-gradient(circle at 72% 8%, rgba(255,255,255,.88) 0 2px, transparent 3px),linear-gradient(135deg,rgba(255,29,146,.15) 1px,transparent 1px)!important;background-size:98px 98px,98px 98px,98px 98px,auto,auto,48px 48px!important}
body[data-panel-theme="repaso"] .moduleScene{background:linear-gradient(135deg,#ff80c5,#ffe7f4 48%,#fff0b2)!important;border-color:#ff6fba!important}
body[data-panel-theme="repaso"] .moduleSceneIcon{background:linear-gradient(135deg,#ff0d86,#f0b11c)!important;transform:rotate(-5deg) scale(1.05)}
body[data-panel-theme="repaso"] .modulePanel{background:linear-gradient(180deg,#fff7fb,#fff0f8)!important;border-color:#ff95ca!important}

/* Fallos: glamour peligroso */
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#db205c 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(219,32,92,.44),transparent 30%),radial-gradient(circle at 0% 100%,rgba(128,40,190,.26),transparent 28%),linear-gradient(180deg,#ffe9ef,#ffdce5)!important;border-color:#df4b7a!important}
body[data-panel-theme="fallos"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#ff86aa,#ffe7ef 48%,#d7c7ff)!important;box-shadow:0 14px 30px rgba(219,32,92,.22)!important}
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel:before{opacity:.62!important;background-image:radial-gradient(circle at 16px 16px, rgba(85,38,14,.32) 0 10px, transparent 11px),radial-gradient(circle at 40px 30px, rgba(163,97,24,.28) 0 8px, transparent 9px),radial-gradient(circle at 70px 16px, rgba(52,23,8,.24) 0 6px, transparent 7px),radial-gradient(circle at 90% 12%, rgba(255,255,255,.90) 0 2px, transparent 3px),linear-gradient(135deg,rgba(219,32,92,.13) 1px,transparent 1px)!important;background-size:92px 92px,92px 92px,92px 92px,auto,46px 46px!important}
body[data-panel-theme="fallos"] .moduleScene{background:linear-gradient(135deg,#ff9ab8,#ffe7ee 48%,#e8deff)!important;border-color:#e45b86!important}
body[data-panel-theme="fallos"] .moduleSceneIcon{background:linear-gradient(135deg,#c5164d,#7927c4)!important;transform:rotate(-3deg) scale(1.05)}
body[data-panel-theme="fallos"] .modulePanel{background:linear-gradient(180deg,#fff7f8,#fff0f3)!important;border-color:#ef9fb4!important}

/* Plazos: radar naranja muy visible */
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#ff941f 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(255,148,31,.46),transparent 31%),radial-gradient(circle at 0% 100%,rgba(219,32,92,.20),transparent 27%),linear-gradient(180deg,#fff5df,#ffecc8)!important;border-color:#f8a24a!important}
body[data-panel-theme="plazos"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#ffbf5c,#fff0cf 44%,#ffd8cb)!important;box-shadow:0 14px 28px rgba(255,148,31,.18)!important}
body[data-panel-theme="plazos"] .moduleScene{background:linear-gradient(135deg,#ffca7a,#fff1d6 50%,#ffe3da)!important;border-color:#f5bf6f!important}
body[data-panel-theme="plazos"] .moduleSceneIcon{background:linear-gradient(135deg,#ff8d1c,#db205c)!important}
body[data-panel-theme="plazos"] .modulePanel{background:linear-gradient(180deg,#fffaf0,#fff4e4)!important;border-color:#f3ca90!important}

/* Vigilancia: semáforo brillante */
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#12a05f 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(18,160,95,.40),transparent 30%),radial-gradient(circle at 0% 100%,rgba(31,177,214,.28),transparent 28%),linear-gradient(180deg,#e8fff3,#dffcf0)!important;border-color:#3cb780!important}
body[data-panel-theme="vigilancia"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#85e0b5,#ecfff5 48%,#d7f7ff)!important}
body[data-panel-theme="vigilancia"] .moduleScene{background:linear-gradient(135deg,#b4efce,#eefff5 52%,#def7ff)!important;border-color:#7fd7ae!important}
body[data-panel-theme="vigilancia"] .moduleSceneIcon{background:linear-gradient(135deg,#15915c,#1fa8d7)!important}

/* Práctico: morado teatral */
body[data-panel-theme="practico"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#7a39ec 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(122,57,236,.42),transparent 30%),radial-gradient(circle at 0% 100%,rgba(255,50,144,.20),transparent 28%),linear-gradient(180deg,#f1e9ff,#eadeff)!important;border-color:#9b6af3!important}
body[data-panel-theme="practico"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#b38cf9,#f1e9ff 48%,#ffd8ec)!important}
body[data-panel-theme="practico"] .moduleScene{background:linear-gradient(135deg,#c9adff,#f4eeff 50%,#ffe1ef)!important;border-color:#b18df8!important}
body[data-panel-theme="practico"] .moduleSceneIcon{background:linear-gradient(135deg,#7132e9,#ff248f)!important}

/* Supuestos: archivo en tecnicolor */
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#2464ff 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(36,100,255,.40),transparent 30%),radial-gradient(circle at 0% 100%,rgba(255,181,47,.22),transparent 28%),linear-gradient(180deg,#eaf1ff,#e4eeff)!important;border-color:#6090ff!important}
body[data-panel-theme="supuestos"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#8db1ff,#ebf2ff 50%,#ffe3aa)!important}
body[data-panel-theme="supuestos"] .moduleScene{background:linear-gradient(135deg,#b6ccff,#f0f5ff 54%,#fff0c8)!important;border-color:#94b3ff!important}
body[data-panel-theme="supuestos"] .moduleSceneIcon{background:linear-gradient(135deg,#2464ff,#f0b120)!important}

/* Esquemas y notas/favoritos también cambian más */
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#d59a18 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(213,154,24,.40),transparent 30%),radial-gradient(circle at 0% 100%,rgba(35,34,91,.16),transparent 28%),linear-gradient(180deg,#fff7e4,#fff0cf)!important;border-color:#d7ae54!important}
body[data-panel-theme="esquemas"] .appShell.expanded .sideHeader{background:linear-gradient(135deg,#f1d28b,#fff4de 50%,#eaebff)!important}
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#e9ae20 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(233,174,32,.38),transparent 30%),radial-gradient(circle at 0% 100%,rgba(255,50,144,.18),transparent 28%),linear-gradient(180deg,#fff8e7,#fff0cd)!important;border-color:#e6bf62!important}
body[data-panel-theme="notas"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,#23225b 0 14px,transparent 14px),radial-gradient(circle at 100% 0%,rgba(35,34,91,.30),transparent 30%),radial-gradient(circle at 0% 100%,rgba(233,174,32,.18),transparent 28%),linear-gradient(180deg,#f9f7ee,#f0eadc)!important;border-color:#60618f!important}


/* V38 — LEOPARDO RELLENO AUTÉNTICO */
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel:before{
  opacity:.54!important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Crect width='200' height='200' fill='none'/%3E%3Cg opacity='0.98'%3E%3Cg transform='rotate(-12 38 38)'%3E%3Cellipse cx='38' cy='38' rx='24' ry='17' fill='%23d3a055'/%3E%3Cellipse cx='38' cy='38' rx='17' ry='11' fill='%23b77e31' opacity='0.92'/%3E%3Cpath d='M17 39c5-12 14-16 25-16 10 0 18 4 23 13M27 54c7 5 17 7 27 3 6-2 12-6 15-13' fill='none' stroke='%23461f07' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(18 120 30)'%3E%3Cellipse cx='120' cy='30' rx='21' ry='27' fill='%23d7a45a'/%3E%3Cellipse cx='120' cy='30' rx='15' ry='19' fill='%23bb8335' opacity='0.94'/%3E%3Cpath d='M102 24c3-11 12-17 23-18 12-1 23 6 27 19M110 49c9 5 20 3 28-4 5-4 9-9 10-16' fill='none' stroke='%2353250a' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(-28 161 77)'%3E%3Cellipse cx='161' cy='77' rx='24' ry='15' fill='%23cd9648'/%3E%3Cellipse cx='161' cy='77' rx='17' ry='10' fill='%23b0772d' opacity='0.94'/%3E%3Cpath d='M138 78c6-10 16-14 27-14 10 0 19 4 24 12M148 90c8 6 20 6 29 1 5-3 9-7 11-12' fill='none' stroke='%23462006' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(9 76 118)'%3E%3Cellipse cx='76' cy='118' rx='29' ry='20' fill='%23d2a055'/%3E%3Cellipse cx='76' cy='118' rx='21' ry='14' fill='%23b47b30' opacity='0.93'/%3E%3Cpath d='M48 116c6-12 17-17 31-17 10 0 22 4 28 14M57 134c10 6 24 6 34-1 6-4 11-9 13-15' fill='none' stroke='%234a2208' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(-7 134 148)'%3E%3Cellipse cx='134' cy='148' rx='22' ry='28' fill='%23cf9a4a'/%3E%3Cellipse cx='134' cy='148' rx='15' ry='21' fill='%23b67b30' opacity='0.94'/%3E%3Cpath d='M115 144c4-13 14-20 26-20 11 0 20 5 25 16M122 168c8 5 20 4 29-3 6-5 9-10 11-17' fill='none' stroke='%2358280b' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cpath d='M14 155c8-9 19-11 29-6' fill='none' stroke='%2351250b' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M25 170c10 4 20 2 28-4' fill='none' stroke='%2351250b' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M164 161c8-6 18-6 26 0' fill='none' stroke='%234b2309' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M9 87c8-7 17-8 25-2' fill='none' stroke='%234b2309' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 86% 11%, rgba(255,255,255,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 8%, rgba(255,255,255,.82) 0 2px, transparent 3px),
    radial-gradient(circle at 94% 25%, rgba(255,255,255,.82) 0 1.8px, transparent 3px),
    linear-gradient(135deg,rgba(255,29,146,.10) 1px,transparent 1px)!important;
  background-size:200px 200px, auto, auto, auto, 48px 48px!important;
  background-repeat:repeat, no-repeat, no-repeat, no-repeat, repeat!important;
}
body[data-panel-theme="cantarticulos"] .moduleScene:after,
body[data-panel-theme="repaso"] .moduleScene:after,
body[data-panel-theme="fallos"] .moduleScene:after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Crect width='200' height='200' fill='none'/%3E%3Cg opacity='0.98'%3E%3Cg transform='rotate(-12 38 38)'%3E%3Cellipse cx='38' cy='38' rx='24' ry='17' fill='%23d3a055'/%3E%3Cellipse cx='38' cy='38' rx='17' ry='11' fill='%23b77e31' opacity='0.92'/%3E%3Cpath d='M17 39c5-12 14-16 25-16 10 0 18 4 23 13M27 54c7 5 17 7 27 3 6-2 12-6 15-13' fill='none' stroke='%23461f07' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(18 120 30)'%3E%3Cellipse cx='120' cy='30' rx='21' ry='27' fill='%23d7a45a'/%3E%3Cellipse cx='120' cy='30' rx='15' ry='19' fill='%23bb8335' opacity='0.94'/%3E%3Cpath d='M102 24c3-11 12-17 23-18 12-1 23 6 27 19M110 49c9 5 20 3 28-4 5-4 9-9 10-16' fill='none' stroke='%2353250a' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(-28 161 77)'%3E%3Cellipse cx='161' cy='77' rx='24' ry='15' fill='%23cd9648'/%3E%3Cellipse cx='161' cy='77' rx='17' ry='10' fill='%23b0772d' opacity='0.94'/%3E%3Cpath d='M138 78c6-10 16-14 27-14 10 0 19 4 24 12M148 90c8 6 20 6 29 1 5-3 9-7 11-12' fill='none' stroke='%23462006' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(9 76 118)'%3E%3Cellipse cx='76' cy='118' rx='29' ry='20' fill='%23d2a055'/%3E%3Cellipse cx='76' cy='118' rx='21' ry='14' fill='%23b47b30' opacity='0.93'/%3E%3Cpath d='M48 116c6-12 17-17 31-17 10 0 22 4 28 14M57 134c10 6 24 6 34-1 6-4 11-9 13-15' fill='none' stroke='%234a2208' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='rotate(-7 134 148)'%3E%3Cellipse cx='134' cy='148' rx='22' ry='28' fill='%23cf9a4a'/%3E%3Cellipse cx='134' cy='148' rx='15' ry='21' fill='%23b67b30' opacity='0.94'/%3E%3Cpath d='M115 144c4-13 14-20 26-20 11 0 20 5 25 16M122 168c8 5 20 4 29-3 6-5 9-10 11-17' fill='none' stroke='%2358280b' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3Cpath d='M14 155c8-9 19-11 29-6' fill='none' stroke='%2351250b' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M25 170c10 4 20 2 28-4' fill='none' stroke='%2351250b' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M164 161c8-6 18-6 26 0' fill='none' stroke='%234b2309' stroke-width='7' stroke-linecap='round'/%3E%3Cpath d='M9 87c8-7 17-8 25-2' fill='none' stroke='%234b2309' stroke-width='7' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E")!important;
  background-size:200px 200px!important;
  opacity:.23!important;
}


/* V39 — buscador superior también encuentra concordados */
.resultItem strong{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.searchChip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 7px;font-size:.66rem;font-style:normal;font-weight:950;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.searchChipLgt{background:rgba(35,34,91,.10);color:#23225b;border:1px solid rgba(35,34,91,.12)}
.searchChipRel{background:linear-gradient(135deg,#ff2b92,#f0b11c);color:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:0 5px 12px rgba(229,22,115,.16)}
.resultRel{background:linear-gradient(135deg,rgba(255,43,146,.08),rgba(240,177,28,.08),#fff)!important;border-left:4px solid #ff2b92!important}
.resultLgt{border-left:4px solid #23225b!important}


/* V40 — Concordados en el panel central */
.leftPanel.relatedMainView{
  border-color:rgba(229,22,115,.38);
  box-shadow:0 22px 62px rgba(229,22,115,.10), 0 8px 24px rgba(22,20,63,.08);
}
.leftPanel.relatedMainView .articleHeader{
  background:linear-gradient(135deg,rgba(229,22,115,.12),#fff 46%,rgba(230,160,25,.10));
}
.leftPanel.relatedMainView .articleHeader .eyebrow{
  color:#b71566;
}
.relatedCentralNotice{
  display:grid;
  gap:6px;
  margin:0 0 22px;
  padding:16px 18px;
  border:1px solid rgba(229,22,115,.28);
  border-left:8px solid #e51673;
  border-radius:18px;
  background:linear-gradient(135deg,#fff6fb,#fff 64%,#fff6df);
  font-family:Inter, system-ui, sans-serif;
  box-shadow:0 14px 30px rgba(229,22,115,.08);
}
.relatedCentralNotice strong{
  font-size:1rem;
  color:#16143f;
}
.relatedCentralNotice span{
  font-size:.92rem;
  color:#65536a;
  line-height:1.35;
}
.relatedCentralNotice .miniBtn{
  justify-self:start;
  margin-top:4px;
}
.relatedCentralText{
  white-space:pre-wrap;
}
.relatedIdleState .moduleActions{
  margin-top:14px;
}
.resultRel strong::after{
  content:' · abrir en centro';
  font-size:.78rem;
  color:#b71566;
  font-weight:900;
}


/* V41 — Caja fuerte de La Pede */
body[data-panel-theme="cajafuerte"] {
  --theme-1: #2a0c3d;
  --theme-2: #efc75e;
  --theme-3: #ff3fb7;
  --theme-soft: rgba(239, 199, 94, .16);
}
.cajaModule .kicker { margin-top: 6px; }
.cajaHero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: stretch;
  padding: 18px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,63,183,.28), transparent 34%),
    linear-gradient(135deg, rgba(42,12,61,.97), rgba(75,28,101,.88));
  color: #fff9ea;
  border: 1px solid rgba(239,199,94,.46);
  box-shadow: 0 20px 40px rgba(42,12,61,.22);
}
.cajaHero h4 { margin: 0 0 8px; font-size: 1.1rem; letter-spacing: .05em; }
.cajaHero p { margin: 0; line-height: 1.5; opacity: .92; }
.cajaVault {
  min-width: 155px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.13);
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  text-align: center;
}
.cajaVault span { font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; opacity: .78; }
.cajaVault strong { font-size: .95rem; }
.cajaMessage {
  margin: 14px 0;
  border-radius: 18px;
  padding: 12px 14px;
  border: 1px solid rgba(42,12,61,.16);
  background: rgba(239,199,94,.13);
  color: #3a2148;
  font-weight: 750;
}
.cajaMessage.ok { border-color: rgba(18,132,82,.28); background: rgba(36,183,116,.13); color: #0b5837; }
.cajaMessage.bad { border-color: rgba(202,41,90,.3); background: rgba(255,63,122,.13); color: #841737; }
.cajaStatsGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.cajaStatsGrid.small { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.cajaStat {
  border: 1px solid rgba(42,12,61,.12);
  border-radius: 18px;
  padding: 12px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(42,12,61,.06);
}
.cajaStat b { display: block; font-size: 1.45rem; color: #7a174f; }
.cajaStat span { display: block; margin-top: 3px; font-size: .78rem; color: #5c4b61; font-weight: 700; }
.cajaActions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.cajaMainBtn {
  border: 0;
  border-radius: 18px;
  padding: 13px 14px;
  cursor: pointer;
  font-weight: 900;
  letter-spacing: .01em;
  color: #fff;
  background: linear-gradient(135deg, #7a174f, #ff3fb7);
  box-shadow: 0 14px 26px rgba(122,23,79,.22);
}
.cajaMainBtn.secondary { background: linear-gradient(135deg, #2a0c3d, #6f3aa6); }
.cajaMainBtn.ghost { background: linear-gradient(135deg, #6d5517, #efc75e); color: #25160e; }
.cajaImportEmpty,
.cajaImportPreview {
  border-radius: 20px;
  border: 1px dashed rgba(42,12,61,.26);
  background: rgba(255,255,255,.7);
  padding: 16px;
}
.cajaImportEmpty strong,
.cajaImportEmpty span { display:block; }
.cajaImportEmpty span { margin-top: 4px; color:#6a596c; }
.cajaImportTop {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 10px;
}
.cajaImportTop span,
.cajaImportTop em { display:block; color:#6a596c; }
.cajaImportTop strong { display:block; font-size:1rem; color:#2a0c3d; }
.cajaImportTop b {
  min-width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #2a0c3d;
  color: #efc75e;
  font-size: 1.35rem;
}
.cajaRuleGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}
.cajaRuleGrid div {
  border-radius: 18px;
  padding: 13px;
  background: linear-gradient(180deg, rgba(239,199,94,.18), rgba(255,255,255,.76));
  border: 1px solid rgba(42,12,61,.12);
}
.cajaRuleGrid b { display:block; color:#7a174f; margin-bottom: 5px; }
.cajaRuleGrid span { display:block; color:#5c4b61; line-height: 1.4; }

/* V42 — La Pede te examina */
body[data-panel-theme="examina"] .rightPanel,
.rightPanel[data-panel-theme="examina"]{
  --module-accent:#ec1676;
  --module-accent-2:#f4b43f;
  --module-soft:#fff2fa;
}
.examinaHero{background:linear-gradient(135deg,#fff4fb 0%,#fff 44%,#fff8e6 100%);border:1px solid rgba(236,22,118,.22)}
.examTitleRow{display:flex;justify-content:space-between;gap:18px;align-items:center}
.examSeal{width:64px;height:64px;border-radius:22px;background:#ec1676;color:white;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 18px 34px rgba(236,22,118,.25)}
.examStats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.examStats span,.examBadge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(28,33,56,.12);background:#fff;border-radius:999px;padding:7px 11px;font-weight:800;font-size:13px;color:#1c2138}
.examBadge.hot{background:#1c1030;color:#fff;border-color:#ec1676;box-shadow:0 12px 22px rgba(236,22,118,.22)}
.examSelectorPanel{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.examSelectorGrid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.examSelectorGrid label{display:flex;flex-direction:column;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#8b6f82}
.examSelectorGrid select{border:1px solid rgba(28,33,56,.16);border-radius:14px;padding:11px 12px;background:#fff;font:inherit;font-weight:800;color:#1c2138}
.examStatement{border-left:7px solid #ec1676;background:linear-gradient(180deg,#fff,#fff7fb)}
.examStatementHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.examStatementHead h4{margin:0;font-size:24px}
.examStatementHead p{margin:4px 0 0;color:#70758a;font-weight:800}
.examStatementText{margin-top:14px;font-family:Georgia,serif;font-size:17px;line-height:1.72;color:#141827;max-height:430px;overflow:auto;padding-right:8px}
.examQuestionsWrap{display:grid;gap:18px;margin-top:18px}
.examQuestionCard{background:#fff;border:1px solid rgba(236,22,118,.18);border-radius:24px;padding:18px;box-shadow:0 14px 32px rgba(31,35,65,.08);position:relative;overflow:hidden}
.examQuestionCard::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#ec1676,#7e49f2,#f4b43f)}
.examQuestionHead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.examQuestionHead strong{display:block;font-size:20px;color:#181c31}
.examQuestionHead span{display:block;color:#727789;font-weight:800;margin-top:3px}
.examQuestionText{background:#fbfbfe;border:1px solid rgba(28,33,56,.08);border-radius:18px;padding:15px;font-family:Georgia,serif;font-size:16px;line-height:1.68;color:#171b2f;white-space:normal}
.examRefs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:48%}
.examRefBtn,.examRefChip{border:1px solid rgba(236,22,118,.25);background:#fff2fa;color:#a30d52;border-radius:999px;padding:6px 9px;font-weight:900;font-size:12px;cursor:pointer}
.examRefChip{cursor:default;background:#fff8e6;color:#6d4d00;border-color:#efd18a}
.examAnswerLabel{display:block;margin:14px 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#8b6f82;font-weight:900}
.examUserAnswer{width:100%;min-height:150px;border:1px solid rgba(28,33,56,.14);border-radius:18px;padding:14px;font:inherit;line-height:1.55;background:#fff;color:#171b2f;resize:vertical;box-sizing:border-box}
.examActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.examActions .primary{background:#ec1676;color:white;border-color:#ec1676;box-shadow:0 10px 22px rgba(236,22,118,.22)}
.examCompareBox{margin-top:12px}
.examScore{display:flex;align-items:center;gap:12px;background:#101429;color:#fff;border-radius:18px;padding:14px 16px;margin-bottom:10px}
.examScore strong{font-size:30px;color:#ffd166}
.examScore span{font-weight:800}
.examMissing{background:#fff8e6;border:1px solid #f0d28b;border-radius:18px;padding:13px 15px;margin:10px 0;line-height:1.55}
.examMissing.good{background:#f1fff5;border-color:#9fdfb1}
.examMissing strong{display:block;color:#1c2138;margin-bottom:4px}
.examMissing span{color:#5a6078;font-weight:700}
.examLolaVerdict{background:#fff2fa;border:1px solid rgba(236,22,118,.24);border-radius:18px;padding:14px 15px;color:#1c2138;line-height:1.55;font-weight:750}
.examLolaVerdict b{color:#b70f5b}
.examRefsLine{margin-top:10px;padding:10px 12px;border-radius:14px;background:#f7f7fb;color:#50566f}
.examModelAnswer{margin-top:12px;border:2px dashed rgba(236,22,118,.28);background:#fff;border-radius:18px;padding:16px;font-family:Georgia,serif;line-height:1.68;color:#171b2f;max-height:420px;overflow:auto}
@media (max-width: 980px){.examSelectorGrid{grid-template-columns:1fr 1fr}.examQuestionHead{display:block}.examRefs{max-width:100%;justify-content:flex-start;margin-top:10px}}


/* V43 — Gatillódromo de La Pede */
body[data-panel-theme="gatillodromo"] .rightPanel,
.rightPanel[data-panel-theme="gatillodromo"]{
  --module-accent:#f0b300;
  --module-accent2:#ec1676;
  background:radial-gradient(circle at 18% 10%,rgba(240,179,0,.24),transparent 32%),linear-gradient(180deg,#fff8e0 0%,#fff 44%,#fff1f8 100%);
}
.gatilloHero{background:linear-gradient(135deg,#fff5cc 0%,#fff 44%,#fff0f8 100%);border:1px solid rgba(240,179,0,.32)}
.gatilloSeal{width:66px;height:66px;border-radius:24px;background:linear-gradient(135deg,#f0b300,#ec1676);color:white;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 18px 34px rgba(236,22,118,.25)}
.gatilloStats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gatilloStats span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(28,33,56,.12);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;color:#1c2138}
.gatilloStats b{color:#b70f5b;font-size:17px}
.gatilloFilters{position:sticky;top:0;z-index:6;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-left:7px solid #f0b300}
.gatilloGrid input,.gatilloGrid select{border:1px solid rgba(28,33,56,.16);border-radius:14px;padding:11px 12px;background:#fff;font:inherit;font-weight:800;color:#1c2138}
.checkLine{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:850;color:#1c2138}
.gatilloSplit{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(360px,1.2fr);gap:18px;margin-top:18px;align-items:start}
.gatilloList{max-height:760px;overflow:auto;padding-right:6px}
.gatilloListItem{border-left:6px solid #f0b300;background:linear-gradient(180deg,#fff,#fff9e8)}
.gatilloListItem .gatilloKey{color:#8a5b00}
.gatilloListItem.isSelected{border-color:#ec1676;box-shadow:0 12px 26px rgba(236,22,118,.18);transform:translateY(-1px)}
.gatilloSide{min-height:420px;border-top:6px solid #ec1676;background:linear-gradient(180deg,#fff,#fff9fd)}
.gatilloDetailTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.gatilloDetailTop h4{margin:4px 0 3px;font-size:27px;color:#181c31}
.gatilloDetailTop p{margin:0;color:#636a80;font-weight:900}
.gatilloRisk{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:950;border:1px solid rgba(28,33,56,.14);white-space:nowrap}
.risk-muy-alto{background:#2b0b18;color:#fff;border-color:#ec1676}.risk-alto{background:#fff0f4;color:#b70f5b}.risk-medio{background:#fff8de;color:#7a5600}.risk-bajo{background:#eef7ff;color:#1a5d91}
.gatilloTrap,.gatilloSnippet,.gatilloQuestion{border-radius:18px;padding:14px 15px;margin-top:13px;line-height:1.58}
.gatilloTrap{background:#fff0f7;border:1px solid rgba(236,22,118,.22)}
.gatilloSnippet{background:#fff9e8;border:1px solid rgba(240,179,0,.35)}
.gatilloQuestion{background:#f8f8fc;border:1px solid rgba(28,33,56,.08)}
.gatilloTrap strong,.gatilloSnippet strong,.gatilloQuestion strong{display:block;margin-bottom:5px;color:#15192e;font-weight:950}.gatilloTrap span,.gatilloSnippet p,.gatilloQuestion p{margin:0;color:#4f566d;font-weight:750}
.gatilloRefs{max-width:100%;justify-content:flex-start;margin-top:12px}.gatilloActions{margin-top:14px}.gatilloActions .primary{background:#ec1676;color:white;border-color:#ec1676;box-shadow:0 10px 22px rgba(236,22,118,.22)}
.examFlash{animation:examFlash 1.6s ease-in-out 1}@keyframes examFlash{0%,100%{box-shadow:0 14px 32px rgba(31,35,65,.08)}35%{box-shadow:0 0 0 6px rgba(240,179,0,.28),0 18px 40px rgba(236,22,118,.26)}}
@media (max-width: 980px){.gatilloSplit{grid-template-columns:1fr}.gatilloList{max-height:430px}}

/* V44 — Gatillódromo quirúrgico */
.surgicalArticleHighlight{
  display:block;
  margin:10px 0;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,214,72,.45), rgba(255,64,172,.22));
  border:2px solid rgba(25,24,72,.22);
  box-shadow:0 0 0 4px rgba(255,214,72,.12), 0 12px 26px rgba(24,12,55,.14);
  white-space:pre-wrap;
}
.surgicalInlineNotice{
  margin:0 0 14px 0;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,214,72,.18);
  border:1px dashed rgba(23,23,55,.35);
}
.surgicalInlineNotice blockquote{
  margin:10px 0 0;
  padding:10px 12px;
  border-left:4px solid rgba(255,64,172,.55);
  background:rgba(255,255,255,.55);
  border-radius:12px;
  white-space:pre-wrap;
}
.gatilloSurgicalLiteral{
  margin:14px 0;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,214,72,.65);
  box-shadow:inset 0 0 0 1px rgba(255,64,172,.12);
}
.gatilloSurgicalLiteral strong{display:block;margin-bottom:8px;letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;}
.gatilloSurgicalLiteral p{margin:0;line-height:1.55;}
.gatilloListItem .gatilloKey{display:inline-block;}
.gatilloHero .gatilloStats span:nth-child(3){background:rgba(255,214,72,.2);border-color:rgba(255,214,72,.55);}


/* V46 · Historia de La Pede */
body.welcomeOpen { overflow: hidden; }
.pedeWelcome[hidden] { display:none; }
.pedeWelcome { position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:28px; }
.pedeWelcomeBackdrop { position:absolute; inset:0; background:rgba(18, 8, 31, .72); backdrop-filter: blur(8px); }
.pedeWelcomeCard { position:relative; z-index:1; width:min(1040px, 94vw); max-height:90vh; overflow:auto; border-radius:30px; padding:28px; background:linear-gradient(135deg, #fffaf3 0%, #fff 42%, #ffe6f2 100%); border:2px solid rgba(221, 32, 130, .35); box-shadow:0 30px 90px rgba(31,11,48,.45); }
.pedeWelcomeTop { display:grid; grid-template-columns:112px 1fr; gap:22px; align-items:center; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid rgba(38,28,45,.14); }
.pedeWelcomeSeal { width:112px; height:112px; object-fit:cover; border-radius:24px; border:3px solid rgba(245,171,39,.65); box-shadow:0 10px 30px rgba(221,32,130,.25); background:#fff; }
.pedeWelcomeTop h2 { margin:6px 0 8px; font-size:clamp(1.55rem, 3vw, 2.45rem); line-height:1.04; color:#25172e; }
.pedeWelcomeTop p { margin:0; color:#6c5377; font-weight:700; }
.pedeWelcomeClose { position:absolute; top:16px; right:16px; width:42px; height:42px; border-radius:999px; border:0; background:#25172e; color:#fff; font-size:28px; cursor:pointer; box-shadow:0 8px 18px rgba(37,23,46,.28); }
.pedeWelcomeStory { max-height:54vh; overflow:auto; padding:6px 10px 6px 2px; }
.pedeWelcomeActions { position:sticky; bottom:-28px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; justify-content:flex-end; margin:20px -28px -28px; padding:18px 28px; background:linear-gradient(180deg, rgba(255,250,243,.8), #fffaf3); border-top:1px solid rgba(38,28,45,.12); }
.pedePrimaryBtn, .pedeSecondaryBtn, .pedeGhostBtn { border:0; border-radius:999px; padding:12px 18px; font-weight:900; cursor:pointer; }
.pedePrimaryBtn { background:#261c78; color:#fff; box-shadow:0 8px 18px rgba(38,28,120,.22); }
.pedeSecondaryBtn { background:#dd2082; color:#fff; box-shadow:0 8px 18px rgba(221,32,130,.22); }
.pedeGhostBtn { background:#fff; color:#25172e; border:1px solid rgba(37,23,46,.18); }
.pedeStory { font-size:1rem; line-height:1.62; color:#2c2135; }
.pedeStoryLead { font-size:1.08rem; font-weight:800; color:#261c78; }
.pedeStory h3 { margin:1.2em 0 .35em; color:#dd2082; font-size:1.38rem; line-height:1.12; }
.pedeStory p { margin:.75em 0; }
.pedeStory blockquote { margin:18px 0; padding:18px 20px; border-left:6px solid #f5ab27; border-radius:18px; background:rgba(38,28,120,.06); font-weight:900; color:#25172e; }
.historiaCard { max-width:960px; margin:0 auto; }
.historiaToolbar { justify-content:flex-start; margin-bottom:14px; }
.coverageCard { max-width:960px; margin:16px auto 0; border-left:6px solid #f5ab27; }
@media (max-width:720px) {
  .pedeWelcome { padding:12px; }
  .pedeWelcomeCard { padding:18px; border-radius:22px; }
  .pedeWelcomeTop { grid-template-columns:72px 1fr; gap:14px; }
  .pedeWelcomeSeal { width:72px; height:72px; border-radius:18px; }
  .pedeWelcomeActions { margin:16px -18px -18px; padding:14px 18px; justify-content:stretch; }
  .pedePrimaryBtn, .pedeSecondaryBtn, .pedeGhostBtn { width:100%; }
}


/* V47 · Papiro fundacional de La Pede */
.pedeWelcomePapyrus { perspective: 1200px; }
.pedeWelcomePapyrus .pedeWelcomeBackdrop {
  background:
    radial-gradient(circle at 18% 12%, rgba(255,64,172,.22), transparent 30%),
    radial-gradient(circle at 82% 78%, rgba(245,171,39,.18), transparent 28%),
    rgba(18, 8, 31, .78);
  backdrop-filter: blur(10px) saturate(1.1);
}
.pedePapiroStage {
  position:relative;
  z-index:1;
  width:min(1080px, 96vw);
  max-height:92vh;
  padding:34px 20px;
  filter: drop-shadow(0 34px 48px rgba(18,8,31,.42));
  animation:papiroStageEnter 1.05s cubic-bezier(.22,.88,.18,1) both;
}
.papiroSheet {
  position:relative;
  overflow:hidden;
  max-height:82vh;
  padding:34px 44px 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.65), transparent 26%),
    radial-gradient(circle at 85% 28%, rgba(221,32,130,.08), transparent 28%),
    repeating-linear-gradient(90deg, rgba(137,88,38,.035) 0 2px, transparent 2px 13px),
    linear-gradient(100deg, #fff0c8 0%, #fff7df 18%, #f4d493 50%, #fff1c9 82%, #e9c074 100%);
  border:1px solid rgba(112,63,27,.45);
  border-left:10px solid rgba(99,50,21,.28);
  border-right:10px solid rgba(99,50,21,.28);
  border-radius:46px 30px 42px 34px / 28px 48px 30px 52px;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.28),
    inset 28px 0 45px rgba(104,52,18,.12),
    inset -28px 0 45px rgba(104,52,18,.12),
    0 18px 44px rgba(25,10,32,.24);
  transform-origin:top center;
  animation:papiroUnroll 1.75s cubic-bezier(.2,.94,.16,1) .12s both;
}
.papiroSheet::before,
.papiroSheet::after {
  content:"";
  position:absolute;
  inset:12px 22px auto;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(132,76,29,.18), transparent);
  pointer-events:none;
}
.papiroSheet::after { inset:auto 22px 12px; }
.papiroInkSplash {
  position:absolute;
  right:34px;
  top:24px;
  width:150px;
  height:150px;
  border-radius:45% 55% 52% 48%;
  background:radial-gradient(circle, rgba(221,32,130,.16), rgba(38,28,120,.08) 45%, transparent 70%);
  transform:rotate(-14deg);
  pointer-events:none;
}
.papiroRoll {
  position:absolute;
  left:50%;
  width:calc(100% - 56px);
  height:52px;
  transform:translateX(-50%);
  border-radius:999px;
  background:
    linear-gradient(90deg, rgba(70,34,13,.45), transparent 9%, transparent 91%, rgba(70,34,13,.45)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.2) 0 3px, rgba(99,50,21,.08) 3px 10px),
    linear-gradient(180deg, #ffefbf 0%, #c9873d 48%, #fff2c9 100%);
  border:2px solid rgba(92,45,19,.52);
  box-shadow:inset 0 9px 15px rgba(255,255,255,.35), inset 0 -10px 18px rgba(67,31,10,.28), 0 12px 28px rgba(30,10,35,.26);
  z-index:3;
}
.papiroRoll span {
  position:absolute;
  inset:8px 28px;
  border-radius:999px;
  border-top:1px solid rgba(255,255,255,.45);
  border-bottom:1px solid rgba(63,28,9,.22);
}
.papiroRoll::before,
.papiroRoll::after {
  content:"";
  position:absolute;
  top:50%;
  width:64px;
  height:64px;
  border-radius:50%;
  transform:translateY(-50%);
  background:radial-gradient(circle at 35% 35%, #fff3ca, #c98239 58%, #6b3518 100%);
  border:2px solid rgba(70,34,13,.55);
  box-shadow:inset 0 5px 11px rgba(255,255,255,.36), inset 0 -7px 12px rgba(44,19,8,.3);
}
.papiroRoll::before { left:-18px; }
.papiroRoll::after { right:-18px; }
.papiroRollTop { top:8px; animation:papiroRollTop 1.5s cubic-bezier(.22,.88,.18,1) .08s both; }
.papiroRollBottom { bottom:8px; animation:papiroRollBottom 1.5s cubic-bezier(.22,.88,.18,1) .08s both; }
.papiroHeader {
  grid-template-columns:118px 1fr;
  margin-bottom:18px;
  padding-bottom:20px;
  border-bottom:2px dashed rgba(112,63,27,.28);
}
.papiroHeader h2 { color:#2b1632; text-shadow:0 2px 0 rgba(255,255,255,.55); }
.papiroHeader p { color:#5a321e; }
.papiroHeader .eyebrow { color:#a73a74; font-weight:950; letter-spacing:.08em; }
.papiroHeader, .papiroStory, .papiroActions { opacity:0; transform:translateY(10px); animation:papiroContentReveal .75s ease-out 1.08s forwards; }
.papiroSeal {
  border-radius:50%;
  border:4px solid rgba(255,214,72,.72);
  transform:rotate(-3deg);
  background:#fff4d1;
}
.papiroStory {
  max-height:50vh;
  padding:4px 16px 16px 4px;
  scrollbar-color: rgba(112,63,27,.35) transparent;
}
.papiroStory .pedeStory {
  color:#2e1b20;
  font-size:1.02rem;
}
.papiroStory .pedeStoryLead { color:#32156e; }
.papiroStory .pedeStory h3 {
  color:#b71971;
  font-family: Georgia, 'Times New Roman', serif;
  font-size:1.48rem;
}
.papiroStory .pedeStory blockquote {
  border-left:0;
  border-radius:28px 12px 28px 12px;
  background:linear-gradient(135deg, rgba(255,255,255,.48), rgba(255,214,72,.24));
  border:1px solid rgba(112,63,27,.22);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.papiroActions {
  position:sticky;
  bottom:0;
  margin:18px -44px 0;
  padding:18px 44px 22px;
  background:linear-gradient(180deg, rgba(244,212,147,.15), rgba(244,212,147,.88) 38%, rgba(233,192,116,.95));
  border-top:2px dashed rgba(112,63,27,.26);
}
.papiroActions .pedePrimaryBtn {
  background:linear-gradient(135deg,#24156f,#511c95);
  box-shadow:0 10px 22px rgba(36,21,111,.27);
}
.papiroActions .pedeSecondaryBtn {
  background:linear-gradient(135deg,#dd2082,#ff40ac);
}
.papiroActions .pedeGhostBtn {
  background:rgba(255,255,255,.62);
  border:1px solid rgba(91,49,24,.32);
}
.papiroClose {
  top:18px;
  right:22px;
  z-index:4;
  background:linear-gradient(135deg,#25172e,#5e246f);
}
.historiaCard .pedeStory {
  background:
    linear-gradient(135deg, rgba(255,240,200,.7), rgba(255,255,255,.72));
  border:1px solid rgba(112,63,27,.18);
  border-radius:28px;
  padding:24px;
}
@keyframes papiroStageEnter {
  from { opacity:0; transform:translateY(-28px) scale(.96) rotateX(8deg); }
  to { opacity:1; transform:translateY(0) scale(1) rotateX(0); }
}
@keyframes papiroUnroll {
  0% { opacity:.1; transform:scaleY(.04) translateY(-130px); filter:blur(2px); }
  34% { opacity:.65; transform:scaleY(.34) translateY(-70px); filter:blur(1px); }
  72% { opacity:1; transform:scaleY(1.025) translateY(3px); filter:blur(0); }
  100% { opacity:1; transform:scaleY(1) translateY(0); }
}
@keyframes papiroRollTop {
  0% { transform:translateX(-50%) translateY(240px) rotateX(42deg) scaleX(.62); }
  100% { transform:translateX(-50%) translateY(0) rotateX(0) scaleX(1); }
}
@keyframes papiroRollBottom {
  0% { transform:translateX(-50%) translateY(-240px) rotateX(-42deg) scaleX(.62); }
  100% { transform:translateX(-50%) translateY(0) rotateX(0) scaleX(1); }
}
@keyframes papiroContentReveal {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .pedePapiroStage, .papiroSheet, .papiroRollTop, .papiroRollBottom { animation:none !important; }
}
@media (max-width:720px) {
  .pedePapiroStage { padding:24px 8px; }
  .papiroSheet { padding:24px 18px 0; max-height:86vh; }
  .papiroRoll { width:calc(100% - 24px); height:38px; }
  .papiroRoll::before, .papiroRoll::after { width:46px; height:46px; }
  .papiroRollTop { top:10px; }
  .papiroRollBottom { bottom:10px; }
  .papiroHeader { grid-template-columns:76px 1fr; }
  .papiroStory { max-height:54vh; padding-right:6px; }
  .papiroActions { margin:14px -18px 0; padding:14px 18px 18px; }
}


/* V47.2 · Gatillódromo quirúrgico Fase II */
.faseIIBadge {
  background:linear-gradient(135deg, rgba(221,32,130,.14), rgba(245,171,39,.18));
  border:1px solid rgba(221,32,130,.28);
  color:#351742;
}
.faseIIBadge b { color:#b71971; }
.faseIINote {
  display:block;
  margin-top:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(221,32,130,.18);
  color:#49254f;
  font-weight:850;
  line-height:1.35;
}
.gatilloListItem em {
  line-height:1.35;
}


/* V47.4 · Panel derecho inteligente / Modo trabajo
   Cuando se activa una herramienta potente, La Pede se recoge el cardado
   y deja espacio al contenido útil. Derecho intacto; diva domesticada. */
.appShell.expanded.workMode{
  grid-template-columns:minmax(430px,.58fr) minmax(1020px,1.42fr) !important;
  min-width:1510px;
}
.appShell.workMode .rightPanel{
  --work-header-hint:"Modo trabajo · La Pede mini";
}
.appShell.workMode .sideHeader{
  padding:12px 18px 10px !important;
  align-items:center;
  gap:12px;
}
.appShell.workMode .sideHeader .eyebrow{font-size:9.5px;margin-bottom:2px;letter-spacing:.12em;}
.appShell.workMode .sideHeader h3{font-size:1.08rem !important;line-height:1.08;}
.appShell.workMode .sideHeader h3:after{
  content:"Modo trabajo";
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid color-mix(in srgb,var(--module-accent) 22%,#fff);
  color:color-mix(in srgb,var(--module-accent) 78%,#23225b);
  font:900 10px/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.appShell.workMode #collapsePanel{padding:7px 11px;border-radius:999px;}

.appShell.workMode .personaBox{
  display:grid !important;
  grid-template-columns:92px 1fr minmax(255px,360px);
  align-items:center;
  gap:12px;
  min-height:98px !important;
  padding:8px 18px !important;
  border-bottom:1px solid rgba(238,224,232,.72);
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,247,252,.78));
}
.appShell.workMode .modeSwitch{
  grid-column:3;
  grid-row:1;
  max-width:360px;
  margin:0 0 0 auto;
  padding:4px;
  border-radius:14px;
}
.appShell.workMode .modeBtn{padding:8px 10px;font-size:12.5px;line-height:1.05;}
.appShell.workMode .lolaStagePhoto,
body.lolaMode .appShell.workMode .lolaStagePhoto{
  display:block !important;
  position:relative !important;
  grid-column:1;
  grid-row:1;
  left:auto !important;
  top:auto !important;
  width:84px !important;
  height:92px !important;
  margin:0 !important;
  overflow:visible;
}
.appShell.workMode .lolaStagePhoto .lolaAura{
  width:82px;height:82px;filter:blur(.1px);box-shadow:0 10px 22px rgba(229,22,115,.15);
}
.appShell.workMode .photoWrap{
  left:-8px !important;
  top:-18px !important;
  width:112px !important;
  height:135px !important;
  filter:drop-shadow(0 8px 12px rgba(229,22,115,.14));
  animation:none !important;
}
.appShell.workMode .mouthRig{transform:translate(-50%,-50%) scale(.45);}
.appShell.workMode .eyeSparkle,
.appShell.workMode .soundWaves{display:none !important;}
.appShell.workMode .lolaTitleBlock,
body.lolaMode .appShell.workMode .lolaTitleBlock{
  display:block !important;
  grid-column:2;
  grid-row:1;
  margin:0 !important;
  min-height:0 !important;
  align-content:center;
  padding:0;
  text-align:left;
}
.appShell.workMode .lolaTitleBlock h4{
  font-size:1.42rem !important;
  line-height:1.02;
  margin:0;
}
.appShell.workMode .lolaTitleBlock p{
  margin:4px 0 0;
  font-size:.72rem;
  line-height:1.2;
  max-width:620px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.lolaMode .appShell.workMode .personaBox{
  min-height:98px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,238,249,.86));
}
body:not(.lolaMode) .appShell.workMode .lolaStagePhoto,
body:not(.lolaMode) .appShell.workMode .lolaTitleBlock{display:none !important;}
body:not(.lolaMode) .appShell.workMode .personaBox{grid-template-columns:1fr;min-height:auto !important;}
body:not(.lolaMode) .appShell.workMode .modeSwitch{grid-column:1;max-width:390px;}

.appShell.workMode .mainButtons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  padding:8px 18px !important;
}
.appShell.workMode .mainButtons button{
  min-height:42px;
  border-radius:12px;
  padding:8px 10px 8px 30px;
  font-size:12.5px;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.appShell.workMode .mainButtons button:before{left:10px;top:50%;transform:translateY(-50%);}
.appShell.workMode .mainButtons button:after{display:none;}
.appShell.workMode .mainButtons button:hover{transform:translateY(-1px);}
.appShell.workMode .sideContent{
  padding:12px 18px 24px !important;
}
.appShell.workMode .moduleScene{
  margin:0 0 10px;
  padding:10px 14px;
  border-radius:18px;
  gap:10px;
  box-shadow:0 10px 20px color-mix(in srgb,var(--module-accent) 10%,transparent);
}
.appShell.workMode .moduleSceneIcon{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:15px;
  font-size:24px;
}
.appShell.workMode .moduleSceneText span{font-size:.62rem;margin-bottom:1px;letter-spacing:.12em;}
.appShell.workMode .moduleSceneText strong{font-size:1.18rem;line-height:1.05;}
.appShell.workMode .moduleSceneText em{
  margin-top:2px;
  font-size:.86rem;
  line-height:1.22;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.appShell.workMode .moduleHero{display:none !important;}
.appShell.workMode .contentCard,
.appShell.workMode .lolaCard{margin-bottom:10px;}
.appShell.workMode .gatilloPanel,
.appShell.workMode .examPanel,
.appShell.workMode .modulePanel{margin-top:0;}
.appShell.workMode .gatilloList{max-height:calc(100vh - 430px);}
.appShell.workMode .moduleList{max-height:calc(100vh - 470px);}
.appShell.workMode .examStatementText{max-height:calc(100vh - 505px);}

@media (max-width:1200px){
  .appShell.expanded.workMode{grid-template-columns:minmax(500px,1fr) minmax(760px,1.3fr)!important;min-width:1280px;}
  .appShell.workMode .personaBox{grid-template-columns:76px 1fr;}
  .appShell.workMode .modeSwitch{grid-column:1 / -1;grid-row:2;max-width:none;width:100%;}
  .appShell.workMode .lolaStagePhoto{width:72px!important;height:78px!important;}
  .appShell.workMode .photoWrap{width:96px!important;height:116px!important;}
  .appShell.workMode .mainButtons{grid-template-columns:repeat(2,minmax(0,1fr));}
}


/* V48 · Plan Semanal de La Pede */
.planModule, .planOutput { border:1px solid rgba(229,22,115,.16); }
.moduleScene-plan { background:linear-gradient(135deg, rgba(255,214,72,.28), rgba(229,22,115,.14), rgba(40,70,180,.10)); }
.planHero { display:grid; grid-template-columns:1fr 110px; gap:18px; align-items:center; padding:22px; border-radius:28px; background:linear-gradient(135deg, #fff7dc, #fff, #ffe5f2); border:1px solid rgba(229,22,115,.20); box-shadow:0 14px 34px rgba(31,11,48,.08); }
.planHero span { display:block; color:#a67800; font-weight:950; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; }
.planHero h4 { margin:6px 0 8px; font-size:clamp(1.45rem, 2.4vw, 2.25rem); color:#25164f; }
.planHero p { margin:0; color:#6a6274; font-weight:700; line-height:1.45; }
.planHeroBadge { width:94px; height:94px; border-radius:30px; display:flex; align-items:center; justify-content:center; font-weight:1000; font-size:1.32rem; color:#fff; background:linear-gradient(135deg,#25156f,#e51673,#ffb000); box-shadow:0 18px 28px rgba(229,22,115,.24); transform:rotate(4deg); }
.planFormGrid { display:grid; grid-template-columns:1fr 210px 210px; gap:14px; margin-top:18px; }
.planFormGrid label, .planHours { display:flex; flex-direction:column; gap:8px; font-weight:900; color:#2b2435; }
.planFormGrid span, .planHours h5 { margin:0; color:#7a6178; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; }
.planFormGrid textarea, .planFormGrid select, .planDayToggle input[type="number"] { border:1px solid rgba(47,41,60,.18); border-radius:16px; padding:12px 13px; font:inherit; font-weight:800; background:#fff; color:#241b32; box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.planWide { grid-row:span 2; }
.planHours { margin-top:16px; padding:16px; border-radius:22px; background:rgba(255,255,255,.62); border:1px dashed rgba(229,22,115,.24); }
.planHours > div { display:grid; grid-template-columns:repeat(7, minmax(110px, 1fr)); gap:8px; }
.planDayToggle { display:grid !important; grid-template-columns:auto 1fr; align-items:center; gap:6px !important; padding:10px; border-radius:16px; background:#fff; border:1px solid rgba(47,41,60,.12); }
.planDayToggle input[type="number"] { grid-column:1 / -1; width:100%; padding:8px 9px; }
.planPreview { margin-top:12px; padding:12px 14px; border-radius:18px; background:linear-gradient(135deg,rgba(36,21,111,.08),rgba(229,22,115,.08)); color:#25164f; font-weight:900; }
.planPreview span { color:#6b6173; }
.planQuickActions, .planActionsBottom { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.planEmpty { padding:26px; border-radius:24px; background:#fff; border:1px dashed rgba(47,41,60,.18); display:flex; flex-direction:column; gap:6px; }
.planResultHead { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:14px; }
.planResultHead span { color:#a67800; font-weight:950; letter-spacing:.12em; text-transform:uppercase; font-size:.74rem; }
.planResultHead h4 { margin:4px 0 0; color:#25164f; font-size:1.45rem; }
.planHot, .planWarning { padding:12px 14px; border-radius:18px; margin:10px 0; font-weight:850; }
.planHot { background:linear-gradient(135deg,rgba(255,214,72,.28),rgba(229,22,115,.10)); color:#4a2c00; }
.planWarning { background:rgba(255,115,90,.12); color:#6b210f; border:1px solid rgba(255,115,90,.22); }
.planSelectedArticles { display:flex; flex-wrap:wrap; gap:9px; margin:14px 0 18px; }
.planArticleChip { border:1px solid rgba(47,41,60,.13); border-radius:18px; padding:10px 12px; background:#fff; text-align:left; min-width:180px; cursor:pointer; box-shadow:0 8px 20px rgba(31,11,48,.06); }
.planArticleChip b { display:block; color:#e51673; font-size:1.02rem; }
.planArticleChip span { display:block; color:#241b32; font-weight:900; margin:2px 0; }
.planArticleChip em { display:block; color:#6b6173; font-size:.78rem; font-style:normal; font-weight:800; }
.planGrid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.planDay { padding:16px; border-radius:24px; background:linear-gradient(135deg,#fff,#fff7dc); border:1px solid rgba(229,22,115,.16); box-shadow:0 10px 24px rgba(31,11,48,.06); }
.planDay.isOff { opacity:.55; filter:saturate(.55); }
.planDayHead { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#71677a; font-weight:950; }
.planDayHead b { color:#fff; background:#25156f; padding:5px 10px; border-radius:999px; }
.planDay h5 { margin:12px 0 8px; font-size:1.14rem; color:#25164f; }
.planDay ul { margin:0; padding-left:19px; color:#342842; line-height:1.5; font-weight:750; }
.planDay blockquote { margin:12px 0 0; padding:12px 14px; border-left:5px solid #e51673; border-radius:14px; background:rgba(229,22,115,.07); color:#4a1a39; font-weight:900; }
@media (max-width:900px) { .planFormGrid { grid-template-columns:1fr; } .planHours > div { grid-template-columns:repeat(2, minmax(0,1fr)); } .planGrid { grid-template-columns:1fr; } .planHero { grid-template-columns:1fr; } .planHeroBadge { width:76px; height:76px; } }


/* V49 · Comparódromo de La Pede */
.moduleScene-comparodromo { background:linear-gradient(135deg, rgba(36,21,111,.12), rgba(255,214,72,.22), rgba(229,22,115,.12)); }
.comparoHero { display:grid; grid-template-columns:1fr 96px; gap:18px; align-items:center; padding:22px; border:1px solid rgba(229,22,115,.16); background:linear-gradient(135deg,#fff,#fff7dc,#ffe8f3); }
.comparoHero span, .comparoDetailHead span { display:block; text-transform:uppercase; letter-spacing:.14em; font-weight:1000; color:#a67800; font-size:.76rem; }
.comparoHero h4 { margin:6px 0 8px; font-size:clamp(1.45rem,2.35vw,2.18rem); color:#25164f; }
.comparoHero p { margin:0; color:#64596d; font-weight:800; line-height:1.45; }
.comparoHeroBadge { width:86px; height:86px; border-radius:28px; display:flex; align-items:center; justify-content:center; font-size:2.1rem; background:linear-gradient(135deg,#24156f,#e51673,#ffb000); color:#fff; box-shadow:0 16px 30px rgba(229,22,115,.23); transform:rotate(4deg); }
.comparoLayout { display:grid; grid-template-columns:minmax(260px,.42fr) minmax(0,1fr); gap:16px; border:1px solid rgba(229,22,115,.14); background:linear-gradient(180deg,#fff,rgba(255,247,253,.84)); }
.comparoSidebar { min-width:0; border-right:1px dashed rgba(47,41,60,.16); padding-right:14px; }
.comparoFilters { display:grid; gap:10px; margin-bottom:12px; }
.comparoFilters input,.comparoFilters select { width:100%; border:1px solid rgba(47,41,60,.16); border-radius:16px; padding:11px 12px; font:inherit; font-weight:850; background:#fff; color:#25172e; }
.comparoStats { display:flex; align-items:baseline; gap:8px; padding:10px 12px; margin-bottom:10px; border-radius:16px; background:rgba(36,21,111,.07); color:#25164f; }
.comparoStats b { font-size:1.3rem; }
.comparoStats span { font-weight:850; color:#665e70; }
.comparoList { display:grid; gap:9px; max-height:calc(100vh - 470px); overflow:auto; padding-right:4px; }
.comparoListItem { text-align:left; border:1px solid rgba(47,41,60,.13); background:#fff; border-radius:18px; padding:12px; cursor:pointer; box-shadow:0 8px 18px rgba(31,11,48,.05); }
.comparoListItem:hover,.comparoListItem.isActive { border-color:rgba(229,22,115,.44); box-shadow:0 10px 24px rgba(229,22,115,.12); transform:translateY(-1px); }
.comparoListItem span { display:block; color:#a67800; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; font-weight:1000; }
.comparoListItem strong { display:block; margin:4px 0; color:#25164f; line-height:1.18; }
.comparoListItem em { display:block; font-style:normal; color:#6c6375; font-size:.84rem; font-weight:800; line-height:1.28; }
.comparoDetail { min-width:0; }
.comparoDetailHead { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:10px; }
.comparoDetailHead h4 { margin:4px 0 4px; color:#25164f; font-size:1.45rem; }
.comparoDetailHead p { margin:0; color:#63596b; font-weight:800; }
.comparoPede { margin:12px 0; padding:14px 16px; border-left:6px solid #e51673; border-radius:18px; background:linear-gradient(135deg,rgba(229,22,115,.08),rgba(255,214,72,.20)); color:#4a1739; font-weight:950; line-height:1.45; }
.comparoCoverage { margin:12px 0; padding:12px; border-radius:20px; background:rgba(255,255,255,.64); border:1px dashed rgba(229,22,115,.20); }
.comparoCoverage h5,.comparoScenario h5,.comparoTests h5 { margin:0 0 10px; color:#7a6178; text-transform:uppercase; letter-spacing:.10em; font-size:.74rem; }
.comparoCoverage > div { display:flex; gap:8px; flex-wrap:wrap; }
.comparoArtChip { min-width:150px; text-align:left; border:1px solid rgba(47,41,60,.14); border-radius:16px; background:#fff; padding:10px 11px; cursor:pointer; }
.comparoArtChip b { display:block; color:#e51673; font-size:1rem; }
.comparoArtChip span { display:block; color:#25172e; font-weight:900; margin:2px 0; }
.comparoArtChip em { display:block; color:#71677a; font-size:.76rem; font-style:normal; font-weight:800; }
.comparoTableWrap { overflow:auto; margin:14px 0; border-radius:20px; border:1px solid rgba(47,41,60,.12); box-shadow:0 10px 24px rgba(31,11,48,.05); }
.comparoTable { width:100%; border-collapse:separate; border-spacing:0; min-width:760px; background:#fff; }
.comparoTable th,.comparoTable td { padding:13px 14px; vertical-align:top; border-bottom:1px solid rgba(47,41,60,.10); border-right:1px solid rgba(47,41,60,.08); line-height:1.42; }
.comparoTable thead th { position:sticky; top:0; z-index:1; color:#fff; background:linear-gradient(135deg,#25156f,#4f2495); font-weight:1000; }
.comparoTable tbody th { width:150px; color:#4a1739; background:rgba(255,214,72,.18); font-weight:1000; }
.comparoTable td { color:#2f2637; font-weight:760; }
.comparoScenario { padding:14px 16px; border-radius:20px; background:rgba(36,21,111,.06); border:1px solid rgba(36,21,111,.10); margin:12px 0; }
.comparoScenario p { margin:0; color:#312943; font-weight:850; line-height:1.45; }
.comparoTests { margin:14px 0; display:grid; gap:9px; }
.comparoTests details { border:1px solid rgba(47,41,60,.12); border-radius:16px; background:#fff; padding:11px 13px; }
.comparoTests summary { cursor:pointer; font-weight:1000; color:#25164f; }
.comparoTests p { margin:10px 0 0; color:#3a3042; font-weight:850; }
.comparoActions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
body[data-panel-theme="comparodromo"] .modulePanel { background:linear-gradient(180deg,#fff,rgba(255,247,253,.96))!important; border-color:#f0a4cb!important; }
.appShell.workMode .comparoList { max-height:calc(100vh - 500px); }
@media (max-width:980px){ .comparoLayout{grid-template-columns:1fr;} .comparoSidebar{border-right:0;border-bottom:1px dashed rgba(47,41,60,.16);padding-right:0;padding-bottom:12px;} .comparoList{max-height:280px;} .comparoHero{grid-template-columns:1fr;} .comparoHeroBadge{width:72px;height:72px;} }


/* V49.1 · Comparódromo en ventana grande */
body.comparoModalOpen { overflow:hidden; }
.comparoModal[hidden] { display:none; }
.comparoModal {
  position:fixed;
  inset:0;
  z-index:10020;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.comparoModalBackdrop {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 15%, rgba(229,22,115,.20), transparent 32%),
    radial-gradient(circle at 82% 80%, rgba(255,176,0,.20), transparent 30%),
    rgba(15, 8, 28, .82);
  backdrop-filter:blur(10px) saturate(1.12);
}
.comparoModalBox {
  position:relative;
  z-index:1;
  width:min(1480px, 96vw);
  height:min(900px, 92vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:30px;
  border:2px solid rgba(255,214,72,.42);
  background:linear-gradient(135deg,#fffdf7 0%, #fff 36%, #fff3cc 100%);
  box-shadow:0 32px 90px rgba(14,7,28,.58), inset 0 0 0 1px rgba(255,255,255,.55);
}
.comparoModalHeader {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 26px 18px;
  border-bottom:1px solid rgba(47,41,60,.12);
  background:linear-gradient(135deg, rgba(36,21,111,.09), rgba(255,214,72,.18), rgba(229,22,115,.08));
}
.comparoModalHeader span {
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:1000;
  font-size:.76rem;
  color:#a67800;
}
.comparoModalHeader h2 {
  margin:6px 0 6px;
  color:#25164f;
  line-height:1.05;
  font-size:clamp(1.55rem, 2.4vw, 2.35rem);
}
.comparoModalHeader p { margin:0; color:#64596d; font-weight:850; line-height:1.35; }
.comparoModalClose {
  width:44px;
  height:44px;
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#25172e,#5e246f);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(37,23,46,.28);
}
.comparoModalBody {
  flex:1;
  overflow:auto;
  padding:22px 26px 26px;
}
.comparoModalBody .comparoPede { margin-top:0; }
.comparoModalBody .comparoTableWrap {
  max-height:none;
  border-radius:24px;
  border:1px solid rgba(47,41,60,.16);
  box-shadow:0 18px 34px rgba(31,11,48,.08);
}
.comparoModalBody .comparoTable { min-width:1180px; font-size:1.02rem; }
.comparoModalBody .comparoTable th,
.comparoModalBody .comparoTable td { padding:16px 18px; line-height:1.5; }
.comparoModalBody .comparoTable tbody th { width:190px; }
.comparoModalArticleLine {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
}
.comparoModalArticleLine span {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(229,22,115,.18);
  color:#25164f;
  font-weight:950;
  box-shadow:0 8px 18px rgba(31,11,48,.04);
}
.comparoModalFooter {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding:16px 26px;
  border-top:1px solid rgba(47,41,60,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,247,220,.96));
}
.comparoBigBtn {
  white-space:nowrap;
  border-color:rgba(229,22,115,.28)!important;
  background:linear-gradient(135deg,#fff,#fff2c8)!important;
  color:#25164f!important;
  font-weight:1000!important;
}
.comparoTableToolbar {
  display:flex;
  justify-content:flex-end;
  margin:8px 0 -4px;
}
@media (max-width:760px){
  .comparoModal{padding:10px;}
  .comparoModalBox{height:94vh;border-radius:22px;}
  .comparoModalHeader{padding:16px 18px;}
  .comparoModalBody{padding:16px 18px;}
  .comparoModalFooter{padding:14px 18px; justify-content:stretch;}
  .comparoModalFooter .pedePrimaryBtn,.comparoModalFooter .miniBtn{width:100%;}
  .comparoModalBody .comparoTable{min-width:980px;}
}


/* V49.3 · Plan Semanal obediente y más explicativo */
.planStrict,
.planRelatedRefs,
.planDayMini {
  border: 1px solid rgba(236, 72, 153, .20);
  background: linear-gradient(135deg, rgba(255, 247, 237, .95), rgba(253, 242, 248, .86));
  border-radius: 18px;
  padding: 12px 14px;
  margin: 10px 0;
  color: #3b2144;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .04);
}
.planStrict b,
.planRelatedRefs b,
.planDayMini b { color: #8a1358; }
.planRelatedRefs small {
  display: block;
  margin-top: 5px;
  color: #75667b;
  font-weight: 800;
}
.planDayMini {
  font-size: .88rem;
  margin: 8px 0 10px;
  padding: 9px 11px;
  border-radius: 14px;
}
.planDay ul li { margin-bottom: 7px; line-height: 1.34; }
.planPreview span { font-weight: 850; }


/* V49.4 · Plan Semanal: fecha examen, concordados e impuestos */
.planExamDemand,
.planConcordadoProposal,
.planTaxBox,
.planExamBox,
.planTaxSummary {
  border: 1px solid rgba(236, 72, 153, .22);
  border-radius: 18px;
  padding: 14px 16px;
  margin: 14px 0;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,244,214,.72));
  box-shadow: 0 12px 28px rgba(31, 16, 72, .06);
}
.planExamDemand { color:#5b1742; }
.planSwitch {
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  color:#27144f;
  margin: 12px 0;
}
.planSwitch input { transform: scale(1.2); accent-color:#ec1b7b; }
.planConcordadoProposal b { color:#b47b00; }
.planConcordadoProposal span,
.planTaxBox small,
.planExamBox span { display:block; margin-top:6px; color:#6e6179; font-weight:700; line-height:1.35; }
.planConcordadoProposal.muted { opacity:.76; }
.planTaxGrid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}
.planTaxGrid label { display:flex; flex-direction:column; gap:7px; font-weight:900; color:#817188; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.planTaxGrid input,
#planExamDate { border:1px solid #ded8e4; border-radius:16px; padding:12px 14px; font:inherit; font-weight:900; color:#27144f; background:white; }
.planExamBox.ok { border-color: rgba(34,197,94,.32); background: linear-gradient(135deg, rgba(240,253,244,.96), rgba(255,255,255,.82)); }
.planExamBox.mid { border-color: rgba(245,158,11,.36); background: linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,247,237,.8)); }
.planExamBox.warn { border-color: rgba(236,72,153,.30); background: linear-gradient(135deg, rgba(253,242,248,.96), rgba(255,255,255,.82)); }
.planExamBox.danger { border-color: rgba(239,68,68,.34); background: linear-gradient(135deg, rgba(254,242,242,.96), rgba(255,255,255,.82)); }
.planDayMini.concordados { background: rgba(255, 247, 237, .88); border-color: rgba(245, 158, 11, .24); }
.planDayMini.tax { background: rgba(239, 246, 255, .88); border-color: rgba(59, 130, 246, .22); }
@media (max-width: 980px) { .planTaxGrid { grid-template-columns:1fr; } }


/* V49.5 · Diagnóstico previo del Plan Semanal */
.planDiagnostic {
  margin: 16px 0;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(36, 21, 111, .16);
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,247,220,.78), rgba(253,242,248,.86));
  box-shadow: 0 14px 34px rgba(31, 16, 72, .07);
}
.planDiagnostic.ok { border-color: rgba(34,197,94,.30); }
.planDiagnostic.mid { border-color: rgba(245,158,11,.34); }
.planDiagnostic.warn { border-color: rgba(236,72,153,.28); }
.planDiagHead span {
  display:block;
  color:#a67800;
  font-weight:1000;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-size:.74rem;
}
.planDiagHead h5 { margin: 5px 0 6px; color:#25164f; font-size:1.2rem; }
.planDiagHead p { margin:0; color:#62566d; font-weight:850; line-height:1.38; }
.planDiagGrid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.planDiagGrid section {
  border:1px solid rgba(47,41,60,.12);
  border-radius: 18px;
  padding: 13px;
  background: rgba(255,255,255,.78);
  min-width:0;
}
.planDiagGrid h6 {
  margin: 0 0 8px;
  color:#8a1358;
  font-size:.88rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.planDiagGrid p { margin: 7px 0; color:#342842; font-weight:800; line-height:1.35; }
.planDiagMini { padding:9px 10px; margin:8px 0; border-radius:14px; border:1px solid rgba(245,158,11,.22); background:rgba(255,247,237,.82); }
.planDiagMini b { color:#25164f; }
.planDiagMini ul { margin:7px 0 0; padding-left:18px; color:#3b3045; font-weight:760; line-height:1.34; }
.planDiagMini em { color:#7b6d7f; font-style:normal; font-weight:850; }
.planDiagEmpty { padding:11px 12px; border-radius:14px; background:rgba(36,21,111,.06); color:#5f5668; font-weight:850; line-height:1.35; }
.planBridgeItem { display:flex; align-items:flex-start; gap:8px; padding:10px; margin:8px 0; border-radius:14px; background:rgba(253,242,248,.84); border:1px solid rgba(236,72,153,.16); color:#342842; }
.planBridgeItem input { margin-top:3px; accent-color:#ec1b7b; }
.planBridgeItem span { display:block; }
.planBridgeItem b { color:#e51673; }
.planBridgeItem em { margin-left:6px; color:#a67800; font-style:normal; font-weight:1000; }
.planBridgeItem small { display:block; margin-top:5px; color:#62566d; font-weight:800; line-height:1.32; }
.planDiagChoices { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.planDiagnostic blockquote { margin:14px 0 0; padding:12px 14px; border-left:5px solid #e51673; border-radius:14px; background:rgba(229,22,115,.07); color:#4a1a39; font-weight:950; line-height:1.42; }
.planBridgeSwitch { background: rgba(255,255,255,.68); padding:10px 12px; border-radius:16px; border:1px solid rgba(236,72,153,.18); }
.planCoreAccepted,
.planBridgeAccepted {
  border: 1px solid rgba(47,41,60,.12);
  border-radius: 18px;
  padding: 12px 14px;
  margin: 10px 0;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,247,237,.76));
  color:#342842;
  font-weight:850;
}
.planCoreAccepted b,
.planBridgeAccepted b { color:#8a1358; }
.planBridgeAccepted small { display:block; margin-top:6px; color:#6f6477; font-weight:800; }
.planBridgeAccepted.muted { opacity:.82; }
@media (max-width: 1100px) { .planDiagGrid { grid-template-columns: 1fr; } }


/* V49.7 · Planning semanal grande y reparto horario diario */
body.planModalOpen { overflow:hidden; }
.planTimeBox {
  margin: 10px 0 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(36,21,111,.16);
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(240,246,255,.76), rgba(255,247,220,.72));
  box-shadow: 0 10px 22px rgba(31,16,72,.05);
}
.planTimeBox h6 {
  margin: 0 0 9px;
  color: #25164f;
  font-size: .88rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.planTimeRow {
  display: grid;
  grid-template-columns: 76px minmax(180px,.55fr) 1fr;
  gap: 10px;
  align-items: start;
  padding: 8px 0;
  border-top: 1px solid rgba(47,41,60,.09);
}
.planTimeRow:first-of-type { border-top: 0; }
.planTimeRow b {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  background: linear-gradient(135deg,#25156f,#e51673);
  color: #fff;
  font-weight: 1000;
  white-space: nowrap;
}
.planTimeRow span {
  color: #25164f;
  font-weight: 1000;
  line-height: 1.2;
}
.planTimeRow em {
  color: #5f5668;
  font-style: normal;
  font-weight: 800;
  line-height: 1.28;
}
.planTimeBox small {
  display: block;
  margin-top: 8px;
  color: #7a6d80;
  font-weight: 850;
}
.planModalBox { width:min(1560px, 97vw); height:min(940px, 94vh); }
.planModalHeader { background:linear-gradient(135deg, rgba(255,214,72,.25), rgba(229,22,115,.10), rgba(36,21,111,.08)); }
.planModalBody { background:linear-gradient(180deg,#fffdf8,#fff,#fff7fd); }
.planLargeSheet { display:grid; gap: 14px; }
.planLargeIntro {
  border: 1px solid rgba(229,22,115,.18);
  border-radius: 24px;
  padding: 18px 20px;
  background: linear-gradient(135deg,#fff7dc,#fff,#ffe8f3);
}
.planLargeIntro span {
  display:block;
  color:#a67800;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.76rem;
}
.planLargeIntro h3 { margin: 5px 0 4px; color:#25164f; font-size: clamp(1.45rem,2.2vw,2.35rem); }
.planLargeIntro p { margin:0; color:#665c70; font-weight:850; }
.planLargeDays { display:grid; grid-template-columns:1fr; gap: 16px; }
.planDayLarge { border-radius: 28px; padding: 20px; }
.planDayLarge .planTimeRow { grid-template-columns: 90px minmax(240px,.45fr) 1fr; }
.planActionsBottom #planOpenLarge { box-shadow:0 12px 28px rgba(229,22,115,.18); }
@media (max-width: 900px) {
  .planTimeRow, .planDayLarge .planTimeRow { grid-template-columns: 1fr; gap: 5px; }
  .planTimeRow b { width:max-content; }
  .planModalBox { height:95vh; }
}


/* V51.18 · Super Planning Pede Z formato planner original */
.planDbzBtn { border-color:rgba(250,204,21,.70)!important; background:linear-gradient(135deg,#fff7cc,#ffe9fb)!important; color:#25164f!important; box-shadow:0 10px 22px rgba(244,114,182,.12); }
.dbzPlannerWrap { display:grid; gap:14px; justify-items:center; padding:6px; }
.dbzToolbar { width:min(100%, 1100px); display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:12px; border-radius:22px; background:linear-gradient(135deg,#fff7d6,#ffe7f5,#e9f0ff); border:1px solid rgba(229,22,115,.18); }
.dbzToolbar small { color:#5d5269; font-weight:900; }
.dbzPlannerSheet {
  width:min(297mm, 100%);
  height:210mm;
  background:
    radial-gradient(circle at 14% 14%, rgba(250,204,21,.62), transparent 16%),
    radial-gradient(circle at 88% 15%, rgba(59,130,246,.28), transparent 16%),
    radial-gradient(circle at 52% 96%, rgba(236,72,153,.25), transparent 24%),
    repeating-linear-gradient(135deg, rgba(229,22,115,.055) 0 6px, transparent 6px 24px),
    linear-gradient(135deg,#fff7d6 0%, #fff 35%, #fff0fb 68%, #eaf2ff 100%);
  border:2.2mm solid #18102f;
  border-radius:0;
  box-shadow:0 24px 60px rgba(36,21,111,.18);
  padding:7mm;
  color:#18102f;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:38mm 3mm 1fr 6mm;
  box-sizing:border-box;
}
.dbzHeader, .dbzEnergyBar, .dbzGrid, .dbzFooter { position:relative; z-index:1; }
.dbzHeader { display:grid; grid-template-columns:96mm 1fr; align-items:stretch; background:linear-gradient(135deg,#a70f37,#e51673 52%,#fdba15); border:1.2mm solid #18102f; color:#fff; min-height:38mm; }
.dbzFields { display:grid; gap:6mm; align-content:center; padding:7mm 8mm; }
.dbzFields label { display:grid; grid-template-columns:35mm 1fr; align-items:center; gap:7mm; font-weight:1000; font-size:8mm; letter-spacing:.01em; }
.dbzFields label span { display:block; height:12mm; background:#fff; color:#18102f; border:1mm solid #18102f; padding:2mm 3mm; font-size:4.1mm; overflow:hidden; white-space:nowrap; text-transform:uppercase; box-sizing:border-box; }
.dbzLogoBox { display:grid; justify-items:center; align-content:center; text-align:center; padding:3mm 5mm; }
.dbzLogoBox strong { color:#05050a; font-size:7mm; letter-spacing:.03em; text-transform:uppercase; text-shadow:0 1px 0 rgba(255,255,255,.35); }
.dbzLogoText { display:flex; align-items:flex-end; justify-content:center; gap:2.5mm; margin-top:1mm; transform:skew(-10deg); filter:drop-shadow(2px 3px 0 #18102f); }
.dbzLogoText span, .dbzLogoText i { font-style:normal; font-weight:1000; text-transform:uppercase; line-height:.92; color:#fde047; -webkit-text-stroke:.7mm #18102f; text-shadow:1.5mm 1.5mm 0 #ef4444; }
.dbzLogoText span:first-child { font-size:13mm; }
.dbzLogoText i { font-size:12mm; color:#fff36a; }
.dbzLogoText span:last-child { font-size:24mm; color:#ef4444; text-shadow:1.5mm 1.5mm 0 #fde047; }
.dbzLogoBox em { margin-top:1mm; color:#fff; font-size:3.2mm; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; }
.dbzEnergyBar { background:linear-gradient(90deg,#22d3ee,#fff,#e51673,#facc15,#22c55e); border-left:1.2mm solid #18102f; border-right:1.2mm solid #18102f; border-bottom:1.2mm solid #18102f; }
.dbzGrid { display:grid; grid-template-columns:repeat(4, 1fr); grid-template-rows:1fr 1fr; gap:0; border-left:1.1mm solid #18102f; border-top:1.1mm solid #18102f; background:rgba(255,255,255,.4); }
.dbzDay { background:rgba(255,255,255,.96); border-right:1.1mm solid #18102f; border-bottom:1.1mm solid #18102f; padding:2.5mm; display:flex; flex-direction:column; overflow:hidden; }
.dbzDay.off { background:rgba(255,255,255,.82); }
.dbzDayHead { display:flex; align-items:baseline; gap:1.5mm; border-bottom:.35mm solid rgba(24,16,47,.32); padding-bottom:1.5mm; margin-bottom:2mm; min-height:7mm; }
.dbzDayHead b { color:#111827; font-size:4.1mm; font-weight:1000; letter-spacing:.02em; white-space:nowrap; }
.dbzDayHead span { color:#111827; font-weight:950; font-size:3.6mm; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dbzDay ul { margin:0; padding-left:4.6mm; display:grid; gap:1mm; font-size:3.25mm; line-height:1.12; font-weight:850; color:#211631; }
.dbzDay li::marker { color:#e51673; }
.dbzNotes { background:rgba(255,255,255,.96); }
.dbzNotes .dbzDayHead b { color:#111827; }
.dbzFooter { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:1.2mm 2mm 0; color:#18102f; font-weight:1000; font-size:3mm; letter-spacing:.04em; }
@media (max-width: 1100px) { .dbzPlannerSheet { width:100%; height:auto; min-height:210mm; } .dbzLogoText span:first-child { font-size:9mm; } .dbzLogoText i { font-size:9mm; } .dbzLogoText span:last-child { font-size:17mm; } .dbzFields label { font-size:5mm; grid-template-columns:25mm 1fr; } .dbzDay ul { font-size:2.9mm; } }
@media print {
  body.dbzPrintMode * { visibility:hidden !important; }
  body.dbzPrintMode #dbzPlannerSheet, body.dbzPrintMode #dbzPlannerSheet * { visibility:visible !important; }
  body.dbzPrintMode #dbzPlannerSheet { position:absolute; left:0; top:0; width:297mm !important; height:210mm !important; min-height:210mm !important; box-shadow:none !important; border-radius:0 !important; margin:0 !important; padding:7mm !important; overflow:hidden; }
  body.dbzPrintMode .noPrint { display:none !important; }
  @page { size:A4 landscape; margin:0; }
}

/* V50 · Ruta mínima 2.º ejercicio */
.rutaHero {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:stretch;
  background:linear-gradient(135deg, rgba(255,244,218,.96), rgba(255,255,255,.92));
  border:1px solid rgba(62,37,18,.14);
}
.rutaHero span { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; opacity:.72; font-weight:900; }
.rutaHero h4 { margin:.25rem 0 .4rem; font-size:1.45rem; }
.rutaHero p { margin:0; max-width:780px; line-height:1.45; }
.rutaHeroStats { min-width:210px; display:grid; grid-template-columns:64px 1fr; gap:6px 10px; align-content:center; padding:14px; border-radius:18px; background:rgba(255,255,255,.72); box-shadow:inset 0 0 0 1px rgba(62,37,18,.08); }
.rutaHeroStats b { font-size:1.45rem; text-align:right; }
.rutaHeroStats span { align-self:center; text-transform:none; letter-spacing:0; font-size:.85rem; font-weight:800; }
.rutaLegalNote { border-left:5px solid rgba(100,49,5,.55); background:rgba(255,250,240,.94); line-height:1.45; }
.rutaToolbar { display:grid; grid-template-columns:180px 1fr auto auto; gap:12px; align-items:end; }
.rutaToolbar label { display:flex; flex-direction:column; gap:5px; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.rutaToolbar select,
.rutaToolbar input { width:100%; padding:10px 12px; border-radius:12px; border:1px solid rgba(62,37,18,.18); background:#fff; font:inherit; }
.rutaLayout { display:grid; grid-template-columns:minmax(280px, .95fr) minmax(360px, 1.15fr); gap:14px; align-items:start; }
.rutaBlocks { display:grid; gap:12px; max-height:72vh; overflow:auto; padding-right:4px; }
.rutaBlock { cursor:default; border-radius:20px; padding:14px; background:rgba(255,255,255,.92); border:1px solid rgba(62,37,18,.12); box-shadow:0 8px 28px rgba(34,20,6,.06); transition:.16s ease; }
.rutaBlock:hover,
.rutaBlock.isSelected { transform:translateY(-1px); box-shadow:0 12px 34px rgba(34,20,6,.12); border-color:rgba(120,56,11,.32); }
.rutaBlock.isSelected { background:linear-gradient(135deg, rgba(255,246,225,.98), rgba(255,255,255,.94)); }
.rutaBlockHead { display:grid; grid-template-columns:44px 1fr auto; gap:10px; align-items:center; margin-bottom:8px; }
.rutaBlockHead span,
.rutaDetailTop span { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; opacity:.68; }
.rutaBlockHead h4 { margin:2px 0 0; font-size:1.02rem; }
.rutaBlockHead em { font-style:normal; padding:6px 9px; border-radius:999px; background:rgba(88,47,14,.08); font-size:.72rem; font-weight:900; white-space:nowrap; }
.rutaIcon { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:rgba(121,72,22,.10); font-size:1.35rem; }
.rutaBlock p { margin:.35rem 0 .65rem; line-height:1.38; font-size:.94rem; }
.rutaChips { display:flex; flex-wrap:wrap; gap:7px; align-items:stretch; }
.rutaChip { border:1px solid rgba(62,37,18,.16); background:#fff; color:inherit; border-radius:12px; padding:7px 9px; min-width:86px; display:inline-flex; flex-direction:column; gap:2px; text-align:left; font:inherit; }
button.rutaChip { cursor:pointer; }
button.rutaChip:disabled { cursor:not-allowed; opacity:.55; }
.rutaChip b { font-size:.78rem; line-height:1; }
.rutaChip span { font-size:.67rem; opacity:.70; max-width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rutaChipLgt { background:rgba(247,239,220,.92); }
.rutaChipRef { background:rgba(240,244,255,.75); }
.rutaChipMissing { background:rgba(255,235,235,.75); }
.rutaMore { display:inline-flex; align-items:center; padding:8px 10px; border-radius:999px; background:rgba(62,37,18,.07); font-size:.78rem; font-weight:900; }
.rutaActions { display:flex; flex-wrap:wrap; gap:8px; margin-top:11px; }
.rutaDetail { position:sticky; top:12px; }
.rutaDetailTop { display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:12px; }
.rutaDetailTop h4 { margin:3px 0 0; font-size:1.28rem; }
.rutaDetail p { line-height:1.48; }
.rutaDetailGrid { display:grid; grid-template-columns:1fr; gap:12px; margin:14px 0; }
.rutaDetailGrid section,
.rutaMiniList { padding:13px; border-radius:16px; background:rgba(255,255,255,.72); border:1px solid rgba(62,37,18,.10); }
.rutaDetail h5 { margin:0 0 10px; font-size:.9rem; text-transform:uppercase; letter-spacing:.06em; }
.rutaMiniList ul { margin:.2rem 0 0; padding-left:1.1rem; line-height:1.55; }
.rutaPedeWarn { margin-top:13px; padding:13px 14px; border-radius:16px; background:rgba(56,27,9,.08); border:1px dashed rgba(62,37,18,.24); line-height:1.45; }
@media (max-width: 980px) {
  .rutaHero { flex-direction:column; }
  .rutaToolbar { grid-template-columns:1fr; }
  .rutaLayout { grid-template-columns:1fr; }
  .rutaDetail { position:static; }
  .rutaBlocks { max-height:none; }
}


/* V50.1 · SEMÁFORO DE COBERTURA Y PROGRESO EN RUTA MÍNIMA */
.rutaCoverageSummary{display:grid;gap:13px;border:1px solid rgba(82,42,14,.14);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,244,221,.90));}
.rutaCoverageTitle{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rutaCoverageTitle span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:950;opacity:.68}.rutaCoverageTitle h4{margin:3px 0 0;font-size:1.22rem}.rutaCoverageTitle strong{font-family:Georgia,'Times New Roman',serif;font-size:2.1rem;line-height:1;color:#4b2207;background:#fff;border-radius:18px;padding:10px 14px;box-shadow:0 8px 22px rgba(55,25,8,.08)}
.rutaCoverageMeter{height:12px;border-radius:999px;background:rgba(65,38,18,.10);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(65,38,18,.08)}.rutaCoverageMeter i{display:block;height:100%;width:var(--pct,0%);border-radius:999px;background:linear-gradient(90deg,#e63946 0%,#f28c28 34%,#e3b505 58%,#2c9a58 82%,#3e8bed 100%);transition:width .25s ease}
.rutaCoverageBuckets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rutaCoverageBuckets button{border:1px solid rgba(65,38,18,.12);border-radius:16px;background:#fff;padding:12px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(34,20,6,.05)}.rutaCoverageBuckets button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(34,20,6,.10)}.rutaCoverageBuckets b{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;color:#3b1c07}.rutaCoverageBuckets span{font-weight:950;line-height:1.1}.rutaCoverageBuckets em{font-style:normal;font-size:.75rem;opacity:.72}
.rutaFiveStates{display:flex;flex-wrap:wrap;gap:8px}.rutaFiveStates span{background:rgba(255,255,255,.82);border:1px solid rgba(65,38,18,.10);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:850}.rutaFiveStates b{font-size:.9rem}
.rutaBlock{position:relative;overflow:hidden}.rutaBlock:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#b8b0a7}.rutaBlockStatus-red:before{background:#e63946}.rutaBlockStatus-orange:before{background:#f28c28}.rutaBlockStatus-yellow:before{background:#e3b505}.rutaBlockStatus-green:before{background:#2c9a58}.rutaBlockStatus-diamond:before{background:linear-gradient(#3e8bed,#9c6ee8)}.rutaBlockStatus-none:before{background:#b8b0a7}
.rutaBlockCoverageTop{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0}.rutaBlockCoverageTop strong{font-size:.95rem;font-weight:950;color:#3b1c07;background:rgba(255,255,255,.82);border-radius:999px;padding:5px 8px}
.rutaStatusPill{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(65,38,18,.12);background:#fff;border-radius:999px;padding:6px 9px;font-size:.75rem;font-weight:950;box-shadow:0 5px 14px rgba(34,20,6,.04)}.rutaStatusPill em{font-style:normal;text-transform:uppercase;letter-spacing:.06em;opacity:.58;font-size:.62rem}.rutaStatusPill.status-red{background:#fff1f4;border-color:rgba(225,29,72,.22)}.rutaStatusPill.status-orange{background:#fff7ed;border-color:rgba(249,115,22,.24)}.rutaStatusPill.status-yellow{background:#fffbea;border-color:rgba(234,179,8,.28)}.rutaStatusPill.status-green{background:#effff5;border-color:rgba(34,197,94,.22)}.rutaStatusPill.status-diamond{background:#eff6ff;border-color:rgba(59,130,246,.24)}.rutaStatusPill.status-none{background:#f7f4ef;color:#6f665b}
.rutaMiniBreakdown{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 4px}.rutaMiniBreakdown span{font-size:.68rem;font-weight:900;padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(65,38,18,.08)}
.rutaDetailStatusPanel{display:grid;grid-template-columns:1fr minmax(190px,260px) auto;gap:12px;align-items:end;margin:12px 0;padding:13px;border-radius:18px;background:rgba(255,255,255,.76);border:1px solid rgba(65,38,18,.11)}.rutaDetailStatusPanel span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;opacity:.62}.rutaDetailStatusPanel strong{display:block;margin:3px 0;font-size:1.05rem}.rutaDetailStatusPanel em{display:block;font-style:normal;font-size:.78rem;line-height:1.25;color:#6b5d51}.rutaDetailStatusPanel label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:950}.rutaDetailStatusPanel select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(62,37,18,.18);background:#fff;font:inherit;text-transform:none;letter-spacing:0;font-weight:800}
.rutaArticleProgressGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.rutaArticleProgressChip{border:1px solid rgba(62,37,18,.12);background:#fff;border-radius:14px;padding:9px 10px;display:grid;gap:3px;text-align:left;font:inherit;cursor:pointer}.rutaArticleProgressChip:disabled{opacity:.55;cursor:not-allowed}.rutaArticleProgressChip b{font-size:.78rem}.rutaArticleProgressChip span{font-size:.7rem;opacity:.74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rutaArticleProgressChip em{font-style:normal;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;opacity:.68}.rutaArticleProgressChip.status-red{background:#fff1f4;border-color:rgba(225,29,72,.22)}.rutaArticleProgressChip.status-orange{background:#fff7ed;border-color:rgba(249,115,22,.22)}.rutaArticleProgressChip.status-yellow{background:#fffbea;border-color:rgba(234,179,8,.24)}.rutaArticleProgressChip.status-green{background:#effff5;border-color:rgba(34,197,94,.20)}.rutaArticleProgressChip.status-diamond{background:#eff6ff;border-color:rgba(59,130,246,.22)}.rutaArticleProgressChip.status-none{background:#f8f6f2}
.rutaToolbar{grid-template-columns:180px 210px 1fr auto auto}.rutaToolbar select{min-height:42px}
@media (max-width: 900px){.rutaCoverageBuckets{grid-template-columns:1fr}.rutaDetailStatusPanel{grid-template-columns:1fr}.rutaToolbar{grid-template-columns:1fr}}


/* V50.2 · conexión Ruta mínima ⇄ Plan Semanal */
.rutaPlanConnect{display:grid;gap:13px;border:1px solid rgba(36,21,111,.13);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,240,255,.86));}
.rutaPlanConnect.ok,.planRutaDiagnostic.ok,.planRutaSummary.ok{border-color:rgba(34,197,94,.30);background:linear-gradient(135deg,rgba(240,253,244,.98),rgba(255,255,255,.90));}
.rutaPlanConnect.mid,.planRutaDiagnostic.mid,.planRutaSummary.mid{border-color:rgba(245,158,11,.34);background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(255,247,237,.88));}
.rutaPlanConnect.warn,.planRutaDiagnostic.warn,.planRutaSummary.warn{border-color:rgba(236,72,153,.28);background:linear-gradient(135deg,rgba(253,242,248,.98),rgba(255,255,255,.88));}
.rutaPlanConnect.danger,.planRutaDiagnostic.danger,.planRutaSummary.danger{border-color:rgba(239,68,68,.34);background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(255,255,255,.88));}
.rutaPlanConnectHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rutaPlanConnectHead span,.planRutaDiagnostic span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:950;opacity:.68}.rutaPlanConnectHead h4{margin:4px 0 0;font-size:1.24rem;color:#25164f}.rutaPlanConnect p{margin:0;line-height:1.45;font-weight:850;color:#473c51}.rutaPlanMetrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.rutaPlanMetrics span{display:grid;gap:3px;border:1px solid rgba(65,38,18,.10);background:rgba(255,255,255,.82);border-radius:15px;padding:10px}.rutaPlanMetrics b{font-size:1.05rem;color:#3b1c07}.rutaPlanMetrics em{font-style:normal;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950;opacity:.64}.rutaPlanTwoCols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rutaPlanTwoCols section{border:1px solid rgba(65,38,18,.10);background:rgba(255,255,255,.68);border-radius:16px;padding:11px}.rutaPlanTwoCols h5{margin:0 0 8px;text-transform:uppercase;letter-spacing:.07em;font-size:.76rem;color:#25164f}.rutaPlanTwoCols div{display:flex;flex-wrap:wrap;gap:6px}.rutaPlanTwoCols span,.rutaPlanTwoCols em{border:1px solid rgba(65,38,18,.10);background:#fff;border-radius:999px;padding:6px 8px;font-size:.72rem;font-weight:900;font-style:normal}.rutaPlanMiniBadge{margin:8px 0;padding:9px 10px;border-radius:14px;border:1px solid rgba(65,38,18,.10);display:grid;gap:2px;font-size:.75rem}.rutaPlanMiniBadge b{font-size:.75rem}.rutaPlanMiniBadge span{line-height:1.22;color:#655a66;font-weight:750}.rutaPlanMiniBadge.inPlan{background:rgba(240,253,244,.86);border-color:rgba(34,197,94,.20)}.rutaPlanMiniBadge.outPlan{background:rgba(253,242,248,.78);border-color:rgba(236,72,153,.17)}.planRutaDiagnostic{margin:12px 0;padding:14px;border-radius:18px;border:1px solid rgba(36,21,111,.13);display:grid;grid-template-columns:1fr minmax(180px,270px);gap:12px;align-items:start}.planRutaDiagnostic h6{margin:3px 0 6px;color:#25164f;font-size:.98rem}.planRutaDiagnostic p{margin:0;line-height:1.36;font-weight:850;color:#5f5668}.planRutaNumbers{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;background:rgba(255,255,255,.70);border-radius:14px;padding:10px}.planRutaNumbers b{font-size:1.1rem;color:#8a1358;text-align:right}.planRutaNumbers span{font-size:.68rem;opacity:.68;align-self:center}.planRutaDiagnostic ul{grid-column:1/-1;margin:0;padding-left:18px;line-height:1.38;font-weight:850}.planRutaDiagnostic li em{font-style:normal;opacity:.62}.planRutaSummary{margin:12px 0;padding:12px 14px;border-radius:16px;border:1px solid rgba(36,21,111,.13);font-weight:850;line-height:1.38}.planRutaSummary small{display:block;margin-top:5px;color:#62566d}.planRutaSummary div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.planRutaSummary span,.planRutaSummary em{border:1px solid rgba(65,38,18,.10);background:rgba(255,255,255,.80);border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;font-style:normal}
@media(max-width:980px){.rutaPlanMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rutaPlanTwoCols,.planRutaDiagnostic{grid-template-columns:1fr}.planRutaNumbers{grid-template-columns:auto 1fr}}


/* V50.3 · DOS VUELTAS HASTA EL EXAMEN */
.twoTurnsPanel,
.planTwoTurnsDiagnostic,
.planTwoTurnsSummary {
  border:1px solid rgba(36,21,111,.16);
  background:linear-gradient(135deg, rgba(255,214,72,.18), rgba(229,22,115,.08), rgba(36,21,111,.07)), #fff;
  box-shadow:0 18px 40px rgba(36,21,111,.08);
}
.twoTurnsPanel.danger,
.planTwoTurnsDiagnostic.danger,
.planTwoTurnsSummary.danger { border-color:rgba(188,20,62,.32); background:linear-gradient(135deg, rgba(188,20,62,.12), rgba(255,214,72,.16), #fff); }
.twoTurnsPanel.mid,
.planTwoTurnsDiagnostic.mid,
.planTwoTurnsSummary.mid { border-color:rgba(232,129,33,.34); background:linear-gradient(135deg, rgba(232,129,33,.13), rgba(255,214,72,.18), #fff); }
.twoTurnsPanel.ok,
.planTwoTurnsDiagnostic.ok,
.planTwoTurnsSummary.ok { border-color:rgba(34,140,86,.30); background:linear-gradient(135deg, rgba(34,140,86,.12), rgba(255,214,72,.14), #fff); }
.twoTurnsHead { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.twoTurnsHead span,
.planTwoTurnsDiagnostic span { display:block; text-transform:uppercase; letter-spacing:.08em; font-size:.74rem; color:#6e507b; font-weight:900; }
.twoTurnsHead h4 { margin:.15rem 0 0; font-size:1.25rem; }
.twoTurnsMetrics { display:grid; grid-template-columns:repeat(6, minmax(88px, 1fr)); gap:10px; margin:10px 0 14px; }
.twoTurnsMetrics span { border:1px solid rgba(36,21,111,.12); border-radius:16px; padding:10px; background:rgba(255,255,255,.78); display:flex; flex-direction:column; gap:2px; }
.twoTurnsMetrics b { font-size:1.08rem; color:#24156f; }
.twoTurnsMetrics em { font-style:normal; font-size:.72rem; color:#705f75; }
.twoTurnsPhases { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin:14px 0; }
.twoTurnsPhases section { border-radius:18px; padding:13px; background:rgba(255,255,255,.78); border:1px dashed rgba(229,22,115,.24); }
.twoTurnsPhases b { display:block; color:#24156f; font-size:.98rem; }
.twoTurnsPhases span { display:inline-flex; margin:.35rem 0; padding:.25rem .55rem; border-radius:999px; background:#24156f; color:#fff; font-weight:900; font-size:.78rem; }
.twoTurnsPhases em { display:block; font-style:normal; color:#594861; font-size:.84rem; line-height:1.35; }
.twoTurnsCols { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; margin-top:12px; }
.twoTurnsCols section,
.twoTurnsFocus { border-radius:18px; padding:12px; background:rgba(255,255,255,.76); border:1px solid rgba(36,21,111,.10); }
.twoTurnsCols h5 { margin:0 0 8px; font-size:.92rem; color:#24156f; }
.twoTurnsCols div,
.twoTurnsFocus { display:flex; flex-direction:column; gap:7px; }
.twoTurnsCols span,
.twoTurnsFocus span,
.planTwoTurnsSummary div span { display:block; padding:8px 10px; border-radius:14px; background:rgba(255,255,255,.84); border:1px solid rgba(36,21,111,.10); font-size:.83rem; }
.twoTurnsCols small { color:#826b8a; margin-left:4px; }
.planTwoTurnsDiagnostic { border-radius:20px; padding:16px; margin:14px 0; display:grid; grid-template-columns:1.4fr .8fr; gap:14px; }
.planTwoTurnsDiagnostic h6 { margin:.15rem 0 .45rem; font-size:1.02rem; }
.planTwoTurnsDiagnostic p { margin:0; color:#5c4a61; }
.planTwoTurnsDiagnostic .planDiagChoices { grid-column:1 / -1; }
.planTwoTurnsSummary { border-radius:18px; padding:13px; margin:12px 0; }
.planTwoTurnsSummary small { display:block; margin-top:6px; color:#5c4a61; }
.planTwoTurnsSummary div { margin-top:9px; display:flex; flex-wrap:wrap; gap:7px; }
@media (max-width: 980px) {
  .twoTurnsMetrics { grid-template-columns:repeat(2, 1fr); }
  .twoTurnsPhases,
  .twoTurnsCols,
  .planTwoTurnsDiagnostic { grid-template-columns:1fr; }
}


.rutaStudyConfig{display:grid;gap:13px;border:1px solid rgba(236,72,153,.24);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(253,242,248,.88));}
.rutaStudyConfigHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.rutaStudyConfigHead span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:950;color:#a20f63}.rutaStudyConfigHead h4{margin:4px 0 3px;font-size:1.22rem;color:#25164f}.rutaStudyConfigHead p{margin:0;line-height:1.42;font-weight:850;color:#5f5668}.rutaStudyGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rutaStudyGrid label{display:grid;gap:6px;font-weight:950;color:#25164f}.rutaStudyGrid label span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;opacity:.74}.rutaStudyGrid input{width:100%;border:1px solid rgba(36,21,111,.15);border-radius:13px;background:#fff;padding:10px 11px;font-weight:900;color:#25164f;box-shadow:0 7px 18px rgba(36,21,111,.05)}.rutaStudyGrid input[readonly]{background:rgba(255,255,255,.65);color:#8a1358}.rutaStudySplit{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rutaStudySplit section{border:1px solid rgba(65,38,18,.10);background:rgba(255,255,255,.74);border-radius:15px;padding:10px;display:grid;gap:4px}.rutaStudySplit b{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#8a1358}.rutaStudySplit span{font-size:.82rem;line-height:1.35;font-weight:800;color:#5f5668}@media(max-width:980px){.rutaStudyGrid,.rutaStudySplit{grid-template-columns:1fr}}



/* V50.4 · Ruta mínima IVA / IRPF / IS */
.rutaTaxHub{border:1px solid rgba(199,38,125,.28);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,244,250,.86));}
.rutaTaxHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px;}
.rutaTaxHead span,.rutaTaxRoute summary em,.rutaTaxSubTop small{font-weight:900;color:#6b6077;letter-spacing:.06em;text-transform:uppercase;}
.rutaTaxHead h4{font-family:var(--font-display);font-size:1.6rem;margin:3px 0;color:#22144e;}
.rutaTaxHead p{margin:0;color:#5f556a;font-weight:800;}
.rutaTaxHead>div:last-child{min-width:145px;border:1px solid #eadfed;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(34,20,78,.08);padding:13px;text-align:center;display:grid;grid-template-columns:1fr 1fr;gap:4px;}
.rutaTaxHead>div:last-child b{font-family:var(--font-display);font-size:1.55rem;color:#2c176f;}
.rutaTaxHead>div:last-child span{font-size:.72rem;}
.rutaTaxRoutes{display:grid;gap:16px;}
.rutaTaxRoute{border:1px solid #eadfed;border-radius:24px;background:rgba(255,255,255,.86);padding:12px 14px;box-shadow:0 12px 30px rgba(34,20,78,.06);}
.rutaTaxRoute summary{cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;list-style:none;}
.rutaTaxRoute summary::-webkit-details-marker{display:none;}
.rutaTaxRoute summary span{font-family:var(--font-display);font-size:1.32rem;color:#281656;font-weight:900;}
.rutaTaxRoute p{color:#3b3345;font-weight:750;line-height:1.35;margin:12px 0;}
.rutaTaxRoute blockquote{margin:12px 0 4px;padding:12px 14px;border-radius:18px;border:1px dashed rgba(199,38,125,.35);background:#fff8fd;color:#4a2b5e;font-weight:850;}
.rutaTaxMiniStats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px;}
.rutaTaxMiniStats span{border:1px solid #e8dfea;background:#fff;border-radius:999px;padding:5px 9px;font-weight:900;}
.rutaTaxSubGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.rutaTaxSubCard{border:1px solid #e6dce9;border-radius:20px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;}
.rutaTaxSubCard.inPlan{box-shadow:inset 4px 0 0 rgba(46,184,92,.75);}
.rutaTaxSubCard.iva{background:linear-gradient(135deg,#fff,#f6fbff);}
.rutaTaxSubCard.irpf{background:linear-gradient(135deg,#fff,#f7fff7);}
.rutaTaxSubCard.is{background:linear-gradient(135deg,#fff,#f7f4ff);}
.rutaTaxSubTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.rutaTaxSubTop b{font-size:.98rem;color:#22144e;line-height:1.15;}
.rutaTaxSubTop strong{white-space:nowrap;font-size:.86rem;color:#281656;}
.rutaTaxRefs{display:flex;gap:6px;flex-wrap:wrap;}
.rutaTaxRefs span{border:1px solid #e1d6b8;background:#fff7df;color:#4b3510;border-radius:12px;padding:5px 8px;font-weight:900;font-size:.78rem;}
.rutaTaxSubCard ul{margin:0;padding-left:18px;color:#51475e;font-weight:760;line-height:1.28;}
.rutaTaxActions{margin-top:auto;display:flex;gap:8px;align-items:end;justify-content:space-between;}
.rutaTaxActions label{display:flex;flex-direction:column;gap:4px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#6b6077;}
.rutaTaxActions select{border-radius:12px;border:1px solid #ded4e5;padding:6px 8px;background:#fff;font-weight:850;max-width:190px;}
@media (max-width:1100px){.rutaTaxSubGrid{grid-template-columns:1fr}.rutaTaxRoute summary{grid-template-columns:1fr}.rutaTaxHead{flex-direction:column}.rutaTaxHead>div:last-child{width:100%;}}


/* V50.5 · mínimos de Gatillódromo y Comparódromo */
.v505MinBadge{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(229,22,115,.28);background:linear-gradient(135deg,#fff2fa,#fff8df);color:#9a0d4e;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;}
.v505Stat{background:linear-gradient(135deg,#fff2fa,#fff8df)!important;border-color:rgba(229,22,115,.28)!important;}
.v505Check{padding:8px 10px;border:1px dashed rgba(229,22,115,.25);border-radius:14px;background:rgba(255,242,250,.65);}
.v505RouteFilterBanner{margin:10px 0 0;padding:10px 12px;border-radius:16px;background:linear-gradient(135deg,rgba(255,214,72,.22),rgba(229,22,115,.09));border:1px solid rgba(229,22,115,.22);font-weight:950;color:#29164f;display:flex;justify-content:space-between;gap:10px;align-items:center;}
.v505MinNote{margin-top:12px;padding:12px 14px;border-radius:17px;background:#fff8df;border:1px dashed rgba(229,22,115,.30);color:#3a234d;font-weight:850;line-height:1.42;}
.v505MinStrip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid rgba(229,22,115,.18);border-radius:16px;background:rgba(255,255,255,.72);padding:8px 10px;color:#4a3159;font-weight:900;}
.v505MinStrip b{color:#a00c54;}.v505MinStrip span{border:1px solid rgba(40,21,91,.10);background:#fff;border-radius:999px;padding:4px 8px;font-size:.78rem}.v505MinStrip.empty{opacity:.82;color:#756b7b;}
.rutaV505BlockPanel{margin:14px 0;padding:14px;border:1px dashed rgba(229,22,115,.32);border-radius:22px;background:linear-gradient(135deg,rgba(255,242,250,.92),rgba(255,249,226,.72));}
.rutaV505BlockHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;}
.rutaV505BlockHead span,.rutaV505Hub span{display:block;color:#8c5e85;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:1000;}
.rutaV505BlockHead h5{margin:3px 0 0;font-family:var(--font-display);font-size:1.2rem;color:#24144d;}
.rutaV505TwoCols{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rutaV505TwoCols>div{background:rgba(255,255,255,.86);border:1px solid rgba(47,41,60,.10);border-radius:18px;padding:12px;}
.rutaV505TwoCols h6{margin:0 0 8px;color:#a00c54;text-transform:uppercase;letter-spacing:.10em;font-size:.73rem;}
.rutaV505TwoCols ul{margin:0 0 10px;padding-left:18px;display:grid;gap:7px;}
.rutaV505TwoCols li b{display:block;color:#21134a;}.rutaV505TwoCols li span{display:block;color:#6d6375;font-size:.82rem;font-weight:800;line-height:1.25;}
.rutaV505Hub{border:1px solid rgba(229,22,115,.30);background:radial-gradient(circle at 8% 10%,rgba(255,214,72,.30),transparent 28%),linear-gradient(135deg,#fff,#fff1f8 48%,#fff8df);display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;}
.rutaV505Hub h4{font-family:var(--font-display);font-size:1.55rem;margin:3px 0;color:#21134a;}.rutaV505Hub p{margin:0;color:#5d5268;font-weight:850;line-height:1.35;}
.rutaV505HubStats{display:grid;grid-template-columns:repeat(3,auto);gap:6px 10px;background:#fff;border:1px solid rgba(47,41,60,.10);border-radius:20px;padding:12px;box-shadow:0 10px 22px rgba(47,41,60,.06);text-align:center;}
.rutaV505HubStats b{font-family:var(--font-display);font-size:1.45rem;color:#a00c54;}.rutaV505HubStats span{font-size:.68rem;}
.rutaV505Actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;}
.v505TaxMin{border:1px dashed rgba(229,22,115,.24);border-radius:14px;background:#fff8fd;padding:8px 10px;font-size:.82rem;line-height:1.3;}.v505TaxMin b{display:block;color:#a00c54;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.v505TaxMin span{color:#51475e;font-weight:800;}
@media (max-width:980px){.rutaV505TwoCols,.rutaV505Hub{grid-template-columns:1fr}.rutaV505HubStats{grid-template-columns:1fr 1fr 1fr}.rutaV505BlockHead{flex-direction:column}.v505RouteFilterBanner{align-items:flex-start;flex-direction:column}}


/* V51 · Panel diario ¿Qué hago hoy? */
.diarioHero{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid rgba(229,22,115,.28);background:radial-gradient(circle at 10% 12%,rgba(255,214,72,.28),transparent 30%),linear-gradient(135deg,#fff,#fff0f8 45%,#eef8ff);}
.diarioHero span,.diarioSectionHead span{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:1000;font-size:.72rem;color:#a10f60;}
.diarioHero h4{font-family:var(--font-display);font-size:1.7rem;margin:3px 0;color:#21134a;}.diarioHero p{margin:0;color:#5d5268;font-weight:850;line-height:1.35;max-width:920px;}
.diarioVerdict{border:1px dashed rgba(36,21,111,.22);background:linear-gradient(135deg,#fff8df,#fff,#fff2fa);font-size:1rem;font-weight:850;color:#3a3150;}.diarioVerdict b{color:#21134a;}
.diarioMetrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}.diarioMetric{background:#fff;border:1px solid rgba(36,21,111,.10);border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(36,21,111,.06);}.diarioMetric b{display:block;font-family:var(--font-display);font-size:1.55rem;color:#27165f;line-height:1;}.diarioMetric span{display:block;margin-top:6px;text-transform:uppercase;letter-spacing:.09em;font-size:.67rem;font-weight:1000;color:#6a6075;}.diarioMetric.danger b{color:#b91c1c}.diarioMetric.warn b{color:#a16207}.diarioMetric.ok b{color:#15803d}
.diarioGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:14px;align-items:start;}.diarioSectionHead h4{font-family:var(--font-display);font-size:1.35rem;margin:3px 0 12px;color:#21134a;}
.diarioTasks{display:grid;gap:10px;}.diarioTask{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border-radius:18px;background:#fff;border:1px solid rgba(36,21,111,.10);box-shadow:0 8px 18px rgba(36,21,111,.04);}.diarioTask label{display:flex;align-items:center;gap:8px;font-size:1.35rem}.diarioTask input{width:18px;height:18px;accent-color:#2f1f83}.diarioTask h5{margin:0;color:#1f173c;font-size:.98rem}.diarioTask p{margin:3px 0 0;color:#5f5668;font-weight:800;line-height:1.28}.diarioTask.done{opacity:.62;text-decoration:line-through}.diarioTask.danger{border-color:rgba(220,38,38,.20);background:#fff8f8}.diarioTask.warn{border-color:rgba(202,138,4,.20);background:#fffbea}.diarioTask.hot{border-color:rgba(229,22,115,.22);background:#fff4fb}.diarioTask.route{border-color:rgba(47,31,131,.22);background:#f7f5ff}.diarioTask.ok{border-color:rgba(22,163,74,.18);background:#f4fff7}.diarioTask.soft{background:#fbfbff}
.diarioActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.diarioToday{position:sticky;top:12px}.diarioPlanToday{display:grid;gap:9px}.diarioPlanToday h5{margin:0;color:#a10f60;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.diarioPlanToday strong{font-family:var(--font-display);font-size:1.12rem;color:#21134a}.diarioPlanToday p{margin:0;color:#4c4357;font-weight:850}.diarioPlanToday ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#5b5264;font-weight:800}.diarioEmpty{border:1px dashed rgba(36,21,111,.18);border-radius:18px;padding:13px;background:rgba(255,255,255,.78);display:grid;gap:4px}.diarioEmpty b{color:#21134a}.diarioEmpty span,.diarioMuted{color:#6b6273;font-weight:800;}
.diarioFour{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.diarioFour h5,.diarioMinimos h5,.diarioNote h5{margin:0 0 10px;color:#21134a;font-size:1rem}.diarioChipList{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.diarioChip{border:1px solid rgba(36,21,111,.11);background:#fff;border-radius:14px;padding:8px 10px;text-align:left;display:flex;flex-direction:column;gap:2px;font:inherit;cursor:pointer}.diarioChip b{color:#21134a}.diarioChip span{color:#6a6075;font-size:.76rem;font-weight:850}.diarioPill{border:1px solid rgba(36,21,111,.11);background:#fff;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:950;color:#372b51}.diarioPill.hot{background:#fff4fb;border-color:rgba(229,22,115,.22);color:#8b0f55}.diarioPill.danger{background:#fff8f8;border-color:rgba(220,38,38,.20);color:#8a1d1d}.diarioMinimos{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(229,22,115,.22);background:linear-gradient(135deg,#fff,#fff8df,#fff2fa)}.diarioMinimos p{margin:0;color:#5d5268;font-weight:850}.diarioNote textarea{min-height:90px}
.moduleScene-diario{background:linear-gradient(135deg,rgba(255,214,72,.22),rgba(229,22,115,.18),rgba(59,130,246,.12));}
@media (max-width:1100px){.diarioMetrics{grid-template-columns:repeat(3,1fr)}.diarioGrid,.diarioFour{grid-template-columns:1fr}.diarioToday{position:static}.diarioHero,.diarioMinimos{flex-direction:column;align-items:flex-start}}
@media (max-width:700px){.diarioMetrics{grid-template-columns:1fr}.diarioTask{grid-template-columns:1fr}.diarioTask label{justify-content:space-between}.diarioHero .pedePrimaryBtn{width:100%}}


/* V51.3 · Propuesta fiscal automática del Plan Semanal */
.planTaxAutoPick {
  margin: 12px 0;
  border: 1px dashed rgba(236, 72, 153, .38);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(255,255,255,.72);
}
.planTaxAutoPick.muted { opacity:.78; }
.planTaxAutoPick b { color:#9d1461; }
.planTaxAutoPick small { display:block; margin-top:5px; color:#6e6179; font-weight:800; line-height:1.35; }
.planTaxAutoGrid {
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.planTaxAutoGrid section {
  border:1px solid rgba(31,16,72,.10);
  background: rgba(255,255,255,.86);
  border-radius: 16px;
  padding: 12px;
}
.planTaxAutoGrid h6 { margin:0 0 8px; color:#27144f; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
.planTaxAutoGrid h6 em { display:block; margin-top:3px; color:#9d1461; font-style:normal; text-transform:none; letter-spacing:0; }
.planTaxAutoGrid span { display:block; padding:8px 9px; border:1px solid rgba(31,16,72,.10); border-radius: 12px; margin-bottom: 7px; color:#2a1a48; font-weight:850; }
.planTaxAutoGrid span small { margin-top:3px; font-size:.78rem; color:#75677e; }
.planTaxManualDetails { margin-top: 10px; }
.planTaxManualDetails summary { cursor:pointer; font-weight:900; color:#27144f; }
@media (max-width: 980px) { .planTaxAutoGrid { grid-template-columns:1fr; } }



/* V51.5 · Plan Semanal con fuentes separadas */
.planSourceLedger{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:16px 0}.planSourceBox{border:1px solid rgba(80,55,120,.16);border-radius:18px;padding:14px;background:rgba(255,255,255,.74);box-shadow:0 12px 28px rgba(45,25,80,.05)}.planSourceBox h6{margin:0 0 6px;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#271452}.planSourceBox p{margin:0 0 10px;color:#655b75;font-weight:700}.planSourceBox small{display:block;margin-top:10px;color:#655b75;font-weight:800}.planSourceBox.manual{border-color:rgba(225,0,120,.22)}.planSourceBox.route{border-color:rgba(60,150,255,.22)}.planSourceBox.recommended{border-color:rgba(255,160,0,.28)}.planSourceBox.legacy{border-color:rgba(215,60,60,.32);background:#fff7f4}.planSourceEmpty{border:1px dashed rgba(50,35,80,.18);border-radius:14px;padding:10px 12px;color:#756b82;font-weight:800;background:rgba(255,255,255,.55)}.planSourceChips{display:grid;gap:10px}.planExactInput.legacy{border-color:rgba(215,60,60,.28);background:#fff7f4}.planExactInput.muted{opacity:.86}.planStaleWarning{font-size:1.02rem}.planStrict{border-color:rgba(225,0,120,.18)}


/* V51.10 · Tres modos independientes */
.planCoverageModes{border:1px solid rgba(36,25,91,.16);border-radius:22px;padding:18px;background:linear-gradient(135deg,#fff,#fff7fb 55%,#f5fff8);box-shadow:0 10px 30px rgba(36,25,91,.06);margin:14px 0}
.planCoverageHead span{display:block;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:#9b1970;font-size:.78rem;margin-bottom:4px}.planCoverageHead h6{font-size:1.15rem;margin:0 0 14px;color:#25174f}.planCoverageGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planCoverageGrid section{border:1px solid rgba(36,25,91,.12);border-radius:18px;background:#fff;padding:14px}.planCoverageGrid b{display:block;font-size:2rem;color:#e91e83;line-height:1}.planCoverageGrid span{display:block;font-weight:900;color:#25174f;margin-top:6px}.planCoverageGrid em{display:block;font-style:normal;color:#6f647a;font-weight:700;margin-top:4px}.planCoverageHits{margin-top:14px;border-top:1px dashed rgba(36,25,91,.18);padding-top:12px}.planCoverageHits b{display:block;color:#25174f;margin-bottom:8px}.planCoverageHits div{display:flex;flex-wrap:wrap;gap:8px}.planCoverageHits span{display:inline-flex;border:1px solid rgba(233,30,131,.25);background:#fff;border-radius:999px;padding:6px 10px;font-weight:900;color:#5a164c}.planCoverageHits em{color:#6f647a;font-weight:700}.planCoverageModes small{display:block;margin-top:12px;color:#6f647a;font-weight:800}.planTaxBox.muted{opacity:1;border-style:dashed;background:#fffaf3}
@media(max-width:900px){.planCoverageGrid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.planCoverageGrid{grid-template-columns:1fr}}


/* V51.12 · Panel diario operativo + curva del olvido */
.diarioCurve{border:1px solid rgba(229,22,115,.22);background:linear-gradient(135deg,#fff,#fff8df 45%,#fff2fa);}
.diarioCurve p{margin:0 0 10px;color:#34284c;font-weight:900;line-height:1.35;}
.diarioCurveRule{border:1px dashed rgba(36,21,111,.18);background:rgba(255,255,255,.75);border-radius:16px;padding:10px;color:#5e5268;font-weight:850;margin-bottom:12px;}
.diarioCurveCols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diarioCurveCols h5{margin:0 0 8px;color:#21134a;font-size:.96rem}
.diarioTask .miniBtn{white-space:nowrap}.diarioTask h5{line-height:1.15}.diarioTask p{font-size:.88rem}.diarioMetric:nth-child(5) b{color:#b91c1c}
@media (max-width:900px){.diarioCurveCols{grid-template-columns:1fr}}



/* V51.13 · Radar compacto de llegada al examen */
.diarioRadar{border:1px solid rgba(36,21,111,.16);background:linear-gradient(135deg,#fff,#eef8ff 48%,#fff8df);}
.diarioRadar.warn{border-color:rgba(202,138,4,.30);background:linear-gradient(135deg,#fff,#fffbea 55%,#fff4fb)}
.diarioRadar.danger{border-color:rgba(220,38,38,.28);background:linear-gradient(135deg,#fff,#fff1f1 55%,#fff8df)}
.diarioRadar.ok{border-color:rgba(22,163,74,.22);background:linear-gradient(135deg,#fff,#f0fff4 50%,#eef8ff)}
.diarioRadarTop{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.diarioRadarTop span{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:1000;font-size:.72rem;color:#a10f60}.diarioRadarTop h4{font-family:var(--font-display);font-size:1.22rem;margin:3px 0;color:#21134a}.diarioRadarTop p{margin:0;color:#4f465c;font-weight:850;line-height:1.35}.diarioRadarTop strong{white-space:nowrap;border:1px solid rgba(36,21,111,.12);background:#fff;border-radius:999px;padding:8px 11px;color:#27165f;font-weight:1000}.diarioRadar.warn .diarioRadarTop strong{color:#925c00}.diarioRadar.danger .diarioRadarTop strong{color:#991b1b}.diarioRadar.ok .diarioRadarTop strong{color:#166534}.diarioRadarStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.diarioRadarStats span{border:1px solid rgba(36,21,111,.10);background:rgba(255,255,255,.84);border-radius:16px;padding:10px}.diarioRadarStats b{display:block;font-family:var(--font-display);font-size:1.35rem;color:#27165f;line-height:1}.diarioRadarStats em{display:block;font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:1000;color:#6b6273;margin-top:5px}.diarioRadar small{display:block;margin-top:10px;color:#6b6273;font-weight:850}
@media(max-width:900px){.diarioRadarTop{flex-direction:column}.diarioRadarStats{grid-template-columns:1fr 1fr}}@media(max-width:600px){.diarioRadarStats{grid-template-columns:1fr}}


/* === V51.18 · SUPER PLANNING PEDE Z · GLAM / LEOPARDO / MISMA ALTURA === */
.dbzPlannerWrap{background:linear-gradient(180deg, rgba(255,241,247,.92), rgba(255,247,227,.92));}
.dbzPlannerSheet{
  position:relative;
  overflow:hidden;
  min-height:192mm;
  background:
    radial-gradient(circle at 14% 18%, rgba(87,43,10,.14) 0 7mm, transparent 7.4mm),
    radial-gradient(circle at 20% 23%, rgba(61,29,7,.18) 0 4.2mm, transparent 4.6mm),
    radial-gradient(circle at 77% 14%, rgba(88,46,12,.16) 0 6.4mm, transparent 6.9mm),
    radial-gradient(circle at 84% 20%, rgba(64,31,8,.17) 0 4mm, transparent 4.4mm),
    radial-gradient(circle at 10% 84%, rgba(87,43,10,.12) 0 6mm, transparent 6.4mm),
    radial-gradient(circle at 88% 86%, rgba(64,31,8,.14) 0 5.2mm, transparent 5.6mm),
    linear-gradient(135deg, rgba(255,240,247,.98) 0%, rgba(255,248,225,.98) 52%, rgba(255,233,243,.98) 100%);
  border:1.3mm solid #1b1031;
  box-shadow:0 4mm 16mm rgba(121,27,85,.18);
}
.dbzPlannerSheet::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,207,96,.18), transparent 10%, transparent 90%, rgba(255,207,96,.18)),
    repeating-linear-gradient(125deg, rgba(255,255,255,.10) 0 4.5mm, transparent 4.5mm 9mm);
  opacity:.65;
}
.dbzHeader, .dbzGrid, .dbzFooter{position:relative; z-index:1;}
.dbzHeader{
  position:relative;
  grid-template-columns:96mm 1fr;
  background:
    radial-gradient(circle at 76% 22%, rgba(88,46,12,.20) 0 6mm, transparent 6.5mm),
    radial-gradient(circle at 82% 30%, rgba(64,31,8,.22) 0 4mm, transparent 4.4mm),
    linear-gradient(90deg,#c40069 0%, #ff4b9a 33%, #ff8d3b 68%, #ffd75a 100%);
  border:1.3mm solid #1b1031;
  color:#fff;
  box-shadow:inset 0 0 0 .55mm rgba(255,246,196,.58);
}
.dbzHeader::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.18), transparent 48%, rgba(0,0,0,.06));
}
.dbzFields{padding:7mm 8mm;}
.dbzFields label{font-size:8.1mm; color:#fff9c8; text-shadow:0 .6mm 0 rgba(27,16,49,.6);}
.dbzFields label span{
  background:#fffdfd;
  color:#1b1031;
  border:.9mm solid #1b1031;
  box-shadow:inset 0 0 0 .5mm rgba(255,217,100,.62);
  border-radius:.8mm;
}
.dbzLogoBox{padding:2.5mm 5mm 3mm;}
.dbzLogoBox strong{
  color:#fff7c6;
  font-size:6.7mm;
  letter-spacing:.22em;
  text-shadow:0 .5mm 0 #1b1031, 0 0 2mm rgba(255,255,255,.25);
}
.dbzLogoText{filter:drop-shadow(2px 3px 0 #1b1031) drop-shadow(0 0 8px rgba(255,240,168,.18));}
.dbzLogoText span, .dbzLogoText i{text-shadow:1.6mm 1.6mm 0 #1b1031;}
.dbzLogoText span:first-child{color:#ffe253; font-size:13mm;}
.dbzLogoText i{color:#ff6a9f; font-size:12mm; -webkit-text-stroke:.7mm #1b1031;}
.dbzLogoText span:last-child{color:#ff7048; text-shadow:1.5mm 1.5mm 0 #fff07c, 2.6mm 2.6mm 0 #1b1031;}
.dbzLogoBox em{
  margin-top:1.2mm;
  color:#fffdf0;
  font-size:3.2mm;
  font-weight:1000;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 .4mm 0 rgba(27,16,49,.55);
}
.dbzEnergyBar{
  position:relative;
  z-index:1;
  min-height:4.1mm;
  background:linear-gradient(90deg,#ff4a93 0%, #ffd665 20%, #fff59e 35%, #5fd0ff 52%, #86efac 72%, #ff8ac3 100%);
  border-left:1.2mm solid #1b1031;
  border-right:1.2mm solid #1b1031;
  border-bottom:1.2mm solid #1b1031;
}
.dbzGrid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  grid-template-rows:repeat(2, minmax(0, 1fr));
  height:150.5mm;
  align-items:stretch;
  background:linear-gradient(180deg, rgba(255,231,241,.62), rgba(255,247,227,.82));
  border-top:1.1mm solid #1b1031;
}
.dbzDay{
  min-height:0;
  height:100%;
  background:rgba(255,255,255,.96);
  border-right:1.1mm solid #1b1031;
  border-bottom:1.1mm solid #1b1031;
  padding:2.5mm 2.8mm 2.4mm;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:inset 0 0 0 .55mm rgba(255,196,219,.78), inset 0 0 0 1.1mm rgba(255,232,134,.42);
}
.dbzDay.off{background:rgba(255,249,252,.88);}
.dbzDayHead{
  min-height:8mm;
  border-bottom:.45mm solid rgba(27,16,49,.24);
  padding-bottom:1.4mm;
  margin-bottom:1.8mm;
}
.dbzDayHead b{color:#171129; font-size:4mm; font-weight:1000; letter-spacing:.02em;}
.dbzDayHead span{color:#51456b; font-size:3.1mm; font-weight:900;}
.dbzDay ul{margin:0; padding:0 0 0 4.2mm; flex:1 1 auto; overflow:hidden;}
.dbzDay li{
  margin:0 0 1.05mm;
  line-height:1.12;
  font-size:3.4mm;
  color:#251a39;
  font-weight:850;
}
.dbzDay li::marker{color:#ef2f8b;}
.dbzNotes{
  background:linear-gradient(180deg, rgba(255,252,241,.98), rgba(255,240,246,.98));
}
.dbzNotes .dbzDayHead b{letter-spacing:.03em;}
.dbzToolbar{
  position:relative;
  z-index:2;
  background:linear-gradient(90deg, rgba(255,240,247,.94), rgba(255,248,223,.94));
  border:1px solid rgba(27,16,49,.1);
}
.dbzToolbar .pedePrimaryBtn{box-shadow:0 10px 24px rgba(121,27,85,.18);}
@media print{
  body.dbzPrintMode .dbzPlannerSheet{
    min-height:192mm !important;
    box-shadow:none !important;
  }
  body.dbzPrintMode .dbzGrid{
    height:150.5mm !important;
    grid-template-rows:repeat(2, minmax(0, 1fr)) !important;
  }
  body.dbzPrintMode .dbzDay{
    height:100% !important;
    min-height:0 !important;
  }
}


/* V51.18 · avisos de filtros del Panel Diario */
.gatilloFilterBanner, .supFilterBanner { border:1px dashed rgba(236,72,153,.45); background:linear-gradient(135deg, rgba(255,240,248,.9), rgba(255,248,225,.9)); border-radius:16px; padding:10px 12px; margin:10px 0; font-weight:900; color:#4b1640; }


/* === V51.18 · DBZ PEDE GOKUIZADA FIX === */
.dbzPlannerSheet.dbzPedeGokuSheet{
  background:
    radial-gradient(circle at 88% 13%, rgba(255,217,88,.36) 0 12mm, transparent 12.8mm),
    radial-gradient(circle at 91% 19%, rgba(233,30,129,.28) 0 7mm, transparent 7.6mm),
    radial-gradient(circle at 13% 18%, rgba(87,43,10,.17) 0 7mm, transparent 7.4mm),
    radial-gradient(circle at 20% 23%, rgba(61,29,7,.21) 0 4.2mm, transparent 4.6mm),
    radial-gradient(circle at 77% 14%, rgba(88,46,12,.18) 0 6.4mm, transparent 6.9mm),
    radial-gradient(circle at 84% 20%, rgba(64,31,8,.19) 0 4mm, transparent 4.4mm),
    linear-gradient(135deg, rgba(255,235,246,.99) 0%, rgba(255,246,218,.99) 50%, rgba(255,222,241,.99) 100%);
}
.dbzPedeGokuSheet .dbzHeader{
  grid-template-columns:94mm 1fr;
  background:
    radial-gradient(circle at 84% 24%, rgba(117,63,16,.26) 0 6mm, transparent 6.6mm),
    radial-gradient(circle at 90% 33%, rgba(75,36,8,.25) 0 3.8mm, transparent 4.4mm),
    linear-gradient(90deg,#bb005f 0%, #ff39a0 33%, #ff7a36 64%, #ffda5a 100%);
  box-shadow:inset 0 0 0 .55mm rgba(255,246,196,.68), 0 0 0 .6mm rgba(255,64,151,.22);
}
.dbzPedeGokuSheet .dbzFields label{
  grid-template-columns:31mm 1fr;
  gap:5mm;
}
.dbzPedeGokuSheet .dbzFields label span{
  width:39mm;
  min-width:39mm;
  height:12.8mm;
  font-size:3.65mm;
  padding:2.2mm 2mm;
  letter-spacing:-.02em;
}
.dbzLogoRow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5mm;
  width:100%;
}
.dbzPedeGokuSheet .dbzLogoText{
  margin-top:0;
  transform:skew(-10deg) translateY(1.6mm);
}
.dbzPedeGokuSheet .dbzLogoText span:first-child{font-size:11.3mm; color:#ffe968;}
.dbzPedeGokuSheet .dbzLogoText i{font-size:10.7mm; color:#ff61ad;}
.dbzPedeGokuSheet .dbzLogoText span:last-child{font-size:22mm; color:#ff6a3b;}
.dbzGokuPede{
  position:relative;
  width:28mm;
  height:32mm;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  margin-left:1mm;
  transform:rotate(4deg);
  filter:drop-shadow(1.2mm 1.7mm 0 #1b1031) drop-shadow(0 0 4mm rgba(255,232,93,.54));
}
.dbzGokuAura{
  position:absolute;
  inset:0;
  background:
    conic-gradient(from -20deg, #ffea61, #ff3fa2, #ffffff, #f8c72f, #ff6a00, #ffea61);
  clip-path:polygon(50% 0%,60% 18%,78% 5%,75% 28%,98% 23%,82% 42%,100% 55%,78% 57%,88% 82%,65% 70%,58% 100%,45% 74%,25% 96%,31% 66%,4% 73%,22% 53%,0% 41%,25% 35%,17% 12%,39% 23%);
  opacity:.92;
}
.dbzGokuPede img{
  position:relative;
  z-index:2;
  width:21mm;
  height:21mm;
  object-fit:cover;
  border-radius:50%;
  border:.75mm solid #1b1031;
  background:#fff;
  box-shadow:0 0 0 .65mm #ffe66f, 0 0 0 1.1mm #ff3b9d;
}
.dbzGokuPede b{
  position:absolute;
  right:-1mm;
  bottom:1.8mm;
  z-index:3;
  font-size:3.4mm;
  line-height:.86;
  color:#fff3a1;
  -webkit-text-stroke:.28mm #1b1031;
  text-align:center;
  transform:rotate(-7deg);
  text-shadow:.6mm .6mm 0 #ff2d90;
}
.dbzPedeGokuSheet .dbzLogoBox strong{
  color:#fff7cb;
  text-shadow:0 .55mm 0 #1b1031, 0 0 2mm rgba(255,255,255,.32);
}
.dbzPedeGokuSheet .dbzLogoBox em{
  color:#fffdf0;
  text-shadow:0 .42mm 0 rgba(27,16,49,.65);
}
.dbzPedeGokuSheet .dbzGrid{
  height:150.5mm;
  grid-template-rows:repeat(2, minmax(0, 1fr));
}
.dbzPedeGokuSheet .dbzDay{
  min-height:0;
  height:100%;
  box-shadow:inset 0 0 0 .55mm rgba(255,196,219,.8), inset 0 0 0 1.12mm rgba(255,232,134,.48);
}
.dbzPedeGokuSheet .dbzDayHead b{color:#151126;}
.dbzPedeGokuSheet .dbzDay li{font-size:3.35mm; line-height:1.11;}
@media (max-width: 1100px){
  .dbzLogoRow{gap:2mm;}
  .dbzGokuPede{width:22mm;height:26mm;}
  .dbzGokuPede img{width:17mm;height:17mm;}
  .dbzPedeGokuSheet .dbzLogoText span:first-child{font-size:8.5mm;}
  .dbzPedeGokuSheet .dbzLogoText i{font-size:8mm;}
  .dbzPedeGokuSheet .dbzLogoText span:last-child{font-size:15mm;}
}
@media print{
  body.dbzPrintMode .dbzPedeGokuSheet .dbzGrid{height:150.5mm !important; grid-template-rows:repeat(2, minmax(0, 1fr)) !important;}
  body.dbzPrintMode .dbzGokuPede{print-color-adjust:exact; -webkit-print-color-adjust:exact;}
}


/* === V51.18 · DBZ PEDE GOKUIZADA · ENCABEZADO REFINADO REAL === */
.dbzPlannerSheet.dbzPedeGokuSheet .dbzHeader{
  min-height:38mm;
  grid-template-columns:90mm 1fr;
  overflow:hidden;
}
.dbzPedeGokuSheet .dbzFields{
  align-content:start;
  gap:3.2mm;
  padding:4.2mm 5.6mm 2.2mm 7mm;
}
.dbzPedeGokuSheet .dbzFields label{
  grid-template-columns:29mm 1fr;
  gap:3.2mm;
  font-size:7.2mm;
  line-height:1;
}
.dbzPedeGokuSheet .dbzFields label span{
  width:35.5mm;
  min-width:35.5mm;
  height:10.8mm;
  font-size:3.25mm;
  padding:2.05mm 1.7mm;
  letter-spacing:-.035em;
  display:flex;
  align-items:center;
}
.dbzPedeGokuSheet .dbzLogoBox{
  align-content:start;
  justify-items:center;
  padding:3.1mm 3.5mm 1mm 2mm;
  min-height:0;
}
.dbzPedeGokuSheet .dbzLogoBox strong{
  font-size:6.15mm;
  letter-spacing:.24em;
  transform:translateY(-.5mm);
  margin-bottom:1.5mm;
}
.dbzPedeGokuSheet .dbzLogoRow{
  width:100%;
  justify-content:center;
  gap:6.5mm;
  transform:translate(6mm,-1.7mm);
}
.dbzPedeGokuSheet .dbzLogoText{
  transform:skew(-10deg) translateY(-1mm);
}
.dbzPedeGokuSheet .dbzLogoText span:first-child{font-size:11.2mm;}
.dbzPedeGokuSheet .dbzLogoText i{font-size:10.6mm;}
.dbzPedeGokuSheet .dbzLogoText span:last-child{font-size:21.5mm;}
.dbzPedeGokuSheet .dbzGokuPede{
  width:26mm;
  height:29mm;
  margin-left:3.5mm;
  transform:translate(5mm,-1mm) rotate(4deg);
}
.dbzPedeGokuSheet .dbzGokuPede img{
  width:20mm;
  height:20mm;
}
.dbzPedeGokuSheet .dbzGokuPede b{
  right:-2mm;
  bottom:1.5mm;
}
.dbzPedeGokuSheet .dbzLogoBox em{
  transform:translateY(-2.7mm);
  font-size:2.75mm;
  letter-spacing:.12em;
}
@media print{
  body.dbzPrintMode .dbzPedeGokuSheet .dbzHeader{min-height:38mm !important;}
  body.dbzPrintMode .dbzPedeGokuSheet .dbzLogoRow{transform:translate(6mm,-1.7mm) !important;}
}


/* === V51.18 · AJUSTE FINO: PEDE MÁS ALTA Y CENTRADA EN CABECERA === */
.dbzPedeGokuSheet .dbzLogoRow{
  justify-content:center;
  align-items:center;
  gap:6.8mm;
  transform:translate(7.5mm,-2.9mm);
}
.dbzPedeGokuSheet .dbzLogoText{
  transform:skew(-10deg) translateY(-1.35mm);
}
.dbzPedeGokuSheet .dbzGokuPede{
  width:26mm;
  height:29mm;
  margin-left:4.6mm;
  transform:translate(7.2mm,-3.2mm) rotate(4deg);
}
.dbzPedeGokuSheet .dbzGokuPede img{
  width:20.4mm;
  height:20.4mm;
}
.dbzPedeGokuSheet .dbzGokuPede b{
  right:-2.2mm;
  bottom:2.3mm;
}
.dbzPedeGokuSheet .dbzLogoBox em{
  transform:translateY(-3.15mm);
}
@media print{
  body.dbzPrintMode .dbzPedeGokuSheet .dbzLogoRow{transform:translate(7.5mm,-2.9mm) !important;}
  body.dbzPrintMode .dbzPedeGokuSheet .dbzGokuPede{transform:translate(7.2mm,-3.2mm) rotate(4deg) !important;}
}


/* === V51.18 · DBZ-Pede · texto ajustado sin tocar composición ===
   Ajuste quirúrgico: solo reduce el texto de las casillas para que jueves,
   viernes, domingo y notas respiren mejor sin cambiar cabecera ni diseño. */
.dbzDayHead{min-height:7.1mm !important; padding-bottom:1.05mm !important; margin-bottom:1.25mm !important;}
.dbzDayHead b{font-size:3.65mm !important;}
.dbzDayHead span{font-size:2.95mm !important;}
.dbzDay ul{gap:0 !important; padding-left:3.7mm !important;}
.dbzDay li{
  font-size:2.82mm !important;
  line-height:1.035 !important;
  margin:0 0 .45mm !important;
  letter-spacing:-.018em !important;
}
.dbzNotes li{font-size:2.72mm !important; line-height:1.025 !important; margin-bottom:.35mm !important;}
@media print{
  body.dbzPrintMode .dbzDayHead{min-height:7.1mm !important; padding-bottom:1.05mm !important; margin-bottom:1.25mm !important;}
  body.dbzPrintMode .dbzDayHead b{font-size:3.65mm !important;}
  body.dbzPrintMode .dbzDayHead span{font-size:2.95mm !important;}
  body.dbzPrintMode .dbzDay ul{gap:0 !important; padding-left:3.7mm !important;}
  body.dbzPrintMode .dbzDay li{font-size:2.82mm !important; line-height:1.035 !important; margin:0 0 .45mm !important; letter-spacing:-.018em !important;}
  body.dbzPrintMode .dbzNotes li{font-size:2.72mm !important; line-height:1.025 !important; margin-bottom:.35mm !important;}
}


/* === V51.18 · ESQUEMAS: SCROLL VERTICAL REPARADO ===
   Problema: el Markmap podía quedarse encerrado en un alto fijo y cortar el recorrido vertical.
   Solución: en modo Esquemas, el panel derecho vuelve a scrollear toda la sala; el mapa crece en alto
   y mantiene el scroll horizontal para leer ramas largas. El Derecho no se toca; el scroll sí. */
body[data-panel-theme="esquemas"] .appShell.schemaFocus{
  height:calc(100vh - 164px);
  min-height:0;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus{
  min-height:0;
  overflow:hidden;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .sideContent{
  min-height:0 !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:46px !important;
  -webkit-overflow-scrolling:touch;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .realMarkmapPanel{
  min-height:auto !important;
  padding-bottom:40px !important;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .realMarkmapHost{
  height:auto !important;
  max-height:none !important;
  min-height:760px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  padding-bottom:90px !important;
  scroll-behavior:smooth;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .realMarkmapHost.usingRealMarkmap{
  min-height:1120px !important;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .realMarkmapSvg{
  display:block;
  min-height:1080px;
  margin-bottom:90px;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .localMapScaler{
  margin-bottom:130px !important;
}
body[data-panel-theme="esquemas"] .rightPanel.schemaFocus .mapMarkdownSource{
  margin-bottom:90px;
}


/* V52.1.1 · Ajuste: barra un poco más ancha para leer microfrases completas. */
.appFrame{grid-template-columns:292px 1fr;}
.railGroupSummary{grid-template-columns:38px 1fr 16px;min-height:78px;padding:12px 12px 12px 10px;}
.groupIcon{width:36px;height:36px;border-radius:14px;font-size:20px;}
.groupCopy{gap:3px;}
.groupCopy b{font-size:13px;}
.groupCopy em{font-size:11.2px;line-height:1.18;-webkit-line-clamp:3;}
@media(max-width:900px){.appFrame{grid-template-columns:1fr;}}


/* V52.2 · Capa Pede Viva: microfrases, avisos y glamour funcional */
.pedeLiveRibbon{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  padding:11px 14px;
  border-radius:18px;
  border:1px solid rgba(229,22,115,.20);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,47,145,.18), transparent 42%),
    linear-gradient(135deg, rgba(255,250,241,.96), rgba(255,239,247,.92));
  box-shadow:0 14px 28px rgba(34,22,47,.07);
}
.pedeLiveRibbon b{
  color:#a21458;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  white-space:nowrap;
}
.pedeLiveRibbon span{
  color:#4b2942;
  font-size:13px;
  font-weight:850;
  line-height:1.32;
}
button.pedeLiveBtn{
  position:relative;
}
button.pedeLiveBtn:not(.modeBtn):not(.reviewToastClose){
  border-color:color-mix(in srgb, var(--fuchsia) 16%, rgba(22,20,63,.12));
}
button.pedeLiveBtn:not(.railItem):not(.modeBtn):not(.reviewToastClose)::after{
  content:attr(data-pede-tip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  width:max-content;
  max-width:270px;
  transform:translate(-50%, 6px) scale(.98);
  opacity:0;
  pointer-events:none;
  z-index:80;
  padding:8px 10px;
  border-radius:13px;
  background:linear-gradient(145deg,#24142b,#4a173a);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(22,14,32,.28);
  font-size:11px;
  font-weight:850;
  line-height:1.25;
  text-align:left;
  white-space:normal;
  transition:.16s ease;
}
button.pedeLiveBtn:not(.railItem):not(.modeBtn):not(.reviewToastClose):hover::after,
button.pedeLiveBtn:not(.railItem):not(.modeBtn):not(.reviewToastClose):focus-visible::after{
  opacity:1;
  transform:translate(-50%, 0) scale(1);
}
.mainButtons button.pedeLiveBtn{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  min-height:50px;
}
.mainButtons button.pedeLiveBtn::after,
.appShell.workMode .mainButtons button.pedeLiveBtn::after{
  content:attr(data-pede-tip);
  position:static;
  width:auto;
  max-width:none;
  transform:none;
  opacity:1;
  pointer-events:none;
  z-index:auto;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
  color:#7a425f;
  font-size:10.5px;
  font-weight:900;
  line-height:1.15;
  white-space:normal;
  text-transform:none;
  letter-spacing:0;
}
.articleTools button.pedeLiveBtn:hover,
.moduleActions button.pedeLiveBtn:hover,
.miniBar button.pedeLiveBtn:hover,
.markmapToolbar button.pedeLiveBtn:hover{
  box-shadow:0 10px 22px rgba(229,22,115,.14), 0 0 0 3px rgba(255,47,145,.06);
}
.railItem.pedeLiveBtn::after{display:none!important;}
.railItem.pedeLiveBtn:hover b{color:inherit;}
.reviewToast{
  background:
    radial-gradient(circle at 12% 0%, rgba(255,47,145,.28), transparent 44%),
    linear-gradient(145deg,#211229,#461333)!important;
  border-color:rgba(255,211,154,.28)!important;
}
.reviewToast strong{color:#ffd39a!important;letter-spacing:.02em;}
.reviewToast span{font-weight:700;}
@media(max-width:980px){
  .pedeLiveRibbon{grid-template-columns:1fr;gap:5px;}
  button.pedeLiveBtn:not(.railItem)::after{display:none;}
}


/* V52.2.1 · Microfrases arriba: La Pede dicta dentro del módulo, no en la esquina castigada. */
.pedeLiveRibbon{
  position:relative;
  overflow:hidden;
  border-width:2px;
  border-color:rgba(229,22,115,.28);
}
.pedeLiveRibbon::before{
  content:'✦';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(229,22,115,.28);
  font-size:24px;
  font-weight:1000;
}
.pedeLiveActionBand{
  margin:0 0 14px;
  padding:14px 16px 15px;
  border-radius:22px;
  border:2px solid rgba(229,22,115,.26);
  background:
    radial-gradient(circle at 100% 0%, rgba(255,211,154,.34), transparent 45%),
    radial-gradient(circle at 0% 100%, rgba(255,47,145,.16), transparent 40%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,237,248,.94));
  box-shadow:0 16px 34px rgba(229,22,115,.13), inset 0 0 0 1px rgba(255,255,255,.6);
}
.pedeLiveActionBadge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:6px;
  padding:5px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#fff2bf,#ffe1f0);
  color:#9c1358;
  border:1px solid rgba(229,22,115,.20);
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
}
.pedeLiveActionBand p{
  margin:0;
  color:#331536;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
}
.pedeLiveActionBand.pedeLivePulse{
  animation:pedeLivePulse .42s ease both;
}
@keyframes pedeLivePulse{
  0%{transform:translateY(-3px);box-shadow:0 0 0 rgba(229,22,115,0);}
  55%{transform:translateY(0);box-shadow:0 18px 42px rgba(229,22,115,.22), 0 0 0 5px rgba(255,47,145,.08);}
  100%{transform:none;}
}
/* Las microfrases de personaje ya no usan toast; el toast queda para guardados, errores y avisos técnicos reales. */
.reviewToast strong:not(:empty){letter-spacing:.02em;}
@media(max-width:980px){
  .pedeLiveActionBand p{font-size:13px;}
}


/* V52.3.1 · Subrayado jurídico by La Pede */
.subrayadoTopCard{border-color:rgba(151,83,177,.28)!important;background:linear-gradient(135deg,#fff8fc,#f7edff)!important;}
.subrayadoClaim{display:flex;gap:14px;align-items:center}.subrayadoClaim>span{width:56px;height:56px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#8d5ab9,#c99be3);color:#fff;font-size:28px;box-shadow:0 12px 28px rgba(98,43,122,.18)}
.subrayadoClaim h4{margin:0;color:#261a45;font-size:26px}.subrayadoClaim p{margin:4px 0 0;font-weight:850;color:#6e5b77}.subrayadoTopCard blockquote{margin:14px 0 0;padding:13px 16px;border-left:7px solid #8d5ab9;border-radius:16px;background:#fff7fb;font-size:18px;line-height:1.45;color:#4b203c;font-weight:780}.subrayadoActions{margin-top:14px}.subrayadoLegendCard .kicker{font-weight:850;color:#7a627c}.subLegend{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:10px}.subLegendItem{position:relative;border:1px solid rgba(33,35,58,.12);border-radius:16px;padding:12px 42px 12px 12px;background:#fff;box-shadow:0 10px 18px rgba(34,22,47,.05)}.subLegendItem span{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;margin-bottom:6px;font-size:10px;letter-spacing:.08em;font-weight:1000}.subLegendItem b{display:block;color:#241c3d;font-size:14px}.subLegendItem em{display:block;font-style:normal;color:#6d6475;font-size:12px;line-height:1.25;font-weight:760}.subLegendItem strong{position:absolute;right:12px;top:12px;font-size:22px;color:#271547}.subLegend-blue span{background:#d9f4ff;color:#0d5576}.subLegend-green span{background:#dff7e3;color:#176b31}.subLegend-purple span{background:#ead7ff;color:#5b207e}.subLegend-yellow span{background:#fff3a8;color:#675000}.subLegend-red span{background:#ffe0e0;color:#a31727}.subLegend-black span{background:#111;color:#fff}.subLegend-orange span{background:#ffe0bd;color:#9a4b00}.subLegend-subject span{background:#f4f0ff;color:#4b3380}.subrayadoSheet{padding:0!important;overflow:hidden;border:1px solid rgba(151,83,177,.25)!important;background:#fff!important}.subrayadoSheetHeader{display:grid;gap:4px;padding:18px 22px;background:linear-gradient(135deg,#f5e7ff,#fff0f7);border-bottom:1px solid rgba(151,83,177,.18)}.subrayadoSheetHeader span{text-transform:uppercase;letter-spacing:.18em;font-weight:1000;color:#a21458;font-size:11px}.subrayadoSheetHeader strong{font-family:Georgia,serif;font-size:30px;line-height:1.05;color:#231744}.subrayadoSheetHeader em{font-style:italic;color:#a21458;font-size:20px}.subrayadoArticleBody{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.72;white-space:pre-wrap;color:#15131b;padding:26px 30px 34px;background:#fff}.subMark{padding:0 .08em;border-radius:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-weight:700}.subMark-blue{background:#b9e7ee}.subMark-green{background:#c8edca}.subMark-purple{background:#d8bbec}.subMark-yellow{background:#fff295}.subMark-red{background:#ffd3dc;color:#850f28}.subMark-black{background:#101018;color:#fff;padding:.02em .25em;border-radius:.25em}.subMark-orange{background:#ffcc91;color:#522700}.subMark-subject{background:linear-gradient(transparent 64%,#dbcfff 64%);text-decoration:underline;text-decoration-style:double;text-decoration-thickness:2px;text-underline-offset:4px;font-weight:900}.subrayadoAudit pre{white-space:pre-wrap;background:#24152f;color:#fff;border-radius:16px;padding:14px;font-size:13px;line-height:1.45}.subrayadoAudit p{font-weight:800;color:#6d6475}@media print{body *{visibility:hidden!important}#subrayadoPrintArea,#subrayadoPrintArea *{visibility:visible!important}#subrayadoPrintArea{position:absolute!important;left:0!important;top:0!important;width:100%!important;border:0!important;box-shadow:none!important}.subrayadoSheetHeader{background:#fff!important}.subrayadoArticleBody{font-size:14pt!important;line-height:1.55!important;padding:18mm!important}.subMark-black{background:#111!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.subMark-orange,.subMark-blue,.subMark-green,.subMark-purple,.subMark-yellow,.subMark-red{ -webkit-print-color-adjust:exact;print-color-adjust:exact }}


/* V52.3.1.1 · Subrayado fiel al prompt maestro */
.subrayadoNoCurated{border-color:rgba(249,115,22,.22)!important;background:linear-gradient(135deg,#fff8ed,#fffdf7)!important}.subrayadoNoCurated h4{margin:0 0 6px;color:#7c2d12}.subrayadoNoCurated p{font-weight:820;color:#65412b;line-height:1.45}.subrayadoAuditOk{display:flex;gap:10px;align-items:center;margin:14px 20px 0;padding:11px 14px;border-radius:16px;background:linear-gradient(135deg,#f3e8ff,#fff7fb);border:1px solid rgba(141,90,185,.22);font-weight:900;color:#352044}.subrayadoAuditOk b{color:#6b21a8;letter-spacing:.06em;text-transform:uppercase}.subrayadoAuditOk span{font-weight:820;color:#5a4264}.subrayadoAuditOk.muted{background:#fff8ed;border-color:rgba(249,115,22,.25)}.subrayadoAuditOk.muted b{color:#c2410c}.subrayadoWarning{margin:14px 20px 0;padding:12px 14px;border-radius:16px;background:#fff3cd;border:1px solid rgba(245,158,11,.35);color:#5f370e;font-weight:850}.subrayadoSheet.isNotCurated .subrayadoArticleBody{background:linear-gradient(180deg,#fff,#fffdf8)}.subrayadoSheet.isNotCurated .subrayadoSheetHeader span{color:#c2410c}.subrayadoSheet.isCurated{box-shadow:0 18px 46px rgba(124,58,237,.10)}.subMark{font-weight:800}.subMark-purple{background:#d7bce7!important;color:#271331}.subLegend-purple span{background:#d7bce7!important;color:#4a235f}.subMark-orange{background:#ffc77d!important;color:#4d2600}.subLegend-orange span{background:#ffc77d!important;color:#7a3c00}.subMark-black{background:#0f0f17!important;color:#fff!important}.subLegend-black span{background:#0f0f17!important;color:#fff!important}@media print{.subrayadoTopCard,.subrayadoLegendCard,.subrayadoAudit,.subrayadoNoCurated{display:none!important}.subrayadoAuditOk,.subrayadoWarning{display:none!important}}


/* === V52.3.2 · Cabecera Rosarito con más mala leche biográfica === */
.lolaTitleBlock .lolaLoreLine{
  display:block;
  margin:8px 0 0;
  color:#5e6070;
  font-weight:850;
  line-height:1.28;
  max-width:960px;
}
.lolaTitleBlock .lolaLoreLine::after{content:none!important;display:none!important;}
.lolaLoreMain,.lolaLoreSub{display:block;}
.lolaLoreMain{
  color:#626675;
  letter-spacing:.01em;
}
.lolaLoreSub{
  margin-top:2px;
  color:#8a4a72;
  font-weight:800;
}
.lolaLoreSub em{font-family:Georgia,'Times New Roman',serif;color:#e51673;font-style:italic;font-weight:900;}
body.lolaMode .lolaTitleBlock p::after{content:none!important;}
.appShell.workMode .lolaTitleBlock .lolaLoreLine,
body.lolaMode .appShell.workMode .lolaTitleBlock .lolaLoreLine{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:780px!important;
  font-size:.70rem!important;
  line-height:1.22!important;
}
.appShell.workMode .lolaLoreSub{font-size:.96em;}
@media (max-width:1200px){
  .appShell.workMode .lolaTitleBlock .lolaLoreLine{font-size:.66rem!important;max-width:620px!important;}
}


/* === V52.3.2.1 · Cabecera con texto literal del usuario === */
.lolaTitleBlock .lolaLoreLine{
  display:block!important;
  max-width:1120px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:.76rem!important;
  line-height:1.34!important;
  color:#5f6070!important;
  font-weight:850!important;
}
.lolaTitleBlock .lolaLoreLine::after{content:none!important;display:none!important;}
body.lolaMode .lolaTitleBlock p::after{content:none!important;display:none!important;}
.appShell.workMode .lolaTitleBlock .lolaLoreLine,
body.lolaMode .appShell.workMode .lolaTitleBlock .lolaLoreLine{
  max-width:1120px!important;
  font-size:.76rem!important;
  line-height:1.34!important;
}


/* === V53.1 · Ficha de artículo + trampas ========================= */
.fichaMiniCard{border-color:rgba(229,22,115,.24)!important;background:linear-gradient(135deg,#fff,#fff4fb)!important;position:relative;overflow:hidden}.fichaMiniCard:after{content:"V53.1";position:absolute;right:-18px;top:18px;transform:rotate(18deg);font-weight:1000;letter-spacing:.12em;color:rgba(229,22,115,.10);font-size:32px}.fichaMiniHead,.fichaRibbon{display:flex;gap:14px;align-items:center}.fichaMiniHead>span,.fichaRibbon>span{width:54px;height:54px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#e51673,#7c3aed);color:#fff;font-size:27px;box-shadow:0 12px 28px rgba(124,58,237,.16)}.fichaMiniHead b{display:block;color:#24162e;font-weight:1000}.fichaMiniHead em{display:block;font-style:normal;color:#a21458;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.fichaMiniGrid,.fichaCoreGrid,.fichaStatsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.fichaBadge{border:1px solid rgba(32,24,54,.10);border-radius:18px;padding:12px 13px;background:#fff;box-shadow:0 10px 18px rgba(32,20,54,.04)}.fichaBadge span{display:block;text-transform:uppercase;letter-spacing:.11em;font-weight:1000;color:#a21458;font-size:10px;margin-bottom:5px}.fichaBadge strong{display:block;color:#21162c;line-height:1.25;font-size:14px}.fichaBadge em{display:block;font-style:normal;color:#6d6475;font-weight:780;font-size:12px;margin-top:4px}.fichaMiniTrap{margin-top:12px;padding:13px 14px;border-left:7px solid #e51673;border-radius:16px;background:#fff7fb}.fichaMiniTrap b{display:block;color:#a21458;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.fichaMiniTrap p{margin:5px 0 0;color:#33233b;font-weight:780;line-height:1.42}.fichaTop{border-color:rgba(229,22,115,.28)!important;background:linear-gradient(135deg,#fff7fb,#f4ecff)!important}.fichaRibbon h4{margin:0;color:#24162e;font-size:28px}.fichaRibbon p{margin:4px 0 0;color:#675070;font-weight:850;line-height:1.35}.fichaTop blockquote{margin:15px 0 0;padding:13px 16px;border-left:7px solid #7c3aed;border-radius:16px;background:#fff;color:#3b214e;font-size:18px;line-height:1.45;font-weight:850}.fichaSheet{padding:0!important;overflow:hidden;border-color:rgba(124,58,237,.22)!important;background:#fff!important}.fichaSheetHead{display:grid;gap:4px;padding:18px 22px;background:linear-gradient(135deg,#ffe5f1,#f1e8ff);border-bottom:1px solid rgba(124,58,237,.16)}.fichaSheetHead span{text-transform:uppercase;letter-spacing:.16em;font-weight:1000;color:#a21458;font-size:11px}.fichaSheetHead strong{font-family:Georgia,'Times New Roman',serif;font-size:28px;line-height:1.05;color:#231744}.fichaSheetHead em{font-style:italic;color:#a21458;font-size:18px}.fichaCoreGrid{padding:18px 22px 4px}.fichaTribunal{margin:10px 22px 22px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,#fff,#fff8ed);border:1px solid rgba(245,158,11,.22)}.fichaTribunal h4,.fichaTrampas h4,.fichaNoConfundas h4,.fichaDatos h4{margin:0 0 10px;color:#24162e}.fichaTribunal p{font-weight:830;color:#573b2a;line-height:1.45}.fichaTribunal ol{margin:10px 0 0;padding-left:22px;color:#2c2433;line-height:1.48;font-weight:760}.fichaTrampas{border-color:rgba(239,68,68,.24)!important;background:linear-gradient(135deg,#fff7f7,#fff)!important}.fichaTrampas ul,.fichaNoConfundas ul{margin:0;padding-left:22px;line-height:1.55;color:#33233b;font-weight:780}.fichaTrampas li{margin:8px 0}.fichaNoConfundas{border:1px solid rgba(245,158,11,.28);border-radius:24px;padding:20px 22px;background:linear-gradient(135deg,#fff7ed,#fff);box-shadow:0 16px 34px rgba(22,20,63,.08);margin-bottom:14px}.fichaNoConfundas h4{letter-spacing:.08em;color:#9a3412;text-transform:uppercase}.fichaNoConfundas.muted p{margin:0;color:#6b4f39;font-weight:820}.fichaEvidenceCols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.fichaEvidenceCols>div{background:#fff;border:1px solid rgba(32,24,54,.10);border-radius:18px;padding:14px}.fichaEvidenceCols h5{margin:0 0 8px;color:#a21458;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.fichaEvidenceCols ul{margin:0;padding-left:17px;line-height:1.38}.fichaEvidenceCols li{margin:8px 0}.fichaEvidenceCols b{display:block;color:#24162e;font-size:13px}.fichaEvidenceCols span{display:block;color:#655b6b;font-size:12px;font-weight:720}.fichaActions,.fichaMiniActions{margin-top:14px}
body[data-panel-theme="ficha"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,246,252,.96))!important;border-color:#f0a4cb!important}


/* === V53.2 · NO CONFUNDAS, CRIATURA ===================================== */
.noConfTop{border-color:rgba(234,88,12,.30)!important;background:linear-gradient(135deg,#fff7ed,#fff,#fff4fb)!important;position:relative;overflow:hidden}.noConfTop:after{content:"NO CONFUNDAS";position:absolute;right:-28px;bottom:-12px;transform:rotate(-8deg);font-weight:1000;letter-spacing:.12em;font-size:42px;color:rgba(234,88,12,.08)}.noConfRibbon{display:flex;gap:15px;align-items:center}.noConfRibbon>span{width:58px;height:58px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(135deg,#ea580c,#e51673);color:#fff;font-size:30px;box-shadow:0 14px 30px rgba(234,88,12,.20)}.noConfRibbon h4{margin:0;color:#24162e;font-size:28px}.noConfRibbon p{margin:5px 0 0;color:#68452d;font-weight:850;line-height:1.38}.noConfControls{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.noConfControls input{flex:1;min-width:240px;border:1px solid rgba(234,88,12,.30);border-radius:999px;padding:12px 16px;font-weight:820;background:#fff;color:#24162e}.noConfLayout{display:grid;grid-template-columns:minmax(230px,330px) 1fr;gap:14px;align-items:start}.noConfList{max-height:72vh;overflow:auto;padding-right:4px}.noConfItem em{display:block;font-style:normal;color:#7b5b42;font-weight:760;font-size:12px;margin-top:4px}.noConfItem.isSelected{border-color:#ea580c!important;background:linear-gradient(135deg,#fff7ed,#fff)!important;box-shadow:0 14px 26px rgba(234,88,12,.14)!important}.noConfDetail{border-color:rgba(234,88,12,.26)!important;background:linear-gradient(180deg,#fff,#fffaf4)!important}.noConfDetailHead>span{display:inline-flex;border-radius:999px;padding:5px 10px;background:#fff0e2;color:#9a3412;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:10px}.noConfDetailHead h4{font-size:27px;margin:10px 0 4px;color:#24162e}.noConfDetailHead p{font-weight:850;color:#6a4a34;line-height:1.4}.noConfCompareGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:16px 0}.noConfCompareGrid section{background:#fff;border:1px solid rgba(32,24,54,.10);border-radius:20px;padding:15px 16px;box-shadow:0 10px 22px rgba(32,24,54,.04)}.noConfCompareGrid h5{margin:0 0 8px;color:#a21458;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.noConfCompareGrid p{margin:0;color:#2f2736;font-weight:770;line-height:1.5}.noConfExamGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0}.noConfExamGrid div{border-left:7px solid #ea580c;border-radius:18px;background:#fff7ed;padding:14px 16px}.noConfExamGrid b{display:block;color:#9a3412;text-transform:uppercase;font-size:11px;letter-spacing:.1em;margin-bottom:6px}.noConfExamGrid p{margin:0;color:#3d2c24;font-weight:820;line-height:1.45}.noConfDetail blockquote{margin:16px 0 0;padding:14px 17px;border-left:7px solid #e51673;border-radius:18px;background:#fff4fb;color:#3b214e;font-weight:900;line-height:1.45}.noConfActions{margin-top:16px}.noConfFicha{border-color:rgba(245,158,11,.28)!important;background:linear-gradient(135deg,#fff7ed,#fff)!important}.noConfFicha h4{margin:0 0 9px;color:#9a3412;text-transform:uppercase;letter-spacing:.08em}.noConfFicha ul{margin:0;padding-left:22px;color:#3a2a24;font-weight:790;line-height:1.5}.badge.danger{background:#fff0e2!important;color:#9a3412!important;border-color:rgba(234,88,12,.26)!important}.badge.soft{background:#fff!important;color:#6b5d73!important}body[data-panel-theme="noconfundas"]{--module-accent:#ea580c;--module-accent-2:#e51673;--module-soft:#fff7ed}body[data-panel-theme="noconfundas"] .modulePanel{background:linear-gradient(180deg,#fff,rgba(255,247,237,.96))!important;border-color:#f3bc8a!important}@media (max-width:980px){.noConfLayout{grid-template-columns:1fr}.noConfList{max-height:none}.noConfRibbon h4{font-size:23px}}


/* === V53.3 · MODO TRIBUNAL ========================================== */
.moduleScene-tribunal{background:linear-gradient(135deg,rgba(55,15,84,.96),rgba(164,40,128,.88));border-color:rgba(255,215,102,.55)}
.tribunalHeroTop{display:flex;gap:14px;align-items:flex-start}.tribunalHeroTop>span{font-size:38px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.28))}.tribunalHero blockquote{margin:14px 0 0;padding:14px 18px;border-left:5px solid rgba(255,215,102,.9);background:rgba(255,255,255,.07);border-radius:16px;font-weight:800}
.tribunalGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);gap:18px;align-items:start}.tribunalEditor h4,.tribunalAid h4{margin-top:0}.tribunalStep{margin:0 0 13px}.tribunalStep>b{display:block;margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;color:#ffe7a3}.tribunalTextarea{min-height:82px;resize:vertical}.tribunalStep:nth-of-type(4) .tribunalTextarea{min-height:120px}.tribunalActions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.tribunalAid{display:flex;flex-direction:column;gap:14px}.tribunalAudit{border:2px solid rgba(255,215,102,.42)}.tribunalAudit>strong{display:block;margin-bottom:7px}.tribunalScore{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tribunalScore span{display:grid;place-items:center;min-width:62px;height:62px;border-radius:999px;background:linear-gradient(135deg,#ffdc6b,#ff73c9);color:#210218;font-weight:1000;font-size:1.15rem;box-shadow:0 8px 18px rgba(0,0,0,.26)}.tribunalScore strong{font-size:1.05rem}.tribunalAudit ul,.tribunalMiniList{padding-left:0;list-style:none;margin:0}.tribunalAudit li,.tribunalMiniList li{padding:10px 11px;border-radius:14px;background:rgba(255,255,255,.07);margin-bottom:8px;border:1px solid rgba(255,255,255,.12)}.tribunalAudit li.ok{border-color:rgba(75,231,140,.35)}.tribunalAudit li.bad{border-color:rgba(255,178,80,.55)}.tribunalAudit li b,.tribunalAudit li span,.tribunalAudit li em,.tribunalMiniList li span{display:block}.tribunalAudit li em{margin-top:5px;color:#ffd77a;font-style:normal}.tribunalMiniList li b{display:block;margin-bottom:4px;color:#ffe7a3}@media (max-width:1100px){.tribunalGrid{grid-template-columns:1fr}}


/* === V53.4 · La Pede inteligente ================================ */
.pedeBrainModule{display:grid;gap:14px}.pedeBrainHero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,rgba(255,240,250,.98),rgba(255,248,225,.95));border:1px solid rgba(151,53,121,.28)}
.pedeBrainHero span,.pedeBrainArticleHead span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900;color:#8b276a}.pedeBrainHero h4,.pedeBrainVerdict h4,.pedeBrainActions h4,.pedeBrainLog h4{margin:.1rem 0 .35rem}.pedeBrainSeal{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;font-size:2rem;background:radial-gradient(circle,#fff,#ffd6ef 58%,#7a194e);box-shadow:0 12px 24px rgba(91,21,71,.24)}
.pedeBrainVerdict blockquote,.pedeBrainArticle blockquote{margin:0;padding:14px 16px;border-left:6px solid #9d3a7b;border-radius:14px;background:#fff8fc;font-weight:800;line-height:1.45;color:#311326}.pedeBrainStats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pedeBrainStats div{background:#fff;border:1px solid rgba(52,21,42,.12);border-radius:16px;padding:12px 10px;text-align:center;box-shadow:0 10px 20px rgba(53,23,40,.06)}.pedeBrainStats div.warn{background:#fff8e7;border-color:rgba(212,134,36,.35)}.pedeBrainStats div.danger{background:#fff0f3;border-color:rgba(196,40,84,.35)}.pedeBrainStats b{display:block;font-size:1.55rem;line-height:1;color:#72164f}.pedeBrainStats span{display:block;margin-top:4px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#6c5264}.pedeBrainArticle .moduleActions{margin-top:12px}.pedeBrainActions{display:grid;gap:10px}.pedeBrainAction{border:1px solid rgba(151,53,121,.22);background:#fff;border-radius:16px;padding:12px;text-align:left;cursor:pointer;box-shadow:0 10px 18px rgba(53,23,40,.06)}.pedeBrainAction:hover{transform:translateY(-1px);box-shadow:0 14px 24px rgba(53,23,40,.12)}.pedeBrainAction b{display:block;color:#3a142c}.pedeBrainAction span{display:block;margin-top:4px;color:#6d5567;font-size:.92rem}.pedeBrainLog{display:grid;gap:10px}.pedeBrainEvent{border:1px dashed rgba(151,53,121,.28);border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.72)}.pedeBrainEvent span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#8b276a;font-weight:900}.pedeBrainEvent b{display:block;margin:.1rem 0;color:#2e1025}.pedeBrainEvent p{margin:0;color:#5e4557}.railItem[data-module="pedeinteligente"] span{filter:drop-shadow(0 0 6px rgba(255,215,0,.65))}@media(max-width:1100px){.pedeBrainStats{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* === V53.5 · GLAMOUR PETARDO REFINADO ================================
   Más La Pede, menos tómbola: roseta real, brillo controlado y BOE legible. */
:root{
  --glam-fuchsia:#d91b7f;
  --glam-wine:#431636;
  --glam-gold:#d69a25;
  --glam-champagne:#fff4d8;
  --glam-leopard-fill:rgba(176,106,31,.20);
  --glam-leopard-ring:rgba(92,49,18,.28);
  --glam-ink:#171421;
}
.topbar{
  background:
    radial-gradient(circle at 8% 0%, rgba(217,27,127,.12), transparent 35%),
    radial-gradient(circle at 98% 5%, rgba(214,154,37,.16), transparent 30%),
    rgba(255,255,255,.86)!important;
  backdrop-filter: blur(14px) saturate(1.08);
  border-bottom:1px solid rgba(67,22,54,.10)!important;
}
.brand h1{letter-spacing:-.045em}.brand p{font-weight:900;color:#7b274d!important}.topModeHint{border:1px solid rgba(217,27,127,.16);background:linear-gradient(135deg,#fff,#fff4fb)!important;box-shadow:0 12px 26px rgba(67,22,54,.06)}
.sideRail{
  background:
    radial-gradient(ellipse at 24px 24px, var(--glam-leopard-fill) 0 9px, transparent 10px),
    radial-gradient(ellipse at 57px 38px, rgba(111,62,24,.14) 0 7px, transparent 8px),
    radial-gradient(ellipse at 82px 19px, rgba(77,39,13,.12) 0 5px, transparent 6px),
    linear-gradient(180deg,#20152b,#160f21 54%,#251327)!important;
  background-size:112px 112px,112px 112px,112px 112px,auto!important;
}
.railLogo,.studentCard{border-color:rgba(255,244,216,.18)!important;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 16px 34px rgba(0,0,0,.16)}
.railLogoText strong{letter-spacing:-.025em}.railLogoText span{color:#ffd9a3!important;font-weight:850}.railGroupSummary{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025))!important}.railGroupSummary:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 38%,rgba(255,255,255,.12) 43%,transparent 49%);opacity:.0;transform:translateX(-80%);transition:.35s ease}.railGroupSummary:hover:after{opacity:1;transform:translateX(80%)}
.railItem{border:1px solid rgba(255,255,255,.065)!important;transition:transform .16s ease, box-shadow .16s ease, background .16s ease}.railItem:hover{transform:translateX(2px);box-shadow:0 12px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.12)}.railItem.isActive{background:linear-gradient(135deg,#241343 0%,#d91b7f 55%,#d69a25 140%)!important;box-shadow:0 16px 34px rgba(217,27,127,.28)!important}
.articleTools,.mainButtons,.moduleActions,.miniBar{gap:9px!important}.articleTools button,.mainButtons button,.moduleActions button,.miniBar button,.markmapToolbar button,.cajaMainBtn,.miniBtn{position:relative;overflow:hidden;border-radius:999px!important;border:1px solid rgba(67,22,54,.14)!important;background:linear-gradient(180deg,#fff,#fff7fb)!important;color:#2b1730!important;box-shadow:0 10px 22px rgba(67,22,54,.07), inset 0 1px 0 rgba(255,255,255,.86);font-weight:950!important}.articleTools button:before,.mainButtons button:before,.moduleActions button:before,.miniBar button:before,.markmapToolbar button:before,.cajaMainBtn:before,.miniBtn:before{content:"";position:absolute;inset:-30% auto -30% -60%;width:42%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.66),transparent);opacity:0;transition:.22s ease;pointer-events:none}.articleTools button:hover:before,.mainButtons button:hover:before,.moduleActions button:hover:before,.miniBar button:hover:before,.markmapToolbar button:hover:before,.cajaMainBtn:hover:before,.miniBtn:hover:before{left:120%;opacity:1}.articleTools button:hover,.mainButtons button:hover,.moduleActions button:hover,.miniBar button:hover,.markmapToolbar button:hover,.cajaMainBtn:hover,.miniBtn:hover{transform:translateY(-1px);border-color:rgba(217,27,127,.28)!important;box-shadow:0 16px 30px rgba(217,27,127,.13),0 0 0 4px rgba(217,27,127,.055)}
.articleTools #openFichaBtn,.articleTools #openNoConfundasBtn,.articleTools #openTribunalBtn,.articleTools #openSubrayadoBtn{background:linear-gradient(135deg,#fff,#fff0f8 58%,#fff5da)!important;border-color:rgba(217,27,127,.24)!important}.articleTools #openTribunalBtn{background:linear-gradient(135deg,#fff,#f3edff 55%,#fff1c2)!important}.articleTools #openNoConfundasBtn{background:linear-gradient(135deg,#fff,#fff3e8 55%,#ffeef6)!important}.articleTools #openSubrayadoBtn{background:linear-gradient(135deg,#fff,#f5ecff 55%,#fff4fb)!important}
.legalText{background:linear-gradient(180deg,#fff,#fffdf8)!important;border-radius:26px;border:1px solid rgba(23,20,33,.08);box-shadow:0 18px 42px rgba(23,20,33,.06);padding:24px!important;color:var(--glam-ink)!important}.articleHeader{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,246,252,.66));border-radius:28px;border:1px solid rgba(67,22,54,.10);box-shadow:0 16px 34px rgba(67,22,54,.05)}.articleHeader .eyebrow{color:#9d3b6d!important;font-weight:1000;letter-spacing:.11em}.articleHeader h2{color:#1b1730!important}.statusBox{background:linear-gradient(135deg,#fff,#fff6df)!important;border-color:rgba(214,154,37,.22)!important}
.moduleScene{border-radius:30px!important;border:1px solid rgba(67,22,54,.16)!important;background:linear-gradient(135deg,#fff,#fff4fb 54%,#fff4d8)!important;box-shadow:0 22px 44px rgba(67,22,54,.10), inset 0 1px 0 rgba(255,255,255,.86)!important}.moduleScene:before{opacity:.22!important}.moduleSceneIcon{background:linear-gradient(135deg,var(--module-accent),var(--module-accent-2))!important;border:2px solid rgba(255,255,255,.76)!important;box-shadow:0 16px 30px color-mix(in srgb,var(--module-accent) 22%,transparent)!important}.moduleSceneText span{color:color-mix(in srgb,var(--module-accent) 78%,#431636)!important}.moduleSceneText strong{font-size:1.35rem!important}.moduleSceneText em{font-weight:820!important;color:#5d4a61!important}
.glamourTagBand{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(67,22,54,.11);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,244,216,.52));box-shadow:0 14px 28px rgba(67,22,54,.055)}.glamPill{display:inline-flex;align-items:baseline;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid rgba(217,27,127,.14);box-shadow:0 7px 15px rgba(67,22,54,.045)}.glamPill b{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#a11661}.glamPill em{font-style:normal;font-size:.74rem;color:#6b5967;font-weight:840}.glamourTagBand>i{margin-left:auto;font-style:normal;font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:#8c6530;font-weight:1000}
.pedeLiveActionBand{border-color:rgba(217,27,127,.20)!important;background:linear-gradient(135deg,#fff,#fff4fb 60%,#fff7df)!important;box-shadow:0 16px 32px rgba(67,22,54,.08)!important}.pedeLiveActionBadge{background:linear-gradient(135deg,#ffe9f5,#fff1c8)!important;color:#8f1659!important}.pedeLiveActionBand p{color:#301626!important;font-size:14.5px!important}
.contentCard,.modulePanel,.lolaCard{border-radius:26px!important;border-color:rgba(67,22,54,.11)!important;box-shadow:0 16px 34px rgba(67,22,54,.06)!important}.modulePanel h4,.contentCard h4{letter-spacing:-.015em}.badge,.moduleBadges .badge,.badgeRow .badge{box-shadow:0 8px 16px rgba(67,22,54,.045);font-weight:950!important}
/* Roseta leopardo fina: presente, no ordinaria */
.appShell.expanded .rightPanel:before{opacity:.30!important;background-image:radial-gradient(ellipse at 18px 18px, rgba(186,120,36,.16) 0 7px, rgba(95,50,18,.18) 8px 10px, transparent 11px),radial-gradient(ellipse at 47px 34px, rgba(164,95,23,.13) 0 6px, rgba(70,35,11,.15) 7px 9px, transparent 10px),radial-gradient(ellipse at 74px 17px, rgba(114,62,22,.11) 0 4px, rgba(67,34,12,.13) 5px 7px, transparent 8px),radial-gradient(circle at 90% 10%, rgba(255,255,255,.8) 0 2px, transparent 3px),linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 9%,transparent) 1px,transparent 1px)!important;background-size:106px 106px,106px 106px,106px 106px,auto,50px 50px!important;animation:none!important}.appShell.expanded .rightPanel{outline:1px solid rgba(255,255,255,.62)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--module-accent) 16%,transparent) 0 9px, transparent 9px),radial-gradient(circle at 100% 0%, color-mix(in srgb,var(--module-accent) 18%,transparent), transparent 34%),linear-gradient(180deg,#fff,#fffaf6)!important;border-color:color-mix(in srgb,var(--module-accent) 22%,white)!important}.appShell.expanded .sideHeader{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--module-accent) 8%,#fff6fb) 58%,color-mix(in srgb,var(--module-accent-2) 8%,#fff4d8))!important}.appShell.expanded .sideContent{background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,.86))!important}
body[data-panel-theme="ficha"]{--module-accent:#d91b7f;--module-accent-2:#d69a25;--module-soft:rgba(217,27,127,.08)}body[data-panel-theme="noconfundas"]{--module-accent:#e46f1f;--module-accent-2:#d91b7f;--module-soft:rgba(228,111,31,.08)}body[data-panel-theme="tribunal"]{--module-accent:#6f2dbd;--module-accent-2:#d69a25;--module-soft:rgba(111,45,189,.08)}body[data-panel-theme="pedeinteligente"]{--module-accent:#c0186e;--module-accent-2:#d69a25;--module-soft:rgba(192,24,110,.08)}
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel,body[data-panel-theme="repaso"] .appShell.expanded .rightPanel,body[data-panel-theme="fallos"] .appShell.expanded .rightPanel{background:linear-gradient(90deg,color-mix(in srgb,var(--module-accent) 18%,transparent) 0 10px,transparent 10px),radial-gradient(circle at 100% 0%, color-mix(in srgb,var(--module-accent) 22%,transparent), transparent 33%),linear-gradient(180deg,#fff,#fff3f9)!important}.subrayadoArticleBody{background:#fff!important}.subrayadoSheet{box-shadow:0 18px 42px rgba(67,22,54,.07)!important}.tribunalHero,.pedeBrainHero,.fichaRibbon,.noConfTop{box-shadow:0 18px 42px rgba(67,22,54,.08)!important}
@media(max-width:980px){.glamourTagBand>i{width:100%;margin-left:0}.glamPill{padding:6px 9px}.legalText{padding:18px!important}.moduleSceneText strong{font-size:1.12rem!important}}

/* V53.5.2 · Panel derecho: bordes más visibles y lectura por bloques */
.appShell.expanded .sideContent > .contentCard,
.appShell.expanded .sideContent > .lolaCard,
.appShell.expanded .sideContent > .modulePanel,
.appShell.expanded .sideContent > .moduleHero,
.appShell.expanded .sideContent > .pedeLiveRibbon,
.appShell.expanded .sideContent > section,
.appShell.expanded .sideContent > div[class*="Box"],
.appShell.expanded .sideContent > div[class*="Panel"],
.appShell.expanded .sideContent > div[class*="Card"],
.appShell.expanded .sideContent > div[class*="Hero"]{
  border-width:3px!important;
  border-style:solid!important;
  border-color:color-mix(in srgb,var(--module-accent,#e51673) 34%,#ffffff)!important;
  box-shadow:0 18px 42px rgba(67,22,54,.12), inset 0 0 0 1px rgba(255,255,255,.72)!important;
}
.appShell.expanded .moduleHero,
.appShell.expanded .pedeLiveRibbon,
.appShell.expanded .planHero,
.appShell.expanded .diarioHero,
.appShell.expanded .fichaRibbon,
.appShell.expanded .noConfTop,
.appShell.expanded .tribunalHero,
.appShell.expanded .pedeBrainHero{
  border-width:3px!important;
  border-color:color-mix(in srgb,var(--module-accent,#e51673) 42%,#fff)!important;
  box-shadow:0 16px 38px rgba(67,22,54,.14), inset 0 0 0 1px rgba(255,255,255,.78)!important;
}
.appShell.expanded .moduleBadges,
.appShell.expanded .badgeRow,
.appShell.expanded .planQuickTags,
.appShell.expanded .diarioMetrics,
.appShell.expanded .planSourceBox,
.appShell.expanded .routeConnectBox,
.appShell.expanded .planWarning,
.appShell.expanded .planObedience,
.appShell.expanded .pedeBrainActions,
.appShell.expanded .tribunalBlock,
.appShell.expanded .noConfCard,
.appShell.expanded .fichaExamTrap,
.appShell.expanded .fichaNoConf,
.appShell.expanded .fichaTribunal,
.appShell.expanded .subrayadoLegend,
.appShell.expanded .subrayadoEmpty,
.appShell.expanded .diarioTask,
.appShell.expanded .planDayCard{
  border-width:2.5px!important;
  border-style:solid!important;
  border-color:color-mix(in srgb,var(--module-accent,#e51673) 32%,#ffffff)!important;
  box-shadow:0 12px 28px rgba(67,22,54,.09), inset 0 0 0 1px rgba(255,255,255,.70)!important;
}
.appShell.expanded input,
.appShell.expanded textarea,
.appShell.expanded select,
.appShell.expanded .miniBtn,
.appShell.expanded .pedePrimaryBtn,
.appShell.expanded .badge,
.appShell.expanded .pill{
  border-width:2px!important;
  border-color:color-mix(in srgb,var(--module-accent,#e51673) 30%,#d8d2dc)!important;
}
.appShell.expanded .sideContent > * + *{margin-top:18px;}
.appShell.expanded .pedeLiveRibbon{margin-top:18px!important;margin-bottom:18px!important;}
.appShell.expanded .contentCard:hover,
.appShell.expanded .modulePanel:hover,
.appShell.expanded .moduleHero:hover,
.appShell.expanded .pedeLiveRibbon:hover{
  border-color:color-mix(in srgb,var(--module-accent,#e51673) 52%,#fff)!important;
  box-shadow:0 22px 54px rgba(67,22,54,.16), inset 0 0 0 1px rgba(255,255,255,.80)!important;
}



/* V53.5.2 · Bordes del panel extensible más visibles: separación clara sin ensuciar el BOE */
.rightPanel.expanded .moduleScene,
.rightPanel.expanded .moduleHero,
.rightPanel.expanded .contentCard,
.rightPanel.expanded .lolaCard,
.rightPanel.expanded .pedeLiveRibbon,
.rightPanel.expanded .planHero,
.rightPanel.expanded .planStrict,
.rightPanel.expanded .planRelatedRefs,
.rightPanel.expanded .planDayMini,
.rightPanel.expanded .planExamDemand,
.rightPanel.expanded .planConcordadoProposal,
.rightPanel.expanded .planTaxBox,
.rightPanel.expanded .planExamBox,
.rightPanel.expanded .planTaxSummary,
.rightPanel.expanded .planOutput,
.rightPanel.expanded .planModule,
.rightPanel.expanded .diarioMain,
.rightPanel.expanded .diarioPanel,
.rightPanel.expanded .diarioTask,
.rightPanel.expanded .diarioMetric,
.rightPanel.expanded .pedeBrainVerdict,
.rightPanel.expanded .pedeBrainActions,
.rightPanel.expanded .fichaArticleHero,
.rightPanel.expanded .fichaExamTrap,
.rightPanel.expanded .noConfCard,
.rightPanel.expanded .tribunalBlock,
.rightPanel.expanded .subrayadoBox{
  border-width:2px !important;
  border-color:rgba(229,22,115,.44) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.84) inset,
    0 16px 34px rgba(31,16,72,.09),
    0 0 0 1px rgba(151,92,23,.08) !important;
}

.rightPanel.expanded .moduleHero,
.rightPanel.expanded .planHero,
.rightPanel.expanded .fichaArticleHero{
  border-width:2.5px !important;
  border-color:rgba(229,22,115,.50) !important;
}

.rightPanel.expanded .pedeLiveRibbon{
  border-width:2.5px !important;
  border-color:rgba(255,151,190,.74) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.9) inset,
    0 12px 28px rgba(229,22,115,.12),
    0 0 0 1px rgba(151,92,23,.10) !important;
}

.rightPanel.expanded input,
.rightPanel.expanded textarea,
.rightPanel.expanded select,
.rightPanel.expanded .moduleTextarea,
.rightPanel.expanded .planFormGrid textarea,
.rightPanel.expanded .planFormGrid select,
.rightPanel.expanded .planDayToggle{
  border-width:2px !important;
  border-color:rgba(126,111,139,.36) !important;
  box-shadow:0 8px 18px rgba(31,16,72,.06) !important;
}

.rightPanel.expanded input:focus,
.rightPanel.expanded textarea:focus,
.rightPanel.expanded select:focus,
.rightPanel.expanded .moduleTextarea:focus{
  border-color:rgba(229,22,115,.72) !important;
  box-shadow:0 0 0 4px rgba(229,22,115,.12), 0 10px 24px rgba(31,16,72,.08) !important;
}

.rightPanel.expanded .badge,
.rightPanel.expanded .miniBtn,
.rightPanel.expanded .pedePrimaryBtn,
.rightPanel.expanded .planModeTabs button,
.rightPanel.expanded .moduleBadges .badge,
.rightPanel.expanded .badgeRow .badge{
  border-width:2px !important;
}

.rightPanel.expanded .pedeLiveRibbon,
.rightPanel.expanded .contentCard,
.rightPanel.expanded .lolaCard,
.rightPanel.expanded .planStrict,
.rightPanel.expanded .planTaxBox,
.rightPanel.expanded .planExamBox,
.rightPanel.expanded .planOutput,
.rightPanel.expanded .diarioTask{
  margin-bottom:18px !important;
}


/* === V53.5.3 · MOTOR SUBRAYADO JURÍDICO DOS CAPAS ==================== */
.subMark-subjectOverlay{
  text-decoration-line:underline!important;
  text-decoration-style:double!important;
  text-decoration-thickness:2px!important;
  text-decoration-color:#4b3380!important;
  text-underline-offset:4px!important;
  font-weight:900!important;
}
.subLegend-subject span{
  background:linear-gradient(transparent 58%,#dbcfff 58% 72%,transparent 72%)!important;
  color:#4b3380!important;
  text-decoration-line:underline;
  text-decoration-style:double;
  text-underline-offset:3px;
}
.subrayadoProgress{margin:14px 0 0;padding:13px 15px;border:1px solid rgba(141,90,185,.22);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 10px 24px rgba(67,22,54,.05)}
.subrayadoProgress>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.subrayadoProgress b{font-size:11px;letter-spacing:.12em;color:#6b21a8}.subrayadoProgress strong{font-size:20px;color:#241c3d}.subrayadoProgress em{font-style:normal;font-weight:900;color:#a21458}.subrayadoProgress>span{display:block;height:9px;margin-top:9px;border-radius:999px;background:#eadff0;overflow:hidden}.subrayadoProgress>span>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8d5ab9,#c99be3)}
@media print{.subMark-subjectOverlay{text-decoration-line:underline!important;text-decoration-style:double!important;text-decoration-color:#4b3380!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.subrayadoProgress{display:none!important}}


/* === V53.5.5 · MODO V3-APP ADITIVO · NO MODIFICA EL SUBRAYADO OPERATIVO === */
.subV3Top{border-color:rgba(107,33,168,.24)!important;background:linear-gradient(135deg,#fffafd,#f8f0ff)!important}
.subV3Legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.subV3LegendItem{position:relative;border:1px solid rgba(33,35,58,.12);border-radius:16px;padding:12px 42px 12px 12px;background:#fff;box-shadow:0 10px 18px rgba(34,22,47,.05)}
.subV3LegendItem span{display:inline-flex;border-radius:999px;padding:4px 9px;margin-bottom:6px;font-size:10px;letter-spacing:.08em;font-weight:1000;color:#2a2031}
.subV3LegendItem b{display:block;color:#241c3d;font-size:14px}.subV3LegendItem em{display:block;font-style:normal;color:#6d6475;font-size:12px;line-height:1.25;font-weight:760}.subV3LegendItem strong{position:absolute;right:12px;top:12px;font-size:22px;color:#271547}
.subV3Mark{padding:0 .08em;border-radius:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-weight:800}
.subV3Mark-blue{background:#ADD8E6}.subV3Mark-yellow{background:#FFF59D}.subV3Mark-green{background:#C8E6C9}.subV3Mark-lilac{background:#D8BBEC}.subV3Mark-orange{background:#FFC77D}
.subV3Status{display:flex;gap:12px;align-items:center;margin:14px 20px 0;padding:11px 14px;border-radius:16px;font-weight:900}.subV3Status b{letter-spacing:.06em}.subV3Status span{font-weight:800}
.subV3Status.ok{background:#eefbea;border:1px solid rgba(34,197,94,.25);color:#275b2c}.subV3Status.pending{background:#fff8ed;border:1px solid rgba(249,115,22,.25);color:#7c2d12}
.subV3Criteria summary{cursor:pointer;font-weight:950;color:#5b207e}.subV3Criteria pre{white-space:pre-wrap;max-height:560px;overflow:auto;background:#24152f;color:#fff;border-radius:16px;padding:14px;font-size:12px;line-height:1.45}
@media print{.subV3Mark-blue,.subV3Mark-yellow,.subV3Mark-green,.subV3Mark-lilac,.subV3Mark-orange{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


/* === V53.5.6 · BOE/ARTÍCULOS · FONDO PETARDO UNIFICADO SIN TOCAR FUNCIONES === */
/* Familia visual unificada solo para los módulos que cuelgan del estudio de artículo.
   No se toca la lógica ni el subrayado operativo. Solo color, fondo y presentación. */
body[data-panel-theme="ficha"],
body[data-panel-theme="concordancias"],
body[data-panel-theme="esquemas"],
body[data-panel-theme="subrayado"],
body[data-panel-theme="cantarticulos"],
body[data-panel-theme="supuestos"],
body[data-panel-theme="gatillodromo"],
body[data-panel-theme="tribunal"],
body[data-panel-theme="plazos"],
body[data-panel-theme="practico"],
body[data-panel-theme="noconfundas"]{
  --module-accent:#ff2a93;
  --module-accent-2:#00d8ff;
  --module-soft:rgba(255,42,147,.10);
}

body[data-panel-theme="ficha"] .appShell.expanded .rightPanel,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel,
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel{
  outline:1px solid rgba(255,255,255,.72)!important;
  border-color:rgba(255,82,168,.28)!important;
  background:
    linear-gradient(90deg, rgba(255,42,147,.18) 0 10px, transparent 10px),
    radial-gradient(circle at 100% 0%, rgba(0,216,255,.18), transparent 35%),
    radial-gradient(circle at 12% 14%, rgba(255,205,63,.18), transparent 28%),
    linear-gradient(180deg,#fff9fc 0%,#fffaf2 100%)!important;
}

body[data-panel-theme="ficha"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel:before{
  opacity:.42!important;
  background-image:
    radial-gradient(ellipse at 18px 18px, rgba(186,120,36,.18) 0 8px, rgba(95,50,18,.15) 9px 11px, transparent 12px),
    radial-gradient(ellipse at 47px 34px, rgba(164,95,23,.16) 0 7px, rgba(70,35,11,.14) 8px 10px, transparent 11px),
    radial-gradient(ellipse at 74px 17px, rgba(114,62,22,.15) 0 5px, rgba(67,34,12,.13) 6px 8px, transparent 9px),
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.96) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 72% 16%, rgba(255,255,255,.88) 0 1.8px, transparent 2.8px),
    radial-gradient(circle at 44% 68%, rgba(255,255,255,.84) 0 1.4px, transparent 2.4px),
    linear-gradient(135deg, rgba(255,42,147,.10) 1px, transparent 1px)!important;
  background-size:106px 106px,106px 106px,106px 106px,auto,auto,auto,52px 52px!important;
}

body[data-panel-theme="ficha"] .appShell.expanded .sideHeader,
body[data-panel-theme="concordancias"] .appShell.expanded .sideHeader,
body[data-panel-theme="esquemas"] .appShell.expanded .sideHeader,
body[data-panel-theme="subrayado"] .appShell.expanded .sideHeader,
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideHeader,
body[data-panel-theme="supuestos"] .appShell.expanded .sideHeader,
body[data-panel-theme="gatillodromo"] .appShell.expanded .sideHeader,
body[data-panel-theme="tribunal"] .appShell.expanded .sideHeader,
body[data-panel-theme="plazos"] .appShell.expanded .sideHeader,
body[data-panel-theme="practico"] .appShell.expanded .sideHeader,
body[data-panel-theme="noconfundas"] .appShell.expanded .sideHeader{
  background:linear-gradient(135deg,#fff7fb 0%, rgba(255,42,147,.10) 38%, rgba(0,216,255,.10) 72%, rgba(255,205,63,.16) 100%)!important;
}

body[data-panel-theme="ficha"] .appShell.expanded .sideContent,
body[data-panel-theme="concordancias"] .appShell.expanded .sideContent,
body[data-panel-theme="esquemas"] .appShell.expanded .sideContent,
body[data-panel-theme="subrayado"] .appShell.expanded .sideContent,
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideContent,
body[data-panel-theme="supuestos"] .appShell.expanded .sideContent,
body[data-panel-theme="gatillodromo"] .appShell.expanded .sideContent,
body[data-panel-theme="tribunal"] .appShell.expanded .sideContent,
body[data-panel-theme="plazos"] .appShell.expanded .sideContent,
body[data-panel-theme="practico"] .appShell.expanded .sideContent,
body[data-panel-theme="noconfundas"] .appShell.expanded .sideContent{
  background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.86))!important;
}

.moduleScene-ficha,
.moduleScene-concordancias,
.moduleScene-esquemas,
.moduleScene-subrayado,
.moduleScene-cantarticulos,
.moduleScene-supuestos,
.moduleScene-gatillodromo,
.moduleScene-tribunal,
.moduleScene-plazos,
.moduleScene-practico,
.moduleScene-noconfundas{
  background:linear-gradient(135deg, rgba(255,42,147,.22) 0%, rgba(186,66,255,.16) 22%, rgba(0,216,255,.16) 56%, rgba(255,205,63,.18) 100%)!important;
  border-color:rgba(255,82,168,.34)!important;
  position:relative;
  overflow:hidden;
}
.moduleScene-ficha:after,
.moduleScene-concordancias:after,
.moduleScene-esquemas:after,
.moduleScene-subrayado:after,
.moduleScene-cantarticulos:after,
.moduleScene-supuestos:after,
.moduleScene-gatillodromo:after,
.moduleScene-tribunal:after,
.moduleScene-plazos:after,
.moduleScene-practico:after,
.moduleScene-noconfundas:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 10% 24%, rgba(255,255,255,.40) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.34) 0 2px, transparent 3px),
    radial-gradient(circle at 62% 76%, rgba(255,255,255,.28) 0 1.6px, transparent 2.6px),
    linear-gradient(120deg, transparent 0 34%, rgba(255,255,255,.22) 43%, transparent 52%);
  opacity:.95;
}

body[data-panel-theme="ficha"] .glamourTagBand,
body[data-panel-theme="concordancias"] .glamourTagBand,
body[data-panel-theme="esquemas"] .glamourTagBand,
body[data-panel-theme="subrayado"] .glamourTagBand,
body[data-panel-theme="cantarticulos"] .glamourTagBand,
body[data-panel-theme="supuestos"] .glamourTagBand,
body[data-panel-theme="gatillodromo"] .glamourTagBand,
body[data-panel-theme="tribunal"] .glamourTagBand,
body[data-panel-theme="plazos"] .glamourTagBand,
body[data-panel-theme="practico"] .glamourTagBand,
body[data-panel-theme="noconfundas"] .glamourTagBand{
  background:linear-gradient(135deg, rgba(255,247,252,.98), rgba(255,236,246,.90) 36%, rgba(230,251,255,.88) 73%, rgba(255,247,213,.92) 100%)!important;
  border-color:rgba(255,82,168,.20)!important;
}

body[data-panel-theme="ficha"] .moduleHero,
body[data-panel-theme="concordancias"] .moduleHero,
body[data-panel-theme="esquemas"] .moduleHero,
body[data-panel-theme="subrayado"] .moduleHero,
body[data-panel-theme="cantarticulos"] .moduleHero,
body[data-panel-theme="supuestos"] .moduleHero,
body[data-panel-theme="gatillodromo"] .moduleHero,
body[data-panel-theme="tribunal"] .moduleHero,
body[data-panel-theme="plazos"] .moduleHero,
body[data-panel-theme="practico"] .moduleHero,
body[data-panel-theme="noconfundas"] .moduleHero,
body[data-panel-theme="ficha"] .pedeLiveActionBand,
body[data-panel-theme="concordancias"] .pedeLiveActionBand,
body[data-panel-theme="esquemas"] .pedeLiveActionBand,
body[data-panel-theme="subrayado"] .pedeLiveActionBand,
body[data-panel-theme="cantarticulos"] .pedeLiveActionBand,
body[data-panel-theme="supuestos"] .pedeLiveActionBand,
body[data-panel-theme="gatillodromo"] .pedeLiveActionBand,
body[data-panel-theme="tribunal"] .pedeLiveActionBand,
body[data-panel-theme="plazos"] .pedeLiveActionBand,
body[data-panel-theme="practico"] .pedeLiveActionBand,
body[data-panel-theme="noconfundas"] .pedeLiveActionBand{
  background:linear-gradient(135deg,#fff 0%, rgba(255,235,247,.92) 42%, rgba(231,249,255,.90) 72%, rgba(255,245,209,.92) 100%)!important;
  border-color:rgba(255,82,168,.24)!important;
}


/* === V53.5.7 · 5 SUPERBOTONES · 5 FAMILIAS CROMÁTICAS ==================== */
/* Regla: cada superbotón de la columna izquierda da una misma familia de fondo
   a todos sus módulos internos. Solo visual. No se toca ninguna función. */

/* ---------- 1) BOE / ARTÍCULOS · COTILLEO · TURQUESA ELÉCTRICO ---------- */
body[data-panel-theme="ficha"],
body[data-panel-theme="noconfundas"],
body[data-panel-theme="concordancias"],
body[data-panel-theme="esquemas"],
body[data-panel-theme="subrayado"],
body[data-panel-theme="cantarticulos"]{
  --module-accent:#18d7d1;
  --module-accent-2:#07b7cf;
  --module-soft:rgba(24,215,209,.10);
}
body[data-panel-theme="ficha"] .appShell.expanded .rightPanel,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, rgba(24,215,209,.18) 0 10px, transparent 10px), radial-gradient(circle at 100% 0%, rgba(24,215,209,.14), transparent 34%), linear-gradient(180deg,#fbfffe 0%, #f4fffe 100%)!important;
  border-color:rgba(24,215,209,.28)!important;
}
body[data-panel-theme="ficha"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before{
  opacity:.35!important;
  background-image:radial-gradient(circle at 12% 24%, rgba(24,215,209,.14) 0 12px, transparent 13px), radial-gradient(circle at 77% 16%, rgba(24,215,209,.11) 0 9px, transparent 10px), radial-gradient(circle at 56% 73%, rgba(7,183,207,.09) 0 10px, transparent 11px)!important;
  background-size:auto!important;
}
body[data-panel-theme="ficha"] .appShell.expanded .sideHeader,
body[data-panel-theme="noconfundas"] .appShell.expanded .sideHeader,
body[data-panel-theme="concordancias"] .appShell.expanded .sideHeader,
body[data-panel-theme="esquemas"] .appShell.expanded .sideHeader,
body[data-panel-theme="subrayado"] .appShell.expanded .sideHeader,
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideHeader,
body[data-panel-theme="ficha"] .moduleScene,
body[data-panel-theme="noconfundas"] .moduleScene,
body[data-panel-theme="concordancias"] .moduleScene,
body[data-panel-theme="esquemas"] .moduleScene,
body[data-panel-theme="subrayado"] .moduleScene,
body[data-panel-theme="cantarticulos"] .moduleScene{
  background:linear-gradient(135deg, rgba(24,215,209,.15), rgba(7,183,207,.12), rgba(255,255,255,.92))!important;
  border-color:rgba(24,215,209,.28)!important;
}

/* ---------- 2) ENTRENAMIENTO · CHISME · MORADO-FUCSIA ---------- */
body[data-panel-theme="supuestos"],
body[data-panel-theme="examina"],
body[data-panel-theme="tribunal"],
body[data-panel-theme="gatillodromo"],
body[data-panel-theme="comparodromo"],
body[data-panel-theme="practico"]{
  --module-accent:#d120c7;
  --module-accent-2:#8f2cf7;
  --module-soft:rgba(209,32,199,.10);
}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel,
body[data-panel-theme="examina"] .appShell.expanded .rightPanel,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel,
body[data-panel-theme="comparodromo"] .appShell.expanded .rightPanel,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, rgba(209,32,199,.18) 0 10px, transparent 10px), radial-gradient(circle at 100% 0%, rgba(143,44,247,.16), transparent 34%), linear-gradient(180deg,#fffbff 0%, #fcf7ff 100%)!important;
  border-color:rgba(209,32,199,.28)!important;
}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="examina"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="comparodromo"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel:before{
  opacity:.34!important;
  background-image:radial-gradient(circle at 14% 22%, rgba(209,32,199,.14) 0 12px, transparent 13px), radial-gradient(circle at 79% 14%, rgba(143,44,247,.12) 0 9px, transparent 10px), radial-gradient(circle at 58% 76%, rgba(209,32,199,.09) 0 10px, transparent 11px)!important;
  background-size:auto!important;
}
body[data-panel-theme="supuestos"] .appShell.expanded .sideHeader,
body[data-panel-theme="examina"] .appShell.expanded .sideHeader,
body[data-panel-theme="tribunal"] .appShell.expanded .sideHeader,
body[data-panel-theme="gatillodromo"] .appShell.expanded .sideHeader,
body[data-panel-theme="comparodromo"] .appShell.expanded .sideHeader,
body[data-panel-theme="practico"] .appShell.expanded .sideHeader,
body[data-panel-theme="supuestos"] .moduleScene,
body[data-panel-theme="examina"] .moduleScene,
body[data-panel-theme="tribunal"] .moduleScene,
body[data-panel-theme="gatillodromo"] .moduleScene,
body[data-panel-theme="comparodromo"] .moduleScene,
body[data-panel-theme="practico"] .moduleScene{
  background:linear-gradient(135deg, rgba(209,32,199,.14), rgba(143,44,247,.12), rgba(255,255,255,.93))!important;
  border-color:rgba(209,32,199,.28)!important;
}

/* ---------- 3) PLANIFICACIÓN · GUAPA · DORADO / ÁMBAR ---------- */
body[data-panel-theme="diario"],
body[data-panel-theme="plan"],
body[data-panel-theme="rutaminima"],
body[data-panel-theme="plazos"]{
  --module-accent:#d9a11d;
  --module-accent-2:#f0bf40;
  --module-soft:rgba(217,161,29,.10);
}
body[data-panel-theme="diario"] .appShell.expanded .rightPanel,
body[data-panel-theme="plan"] .appShell.expanded .rightPanel,
body[data-panel-theme="rutaminima"] .appShell.expanded .rightPanel,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, rgba(217,161,29,.19) 0 10px, transparent 10px), radial-gradient(circle at 100% 0%, rgba(240,191,64,.18), transparent 34%), linear-gradient(180deg,#fffdf8 0%, #fffaf0 100%)!important;
  border-color:rgba(217,161,29,.30)!important;
}
body[data-panel-theme="diario"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="plan"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="rutaminima"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel:before{
  opacity:.33!important;
  background-image:radial-gradient(circle at 14% 20%, rgba(217,161,29,.14) 0 12px, transparent 13px), radial-gradient(circle at 79% 15%, rgba(240,191,64,.12) 0 9px, transparent 10px), radial-gradient(circle at 58% 74%, rgba(217,161,29,.08) 0 10px, transparent 11px)!important;
  background-size:auto!important;
}
body[data-panel-theme="diario"] .appShell.expanded .sideHeader,
body[data-panel-theme="plan"] .appShell.expanded .sideHeader,
body[data-panel-theme="rutaminima"] .appShell.expanded .sideHeader,
body[data-panel-theme="plazos"] .appShell.expanded .sideHeader,
body[data-panel-theme="diario"] .moduleScene,
body[data-panel-theme="plan"] .moduleScene,
body[data-panel-theme="rutaminima"] .moduleScene,
body[data-panel-theme="plazos"] .moduleScene{
  background:linear-gradient(135deg, rgba(255,243,211,.94), rgba(255,249,232,.96), rgba(255,255,255,.94))!important;
  border-color:rgba(217,161,29,.30)!important;
}

/* ---------- 4) MEMORIA · BRILLI-BRILLI · FUCSIA JOYA ---------- */
body[data-panel-theme="vigilancia"],
body[data-panel-theme="pedeinteligente"],
body[data-panel-theme="repaso"],
body[data-panel-theme="fallos"],
body[data-panel-theme="favoritos"]{
  --module-accent:#ff1f8b;
  --module-accent-2:#ff57b1;
  --module-soft:rgba(255,31,139,.10);
}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .rightPanel,
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel,
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel,
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, rgba(255,31,139,.18) 0 10px, transparent 10px), radial-gradient(circle at 100% 0%, rgba(255,87,177,.16), transparent 34%), linear-gradient(180deg,#fffafb 0%, #fff4f8 100%)!important;
  border-color:rgba(255,31,139,.28)!important;
}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel:before{
  opacity:.35!important;
  background-image:radial-gradient(circle at 13% 21%, rgba(255,31,139,.14) 0 12px, transparent 13px), radial-gradient(circle at 79% 16%, rgba(255,87,177,.12) 0 9px, transparent 10px), radial-gradient(circle at 56% 74%, rgba(255,31,139,.09) 0 10px, transparent 11px)!important;
  background-size:auto!important;
}
body[data-panel-theme="vigilancia"] .appShell.expanded .sideHeader,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .sideHeader,
body[data-panel-theme="repaso"] .appShell.expanded .sideHeader,
body[data-panel-theme="fallos"] .appShell.expanded .sideHeader,
body[data-panel-theme="favoritos"] .appShell.expanded .sideHeader,
body[data-panel-theme="vigilancia"] .moduleScene,
body[data-panel-theme="pedeinteligente"] .moduleScene,
body[data-panel-theme="repaso"] .moduleScene,
body[data-panel-theme="fallos"] .moduleScene,
body[data-panel-theme="favoritos"] .moduleScene{
  background:linear-gradient(135deg, rgba(255,31,139,.14), rgba(255,87,177,.12), rgba(255,255,255,.93))!important;
  border-color:rgba(255,31,139,.28)!important;
}

/* ---------- 5) MI ESPACIO · LÍO · VIOLETA ELÉCTRICO ---------- */
body[data-panel-theme="cajafuerte"],
body[data-panel-theme="notas"],
body[data-panel-theme="historia"]{
  --module-accent:#7b2cff;
  --module-accent-2:#a855f7;
  --module-soft:rgba(123,44,255,.10);
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .rightPanel,
body[data-panel-theme="notas"] .appShell.expanded .rightPanel,
body[data-panel-theme="historia"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, rgba(123,44,255,.18) 0 10px, transparent 10px), radial-gradient(circle at 100% 0%, rgba(168,85,247,.16), transparent 34%), linear-gradient(180deg,#fcfbff 0%, #f8f5ff 100%)!important;
  border-color:rgba(123,44,255,.28)!important;
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="notas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="historia"] .appShell.expanded .rightPanel:before{
  opacity:.35!important;
  background-image:radial-gradient(circle at 13% 22%, rgba(123,44,255,.13) 0 12px, transparent 13px), radial-gradient(circle at 81% 14%, rgba(168,85,247,.11) 0 9px, transparent 10px), radial-gradient(circle at 57% 76%, rgba(123,44,255,.08) 0 10px, transparent 11px)!important;
  background-size:auto!important;
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .sideHeader,
body[data-panel-theme="notas"] .appShell.expanded .sideHeader,
body[data-panel-theme="historia"] .appShell.expanded .sideHeader,
body[data-panel-theme="cajafuerte"] .moduleScene,
body[data-panel-theme="notas"] .moduleScene,
body[data-panel-theme="historia"] .moduleScene{
  background:linear-gradient(135deg, rgba(123,44,255,.14), rgba(168,85,247,.11), rgba(255,255,255,.93))!important;
  border-color:rgba(123,44,255,.28)!important;
}


/* === V53.5.8 · FONDOS CON COLOR ELEGIDO AL +25% BLANCO ================== */
/* Corrección del criterio: los fondos deben usar directamente la versión +25% blanco
   de cada color elegido, sin deslavarlo hasta pastel muerto. */

/* ---- BOE / ARTÍCULOS · COTILLEO +25% · #52E1DC ---- */
body[data-panel-theme="ficha"],
body[data-panel-theme="noconfundas"],
body[data-panel-theme="concordancias"],
body[data-panel-theme="esquemas"],
body[data-panel-theme="subrayado"],
body[data-panel-theme="cantarticulos"]{
  --module-accent:#52E1DC;
  --module-accent-2:#35cfc9;
  --module-soft:rgba(82,225,220,.22);
}
body[data-panel-theme="ficha"] .appShell.expanded .rightPanel,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, #35cfc9 0 12px, transparent 12px), linear-gradient(180deg, rgba(82,225,220,.88) 0%, rgba(82,225,220,.74) 100%)!important;
  border-color:rgba(53,207,201,.54)!important;
}
body[data-panel-theme="ficha"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="noconfundas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="concordancias"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="esquemas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="subrayado"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="cantarticulos"] .appShell.expanded .rightPanel:before{
  opacity:.18!important;
  background-image:radial-gradient(circle at 15% 22%, rgba(255,255,255,.38) 0 11px, transparent 12px), radial-gradient(circle at 78% 14%, rgba(53,207,201,.20) 0 9px, transparent 10px), radial-gradient(circle at 60% 76%, rgba(255,255,255,.28) 0 10px, transparent 11px)!important;
}
body[data-panel-theme="ficha"] .appShell.expanded .sideHeader,
body[data-panel-theme="noconfundas"] .appShell.expanded .sideHeader,
body[data-panel-theme="concordancias"] .appShell.expanded .sideHeader,
body[data-panel-theme="esquemas"] .appShell.expanded .sideHeader,
body[data-panel-theme="subrayado"] .appShell.expanded .sideHeader,
body[data-panel-theme="cantarticulos"] .appShell.expanded .sideHeader,
body[data-panel-theme="ficha"] .moduleScene,
body[data-panel-theme="noconfundas"] .moduleScene,
body[data-panel-theme="concordancias"] .moduleScene,
body[data-panel-theme="esquemas"] .moduleScene,
body[data-panel-theme="subrayado"] .moduleScene,
body[data-panel-theme="cantarticulos"] .moduleScene,
body[data-panel-theme="ficha"] .glamourTagBand,
body[data-panel-theme="noconfundas"] .glamourTagBand,
body[data-panel-theme="concordancias"] .glamourTagBand,
body[data-panel-theme="esquemas"] .glamourTagBand,
body[data-panel-theme="subrayado"] .glamourTagBand,
body[data-panel-theme="cantarticulos"] .glamourTagBand,
body[data-panel-theme="ficha"] .moduleHero,
body[data-panel-theme="noconfundas"] .moduleHero,
body[data-panel-theme="concordancias"] .moduleHero,
body[data-panel-theme="esquemas"] .moduleHero,
body[data-panel-theme="subrayado"] .moduleHero,
body[data-panel-theme="cantarticulos"] .moduleHero,
body[data-panel-theme="ficha"] .pedeLiveActionBand,
body[data-panel-theme="noconfundas"] .pedeLiveActionBand,
body[data-panel-theme="concordancias"] .pedeLiveActionBand,
body[data-panel-theme="esquemas"] .pedeLiveActionBand,
body[data-panel-theme="subrayado"] .pedeLiveActionBand,
body[data-panel-theme="cantarticulos"] .pedeLiveActionBand{
  background:linear-gradient(135deg, rgba(82,225,220,.88), rgba(112,232,227,.82))!important;
  border-color:rgba(53,207,201,.54)!important;
}

/* ---- ENTRENAMIENTO · CHISME +25% · #DC58D5 ---- */
body[data-panel-theme="supuestos"],
body[data-panel-theme="examina"],
body[data-panel-theme="tribunal"],
body[data-panel-theme="gatillodromo"],
body[data-panel-theme="comparodromo"],
body[data-panel-theme="practico"]{
  --module-accent:#DC58D5;
  --module-accent-2:#c941c1;
  --module-soft:rgba(220,88,213,.22);
}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel,
body[data-panel-theme="examina"] .appShell.expanded .rightPanel,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel,
body[data-panel-theme="comparodromo"] .appShell.expanded .rightPanel,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, #c941c1 0 12px, transparent 12px), linear-gradient(180deg, rgba(220,88,213,.88) 0%, rgba(220,88,213,.74) 100%)!important;
  border-color:rgba(201,65,193,.54)!important;
}
body[data-panel-theme="supuestos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="examina"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="tribunal"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="gatillodromo"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="comparodromo"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="practico"] .appShell.expanded .rightPanel:before{
  opacity:.18!important;
  background-image:radial-gradient(circle at 15% 22%, rgba(255,255,255,.38) 0 11px, transparent 12px), radial-gradient(circle at 78% 14%, rgba(201,65,193,.20) 0 9px, transparent 10px), radial-gradient(circle at 60% 76%, rgba(255,255,255,.28) 0 10px, transparent 11px)!important;
}
body[data-panel-theme="supuestos"] .appShell.expanded .sideHeader,
body[data-panel-theme="examina"] .appShell.expanded .sideHeader,
body[data-panel-theme="tribunal"] .appShell.expanded .sideHeader,
body[data-panel-theme="gatillodromo"] .appShell.expanded .sideHeader,
body[data-panel-theme="comparodromo"] .appShell.expanded .sideHeader,
body[data-panel-theme="practico"] .appShell.expanded .sideHeader,
body[data-panel-theme="supuestos"] .moduleScene,
body[data-panel-theme="examina"] .moduleScene,
body[data-panel-theme="tribunal"] .moduleScene,
body[data-panel-theme="gatillodromo"] .moduleScene,
body[data-panel-theme="comparodromo"] .moduleScene,
body[data-panel-theme="practico"] .moduleScene,
body[data-panel-theme="supuestos"] .glamourTagBand,
body[data-panel-theme="examina"] .glamourTagBand,
body[data-panel-theme="tribunal"] .glamourTagBand,
body[data-panel-theme="gatillodromo"] .glamourTagBand,
body[data-panel-theme="comparodromo"] .glamourTagBand,
body[data-panel-theme="practico"] .glamourTagBand,
body[data-panel-theme="supuestos"] .moduleHero,
body[data-panel-theme="examina"] .moduleHero,
body[data-panel-theme="tribunal"] .moduleHero,
body[data-panel-theme="gatillodromo"] .moduleHero,
body[data-panel-theme="comparodromo"] .moduleHero,
body[data-panel-theme="practico"] .moduleHero,
body[data-panel-theme="supuestos"] .pedeLiveActionBand,
body[data-panel-theme="examina"] .pedeLiveActionBand,
body[data-panel-theme="tribunal"] .pedeLiveActionBand,
body[data-panel-theme="gatillodromo"] .pedeLiveActionBand,
body[data-panel-theme="comparodromo"] .pedeLiveActionBand,
body[data-panel-theme="practico"] .pedeLiveActionBand{
  background:linear-gradient(135deg, rgba(220,88,213,.88), rgba(231,118,225,.82))!important;
  border-color:rgba(201,65,193,.54)!important;
}

/* ---- PLANIFICACIÓN · GUAPA +25% · #E2B856 ---- */
body[data-panel-theme="diario"],
body[data-panel-theme="plan"],
body[data-panel-theme="rutaminima"],
body[data-panel-theme="plazos"]{
  --module-accent:#E2B856;
  --module-accent-2:#d3a03c;
  --module-soft:rgba(226,184,86,.22);
}
body[data-panel-theme="diario"] .appShell.expanded .rightPanel,
body[data-panel-theme="plan"] .appShell.expanded .rightPanel,
body[data-panel-theme="rutaminima"] .appShell.expanded .rightPanel,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, #d3a03c 0 12px, transparent 12px), linear-gradient(180deg, rgba(226,184,86,.88) 0%, rgba(226,184,86,.74) 100%)!important;
  border-color:rgba(211,160,60,.56)!important;
}
body[data-panel-theme="diario"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="plan"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="rutaminima"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="plazos"] .appShell.expanded .rightPanel:before{
  opacity:.16!important;
  background-image:radial-gradient(circle at 15% 22%, rgba(255,255,255,.34) 0 11px, transparent 12px), radial-gradient(circle at 78% 14%, rgba(211,160,60,.18) 0 9px, transparent 10px), radial-gradient(circle at 60% 76%, rgba(255,255,255,.25) 0 10px, transparent 11px)!important;
}
body[data-panel-theme="diario"] .appShell.expanded .sideHeader,
body[data-panel-theme="plan"] .appShell.expanded .sideHeader,
body[data-panel-theme="rutaminima"] .appShell.expanded .sideHeader,
body[data-panel-theme="plazos"] .appShell.expanded .sideHeader,
body[data-panel-theme="diario"] .moduleScene,
body[data-panel-theme="plan"] .moduleScene,
body[data-panel-theme="rutaminima"] .moduleScene,
body[data-panel-theme="plazos"] .moduleScene,
body[data-panel-theme="diario"] .glamourTagBand,
body[data-panel-theme="plan"] .glamourTagBand,
body[data-panel-theme="rutaminima"] .glamourTagBand,
body[data-panel-theme="plazos"] .glamourTagBand,
body[data-panel-theme="diario"] .moduleHero,
body[data-panel-theme="plan"] .moduleHero,
body[data-panel-theme="rutaminima"] .moduleHero,
body[data-panel-theme="plazos"] .moduleHero,
body[data-panel-theme="diario"] .pedeLiveActionBand,
body[data-panel-theme="plan"] .pedeLiveActionBand,
body[data-panel-theme="rutaminima"] .pedeLiveActionBand,
body[data-panel-theme="plazos"] .pedeLiveActionBand{
  background:linear-gradient(135deg, rgba(226,184,86,.88), rgba(236,198,112,.82))!important;
  border-color:rgba(211,160,60,.56)!important;
}

/* ---- MEMORIA · BRILLI-BRILLI +25% · #FF57A8 ---- */
body[data-panel-theme="vigilancia"],
body[data-panel-theme="pedeinteligente"],
body[data-panel-theme="repaso"],
body[data-panel-theme="fallos"],
body[data-panel-theme="favoritos"]{
  --module-accent:#FF57A8;
  --module-accent-2:#ef3f96;
  --module-soft:rgba(255,87,168,.22);
}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .rightPanel,
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel,
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel,
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, #ef3f96 0 12px, transparent 12px), linear-gradient(180deg, rgba(255,87,168,.88) 0%, rgba(255,87,168,.74) 100%)!important;
  border-color:rgba(239,63,150,.54)!important;
}
body[data-panel-theme="vigilancia"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="repaso"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="fallos"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="favoritos"] .appShell.expanded .rightPanel:before{
  opacity:.18!important;
  background-image:radial-gradient(circle at 15% 22%, rgba(255,255,255,.38) 0 11px, transparent 12px), radial-gradient(circle at 78% 14%, rgba(239,63,150,.20) 0 9px, transparent 10px), radial-gradient(circle at 60% 76%, rgba(255,255,255,.28) 0 10px, transparent 11px)!important;
}
body[data-panel-theme="vigilancia"] .appShell.expanded .sideHeader,
body[data-panel-theme="pedeinteligente"] .appShell.expanded .sideHeader,
body[data-panel-theme="repaso"] .appShell.expanded .sideHeader,
body[data-panel-theme="fallos"] .appShell.expanded .sideHeader,
body[data-panel-theme="favoritos"] .appShell.expanded .sideHeader,
body[data-panel-theme="vigilancia"] .moduleScene,
body[data-panel-theme="pedeinteligente"] .moduleScene,
body[data-panel-theme="repaso"] .moduleScene,
body[data-panel-theme="fallos"] .moduleScene,
body[data-panel-theme="favoritos"] .moduleScene,
body[data-panel-theme="vigilancia"] .glamourTagBand,
body[data-panel-theme="pedeinteligente"] .glamourTagBand,
body[data-panel-theme="repaso"] .glamourTagBand,
body[data-panel-theme="fallos"] .glamourTagBand,
body[data-panel-theme="favoritos"] .glamourTagBand,
body[data-panel-theme="vigilancia"] .moduleHero,
body[data-panel-theme="pedeinteligente"] .moduleHero,
body[data-panel-theme="repaso"] .moduleHero,
body[data-panel-theme="fallos"] .moduleHero,
body[data-panel-theme="favoritos"] .moduleHero,
body[data-panel-theme="vigilancia"] .pedeLiveActionBand,
body[data-panel-theme="pedeinteligente"] .pedeLiveActionBand,
body[data-panel-theme="repaso"] .pedeLiveActionBand,
body[data-panel-theme="fallos"] .pedeLiveActionBand,
body[data-panel-theme="favoritos"] .pedeLiveActionBand{
  background:linear-gradient(135deg, rgba(255,87,168,.88), rgba(255,120,185,.82))!important;
  border-color:rgba(239,63,150,.54)!important;
}

/* ---- MI ESPACIO · LÍO +25% · #9C61FF ---- */
body[data-panel-theme="cajafuerte"],
body[data-panel-theme="notas"],
body[data-panel-theme="historia"]{
  --module-accent:#9C61FF;
  --module-accent-2:#8749ee;
  --module-soft:rgba(156,97,255,.22);
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .rightPanel,
body[data-panel-theme="notas"] .appShell.expanded .rightPanel,
body[data-panel-theme="historia"] .appShell.expanded .rightPanel{
  background:linear-gradient(90deg, #8749ee 0 12px, transparent 12px), linear-gradient(180deg, rgba(156,97,255,.88) 0%, rgba(156,97,255,.74) 100%)!important;
  border-color:rgba(135,73,238,.54)!important;
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="notas"] .appShell.expanded .rightPanel:before,
body[data-panel-theme="historia"] .appShell.expanded .rightPanel:before{
  opacity:.18!important;
  background-image:radial-gradient(circle at 15% 22%, rgba(255,255,255,.38) 0 11px, transparent 12px), radial-gradient(circle at 78% 14%, rgba(135,73,238,.20) 0 9px, transparent 10px), radial-gradient(circle at 60% 76%, rgba(255,255,255,.28) 0 10px, transparent 11px)!important;
}
body[data-panel-theme="cajafuerte"] .appShell.expanded .sideHeader,
body[data-panel-theme="notas"] .appShell.expanded .sideHeader,
body[data-panel-theme="historia"] .appShell.expanded .sideHeader,
body[data-panel-theme="cajafuerte"] .moduleScene,
body[data-panel-theme="notas"] .moduleScene,
body[data-panel-theme="historia"] .moduleScene,
body[data-panel-theme="cajafuerte"] .glamourTagBand,
body[data-panel-theme="notas"] .glamourTagBand,
body[data-panel-theme="historia"] .glamourTagBand,
body[data-panel-theme="cajafuerte"] .moduleHero,
body[data-panel-theme="notas"] .moduleHero,
body[data-panel-theme="historia"] .moduleHero,
body[data-panel-theme="cajafuerte"] .pedeLiveActionBand,
body[data-panel-theme="notas"] .pedeLiveActionBand,
body[data-panel-theme="historia"] .pedeLiveActionBand{
  background:linear-gradient(135deg, rgba(156,97,255,.88), rgba(177,128,255,.82))!important;
  border-color:rgba(135,73,238,.54)!important;
}


/* === V53.5.9 · COHERENCIA CROMÁTICA REAL + BORDES OSCUROS Y GRUESOS === */
/* Regla de esta versión:
   - Un superbotón = una sola familia cromática.
   - Nada de rosas/amarillos heredados en módulos de otra familia.
   - Los recuadros internos se construyen con degradados del propio color.
   - Bordes más gruesos y más oscuros para lectura inmediata.
   - Solo visual. La lógica y lo que funciona NO se toca. */

/* Familias cromáticas base */
body[data-panel-theme="ficha"],
body[data-panel-theme="noconfundas"],
body[data-panel-theme="concordancias"],
body[data-panel-theme="estudio"],
body[data-panel-theme="esquemas"],
body[data-panel-theme="subrayado"],
body[data-panel-theme="cantarticulos"]{
  --family-main:#52E1DC;
}
body[data-panel-theme="supuestos"],
body[data-panel-theme="examina"],
body[data-panel-theme="tribunal"],
body[data-panel-theme="gatillodromo"],
body[data-panel-theme="comparodromo"],
body[data-panel-theme="practico"]{
  --family-main:#DC58D5;
}
body[data-panel-theme="diario"],
body[data-panel-theme="plan"],
body[data-panel-theme="rutaminima"],
body[data-panel-theme="plazos"]{
  --family-main:#E2B856;
}
body[data-panel-theme="vigilancia"],
body[data-panel-theme="pedeinteligente"],
body[data-panel-theme="repaso"],
body[data-panel-theme="fallos"],
body[data-panel-theme="favoritos"]{
  --family-main:#FF57A8;
}
body[data-panel-theme="cajafuerte"],
body[data-panel-theme="notas"],
body[data-panel-theme="historia"]{
  --family-main:#9C61FF;
}

/* Variables derivadas: siempre misma familia, solo más claro/más oscuro */
body[data-panel-theme]{
  --family-strong:color-mix(in srgb,var(--family-main) 92%, black);
  --family-stroke:color-mix(in srgb,var(--family-main) 74%, black);
  --family-stroke-soft:color-mix(in srgb,var(--family-main) 58%, black);
  --family-panel-hero-a:color-mix(in srgb,var(--family-main) 68%, white);
  --family-panel-hero-b:color-mix(in srgb,var(--family-main) 48%, white);
  --family-panel-a:color-mix(in srgb,var(--family-main) 36%, white);
  --family-panel-b:color-mix(in srgb,var(--family-main) 22%, white);
  --family-panel-c:color-mix(in srgb,var(--family-main) 14%, white);
  --family-wash:color-mix(in srgb,var(--family-main) 18%, white);
  --family-wash-2:color-mix(in srgb,var(--family-main) 28%, white);
}

/* Panel completo */
body[data-panel-theme] .appShell.expanded .rightPanel{
  outline:2px solid color-mix(in srgb,var(--family-stroke) 64%, white)!important;
  border-color:var(--family-stroke)!important;
  background:
    linear-gradient(90deg, color-mix(in srgb,var(--family-main) 82%, black) 0 12px, transparent 12px),
    linear-gradient(180deg, color-mix(in srgb,var(--family-main) 90%, white) 0%, color-mix(in srgb,var(--family-main) 78%, white) 100%)!important;
  box-shadow:0 16px 34px rgba(31,16,72,.10)!important;
}
body[data-panel-theme] .appShell.expanded .rightPanel:before{
  opacity:.12!important;
  background-image:
    radial-gradient(circle at 15% 22%, rgba(255,255,255,.34) 0 10px, transparent 11px),
    radial-gradient(circle at 78% 14%, color-mix(in srgb,var(--family-main) 24%, black) 0 8px, transparent 9px),
    radial-gradient(circle at 60% 76%, rgba(255,255,255,.20) 0 9px, transparent 10px)!important;
  background-size:auto!important;
}
body[data-panel-theme] .appShell.expanded .sideHeader{
  background:linear-gradient(135deg, var(--family-panel-a) 0%, var(--family-panel-b) 100%)!important;
  border-bottom:3px solid var(--family-stroke-soft)!important;
}
body[data-panel-theme] .appShell.expanded .sideContent{
  background:linear-gradient(180deg, var(--family-wash) 0%, var(--family-panel-c) 100%)!important;
}

/* Recuadros principales del panel derecho */
body[data-panel-theme] .appShell.expanded .sideContent > .contentCard,
body[data-panel-theme] .appShell.expanded .sideContent > .lolaCard,
body[data-panel-theme] .appShell.expanded .sideContent > .modulePanel,
body[data-panel-theme] .appShell.expanded .sideContent > .moduleHero,
body[data-panel-theme] .appShell.expanded .sideContent > .pedeLiveRibbon,
body[data-panel-theme] .appShell.expanded .sideContent > section,
body[data-panel-theme] .appShell.expanded .sideContent > div[class*="Box"],
body[data-panel-theme] .appShell.expanded .sideContent > div[class*="Panel"],
body[data-panel-theme] .appShell.expanded .sideContent > div[class*="Card"],
body[data-panel-theme] .appShell.expanded .sideContent > div[class*="Hero"]{
  background:linear-gradient(180deg,var(--family-panel-a),var(--family-panel-b))!important;
  border-width:4px!important;
  border-style:solid!important;
  border-color:var(--family-stroke)!important;
  box-shadow:0 14px 30px rgba(31,16,72,.08), inset 0 0 0 1px rgba(255,255,255,.38)!important;
}

/* Bloques secundarios internos */
body[data-panel-theme] .appShell.expanded .moduleBadges,
body[data-panel-theme] .appShell.expanded .badgeRow,
body[data-panel-theme] .appShell.expanded .planQuickTags,
body[data-panel-theme] .appShell.expanded .diarioMetrics,
body[data-panel-theme] .appShell.expanded .planSourceBox,
body[data-panel-theme] .appShell.expanded .routeConnectBox,
body[data-panel-theme] .appShell.expanded .planWarning,
body[data-panel-theme] .appShell.expanded .planObedience,
body[data-panel-theme] .appShell.expanded .pedeBrainActions,
body[data-panel-theme] .appShell.expanded .tribunalBlock,
body[data-panel-theme] .appShell.expanded .noConfCard,
body[data-panel-theme] .appShell.expanded .fichaExamTrap,
body[data-panel-theme] .appShell.expanded .fichaNoConf,
body[data-panel-theme] .appShell.expanded .fichaTribunal,
body[data-panel-theme] .appShell.expanded .subrayadoLegend,
body[data-panel-theme] .appShell.expanded .subrayadoEmpty,
body[data-panel-theme] .appShell.expanded .subrayadoBox,
body[data-panel-theme] .appShell.expanded .diarioTask,
body[data-panel-theme] .appShell.expanded .planDayCard,
body[data-panel-theme] .appShell.expanded .fichaMiniCard,
body[data-panel-theme] .appShell.expanded .fichaSheet,
body[data-panel-theme] .appShell.expanded .fichaSheetHead,
body[data-panel-theme] .appShell.expanded .fichaTop,
body[data-panel-theme] .appShell.expanded .fichaArticleHero{
  background:linear-gradient(180deg,var(--family-panel-b),var(--family-panel-c))!important;
  border-width:3px!important;
  border-style:solid!important;
  border-color:var(--family-stroke-soft)!important;
  box-shadow:0 10px 22px rgba(31,16,72,.07), inset 0 0 0 1px rgba(255,255,255,.32)!important;
}

/* Cabeceras, cintas y franjas: más intensas dentro de la misma familia */
body[data-panel-theme] .appShell.expanded .moduleHero,
body[data-panel-theme] .appShell.expanded .pedeLiveRibbon,
body[data-panel-theme] .appShell.expanded .planHero,
body[data-panel-theme] .appShell.expanded .diarioHero,
body[data-panel-theme] .appShell.expanded .fichaRibbon,
body[data-panel-theme] .appShell.expanded .noConfTop,
body[data-panel-theme] .appShell.expanded .tribunalHero,
body[data-panel-theme] .appShell.expanded .pedeBrainHero,
body[data-panel-theme] .appShell.expanded .glamourTagBand,
body[data-panel-theme] .appShell.expanded .pedeLiveActionBand{
  background:linear-gradient(135deg,var(--family-panel-hero-a),var(--family-panel-hero-b))!important;
  border-width:4px!important;
  border-style:solid!important;
  border-color:var(--family-stroke)!important;
  box-shadow:0 14px 28px rgba(31,16,72,.08), inset 0 0 0 1px rgba(255,255,255,.34)!important;
}

/* Inputs, botones, badges: borde más visible y coherente */
body[data-panel-theme] .appShell.expanded input,
body[data-panel-theme] .appShell.expanded textarea,
body[data-panel-theme] .appShell.expanded select,
body[data-panel-theme] .appShell.expanded .moduleTextarea,
body[data-panel-theme] .appShell.expanded .miniBtn,
body[data-panel-theme] .appShell.expanded .pedePrimaryBtn,
body[data-panel-theme] .appShell.expanded .badge,
body[data-panel-theme] .appShell.expanded .pill,
body[data-panel-theme] .appShell.expanded .planModeTabs button,
body[data-panel-theme] .appShell.expanded .moduleBadges .badge,
body[data-panel-theme] .appShell.expanded .badgeRow .badge{
  border-width:2.5px!important;
  border-style:solid!important;
  border-color:var(--family-stroke-soft)!important;
}
body[data-panel-theme] .appShell.expanded input:focus,
body[data-panel-theme] .appShell.expanded textarea:focus,
body[data-panel-theme] .appShell.expanded select:focus,
body[data-panel-theme] .appShell.expanded .moduleTextarea:focus{
  border-color:var(--family-stroke)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--family-main) 24%, white), 0 10px 24px rgba(31,16,72,.08)!important;
}

/* Nada de degradados ajenos en elementos específicos heredados */
body[data-panel-theme] .appShell.expanded .fichaSheetHead,
body[data-panel-theme] .appShell.expanded .fichaTop,
body[data-panel-theme] .appShell.expanded .fichaMiniCard,
body[data-panel-theme] .appShell.expanded .fichaTribunal,
body[data-panel-theme] .appShell.expanded .fichaExamTrap,
body[data-panel-theme] .appShell.expanded .fichaNoConf,
body[data-panel-theme] .appShell.expanded .noConfCard,
body[data-panel-theme] .appShell.expanded .tribunalBlock,
body[data-panel-theme] .appShell.expanded .subrayadoLegend,
body[data-panel-theme] .appShell.expanded .subrayadoEmpty,
body[data-panel-theme] .appShell.expanded .subrayadoBox,
body[data-panel-theme] .appShell.expanded .planStrict,
body[data-panel-theme] .appShell.expanded .planTaxBox,
body[data-panel-theme] .appShell.expanded .planExamBox,
body[data-panel-theme] .appShell.expanded .planOutput,
body[data-panel-theme] .appShell.expanded .diarioTask,
body[data-panel-theme] .appShell.expanded .diarioMetric,
body[data-panel-theme] .appShell.expanded .pedeBrainVerdict{
  background:linear-gradient(180deg,var(--family-panel-b),var(--family-panel-c))!important;
  border-color:var(--family-stroke-soft)!important;
}


/* === V53.5.10 · Primera pantalla con el mismo fondo que la barra lateral izquierda === */
:root{
  --sidebar-main-bg:linear-gradient(180deg,rgba(255,253,248,.94),rgba(255,246,232,.88));
}

/* La barra lateral izquierda ya usaba este fondo; ahora la primera pantalla lo hereda también. */
.leftPanel{
  background:var(--sidebar-main-bg)!important;
}
.leftPanel .articleHeader,
.leftPanel .articleTools,
.leftPanel .legalText{
  background:var(--sidebar-main-bg)!important;
}
.leftPanel .articleHeader{
  border-bottom:2px solid #e8dccd!important;
}
.leftPanel .articleTools{
  border-bottom:2px solid #ece1d4!important;
}
.leftPanel .statusBox{
  background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(255,246,232,.94))!important;
  border:2px solid #e5d7c6!important;
}
.leftPanel.relatedMainView,
.leftPanel.relatedMainView .articleHeader,
.leftPanel.relatedMainView .legalText{
  background:var(--sidebar-main-bg)!important;
}


/* === V53.5.11 · FONDO REAL DE LA PRIMERA PANTALLA = FONDO REAL DE LA COLUMNA IZQUIERDA === */
/* Solo visual. No toca lógica ni módulos. El fondo del panel central izquierdo
   pasa a usar exactamente la misma base que la sideRail oscura. */
:root{
  --sidebar-real-bg:
    radial-gradient(ellipse at 24px 24px, var(--glam-leopard-fill) 0 9px, transparent 10px),
    radial-gradient(ellipse at 57px 38px, rgba(111,62,24,.14) 0 7px, transparent 8px),
    radial-gradient(ellipse at 82px 19px, rgba(77,39,13,.12) 0 5px, transparent 6px),
    linear-gradient(180deg,#20152b,#160f21 54%,#251327);
}
/* Fondo del panel izquierdo principal */
.leftPanel{
  background:var(--sidebar-real-bg)!important;
  background-size:112px 112px,112px 112px,112px 112px,auto!important;
}
/* Mantener el contenido funcional intacto; solo el lienzo/base se iguala al lateral. */
.leftPanel.relatedMainView{
  background:var(--sidebar-real-bg)!important;
  background-size:112px 112px,112px 112px,112px 112px,auto!important;
}


/* === V53.5.12 · Fondo REAL de la primera pantalla aplicado de verdad === */
/* Corrección de la 53.5.11: no basta con tocar leftPanel. El fondo real debe entrar
   también en los grandes bloques visibles de la primera pantalla. Solo visual. */
.leftPanel,
.leftPanel.relatedMainView,
.leftPanel .articleHeader,
.leftPanel .articleTools,
.leftPanel .legalText{
  background:var(--sidebar-real-bg)!important;
  background-size:112px 112px,112px 112px,112px 112px,auto!important;
}
.leftPanel .articleHeader,
.leftPanel .articleTools,
.leftPanel .legalText{
  color:#f8f2eb!important;
}
.leftPanel .articleHeader{
  border-bottom:2px solid rgba(239,215,231,.22)!important;
}
.leftPanel .articleHeader .eyebrow{color:#f39cc7!important}
.leftPanel .articleHeader h2{color:#fff7f1!important}
.leftPanel .articleHeader p{color:#ff5ea8!important}
.leftPanel .articleTools{
  border-bottom:2px solid rgba(239,215,231,.18)!important;
}
.leftPanel .articleTools button,
.leftPanel .ghostBtn,
.leftPanel .miniBtn{
  background:rgba(255,248,240,.92)!important;
  border:2px solid rgba(196,169,191,.62)!important;
  color:#2a2233!important;
}
.leftPanel .statusBox{
  background:rgba(255,246,234,.94)!important;
  border:2px solid rgba(205,176,143,.72)!important;
  color:#1f1727!important;
}
.leftPanel .statusBox label,
.leftPanel .statusBox select{color:#3a2332!important}
.leftPanel .legalText{
  color:#f7efe8!important;
}
.leftPanel .legalText::first-letter{color:#ff5ea8!important}
.leftPanel .legalText .subtle,
.leftPanel .legalText small{color:#f2d8e7!important}


/* === V53.5.13 · SOLO se colorea lo pedido ===
   1) Franja superior (topbar) con el mismo fondo que la columna izquierda.
   2) Fondo exterior / detrás de los dos grandes recuadros (viewport).
   3) El gran recuadro central vuelve a su color anterior, sin lunares.
   No se toca la lógica. */
.topbar,
.viewport{
  background:
    radial-gradient(ellipse at 24px 24px, var(--glam-leopard-fill) 0 9px, transparent 10px),
    radial-gradient(ellipse at 57px 38px, rgba(111,62,24,.14) 0 7px, transparent 8px),
    radial-gradient(ellipse at 82px 19px, rgba(77,39,13,.12) 0 5px, transparent 6px),
    linear-gradient(180deg,#20152b,#160f21 54%,#251327)!important;
  background-size:112px 112px,112px 112px,112px 112px,auto!important;
}
.topbar{
  border-bottom:1px solid rgba(255,229,210,.18)!important;
}
/* Texto oscuro de la franja superior -> blanco, salvo los recuadros blancos */
.topbar .brand,
.topbar .brand *{
  color:#fff8f2!important;
}
.topbar .brand p,
.topbar .brand span,
.topbar .brand small{
  color:#ffd6a4!important;
}
/* Los recuadros que ya eran blancos se mantienen blancos */
.topbar .searchRow,
.topbar .topModeHint{
  background:#fff!important;
}
.topbar .searchRow input,
.topbar .searchRow button,
.topbar .searchRow .magnifier,
.topbar .topModeHint,
.topbar .topModeHint span,
.topbar .topModeHint strong{
  color:#1d1d27!important;
}
.topbar .topModeHint{border-color:rgba(234,191,214,.42)!important}
/* El fondo visible detrás de los grandes paneles sí va oscuro */
.appShell{background:transparent!important}
/* Pero los grandes recuadros se quedan como antes: claros y sin lunares */
.leftPanel{
  background:linear-gradient(180deg,#fff,#fffdf8)!important;
}
.leftPanel.relatedMainView{
  background:linear-gradient(180deg,#fff,#fffdf8)!important;
}
.leftPanel .articleHeader{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,246,252,.66))!important;
  color:#1b1730!important;
}
.leftPanel .articleHeader h2{color:#1b1730!important}
.leftPanel .articleHeader p{color:var(--fuchsia)!important}
.leftPanel .articleHeader .eyebrow{color:#9d3b6d!important}
.leftPanel .articleTools{
  background:transparent!important;
  color:#202638!important;
}
.leftPanel .legalText{
  background:linear-gradient(180deg,#fff,#fffdf8)!important;
  color:var(--glam-ink)!important;
  background-image:none!important;
}
.leftPanel .legalText::before,
.leftPanel .legalText::after{
  background:none!important;
}
.leftPanel .statusBox{
  background:linear-gradient(135deg,#fff,#fff6df)!important;
  border-color:rgba(214,154,37,.22)!important;
  color:#1f1727!important;
}

/* ============================================================
   REFORMA 02 · RUTA MÍNIMA COMO CUADRO DE CONTROL
   El aspecto general de la app se conserva. Solo se limpia el módulo.
   ============================================================ */
.rutaPedeHero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border:1px solid rgba(229,22,115,.18);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,245,251,.94));}
.rutaPedeHero>div>span,.rutaPedeMapHead span,.rutaPedeTaxHead span,.rutaPedeOutside>div>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:950;color:#b10f60;}
.rutaPedeHero h4,.rutaPedeMapHead h4,.rutaPedeTaxHead h4,.rutaPedeOutside h4{margin:.2rem 0 .35rem;font-family:Georgia,'Times New Roman',serif;color:#25164f;}
.rutaPedeHero h4{font-size:1.65rem}.rutaPedeHero p,.rutaPedeTaxHead p,.rutaPedeOutside p{margin:0;line-height:1.43;color:#5d5663;font-weight:750;max-width:850px}
.rutaPedeKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.rutaPedeKpis section{border:1px solid rgba(35,28,56,.10);border-radius:20px;background:#fff;padding:15px 16px;box-shadow:0 10px 28px rgba(27,33,55,.07);display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:end}
.rutaPedeKpis b{font-family:Georgia,'Times New Roman',serif;font-size:2rem;line-height:1;color:#25164f}.rutaPedeKpis span{font-weight:950;letter-spacing:.08em;font-size:.78rem;color:#262137}.rutaPedeKpis em{grid-column:2;font-style:normal;font-size:.74rem;color:#746a77;font-weight:750}.rutaPedeKpis .rutaPedeBar{grid-column:1/-1;margin-top:8px}
.rutaPedeBar{height:8px;border-radius:999px;background:#eee9ef;overflow:hidden}.rutaPedeBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e51673,#ff73b6)}.rutaPedeBar.solid i{background:linear-gradient(90deg,#7b4ad9,#b38cff)}.rutaPedeBar.plan i{background:linear-gradient(90deg,#e6a019,#ffd56a)}
.rutaPedeMessage{display:flex;gap:14px;align-items:center;border:1px dashed rgba(229,22,115,.30);background:#fff8fc}.rutaPedeMessage b{white-space:nowrap;color:#b10f60}.rutaPedeMessage span{font-weight:800;line-height:1.4;color:#504758}
.rutaPedeOutside{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(380px,1.2fr) auto;gap:14px;align-items:center;border:1px solid rgba(230,160,25,.28);background:linear-gradient(135deg,#fffdf7,#fff8e8)}
.rutaPedeOutside>div:nth-child(2){display:flex;flex-wrap:wrap;gap:7px}.rutaPedeOutside>div:nth-child(2) button{border:1px solid #eadbb6;border-radius:999px;background:#fff;padding:7px 10px;display:flex;gap:8px;align-items:center;color:#3f3218}.rutaPedeOutside>div:nth-child(2) button b{font-size:.76rem}.rutaPedeOutside>div:nth-child(2) button span{font-size:.7rem;color:#8b6722;font-weight:900}
.rutaPedeMap{display:grid;gap:12px}.rutaPedeMapHead{display:flex;justify-content:space-between;gap:15px;align-items:flex-end}.rutaPedeMapHead small{max-width:360px;text-align:right;color:#746a77;font-weight:750}.rutaPedeMapGrid{display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(330px,.85fr);gap:14px;align-items:start}.rutaPedeRows{display:grid;gap:7px;max-height:660px;overflow:auto;padding-right:4px}
.rutaPedeRow{width:100%;border:1px solid #e7e0e8;background:#fff;border-radius:16px;padding:10px;display:grid;grid-template-columns:38px minmax(170px,.9fr) minmax(220px,1.2fr) 78px 18px;gap:10px;align-items:center;text-align:left;box-shadow:0 6px 18px rgba(27,33,55,.045)}.rutaPedeRow:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(27,33,55,.09);border-color:rgba(229,22,115,.28)}.rutaPedeRow.out{background:linear-gradient(90deg,#fff,#fffaf2)}.rutaPedeIcon{font-size:1.4rem;text-align:center}.rutaPedeName{display:flex;flex-direction:column;gap:2px}.rutaPedeName b{font-size:.87rem;color:#272139}.rutaPedeName em{font-style:normal;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#8a8190;font-weight:850}.rutaPedeProgress{display:grid;gap:5px}.rutaPedeProgress small{font-size:.68rem;color:#6b6370;font-weight:800}.rutaPedePlan{justify-self:end;border-radius:999px;padding:6px 8px;font-size:.69rem;font-weight:950;white-space:nowrap}.rutaPedePlan.ok{background:#e9f8ef;color:#17733e}.rutaPedePlan.mid{background:#fff5d9;color:#8b6211}.rutaPedePlan.bad{background:#fdebf2;color:#a61156}.rutaPedeChevron{font-size:1.45rem;color:#b0a7b3}
.rutaPedeDetail{border:1px solid #eadfe8;border-radius:22px;background:linear-gradient(150deg,#fff,#fff9fc);padding:16px;box-shadow:0 12px 30px rgba(27,33,55,.06);display:grid;gap:13px;position:sticky;top:8px}.rutaPedeDetailHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.rutaPedeDetailHead span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8a8190;font-weight:900}.rutaPedeDetailHead h4{margin:.25rem 0 0;color:#25164f;font-size:1.18rem}.rutaPedeDetailHead strong{font-family:Georgia,'Times New Roman',serif;font-size:1.8rem;color:#b10f60}.rutaPedeDetail>p{margin:0;color:#5f5666;font-weight:750;line-height:1.42}.rutaPedeDetailKpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.rutaPedeDetailKpis span{border:1px solid #ece5eb;background:#fff;border-radius:14px;padding:9px;text-align:center;font-size:.62rem;font-weight:950;color:#776c79}.rutaPedeDetailKpis b{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;color:#25164f}.rutaPedeRefs,.rutaPedeMatched{display:grid;gap:7px}.rutaPedeRefs>b,.rutaPedeMatched>b{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:#8a1358}.rutaPedeRefs>div{display:flex;flex-wrap:wrap;gap:5px}.rutaPedeRefs span{border:1px solid #eadfc1;background:#fff8e6;border-radius:999px;padding:5px 8px;font-size:.7rem;font-weight:900;color:#4a3715}.rutaPedeMatched ul{margin:0;padding-left:17px;display:grid;gap:7px}.rutaPedeMatched li{color:#4e4652}.rutaPedeMatched li b{display:block;font-size:.78rem}.rutaPedeMatched li span{font-size:.68rem;color:#766d78}.rutaPedeWarning{border:1px solid #f0d19b;background:#fff9e9;border-radius:16px;padding:10px;display:grid;gap:5px}.rutaPedeWarning b{color:#8c5b05}.rutaPedeWarning span{font-size:.76rem;color:#6f5c38;font-weight:750}.rutaPedeWarning button{justify-self:start;margin-top:4px}
.rutaPedeTaxes{display:grid;gap:12px}.rutaPedeTaxCards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.rutaPedeTaxCard{border:1px solid #e6dce9;border-radius:20px;background:#fff;padding:14px;display:grid;grid-template-columns:auto 1fr auto;gap:8px 10px;align-items:center;text-align:left;box-shadow:0 8px 22px rgba(27,33,55,.055)}.rutaPedeTaxCard>span{font-size:1.45rem}.rutaPedeTaxCard>b{font-size:1rem;color:#25164f}.rutaPedeTaxCard>strong{font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;color:#b10f60}.rutaPedeTaxCard>em{grid-column:2/-1;font-style:normal;font-size:.7rem;color:#756a79;font-weight:800}.rutaPedeTaxCard:hover{border-color:rgba(229,22,115,.34);transform:translateY(-1px)}.rutaPedeTaxCard.iva{background:linear-gradient(135deg,#fff,#f4fbff)}.rutaPedeTaxCard.irpf{background:linear-gradient(135deg,#fff,#f7fff8)}.rutaPedeTaxCard.is{background:linear-gradient(135deg,#fff,#f8f5ff)}
.rutaPedeTaxDetail{border:1px solid #eadfe8;border-radius:20px;background:#fff;padding:14px;display:grid;gap:10px}.rutaPedeTaxDetail>div:first-child{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.rutaPedeTaxDetail>div:first-child span{font-size:1.5rem}.rutaPedeTaxDetail h4{margin:0;color:#25164f}.rutaPedeTaxDetail strong{color:#b10f60}.rutaPedeTaxDetail p{margin:0;color:#5f5668;font-weight:750}.rutaPedeTaxSubs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rutaPedeTaxSub{border:1px solid #ece5eb;border-radius:14px;padding:9px;background:#fff;display:grid;gap:4px}.rutaPedeTaxSub b{font-size:.76rem;color:#2a2138}.rutaPedeTaxSub span{font-size:.66rem;color:#756a79;font-weight:750}.rutaPedeTaxSub em{font-style:normal;font-size:.62rem;color:#9c5c08;font-weight:900;text-transform:uppercase}.rutaPedeTaxDetail>small{color:#776d7a;font-weight:800}
.rutaPedeFoot{border:1px solid rgba(19,85,216,.13);background:linear-gradient(135deg,#fff,#f6f9ff);font-weight:800;color:#4d5360}.rutaPedeFoot b{color:#1355d8}
@media(max-width:1180px){.rutaPedeMapGrid{grid-template-columns:1fr}.rutaPedeDetail{position:static}.rutaPedeRows{max-height:none}.rutaPedeOutside{grid-template-columns:1fr}.rutaPedeTaxSubs{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.rutaPedeKpis,.rutaPedeTaxCards,.rutaPedeTaxSubs{grid-template-columns:1fr}.rutaPedeRow{grid-template-columns:34px 1fr 64px 16px}.rutaPedeProgress{grid-column:2/4}.rutaPedePlan{grid-column:3;grid-row:1}.rutaPedeMessage{align-items:flex-start;flex-direction:column}}
.rutaPedeAuditNote{margin:-3px 0 12px;padding:8px 12px;border-left:4px solid #e6a019;background:rgba(255,250,235,.8);border-radius:8px;font-size:.72rem;line-height:1.35;color:#6d5b38;font-weight:750}.rutaPedeAuditNote b{color:#8b6211}

/* R04 — La Pede te examina: materia aleatoria + IA/Offline claramente separados */
.examTopicPanel{border:1px solid rgba(236,22,118,.24);background:linear-gradient(135deg,#fff7fb,#fff,#fffaf0)}
.examTopicGrid{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,1fr) auto;gap:14px;align-items:end}
.examTopicGrid label{display:flex;flex-direction:column;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#7d6277}
.examTopicGrid select{width:100%;border:1px solid rgba(28,33,56,.16);border-radius:16px;padding:13px 14px;background:#fff;font:inherit;font-weight:900;color:#171b2f}
.examTopicCount{min-height:48px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-radius:16px;padding:11px 13px;background:#1c1030;color:#fff;font-weight:750;line-height:1.35}
.examTopicCount strong{font-size:24px;color:#ffd166}.examTopicCount b{color:#ff9ed0}
.examTopicProgress{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.examTopicProgress span{background:#fff;border:1px solid rgba(28,33,56,.12);border-radius:999px;padding:7px 10px;color:#50566f;font-weight:850;font-size:12px}
.examModeWarnings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.examModeWarnings>div{border-radius:17px;padding:12px 13px;background:#fff;border:1px solid rgba(28,33,56,.11);box-shadow:0 8px 20px rgba(31,35,65,.05)}
.examModeWarnings b,.examModeWarnings span{display:block}.examModeWarnings b{color:#1c2138;margin-bottom:5px}.examModeWarnings span{color:#5c6177;line-height:1.45;font-size:13px}.examModeWarnings strong{color:#a30d52}
.examAiSetup{margin-top:12px;border:1px solid rgba(126,73,242,.2);border-radius:16px;background:#fbf9ff;overflow:hidden}
.examAiSetup summary{cursor:pointer;padding:11px 13px;font-weight:900;color:#322350;display:flex;gap:10px;justify-content:space-between}.examAiSetup summary span{font-weight:800;color:#8a759b}.examAiSetup summary span.isReady{color:#177b49}
.examAiSetupBody{padding:0 13px 13px}.examAiSetupBody p{margin:0 0 10px;color:#6c6573;font-size:13px;line-height:1.45}.examAiKeyRow{display:flex;gap:8px}.examAiKeyRow input{flex:1;min-width:220px;border:1px solid rgba(28,33,56,.16);border-radius:13px;padding:10px 12px;font:inherit}.examAiSetupMsg{display:block;margin-top:8px;font-size:12px;font-weight:800;color:#6a536a}
.examRandomEmpty{display:flex;flex-direction:column;gap:6px;border:1px dashed rgba(236,22,118,.35);background:#fff}.examRandomEmpty strong{font-size:18px;color:#1c2138}.examRandomEmpty span{color:#63697c;line-height:1.5}
.examRandomStage{border:2px solid rgba(236,22,118,.28);box-shadow:0 20px 44px rgba(44,24,58,.1);background:linear-gradient(180deg,#fff,#fff9fc)}
.examRandomTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.examRandomTop h4{margin:3px 0 2px;font-size:26px;color:#191d31}.examRandomTop p{margin:0;color:#70758a;font-weight:800}.examRandomEyebrow{font-size:11px;letter-spacing:.15em;font-weight:950;color:#b70f5b}
.examLastScore{min-width:112px;text-align:center;border-radius:16px;padding:10px 12px;font-weight:950;border:1px solid rgba(28,33,56,.12);background:#fff;color:#555}.examLastScore.score-red{background:#fff0f0;color:#a22525}.examLastScore.score-orange{background:#fff7e8;color:#9b5e00}.examLastScore.score-green{background:#effbf2;color:#237347}.examLastScore.score-diamond{background:#f4f4ff;color:#4d3b9c}.examLastScore.score-unseen{background:#f7f7fa;color:#73788a}
.examThemeFocus{margin:8px 0 14px;padding:11px 13px;border-radius:15px;background:#fff8e6;border:1px solid #efd18a;color:#5e4d22;line-height:1.45}.examThemeFocus b{color:#6d4d00}
.examRandomGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:start}.examRandomPaper,.examRandomAnswer{border-radius:19px;padding:15px;background:#fff;border:1px solid rgba(28,33,56,.1)}.examRandomPaper h5,.examRandomAnswer h5{margin:0 0 8px;font-size:12px;letter-spacing:.14em;color:#8b6f82}.examRandomPaper .examStatementText{max-height:320px;margin-top:0}.examRandomPaper .examQuestionText{margin-top:12px}.examUserAnswerBig{min-height:310px}
.examUploadRow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.examUploadRow.compact{margin-top:8px}.examUploadBtn{cursor:pointer}.examFileLabel{font-size:12px;color:#777c90;font-weight:800;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.examFileLabel.hasFile{color:#177b49}.examManuscriptWarn{margin-top:9px;padding:9px 11px;border-radius:13px;background:#fff8e6;border:1px solid #efd18a;color:#654f19;font-size:12px;font-weight:800;line-height:1.4}
.examCorrectionButtons .aiPrimary,.examActions .aiPrimary{background:#7e49f2;color:#fff;border-color:#7e49f2;box-shadow:0 10px 22px rgba(126,73,242,.2)}.examActions .offlineBtn{background:#fff;color:#1c2138;border-color:rgba(28,33,56,.22)}
.examAiLoading,.examAiError{border-radius:16px;padding:13px 14px;font-weight:850;line-height:1.45}.examAiLoading{background:#f6f0ff;border:1px solid rgba(126,73,242,.28);color:#4a2a88}.examAiError{background:#fff1f1;border:1px solid #efb3b3;color:#922f2f}
.examOfflineWarning{padding:10px 12px;border-radius:14px;background:#fff8e6;border:1px solid #efd18a;color:#645019;line-height:1.4;margin-bottom:8px}.examScore.offline strong{color:#ffd166}.examScore.offline span{font-size:12px;letter-spacing:.08em}
.examAiResult{border:1px solid rgba(126,73,242,.2);border-radius:20px;padding:14px;background:#fff;margin-top:10px}.examAiScore{display:grid;grid-template-columns:auto 110px;gap:5px 15px;align-items:center;padding:13px 14px;border-radius:16px;background:#17142b;color:#fff}.examAiScore span{font-size:11px;letter-spacing:.12em;font-weight:900}.examAiScore strong{grid-row:1/3;grid-column:2;font-size:28px;text-align:right;color:#ffd166}.examAiScore em{font-style:normal;color:#e8e4f4;font-weight:750;line-height:1.35}.examAiResult.score-red .examAiScore{box-shadow:inset 5px 0 0 #d44}.examAiResult.score-orange .examAiScore{box-shadow:inset 5px 0 0 #e79a27}.examAiResult.score-green .examAiScore{box-shadow:inset 5px 0 0 #35a46a}.examAiResult.score-diamond .examAiScore{box-shadow:inset 5px 0 0 #8a7df4}
.examAiColumns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.examAiSection,.examAiReason,.examAiImproved,.examAiTrigger{border-radius:15px;padding:11px 12px;border:1px solid rgba(28,33,56,.1);background:#fbfbfe}.examAiSection h5,.examAiReason h5,.examAiImproved h5,.examAiTrigger h5{margin:0 0 7px;color:#20243a;font-size:13px}.examAiSection ul{margin:0;padding-left:18px;color:#51576e;line-height:1.45}.examAiSection.good{background:#f3fff6}.examAiSection.bad{background:#fff4f4}.examAiSection.warn{background:#fffaf0}.examAiReason,.examAiImproved,.examAiTrigger{margin-top:10px}.examAiReason p,.examAiImproved p{margin:0;color:#4c526a;line-height:1.55}.examAiImproved{background:#fff8fc;border-color:rgba(236,22,118,.18)}.examAiTrigger{background:#fff7df;border-color:#ecd18b}.examAiTrigger strong{display:block;color:#604600;line-height:1.4}.examAiTrigger span{display:block;margin-top:6px;color:#7b6c42;font-size:12px;font-weight:800}.examAiActions{margin-top:10px}
.examManualTitle{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}.examManualTitle strong{font-size:17px;color:#1c2138}.examManualTitle span{color:#767b8d;font-size:13px;font-weight:750}.examQuestionHeadRight{display:flex;align-items:flex-start;gap:8px;justify-content:flex-end;flex-wrap:wrap}.examTinyScore{border-radius:999px!important;padding:5px 8px!important;margin-top:0!important;background:#f6f6f9;color:#666b7c!important;font-size:11px!important}.examTinyScore[data-band="red"]{background:#fff0f0;color:#a22525!important}.examTinyScore[data-band="orange"]{background:#fff7e8;color:#9b5e00!important}.examTinyScore[data-band="green"]{background:#effbf2;color:#237347!important}.examTinyScore[data-band="diamond"]{background:#f4f4ff;color:#4d3b9c!important}
@media (max-width:1100px){.examTopicGrid{grid-template-columns:1fr 1fr}.examTopicGrid .pedePrimaryBtn{grid-column:1/-1}.examModeWarnings{grid-template-columns:1fr}.examRandomGrid{grid-template-columns:1fr}.examUserAnswerBig{min-height:220px}}
@media (max-width:720px){.examTopicGrid{grid-template-columns:1fr}.examTopicGrid .pedePrimaryBtn{grid-column:auto}.examRandomTop,.examManualTitle{display:block}.examLastScore{margin-top:10px}.examAiColumns{grid-template-columns:1fr}.examAiKeyRow{display:block}.examAiKeyRow input{width:100%;box-sizing:border-box;margin-bottom:8px}}

/* R04.1 — separación visual inequívoca de los dos caminos de La Pede te examina */
.examPath{margin:18px 0 22px;border-radius:24px;padding:10px;border:2px solid transparent;box-shadow:0 18px 36px rgba(36,22,48,.08)}
.examPathRandom{background:linear-gradient(180deg,rgba(252,229,246,.72),rgba(255,250,253,.48));border-color:rgba(228,31,129,.38)}
.examPathManual{background:linear-gradient(180deg,rgba(224,250,250,.74),rgba(249,255,255,.54));border-color:rgba(0,157,166,.42)}
.examPathHeader{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;border-radius:18px;padding:13px 16px;margin-bottom:10px;color:#fff}
.examPathHeaderRandom{background:linear-gradient(135deg,#87164f,#e62484 58%,#8d3edb)}
.examPathHeaderManual{background:linear-gradient(135deg,#0c5961,#0b9ca7 58%,#226b91)}
.examPathNumber{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.95);color:#24152f;font-size:22px;font-weight:1000;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.examPathHeader>div{display:grid;gap:2px}.examPathHeader b{font-size:12px;letter-spacing:.13em;font-weight:1000}.examPathHeader strong{font-size:22px;line-height:1.05}.examPathHeader small{font-size:12px;line-height:1.35;font-weight:780;color:rgba(255,255,255,.9)}
.examPathHeader em{font-style:normal;font-size:11px;letter-spacing:.12em;font-weight:1000;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.13);padding:8px 10px;border-radius:999px;white-space:nowrap}
.examPathBody{display:grid;gap:10px}.examPathBody>.contentCard,.examPathBody>.examRandomStage,.examPathBody>.examQuestionsWrap{margin-top:0!important;margin-bottom:0!important}
.examPathDivider{display:flex;align-items:center;gap:12px;margin:5px 4px 10px;color:#765d76;font-size:11px;letter-spacing:.13em;font-weight:1000;text-align:center}
.examPathDivider:before,.examPathDivider:after{content:"";height:2px;flex:1;background:linear-gradient(90deg,transparent,rgba(118,93,118,.42),transparent)}
.examPathDivider span{padding:7px 12px;border-radius:999px;background:#fff;border:1px solid rgba(118,93,118,.22);white-space:nowrap}
.examManualZone .examManualTitle{margin-top:0;background:rgba(255,255,255,.92);border-color:rgba(0,157,166,.25)}
.examManualZone .examSelectorPanel{position:static;top:auto;z-index:auto;background:rgba(255,255,255,.94)}
.examManualZone .examStatement,.examManualZone .examQuestionCard{border-color:rgba(0,157,166,.18)}
@media(max-width:760px){.examPathHeader{grid-template-columns:46px 1fr}.examPathHeader em{grid-column:1/-1;justify-self:start;margin-left:59px}.examPathHeader strong{font-size:19px}.examPathDivider span{white-space:normal}.examPath{padding:7px;border-radius:20px}}

/* R04.4 — DISCUTIR LA CORRECCIÓN: revisión visible, no modal y con histórico */
.examDiscussionPanel{margin-top:14px;padding:14px;border-radius:18px;border:2px solid rgba(126,73,242,.25);background:linear-gradient(135deg,#fbf8ff,#fff,#fff8fc);box-shadow:0 12px 28px rgba(53,35,84,.08)}
.examDiscussionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.examDiscussionHead>div{display:grid;gap:3px}.examDiscussionHead span{font-size:11px;letter-spacing:.13em;font-weight:1000;color:#7e49f2}.examDiscussionHead strong{font-size:18px;color:#20243a}.examDiscussionHead>b{white-space:nowrap;background:#17142b;color:#ffd166;border-radius:999px;padding:8px 11px;font-size:13px}.examDiscussionIntro{margin:10px 0;color:#5b6076;line-height:1.5;font-size:13px}.examDiscussionPanel textarea{width:100%;min-height:125px;box-sizing:border-box;resize:vertical;border:1px solid rgba(28,33,56,.17);border-radius:15px;background:#fff;padding:12px 13px;font:inherit;line-height:1.5;color:#20243a;outline:none}.examDiscussionPanel textarea:focus{border-color:rgba(126,73,242,.6);box-shadow:0 0 0 3px rgba(126,73,242,.09)}.examDiscussionActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.examDiscussionStatus{min-height:0;margin-top:8px;font-size:13px;font-weight:800;line-height:1.45}.examDiscussionStatus.isLoading{padding:9px 11px;border-radius:12px;background:#f5efff;color:#55328e}.examDiscussionStatus.isError{padding:9px 11px;border-radius:12px;background:#fff0f0;color:#922f2f;border:1px solid #efb3b3}
.examRevisionBanner{margin-bottom:11px;padding:12px 13px;border-radius:16px;border:1px solid rgba(28,33,56,.12);display:grid;grid-template-columns:minmax(180px,.9fr) minmax(230px,1.1fr);gap:8px 14px;align-items:center}.examRevisionBanner.isRectified{background:#effbf2;border-color:rgba(35,115,71,.25)}.examRevisionBanner.isMaintained{background:#fff9ed;border-color:rgba(155,94,0,.24)}.examRevisionDecision{display:grid;gap:2px}.examRevisionDecision span{font-size:10px;letter-spacing:.13em;font-weight:1000;color:#6a6f80}.examRevisionDecision strong{font-size:19px;color:#20243a}.examRevisionScore{display:grid;grid-template-columns:auto auto auto auto auto;gap:7px;align-items:center;justify-content:end}.examRevisionScore small{font-size:9px;font-weight:1000;color:#818596}.examRevisionScore b{font-size:15px;color:#20243a}.examRevisionScore i{font-style:normal;color:#7e49f2;font-weight:1000}.examRevisionBanner p{grid-column:1/-1;margin:3px 0 0;color:#4c526a;line-height:1.5;font-weight:750}
.examRevisionHistory{margin-top:10px;border:1px solid rgba(28,33,56,.1);border-radius:14px;background:#fafafd;overflow:hidden}.examRevisionHistory summary{cursor:pointer;padding:10px 12px;font-size:12px;font-weight:950;color:#555b70}.examRevisionHistory>div{padding:0 10px 10px}.examRevisionHistoryRow{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 7px;border-top:1px solid rgba(28,33,56,.08)}.examRevisionHistoryRow>div{display:flex;gap:8px;align-items:baseline}.examRevisionHistoryRow b{color:#20243a}.examRevisionHistoryRow span{font-size:10px;color:#8a8e9d}.examRevisionHistoryRow>strong{color:#5b3db0}.examRevisionHistoryRow p{grid-column:1/-1;margin:1px 0 0;color:#60667a;font-size:12px;line-height:1.4}
@media(max-width:720px){.examRevisionBanner{grid-template-columns:1fr}.examRevisionScore{justify-content:start}.examDiscussionHead{display:block}.examDiscussionHead>b{display:inline-block;margin-top:8px}}

/* ============================================================
   REFORMA 04.5 · HISTORIAL REAL DE EXÁMENES E INTENTOS
   Añadido sobre 04.4.1. No altera los dos modos aprobados.
   ============================================================ */
.examTitleActions{display:flex;align-items:center;gap:10px}.examHistoryMainBtn{white-space:nowrap;font-weight:1000!important;border-color:rgba(126,73,242,.34)!important;background:linear-gradient(135deg,#fff,#f5efff)!important;color:#4e2f91!important}.examWorkPaths[hidden]{display:none!important}
.examHistoryPanel{margin-top:14px;border:2px solid rgba(126,73,242,.22);background:linear-gradient(180deg,#fff,#fbf9ff)}.examHistoryHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.examHistoryHead>div>span{display:block;font-size:10px;letter-spacing:.14em;font-weight:1000;color:#7e49f2}.examHistoryHead h4{margin:3px 0 4px;font-family:Georgia,'Times New Roman',serif;font-size:27px;color:#241b3c}.examHistoryHead p{margin:0;max-width:820px;color:#666b7c;line-height:1.45;font-weight:720}
.examHistoryKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.examHistoryKpis section{border:1px solid rgba(28,33,56,.10);border-radius:16px;background:#fff;padding:11px 12px;display:grid;gap:3px;box-shadow:0 7px 18px rgba(28,33,56,.05)}.examHistoryKpis b{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:#211a37}.examHistoryKpis span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:#777b8c}
.examHistoryFilters{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;padding:11px;border-radius:16px;background:#f5f2fa;border:1px solid rgba(126,73,242,.12);margin-bottom:12px}.examHistoryFilters label{display:grid;gap:4px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:1000;color:#6a6276}.examHistoryFilters select{width:100%;min-width:0;border:1px solid #ddd6e5;border-radius:11px;background:#fff;padding:8px 9px;color:#29223c;font:inherit;text-transform:none;letter-spacing:0;font-size:12px;font-weight:800}
.examHistoryTable{border:1px solid rgba(28,33,56,.10);border-radius:16px;overflow:hidden;background:#fff}.examHistoryTableHead,.examHistoryRow{display:grid;grid-template-columns:minmax(310px,2.4fr) 115px 92px 80px 64px 110px;gap:9px;align-items:center}.examHistoryTableHead{padding:9px 11px;background:#21182d;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.examHistoryRows{max-height:560px;overflow:auto}.examHistoryRow{width:100%;border:0;border-top:1px solid #eeeaf1;background:#fff;padding:10px 11px;text-align:left;color:#4d5266;cursor:pointer}.examHistoryRow:hover{background:#fff8fc}.examHistoryQuestion{display:grid;gap:2px;min-width:0}.examHistoryQuestion b{font-size:13px;color:#252038}.examHistoryQuestion span{font-size:10px;color:#8b8191;font-weight:850}.examHistoryQuestion small{font-size:10px;line-height:1.25;color:#6b6f80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.examHistoryRow>span{font-size:11px;font-weight:760}.examHistoryRow>strong{justify-self:start;border-radius:999px;padding:5px 7px;background:#f5f5f7;color:#666}.examHistoryRow>strong.score-red{background:#fff0f0;color:#a22525}.examHistoryRow>strong.score-orange{background:#fff6e5;color:#9b5e00}.examHistoryRow>strong.score-green{background:#effbf2;color:#237347}.examHistoryRow>strong.score-diamond{background:#f1efff;color:#4d3b9c}.examHistoryRow>em{font-style:normal;font-size:10px;font-weight:950;white-space:nowrap}.examHistoryStatus.red{color:#a22525}.examHistoryStatus.orange{color:#9b5e00}.examHistoryStatus.green{color:#237347}.examHistoryStatus.diamond{color:#4d3b9c}.examHistoryStatus.unseen{color:#777}.examHistoryFoot{margin-top:9px;font-size:11px;color:#777b8c}.examHistoryEmpty{padding:28px;text-align:center;display:grid;gap:5px}.examHistoryEmpty b{color:#312844}.examHistoryEmpty span{color:#777b8c}
.examAttemptHistory{margin-top:11px;border:1px solid rgba(126,73,242,.17);border-radius:15px;background:#faf9fd;overflow:hidden}.examAttemptHistory>summary{cursor:pointer;padding:11px 12px;font-size:12px;font-weight:1000;color:#4e3b76}.examAttemptHistoryBody{padding:0 9px 9px;display:grid;gap:7px}.examAttemptItem{border:1px solid #e7e1ec;border-radius:13px;background:#fff;overflow:hidden}.examAttemptItem>summary{cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 11px;list-style:none}.examAttemptItem>summary::-webkit-details-marker{display:none}.examAttemptItem>summary>div{display:grid;gap:2px}.examAttemptItem>summary b{color:#242037}.examAttemptItem>summary span{font-size:10px;color:#86818d;font-weight:760}.examAttemptItem>summary>strong{color:#5b3db0}.examAttemptItem>summary>em{font-style:normal;font-size:9px;background:#f2edff;color:#6045a9;border-radius:999px;padding:4px 6px;font-weight:950}.examAttemptBody{border-top:1px solid #eeeaf1;padding:11px;display:grid;gap:10px}.examAttemptResponse,.examAttemptRevisions{border-radius:13px;padding:10px 11px;background:#fff8fc;border:1px solid rgba(236,22,118,.12)}.examAttemptResponse h6,.examAttemptRevisions h6{margin:0 0 7px;font-size:9px;letter-spacing:.11em;color:#a7125c}.examAttemptResponse p{margin:0;color:#50566b;line-height:1.5}.examAttemptFileNames,.examAttemptLegacyFile{margin-top:7px;font-size:11px;color:#716779;font-weight:800}.examAttemptFilesBtn{margin-top:8px}.examAttemptFilesViewer{margin-top:9px;display:grid;gap:9px}.examAttemptFilesViewer[hidden]{display:none}.examAttemptImage{margin:0;border:1px solid #e5dfea;border-radius:12px;overflow:hidden;background:#fff}.examAttemptImage figcaption{padding:7px 9px;font-size:10px;font-weight:900;color:#625b6a}.examAttemptImage img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#f6f5f7}.examAttemptPdf{display:grid;gap:7px}.examAttemptPdf iframe{width:100%;height:560px;border:1px solid #ddd6e5;border-radius:12px;background:#fff}.examAttemptCorrection{display:grid;gap:8px}.examAttemptVerdict{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center;border-radius:12px;background:#1c1730;color:#fff;padding:9px 10px}.examAttemptVerdict b{font-size:9px;letter-spacing:.08em}.examAttemptVerdict strong{color:#ffd166}.examAttemptVerdict span{font-size:11px;color:#ebe8f4}.examAttemptMiniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.examAttemptMini{padding:9px;border:1px solid #e9e5ec;border-radius:11px;background:#fbfbfd}.examAttemptMini.good{background:#f3fff6}.examAttemptMini.bad{background:#fff4f4}.examAttemptMini.warn{background:#fffaf0}.examAttemptMini b{font-size:10px;color:#343047}.examAttemptMini ul{margin:5px 0 0;padding-left:16px;font-size:10px;color:#606577;line-height:1.4}.examAttemptText{padding:9px 10px;border-radius:11px;background:#faf9fd;border:1px solid #ece8f0}.examAttemptText b{font-size:10px;color:#403850}.examAttemptText p{margin:5px 0 0;font-size:11px;color:#5a6074;line-height:1.45}.examAttemptRevisions{background:#fffaf0;border-color:#efe0b7}.examAttemptRevision{padding:8px 0;border-top:1px solid rgba(113,86,28,.13)}.examAttemptRevision:first-of-type{border-top:0}.examAttemptRevision>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.examAttemptRevision>div span{font-size:9px;color:#8a8170}.examAttemptRevision>div strong{font-size:10px;color:#65543a}.examAttemptRevision p{margin:5px 0 0;font-size:10px;line-height:1.4;color:#665d50}
@media(max-width:1150px){.examHistoryKpis{grid-template-columns:repeat(3,1fr)}.examHistoryFilters{grid-template-columns:repeat(3,1fr)}.examHistoryTableHead,.examHistoryRow{grid-template-columns:minmax(260px,2fr) 100px 88px 70px 58px 100px}.examAttemptMiniGrid{grid-template-columns:1fr}}
@media(max-width:760px){.examTitleActions{align-items:flex-start}.examHistoryHead{display:block}.examHistoryHead button{margin-top:10px}.examHistoryKpis{grid-template-columns:repeat(2,1fr)}.examHistoryFilters{grid-template-columns:1fr 1fr}.examHistoryTable{overflow:auto}.examHistoryTableHead,.examHistoryRow{min-width:760px}.examAttemptItem>summary{grid-template-columns:1fr auto}.examAttemptItem>summary>em{grid-column:1/-1;justify-self:start}.examAttemptPdf iframe{height:420px}}
