.topbar{position:fixed;top:0;left:0;right:0;height:56px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;padding:0 8px;background:var(--card-bg);border-bottom:var(--border-gold-subtle);z-index:30}.topbar-menu-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-primary)}.topbar-logo{justify-self:center;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:linear-gradient(135deg,#e8c766,#b8842f);font-size:11px;font-weight:700;letter-spacing:-.5px;color:var(--brand-black)}.topbar-avatar{justify-self:center;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--card-border);border:1px solid var(--gold);font-size:11px;font-weight:500;color:var(--gold)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:40}.drawer-overlay.is-open{opacity:1;pointer-events:auto}.session-drawer{position:fixed;top:0;bottom:0;left:0;width:78%;max-width:300px;background:var(--card-bg);border-right:var(--border-gold);display:flex;flex-direction:column;justify-content:space-between;padding:24px 12px;transform:translate(-100%);transition:transform .2s ease;z-index:50}.session-drawer.is-open{transform:translate(0)}.session-drawer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.session-drawer-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:var(--radius-card);background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;text-align:left}.session-drawer-item.is-active{background:var(--gold-translucent-bg);color:var(--gold)}.session-drawer-logout{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;border-top:var(--border-gold-subtle);background:transparent;color:var(--text-secondary);font-size:14px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;display:flex;background:var(--card-bg);border-top:.5px solid rgba(217,174,82,.15);z-index:30}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-secondary);font-size:12px}.bottom-nav-item.is-active{color:var(--gold)}.app-shell{max-width:var(--shell-max-width);margin:0 auto;min-height:100vh;background:var(--bg-screen)}.app-content{padding-top:56px;min-height:100vh}.app-content.has-bottom-nav{padding-bottom:64px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-screen)}.login-card{width:100%;max-width:360px}.login-title{font-size:28px;font-weight:500;text-align:center;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:13px;margin-top:4px;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:13px;color:var(--text-secondary)}.login-field input{background:var(--card-bg);border:.5px solid var(--card-border);border-radius:var(--radius-input);padding:12px 14px;font-size:15px;color:var(--text-primary);outline:none}.login-field input:focus{border-color:var(--gold)}.login-error{font-size:13px;color:var(--status-danger-text);background:var(--status-danger-bg);border-radius:var(--radius-badge);padding:8px 12px}.login-button{margin-top:8px;border:none;border-radius:var(--radius-input);padding:13px;font-size:15px;font-weight:500;background:var(--gold-gradient);color:var(--brand-black)}.login-button:disabled{opacity:.7;cursor:default}.em-construcao{min-height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);font-size:14px}.greeting-card{margin:16px 16px 0;padding:18px;background:var(--card-content-bg);border:var(--border-gold);border-radius:20px}.greeting-card-greeting{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}.greeting-card-time{font-size:12px;color:var(--text-secondary)}.greeting-card-name{font-size:20px;font-weight:500;color:var(--text-primary)}.greeting-card-balance{margin-bottom:16px}.greeting-card-balance-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:4px}.greeting-card-balance-value{font-size:32px;font-weight:500;background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.greeting-card-balance-value.is-negative{background:none;-webkit-text-fill-color:initial;color:var(--bronze)}.greeting-card-bars{display:flex;gap:8px}.greeting-card-bar-group{flex:1;min-width:0}.greeting-card-bar-info{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:6px}.greeting-card-bar-label{font-size:10px;color:var(--text-secondary)}.greeting-card-bar-value{font-size:10px}.greeting-card-bar-value.entradas{color:var(--gold)}.greeting-card-bar-value.saidas{color:var(--bronze)}.greeting-card-bar-track{height:3px;border-radius:4px;background:var(--card-border);overflow:hidden}.greeting-card-bar-fill{height:100%;border-radius:4px}.greeting-card-bar-fill.entradas{width:100%;background:linear-gradient(90deg,var(--gold-light),var(--gold-dark))}.greeting-card-bar-fill.saidas{background:var(--brand-accent-bronze)}.month-selector{position:sticky;top:56px;z-index:20;display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 16px;background:var(--bg-screen);border-bottom:var(--border-gold-subtle)}.month-selector-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:.5px solid rgba(217,174,82,.2);border-radius:8px;color:var(--text-secondary)}.month-selector-label{font-size:14px;font-weight:500;color:var(--text-primary);min-width:140px;text-align:center}.metric-card{position:relative;background:var(--card-content-bg);border:var(--border-gold);border-radius:var(--radius-card);padding:14px;display:flex;flex-direction:column;gap:6px;overflow:hidden}.metric-card.is-bronze{border:var(--border-bronze)}.metric-card-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.metric-card-label{font-size:11px;color:var(--text-secondary)}.metric-card-icon{position:relative;z-index:1;width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px}.metric-card-value{position:relative;z-index:1;font-size:20px;font-weight:500;color:var(--gold)}.metric-card-subtext{position:relative;z-index:1;font-size:11px;color:var(--text-secondary)}.metric-card-progress{position:relative;z-index:1;height:4px;border-radius:4px;background:var(--card-border);overflow:hidden}.metric-card-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gold-light),var(--gold-dark));transition:width .2s ease}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:60;display:flex;align-items:flex-end;justify-content:center}.modal-card{width:100%;max-width:var(--shell-max-width);background:var(--card-content-bg);border:var(--border-gold);border-radius:16px 16px 0 0;padding:20px;max-height:85vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title{font-size:18px;font-weight:500;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:22px;line-height:1;padding:0;width:28px;height:28px}.dashboard-content{padding:16px}.entradas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entrada-item{background:var(--card-content-bg);border:var(--border-gold);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.entrada-info{display:flex;flex-direction:column;gap:2px;min-width:0}.entrada-nome{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entrada-data{font-size:12px;color:var(--text-secondary)}.entrada-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.entrada-valor{font-size:15px;font-weight:500;color:var(--gold)}.entrada-delete{background:transparent;border:none;color:var(--text-muted);padding:4px;display:flex}.entrada-delete:hover{color:var(--status-danger-text)}.entrada-form{display:flex;flex-direction:column;gap:16px}.contas-fixas-content{padding:16px}.contas-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.conta-item{background:var(--card-content-bg);border:var(--border-gold);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:12px;transition:background .15s ease}.conta-item.is-paga{background:var(--gold-translucent-bg);border-color:var(--gold)}.conta-icon{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-screen);color:var(--text-secondary)}.conta-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.conta-nome{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conta-categoria{font-size:12px;color:var(--text-secondary)}.conta-valor{font-size:15px;font-weight:500;color:var(--gold);flex-shrink:0}.conta-check{width:24px;height:24px;flex-shrink:0;border-radius:999px;border:1.5px solid var(--card-border);background:transparent;color:var(--brand-black);display:flex;align-items:center;justify-content:center;padding:0}.conta-item.is-paga .conta-check{background:var(--gold);border-color:var(--gold)}.conta-delete{background:transparent;border:none;color:var(--text-muted);padding:4px;flex-shrink:0;display:flex}.conta-delete:hover{color:var(--status-danger-text)}.conta-form{display:flex;flex-direction:column;gap:16px}.economias-content{padding:16px}.metas-list{display:flex;flex-direction:column;gap:12px}.meta-card{background:var(--card-content-bg);border:var(--border-gold);border-radius:var(--radius-card);padding:16px}.meta-card-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.meta-card-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bg-screen);color:var(--gold)}.meta-card-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.meta-card-nome{font-size:15px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-card-objetivo{font-size:12px;color:var(--text-secondary)}.meta-card-delete{background:transparent;border:none;color:var(--text-muted);padding:4px;flex-shrink:0;display:flex}.meta-card-delete:hover{color:var(--status-danger-text)}.meta-card-progress-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.meta-card-acumulado{font-size:20px;font-weight:500;color:var(--gold)}.meta-card-percent{font-size:13px;font-weight:500;color:var(--text-secondary)}.meta-card-aportes{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.meta-card-aportes li{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-primary)}.meta-card-aporte-data{color:var(--text-secondary)}.meta-card-ver-todos{background:transparent;border:none;color:var(--gold);font-size:12px;font-weight:500;padding:8px 0 0}.meta-card-aporte-btn{width:100%;justify-content:center;margin-top:14px}:root{--brand-black: #15130F;--gold-light: #E8C766;--gold-dark: #B8842F;--gold: #D9AE52;--bronze: #8C4F3D;--brand-accent-bronze: #6B3A2C;--gold-gradient: linear-gradient(135deg, #E8C766, #B8842F);--gold-translucent-bg: rgba(217, 174, 82, .16);--text-primary: #F1F1F1;--text-secondary: #9A9A9A;--text-muted: #6B6B6B;--bg-screen: var(--brand-black);--card-bg: #1C1A15;--card-content-bg: #222222;--card-border: #2A271F;--border-gold: .5px solid rgba(217, 174, 82, .18);--border-bronze: .5px solid rgba(140, 79, 61, .25);--border-gold-subtle: .5px solid rgba(217, 174, 82, .12);--status-success-text: #3B6D11;--status-success-bg: #EAF3DE;--status-warning-text: #8A6312;--status-warning-bg: rgba(184, 132, 47, .14);--status-alert-text: #8C4F3D;--status-alert-bg: rgba(107, 58, 44, .12);--status-danger-text: #A32D2D;--status-danger-bg: #FCEBEB;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--radius-card: 16px;--radius-badge: 8px;--radius-input: 8px;--shell-max-width: 480px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg-screen);color:var(--text-primary);font-family:var(--font-family);font-weight:400;font-size:14px;-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,p{margin:0}h1{font-size:22px;font-weight:500}h2{font-size:18px;font-weight:500}h3{font-size:15px;font-weight:500}button,input{font-family:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button,label{text-transform:none}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-header h2{font-size:18px;font-weight:500;color:var(--text-primary)}.btn-add{display:flex;align-items:center;gap:6px;border:none;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:500;background:var(--gold-gradient);color:var(--brand-black)}.empty-state{font-size:14px;color:var(--text-muted);text-align:center;padding:24px 0}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label{font-size:13px;color:var(--text-secondary)}.field-group input,.field-group select{background:var(--bg-screen);border:.5px solid var(--card-border);border-radius:var(--radius-input);padding:12px 14px;font-size:15px;color:var(--text-primary);outline:none;width:100%}.field-group input:focus,.field-group select:focus{border-color:var(--gold)}.btn-primary{border:none;border-radius:var(--radius-input);padding:13px;font-size:15px;font-weight:500;background:var(--gold-gradient);color:var(--brand-black)}.btn-primary:disabled{opacity:.7}.btn-secondary{border:.5px solid var(--card-border);border-radius:var(--radius-input);padding:12px;font-size:14px;font-weight:500;background:transparent;color:var(--text-primary)}.btn-danger{border:none;border-radius:var(--radius-input);padding:12px;font-size:14px;font-weight:500;background:var(--status-danger-bg);color:var(--status-danger-text)}.btn-danger:disabled{opacity:.7}.confirm-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:10px}.confirm-actions button{flex:1}
