.button-group{display:flex;border-radius:25px;border:1px solid rgba(255,255,255,.5)}.button-group-option{border:none;cursor:pointer;font-size:100%;border-radius:25px;padding:.8em 2em}.button-group-option:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.button-group-option:not(:first-child):not(:last-child){border-radius:0}.button-group-option:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.button-group-option-selected{background-color:var(--button-success-color)}.button-group-option:active{transform:scale(.98)}.button-group-option:focus{outline:0}.floating-circle{position:absolute;border-radius:50%;z-index:0;animation:float ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-50px)}}.confirmation-dialog-overlay{position:fixed;inset:0;background-color:#00000080;z-index:2;display:flex;align-items:center;justify-content:center}.confirmation-dialog{background-color:var(--background);padding:2em .5em;border-radius:12px;box-shadow:0 4px 20px #0000004d;text-align:center;min-width:300px}.confirmation-dialog p{margin:0 0 1.5em}.confirmation-dialog-buttons{display:flex;gap:1.6em;justify-content:center}.error-container{height:100%;display:flex;flex-direction:row;align-items:center;justify-content:center}.error{text-align:left;width:80vw}.error-details{margin:1rem 0;padding:.75rem;background-color:#f8f9fa;border-radius:.25rem;border:1px solid #dee2e6}.error-message{font-weight:700;color:#dc3545;margin-top:0;margin-bottom:1rem;overflow-wrap:break-word}.error-section{margin-bottom:.75rem}.error-toggle{background:none;border:none;padding:.25rem 0;font-size:.85rem;color:#6c757d;cursor:pointer;display:flex;align-items:center;gap:.25rem}.error-stack.scrollable{max-height:40vh;overflow-y:auto;background-color:#f1f3f4;border:1px solid #d1d5db;border-radius:.25rem;padding:.5rem;margin-top:.5rem}.error-stack pre{margin:0;font-size:.75rem;color:#374151;word-wrap:break-word;white-space:pre-wrap;word-break:break-all}.expandable-panel{bottom:0;position:fixed;background-color:var(--background);z-index:1;transition:width .2s;display:flex;flex-direction:column;text-align:left;box-sizing:border-box;overflow-x:hidden;box-shadow:0 0 20px 3px var(--expandable-panel-box-shadow-color);will-change:width}.expandable-panel-inner{flex:1;display:flex;flex-direction:column}.expandable-panel.expandable-panel-left{left:0}.expandable-panel.expandable-panel-right{right:0}.expandable-panel-overlay{width:100%;height:100%;z-index:1;position:fixed;top:0;left:0}.expandable-panel-close-button{font-size:3em;padding:0;position:absolute;top:.1em;color:var(--text-color)}.expandable-panel-left .expandable-panel-close-button{right:.5em}.expandable-panel-right .expandable-panel-close-button{left:.5em}.expandable-panel-close-button:hover{color:var(--background)}.icon-button{position:relative;font-size:100%;cursor:pointer;display:flex;flex-direction:column;align-items:center;border:0}.icon-button:hover::disabled{color:var(--button-color-disabled);opacity:.6;cursor:not-allowed}.icon-button-text{position:absolute;font-size:70%;top:100%;color:var(--text-color)}@keyframes icon-button-flash{0%{color:var(--button-flash-color)}to{color:var(--button-color)}}.icon-button-flash{animation:icon-button-flash .5s ease-in}@keyframes icon-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-button-spinning{animation:icon-button-spin 1s linear infinite}.loading-spinner-ring{display:inline-block;position:relative}.loading-spinner-ring div{box-sizing:border-box;display:block;position:absolute;border:8px solid var(--background);border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--loading-spinner-color) transparent transparent transparent}.loading-spinner-ring div:nth-child(1){animation-delay:-.45s}.loading-spinner-ring div:nth-child(2){animation-delay:-.3s}.loading-spinner-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner-ring.large{width:80px;height:80px}.loading-spinner-ring.large div{width:64px;height:64px;margin:8px;border-width:8px}.loading-spinner-ring.small{width:32px;height:32px}.loading-spinner-ring.small div{width:24px;height:24px;margin:4px;border-width:4px}.menu-button{font-size:115%;cursor:pointer;color:var(--button-color);display:flex;-webkit-user-select:none;user-select:none}.menu-button-group-button .menu-button-content{font-size:140%;padding:.5em .8em}.menu-button--active{color:var(--bar-highlight-color)}.menu-button-content{padding:.8em 1.5em}.menu-button-indicator{width:10px;background-color:var(--menu-button-indicator-color);border-bottom:1px solid var(--background)}.menu-button--active .menu-button-indicator{background-color:var(--bar-highlight-color)}.menu-button:hover{background-color:var(--menu-button-hover-color)}.menu-content{padding:1em 0;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-end}.menu-content ul{list-style:none;padding:0;margin:0}.menu-panel{border-top-right-radius:8px}.legend{padding:0 1.2em;width:90%;margin:0 auto;max-height:22vh}.legend-item{display:flex;flex-direction:row;align-items:center;cursor:pointer;margin-bottom:.2em}.legend-box{width:1em;height:1em;border-radius:50%}.legend-name{padding:.1em .5em;text-align:left;flex:1}.legend-value{text-align:right}.legend-value-percent{text-align:right;min-width:4em}footer{margin:0;padding-bottom:2.5em;padding-top:.4em;height:3.5em;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;border-top:1px solid var(--footer-border-color);flex-shrink:0;flex-grow:0}footer button{font-size:18px;border-radius:50px;height:4em;width:4em;display:flex;justify-content:center}.footer-custom-buttons{display:flex;flex-direction:row;height:100%;flex:1;justify-content:flex-start;padding-left:1em}.footer-custom-buttons button{margin:0 .5em}.user-info{position:fixed;top:1em;right:1em;z-index:1}.user-info-content{display:flex;align-items:center;gap:.5em;padding:.5em .75em;background-color:var(--background);border:1px solid var(--footer-border-color);border-radius:25px;cursor:pointer;transition:background-color .2s ease}.user-info-content:hover{background-color:var(--menu-button-hover-color)}.user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-initials{color:var(--background)}.user-name{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 600px){.user-name{display:none}.user-info-content{padding:.5em}}.assets-table-scroll-container{overflow-y:auto;flex:1}.assets-table{display:grid;grid-template-columns:max-content auto max-content;text-align:left;margin-top:1em}.assets-table>div{align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.2em .6em}.assets-table>div:nth-child(3n+4){border-top-left-radius:10px;border-bottom-left-radius:10px}.assets-table>div:nth-child(3n+3){border-top-right-radius:10px;border-bottom-right-radius:10px}.assets-table>div:nth-child(6n+4),.assets-table>div:nth-child(6n+5),.assets-table>div:nth-child(6n+6){background-color:var(--table-odd-row-background)}.assets-table .image-container{display:flex;align-items:center;justify-content:center}.assets-table img{border-radius:50%}.assets-table:last-child{padding-bottom:3em}.assets-view{padding:0 1em;flex:1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.assets-view h3{text-align:left;margin:1em;display:flex;justify-content:space-between}.assets-view h3:first-child{margin-top:0}.assets-view-select-container{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:0 .8em 1.8em}.assets-total-value{font-size:135%;flex:1;text-align:right;font-weight:700}.connections-table-container{margin-bottom:2.5em;flex-shrink:0;padding:0 1.5em}.connections-table{display:grid;grid-template-columns:max-content auto min-content;column-gap:1em;row-gap:1em}.connections-table div{display:flex;align-items:center}.connections-table img{width:28px;height:28px;border-radius:50%;border:1px solid var(--bank-connections-icon-border)}.connections-view{padding:1em;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center}.connections-view-scroll-container{overflow-y:auto;flex:1}.import-type-controls{margin-bottom:.5em}.import-type-controls h2{margin-bottom:1em;font-size:1.2em;color:var(--text-color)}.sync-status-area{width:80%;border:1px solid var(--select-border-color);border-radius:15px;padding:1em;margin-top:1em}.sync-status-area h3{margin:0;color:var(--text-color)}.sync-error{text-align:center}.sync-error p{color:#dc3545;margin-bottom:1em;word-break:break-all}.sync-waiting{text-align:center}.sync-waiting p{color:var(--text-color);opacity:.8}.sync-active{text-align:center}.qr-code-container{margin:1.5em 0}.qr-code{width:256px;height:256px;border:1px solid var(--select-border-color);border-radius:8px;margin-bottom:1em}.url-redirect-info{margin:1.5em 0}.url-redirect-info p{color:var(--text-color);opacity:.8;margin:.5em 0}.sync-completed{text-align:center}.sync-completed h3{color:#28a745}.sync-completed p{color:var(--text-color);margin-bottom:1em}.settings-view{padding:1em 2em;height:100%;display:flex;flex-direction:column;align-items:flex-start}.settings-view>*{margin-bottom:2em}.transaction-details-content{padding:2em 1.6em;display:grid;grid-template-columns:max-content 1fr;row-gap:.5em}.transactions-details-date{margin-top:.8em}.item{padding:.3em;display:flex;align-items:center;cursor:pointer;margin-bottom:.3em}.item:hover{background-color:var(--menu-button-hover-color)}.item-description{text-align:left;flex:1;padding:0 .7em}.item-title{white-space:nowrap;overflow:hidden;max-width:70vw;text-overflow:ellipsis}.item-subtitle{font-size:75%;color:var(--text-dimmed-color)}.item-right{align-self:center;display:flex;font-size:110%}.item-right .chevron{margin:0 .5em}.item-box{border-radius:50%;opacity:.7;height:1em;width:1em;margin:0 .2em}.item-value{margin-top:.3em}.item-group{margin:0 0 .5em;font-size:110%;font-weight:400;text-align:center;border-top:1px solid var(--footer-border-color);padding-top:1.2em}.item-group:not(:first-child){margin-top:.5em}.item-list{margin-top:1em;display:flex;flex-direction:column;padding:0 .5em;font-weight:lighter;overflow-y:auto;flex-shrink:1;flex:1}.show-more-button{margin:.5em auto 1em;font-size:120%}.transactions-details-panel{height:100%}.income-view{padding:0 2.2em;height:100%;display:flex;flex-direction:column;align-items:flex-start}.income-table{display:grid;grid-template-columns:max-content auto auto;text-align:left;margin-top:1em;width:100%;row-gap:.8em;column-gap:.2em}.income-month{margin:0 auto 1.5em;font-size:120%}.income-table-divider{border-top:2px solid var(--footer-border-color);grid-column:1 / span 3}.income-table-sum{justify-content:flex-end;grid-column:3}.income-table>div{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-table>div:nth-child(3n){justify-content:flex-end}:root{--background: #292929;--text-color: #ebebeb;--text-dimmed-color: #e4e4e4;--input-border-color: #d6d6d6;--footer-border-color: #707070;--button-color: var(--text-color);--bank-connections-icon-border: rgba(0, 0, 0, 0);--button-flash-color: rgb(255, 121, 121);--button-cancel-color: #dc3545;--button-success-color: #28a745;--menu-button-hover-color: rgba(152, 199, 236, .1);--menu-button-indicator-color: #dedede;--loading-spinner-color: rgb(125, 180, 226);--table-odd-row-background: rgb(87, 170, 238, .2);--expandable-panel-box-shadow-color: rgba(0, 0, 0, .2);--select-border-color: #b3b3b3;--bar-base-color: #4f78b3;--line-base-color: #5791ed;--bar-highlight-color: #f1aa2e;--bar-color-1: #184468;--bar-color-2: #4b9b8f;--bar-color-3: #a6c58a;--bar-color-4: #f3eda5;--bar-color-5: #e34956;--bar-color-5: #ec783f;--bar-color-6: #d5d3b8;--bar-color-7: #1898b5;--bar-color-8: #9e7b9b;--bar-color-9: #a23b72}html{height:100%;width:100%;overflow:hidden;position:fixed}body{margin:0;padding:0;height:100%;font-family:Montserrat,sans-serif;touch-action:manipulation;background-color:var(--background)}html{color:var(--text-color);line-height:1.4;font-size:16px}#root{height:100%}.App{height:100%;text-align:center;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between}.loading-container{height:100%;display:flex;align-items:center;justify-content:center}.chart-label-value{font-size:85%}.pie-slice,.bar{cursor:pointer}text{fill:var(--text-color)}.pie-label-bottom{transform:translateY(0);font-size:120%}.pie-label-center{transform:translateY(-45px);font-weight:700;font-size:190%}button{border:1px solid rgba(255,255,255,.5);border-radius:15px;font-size:100%;outline:0;padding:.5em 1.5em;color:var(--button-color);background-color:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:6em}button:hover:not(:disabled){background-color:var(--button-color);color:var(--background)}button:disabled{opacity:.6;cursor:not-allowed}button.cancel-button{border:0;background-color:var(--button-cancel-color);color:#fff}button.cancel-button:hover:not(:disabled){background:#fff;color:var(--button-cancel-color)}button.success-button{border:0;background-color:var(--button-success-color);color:#fff}button.success-button:hover:not(:disabled){background:#fff;color:var(--button-success-color)}.chevron:before{border-style:solid;border-width:.2em .2em 0 0;content:"";display:inline-block;height:.45em;left:.3em;position:relative;top:.4em;transform:rotate(-45deg);vertical-align:top;width:.45em}.chevron.right:before{left:0;transform:rotate(45deg)}.pie-chart-container{flex:13;display:flex;flex-direction:column}.pie-chart-container .legend{overflow-y:auto}.chart-container{display:flex;flex-direction:column;flex:1 1;overflow:hidden}.bar-chart-container{flex:7;display:flex;flex-direction:column}header{display:flex;flex-direction:column;padding:0 1.5em .5em}header h1{border-radius:15px;font-size:100%;text-align:left;margin:1.5em .1em}h1,h2{font-weight:400}.bankconnections-panel{height:100%}input[type=text]{background-color:var(--background);color:var(--text-color);outline:0;border:1px solid var(--input-border-color);border-radius:3px;padding:.4em .6em;font-size:120%}.input-group{display:flex;flex-direction:column;align-items:flex-start}.input-group input{margin-top:.4em}.strikethrough{position:relative}.strikethrough:before{position:absolute;content:"";left:0;top:50%;right:0;border-top:1px solid;border-color:inherit;transform:rotate(-15deg)}.recharts-surface{-webkit-user-select:none;user-select:none;outline:0}.login-page{background:linear-gradient(180deg,#1e40af,#087cb2);min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center}.login-page:before{content:"";position:absolute;inset:0;background:#0006}.login-content{margin:0 auto;padding:3em 2em;border-radius:20px;background-color:#6464644d;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a;position:relative;z-index:1;min-width:200px;box-sizing:border-box}.login-content p{margin-bottom:2.5em;font-size:120%}.login-content button{margin:0 auto;font-size:115%}.login-error{color:#ef4444;margin-top:1em}.login-loading{text-align:center}@media (max-width: 768px){.login-content{width:90vw}}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
