﻿/**
 * Calculadora de Aposentadoria MONTEPREV - Stylesheet v1.0.3
 * @package Jeipsen\CalculadoraAposentadoria
 */
:root {
    /* Primary: #C96107 (laranja MONTEPREV) */
    --calc-color-primary:        #C96107;
    --calc-color-primary-hover:  #a84f06;
    --calc-color-primary-active: #8d4205;
    --calc-color-primary-light:  #fdf0e6;
    --calc-color-primary-muted:  #f5d4b2;

    /* Neutrals */
    --calc-color-secondary:      #5f6368;
    --calc-color-secondary-hover:#3c4043;
    --calc-color-secondary-light:#f1f3f4;

    /* Semantic */
    --calc-color-success:        #1e8e3e;
    --calc-color-success-light:  #e6f4ea;
    --calc-color-success-border: #34a853;
    --calc-color-warning:        #b45309;
    --calc-color-warning-light:  #fef3e2;
    --calc-color-warning-border: #d97706;
    --calc-color-error:          #d93025;
    --calc-color-error-light:    #fce8e6;
    --calc-color-error-border:   #ea4335;
    --calc-color-info:           #C96107;
    --calc-color-info-light:     #fdf0e6;
    --calc-color-info-border:    #C96107;

    /* Text */
    --calc-color-text-primary:   #1a1a2e;
    --calc-color-text-secondary: #4a4a6a;
    --calc-color-text-muted:     #7a7a9a;
    --calc-color-text-inverse:   #ffffff;
    --calc-color-text:           #1a1a2e;

    /* Surfaces */
    --calc-color-bg:             #ffffff;
    --calc-color-bg-subtle:      #fafafa;
    --calc-color-bg-overlay:     rgba(201, 97, 7, 0.04);
    --calc-color-border:         #e2e4e9;
    --calc-color-border-focus:   #C96107;

    /* Typography */
    --calc-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --calc-font-size-xs:   0.75rem;
    --calc-font-size-sm:   0.875rem;
    --calc-font-size-base: 1rem;
    --calc-font-size-md:   1.125rem;
    --calc-font-size-lg:   1.25rem;
    --calc-font-size-xl:   1.5rem;
    --calc-font-size-2xl:  1.875rem;
    --calc-font-weight-normal:   400;
    --calc-font-weight-medium:   500;
    --calc-font-weight-semibold: 600;
    --calc-font-weight-bold:     700;
    --calc-line-height: 1.6;

    /* Spacing */
    --calc-space-xs:  0.25rem;
    --calc-space-sm:  0.5rem;
    --calc-space-md:  1rem;
    --calc-space-lg:  1.5rem;
    --calc-space-xl:  2rem;
    --calc-space-2xl: 3rem;

    /* Radii */
    --calc-radius-sm:   6px;
    --calc-radius-md:   10px;
    --calc-radius-lg:   16px;
    --calc-radius-xl:   24px;
    --calc-radius-full: 50%;

    /* Shadows */
    --calc-shadow-sm: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
    --calc-shadow-md: 0 4px 12px rgba(0,0,0,0.10), 0 2px 4px rgba(0,0,0,0.06);
    --calc-shadow-lg: 0 8px 24px rgba(0,0,0,0.12), 0 4px 8px rgba(0,0,0,0.06);
    --calc-shadow-xl: 0 16px 40px rgba(0,0,0,0.14);

    /* Transitions */
    --calc-transition-fast: 0ms;
    --calc-transition-base: 0ms;
    --calc-transition-slow: 0ms;

    /* Focus */
    --calc-focus-ring-width:  3px;
    --calc-focus-ring-color:  #C96107;
    --calc-focus-ring-offset: 2px;
}

/* ===================================================================
   WRAPPER
   =================================================================== */
.calculadora-aposentadoria-wrapper {
    max-width: 820px;
    margin: var(--calc-space-xl) auto;
    padding: var(--calc-space-2xl);
    background: var(--calc-color-bg);
    border-radius: var(--calc-radius-xl);
    box-shadow: var(--calc-shadow-lg);
    font-family: var(--calc-font-family);
    font-size: var(--calc-font-size-base);
    line-height: var(--calc-line-height);
    color: var(--calc-color-text-primary);
    position: relative;
    border-top: 4px solid var(--calc-color-primary);
}

/* ===================================================================
   STEPPER
   =================================================================== */
.calculadora-stepper { margin-bottom: var(--calc-space-2xl); }
.calculadora-stepper__list {
    display: flex; justify-content: space-between; align-items: flex-start;
    list-style: none; padding: 0; margin: 0; position: relative;
}
.calculadora-stepper__list::before {
    content: ""; position: absolute; top: 17px; left: 10%; right: 10%;
    height: 2px; background: linear-gradient(to right, var(--calc-color-primary-muted), var(--calc-color-border)); z-index: 0;
}
.calculadora-stepper__item {
    display: flex; flex-direction: column; align-items: center;
    gap: var(--calc-space-sm); position: relative; z-index: 1; flex: 1;
}
.calculadora-stepper__number {
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border-radius: var(--calc-radius-full);
    background: var(--calc-color-bg); border: 2px solid var(--calc-color-border);
    color: var(--calc-color-text-muted); font-weight: var(--calc-font-weight-bold);
    font-size: var(--calc-font-size-sm); transition: all var(--calc-transition-base);
    box-shadow: var(--calc-shadow-sm);
}
.calculadora-stepper__label {
    font-size: var(--calc-font-size-xs); color: var(--calc-color-text-muted);
    text-align: center; transition: color var(--calc-transition-base);
    font-weight: var(--calc-font-weight-medium);
}
.calculadora-stepper__item--active .calculadora-stepper__number,
.calculadora-stepper__item--completed .calculadora-stepper__number {
    background: var(--calc-color-primary); border-color: var(--calc-color-primary);
    color: #fff; box-shadow: 0 0 0 4px var(--calc-color-primary-light);
}
.calculadora-stepper__item--active .calculadora-stepper__label,
.calculadora-stepper__item--completed .calculadora-stepper__label {
    color: var(--calc-color-primary); font-weight: var(--calc-font-weight-semibold);
}

/* ===================================================================
   STEPS
   =================================================================== */
.calculadora-steps { min-height: 320px; }
.calculadora-step { display: none; }
.calculadora-step--active { display: block; }

/* ===================================================================
   FIELDSETS & FIELDS
   =================================================================== */
.calculadora-fieldset { border: none; padding: 0; margin: 0; }
.calculadora-fieldset__title {
    font-size: var(--calc-font-size-2xl); font-weight: var(--calc-font-weight-bold);
    color: var(--calc-color-text-primary); margin-bottom: var(--calc-space-xs);
    letter-spacing: -0.02em;
}
.calculadora-fieldset__description {
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
    margin-bottom: var(--calc-space-xl); line-height: 1.7;
}
.calculadora-field { margin-bottom: var(--calc-space-lg); }
.calculadora-field__label {
    display: block; font-size: var(--calc-font-size-sm);
    font-weight: var(--calc-font-weight-semibold); color: var(--calc-color-text-primary);
    margin-bottom: var(--calc-space-xs);
}
.calculadora-field__required { color: var(--calc-color-error); margin-left: 2px; }
.calculadora-field__tooltip {
    display: block; font-size: var(--calc-font-size-xs); color: var(--calc-color-text-muted);
    margin-top: var(--calc-space-xs); line-height: 1.5;
}

/* ===================================================================
   INPUTS
   =================================================================== */
.calculadora-field__input {
    display: block; width: 100%;
    padding: 0.65rem var(--calc-space-md);
    font-size: var(--calc-font-size-base); font-family: var(--calc-font-family);
    color: var(--calc-color-text-primary); background-color: var(--calc-color-bg);
    border: 1.5px solid var(--calc-color-border); border-radius: var(--calc-radius-md);
    transition: border-color var(--calc-transition-fast), box-shadow var(--calc-transition-fast);
    box-sizing: border-box;
}
.calculadora-field__input:hover { border-color: var(--calc-color-primary-muted); }
.calculadora-field__input:focus {
    border-color: var(--calc-color-primary);
    box-shadow: 0 0 0 3px var(--calc-color-primary-light);
    outline: none;
}
.calculadora-field__input--number {
    width: 80px; text-align: center;
    -moz-appearance: textfield; appearance: textfield;
}
.calculadora-field__input--number::-webkit-inner-spin-button,
.calculadora-field__input--number::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.calculadora-field__input--select {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23C96107' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 0.875rem center;
    padding-right: 2.5rem;
}
.calculadora-field__input--error,
.calculadora-field__input[aria-invalid="true"] {
    border-color: var(--calc-color-error-border); background: var(--calc-color-error-light);
}
.calculadora-field__inline-group { display: flex; align-items: center; gap: var(--calc-space-md); flex-wrap: wrap; }
.calculadora-field__inline-item { display: flex; align-items: center; gap: var(--calc-space-sm); }
.calculadora-field__unit { font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary); }
.calculadora-field__error {
    display: block; font-size: var(--calc-font-size-xs); color: var(--calc-color-error);
    margin-top: var(--calc-space-xs); min-height: 1rem; line-height: 1.4;
}
.calculadora-field--conditional {
    padding: var(--calc-space-md) var(--calc-space-lg);
    border-left: 3px solid var(--calc-color-primary-light);
    margin-left: var(--calc-space-sm);
    background: var(--calc-color-primary-light);
    border-radius: 0 var(--calc-radius-md) var(--calc-radius-md) 0;
    transition: opacity var(--calc-transition-base);
}

/* ===================================================================
   RADIOS
   =================================================================== */
.calculadora-field__radio-group { display: flex; gap: var(--calc-space-md); flex-wrap: wrap; }
.calculadora-radio {
    display: flex; align-items: center; gap: var(--calc-space-sm); cursor: pointer;
    padding: var(--calc-space-sm) var(--calc-space-md); border-radius: var(--calc-radius-md);
    transition: background var(--calc-transition-fast); border: 1.5px solid var(--calc-color-border);
}
.calculadora-radio:hover { background: var(--calc-color-primary-light); border-color: var(--calc-color-primary-muted); }
.calculadora-radio__input { position: absolute; opacity: 0; width: 0; height: 0; }
.calculadora-radio__custom {
    display: flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: var(--calc-radius-full);
    border: 2px solid var(--calc-color-border); transition: all var(--calc-transition-fast); flex-shrink: 0;
}
.calculadora-radio__custom::after {
    content: ""; width: 10px; height: 10px; border-radius: var(--calc-radius-full);
    background: var(--calc-color-primary); transform: scale(0); transition: transform var(--calc-transition-fast);
}
.calculadora-radio__input:checked + .calculadora-radio__custom { border-color: var(--calc-color-primary); }
.calculadora-radio__input:checked + .calculadora-radio__custom::after { transform: scale(1); }
.calculadora-radio__label { font-size: var(--calc-font-size-sm); color: var(--calc-color-text-primary); font-weight: var(--calc-font-weight-medium); }

/* ===================================================================
   CHECKBOXES
   =================================================================== */
.calculadora-checkbox {
    display: flex; align-items: flex-start; gap: var(--calc-space-sm);
    cursor: pointer; padding: var(--calc-space-sm) 0;
}
.calculadora-checkbox__input { position: absolute; opacity: 0; width: 0; height: 0; }
.calculadora-checkbox__custom {
    display: flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: var(--calc-radius-sm);
    border: 2px solid var(--calc-color-border); transition: all var(--calc-transition-fast);
    flex-shrink: 0; margin-top: 2px;
}
.calculadora-checkbox__custom::after {
    content: ""; width: 5px; height: 10px;
    border: solid var(--calc-color-text-inverse); border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0); transition: transform var(--calc-transition-fast);
}
.calculadora-checkbox__input:checked + .calculadora-checkbox__custom {
    background: var(--calc-color-primary); border-color: var(--calc-color-primary);
}
.calculadora-checkbox__input:checked + .calculadora-checkbox__custom::after { transform: rotate(45deg) scale(1); }
.calculadora-checkbox__label { font-size: var(--calc-font-size-sm); color: var(--calc-color-text-primary); line-height: 1.5; }

/* ===================================================================
   BUTTONS
   =================================================================== */
.calculadora-btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.7rem 1.75rem; font-family: var(--calc-font-family);
    font-size: var(--calc-font-size-sm); font-weight: var(--calc-font-weight-semibold);
    line-height: 1.5; border-radius: var(--calc-radius-md); cursor: pointer;
    border: 2px solid transparent; transition: all var(--calc-transition-fast);
    text-decoration: none; white-space: nowrap; min-height: 44px; min-width: 44px;
    letter-spacing: 0.01em;
}
.calculadora-btn:disabled { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.calculadora-btn--primary {
    background: var(--calc-color-primary); color: #fff;
    border-color: var(--calc-color-primary);
    box-shadow: 0 2px 8px rgba(201,97,7,0.25);
}
.calculadora-btn--primary:hover {
    background: var(--calc-color-primary-hover); border-color: var(--calc-color-primary-hover);
    box-shadow: 0 4px 14px rgba(201,97,7,0.35);
}
.calculadora-btn--primary:active {
    background: var(--calc-color-primary-active); border-color: var(--calc-color-primary-active);
    box-shadow: none;
}
.calculadora-btn--secondary {
    background: transparent; color: var(--calc-color-primary); border-color: var(--calc-color-primary);
}
.calculadora-btn--secondary:hover {
    background: var(--calc-color-primary-light); box-shadow: var(--calc-shadow-sm);
}

/* ===================================================================
   NAVIGATION
   =================================================================== */
.calculadora-navigation {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: var(--calc-space-xl); padding-top: var(--calc-space-lg);
    border-top: 1px solid var(--calc-color-border);
}

/* ===================================================================
   DISCLAIMER
   =================================================================== */
.calculadora-disclaimer {
    margin-top: var(--calc-space-2xl); padding: var(--calc-space-lg);
    background: var(--calc-color-primary-light);
    border-left: 4px solid var(--calc-color-primary);
    border-radius: var(--calc-radius-md);
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary); line-height: 1.75;
}
.calculadora-disclaimer p { margin: 0; }
.calculadora-results__disclaimer {
    margin-top: var(--calc-space-2xl); padding: var(--calc-space-lg);
    background: var(--calc-color-primary-light);
    border-left: 4px solid var(--calc-color-primary);
    border-radius: var(--calc-radius-md);
}
.calculadora-results__disclaimer-title {
    font-size: var(--calc-font-size-base); font-weight: var(--calc-font-weight-bold);
    color: var(--calc-color-primary); margin-bottom: var(--calc-space-sm);
}
.calculadora-results__disclaimer-list { list-style: none; padding: 0; margin: 0; }
.calculadora-results__disclaimer-list li {
    position: relative; padding-left: var(--calc-space-lg); margin-bottom: var(--calc-space-sm);
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary); line-height: 1.75;
}
.calculadora-results__disclaimer-list li:last-child { margin-bottom: 0; }
.calculadora-results__disclaimer-list li::before {
    content: "◆"; position: absolute; left: 0; top: 2px;
    font-size: 0.6rem; color: var(--calc-color-primary);
}

/* ===================================================================
   RESULTS
   =================================================================== */
.calculadora-results { padding: var(--calc-space-md) 0; }
.calculadora-results__title {
    font-size: var(--calc-font-size-xl); font-weight: var(--calc-font-weight-bold);
    color: var(--calc-color-text-primary); margin: 0 0 var(--calc-space-xs) 0;
    letter-spacing: -0.01em;
}
.calculadora-results__description {
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
    margin: 0 0 var(--calc-space-lg) 0;
}
.calculadora-results__section { margin-bottom: var(--calc-space-xl); }
.calculadora-results__section-title {
    font-size: var(--calc-font-size-md); font-weight: var(--calc-font-weight-bold);
    margin: 0 0 var(--calc-space-xs) 0; padding: var(--calc-space-xs) var(--calc-space-md);
    border-radius: var(--calc-radius-sm); display: inline-block;
}
.calculadora-results__section-title--eligible {
    color: var(--calc-color-success); background: var(--calc-color-success-light);
    border-left: 3px solid var(--calc-color-success);
}
.calculadora-results__section-title--ineligible {
    color: var(--calc-color-warning); background: var(--calc-color-warning-light);
    border-left: 3px solid var(--calc-color-warning-border);
}
.calculadora-results__section-title--comparison {
    color: var(--calc-color-primary); background: var(--calc-color-primary-light);
    border-left: 3px solid var(--calc-color-primary);
}
.calculadora-results__section-description {
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
    margin: var(--calc-space-xs) 0 var(--calc-space-md) 0;
}
.calculadora-results__cards { display: grid; gap: var(--calc-space-md); }

/* Loading */
.calculadora-results__loading {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: var(--calc-space-2xl); gap: var(--calc-space-md);
}
.calculadora-results__loading-text {
    color: var(--calc-color-text-muted); font-size: var(--calc-font-size-sm);
    font-weight: var(--calc-font-weight-medium);
}
.calculadora-spinner__circle {
    width: 44px; height: 44px;
    border: 3px solid var(--calc-color-primary-light);
    border-top-color: var(--calc-color-primary);
    border-radius: var(--calc-radius-full);
}
@keyframes calcSpin { to { transform: rotate(360deg); } }

/* Comparison section */
.calculadora-results__comparison-content {
    background: var(--calc-color-bg-subtle); border: 1px solid var(--calc-color-border);
    border-radius: var(--calc-radius-md); padding: var(--calc-space-lg);
}
.calculadora-comparison__best,
.calculadora-comparison__earliest,
.calculadora-comparison__summary {
    display: flex; align-items: baseline; gap: var(--calc-space-sm);
    padding: var(--calc-space-sm) 0;
    border-bottom: 1px solid var(--calc-color-border);
}
.calculadora-comparison__summary { border-bottom: none; display: block; }
.calculadora-comparison__label {
    font-size: var(--calc-font-size-sm); font-weight: var(--calc-font-weight-semibold);
    color: var(--calc-color-text-secondary); min-width: 160px; flex-shrink: 0;
}
.calculadora-comparison__value { font-size: var(--calc-font-size-sm); color: var(--calc-color-text-primary); }
.calculadora-comparison__value--highlight {
    font-weight: var(--calc-font-weight-bold); color: var(--calc-color-primary);
}
.calculadora-comparison__text {
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
    line-height: 1.7; margin: var(--calc-space-sm) 0 0;
}

/* ===================================================================
   CARDS
   =================================================================== */
.calculadora-card { background: var(--calc-color-bg); border-radius: var(--calc-radius-lg); border: 1px solid var(--calc-color-border); box-shadow: var(--calc-shadow-sm); overflow: hidden; }
.calculadora-card:hover { box-shadow: var(--calc-shadow-md); }
.calculadora-card--eligible {
    border-left: 4px solid var(--calc-color-success);
    background: linear-gradient(135deg, var(--calc-color-bg) 0%, var(--calc-color-success-light) 100%);
}
.calculadora-card--ineligible { border-left: 4px solid var(--calc-color-warning-border); }
.calculadora-card__header {
    display: flex; align-items: center; justify-content: space-between;
    padding: var(--calc-space-md) var(--calc-space-lg);
    border-bottom: 1px solid var(--calc-color-border);
    background: rgba(0,0,0,0.015);
}
.calculadora-card__title {
    font-size: var(--calc-font-size-sm); font-weight: var(--calc-font-weight-bold);
    color: var(--calc-color-text-primary); margin: 0; line-height: 1.4;
}
.calculadora-card__badge {
    display: inline-flex; align-items: center; padding: 0.2rem 0.75rem;
    font-size: var(--calc-font-size-xs); font-weight: var(--calc-font-weight-bold);
    border-radius: 999px; flex-shrink: 0; margin-left: var(--calc-space-sm); letter-spacing: 0.04em;
    text-transform: uppercase;
}
.calculadora-card__badge--eligible {
    background: var(--calc-color-success); color: #fff;
    box-shadow: 0 2px 6px rgba(30,142,62,0.3);
}
.calculadora-card__badge--pending {
    background: var(--calc-color-warning); color: #fff;
    box-shadow: 0 2px 6px rgba(180,83,9,0.3);
}
.calculadora-card__body { padding: var(--calc-space-md) var(--calc-space-lg); }
.calculadora-card__footer {
    padding: var(--calc-space-sm) var(--calc-space-lg);
    background: var(--calc-color-bg-subtle);
    border-top: 1px solid var(--calc-color-border);
}
.calculadora-card__legal {
    font-size: var(--calc-font-size-xs); color: var(--calc-color-text-muted); font-style: italic;
}

/* Requirements list */
.calculadora-card__requirements {
    list-style: none; padding: 0; margin: 0 0 var(--calc-space-md) 0;
}
.calculadora-card__requirement {
    display: flex; align-items: flex-start; gap: var(--calc-space-xs);
    padding: var(--calc-space-xs) 0;
    border-bottom: 1px solid var(--calc-color-bg-overlay);
    font-size: var(--calc-font-size-sm); line-height: 1.5;
}
.calculadora-card__requirement:last-child { border-bottom: none; }
.calculadora-card__req-icon {
    flex-shrink: 0; font-style: normal; font-weight: bold;
    width: 18px; text-align: center; margin-top: 1px;
}
.calculadora-card__requirement--met .calculadora-card__req-icon { color: var(--calc-color-success); }
.calculadora-card__requirement--missing .calculadora-card__req-icon { color: var(--calc-color-error); }
.calculadora-card__req-text { color: var(--calc-color-text-secondary); }
.calculadora-card__requirement--missing .calculadora-card__req-text { color: var(--calc-color-text-primary); }

/* Benefit */
.calculadora-card__benefit {
    margin-top: var(--calc-space-md); padding-top: var(--calc-space-md);
    border-top: 1px solid var(--calc-color-border);
}
.calculadora-card__benefit-description {
    font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
    margin: 0 0 var(--calc-space-sm) 0; line-height: 1.6;
}
.calculadora-card__benefit-percentage {
    font-size: var(--calc-font-size-base); color: var(--calc-color-text-primary);
    margin: 0 0 var(--calc-space-sm) 0;
}
.calculadora-card__benefit-formula {
    font-size: var(--calc-font-size-xs); color: var(--calc-color-text-muted);
    background: var(--calc-color-bg-subtle); padding: var(--calc-space-xs) var(--calc-space-sm);
    border-radius: var(--calc-radius-sm); margin: 0 0 var(--calc-space-sm) 0;
    font-family: monospace; border: 1px solid var(--calc-color-border);
}
.calculadora-card__reajuste {
    display: inline-flex; align-items: center; gap: var(--calc-space-xs);
    padding: 0.3rem 0.75rem; border-radius: 999px;
    font-size: var(--calc-font-size-xs); font-weight: var(--calc-font-weight-semibold);
    margin-top: var(--calc-space-xs);
}
.calculadora-card__reajuste--paridade {
    background: #e8f5e9; color: #1b5e20; border: 1px solid #a5d6a7;
}
.calculadora-card__reajuste--rgps {
    background: var(--calc-color-primary-light); color: var(--calc-color-primary-active);
    border: 1px solid var(--calc-color-primary-muted);
}

/* Projection */
.calculadora-card__projection {
    display: flex; align-items: center; gap: var(--calc-space-xs);
    margin-top: var(--calc-space-md); padding: var(--calc-space-sm) var(--calc-space-md);
    background: var(--calc-color-warning-light); border-radius: var(--calc-radius-md);
    font-size: var(--calc-font-size-sm); color: var(--calc-color-warning);
    border: 1px solid #fde68a; font-weight: var(--calc-font-weight-medium);
}

/* Error */
.calculadora-results__error {
    padding: var(--calc-space-md) var(--calc-space-lg); background: var(--calc-color-error-light);
    border: 1px solid var(--calc-color-error-border); border-radius: var(--calc-radius-md);
    margin-bottom: var(--calc-space-md);
}
.calculadora-results__error-text { margin: 0; color: var(--calc-color-error); font-size: var(--calc-font-size-sm); }

/* ===================================================================
   NO ELIGIBLE
   =================================================================== */
.calculadora-no-eligible {
    display: flex; align-items: flex-start; gap: var(--calc-space-md);
    background: var(--calc-color-warning-light);
    border: 1px solid #fde68a; border-left: 4px solid var(--calc-color-warning-border);
    border-radius: var(--calc-radius-md); padding: var(--calc-space-lg);
}
.calculadora-no-eligible__icon {
    font-size: 1.5rem; line-height: 1; color: var(--calc-color-warning); flex-shrink: 0;
}
.calculadora-no-eligible__text strong {
    display: block; font-size: var(--calc-font-size-base); color: var(--calc-color-text-primary);
    margin-bottom: var(--calc-space-xs); font-weight: var(--calc-font-weight-bold);
}
.calculadora-no-eligible__text p {
    margin: 0; font-size: var(--calc-font-size-sm); color: var(--calc-color-text-secondary);
}
.calculadora-results__section--none .calculadora-results__section-title--eligible {
    color: var(--calc-color-text-muted); background: var(--calc-color-secondary-light);
    border-left-color: var(--calc-color-text-muted);
}

/* ===================================================================
   FOCUS & ACCESSIBILITY
   =================================================================== */
*:focus-visible {
    outline: var(--calc-focus-ring-width) solid var(--calc-focus-ring-color);
    outline-offset: var(--calc-focus-ring-offset);
}
*:focus:not(:focus-visible) { outline: none; }
.calculadora-radio__input:focus-visible + .calculadora-radio__custom,
.calculadora-checkbox__input:focus-visible + .calculadora-checkbox__custom {
    outline: var(--calc-focus-ring-width) solid var(--calc-focus-ring-color);
    outline-offset: var(--calc-focus-ring-offset);
    box-shadow: 0 0 0 4px var(--calc-color-primary-light);
}
.calculadora-field__input:focus-visible {
    border-color: var(--calc-color-primary);
    box-shadow: 0 0 0 3px var(--calc-color-primary-light);
    outline: none;
}
.calculadora-btn:focus-visible {
    outline: var(--calc-focus-ring-width) solid var(--calc-focus-ring-color);
    outline-offset: var(--calc-focus-ring-offset);
    box-shadow: 0 0 0 4px var(--calc-color-primary-light);
}

/* Skip link */
.calculadora-skip-link {
    position: absolute; top: -100%; left: var(--calc-space-md);
    padding: var(--calc-space-sm) var(--calc-space-md);
    background: var(--calc-color-primary); color: #fff;
    font-size: var(--calc-font-size-sm); font-weight: var(--calc-font-weight-semibold);
    border-radius: var(--calc-radius-md); text-decoration: none;
    z-index: 1000; transition: top var(--calc-transition-fast);
}
.calculadora-skip-link:focus { top: var(--calc-space-md); }

/* ===================================================================
   RESPONSIVE
   =================================================================== */
@media (min-width: 769px) {
    .calculadora-stepper__label { display: block; }
    .calculadora-field__inline-group { flex-direction: row; }
    .calculadora-field__radio-group { flex-direction: row; }
    .calculadora-navigation { flex-direction: row; }
    .calculadora-results__cards { grid-template-columns: repeat(2, 1fr); }
    .calculadora-field__tooltip { opacity: 0; max-height: 0; overflow: hidden; margin-top: 0; padding: 0; }
    .calculadora-field:hover .calculadora-field__tooltip,
    .calculadora-field:focus-within .calculadora-field__tooltip {
        opacity: 1; max-height: 100px; margin-top: var(--calc-space-xs); padding: var(--calc-space-xs) 0;
    }
}
@media (max-width: 768px) {
    .calculadora-aposentadoria-wrapper { padding: var(--calc-space-lg); border-radius: var(--calc-radius-lg); margin: var(--calc-space-md); }
    .calculadora-stepper__label { font-size: var(--calc-font-size-xs); max-width: 70px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .calculadora-stepper__number { width: 32px; height: 32px; font-size: var(--calc-font-size-xs); }
    .calculadora-stepper__list::before { top: 16px; left: 30px; right: 30px; }
    .calculadora-results__cards { grid-template-columns: 1fr; }
    .calculadora-field__tooltip { opacity: 1; max-height: none; }
}
@media (max-width: 480px) {
    .calculadora-aposentadoria-wrapper { padding: var(--calc-space-md); margin: var(--calc-space-sm); border-radius: var(--calc-radius-md); }
    .calculadora-stepper__label { display: none; }
    .calculadora-stepper__number { width: 28px; height: 28px; font-size: var(--calc-font-size-xs); }
    .calculadora-stepper__list::before { top: 14px; left: 20px; right: 20px; }
    .calculadora-stepper { margin-bottom: var(--calc-space-lg); }
    .calculadora-field__inline-group { flex-direction: column; align-items: stretch; gap: var(--calc-space-sm); }
    .calculadora-field__inline-item { width: 100%; }
    .calculadora-field__input--number { width: 100%; text-align: left; }
    .calculadora-field__input { font-size: 16px; }
    .calculadora-field__radio-group { flex-direction: column; gap: var(--calc-space-sm); }
    .calculadora-navigation { flex-direction: column-reverse; gap: var(--calc-space-md); }
    .calculadora-btn { width: 100%; }
    .calculadora-btn--prev { order: 2; }
    .calculadora-btn--next, .calculadora-btn--submit { order: 1; }
    .calculadora-fieldset__title { font-size: var(--calc-font-size-lg); }
    .calculadora-fieldset__description { font-size: var(--calc-font-size-sm); }
    .calculadora-results__title { font-size: var(--calc-font-size-xl); }
    .calculadora-disclaimer, .calculadora-results__disclaimer { padding: var(--calc-space-md); font-size: var(--calc-font-size-xs); }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    .calculadora-spinner__circle { animation: none; opacity: 0.7; }
    .calculadora-step { animation: none; }
    .calculadora-card:hover { transform: none; }
    .calculadora-btn--primary:hover { transform: none; }
}
@media print {
    .calculadora-aposentadoria-wrapper { box-shadow: none; padding: 0; max-width: 100%; border-top: none; }
    .calculadora-navigation, .calculadora-stepper, .calculadora-results__loading { display: none; }
    .calculadora-step { display: block !important; }
    .calculadora-results__section { display: block !important; }
    * { transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
    .calculadora-radio__custom, .calculadora-checkbox__custom { border: 2px solid ButtonText; }
    .calculadora-radio__input:checked + .calculadora-radio__custom,
    .calculadora-checkbox__input:checked + .calculadora-checkbox__custom { background-color: Highlight; border-color: Highlight; }
    .calculadora-btn--primary { border: 2px solid ButtonText; }
    .calculadora-field__input { border: 1px solid ButtonText; }
    .calculadora-disclaimer, .calculadora-results__disclaimer { border: 2px solid CanvasText; }
}

/* ===================================================================
   VALOR ESTIMADO EM R$
   =================================================================== */
.calculadora-card__benefit-value {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: var(--calc-space-sm);
    padding: var(--calc-space-sm) var(--calc-space-md);
    background: linear-gradient(135deg, var(--calc-color-primary-light) 0%, #fef3e8 100%);
    border: 1px solid var(--calc-color-primary-muted);
    border-radius: var(--calc-radius-md);
    gap: var(--calc-space-sm);
}
.calculadora-card__benefit-value-label {
    font-size: var(--calc-font-size-sm);
    font-weight: var(--calc-font-weight-semibold);
    color: var(--calc-color-text-secondary);
    flex-shrink: 0;
}
.calculadora-card__benefit-value-amount {
    font-size: var(--calc-font-size-lg);
    font-weight: var(--calc-font-weight-bold);
    color: var(--calc-color-primary);
    letter-spacing: -0.01em;
}

/* Campo de moeda */
.calculadora-field__input--currency {
    font-variant-numeric: tabular-nums;
}

/* ===================================================================
   FIELD HELP TEXT
   =================================================================== */
.calculadora-field__help {
    font-size: var(--calc-font-size-xs);
    color: var(--calc-color-primary);
    background: var(--calc-color-primary-light);
    border-left: 3px solid var(--calc-color-primary-muted);
    border-radius: 0 var(--calc-radius-sm) var(--calc-radius-sm) 0;
    padding: var(--calc-space-xs) var(--calc-space-sm);
    margin: var(--calc-space-xs) 0 var(--calc-space-sm) 0;
    line-height: 1.5;
}
