:root{--bg-dark: #0a0a0f;--bg-card: rgba(20, 20, 30, .6);--neon-blue: #00e5ff;--neon-blue-glow: rgba(0, 229, 255, .4);--neon-green: #39ff14;--neon-green-glow: rgba(57, 255, 20, .4);--text-main: #f0f0f0;--text-muted: #8892b0;--danger: #ff3366;--danger-glow: rgba(255, 51, 102, .4);--neon-orange: #ffb703;--neon-orange-glow: rgba(255, 183, 3, .4)}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea,button{font-family:inherit}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 50%,rgba(0,229,255,.05),transparent 30%),radial-gradient(circle at 90% 20%,rgba(57,255,20,.05),transparent 30%)}.screen{display:none;opacity:0;transition:opacity .4s ease-in-out}.screen.active{display:flex;opacity:1}.main-wrapper{min-height:100vh;align-items:center;justify-content:center;position:relative;padding:20px}.login-box{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);padding:3.5rem 2.5rem;border-radius:20px;width:100%;max-width:420px;box-shadow:0 20px 40px #0009,0 0 15px var(--neon-blue-glow),inset 0 0 20px #00e5ff08;z-index:10;animation:floatIn 1s cubic-bezier(.16,1,.3,1) forwards}@keyframes floatIn{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.shake-animation{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.logo{font-size:2.2rem;font-weight:600;text-align:center;margin-bottom:.5rem;letter-spacing:-.5px}.neon-blue{color:var(--neon-blue);text-shadow:0 0 12px var(--neon-blue-glow)}.neon-green{color:var(--neon-green);text-shadow:0 0 12px var(--neon-green-glow)}.login-box h2{text-align:center;font-weight:300;color:var(--text-muted);margin-bottom:2.5rem;font-size:1.1rem}.input-group{position:relative;margin-bottom:2rem}.input-group input{width:100%;padding:12px 0;font-size:1rem;color:var(--text-main);background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);outline:none;transition:all .3s ease}.input-group label{position:absolute;top:12px;left:0;font-size:1rem;color:var(--text-muted);pointer-events:none;transition:all .3s ease}.input-group input:focus,.input-group input:not(:placeholder-shown){border-bottom-color:var(--neon-blue);box-shadow:0 1px 0 var(--neon-blue)}.input-group input:focus~label,.input-group input:not(:placeholder-shown)~label{top:-22px;font-size:.8rem;color:var(--neon-blue);text-shadow:0 0 8px var(--neon-blue-glow)}.btn-neon{width:100%;padding:14px;background:transparent;border:1px solid var(--neon-green);color:var(--neon-green);font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:2px;box-shadow:0 0 10px transparent;margin-top:1.5rem}.btn-neon:hover{background:var(--neon-green);color:var(--bg-dark);box-shadow:0 0 20px var(--neon-green-glow),0 0 40px var(--neon-green-glow);border-color:transparent}.error-msg{color:var(--danger);font-size:.85rem;text-align:center;margin-top:-1rem;margin-bottom:1rem;opacity:0;transition:opacity .3s;text-shadow:0 0 8px rgba(255,51,102,.4)}.error-msg.visible{opacity:1}#dashboard-screen{flex-direction:column;min-height:100vh}.dash-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 5%;background:#0a0a0fb3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:100}.user-profile{display:flex;align-items:center;gap:1.5rem}.btn-logout{background:transparent;border:1px solid var(--text-muted);color:var(--text-main);padding:8px 18px;border-radius:6px;cursor:pointer;transition:all .3s;font-size:.9rem;font-weight:600}.btn-logout:hover{border-color:var(--neon-blue);color:var(--neon-blue);box-shadow:0 0 12px var(--neon-blue-glow)}.dash-main{padding:2.5rem 5%;flex:1}.dash-title{font-weight:300;margin-bottom:2.5rem;font-size:2rem;animation:slideRight .6s ease-out}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2.5rem}.glass-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.8rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .3s,box-shadow .3s,border-color .3s;animation:fadeUp .6s ease-out backwards}.glass-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000080,0 0 15px #00e5ff14;border-color:#ffffff1a}.cards-grid>.glass-card:nth-child(2){animation-delay:.1s;border-top:2px solid var(--neon-green)}.cards-grid>.glass-card:nth-child(1){border-top:2px solid var(--danger)}.cards-grid>.glass-card:nth-child(3){animation-delay:.2s;border-top:2px solid var(--neon-orange)}.glass-card h3{color:var(--text-muted);font-size:.9rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.glass-card .value{font-size:2.2rem;font-weight:600;margin-bottom:.5rem}.neon-text-blue{color:var(--neon-blue);text-shadow:0 0 15px var(--neon-blue-glow)}.neon-text-green{color:var(--neon-green);text-shadow:0 0 15px var(--neon-green-glow)}.neon-text-danger{color:var(--danger);text-shadow:0 0 15px var(--danger-glow)}.neon-text-orange{color:var(--neon-orange);text-shadow:0 0 15px var(--neon-orange-glow)}.change{font-size:.9rem;font-weight:400}.positive{color:var(--neon-green)}.negative{color:var(--danger)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}@media(max-width:1024px){.content-grid{grid-template-columns:1fr}}.table-card,.chart-card{animation:fadeUp .7s ease-out backwards;animation-delay:.3s}.table-card,.chart-card{border-top:2px solid var(--neon-blue)!important}.table-responsive{overflow-x:auto}.assets-table{width:100%;border-collapse:collapse;margin-top:1rem}.assets-table th,.assets-table td{padding:1.2rem .8rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap}.assets-table th{color:var(--text-muted);font-weight:400;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.assets-table tbody tr{transition:background .3s}.assets-table tbody tr:hover{background:#ffffff08}.chart-card{display:flex;flex-direction:column}.mock-chart{height:220px;display:flex;align-items:flex-end;justify-content:space-around;padding-top:2rem;gap:1rem;flex-grow:1}.chart-bar{width:25%;border-radius:6px 6px 0 0;position:relative;transition:height 1s cubic-bezier(.16,1,.3,1);background:linear-gradient(to top,rgba(0,229,255,.1),var(--neon-blue));box-shadow:0 0 20px var(--neon-blue-glow);cursor:pointer}.chart-bar:nth-child(2){background:linear-gradient(to top,rgba(57,255,20,.1),var(--neon-green));box-shadow:0 0 20px var(--neon-green-glow)}.chart-bar:nth-child(3){background:linear-gradient(to top,#8892b01a,#8892b0);box-shadow:inset 0 0 10px #8892b033}.tooltip{position:absolute;top:-35px;left:50%;transform:translate(-50%);background:#000;padding:6px 10px;border-radius:6px;font-size:.8rem;opacity:0;transition:all .3s;white-space:nowrap;border:1px solid rgba(255,255,255,.1);pointer-events:none;box-shadow:0 5px 15px #00000080}.chart-bar:hover .tooltip{opacity:1;top:-45px}#chartjs-tooltip{background:#0a0a0f;border-radius:8px;color:#fff;opacity:0;pointer-events:none;position:absolute;-webkit-transition:all .1s ease;transition:all .1s ease;transform:translate(-50%,-100%);margin-top:-10px;z-index:9999;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 25px #0009;padding:12px;min-width:150px}#chartjs-tooltip table{margin:0;width:100%;border-collapse:collapse}#chartjs-tooltip th{font-size:.8rem;color:var(--text-muted);text-align:left;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05);margin-bottom:8px;display:block}#chartjs-tooltip td{font-size:.9rem;font-weight:600;padding-top:8px;display:flex;align-items:center}#chartjs-tooltip span{display:inline-block;width:12px;height:12px;margin-right:10px;border-radius:50%;flex-shrink:0}.chart-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.dot{width:10px;height:10px;border-radius:50%}.dot-blue{background-color:var(--neon-blue);box-shadow:0 0 8px var(--neon-blue-glow)}.dot-green{background-color:var(--neon-green);box-shadow:0 0 8px var(--neon-green-glow)}.dot-gray{background-color:#8892b0}@keyframes slideRight{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.lancamentos-container{animation:fadeUp .6s ease-out backwards}.month-section{margin-bottom:2.5rem}.month-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.8rem;background:#14141e66;border-radius:12px;margin-bottom:1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:3px solid var(--neon-blue);position:relative;overflow:hidden;flex-wrap:wrap;gap:1.5rem}.month-header:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,229,255,.05) 0%,transparent 100%);pointer-events:none}.month-title{font-size:1.4rem;font-weight:600;color:var(--text-main);text-transform:capitalize;letter-spacing:.5px;display:flex;align-items:center;gap:10px}.caret{font-size:.9rem;transition:transform .3s ease;color:var(--neon-blue);text-shadow:0 0 5px var(--neon-blue-glow)}.caret-collapsed{transform:rotate(-90deg)}.month-header:hover{background:#1e1e2d99}.month-summary{display:flex;justify-content:space-between;flex:1;min-width:320px;gap:1rem}.summary-item{display:flex;flex-direction:column;align-items:flex-end;min-width:120px;flex:1}.summary-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:.2rem}.summary-value{font-weight:600;font-size:clamp(1rem,2.5vw,1.25rem);white-space:nowrap}.summary-value.revenue{color:var(--neon-green);text-shadow:0 0 10px var(--neon-green-glow)}.summary-value.expense{color:var(--danger);text-shadow:0 0 10px rgba(255,51,102,.4)}.lancamentos-list{display:flex;flex-direction:column;gap:.8rem}.lancamento-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:1.2rem 1.8rem;border-radius:12px;border:1px solid rgba(255,255,255,.03);transition:transform .2s,box-shadow .2s,background .2s}.lancamento-item:hover{transform:translate(5px);box-shadow:0 8px 25px #0006;background:#ffffff08;border-color:#ffffff1a}.lancamento-left{display:flex;align-items:center;gap:clamp(.5rem,2vw,1.8rem);flex:1;min-width:0}.lancamento-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:55px;height:55px;background:#00000080;border-radius:10px;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 15px #ffffff05}.date-day{font-size:1.4rem;font-weight:700;color:var(--text-main);line-height:1}.date-month{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.lancamento-details{display:flex;flex-direction:column;gap:.35rem}.lancamento-desc{font-size:clamp(.95rem,2.5vw,1.15rem);color:var(--text-main);font-weight:500;word-break:break-word}.lancamento-obs{font-size:.9rem;color:var(--text-muted)}.lancamento-tags{display:flex;gap:.6rem;margin-top:.4rem;flex-wrap:wrap}.tag{font-size:.75rem;font-weight:500;padding:.25rem .6rem;background:#ffffff14;border-radius:6px;color:var(--text-muted);border:1px solid rgba(255,255,255,.05)}.lancamento-right-container{display:flex;align-items:center;gap:clamp(.5rem,1.5vw,1.5rem);flex-shrink:0}.lancamento-right{font-size:clamp(.95rem,2.8vw,1.3rem);font-weight:600;letter-spacing:.5px;white-space:nowrap}.btn-delete-lancamento,.btn-edit-lancamento{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:8px;transition:all .3s;opacity:0}.lancamento-item:hover .btn-delete-lancamento,.lancamento-item:hover .btn-edit-lancamento{opacity:1}.btn-delete-lancamento:hover{background:#ff33661a;color:var(--danger);box-shadow:0 0 10px #f363}.btn-edit-lancamento:hover{background:#00e5ff1a;color:var(--neon-blue);box-shadow:0 0 10px var(--neon-blue-glow)}.success-toast{position:fixed;top:20px;right:20px;background:var(--bg-card);border:1px solid var(--neon-green);color:var(--neon-green);padding:1rem 2rem;border-radius:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px #00000080,0 0 20px var(--neon-green-glow);z-index:1000;animation:slideInRight .4s cubic-bezier(.16,1,.3,1)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lancamento-item.type-R{border-left:4px solid var(--neon-green)}.lancamento-item.type-R .lancamento-right{color:var(--neon-green);text-shadow:0 0 8px var(--neon-green-glow)}.lancamento-item.type-D{border-left:4px solid var(--danger)}.lancamento-item.type-D .lancamento-right{color:var(--danger);text-shadow:0 0 8px rgba(255,51,102,.4)}.lancamento-item.is-scheduled.type-D{border-left:4px solid #ffb703}.lancamento-item.is-scheduled.type-D .lancamento-right{color:#ffb703;text-shadow:0 0 8px rgba(255,183,3,.4)}.lancamento-item.is-scheduled.type-R{border-left:4px solid #00b4d8}.lancamento-item.is-scheduled.type-R .lancamento-right{color:#00b4d8;text-shadow:0 0 8px rgba(0,180,216,.4)}.top-nav{display:flex;gap:.5rem;position:absolute;left:50%;transform:translate(-50%);background:#0000004d;padding:.3rem;border-radius:10px;border:1px solid rgba(255,255,255,.05)}.btn-nav{background:transparent;border:none;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;padding:.6rem 1.2rem;border-radius:8px;transition:all .3s}.btn-nav:hover{color:var(--text-main);background:#ffffff0d}.btn-nav.active{background:#00e5ff1a;color:var(--neon-blue);text-shadow:0 0 8px var(--neon-blue-glow);border:1px solid rgba(0,229,255,.2)}.btn-add-lancamento{background:transparent;border:1px solid var(--neon-blue);color:var(--neon-blue);padding:.6rem 1.4rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 0 10px #00e5ff1a}.btn-add-lancamento:hover{background:var(--neon-blue);color:var(--bg-dark);box-shadow:0 0 20px var(--neon-blue-glow),0 0 40px var(--neon-blue-glow);transform:translateY(-2px)}.btn-add-lancamento:active{transform:translateY(0)}@media(max-width:768px){.dash-header{flex-direction:column;gap:1.5rem}.top-nav{position:relative;left:0;transform:none;width:100%;justify-content:center}.month-header,.lancamento-item{padding:1rem 1.2rem}.lancamento-date{width:45px;height:45px}.date-day{font-size:1.2rem}}.cadastro-screen{animation:fadeUp .6s ease-out backwards;max-width:600px;margin:0 auto;width:100%}.cadastro-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.cadastro-header h2{font-size:1.5rem;font-weight:500;color:var(--text-main);margin:0}.btn-back{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s;border-radius:50%}.btn-back:hover{color:var(--neon-blue);background:#00e5ff1a;box-shadow:0 0 10px var(--neon-blue-glow)}.btn-back svg{width:24px;height:24px}.cadastro-form{display:flex;flex-direction:column;gap:1.5rem;background:var(--bg-card);padding:2rem;border-radius:16px;border:1px solid rgba(255,255,255,.05);box-shadow:0 10px 30px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.form-group{display:flex;flex-direction:column;gap:.5rem;position:relative}.form-group label{font-size:.9rem;color:var(--text-main)}.label-blue{color:var(--neon-blue)!important}.input-underlined{background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);color:var(--text-main);font-size:1rem;padding:8px 0;outline:none;transition:border-color .3s;width:100%}.input-underlined:focus{border-bottom-color:var(--neon-blue);box-shadow:0 1px 0 var(--neon-blue)}.input-valor{color:var(--neon-blue);font-size:1.1rem}.input-outlined{background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-main);font-size:1rem;padding:10px 12px;outline:none;transition:all .3s;width:100%;appearance:none}.input-outlined:focus{border-color:var(--neon-blue);box-shadow:0 0 8px var(--neon-blue-glow)}.input-outlined option,.select-tipo option{background:var(--bg-dark);color:var(--text-main)}.input-with-icon-right{position:relative;display:flex;align-items:center}.input-with-icon-right input{width:100%;padding-right:35px}.input-with-icon-right .icon{position:absolute;right:0;width:20px;height:20px;color:var(--text-muted);pointer-events:none;z-index:1}input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:0;width:30px;height:100%;opacity:0;cursor:pointer;z-index:2}.textarea-wrapper{position:relative}.textarea-wrapper textarea{resize:none}.char-count{position:absolute;bottom:-18px;right:0;font-size:.75rem;color:var(--text-muted)}.form-group-toggle{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff1a;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:var(--text-muted);transition:.4s}input:checked+.slider{background-color:#00e5ff4d}input:checked+.slider:before{transform:translate(24px);background-color:var(--neon-blue);box-shadow:0 0 10px var(--neon-blue-glow)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.form-actions{margin-top:1.5rem}.btn-salvar-primary{width:100%;padding:14px;background:var(--neon-blue);color:var(--bg-dark);font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s;box-shadow:0 0 15px var(--neon-blue-glow)}.btn-salvar-primary:hover{box-shadow:0 0 25px var(--neon-blue-glow),0 0 40px var(--neon-blue-glow);transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.modal-content{width:90%;max-width:450px;padding:2.5rem;border-top:3px solid var(--neon-blue);animation:scaleIn .3s cubic-bezier(.16,1,.3,1)}.modal-header-simple h3{margin-bottom:1.5rem;color:var(--text-main);font-size:1.5rem}.modal-body p{font-size:1.1rem;color:var(--text-muted);line-height:1.5;margin-bottom:2.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1.2rem}.btn-modal{padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;border:1px solid transparent;font-size:.95rem}.btn-cancel{background:#39ff141a;color:var(--neon-green);border-color:#39ff1433}.btn-cancel:hover{background:var(--neon-green);color:var(--bg-dark);box-shadow:0 0 15px var(--neon-green-glow)}.btn-confirm{background:#ff33661a;color:var(--danger);border-color:#f363}.btn-confirm:hover{background:var(--danger);color:#fff;box-shadow:0 0 15px #f366}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003;border-radius:10px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px;transition:all .3s}::-webkit-scrollbar-thumb:hover{background:var(--neon-blue);box-shadow:0 0 10px var(--neon-blue-glow)}.custom-scrollbar::-webkit-scrollbar-thumb{background:#00e5ff4d}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--neon-blue)}
