:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{width:100%;min-height:100%}body{color:#111827;background:#f4f5f7;min-width:320px;min-height:100vh;margin:0}#root{width:100%;min-height:100vh}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;outline:0;margin:0}button:focus,button:focus-visible,input{outline:none}img{max-width:100%;display:block}:root{--blue:#123b66;--blue-dark:#0b2c4d;--blue-soft:#eaf0f6;--background:#f4f5f7;--surface:#fff;--surface-soft:#f8f9fa;--text:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#e6e8eb;--radius-xl:24px;--radius-lg:18px;--radius-md:14px;--shadow:0 12px 30px #0f172a0e, 0 2px 8px #0f172a09}.app{background:radial-gradient(circle at 50% -100px, #123b6614, transparent 360px), var(--background);width:100%;min-height:100vh}.app-content{width:min(100% - 32px,520px);margin:0 auto;padding:0 0 48px}.app-header{text-align:center;width:min(100% - 32px,520px);margin:0 auto;padding:30px 0 22px}.logo{color:var(--text);letter-spacing:-1.4px;font-size:31px;font-weight:800;line-height:1}.subtitle{color:var(--text-secondary);margin-top:8px;font-size:14px;font-weight:500;line-height:1.4}.status{color:var(--text-secondary);text-align:center;margin:0 2px 16px;font-size:13px;line-height:1.4}.balance-card{border-radius:var(--radius-xl);color:#fff;background:linear-gradient(145deg,#172f4a 0%,#102b48 55%,#0b233b 100%);margin-bottom:18px;padding:24px;position:relative;overflow:hidden;box-shadow:0 18px 40px #0b233b2e,0 4px 12px #0b233b14}.balance-card:before{content:"";background:#ffffff0b;border-radius:50%;width:230px;height:230px;position:absolute;top:-130px;right:-100px}.balance-card:after{content:"";background:#ffffff06;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-90px;left:-80px}.balance-title{z-index:1;color:#ffffffad;font-size:14px;font-weight:600;position:relative}.balance-value{z-index:1;letter-spacing:-1.5px;margin-top:8px;font-size:38px;font-weight:800;line-height:1;position:relative}.balance-description{z-index:1;color:#ffffff94;margin-top:9px;font-size:13px;font-weight:500;position:relative}.card{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);border:1px solid #e6e8ebe6;margin-bottom:14px;padding:20px}.card-title{color:var(--text);letter-spacing:-.4px;font-size:18px;font-weight:750;line-height:1.25}.card-subtitle{color:var(--text-secondary);margin-top:6px;font-size:13px}input{border-radius:var(--radius-md);width:100%;height:52px;color:var(--text);background:#f7f8fa;border:1px solid #e0e3e7;margin-top:13px;padding:0 16px;font-size:15px;font-weight:500;transition:border-color .18s,background .18s,box-shadow .18s;display:block}input::placeholder{color:#a2a7ae}input:hover{background:#f5f6f8}input:focus{background:#fff;border-color:#123b666b;box-shadow:0 0 0 4px #123b6613}.card>button,.add-member-form>button{border-radius:var(--radius-md);background:var(--blue);color:#fff;justify-content:center;align-items:center;width:100%;height:52px;margin-top:12px;padding:0 18px;font-size:15px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 7px 16px #123b662b}.card>button:hover,.add-member-form>button:hover{background:var(--blue-dark);box-shadow:0 9px 20px #123b6638}.card>button:active,.add-member-form>button:active{transform:scale(.985)}.card>button:disabled,.add-member-form>button:disabled{opacity:.42;cursor:default;box-shadow:none}.groups-list{flex-direction:column;gap:8px;margin-top:15px;display:flex}.group-item{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-soft);width:100%;min-height:56px;color:var(--text);text-align:left;justify-content:space-between;align-items:center;padding:0 16px;font-size:15px;font-weight:650;transition:background .15s,border-color .15s,transform .15s;display:flex}.group-item:after{content:"›";color:#a1a7ae;font-size:24px;font-weight:300;line-height:1}.group-item:hover{background:#f3f5f7}.group-item:active{transform:scale(.99)}.group-item.selected{background:var(--blue-soft);color:var(--blue);border-color:#123b6621}.group-item.selected:after{color:var(--blue)}.empty{color:var(--text-muted);padding:18px 2px 3px;font-size:14px}.members-list{border-top:1px solid #edf0f2;flex-direction:column;margin-top:15px;display:flex}.member-item{border-bottom:1px solid #edf0f2;align-items:center;gap:12px;min-height:64px;padding:10px 2px;display:flex}.member-item:last-child{border-bottom:0}.member-avatar{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:750;display:flex}.member-info{flex:1;min-width:0}.member-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.3;overflow:hidden}.member-username{color:var(--text-secondary);margin-top:4px;font-size:12px}.add-member-card{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);border:1px solid #e6e8ebe6;margin-bottom:14px;padding:20px}.add-member-title{color:var(--text);letter-spacing:-.4px;font-size:18px;font-weight:750;line-height:1.25}.add-member-description{color:var(--text-secondary);margin-top:6px;font-size:13px;line-height:1.45}.add-member-form{position:relative}.autocomplete-wrapper{width:100%;position:relative}.autocomplete-wrapper input{width:100%}.user-suggestions{z-index:50;border-radius:var(--radius-lg);background:#fff;border:1px solid #e1e4e8;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow:hidden;box-shadow:0 18px 40px #0f172a1f,0 4px 12px #0f172a0f}.user-search-loading{color:var(--text-secondary);padding:15px 16px;font-size:14px}.user-suggestion{text-align:left;background:#fff;border-bottom:1px solid #eef0f2;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.user-suggestion:last-child{border-bottom:0}.user-suggestion:hover{background:#f7f8fa}.user-suggestion:active{background:#eef1f4}.suggestion-avatar{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:750;display:flex}.suggestion-info{min-width:0}.suggestion-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.suggestion-username{color:var(--text-secondary);margin-top:3px;font-size:12px}.group-success{color:var(--blue);background:#f0f4f7;border-radius:12px;margin-top:10px;padding:11px 13px;font-size:13px;font-weight:650}@media (width<=480px){.app-content{width:calc(100% - 24px)}.app-header{width:calc(100% - 24px);padding-top:24px;padding-bottom:18px}.logo{font-size:29px}.balance-card{border-radius:22px;padding:22px}.balance-value{font-size:35px}.card,.add-member-card{border-radius:21px;padding:17px}}@media (prefers-color-scheme:dark){body{background:#f4f5f7}.app{background:radial-gradient(circle at 50% -100px,#123b6614,#0000 360px),#f4f5f7}}.expense-card{overflow:visible}.expense-label{color:var(--text);margin-top:18px;margin-bottom:8px;font-size:13px;font-weight:700}.expense-card select{border-radius:var(--radius-md);width:100%;height:52px;color:var(--text);background:#f7f8fa;border:1px solid #e0e3e7;padding:0 16px;font-size:15px;font-weight:500}.expense-card select:focus{background:#fff;border-color:#123b666b;outline:none;box-shadow:0 0 0 4px #123b6613}.expense-participants-header{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.expense-participants-header .expense-label{margin-bottom:8px}.select-all-button{background:var(--blue-soft);color:var(--blue);border:0;border-radius:9px;padding:6px 10px;font-size:12px;font-weight:700}.expense-participants{flex-direction:column;gap:7px;display:flex}.expense-participant{min-height:48px;color:var(--text);background:#fafbfc;border:1px solid #e8eaed;border-radius:13px;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.expense-participant input{display:none}.expense-participant.checked{background:var(--blue-soft);color:var(--blue);border-color:#123b662e}.expense-check{color:#fff;background:#fff;border:1.5px solid #cbd0d6;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:flex}.expense-participant.checked .expense-check{border-color:var(--blue);background:var(--blue)}.balance-list{flex-direction:column;margin-top:14px;display:flex}.balance-row{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.balance-row:last-child{border-bottom:0}.balance-positive-small{color:#176b46;white-space:nowrap;font-size:14px;font-weight:750}.balance-negative-small{color:#9b3c3c;white-space:nowrap;font-size:14px;font-weight:750}.balance-zero-small{color:var(--text-muted);white-space:nowrap;font-size:14px;font-weight:650}.debts-list{flex-direction:column;gap:8px;margin-top:15px;display:flex}.debt-row{background:#f7f8fa;border-radius:16px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:14px;display:grid}.debt-person{align-items:center;gap:8px;min-width:0;display:flex}.debt-avatar{background:var(--blue-soft);width:34px;height:34px;color:var(--blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.debt-arrow{color:var(--blue);font-size:20px;font-weight:400}.debt-amount{color:var(--blue);text-align:center;grid-column:1/-1;padding-top:4px;font-size:16px;font-weight:800}.my-debt-section{margin-top:15px}.my-debt-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px;font-size:12px;font-weight:700}.my-debt-row{color:var(--text);border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.my-debt-row strong{color:var(--blue);font-size:15px}.expense-history{flex-direction:column;margin-top:14px;display:flex}.expense-row{border-bottom:1px solid #edf0f2;align-items:center;gap:11px;padding:13px 0;display:flex}.expense-row:last-child{border-bottom:0}.expense-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--blue);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.expense-info{flex:1;min-width:0}.expense-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.expense-meta{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.expense-total{color:var(--text);white-space:nowrap;font-size:14px;font-weight:800}.resolve-button{border-radius:var(--radius-md);width:100%;color:var(--blue);cursor:pointer;background:0 0;border:1px solid #123b6647;margin-top:8px;padding:11px 14px;font-size:14px;font-weight:700;transition:background .15s;display:block}.resolve-button:hover{background:var(--blue-soft)}.resolve-button:disabled{opacity:.5;cursor:default}.selected-user-preview{background:var(--blue-soft);color:var(--blue);border-radius:12px;margin-top:10px;padding:10px 12px;font-size:13px;font-weight:650}.invite-button{border-radius:var(--radius-md);width:100%;height:52px;color:var(--blue);cursor:pointer;background:0 0;border:1px dashed #123b666b;justify-content:center;align-items:center;margin-top:10px;padding:0 18px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.invite-button:hover{background:#123b660b;border-color:#123b66a6}.invite-button:disabled{opacity:.5;cursor:default}.invite-url-block{background:#f7f8fa;border:1px solid #e1e4e8;border-radius:12px;margin-top:10px;padding:11px 13px}.invite-url-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.invite-url-value{word-break:break-all;color:var(--blue);margin-top:5px;font-size:12px;font-weight:600}
