@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@400;500;600&display=swap');

.esi-calculator{
  --gold:#cea04c;
  --gold-dark:#b78025;
  --gold-light:#edd7a3;
  --cream:#f7f1e7;
  --cream-2:#fbf8f2;
  --text:#4e2d14;
  max-width:1000px;
  margin:20px auto;
  background:linear-gradient(180deg,#fffdfa 0%, #fffaf3 100%);
  border:2px solid var(--gold-light);
  outline:1px solid var(--gold);
  outline-offset:-10px;
  padding:28px 28px 34px;
  color:var(--text);
  box-sizing:border-box;
  font-family:'Montserrat', Arial, sans-serif !important;
  position:relative;
}
.esi-calculator, .esi-calculator *{box-sizing:border-box}
.esi-calculator h1,.esi-calculator h2,.esi-calculator h3,.esi-calculator h4,
.esi-calculator p,.esi-calculator strong,.esi-calculator span,.esi-calculator dt,.esi-calculator dd,.esi-calculator label,.esi-calculator button,.esi-calculator input{
  font-family:inherit;
}
.esi-corner{position:absolute;width:46px;height:46px;border-color:var(--gold-light);pointer-events:none}
.esi-corner:before,.esi-corner:after{content:'';position:absolute;inset:0;border-radius:0 0 100% 0;border:1px solid transparent}
.esi-corner-tl{top:8px;left:8px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.esi-corner-tl:before{border-top-color:var(--gold-light);border-left-color:var(--gold-light)}
.esi-corner-tr{top:8px;right:8px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}
.esi-corner-tr:before{border-top-color:var(--gold-light);border-right-color:var(--gold-light);transform:scaleX(-1)}
.esi-corner-bl{bottom:8px;left:8px;border-bottom:1px solid var(--gold);border-left:1px solid var(--gold)}
.esi-corner-bl:before{border-bottom-color:var(--gold-light);border-left-color:var(--gold-light);transform:scaleY(-1)}
.esi-corner-br{bottom:8px;right:8px;border-bottom:1px solid var(--gold);border-right:1px solid var(--gold)}
.esi-corner-br:before{border-bottom-color:var(--gold-light);border-right-color:var(--gold-light);transform:scale(-1)}

.esi-report-header{margin-bottom:24px}
.esi-heading{display:flex;justify-content:center;align-items:center;gap:18px;margin-bottom:18px}
.esi-heading img{width:128px;height:128px;object-fit:contain;flex:0 0 auto}
.esi-heading-copy{padding-top:2px}
.esi-school{display:block;font-family:'Cormorant Garamond', Georgia, serif;font-size:37px;line-height:0.95;font-weight:600;letter-spacing:0.01em;color:var(--text)}
.esi-subheading{display:block;font-family:'Montserrat', Arial, sans-serif;font-size:11px;line-height:1.55;letter-spacing:.22em;color:#7a5b2f;margin-top:10px;text-transform:uppercase}
.esi-calculator h2{text-align:center;font-family:'Cormorant Garamond', Georgia, serif;font-weight:600;font-size:clamp(34px,4vw,62px);letter-spacing:.01em;line-height:1.05;margin:8px 0 10px;color:#5a3215}
.esi-title-divider{display:flex;justify-content:center;align-items:center;gap:12px;color:var(--gold-dark);margin:0 0 18px}
.esi-title-divider span{display:block;height:1px;width:min(31%,250px);background:linear-gradient(90deg,transparent 0%, var(--gold) 35%, var(--gold) 65%, transparent 100%)}
.esi-title-divider i{font-style:normal;font-size:26px;line-height:1}

.esi-form{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;background:var(--cream);padding:20px 20px;border-radius:18px;margin-bottom:20px}
.esi-input label{display:block;font-family:'Montserrat', Arial, sans-serif;font-size:13px;font-weight:600;line-height:1.35;color:#7b5521}
.esi-form input{display:block;width:100%;margin-top:8px;min-height:44px;padding:10px 14px;border-radius:8px;background:#fff;border:1px solid #d8c6a5;color:#483225;font-family:'Montserrat', Arial, sans-serif;font-size:15px}
.esi-form button,.esi-actions button{border:0;border-radius:8px;padding:13px 18px;background:linear-gradient(180deg,#b9822a 0%, #9d6c1d 100%);color:#fff;font-family:'Montserrat', Arial, sans-serif;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(90,50,15,.12)}
.esi-form button:hover,.esi-actions button:hover{filter:brightness(.95)}

.esi-error{padding:12px 14px;border:1px solid #d6a3a3;background:#fff1f1;color:#922;font-family:'Montserrat', Arial, sans-serif;font-size:14px;border-radius:10px}
.esi-results[hidden],.esi-error[hidden]{display:none!important}
.esi-person{background:linear-gradient(180deg,#f7f2ea 0%, #f4ede3 100%);text-align:center;border-radius:20px;padding:20px 16px;margin-bottom:22px}
.esi-person strong{display:block;font-family:'Cormorant Garamond', Georgia, serif;font-size:clamp(30px,4vw,44px);line-height:1.02;font-weight:700;text-transform:uppercase;color:#6a3b18}
.esi-person span{display:block;margin-top:10px;font-family:'Montserrat', Arial, sans-serif;font-size:16px;line-height:1.4;color:#53311a}

.esi-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.esi-panel{border:1.5px solid var(--gold);border-radius:22px;min-height:360px;padding:0 18px 18px;background:#fffefb;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 24px rgba(90,50,15,.04)}
.esi-panel h3{background:#f6f1e8;border-radius:16px;text-align:center;font-family:'Montserrat', Arial, sans-serif;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:.01em;margin:6px -12px 18px;padding:16px 12px;color:#6e4119}
.esi-numbers{margin:0;padding:4px 2px 0;display:grid;gap:4px}
.esi-numbers>div{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(206,160,76,.18)}
.esi-numbers dt{font-family:'Montserrat', Arial, sans-serif;font-size:16px;line-height:1.35;font-weight:500;color:#4d2b16}
.esi-numbers dd{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-size:38px;line-height:1;color:var(--gold-dark);font-weight:700}

.esi-house{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:2px auto 0;width:min(100%,250px);padding-top:2px}
.esi-roof{position:relative;width:206px;height:44px;margin:0 auto -2px}
.esi-roof span{position:absolute;bottom:0;display:block;width:108px;height:3px;background:#d6a44b;border-radius:3px}
.esi-roof span:first-child{left:50%;transform-origin:right bottom;transform:translateX(-100%) rotate(-32deg)}
.esi-roof span:last-child{left:50%;transform-origin:left bottom;transform:rotate(32deg)}
.esi-grid{display:grid;grid-template-columns:repeat(3,1fr);width:210px;height:210px;border:1.5px solid #d8aa58;background:#fff}
.esi-cell{display:flex;align-items:center;justify-content:center;font-family:'Montserrat', Arial, sans-serif;font-size:19px;font-weight:700;border-right:1px solid #d8aa58;border-bottom:1px solid #d8aa58;color:#111}
.esi-cell:nth-child(3n){border-right:0}
.esi-cell:nth-last-child(-n+3){border-bottom:0}

.esi-panel-placeholder .esi-placeholder-content{margin:auto 4px;min-height:190px;border:1px dashed #e5c88f;border-radius:16px;background:linear-gradient(180deg,#fffefc 0%, #fcf7ee 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 18px;gap:12px}
.esi-placeholder-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:5px 10px;border-radius:999px;background:#f5e7c7;color:#8c5d16;font-family:'Montserrat', Arial, sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.esi-placeholder-content p{margin:0;font-family:'Montserrat', Arial, sans-serif;font-size:15px;line-height:1.55;color:#6c4521}

.esi-small-divider{margin:auto auto 0;text-align:center;width:54%;border-bottom:1px solid #deb36e;color:var(--gold-dark);font-size:18px;line-height:10px;padding-top:24px}
.esi-actions{text-align:center;margin-top:18px}
.esi-private{padding:16px;background:#fcf6eb;border:1px solid #d8aa58;border-radius:12px;color:#613915}

@media (max-width:900px){
  .esi-form{grid-template-columns:1fr 1fr}
  .esi-form button{grid-column:1 / -1}
  .esi-panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .esi-panel{min-height:340px}
}

@media (max-width:640px){
  .esi-calculator{padding:18px 14px 26px;outline-offset:-6px}
  .esi-heading{gap:10px;align-items:flex-start}
  .esi-heading img{width:84px;height:84px}
  .esi-school{font-size:28px}
  .esi-subheading{font-size:9px;letter-spacing:.16em}
  .esi-calculator h2{font-size:34px}
  .esi-form{grid-template-columns:1fr;padding:14px}
  .esi-panels{grid-template-columns:1fr;gap:14px}
  .esi-panel{min-height:auto}
  .esi-panel h3{font-size:16px;padding:14px 10px}
  .esi-grid{width:198px;height:198px}
  .esi-roof{width:194px}
  .esi-roof span{width:100px}
  .esi-person strong{font-size:30px}
}

@media print{
  @page{size:A4 portrait;margin:8mm}
  body *{visibility:hidden!important}
  .esi-calculator,.esi-calculator *{visibility:visible!important}
  .esi-calculator{position:absolute;top:0;left:0;width:100%;max-width:none;margin:0;padding:10mm 8mm 8mm;outline-offset:-6px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .esi-form,.esi-actions{display:none!important}
  .esi-panel{min-height:290px}
  .esi-heading img{width:95px;height:95px}
  .esi-school{font-size:28px}
  .esi-calculator h2{font-size:46px}
  .esi-placeholder-content p{font-size:14px}
}
.esi-calculator .esi-explanations{margin:14px 0 0;font-family:'Montserrat', Arial, sans-serif;font-size:14px;color:#58391e}
.esi-calculator .esi-explanations[hidden]{display:none!important}
.esi-calculator .esi-explanations details{border:1px solid #e8d5b4;border-radius:12px;padding:0;margin:0 0 10px;background:#fcf8f1;overflow:hidden}
.esi-calculator .esi-explanations summary{cursor:pointer;font-weight:700;font-size:13px;list-style:none;padding:12px 14px;color:#6e4119}
.esi-calculator .esi-explanations p{margin:0;padding:0 14px 14px;font-size:13px;line-height:1.6;white-space:pre-line;color:#5d3a1d}
.esi-calculator .esi-explanations summary::-webkit-details-marker{display:none}
.esi-calculator .esi-explanations summary::after{content:'+';float:right;font-size:16px;line-height:1}
.esi-calculator .esi-explanations details[open] summary::after{content:'−'}
@media print{.esi-calculator .esi-explanations details:not([open]) p{display:none!important}}

/* v0.4.0 – configurable reference modules */
.esi-manual-section{width:100%;margin:4px auto 16px;min-height:160px;display:flex;align-items:center;justify-content:center}
.esi-manual-section svg{width:min(100%,270px);max-height:260px}
.esi-awaiting{margin:auto 0 12px;font:400 11px/1.55 'Montserrat',Arial,sans-serif;text-align:center;color:#927e60}
.esi-sendero{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;min-height:200px}
.esi-tarot-card{text-align:center;min-width:0}
.esi-tarot-card img{width:100%;max-height:195px;object-fit:contain}
.esi-card-caption{display:block;font:600 12px/1.3 'Montserrat',Arial,sans-serif;margin-top:7px;color:#6b421e}
.esi-tree svg{display:block;width:100%;max-height:208px}
.esi-soul-grid{display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,230px);border:1px solid #d3ad72}
.esi-soul-grid>div{display:flex;align-items:center;justify-content:center;border-right:1px solid #d3ad72;border-bottom:1px solid #d3ad72;aspect-ratio:1;font-size:19px;font-weight:600}
.esi-soul-grid>div:nth-child(3n){border-right:0}.esi-soul-grid>div:nth-last-child(-n+3){border-bottom:0}
.esi-karma-table{border-collapse:collapse;width:100%;font-size:16px;text-align:center}
.esi-karma-table td{border:1px solid #d3ad72;padding:12px 4px;color:#633c1b}
.esi-extra-table{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 7px;font-size:12px;margin:12px 0 18px;width:100%}
.esi-extra-table dt{min-width:0;overflow-wrap:anywhere}.esi-extra-table dd{margin:0;font-weight:700;color:#bf8a31;text-align:right}
@media(max-width:640px){.esi-sendero{max-width:360px;margin:auto}.esi-manual-section{min-height:120px}}

.esi-calculator .esi-custom-diagram{display:block;width:100%;max-width:100%;max-height:300px;object-fit:contain;margin:8px auto}.esi-calculator .esi-sendero .esi-custom-diagram{max-height:220px}.esi-calculator .esi-awaiting{font-size:12px;line-height:1.5}.esi-calculator .esi-manual-section{min-width:0}

.esi-tarot-meaning{font-size:12px;line-height:1.55;color:#694b31;margin:12px 4px 0;white-space:pre-line;text-align:left}


/* v0.7.0 – reorganización y contenido base */
.esi-panel-sendero{min-height:420px}
.esi-house{width:min(100%,265px);padding-top:0}
.esi-roof{width:220px;height:auto;margin:0 auto 8px}
.esi-roof svg{display:block;width:100%;height:auto}
.esi-grid{margin-top:0}
.esi-sendero{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1fr);gap:14px;align-items:start;min-height:250px}
.esi-tarot-card,.esi-tree{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0}
.esi-tarot-card img{display:block;width:100%;max-width:148px;max-height:215px;object-fit:contain;border:1px solid #d2b171;background:#fff;padding:3px}
.esi-card-placeholder,.esi-card-title-only{display:flex;align-items:center;justify-content:center;width:100%;max-width:148px;min-height:215px;border:1px dashed #d7bd8c;border-radius:10px;background:linear-gradient(180deg,#fffefc 0%, #f9f3e9 100%);padding:12px;text-align:center;font:600 15px/1.35 'Montserrat',Arial,sans-serif;color:#8a6a3f}
.esi-card-title-only{min-height:70px}
.esi-card-caption{display:block;margin-top:8px;text-align:center;font:600 12px/1.45 'Montserrat',Arial,sans-serif;color:#6b4a24}
.esi-tree-base{display:block;width:100%;max-width:175px;max-height:250px;object-fit:contain;border:1px solid #dfd0b5;background:#fff;padding:6px}
.esi-tree-caption{margin-top:8px;text-align:center;font:600 12px/1.45 'Montserrat',Arial,sans-serif;color:#75542b}
.esi-tarot-meaning{grid-column:1 / -1;margin:2px 0 0;font:400 12px/1.6 'Montserrat',Arial,sans-serif;color:#6a512a;text-align:left}
.esi-energy-section{min-height:220px}.esi-energy-template{width:min(100%,270px);max-height:250px}
.esi-soul-template>div,.esi-karma-template td,.esi-extra-template dt,.esi-extra-template dd{color:#9f8a66}
.esi-awaiting{margin:8px 0 12px;font-size:11px;line-height:1.55}
@media(max-width:900px){.esi-panel-sendero{min-height:380px}}
@media(max-width:640px){.esi-sendero{grid-template-columns:1fr;justify-items:center}.esi-tree-base{max-width:190px}.esi-card-placeholder,.esi-card-title-only{min-height:170px}}


/* v0.7.2 – distribución definitiva confirmada por Laura */
@media print {
  @page {size:A4 portrait; margin:6mm;}
  .esi-calculator { width:198mm!important; max-width:198mm!important; position:static!important;
    margin:0 auto!important; padding:7mm 5mm!important; outline-offset:-4px; border-width:1px; }
  .esi-panels { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2.5mm!important; }
  .esi-panel { min-height:0!important; padding:0 2.5mm 3mm!important;
    border-radius:3mm!important; box-shadow:none!important; break-inside:avoid; page-break-inside:avoid; }
  .esi-panel h3 {font-size:10px!important; line-height:1.25!important; padding:2.2mm 1mm!important;
    margin:1mm -1.5mm 2mm!important;border-radius:2mm!important;}
  .esi-report-header {margin-bottom:3mm!important;}
  .esi-heading {margin-bottom:1mm!important;}
  .esi-heading img {width:19mm!important;height:19mm!important;}
  .esi-school {font-size:20px!important;}
  .esi-subheading {font-size:7px!important;}
  .esi-calculator h2 {font-size:28px!important;margin:1mm 0!important;}
  .esi-title-divider {margin-bottom:2mm!important;}
  .esi-person {padding:2mm!important;margin-bottom:3mm!important;}
  .esi-person strong {font-size:23px!important;}
  .esi-person span {font-size:10px!important;margin-top:1mm!important;}
  .esi-numbers>div {padding:1.5mm 0!important;}
  .esi-numbers dt {font-size:9px!important;}
  .esi-numbers dd {font-size:19px!important;}
  .esi-house {width:100%!important;}
  .esi-roof {width:43mm!important; margin:0 auto 1mm!important;}
  .esi-grid {width:43mm!important;height:43mm!important;}
  .esi-cell {font-size:12px!important;}
  .esi-sendero {grid-template-columns:minmax(0,0.85fr) minmax(0,1fr)!important;
    min-height:0!important; gap:1.5mm!important;}
  .esi-tarot-card img,.esi-tree-base {max-height:47mm!important;}
  .esi-card-placeholder {min-height:40mm!important;font-size:9px!important;}
  .esi-manual-section {min-height:0!important;margin:0 auto 1.5mm!important;}
  .esi-manual-section svg {max-height:49mm!important;}
  .esi-soul-grid {width:43mm!important;}
  .esi-karma-table td {padding:1.5mm!important;font-size:10px!important;}
  .esi-extra-table {font-size:8px!important;gap:1mm!important;}
  .esi-awaiting {font-size:7px!important;margin:1mm 0!important;}
  .esi-small-divider {padding-top:2mm!important;}
  .esi-explanations {font-size:8px!important;}
}


/* v0.7.3 – A4 en una página, 3 filas de 3 bloques */
@media print {
  @page { size: A4 portrait; margin: 6mm 6mm; }
  html, body { margin: 0!important; padding: 0!important; width: auto!important; height: auto!important; background:#fff!important; }
  body { -webkit-print-color-adjust: exact!important; print-color-adjust: exact!important; }
  .esi-calculator {
    position: absolute!important; left: 0!important; top: 0!important;
    display:block!important; width:198mm!important; max-width:198mm!important;
    margin:0!important; padding:4mm 4mm 3mm!important;
    outline-offset:-2mm!important; border-width:1px!important;
    box-shadow:none!important;
  }
  .esi-calculator .esi-report-header { margin:0 0 2mm!important; }
  .esi-calculator .esi-heading { margin:0 0 1mm!important; gap:3mm!important; }
  .esi-calculator .esi-heading img { width:17mm!important; height:17mm!important; }
  .esi-calculator .esi-school { font-size:18px!important; }
  .esi-calculator h2 {font-size:25px!important; margin:0!important;line-height:1!important;}
  .esi-calculator .esi-title-divider {margin:0 0 1mm!important;}
  .esi-calculator .esi-person {padding:1.8mm!important;margin:0 0 2.5mm!important;border-radius:2.5mm!important;}
  .esi-calculator .esi-person strong {font-size:19px!important;line-height:1!important;}
  .esi-calculator .esi-person span {font-size:9px!important;margin-top:.5mm!important;}
  .esi-calculator .esi-panels {
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,69mm)!important;
    gap:2.2mm!important;align-items:stretch!important;
  }
  .esi-calculator .esi-panel, .esi-calculator .esi-panel-sendero {
    height:69mm!important;min-height:0!important;max-height:69mm!important;
    overflow:hidden!important;padding:0 2mm 1.5mm!important;
    margin:0!important;border-radius:2.5mm!important;
    box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;
  }
  .esi-calculator .esi-panel h3 {font-size:9.5px!important;margin:.7mm -1.2mm 1mm!important;padding:1.6mm .5mm!important;line-height:1.2!important;}
  .esi-calculator .esi-numbers {padding:0!important;gap:0!important;}
  .esi-calculator .esi-numbers>div {padding:1.1mm 0!important;}
  .esi-calculator .esi-numbers dt {font-size:8.6px!important;}
  .esi-calculator .esi-numbers dd {font-size:18px!important;}
  .esi-calculator .esi-house {margin:0 auto!important;padding:0!important;}
  .esi-calculator .esi-roof {width:39mm!important;margin:0 auto .8mm!important;}
  .esi-calculator .esi-grid {width:39mm!important;height:39mm!important;}
  .esi-calculator .esi-sendero {min-height:0!important;gap:1mm!important;}
  .esi-calculator .esi-tree-base,.esi-calculator .esi-tarot-card img {max-height:42mm!important;padding:1mm!important;}
  .esi-calculator .esi-card-placeholder {min-height:40mm!important;max-height:40mm!important;font-size:8.5px!important;}
  .esi-calculator .esi-manual-section {min-height:0!important;margin:0!important;}
  .esi-calculator .esi-manual-section svg {max-height:44mm!important;}
  .esi-calculator .esi-soul-grid {width:38mm!important;}
  .esi-calculator .esi-karma-table td {padding:1mm!important;font-size:9px!important;}
  .esi-calculator .esi-extra-table {gap:.6mm!important;font-size:8px!important;margin:1mm 0!important;}
  .esi-calculator .esi-awaiting {font-size:7px!important;line-height:1.3!important;margin:1mm 0!important;}
  .esi-calculator .esi-small-divider {padding-top:1.5mm!important;margin-top:auto!important;}
  .esi-calculator .esi-explanations {margin:1mm 0!important;}
  .esi-calculator .esi-explanations details {margin:0!important;padding:0!important;}
  .esi-calculator .esi-explanations summary {font-size:7px!important;padding:1mm!important;}
  .esi-calculator .esi-explanations p {font-size:7px!important;padding:1mm!important;}
  .esi-form,.esi-actions {display:none!important;}
}


/* v0.7.4 – print fit fix */
@media print {
  @page { size: A4 portrait; margin: 4mm; }
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
  body { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  body * { visibility: hidden !important; }
  .esi-calculator, .esi-calculator * { visibility: visible !important; }

  .esi-calculator {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 202mm !important;
    max-width: 202mm !important;
    margin: 0 !important;
    padding: 3.2mm !important;
    outline-offset: -1.5mm !important;
    box-shadow: none !important;
    transform: scale(0.94) !important;
    transform-origin: top left !important;
  }

  .esi-form, .esi-actions { display:none !important; }
  .esi-report-header { margin:0 0 1.5mm !important; }
  .esi-heading { gap:2.5mm !important; margin:0 0 .6mm !important; }
  .esi-heading img { width:15mm !important; height:15mm !important; }
  .esi-school { font-size:17px !important; line-height:.95 !important; }
  .esi-subheading { font-size:6.2px !important; line-height:1.25 !important; margin-top:1mm !important; }
  .esi-calculator h2 { font-size:23px !important; line-height:1 !important; margin:0 !important; }
  .esi-title-divider { margin:0 0 .8mm !important; }
  .esi-person { padding:1.5mm 2mm !important; margin:0 0 1.6mm !important; border-radius:2.2mm !important; }
  .esi-person strong { font-size:18px !important; }
  .esi-person span { font-size:8px !important; margin-top:.4mm !important; }

  .esi-panels {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    gap:2mm !important;
  }
  .esi-panel, .esi-panel-sendero {
    width: calc((100% - 4mm) / 3) !important;
    min-height: 60mm !important;
    max-height: 60mm !important;
    height: 60mm !important;
    margin:0 !important;
    padding:0 1.8mm 1.5mm !important;
    border-radius:2.5mm !important;
    box-shadow:none !important;
    overflow:hidden !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .esi-panel h3 { font-size:8.8px !important; line-height:1.15 !important; margin:.6mm -1mm .8mm !important; padding:1.4mm .5mm !important; border-radius:2mm !important; }

  .esi-numbers { padding:0 !important; gap:0 !important; }
  .esi-numbers > div { padding:.8mm 0 !important; gap:1mm !important; }
  .esi-numbers dt { font-size:7.8px !important; line-height:1.25 !important; }
  .esi-numbers dd { font-size:16px !important; }
  .esi-explanations, .esi-awaiting, .esi-tarot-meaning { font-size:6.5px !important; line-height:1.2 !important; }
  .esi-explanations details { margin:0 !important; border-radius:1.4mm !important; }
  .esi-explanations summary { padding:.8mm !important; font-size:6.5px !important; }
  .esi-explanations p { padding:0 .8mm .8mm !important; font-size:6.2px !important; }

  .esi-house { width:100% !important; margin:0 auto !important; }
  .esi-roof { width:36mm !important; margin:0 auto .6mm !important; }
  .esi-grid { width:36mm !important; height:36mm !important; }
  .esi-cell { font-size:10px !important; }

  .esi-energy-section, .esi-manual-section { min-height:0 !important; margin:0 auto .6mm !important; }
  .esi-energy-template, .esi-manual-section svg { width:min(100%,40mm) !important; max-height:38mm !important; }

  .esi-sendero { display:grid !important; grid-template-columns: 1fr 1fr !important; gap:1mm !important; min-height:0 !important; }
  .esi-card-placeholder, .esi-card-title-only { min-height:34mm !important; max-width:100% !important; font-size:7px !important; padding:1.2mm !important; }
  .esi-tarot-card img, .esi-tree-base { max-height:35mm !important; max-width:100% !important; padding:.6mm !important; }
  .esi-card-caption, .esi-tree-caption { font-size:6.6px !important; line-height:1.15 !important; margin-top:.5mm !important; }

  .esi-soul-grid { width:35mm !important; }
  .esi-soul-grid > div { font-size:8px !important; }
  .esi-karma-table td { padding:.8mm !important; font-size:8px !important; }
  .esi-extra-table { font-size:7px !important; gap:.5mm 1mm !important; margin:.5mm 0 !important; }
  .esi-small-divider { padding-top:.8mm !important; margin-top:auto !important; }
}

/* Apartado 03 automático: conserva el diseño de impresión independiente. */
.esi-calculator .esi-energy-auto{display:block;width:100%;max-width:260px;max-height:240px;margin:0 auto;overflow:visible}
.esi-calculator .esi-energy-summary{font:500 10px/1.4 'Montserrat',Arial,sans-serif;color:#71502f;text-align:center;margin:4px auto 7px;max-width:260px}
@media print{.esi-calculator .esi-energy-auto{max-height:43mm!important;width:100%!important}.esi-calculator .esi-energy-summary{font-size:6.5px!important;line-height:1.25!important;margin:1mm auto!important}}

/* v0.7.7 Senderos calculados y sobreimpresión sobre el árbol original */
.esi-tree-overlay-frame{position:relative;width:100%;display:block}
.esi-tree-overlay-frame .esi-tree-base{display:block;width:100%;max-width:100%;max-height:none;object-fit:contain;box-sizing:border-box}
.esi-tree-overlay-frame .esi-tree-highlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.esi-sendero-number{display:block;text-align:center;color:#88672e;font-size:10px}

/* v0.7.8: patrones visuales uniformes */
.esi-soul-grid .esi-soul-plane-ten{grid-column:1/-1;aspect-ratio:auto;min-height:48px;border-right:0!important;border-bottom:0!important;font:600 13px/1.4 'Montserrat',Arial,sans-serif;color:#89693f;background:#fbf7ef}
.esi-soul-grid>div:nth-last-child(-n+3){border-bottom:1px solid #d3ad72}
.esi-soul-grid>div.esi-soul-plane-ten{border-bottom:0}
.esi-panel-manual .esi-awaiting{font-size:11px;line-height:1.45;text-align:center;color:#927e60}
.esi-tree-overlay-frame .esi-tree-highlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* v0.8.0: Árbol y sendero en el mismo sistema de coordenadas */
.esi-calculator .esi-tree-overlay-frame{display:flex;align-items:flex-start;justify-content:center;width:100%;min-width:0}
.esi-calculator .esi-tree-composite{display:block;width:100%;height:auto;max-width:175px;max-height:250px;overflow:visible}
@media print{.esi-calculator .esi-tree-composite{max-width:100%!important;max-height:45mm!important;width:100%!important;height:auto!important}}

/* v0.8.1: Lámina original (Árbol y Arcano juntos). */
.esi-calculator .esi-sendero-lamina-wrapper{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:center;min-width:0}
.esi-calculator .esi-sendero-lamina{display:block;width:100%;max-width:100%;max-height:330px;height:auto;object-fit:contain;border:0}
.esi-calculator .esi-sendero:has(.esi-sendero-lamina-wrapper)>.esi-tarot-card,.esi-calculator .esi-sendero:has(.esi-sendero-lamina-wrapper)>.esi-tree{display:none}

/* v0.8.2: apartado 03 apilado verticalmente. */
.esi-calculator [data-esi-section="energy"]{display:flex!important;flex-direction:column!important;align-items:center;justify-content:flex-start;gap:5px;width:100%;}
.esi-calculator [data-esi-section="energy"] .esi-energy-auto{flex:0 1 auto;min-height:0;}
.esi-calculator [data-esi-section="energy"] .esi-energy-summary{flex:0 0 auto;}
/* v0.8.2: diez planos, números estáticos negros, dinámicos azules. */

/* v0.8.4: sin separador decorativo al pie de los nueve apartados. */
.esi-calculator .esi-small-divider{display:none!important;}

/* v0.8.5 — Portales según la disposición visual original (2 arriba, 7 abajo). */
.esi-calculator .esi-energy-auto{width:100%;max-width:290px;max-height:282px;overflow:visible;}
@media print{.esi-calculator .esi-energy-auto{width:100%!important;max-width:43mm!important;max-height:43mm!important;}}

/* v0.8.7 — Apartado 08: cálculo dinámico y disposición fiel de la tabla. */
.esi-calculator .esi-karma-result{width:100%;max-width:320px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:9px;}
.esi-calculator .esi-karma-affinities{display:flex;gap:12px;justify-content:center;align-items:center;}
.esi-calculator .esi-karma-affinity{width:38px;height:38px;border:1.5px solid #8b7764;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 15px/1 Arial,sans-serif;color:#384554;background:#fff;}
.esi-calculator .esi-karma-calculated{width:100%;table-layout:fixed;border-collapse:collapse;font:600 13px/1.3 Arial,sans-serif;}
.esi-calculator .esi-karma-calculated th{font:600 10px/1.15 Arial,sans-serif;text-align:left;color:#654a32;white-space:normal;padding:8px 3px 8px 0;width:23%;}
.esi-calculator .esi-karma-calculated td{border:0!important;border-bottom:1px solid #d7c9b3!important;padding:9px 2px!important;text-align:center;color:#5f5142;}
.esi-calculator .esi-karma-calculated td.esi-karma-open{color:#279a91;font-weight:700;}
.esi-calculator .esi-karma-calculated .esi-karma-foot td{color:#88338f;font-weight:700;border-bottom:0!important;}
.esi-calculator .esi-karma-calculated .esi-karma-foot td.esi-karma-total{color:#bb882d;}

.esi-energy-reference-image{display:block;width:min(245px,100%);height:auto;margin:8px auto 4px;}

.esi-calculator .esi-energy-reference-image{width:min(245px,100%);max-height:245px;object-fit:contain;margin:0 auto 4px;}

/* v1.0.0: número dinámico pequeño en la esquina de cada plano (Laura). */

/* v1.0.1: el marco pertenece al número bloqueado, no a toda la casilla. */

/* v1.0.2 — Imagen del Alma: círculos posicionados según referencia visual. */

/* v1.0.3 — Imagen del Alma: posiciones afinadas según la referencia de Laura. */

/* v1.0.5 — Ajustes de presentación de los apartados 07 y 08.
   Las ayudas se ubican junto al borde superior sin tapar números centrales. */
  top:5px!important;bottom:auto!important;left:0!important;right:0!important;
  transform:none!important;justify-content:center!important;align-items:center!important;
}
/* Cuadrícula suave, con separaciones verticales más fieles al ejemplo original. */
.esi-calculator .esi-karma-calculated td:not(:last-child){border-right:1px solid #d8d2ca!important;}
.esi-calculator .esi-karma-calculated td.esi-karma-open{border-left:1px solid #d8d2ca!important;}
.esi-calculator .esi-karma-calculated .esi-karma-foot td{border-bottom:0!important;}
.esi-calculator .esi-karma-result{gap:7px!important;}


/* v1.0.6 — Ajuste fino visual de 07 y 08 para acercar al original de Laura. */
.esi-calculator .esi-karma-result{max-width:286px!important;gap:8px!important;}
.esi-calculator .esi-karma-affinities{gap:10px!important;margin-top:1px!important;margin-bottom:2px!important;}
.esi-calculator .esi-karma-affinity{width:36px!important;height:36px!important;font-size:14px!important;}
.esi-calculator .esi-karma-calculated{font-size:12.5px!important;}
.esi-calculator .esi-karma-calculated th{font-size:11px!important;width:25%!important;padding:7px 4px 7px 1px!important;}
.esi-calculator .esi-karma-calculated td{padding:8px 3px!important;}
.esi-calculator .esi-karma-calculated td:not(:last-child){border-right:1px solid #d8d2ca!important;}
.esi-calculator .esi-karma-calculated td.esi-karma-open{border-left:1px solid #d8d2ca!important;font-weight:700!important;}
.esi-calculator .esi-karma-calculated tr:first-child td,.esi-calculator .esi-karma-calculated tr:first-child th{border-top:1px solid #d8d2ca!important;}


/* v1.0.7 – ajuste fino visual dos blocos 07 e 08 */
  width:min(100%,250px)!important;
  margin:0 auto!important;
  border:1px solid #7d7d7d!important;
  background:#fff!important;
  grid-template-columns:repeat(3,1fr)!important;
}
  height:68px!important;
  padding:0!important;
  background:#fff!important;
  border-right:1px solid #7d7d7d!important;
  border-bottom:1px solid #7d7d7d!important;
  overflow:visible!important;
}
  height:42px!important;
  min-height:42px!important;
  border-right:0!important;
}
  font-size:16px!important;
  font-weight:600!important;
  color:#1f1f1f!important;
  line-height:1!important;
}
  min-width:20px!important;
  height:20px!important;
  border:1.4px solid #444!important;
  font-size:15px!important;
}
  top:4px!important;
  right:6px!important;
  font-size:10px!important;
  color:#2d63ab!important;
}
  top:14px!important;
  right:8px!important;
  width:8px!important;
  height:8px!important;
}
  bottom:10px!important;
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:.3px!important;
  color:#111!important;
}
  gap:2px!important;
}
  width:16px!important;
  height:16px!important;
  font-size:10px!important;
  line-height:14px!important;
}
/* posicionamento por plano para coincidir com o original */
  top:7px!important;left:5px!important;right:auto!important;justify-content:flex-start!important;
}
  top:6px!important;right:5px!important;left:auto!important;justify-content:flex-end!important;
}
  top:34px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;justify-content:center!important;
}
  top:31px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;justify-content:center!important;
}
  top:auto!important;bottom:-9px!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;justify-content:center!important;
}
  font-size:15px!important;position:relative!important;top:-1px!important;
}
  top:auto!important;bottom:4px!important;right:7px!important;
}

.esi-calculator .esi-karma-result{width:100%!important;max-width:282px!important;margin:0 auto!important;padding-top:4px!important;}
.esi-calculator .esi-karma-affinities{margin:0 auto 12px!important;gap:12px!important;}
.esi-calculator .esi-karma-affinity{width:42px!important;height:42px!important;font-size:14px!important;}
.esi-calculator .esi-karma-calculated{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;margin:0 auto!important;font-size:12px!important;}
.esi-calculator .esi-karma-calculated th{
  width:30%!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:10.5px!important;
  padding:7px 4px 7px 3px!important;
}
.esi-calculator .esi-karma-calculated td{
  font-size:12px!important;
  padding:8px 3px!important;
}
.esi-calculator .esi-karma-calculated .esi-karma-foot th{font-size:10px!important;}


/* v1.0.8 — Imagen del Alma (apartado 07): ayudas arriba, número principal centrado, dinámico azul en la esquina. */
.esi-calculator .esi-soul-calculated{width:min(100%,290px);grid-template-columns:repeat(3,minmax(0,1fr));}
.esi-calculator .esi-soul-calculated>.esi-soul-plane{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;height:auto;min-height:88px;aspect-ratio:auto;padding:6px 14px 4px;box-sizing:border-box;overflow:visible;background:#fffdf9;font-family:'Montserrat',Arial,sans-serif;}
.esi-calculator .esi-soul-calculated>.esi-soul-plane-ten{min-height:62px;}
.esi-calculator .esi-soul-helps{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;min-height:19px;max-width:100%;}
.esi-calculator .esi-soul-help-dot{width:17px;height:17px;border:1.5px solid #c34a48;color:#b03938;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:700;line-height:1;box-sizing:border-box;}
.esi-calculator .esi-soul-static{margin:auto 0;font-weight:700;font-size:16px;line-height:1;color:#151515;}
.esi-calculator .esi-soul-blocked{font-weight:800;font-size:19px;letter-spacing:1px;padding:2px 4px;}
.esi-calculator .esi-soul-blocked-boxed{border:1.5px solid #151515;}
.esi-calculator .esi-soul-dynamic{position:absolute;top:6px;right:7px;font-weight:700;font-size:11px;line-height:1;color:#2362a5;}
.esi-calculator .esi-soul-green{position:absolute;top:19px;right:8px;border-radius:50%;background:#198744;width:9px;height:9px;}
@media print{.esi-calculator .esi-soul-calculated>.esi-soul-plane{min-height:0;}}


/* v1.0.10 – remover numeração azul do bloco 07 */
.esi-calculator .esi-soul-dynamic{display:none!important;}
