*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--tg-theme-bg-color, #fff);color:var(--tg-theme-text-color, #000);min-height:100vh;overscroll-behavior:none}.app{max-width:480px;margin:0 auto;padding:16px 16px 88px;position:relative;min-height:100vh}.balance-card{background:var(--tg-theme-secondary-bg-color, #f0f0f0);border-radius:16px;padding:24px 20px;text-align:center;margin-bottom:20px}.balance-loading{color:var(--tg-theme-hint-color, #999);font-size:14px}.balance-label{color:var(--tg-theme-hint-color, #666);font-size:14px;margin-bottom:8px}.balance-amount{font-size:40px;font-weight:700;color:var(--tg-theme-text-color, #000);margin-bottom:16px}.settle-button{background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:10px;padding:10px 20px;font-size:15px;cursor:pointer}.section-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--tg-theme-hint-color, #999);margin-bottom:8px}.link-btn{background:none;border:none;color:var(--tg-theme-link-color, #2481cc);cursor:pointer;font-size:13px}.expense-list{list-style:none}.expense-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--tg-theme-hint-color, #eee);position:relative;cursor:pointer;transition:background .15s;gap:8px}.expense-item:last-child{border-bottom:none}.expense-main{flex:1;min-width:0}.expense-desc{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-meta{display:block;font-size:12px;color:var(--tg-theme-hint-color, #999);margin-top:2px}.expense-right{text-align:right;flex-shrink:0}.expense-amount{display:block;font-size:15px;font-weight:600}.expense-date{display:block;font-size:12px;color:var(--tg-theme-hint-color, #999)}.delete-button{position:absolute;right:0;top:0;bottom:0;background:#ff3b30;color:#fff;border:none;padding:0 16px;font-size:14px;cursor:pointer;border-radius:8px}.empty-state{color:var(--tg-theme-hint-color, #999);text-align:center;padding:24px 0;font-size:14px}.fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #fff);border:none;font-size:28px;cursor:pointer;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;z-index:100}.sheet{background:var(--tg-theme-bg-color, #fff);border-radius:16px 16px 0 0;padding:12px 20px 32px;width:100%;max-height:90vh;overflow-y:auto}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--tg-theme-hint-color, #ccc);margin:0 auto 16px}.sheet-title{font-size:18px;font-weight:600;margin-bottom:20px}.field-label{display:block;font-size:13px;color:var(--tg-theme-hint-color, #999);margin-bottom:6px;margin-top:14px}.field-input{width:100%;padding:10px 12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border:none;border-radius:10px;font-size:16px;color:var(--tg-theme-text-color, #000)}.field-input:focus{outline:2px solid var(--tg-theme-button-color, #2481cc)}.toggle-group{display:flex;gap:8px}.toggle-group.three .toggle-btn{flex:1;font-size:13px}.toggle-btn{flex:1;padding:10px 8px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);border:2px solid transparent;border-radius:10px;font-size:15px;cursor:pointer;color:var(--tg-theme-text-color, #000)}.toggle-btn.active{border-color:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-color, #2481cc)}.submit-btn{width:100%;margin-top:24px;padding:14px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}.submit-btn:disabled{opacity:.6}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--tg-theme-bg-color, #fff);overflow-y:auto;padding:16px 16px 32px;z-index:50}.overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.overlay-header h2{font-size:20px;font-weight:700;flex:1}.back-btn{background:none;border:none;font-size:22px;cursor:pointer;padding:0 4px;color:var(--tg-theme-link-color, #2481cc);line-height:1}.settlement-divider{text-align:center;font-size:12px;color:var(--tg-theme-hint-color, #999);padding:8px 0;border-top:1px dashed var(--tg-theme-hint-color, #ddd);border-bottom:1px dashed var(--tg-theme-hint-color, #ddd);margin:4px 0}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.confirm-dialog{background:var(--tg-theme-bg-color, #fff);border-radius:16px;padding:24px;width:min(320px,90vw);text-align:center}.confirm-dialog p{font-size:16px;margin-bottom:20px}.confirm-buttons{display:flex;gap:12px}.confirm-yes{flex:1;padding:12px;background:var(--tg-theme-button-color, #2481cc);color:var(--tg-theme-button-text-color, #fff);border:none;border-radius:10px;font-size:15px;cursor:pointer}.confirm-no{flex:1;padding:12px;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000);border:none;border-radius:10px;font-size:15px;cursor:pointer}.load-more{width:100%;padding:12px;margin-top:12px;background:none;border:1px solid var(--tg-theme-hint-color, #ccc);border-radius:10px;color:var(--tg-theme-link-color, #2481cc);cursor:pointer;font-size:14px}.error-banner{background:#ff3b30;color:#fff;padding:10px 16px;border-radius:10px;margin-bottom:12px;font-size:14px;cursor:pointer}
