*{box-sizing:border-box;margin:0;padding:0}body{align-items:center;height:100vh;scroll-behavior:smooth}body::-webkit-scrollbar{width:0px;height:0px}#root{align-items:center;height:100vh;display:flex;flex-direction:column}hr{border:none;border-top:1px solid var(--border-color);margin:10px 0}:root{font-family:Inter,system-ui,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--warn-color: #ff4b4b;--warn-color-hover: #e03d3d;--border-color: #232323;--hover-border-color: #ffffff;--text-color: #ffffff;--max-width: 320px;--border-radius: 10px;--animation-speed: .3s;--animation-speed2x: .15s;--buttons-gap: 2px;--button-size: 41px;--button-max-height: 7.5vh}.white-border{border-color:var(--border-color);border-width:1px;border-style:solid}.categories-list button:active{background:#00000080;border-color:var(--hover-border-color)}@media (hover: hover) and (pointer: fine){.white-border:hover{background:#00000080;border-color:var(--hover-border-color)}}.button{display:flex;background:#0000004d;width:var(--button-size);height:var(--button-size);font-size:25px;cursor:pointer;color:var(--text-color);border-radius:var(--border-radius);justify-content:center;align-items:center;opacity:1;visibility:visible;transition:background-color var(--animation-speed) ease,color var(--animation-speed) ease,border-color var(--animation-speed) ease,opacity var(--animation-speed) ease,visibility var(--animation-speed) ease}.button:active{background:var(--text-color);color:#000;transform:scale(.96);transition:none}.button.hidden{opacity:0;visibility:hidden;pointer-events:none}.menu{justify-content:space-between;align-items:center;padding:10px 14px;max-width:800px;margin:0 auto;position:fixed;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:0;border-right:1px solid var(--border-color);transition:left var(--animation-speed) ease-in-out;left:-100%;height:70px;height:100vh}.menu.visible{left:0}.user-info{display:flex;align-items:center}.back-button{float:left}.user-icon{width:40px;height:40px;border-radius:50%;object-fit:cover;margin:0 15px}.user-name{font-size:16px;color:#fff}.menu-list{width:100%;display:flex;flex-direction:column;margin-top:20px;gap:10px}.menu-list .button{width:auto;justify-content:left;gap:10px;padding:0 7px}.menu-list .button span{font-size:18px;margin:auto}.appVersion{position:absolute;bottom:10px;width:100%;text-align:center;font-size:14px;color:var(--text-muted-color);color:gray}.input-container{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;width:100%;max-width:min(800px,98%);margin:0 auto;position:fixed;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-top:0;height:70px;overflow:hidden;transition:height var(--animation-speed);bottom:0;border-radius:var(--border-radius) var(--border-radius) 0 0}.input-container.mobile{bottom:40px;border-radius:var(--border-radius)}.input-container .keyboard{opacity:0;visibility:hidden}.input-container.open{height:100%;border:0;border-radius:0;bottom:0;max-width:min(800px,100%)}.input-container.open .keyboard{opacity:1;visibility:visible}#number-input{width:calc(100% - 86px);font-size:16px;border-radius:var(--border-radius);outline:none;text-align:center;cursor:pointer;bottom:325px;left:70px;position:absolute;height:41px;vertical-align:middle;display:flex;justify-content:center;align-items:center;font-size:24px;transition:scale var(--animation-speed2x) ease,color var(--animation-speed2x) ease,border-color var(--animation-speed2x) ease,width var(--animation-speed2x) ease;z-index:1}#number-input.added{scale:1.2;background-color:#000}.input-container.closed #number-input{top:17px;bottom:unset}.input-container.open #number-input{width:calc(100% - 140px)}.input-container .closeButton{display:none;position:absolute;right:17px;bottom:325px;z-index:0}.input-container.open .closeButton{display:block}.menuButton{position:absolute;left:15px;bottom:325px}.input-container.closed .menuButton{top:17px;bottom:unset}.menuButton.bottom,.closeButton.bottom{bottom:40px}#number-input.error{border-color:var(--warn-color);animation:shake .5s;color:var(--warn-color)}#number-input.bottom{bottom:40px}.flying-text{position:absolute;font-size:24px;font-weight:700;color:#000;pointer-events:none;transition:transform .5s ease-in-out,opacity .5s ease-out}@keyframes shake{0%{transform:translate(1px)}10%{transform:translate(-1px)}20%{transform:translate(-3px)}30%{transform:translate(3px)}40%{transform:translate(1px)}50%{transform:translate(-1px)}60%{transform:translate(-3px)}70%{transform:translate(3px)}80%{transform:translate(-1px)}90%{transform:translate(1px)}to{transform:translate(1px,-0px)}}.categories-list{position:absolute;max-width:800px;left:0;top:0;transition:height var(--animation-speed) ease-in-out;margin:12px var(--buttons-gap) var(--buttons-gap) var(--buttons-gap);width:calc(100% - var(--buttons-gap) - var(--buttons-gap))}.categories-list h3{color:#fff;margin-bottom:10px;font-size:20px;text-align:center}.categoriesGrid{flex-wrap:wrap;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--buttons-gap)}.categories-list.bottom{bottom:95px;top:unset;margin:var(--buttons-gap) var(--buttons-gap) 12px var(--buttons-gap)}.categories-list button{justify-content:flex-start;padding:8px;font-size:24px;width:100%;height:60px;max-height:var(--button-max-height);background:#000}.categories-list button:active{background:#fff;color:#000}@media (hover: hover) and (pointer: fine){.categories-list button:hover{background:#fff;color:#000}}.categories-list button span{margin:auto;font-size:18px}.categories-list button *{vertical-align:middle}@media (max-width: 474px){.categories-list button span{font-size:14px}}@media (max-width: 374px){.categories-list button button span{display:none}}@media (max-width: 345px){.categories-list button span{font-size:10px}}.keyboard{position:absolute;max-width:800px;left:0;bottom:0;margin:0 var(--buttons-gap) var(--buttons-gap) var(--buttons-gap);width:calc(100% - var(--buttons-gap) - var(--buttons-gap))}.keyboard .numberButtons{display:grid;gap:var(--buttons-gap);grid-template-columns:repeat(3,1fr);transition:top 1s ease-in-out;overflow:hidden;position:absolute;bottom:calc(60px + var(--buttons-gap));transition:bottom var(--animation-speed2x) ease-in-out;width:100%}.keyboard .numberButtons.hidden{bottom:-500%}.open .keyboard{display:grid}.keyboard button{font-size:24px;width:100%;height:60px;max-height:var(--button-max-height);background:#000}.keyboard button:active{background:#fff;color:#000}@media (hover: hover) and (pointer: fine){.keyboard button:hover{background:#fff;color:#000}}.keyboard .show-hide-keyboard{border:none;background:none;z-index:1}.closeButton{width:41px;height:41px;font-size:25px;cursor:pointer;padding:7px;color:#fff;border-radius:var(--border-radius);transition:background-color var(--animation-speed) ease,transform var(--animation-speed) ease}.closeButton.top{display:block;position:absolute;right:17px;top:17px;z-index:0}.spends-container{width:100%;max-width:800px;margin:70px auto 0;display:flex;flex-direction:column;align-items:flex-start}.spends-container.loading{display:flex;justify-content:center;align-items:center;height:100vh}.spends-container ul.collapsible{list-style:none;padding:0;margin:0;width:100%;border-radius:var(--border-radius);overflow:hidden;border:1px solid var(--border-color)}.spends-container li{width:100%;margin:1px 0;vertical-align:middle}.spends-container li:first-child,.spends-container li:last-child{margin-top:0}.spends-container ul ul{max-height:0;overflow:hidden;list-style:none;transition:max-height var(--animation-speed) ease}.spends-container input.toggle{display:none}.spends-container input.toggle:checked+label+ul{max-height:1000px}.spends-container .category-label{display:flex;justify-content:flex-start;align-items:center;border:none;padding:8px;font-size:20px;cursor:pointer;text-align:left;background:#00000080;transition:background var(--animation-speed) ease}.spends-container .category-label:hover{background:#000000b3}.spends-container label span{font-size:16px}.spends-container label .category{margin-left:10px}.spends-container label .amount{margin-left:10px;color:gray}.spends-container label .sum{margin-left:auto}.spends-container ul ul li{display:flex;justify-content:flex-start;align-items:center;border:none;padding:5px 10px;cursor:pointer;text-align:left;background:#191919;transition:background var(--animation-speed) ease}.spends-container ul ul li button{margin-left:auto;opacity:0}.spends-container ul ul li label{width:100%;background:none;cursor:pointer;margin-right:-50px}.spends-container ul ul li:hover button{opacity:1}.spends-container button:focus{outline:none}.removeButton{width:41px;height:41px;font-size:25px;cursor:pointer;padding:7px;color:#fff;border-radius:var(--border-radius);transition:background-color var(--animation-speed) ease,transform var(--animation-speed) ease}.removeButton:hover{background-color:var(--warn-color-hover)}.datePicker{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-radius:0 0 var(--border-radius) var(--border-radius);width:100%;max-width:800px;margin:0 auto;position:fixed;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-top:0;height:70px;overflow:hidden;transition:height var(--animation-speed);top:0}.datePicker .button{width:auto;font-size:14px;padding:0 10px;text-align:center}.dateSwitchContainer{width:100%;display:flex;justify-content:center;align-items:center;margin:0 auto}.daySwitch,.monthSwitch,.yearSwitch{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto;padding:10px;gap:10px}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw;background-color:var(--background-color);text-align:center;font-size:28px}.login-container a{cursor:pointer;display:block;justify-content:center;align-items:center;transition:background-color var(--animation-speed) ease,transform var(--animation-speed) ease,opacity var(--animation-speed) ease}.login-container a *{display:block}.login-container a:hover{transform:scale(1.1)}.closeButton:hover{background-color:var(--warn-color-hover)}.login-button{width:150px;height:150px;max-width:90%;max-height:90%;border-radius:50%;object-fit:cover;margin-right:10px;margin-bottom:10px}
