.cic-calculator {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: wrap !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    background: var(--cic-bg, #0a0c12);
    color: var(--cic-text, #ffffff);
    border-radius: 28px;
    padding: 40px;
    gap: 40px;
    box-sizing: border-box;
    box-shadow: 0 25px 50px rgba(0,0,0,0.8);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    border: 1px solid var(--cic-input-border, #1a1f33);
    margin: 0 auto !important;
    position: relative;
    overflow: hidden;
    width: 100% !important;
}

.cic-calculator > code,
.cic-calculator > pre {
    display: contents !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
}

.cic-calculator__optional {
    display: none !important;
}

.cic-calculator h1, .cic-calculator h3, .cic-calculator p { margin: 0 !important; padding: 0 !important; }
.cic-calculator * { box-sizing: border-box !important; }

.cic-calculator__left {
    -webkit-flex: 1 1 100% !important;
    -ms-flex: 1 1 100% !important;
    flex: 1 1 100% !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.cic-calculator__right {
    -webkit-flex: 1 1 100% !important;
    -ms-flex: 1 1 100% !important;
    flex: 1 1 100% !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.cic-calculator__title { /*font-size: 36px*/; font-weight: 700; margin: 0 0 12px 0 !important; line-height: 1.2; }
.cic-calculator__subtitle.cic-calculator__subtitle { font-size: 15px; opacity: 0.8; margin: 0 0 30px 0 !important; }
.cic-calculator__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px 20px; margin-bottom: 30px; }
.cic-calculator__group { display: flex; flex-direction: column; }
.cic-calculator__label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.7; margin-bottom: 8px; color: #ffffff; }

.cic-calculator__input {
    background: var(--cic-input-bg, #1c233b) !important;
    border: 1px solid var(--cic-input-border, #2a3251) !important;
    border-radius: 12px !important;
    padding: 10px 16px !important;
    color: var(--cic-text, #ffffff) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    outline: none !important;
    transition: border-color 0.3s !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.cic-calculator__input:focus { border-color: var(--cic-gold, #eab308) !important; }

.cic-calculator__card { background: #0f121a; border: 1px solid var(--cic-card-border, #4a3f1e); border-radius: 16px; padding: 24px 28px; }
.cic-calculator__card-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.7; margin-bottom: 6px; }
.cic-calculator__card-value { color: var(--cic-gold, #eab308); font-size: 48px; line-height: 1; font-weight: 700; margin-bottom: 10px; }
.cic-calculator__toggle { color: var(--cic-gold, #eab308); font-size: 14px; font-weight: 500; cursor: pointer; display: inline-block; transition: opacity 0.2s; margin-top: 4px; }
.cic-calculator__toggle:hover { opacity: 0.8; text-decoration: underline; }

.cic-calculator__chart { display: -webkit-flex !important; display: -ms-flexbox !important; display: flex !important; align-items: flex-end; justify-content: space-between; height: 260px !important; min-height: 260px !important; gap: 12px; margin-bottom: 30px; padding: 0 4px; width: 100% !important; }
.cic-calculator__chart > div { -webkit-flex: 1 !important; -ms-flex: 1 !important; flex: 1 !important; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.cic-calculator__bar { width: 100%; max-width: 60px; border-radius: 6px 6px 0 0; min-height: 6px; }

/* --- LEYENDA CORREGIDA --- */
.cic-calculator__legend { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; width: 100%; }
.cic-calculator__legend-item { display: flex; align-items: center; justify-content: space-between; font-size: 15px; font-weight: 400; width: 100%; color: var(--cic-text, #ffffff); }
.cic-calculator__legend-label-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.cic-calculator__dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.cic-calculator__dot--dark { background: #6b5a1d; }
.cic-calculator__dot--gold { background: var(--cic-gold, #eab308); }
.cic-calculator__legend-val--white { color: var(--cic-text, #ffffff); font-weight: 600; }
.cic-calculator__legend-val--gold { color: var(--cic-gold, #eab308); font-weight: 600; }

/* --- MODAL CON Z-INDEX EN CABECERA --- */
.cic-calculator__modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(4px); z-index: 99999; justify-content: center; align-items: center; padding: 20px; }
.cic-calculator__modal-overlay.is-active { display: flex; }
.cic-calculator__modal-content { background: var(--cic-bg, #0a0c12) !important; border: 1px solid var(--cic-input-border, #2a3251); border-radius: 20px; max-width: 850px; width: 100%; max-height: 85vh; display: flex; flex-direction: column; box-shadow: 0 25px 60px rgba(0,0,0,0.9); }
.cic-calculator__modal-header { display: flex; justify-content: space-between; align-items: center; padding: 22px 28px; border-bottom: 1px solid var(--cic-input-border, #1a1f33); }
.cic-calculator__modal-title { font-size: 20px; font-weight: 700; margin: 0; color: var(--cic-text, #ffffff) !important; }
.cic-calculator__modal-title span { color: var(--cic-gold, #eab308) !important; }
.cic-calculator__modal-close { font-size: 28px; cursor: pointer; opacity: 0.7; transition: opacity 0.3s, transform 0.3s; line-height: 1; color: var(--cic-text, #ffffff) !important; }
.cic-calculator__modal-close:hover { opacity: 1; transform: rotate(90deg); }
.cic-calculator__modal-body { padding: 20px 28px 28px; overflow-y: auto; }
.cic-calculator__modal-body::-webkit-scrollbar { width: 6px; }
.cic-calculator__modal-body::-webkit-scrollbar-track { background: var(--cic-bg, #0a0c12); }
.cic-calculator__modal-body::-webkit-scrollbar-thumb { background: var(--cic-input-border, #2a3251); border-radius: 4px; }

.cic-calculator__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cic-calculator__table th {
    text-align: left;
    padding: 12px 6px 14px 6px;
    color: var(--cic-text, #ffffff) !important;
    opacity: 0.6 !important;
    font-weight: 600 !important;
    border-bottom: 1px solid var(--cic-input-border, #1a1f33);
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important; /* <-- CORRECCIÓN PARA EVITAR SUPERPOSICIÓN AL SCROLL */
    background: var(--cic-bg, #0a0c12) !important;
}
.cic-calculator__table td {
    padding: 10px 6px;
    border-bottom: 1px solid var(--cic-input-border, #141826);
    color: var(--cic-text, #ffffff) !important;
}
.cic-calculator__table tr:hover td { background: rgba(255, 255, 255, 0.05); }

@media (min-width: 851px) {
    .cic-calculator { -webkit-flex-wrap: nowrap !important; -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; -webkit-flex-direction: row !important; -ms-flex-direction: row !important; flex-direction: row !important; }
    .cic-calculator__left { -webkit-flex: 1 1 50% !important; -ms-flex: 1 1 50% !important; flex: 1 1 50% !important; }
    .cic-calculator__right { -webkit-flex: 1 1 50% !important; -ms-flex: 1 1 50% !important; flex: 1 1 50% !important; }
}

@media (max-width: 850px) {
    .cic-calculator { flex-direction: column; padding: 30px 20px; gap: 30px; }
    .cic-calculator__chart { height: 200px !important; min-height: 200px !important; }
}