.button{display:inline-block;position:relative;isolation:isolate;padding:.5rem 1rem;border-radius:5px;min-width:100px;border:none;background-color:var(--color-primary);color:var(--color-text-primary);margin:5px}.button:not(:disabled):hover{background-color:var(--color-primary-light);scale:1.04}.button:not(:disabled):active{background-color:var(--color-primary-dark);scale:1.02}.button:disabled{opacity:.2;cursor:not-allowed}.login-page{padding:20px;text-align:center;color:var(--color-text-secondary)}.login-page .title{font-size:1.3em;margin-bottom:10px}.header{width:100%;background:var(--color-primary);color:var(--color-text-primary);box-shadow:0 0 10px #0003;z-index:500}.header .content{display:flex;justify-content:flex-start;align-items:center;gap:5px;padding:7px;max-width:1200px;margin:0 auto}.header .content .logo{display:flex}.header .content .title{white-space:nowrap;overflow:hidden;text-decoration:none;margin-left:5px;font-size:1.3rem}.header .content .profile{text-decoration:none;display:flex;justify-content:flex-start;align-items:center;margin-left:auto;padding:0 5px;margin-right:5px;gap:5px;white-space:nowrap;overflow:hidden}.header .content .profile svg{min-width:20px}.header .content .profile span{display:inline-block;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.header ._loader{height:3px;position:absolute;left:0;right:0}.loader{position:relative;height:3px;background-color:#fff;background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.25) 75%,transparent 75%,transparent);font-size:30px;background-size:.5em .5em;box-sizing:border-box;animation:barStripe 1s linear infinite}@keyframes barStripe{0%{background-position:1em 0}to{background-position:0 0}}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden;align-items:center}.app .app-body{width:100%;position:relative;max-width:1200px;overflow:auto;height:100%;box-shadow:0 0 10px #0003}.single-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a{text-decoration:none}.input{display:inline-block;position:relative;isolation:isolate;width:100%}.input.error{color:red}.input.design-search input[type=text],.input.design-search input[type=password],.input.design-search input[type=number],.input.design-search input[type=search]{border-radius:10px;padding:10px;outline:1px solid rgba(0,0,0,.22);margin-bottom:5px;margin-left:5px;border:none}.input.design-search input[type=text]:focus,.input.design-search input[type=password]:focus,.input.design-search input[type=number]:focus,.input.design-search input[type=search]:focus{outline:2px solid rgba(0,0,0,.22)}.input input[type=text],.input input[type=password],.input input[type=number],.input input[type=search]{display:block;position:relative;z-index:1;margin-top:1em;width:100%;border:1px solid var(--color-primary);border-radius:5px;padding:10px;margin-bottom:.5em;color:var(--color-primary-dark)}.error .input input[type=text],.error .input input[type=password],.error .input input[type=number],.error .input input[type=search]{border-bottom-color:red}.input input[type=text]:focus,.input input[type=password]:focus,.input input[type=number]:focus,.input input[type=search]:focus{outline:2px solid rgba(48,158,238,.4)}.input input[type=text]:disabled,.input input[type=text]:disabled+.label,.input input[type=password]:disabled,.input input[type=password]:disabled+.label,.input input[type=number]:disabled,.input input[type=number]:disabled+.label,.input input[type=search]:disabled,.input input[type=search]:disabled+.label{opacity:.8;cursor:not-allowed}.input input[type=text]+.label,.input input[type=password]+.label,.input input[type=number]+.label,.input input[type=search]+.label{cursor:pointer;z-index:2;position:absolute;top:0;font-size:.7em;left:2px;transition:all .2s ease-in-out;color:var(--color-primary-dark);font-weight:700}.input input[type=text]:placeholder-shown:not(:focus)+.label,.input input[type=password]:placeholder-shown:not(:focus)+.label,.input input[type=number]:placeholder-shown:not(:focus)+.label,.input input[type=search]:placeholder-shown:not(:focus)+.label{top:1.7em;font-size:1em;left:.7em;transition:all .2s ease-in-out;color:var(--color-primary-light)}.input input[type=text]~.error,.input input[type=password]~.error,.input input[type=number]~.error,.input input[type=search]~.error{color:red;font-size:.8em;margin-top:.5em}.profile-page{display:flex;flex-direction:column;align-items:center;padding-top:10px}.profile-page .profile{width:100%;max-width:400px;border:2px solid var(--color-primary);padding:10px;border-radius:10px}.profile-page .profile button{margin-left:0}.profile-page .profile .in-edit .name,.profile-page .profile .in-preview .name{font-size:1.2em;color:var(--color-text-secondary);margin-top:10px}.profile-page .buttons{display:flex;justify-content:space-around;width:100%;margin-top:10px;padding-top:5px;border-top:1px solid var(--color-primary)}.modal{z-index:1500;position:fixed;inset:44px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column}.modal .overlay{position:fixed;inset:44px 0 0;z-index:1000;cursor:no-drop;backdrop-filter:blur(5px);background-color:#00000040}.modal .wrapper{position:relative;display:flex;justify-content:center;padding:10px 0;pointer-events:none;width:100%;overflow:auto}.modal .wrapper::-webkit-scrollbar{display:none}.modal .wrapper .content{pointer-events:all;position:relative;height:fit-content;z-index:1001;width:80%;max-width:500px;background-color:#fff;border-radius:10px;padding:15px;box-shadow:0 0 10px #00000080}.is-mobile .modal .wrapper .content{width:calc(100% - 20px)}.modal .wrapper .content ._header{position:relative}.modal .wrapper .content ._header .title{font-size:1.2rem;font-weight:600;margin-bottom:10px;color:var(--color-primary-dark)}.modal .wrapper .content ._header .close{position:absolute;right:0;top:0;cursor:pointer}.modal .wrapper .content .body{border-top:1px dotted var(--color-primary-light);border-bottom:1px dotted var(--color-primary-light);margin-top:5px;padding-top:10px;padding-bottom:5px}.modal .wrapper .content .footer{display:flex;justify-content:flex-end;margin-top:5px}.expense-modal .amount-mismatch{color:red;font-size:.8em;margin-top:.5em}.expense-modal .by .title,.expense-modal .for .title{margin-top:.6em;color:var(--color-primary);font-weight:700;margin-left:.1em}.expense-modal .by .button,.expense-modal .for .button{margin-left:0}.expense-modal .by .total,.expense-modal .for .total{margin-left:.1em;color:var(--color-primary-dark)}.expense-modal .for .title{margin-top:1em}.expense-modal .paid-by,.expense-modal .paid-for>div:first-child{display:flex;align-items:flex-end;gap:.2em}.expense-modal .paid-by .button,.expense-modal .paid-for>div:first-child .button{height:calc(20px + 1.3em);margin:0 0 .5em;min-width:40px;flex:1;display:flex;justify-content:center;align-items:center;padding:.8em}.expense-modal .paid-by .button svg,.expense-modal .paid-for>div:first-child .button svg{height:20px}.expense-modal .paid-by .amount,.expense-modal .paid-for>div:first-child .amount{max-width:95px}.expense-modal .paid-by .amount .label,.expense-modal .paid-by .amount .error,.expense-modal .paid-for>div:first-child .amount .label,.expense-modal .paid-for>div:first-child .amount .error{white-space:nowrap}.select{display:inline-block;position:relative;isolation:isolate;width:100%}.select.error{color:red}.select select{display:block;position:relative;z-index:1;margin-top:1em;width:100%;border:1px solid var(--color-primary);border-radius:5px;padding:10px;margin-bottom:.5em;color:var(--color-primary-dark);background:white;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-indent:5px;cursor:pointer}.select select option{cursor:pointer}.error .select select{border-bottom-color:red}.select select:focus{outline:2px solid rgba(48,158,238,.4)}.select select+.label{cursor:pointer;z-index:2;position:absolute;top:0;font-size:.7em;left:2px;transition:all .2s ease-in-out;color:var(--color-primary-dark);font-weight:700;pointer-events:none;white-space:nowrap}.select select[data-value=""]:not(:focus){color:transparent}.select select[data-value=""]:not(:focus)+.label{top:1.7em;font-size:1em;left:.7em;transition:all .2s ease-in-out;color:var(--color-primary-light)}.select select~.error{color:red;font-size:.8em;margin-top:.5em}.switch{position:relative;display:inline-flex;align-items:center;box-sizing:border-box;font-size:25px;height:1em}.switch[data-disabled=true]{opacity:.5}.switch[data-disabled=true] input[type=checkbox]{cursor:not-allowed}.switch label{position:relative;display:flex;height:100%;align-items:center;box-sizing:border-box}.switch label:before{content:"";background:var(--color-primary-light);height:1em;width:2em;border-radius:1em;border:1px solid var(--color-primary-light);position:relative;display:inline-block;box-sizing:border-box;transition:.2s ease-in}.switch label:has(input):after{content:"";position:absolute;top:0;left:0;width:1em;height:1em;border-radius:50%;border:1px solid var(--color-primary-light);z-index:2;display:grid;place-content:center;font-family:arial,serif;font-weight:700;box-sizing:border-box;color:#fff;background:#FFF;transition:.25s ease-in-out}.switch label input[type=checkbox]{position:absolute;left:0;top:0;z-index:10;width:100%;height:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.switch label input[type=checkbox]:before,.switch label input[type=checkbox]:after{content:"";background:var(--color-primary-light);width:.07em;height:.66em;position:absolute;left:0;top:0;transition:.25s ease-in-out;transform:translate(.44em,.18em) rotate(45deg)}.switch label input[type=checkbox]:after{transform:translate(.44em,.18em) rotate(-45deg)}.switch label input[type=checkbox]:checked:before{left:1.35em;background:var(--color-primary-dark);transform:translate(.2em,.21em) rotate(45deg)}.switch label input[type=checkbox]:checked:after{background:var(--color-primary-dark);transform:translate(-.1em,.51em) rotate(-45deg);height:.3em;left:1.35em}.switch label:has(input:checked):before{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.switch label:has(input:checked):after{transform:translate(1em);border-color:var(--color-primary-dark)}.group-members .title-wrapper{position:sticky;top:-1px;z-index:2000;margin-top:8px}.group-members .title-wrapper .gap{height:10px;position:absolute;bottom:100%;width:100%;background:white}.group-members .title-wrapper .title{padding-bottom:10px;color:var(--color-primary);font-size:1.3em;border-bottom:1px solid #ccc;text-align:center;background:white}.group-members .table{width:100%;border-collapse:collapse;overflow:auto;margin-top:10px;margin-bottom:10px}.group-members .table table{max-width:100%;width:100%;border-collapse:collapse;border:3px solid var(--color-primary-dark)}.group-members .table table th,.group-members .table table td{white-space:nowrap;padding:5px 10px;text-align:center;border-bottom:1px solid var(--color-primary-dark);width:fit-content}.group-members .table table th:not(:last-child),.group-members .table table td:not(:last-child){border-right:1px solid var(--color-primary)}.group-members .table table th:first-child,.group-members .table table td:first-child{width:100%;text-align:left}.group-members .table table th button,.group-members .table table td button{margin:0}.group-members .table table thead tr{background-color:var(--color-primary);color:#fff}.group-members .table table tbody tr{cursor:cell;color:var(--color-primary);background-color:#fff}.group-members .table table tbody tr td.center{text-align:center}.group-members .table table tbody tr td .button{min-width:0}.expense-member{display:inline-flex;border-radius:10px;padding:5px;justify-content:center;align-items:stretch;border:1px solid var(--color-primary);outline:none;color:var(--color-primary)}.expense-member .details{display:inline-block}.expense-member .details .name{text-align:right;font-weight:700}.expense-member .details .username{color:#999;font-size:.8em;text-align:right}.expense-member .amount{display:inline-flex;margin-left:10px;background:var(--color-primary-light);color:var(--color-text-primary);border-radius:5px;padding:5px;font-size:.8em;min-width:30px;text-align:center;justify-content:center;align-items:center;font-weight:700}.expense-member.active{background:var(--color-primary-light);color:var(--color-text-primary)}.expense-member.active .details .name,.expense-member.active .details .username{color:var(--color-text-primary)}.expense-member.active .amount{background:var(--color-secondary-light);color:var(--color-text-secondary)}.payment,.expense{padding:5px;border-radius:10px;margin:10px;border:1px solid var(--color-primary);outline:none;overflow:hidden;font-size:.9em;cursor:pointer}.payment:hover,.expense:hover{background-color:#f5f5f5}.expense{padding:10px;display:flex;justify-content:space-between;flex-direction:column;gap:5px}.expense .date-time{font-size:.7em;color:#888}.expense .purpose{color:var(--color-primary-dark);font-size:1.1em}.expense .pay-data{display:flex;flex-wrap:wrap;gap:10px}.expense .pay-data .paid-by,.expense .pay-data .paid-for{display:inline-flex;color:var(--color-primary-dark);white-space:nowrap;justify-content:space-between;flex-direction:column;gap:5px}.expense .pay-data .paid-by .title,.expense .pay-data .paid-for .title{color:var(--color-primary-light);white-space:nowrap;font-size:.9em}.expense .pay-data .paid-by .members,.expense .pay-data .paid-for .members{display:flex;flex-wrap:wrap;gap:5px}.payment{text-align:center}.payment .date-time{font-size:.7em;color:#888}.payment .details{color:var(--color-primary-light)}.payment .details .to,.payment .details .from,.payment .details .amount{color:var(--color-primary-dark);white-space:nowrap;text-decoration:underline}.payment .note{font-size:.9em;color:#777}.expense-list{flex-grow:1;overflow:auto}.expense-list .no-expenses{text-align:center;padding:20px;font-size:1.2em;color:var(--color-primary-dark)}.group-page{height:100%;display:flex;width:100%;flex-direction:column;overflow:auto;position:relative}.group-page .group-header{cursor:pointer;padding:0 10px;color:var(--color-primary-dark);border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:101;text-decoration:none;display:flex;align-items:center}.group-page .group-header .back{padding-left:0;padding-right:10px;margin:0 5px;height:100%;display:flex;align-items:center}.is-desktop .group-page .group-header .back,.is-large-tablet .group-page .group-header .back{display:none}.group-page .group-header .analyzer{padding-right:0;padding-left:10px;height:100%;display:flex;align-items:center;margin:0 5px 0 auto}.group-page .group-header .group-detail{display:flex;justify-content:space-between;align-items:center;height:50px}.group-page .add-buttons{display:flex;justify-content:space-evenly;align-items:center;position:sticky;bottom:0;background-color:#fff;border-top:2px solid #eee}.expanse-analyzer{flex-grow:1;overflow:auto;overflow-x:hidden}.expanse-analyzer .analyzer-wrapper{padding:10px 10px 100px}.expanse-analyzer .analyzer-wrapper .date-filter{display:inline-flex;gap:5px;flex-wrap:wrap}.expanse-analyzer .analyzer-wrapper .date-filter .filter{display:inline-block;width:fit-content;min-width:100px;max-width:100%}.expanse-analyzer .analyzer-wrapper .date-filter .from-to{display:inline-flex;gap:5px;flex-wrap:wrap}.expanse-analyzer .analyzer-wrapper .date-filter .from-to .from,.expanse-analyzer .analyzer-wrapper .date-filter .from-to .to{min-width:150px}.expanse-analyzer .analyzer-wrapper .title-wrapper{overflow:hidden;position:sticky;top:-1px;z-index:1000}.expanse-analyzer .analyzer-wrapper .title-wrapper .title{padding:10px 0;color:var(--color-primary);font-size:1.3em;border-bottom:1px solid #ccc;text-align:center;background:white}.expanse-analyzer .analyzer-wrapper .pivot-member{display:inline-block;min-width:210px;margin-top:10px}.expanse-analyzer .analyzer-wrapper .table{width:100%;border-collapse:collapse;overflow:auto;margin-top:10px;margin-bottom:10px}.expanse-analyzer .analyzer-wrapper .table table{max-width:100%;width:100%;border-collapse:collapse;border:3px solid var(--color-primary-dark)}.expanse-analyzer .analyzer-wrapper .table table th,.expanse-analyzer .analyzer-wrapper .table table td{white-space:nowrap;padding:5px 10px}.expanse-analyzer .analyzer-wrapper .table table th:not(:last-child),.expanse-analyzer .analyzer-wrapper .table table td:not(:last-child){border-right:1px solid white}.expanse-analyzer .analyzer-wrapper .table table th[colSpan="2"],.expanse-analyzer .analyzer-wrapper .table table td[colSpan="2"]{border-bottom:1px solid white}.expanse-analyzer .analyzer-wrapper .table table th span,.expanse-analyzer .analyzer-wrapper .table table td span{font-size:.8em}.expanse-analyzer .analyzer-wrapper .table table thead tr{background-color:var(--color-primary);color:#fff}.expanse-analyzer .analyzer-wrapper .table table tbody tr{cursor:cell}.expanse-analyzer .analyzer-wrapper .table table tbody tr:nth-child(even){background-color:var(--color-primary-light);color:#fff}.expanse-analyzer .analyzer-wrapper .table table tbody tr:nth-child(odd){color:var(--color-primary);background-color:#fff}.expanse-analyzer .analyzer-wrapper .table table tbody tr:nth-child(odd) td:not(:last-child){border-right:1px solid var(--color-primary)}.expanse-analyzer .analyzer-wrapper .table table tbody tr:hover{background-color:var(--color-primary-dark);color:#fff}.expanse-analyzer .analyzer-wrapper .table table tbody tr td.center{text-align:center}.expanse-analyzer .analyzer-wrapper .table table tbody tr td{min-width:100px}.expanse-analyzer .analyzer-wrapper .table table tbody tr td .button{min-width:0}.group{display:block;padding:5px 10px}.group:not(:last-child){border-bottom:1px solid #ddd}.group.active{background-color:#f5f5f5}.group:hover{background-color:#f9f9f9}.group .name{color:var(--color-primary)}.group .members-count{color:#999;font-size:.8rem}.group-list{width:350px;height:100%;display:flex;flex-direction:column;border-right:2px solid #eee}.is-mobile .group-list,.is-small-tablet .group-list{width:100%}.group-list .search-bar{display:flex;justify-content:center;align-items:center;position:sticky;top:0;background-color:#fff;border-bottom:2px solid #eee}.group-list .search-bar label{width:calc(100% - 20px);height:50px;display:flex;justify-content:center;align-items:center}.group-list .search-bar label input{width:100%;margin:0!important}.group-list .groups{flex-grow:1;overflow:auto}.group-list .add-buttons{display:flex;justify-content:center;gap:5%;align-items:center;position:sticky;bottom:0;background-color:#fff;border-top:2px solid #eee}.group-list .add-buttons button{width:calc(100% - 20px);max-width:400px}.groups-page{height:100%;display:flex}
