.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:var(--z-fixed)}.header__content{height:100%;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.header__brand{display:flex;align-items:center;gap:var(--space-md)}.header__logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.header__logo-icon{font-size:24px;filter:grayscale(100%) brightness(200%)}.header__title-wrapper{display:flex;flex-direction:column;gap:2px}.header__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;line-height:1.2}.header__subtitle{font-size:var(--font-size-xs);color:var(--text-secondary);margin:0;line-height:1.2}.header__process-info{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.header__process-item{display:flex;flex-direction:column;gap:2px}.header__process-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.header__process-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}@media (max-width: 1024px){.header__process-info{display:none}}@media (max-width: 768px){.header__content{padding:0 var(--space-md)}.header__title{font-size:var(--font-size-base)}.header__subtitle{display:none}.header__logo{width:40px;height:40px}.header__logo-icon{font-size:20px}}.sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);display:flex;flex-direction:column;background-color:var(--bg-primary);border-right:1px solid var(--border-color);transition:transform var(--transition-base);z-index:var(--z-sticky)}.sidebar__header{padding:var(--space-md);border-bottom:1px solid var(--border-color);display:flex;justify-content:flex-end}.sidebar__toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sidebar__toggle:hover{background-color:var(--gray-100);border-color:var(--border-color-hover)}.sidebar__toggle-icon{font-size:var(--font-size-xl)}.sidebar__nav{flex:1;overflow-y:auto;padding:var(--space-md)}.sidebar__menu{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar__link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);cursor:pointer}.sidebar__link:hover{background-color:var(--gray-100);color:var(--text-primary)}.sidebar__link--active{background-color:var(--primary-light);color:var(--primary);font-weight:var(--font-weight-medium)}.sidebar__link-icon{font-size:24px;min-width:24px;display:flex;align-items:center;justify-content:center}.sidebar__link-text{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar__link-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.2}.sidebar__link-description{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.2}.sidebar__link--active .sidebar__link-description{color:var(--primary);opacity:.8}.sidebar__footer{padding:var(--space-md);border-top:1px solid var(--border-color)}.sidebar__version{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm);background-color:var(--gray-100);border-radius:var(--radius-sm)}.sidebar__version-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sidebar__version-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.sidebar__overlay{display:none}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar:not(.sidebar--collapsed){transform:translate(0)}.sidebar:not(.sidebar--collapsed)~.sidebar__overlay,.sidebar__overlay{display:block;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:calc(var(--z-sticky) - 1)}}@media (min-width: 769px){.sidebar__toggle{display:none}.sidebar{transform:translate(0)}}.main-layout{min-height:100vh;display:flex;flex-direction:column}.main-layout__content{margin-top:var(--header-height);margin-left:var(--sidebar-width);flex:1;background-color:var(--bg-secondary);overflow-y:auto;transition:margin-left var(--transition-base)}.main-layout__container{padding:var(--space-xl);max-width:var(--max-width-content);margin:0 auto;animation:fadeIn .3s ease-in-out}@media (max-width: 768px){.main-layout__content{margin-left:0}.main-layout__container{padding:var(--space-lg)}}@media (min-width: 769px) and (max-width: 1024px){.main-layout__container{padding:var(--space-lg)}}.input{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.input__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer}.input__required{color:var(--error);margin-left:2px}.input__field{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input__field::placeholder{color:var(--text-tertiary)}.input__field:hover:not(:disabled){border-color:var(--border-color-hover)}.input__field:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--primary-light);outline:none}.input__field--error{border-color:var(--error)}.input__field--error:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.input__field--disabled{background-color:var(--gray-100);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.input__error{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:var(--space-xs)}.input__error:before{content:"⚠";font-size:var(--font-size-base)}.input__field[type=number]::-webkit-inner-spin-button,.input__field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input__field[type=number]{-moz-appearance:textfield}.input__field[type=date]{cursor:pointer}.input__field[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.input__field[type=date]::-webkit-calendar-picker-indicator:hover{background-color:var(--gray-100)}.select{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.select__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer}.select__required{color:var(--error);margin-left:2px}.select__field{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-primary);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='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;background-size:12px;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all var(--transition-fast);padding-right:calc(var(--space-md) * 2 + 12px)}.select__field:hover:not(:disabled){border-color:var(--border-color-hover)}.select__field:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--primary-light);outline:none}.select__field--error{border-color:var(--error)}.select__field--error:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.select__field--disabled{background-color:var(--gray-100);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.select__error{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:var(--space-xs)}.select__error:before{content:"⚠";font-size:var(--font-size-base)}.select__field option{padding:var(--space-sm);background-color:var(--bg-primary);color:var(--text-primary)}.select__field option:disabled{color:var(--text-tertiary)}.checkbox{display:inline-flex;align-items:flex-start;width:100%}.checkbox__input{position:absolute;opacity:0;width:0;height:0}.checkbox__label{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer;user-select:none;-webkit-user-select:none;transition:opacity var(--transition-fast)}.checkbox__label--disabled{opacity:.5;cursor:not-allowed}.checkbox__box{width:20px;height:20px;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.checkbox__label:hover:not(.checkbox__label--disabled) .checkbox__box{border-color:var(--border-color-hover);background-color:var(--gray-50)}.checkbox__input:checked+.checkbox__label .checkbox__box{background-color:var(--primary);border-color:var(--primary)}.checkbox__input:focus-visible+.checkbox__label .checkbox__box{outline:2px solid var(--primary);outline-offset:2px}.checkbox__check{width:12px;height:10px;color:var(--text-inverse);animation:checkPop .2s ease-in-out}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.checkbox__text{font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-normal);word-break:break-word}.checkbox+.checkbox{margin-top:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;border-radius:var(--radius-md);border:2px solid transparent;transition:all var(--transition-fast);cursor:pointer;user-select:none;-webkit-user-select:none}.btn--sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);min-height:32px}.btn--md{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);min-height:40px}.btn--lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);min-height:48px}.btn--primary{background-color:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.btn--primary:hover:not(.btn--disabled){background-color:var(--primary-hover);border-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--primary:active:not(.btn--disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--secondary{background-color:transparent;color:var(--primary);border-color:var(--primary)}.btn--secondary:hover:not(.btn--disabled){background-color:var(--primary-light);border-color:var(--primary-hover)}.btn--secondary:active:not(.btn--disabled){background-color:var(--primary-light)}.btn--danger{background-color:var(--error);color:var(--text-inverse);border-color:var(--error)}.btn--danger:hover:not(.btn--disabled){background-color:var(--error-hover);border-color:var(--error-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--danger:active:not(.btn--disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn--ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover:not(.btn--disabled){background-color:var(--gray-100);color:var(--text-primary)}.btn--ghost:active:not(.btn--disabled){background-color:var(--gray-200)}.btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--full-width{width:100%}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn svg{width:1em;height:1em}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.card--padding-none,.card--padding-none .card__content{padding:0}.card--padding-sm .card__content{padding:var(--space-md)}.card--padding-md .card__content{padding:var(--space-lg)}.card--padding-lg .card__content{padding:var(--space-xl)}.card__header{padding:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.card__header+.card__content{padding-top:var(--space-lg)}.card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.card--clickable{cursor:pointer;transition:all var(--transition-fast)}.card--clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card--clickable:active{transform:translateY(0);box-shadow:var(--shadow-md)}.card--highlighted{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.process-form{width:100%;max-width:800px;margin:0 auto}.process-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.process-form__field{display:flex;flex-direction:column}.process-form__field--small{grid-column:span 1}.process-form__field--full{grid-column:span 2}.process-form__field--with-button{grid-column:span 1;display:flex;gap:var(--space-sm);align-items:flex-end}.process-form__field--with-button>*:first-child{flex:1}.process-form__divider{grid-column:span 2;height:1px;background-color:var(--border-color);margin:var(--space-md) 0}.process-form__actions-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-sm);display:block}.process-form__actions-label:after{content:" *";color:var(--error)}.process-form__actions-list{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.process-form__error{font-size:var(--font-size-sm);color:var(--error);margin-top:var(--space-xs);display:block}.process-form__actions{display:flex;justify-content:flex-end;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}@media (max-width: 768px){.process-form__grid{grid-template-columns:1fr;gap:var(--space-md)}.process-form__field--small,.process-form__field--full{grid-column:span 1}.process-form__field--with-button{flex-direction:column;align-items:stretch}.process-form__divider{grid-column:span 1}.process-form__actions{flex-direction:column-reverse}.process-form__actions button{width:100%}}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge--success{background-color:var(--success-light);color:var(--success-dark)}.badge--warning{background-color:var(--warning-light);color:var(--warning-dark)}.badge--error{background-color:var(--error-light);color:var(--error-dark)}.badge--info{background-color:var(--info-light);color:var(--info-dark)}.investment-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast)}.investment-item:hover{background-color:var(--gray-100);border-color:var(--border-color-hover)}.investment-item__info{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.investment-item__number,.investment-item__fund{display:flex;align-items:center;gap:var(--space-sm)}.investment-item__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.investment-item__value{font-size:var(--font-size-base);color:var(--text-primary);font-weight:var(--font-weight-medium)}.investment-item__actions{display:flex;align-items:center;gap:var(--space-sm)}.investment-item__badge-button{background:none;border:none;padding:0;cursor:pointer;transition:transform var(--transition-fast)}.investment-item__badge-button:hover{transform:scale(1.05)}.investment-item__buttons{display:flex;gap:var(--space-xs)}@media (max-width: 768px){.investment-item{flex-direction:column;align-items:stretch}.investment-item__actions{justify-content:space-between}}.account-card{margin-bottom:var(--space-lg);border:2px solid var(--border-color);transition:all var(--transition-fast)}.account-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg)}.account-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:2px solid var(--border-color)}.account-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.account-card__header-actions{display:flex;gap:var(--space-xs)}.account-card__section{margin-bottom:var(--space-lg)}.account-card__section:last-child{margin-bottom:0}.account-card__section-header{margin-bottom:var(--space-md)}.account-card__section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.account-card__checking{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.account-card__checking-info{display:flex;align-items:center;gap:var(--space-sm)}.account-card__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.account-card__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.account-card__badge-button{background:none;border:none;padding:0;cursor:pointer;transition:transform var(--transition-fast)}.account-card__badge-button:hover{transform:scale(1.05)}.account-card__investments{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width: 768px){.account-card__header{flex-direction:column;align-items:stretch;gap:var(--space-md)}.account-card__header-actions{justify-content:stretch}.account-card__header-actions button{flex:1}.account-card__checking{flex-direction:column;align-items:stretch}.account-card__checking-info{justify-content:space-between}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);animation:fadeIn .2s ease-out}.modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;overflow-y:auto;animation:slideInUp .3s ease-out}.modal--sm{width:90%;max-width:400px}.modal--md{width:90%;max-width:600px}.modal--lg{width:90%;max-width:800px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.modal__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);font-size:var(--font-size-xl);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.modal__close:hover{background-color:var(--gray-100);color:var(--text-primary)}.modal__content{padding:var(--space-lg)}.modal::-webkit-scrollbar{width:6px}.modal::-webkit-scrollbar-track{background:var(--gray-100)}.modal::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}.modal::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@media (max-width: 768px){.modal--sm,.modal--md,.modal--lg{width:95%;max-height:95vh}.modal__header,.modal__content{padding:var(--space-md)}.modal__title{font-size:var(--font-size-lg)}}.expense-card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.expense-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md)}.expense-card__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.expense-card__date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.expense-card__account{font-size:var(--font-size-sm);color:var(--text-secondary);background-color:var(--gray-100);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.expense-card__header-actions{display:flex;gap:var(--space-xs);margin-left:auto}.expense-card__description{font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-normal);word-break:break-word}.expense-card__no-description{color:var(--text-tertiary);font-style:italic}.expense-card__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-color)}.expense-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--primary)}.expense-card__status{flex:1;display:flex;justify-content:flex-end}.expense-card__divider{height:1px;background-color:var(--border-color);margin:var(--space-sm) 0}.expense-card__analysis{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background-color:var(--bg-secondary);border-radius:var(--radius-sm)}.expense-card__analysis-row{display:flex;gap:var(--space-sm);font-size:var(--font-size-sm);flex-wrap:wrap}.expense-card__analysis-row--warning{padding:var(--space-xs) var(--space-sm);background-color:var(--error-light);border-radius:var(--radius-sm);border-left:3px solid var(--error)}.expense-card__analysis-label{font-weight:var(--font-weight-semibold);color:var(--text-secondary);min-width:80px}.expense-card__analysis-value{color:var(--text-primary);flex:1}.expense-card__analysis-value--notes{font-style:italic;color:var(--text-secondary)}.expense-card__validation{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-right:var(--space-sm)}.expense-card__validation--success{background-color:var(--success-light);color:var(--success-dark)}.expense-card__validation--error{background-color:var(--error-light);color:var(--error-dark)}.expense-card__validation--warning{background-color:var(--warning-light);color:var(--warning-dark)}.expense-card__pending-issues{width:100%;padding:var(--space-sm);background-color:var(--warning-light);border-left:3px solid var(--warning);border-radius:var(--radius-sm)}.expense-card__pending-title{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--warning-dark);margin-bottom:var(--space-xs)}.expense-card__pending-list{margin:0;padding-left:var(--space-lg);font-size:var(--font-size-sm);color:var(--warning-dark)}.expense-card__pending-list li{margin-bottom:var(--space-xs)}@media (max-width: 768px){.expense-card__header{flex-direction:column;align-items:flex-start}.expense-card__footer{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.expense-card__value{text-align:center}.expense-card__status,.expense-card__actions{justify-content:center}}.radio{display:inline-flex;align-items:flex-start}.radio__input{position:absolute;opacity:0;width:0;height:0}.radio__label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;user-select:none;-webkit-user-select:none;transition:opacity var(--transition-fast)}.radio__label--disabled{opacity:.5;cursor:not-allowed}.radio__circle{width:20px;height:20px;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-full);transition:all var(--transition-fast)}.radio__label:hover:not(.radio__label--disabled) .radio__circle{border-color:var(--border-color-hover);background-color:var(--gray-50)}.radio__input:checked+.radio__label .radio__circle{border-color:var(--primary);background-color:var(--bg-primary)}.radio__input:focus-visible+.radio__label .radio__circle{outline:2px solid var(--primary);outline-offset:2px}.radio__dot{width:10px;height:10px;background-color:var(--primary);border-radius:var(--radius-full);animation:radioPop .2s ease-in-out}@keyframes radioPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.radio__text{font-size:var(--font-size-base);color:var(--text-primary);line-height:var(--line-height-normal)}.radio+.radio{margin-left:var(--space-lg)}.radio-group{display:flex;flex-direction:column;gap:var(--space-sm)}.radio-group .radio+.radio{margin-left:0}.textarea{display:flex;flex-direction:column;gap:var(--space-xs);width:100%}.textarea__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer}.textarea__required{color:var(--error);margin-left:2px}.textarea__field{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--text-primary);line-height:var(--line-height-normal);background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;min-height:80px;transition:all var(--transition-fast)}.textarea__field::placeholder{color:var(--text-tertiary);opacity:1}.textarea__field:hover:not(:disabled){border-color:var(--border-color-hover)}.textarea__field:focus{border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--primary-light);outline:none}.textarea__field--error{border-color:var(--error)}.textarea__field--error:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.textarea__field--disabled{background-color:var(--gray-100);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.textarea__error{font-size:var(--font-size-sm);color:var(--error);display:flex;align-items:center;gap:var(--space-xs)}.textarea__error:before{content:"⚠";font-size:var(--font-size-base)}.analysis-modal{display:flex;flex-direction:column;gap:var(--space-xl)}.analysis-modal__section{display:flex;flex-direction:column;gap:var(--space-md)}.analysis-modal__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.analysis-modal__divider{height:1px;background-color:var(--border-color)}.analysis-modal__side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.analysis-modal__column,.analysis-modal__fields{display:flex;flex-direction:column;gap:var(--space-md)}.analysis-modal__readonly{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);padding:var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.analysis-modal__readonly-item{display:flex;flex-direction:column;gap:var(--space-xs)}.analysis-modal__readonly-item--full{grid-column:span 3}.analysis-modal__readonly-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.analysis-modal__readonly-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.analysis-modal__field{display:flex;flex-direction:column;gap:var(--space-sm)}.analysis-modal__field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.analysis-modal__field-label:after{content:" *";color:var(--error)}.analysis-modal__radios{display:flex;gap:var(--space-lg)}.analysis-modal__radios-vertical{display:flex;flex-direction:column;gap:var(--space-sm)}.analysis-modal__error{font-size:var(--font-size-sm);color:var(--error)}.analysis-modal__error:before{content:"⚠ "}.analysis-modal__checkboxes{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.analysis-modal__conditional{margin-left:var(--space-xl);padding:var(--space-md);background-color:var(--warning-light);border-radius:var(--radius-md);border-left:3px solid var(--warning);display:flex;flex-direction:column;gap:var(--space-sm)}.analysis-modal__conditional-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--warning-dark)}.analysis-modal__auto-validations{display:flex;flex-direction:column;gap:var(--space-sm)}.analysis-modal__validation{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.analysis-modal__validation--success{background-color:var(--success-light);color:var(--success-dark);border:1px solid var(--success)}.analysis-modal__validation--error{background-color:var(--error-light);color:var(--error-dark);border:1px solid var(--error)}.analysis-modal__validation--warning{background-color:var(--warning-light);color:var(--warning-dark);border:1px solid var(--warning)}.analysis-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-lg);border-top:1px solid var(--border-color)}@media (max-width: 768px){.analysis-modal__side-by-side,.analysis-modal__readonly{grid-template-columns:1fr}.analysis-modal__readonly-item--full{grid-column:span 1}.analysis-modal__radios{flex-direction:column;gap:var(--space-sm)}.analysis-modal__actions{flex-direction:column-reverse}.analysis-modal__actions button{width:100%}}.expense-summary{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:var(--space-xl)}.expense-summary__item{display:flex;align-items:center;gap:var(--space-sm)}.expense-summary__label{font-size:var(--font-size-sm);color:var(--text-secondary)}.expense-summary__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.expense-summary__value--highlight{color:var(--primary);font-size:var(--font-size-xl)}.expense-summary__divider{font-size:var(--font-size-lg);color:var(--border-color)}@media (max-width: 768px){.expense-summary{flex-direction:column;gap:var(--space-md)}.expense-summary__divider{display:none}.expense-summary__item{width:100%;justify-content:space-between}}.analysis-page{width:100%}.analysis-page__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.analysis-page__stat-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center;border:2px solid var(--border-color);transition:all var(--transition-fast)}.analysis-page__stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.analysis-page__stat-card--success{border-color:var(--success);background-color:var(--success-light)}.analysis-page__stat-card--warning{border-color:var(--warning);background-color:var(--warning-light)}.analysis-page__stat-icon{font-size:48px}.analysis-page__stat-value{font-size:var(--font-size-xxxl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.analysis-page__stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.analysis-page__issues{display:flex;flex-direction:column;gap:var(--space-md)}.analysis-page__issue-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background-color:var(--warning-light);border:2px solid var(--warning);border-left:5px solid var(--warning);border-radius:var(--radius-md)}.analysis-page__issue-card--danger{background-color:var(--error-light);border-color:var(--error);border-left-color:var(--error)}.analysis-page__issue-header{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.analysis-page__issue-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.analysis-page__issue-account{font-size:var(--font-size-sm);color:var(--text-secondary);background-color:var(--bg-primary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.analysis-page__issue-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary);margin-left:auto}.analysis-page__issue-description{font-size:var(--font-size-sm);color:var(--text-primary);font-style:italic}.analysis-page__issue-errors{display:flex;flex-direction:column;gap:var(--space-xs)}.analysis-page__issue-error{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--warning-dark)}.analysis-page__issue-status{margin-top:var(--space-xs)}.analysis-page__not-analyzed{display:flex;flex-direction:column;gap:var(--space-xs)}.analysis-page__not-analyzed-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--gray-300);font-size:var(--font-size-sm)}.analysis-page__not-analyzed-date{font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:90px}.analysis-page__not-analyzed-value{font-weight:var(--font-weight-bold);color:var(--primary);min-width:100px}.analysis-page__not-analyzed-account{color:var(--text-secondary);min-width:90px}.analysis-page__not-analyzed-description{color:var(--text-secondary);flex:1;font-style:italic}@media (max-width: 768px){.analysis-page__stats{grid-template-columns:1fr}.analysis-page__stat-icon{font-size:36px}.analysis-page__stat-value{font-size:var(--font-size-xxl)}.analysis-page__issue-header{flex-direction:column;align-items:flex-start}.analysis-page__issue-value{margin-left:0}.analysis-page__not-analyzed-item{flex-direction:column;align-items:flex-start}}.statement-form{display:flex;flex-direction:column;gap:var(--space-lg)}.statement-form__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--primary);margin:0;padding-bottom:var(--space-sm);border-bottom:2px solid var(--primary)}.statement-form__section{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.statement-form__section--calculated{background-color:var(--gray-50)}.statement-form__section--highlight{background-color:var(--primary-light);border:2px solid var(--primary)}.statement-form__section--expenses{background-color:#e3f2fd;border:2px solid #2196f3}.statement-form__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.statement-form__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-md);align-items:end}.statement-form__total{display:flex;flex-direction:column;gap:var(--space-xs)}.statement-form__total label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase}.statement-form__total-value{padding:var(--space-sm) var(--space-md);background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);text-align:right}.statement-form__total-value--auto{background-color:var(--success-light);border-color:var(--success);color:var(--success-dark)}.statement-form__readonly{display:flex;flex-direction:column;gap:var(--space-xs)}.statement-form__readonly label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase}.statement-form__readonly-value{padding:var(--space-sm) var(--space-md);background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:right}.statement-form__readonly-value--bold{font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.statement-form__readonly-value--negative{color:var(--error);background-color:var(--error-light);border-color:var(--error)}.statement-form__hint{font-size:var(--font-size-xs);color:var(--text-tertiary);font-style:italic;margin-top:var(--space-xs)}@media (max-width: 768px){.statement-form__row{grid-template-columns:1fr}.statement-form__total-value,.statement-form__readonly-value{font-size:var(--font-size-base)}.statement-form__readonly-value--bold{font-size:var(--font-size-lg)}}.statement-summary{width:100%}.statement-summary__section{display:flex;flex-direction:column;gap:var(--space-md)}.statement-summary__section+.statement-summary__section{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-color)}.statement-summary__subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.statement-summary__subtitle--error{color:var(--error)}.statement-summary__subtitle--warning{color:var(--warning)}.statement-summary__list{display:flex;flex-direction:column;gap:var(--space-md)}.statement-summary__item{padding:var(--space-md);border-radius:var(--radius-md);border-left:4px solid}.statement-summary__item--error{background-color:var(--error-light);border-left-color:var(--error)}.statement-summary__item--warning{background-color:var(--warning-light);border-left-color:var(--warning)}.statement-summary__item-header{font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:var(--space-sm)}.statement-summary__item-details{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-secondary);padding-left:var(--space-md);border-left:2px solid var(--border-color)}.statement-summary__success{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl);text-align:center}.statement-summary__success-icon{font-size:64px}.statement-summary__success-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--success-dark);margin:0}.statement-summary__success-text{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}@media (max-width: 768px){.statement-summary__item-details{padding-left:var(--space-sm)}.statement-summary__success-icon{font-size:48px}}.statement-page{width:100%}.statement-page__tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);border-bottom:2px solid var(--border-color);overflow-x:auto}.statement-page__tab{padding:var(--space-sm) var(--space-lg);background-color:transparent;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.statement-page__tab:hover{color:var(--text-primary);background-color:var(--gray-50)}.statement-page__tab--active{color:var(--primary);border-bottom-color:var(--primary);font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.statement-page__tabs{overflow-x:scroll;-webkit-overflow-scrolling:touch}.statement-page__tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--primary-dark: #1e40af;--success: #16a34a;--success-hover: #15803d;--success-light: #dcfce7;--success-dark: #166534;--warning: #ea580c;--warning-hover: #c2410c;--warning-light: #ffedd5;--warning-dark: #9a3412;--error: #dc2626;--error-hover: #b91c1c;--error-light: #fee2e2;--error-dark: #991b1b;--info: #0891b2;--info-hover: #0e7490;--info-light: #cffafe;--info-dark: #155e75;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-color: #e5e7eb;--border-color-hover: #d1d5db;--border-color-focus: #2563eb;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--sidebar-width: 260px;--sidebar-width-collapsed: 80px;--header-height: 64px;--max-width-content: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}h3{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}h4{font-size:var(--font-size-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}ul,ol{list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;border:none;background:none}input:focus,select:focus,textarea:focus,button:focus{outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}*{scrollbar-width:thin;scrollbar-color:var(--gray-300) var(--gray-100)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.transition{transition:all var(--transition-base)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container{width:100%;max-width:var(--max-width-content);margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.animate-slideInRight{animation:slideInRight .3s ease-out}.animate-slideInLeft{animation:slideInLeft .3s ease-out}.animate-slideInUp{animation:slideInUp .3s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width: 768px){html{font-size:14px}.container{padding-left:var(--space-md);padding-right:var(--space-md)}}@media (min-width: 769px) and (max-width: 1024px){html{font-size:15px}}@media (min-width: 1025px){html{font-size:16px}}
