*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;height:100lvh;overscroll-behavior:none;background-color:#242424}body{align-items:center;overflow:hidden;scroll-behavior:smooth}body.login-page{height:auto;min-height:100vh;min-height:100dvh;overflow-y:auto}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url(/assets/logo.png);background-repeat:no-repeat;background-position:center center;background-size:50% auto;pointer-events:none;z-index:-9999}body::-webkit-scrollbar{width:0px;height:0px}#root{position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background-color:#242424}@media (display-mode: standalone){#root{height:100lvh}}body.login-page #root{position:static;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}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{display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) 14px calc(10px + env(safe-area-inset-bottom,0px));position:fixed;top:0;left:-300px;width:300px;max-width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid var(--border-color);z-index:9999;transition:left var(--animation-speed) ease-in-out}.menu.visible{left:0}.menu-header{display:flex;align-items:center;gap:8px}.user-info{display:flex;align-items:center;min-width:0}.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}.import-status{font-size:14px;padding:6px 10px;border-radius:6px;text-align:center}.import-status.success{background:#32b46433;color:#4caf82;border:1px solid rgba(50,180,100,.4)}.import-status.error{background:#dc3c3c33;color:#e57373;border:1px solid rgba(220,60,60,.4)}.menu-toggle-row{display:flex;align-items:center;gap:10px;cursor:pointer}.menu-list .menu-toggle-row span{flex:1;margin:0}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#444;border-radius:20px;transition:background var(--animation-speed)}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--animation-speed)}.toggle-switch input:checked+.toggle-slider{background:#4caf82}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.gesture-zone-row{display:flex;flex-direction:column;gap:6px;padding:6px 10px 8px;border:1px solid var(--border-color);border-radius:8px}.gesture-zone-label{display:flex;justify-content:space-between;font-size:14px;color:#ffffffb3}.gesture-zone-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#444;outline:none;cursor:pointer}.gesture-zone-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4caf82;cursor:pointer;transition:background var(--animation-speed)}.gesture-zone-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#4caf82;cursor:pointer;border:none;transition:background var(--animation-speed)}.trigger-zone-preview-line{position:fixed;left:0;right:0;height:2px;background:#fff;pointer-events:none;z-index:9999;opacity:.8}.appVersion{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:0;width:100%;text-align:center;font-size:14px;color:var(--text-muted-color);color:gray}.menu-share-btn{position:relative}.menu-notification-badge{background:#e05c5c;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;line-height:16px;margin-left:auto;flex-shrink:0}.input-container{width:100%;max-width:min(800px,98%);margin:0 auto;position:fixed;z-index:20;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:0;height:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);width:100%;max-width:100%;border:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0}.input-container.open{height:100%;border:0;border-radius:0;bottom:0;max-width:min(800px,100%);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}.bottom-panel{position:absolute;bottom:0;left:0;width:100%;display:flex;flex-direction:column}.input-container.mobile .bottom-panel{bottom:env(safe-area-inset-bottom,0px)}.input-container.open .bottom-panel{position:static;margin-top:auto}.input-container.keyboard-hidden .categories-list{flex:none;margin-top:auto}.input-container.keyboard-hidden .bottom-panel{margin-top:0}.input-row{display:flex;align-items:center;gap:8px;padding:4px 15px}.input-container.closed .bottom-panel .input-row{padding:14px 15px}#number-input{flex:1;border-radius:var(--border-radius);outline:none;text-align:center;cursor:pointer;height:41px;display:flex;justify-content:center;align-items:center;font-size:18px;transition:scale var(--animation-speed2x) ease,color var(--animation-speed2x) ease,border-color var(--animation-speed2x) ease}.usd-toggle-btn{flex-shrink:0;font-size:16px;font-weight:700;transition:background var(--animation-speed2x) ease,color var(--animation-speed2x) ease}.usd-toggle-btn.active{background:#fff;color:#000}.comment-toggle-btn{flex-shrink:0;font-size:20px;transition:background var(--animation-speed2x) ease,color var(--animation-speed2x) ease}.comment-toggle-btn.active{background:#fff;color:#000}.comment-input-row{overflow:hidden;max-height:0;padding:0 15px;display:flex;align-items:center;gap:8px;transition:max-height var(--animation-speed2x) ease,padding var(--animation-speed2x) ease}.comment-input-row.visible{max-height:60px;padding:8px 15px}.comment-input{flex:1;background:#ffffff12;border:1px solid var(--border-color);border-radius:var(--border-radius);color:#fff;font-size:16px;padding:10px 12px;outline:none;box-sizing:border-box;transition:border-color var(--animation-speed2x) ease}.comment-input:focus{border-color:#fff}.comment-input::-webkit-search-decoration,.comment-input::-webkit-search-cancel-button,.comment-input::-webkit-search-results-button,.comment-input::-webkit-search-results-decoration{display:none}#number-input.added{scale:1.2;background-color:#000}#number-input.error{border-color:var(--warn-color);animation:shake .5s;color:var(--warn-color)}.menuButton{flex-shrink:0}.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)}}.categories-list{max-width:800px;width:calc(100% - var(--buttons-gap) - var(--buttons-gap));margin:2px var(--buttons-gap) var(--buttons-gap) var(--buttons-gap);flex:1;min-height:0;overflow-y:auto}.categoriesGrid{flex-wrap:wrap;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--buttons-gap)}.categoriesGrid button{justify-content:flex-start;padding:8px;font-size:24px;width:100%;height:60px;max-height:var(--button-max-height);background:#000}.categoriesGrid button:active{background:#fff;color:#000}@media (hover: hover) and (pointer: fine){.categoriesGrid button:hover{background:#fff;color:#000}}.categoriesGrid button span{margin:auto;font-size:18px}.categoriesGrid button *{vertical-align:middle}@media (max-width: 474px){.categoriesGrid button span{font-size:14px}}@media (max-width: 374px){.categoriesGrid button span{display:none}}@media (max-width: 345px){.categoriesGrid button span{font-size:10px}}.keyboard{width:calc(100% - var(--buttons-gap) - var(--buttons-gap));margin:0 var(--buttons-gap) var(--buttons-gap) var(--buttons-gap);display:flex;flex-direction:column;gap:var(--buttons-gap)}.keyboard .numberButtons{display:grid;gap:var(--buttons-gap);grid-template-columns:repeat(3,1fr);width:100%;overflow:hidden;max-height:600px;transition:max-height var(--animation-speed2x) ease-in-out}.keyboard .numberButtons.hidden{max-height:0}.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}.closeButton:hover{background-color:var(--warn-color-hover)}.spends-container{width:100%;max-width:800px;height:100%;margin:0 auto;position:relative}.spends-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:none;background:transparent;border:0;border-radius:0;padding-top:calc(113px + env(safe-area-inset-top,0px));padding-bottom:calc(71px + env(safe-area-inset-bottom,0px));scrollbar-color:white transparent;scrollbar-width:none}.spends-scroll::-webkit-scrollbar{width:4px}.spends-scroll::-webkit-scrollbar-track{background:transparent}.spends-scroll::-webkit-scrollbar-thumb{background:#fff;border-radius:var(--border-radius)}.total-row{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:9;border:1px solid rgba(255,255,255,.18);border-radius:var(--border-radius);width:100%;max-width:800px}.slide-wrapper{width:100%;border-radius:var(--border-radius);overflow:hidden}@keyframes slide-in-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-in-from-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.slide-wrapper.slide-forward{animation:slide-in-from-right .3s cubic-bezier(.25,.46,.45,.94)}.slide-wrapper.slide-backward{animation:slide-in-from-left .3s cubic-bezier(.25,.46,.45,.94)}.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 .spends-scroll ul.collapsible{border:0;border-radius:0;margin-bottom:-2px}.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 .total{cursor:default;background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.spends-container .total:hover{background:#00000080}.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 .total .sum{font-weight:700}.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;flex-shrink:0}.spends-container ul ul li label{width:100%;background:none;cursor:pointer;margin-right:-50px}.spends-container button:focus{outline:none}.spend-amount{flex:1;cursor:pointer;background:none;border:none;color:inherit;font-size:inherit;text-align:left;padding:0;display:flex;align-items:center;gap:8px}.spend-amount-value{font-size:inherit;flex-shrink:0}.spend-comment{font-size:12px;color:gray;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spend-comment-icon{display:flex;align-items:center;font-size:16px;color:gray;flex-shrink:0;pointer-events:none;margin-left:4px}.spend-edit-row{display:flex;align-items:center;gap:6px;flex:1;padding:6px 8px 6px 0;min-height:52px}.spend-edit-inputs{flex:1;display:flex;flex-direction:row;gap:4px;min-width:0}.spend-edit-inputs .spend-edit-input:first-child{width:30%;flex:none;text-align:center}.spend-comment-input{flex:1;min-width:0}.spend-cat-btn{width:var(--button-size);height:var(--button-size);font-size:22px;padding:0;flex-shrink:0}.spend-edit-input{flex:1;background:#ffffff12;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:16px;padding:8px 10px;outline:none;min-width:0}.spend-edit-input:focus{border-color:#fff}.spend-edit-btn{width:var(--button-size);height:var(--button-size);font-size:18px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.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)}.category-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.category-picker-panel{background:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;width:100%;max-width:800px;max-height:50vh;overflow-y:auto;padding:10px;animation:category-slide-up .25s ease}@keyframes category-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.category-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--buttons-gap)}.category-picker-item{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:20px;background:#ffffff0d;border-radius:var(--border-radius);border:1px solid transparent;transition:background var(--animation-speed2x),border-color var(--animation-speed2x)}.category-picker-item span{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-picker-item:active{transform:scale(.96)}.category-picker-item.active{background:#fff;color:#000;border-color:#fff}@media (hover: hover) and (pointer: fine){.category-picker-item:hover{background:#ffffff26;border-color:var(--border-color)}.category-picker-item.active:hover{background:#fff;color:#000}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-popup{background:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:24px 20px 16px;min-width:260px;max-width:90vw;display:flex;flex-direction:column;gap:16px}.confirm-message{font-size:16px;color:var(--text-color);text-align:center}.confirm-actions{display:flex;gap:8px;justify-content:center}.confirm-btn{flex:1;height:var(--button-size);font-size:15px;justify-content:center}.confirm-btn-ok{background:var(--warn-color);border-color:var(--warn-color);color:#fff}.confirm-btn-ok:active{background:var(--warn-color-hover)}@media (hover: hover) and (pointer: fine){.confirm-btn-ok:hover{background:var(--warn-color-hover)}}.datePicker{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 20px 10px;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:calc(70px + env(safe-area-inset-top,0px));overflow:hidden;transition:height var(--animation-speed);top:0;z-index:10}.periodSelect{z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 15px}.datePicker .button{width:auto;font-size:14px;padding:0 10px;text-align:center}.datePicker select.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;text-align-last:center;padding:10px 15px}.yearSwitch input.button{width:130px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dateSwitchContainer{position:absolute;left:0;right:0;display:flex;justify-content:center;align-items:center;pointer-events:none}.dateSwitchContainer>*{pointer-events:all}.today-button{position:absolute;right:20px;animation:fadeIn var(--animation-speed) ease-in-out}.daySwitch{display:flex;justify-content:center;align-items:center;width:100%;max-width:25%;margin:0 auto;padding:10px;gap:0}.monthSwitch,.yearSwitch{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto;padding:10px;gap:0}.monthSwitch input,.yearSwitch input,.daySwitch input{border-radius:0}.monthSwitch button:last-of-type,.yearSwitch button:last-of-type,.daySwitch button:last-of-type{border-radius:0 var(--border-radius) var(--border-radius) 0}.monthSwitch button:first-of-type,.yearSwitch button:first-of-type,.daySwitch button:first-of-type{border-radius:var(--border-radius) 0 0 var(--border-radius)}.categories-page{position:fixed;top:0;bottom:0;left:-100vw;width:100vw;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;background:var(--bg-color, #000);z-index:9999;transition:left var(--animation-speed) ease-in-out}.categories-page.visible{left:0}.categories-page-header{display:flex;align-items:center;gap:12px;padding:8px 0;flex-shrink:0}.categories-page-header h2{font-size:20px;font-weight:600;margin:0;flex:1;text-align:center}.saving-indicator{font-size:13px;color:gray}.categories-page-error{color:var(--warn-color);font-size:14px;padding:8px 12px;border:1px solid var(--warn-color);border-radius:var(--border-radius);background:#ff4b4b14}.categories-page-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--buttons-gap);border-radius:var(--border-radius);border:1px solid var(--border-color);flex:1;overflow-y:auto;min-height:0}.categories-page-item{background:#00000080}.cat-display-row{display:flex;align-items:center;gap:10px;padding:8px;min-height:52px}.drag-handle{color:gray;font-size:20px;flex-shrink:0;cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.categories-page-item.dragging{opacity:.4}.categories-page-item.drag-over{outline:1px solid var(--border-color);background:#ffffff0d}.cat-icon-preview{font-size:22px;width:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cat-display-btn{display:flex;align-items:center;gap:10px;flex:1;background:none;border:none;color:inherit;cursor:pointer;padding:0;min-width:0;text-align:left}.cat-name{flex:1;font-size:16px}.cat-row-actions{display:flex;gap:var(--buttons-gap);flex-shrink:0}.cat-action-btn{width:var(--button-size);height:var(--button-size);font-size:18px;padding:0;display:flex;align-items:center;justify-content:center}.cat-action-btn:disabled{opacity:.25;cursor:default;pointer-events:none}.cat-action-btn.danger{color:var(--warn-color);border-color:var(--warn-color)}@media (hover: hover) and (pointer: fine){.cat-action-btn.danger:hover{background:var(--warn-color);color:#fff}}.cat-edit-row,.cat-add-form{display:flex;align-items:center;gap:6px;padding:8px;min-height:52px}.cat-icon-btn{width:var(--button-size);height:var(--button-size);font-size:22px;padding:0;flex-shrink:0}.cat-name-input{flex:1;background:#ffffff12;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:16px;padding:8px 10px;outline:none;min-width:0}.cat-name-input:focus{border-color:#fff}.cat-add-btn{width:100%;justify-content:center;gap:8px;font-size:18px;height:var(--button-size);padding:0 16px}.cat-add-btn span{font-size:16px}.cat-reset-btn{background:none;border:none;color:gray;font-size:13px;cursor:pointer;padding:4px 0;text-decoration:underline;text-align:center;margin-top:4px}.cat-reset-btn:hover{color:#fff}.icon-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.icon-picker-panel{background:#1a1a1a;border:1px solid var(--border-color);border-radius:var(--border-radius) var(--border-radius) 0 0;width:100%;max-width:800px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:slide-up .25s ease}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.icon-picker-header{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;border-bottom:1px solid var(--border-color);flex-shrink:0}.icon-picker-search{flex:1;display:flex;align-items:center;background:#ffffff12;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:0 10px;gap:8px}.icon-picker-search .search-icon{color:gray;font-size:18px;flex-shrink:0}.icon-picker-search input{flex:1;background:none;border:none;outline:none;color:var(--text-color);font-size:16px;padding:8px 0}.icon-picker-close{font-size:22px;padding:6px;color:gray}.icon-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--buttons-gap);overflow-y:auto;padding:10px}.icon-picker-item{font-size:24px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:var(--border-radius);border:1px solid transparent;transition:background var(--animation-speed2x),border-color var(--animation-speed2x)}.icon-picker-item:active,.icon-picker-item.active{background:#fff;color:#000;border-color:#fff}@media (hover: hover) and (pointer: fine){.icon-picker-item:hover{background:#ffffff26;border-color:var(--border-color)}.icon-picker-item.active:hover{background:#fff;color:#000}}.share-account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.share-account-overlay.visible{opacity:1;pointer-events:all}.share-account-panel{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:#121218eb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-bottom:none;border-radius:20px 20px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:0;transform:translateY(40px);transition:transform .3s cubic-bezier(.34,1.56,.64,1);color:#fff;font-family:inherit}.share-account-overlay.visible .share-account-panel{transform:translateY(0)}.share-account-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.share-account-header h2{font-size:20px;font-weight:600;flex:1;margin:0}.share-account-icon{font-size:22px;color:#4caf82}.share-close-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:50%;color:#ffffffb3;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:background .15s,color .15s}.share-close-btn:hover{background:#ffffff1a;color:#fff}.share-section{padding:4px 0 12px}.share-section-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff73;margin:0 0 12px;display:flex;align-items:center;gap:8px}.share-divider{height:1px;background:#ffffff14;margin:8px 0 16px}.share-empty{font-size:14px;color:#fff6;margin:0}.share-hint{font-size:13px;color:#ffffff80;margin:0 0 12px;line-height:1.5}.share-badge{background:#e05c5c;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;letter-spacing:0;text-transform:none;line-height:16px}.share-partners-list,.share-invitations-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.share-partner-row,.share-invitation-row{display:flex;align-items:center;gap:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px}.share-partner-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4caf82,#2d8a5e);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0}.share-avatar-sm{width:30px;height:30px;font-size:13px}.share-partner-email,.share-invitation-email{flex:1;font-size:14px;color:#ffffffd9;word-break:break-all;min-width:0}.share-disconnect-btn{background:none;border:1px solid rgba(220,80,80,.35);border-radius:8px;color:#e05c5c;width:34px;height:34px;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.share-disconnect-btn:hover:not(:disabled){background:#dc50501f;border-color:#e05c5c}.share-invitation-actions{display:flex;gap:8px}.share-accept-btn,.share-decline-btn{background:none;border:none;width:34px;height:34px;border-radius:8px;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;flex-shrink:0}.share-accept-btn{color:#4caf82}.share-accept-btn:hover:not(:disabled){background:#4caf821f}.share-decline-btn{color:#e05c5c}.share-decline-btn:hover:not(:disabled){background:#dc50501f}.share-invite-row{display:flex;gap:8px}.share-email-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-size:15px;padding:10px 14px;outline:none;transition:border-color .15s;font-family:inherit;min-width:0}.share-email-input::placeholder{color:#ffffff4d}.share-email-input:focus{border-color:#4caf8299;background:#ffffff14}.share-invite-btn{background:linear-gradient(135deg,#4caf82,#2d8a5e);border:none;border-radius:10px;color:#fff;font-size:20px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .15s,transform .1s}.share-invite-btn:hover:not(:disabled){opacity:.88;transform:scale(1.04)}.share-invite-btn:disabled{opacity:.45;cursor:not-allowed}.share-status{font-size:13px;margin:8px 0 0;padding:8px 12px;border-radius:8px;line-height:1.4}.status-success{background:#4caf821f;color:#4caf82;border:1px solid rgba(76,175,130,.25)}.status-warning{background:#ffb4321a;color:#ffb432;border:1px solid rgba(255,180,50,.2)}.status-error{background:#dc50501a;color:#e05c5c;border:1px solid rgba(220,80,80,.2)}.share-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:share-spin .6s linear infinite}.share-spinner-sm{width:14px;height:14px}@keyframes share-spin{to{transform:rotate(360deg)}}.share-account-panel::-webkit-scrollbar{width:4px}.share-account-panel::-webkit-scrollbar-track{background:transparent}.share-account-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;width:100vw;background-color:#242424;padding:20px;box-sizing:border-box;gap:28px}.login-logo{width:110px;height:110px;border-radius:50%;object-fit:cover}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.login-tabs{display:flex;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;padding:3px;gap:3px}.login-tab{flex:1;padding:9px 0;background:none;border:none;border-radius:6px;color:#ffffff73;font-size:15px;cursor:pointer;transition:background var(--animation-speed) ease,color var(--animation-speed) ease}.login-tab.active{background:#ffffff2e;color:#fff}.login-form{display:flex;flex-direction:column;gap:10px}.login-input{background:#ffffff0f;border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:15px;padding:12px 14px;outline:none;transition:border-color var(--animation-speed) ease;width:100%;box-sizing:border-box}.login-input:focus{border-color:#fff6}.login-input::placeholder{color:var(--text-muted-color, #888)}.login-heading{font-size:18px;font-weight:600;color:#fff;margin:0;text-align:center}.login-subtext{font-size:13px;color:#ffffff80;text-align:center;margin:0}.login-info{font-size:13px;color:#4caf82;text-align:center}.login-forgot-link{background:none;border:none;color:#ffffff73;font-size:13px;cursor:pointer;padding:0;text-align:center;transition:color var(--animation-speed) ease}.login-forgot-link:hover{color:#ffffffbf}.login-back-link{background:none;border:none;color:#ffffff73;font-size:13px;cursor:pointer;padding:0;text-align:center;margin-top:4px;transition:color var(--animation-speed) ease}.login-back-link:hover{color:#ffffffbf}.login-error{font-size:13px;color:#e57373;text-align:center}.login-submit{background:#ffffff1f;border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:15px;padding:12px;cursor:pointer;transition:background var(--animation-speed) ease;margin-top:2px}.login-submit:hover:not(:disabled){background:#fff3}.login-submit:disabled{opacity:.5;cursor:default}.login-divider{display:flex;align-items:center;gap:10px;color:var(--text-muted-color, #888);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-social{display:flex;flex-direction:column;gap:10px}.login-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#ffffff0f;border:1px solid var(--border-color);border-radius:8px;color:#fff;font-size:15px;padding:11px;cursor:pointer;transition:background var(--animation-speed) ease}.login-social-btn:hover{background:#ffffff24}
