.elementor-286 .elementor-element.elementor-element-b7efdfa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-286 .elementor-element.elementor-element-597e3f3{text-align:center;}.elementor-286 .elementor-element.elementor-element-597e3f3 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:600;line-height:56px;color:#000000;}.elementor-286 .elementor-element.elementor-element-48d79f4{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:50px 50px;--row-gap:50px;--column-gap:50px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-5e35809{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-286 .elementor-element.elementor-element-b6f0694{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:23px;color:#696969;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-286 .elementor-element.elementor-element-52dc217 .elementor-button{background-color:#000000;font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:20px;fill:#FFFFFF;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:12px 10px 12px 10px;}.elementor-286 .elementor-element.elementor-element-b726b2a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-286 .elementor-element.elementor-element-2746438{width:100%;max-width:100%;}.elementor-286 .elementor-element.elementor-element-2746438 img{border-radius:14px 14px 14px 14px;}.elementor-286 .elementor-element.elementor-element-b8a180a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-286 .elementor-element.elementor-element-bf4403e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-5f8e93c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-286 .elementor-element.elementor-element-96076a2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-286 .elementor-element.elementor-element-58cf462{text-align:left;}.elementor-286 .elementor-element.elementor-element-58cf462 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:600;line-height:48px;color:#000000;}.elementor-286 .elementor-element.elementor-element-1a528da{text-align:left;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:#373737;}.elementor-286 .elementor-element.elementor-element-a0afdfc .elementor-button{background-color:#000000;font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:20px;fill:#FFFFFF;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:12px 32px 12px 32px;}.elementor-286 .elementor-element.elementor-element-3410ecb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-b5451a4{text-align:left;}.elementor-286 .elementor-element.elementor-element-b5451a4 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:600;line-height:48px;color:#000000;}.elementor-286 .elementor-element.elementor-element-f356cae{text-align:left;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:#373737;}.elementor-286 .elementor-element.elementor-element-b509f3e .elementor-button{background-color:#000000;font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:20px;fill:#FFFFFF;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:12px 32px 12px 32px;}.elementor-286 .elementor-element.elementor-element-6c31fb9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-142a3cd{text-align:left;}.elementor-286 .elementor-element.elementor-element-142a3cd .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:600;line-height:48px;color:#000000;}.elementor-286 .elementor-element.elementor-element-19af86d .elementor-button{background-color:#000000;font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;line-height:20px;fill:#FFFFFF;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:12px 32px 12px 32px;}.elementor-286 .elementor-element.elementor-element-cc5c8c7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-ad005e9{text-align:left;}.elementor-286 .elementor-element.elementor-element-ad005e9 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:600;line-height:48px;color:#000000;}.elementor-286 .elementor-element.elementor-element-c10f2d4{text-align:left;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:#373737;}.elementor-286 .elementor-element.elementor-element-f0e5ff3{text-align:left;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:#373737;}.elementor-286 .elementor-element.elementor-element-83e17eb{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:64px;--padding-bottom:96px;--padding-left:0px;--padding-right:0px;}.elementor-286 .elementor-element.elementor-element-86cf184{text-align:left;}.elementor-286 .elementor-element.elementor-element-86cf184 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:36px;font-weight:600;line-height:48px;color:#000000;}.elementor-286 .elementor-element.elementor-element-11f2942{text-align:left;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;line-height:24px;color:#373737;}@media(min-width:768px){.elementor-286 .elementor-element.elementor-element-5e35809{--width:60%;}.elementor-286 .elementor-element.elementor-element-b726b2a{--width:40%;}.elementor-286 .elementor-element.elementor-element-5f8e93c{--width:50%;}.elementor-286 .elementor-element.elementor-element-96076a2{--width:50%;}}@media(max-width:767px){.elementor-286 .elementor-element.elementor-element-b7efdfa{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-286 .elementor-element.elementor-element-597e3f3 .elementor-heading-title{font-size:28px;line-height:32px;}.elementor-286 .elementor-element.elementor-element-b6f0694{font-size:16px;line-height:24px;}.elementor-286 .elementor-element.elementor-element-52dc217{z-index:1;}.elementor-286 .elementor-element.elementor-element-52dc217 .elementor-button{font-size:12px;line-height:20px;}.elementor-286 .elementor-element.elementor-element-58cf462 .elementor-heading-title{font-size:24px;line-height:36px;}.elementor-286 .elementor-element.elementor-element-1a528da{font-size:18px;line-height:24px;}.elementor-286 .elementor-element.elementor-element-a0afdfc{z-index:1;}.elementor-286 .elementor-element.elementor-element-a0afdfc .elementor-button{font-size:12px;line-height:20px;}.elementor-286 .elementor-element.elementor-element-3410ecb{--padding-top:32px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-286 .elementor-element.elementor-element-b5451a4 .elementor-heading-title{font-size:24px;line-height:36px;}.elementor-286 .elementor-element.elementor-element-f356cae{font-size:18px;line-height:24px;}.elementor-286 .elementor-element.elementor-element-b509f3e{z-index:1;}.elementor-286 .elementor-element.elementor-element-b509f3e .elementor-button{font-size:12px;line-height:20px;}.elementor-286 .elementor-element.elementor-element-6c31fb9{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:31px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-286 .elementor-element.elementor-element-142a3cd .elementor-heading-title{font-size:24px;line-height:36px;}.elementor-286 .elementor-element.elementor-element-19af86d{z-index:1;}.elementor-286 .elementor-element.elementor-element-19af86d .elementor-button{font-size:12px;line-height:20px;}.elementor-286 .elementor-element.elementor-element-cc5c8c7{--padding-top:32px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-286 .elementor-element.elementor-element-ad005e9 .elementor-heading-title{font-size:24px;line-height:36px;}.elementor-286 .elementor-element.elementor-element-c10f2d4{font-size:18px;line-height:24px;}.elementor-286 .elementor-element.elementor-element-f0e5ff3{font-size:18px;line-height:24px;}.elementor-286 .elementor-element.elementor-element-83e17eb{--padding-top:32px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-286 .elementor-element.elementor-element-86cf184 .elementor-heading-title{font-size:24px;line-height:36px;}.elementor-286 .elementor-element.elementor-element-11f2942{font-size:18px;line-height:24px;}}/* Start custom CSS for button, class: .elementor-element-52dc217 */.hideBtn {
    opacity: 0; /* Hace que el botón sea invisible */
    pointer-events: none; /* Deshabilita interacciones */
    transition: opacity 0.3s ease; /* Transición suave */
}

.btn-consultation {
    opacity: 1; /* El botón es visible por defecto */
    transition: opacity 0.3s ease; /* Suave transición */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ce70dd7 *//* Estilos base de la aplicación */
.app-body {
    font-family: "Arial", sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f8f9fa;
    color: #333333;
    line-height: 1.6;
    font-size: 14px;
}

.app-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px;
}

/* Header */
.app-header {
    text-align: center;
    padding: 32px 0;
    background: linear-gradient(135deg, #e3f2fd, #f3e5f5);
    border-radius: 12px;
    margin-bottom: 24px;
    border: 1px solid #e0e0e0;
}

.header-title {
    color: #1976d2;
    margin-bottom: 8px;
    font-size: 30px;
    font-weight: 600;
    margin-top: 0;
}

.header-subtitle {
    color: #666666;
    font-size: 16px;
    margin: 0;
}

/* Cards generales */
.simulator-card,
.results-card,
.table-card,
.educational-card {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 24px;
}

.card-header {
    padding: 16px 20px;
    border-bottom: 1px solid #e0e0e0;
    background-color: #fafafa;
}

.card-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #333333;
}

.card-body {
    padding: 20px;
}

/* Formulario */
.credit-form {
    max-width: 600px;
}

.form-group {
    margin-bottom: 20px;
}

.form-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 14px;
    color: #333333;
}

.form-input,
.form-select {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background-color: #ffffff;
    color: #333333;
    box-sizing: border-box;
    transition: border-color 0.3s ease;
}

.form-input:focus,
.form-select:focus {
    outline: none;
    border-color: #1976d2;
    box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}

.form-input.error,
.form-select.error {
    border-color: #d32f2f;
}

.form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
    appearance: none;
}

/* Input con prefijos y sufijos */
.input-with-prefix,
.input-with-suffix {
    position: relative;
    display: flex;
    align-items: center;
}

.input-prefix,
.input-suffix {
    position: absolute;
    color: #666666;
    font-weight: 500;
    font-size: 14px;
    z-index: 2;
    pointer-events: none;
}

.input-prefix {
    left: 16px;
}

.input-suffix {
    right: 16px;
}

.input-with-prefix .form-input {
    padding-left: 36px;
}

.input-with-suffix .form-input {
    padding-right: 36px;
}

.custom-plazo-group {
    margin-top: 12px;
    display: none;
}

.custom-input {
    margin-top: 8px;
}

/* Mensajes de error */
.error-message {
    color: #d32f2f;
    font-size: 12px;
    margin-top: 4px;
    display: none;
}

.error-message.show {
    display: block;
}

/* Botones */
.btn-primary,
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    text-decoration: none;
    width: 100%;
    box-sizing: border-box;
}

.btn-primary {
    background-color: #1976d2;
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #1565c0;
}

.btn-primary:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

.btn-secondary {
    background-color: #f5f5f5;
    color: #333333;
    border: 1px solid #e0e0e0;
    width: auto;
    min-width: 140px;
}

.btn-secondary:hover {
    background-color: #eeeeee;
}

.toggle-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: transparent;
    border: none;
    padding: 0;
    font-size: 16px;
    font-weight: 500;
    color: #1976d2;
    cursor: pointer;
}

.toggle-btn:hover {
    color: #1565c0;
}

.toggle-icon {
    transition: transform 0.3s ease;
    font-size: 16px;
}

.toggle-icon.rotated {
    transform: rotate(180deg);
}

/* Sección de resultados */
.results-section {
    animation: fadeInUp 0.5s ease-out;
}

.results-section.hidden {
    display: none;
}

.results-card {
    background: linear-gradient(135deg, #fff3e0, #f3e5f5);
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.result-item {
    text-align: center;
    padding: 20px;
    border-radius: 8px;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.result-item.primary-result {
    background: linear-gradient(135deg, #1976d2, #1565c0);
    color: #ffffff;
    border-color: #1976d2;
}

.result-item.primary-result .result-label,
.result-item.primary-result .result-value {
    color: #ffffff;
}

.result-label {
    display: block;
    font-size: 12px;
    color: #666666;
    margin-bottom: 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.result-value {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: #333333;
}

/* Tabla de amortización */
.table-section.hidden {
    display: none;
}

.export-buttons {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.table-container {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.amortization-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #ffffff;
}

.table-header {
    background-color: #f5f5f5;
}

.header-cell {
    background-color: #f5f5f5;
    color: #333333;
    font-weight: 600;
    padding: 12px;
    text-align: left;
    font-size: 12px;
    border-bottom: 2px solid #e0e0e0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.table-cell {
    padding: 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    color: #333333;
    font-size: 13px;
}

.table-row:hover .table-cell {
    background-color: #f9f9f9;
}

.table-row:nth-child(even) .table-cell {
    background-color: #fafafa;
}

/* Sección educativa */
.educational-card {
    background: linear-gradient(135deg, #e8f5e8, #f0f8ff);
}

.explanation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.explanation-item {
    padding: 16px;
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.explanation-title {
    color: #1976d2;
    margin-bottom: 8px;
    font-size: 16px;
    margin-top: 0;
}

.explanation-text {
    color: #666666;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.formula-explanation {
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
}

.formula-title {
    color: #333333;
    margin-bottom: 12px;
    font-size: 16px;
    margin-top: 0;
}

.formula-display {
    font-family: "Courier New", monospace;
    font-size: 18px;
    background-color: #f5f5f5;
    padding: 16px;
    border-radius: 6px;
    text-align: center;
    margin: 12px 0;
    color: #333333;
    font-weight: 600;
    border: 1px solid #e0e0e0;
}

.formula-variables {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 8px;
}

.formula-item {
    color: #666666;
    font-size: 14px;
    padding: 4px 0;
}

.formula-bold {
    color: #333333;
    font-weight: 600;
}

/* Disclaimer */
.disclaimer-box {
    background-color: rgba(255, 152, 0, 0.1);
    border: 1px solid rgba(255, 152, 0, 0.3);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.disclaimer-text {
    color: #333333;
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}

/* Footer */
.app-footer {
    text-align: center;
    padding: 20px;
    border-top: 1px solid #e0e0e0;
    margin-top: 32px;
}

.footer-text {
    color: #666666;
    font-size: 12px;
    margin: 0;
}

/* Alertas */
.alert-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
}

.alert {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 10px;
    font-size: 14px;
    border: 1px solid;
    min-width: 250px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.alert-success {
    background-color: #e8f5e8;
    border-color: #4caf50;
    color: #2e7d32;
}

.alert-error {
    background-color: #ffebee;
    border-color: #f44336;
    color: #c62828;
}

.alert-warning {
    background-color: #fff3e0;
    border-color: #ff9800;
    color: #e65100;
}

/* Animaciones */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    margin: auto;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Estados ocultos */
.hidden {
    display: none !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .app-container {
        padding: 12px;
    }
    
    .header-title {
        font-size: 24px;
    }
    
    .header-subtitle {
        font-size: 14px;
    }
    
    .results-grid {
        grid-template-columns: 1fr;
    }
    
    .explanation-grid {
        grid-template-columns: 1fr;
    }
    
    .formula-variables {
        grid-template-columns: 1fr;
    }
    
    .export-buttons {
        flex-direction: column;
    }
    
    .btn-secondary {
        width: 100%;
    }
    
    .amortization-table {
        font-size: 11px;
    }
    
    .header-cell,
    .table-cell {
        padding: 8px;
    }
    
    .alert-container {
        position: relative;
        top: auto;
        right: auto;
    }
    
    .alert {
        min-width: auto;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .card-body {
        padding: 16px;
    }
    
    .result-value {
        font-size: 20px;
    }
    
    .formula-display {
        font-size: 14px;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a0afdfc */.hideBtn {
    opacity: 0; /* Hace que el botón sea invisible */
    pointer-events: none; /* Deshabilita interacciones */
    transition: opacity 0.3s ease; /* Transición suave */
}

.btn-consultation {
    opacity: 1; /* El botón es visible por defecto */
    transition: opacity 0.3s ease; /* Suave transición */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b509f3e */.hideBtn {
    opacity: 0; /* Hace que el botón sea invisible */
    pointer-events: none; /* Deshabilita interacciones */
    transition: opacity 0.3s ease; /* Transición suave */
}

.btn-consultation {
    opacity: 1; /* El botón es visible por defecto */
    transition: opacity 0.3s ease; /* Suave transición */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-19af86d */.hideBtn {
    opacity: 0; /* Hace que el botón sea invisible */
    pointer-events: none; /* Deshabilita interacciones */
    transition: opacity 0.3s ease; /* Transición suave */
}

.btn-consultation {
    opacity: 1; /* El botón es visible por defecto */
    transition: opacity 0.3s ease; /* Suave transición */
}/* End custom CSS */