.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f0f2f5;font-family:sans-serif}.login-box{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px;text-align:center}.login-title{color:#1d2129;font-size:28px;margin-bottom:10px}.login-subtitle{color:#606770;font-size:16px;margin-bottom:30px}.input-group{text-align:left;margin-bottom:20px}.input-group label{display:block;font-weight:600;color:#606770;margin-bottom:5px}.input-group input{width:100%;padding:12px;border:1px solid #dddfe2;border-radius:6px;font-size:16px;box-sizing:border-box}.login-button{width:100%;padding:12px;border:none;border-radius:6px;background-color:#8849ff;color:#fff;font-size:18px;font-weight:700;cursor:pointer;margin-top:10px;transition:background-color .3s}.login-button:hover{background-color:#7232e0}.signup-link{margin-top:25px;color:#606770;font-size:14px}.signup-link a{color:#8849ff;font-weight:600;text-decoration:none}.signup-link a:hover{text-decoration:underline}.error-message{color:#c92a2a;background-color:#ffe3e3;border:1px solid #c92a2a;padding:10px;border-radius:6px;margin-bottom:20px;font-size:14px}.login-button:disabled{background-color:#bca0f5;cursor:not-allowed}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-filter{padding:8px 12px;font-size:14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;outline:none;transition:border-color .2s}.dashboard-filter:hover{border-color:#aaa}.dashboard-filter:focus{border-color:#8849ff;box-shadow:0 0 0 2px #8849ff33}.clear-filter-btn{background-color:#f0f2f5;border:1px solid #e0e0e0;color:#555;padding:4px 10px;font-size:12px;font-weight:600;border-radius:20px;margin-left:10px;cursor:pointer;transition:all .2s ease}.clear-filter-btn:hover{background-color:#e4e6e9;border-color:#ccc}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:30px}.dashboard-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #00000014}.full-width{grid-column:1 / -1}@media (max-width: 800px){.dashboard-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;gap:15px;align-items:stretch}}*{margin:0;padding:0;box-sizing:border-box;font-family:Franklin Gothic Medium,Arial Narrow,Arial,sans-serif}.main-header{background-color:#8849ff;color:#fff;padding:20px 0;box-shadow:0 2px 4px #0000001a}.header-content{max-width:900px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.header-title{margin:0;font-size:24px}.logout-button{background:none;border:1px solid white;color:#fff;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .3s,color .3s}.logout-button:hover{background-color:#fff;color:#8849ff}.header-logo-link{color:#fff;text-decoration:none}.header-nav{display:flex;gap:20px}.header-nav a{color:#fff;text-decoration:none;font-size:16px;padding:5px 10px;border-radius:5px;transition:background-color .3s}.header-nav a:hover{background-color:#ffffff1a}.header-user{display:flex;align-items:center;gap:15px}.add-transaction-btn{background-color:#00b37e;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .3s}.add-transaction-btn:hover{background-color:#00a271}@media (max-width: 800px){.header-content{flex-direction:column;gap:15px}.header-nav{order:3;width:100%;justify-content:center;border-top:1px solid rgba(255,255,255,.2);padding-top:10px}.header-user{width:100%;justify-content:space-between}}.summary-container{display:flex;gap:20px;margin-bottom:30px}.summary-card{flex:1;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #00000014;text-align:center}.summary-card h2{margin-top:0;font-size:16px;color:#555}.summary-card .amount{font-size:28px;font-weight:700;margin:0}.summary-card .amount.receita{color:#00b37e}.summary-card .amount.despesa{color:#f54a4a}@media (max-width: 800px){.summary-container{flex-direction:column}}.subscription-panel{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #00000014;margin-top:30px}.panel-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding-bottom:15px;margin-bottom:15px}.panel-header h2{margin:0;font-size:20px;color:#333}.total-subscriptions{text-align:right}.total-subscriptions span{font-size:14px;color:#777;display:block}.total-subscriptions strong{font-size:20px;color:#f54a4a}.subscription-list{display:flex;flex-direction:column;gap:10px}.subscription-item{display:flex;align-items:center;gap:15px;padding:10px;border-radius:6px}.subscription-item:hover{background-color:#f9f9f9}.icon-container{background-color:#f0f2f5;border-radius:50%;width:50px;height:50px;display:flex;justify-content:center;align-items:center}.item-details{flex:1}.item-description{font-weight:600}.item-recurrence{display:block;font-size:12px;color:#777}.item-amount{font-weight:700;font-size:16px}.item-amount.receita{color:#00b37e}.item-amount.despesa{color:#f54a4a}@media (max-width: 800px){.panel-header{flex-direction:column;align-items:flex-start;gap:10px}.total-subscriptions{text-align:left}}.chart-container{position:relative;max-width:320px;max-height:320px;margin:auto}.monthly-chart-container{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #00000014}.transaction-list{list-style:none;padding:0}.transaction-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:15px;margin-bottom:15px;display:flex;align-items:center;gap:15px}.type-indicator{width:5px;height:50px;border-radius:5px}.type-indicator.receita{background-color:#00b37e}.type-indicator.despesa{background-color:#f54a4a}.transaction-details{flex:1;display:flex;flex-direction:column}.transaction-details .description{font-size:16px;font-weight:600}.transaction-details .category{font-size:12px;color:#777}.transaction-info{text-align:right}.transaction-info .amount{font-size:16px;font-weight:700;display:block}.transaction-info .amount.receita{color:#00b37e}.transaction-info .amount.despesa{color:#f54a4a}.transaction-info .date{font-size:12px;color:#777}.transaction-actions button{background:none;border:1px solid #ddd;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12px;margin-left:5px}.transaction-actions .delete-btn{border-color:#f54a4a;color:#f54a4a}.category-form{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:40px}.category-form h3{margin-top:0;text-align:center;font-size:20px;color:#333}.form-group{display:flex;gap:15px}.category-form input,.category-form select{flex:1;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.category-form button{padding:12px 25px;border:none;border-radius:6px;background-color:#00b37e;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .3s}.category-form button:hover{background-color:#00a271}@media (max-width: 800px){.form-group{flex-direction:column}.category-form button{width:100%}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:20px;text-align:center}.modal-content form label{display:block;font-weight:600;margin-top:15px;margin-bottom:5px}.modal-content form input,.modal-content form select{width:100%;padding:10px;border:1px solid #ccc;border-radius:5px;font-size:16px;box-sizing:border-box}.modal-actions{display:flex;gap:15px;margin-top:25px}.modal-actions button{flex:1;padding:12px;border:none;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;transition:background-color .3s,opacity .3s}.modal-actions button[type=submit]{background-color:#00b37e;color:#fff}.modal-actions button[type=submit]:hover{background-color:#00a271}.modal-actions button[type=button]{background-color:#f0f2f5;color:#333;border:1px solid #ddd}.modal-actions button[type=button]:hover{background-color:#e4e6e9}.categories-list{list-style:none;padding:0}.category-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:15px 20px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;transition:transform .2s}.category-card:hover{transform:translateY(-2px)}.category-details{font-size:16px}.category-details .type{font-size:12px;color:#777;margin-left:8px}.category-actions button{background:none;border:1px solid #ddd;border-radius:5px;padding:6px 12px;cursor:pointer;font-size:13px;margin-left:10px;transition:background-color .2s,color .2s,border-color .2s}.category-actions button:hover{background-color:#f0f0f0}.category-actions .delete-btn{border-color:#e74c3c;color:#e74c3c}.category-actions .delete-btn:hover{background-color:#e74c3c;color:#fff}@media (max-width: 800px){.form-group{flex-direction:column}.category-form button{width:100%}.category-card{flex-direction:column;align-items:flex-start;gap:10px}.category-actions{width:100%;margin-top:10px;display:flex}.category-actions button{flex:1}}.filters-container{display:flex;gap:20px;margin:20px 0;padding:20px;background-color:#f9f9f9;border-radius:8px}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:12px;color:#555;margin-bottom:5px}.filter-group select{padding:8px 12px;font-size:14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer}@media (max-width: 768px){.filters-container{flex-direction:column;align-items:stretch}}.scheduler-container{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #00000014}.fc-daygrid-day-events .fc-daygrid-event{background:none!important;border:none!important;padding:1px 2px!important}.custom-event{display:flex;align-items:center;gap:5px;padding:2px 4px;border-radius:4px;font-size:12px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-event:hover{background-color:#f0f0f0}.event-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-title{color:#333}.fc{font-family:sans-serif}.fc .fc-toolbar-title{font-size:20px}.fc .fc-button{background:#f0f0f0!important;border:1px solid #ddd!important;color:#333!important;text-transform:capitalize!important}@media (max-width: 768px){.scheduler-container{padding:10px}.fc .fc-toolbar-title{font-size:1.1em}.custom-event{font-size:10px;gap:4px}}.fc-list-event-dot{border-color:var(--fc-event-bg-color, #000)!important}.fc-list-event-title a{cursor:pointer}.transaction-form{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.transaction-form h3{text-align:center;margin-top:0;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid-col-span-2{grid-column:span 2 / span 2}.input-group-with-label{display:flex;flex-direction:column}.input-group-with-label label{font-size:12px;color:#555;margin-bottom:5px}.form-label-group{display:flex;justify-content:space-between;align-items:center}.form-label-group label{margin-bottom:0}.transaction-form input,.transaction-form select{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.add-button{width:100%;padding:12px;margin-top:20px;border:none;border-radius:6px;background-color:#00b37e;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.add-button:hover{background-color:#00a271}.add-new-btn{background-color:#00b37e;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;justify-content:center;align-items:center;text-decoration:none;font-weight:700;line-height:1;transition:transform .2s;flex-shrink:0;border:none}.add-new-btn:hover{transform:scale(1.1)}@media (max-width: 800px){.form-grid{grid-template-columns:1fr}.grid-col-span-2{grid-column:span 1 / span 1}}.wallet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.wallet-header h1{margin:0}.wallet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.wallet-card{background:#fff;border-left:5px solid;border-radius:8px;box-shadow:0 2px 4px #00000014;padding:20px;display:flex;flex-direction:column}.card-balance{flex-grow:1;text-align:center;margin:20px 0}.card-balance span{font-size:14px;color:#777}.card-balance p{font-size:28px;font-weight:700;color:#00b37e;margin:5px 0 0}.add-btn{background-color:#00b37e;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer}.card-header{display:flex;justify-content:space-between;align-items:flex-start;height:108px}.card-actions{display:flex;justify-content:flex-end;gap:10px}.back-link{text-decoration:none;color:#555;margin-bottom:20px;display:inline-block;font-weight:700}.card-details-header h1{margin:0 0 20px}.fatura-container{display:grid;grid-template-columns:320px 1fr;gap:30px;align-items:center}.fatura-card-view .wallet-card{height:190px}.fatura-summary{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #00000014}.fatura-summary h2{margin-top:0;border-bottom:1px solid #eee;padding-bottom:15px;margin-bottom:15px}.summary-item{display:flex;justify-content:space-between;font-size:16px;padding:12px 0}.summary-item .summary-value{font-weight:700}.summary-item .summary-value.despesa{color:#f54a4a}.summary-item.date-range{font-size:13px;color:#777;justify-content:center;margin-top:10px}.fatura-transactions{margin-top:40px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #00000014}.fatura-transactions h2{margin-top:0}.fatura-list{list-style:none;padding:0}.fatura-item{display:grid;grid-template-columns:100px 1fr auto;gap:15px;padding:15px 10px;border-bottom:1px solid #f0f0f0;font-size:14px;align-items:center}.fatura-item:last-child{border-bottom:none}.fatura-item-date{color:#777}.fatura-item-desc{font-weight:500}.fatura-item-amount{font-weight:700;color:#333}.pay-bill-btn{width:100%;background-color:#8849ff;color:#fff;border:none;padding:12px;border-radius:6px;font-size:16px;font-weight:700;cursor:pointer;margin-top:15px;transition:background-color .3s}.pay-bill-btn:hover{background-color:#7232e0}.pay-bill-btn:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 800px){.fatura-container{grid-template-columns:1fr}.fatura-card-view{max-width:320px;margin:0 auto}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
